@rotki/ui-library 2.27.0 → 3.0.0-beta.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/README.md +36 -15
- package/dist/components/accordions/accordion/RuiAccordion.js.map +1 -1
- package/dist/components/accordions/accordion/RuiAccordion.vue.d.ts +0 -4
- package/dist/components/accordions/accordion/RuiAccordion.vue_vue_type_script_setup_true_lang.js +6 -7
- package/dist/components/accordions/accordion/RuiAccordion.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/accordions/accordions/RuiAccordions.js.map +1 -1
- package/dist/components/accordions/accordions/RuiAccordions.vue_vue_type_script_setup_true_lang.js +15 -2
- package/dist/components/accordions/accordions/RuiAccordions.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/alerts/RuiAlert.js.map +1 -1
- package/dist/components/alerts/RuiAlert.vue_vue_type_script_setup_true_lang.js +43 -212
- package/dist/components/alerts/RuiAlert.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/avatars/RuiAvatar.js.map +1 -1
- package/dist/components/avatars/RuiAvatar.vue_vue_type_script_setup_true_lang.js +21 -31
- package/dist/components/avatars/RuiAvatar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/avatars/RuiAvatarGroup.js.map +1 -1
- package/dist/components/avatars/RuiAvatarGroup.vue.d.ts +6 -0
- package/dist/components/avatars/RuiAvatarGroup.vue_vue_type_script_setup_true_lang.js +16 -12
- package/dist/components/avatars/RuiAvatarGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/avatars/avatar-props.d.ts +16 -3
- package/dist/components/avatars/avatar-props.js +42 -5
- package/dist/components/avatars/avatar-props.js.map +1 -1
- package/dist/components/buttons/button/RuiButton.js.map +1 -1
- package/dist/components/buttons/button/RuiButton.vue.d.ts +0 -1
- package/dist/components/buttons/button/RuiButton.vue_vue_type_script_setup_true_lang.js +29 -16
- package/dist/components/buttons/button/RuiButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/buttons/button/button-props.d.ts +0 -2
- package/dist/components/buttons/button/button-props.js +5 -5
- package/dist/components/buttons/button/button-props.js.map +1 -1
- package/dist/components/buttons/button/button-styles.d.ts +4 -1
- package/dist/components/buttons/button/button-styles.js +127 -54
- package/dist/components/buttons/button/button-styles.js.map +1 -1
- package/dist/components/buttons/button-group/RuiButtonGroup.js.map +1 -1
- package/dist/components/buttons/button-group/RuiButtonGroup.vue.d.ts +8 -2
- package/dist/components/buttons/button-group/RuiButtonGroup.vue_vue_type_script_setup_true_lang.js +65 -96
- package/dist/components/buttons/button-group/RuiButtonGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/buttons/button-group/button-group-context.d.ts +28 -0
- package/dist/components/buttons/button-group/button-group-context.js +22 -0
- package/dist/components/buttons/button-group/button-group-context.js.map +1 -0
- package/dist/components/calendar/RuiCalendar.js.map +1 -1
- package/dist/components/calendar/RuiCalendar.vue_vue_type_script_setup_true_lang.js +5 -2
- package/dist/components/calendar/RuiCalendar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/calendar/RuiCalendarGrid.js.map +1 -1
- package/dist/components/calendar/RuiCalendarGrid.vue_vue_type_script_setup_true_lang.js +11 -7
- package/dist/components/calendar/RuiCalendarGrid.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/calendar/RuiCalendarHeader.js.map +1 -1
- package/dist/components/calendar/RuiCalendarHeader.vue_vue_type_script_setup_true_lang.js +20 -21
- package/dist/components/calendar/RuiCalendarHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/calendar/RuiCalendarMenu.js.map +1 -1
- package/dist/components/calendar/RuiCalendarMenu.vue_vue_type_script_setup_true_lang.js +16 -20
- package/dist/components/calendar/RuiCalendarMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/cards/RuiCard.js.map +1 -1
- package/dist/components/cards/RuiCard.vue.d.ts +0 -3
- package/dist/components/cards/RuiCard.vue_vue_type_script_setup_true_lang.js +31 -19
- package/dist/components/cards/RuiCard.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/cards/RuiCardHeader.js.map +1 -1
- package/dist/components/cards/RuiCardHeader.vue_vue_type_script_setup_true_lang.js +13 -25
- package/dist/components/cards/RuiCardHeader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/chips/RuiChip.js.map +1 -1
- package/dist/components/chips/RuiChip.vue.d.ts +5 -2
- package/dist/components/chips/RuiChip.vue_vue_type_script_setup_true_lang.js +127 -78
- package/dist/components/chips/RuiChip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/chips/chip-props.d.ts +2 -0
- package/dist/components/chips/chip-props.js +5 -3
- package/dist/components/chips/chip-props.js.map +1 -1
- package/dist/components/color-picker/RuiColorBoard.js.map +1 -1
- package/dist/components/color-picker/RuiColorBoard.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/components/color-picker/RuiColorBoard.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/color-picker/RuiColorHue.js.map +1 -1
- package/dist/components/color-picker/RuiColorHue.vue_vue_type_script_setup_true_lang.js +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.js.map +1 -1
- package/dist/components/color-picker/RuiColorInput.vue_vue_type_script_setup_true_lang.js +38 -27
- package/dist/components/color-picker/RuiColorInput.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/color-picker/RuiColorPicker.js.map +1 -1
- package/dist/components/color-picker/RuiColorPicker.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/color-picker/RuiColorPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/date-time-picker/RuiDateTimePicker.js.map +1 -1
- package/dist/components/date-time-picker/RuiDateTimePicker.vue.d.ts +3 -2
- package/dist/components/date-time-picker/RuiDateTimePicker.vue_vue_type_script_setup_true_lang.js +48 -47
- 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.js.map +1 -1
- package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue_vue_type_script_setup_true_lang.js +2 -2
- 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.js.map +1 -1
- package/dist/components/date-time-picker/RuiTimezoneSelect.vue.d.ts +4 -3
- package/dist/components/date-time-picker/RuiTimezoneSelect.vue_vue_type_script_setup_true_lang.js +3 -3
- 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.d.ts +128 -219
- package/dist/components/date-time-picker/date-time-picker-styles.js +1 -2
- package/dist/components/date-time-picker/date-time-picker-styles.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 +1 -68
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue_vue_type_script_setup_true_lang.js +184 -179
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/auto-complete/RuiAutoCompleteOption.js.map +1 -1
- package/dist/components/forms/auto-complete/RuiAutoCompleteOption.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/components/forms/auto-complete/RuiAutoCompleteOption.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/auto-complete/RuiAutoCompleteOptionList.js.map +1 -1
- package/dist/components/forms/auto-complete/RuiAutoCompleteOptionList.vue.d.ts +2 -0
- package/dist/components/forms/auto-complete/RuiAutoCompleteOptionList.vue_vue_type_script_setup_true_lang.js +8 -3
- package/dist/components/forms/auto-complete/RuiAutoCompleteOptionList.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/auto-complete/RuiAutoCompleteSelection.js.map +1 -1
- package/dist/components/forms/auto-complete/RuiAutoCompleteSelection.vue.d.ts +4 -0
- package/dist/components/forms/auto-complete/RuiAutoCompleteSelection.vue_vue_type_script_setup_true_lang.js +24 -10
- package/dist/components/forms/auto-complete/RuiAutoCompleteSelection.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/auto-complete/auto-complete-props.d.ts +66 -0
- package/dist/components/forms/auto-complete/auto-complete-styles.d.ts +128 -218
- package/dist/components/forms/auto-complete/auto-complete-styles.js +4 -2
- package/dist/components/forms/auto-complete/auto-complete-styles.js.map +1 -1
- package/dist/components/forms/category-picker/RuiCategoryPicker.js.map +1 -1
- package/dist/components/forms/category-picker/RuiCategoryPicker.vue.d.ts +3 -6
- package/dist/components/forms/category-picker/RuiCategoryPicker.vue_vue_type_script_setup_true_lang.js +105 -105
- package/dist/components/forms/category-picker/RuiCategoryPicker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/category-picker/category-picker-styles.d.ts +83 -232
- package/dist/components/forms/category-picker/category-picker-styles.js +20 -26
- package/dist/components/forms/category-picker/category-picker-styles.js.map +1 -1
- package/dist/components/forms/check-control-styles.d.ts +61 -2
- package/dist/components/forms/check-control-styles.js +53 -46
- package/dist/components/forms/check-control-styles.js.map +1 -1
- package/dist/components/forms/checkbox/RuiCheckbox.js.map +1 -1
- package/dist/components/forms/checkbox/RuiCheckbox.vue_vue_type_script_setup_true_lang.js +31 -18
- 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.js.map +1 -1
- package/dist/components/forms/checkbox/checkbox-group/RuiCheckboxGroup.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/forms/checkbox/checkbox-group/RuiCheckboxGroup.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/field-defaults/RuiFieldDefaults.js +7 -0
- package/dist/components/forms/field-defaults/RuiFieldDefaults.js.map +1 -0
- package/dist/components/forms/field-defaults/RuiFieldDefaults.vue.d.ts +16 -0
- package/dist/components/forms/field-defaults/RuiFieldDefaults.vue_vue_type_script_setup_true_lang.js +18 -0
- package/dist/components/forms/field-defaults/RuiFieldDefaults.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/forms/field-label/RuiFieldLabel.js +7 -0
- package/dist/components/forms/field-label/RuiFieldLabel.js.map +1 -0
- package/dist/components/forms/field-label/RuiFieldLabel.vue.d.ts +17 -0
- package/dist/components/forms/field-label/RuiFieldLabel.vue_vue_type_script_setup_true_lang.js +57 -0
- package/dist/components/forms/field-label/RuiFieldLabel.vue_vue_type_script_setup_true_lang.js.map +1 -0
- package/dist/components/forms/file-upload/RuiFileUpload.js.map +1 -1
- package/dist/components/forms/file-upload/RuiFileUpload.vue.d.ts +1 -1
- package/dist/components/forms/file-upload/RuiFileUpload.vue_vue_type_script_setup_true_lang.js +39 -20
- 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.js.map +1 -1
- package/dist/components/forms/radio-button/radio/RuiRadio.vue_vue_type_script_setup_true_lang.js +13 -14
- 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.js.map +1 -1
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue_vue_type_script_setup_true_lang.js +3 -3
- 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.js.map +1 -1
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue_vue_type_script_setup_true_lang.js +6 -6
- 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.js.map +1 -1
- package/dist/components/forms/select/RuiMenuSelect.vue.d.ts +3 -12
- package/dist/components/forms/select/RuiMenuSelect.vue_vue_type_script_setup_true_lang.js +50 -45
- package/dist/components/forms/select/RuiMenuSelect.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/select/RuiSimpleSelect.js.map +1 -1
- package/dist/components/forms/select/RuiSimpleSelect.vue.d.ts +0 -1
- package/dist/components/forms/select/RuiSimpleSelect.vue_vue_type_script_setup_true_lang.js +13 -20
- 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.d.ts +99 -221
- package/dist/components/forms/select/menu-select-styles.js +1 -4
- package/dist/components/forms/select/menu-select-styles.js.map +1 -1
- package/dist/components/forms/slider/RuiSlider.js.map +1 -1
- package/dist/components/forms/slider/RuiSlider.vue.d.ts +0 -4
- package/dist/components/forms/slider/RuiSlider.vue_vue_type_script_setup_true_lang.js +113 -90
- package/dist/components/forms/slider/RuiSlider.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/slider/slider-styles.d.ts +40 -40
- package/dist/components/forms/slider/slider-styles.js +67 -109
- package/dist/components/forms/slider/slider-styles.js.map +1 -1
- package/dist/components/forms/switch/RuiSwitch.js.map +1 -1
- package/dist/components/forms/switch/RuiSwitch.vue_vue_type_script_setup_true_lang.js +32 -44
- package/dist/components/forms/switch/RuiSwitch.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/forms/text-area/RuiTextArea.js.map +1 -1
- package/dist/components/forms/text-area/RuiTextArea.vue.d.ts +3 -2
- package/dist/components/forms/text-area/RuiTextArea.vue_vue_type_script_setup_true_lang.js +120 -99
- 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.d.ts +41 -115
- package/dist/components/forms/text-area/text-area-styles.js +34 -194
- package/dist/components/forms/text-area/text-area-styles.js.map +1 -1
- package/dist/components/forms/text-field/RuiTextField.js.map +1 -1
- package/dist/components/forms/text-field/RuiTextField.vue.d.ts +3 -2
- package/dist/components/forms/text-field/RuiTextField.vue_vue_type_script_setup_true_lang.js +93 -90
- 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.d.ts +37 -145
- package/dist/components/forms/text-field/text-field-styles.js +24 -267
- package/dist/components/forms/text-field/text-field-styles.js.map +1 -1
- package/dist/components/forms/text-input-styles.d.ts +98 -229
- package/dist/components/forms/text-input-styles.js +63 -193
- package/dist/components/forms/text-input-styles.js.map +1 -1
- package/dist/components/helpers/RuiFormTextDetail.js.map +1 -1
- package/dist/components/helpers/RuiFormTextDetail.vue_vue_type_script_setup_true_lang.js +2 -2
- package/dist/components/helpers/RuiFormTextDetail.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/icons/RuiIcon.js.map +1 -1
- package/dist/components/icons/RuiIcon.vue_vue_type_script_setup_true_lang.js +6 -3
- package/dist/components/icons/RuiIcon.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/index.d.ts +5 -3
- package/dist/components/index.js +4 -3
- package/dist/components/loaders/RuiSkeletonBase.js.map +1 -1
- package/dist/components/loaders/RuiSkeletonBase.vue_vue_type_script_setup_true_lang.js +6 -5
- package/dist/components/loaders/RuiSkeletonBase.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/loaders/RuiSkeletonLoader.js.map +1 -1
- package/dist/components/loaders/RuiSkeletonLoader.vue_vue_type_script_setup_true_lang.js +8 -8
- package/dist/components/loaders/RuiSkeletonLoader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/logos/RuiLogo.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/overlays/badge/RuiBadge.js.map +1 -1
- package/dist/components/overlays/badge/RuiBadge.vue_vue_type_script_setup_true_lang.js +75 -47
- package/dist/components/overlays/badge/RuiBadge.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/overlays/dialog/RuiDialog.js.map +1 -1
- package/dist/components/overlays/dialog/RuiDialog.vue.d.ts +3 -2
- package/dist/components/overlays/dialog/RuiDialog.vue_vue_type_script_setup_true_lang.js +16 -12
- 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 +9 -7
- package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js +16 -12
- package/dist/components/overlays/menu/RuiMenu.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.js.map +1 -1
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.d.ts +6 -2
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js +40 -16
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/overlays/notification/RuiNotification.js.map +1 -1
- package/dist/components/overlays/notification/RuiNotification.vue_vue_type_script_setup_true_lang.js +4 -4
- package/dist/components/overlays/notification/RuiNotification.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/overlays/tooltip/RuiTooltip.js.map +1 -1
- package/dist/components/overlays/tooltip/RuiTooltip.vue.d.ts +0 -5
- package/dist/components/overlays/tooltip/RuiTooltip.vue_vue_type_script_setup_true_lang.js +16 -10
- package/dist/components/overlays/tooltip/RuiTooltip.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/overlays/tooltip/tooltip-styles.d.ts +5 -12
- package/dist/components/overlays/tooltip/tooltip-styles.js +11 -18
- package/dist/components/overlays/tooltip/tooltip-styles.js.map +1 -1
- package/dist/components/progress/RuiProgress.js.map +1 -1
- package/dist/components/progress/RuiProgress.vue.d.ts +4 -0
- package/dist/components/progress/RuiProgress.vue_vue_type_script_setup_true_lang.js +72 -46
- package/dist/components/progress/RuiProgress.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/steppers/RuiFooterStepper.js.map +1 -1
- package/dist/components/steppers/RuiFooterStepper.vue_vue_type_script_setup_true_lang.js +27 -28
- package/dist/components/steppers/RuiFooterStepper.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/steppers/RuiStepper.js.map +1 -1
- package/dist/components/steppers/RuiStepper.vue.d.ts +0 -4
- package/dist/components/steppers/RuiStepper.vue_vue_type_script_setup_true_lang.js +25 -23
- package/dist/components/steppers/RuiStepper.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/steppers/RuiStepperIcon.js.map +1 -1
- package/dist/components/steppers/RuiStepperIcon.vue.d.ts +2 -0
- package/dist/components/steppers/RuiStepperIcon.vue_vue_type_script_setup_true_lang.js +47 -47
- package/dist/components/steppers/RuiStepperIcon.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tables/RuiDataTable.js.map +1 -1
- package/dist/components/tables/RuiDataTable.vue.d.ts +3 -6
- package/dist/components/tables/RuiDataTable.vue_vue_type_script_setup_true_lang.js +65 -47
- package/dist/components/tables/RuiDataTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tables/RuiExpandButton.js.map +1 -1
- package/dist/components/tables/RuiExpandButton.vue_vue_type_script_setup_true_lang.js +1 -0
- package/dist/components/tables/RuiExpandButton.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tables/RuiTable.js.map +1 -1
- package/dist/components/tables/RuiTable.vue_vue_type_script_setup_true_lang.js +8 -5
- package/dist/components/tables/RuiTable.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tables/RuiTableEmptyState.js.map +1 -1
- package/dist/components/tables/RuiTableEmptyState.vue_vue_type_script_setup_true_lang.js +1 -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_vue_type_script_setup_true_lang.js +88 -66
- 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_vue_type_script_setup_true_lang.js +8 -11
- package/dist/components/tables/RuiTablePagination.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tables/data-table/RuiDataTableExpandedRow.js.map +1 -1
- package/dist/components/tables/data-table/RuiDataTableExpandedRow.vue_vue_type_script_setup_true_lang.js +3 -3
- package/dist/components/tables/data-table/RuiDataTableExpandedRow.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tables/data-table/RuiDataTableGroupRow.js.map +1 -1
- package/dist/components/tables/data-table/RuiDataTableGroupRow.vue_vue_type_script_setup_true_lang.js +7 -3
- package/dist/components/tables/data-table/RuiDataTableGroupRow.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tables/data-table/RuiDataTableMobileSort.js.map +1 -1
- package/dist/components/tables/data-table/RuiDataTableMobileSort.vue_vue_type_script_setup_true_lang.js +1 -1
- package/dist/components/tables/data-table/RuiDataTableMobileSort.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tables/data-table/RuiDataTableRow.js.map +1 -1
- package/dist/components/tables/data-table/RuiDataTableRow.vue_vue_type_script_setup_true_lang.js +58 -19
- package/dist/components/tables/data-table/RuiDataTableRow.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tables/data-table-styles.d.ts +24 -0
- package/dist/components/tables/data-table-styles.js +35 -20
- package/dist/components/tables/data-table-styles.js.map +1 -1
- package/dist/components/tables/table_no_data_placeholder.js +1 -1
- package/dist/components/tables/table_no_data_placeholder.js.map +1 -1
- package/dist/components/tables/table_no_data_placeholder_dark.js +1 -1
- package/dist/components/tables/table_no_data_placeholder_dark.js.map +1 -1
- package/dist/components/tabs/tab/RuiTab.js.map +1 -1
- package/dist/components/tabs/tab/RuiTab.vue.d.ts +2 -5
- package/dist/components/tabs/tab/RuiTab.vue_vue_type_script_setup_true_lang.js +94 -68
- package/dist/components/tabs/tab/RuiTab.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tabs/tab-item/RuiTabItem.js.map +1 -1
- package/dist/components/tabs/tab-item/RuiTabItem.vue.d.ts +0 -1
- package/dist/components/tabs/tab-item/RuiTabItem.vue_vue_type_script_setup_true_lang.js +5 -11
- 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 +3 -8
- package/dist/components/tabs/tab-items/RuiTabItems.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tabs/tab-props.d.ts +7 -1
- package/dist/components/tabs/tab-props.js +7 -1
- package/dist/components/tabs/tab-props.js.map +1 -1
- package/dist/components/tabs/tabs/RuiTabs.js.map +1 -1
- package/dist/components/tabs/tabs/RuiTabs.vue.d.ts +2 -1
- package/dist/components/tabs/tabs/RuiTabs.vue_vue_type_script_setup_true_lang.js +178 -32
- package/dist/components/tabs/tabs/RuiTabs.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/dist/components/tabs/tabs/use-tab-indicator.d.ts +27 -0
- package/dist/components/tabs/tabs/use-tab-indicator.js +67 -0
- package/dist/components/tabs/tabs/use-tab-indicator.js.map +1 -0
- package/dist/components/tabs/tabs/use-tab-keyboard.d.ts +17 -0
- package/dist/components/tabs/tabs/use-tab-keyboard.js +57 -0
- package/dist/components/tabs/tabs/use-tab-keyboard.js.map +1 -0
- package/dist/components/tabs/tabs/use-tab-routing.js +1 -2
- package/dist/components/tabs/tabs/use-tab-routing.js.map +1 -1
- package/dist/components/time-picker/RuiTimePicker.js.map +1 -1
- package/dist/components/time-picker/RuiTimePicker.vue_vue_type_script_setup_true_lang.js +35 -32
- 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.d.ts +18 -0
- package/dist/components/time-picker/time-picker-styles.js +16 -10
- package/dist/components/time-picker/time-picker-styles.js.map +1 -1
- package/dist/composables/defaults/field.d.ts +22 -0
- package/dist/composables/defaults/field.js +29 -0
- package/dist/composables/defaults/field.js.map +1 -0
- package/dist/composables/dropdown-menu.d.ts +14 -2
- package/dist/composables/dropdown-menu.js +12 -2
- package/dist/composables/dropdown-menu.js.map +1 -1
- package/dist/composables/floating.d.ts +0 -2
- package/dist/composables/floating.js +5 -2
- package/dist/composables/floating.js.map +1 -1
- package/dist/composables/forms/auto-complete/chips.d.ts +22 -0
- package/dist/composables/forms/auto-complete/chips.js +42 -0
- package/dist/composables/forms/auto-complete/chips.js.map +1 -0
- package/dist/composables/forms/auto-complete/combobox.d.ts +25 -0
- package/dist/composables/forms/auto-complete/combobox.js +35 -0
- package/dist/composables/forms/auto-complete/combobox.js.map +1 -0
- package/dist/composables/forms/auto-complete/focus.d.ts +5 -2
- package/dist/composables/forms/auto-complete/focus.js +36 -10
- package/dist/composables/forms/auto-complete/focus.js.map +1 -1
- package/dist/composables/forms/auto-complete/index.d.ts +3 -0
- package/dist/composables/forms/auto-complete/keyboard-navigation.d.ts +8 -1
- package/dist/composables/forms/auto-complete/keyboard-navigation.js +48 -20
- package/dist/composables/forms/auto-complete/keyboard-navigation.js.map +1 -1
- package/dist/composables/forms/auto-complete/selection.d.ts +37 -0
- package/dist/composables/forms/auto-complete/selection.js +60 -0
- package/dist/composables/forms/auto-complete/selection.js.map +1 -0
- package/dist/composables/forms/auto-complete/value.js +19 -0
- package/dist/composables/forms/auto-complete/value.js.map +1 -1
- package/dist/composables/keyboard-scroll.d.ts +17 -0
- package/dist/composables/keyboard-scroll.js +58 -0
- package/dist/composables/keyboard-scroll.js.map +1 -0
- package/dist/composables/sticky-header.d.ts +8 -0
- package/dist/composables/sticky-header.js +13 -2
- package/dist/composables/sticky-header.js.map +1 -1
- package/dist/composables/tables/data-table/page-scroll.d.ts +30 -0
- package/dist/composables/tables/data-table/page-scroll.js +113 -0
- package/dist/composables/tables/data-table/page-scroll.js.map +1 -0
- package/dist/consts/colors.d.ts +4 -0
- package/dist/consts/colors.js +1 -37
- package/dist/consts/colors.js.map +1 -1
- package/dist/consts/tokens.d.ts +56 -0
- package/dist/consts/tokens.js +46 -0
- package/dist/consts/tokens.js.map +1 -0
- package/dist/consts/typography.d.ts +51 -18
- package/dist/index.d.ts +5 -0
- package/dist/index.js +9 -5
- package/dist/index.js.map +1 -1
- package/dist/library-icons.json +0 -10
- package/dist/style.css +5644 -4677
- package/dist/styles/colors.css +315 -0
- package/dist/styles/tokens.css +50 -0
- package/dist/tailwind.css +145 -0
- package/dist/theme/theme.css +403 -0
- package/dist/theme.css +403 -0
- package/dist/utils/helpers.d.ts +0 -8
- package/dist/utils/helpers.js +0 -1
- package/dist/utils/helpers.js.map +1 -1
- package/dist/utils/tv.js +13 -21
- package/dist/utils/tv.js.map +1 -1
- package/dist/web-types.json +275 -407
- package/package.json +13 -16
- package/dist/components/icons/LazyIcon.vue.d.ts +0 -8
- package/dist/components/steppers/RuiStepperCustomIcon.js +0 -7
- package/dist/components/steppers/RuiStepperCustomIcon.js.map +0 -1
- package/dist/components/steppers/RuiStepperCustomIcon.vue.d.ts +0 -8
- package/dist/components/steppers/RuiStepperCustomIcon.vue_vue_type_script_setup_true_lang.js +0 -43
- package/dist/components/steppers/RuiStepperCustomIcon.vue_vue_type_script_setup_true_lang.js.map +0 -1
- package/dist/composables/colors/common.d.ts +0 -20
- package/dist/composables/colors/index.d.ts +0 -3
- package/dist/composables/colors/text-input.d.ts +0 -27
- package/dist/composables/forms/use-label-with-quote.d.ts +0 -2
- package/dist/composables/popper.d.ts +0 -16
- package/dist/composables/popper.js +0 -23
- package/dist/composables/popper.js.map +0 -1
- package/dist/consts/forms/auto-complete/index.d.ts +0 -4
- package/dist/theme/index.d.ts +0 -5
- package/dist/theme/index.js +0 -162
- package/dist/theme/index.js.map +0 -1
- package/dist/utils/forms/auto-complete/index.d.ts +0 -2
|
@@ -8,64 +8,60 @@ var SliderInteraction = {
|
|
|
8
8
|
};
|
|
9
9
|
/** Static class map for highlighted big-tick colors (avoids dynamic class construction) */
|
|
10
10
|
var HIGHLIGHT_COLOR_MAP = {
|
|
11
|
-
primary: "!bg-rui-primary",
|
|
12
|
-
secondary: "!bg-rui-secondary",
|
|
13
|
-
error: "!bg-rui-error",
|
|
14
|
-
warning: "!bg-rui-warning",
|
|
15
|
-
info: "!bg-rui-info",
|
|
16
|
-
success: "!bg-rui-success"
|
|
11
|
+
primary: "!bg-rui-primary-fill",
|
|
12
|
+
secondary: "!bg-rui-secondary-fill",
|
|
13
|
+
error: "!bg-rui-error-fill",
|
|
14
|
+
warning: "!bg-rui-warning-fill",
|
|
15
|
+
info: "!bg-rui-info-fill",
|
|
16
|
+
success: "!bg-rui-success-fill"
|
|
17
17
|
};
|
|
18
18
|
/** Default highlighted tick color (non-big-tick) */
|
|
19
|
-
var HIGHLIGHT_DEFAULT = "bg-rui-
|
|
19
|
+
var HIGHLIGHT_DEFAULT = "bg-rui-neutral-100 dark:bg-rui-neutral-950";
|
|
20
20
|
var sliderStyles = tv({
|
|
21
21
|
slots: {
|
|
22
|
-
|
|
23
|
-
|
|
22
|
+
root: "",
|
|
23
|
+
wrapper: "flex items-start",
|
|
24
|
+
label: "",
|
|
24
25
|
outer: "relative h-8 flex-1 min-w-[7.5rem]",
|
|
25
26
|
inner: "relative",
|
|
26
|
-
input: "h-full w-full opacity-0 cursor-pointer",
|
|
27
|
-
slider: "absolute h-full w-full top-0 px-2 pointer-events-none",
|
|
27
|
+
input: "peer h-full w-full opacity-0 cursor-pointer",
|
|
28
|
+
slider: "absolute h-full w-full top-0 px-2 pointer-events-none peer-focus-visible:[&_[data-id=slider-thumb]]:focus-ring",
|
|
28
29
|
sliderInner: "relative h-full w-full cursor-pointer",
|
|
29
|
-
container: "absolute top-1/2 -translate-y-1/2 w-full h-1 rounded-full",
|
|
30
|
+
container: "absolute top-1/2 -translate-y-1/2 w-full h-1.5 rounded-full bg-rui-neutral-200 dark:bg-rui-neutral-700",
|
|
30
31
|
track: "transition-all ease-linear duration-75 h-full rounded-full",
|
|
31
32
|
ticks: "h-full absolute top-0 flex justify-between items-center",
|
|
32
33
|
tick: "rounded-full",
|
|
33
|
-
thumb: "absolute top-1/2
|
|
34
|
-
thumbRipple: [`before:content-[''] before:w-8 before:h-8 before:rounded-full before:absolute before:top-1/2 before:left-1/2`, "before:opacity-10 before:transition before:-translate-x-1/2 before:-translate-y-1/2 before:scale-0"].join(" "),
|
|
34
|
+
thumb: ["absolute top-1/2 -translate-y-1/2 -translate-x-1/2 size-4 rounded-full", "bg-white border-2 shadow-rui-control transition-[left,top,box-shadow] ease-linear duration-75"].join(" "),
|
|
35
35
|
thumbLabel: [
|
|
36
36
|
"invisible opacity-0",
|
|
37
37
|
"absolute -mt-7 transition-all ease-linear duration-75 -translate-x-1/2",
|
|
38
38
|
"px-2 py-1 text-xs font-normal",
|
|
39
|
-
"bg-rui-
|
|
39
|
+
"bg-rui-neutral-900 dark:bg-rui-neutral-700 text-white rounded-rui-control shadow-rui-tooltip"
|
|
40
40
|
].join(" ")
|
|
41
41
|
},
|
|
42
42
|
variants: {
|
|
43
43
|
disabled: { true: {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
thumb: "!bg-rui-grey-400 dark:!bg-rui-grey-700"
|
|
44
|
+
container: "!bg-rui-neutral-200 dark:!bg-rui-neutral-800",
|
|
45
|
+
track: "!bg-rui-neutral-400 dark:!bg-rui-neutral-600",
|
|
46
|
+
thumb: "!border-rui-neutral-400 dark:!border-rui-neutral-600 dark:!bg-rui-neutral-300 !ring-0"
|
|
48
47
|
} },
|
|
49
48
|
vertical: { true: {
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
root: "flex flex-col",
|
|
50
|
+
wrapper: "flex-col-reverse items-center flex-1 min-h-0",
|
|
51
|
+
label: "text-center",
|
|
52
52
|
outer: "min-w-0 min-h-[7.5rem] w-8",
|
|
53
|
-
inner: "-rotate-90",
|
|
53
|
+
inner: "-rotate-90 translate-y-(--rui-slider-shift)",
|
|
54
54
|
thumbLabel: "mt-6 rotate-90 translate-x-0 [transform-origin:0_50%]"
|
|
55
55
|
} },
|
|
56
56
|
interaction: {
|
|
57
57
|
idle: {},
|
|
58
|
-
hover: {
|
|
59
|
-
focus: {
|
|
58
|
+
hover: { thumb: "ring-4" },
|
|
59
|
+
focus: { thumbLabel: "visible opacity-100" },
|
|
60
60
|
active: {
|
|
61
|
-
|
|
61
|
+
thumb: "ring-6",
|
|
62
62
|
thumbLabel: "visible opacity-100"
|
|
63
63
|
}
|
|
64
64
|
},
|
|
65
|
-
validation: {
|
|
66
|
-
error: { label: "text-rui-error" },
|
|
67
|
-
success: { label: "text-rui-success" }
|
|
68
|
-
},
|
|
69
65
|
color: {
|
|
70
66
|
primary: {},
|
|
71
67
|
secondary: {},
|
|
@@ -74,122 +70,78 @@ var sliderStyles = tv({
|
|
|
74
70
|
info: {},
|
|
75
71
|
success: {}
|
|
76
72
|
},
|
|
77
|
-
bigTick: {
|
|
73
|
+
bigTick: {
|
|
74
|
+
false: {
|
|
75
|
+
ticks: "[&>span:first-child]:invisible [&>span:last-child]:invisible",
|
|
76
|
+
tick: "bg-rui-neutral-500 dark:bg-rui-neutral-300"
|
|
77
|
+
},
|
|
78
|
+
true: {}
|
|
79
|
+
},
|
|
80
|
+
hasLabel: {
|
|
81
|
+
true: {},
|
|
82
|
+
false: {}
|
|
83
|
+
}
|
|
78
84
|
},
|
|
79
85
|
compoundSlots: [
|
|
80
86
|
{
|
|
81
|
-
slots: ["
|
|
87
|
+
slots: ["track"],
|
|
82
88
|
color: "primary",
|
|
83
|
-
class: "bg-rui-primary
|
|
89
|
+
class: "bg-rui-primary-fill"
|
|
84
90
|
},
|
|
85
91
|
{
|
|
86
|
-
slots: ["
|
|
92
|
+
slots: ["track"],
|
|
87
93
|
color: "secondary",
|
|
88
|
-
class: "bg-rui-secondary
|
|
94
|
+
class: "bg-rui-secondary-fill"
|
|
89
95
|
},
|
|
90
96
|
{
|
|
91
|
-
slots: ["
|
|
97
|
+
slots: ["track"],
|
|
92
98
|
color: "error",
|
|
93
|
-
class: "bg-rui-error
|
|
99
|
+
class: "bg-rui-error-fill"
|
|
94
100
|
},
|
|
95
101
|
{
|
|
96
|
-
slots: ["
|
|
102
|
+
slots: ["track"],
|
|
97
103
|
color: "warning",
|
|
98
|
-
class: "bg-rui-warning
|
|
104
|
+
class: "bg-rui-warning-fill"
|
|
99
105
|
},
|
|
100
106
|
{
|
|
101
|
-
slots: ["
|
|
107
|
+
slots: ["track"],
|
|
102
108
|
color: "info",
|
|
103
|
-
class: "bg-rui-info
|
|
109
|
+
class: "bg-rui-info-fill"
|
|
104
110
|
},
|
|
105
111
|
{
|
|
106
|
-
slots: ["
|
|
112
|
+
slots: ["track"],
|
|
107
113
|
color: "success",
|
|
108
|
-
class: "bg-rui-success
|
|
114
|
+
class: "bg-rui-success-fill"
|
|
109
115
|
},
|
|
110
116
|
{
|
|
111
|
-
slots: [
|
|
112
|
-
"track",
|
|
113
|
-
"thumb",
|
|
114
|
-
"tick"
|
|
115
|
-
],
|
|
117
|
+
slots: ["thumb"],
|
|
116
118
|
color: "primary",
|
|
117
|
-
class: "
|
|
119
|
+
class: "border-rui-primary-fill ring-rui-primary-soft"
|
|
118
120
|
},
|
|
119
121
|
{
|
|
120
|
-
slots: [
|
|
121
|
-
"track",
|
|
122
|
-
"thumb",
|
|
123
|
-
"tick"
|
|
124
|
-
],
|
|
122
|
+
slots: ["thumb"],
|
|
125
123
|
color: "secondary",
|
|
126
|
-
class: "
|
|
124
|
+
class: "border-rui-secondary-fill ring-rui-secondary-soft"
|
|
127
125
|
},
|
|
128
126
|
{
|
|
129
|
-
slots: [
|
|
130
|
-
"track",
|
|
131
|
-
"thumb",
|
|
132
|
-
"tick"
|
|
133
|
-
],
|
|
127
|
+
slots: ["thumb"],
|
|
134
128
|
color: "error",
|
|
135
|
-
class: "
|
|
129
|
+
class: "border-rui-error-fill ring-rui-error-soft"
|
|
136
130
|
},
|
|
137
131
|
{
|
|
138
|
-
slots: [
|
|
139
|
-
"track",
|
|
140
|
-
"thumb",
|
|
141
|
-
"tick"
|
|
142
|
-
],
|
|
132
|
+
slots: ["thumb"],
|
|
143
133
|
color: "warning",
|
|
144
|
-
class: "
|
|
134
|
+
class: "border-rui-warning-fill ring-rui-warning-soft"
|
|
145
135
|
},
|
|
146
136
|
{
|
|
147
|
-
slots: [
|
|
148
|
-
"track",
|
|
149
|
-
"thumb",
|
|
150
|
-
"tick"
|
|
151
|
-
],
|
|
137
|
+
slots: ["thumb"],
|
|
152
138
|
color: "info",
|
|
153
|
-
class: "
|
|
139
|
+
class: "border-rui-info-fill ring-rui-info-soft"
|
|
154
140
|
},
|
|
155
141
|
{
|
|
156
|
-
slots: [
|
|
157
|
-
"track",
|
|
158
|
-
"thumb",
|
|
159
|
-
"tick"
|
|
160
|
-
],
|
|
142
|
+
slots: ["thumb"],
|
|
161
143
|
color: "success",
|
|
162
|
-
class: "
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
slots: ["thumbRipple"],
|
|
166
|
-
color: "primary",
|
|
167
|
-
class: "before:bg-rui-primary"
|
|
168
|
-
},
|
|
169
|
-
{
|
|
170
|
-
slots: ["thumbRipple"],
|
|
171
|
-
color: "secondary",
|
|
172
|
-
class: "before:bg-rui-secondary"
|
|
173
|
-
},
|
|
174
|
-
{
|
|
175
|
-
slots: ["thumbRipple"],
|
|
176
|
-
color: "error",
|
|
177
|
-
class: "before:bg-rui-error"
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
slots: ["thumbRipple"],
|
|
181
|
-
color: "warning",
|
|
182
|
-
class: "before:bg-rui-warning"
|
|
183
|
-
},
|
|
184
|
-
{
|
|
185
|
-
slots: ["thumbRipple"],
|
|
186
|
-
color: "info",
|
|
187
|
-
class: "before:bg-rui-info"
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
slots: ["thumbRipple"],
|
|
191
|
-
color: "success",
|
|
192
|
-
class: "before:bg-rui-success"
|
|
144
|
+
class: "border-rui-success-fill ring-rui-success-soft"
|
|
193
145
|
}
|
|
194
146
|
],
|
|
195
147
|
compoundVariants: [
|
|
@@ -222,11 +174,17 @@ var sliderStyles = tv({
|
|
|
222
174
|
bigTick: true,
|
|
223
175
|
color: "success",
|
|
224
176
|
class: { tick: "!bg-rui-success-lighter" }
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
vertical: false,
|
|
180
|
+
hasLabel: true,
|
|
181
|
+
class: { outer: "-mt-2" }
|
|
225
182
|
}
|
|
226
183
|
],
|
|
227
184
|
defaultVariants: {
|
|
228
185
|
interaction: "idle",
|
|
229
|
-
color: "primary"
|
|
186
|
+
color: "primary",
|
|
187
|
+
bigTick: false
|
|
230
188
|
}
|
|
231
189
|
});
|
|
232
190
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider-styles.js","names":[],"sources":["../../../../src/components/forms/slider/slider-styles.ts"],"sourcesContent":["import type { ContextColorsType } from '@/consts/colors';\nimport { tv } from '@/utils/tv';\n\nexport const SliderInteraction = {\n idle: 'idle',\n hover: 'hover',\n focus: 'focus',\n active: 'active',\n} as const;\n\nexport type SliderInteraction = (typeof SliderInteraction)[keyof typeof SliderInteraction];\n\n/** Static class map for highlighted big-tick colors (avoids dynamic class construction) */\nexport const HIGHLIGHT_COLOR_MAP: Record<ContextColorsType, string> = {\n primary: '!bg-rui-primary',\n secondary: '!bg-rui-secondary',\n error: '!bg-rui-error',\n warning: '!bg-rui-warning',\n info: '!bg-rui-info',\n success: '!bg-rui-success',\n};\n\n/** Default highlighted tick color (non-big-tick) */\nexport const HIGHLIGHT_DEFAULT = 'bg-rui-
|
|
1
|
+
{"version":3,"file":"slider-styles.js","names":[],"sources":["../../../../src/components/forms/slider/slider-styles.ts"],"sourcesContent":["import type { ContextColorsType } from '@/consts/colors';\nimport { tv } from '@/utils/tv';\n\nexport const SliderInteraction = {\n idle: 'idle',\n hover: 'hover',\n focus: 'focus',\n active: 'active',\n} as const;\n\nexport type SliderInteraction = (typeof SliderInteraction)[keyof typeof SliderInteraction];\n\n/** Static class map for highlighted big-tick colors (avoids dynamic class construction) */\nexport const HIGHLIGHT_COLOR_MAP: Record<ContextColorsType, string> = {\n primary: '!bg-rui-primary-fill',\n secondary: '!bg-rui-secondary-fill',\n error: '!bg-rui-error-fill',\n warning: '!bg-rui-warning-fill',\n info: '!bg-rui-info-fill',\n success: '!bg-rui-success-fill',\n};\n\n/** Default highlighted tick color (non-big-tick) */\nexport const HIGHLIGHT_DEFAULT = 'bg-rui-neutral-100 dark:bg-rui-neutral-950';\n\nexport const sliderStyles = tv({\n slots: {\n root: '',\n wrapper: 'flex items-start',\n // classes added to RuiFieldLabel, which carries the type and its neutral and disabled colors\n label: '',\n outer: 'relative h-8 flex-1 min-w-[7.5rem]',\n inner: 'relative',\n input: 'peer h-full w-full opacity-0 cursor-pointer',\n // the range input is invisible, so its keyboard focus rings the thumb drawn over it\n slider: 'absolute h-full w-full top-0 px-2 pointer-events-none peer-focus-visible:[&_[data-id=slider-thumb]]:focus-ring',\n sliderInner: 'relative h-full w-full cursor-pointer',\n // a quiet neutral rail in every color, so only the filled part and the thumb carry it; a step lighter in dark to stay findable\n container: 'absolute top-1/2 -translate-y-1/2 w-full h-1.5 rounded-full bg-rui-neutral-200 dark:bg-rui-neutral-700',\n track: 'transition-all ease-linear duration-75 h-full rounded-full',\n ticks: 'h-full absolute top-0 flex justify-between items-center',\n tick: 'rounded-full',\n // a white knob with a colored edge, like the switch's, that gains a soft halo instead of growing\n thumb: [\n 'absolute top-1/2 -translate-y-1/2 -translate-x-1/2 size-4 rounded-full',\n 'bg-white border-2 shadow-rui-control transition-[left,top,box-shadow] ease-linear duration-75',\n ].join(' '),\n thumbLabel: [\n 'invisible opacity-0',\n 'absolute -mt-7 transition-all ease-linear duration-75 -translate-x-1/2',\n 'px-2 py-1 text-xs font-normal',\n 'bg-rui-neutral-900 dark:bg-rui-neutral-700 text-white rounded-rui-control shadow-rui-tooltip',\n ].join(' '),\n },\n variants: {\n disabled: {\n true: {\n container: '!bg-rui-neutral-200 dark:!bg-rui-neutral-800',\n track: '!bg-rui-neutral-400 dark:!bg-rui-neutral-600',\n thumb: '!border-rui-neutral-400 dark:!border-rui-neutral-600 dark:!bg-rui-neutral-300 !ring-0',\n },\n },\n vertical: {\n true: {\n // the label stays above, centred over the upright rail, which takes the height left under it\n root: 'flex flex-col',\n wrapper: 'flex-col-reverse items-center flex-1 min-h-0',\n label: 'text-center',\n outer: 'min-w-0 min-h-[7.5rem] w-8',\n // turned about its top-left corner, then pushed down its own height back into the box\n inner: '-rotate-90 translate-y-(--rui-slider-shift)',\n thumbLabel: 'mt-6 rotate-90 translate-x-0 [transform-origin:0_50%]',\n },\n },\n interaction: {\n idle: {},\n hover: { thumb: 'ring-4' },\n // keyboard focus shows the value too, since arrow keys move the thumb without a press\n focus: { thumbLabel: 'visible opacity-100' },\n active: { thumb: 'ring-6', thumbLabel: 'visible opacity-100' },\n },\n color: {\n primary: {},\n secondary: {},\n error: {},\n warning: {},\n info: {},\n success: {},\n },\n bigTick: {\n // small ticks sit inside the rail, whose rounded ends already mark the first and last stop\n false: {\n ticks: '[&>span:first-child]:invisible [&>span:last-child]:invisible',\n // two shades off the rail in either theme, so a 2px dot still shows on the empty part\n tick: 'bg-rui-neutral-500 dark:bg-rui-neutral-300',\n },\n true: {},\n },\n hasLabel: {\n true: {},\n false: {},\n },\n },\n compoundSlots: [\n // The filled part takes the color's fill tone, which is the deep one for a status color in dark\n { slots: ['track'], color: 'primary', class: 'bg-rui-primary-fill' },\n { slots: ['track'], color: 'secondary', class: 'bg-rui-secondary-fill' },\n { slots: ['track'], color: 'error', class: 'bg-rui-error-fill' },\n { slots: ['track'], color: 'warning', class: 'bg-rui-warning-fill' },\n { slots: ['track'], color: 'info', class: 'bg-rui-info-fill' },\n { slots: ['track'], color: 'success', class: 'bg-rui-success-fill' },\n\n // The thumb's edge and its hover halo\n { slots: ['thumb'], color: 'primary', class: 'border-rui-primary-fill ring-rui-primary-soft' },\n { slots: ['thumb'], color: 'secondary', class: 'border-rui-secondary-fill ring-rui-secondary-soft' },\n { slots: ['thumb'], color: 'error', class: 'border-rui-error-fill ring-rui-error-soft' },\n { slots: ['thumb'], color: 'warning', class: 'border-rui-warning-fill ring-rui-warning-soft' },\n { slots: ['thumb'], color: 'info', class: 'border-rui-info-fill ring-rui-info-soft' },\n { slots: ['thumb'], color: 'success', class: 'border-rui-success-fill ring-rui-success-soft' },\n ],\n compoundVariants: [\n // Big tick: lighter default, color highlighted\n { bigTick: true, color: 'primary', class: { tick: '!bg-rui-primary-lighter' } },\n { bigTick: true, color: 'secondary', class: { tick: '!bg-rui-secondary-lighter' } },\n { bigTick: true, color: 'error', class: { tick: '!bg-rui-error-lighter' } },\n { bigTick: true, color: 'warning', class: { tick: '!bg-rui-warning-lighter' } },\n { bigTick: true, color: 'info', class: { tick: '!bg-rui-info-lighter' } },\n { bigTick: true, color: 'success', class: { tick: '!bg-rui-success-lighter' } },\n // the rail sits mid-way down its 32px hit area, so a label above pulls that area up to keep the gap of a field\n { vertical: false, hasLabel: true, class: { outer: '-mt-2' } },\n ],\n defaultVariants: {\n interaction: 'idle',\n color: 'primary',\n bigTick: false,\n },\n});\n"],"mappings":";;AAGA,IAAa,oBAAoB;CAC/B,MAAM;CACN,OAAO;CACP,OAAO;CACP,QAAQ;AACV;;AAKA,IAAa,sBAAyD;CACpE,SAAS;CACT,WAAW;CACX,OAAO;CACP,SAAS;CACT,MAAM;CACN,SAAS;AACX;;AAGA,IAAa,oBAAoB;AAEjC,IAAa,eAAe,GAAG;CAC7B,OAAO;EACL,MAAM;EACN,SAAS;EAET,OAAO;EACP,OAAO;EACP,OAAO;EACP,OAAO;EAEP,QAAQ;EACR,aAAa;EAEb,WAAW;EACX,OAAO;EACP,OAAO;EACP,MAAM;EAEN,OAAO,CACL,0EACA,+FACF,CAAC,CAAC,KAAK,GAAG;EACV,YAAY;GACV;GACA;GACA;GACA;EACF,CAAC,CAAC,KAAK,GAAG;CACZ;CACA,UAAU;EACR,UAAU,EACR,MAAM;GACJ,WAAW;GACX,OAAO;GACP,OAAO;EACT,EACF;EACA,UAAU,EACR,MAAM;GAEJ,MAAM;GACN,SAAS;GACT,OAAO;GACP,OAAO;GAEP,OAAO;GACP,YAAY;EACd,EACF;EACA,aAAa;GACX,MAAM,CAAC;GACP,OAAO,EAAE,OAAO,SAAS;GAEzB,OAAO,EAAE,YAAY,sBAAsB;GAC3C,QAAQ;IAAE,OAAO;IAAU,YAAY;GAAsB;EAC/D;EACA,OAAO;GACL,SAAS,CAAC;GACV,WAAW,CAAC;GACZ,OAAO,CAAC;GACR,SAAS,CAAC;GACV,MAAM,CAAC;GACP,SAAS,CAAC;EACZ;EACA,SAAS;GAEP,OAAO;IACL,OAAO;IAEP,MAAM;GACR;GACA,MAAM,CAAC;EACT;EACA,UAAU;GACR,MAAM,CAAC;GACP,OAAO,CAAC;EACV;CACF;CACA,eAAe;EAEb;GAAE,OAAO,CAAC,OAAO;GAAG,OAAO;GAAW,OAAO;EAAsB;EACnE;GAAE,OAAO,CAAC,OAAO;GAAG,OAAO;GAAa,OAAO;EAAwB;EACvE;GAAE,OAAO,CAAC,OAAO;GAAG,OAAO;GAAS,OAAO;EAAoB;EAC/D;GAAE,OAAO,CAAC,OAAO;GAAG,OAAO;GAAW,OAAO;EAAsB;EACnE;GAAE,OAAO,CAAC,OAAO;GAAG,OAAO;GAAQ,OAAO;EAAmB;EAC7D;GAAE,OAAO,CAAC,OAAO;GAAG,OAAO;GAAW,OAAO;EAAsB;EAGnE;GAAE,OAAO,CAAC,OAAO;GAAG,OAAO;GAAW,OAAO;EAAgD;EAC7F;GAAE,OAAO,CAAC,OAAO;GAAG,OAAO;GAAa,OAAO;EAAoD;EACnG;GAAE,OAAO,CAAC,OAAO;GAAG,OAAO;GAAS,OAAO;EAA4C;EACvF;GAAE,OAAO,CAAC,OAAO;GAAG,OAAO;GAAW,OAAO;EAAgD;EAC7F;GAAE,OAAO,CAAC,OAAO;GAAG,OAAO;GAAQ,OAAO;EAA0C;EACpF;GAAE,OAAO,CAAC,OAAO;GAAG,OAAO;GAAW,OAAO;EAAgD;CAC/F;CACA,kBAAkB;EAEhB;GAAE,SAAS;GAAM,OAAO;GAAW,OAAO,EAAE,MAAM,0BAA0B;EAAE;EAC9E;GAAE,SAAS;GAAM,OAAO;GAAa,OAAO,EAAE,MAAM,4BAA4B;EAAE;EAClF;GAAE,SAAS;GAAM,OAAO;GAAS,OAAO,EAAE,MAAM,wBAAwB;EAAE;EAC1E;GAAE,SAAS;GAAM,OAAO;GAAW,OAAO,EAAE,MAAM,0BAA0B;EAAE;EAC9E;GAAE,SAAS;GAAM,OAAO;GAAQ,OAAO,EAAE,MAAM,uBAAuB;EAAE;EACxE;GAAE,SAAS;GAAM,OAAO;GAAW,OAAO,EAAE,MAAM,0BAA0B;EAAE;EAE9E;GAAE,UAAU;GAAO,UAAU;GAAM,OAAO,EAAE,OAAO,QAAQ;EAAE;CAC/D;CACA,iBAAiB;EACf,aAAa;EACb,OAAO;EACP,SAAS;CACX;AACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuiSwitch.js","names":[],"sources":["../../../../src/components/forms/switch/RuiSwitch.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ContextColorsType } from '@/consts/colors';\nimport RuiFormTextDetail from '@/components/helpers/RuiFormTextDetail.vue';\nimport { useFormTextDetail } from '@/utils/form-text-detail';\nimport { getNonRootAttrs, getRootAttrs } from '@/utils/helpers';\nimport { tv } from '@/utils/tv';\n\nexport interface Props {\n disabled?: boolean;\n color?: ContextColorsType;\n size?: 'sm';\n label?: string;\n hint?: string;\n errorMessages?: string | string[];\n successMessages?: string | string[];\n hideDetails?: boolean;\n required?: boolean;\n}\n\ndefineOptions({\n name: 'RuiSwitch',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<boolean>({ default: false });\n\nconst {\n disabled = false,\n color = undefined,\n size = undefined,\n label = '',\n hint = '',\n errorMessages = [],\n successMessages = [],\n hideDetails = false,\n required = false,\n} = defineProps<Props>();\n\ndefineSlots<{\n default?: () => any;\n}>();\n\nconst switchStyles = tv({\n slots: {\n wrapper: 'relative flex gap-
|
|
1
|
+
{"version":3,"file":"RuiSwitch.js","names":[],"sources":["../../../../src/components/forms/switch/RuiSwitch.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ContextColorsType } from '@/consts/colors';\nimport RuiFormTextDetail from '@/components/helpers/RuiFormTextDetail.vue';\nimport { useFormTextDetail } from '@/utils/form-text-detail';\nimport { getNonRootAttrs, getRootAttrs } from '@/utils/helpers';\nimport { tv } from '@/utils/tv';\n\nexport interface Props {\n disabled?: boolean;\n color?: ContextColorsType;\n size?: 'sm';\n label?: string;\n hint?: string;\n errorMessages?: string | string[];\n successMessages?: string | string[];\n hideDetails?: boolean;\n required?: boolean;\n}\n\ndefineOptions({\n name: 'RuiSwitch',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<boolean>({ default: false });\n\nconst {\n disabled = false,\n color = undefined,\n size = undefined,\n label = '',\n hint = '',\n errorMessages = [],\n successMessages = [],\n hideDetails = false,\n required = false,\n} = defineProps<Props>();\n\ndefineSlots<{\n default?: () => any;\n}>();\n\nconst switchStyles = tv({\n slots: {\n // 13px to the label, the gap a checkbox or radio leaves, so the focus ring clears the text\n wrapper: 'relative flex gap-3.25 items-start cursor-pointer group/switch',\n // 40 × 22, nudged down a pixel to sit centred on the label's 24px line\n inner: 'relative w-10 h-5.5 mt-px shrink-0',\n // the off track is the control edge color, 3:1 against the page in both themes\n input: 'peer appearance-none relative w-full h-full rounded-full bg-rui-outline transition-colors duration-150 cursor-pointer focus-visible:focus-ring',\n toggle: [\n 'absolute size-4.5 transition-all duration-75 ease-in-out -translate-y-1/2 top-1/2 rounded-full pointer-events-none',\n 'bg-white left-0.5 shadow-rui-control',\n ].join(' '),\n label: 'text-rui-text text-sm/6',\n },\n variants: {\n checked: {\n true: {\n toggle: 'left-5',\n },\n false: {},\n },\n disabled: {\n true: {\n wrapper: 'cursor-not-allowed',\n input: 'bg-rui-neutral-200! dark:bg-rui-neutral-800! cursor-not-allowed',\n toggle: 'bg-rui-neutral-50! dark:bg-rui-neutral-600! shadow-none!',\n label: 'text-rui-text-disabled',\n },\n },\n size: {\n sm: {\n inner: 'w-8.5 h-4.5 mt-0.75',\n toggle: 'size-3.5',\n },\n },\n // a ring and the message below mark the state; a filled red or green track would read as \"on\"\n validation: {\n error: {\n input: 'ring-1 ring-rui-error',\n },\n success: {\n input: 'ring-1 ring-rui-success',\n },\n },\n color: {\n primary: {},\n secondary: {},\n error: {},\n warning: {},\n info: {},\n success: {},\n },\n },\n compoundVariants: [\n { checked: false, disabled: false, class: { input: 'group-hover/switch:bg-rui-neutral-500 dark:group-hover/switch:bg-rui-neutral-400' } },\n\n // Checked (no color): an inverted neutral track, with a dark knob in dark mode\n { checked: true, disabled: false, class: { input: 'bg-rui-neutral-900 dark:bg-rui-neutral-100', toggle: 'dark:bg-rui-neutral-900' } },\n\n // Checked + color: a solid track with the white knob, in both themes\n { checked: true, disabled: false, color: 'primary', class: { input: 'bg-rui-primary dark:bg-rui-primary', toggle: 'dark:bg-white' } },\n { checked: true, disabled: false, color: 'secondary', class: { input: 'bg-rui-secondary dark:bg-rui-secondary', toggle: 'dark:bg-white' } },\n // a status color's dark `main` is a text tone, so the track takes the deep `darker` under the white knob\n { checked: true, disabled: false, color: 'error', class: { input: 'bg-rui-error dark:bg-rui-error-darker', toggle: 'dark:bg-white' } },\n { checked: true, disabled: false, color: 'warning', class: { input: 'bg-rui-warning dark:bg-rui-warning-darker', toggle: 'dark:bg-white' } },\n { checked: true, disabled: false, color: 'info', class: { input: 'bg-rui-info dark:bg-rui-info-darker', toggle: 'dark:bg-white' } },\n { checked: true, disabled: false, color: 'success', class: { input: 'bg-rui-success dark:bg-rui-success-darker', toggle: 'dark:bg-white' } },\n\n // Size sm + checked: 34 - 14 - 2\n { size: 'sm', checked: true, class: { toggle: 'left-4.5' } },\n ],\n defaultVariants: {\n checked: false,\n disabled: false,\n },\n});\n\nconst { hasError, validation } = useFormTextDetail(\n () => errorMessages,\n () => successMessages,\n);\n\nconst ui = computed<ReturnType<typeof switchStyles>>(() => switchStyles({\n checked: get(modelValue),\n disabled,\n size,\n validation: get(validation),\n color,\n}));\n\nfunction input(event: Event): void {\n const target = event.target;\n if (target instanceof HTMLInputElement)\n set(modelValue, target.checked);\n}\n</script>\n\n<template>\n <div v-bind=\"getRootAttrs($attrs)\">\n <label\n :class=\"ui.wrapper()\"\n :data-disabled=\"disabled || undefined\"\n :data-checked=\"modelValue || undefined\"\n :data-error=\"hasError ? '' : undefined\"\n >\n <div :class=\"ui.inner()\">\n <input\n :checked=\"modelValue\"\n type=\"checkbox\"\n :class=\"ui.input()\"\n :disabled=\"disabled\"\n :aria-invalid=\"hasError\"\n v-bind=\"getNonRootAttrs($attrs)\"\n @input=\"input($event)\"\n />\n <div :class=\"ui.toggle()\" />\n </div>\n <span\n v-if=\"label || $slots.default\"\n :class=\"ui.label()\"\n >\n <slot>{{ label }}</slot>\n <span\n v-if=\"required\"\n class=\"text-rui-error\"\n >\n *\n </span>\n </span>\n </label>\n <RuiFormTextDetail\n v-if=\"!hideDetails\"\n class=\"pt-1\"\n :error-messages=\"errorMessages\"\n :success-messages=\"successMessages\"\n :hint=\"hint\"\n />\n </div>\n</template>\n"],"mappings":""}
|
|
@@ -54,45 +54,30 @@ var RuiSwitch_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
|
|
|
54
54
|
const modelValue = useModel(__props, "modelValue");
|
|
55
55
|
const switchStyles = tv({
|
|
56
56
|
slots: {
|
|
57
|
-
wrapper: "relative flex gap-
|
|
58
|
-
inner: "relative w-
|
|
59
|
-
input: "peer appearance-none relative w-full h-full rounded-full bg-rui-
|
|
60
|
-
toggle: [
|
|
61
|
-
|
|
62
|
-
"bg-white left-0.5",
|
|
63
|
-
`before:content-[''] before:absolute before:size-10 before:bg-black dark:before:bg-white before:rounded-full`,
|
|
64
|
-
"before:top-1/2 before:left-1/2 before:-translate-x-1/2 before:-translate-y-1/2 before:transition-all before:ease-in-out before:opacity-0",
|
|
65
|
-
"peer-active:before:opacity-20",
|
|
66
|
-
"group-hover/switch:shadow-1"
|
|
67
|
-
].join(" "),
|
|
68
|
-
label: "text-rui-text text-body-1"
|
|
57
|
+
wrapper: "relative flex gap-3.25 items-start cursor-pointer group/switch",
|
|
58
|
+
inner: "relative w-10 h-5.5 mt-px shrink-0",
|
|
59
|
+
input: "peer appearance-none relative w-full h-full rounded-full bg-rui-outline transition-colors duration-150 cursor-pointer focus-visible:focus-ring",
|
|
60
|
+
toggle: ["absolute size-4.5 transition-all duration-75 ease-in-out -translate-y-1/2 top-1/2 rounded-full pointer-events-none", "bg-white left-0.5 shadow-rui-control"].join(" "),
|
|
61
|
+
label: "text-rui-text text-sm/6"
|
|
69
62
|
},
|
|
70
63
|
variants: {
|
|
71
64
|
checked: {
|
|
72
|
-
true: { toggle: "left-
|
|
65
|
+
true: { toggle: "left-5" },
|
|
73
66
|
false: {}
|
|
74
67
|
},
|
|
75
68
|
disabled: { true: {
|
|
76
69
|
wrapper: "cursor-not-allowed",
|
|
77
|
-
input: "
|
|
78
|
-
toggle: "
|
|
70
|
+
input: "bg-rui-neutral-200! dark:bg-rui-neutral-800! cursor-not-allowed",
|
|
71
|
+
toggle: "bg-rui-neutral-50! dark:bg-rui-neutral-600! shadow-none!",
|
|
79
72
|
label: "text-rui-text-disabled"
|
|
80
73
|
} },
|
|
81
74
|
size: { sm: {
|
|
82
|
-
inner: "w-
|
|
83
|
-
toggle: "
|
|
75
|
+
inner: "w-8.5 h-4.5 mt-0.75",
|
|
76
|
+
toggle: "size-3.5"
|
|
84
77
|
} },
|
|
85
78
|
validation: {
|
|
86
|
-
error: {
|
|
87
|
-
|
|
88
|
-
label: "text-rui-error",
|
|
89
|
-
toggle: "dark:!bg-rui-error"
|
|
90
|
-
},
|
|
91
|
-
success: {
|
|
92
|
-
input: "!bg-rui-success dark:!bg-rui-success/[0.5]",
|
|
93
|
-
label: "text-rui-success",
|
|
94
|
-
toggle: "dark:!bg-rui-success"
|
|
95
|
-
}
|
|
79
|
+
error: { input: "ring-1 ring-rui-error" },
|
|
80
|
+
success: { input: "ring-1 ring-rui-success" }
|
|
96
81
|
},
|
|
97
82
|
color: {
|
|
98
83
|
primary: {},
|
|
@@ -105,22 +90,25 @@ var RuiSwitch_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
|
|
|
105
90
|
},
|
|
106
91
|
compoundVariants: [
|
|
107
92
|
{
|
|
108
|
-
checked:
|
|
93
|
+
checked: false,
|
|
109
94
|
disabled: false,
|
|
110
|
-
class: { input: "bg-
|
|
95
|
+
class: { input: "group-hover/switch:bg-rui-neutral-500 dark:group-hover/switch:bg-rui-neutral-400" }
|
|
111
96
|
},
|
|
112
97
|
{
|
|
113
98
|
checked: true,
|
|
114
99
|
disabled: false,
|
|
115
|
-
class: {
|
|
100
|
+
class: {
|
|
101
|
+
input: "bg-rui-neutral-900 dark:bg-rui-neutral-100",
|
|
102
|
+
toggle: "dark:bg-rui-neutral-900"
|
|
103
|
+
}
|
|
116
104
|
},
|
|
117
105
|
{
|
|
118
106
|
checked: true,
|
|
119
107
|
disabled: false,
|
|
120
108
|
color: "primary",
|
|
121
109
|
class: {
|
|
122
|
-
input: "bg-rui-primary dark:bg-rui-primary
|
|
123
|
-
toggle: "dark:bg-
|
|
110
|
+
input: "bg-rui-primary dark:bg-rui-primary",
|
|
111
|
+
toggle: "dark:bg-white"
|
|
124
112
|
}
|
|
125
113
|
},
|
|
126
114
|
{
|
|
@@ -128,8 +116,8 @@ var RuiSwitch_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
|
|
|
128
116
|
disabled: false,
|
|
129
117
|
color: "secondary",
|
|
130
118
|
class: {
|
|
131
|
-
input: "bg-rui-secondary dark:bg-rui-secondary
|
|
132
|
-
toggle: "dark:bg-
|
|
119
|
+
input: "bg-rui-secondary dark:bg-rui-secondary",
|
|
120
|
+
toggle: "dark:bg-white"
|
|
133
121
|
}
|
|
134
122
|
},
|
|
135
123
|
{
|
|
@@ -137,8 +125,8 @@ var RuiSwitch_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
|
|
|
137
125
|
disabled: false,
|
|
138
126
|
color: "error",
|
|
139
127
|
class: {
|
|
140
|
-
input: "bg-rui-error dark:bg-rui-error
|
|
141
|
-
toggle: "dark:bg-
|
|
128
|
+
input: "bg-rui-error dark:bg-rui-error-darker",
|
|
129
|
+
toggle: "dark:bg-white"
|
|
142
130
|
}
|
|
143
131
|
},
|
|
144
132
|
{
|
|
@@ -146,8 +134,8 @@ var RuiSwitch_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
|
|
|
146
134
|
disabled: false,
|
|
147
135
|
color: "warning",
|
|
148
136
|
class: {
|
|
149
|
-
input: "bg-rui-warning dark:bg-rui-warning
|
|
150
|
-
toggle: "dark:bg-
|
|
137
|
+
input: "bg-rui-warning dark:bg-rui-warning-darker",
|
|
138
|
+
toggle: "dark:bg-white"
|
|
151
139
|
}
|
|
152
140
|
},
|
|
153
141
|
{
|
|
@@ -155,8 +143,8 @@ var RuiSwitch_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
|
|
|
155
143
|
disabled: false,
|
|
156
144
|
color: "info",
|
|
157
145
|
class: {
|
|
158
|
-
input: "bg-rui-info dark:bg-rui-info
|
|
159
|
-
toggle: "dark:bg-
|
|
146
|
+
input: "bg-rui-info dark:bg-rui-info-darker",
|
|
147
|
+
toggle: "dark:bg-white"
|
|
160
148
|
}
|
|
161
149
|
},
|
|
162
150
|
{
|
|
@@ -164,14 +152,14 @@ var RuiSwitch_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
|
|
|
164
152
|
disabled: false,
|
|
165
153
|
color: "success",
|
|
166
154
|
class: {
|
|
167
|
-
input: "bg-rui-success dark:bg-rui-success
|
|
168
|
-
toggle: "dark:bg-
|
|
155
|
+
input: "bg-rui-success dark:bg-rui-success-darker",
|
|
156
|
+
toggle: "dark:bg-white"
|
|
169
157
|
}
|
|
170
158
|
},
|
|
171
159
|
{
|
|
172
160
|
size: "sm",
|
|
173
161
|
checked: true,
|
|
174
|
-
class: { toggle: "left-
|
|
162
|
+
class: { toggle: "left-4.5" }
|
|
175
163
|
}
|
|
176
164
|
],
|
|
177
165
|
defaultVariants: {
|
|
@@ -206,7 +194,7 @@ var RuiSwitch_vue_vue_type_script_setup_true_lang_default = /*@__PURE__*/ define
|
|
|
206
194
|
}, unref(getNonRootAttrs)(_ctx.$attrs), { onInput: _cache[0] || (_cache[0] = ($event) => input($event)) }), null, 16, _hoisted_2), createElementVNode("div", { class: normalizeClass(unref(ui).toggle()) }, null, 2)], 2), __props.label || _ctx.$slots.default ? (openBlock(), createElementBlock("span", {
|
|
207
195
|
key: 0,
|
|
208
196
|
class: normalizeClass(unref(ui).label())
|
|
209
|
-
}, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(__props.label), 1)]), __props.required ? (openBlock(), createElementBlock("span", _hoisted_3, "
|
|
197
|
+
}, [renderSlot(_ctx.$slots, "default", {}, () => [createTextVNode(toDisplayString(__props.label), 1)]), __props.required ? (openBlock(), createElementBlock("span", _hoisted_3, " * ")) : createCommentVNode("", true)], 2)) : createCommentVNode("", true)], 10, _hoisted_1), !__props.hideDetails ? (openBlock(), createBlock(RuiFormTextDetail_default, {
|
|
210
198
|
key: 0,
|
|
211
199
|
class: "pt-1",
|
|
212
200
|
"error-messages": __props.errorMessages,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuiSwitch.vue_vue_type_script_setup_true_lang.js","names":["$attrs","$slots"],"sources":["../../../../src/components/forms/switch/RuiSwitch.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ContextColorsType } from '@/consts/colors';\nimport RuiFormTextDetail from '@/components/helpers/RuiFormTextDetail.vue';\nimport { useFormTextDetail } from '@/utils/form-text-detail';\nimport { getNonRootAttrs, getRootAttrs } from '@/utils/helpers';\nimport { tv } from '@/utils/tv';\n\nexport interface Props {\n disabled?: boolean;\n color?: ContextColorsType;\n size?: 'sm';\n label?: string;\n hint?: string;\n errorMessages?: string | string[];\n successMessages?: string | string[];\n hideDetails?: boolean;\n required?: boolean;\n}\n\ndefineOptions({\n name: 'RuiSwitch',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<boolean>({ default: false });\n\nconst {\n disabled = false,\n color = undefined,\n size = undefined,\n label = '',\n hint = '',\n errorMessages = [],\n successMessages = [],\n hideDetails = false,\n required = false,\n} = defineProps<Props>();\n\ndefineSlots<{\n default?: () => any;\n}>();\n\nconst switchStyles = tv({\n slots: {\n wrapper: 'relative flex gap-
|
|
1
|
+
{"version":3,"file":"RuiSwitch.vue_vue_type_script_setup_true_lang.js","names":["$attrs","$slots"],"sources":["../../../../src/components/forms/switch/RuiSwitch.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ContextColorsType } from '@/consts/colors';\nimport RuiFormTextDetail from '@/components/helpers/RuiFormTextDetail.vue';\nimport { useFormTextDetail } from '@/utils/form-text-detail';\nimport { getNonRootAttrs, getRootAttrs } from '@/utils/helpers';\nimport { tv } from '@/utils/tv';\n\nexport interface Props {\n disabled?: boolean;\n color?: ContextColorsType;\n size?: 'sm';\n label?: string;\n hint?: string;\n errorMessages?: string | string[];\n successMessages?: string | string[];\n hideDetails?: boolean;\n required?: boolean;\n}\n\ndefineOptions({\n name: 'RuiSwitch',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<boolean>({ default: false });\n\nconst {\n disabled = false,\n color = undefined,\n size = undefined,\n label = '',\n hint = '',\n errorMessages = [],\n successMessages = [],\n hideDetails = false,\n required = false,\n} = defineProps<Props>();\n\ndefineSlots<{\n default?: () => any;\n}>();\n\nconst switchStyles = tv({\n slots: {\n // 13px to the label, the gap a checkbox or radio leaves, so the focus ring clears the text\n wrapper: 'relative flex gap-3.25 items-start cursor-pointer group/switch',\n // 40 × 22, nudged down a pixel to sit centred on the label's 24px line\n inner: 'relative w-10 h-5.5 mt-px shrink-0',\n // the off track is the control edge color, 3:1 against the page in both themes\n input: 'peer appearance-none relative w-full h-full rounded-full bg-rui-outline transition-colors duration-150 cursor-pointer focus-visible:focus-ring',\n toggle: [\n 'absolute size-4.5 transition-all duration-75 ease-in-out -translate-y-1/2 top-1/2 rounded-full pointer-events-none',\n 'bg-white left-0.5 shadow-rui-control',\n ].join(' '),\n label: 'text-rui-text text-sm/6',\n },\n variants: {\n checked: {\n true: {\n toggle: 'left-5',\n },\n false: {},\n },\n disabled: {\n true: {\n wrapper: 'cursor-not-allowed',\n input: 'bg-rui-neutral-200! dark:bg-rui-neutral-800! cursor-not-allowed',\n toggle: 'bg-rui-neutral-50! dark:bg-rui-neutral-600! shadow-none!',\n label: 'text-rui-text-disabled',\n },\n },\n size: {\n sm: {\n inner: 'w-8.5 h-4.5 mt-0.75',\n toggle: 'size-3.5',\n },\n },\n // a ring and the message below mark the state; a filled red or green track would read as \"on\"\n validation: {\n error: {\n input: 'ring-1 ring-rui-error',\n },\n success: {\n input: 'ring-1 ring-rui-success',\n },\n },\n color: {\n primary: {},\n secondary: {},\n error: {},\n warning: {},\n info: {},\n success: {},\n },\n },\n compoundVariants: [\n { checked: false, disabled: false, class: { input: 'group-hover/switch:bg-rui-neutral-500 dark:group-hover/switch:bg-rui-neutral-400' } },\n\n // Checked (no color): an inverted neutral track, with a dark knob in dark mode\n { checked: true, disabled: false, class: { input: 'bg-rui-neutral-900 dark:bg-rui-neutral-100', toggle: 'dark:bg-rui-neutral-900' } },\n\n // Checked + color: a solid track with the white knob, in both themes\n { checked: true, disabled: false, color: 'primary', class: { input: 'bg-rui-primary dark:bg-rui-primary', toggle: 'dark:bg-white' } },\n { checked: true, disabled: false, color: 'secondary', class: { input: 'bg-rui-secondary dark:bg-rui-secondary', toggle: 'dark:bg-white' } },\n // a status color's dark `main` is a text tone, so the track takes the deep `darker` under the white knob\n { checked: true, disabled: false, color: 'error', class: { input: 'bg-rui-error dark:bg-rui-error-darker', toggle: 'dark:bg-white' } },\n { checked: true, disabled: false, color: 'warning', class: { input: 'bg-rui-warning dark:bg-rui-warning-darker', toggle: 'dark:bg-white' } },\n { checked: true, disabled: false, color: 'info', class: { input: 'bg-rui-info dark:bg-rui-info-darker', toggle: 'dark:bg-white' } },\n { checked: true, disabled: false, color: 'success', class: { input: 'bg-rui-success dark:bg-rui-success-darker', toggle: 'dark:bg-white' } },\n\n // Size sm + checked: 34 - 14 - 2\n { size: 'sm', checked: true, class: { toggle: 'left-4.5' } },\n ],\n defaultVariants: {\n checked: false,\n disabled: false,\n },\n});\n\nconst { hasError, validation } = useFormTextDetail(\n () => errorMessages,\n () => successMessages,\n);\n\nconst ui = computed<ReturnType<typeof switchStyles>>(() => switchStyles({\n checked: get(modelValue),\n disabled,\n size,\n validation: get(validation),\n color,\n}));\n\nfunction input(event: Event): void {\n const target = event.target;\n if (target instanceof HTMLInputElement)\n set(modelValue, target.checked);\n}\n</script>\n\n<template>\n <div v-bind=\"getRootAttrs($attrs)\">\n <label\n :class=\"ui.wrapper()\"\n :data-disabled=\"disabled || undefined\"\n :data-checked=\"modelValue || undefined\"\n :data-error=\"hasError ? '' : undefined\"\n >\n <div :class=\"ui.inner()\">\n <input\n :checked=\"modelValue\"\n type=\"checkbox\"\n :class=\"ui.input()\"\n :disabled=\"disabled\"\n :aria-invalid=\"hasError\"\n v-bind=\"getNonRootAttrs($attrs)\"\n @input=\"input($event)\"\n />\n <div :class=\"ui.toggle()\" />\n </div>\n <span\n v-if=\"label || $slots.default\"\n :class=\"ui.label()\"\n >\n <slot>{{ label }}</slot>\n <span\n v-if=\"required\"\n class=\"text-rui-error\"\n >\n *\n </span>\n </span>\n </label>\n <RuiFormTextDetail\n v-if=\"!hideDetails\"\n class=\"pt-1\"\n :error-messages=\"errorMessages\"\n :success-messages=\"successMessages\"\n :hint=\"hint\"\n />\n </div>\n</template>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RuiTextArea.js","names":[],"sources":["../../../../src/components/forms/text-area/RuiTextArea.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ContextColorsType } from '@/consts/colors';\nimport type { RuiIcons } from '@/icons';\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\nimport { textAreaStyles
|
|
1
|
+
{"version":3,"file":"RuiTextArea.js","names":[],"sources":["../../../../src/components/forms/text-area/RuiTextArea.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { ContextColorsType } from '@/consts/colors';\nimport type { RuiIcons } from '@/icons';\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\nimport RuiFieldLabel from '@/components/forms/field-label/RuiFieldLabel.vue';\nimport { textAreaStyles } from '@/components/forms/text-area/text-area-styles';\nimport RuiFormTextDetail from '@/components/helpers/RuiFormTextDetail.vue';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\nimport { type LabelPlacement, useLabelPlacement } from '@/composables/defaults/field';\nimport { usePrependAppendWidth } from '@/composables/forms/use-prepend-append-width';\nimport { useTimeoutManager } from '@/composables/timeout-manager';\nimport { useFormTextDetail } from '@/utils/form-text-detail';\nimport { getNonRootAttrs, getRootAttrs } from '@/utils/helpers';\n\nexport interface TextAreaProps {\n label?: string;\n placeholder?: string;\n disabled?: boolean;\n /** Where the label shows; falls back to the nearest `RuiFieldDefaults`, then the app default, then `top`. */\n labelPlacement?: LabelPlacement;\n color?: ContextColorsType;\n textColor?: ContextColorsType;\n dense?: boolean;\n hint?: string;\n errorMessages?: string | string[];\n successMessages?: string | string[];\n hideDetails?: boolean;\n prependIcon?: RuiIcons;\n appendIcon?: RuiIcons;\n readonly?: boolean;\n clearable?: boolean;\n noResize?: boolean;\n minRows?: number | string;\n maxRows?: number | string;\n rowHeight?: number | string;\n autoGrow?: boolean;\n required?: boolean;\n}\n\ndefineOptions({\n name: 'RuiTextArea',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<string>({ required: true });\n\nconst {\n label = '',\n placeholder = '',\n disabled = false,\n labelPlacement = undefined,\n color = undefined,\n textColor = undefined,\n dense = false,\n hint = '',\n errorMessages = [],\n successMessages = [],\n hideDetails = false,\n prependIcon = undefined,\n appendIcon = undefined,\n readonly = false,\n clearable = false,\n noResize = false,\n minRows = 2,\n rowHeight = 1.5,\n maxRows = undefined,\n autoGrow = false,\n required = false,\n} = defineProps<TextAreaProps>();\n\nconst emit = defineEmits<{\n 'click:clear': [];\n}>();\n\ndefineSlots<{\n prepend?: () => any;\n append?: () => any;\n}>();\n\nconst isHovered = ref<boolean>(false);\nconst showClearButton = ref<boolean>(false);\n\nconst prepend = useTemplateRef<HTMLDivElement>('prepend');\nconst append = useTemplateRef<HTMLDivElement>('append');\nconst textarea = useTemplateRef<HTMLTextAreaElement>('textarea');\nconst textareaSizer = useTemplateRef<HTMLTextAreaElement>('textareaSizer');\n\nconst generatedId = useId();\nconst attrs = useAttrs();\n\nconst { focused } = useFocus(textarea);\nconst placement = useLabelPlacement(() => labelPlacement);\nconst { clear: cancelClearHide, create: delayClearHide } = useTimeoutManager();\nconst { prependWidth, appendWidth } = usePrependAppendWidth(prepend, append, 24);\nconst { hasError, hasSuccess, hasMessages, validation } = useFormTextDetail(\n () => errorMessages,\n () => successMessages,\n);\n\nconst textareaId = computed<string>(() => {\n const id = attrs.id;\n return typeof id === 'string' && id ? id : generatedId;\n});\n\nconst showClearIcon = computed<boolean>(() => clearable && !!get(modelValue) && !disabled && !readonly);\n\nconst effectiveTextColor = computed<ContextColorsType | undefined>(() => {\n if (get(hasError))\n return 'error';\n if (get(hasSuccess))\n return 'success';\n if (textColor && !get(hasMessages))\n return textColor;\n return undefined;\n});\n\nconst effectiveColor = computed<ContextColorsType | undefined>(() => get(validation) ?? color);\n\nconst ui = computed<ReturnType<typeof textAreaStyles>>(() => textAreaStyles({\n dense,\n disabled,\n readonly,\n noResize,\n hovered: get(isHovered),\n focused: get(focused),\n color: get(effectiveColor),\n textColor: get(effectiveTextColor),\n validation: get(validation),\n}));\n\nconst wrapperStyle = computed<Record<string, string>>(() => ({\n '--prepend-w': get(prependWidth),\n '--append-w': get(appendWidth),\n}));\n\nconst fieldStyles = computed<{ minHeight: string; maxHeight?: string }>(() => {\n const height = Number(rowHeight);\n const min = Number(minRows);\n const max = Number(maxRows);\n const value: { minHeight: string; maxHeight?: string } = {\n minHeight: `${min * height + 0.75}rem`,\n };\n if (max)\n value.maxHeight = `${max * height + 0.75}rem`;\n\n return value;\n});\n\nfunction clearIconClicked(): void {\n set(modelValue, '');\n emit('click:clear');\n}\n\nfunction computeFieldHeight(newVal?: string, oldVal?: string): void {\n if (!autoGrow)\n return;\n\n const field = get(textarea);\n const fieldValue = newVal ?? get(modelValue);\n const fieldSizer = get(textareaSizer);\n if (!(field && fieldSizer))\n return;\n\n nextTick(() => {\n const sizerHeight = fieldSizer.scrollHeight;\n const fieldHeight = field.scrollHeight;\n let height = `${Math.max(sizerHeight, fieldHeight) / 16}rem`;\n if (oldVal && oldVal.length > fieldValue.length)\n height = `${Math.min(sizerHeight, fieldHeight) / 16}rem`;\n\n field.style.height = height;\n });\n}\n\nwatch(focused, (value) => {\n if (value) {\n // a refocus within the delay keeps the button\n cancelClearHide();\n set(showClearButton, true);\n }\n else {\n delayClearHide(() => set(showClearButton, false), 500);\n }\n});\n\nwatchDebounced(modelValue, computeFieldHeight, { debounce: 50 });\n\nonMounted(computeFieldHeight);\n\ndefineExpose({\n focus: () => get(textarea)?.focus(),\n element: textarea,\n});\n</script>\n\n<template>\n <div v-bind=\"getRootAttrs($attrs)\">\n <RuiFieldLabel\n v-if=\"label\"\n :text=\"label\"\n :for=\"textareaId\"\n :hidden=\"placement === 'hidden'\"\n :required=\"required\"\n :disabled=\"disabled\"\n />\n <div\n :class=\"ui.wrapper()\"\n :style=\"wrapperStyle\"\n data-id=\"wrapper\"\n @mouseenter=\"isHovered = true\"\n @mouseleave=\"isHovered = false\"\n >\n <div\n v-if=\"$slots.prepend || prependIcon\"\n ref=\"prepend\"\n :class=\"ui.prepend()\"\n data-id=\"prepend\"\n >\n <slot\n v-if=\"$slots.prepend\"\n name=\"prepend\"\n />\n <div\n v-else-if=\"prependIcon\"\n :class=\"ui.icon()\"\n >\n <RuiIcon\n :name=\"prependIcon\"\n :size=\"18\"\n />\n </div>\n </div>\n <div :class=\"ui.inputWrapper()\">\n <textarea\n v-if=\"autoGrow\"\n ref=\"textareaSizer\"\n :value=\"modelValue\"\n :class=\"ui.textareaSizer()\"\n :style=\"fieldStyles\"\n aria-hidden=\"true\"\n disabled\n readonly\n />\n <textarea\n :id=\"textareaId\"\n ref=\"textarea\"\n v-model=\"modelValue\"\n :placeholder=\"placeholder || ' '\"\n :class=\"ui.textarea()\"\n :style=\"fieldStyles\"\n :disabled=\"disabled\"\n :readonly=\"readonly\"\n :aria-invalid=\"hasError\"\n v-bind=\"getNonRootAttrs($attrs)\"\n />\n <fieldset :class=\"ui.fieldset()\" />\n </div>\n <div\n v-if=\"$slots.append || appendIcon || showClearIcon\"\n ref=\"append\"\n :class=\"ui.append()\"\n data-id=\"append\"\n >\n <RuiButton\n v-if=\"showClearIcon\"\n :class=\"[ui.clearButton(), { hidden: !showClearButton }]\"\n variant=\"text\"\n type=\"button\"\n icon\n data-id=\"clear-btn\"\n aria-label=\"Clear\"\n tabindex=\"-1\"\n @click.stop=\"clearIconClicked()\"\n >\n <RuiIcon\n name=\"lu-x\"\n size=\"16\"\n />\n </RuiButton>\n <slot\n v-if=\"$slots.append\"\n name=\"append\"\n />\n <div\n v-else-if=\"appendIcon\"\n :class=\"ui.icon()\"\n >\n <RuiIcon\n :name=\"appendIcon\"\n :size=\"18\"\n />\n </div>\n </div>\n </div>\n <RuiFormTextDetail\n v-if=\"!hideDetails\"\n :class=\"ui.details()\"\n :error-messages=\"errorMessages\"\n :success-messages=\"successMessages\"\n :hint=\"hint\"\n />\n </div>\n</template>\n"],"mappings":""}
|