@rotki/ui-library 3.1.6 → 3.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/accordions/accordion/RuiAccordion.js.map +1 -1
- package/dist/components/accordions/accordion/RuiAccordion.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/accordions/accordion/RuiAccordion.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/accordions/accordion/accordion-styles.d.ts +1 -0
- package/dist/components/accordions/accordion/accordion-styles.js +7 -0
- package/dist/components/accordions/accordion/accordion-styles.js.map +1 -0
- package/dist/components/alerts/RuiAlert.js.map +1 -1
- package/dist/components/alerts/RuiAlert.vue_vue_type_script_setup_true_lang.js +1 -65
- package/dist/components/alerts/RuiAlert.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/alerts/alert-styles.d.ts +145 -0
- package/dist/components/alerts/alert-styles.js +70 -0
- package/dist/components/alerts/alert-styles.js.map +1 -0
- package/dist/components/avatars/RuiAvatar.js.map +1 -1
- package/dist/components/avatars/RuiAvatar.vue_vue_type_script_setup_true_lang.js +1 -38
- package/dist/components/avatars/RuiAvatar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/avatars/RuiAvatarGroup.js.map +1 -1
- package/dist/components/avatars/RuiAvatarGroup.vue_vue_type_script_setup_true_lang.js +1 -13
- package/dist/components/avatars/RuiAvatarGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/avatars/avatar-group-styles.d.ts +49 -0
- package/dist/components/avatars/avatar-group-styles.js +18 -0
- package/dist/components/avatars/avatar-group-styles.js.map +1 -0
- package/dist/components/avatars/avatar-styles.d.ts +181 -0
- package/dist/components/avatars/avatar-styles.js +43 -0
- package/dist/components/avatars/avatar-styles.js.map +1 -0
- package/dist/components/buttons/button/button-styles.js +1 -1
- package/dist/components/buttons/button/button-styles.js.map +1 -1
- package/dist/components/buttons/button-group/RuiButtonGroup.js.map +1 -1
- package/dist/components/buttons/button-group/RuiButtonGroup.vue_vue_type_script_setup_true_lang.js +2 -138
- package/dist/components/buttons/button-group/RuiButtonGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/buttons/button-group/button-group-styles.d.ts +142 -0
- package/dist/components/buttons/button-group/button-group-styles.js +143 -0
- package/dist/components/buttons/button-group/button-group-styles.js.map +1 -0
- package/dist/components/calendar/RuiCalendar.js.map +1 -1
- package/dist/components/calendar/RuiCalendar.vue_vue_type_script_setup_true_lang.js +1 -8
- package/dist/components/calendar/RuiCalendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/calendar/RuiCalendarGrid.js.map +1 -1
- package/dist/components/calendar/RuiCalendarGrid.vue_vue_type_script_setup_true_lang.js +2 -22
- package/dist/components/calendar/RuiCalendarGrid.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/calendar/RuiCalendarMenu.js.map +1 -1
- package/dist/components/calendar/RuiCalendarMenu.vue_vue_type_script_setup_true_lang.js +3 -14
- package/dist/components/calendar/RuiCalendarMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/calendar/calendar-grid-styles.d.ts +43 -0
- package/dist/components/calendar/calendar-grid-styles.js +26 -0
- package/dist/components/calendar/calendar-grid-styles.js.map +1 -0
- package/dist/components/calendar/calendar-menu-styles.d.ts +34 -0
- package/dist/components/calendar/calendar-menu-styles.js +17 -0
- package/dist/components/calendar/calendar-menu-styles.js.map +1 -0
- package/dist/components/calendar/calendar-styles.d.ts +16 -0
- package/dist/components/calendar/calendar-styles.js +13 -0
- package/dist/components/calendar/calendar-styles.js.map +1 -0
- package/dist/components/cards/RuiCard.js.map +1 -1
- package/dist/components/cards/RuiCard.vue_vue_type_script_setup_true_lang.js +3 -58
- package/dist/components/cards/RuiCard.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/cards/RuiCardHeader.js.map +1 -1
- package/dist/components/cards/RuiCardHeader.vue_vue_type_script_setup_true_lang.js +2 -20
- package/dist/components/cards/RuiCardHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/cards/card-header-styles.d.ts +46 -0
- package/dist/components/cards/card-header-styles.js +24 -0
- package/dist/components/cards/card-header-styles.js.map +1 -0
- package/dist/components/cards/card-styles.d.ts +175 -0
- package/dist/components/cards/card-styles.js +62 -0
- package/dist/components/cards/card-styles.js.map +1 -0
- package/dist/components/chips/RuiChip.js.map +1 -1
- package/dist/components/chips/RuiChip.vue_vue_type_script_setup_true_lang.js +2 -241
- package/dist/components/chips/RuiChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/chips/chip-styles.d.ts +223 -0
- package/dist/components/chips/chip-styles.js +246 -0
- package/dist/components/chips/chip-styles.js.map +1 -0
- package/dist/components/color-picker/RuiColorBoard.js.map +1 -1
- package/dist/components/color-picker/RuiColorBoard.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/color-picker/RuiColorBoard.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/color-picker/RuiColorHue.js.map +1 -1
- package/dist/components/color-picker/RuiColorHue.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/color-picker/RuiColorHue.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/color-picker/RuiColorPicker.js.map +1 -1
- package/dist/components/color-picker/RuiColorPicker.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/color-picker/RuiColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/color-picker/color-board-styles.d.ts +1 -0
- package/dist/components/color-picker/color-board-styles.js +7 -0
- package/dist/components/color-picker/color-board-styles.js.map +1 -0
- package/dist/components/color-picker/color-hue-styles.d.ts +1 -0
- package/dist/components/color-picker/color-hue-styles.js +7 -0
- package/dist/components/color-picker/color-hue-styles.js.map +1 -0
- package/dist/components/color-picker/color-picker-styles.d.ts +1 -0
- package/dist/components/color-picker/color-picker-styles.js +7 -0
- package/dist/components/color-picker/color-picker-styles.js.map +1 -0
- package/dist/components/forms/field-label/RuiFieldLabel.js.map +1 -1
- package/dist/components/forms/field-label/RuiFieldLabel.vue_vue_type_script_setup_true_lang.js +1 -11
- package/dist/components/forms/field-label/RuiFieldLabel.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/field-label/field-label-styles.d.ts +43 -0
- package/dist/components/forms/field-label/field-label-styles.js +16 -0
- package/dist/components/forms/field-label/field-label-styles.js.map +1 -0
- package/dist/components/forms/select/RuiMenuSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/select/RuiSimpleSelect.js.map +1 -1
- package/dist/components/forms/select/RuiSimpleSelect.vue_vue_type_script_setup_true_lang.js +2 -11
- package/dist/components/forms/select/RuiSimpleSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/select/simple-select-styles.d.ts +2 -0
- package/dist/components/forms/select/simple-select-styles.js +15 -0
- package/dist/components/forms/select/simple-select-styles.js.map +1 -0
- package/dist/components/forms/switch/RuiSwitch.js.map +1 -1
- package/dist/components/forms/switch/RuiSwitch.vue_vue_type_script_setup_true_lang.js +1 -126
- package/dist/components/forms/switch/RuiSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/switch/switch-styles.d.ts +151 -0
- package/dist/components/forms/switch/switch-styles.js +131 -0
- package/dist/components/forms/switch/switch-styles.js.map +1 -0
- package/dist/components/icons/RuiIcon.js.map +1 -1
- package/dist/components/icons/RuiIcon.vue_vue_type_script_setup_true_lang.js +2 -28
- package/dist/components/icons/RuiIcon.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/icons/icon-styles.d.ts +44 -0
- package/dist/components/icons/icon-styles.js +33 -0
- package/dist/components/icons/icon-styles.js.map +1 -0
- package/dist/components/loaders/RuiSkeletonBase.js.map +1 -1
- package/dist/components/loaders/RuiSkeletonBase.vue_vue_type_script_setup_true_lang.js +2 -12
- package/dist/components/loaders/RuiSkeletonBase.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/loaders/RuiSkeletonLoader.js.map +1 -1
- package/dist/components/loaders/RuiSkeletonLoader.vue_vue_type_script_setup_true_lang.js +3 -13
- package/dist/components/loaders/RuiSkeletonLoader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/loaders/skeleton-base-styles.d.ts +25 -0
- package/dist/components/loaders/skeleton-base-styles.js +16 -0
- package/dist/components/loaders/skeleton-base-styles.js.map +1 -0
- package/dist/components/loaders/skeleton-loader-styles.d.ts +37 -0
- package/dist/components/loaders/skeleton-loader-styles.js +18 -0
- package/dist/components/loaders/skeleton-loader-styles.js.map +1 -0
- package/dist/components/overlays/badge/RuiBadge.js.map +1 -1
- package/dist/components/overlays/badge/RuiBadge.vue_vue_type_script_setup_true_lang.js +1 -83
- package/dist/components/overlays/badge/RuiBadge.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/overlays/badge/badge-styles.d.ts +193 -0
- package/dist/components/overlays/badge/badge-styles.js +88 -0
- package/dist/components/overlays/badge/badge-styles.js.map +1 -0
- package/dist/components/overlays/dialog/RuiDialog.js.map +1 -1
- package/dist/components/overlays/dialog/RuiDialog.vue_vue_type_script_setup_true_lang.js +3 -14
- package/dist/components/overlays/dialog/RuiDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/overlays/dialog/dialog-styles.d.ts +40 -0
- package/dist/components/overlays/dialog/dialog-styles.js +18 -0
- package/dist/components/overlays/dialog/dialog-styles.js.map +1 -0
- package/dist/components/overlays/menu/RuiMenu.js.map +1 -1
- package/dist/components/overlays/menu/RuiMenu.vue.d.ts +9 -0
- package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js +113 -58
- package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/overlays/menu/menu-styles.d.ts +58 -0
- package/dist/components/overlays/menu/menu-styles.js +25 -0
- package/dist/components/overlays/menu/menu-styles.js.map +1 -0
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.js.map +1 -1
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js +4 -69
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/overlays/navigation-drawer/navigation-drawer-styles.d.ts +76 -0
- package/dist/components/overlays/navigation-drawer/navigation-drawer-styles.js +72 -0
- package/dist/components/overlays/navigation-drawer/navigation-drawer-styles.js.map +1 -0
- package/dist/components/overlays/notification/RuiNotification.js.map +1 -1
- package/dist/components/overlays/notification/RuiNotification.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/overlays/notification/RuiNotification.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/overlays/notification/notification-styles.d.ts +1 -0
- package/dist/components/overlays/notification/notification-styles.js +7 -0
- package/dist/components/overlays/notification/notification-styles.js.map +1 -0
- package/dist/components/overlays/tooltip/RuiTooltip.js.map +1 -1
- package/dist/components/overlays/tooltip/RuiTooltip.vue.d.ts +4 -2
- package/dist/components/overlays/tooltip/RuiTooltip.vue_vue_type_script_setup_true_lang.js +42 -25
- package/dist/components/overlays/tooltip/RuiTooltip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/overlays/tooltip/tooltip-styles.d.ts +2 -0
- package/dist/components/overlays/tooltip/tooltip-styles.js +3 -1
- package/dist/components/overlays/tooltip/tooltip-styles.js.map +1 -1
- package/dist/components/progress/RuiProgress.js.map +1 -1
- package/dist/components/progress/RuiProgress.vue_vue_type_script_setup_true_lang.js +1 -133
- package/dist/components/progress/RuiProgress.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/progress/progress-styles.d.ts +181 -0
- package/dist/components/progress/progress-styles.js +139 -0
- package/dist/components/progress/progress-styles.js.map +1 -0
- package/dist/components/steppers/RuiFooterStepper.js.map +1 -1
- package/dist/components/steppers/RuiFooterStepper.vue_vue_type_script_setup_true_lang.js +3 -13
- package/dist/components/steppers/RuiFooterStepper.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/steppers/RuiStepper.js.map +1 -1
- package/dist/components/steppers/RuiStepper.vue_vue_type_script_setup_true_lang.js +4 -94
- package/dist/components/steppers/RuiStepper.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/steppers/RuiStepperIcon.js.map +1 -1
- package/dist/components/steppers/RuiStepperIcon.vue_vue_type_script_setup_true_lang.js +2 -34
- package/dist/components/steppers/RuiStepperIcon.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/steppers/footer-stepper-styles.d.ts +28 -0
- package/dist/components/steppers/footer-stepper-styles.js +16 -0
- package/dist/components/steppers/footer-stepper-styles.js.map +1 -0
- package/dist/components/steppers/stepper-icon-styles.d.ts +60 -0
- package/dist/components/steppers/stepper-icon-styles.js +39 -0
- package/dist/components/steppers/stepper-icon-styles.js.map +1 -0
- package/dist/components/steppers/stepper-styles.d.ts +202 -0
- package/dist/components/steppers/stepper-styles.js +98 -0
- package/dist/components/steppers/stepper-styles.js.map +1 -0
- package/dist/components/tables/RuiTable.js.map +1 -1
- package/dist/components/tables/RuiTable.vue_vue_type_script_setup_true_lang.js +1 -32
- package/dist/components/tables/RuiTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tables/RuiTableEmptyState.js.map +1 -1
- package/dist/components/tables/RuiTableEmptyState.vue_vue_type_script_setup_true_lang.js +1 -15
- package/dist/components/tables/RuiTableEmptyState.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tables/RuiTableErrorState.js.map +1 -1
- package/dist/components/tables/RuiTableErrorState.vue_vue_type_script_setup_true_lang.js +2 -5
- package/dist/components/tables/RuiTableErrorState.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tables/RuiTableHead.js.map +1 -1
- package/dist/components/tables/RuiTableHead.vue_vue_type_script_setup_true_lang.js +1 -34
- package/dist/components/tables/RuiTableHead.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tables/RuiTableLoadingState.js.map +1 -1
- package/dist/components/tables/RuiTableLoadingState.vue_vue_type_script_setup_true_lang.js +1 -8
- package/dist/components/tables/RuiTableLoadingState.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tables/RuiTablePagination.js.map +1 -1
- package/dist/components/tables/RuiTablePagination.vue_vue_type_script_setup_true_lang.js +1 -30
- package/dist/components/tables/RuiTablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tables/table-empty-state-styles.d.ts +43 -0
- package/dist/components/tables/table-empty-state-styles.js +20 -0
- package/dist/components/tables/table-empty-state-styles.js.map +1 -0
- package/dist/components/tables/table-error-state-styles.d.ts +36 -0
- package/dist/components/tables/table-error-state-styles.js +15 -0
- package/dist/components/tables/table-error-state-styles.js.map +1 -0
- package/dist/components/tables/table-head-styles.d.ts +91 -0
- package/dist/components/tables/table-head-styles.js +39 -0
- package/dist/components/tables/table-head-styles.js.map +1 -0
- package/dist/components/tables/table-loading-state-styles.d.ts +34 -0
- package/dist/components/tables/table-loading-state-styles.js +13 -0
- package/dist/components/tables/table-loading-state-styles.js.map +1 -0
- package/dist/components/tables/table-pagination-styles.d.ts +82 -0
- package/dist/components/tables/table-pagination-styles.js +35 -0
- package/dist/components/tables/table-pagination-styles.js.map +1 -0
- package/dist/components/tables/table-styles.d.ts +62 -0
- package/dist/components/tables/table-styles.js +37 -0
- package/dist/components/tables/table-styles.js.map +1 -0
- package/dist/components/tabs/tab/RuiTab.js.map +1 -1
- package/dist/components/tabs/tab/RuiTab.vue_vue_type_script_setup_true_lang.js +3 -84
- package/dist/components/tabs/tab/RuiTab.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tabs/tab/tab-styles.d.ts +153 -0
- package/dist/components/tabs/tab/tab-styles.js +89 -0
- package/dist/components/tabs/tab/tab-styles.js.map +1 -0
- package/dist/components/tabs/tabs/RuiTabs.js.map +1 -1
- package/dist/components/tabs/tabs/RuiTabs.vue_vue_type_script_setup_true_lang.js +2 -137
- package/dist/components/tabs/tabs/RuiTabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tabs/tabs/tabs-styles.d.ts +168 -0
- package/dist/components/tabs/tabs/tabs-styles.js +142 -0
- package/dist/components/tabs/tabs/tabs-styles.js.map +1 -0
- package/dist/composables/floating.d.ts +3 -1
- package/dist/composables/floating.js +8 -9
- package/dist/composables/floating.js.map +1 -1
- package/dist/icons/icons_1.d.ts +1 -1
- package/dist/icons/icons_1.js +10 -9
- package/dist/icons/icons_1.js.map +1 -1
- package/dist/icons/icons_2.d.ts +1 -1
- package/dist/icons/icons_2.js +9 -11
- package/dist/icons/icons_2.js.map +1 -1
- package/dist/icons/icons_3.d.ts +1 -1
- package/dist/icons/icons_3.js +11 -5
- package/dist/icons/icons_3.js.map +1 -1
- package/dist/icons/icons_4.d.ts +1 -1
- package/dist/icons/icons_4.js +5 -10
- package/dist/icons/icons_4.js.map +1 -1
- package/dist/icons/icons_5.d.ts +1 -0
- package/dist/icons/icons_5.js +10 -1
- package/dist/icons/icons_5.js.map +1 -1
- package/dist/icons/index.d.ts +1 -1
- package/dist/icons/index.js +7 -6
- package/dist/icons/index.js.map +1 -1
- package/dist/index.js +6 -6
- package/dist/style.css +8 -0
- package/dist/utils/form-text-detail.d.ts +2 -0
- package/dist/utils/form-text-detail.js +5 -1
- package/dist/utils/form-text-detail.js.map +1 -1
- package/dist/web-types.json +11 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuiCard.vue_vue_type_script_setup_true_lang.js","names":["$attrs","_useSlots","_openBlock","_createElementBlock","_mergeProps","_unref","_normalizeClass","_renderSlot","_createCommentVNode","_createBlock","RuiCardHeader","_createSlots","_withCtx"],"sources":["../../../src/components/cards/RuiCard.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { VueClassValue } from '@/types/class-value';\nimport { computed } from 'vue';\nimport RuiCardHeader from '@/components/cards/RuiCardHeader.vue';\nimport { useKeyboardScroll } from '@/composables/keyboard-scroll';\nimport { cn
|
|
1
|
+
{"version":3,"file":"RuiCard.vue_vue_type_script_setup_true_lang.js","names":["$attrs","_useSlots","_openBlock","_createElementBlock","_mergeProps","_unref","_normalizeClass","_renderSlot","_createCommentVNode","_createBlock","RuiCardHeader","_createSlots","_withCtx"],"sources":["../../../src/components/cards/RuiCard.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport type { VueClassValue } from '@/types/class-value';\nimport { computed } from 'vue';\nimport RuiCardHeader from '@/components/cards/RuiCardHeader.vue';\nimport { useKeyboardScroll } from '@/composables/keyboard-scroll';\nimport { cn } from '@/utils/tv';\nimport { cardStyles } from './card-styles';\n\nexport interface RuiCardClassNames {\n root?: VueClassValue;\n content?: VueClassValue;\n footer?: VueClassValue;\n image?: VueClassValue;\n}\n\nexport interface Props {\n dense?: boolean;\n divide?: boolean;\n variant?: 'flat' | 'outlined';\n rounded?: 'sm' | 'md' | 'lg';\n noPadding?: boolean;\n /**\n * Drops the content's top padding when a header renders, so the header's bottom padding is the\n * only gap between them (16px, 12px when `dense`) instead of both paddings stacked. Ignored with\n * `divide`, which draws a border there.\n */\n tightHeaderGap?: boolean;\n classNames?: RuiCardClassNames;\n}\n\ndefineOptions({\n name: 'RuiCard',\n inheritAttrs: false,\n});\n\nconst {\n divide = false,\n dense = false,\n variant: cardVariant = 'outlined',\n rounded = 'md',\n noPadding = false,\n tightHeaderGap = false,\n classNames,\n} = defineProps<Props>();\n\nconst slots = defineSlots<{\n 'image'?: () => any;\n 'custom-header'?: () => any;\n 'prepend'?: () => any;\n 'header'?: () => any;\n 'subheader'?: () => any;\n 'default'?: () => any;\n 'footer'?: () => any;\n}>();\n\nconst content = useTemplateRef<HTMLDivElement>('content');\n// a fixed-height card scrolls its content, which keyboard users need to reach when it holds no controls\nconst contentTabindex = useKeyboardScroll(content);\n\nconst hasHeadContent = computed<boolean>(() => !!slots.header || !!slots.subheader);\n\nconst contentPadding = computed<'none' | 'dense' | 'normal'>(() => {\n if (noPadding)\n return 'none';\n return dense ? 'dense' : 'normal';\n});\n\n// only under a header (built-in or `custom-header`), and not with `divide`, whose border needs space on both sides\nconst underHeader = computed<boolean>(() => tightHeaderGap && !divide && (get(hasHeadContent) || !!slots['custom-header']));\n\nconst ui = computed<ReturnType<typeof cardStyles>>(() => cardStyles({\n variant: cardVariant,\n rounded,\n divide,\n dense,\n padding: get(contentPadding),\n underHeader: get(underHeader),\n}));\n</script>\n\n<template>\n <div\n :class=\"ui.root({ class: cn(classNames?.root ?? $attrs.class) })\"\n v-bind=\"{ ...$attrs, class: undefined }\"\n >\n <div\n v-if=\"slots.image\"\n data-id=\"card-image\"\n :class=\"ui.image({ class: cn(classNames?.image) })\"\n >\n <slot name=\"image\" />\n </div>\n <slot name=\"custom-header\">\n <RuiCardHeader\n v-if=\"hasHeadContent\"\n :dense=\"dense\"\n >\n <template\n v-if=\"slots.prepend\"\n #prepend\n >\n <slot name=\"prepend\" />\n </template>\n <template\n v-if=\"slots.header\"\n #header\n >\n <slot name=\"header\" />\n </template>\n <template\n v-if=\"slots.subheader\"\n #subheader\n >\n <slot name=\"subheader\" />\n </template>\n </RuiCardHeader>\n </slot>\n <div\n v-if=\"slots.default\"\n ref=\"content\"\n data-id=\"card-content\"\n :tabindex=\"contentTabindex\"\n :class=\"ui.content({ class: cn(classNames?.content) })\"\n >\n <slot />\n </div>\n <div\n v-if=\"slots.footer\"\n data-id=\"card-footer\"\n :class=\"ui.footer({ class: cn(classNames?.footer) })\"\n >\n <slot name=\"footer\" />\n </div>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6CA,MAAM,QAAQC,SAAA;EAUd,MAAM,UAAU,eAA+B,SAAS;EAExD,MAAM,kBAAkB,kBAAkB,OAAO;EAEjD,MAAM,iBAAiB,eAAwB,CAAC,CAAC,MAAM,UAAU,CAAC,CAAC,MAAM,SAAS;EAElF,MAAM,iBAAiB,eAA4C;GACjE,IAAI,QAAA,WACF,OAAO;GACT,OAAO,QAAA,QAAQ,UAAU;EAC3B,CAAC;EAGD,MAAM,cAAc,eAAwB,QAAA,kBAAkB,CAAC,QAAA,WAAW,IAAI,cAAc,KAAK,CAAC,CAAC,MAAM,iBAAiB;EAE1H,MAAM,KAAK,eAA8C,WAAW;GAClE,SAAS,QAAA;GACT,SAAM,QAAA;GACN,QAAK,QAAA;GACL,OAAI,QAAA;GACJ,SAAS,IAAI,cAAc;GAC3B,aAAa,IAAI,WAAW;EAC9B,CAAC,CAAC;;GAIA,OAAAC,UAAA,GAAAC,mBAoDM,OApDNC,WAoDM,EAnDH,OAAO,GAAA,MAAG,KAAI,EAAA,OAAUC,MAAA,EAAA,CAAE,CAAC,QAAA,YAAY,QAAQL,KAAAA,OAAO,KAAK,EAAA,CAAA,EAC/CA,GAAAA;IAAAA,GAAAA,KAAAA;IAAM,OAAS,KAAA;GAAS,CAAA,GAAA;IAG7B,MAAM,SADdE,UAAA,GAAAC,mBAMM,OAAA;;KAJJ,WAAQ;KACP,OAAKG,eAAE,GAAA,MAAG,MAAK,EAAA,OAAUD,MAAA,EAAA,CAAE,CAAC,QAAA,YAAY,KAAK,EAAA,CAAA,CAAA;IAE9CE,GAAAA,CAAAA,WAAqB,KAAA,QAAA,OAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA;IAEvBA,WAwBO,KAAA,QAAA,iBAAA,CAAA,SAAA,CAtBG,eAAA,SADRL,UAAA,GAAAO,YAsBgBC,uBAAA;;KApBb,OAAO,QAAA;;KAGA,MAAM,UAAA;MACX,MAAA;MAED,IAAAE,cAAuB,CAAvBL,WAAuB,KAAA,QAAA,SAAA,CAAA,CAAA;;;KAGjB,MAAM,SAAA;MACX,MAAA;MAED,IAAAK,cAAsB,CAAtBL,WAAsB,KAAA,QAAA,QAAA,CAAA,CAAA;;;KAGhB,MAAM,YAAA;MACX,MAAA;MAED,IAAAK,cAAyB,CAAzBL,WAAyB,KAAA,QAAA,WAAA,CAAA,CAAA;;;;IAKvB,MAAM,WADdL,UAAA,GAAAC,mBAQM,OAAA;;KANA,SAAA;KAAJ,KAAI;KACJ,WAAQ;KACP,UAAUE,MAAA,eAAA;KACV,OAAKC,eAAE,GAAA,MAAG,QAAO,EAAA,OAAUD,MAAA,EAAA,CAAE,CAAC,QAAA,YAAY,OAAO,EAAA,CAAA,CAAA;IAElDE,GAAAA,CAAAA,WAAQ,KAAA,QAAA,SAAA,CAAA,GAAA,IAAA,UAAA,KAAA,mBAAA,IAAA,IAAA;IAGF,MAAM,UADdL,UAAA,GAAAC,mBAMM,OAAA;;KAJJ,WAAQ;KACP,OAAKG,eAAE,GAAA,MAAG,OAAM,EAAA,OAAUD,MAAA,EAAA,CAAE,CAAC,QAAA,YAAY,MAAM,EAAA,CAAA,CAAA;IAEhDE,GAAAA,CAAAA,WAAsB,KAAA,QAAA,QAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuiCardHeader.js","names":["_sfc_main"],"sources":["../../../src/components/cards/RuiCardHeader.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"RuiCardHeader.js","names":["_sfc_main"],"sources":["../../../src/components/cards/RuiCardHeader.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { cardHeaderStyles } from './card-header-styles';\n\nexport interface Props {\n dense?: boolean;\n}\n\ndefineOptions({\n name: 'RuiCardHeader',\n inheritAttrs: false,\n});\n\nconst { dense = false } = defineProps<Props>();\n\nconst slots = defineSlots<{\n prepend?: () => any;\n header?: () => any;\n subheader?: () => any;\n}>();\n\nconst ui = computed<ReturnType<typeof cardHeaderStyles>>(() => cardHeaderStyles({ dense }));\n</script>\n\n<template>\n <div\n :class=\"ui.root()\"\n v-bind=\"$attrs\"\n >\n <div\n v-if=\"slots.prepend\"\n data-id=\"prepend\"\n :class=\"ui.prepend()\"\n >\n <slot name=\"prepend\" />\n </div>\n <div class=\"flex flex-col justify-center\">\n <h5\n v-if=\"slots.header\"\n data-id=\"header\"\n :class=\"ui.header()\"\n >\n <slot name=\"header\" />\n </h5>\n <p\n v-if=\"slots.subheader\"\n data-id=\"subheader\"\n class=\"text-rui-text-secondary text-body-2 mb-0\"\n >\n <slot name=\"subheader\" />\n </p>\n </div>\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { cardHeaderStyles } from "./card-header-styles.js";
|
|
2
2
|
import { computed, createCommentVNode, createElementBlock, createElementVNode, defineComponent, mergeProps, normalizeClass, openBlock, renderSlot, unref, useSlots } from "vue";
|
|
3
3
|
//#region src/components/cards/RuiCardHeader.vue?vue&type=script&setup=true&lang.ts
|
|
4
4
|
var _hoisted_1 = { class: "flex flex-col justify-center" };
|
|
@@ -17,25 +17,7 @@ var RuiCardHeader_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ de
|
|
|
17
17
|
} },
|
|
18
18
|
setup(__props) {
|
|
19
19
|
const slots = useSlots();
|
|
20
|
-
const
|
|
21
|
-
slots: {
|
|
22
|
-
root: "flex",
|
|
23
|
-
prepend: "rounded-full flex items-center justify-center bg-rui-neutral-200 text-rui-neutral-700 dark:bg-rui-neutral-700 dark:text-rui-neutral-200 overflow-hidden",
|
|
24
|
-
header: "text-base font-semibold text-rui-text"
|
|
25
|
-
},
|
|
26
|
-
variants: { dense: {
|
|
27
|
-
true: {
|
|
28
|
-
root: "p-3 between:ml-2 between:mr-0",
|
|
29
|
-
prepend: "text-base p-[0.08rem] w-9 h-9"
|
|
30
|
-
},
|
|
31
|
-
false: {
|
|
32
|
-
root: "p-4 between:ml-4 between:mr-0",
|
|
33
|
-
prepend: "text-[1.25rem] w-10 h-10"
|
|
34
|
-
}
|
|
35
|
-
} },
|
|
36
|
-
defaultVariants: { dense: false }
|
|
37
|
-
});
|
|
38
|
-
const ui = computed(() => cardHeader({ dense: __props.dense }));
|
|
20
|
+
const ui = computed(() => cardHeaderStyles({ dense: __props.dense }));
|
|
39
21
|
return (_ctx, _cache) => {
|
|
40
22
|
return openBlock(), createElementBlock("div", mergeProps({ class: unref(ui).root() }, _ctx.$attrs), [slots.prepend ? (openBlock(), createElementBlock("div", {
|
|
41
23
|
key: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuiCardHeader.vue_vue_type_script_setup_true_lang.js","names":["$attrs","_useSlots","_openBlock","_createElementBlock","_mergeProps","_unref","_normalizeClass","_renderSlot","_createCommentVNode","_createElementVNode"],"sources":["../../../src/components/cards/RuiCardHeader.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport {
|
|
1
|
+
{"version":3,"file":"RuiCardHeader.vue_vue_type_script_setup_true_lang.js","names":["$attrs","_useSlots","_openBlock","_createElementBlock","_mergeProps","_unref","_normalizeClass","_renderSlot","_createCommentVNode","_createElementVNode"],"sources":["../../../src/components/cards/RuiCardHeader.vue"],"sourcesContent":["<script setup lang=\"ts\">\nimport { cardHeaderStyles } from './card-header-styles';\n\nexport interface Props {\n dense?: boolean;\n}\n\ndefineOptions({\n name: 'RuiCardHeader',\n inheritAttrs: false,\n});\n\nconst { dense = false } = defineProps<Props>();\n\nconst slots = defineSlots<{\n prepend?: () => any;\n header?: () => any;\n subheader?: () => any;\n}>();\n\nconst ui = computed<ReturnType<typeof cardHeaderStyles>>(() => cardHeaderStyles({ dense }));\n</script>\n\n<template>\n <div\n :class=\"ui.root()\"\n v-bind=\"$attrs\"\n >\n <div\n v-if=\"slots.prepend\"\n data-id=\"prepend\"\n :class=\"ui.prepend()\"\n >\n <slot name=\"prepend\" />\n </div>\n <div class=\"flex flex-col justify-center\">\n <h5\n v-if=\"slots.header\"\n data-id=\"header\"\n :class=\"ui.header()\"\n >\n <slot name=\"header\" />\n </h5>\n <p\n v-if=\"slots.subheader\"\n data-id=\"subheader\"\n class=\"text-rui-text-secondary text-body-2 mb-0\"\n >\n <slot name=\"subheader\" />\n </p>\n </div>\n </div>\n</template>\n"],"mappings":";;;;;;;;;;;;;;;;;;EAcA,MAAM,QAAQC,SAAA;EAMd,MAAM,KAAK,eAAoD,iBAAiB,EAAE,OAAI,QAAA,MAAE,CAAC,CAAC;;GAIxF,OAAAC,UAAA,GAAAC,mBA2BM,OA3BNC,WA2BM,EA1BH,OAAOC,MAAA,EAAA,CAAE,CAAC,KAAI,EACPL,GAAAA,KAAAA,MAAM,GAAA,CAGN,MAAM,WADdE,UAAA,GAAAC,mBAMM,OAAA;;IAJJ,WAAQ;IACP,OAAKG,eAAED,MAAA,EAAA,CAAE,CAAC,QAAO,CAAA;GAElBE,GAAAA,CAAAA,WAAuB,KAAA,QAAA,SAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA,GAEzBE,mBAeM,OAfN,YAeM,CAbI,MAAM,UADdP,UAAA,GAAAC,mBAMK,MAAA;;IAJH,WAAQ;IACP,OAAKG,eAAED,MAAA,EAAA,CAAE,CAAC,OAAM,CAAA;GAEjBE,GAAAA,CAAAA,WAAsB,KAAA,QAAA,QAAA,CAAA,GAAA,CAAA,KAAA,mBAAA,IAAA,IAAA,GAGhB,MAAM,aADdL,UAAA,GAAAC,mBAMI,KANJ,YAMI,CADFI,WAAyB,KAAA,QAAA,WAAA,CAAA,CAAA,KAAA,mBAAA,IAAA,IAAA,CAAA,CAAA,CAAA,GAAA,EAAA"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
export declare const cardHeaderStyles: import("tailwind-variants").TVReturnType<{
|
|
2
|
+
dense: {
|
|
3
|
+
true: {
|
|
4
|
+
root: string;
|
|
5
|
+
prepend: string;
|
|
6
|
+
};
|
|
7
|
+
false: {
|
|
8
|
+
root: string;
|
|
9
|
+
prepend: string;
|
|
10
|
+
};
|
|
11
|
+
};
|
|
12
|
+
}, {
|
|
13
|
+
root: string;
|
|
14
|
+
prepend: string;
|
|
15
|
+
header: string;
|
|
16
|
+
}, undefined, {
|
|
17
|
+
dense: {
|
|
18
|
+
true: {
|
|
19
|
+
root: string;
|
|
20
|
+
prepend: string;
|
|
21
|
+
};
|
|
22
|
+
false: {
|
|
23
|
+
root: string;
|
|
24
|
+
prepend: string;
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
}, {
|
|
28
|
+
root: string;
|
|
29
|
+
prepend: string;
|
|
30
|
+
header: string;
|
|
31
|
+
}, import("tailwind-variants").TVReturnTypeLike<{
|
|
32
|
+
dense: {
|
|
33
|
+
true: {
|
|
34
|
+
root: string;
|
|
35
|
+
prepend: string;
|
|
36
|
+
};
|
|
37
|
+
false: {
|
|
38
|
+
root: string;
|
|
39
|
+
prepend: string;
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
}, {
|
|
43
|
+
root: string;
|
|
44
|
+
prepend: string;
|
|
45
|
+
header: string;
|
|
46
|
+
}>>;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { tv } from "../../utils/tv.js";
|
|
2
|
+
//#region src/components/cards/card-header-styles.ts
|
|
3
|
+
var cardHeaderStyles = tv({
|
|
4
|
+
slots: {
|
|
5
|
+
root: "flex",
|
|
6
|
+
prepend: "rounded-full flex items-center justify-center bg-rui-neutral-200 text-rui-neutral-700 dark:bg-rui-neutral-700 dark:text-rui-neutral-200 overflow-hidden",
|
|
7
|
+
header: "text-base font-semibold text-rui-text"
|
|
8
|
+
},
|
|
9
|
+
variants: { dense: {
|
|
10
|
+
true: {
|
|
11
|
+
root: "p-3 between:ml-2 between:mr-0",
|
|
12
|
+
prepend: "text-base p-[0.08rem] w-9 h-9"
|
|
13
|
+
},
|
|
14
|
+
false: {
|
|
15
|
+
root: "p-4 between:ml-4 between:mr-0",
|
|
16
|
+
prepend: "text-[1.25rem] w-10 h-10"
|
|
17
|
+
}
|
|
18
|
+
} },
|
|
19
|
+
defaultVariants: { dense: false }
|
|
20
|
+
});
|
|
21
|
+
//#endregion
|
|
22
|
+
export { cardHeaderStyles };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=card-header-styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card-header-styles.js","names":[],"sources":["../../../src/components/cards/card-header-styles.ts"],"sourcesContent":["import { tv } from '@/utils/tv';\n\nexport const cardHeaderStyles = tv({\n slots: {\n root: 'flex',\n prepend: 'rounded-full flex items-center justify-center bg-rui-neutral-200 text-rui-neutral-700 dark:bg-rui-neutral-700 dark:text-rui-neutral-200 overflow-hidden',\n // one title style whether or not there is a prepend: a card title is a section heading, not a page title\n header: 'text-base font-semibold text-rui-text',\n },\n variants: {\n dense: {\n true: {\n root: 'p-3 between:ml-2 between:mr-0',\n prepend: 'text-base p-[0.08rem] w-9 h-9',\n },\n false: {\n root: 'p-4 between:ml-4 between:mr-0',\n prepend: 'text-[1.25rem] w-10 h-10',\n },\n },\n },\n defaultVariants: { dense: false },\n});\n"],"mappings":";;AAEA,IAAa,mBAAmB,GAAG;CACjC,OAAO;EACL,MAAM;EACN,SAAS;EAET,QAAQ;CACV;CACA,UAAU,EACR,OAAO;EACL,MAAM;GACJ,MAAM;GACN,SAAS;EACX;EACA,OAAO;GACL,MAAM;GACN,SAAS;EACX;CACF,EACF;CACA,iBAAiB,EAAE,OAAO,MAAM;AAClC,CAAC"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
export declare const cardStyles: import("tailwind-variants").TVReturnType<{
|
|
2
|
+
variant: {
|
|
3
|
+
flat: {
|
|
4
|
+
root: string;
|
|
5
|
+
};
|
|
6
|
+
outlined: {
|
|
7
|
+
root: string;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
rounded: {
|
|
11
|
+
sm: {
|
|
12
|
+
root: string;
|
|
13
|
+
image: string;
|
|
14
|
+
};
|
|
15
|
+
md: {
|
|
16
|
+
root: string;
|
|
17
|
+
image: string;
|
|
18
|
+
};
|
|
19
|
+
lg: {
|
|
20
|
+
root: string;
|
|
21
|
+
image: string;
|
|
22
|
+
};
|
|
23
|
+
};
|
|
24
|
+
divide: {
|
|
25
|
+
true: {
|
|
26
|
+
root: string;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
padding: {
|
|
30
|
+
none: {
|
|
31
|
+
content: string;
|
|
32
|
+
};
|
|
33
|
+
dense: {
|
|
34
|
+
content: string;
|
|
35
|
+
};
|
|
36
|
+
normal: {
|
|
37
|
+
content: string;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
dense: {
|
|
41
|
+
true: {
|
|
42
|
+
footer: string;
|
|
43
|
+
};
|
|
44
|
+
false: {
|
|
45
|
+
footer: string;
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
underHeader: {
|
|
49
|
+
true: {
|
|
50
|
+
content: string;
|
|
51
|
+
};
|
|
52
|
+
false: {};
|
|
53
|
+
};
|
|
54
|
+
}, {
|
|
55
|
+
root: string;
|
|
56
|
+
image: string;
|
|
57
|
+
content: string;
|
|
58
|
+
footer: string[];
|
|
59
|
+
}, undefined, {
|
|
60
|
+
variant: {
|
|
61
|
+
flat: {
|
|
62
|
+
root: string;
|
|
63
|
+
};
|
|
64
|
+
outlined: {
|
|
65
|
+
root: string;
|
|
66
|
+
};
|
|
67
|
+
};
|
|
68
|
+
rounded: {
|
|
69
|
+
sm: {
|
|
70
|
+
root: string;
|
|
71
|
+
image: string;
|
|
72
|
+
};
|
|
73
|
+
md: {
|
|
74
|
+
root: string;
|
|
75
|
+
image: string;
|
|
76
|
+
};
|
|
77
|
+
lg: {
|
|
78
|
+
root: string;
|
|
79
|
+
image: string;
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
divide: {
|
|
83
|
+
true: {
|
|
84
|
+
root: string;
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
padding: {
|
|
88
|
+
none: {
|
|
89
|
+
content: string;
|
|
90
|
+
};
|
|
91
|
+
dense: {
|
|
92
|
+
content: string;
|
|
93
|
+
};
|
|
94
|
+
normal: {
|
|
95
|
+
content: string;
|
|
96
|
+
};
|
|
97
|
+
};
|
|
98
|
+
dense: {
|
|
99
|
+
true: {
|
|
100
|
+
footer: string;
|
|
101
|
+
};
|
|
102
|
+
false: {
|
|
103
|
+
footer: string;
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
underHeader: {
|
|
107
|
+
true: {
|
|
108
|
+
content: string;
|
|
109
|
+
};
|
|
110
|
+
false: {};
|
|
111
|
+
};
|
|
112
|
+
}, {
|
|
113
|
+
root: string;
|
|
114
|
+
image: string;
|
|
115
|
+
content: string;
|
|
116
|
+
footer: string[];
|
|
117
|
+
}, import("tailwind-variants").TVReturnTypeLike<{
|
|
118
|
+
variant: {
|
|
119
|
+
flat: {
|
|
120
|
+
root: string;
|
|
121
|
+
};
|
|
122
|
+
outlined: {
|
|
123
|
+
root: string;
|
|
124
|
+
};
|
|
125
|
+
};
|
|
126
|
+
rounded: {
|
|
127
|
+
sm: {
|
|
128
|
+
root: string;
|
|
129
|
+
image: string;
|
|
130
|
+
};
|
|
131
|
+
md: {
|
|
132
|
+
root: string;
|
|
133
|
+
image: string;
|
|
134
|
+
};
|
|
135
|
+
lg: {
|
|
136
|
+
root: string;
|
|
137
|
+
image: string;
|
|
138
|
+
};
|
|
139
|
+
};
|
|
140
|
+
divide: {
|
|
141
|
+
true: {
|
|
142
|
+
root: string;
|
|
143
|
+
};
|
|
144
|
+
};
|
|
145
|
+
padding: {
|
|
146
|
+
none: {
|
|
147
|
+
content: string;
|
|
148
|
+
};
|
|
149
|
+
dense: {
|
|
150
|
+
content: string;
|
|
151
|
+
};
|
|
152
|
+
normal: {
|
|
153
|
+
content: string;
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
dense: {
|
|
157
|
+
true: {
|
|
158
|
+
footer: string;
|
|
159
|
+
};
|
|
160
|
+
false: {
|
|
161
|
+
footer: string;
|
|
162
|
+
};
|
|
163
|
+
};
|
|
164
|
+
underHeader: {
|
|
165
|
+
true: {
|
|
166
|
+
content: string;
|
|
167
|
+
};
|
|
168
|
+
false: {};
|
|
169
|
+
};
|
|
170
|
+
}, {
|
|
171
|
+
root: string;
|
|
172
|
+
image: string;
|
|
173
|
+
content: string;
|
|
174
|
+
footer: string[];
|
|
175
|
+
}>>;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { tv } from "../../utils/tv.js";
|
|
2
|
+
//#region src/components/cards/card-styles.ts
|
|
3
|
+
var cardStyles = tv({
|
|
4
|
+
slots: {
|
|
5
|
+
root: "flex flex-col h-full w-full bg-rui-surface",
|
|
6
|
+
image: "overflow-hidden",
|
|
7
|
+
content: "text-sm/6 text-rui-text overflow-y-auto outline-hidden focus-visible:focus-ring focus-visible:-outline-offset-2",
|
|
8
|
+
footer: [
|
|
9
|
+
"flex between:ml-2 between:mr-0 items-center justify-start mt-auto",
|
|
10
|
+
"[&>[data-variant=text][data-size=xs]:first-child]:-ms-1",
|
|
11
|
+
"[&>[data-variant=text][data-size=sm]:first-child]:-ms-1.5",
|
|
12
|
+
"[&>[data-variant=text][data-size=md]:first-child]:-ms-2",
|
|
13
|
+
"[&>[data-variant=text][data-size=lg]:first-child]:-ms-2.5",
|
|
14
|
+
"[&>[data-variant=text][data-size$=xl]:first-child]:-ms-2.5"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
variants: {
|
|
18
|
+
variant: {
|
|
19
|
+
flat: { root: "" },
|
|
20
|
+
outlined: { root: "border border-rui-divider" }
|
|
21
|
+
},
|
|
22
|
+
rounded: {
|
|
23
|
+
sm: {
|
|
24
|
+
root: "rounded-rui-sm",
|
|
25
|
+
image: "rounded-t-rui-sm"
|
|
26
|
+
},
|
|
27
|
+
md: {
|
|
28
|
+
root: "rounded-rui-card",
|
|
29
|
+
image: "rounded-t-rui-card"
|
|
30
|
+
},
|
|
31
|
+
lg: {
|
|
32
|
+
root: "rounded-rui-lg",
|
|
33
|
+
image: "rounded-t-rui-lg"
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
divide: { true: { root: "between:border-t between:border-b-0 between:border-rui-divider" } },
|
|
37
|
+
padding: {
|
|
38
|
+
none: { content: "p-0" },
|
|
39
|
+
dense: { content: "p-3" },
|
|
40
|
+
normal: { content: "p-4" }
|
|
41
|
+
},
|
|
42
|
+
dense: {
|
|
43
|
+
true: { footer: "p-3 pt-1" },
|
|
44
|
+
false: { footer: "p-4 pt-2" }
|
|
45
|
+
},
|
|
46
|
+
underHeader: {
|
|
47
|
+
true: { content: "pt-0" },
|
|
48
|
+
false: {}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
defaultVariants: {
|
|
52
|
+
variant: "outlined",
|
|
53
|
+
rounded: "md",
|
|
54
|
+
padding: "normal",
|
|
55
|
+
dense: false,
|
|
56
|
+
underHeader: false
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
//#endregion
|
|
60
|
+
export { cardStyles };
|
|
61
|
+
|
|
62
|
+
//# sourceMappingURL=card-styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card-styles.js","names":[],"sources":["../../../src/components/cards/card-styles.ts"],"sourcesContent":["import { tv } from '@/utils/tv';\n\nexport const cardStyles = tv({\n slots: {\n root: 'flex flex-col h-full w-full bg-rui-surface',\n image: 'overflow-hidden',\n content: 'text-sm/6 text-rui-text overflow-y-auto outline-hidden focus-visible:focus-ring focus-visible:-outline-offset-2',\n // a leading text button moves out by its side padding to align its label; unquoted selectors, quoted ones break consumer builds\n footer: [\n 'flex between:ml-2 between:mr-0 items-center justify-start mt-auto',\n '[&>[data-variant=text][data-size=xs]:first-child]:-ms-1',\n '[&>[data-variant=text][data-size=sm]:first-child]:-ms-1.5',\n '[&>[data-variant=text][data-size=md]:first-child]:-ms-2',\n '[&>[data-variant=text][data-size=lg]:first-child]:-ms-2.5',\n '[&>[data-variant=text][data-size$=xl]:first-child]:-ms-2.5',\n ],\n },\n variants: {\n variant: {\n flat: { root: '' },\n outlined: { root: 'border border-rui-divider' },\n },\n rounded: {\n sm: { root: 'rounded-rui-sm', image: 'rounded-t-rui-sm' },\n md: { root: 'rounded-rui-card', image: 'rounded-t-rui-card' },\n lg: { root: 'rounded-rui-lg', image: 'rounded-t-rui-lg' },\n },\n divide: {\n true: { root: 'between:border-t between:border-b-0 between:border-rui-divider' },\n },\n padding: {\n none: { content: 'p-0' },\n dense: { content: 'p-3' },\n normal: { content: 'p-4' },\n },\n dense: {\n // the footer keeps the content's side padding, so its buttons line up with the text above\n true: { footer: 'p-3 pt-1' },\n false: { footer: 'p-4 pt-2' },\n },\n underHeader: {\n true: { content: 'pt-0' },\n false: {},\n },\n },\n defaultVariants: { variant: 'outlined', rounded: 'md', padding: 'normal', dense: false, underHeader: false },\n});\n"],"mappings":";;AAEA,IAAa,aAAa,GAAG;CAC3B,OAAO;EACL,MAAM;EACN,OAAO;EACP,SAAS;EAET,QAAQ;GACN;GACA;GACA;GACA;GACA;GACA;EACF;CACF;CACA,UAAU;EACR,SAAS;GACP,MAAM,EAAE,MAAM,GAAG;GACjB,UAAU,EAAE,MAAM,4BAA4B;EAChD;EACA,SAAS;GACP,IAAI;IAAE,MAAM;IAAkB,OAAO;GAAmB;GACxD,IAAI;IAAE,MAAM;IAAoB,OAAO;GAAqB;GAC5D,IAAI;IAAE,MAAM;IAAkB,OAAO;GAAmB;EAC1D;EACA,QAAQ,EACN,MAAM,EAAE,MAAM,iEAAiE,EACjF;EACA,SAAS;GACP,MAAM,EAAE,SAAS,MAAM;GACvB,OAAO,EAAE,SAAS,MAAM;GACxB,QAAQ,EAAE,SAAS,MAAM;EAC3B;EACA,OAAO;GAEL,MAAM,EAAE,QAAQ,WAAW;GAC3B,OAAO,EAAE,QAAQ,WAAW;EAC9B;EACA,aAAa;GACX,MAAM,EAAE,SAAS,OAAO;GACxB,OAAO,CAAC;EACV;CACF;CACA,iBAAiB;EAAE,SAAS;EAAY,SAAS;EAAM,SAAS;EAAU,OAAO;EAAO,aAAa;CAAM;AAC7G,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuiChip.js","names":["_sfc_main"],"sources":["../../../src/components/chips/RuiChip.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { StyleValue } from 'vue';\nimport type { ContextColorsType } from '@/consts/colors';\nimport type { RuiIcons } from '@/icons';\nimport type { VueClassValue } from '@/types/class-value';\nimport { objectOmit } from '@vueuse/shared';\nimport { CHIP_CLOSE_ICON_SIZES, ChipSize, ChipVariant } from '@/components/chips/chip-props';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\nimport { cn, tv } from '@/utils/tv';\n\nexport interface RuiChipClassNames {\n root?: VueClassValue;\n content?: VueClassValue;\n}\n\nexport interface Props {\n tile?: boolean;\n clickable?: boolean;\n closeable?: boolean;\n disabled?: boolean;\n size?: ChipSize;\n variant?: ChipVariant;\n color?: 'grey' | ContextColorsType;\n closeIcon?: RuiIcons;\n /**\n * Takes the close button out of the tab order, for a chip inside a widget that removes chips from\n * the keyboard itself, as RuiAutoComplete does with Backspace. The button still takes clicks.\n */\n closeUnfocusable?: boolean;\n bgColor?: string;\n textColor?: string;\n classNames?: RuiChipClassNames;\n}\n\ndefineOptions({\n name: 'RuiChip',\n inheritAttrs: false,\n});\n\nconst {\n tile = false,\n size = ChipSize.md,\n color = 'grey',\n clickable = false,\n closeable = false,\n disabled = false,\n variant = ChipVariant.filled,\n closeIcon = 'lu-x',\n closeUnfocusable = false,\n bgColor = undefined,\n textColor = undefined,\n classNames,\n} = defineProps<Props>();\n\nconst emit = defineEmits<{\n 'click:close': [];\n 'click': [e: MouseEvent];\n}>();\n\nconst slots = defineSlots<{\n prepend?: () => any;\n default?: () => any;\n}>();\n\nconst root = useTemplateRef<HTMLDivElement>('root');\n\nconst chipStyles = tv({\n slots: {\n // min-h sets the height and items-center the rest, so a prefix or a border never adds to it\n root: 'inline-flex items-center justify-between px-2 transition duration-150 cursor-default outline-hidden max-w-full truncate',\n // the avatar's neutral pair, so initials stay readable on any chip color\n prepend: 'rounded-full flex items-center justify-center shrink-0 w-6 h-6 text-[0.625rem] font-semibold text-rui-neutral-700 bg-rui-neutral-200 dark:text-rui-neutral-200 dark:bg-rui-neutral-700 overflow-hidden',\n label: 'truncate px-2 text-[0.8125rem]/5',\n // a round hover fill marks the close icon as its own button\n close: 'rounded-full flex items-center p-0.5 inset-y-0 focus:outline-hidden transition-colors hover:bg-rui-pressed',\n // 80% keeps the icon at 3:1 on a filled chip and on the page; full on hover\n closeIcon: 'opacity-80 hover:opacity-100 transition-opacity',\n },\n variants: {\n tile: {\n true: { root: 'rounded-rui-sm' },\n false: { root: 'rounded-full' },\n },\n size: {\n // 28px, to sit in a 44px table row; sm is 24px with 12px text\n md: { root: 'min-h-7' },\n sm: {\n root: 'min-h-6',\n prepend: 'text-[0.5rem] p-[0.08rem] w-4 h-4',\n label: 'px-1.5 text-xs/4',\n close: 'p-px',\n },\n // 20px for a count: 11px tabular figures keep a changing number from shifting the row\n xs: {\n root: 'min-h-5 px-1',\n prepend: 'text-[0.5rem] p-[0.08rem] w-4 h-4',\n label: 'px-1 text-[0.6875rem]/4 tabular-nums',\n close: 'p-px',\n },\n },\n // a leading circle sits as far from the start edge as from the top, like an avatar in a pill\n prepended: {\n true: { root: 'pl-0.5' },\n false: {},\n },\n closeable: {\n true: {},\n false: {},\n },\n disabled: {\n true: { root: '!text-rui-text-disabled cursor-default', close: 'cursor-default hover:bg-transparent dark:hover:bg-transparent' },\n false: {},\n },\n clickable: {\n true: { root: 'cursor-pointer' },\n false: { root: 'cursor-default', close: 'cursor-default' },\n },\n variant: {\n filled: {},\n outlined: {},\n tonal: {},\n },\n color: {\n grey: { root: 'text-rui-text' },\n primary: {},\n secondary: {},\n error: {},\n warning: {},\n info: {},\n success: {},\n },\n },\n compoundVariants: [\n // Interactive states (clickable + not disabled): a tint over any fill, which keeps the text color\n { clickable: true, disabled: false, class: { root: 'hover:state-layer active:state-layer-pressed focus-visible:focus-ring' } },\n\n // Grey filled: a solid step above the tonal tint\n { color: 'grey', variant: 'filled', class: { root: 'bg-rui-neutral-200 dark:bg-rui-neutral-700' } },\n\n // Outlined: the border is the text color at 40%, so it follows the brighter text tone in dark\n { variant: 'outlined', class: { root: 'border border-current/40 bg-transparent' } },\n\n // Context colors: filled bg\n { color: 'primary', variant: 'filled', class: { root: 'bg-rui-primary' } },\n { color: 'secondary', variant: 'filled', class: { root: 'bg-rui-secondary' } },\n // in dark a status color's `main` is a text tone, so the fill is its deep `darker`\n { color: 'error', variant: 'filled', class: { root: 'bg-rui-error dark:bg-rui-error-darker' } },\n { color: 'warning', variant: 'filled', class: { root: 'bg-rui-warning dark:bg-rui-warning-darker' } },\n { color: 'info', variant: 'filled', class: { root: 'bg-rui-info dark:bg-rui-info-darker' } },\n { color: 'success', variant: 'filled', class: { root: 'bg-rui-success dark:bg-rui-success-darker' } },\n\n // Context colors: outlined text\n { color: 'primary', variant: 'outlined', class: { root: 'text-rui-primary dark:text-rui-primary-lighter' } },\n { color: 'secondary', variant: 'outlined', class: { root: 'text-rui-secondary dark:text-rui-secondary-lighter' } },\n { color: 'error', variant: 'outlined', class: { root: 'text-rui-error dark:text-rui-error-lighter' } },\n { color: 'warning', variant: 'outlined', class: { root: 'text-rui-warning' } },\n { color: 'info', variant: 'outlined', class: { root: 'text-rui-info' } },\n { color: 'success', variant: 'outlined', class: { root: 'text-rui-success' } },\n\n // Tonal: a tint with the deeper tone as text, 4.5:1; primary and secondary sit near grey, so tint harder\n { color: 'grey', variant: 'tonal', class: { root: 'bg-rui-neutral-500/10 dark:bg-rui-neutral-400/10' } },\n { color: 'primary', variant: 'tonal', class: { root: 'bg-rui-primary/15 text-rui-primary-darker dark:bg-rui-primary/35 dark:text-rui-primary-lighter' } },\n { color: 'secondary', variant: 'tonal', class: { root: 'bg-rui-secondary/20 text-rui-secondary-darker dark:bg-rui-secondary/35 dark:text-rui-secondary-lighter' } },\n { color: 'error', variant: 'tonal', class: { root: 'bg-rui-error/10 text-rui-error-darker dark:bg-rui-error/20 dark:text-rui-error-lighter' } },\n { color: 'warning', variant: 'tonal', class: { root: 'bg-rui-warning/10 text-rui-warning-darker dark:bg-rui-warning/20 dark:text-rui-warning-lighter' } },\n { color: 'info', variant: 'tonal', class: { root: 'bg-rui-info/10 text-rui-info-darker dark:bg-rui-info/20 dark:text-rui-info-lighter' } },\n { color: 'success', variant: 'tonal', class: { root: 'bg-rui-success/10 text-rui-success-darker dark:bg-rui-success/20 dark:text-rui-success-lighter' } },\n\n // sm: a 16px circle in a 24px chip, 4px in from the start as from the top\n { size: 'sm', prepended: true, class: { root: 'pl-1' } },\n // in a tile chip the prefix follows the corners: the chip's 6px radius less the 2px inset\n { tile: true, class: { prepend: 'rounded-sm' } },\n // the close button's round hover area mirrors the prefix: as far from the end edge as from the top\n { closeable: true, class: { root: 'pr-1', label: 'pr-1' } },\n { closeable: true, size: 'sm', class: { root: 'pr-1', label: 'pr-0.5' } },\n // xs: the 12px close area sits 2px from the end edge, as the 16px prefix does from the start\n { closeable: true, size: 'xs', class: { root: 'pr-0.5', label: 'pr-0.5' } },\n\n // Disabled: a flat neutral chip in any color, like a disabled button\n { disabled: true, variant: ['filled', 'tonal'], class: { root: '!bg-rui-neutral-100 dark:!bg-rui-neutral-800' } },\n { disabled: true, variant: 'outlined', class: { root: '!border-rui-divider' } },\n ],\n compoundSlots: [\n // Every filled color takes light text, in both themes\n { slots: ['root'], color: ['primary', 'secondary', 'error', 'warning', 'info', 'success'], variant: 'filled', class: 'text-rui-dark-text' },\n ],\n defaultVariants: {\n tile: false,\n size: 'md',\n disabled: false,\n clickable: false,\n variant: 'filled',\n color: 'grey',\n },\n});\n\nconst ui = computed<ReturnType<typeof chipStyles>>(() => chipStyles({\n tile,\n size,\n color,\n variant,\n disabled,\n clickable,\n prepended: !!slots.prepend,\n closeable,\n}));\n\nconst style = computed<Partial<StyleValue>>(() => {\n const s: Partial<StyleValue> = {};\n if (bgColor)\n s.backgroundColor = bgColor;\n if (textColor)\n s.color = textColor;\n return s;\n});\n\nfunction click(e: MouseEvent): void {\n if (!clickable || disabled)\n return;\n\n emit('click', e);\n}\n\n/**\n * Enter and Space activate a clickable chip as they would a button, through a\n * real click so the handler still gets a `MouseEvent`.\n *\n * @param e - the key press on the chip\n */\nfunction onKeydown(e: KeyboardEvent): void {\n if (!clickable || disabled || e.target !== get(root))\n return;\n if (e.key !== 'Enter' && e.key !== ' ')\n return;\n\n e.preventDefault();\n get(root)?.click();\n}\n</script>\n\n<template>\n <div\n ref=\"root\"\n :class=\"ui.root({ class: cn(classNames?.root) })\"\n :style=\"style\"\n :data-variant=\"variant\"\n :data-color=\"color\"\n :data-disabled=\"disabled || undefined\"\n :role=\"clickable ? 'button' : undefined\"\n :tabindex=\"clickable && !disabled ? 0 : undefined\"\n :aria-disabled=\"clickable && disabled ? true : undefined\"\n v-bind=\"objectOmit($attrs, ['onClick'])\"\n @click=\"click($event)\"\n @keydown=\"onKeydown($event)\"\n >\n <div\n v-if=\"$slots.prepend\"\n :class=\"ui.prepend()\"\n >\n <slot name=\"prepend\" />\n </div>\n <span :class=\"ui.label({ class: cn(classNames?.content) })\">\n <slot />\n </span>\n <button\n v-if=\"closeable\"\n :class=\"ui.close()\"\n :disabled=\"disabled\"\n type=\"button\"\n aria-label=\"Remove\"\n :tabindex=\"closeUnfocusable ? -1 : undefined\"\n @click.stop=\"emit('click:close')\"\n >\n <RuiIcon\n :class=\"ui.closeIcon()\"\n :size=\"CHIP_CLOSE_ICON_SIZES[size]\"\n :name=\"closeIcon\"\n />\n </button>\n </div>\n</template>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"RuiChip.js","names":["_sfc_main"],"sources":["../../../src/components/chips/RuiChip.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { StyleValue } from 'vue';\nimport type { ContextColorsType } from '@/consts/colors';\nimport type { RuiIcons } from '@/icons';\nimport type { VueClassValue } from '@/types/class-value';\nimport { objectOmit } from '@vueuse/shared';\nimport { CHIP_CLOSE_ICON_SIZES, ChipSize, ChipVariant } from '@/components/chips/chip-props';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\nimport { cn } from '@/utils/tv';\nimport { chipStyles } from './chip-styles';\n\nexport interface RuiChipClassNames {\n root?: VueClassValue;\n content?: VueClassValue;\n}\n\nexport interface Props {\n tile?: boolean;\n clickable?: boolean;\n closeable?: boolean;\n disabled?: boolean;\n size?: ChipSize;\n variant?: ChipVariant;\n color?: 'grey' | ContextColorsType;\n closeIcon?: RuiIcons;\n /**\n * Takes the close button out of the tab order, for a chip inside a widget that removes chips from\n * the keyboard itself, as RuiAutoComplete does with Backspace. The button still takes clicks.\n */\n closeUnfocusable?: boolean;\n bgColor?: string;\n textColor?: string;\n classNames?: RuiChipClassNames;\n}\n\ndefineOptions({\n name: 'RuiChip',\n inheritAttrs: false,\n});\n\nconst {\n tile = false,\n size = ChipSize.md,\n color = 'grey',\n clickable = false,\n closeable = false,\n disabled = false,\n variant = ChipVariant.filled,\n closeIcon = 'lu-x',\n closeUnfocusable = false,\n bgColor = undefined,\n textColor = undefined,\n classNames,\n} = defineProps<Props>();\n\nconst emit = defineEmits<{\n 'click:close': [];\n 'click': [e: MouseEvent];\n}>();\n\nconst slots = defineSlots<{\n prepend?: () => any;\n default?: () => any;\n}>();\n\nconst root = useTemplateRef<HTMLDivElement>('root');\n\nconst ui = computed<ReturnType<typeof chipStyles>>(() => chipStyles({\n tile,\n size,\n color,\n variant,\n disabled,\n clickable,\n prepended: !!slots.prepend,\n closeable,\n}));\n\nconst style = computed<Partial<StyleValue>>(() => {\n const s: Partial<StyleValue> = {};\n if (bgColor)\n s.backgroundColor = bgColor;\n if (textColor)\n s.color = textColor;\n return s;\n});\n\nfunction click(e: MouseEvent): void {\n if (!clickable || disabled)\n return;\n\n emit('click', e);\n}\n\n/**\n * Enter and Space activate a clickable chip as they would a button, through a\n * real click so the handler still gets a `MouseEvent`.\n *\n * @param e - the key press on the chip\n */\nfunction onKeydown(e: KeyboardEvent): void {\n if (!clickable || disabled || e.target !== get(root))\n return;\n if (e.key !== 'Enter' && e.key !== ' ')\n return;\n\n e.preventDefault();\n get(root)?.click();\n}\n</script>\n\n<template>\n <div\n ref=\"root\"\n :class=\"ui.root({ class: cn(classNames?.root) })\"\n :style=\"style\"\n :data-variant=\"variant\"\n :data-color=\"color\"\n :data-disabled=\"disabled || undefined\"\n :role=\"clickable ? 'button' : undefined\"\n :tabindex=\"clickable && !disabled ? 0 : undefined\"\n :aria-disabled=\"clickable && disabled ? true : undefined\"\n v-bind=\"objectOmit($attrs, ['onClick'])\"\n @click=\"click($event)\"\n @keydown=\"onKeydown($event)\"\n >\n <div\n v-if=\"$slots.prepend\"\n :class=\"ui.prepend()\"\n >\n <slot name=\"prepend\" />\n </div>\n <span :class=\"ui.label({ class: cn(classNames?.content) })\">\n <slot />\n </span>\n <button\n v-if=\"closeable\"\n :class=\"ui.close()\"\n :disabled=\"disabled\"\n type=\"button\"\n aria-label=\"Remove\"\n :tabindex=\"closeUnfocusable ? -1 : undefined\"\n @click.stop=\"emit('click:close')\"\n >\n <RuiIcon\n :class=\"ui.closeIcon()\"\n :size=\"CHIP_CLOSE_ICON_SIZES[size]\"\n :name=\"closeIcon\"\n />\n </button>\n </div>\n</template>\n"],"mappings":""}
|