| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <!--
- System bars
- -->
- <template>
- <v-system-bar
- height="50"
- :class="
- 'd-flex flex-row justify-center align-center text-center ' + classes
- "
- @click="onClick !== undefined ? onClick() : null"
- >
- <slot>
- <v-icon v-if="icon" small :icon="icon" />
- {{ text }}
- </slot>
- </v-system-bar>
- </template>
- <script setup lang="ts">
- const props = defineProps({
- text: {
- type: String,
- required: false,
- default: '',
- },
- icon: {
- type: String,
- required: false,
- default: undefined,
- },
- backgroundColor: {
- type: String,
- required: false,
- default: 'neutral-soft',
- },
- textColor: {
- type: String,
- required: false,
- default: 'on-neutral-soft',
- },
- onClick: {
- type: Function,
- required: false,
- default: undefined,
- },
- })
- // TODO: voir si possible d'utiliser les variables sass à la place?
- const classes = [
- 'bg-' + props.backgroundColor,
- 'text-' + props.textColor,
- props.onClick !== undefined ? 'clickable' : '',
- ].join(' ')
- </script>
- <style scoped lang="scss">
- .v-system-bar {
- font-size: 14px;
- }
- .v-icon {
- height: 20px;
- margin: 0 6px;
- }
- .clickable {
- cursor: pointer;
- }
- .clickable:hover {
- text-decoration: underline;
- }
- </style>
|