@rotki/ui-library 2.21.0 → 2.22.1
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.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/accordions/accordion/RuiAccordion.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/accordions/accordions/RuiAccordions.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/accordions/accordions/RuiAccordions.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/alerts/RuiAlert.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/alerts/RuiAlert.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/avatars/RuiAvatar.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/avatars/RuiAvatar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/avatars/RuiAvatarGroup.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/avatars/RuiAvatarGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/avatars/avatar-props.js +1 -1
- package/dist/components/avatars/avatar-props.js.map +1 -1
- package/dist/components/avatars/use-avatar-group.js.map +1 -1
- package/dist/components/buttons/button/RuiButton.js.map +1 -1
- package/dist/components/buttons/button/RuiButton.vue.d.ts +2 -2
- package/dist/components/buttons/button/RuiButton.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/buttons/button/RuiButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/buttons/button/button-props.js.map +1 -1
- package/dist/components/buttons/button/button-styles.js.map +1 -1
- package/dist/components/buttons/button-group/RuiButtonGroup.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/buttons/button-group/RuiButtonGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/calendar/RuiCalendar.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/calendar/RuiCalendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/calendar/RuiCalendarGrid.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/calendar/RuiCalendarGrid.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/calendar/RuiCalendarHeader.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/calendar/RuiCalendarHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/calendar/RuiCalendarMenu.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/calendar/RuiCalendarMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/calendar/state.js.map +1 -1
- package/dist/components/cards/RuiCard.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/cards/RuiCard.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/cards/RuiCardHeader.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/cards/RuiCardHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/chips/RuiChip.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/chips/RuiChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/chips/chip-props.js.map +1 -1
- package/dist/components/color-picker/RuiColorBoard.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/color-picker/RuiColorBoard.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/color-picker/RuiColorDisplay.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/color-picker/RuiColorDisplay.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/color-picker/RuiColorHue.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/color-picker/RuiColorHue.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/color-picker/RuiColorInput.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/color-picker/RuiColorInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/color-picker/RuiColorPicker.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/color-picker/RuiColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/color-picker/utils.js.map +1 -1
- package/dist/components/date-time-picker/RuiDateTimePicker.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/date-time-picker/RuiDateTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/date-time-picker/RuiTimezoneSelect.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/date-time-picker/RuiTimezoneSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/date-time-picker/date-time-picker-styles.js.map +1 -1
- package/dist/components/date-time-picker/dayjs-setup.js.map +1 -1
- package/dist/components/date-time-picker/segment-config.js.map +1 -1
- package/dist/components/date-time-picker/segment-utils.js.map +1 -1
- package/dist/components/date-time-picker/timezones.js.map +1 -1
- package/dist/components/date-time-picker/types.js +1 -1
- package/dist/components/date-time-picker/types.js.map +1 -1
- package/dist/components/date-time-picker/use-date-time-selection.js +2 -2
- package/dist/components/date-time-picker/use-date-time-selection.js.map +1 -1
- package/dist/components/date-time-picker/use-input-handler.js.map +1 -1
- package/dist/components/date-time-picker/use-keyboard-handler.js.map +1 -1
- package/dist/components/date-time-picker/utils.js.map +1 -1
- package/dist/components/divider/RuiDivider.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/divider/RuiDivider.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/auto-complete/RuiAutoComplete.js.map +1 -1
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue.d.ts +14 -1
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue_vue_type_script_setup_true_lang.js +15 -5
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/auto-complete/auto-complete-styles.js.map +1 -1
- package/dist/components/forms/category-picker/RuiCategoryPicker.js +7 -0
- package/dist/components/forms/category-picker/RuiCategoryPicker.js.map +1 -0
- package/dist/components/forms/category-picker/RuiCategoryPicker.vue.d.ts +134 -0
- package/dist/components/forms/category-picker/RuiCategoryPicker.vue_vue_type_script_setup_true_lang.js +567 -0
- package/dist/components/forms/category-picker/RuiCategoryPicker.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/forms/category-picker/category-picker-styles.d.ts +432 -0
- package/dist/components/forms/category-picker/category-picker-styles.js +59 -0
- package/dist/components/forms/category-picker/category-picker-styles.js.map +1 -0
- package/dist/components/forms/check-control-styles.js.map +1 -1
- package/dist/components/forms/checkbox/RuiCheckbox.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/forms/checkbox/RuiCheckbox.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/checkbox/checkbox-group/RuiCheckboxGroup.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/forms/checkbox/checkbox-group/RuiCheckboxGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/checkbox/checkbox-group/context.js.map +1 -1
- package/dist/components/forms/file-upload/RuiFileUpload.js.map +1 -1
- package/dist/components/forms/file-upload/RuiFileUpload.vue_vue_type_script_setup_true_lang.js +5 -5
- package/dist/components/forms/file-upload/RuiFileUpload.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/radio-button/radio/RuiRadio.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/forms/radio-button/radio/RuiRadio.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/select/RuiMenuSelect.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/forms/select/RuiMenuSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/select/RuiSimpleSelect.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/forms/select/RuiSimpleSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/select/menu-select-styles.js.map +1 -1
- package/dist/components/forms/slider/RuiSlider.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/forms/slider/RuiSlider.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/slider/slider-styles.js.map +1 -1
- package/dist/components/forms/switch/RuiSwitch.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/forms/switch/RuiSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/text-area/RuiTextArea.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/forms/text-area/RuiTextArea.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/text-area/text-area-styles.js.map +1 -1
- package/dist/components/forms/text-field/RuiTextField.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/forms/text-field/RuiTextField.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/text-field/text-field-styles.js.map +1 -1
- package/dist/components/forms/text-input-styles.js.map +1 -1
- package/dist/components/helpers/RuiFormTextDetail.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/helpers/RuiFormTextDetail.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/icons/RuiIcon.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/icons/RuiIcon.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/index.d.ts +3 -2
- package/dist/components/index.js +3 -2
- package/dist/components/loaders/RuiSkeletonBase.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/loaders/RuiSkeletonBase.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/loaders/RuiSkeletonLoader.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/loaders/RuiSkeletonLoader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/loaders/skeleton-type.js.map +1 -1
- package/dist/components/logos/RuiLogo.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/logos/RuiLogo.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/logos/use-logo-sources.js.map +1 -1
- package/dist/components/overlays/badge/RuiBadge.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/overlays/badge/RuiBadge.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/overlays/badge/badge-props.js.map +1 -1
- package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/overlays/dialog/RuiDialog.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/overlays/dialog/RuiDialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/overlays/menu/RuiMenu.js.map +1 -1
- package/dist/components/overlays/menu/RuiMenu.vue.d.ts +2 -0
- package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/overlays/notification/RuiNotification.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/overlays/notification/RuiNotification.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/overlays/tooltip/RuiTooltip.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/overlays/tooltip/RuiTooltip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/overlays/tooltip/tooltip-styles.js.map +1 -1
- package/dist/components/progress/RuiProgress.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/progress/RuiProgress.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/progress/progress-props.js.map +1 -1
- package/dist/components/steppers/RuiFooterStepper.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/steppers/RuiFooterStepper.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/steppers/RuiStepper.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/steppers/RuiStepper.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/steppers/RuiStepperCustomIcon.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/steppers/RuiStepperCustomIcon.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/steppers/RuiStepperIcon.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/steppers/RuiStepperIcon.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/steppers/footer-stepper-variant.js.map +1 -1
- package/dist/components/tables/RuiDataTable.js.map +1 -1
- package/dist/components/tables/RuiDataTable.vue.d.ts +23 -2
- package/dist/components/tables/RuiDataTable.vue_vue_type_script_setup_true_lang.js +186 -217
- package/dist/components/tables/RuiDataTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tables/RuiExpandButton.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/tables/RuiExpandButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tables/RuiTableEmptyState.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/tables/RuiTableEmptyState.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.d.ts +11 -1
- package/dist/components/tables/RuiTableHead.vue_vue_type_script_setup_true_lang.js +1 -2
- package/dist/components/tables/RuiTableHead.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.d.ts +5 -0
- package/dist/components/tables/RuiTablePagination.vue_vue_type_script_setup_true_lang.js +24 -8
- package/dist/components/tables/RuiTablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tables/data-table/RuiDataTableBody.js +7 -0
- package/dist/components/tables/data-table/RuiDataTableBody.js.map +1 -0
- package/dist/components/tables/data-table/RuiDataTableBody.vue.d.ts +55 -0
- package/dist/components/tables/data-table/RuiDataTableBody.vue_vue_type_script_setup_true_lang.js +78 -0
- package/dist/components/tables/data-table/RuiDataTableBody.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/tables/data-table/RuiDataTableCell.js +7 -0
- package/dist/components/tables/data-table/RuiDataTableCell.js.map +1 -0
- package/dist/components/tables/data-table/RuiDataTableCell.vue.d.ts +30 -0
- package/dist/components/tables/data-table/RuiDataTableCell.vue_vue_type_script_setup_true_lang.js +54 -0
- package/dist/components/tables/data-table/RuiDataTableCell.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/tables/data-table/RuiDataTableEmptyRow.js +7 -0
- package/dist/components/tables/data-table/RuiDataTableEmptyRow.js.map +1 -0
- package/dist/components/tables/data-table/RuiDataTableEmptyRow.vue.d.ts +19 -0
- package/dist/components/tables/data-table/RuiDataTableEmptyRow.vue_vue_type_script_setup_true_lang.js +43 -0
- package/dist/components/tables/data-table/RuiDataTableEmptyRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/tables/data-table/RuiDataTableExpandedRow.js +7 -0
- package/dist/components/tables/data-table/RuiDataTableExpandedRow.js.map +1 -0
- package/dist/components/tables/data-table/RuiDataTableExpandedRow.vue.d.ts +26 -0
- package/dist/components/tables/data-table/RuiDataTableExpandedRow.vue_vue_type_script_setup_true_lang.js +31 -0
- package/dist/components/tables/data-table/RuiDataTableExpandedRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/tables/data-table/RuiDataTableGroupRow.js +7 -0
- package/dist/components/tables/data-table/RuiDataTableGroupRow.js.map +1 -0
- package/dist/components/tables/data-table/RuiDataTableGroupRow.vue.d.ts +32 -0
- package/dist/components/tables/data-table/RuiDataTableGroupRow.vue_vue_type_script_setup_true_lang.js +85 -0
- package/dist/components/tables/data-table/RuiDataTableGroupRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/tables/data-table/RuiDataTableLoadingRow.js +7 -0
- package/dist/components/tables/data-table/RuiDataTableLoadingRow.js.map +1 -0
- package/dist/components/tables/data-table/RuiDataTableLoadingRow.vue.d.ts +3 -0
- package/dist/components/tables/data-table/RuiDataTableLoadingRow.vue_vue_type_script_setup_true_lang.js +26 -0
- package/dist/components/tables/data-table/RuiDataTableLoadingRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/tables/data-table/RuiDataTableMobileSort.js +7 -0
- package/dist/components/tables/data-table/RuiDataTableMobileSort.js.map +1 -0
- package/dist/components/tables/data-table/RuiDataTableMobileSort.vue.d.ts +33 -0
- package/dist/components/tables/data-table/RuiDataTableMobileSort.vue_vue_type_script_setup_true_lang.js +101 -0
- package/dist/components/tables/data-table/RuiDataTableMobileSort.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/tables/data-table/RuiDataTableRow.js +7 -0
- package/dist/components/tables/data-table/RuiDataTableRow.js.map +1 -0
- package/dist/components/tables/data-table/RuiDataTableRow.vue.d.ts +31 -0
- package/dist/components/tables/data-table/RuiDataTableRow.vue_vue_type_script_setup_true_lang.js +142 -0
- package/dist/components/tables/data-table/RuiDataTableRow.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/tables/data-table/context.d.ts +73 -0
- package/dist/components/tables/data-table/context.js +100 -0
- package/dist/components/tables/data-table/context.js.map +1 -0
- package/dist/components/tables/data-table-styles.d.ts +30 -1
- package/dist/components/tables/data-table-styles.js +9 -2
- package/dist/components/tables/data-table-styles.js.map +1 -1
- package/dist/components/tables/table-props.d.ts +5 -0
- package/dist/components/tables/table-props.js +5 -1
- package/dist/components/tables/table-props.js.map +1 -1
- package/dist/components/tables/use-pagination-navigation.js.map +1 -1
- package/dist/components/tabs/tab/RuiTab.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/tabs/tab/RuiTab.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tabs/tab/use-tab-link.js.map +1 -1
- package/dist/components/tabs/tab-item/RuiTabItem.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/tabs/tab-item/RuiTabItem.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tabs/tab-items/RuiTabItems.js.map +1 -1
- package/dist/components/tabs/tab-items/RuiTabItems.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/tabs/tab-items/RuiTabItems.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tabs/tab-props.js.map +1 -1
- package/dist/components/tabs/tabs/RuiTabs.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/tabs/tabs/RuiTabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tabs/tabs/use-tab-routing.js +1 -1
- package/dist/components/tabs/tabs/use-tab-routing.js.map +1 -1
- package/dist/components/tabs/tabs/use-tab-scroll.js.map +1 -1
- package/dist/components/time-picker/RuiTimePicker.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/time-picker/RuiTimePicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/time-picker/time-picker-styles.js.map +1 -1
- package/dist/composables/breakpoint.js.map +1 -1
- package/dist/composables/defaults/table.d.ts +12 -0
- package/dist/composables/defaults/table.js.map +1 -1
- package/dist/composables/dropdown-menu.js.map +1 -1
- package/dist/composables/floating.d.ts +11 -0
- package/dist/composables/floating.js +21 -2
- package/dist/composables/floating.js.map +1 -1
- package/dist/composables/forms/auto-complete/focus.js.map +1 -1
- package/dist/composables/forms/auto-complete/index.js +5 -4
- package/dist/composables/forms/auto-complete/keyboard-navigation.js.map +1 -1
- package/dist/composables/forms/auto-complete/search.d.ts +6 -1
- package/dist/composables/forms/auto-complete/search.js +12 -1
- package/dist/composables/forms/auto-complete/search.js.map +1 -1
- package/dist/composables/forms/auto-complete/value.js.map +1 -1
- package/dist/composables/forms/category-picker/use-category-picker.d.ts +76 -0
- package/dist/composables/forms/category-picker/use-category-picker.js +141 -0
- package/dist/composables/forms/category-picker/use-category-picker.js.map +1 -0
- package/dist/composables/forms/use-prepend-append-width.js.map +1 -1
- package/dist/composables/icons.js.map +1 -1
- package/dist/composables/popper.js.map +1 -1
- package/dist/composables/sticky-header.js.map +1 -1
- package/dist/composables/tables/data-table/columns.d.ts +7 -1
- package/dist/composables/tables/data-table/columns.js +18 -10
- package/dist/composables/tables/data-table/columns.js.map +1 -1
- package/dist/composables/tables/data-table/expansion.js.map +1 -1
- package/dist/composables/tables/data-table/grouping.d.ts +4 -6
- package/dist/composables/tables/data-table/grouping.js +38 -24
- package/dist/composables/tables/data-table/grouping.js.map +1 -1
- package/dist/composables/tables/data-table/pagination.d.ts +4 -4
- package/dist/composables/tables/data-table/pagination.js +63 -21
- package/dist/composables/tables/data-table/pagination.js.map +1 -1
- package/dist/composables/tables/data-table/selection.js +16 -6
- package/dist/composables/tables/data-table/selection.js.map +1 -1
- package/dist/composables/tables/data-table/sort.d.ts +4 -3
- package/dist/composables/tables/data-table/sort.js +78 -40
- package/dist/composables/tables/data-table/sort.js.map +1 -1
- package/dist/composables/tables/data-table/types.d.ts +3 -1
- package/dist/composables/tables/data-table/types.js +6 -2
- package/dist/composables/tables/data-table/types.js.map +1 -1
- package/dist/composables/theme.js.map +1 -1
- package/dist/composables/timeout-manager.js.map +1 -1
- package/dist/composables/use-rui-i18n.js.map +1 -1
- package/dist/consts/colors.js.map +1 -1
- package/dist/consts/time-accuracy.js.map +1 -1
- package/dist/i18n/keys.js.map +1 -1
- package/dist/icons/icons_1.d.ts +12 -12
- package/dist/icons/icons_1.js +140 -157
- package/dist/icons/icons_1.js.map +1 -1
- package/dist/icons/icons_2.d.ts +13 -13
- package/dist/icons/icons_2.js +128 -149
- package/dist/icons/icons_2.js.map +1 -1
- package/dist/icons/icons_3.d.ts +18 -18
- package/dist/icons/icons_3.js +244 -282
- package/dist/icons/icons_3.js.map +1 -1
- package/dist/icons/icons_4.d.ts +251 -6
- package/dist/icons/icons_4.js +3016 -75
- package/dist/icons/icons_4.js.map +1 -1
- package/dist/icons/icons_5.d.ts +20 -0
- package/dist/icons/icons_5.js +221 -0
- package/dist/icons/icons_5.js.map +1 -0
- package/dist/icons/index.d.ts +2 -1
- package/dist/icons/index.js +297 -32
- package/dist/icons/index.js.map +1 -1
- package/dist/index.js +8 -6
- package/dist/index.js.map +1 -1
- package/dist/library-icons.json +1 -0
- package/dist/style.css +157 -0
- package/dist/theme/index.js.map +1 -1
- package/dist/types/stepper.js.map +1 -1
- package/dist/types/theme.js.map +1 -1
- package/dist/utils/assert.js.map +1 -1
- package/dist/utils/blockie.js.map +1 -1
- package/dist/utils/form-text-detail.js.map +1 -1
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/is-equal.js.map +1 -1
- package/dist/utils/tv.js.map +1 -1
- package/dist/vite-plugin/index.js +6 -5
- package/dist/vite-plugin/index.js.map +1 -1
- package/dist/vite-plugin/scanner.d.ts +1 -1
- package/dist/vite-plugin/scanner.js +10 -7
- package/dist/vite-plugin/scanner.js.map +1 -1
- package/dist/vite-plugin/types.d.ts +9 -0
- package/dist/web-types.json +2042 -1108
- package/package.json +35 -35
package/dist/style.css
CHANGED
|
@@ -879,12 +879,20 @@ html[data-theme="dark"], html.dark {
|
|
|
879
879
|
--rui-surface-overlay: var(--rui-dark-surface-overlay);
|
|
880
880
|
}
|
|
881
881
|
|
|
882
|
+
.\!container {
|
|
883
|
+
width: 100% !important;
|
|
884
|
+
}
|
|
885
|
+
|
|
882
886
|
.container {
|
|
883
887
|
width: 100%;
|
|
884
888
|
}
|
|
885
889
|
|
|
886
890
|
@media (min-width: 640px) {
|
|
887
891
|
|
|
892
|
+
.\!container {
|
|
893
|
+
max-width: 640px !important;
|
|
894
|
+
}
|
|
895
|
+
|
|
888
896
|
.container {
|
|
889
897
|
max-width: 640px;
|
|
890
898
|
}
|
|
@@ -892,6 +900,10 @@ html[data-theme="dark"], html.dark {
|
|
|
892
900
|
|
|
893
901
|
@media (min-width: 768px) {
|
|
894
902
|
|
|
903
|
+
.\!container {
|
|
904
|
+
max-width: 768px !important;
|
|
905
|
+
}
|
|
906
|
+
|
|
895
907
|
.container {
|
|
896
908
|
max-width: 768px;
|
|
897
909
|
}
|
|
@@ -899,6 +911,10 @@ html[data-theme="dark"], html.dark {
|
|
|
899
911
|
|
|
900
912
|
@media (min-width: 1024px) {
|
|
901
913
|
|
|
914
|
+
.\!container {
|
|
915
|
+
max-width: 1024px !important;
|
|
916
|
+
}
|
|
917
|
+
|
|
902
918
|
.container {
|
|
903
919
|
max-width: 1024px;
|
|
904
920
|
}
|
|
@@ -906,6 +922,10 @@ html[data-theme="dark"], html.dark {
|
|
|
906
922
|
|
|
907
923
|
@media (min-width: 1280px) {
|
|
908
924
|
|
|
925
|
+
.\!container {
|
|
926
|
+
max-width: 1280px !important;
|
|
927
|
+
}
|
|
928
|
+
|
|
909
929
|
.container {
|
|
910
930
|
max-width: 1280px;
|
|
911
931
|
}
|
|
@@ -913,6 +933,10 @@ html[data-theme="dark"], html.dark {
|
|
|
913
933
|
|
|
914
934
|
@media (min-width: 1536px) {
|
|
915
935
|
|
|
936
|
+
.\!container {
|
|
937
|
+
max-width: 1536px !important;
|
|
938
|
+
}
|
|
939
|
+
|
|
916
940
|
.container {
|
|
917
941
|
max-width: 1536px;
|
|
918
942
|
}
|
|
@@ -934,6 +958,10 @@ html[data-theme="dark"], html.dark {
|
|
|
934
958
|
visibility: hidden;
|
|
935
959
|
}
|
|
936
960
|
|
|
961
|
+
.collapse {
|
|
962
|
+
visibility: collapse;
|
|
963
|
+
}
|
|
964
|
+
|
|
937
965
|
.static {
|
|
938
966
|
position: static;
|
|
939
967
|
}
|
|
@@ -999,6 +1027,10 @@ html[data-theme="dark"], html.dark {
|
|
|
999
1027
|
left: 0.75rem;
|
|
1000
1028
|
}
|
|
1001
1029
|
|
|
1030
|
+
.left-4 {
|
|
1031
|
+
left: 1rem;
|
|
1032
|
+
}
|
|
1033
|
+
|
|
1002
1034
|
.left-\[1\.3125rem\] {
|
|
1003
1035
|
left: 1.3125rem;
|
|
1004
1036
|
}
|
|
@@ -1027,6 +1059,10 @@ html[data-theme="dark"], html.dark {
|
|
|
1027
1059
|
right: 0.75rem;
|
|
1028
1060
|
}
|
|
1029
1061
|
|
|
1062
|
+
.right-8 {
|
|
1063
|
+
right: 2rem;
|
|
1064
|
+
}
|
|
1065
|
+
|
|
1030
1066
|
.right-\[calc\(0\.5px-0\.3125rem\)\] {
|
|
1031
1067
|
right: calc(0.5px - 0.3125rem);
|
|
1032
1068
|
}
|
|
@@ -1174,6 +1210,10 @@ html[data-theme="dark"], html.dark {
|
|
|
1174
1210
|
margin-bottom: 0.5rem;
|
|
1175
1211
|
}
|
|
1176
1212
|
|
|
1213
|
+
.mb-3 {
|
|
1214
|
+
margin-bottom: 0.75rem;
|
|
1215
|
+
}
|
|
1216
|
+
|
|
1177
1217
|
.ml-0 {
|
|
1178
1218
|
margin-left: 0px;
|
|
1179
1219
|
}
|
|
@@ -1411,6 +1451,10 @@ html[data-theme="dark"], html.dark {
|
|
|
1411
1451
|
max-height: 90vh;
|
|
1412
1452
|
}
|
|
1413
1453
|
|
|
1454
|
+
.max-h-\[var\(--rui-floating-max-height\2c 60vh\)\] {
|
|
1455
|
+
max-height: var(--rui-floating-max-height,60vh);
|
|
1456
|
+
}
|
|
1457
|
+
|
|
1414
1458
|
.max-h-full {
|
|
1415
1459
|
max-height: 100%;
|
|
1416
1460
|
}
|
|
@@ -1423,6 +1467,10 @@ html[data-theme="dark"], html.dark {
|
|
|
1423
1467
|
min-height: 3rem !important;
|
|
1424
1468
|
}
|
|
1425
1469
|
|
|
1470
|
+
.min-h-0 {
|
|
1471
|
+
min-height: 0px;
|
|
1472
|
+
}
|
|
1473
|
+
|
|
1426
1474
|
.min-h-1\.5 {
|
|
1427
1475
|
min-height: 0.375rem;
|
|
1428
1476
|
}
|
|
@@ -1559,6 +1607,10 @@ html[data-theme="dark"], html.dark {
|
|
|
1559
1607
|
width: 3.625rem;
|
|
1560
1608
|
}
|
|
1561
1609
|
|
|
1610
|
+
.w-\[40rem\] {
|
|
1611
|
+
width: 40rem;
|
|
1612
|
+
}
|
|
1613
|
+
|
|
1562
1614
|
.w-\[var\(--rui-icon-size\2c 1\.5rem\)\] {
|
|
1563
1615
|
width: var(--rui-icon-size,1.5rem);
|
|
1564
1616
|
}
|
|
@@ -1600,6 +1652,10 @@ html[data-theme="dark"], html.dark {
|
|
|
1600
1652
|
min-width: 1rem;
|
|
1601
1653
|
}
|
|
1602
1654
|
|
|
1655
|
+
.min-w-40 {
|
|
1656
|
+
min-width: 10rem;
|
|
1657
|
+
}
|
|
1658
|
+
|
|
1603
1659
|
.min-w-5 {
|
|
1604
1660
|
min-width: 1.25rem;
|
|
1605
1661
|
}
|
|
@@ -1672,6 +1728,10 @@ html[data-theme="dark"], html.dark {
|
|
|
1672
1728
|
max-width: 90%;
|
|
1673
1729
|
}
|
|
1674
1730
|
|
|
1731
|
+
.max-w-\[calc\(100vw-2rem\)\] {
|
|
1732
|
+
max-width: calc(100vw - 2rem);
|
|
1733
|
+
}
|
|
1734
|
+
|
|
1675
1735
|
.max-w-fit {
|
|
1676
1736
|
max-width: -moz-fit-content;
|
|
1677
1737
|
max-width: fit-content;
|
|
@@ -1990,6 +2050,10 @@ html[data-theme="dark"], html.dark {
|
|
|
1990
2050
|
appearance: none;
|
|
1991
2051
|
}
|
|
1992
2052
|
|
|
2053
|
+
.grid-cols-1 {
|
|
2054
|
+
grid-template-columns: repeat(1, minmax(0, 1fr));
|
|
2055
|
+
}
|
|
2056
|
+
|
|
1993
2057
|
.grid-cols-3 {
|
|
1994
2058
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
1995
2059
|
}
|
|
@@ -1998,6 +2062,10 @@ html[data-theme="dark"], html.dark {
|
|
|
1998
2062
|
grid-template-columns: repeat(7, minmax(0, 1fr));
|
|
1999
2063
|
}
|
|
2000
2064
|
|
|
2065
|
+
.grid-cols-\[minmax\(9\.5rem\2c 13rem\)_1fr\] {
|
|
2066
|
+
grid-template-columns: minmax(9.5rem,13rem) 1fr;
|
|
2067
|
+
}
|
|
2068
|
+
|
|
2001
2069
|
.flex-col {
|
|
2002
2070
|
flex-direction: column;
|
|
2003
2071
|
}
|
|
@@ -2010,6 +2078,10 @@ html[data-theme="dark"], html.dark {
|
|
|
2010
2078
|
flex-wrap: wrap;
|
|
2011
2079
|
}
|
|
2012
2080
|
|
|
2081
|
+
.flex-nowrap {
|
|
2082
|
+
flex-wrap: nowrap;
|
|
2083
|
+
}
|
|
2084
|
+
|
|
2013
2085
|
.items-start {
|
|
2014
2086
|
align-items: flex-start;
|
|
2015
2087
|
}
|
|
@@ -2030,6 +2102,10 @@ html[data-theme="dark"], html.dark {
|
|
|
2030
2102
|
justify-content: center;
|
|
2031
2103
|
}
|
|
2032
2104
|
|
|
2105
|
+
.\!justify-between {
|
|
2106
|
+
justify-content: space-between !important;
|
|
2107
|
+
}
|
|
2108
|
+
|
|
2033
2109
|
.justify-between {
|
|
2034
2110
|
justify-content: space-between;
|
|
2035
2111
|
}
|
|
@@ -2238,6 +2314,10 @@ html[data-theme="dark"], html.dark {
|
|
|
2238
2314
|
overflow: visible !important;
|
|
2239
2315
|
}
|
|
2240
2316
|
|
|
2317
|
+
.overflow-visible {
|
|
2318
|
+
overflow: visible;
|
|
2319
|
+
}
|
|
2320
|
+
|
|
2241
2321
|
.overflow-x-auto {
|
|
2242
2322
|
overflow-x: auto;
|
|
2243
2323
|
}
|
|
@@ -2256,6 +2336,10 @@ html[data-theme="dark"], html.dark {
|
|
|
2256
2336
|
white-space: nowrap;
|
|
2257
2337
|
}
|
|
2258
2338
|
|
|
2339
|
+
.whitespace-normal {
|
|
2340
|
+
white-space: normal;
|
|
2341
|
+
}
|
|
2342
|
+
|
|
2259
2343
|
.whitespace-nowrap {
|
|
2260
2344
|
white-space: nowrap;
|
|
2261
2345
|
}
|
|
@@ -2322,6 +2406,16 @@ html[data-theme="dark"], html.dark {
|
|
|
2322
2406
|
border-top-right-radius: 0.25rem !important;
|
|
2323
2407
|
}
|
|
2324
2408
|
|
|
2409
|
+
.rounded-b-lg {
|
|
2410
|
+
border-bottom-right-radius: 0.5rem;
|
|
2411
|
+
border-bottom-left-radius: 0.5rem;
|
|
2412
|
+
}
|
|
2413
|
+
|
|
2414
|
+
.rounded-b-none {
|
|
2415
|
+
border-bottom-right-radius: 0px;
|
|
2416
|
+
border-bottom-left-radius: 0px;
|
|
2417
|
+
}
|
|
2418
|
+
|
|
2325
2419
|
.rounded-t {
|
|
2326
2420
|
border-top-left-radius: 0.25rem;
|
|
2327
2421
|
border-top-right-radius: 0.25rem;
|
|
@@ -2342,6 +2436,11 @@ html[data-theme="dark"], html.dark {
|
|
|
2342
2436
|
border-top-right-radius: 1rem;
|
|
2343
2437
|
}
|
|
2344
2438
|
|
|
2439
|
+
.rounded-t-lg {
|
|
2440
|
+
border-top-left-radius: 0.5rem;
|
|
2441
|
+
border-top-right-radius: 0.5rem;
|
|
2442
|
+
}
|
|
2443
|
+
|
|
2345
2444
|
.\!border-2 {
|
|
2346
2445
|
border-width: 2px !important;
|
|
2347
2446
|
}
|
|
@@ -2362,11 +2461,25 @@ html[data-theme="dark"], html.dark {
|
|
|
2362
2461
|
border-width: 0.3125rem;
|
|
2363
2462
|
}
|
|
2364
2463
|
|
|
2464
|
+
.\!border-y {
|
|
2465
|
+
border-top-width: 1px !important;
|
|
2466
|
+
border-bottom-width: 1px !important;
|
|
2467
|
+
}
|
|
2468
|
+
|
|
2469
|
+
.border-x {
|
|
2470
|
+
border-left-width: 1px;
|
|
2471
|
+
border-right-width: 1px;
|
|
2472
|
+
}
|
|
2473
|
+
|
|
2365
2474
|
.border-y-\[0\.2rem\] {
|
|
2366
2475
|
border-top-width: 0.2rem;
|
|
2367
2476
|
border-bottom-width: 0.2rem;
|
|
2368
2477
|
}
|
|
2369
2478
|
|
|
2479
|
+
.\!border-b {
|
|
2480
|
+
border-bottom-width: 1px !important;
|
|
2481
|
+
}
|
|
2482
|
+
|
|
2370
2483
|
.border-b {
|
|
2371
2484
|
border-bottom-width: 1px;
|
|
2372
2485
|
}
|
|
@@ -2375,6 +2488,14 @@ html[data-theme="dark"], html.dark {
|
|
|
2375
2488
|
border-left-width: 1px;
|
|
2376
2489
|
}
|
|
2377
2490
|
|
|
2491
|
+
.border-r {
|
|
2492
|
+
border-right-width: 1px;
|
|
2493
|
+
}
|
|
2494
|
+
|
|
2495
|
+
.border-r-0 {
|
|
2496
|
+
border-right-width: 0px;
|
|
2497
|
+
}
|
|
2498
|
+
|
|
2378
2499
|
.border-t {
|
|
2379
2500
|
border-top-width: 1px;
|
|
2380
2501
|
}
|
|
@@ -2598,6 +2719,11 @@ html[data-theme="dark"], html.dark {
|
|
|
2598
2719
|
background-color: rgba(var(--rui-error-lighter), var(--tw-bg-opacity, 1)) !important;
|
|
2599
2720
|
}
|
|
2600
2721
|
|
|
2722
|
+
.\!bg-rui-grey-100 {
|
|
2723
|
+
--tw-bg-opacity: 1 !important;
|
|
2724
|
+
background-color: rgba(var(--rui-grey-100), var(--tw-bg-opacity, 1)) !important;
|
|
2725
|
+
}
|
|
2726
|
+
|
|
2601
2727
|
.\!bg-rui-grey-200 {
|
|
2602
2728
|
--tw-bg-opacity: 1 !important;
|
|
2603
2729
|
background-color: rgba(var(--rui-grey-200), var(--tw-bg-opacity, 1)) !important;
|
|
@@ -2973,6 +3099,10 @@ html[data-theme="dark"], html.dark {
|
|
|
2973
3099
|
padding: 1rem;
|
|
2974
3100
|
}
|
|
2975
3101
|
|
|
3102
|
+
.p-8 {
|
|
3103
|
+
padding: 2rem;
|
|
3104
|
+
}
|
|
3105
|
+
|
|
2976
3106
|
.p-\[0\.08rem\] {
|
|
2977
3107
|
padding: 0.08rem;
|
|
2978
3108
|
}
|
|
@@ -2999,6 +3129,11 @@ html[data-theme="dark"], html.dark {
|
|
|
2999
3129
|
padding-bottom: 0px !important;
|
|
3000
3130
|
}
|
|
3001
3131
|
|
|
3132
|
+
.\!py-2 {
|
|
3133
|
+
padding-top: 0.5rem !important;
|
|
3134
|
+
padding-bottom: 0.5rem !important;
|
|
3135
|
+
}
|
|
3136
|
+
|
|
3002
3137
|
.px-0 {
|
|
3003
3138
|
padding-left: 0px;
|
|
3004
3139
|
padding-right: 0px;
|
|
@@ -3039,6 +3174,11 @@ html[data-theme="dark"], html.dark {
|
|
|
3039
3174
|
padding-right: 1.5rem;
|
|
3040
3175
|
}
|
|
3041
3176
|
|
|
3177
|
+
.py-0 {
|
|
3178
|
+
padding-top: 0px;
|
|
3179
|
+
padding-bottom: 0px;
|
|
3180
|
+
}
|
|
3181
|
+
|
|
3042
3182
|
.py-0\.5 {
|
|
3043
3183
|
padding-top: 0.125rem;
|
|
3044
3184
|
padding-bottom: 0.125rem;
|
|
@@ -3351,6 +3491,11 @@ html[data-theme="dark"], html.dark {
|
|
|
3351
3491
|
text-transform: capitalize;
|
|
3352
3492
|
}
|
|
3353
3493
|
|
|
3494
|
+
.tabular-nums {
|
|
3495
|
+
--tw-numeric-spacing: tabular-nums;
|
|
3496
|
+
font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
|
|
3497
|
+
}
|
|
3498
|
+
|
|
3354
3499
|
.\!leading-tight {
|
|
3355
3500
|
line-height: 1.25 !important;
|
|
3356
3501
|
}
|
|
@@ -4057,6 +4202,10 @@ html[data-theme="dark"], html.dark {
|
|
|
4057
4202
|
clip-path: inset(0 0 0 0);
|
|
4058
4203
|
}
|
|
4059
4204
|
|
|
4205
|
+
.\[clip-path\:none\] {
|
|
4206
|
+
clip-path: none;
|
|
4207
|
+
}
|
|
4208
|
+
|
|
4060
4209
|
.\[flex\:1_1_0\] {
|
|
4061
4210
|
flex: 1 1 0;
|
|
4062
4211
|
}
|
|
@@ -4537,6 +4686,10 @@ body {
|
|
|
4537
4686
|
content: var(--tw-content);
|
|
4538
4687
|
}
|
|
4539
4688
|
|
|
4689
|
+
.first\:mt-0:first-child {
|
|
4690
|
+
margin-top: 0px;
|
|
4691
|
+
}
|
|
4692
|
+
|
|
4540
4693
|
.first\:\!rounded-l:first-child {
|
|
4541
4694
|
border-top-left-radius: 0.25rem !important;
|
|
4542
4695
|
border-bottom-left-radius: 0.25rem !important;
|
|
@@ -4547,6 +4700,10 @@ body {
|
|
|
4547
4700
|
border-top-right-radius: 0.25rem !important;
|
|
4548
4701
|
}
|
|
4549
4702
|
|
|
4703
|
+
.last\:mb-0:last-child {
|
|
4704
|
+
margin-bottom: 0px;
|
|
4705
|
+
}
|
|
4706
|
+
|
|
4550
4707
|
.last\:\!rounded-b:last-child {
|
|
4551
4708
|
border-bottom-right-radius: 0.25rem !important;
|
|
4552
4709
|
border-bottom-left-radius: 0.25rem !important;
|
package/dist/theme/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../src/theme/index.ts"],"sourcesContent":["import plugin from 'tailwindcss/plugin';\nimport {\n baseColors,\n baseColorsIntensities,\n contextColors,\n} from '../consts/colors';\n\nconst baseColorsCombination = Object.fromEntries(\n baseColors.map((color: string) => [\n color,\n Object.fromEntries(\n baseColorsIntensities.map((intensity: string) => [\n intensity,\n `rgba(var(--rui-${color}-${intensity}), <alpha-value>)`,\n ]),\n ),\n ]),\n);\n\nconst contextColorsCombination = Object.fromEntries(\n ['light', 'dark'].map(theme => [\n theme,\n Object.fromEntries(\n contextColors.map(color => [\n color,\n {\n darker: `rgba(var(--rui-${theme}-${color}-darker), <alpha-value>)`,\n DEFAULT: `rgba(var(--rui-${theme}-${color}-main), <alpha-value>)`,\n lighter: `rgba(var(--rui-${theme}-${color}-lighter), <alpha-value>)`,\n shade: `color-mix(in srgb, black calc(<alpha-value> * 100%), rgb(var(--rui-${theme}-${color}-main)))`,\n tint: `color-mix(in srgb, white calc(<alpha-value> * 100%), rgb(var(--rui-${theme}-${color}-main)))`,\n },\n ]),\n ),\n ]),\n);\n\nconst adaptiveContextColorCombination = Object.fromEntries(\n contextColors.map(color => [\n color,\n {\n darker: `rgba(var(--rui-${color}-darker), <alpha-value>)`,\n DEFAULT: `rgba(var(--rui-${color}-main), <alpha-value>)`,\n lighter: `rgba(var(--rui-${color}-lighter), <alpha-value>)`,\n shade: `color-mix(in srgb, black calc(<alpha-value> * 100%), rgb(var(--rui-${color}-main)))`,\n tint: `color-mix(in srgb, white calc(<alpha-value> * 100%), rgb(var(--rui-${color}-main)))`,\n },\n ]),\n);\n\nconst textColorsCombination = Object.fromEntries(\n ['light', 'dark'].map(theme => [\n theme,\n {\n text: {\n DEFAULT: `var(--rui-${theme}-text-primary)`,\n disabled: `var(--rui-${theme}-text-disabled)`,\n secondary: `var(--rui-${theme}-text-secondary)`,\n },\n },\n ]),\n);\n\nconst adaptiveTextColorsCombination = {\n text: {\n DEFAULT: `var(--rui-text-primary)`,\n disabled: `var(--rui-text-disabled)`,\n secondary: `var(--rui-text-secondary)`,\n },\n};\n\nconst surfaceColorsCombination = Object.fromEntries(\n ['light', 'dark'].map(theme => [\n theme,\n {\n surface: {\n DEFAULT: `rgba(var(--rui-${theme}-surface-primary), <alpha-value>)`,\n secondary: `rgba(var(--rui-${theme}-surface-secondary), <alpha-value>)`,\n overlay: `rgba(var(--rui-${theme}-surface-overlay), <alpha-value>)`,\n },\n },\n ]),\n);\n\nconst adaptiveSurfaceColorsCombination = {\n surface: {\n DEFAULT: `rgba(var(--rui-surface-primary), <alpha-value>)`,\n secondary: `rgba(var(--rui-surface-secondary), <alpha-value>)`,\n overlay: `rgba(var(--rui-surface-overlay), <alpha-value>)`,\n },\n};\n\nconst themePlugin = plugin(\n ({ addBase, addUtilities, addVariant, matchUtilities }) => {\n // Adaptive theme variable aliases\n const themeVariables = (theme: 'light' | 'dark'): Record<string, string> =>\n Object.fromEntries([\n ...contextColors.flatMap(color => [\n [`--rui-${color}-main`, `var(--rui-${theme}-${color}-main)`],\n [`--rui-${color}-darker`, `var(--rui-${theme}-${color}-darker)`],\n [`--rui-${color}-lighter`, `var(--rui-${theme}-${color}-lighter)`],\n ]),\n ['--rui-text-primary', `var(--rui-${theme}-text-primary)`],\n ['--rui-text-secondary', `var(--rui-${theme}-text-secondary)`],\n ['--rui-text-disabled', `var(--rui-${theme}-text-disabled)`],\n ['--rui-surface-primary', `var(--rui-${theme}-surface-primary)`],\n ['--rui-surface-secondary', `var(--rui-${theme}-surface-secondary)`],\n ['--rui-surface-overlay', `var(--rui-${theme}-surface-overlay)`],\n ]);\n\n addBase({\n 'html[data-theme=\"light\"], html.light': themeVariables('light'),\n 'html[data-theme=\"dark\"], html.dark': themeVariables('dark'),\n });\n\n // Border utilities\n addUtilities({\n '.border-default': {\n 'border-color': 'rgb(var(--rui-grey-200))',\n },\n '.dark .border-default': {\n 'border-color': 'rgb(var(--rui-grey-800))',\n },\n });\n\n // Typography\n addUtilities({\n '.text-body-1': {\n '@apply text-base': {},\n },\n '.text-body-2': {\n '@apply text-sm': {},\n },\n '.text-caption': {\n '@apply text-xs': {},\n 'line-height': '1.25rem',\n },\n '.text-h1': {\n '@apply text-8xl font-light': {},\n 'line-height': '7rem',\n },\n '.text-h2': {\n '@apply text-6xl font-light': {},\n 'line-height': '4.5rem',\n },\n '.text-h3': {\n '@apply text-5xl': {},\n 'line-height': '3.5rem',\n },\n '.text-h4': {\n '@apply text-4xl font-semibold': {},\n 'line-height': '2.625rem',\n },\n '.text-h5': {\n '@apply text-2xl': {},\n 'line-height': '2rem',\n },\n '.text-h6': {\n '@apply text-xl font-medium': {},\n 'line-height': '2rem',\n },\n '.text-overline': {\n '@apply text-xs uppercase': {},\n 'line-height': '2rem',\n },\n '.text-subtitle-1': {\n '@apply text-base': {},\n 'line-height': '1.75rem',\n },\n '.text-subtitle-2': {\n '@apply text-sm font-medium': {},\n 'line-height': '1.25rem',\n },\n });\n\n // Tint and Shade Colors\n matchUtilities(\n Object.fromEntries(\n ['bg-tint', 'bg-shade', 'text-tint', 'text-shade'].map(item => [\n item,\n value => ({\n animation: `${item} 1s calc(${value} * -1s) linear forwards paused`,\n }),\n ]),\n ),\n );\n addVariant('color-mix-supported', '@supports (color-mix())');\n },\n {\n theme: {\n extend: {\n boxShadow: {\n 1: '0px 2px 1px -1px var(--rui-shadow-primary), 0px 1px 1px var(--rui-shadow-secondary), 0px 1px 3px var(--rui-shadow-tertiary)',\n 10: '0px 6px 6px -3px var(--rui-shadow-primary), 0px 10px 14px 1px var(--rui-shadow-secondary), 0px 4px 18px 3px var(--rui-shadow-tertiary)',\n 11: '0px 6px 7px -4px var(--rui-shadow-primary), 0px 11px 15px 1px var(--rui-shadow-secondary), 0px 4px 20px 3px var(--rui-shadow-tertiary)',\n 12: '0px 7px 8px -4px var(--rui-shadow-primary), 0px 12px 17px 2px var(--rui-shadow-secondary), 0px 5px 22px 4px var(--rui-shadow-tertiary)',\n 13: '0px 7px 8px -4px var(--rui-shadow-primary), 0px 13px 19px 2px var(--rui-shadow-secondary), 0px 5px 24px 4px var(--rui-shadow-tertiary)',\n 14: '0px 7px 9px -4px var(--rui-shadow-primary), 0px 14px 21px 2px var(--rui-shadow-secondary), 0px 5px 26px 4px var(--rui-shadow-tertiary)',\n 15: '0px 8px 9px -5px var(--rui-shadow-primary), 0px 15px 22px 2px var(--rui-shadow-secondary), 0px 6px 28px 5px var(--rui-shadow-tertiary)',\n 16: '0px 8px 10px -5px var(--rui-shadow-primary), 0px 16px 24px 2px var(--rui-shadow-secondary), 0px 6px 30px 5px var(--rui-shadow-tertiary)',\n 17: '0px 8px 11px -5px var(--rui-shadow-primary), 0px 17px 26px 2px var(--rui-shadow-secondary), 0px 6px 32px 5px var(--rui-shadow-tertiary)',\n 18: '0px 9px 11px -5px var(--rui-shadow-primary), 0px 18px 28px 2px var(--rui-shadow-secondary), 0px 7px 34px 6px var(--rui-shadow-tertiary)',\n 19: '0px 9px 12px -6px var(--rui-shadow-primary), 0px 19px 29px 2px var(--rui-shadow-secondary), 0px 7px 36px 6px var(--rui-shadow-tertiary)',\n 2: '0px 3px 1px -2px var(--rui-shadow-primary), 0px 2px 2px var(--rui-shadow-secondary), 0px 1px 5px var(--rui-shadow-tertiary)',\n 20: '0px 10px 13px -6px var(--rui-shadow-primary), 0px 20px 31px 3px var(--rui-shadow-secondary), 0px 8px 38px 7px var(--rui-shadow-tertiary)',\n 21: '0px 10px 13px -6px var(--rui-shadow-primary), 0px 21px 33px 3px var(--rui-shadow-secondary), 0px 8px 40px 7px var(--rui-shadow-tertiary)',\n 22: '0px 10px 14px -6px var(--rui-shadow-primary), 0px 22px 35px 3px var(--rui-shadow-secondary), 0px 8px 42px 7px var(--rui-shadow-tertiary)',\n 23: '0px 11px 14px -7px var(--rui-shadow-primary), 0px 23px 36px 3px var(--rui-shadow-secondary), 0px 9px 44px 8px var(--rui-shadow-tertiary)',\n 24: '0px 11px 15px -7px var(--rui-shadow-primary), 0px 24px 38px 3px var(--rui-shadow-secondary), 0px 9px 46px 8px var(--rui-shadow-tertiary)',\n 3: '0px 3px 3px -2px var(--rui-shadow-primary), 0px 3px 4px var(--rui-shadow-secondary), 0px 1px 8px var(--rui-shadow-tertiary)',\n 4: '0px 2px 4px -1px var(--rui-shadow-primary), 0px 4px 5px var(--rui-shadow-secondary), 0px 1px 10px var(--rui-shadow-tertiary)',\n 5: '0px 3px 5px -1px var(--rui-shadow-primary), 0px 5px 8px var(--rui-shadow-secondary), 0px 1px 14px var(--rui-shadow-tertiary)',\n 6: '0px 3px 5px -1px var(--rui-shadow-primary), 0px 6px 10px var(--rui-shadow-secondary), 0px 1px 18px var(--rui-shadow-tertiary)',\n 7: '0px 4px 5px -2px var(--rui-shadow-primary), 0px 7px 10px 1px var(--rui-shadow-secondary), 0px 2px 16px 1px var(--rui-shadow-tertiary)',\n 8: '0px 5px 5px -3px var(--rui-shadow-primary), 0px 8px 10px 1px var(--rui-shadow-secondary), 0px 3px 14px 2px var(--rui-shadow-tertiary)',\n 9: '0px 5px 6px -3px var(--rui-shadow-primary), 0px 9px 12px 1px var(--rui-shadow-secondary), 0px 3px 16px 2px var(--rui-shadow-tertiary)',\n },\n colors: {\n rui: {\n ...baseColorsCombination,\n ...contextColorsCombination,\n ...textColorsCombination,\n dark: {\n ...contextColorsCombination.dark,\n ...textColorsCombination.dark,\n ...surfaceColorsCombination.dark,\n },\n light: {\n ...contextColorsCombination.light,\n ...textColorsCombination.light,\n ...surfaceColorsCombination.light,\n },\n ...adaptiveContextColorCombination,\n ...adaptiveTextColorsCombination,\n ...adaptiveSurfaceColorsCombination,\n },\n },\n },\n },\n },\n);\n\nexport default themePlugin;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../src/theme/index.ts"],"sourcesContent":["import plugin from 'tailwindcss/plugin';\nimport {\n baseColors,\n baseColorsIntensities,\n contextColors,\n} from '../consts/colors';\n\nconst baseColorsCombination = Object.fromEntries(\n baseColors.map((color: string) => [\n color,\n Object.fromEntries(\n baseColorsIntensities.map((intensity: string) => [\n intensity,\n `rgba(var(--rui-${color}-${intensity}), <alpha-value>)`,\n ]),\n ),\n ]),\n);\n\nconst contextColorsCombination = Object.fromEntries(\n ['light', 'dark'].map(theme => [\n theme,\n Object.fromEntries(\n contextColors.map(color => [\n color,\n {\n darker: `rgba(var(--rui-${theme}-${color}-darker), <alpha-value>)`,\n DEFAULT: `rgba(var(--rui-${theme}-${color}-main), <alpha-value>)`,\n lighter: `rgba(var(--rui-${theme}-${color}-lighter), <alpha-value>)`,\n shade: `color-mix(in srgb, black calc(<alpha-value> * 100%), rgb(var(--rui-${theme}-${color}-main)))`,\n tint: `color-mix(in srgb, white calc(<alpha-value> * 100%), rgb(var(--rui-${theme}-${color}-main)))`,\n },\n ]),\n ),\n ]),\n);\n\nconst adaptiveContextColorCombination = Object.fromEntries(\n contextColors.map(color => [\n color,\n {\n darker: `rgba(var(--rui-${color}-darker), <alpha-value>)`,\n DEFAULT: `rgba(var(--rui-${color}-main), <alpha-value>)`,\n lighter: `rgba(var(--rui-${color}-lighter), <alpha-value>)`,\n shade: `color-mix(in srgb, black calc(<alpha-value> * 100%), rgb(var(--rui-${color}-main)))`,\n tint: `color-mix(in srgb, white calc(<alpha-value> * 100%), rgb(var(--rui-${color}-main)))`,\n },\n ]),\n);\n\nconst textColorsCombination = Object.fromEntries(\n ['light', 'dark'].map(theme => [\n theme,\n {\n text: {\n DEFAULT: `var(--rui-${theme}-text-primary)`,\n disabled: `var(--rui-${theme}-text-disabled)`,\n secondary: `var(--rui-${theme}-text-secondary)`,\n },\n },\n ]),\n);\n\nconst adaptiveTextColorsCombination = {\n text: {\n DEFAULT: `var(--rui-text-primary)`,\n disabled: `var(--rui-text-disabled)`,\n secondary: `var(--rui-text-secondary)`,\n },\n};\n\nconst surfaceColorsCombination = Object.fromEntries(\n ['light', 'dark'].map(theme => [\n theme,\n {\n surface: {\n DEFAULT: `rgba(var(--rui-${theme}-surface-primary), <alpha-value>)`,\n secondary: `rgba(var(--rui-${theme}-surface-secondary), <alpha-value>)`,\n overlay: `rgba(var(--rui-${theme}-surface-overlay), <alpha-value>)`,\n },\n },\n ]),\n);\n\nconst adaptiveSurfaceColorsCombination = {\n surface: {\n DEFAULT: `rgba(var(--rui-surface-primary), <alpha-value>)`,\n secondary: `rgba(var(--rui-surface-secondary), <alpha-value>)`,\n overlay: `rgba(var(--rui-surface-overlay), <alpha-value>)`,\n },\n};\n\nconst themePlugin = plugin(\n ({ addBase, addUtilities, addVariant, matchUtilities }) => {\n // Adaptive theme variable aliases\n const themeVariables = (theme: 'light' | 'dark'): Record<string, string> =>\n Object.fromEntries([\n ...contextColors.flatMap(color => [\n [`--rui-${color}-main`, `var(--rui-${theme}-${color}-main)`],\n [`--rui-${color}-darker`, `var(--rui-${theme}-${color}-darker)`],\n [`--rui-${color}-lighter`, `var(--rui-${theme}-${color}-lighter)`],\n ]),\n ['--rui-text-primary', `var(--rui-${theme}-text-primary)`],\n ['--rui-text-secondary', `var(--rui-${theme}-text-secondary)`],\n ['--rui-text-disabled', `var(--rui-${theme}-text-disabled)`],\n ['--rui-surface-primary', `var(--rui-${theme}-surface-primary)`],\n ['--rui-surface-secondary', `var(--rui-${theme}-surface-secondary)`],\n ['--rui-surface-overlay', `var(--rui-${theme}-surface-overlay)`],\n ]);\n\n addBase({\n 'html[data-theme=\"light\"], html.light': themeVariables('light'),\n 'html[data-theme=\"dark\"], html.dark': themeVariables('dark'),\n });\n\n // Border utilities\n addUtilities({\n '.border-default': {\n 'border-color': 'rgb(var(--rui-grey-200))',\n },\n '.dark .border-default': {\n 'border-color': 'rgb(var(--rui-grey-800))',\n },\n });\n\n // Typography\n addUtilities({\n '.text-body-1': {\n '@apply text-base': {},\n },\n '.text-body-2': {\n '@apply text-sm': {},\n },\n '.text-caption': {\n '@apply text-xs': {},\n 'line-height': '1.25rem',\n },\n '.text-h1': {\n '@apply text-8xl font-light': {},\n 'line-height': '7rem',\n },\n '.text-h2': {\n '@apply text-6xl font-light': {},\n 'line-height': '4.5rem',\n },\n '.text-h3': {\n '@apply text-5xl': {},\n 'line-height': '3.5rem',\n },\n '.text-h4': {\n '@apply text-4xl font-semibold': {},\n 'line-height': '2.625rem',\n },\n '.text-h5': {\n '@apply text-2xl': {},\n 'line-height': '2rem',\n },\n '.text-h6': {\n '@apply text-xl font-medium': {},\n 'line-height': '2rem',\n },\n '.text-overline': {\n '@apply text-xs uppercase': {},\n 'line-height': '2rem',\n },\n '.text-subtitle-1': {\n '@apply text-base': {},\n 'line-height': '1.75rem',\n },\n '.text-subtitle-2': {\n '@apply text-sm font-medium': {},\n 'line-height': '1.25rem',\n },\n });\n\n // Tint and Shade Colors\n matchUtilities(\n Object.fromEntries(\n ['bg-tint', 'bg-shade', 'text-tint', 'text-shade'].map(item => [\n item,\n value => ({\n animation: `${item} 1s calc(${value} * -1s) linear forwards paused`,\n }),\n ]),\n ),\n );\n addVariant('color-mix-supported', '@supports (color-mix())');\n },\n {\n theme: {\n extend: {\n boxShadow: {\n 1: '0px 2px 1px -1px var(--rui-shadow-primary), 0px 1px 1px var(--rui-shadow-secondary), 0px 1px 3px var(--rui-shadow-tertiary)',\n 10: '0px 6px 6px -3px var(--rui-shadow-primary), 0px 10px 14px 1px var(--rui-shadow-secondary), 0px 4px 18px 3px var(--rui-shadow-tertiary)',\n 11: '0px 6px 7px -4px var(--rui-shadow-primary), 0px 11px 15px 1px var(--rui-shadow-secondary), 0px 4px 20px 3px var(--rui-shadow-tertiary)',\n 12: '0px 7px 8px -4px var(--rui-shadow-primary), 0px 12px 17px 2px var(--rui-shadow-secondary), 0px 5px 22px 4px var(--rui-shadow-tertiary)',\n 13: '0px 7px 8px -4px var(--rui-shadow-primary), 0px 13px 19px 2px var(--rui-shadow-secondary), 0px 5px 24px 4px var(--rui-shadow-tertiary)',\n 14: '0px 7px 9px -4px var(--rui-shadow-primary), 0px 14px 21px 2px var(--rui-shadow-secondary), 0px 5px 26px 4px var(--rui-shadow-tertiary)',\n 15: '0px 8px 9px -5px var(--rui-shadow-primary), 0px 15px 22px 2px var(--rui-shadow-secondary), 0px 6px 28px 5px var(--rui-shadow-tertiary)',\n 16: '0px 8px 10px -5px var(--rui-shadow-primary), 0px 16px 24px 2px var(--rui-shadow-secondary), 0px 6px 30px 5px var(--rui-shadow-tertiary)',\n 17: '0px 8px 11px -5px var(--rui-shadow-primary), 0px 17px 26px 2px var(--rui-shadow-secondary), 0px 6px 32px 5px var(--rui-shadow-tertiary)',\n 18: '0px 9px 11px -5px var(--rui-shadow-primary), 0px 18px 28px 2px var(--rui-shadow-secondary), 0px 7px 34px 6px var(--rui-shadow-tertiary)',\n 19: '0px 9px 12px -6px var(--rui-shadow-primary), 0px 19px 29px 2px var(--rui-shadow-secondary), 0px 7px 36px 6px var(--rui-shadow-tertiary)',\n 2: '0px 3px 1px -2px var(--rui-shadow-primary), 0px 2px 2px var(--rui-shadow-secondary), 0px 1px 5px var(--rui-shadow-tertiary)',\n 20: '0px 10px 13px -6px var(--rui-shadow-primary), 0px 20px 31px 3px var(--rui-shadow-secondary), 0px 8px 38px 7px var(--rui-shadow-tertiary)',\n 21: '0px 10px 13px -6px var(--rui-shadow-primary), 0px 21px 33px 3px var(--rui-shadow-secondary), 0px 8px 40px 7px var(--rui-shadow-tertiary)',\n 22: '0px 10px 14px -6px var(--rui-shadow-primary), 0px 22px 35px 3px var(--rui-shadow-secondary), 0px 8px 42px 7px var(--rui-shadow-tertiary)',\n 23: '0px 11px 14px -7px var(--rui-shadow-primary), 0px 23px 36px 3px var(--rui-shadow-secondary), 0px 9px 44px 8px var(--rui-shadow-tertiary)',\n 24: '0px 11px 15px -7px var(--rui-shadow-primary), 0px 24px 38px 3px var(--rui-shadow-secondary), 0px 9px 46px 8px var(--rui-shadow-tertiary)',\n 3: '0px 3px 3px -2px var(--rui-shadow-primary), 0px 3px 4px var(--rui-shadow-secondary), 0px 1px 8px var(--rui-shadow-tertiary)',\n 4: '0px 2px 4px -1px var(--rui-shadow-primary), 0px 4px 5px var(--rui-shadow-secondary), 0px 1px 10px var(--rui-shadow-tertiary)',\n 5: '0px 3px 5px -1px var(--rui-shadow-primary), 0px 5px 8px var(--rui-shadow-secondary), 0px 1px 14px var(--rui-shadow-tertiary)',\n 6: '0px 3px 5px -1px var(--rui-shadow-primary), 0px 6px 10px var(--rui-shadow-secondary), 0px 1px 18px var(--rui-shadow-tertiary)',\n 7: '0px 4px 5px -2px var(--rui-shadow-primary), 0px 7px 10px 1px var(--rui-shadow-secondary), 0px 2px 16px 1px var(--rui-shadow-tertiary)',\n 8: '0px 5px 5px -3px var(--rui-shadow-primary), 0px 8px 10px 1px var(--rui-shadow-secondary), 0px 3px 14px 2px var(--rui-shadow-tertiary)',\n 9: '0px 5px 6px -3px var(--rui-shadow-primary), 0px 9px 12px 1px var(--rui-shadow-secondary), 0px 3px 16px 2px var(--rui-shadow-tertiary)',\n },\n colors: {\n rui: {\n ...baseColorsCombination,\n ...contextColorsCombination,\n ...textColorsCombination,\n dark: {\n ...contextColorsCombination.dark,\n ...textColorsCombination.dark,\n ...surfaceColorsCombination.dark,\n },\n light: {\n ...contextColorsCombination.light,\n ...textColorsCombination.light,\n ...surfaceColorsCombination.light,\n },\n ...adaptiveContextColorCombination,\n ...adaptiveTextColorsCombination,\n ...adaptiveSurfaceColorsCombination,\n },\n },\n },\n },\n },\n);\n\nexport default themePlugin;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stepper.js","names":[],"sources":["../../src/types/stepper.ts"],"sourcesContent":["export const StepperState = {\n active: 'active',\n done: 'done',\n error: 'error',\n inactive: 'inactive',\n info: 'info',\n success: 'success',\n warning: 'warning',\n} as const;\n\nexport type StepperState = (typeof StepperState)[keyof typeof StepperState];\n\nexport interface StepperStep {\n title?: string;\n description?: string;\n state?: StepperState;\n loading?: boolean;\n}\n\nexport const StepperOrientation = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n} as const;\n\nexport type StepperOrientation =\n (typeof StepperOrientation)[keyof typeof StepperOrientation];\n"],"mappings":";AAAA,IAAa,eAAe;CAC1B,QAAQ;CACR,MAAM;CACN,OAAO;CACP,UAAU;CACV,MAAM;CACN,SAAS;CACT,SAAS;
|
|
1
|
+
{"version":3,"file":"stepper.js","names":[],"sources":["../../src/types/stepper.ts"],"sourcesContent":["export const StepperState = {\n active: 'active',\n done: 'done',\n error: 'error',\n inactive: 'inactive',\n info: 'info',\n success: 'success',\n warning: 'warning',\n} as const;\n\nexport type StepperState = (typeof StepperState)[keyof typeof StepperState];\n\nexport interface StepperStep {\n title?: string;\n description?: string;\n state?: StepperState;\n loading?: boolean;\n}\n\nexport const StepperOrientation = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n} as const;\n\nexport type StepperOrientation =\n (typeof StepperOrientation)[keyof typeof StepperOrientation];\n"],"mappings":";AAAA,IAAa,eAAe;CAC1B,QAAQ;CACR,MAAM;CACN,OAAO;CACP,UAAU;CACV,MAAM;CACN,SAAS;CACT,SAAS;AACX;AAWA,IAAa,qBAAqB;CAChC,YAAY;CACZ,UAAU;AACZ"}
|
package/dist/types/theme.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme.js","names":[],"sources":["../../src/types/theme.ts"],"sourcesContent":["import type { BasicColorMode, BasicColorSchema } from '@vueuse/core';\nimport type { ComputedRef, Ref } from 'vue';\nimport type { GeneratedIcon } from '@/types/icons';\nimport { contextColors } from '@/consts/colors';\n\nexport const ThemeMode = {\n auto: 'auto',\n dark: 'dark',\n light: 'light',\n} as const;\n\nexport type ThemeMode = (typeof ThemeMode)[keyof typeof ThemeMode];\n\nexport interface ColorIntensity {\n DEFAULT: string;\n lighter: string;\n darker: string;\n}\n\nexport type ThemeData = {\n [key in string]: ColorIntensity;\n};\n\nexport interface ThemeConfig {\n light: ThemeData;\n dark: ThemeData;\n}\n\nexport interface InitThemeOptions {\n mode?: ThemeMode;\n config?: ThemeConfig;\n icons?: GeneratedIcon[];\n}\n\nexport interface ThemeContent {\n config: Ref<ThemeConfig>;\n init: (options: InitThemeOptions) => void;\n isAutoControlled: ComputedRef<boolean>;\n isDark: ComputedRef<boolean>;\n isLight: ComputedRef<boolean>;\n setThemeConfig: (newConfig: ThemeConfig) => void;\n state: ComputedRef<ThemeMode | BasicColorMode>;\n store: Ref<ThemeMode | BasicColorSchema>;\n switchThemeScheme: (mode: ThemeMode) => void;\n theme: ComputedRef<ThemeData>;\n toggleThemeMode: () => void;\n}\n\nfunction createDefaultTheme(theme: 'light' | 'dark') {\n return Object.fromEntries(\n contextColors.map(color => [\n color,\n {\n darker: `var(--rui-${theme}-${color}-darker)`,\n DEFAULT: `var(--rui-${theme}-${color}-main)`,\n lighter: `var(--rui-${theme}-${color}-lighter)`,\n },\n ]),\n );\n}\n\nexport const defaultTheme: ThemeConfig = {\n dark: createDefaultTheme('dark'),\n light: createDefaultTheme('light'),\n};\n"],"mappings":";;AAKA,IAAa,YAAY;CACvB,MAAM;CACN,MAAM;CACN,OAAO;
|
|
1
|
+
{"version":3,"file":"theme.js","names":[],"sources":["../../src/types/theme.ts"],"sourcesContent":["import type { BasicColorMode, BasicColorSchema } from '@vueuse/core';\nimport type { ComputedRef, Ref } from 'vue';\nimport type { GeneratedIcon } from '@/types/icons';\nimport { contextColors } from '@/consts/colors';\n\nexport const ThemeMode = {\n auto: 'auto',\n dark: 'dark',\n light: 'light',\n} as const;\n\nexport type ThemeMode = (typeof ThemeMode)[keyof typeof ThemeMode];\n\nexport interface ColorIntensity {\n DEFAULT: string;\n lighter: string;\n darker: string;\n}\n\nexport type ThemeData = {\n [key in string]: ColorIntensity;\n};\n\nexport interface ThemeConfig {\n light: ThemeData;\n dark: ThemeData;\n}\n\nexport interface InitThemeOptions {\n mode?: ThemeMode;\n config?: ThemeConfig;\n icons?: GeneratedIcon[];\n}\n\nexport interface ThemeContent {\n config: Ref<ThemeConfig>;\n init: (options: InitThemeOptions) => void;\n isAutoControlled: ComputedRef<boolean>;\n isDark: ComputedRef<boolean>;\n isLight: ComputedRef<boolean>;\n setThemeConfig: (newConfig: ThemeConfig) => void;\n state: ComputedRef<ThemeMode | BasicColorMode>;\n store: Ref<ThemeMode | BasicColorSchema>;\n switchThemeScheme: (mode: ThemeMode) => void;\n theme: ComputedRef<ThemeData>;\n toggleThemeMode: () => void;\n}\n\nfunction createDefaultTheme(theme: 'light' | 'dark') {\n return Object.fromEntries(\n contextColors.map(color => [\n color,\n {\n darker: `var(--rui-${theme}-${color}-darker)`,\n DEFAULT: `var(--rui-${theme}-${color}-main)`,\n lighter: `var(--rui-${theme}-${color}-lighter)`,\n },\n ]),\n );\n}\n\nexport const defaultTheme: ThemeConfig = {\n dark: createDefaultTheme('dark'),\n light: createDefaultTheme('light'),\n};\n"],"mappings":";;AAKA,IAAa,YAAY;CACvB,MAAM;CACN,MAAM;CACN,OAAO;AACT;AAuCA,SAAS,mBAAmB,OAAyB;CACnD,OAAO,OAAO,YACZ,cAAc,KAAI,UAAS,CACzB,OACA;EACE,QAAQ,aAAa,MAAM,GAAG,MAAM;EACpC,SAAS,aAAa,MAAM,GAAG,MAAM;EACrC,SAAS,aAAa,MAAM,GAAG,MAAM;CACvC,CACF,CAAC,CACH;AACF;AAEA,IAAa,eAA4B;CACvC,MAAM,mBAAmB,MAAM;CAC/B,OAAO,mBAAmB,OAAO;AACnC"}
|
package/dist/utils/assert.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert.js","names":[],"sources":["../../src/utils/assert.ts"],"sourcesContent":["class AssertionError extends Error {\n constructor(msg?: string) {\n super(msg ?? 'AssertionError');\n this.name = 'AssertionError';\n }\n}\n\nexport function assert(condition: unknown, msg?: string): asserts condition {\n if (!condition)\n throw new AssertionError(msg);\n}\n"],"mappings":";AAAA,IAAM,iBAAN,cAA6B,MAAM;CACjC,YAAY,KAAc;
|
|
1
|
+
{"version":3,"file":"assert.js","names":[],"sources":["../../src/utils/assert.ts"],"sourcesContent":["class AssertionError extends Error {\n constructor(msg?: string) {\n super(msg ?? 'AssertionError');\n this.name = 'AssertionError';\n }\n}\n\nexport function assert(condition: unknown, msg?: string): asserts condition {\n if (!condition)\n throw new AssertionError(msg);\n}\n"],"mappings":";AAAA,IAAM,iBAAN,cAA6B,MAAM;CACjC,YAAY,KAAc;EACxB,MAAM,OAAO,gBAAgB;EAC7B,KAAK,OAAO;CACd;AACF;AAEA,SAAgB,OAAO,WAAoB,KAAiC;CAC1E,IAAI,CAAC,WACH,MAAM,IAAI,eAAe,GAAG;AAChC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockie.js","names":[],"sources":["../../src/utils/blockie.ts"],"sourcesContent":["// Source: https://github.com/ethereum/blockies\n// The random number is a js implementation of the Xorshift PRNG\ninterface BlockieOptions {\n /** seed used to generate icon data, default: random */\n seed: string;\n /** to manually specify the icon color, default: random */\n color: string;\n /** choose a different background color, default: random */\n bgcolor: string;\n /** width/height of the icon in blocks, default: 8 */\n size: number;\n /** width/height of each block in pixels, default: 4 */\n scale: number;\n /**\n * each pixel has a 13% chance of being of a third color, default: random.\n *\n * Set to -1 to disable it.\n *\n * These \"spots\" create structures that look like eyes, mouths and noses.\n */\n spotColor: string;\n}\n\nconst randSeed = new Array(4); // Xorshift: [x, y, z, w] 32 bit values\n\nfunction seedRand(seed: string): void {\n for (let i = 0; i < randSeed.length; i++) randSeed[i] = 0;\n\n for (let i = 0; i < seed.length; i++)\n randSeed[i % 4] = (randSeed[i % 4] << 5) - randSeed[i % 4] + seed.charCodeAt(i);\n}\n\nfunction rand(): number {\n // based on Java's String.hashCode(), expanded to 4 32bit values\n const t = randSeed[0] ^ (randSeed[0] << 11);\n\n randSeed[0] = randSeed[1];\n randSeed[1] = randSeed[2];\n randSeed[2] = randSeed[3];\n randSeed[3] = randSeed[3] ^ (randSeed[3] >> 19) ^ t ^ (t >> 8);\n\n return (randSeed[3] >>> 0) / ((1 << 31) >>> 0);\n}\n\nfunction createColor(): string {\n // saturation is the whole color spectrum\n const h = Math.floor(rand() * 360);\n // saturation goes from 40 to 100, it avoids greyish colors\n const s = `${rand() * 60 + 40}%`;\n // lightness can be anything from 0 to 100, but probabilities are a bell curve around 50%\n const l = `${(rand() + rand() + rand() + rand()) * 25}%`;\n\n return `hsl(${h},${s},${l})`;\n}\n\nfunction createImageData(size: number): number[] {\n const width = size; // Only support square icons for now\n const height = size;\n\n const dataWidth = Math.ceil(width / 2);\n const mirrorWidth = width - dataWidth;\n\n const data = [];\n for (let y = 0; y < height; y++) {\n let row = [];\n for (let x = 0; x < dataWidth; x++) {\n // this makes foreground and background color to have a 43% (1/2.3) probability\n // spot color has 13% chance\n row[x] = Math.floor(rand() * 2.3);\n }\n const r = row.slice(0, mirrorWidth);\n r.reverse();\n row = row.concat(r);\n\n for (const element of row) data.push(element);\n }\n\n return data;\n}\n\nfunction buildOpts(opts: Partial<BlockieOptions>): BlockieOptions {\n const newOpts: Partial<BlockieOptions> = {};\n\n newOpts.seed = opts.seed || Math.floor(Math.random() * 10 ** 16).toString(16);\n\n seedRand(newOpts.seed);\n\n newOpts.size = opts.size || 8;\n newOpts.scale = opts.scale || 8;\n newOpts.color = opts.color || createColor();\n newOpts.bgcolor = opts.bgcolor || createColor();\n newOpts.spotColor = opts.spotColor || createColor();\n\n return newOpts as BlockieOptions;\n}\n\nfunction renderIcon(opts: Partial<BlockieOptions>, canvas: HTMLCanvasElement): HTMLCanvasElement {\n const newOpts: BlockieOptions = buildOpts(opts || {});\n const imageData = createImageData(newOpts.size);\n const width = Math.sqrt(imageData.length);\n\n canvas.width = canvas.height = newOpts.size * newOpts.scale;\n\n const cc = canvas.getContext('2d') as CanvasRenderingContext2D;\n if (cc) {\n cc.fillStyle = newOpts.bgcolor;\n cc.fillRect(0, 0, canvas.width, canvas.height);\n cc.fillStyle = newOpts.color;\n\n for (const [i, imageDatum] of imageData.entries()) {\n // if data is 0, leave the background\n if (imageDatum) {\n const row = Math.floor(i / width);\n const col = i % width;\n\n // if data is 2, choose spot color, if 1 choose foreground\n cc.fillStyle = imageDatum === 1 ? newOpts.color : newOpts.spotColor;\n\n cc.fillRect(col * newOpts.scale, row * newOpts.scale, newOpts.scale, newOpts.scale);\n }\n }\n }\n\n return canvas;\n}\n\nexport function createBlockie(opts: Partial<BlockieOptions>): string {\n const canvas = document.createElement('canvas');\n\n renderIcon(opts, canvas);\n\n return canvas.toDataURL('image/jpeg');\n}\n"],"mappings":";AAuBA,IAAM,WAAW,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"blockie.js","names":[],"sources":["../../src/utils/blockie.ts"],"sourcesContent":["// Source: https://github.com/ethereum/blockies\n// The random number is a js implementation of the Xorshift PRNG\ninterface BlockieOptions {\n /** seed used to generate icon data, default: random */\n seed: string;\n /** to manually specify the icon color, default: random */\n color: string;\n /** choose a different background color, default: random */\n bgcolor: string;\n /** width/height of the icon in blocks, default: 8 */\n size: number;\n /** width/height of each block in pixels, default: 4 */\n scale: number;\n /**\n * each pixel has a 13% chance of being of a third color, default: random.\n *\n * Set to -1 to disable it.\n *\n * These \"spots\" create structures that look like eyes, mouths and noses.\n */\n spotColor: string;\n}\n\nconst randSeed = new Array(4); // Xorshift: [x, y, z, w] 32 bit values\n\nfunction seedRand(seed: string): void {\n for (let i = 0; i < randSeed.length; i++) randSeed[i] = 0;\n\n for (let i = 0; i < seed.length; i++)\n randSeed[i % 4] = (randSeed[i % 4] << 5) - randSeed[i % 4] + seed.charCodeAt(i);\n}\n\nfunction rand(): number {\n // based on Java's String.hashCode(), expanded to 4 32bit values\n const t = randSeed[0] ^ (randSeed[0] << 11);\n\n randSeed[0] = randSeed[1];\n randSeed[1] = randSeed[2];\n randSeed[2] = randSeed[3];\n randSeed[3] = randSeed[3] ^ (randSeed[3] >> 19) ^ t ^ (t >> 8);\n\n return (randSeed[3] >>> 0) / ((1 << 31) >>> 0);\n}\n\nfunction createColor(): string {\n // saturation is the whole color spectrum\n const h = Math.floor(rand() * 360);\n // saturation goes from 40 to 100, it avoids greyish colors\n const s = `${rand() * 60 + 40}%`;\n // lightness can be anything from 0 to 100, but probabilities are a bell curve around 50%\n const l = `${(rand() + rand() + rand() + rand()) * 25}%`;\n\n return `hsl(${h},${s},${l})`;\n}\n\nfunction createImageData(size: number): number[] {\n const width = size; // Only support square icons for now\n const height = size;\n\n const dataWidth = Math.ceil(width / 2);\n const mirrorWidth = width - dataWidth;\n\n const data = [];\n for (let y = 0; y < height; y++) {\n let row = [];\n for (let x = 0; x < dataWidth; x++) {\n // this makes foreground and background color to have a 43% (1/2.3) probability\n // spot color has 13% chance\n row[x] = Math.floor(rand() * 2.3);\n }\n const r = row.slice(0, mirrorWidth);\n r.reverse();\n row = row.concat(r);\n\n for (const element of row) data.push(element);\n }\n\n return data;\n}\n\nfunction buildOpts(opts: Partial<BlockieOptions>): BlockieOptions {\n const newOpts: Partial<BlockieOptions> = {};\n\n newOpts.seed = opts.seed || Math.floor(Math.random() * 10 ** 16).toString(16);\n\n seedRand(newOpts.seed);\n\n newOpts.size = opts.size || 8;\n newOpts.scale = opts.scale || 8;\n newOpts.color = opts.color || createColor();\n newOpts.bgcolor = opts.bgcolor || createColor();\n newOpts.spotColor = opts.spotColor || createColor();\n\n return newOpts as BlockieOptions;\n}\n\nfunction renderIcon(opts: Partial<BlockieOptions>, canvas: HTMLCanvasElement): HTMLCanvasElement {\n const newOpts: BlockieOptions = buildOpts(opts || {});\n const imageData = createImageData(newOpts.size);\n const width = Math.sqrt(imageData.length);\n\n canvas.width = canvas.height = newOpts.size * newOpts.scale;\n\n const cc = canvas.getContext('2d') as CanvasRenderingContext2D;\n if (cc) {\n cc.fillStyle = newOpts.bgcolor;\n cc.fillRect(0, 0, canvas.width, canvas.height);\n cc.fillStyle = newOpts.color;\n\n for (const [i, imageDatum] of imageData.entries()) {\n // if data is 0, leave the background\n if (imageDatum) {\n const row = Math.floor(i / width);\n const col = i % width;\n\n // if data is 2, choose spot color, if 1 choose foreground\n cc.fillStyle = imageDatum === 1 ? newOpts.color : newOpts.spotColor;\n\n cc.fillRect(col * newOpts.scale, row * newOpts.scale, newOpts.scale, newOpts.scale);\n }\n }\n }\n\n return canvas;\n}\n\nexport function createBlockie(opts: Partial<BlockieOptions>): string {\n const canvas = document.createElement('canvas');\n\n renderIcon(opts, canvas);\n\n return canvas.toDataURL('image/jpeg');\n}\n"],"mappings":";AAuBA,IAAM,WAAW,IAAI,MAAM,CAAC;AAE5B,SAAS,SAAS,MAAoB;CACpC,KAAK,IAAI,IAAI,GAAG,IAAI,SAAS,QAAQ,KAAK,SAAS,KAAK;CAExD,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAC/B,SAAS,IAAI,MAAM,SAAS,IAAI,MAAM,KAAK,SAAS,IAAI,KAAK,KAAK,WAAW,CAAC;AAClF;AAEA,SAAS,OAAe;CAEtB,MAAM,IAAI,SAAS,KAAM,SAAS,MAAM;CAExC,SAAS,KAAK,SAAS;CACvB,SAAS,KAAK,SAAS;CACvB,SAAS,KAAK,SAAS;CACvB,SAAS,KAAK,SAAS,KAAM,SAAS,MAAM,KAAM,IAAK,KAAK;CAE5D,QAAQ,SAAS,OAAO,MAAO,KAAK,OAAQ;AAC9C;AAEA,SAAS,cAAsB;CAQ7B,OAAO,OANG,KAAK,MAAM,KAAK,IAAI,GAMhB,EAAE,GAAG,GAJN,KAAK,IAAI,KAAK,GAAG,GAIT,GAAG,IAFV,KAAK,IAAI,KAAK,IAAI,KAAK,IAAI,KAAK,KAAK,GAAG,GAE5B;AAC5B;AAEA,SAAS,gBAAgB,MAAwB;CAC/C,MAAM,QAAQ;CACd,MAAM,SAAS;CAEf,MAAM,YAAY,KAAK,KAAK,QAAQ,CAAC;CACrC,MAAM,cAAc,QAAQ;CAE5B,MAAM,OAAO,CAAC;CACd,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,KAAK;EAC/B,IAAI,MAAM,CAAC;EACX,KAAK,IAAI,IAAI,GAAG,IAAI,WAAW,KAG7B,IAAI,KAAK,KAAK,MAAM,KAAK,IAAI,GAAG;EAElC,MAAM,IAAI,IAAI,MAAM,GAAG,WAAW;EAClC,EAAE,QAAQ;EACV,MAAM,IAAI,OAAO,CAAC;EAElB,KAAK,MAAM,WAAW,KAAK,KAAK,KAAK,OAAO;CAC9C;CAEA,OAAO;AACT;AAEA,SAAS,UAAU,MAA+C;CAChE,MAAM,UAAmC,CAAC;CAE1C,QAAQ,OAAO,KAAK,QAAQ,KAAK,MAAM,KAAK,OAAO,IAAI,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE;CAE5E,SAAS,QAAQ,IAAI;CAErB,QAAQ,OAAO,KAAK,QAAQ;CAC5B,QAAQ,QAAQ,KAAK,SAAS;CAC9B,QAAQ,QAAQ,KAAK,SAAS,YAAY;CAC1C,QAAQ,UAAU,KAAK,WAAW,YAAY;CAC9C,QAAQ,YAAY,KAAK,aAAa,YAAY;CAElD,OAAO;AACT;AAEA,SAAS,WAAW,MAA+B,QAA8C;CAC/F,MAAM,UAA0B,UAAU,QAAQ,CAAC,CAAC;CACpD,MAAM,YAAY,gBAAgB,QAAQ,IAAI;CAC9C,MAAM,QAAQ,KAAK,KAAK,UAAU,MAAM;CAExC,OAAO,QAAQ,OAAO,SAAS,QAAQ,OAAO,QAAQ;CAEtD,MAAM,KAAK,OAAO,WAAW,IAAI;CACjC,IAAI,IAAI;EACN,GAAG,YAAY,QAAQ;EACvB,GAAG,SAAS,GAAG,GAAG,OAAO,OAAO,OAAO,MAAM;EAC7C,GAAG,YAAY,QAAQ;EAEvB,KAAK,MAAM,CAAC,GAAG,eAAe,UAAU,QAAQ,GAE9C,IAAI,YAAY;GACd,MAAM,MAAM,KAAK,MAAM,IAAI,KAAK;GAChC,MAAM,MAAM,IAAI;GAGhB,GAAG,YAAY,eAAe,IAAI,QAAQ,QAAQ,QAAQ;GAE1D,GAAG,SAAS,MAAM,QAAQ,OAAO,MAAM,QAAQ,OAAO,QAAQ,OAAO,QAAQ,KAAK;EACpF;CAEJ;CAEA,OAAO;AACT;AAEA,SAAgB,cAAc,MAAuC;CACnE,MAAM,SAAS,SAAS,cAAc,QAAQ;CAE9C,WAAW,MAAM,MAAM;CAEvB,OAAO,OAAO,UAAU,YAAY;AACtC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-text-detail.js","names":[],"sources":["../../src/utils/form-text-detail.ts"],"sourcesContent":["import type { ComputedRef, MaybeRefOrGetter } from 'vue';\n\nexport type ValidationState = 'error' | 'success' | undefined;\n\nexport interface FormTextDetailReturn {\n formattedErrorMessages: ComputedRef<string[]>;\n formattedSuccessMessages: ComputedRef<string[]>;\n hasError: ComputedRef<boolean>;\n hasMessages: ComputedRef<boolean>;\n hasSuccess: ComputedRef<boolean>;\n validation: ComputedRef<ValidationState>;\n}\n\nexport function useFormTextDetail(\n errorMessages: MaybeRefOrGetter<string | string[]>,\n successMessages: MaybeRefOrGetter<string | string[]>,\n): FormTextDetailReturn {\n const formattedErrorMessages = computed<string[]>(() => {\n let errorMessagesVal = toValue(errorMessages);\n if (typeof errorMessagesVal === 'string')\n errorMessagesVal = [errorMessagesVal];\n\n return errorMessagesVal.filter(item => !!item);\n });\n\n const formattedSuccessMessages = computed<string[]>(() => {\n let successMessagesVal = toValue(successMessages);\n if (typeof successMessagesVal === 'string')\n successMessagesVal = [successMessagesVal];\n\n return successMessagesVal.filter(item => !!item);\n });\n\n const hasError = computed<boolean>(() => get(formattedErrorMessages).length > 0);\n const hasSuccess = computed<boolean>(() => get(formattedSuccessMessages).length > 0);\n const hasMessages = computed<boolean>(() => get(hasError) || get(hasSuccess));\n\n const validation = computed<ValidationState>(() => {\n if (get(hasError))\n return 'error';\n if (get(hasSuccess))\n return 'success';\n return undefined;\n });\n\n return {\n formattedErrorMessages,\n formattedSuccessMessages,\n hasError,\n hasMessages,\n hasSuccess,\n validation,\n };\n}\n"],"mappings":";;;AAaA,SAAgB,kBACd,eACA,iBACsB;CACtB,MAAM,yBAAyB,eAAyB;EACtD,IAAI,mBAAmB,QAAQ,
|
|
1
|
+
{"version":3,"file":"form-text-detail.js","names":[],"sources":["../../src/utils/form-text-detail.ts"],"sourcesContent":["import type { ComputedRef, MaybeRefOrGetter } from 'vue';\n\nexport type ValidationState = 'error' | 'success' | undefined;\n\nexport interface FormTextDetailReturn {\n formattedErrorMessages: ComputedRef<string[]>;\n formattedSuccessMessages: ComputedRef<string[]>;\n hasError: ComputedRef<boolean>;\n hasMessages: ComputedRef<boolean>;\n hasSuccess: ComputedRef<boolean>;\n validation: ComputedRef<ValidationState>;\n}\n\nexport function useFormTextDetail(\n errorMessages: MaybeRefOrGetter<string | string[]>,\n successMessages: MaybeRefOrGetter<string | string[]>,\n): FormTextDetailReturn {\n const formattedErrorMessages = computed<string[]>(() => {\n let errorMessagesVal = toValue(errorMessages);\n if (typeof errorMessagesVal === 'string')\n errorMessagesVal = [errorMessagesVal];\n\n return errorMessagesVal.filter(item => !!item);\n });\n\n const formattedSuccessMessages = computed<string[]>(() => {\n let successMessagesVal = toValue(successMessages);\n if (typeof successMessagesVal === 'string')\n successMessagesVal = [successMessagesVal];\n\n return successMessagesVal.filter(item => !!item);\n });\n\n const hasError = computed<boolean>(() => get(formattedErrorMessages).length > 0);\n const hasSuccess = computed<boolean>(() => get(formattedSuccessMessages).length > 0);\n const hasMessages = computed<boolean>(() => get(hasError) || get(hasSuccess));\n\n const validation = computed<ValidationState>(() => {\n if (get(hasError))\n return 'error';\n if (get(hasSuccess))\n return 'success';\n return undefined;\n });\n\n return {\n formattedErrorMessages,\n formattedSuccessMessages,\n hasError,\n hasMessages,\n hasSuccess,\n validation,\n };\n}\n"],"mappings":";;;AAaA,SAAgB,kBACd,eACA,iBACsB;CACtB,MAAM,yBAAyB,eAAyB;EACtD,IAAI,mBAAmB,QAAQ,aAAa;EAC5C,IAAI,OAAO,qBAAqB,UAC9B,mBAAmB,CAAC,gBAAgB;EAEtC,OAAO,iBAAiB,QAAO,SAAQ,CAAC,CAAC,IAAI;CAC/C,CAAC;CAED,MAAM,2BAA2B,eAAyB;EACxD,IAAI,qBAAqB,QAAQ,eAAe;EAChD,IAAI,OAAO,uBAAuB,UAChC,qBAAqB,CAAC,kBAAkB;EAE1C,OAAO,mBAAmB,QAAO,SAAQ,CAAC,CAAC,IAAI;CACjD,CAAC;CAED,MAAM,WAAW,eAAwB,IAAI,sBAAsB,CAAC,CAAC,SAAS,CAAC;CAC/E,MAAM,aAAa,eAAwB,IAAI,wBAAwB,CAAC,CAAC,SAAS,CAAC;CAWnF,OAAO;EACL;EACA;EACA;EACA,aAdkB,eAAwB,IAAI,QAAQ,KAAK,IAAI,UAAU,CAczE;EACA;EACA,YAdiB,eAAgC;GACjD,IAAI,IAAI,QAAQ,GACd,OAAO;GACT,IAAI,IAAI,UAAU,GAChB,OAAO;EAEX,CAQE;CACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","names":[],"sources":["../../src/utils/helpers.ts"],"sourcesContent":["import type { SetupContext } from 'vue';\nimport { objectOmit, objectPick } from '@vueuse/shared';\nimport { camelCase, snakeCase } from 'scule';\n\ninterface FormatNumberOptions {\n fractionDigits?: number;\n}\n\ntype SetupContextAttrs = SetupContext['attrs'];\n\ntype SetupContextAttrsKeys = (keyof SetupContextAttrs)[];\n\nfunction formatNumber(\n amount: number | string,\n { fractionDigits = 2 }: FormatNumberOptions,\n): string {\n return new Intl.NumberFormat(undefined, {\n maximumFractionDigits: fractionDigits,\n minimumFractionDigits: fractionDigits,\n }).format(Number(amount));\n}\n\n/**\n * Format number value without fraction\n * @param {number} amount\n */\nexport function formatInteger(amount: number | string): string {\n return formatNumber(amount, { fractionDigits: 0 });\n}\n\n/**\n * Generates and returns the array of root allowed attributes\n * @param {SetupContextAttrs} data\n * @returns {SetupContextAttrsKeys}\n */\nfunction getRootKeys(data: SetupContextAttrs): SetupContextAttrsKeys {\n return Object.keys(data).filter(key => key.startsWith('data-')) as SetupContextAttrsKeys;\n}\n\n/**\n * Picks only required attributes for root element\n * @param {SetupContextAttrs} data\n * @param {SetupContextAttrsKeys} include\n * @returns {Pick<SetupContextAttrs, any>}\n */\nexport function getRootAttrs(data: SetupContextAttrs, include: SetupContextAttrsKeys = ['class']) {\n return objectPick(data, [...getRootKeys(data), ...include]);\n}\n\n/**\n * Omits root attributes from component's attributes\n * @param {SetupContextAttrs} data\n * @param {SetupContextAttrsKeys} exclude\n * @returns {Omit<SetupContextAttrs, any>}\n */\nexport function getNonRootAttrs(\n data: SetupContextAttrs,\n exclude: SetupContextAttrsKeys = ['class'],\n) {\n return objectOmit(data, [...getRootKeys(data), ...exclude]);\n}\n\n/**\n * Transforms the keys of an object to either camelCase or snake_case\n * @param {T} item\n * @param {\"camelCase\" | \"snake_case\"} to\n * @returns {Record<string, any>}\n */\nexport function transformCase<T extends object>(\n item: T,\n to: 'camelCase' | 'snake_case',\n): Record<string, T[keyof T]> {\n if (!item)\n return item;\n\n return Object.keys(item).reduce(\n (acc, curr) => {\n if (to === 'camelCase')\n acc[camelCase(curr)] = item[curr as keyof T];\n else acc[snakeCase(curr)] = item[curr as keyof T];\n\n return acc;\n },\n {} as Record<string, T[keyof T]>,\n );\n}\n\n/**\n *\n * @param {string} string - String to convert\n * @return {string} - String converted to text token, mostly used to matching keyword\n * @example\n * getTextToken('this is a sentence'); // thisisasentence\n */\n\nexport function getTextToken(string: unknown): string {\n if (!string)\n return '';\n\n return string\n .toString()\n .toLowerCase()\n .replace(/[^\\da-z]/gi, '');\n}\n\nexport function transformPropsUnit(value?: string | number): string | undefined {\n if (value === undefined || (typeof value === 'string' && isNaN(Number(value))))\n return value;\n return `${value}px`;\n}\n\n/**\n * Formats a byte count into a human-readable string (e.g. \"1.2 MB\").\n */\nexport function formatFileSize(bytes: number): string {\n if (!Number.isFinite(bytes) || bytes < 0)\n return '0 B';\n if (bytes < 1024)\n return `${bytes} B`;\n const units = ['KB', 'MB', 'GB', 'TB'];\n let value = bytes / 1024;\n let unitIndex = 0;\n while (value >= 1024 && unitIndex < units.length - 1) {\n value /= 1024;\n unitIndex++;\n }\n return `${value.toFixed(value >= 10 ? 0 : 1)} ${units[unitIndex]}`;\n}\n"],"mappings":";;;AAYA,SAAS,aACP,QACA,EAAE,iBAAiB,KACX;
|
|
1
|
+
{"version":3,"file":"helpers.js","names":[],"sources":["../../src/utils/helpers.ts"],"sourcesContent":["import type { SetupContext } from 'vue';\nimport { objectOmit, objectPick } from '@vueuse/shared';\nimport { camelCase, snakeCase } from 'scule';\n\ninterface FormatNumberOptions {\n fractionDigits?: number;\n}\n\ntype SetupContextAttrs = SetupContext['attrs'];\n\ntype SetupContextAttrsKeys = (keyof SetupContextAttrs)[];\n\nfunction formatNumber(\n amount: number | string,\n { fractionDigits = 2 }: FormatNumberOptions,\n): string {\n return new Intl.NumberFormat(undefined, {\n maximumFractionDigits: fractionDigits,\n minimumFractionDigits: fractionDigits,\n }).format(Number(amount));\n}\n\n/**\n * Format number value without fraction\n * @param {number} amount\n */\nexport function formatInteger(amount: number | string): string {\n return formatNumber(amount, { fractionDigits: 0 });\n}\n\n/**\n * Generates and returns the array of root allowed attributes\n * @param {SetupContextAttrs} data\n * @returns {SetupContextAttrsKeys}\n */\nfunction getRootKeys(data: SetupContextAttrs): SetupContextAttrsKeys {\n return Object.keys(data).filter(key => key.startsWith('data-')) as SetupContextAttrsKeys;\n}\n\n/**\n * Picks only required attributes for root element\n * @param {SetupContextAttrs} data\n * @param {SetupContextAttrsKeys} include\n * @returns {Pick<SetupContextAttrs, any>}\n */\nexport function getRootAttrs(data: SetupContextAttrs, include: SetupContextAttrsKeys = ['class']) {\n return objectPick(data, [...getRootKeys(data), ...include]);\n}\n\n/**\n * Omits root attributes from component's attributes\n * @param {SetupContextAttrs} data\n * @param {SetupContextAttrsKeys} exclude\n * @returns {Omit<SetupContextAttrs, any>}\n */\nexport function getNonRootAttrs(\n data: SetupContextAttrs,\n exclude: SetupContextAttrsKeys = ['class'],\n) {\n return objectOmit(data, [...getRootKeys(data), ...exclude]);\n}\n\n/**\n * Transforms the keys of an object to either camelCase or snake_case\n * @param {T} item\n * @param {\"camelCase\" | \"snake_case\"} to\n * @returns {Record<string, any>}\n */\nexport function transformCase<T extends object>(\n item: T,\n to: 'camelCase' | 'snake_case',\n): Record<string, T[keyof T]> {\n if (!item)\n return item;\n\n return Object.keys(item).reduce(\n (acc, curr) => {\n if (to === 'camelCase')\n acc[camelCase(curr)] = item[curr as keyof T];\n else acc[snakeCase(curr)] = item[curr as keyof T];\n\n return acc;\n },\n {} as Record<string, T[keyof T]>,\n );\n}\n\n/**\n *\n * @param {string} string - String to convert\n * @return {string} - String converted to text token, mostly used to matching keyword\n * @example\n * getTextToken('this is a sentence'); // thisisasentence\n */\n\nexport function getTextToken(string: unknown): string {\n if (!string)\n return '';\n\n return string\n .toString()\n .toLowerCase()\n .replace(/[^\\da-z]/gi, '');\n}\n\nexport function transformPropsUnit(value?: string | number): string | undefined {\n if (value === undefined || (typeof value === 'string' && isNaN(Number(value))))\n return value;\n return `${value}px`;\n}\n\n/**\n * Formats a byte count into a human-readable string (e.g. \"1.2 MB\").\n */\nexport function formatFileSize(bytes: number): string {\n if (!Number.isFinite(bytes) || bytes < 0)\n return '0 B';\n if (bytes < 1024)\n return `${bytes} B`;\n const units = ['KB', 'MB', 'GB', 'TB'];\n let value = bytes / 1024;\n let unitIndex = 0;\n while (value >= 1024 && unitIndex < units.length - 1) {\n value /= 1024;\n unitIndex++;\n }\n return `${value.toFixed(value >= 10 ? 0 : 1)} ${units[unitIndex]}`;\n}\n"],"mappings":";;;AAYA,SAAS,aACP,QACA,EAAE,iBAAiB,KACX;CACR,OAAO,IAAI,KAAK,aAAa,KAAA,GAAW;EACtC,uBAAuB;EACvB,uBAAuB;CACzB,CAAC,CAAC,CAAC,OAAO,OAAO,MAAM,CAAC;AAC1B;;;;;AAMA,SAAgB,cAAc,QAAiC;CAC7D,OAAO,aAAa,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AACnD;;;;;;AAOA,SAAS,YAAY,MAAgD;CACnE,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,QAAO,QAAO,IAAI,WAAW,OAAO,CAAC;AAChE;;;;;;;AAQA,SAAgB,aAAa,MAAyB,UAAiC,CAAC,OAAO,GAAG;CAChG,OAAO,WAAW,MAAM,CAAC,GAAG,YAAY,IAAI,GAAG,GAAG,OAAO,CAAC;AAC5D;;;;;;;AAQA,SAAgB,gBACd,MACA,UAAiC,CAAC,OAAO,GACzC;CACA,OAAO,WAAW,MAAM,CAAC,GAAG,YAAY,IAAI,GAAG,GAAG,OAAO,CAAC;AAC5D;;;;;;;AAQA,SAAgB,cACd,MACA,IAC4B;CAC5B,IAAI,CAAC,MACH,OAAO;CAET,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,QACtB,KAAK,SAAS;EACb,IAAI,OAAO,aACT,IAAI,UAAU,IAAI,KAAK,KAAK;OACzB,IAAI,UAAU,IAAI,KAAK,KAAK;EAEjC,OAAO;CACT,GACA,CAAC,CACH;AACF;;;;;;;;AAUA,SAAgB,aAAa,QAAyB;CACpD,IAAI,CAAC,QACH,OAAO;CAET,OAAO,OACJ,SAAS,CAAC,CACV,YAAY,CAAC,CACb,QAAQ,cAAc,EAAE;AAC7B;AAEA,SAAgB,mBAAmB,OAA6C;CAC9E,IAAI,UAAU,KAAA,KAAc,OAAO,UAAU,YAAY,MAAM,OAAO,KAAK,CAAC,GAC1E,OAAO;CACT,OAAO,GAAG,MAAM;AAClB;;;;AAKA,SAAgB,eAAe,OAAuB;CACpD,IAAI,CAAC,OAAO,SAAS,KAAK,KAAK,QAAQ,GACrC,OAAO;CACT,IAAI,QAAQ,MACV,OAAO,GAAG,MAAM;CAClB,MAAM,QAAQ;EAAC;EAAM;EAAM;EAAM;CAAI;CACrC,IAAI,QAAQ,QAAQ;CACpB,IAAI,YAAY;CAChB,OAAO,SAAS,QAAQ,YAAY,MAAM,SAAS,GAAG;EACpD,SAAS;EACT;CACF;CACA,OAAO,GAAG,MAAM,QAAQ,SAAS,KAAK,IAAI,CAAC,EAAE,GAAG,MAAM;AACxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-equal.js","names":[],"sources":["../../src/utils/is-equal.ts"],"sourcesContent":["export function isEqual(value: unknown, other: unknown): boolean {\n // Check if the values are identical (covers primitives and functions)\n if (value === other)\n return true;\n\n // Check if the values are null or undefined\n if (value == null || other == null)\n return value === other;\n\n // Check if the values are of different types\n if (typeof value !== typeof other)\n return false;\n\n // Compare arrays\n if (Array.isArray(value)) {\n if (!Array.isArray(other) || value.length !== other.length)\n return false;\n\n for (const [i, element] of value.entries()) {\n if (!isEqual(element, other[i]))\n return false;\n }\n return true;\n }\n\n // Compare objects\n if (typeof value === 'object') {\n const valueRecord = value as Record<string, unknown>;\n const otherRecord = other as Record<string, unknown>;\n const valueKeys = Object.keys(valueRecord);\n const otherKeys = Object.keys(otherRecord);\n\n if (valueKeys.length !== otherKeys.length)\n return false;\n\n for (const key of valueKeys) {\n if (!isEqual(valueRecord[key], otherRecord[key]))\n return false;\n }\n return true;\n }\n\n // If the values are neither primitives, arrays, nor objects, return false\n return false;\n}\n"],"mappings":";AAAA,SAAgB,QAAQ,OAAgB,OAAyB;
|
|
1
|
+
{"version":3,"file":"is-equal.js","names":[],"sources":["../../src/utils/is-equal.ts"],"sourcesContent":["export function isEqual(value: unknown, other: unknown): boolean {\n // Check if the values are identical (covers primitives and functions)\n if (value === other)\n return true;\n\n // Check if the values are null or undefined\n if (value == null || other == null)\n return value === other;\n\n // Check if the values are of different types\n if (typeof value !== typeof other)\n return false;\n\n // Compare arrays\n if (Array.isArray(value)) {\n if (!Array.isArray(other) || value.length !== other.length)\n return false;\n\n for (const [i, element] of value.entries()) {\n if (!isEqual(element, other[i]))\n return false;\n }\n return true;\n }\n\n // Compare objects\n if (typeof value === 'object') {\n const valueRecord = value as Record<string, unknown>;\n const otherRecord = other as Record<string, unknown>;\n const valueKeys = Object.keys(valueRecord);\n const otherKeys = Object.keys(otherRecord);\n\n if (valueKeys.length !== otherKeys.length)\n return false;\n\n for (const key of valueKeys) {\n if (!isEqual(valueRecord[key], otherRecord[key]))\n return false;\n }\n return true;\n }\n\n // If the values are neither primitives, arrays, nor objects, return false\n return false;\n}\n"],"mappings":";AAAA,SAAgB,QAAQ,OAAgB,OAAyB;CAE/D,IAAI,UAAU,OACZ,OAAO;CAGT,IAAI,SAAS,QAAQ,SAAS,MAC5B,OAAO,UAAU;CAGnB,IAAI,OAAO,UAAU,OAAO,OAC1B,OAAO;CAGT,IAAI,MAAM,QAAQ,KAAK,GAAG;EACxB,IAAI,CAAC,MAAM,QAAQ,KAAK,KAAK,MAAM,WAAW,MAAM,QAClD,OAAO;EAET,KAAK,MAAM,CAAC,GAAG,YAAY,MAAM,QAAQ,GACvC,IAAI,CAAC,QAAQ,SAAS,MAAM,EAAE,GAC5B,OAAO;EAEX,OAAO;CACT;CAGA,IAAI,OAAO,UAAU,UAAU;EAC7B,MAAM,cAAc;EACpB,MAAM,cAAc;EACpB,MAAM,YAAY,OAAO,KAAK,WAAW;EACzC,MAAM,YAAY,OAAO,KAAK,WAAW;EAEzC,IAAI,UAAU,WAAW,UAAU,QACjC,OAAO;EAET,KAAK,MAAM,OAAO,WAChB,IAAI,CAAC,QAAQ,YAAY,MAAM,YAAY,IAAI,GAC7C,OAAO;EAEX,OAAO;CACT;CAGA,OAAO;AACT"}
|
package/dist/utils/tv.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tv.js","names":[],"sources":["../../src/utils/tv.ts"],"sourcesContent":["/**\n * Tailwind Variants wrapper.\n *\n * Re-exports `tv` from `tailwind-variants` with project-level configuration.\n * Uses `createTV()` so we can extend twMerge config for custom theme classes\n * (e.g., `text-rui-primary`) in the future.\n *\n * @see https://www.tailwind-variants.org/docs/introduction\n */\n\nimport type { VueClassValue } from '@/types/class-value';\nimport { createTV } from 'tailwind-variants';\nimport { type ClassValue, normalizeClass } from 'vue';\n\nconst isAny: (v: string) => boolean = () => true;\n\nexport const tv = /* @__PURE__ */ createTV({\n twMergeConfig: {\n classGroups: {\n 'bg-tint': [{ 'bg-tint': [isAny] }],\n 'bg-shade': [{ 'bg-shade': [isAny] }],\n 'text-tint': [{ 'text-tint': [isAny] }],\n 'text-shade': [{ 'text-shade': [isAny] }],\n // Custom theme colors (text-rui-*) belong to the text-color group so\n // they don't conflict with the custom typography utilities below, which\n // tw-merge would otherwise both classify as font-size.\n 'text-color': [{ 'text-rui': [isAny] }],\n 'font-size': [\n { 'text-body': [isAny] },\n 'text-caption',\n 'text-overline',\n { 'text-h': [isAny] },\n { 'text-subtitle': [isAny] },\n ],\n },\n },\n});\n\n/**\n * Normalizes any Vue `:class` binding value (string, object, array, nullish\n * or `false`) to a plain string compatible with tailwind-variants' `class`\n * parameter. Accepts Vue's runtime `ClassValue` so call sites can pass\n * `$attrs.class` directly without casting.\n */\nexport function cn(value: ClassValue | VueClassValue | undefined): string | undefined {\n if (value == null || value === false)\n return undefined;\n if (typeof value === 'string')\n return value || undefined;\n const result = normalizeClass(value);\n return result || undefined;\n}\n"],"mappings":";;;AAcA,IAAM,cAAsC;AAE5C,IAAa,KAAqB,yBAAS,EACzC,eAAe,EACb,aAAa;CACX,WAAW,CAAC,EAAE,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"tv.js","names":[],"sources":["../../src/utils/tv.ts"],"sourcesContent":["/**\n * Tailwind Variants wrapper.\n *\n * Re-exports `tv` from `tailwind-variants` with project-level configuration.\n * Uses `createTV()` so we can extend twMerge config for custom theme classes\n * (e.g., `text-rui-primary`) in the future.\n *\n * @see https://www.tailwind-variants.org/docs/introduction\n */\n\nimport type { VueClassValue } from '@/types/class-value';\nimport { createTV } from 'tailwind-variants';\nimport { type ClassValue, normalizeClass } from 'vue';\n\nconst isAny: (v: string) => boolean = () => true;\n\nexport const tv = /* @__PURE__ */ createTV({\n twMergeConfig: {\n classGroups: {\n 'bg-tint': [{ 'bg-tint': [isAny] }],\n 'bg-shade': [{ 'bg-shade': [isAny] }],\n 'text-tint': [{ 'text-tint': [isAny] }],\n 'text-shade': [{ 'text-shade': [isAny] }],\n // Custom theme colors (text-rui-*) belong to the text-color group so\n // they don't conflict with the custom typography utilities below, which\n // tw-merge would otherwise both classify as font-size.\n 'text-color': [{ 'text-rui': [isAny] }],\n 'font-size': [\n { 'text-body': [isAny] },\n 'text-caption',\n 'text-overline',\n { 'text-h': [isAny] },\n { 'text-subtitle': [isAny] },\n ],\n },\n },\n});\n\n/**\n * Normalizes any Vue `:class` binding value (string, object, array, nullish\n * or `false`) to a plain string compatible with tailwind-variants' `class`\n * parameter. Accepts Vue's runtime `ClassValue` so call sites can pass\n * `$attrs.class` directly without casting.\n */\nexport function cn(value: ClassValue | VueClassValue | undefined): string | undefined {\n if (value == null || value === false)\n return undefined;\n if (typeof value === 'string')\n return value || undefined;\n const result = normalizeClass(value);\n return result || undefined;\n}\n"],"mappings":";;;AAcA,IAAM,cAAsC;AAE5C,IAAa,KAAqB,yBAAS,EACzC,eAAe,EACb,aAAa;CACX,WAAW,CAAC,EAAE,WAAW,CAAC,KAAK,EAAE,CAAC;CAClC,YAAY,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;CACpC,aAAa,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC;CACtC,cAAc,CAAC,EAAE,cAAc,CAAC,KAAK,EAAE,CAAC;CAIxC,cAAc,CAAC,EAAE,YAAY,CAAC,KAAK,EAAE,CAAC;CACtC,aAAa;EACX,EAAE,aAAa,CAAC,KAAK,EAAE;EACvB;EACA;EACA,EAAE,UAAU,CAAC,KAAK,EAAE;EACpB,EAAE,iBAAiB,CAAC,KAAK,EAAE;CAC7B;AACF,EACF,EACF,CAAC;;;;;;;AAQD,SAAgB,GAAG,OAAmE;CACpF,IAAI,SAAS,QAAQ,UAAU,OAC7B,OAAO,KAAA;CACT,IAAI,OAAO,UAAU,UACnB,OAAO,SAAS,KAAA;CAElB,OADe,eAAe,KACvB,KAAU,KAAA;AACnB"}
|
|
@@ -57,7 +57,8 @@ function loadLibraryBaselineIcons() {
|
|
|
57
57
|
* Vite plugin for automatic icon detection and registration
|
|
58
58
|
*/
|
|
59
59
|
function ruiIconsPlugin(options = {}) {
|
|
60
|
-
const { include = [], scanPatterns = DEFAULT_SCAN_PATTERNS, strict = false, debug = false } = options;
|
|
60
|
+
const { include = [], customIcons = [], scanPatterns = DEFAULT_SCAN_PATTERNS, strict = false, debug = false } = options;
|
|
61
|
+
const customIconSet = new Set(customIcons);
|
|
61
62
|
let validIcons;
|
|
62
63
|
let libraryBaseline;
|
|
63
64
|
let scanResult;
|
|
@@ -76,7 +77,7 @@ function ruiIconsPlugin(options = {}) {
|
|
|
76
77
|
const fg = await import("fast-glob");
|
|
77
78
|
const glob = fg.default || fg;
|
|
78
79
|
scanResult = {
|
|
79
|
-
icons: new Set([...libraryBaseline, ...include]),
|
|
80
|
+
icons: /* @__PURE__ */ new Set([...libraryBaseline, ...include]),
|
|
80
81
|
invalidIcons: /* @__PURE__ */ new Map()
|
|
81
82
|
};
|
|
82
83
|
const files = glob.sync(scanPatterns, {
|
|
@@ -89,7 +90,7 @@ function ruiIconsPlugin(options = {}) {
|
|
|
89
90
|
const detectedIcons = extractIconsFromSource(readFileSync(filePath, "utf-8"));
|
|
90
91
|
if (detectedIcons.size > 0) {
|
|
91
92
|
log(`Found ${detectedIcons.size} potential icons in ${filePath}`);
|
|
92
|
-
validateIcons(detectedIcons, validIcons, filePath, scanResult);
|
|
93
|
+
validateIcons(detectedIcons, validIcons, filePath, scanResult, customIconSet);
|
|
93
94
|
}
|
|
94
95
|
} catch {
|
|
95
96
|
warn(`Failed to read file: ${filePath}`);
|
|
@@ -98,7 +99,7 @@ function ruiIconsPlugin(options = {}) {
|
|
|
98
99
|
else warn(`Included icon "${icon}" is not a valid RuiIcon`);
|
|
99
100
|
log(`Detected ${scanResult.icons.size} valid icons`);
|
|
100
101
|
if (scanResult.invalidIcons.size > 0) {
|
|
101
|
-
const invalidList =
|
|
102
|
+
const invalidList = Array.from(scanResult.invalidIcons.entries(), ([icon, files]) => ` - "${icon}" in: ${files.join(", ")}`).join("\n");
|
|
102
103
|
const message = `Found ${scanResult.invalidIcons.size} invalid icon name(s):\n${invalidList}`;
|
|
103
104
|
if (strict) throw new Error(message);
|
|
104
105
|
else warn(message);
|
|
@@ -115,7 +116,7 @@ function ruiIconsPlugin(options = {}) {
|
|
|
115
116
|
try {
|
|
116
117
|
const detectedIcons = extractIconsFromSource(readFileSync(filePath, "utf-8"));
|
|
117
118
|
const previousSize = scanResult.icons.size;
|
|
118
|
-
validateIcons(detectedIcons, validIcons, filePath, scanResult);
|
|
119
|
+
validateIcons(detectedIcons, validIcons, filePath, scanResult, customIconSet);
|
|
119
120
|
if (scanResult.icons.size > previousSize) {
|
|
120
121
|
log(`New icons detected in ${filePath}, invalidating virtual module...`);
|
|
121
122
|
const mod = server?.moduleGraph.getModuleById(RESOLVED_VIRTUAL_MODULE_ID);
|