@rotki/ui-library 2.8.1 → 2.8.3
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/README.md +276 -0
- package/dist/_virtual/_plugin-vue_export-helper.js +11 -0
- package/dist/_virtual/_plugin-vue_export-helper.js.map +1 -0
- package/dist/components/accordions/accordion/RuiAccordion.vue.js +11 -0
- package/dist/components/accordions/accordion/RuiAccordion.vue.js.map +1 -0
- package/dist/components/accordions/accordion/RuiAccordion.vue2.js +66 -0
- package/dist/components/accordions/accordion/RuiAccordion.vue2.js.map +1 -0
- package/dist/components/accordions/accordion/RuiAccordion.vue3.js +18 -0
- package/dist/components/accordions/accordion/RuiAccordion.vue3.js.map +1 -0
- package/dist/components/accordions/accordions/RuiAccordions.vue.js +78 -0
- package/dist/components/accordions/accordions/RuiAccordions.vue.js.map +1 -0
- package/dist/components/accordions/accordions/RuiAccordions.vue2.js +5 -0
- package/dist/components/accordions/accordions/RuiAccordions.vue2.js.map +1 -0
- package/dist/components/alerts/RuiAlert.vue.d.ts +2 -2
- package/dist/components/alerts/RuiAlert.vue.js +11 -0
- package/dist/components/alerts/RuiAlert.vue.js.map +1 -0
- package/dist/components/alerts/RuiAlert.vue2.js +123 -0
- package/dist/components/alerts/RuiAlert.vue2.js.map +1 -0
- package/dist/components/alerts/RuiAlert.vue3.js +50 -0
- package/dist/components/alerts/RuiAlert.vue3.js.map +1 -0
- package/dist/components/buttons/button/RuiButton.vue.d.ts +1 -1
- package/dist/components/buttons/button/RuiButton.vue.js +11 -0
- package/dist/components/buttons/button/RuiButton.vue.js.map +1 -0
- package/dist/components/buttons/button/RuiButton.vue2.js +94 -0
- package/dist/components/buttons/button/RuiButton.vue2.js.map +1 -0
- package/dist/components/buttons/button/RuiButton.vue3.js +74 -0
- package/dist/components/buttons/button/RuiButton.vue3.js.map +1 -0
- package/dist/components/buttons/button-group/RuiButtonGroup.vue.d.ts +1 -1
- package/dist/components/buttons/button-group/RuiButtonGroup.vue.js +11 -0
- package/dist/components/buttons/button-group/RuiButtonGroup.vue.js.map +1 -0
- package/dist/components/buttons/button-group/RuiButtonGroup.vue2.js +112 -0
- package/dist/components/buttons/button-group/RuiButtonGroup.vue2.js.map +1 -0
- package/dist/components/buttons/button-group/RuiButtonGroup.vue3.js +58 -0
- package/dist/components/buttons/button-group/RuiButtonGroup.vue3.js.map +1 -0
- package/dist/components/calendar/RuiCalendar.vue.js +128 -0
- package/dist/components/calendar/RuiCalendar.vue.js.map +1 -0
- package/dist/components/calendar/RuiCalendar.vue3.js +6 -0
- package/dist/components/calendar/RuiCalendar.vue3.js.map +1 -0
- package/dist/components/calendar/RuiCalendarGrid.vue.js +8 -0
- package/dist/components/calendar/RuiCalendarGrid.vue.js.map +1 -0
- package/dist/components/calendar/RuiCalendarGrid.vue2.js +149 -0
- package/dist/components/calendar/RuiCalendarGrid.vue2.js.map +1 -0
- package/dist/components/calendar/RuiCalendarHeader.vue.d.ts +1 -1
- package/dist/components/calendar/RuiCalendarHeader.vue.js +8 -0
- package/dist/components/calendar/RuiCalendarHeader.vue.js.map +1 -0
- package/dist/components/calendar/RuiCalendarHeader.vue2.js +112 -0
- package/dist/components/calendar/RuiCalendarHeader.vue2.js.map +1 -0
- package/dist/components/calendar/RuiCalendarMenu.vue.d.ts +1 -1
- package/dist/components/calendar/RuiCalendarMenu.vue.js +8 -0
- package/dist/components/calendar/RuiCalendarMenu.vue.js.map +1 -0
- package/dist/components/calendar/RuiCalendarMenu.vue2.js +261 -0
- package/dist/components/calendar/RuiCalendarMenu.vue2.js.map +1 -0
- package/dist/components/calendar/state.js +25 -0
- package/dist/components/calendar/state.js.map +1 -0
- package/dist/components/cards/RuiCard.vue.js +11 -0
- package/dist/components/cards/RuiCard.vue.js.map +1 -0
- package/dist/components/cards/RuiCard.vue2.js +88 -0
- package/dist/components/cards/RuiCard.vue2.js.map +1 -0
- package/dist/components/cards/RuiCard.vue3.js +40 -0
- package/dist/components/cards/RuiCard.vue3.js.map +1 -0
- package/dist/components/cards/RuiCardHeader.vue.js +11 -0
- package/dist/components/cards/RuiCardHeader.vue.js.map +1 -0
- package/dist/components/cards/RuiCardHeader.vue2.js +51 -0
- package/dist/components/cards/RuiCardHeader.vue2.js.map +1 -0
- package/dist/components/cards/RuiCardHeader.vue3.js +27 -0
- package/dist/components/cards/RuiCardHeader.vue3.js.map +1 -0
- package/dist/components/chips/RuiChip.vue.d.ts +2 -2
- package/dist/components/chips/RuiChip.vue.js +11 -0
- package/dist/components/chips/RuiChip.vue.js.map +1 -0
- package/dist/components/chips/RuiChip.vue2.js +95 -0
- package/dist/components/chips/RuiChip.vue2.js.map +1 -0
- package/dist/components/chips/RuiChip.vue3.js +88 -0
- package/dist/components/chips/RuiChip.vue3.js.map +1 -0
- package/dist/components/color-picker/RuiColorBoard.vue.d.ts +1 -1
- package/dist/components/color-picker/RuiColorBoard.vue.js +11 -0
- package/dist/components/color-picker/RuiColorBoard.vue.js.map +1 -0
- package/dist/components/color-picker/RuiColorBoard.vue2.js +102 -0
- package/dist/components/color-picker/RuiColorBoard.vue2.js.map +1 -0
- package/dist/components/color-picker/RuiColorBoard.vue3.js +18 -0
- package/dist/components/color-picker/RuiColorBoard.vue3.js.map +1 -0
- package/dist/components/color-picker/RuiColorDisplay.vue.js +49 -0
- package/dist/components/color-picker/RuiColorDisplay.vue.js.map +1 -0
- package/dist/components/color-picker/RuiColorDisplay.vue2.js +5 -0
- package/dist/components/color-picker/RuiColorDisplay.vue2.js.map +1 -0
- package/dist/components/color-picker/RuiColorHue.vue.js +11 -0
- package/dist/components/color-picker/RuiColorHue.vue.js.map +1 -0
- package/dist/components/color-picker/RuiColorHue.vue2.js +89 -0
- package/dist/components/color-picker/RuiColorHue.vue2.js.map +1 -0
- package/dist/components/color-picker/RuiColorHue.vue3.js +12 -0
- package/dist/components/color-picker/RuiColorHue.vue3.js.map +1 -0
- package/dist/components/color-picker/RuiColorInput.vue.d.ts +1 -1
- package/dist/components/color-picker/RuiColorInput.vue.js +139 -0
- package/dist/components/color-picker/RuiColorInput.vue.js.map +1 -0
- package/dist/components/color-picker/RuiColorInput.vue2.js +5 -0
- package/dist/components/color-picker/RuiColorInput.vue2.js.map +1 -0
- package/dist/components/color-picker/RuiColorPicker.vue.js +72 -0
- package/dist/components/color-picker/RuiColorPicker.vue.js.map +1 -0
- package/dist/components/color-picker/RuiColorPicker.vue2.js +5 -0
- package/dist/components/color-picker/RuiColorPicker.vue2.js.map +1 -0
- package/dist/components/color-picker/utils.js +182 -0
- package/dist/components/color-picker/utils.js.map +1 -0
- package/dist/components/date-time-picker/RuiDateTimePicker.vue.d.ts +1 -1
- package/dist/components/date-time-picker/RuiDateTimePicker.vue.js +11 -0
- package/dist/components/date-time-picker/RuiDateTimePicker.vue.js.map +1 -0
- package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js +570 -0
- package/dist/components/date-time-picker/RuiDateTimePicker.vue2.js.map +1 -0
- package/dist/components/date-time-picker/RuiDateTimePicker.vue3.js +66 -0
- package/dist/components/date-time-picker/RuiDateTimePicker.vue3.js.map +1 -0
- package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.d.ts +2 -2
- package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.js +120 -0
- package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue.js.map +1 -0
- package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue2.js +5 -0
- package/dist/components/date-time-picker/RuiDateTimePickerMenu.vue2.js.map +1 -0
- package/dist/components/date-time-picker/timezones.js +601 -0
- package/dist/components/date-time-picker/timezones.js.map +1 -0
- package/dist/components/date-time-picker/types.js +17 -0
- package/dist/components/date-time-picker/types.js.map +1 -0
- package/dist/components/date-time-picker/use-input-handler.d.ts +2 -2
- package/dist/components/date-time-picker/use-input-handler.js +31 -0
- package/dist/components/date-time-picker/use-input-handler.js.map +1 -0
- package/dist/components/date-time-picker/use-keyboard-handler.d.ts +2 -2
- package/dist/components/date-time-picker/use-keyboard-handler.js +308 -0
- package/dist/components/date-time-picker/use-keyboard-handler.js.map +1 -0
- package/dist/components/date-time-picker/utils.d.ts +1 -1
- package/dist/components/date-time-picker/utils.js +19 -0
- package/dist/components/date-time-picker/utils.js.map +1 -0
- package/dist/components/divider/RuiDivider.vue.js +22 -0
- package/dist/components/divider/RuiDivider.vue.js.map +1 -0
- package/dist/components/divider/RuiDivider.vue2.js +5 -0
- package/dist/components/divider/RuiDivider.vue2.js.map +1 -0
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue.d.ts +2 -2
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue.js +11 -0
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue.js.map +1 -0
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js +585 -0
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue2.js.map +1 -0
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue3.js +60 -0
- package/dist/components/forms/auto-complete/RuiAutoComplete.vue3.js.map +1 -0
- package/dist/components/forms/checkbox/RuiCheckbox.vue.d.ts +1 -1
- package/dist/components/forms/checkbox/RuiCheckbox.vue.js +11 -0
- package/dist/components/forms/checkbox/RuiCheckbox.vue.js.map +1 -0
- package/dist/components/forms/checkbox/RuiCheckbox.vue2.js +137 -0
- package/dist/components/forms/checkbox/RuiCheckbox.vue2.js.map +1 -0
- package/dist/components/forms/checkbox/RuiCheckbox.vue3.js +54 -0
- package/dist/components/forms/checkbox/RuiCheckbox.vue3.js.map +1 -0
- package/dist/components/forms/radio-button/radio/RuiRadio.vue.d.ts +1 -1
- package/dist/components/forms/radio-button/radio/RuiRadio.vue.js +11 -0
- package/dist/components/forms/radio-button/radio/RuiRadio.vue.js.map +1 -0
- package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js +115 -0
- package/dist/components/forms/radio-button/radio/RuiRadio.vue2.js.map +1 -0
- package/dist/components/forms/radio-button/radio/RuiRadio.vue3.js +54 -0
- package/dist/components/forms/radio-button/radio/RuiRadio.vue3.js.map +1 -0
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.d.ts +1 -1
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.js +11 -0
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue.js.map +1 -0
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js +78 -0
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue2.js.map +1 -0
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue3.js +9 -0
- package/dist/components/forms/radio-button/radio-group/RuiRadioGroup.vue3.js.map +1 -0
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.d.ts +5 -5
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js +82 -0
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue.js.map +1 -0
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue2.js +5 -0
- package/dist/components/forms/revealable-text-field/RuiRevealableTextField.vue2.js.map +1 -0
- package/dist/components/forms/select/RuiMenuSelect.vue.d.ts +2 -2
- package/dist/components/forms/select/RuiMenuSelect.vue.js +11 -0
- package/dist/components/forms/select/RuiMenuSelect.vue.js.map +1 -0
- package/dist/components/forms/select/RuiMenuSelect.vue2.js +297 -0
- package/dist/components/forms/select/RuiMenuSelect.vue2.js.map +1 -0
- package/dist/components/forms/select/RuiMenuSelect.vue3.js +60 -0
- package/dist/components/forms/select/RuiMenuSelect.vue3.js.map +1 -0
- package/dist/components/forms/select/RuiSimpleSelect.vue.js +11 -0
- package/dist/components/forms/select/RuiSimpleSelect.vue.js.map +1 -0
- package/dist/components/forms/select/RuiSimpleSelect.vue2.js +67 -0
- package/dist/components/forms/select/RuiSimpleSelect.vue2.js.map +1 -0
- package/dist/components/forms/select/RuiSimpleSelect.vue3.js +21 -0
- package/dist/components/forms/select/RuiSimpleSelect.vue3.js.map +1 -0
- package/dist/components/forms/slider/RuiSlider.vue.d.ts +1 -1
- package/dist/components/forms/slider/RuiSlider.vue.js +11 -0
- package/dist/components/forms/slider/RuiSlider.vue.js.map +1 -0
- package/dist/components/forms/slider/RuiSlider.vue2.js +165 -0
- package/dist/components/forms/slider/RuiSlider.vue2.js.map +1 -0
- package/dist/components/forms/slider/RuiSlider.vue3.js +80 -0
- package/dist/components/forms/slider/RuiSlider.vue3.js.map +1 -0
- package/dist/components/forms/switch/RuiSwitch.vue.d.ts +1 -1
- package/dist/components/forms/switch/RuiSwitch.vue.js +11 -0
- package/dist/components/forms/switch/RuiSwitch.vue.js.map +1 -0
- package/dist/components/forms/switch/RuiSwitch.vue2.js +89 -0
- package/dist/components/forms/switch/RuiSwitch.vue2.js.map +1 -0
- package/dist/components/forms/switch/RuiSwitch.vue3.js +54 -0
- package/dist/components/forms/switch/RuiSwitch.vue3.js.map +1 -0
- package/dist/components/forms/text-area/RuiTextArea.vue.d.ts +2 -2
- package/dist/components/forms/text-area/RuiTextArea.vue.js +11 -0
- package/dist/components/forms/text-area/RuiTextArea.vue.js.map +1 -0
- package/dist/components/forms/text-area/RuiTextArea.vue2.js +252 -0
- package/dist/components/forms/text-area/RuiTextArea.vue2.js.map +1 -0
- package/dist/components/forms/text-area/RuiTextArea.vue3.js +92 -0
- package/dist/components/forms/text-area/RuiTextArea.vue3.js.map +1 -0
- package/dist/components/forms/text-field/RuiTextField.vue.d.ts +2 -2
- package/dist/components/forms/text-field/RuiTextField.vue.js +11 -0
- package/dist/components/forms/text-field/RuiTextField.vue.js.map +1 -0
- package/dist/components/forms/text-field/RuiTextField.vue2.js +220 -0
- package/dist/components/forms/text-field/RuiTextField.vue2.js.map +1 -0
- package/dist/components/forms/text-field/RuiTextField.vue3.js +89 -0
- package/dist/components/forms/text-field/RuiTextField.vue3.js.map +1 -0
- package/dist/components/helpers/RuiFormTextDetail.vue.js +54 -0
- package/dist/components/helpers/RuiFormTextDetail.vue.js.map +1 -0
- package/dist/components/helpers/RuiFormTextDetail.vue2.js +5 -0
- package/dist/components/helpers/RuiFormTextDetail.vue2.js.map +1 -0
- package/dist/components/icons/RuiIcon.vue.d.ts +2 -2
- package/dist/components/icons/RuiIcon.vue.js +11 -0
- package/dist/components/icons/RuiIcon.vue.js.map +1 -0
- package/dist/components/icons/RuiIcon.vue2.js +60 -0
- package/dist/components/icons/RuiIcon.vue2.js.map +1 -0
- package/dist/components/icons/RuiIcon.vue3.js +29 -0
- package/dist/components/icons/RuiIcon.vue3.js.map +1 -0
- package/dist/components/index.d.ts +45 -45
- package/dist/components/index.js +92 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/loaders/RuiSkeletonBase.vue.js +11 -0
- package/dist/components/loaders/RuiSkeletonBase.vue.js.map +1 -0
- package/dist/components/loaders/RuiSkeletonBase.vue2.js +22 -0
- package/dist/components/loaders/RuiSkeletonBase.vue2.js.map +1 -0
- package/dist/components/loaders/RuiSkeletonBase.vue3.js +12 -0
- package/dist/components/loaders/RuiSkeletonBase.vue3.js.map +1 -0
- package/dist/components/loaders/RuiSkeletonLoader.vue.d.ts +1 -1
- package/dist/components/loaders/RuiSkeletonLoader.vue.js +11 -0
- package/dist/components/loaders/RuiSkeletonLoader.vue.js.map +1 -0
- package/dist/components/loaders/RuiSkeletonLoader.vue2.js +47 -0
- package/dist/components/loaders/RuiSkeletonLoader.vue2.js.map +1 -0
- package/dist/components/loaders/RuiSkeletonLoader.vue3.js +33 -0
- package/dist/components/loaders/RuiSkeletonLoader.vue3.js.map +1 -0
- package/dist/components/logos/RuiLogo.vue.js +114 -0
- package/dist/components/logos/RuiLogo.vue.js.map +1 -0
- package/dist/components/logos/RuiLogo.vue2.js +5 -0
- package/dist/components/logos/RuiLogo.vue2.js.map +1 -0
- package/dist/components/logos/logo.svg.js +5 -0
- package/dist/components/logos/logo.svg.js.map +1 -0
- package/dist/components/overlays/badge/RuiBadge.vue.d.ts +2 -2
- package/dist/components/overlays/badge/RuiBadge.vue.js +11 -0
- package/dist/components/overlays/badge/RuiBadge.vue.js.map +1 -0
- package/dist/components/overlays/badge/RuiBadge.vue2.js +95 -0
- package/dist/components/overlays/badge/RuiBadge.vue2.js.map +1 -0
- package/dist/components/overlays/badge/RuiBadge.vue3.js +77 -0
- package/dist/components/overlays/badge/RuiBadge.vue3.js.map +1 -0
- package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.js +34 -0
- package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue.js.map +1 -0
- package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue2.js +5 -0
- package/dist/components/overlays/bottom-sheet/RuiBottomSheet.vue2.js.map +1 -0
- package/dist/components/overlays/dialog/RuiDialog.vue.js +11 -0
- package/dist/components/overlays/dialog/RuiDialog.vue.js.map +1 -0
- package/dist/components/overlays/dialog/RuiDialog.vue2.js +172 -0
- package/dist/components/overlays/dialog/RuiDialog.vue2.js.map +1 -0
- package/dist/components/overlays/dialog/RuiDialog.vue3.js +18 -0
- package/dist/components/overlays/dialog/RuiDialog.vue3.js.map +1 -0
- package/dist/components/overlays/menu/RuiMenu.vue.d.ts +1 -1
- package/dist/components/overlays/menu/RuiMenu.vue.js +11 -0
- package/dist/components/overlays/menu/RuiMenu.vue.js.map +1 -0
- package/dist/components/overlays/menu/RuiMenu.vue2.js +221 -0
- package/dist/components/overlays/menu/RuiMenu.vue2.js.map +1 -0
- package/dist/components/overlays/menu/RuiMenu.vue3.js +21 -0
- package/dist/components/overlays/menu/RuiMenu.vue3.js.map +1 -0
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.js +11 -0
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue.js.map +1 -0
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue2.js +112 -0
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue2.js.map +1 -0
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue3.js +28 -0
- package/dist/components/overlays/navigation-drawer/RuiNavigationDrawer.vue3.js.map +1 -0
- package/dist/components/overlays/notification/RuiNotification.vue.js +74 -0
- package/dist/components/overlays/notification/RuiNotification.vue.js.map +1 -0
- package/dist/components/overlays/notification/RuiNotification.vue2.js +5 -0
- package/dist/components/overlays/notification/RuiNotification.vue2.js.map +1 -0
- package/dist/components/overlays/tooltip/RuiTooltip.vue.d.ts +1 -1
- package/dist/components/overlays/tooltip/RuiTooltip.vue.js +11 -0
- package/dist/components/overlays/tooltip/RuiTooltip.vue.js.map +1 -0
- package/dist/components/overlays/tooltip/RuiTooltip.vue2.js +105 -0
- package/dist/components/overlays/tooltip/RuiTooltip.vue2.js.map +1 -0
- package/dist/components/overlays/tooltip/RuiTooltip.vue3.js +27 -0
- package/dist/components/overlays/tooltip/RuiTooltip.vue3.js.map +1 -0
- package/dist/components/progress/RuiProgress.vue.d.ts +1 -1
- package/dist/components/progress/RuiProgress.vue.js +11 -0
- package/dist/components/progress/RuiProgress.vue.js.map +1 -0
- package/dist/components/progress/RuiProgress.vue2.js +98 -0
- package/dist/components/progress/RuiProgress.vue2.js.map +1 -0
- package/dist/components/progress/RuiProgress.vue3.js +48 -0
- package/dist/components/progress/RuiProgress.vue3.js.map +1 -0
- package/dist/components/steppers/RuiFooterStepper.vue.js +11 -0
- package/dist/components/steppers/RuiFooterStepper.vue.js.map +1 -0
- package/dist/components/steppers/RuiFooterStepper.vue2.js +143 -0
- package/dist/components/steppers/RuiFooterStepper.vue2.js.map +1 -0
- package/dist/components/steppers/RuiFooterStepper.vue3.js +31 -0
- package/dist/components/steppers/RuiFooterStepper.vue3.js.map +1 -0
- package/dist/components/steppers/RuiStepper.vue.d.ts +1 -1
- package/dist/components/steppers/RuiStepper.vue.js +11 -0
- package/dist/components/steppers/RuiStepper.vue.js.map +1 -0
- package/dist/components/steppers/RuiStepper.vue2.js +130 -0
- package/dist/components/steppers/RuiStepper.vue2.js.map +1 -0
- package/dist/components/steppers/RuiStepper.vue3.js +58 -0
- package/dist/components/steppers/RuiStepper.vue3.js.map +1 -0
- package/dist/components/steppers/RuiStepperCustomIcon.vue.d.ts +1 -1
- package/dist/components/steppers/RuiStepperCustomIcon.vue.js +11 -0
- package/dist/components/steppers/RuiStepperCustomIcon.vue.js.map +1 -0
- package/dist/components/steppers/RuiStepperCustomIcon.vue2.js +38 -0
- package/dist/components/steppers/RuiStepperCustomIcon.vue2.js.map +1 -0
- package/dist/components/steppers/RuiStepperCustomIcon.vue3.js +15 -0
- package/dist/components/steppers/RuiStepperCustomIcon.vue3.js.map +1 -0
- package/dist/components/steppers/RuiStepperIcon.vue.d.ts +1 -1
- package/dist/components/steppers/RuiStepperIcon.vue.js +11 -0
- package/dist/components/steppers/RuiStepperIcon.vue.js.map +1 -0
- package/dist/components/steppers/RuiStepperIcon.vue2.js +43 -0
- package/dist/components/steppers/RuiStepperIcon.vue2.js.map +1 -0
- package/dist/components/steppers/RuiStepperIcon.vue3.js +21 -0
- package/dist/components/steppers/RuiStepperIcon.vue3.js.map +1 -0
- package/dist/components/tables/RuiDataTable.vue.d.ts +2 -2
- package/dist/components/tables/RuiDataTable.vue.js +11 -0
- package/dist/components/tables/RuiDataTable.vue.js.map +1 -0
- package/dist/components/tables/RuiDataTable.vue2.js +943 -0
- package/dist/components/tables/RuiDataTable.vue2.js.map +1 -0
- package/dist/components/tables/RuiDataTable.vue3.js +79 -0
- package/dist/components/tables/RuiDataTable.vue3.js.map +1 -0
- package/dist/components/tables/RuiExpandButton.vue.d.ts +1 -1
- package/dist/components/tables/RuiExpandButton.vue.js +11 -0
- package/dist/components/tables/RuiExpandButton.vue.js.map +1 -0
- package/dist/components/tables/RuiExpandButton.vue2.js +42 -0
- package/dist/components/tables/RuiExpandButton.vue2.js.map +1 -0
- package/dist/components/tables/RuiExpandButton.vue3.js +15 -0
- package/dist/components/tables/RuiExpandButton.vue3.js.map +1 -0
- package/dist/components/tables/RuiTableHead.vue.js +11 -0
- package/dist/components/tables/RuiTableHead.vue.js.map +1 -0
- package/dist/components/tables/RuiTableHead.vue2.js +195 -0
- package/dist/components/tables/RuiTableHead.vue2.js.map +1 -0
- package/dist/components/tables/RuiTableHead.vue3.js +69 -0
- package/dist/components/tables/RuiTableHead.vue3.js.map +1 -0
- package/dist/components/tables/RuiTablePagination.vue.js +11 -0
- package/dist/components/tables/RuiTablePagination.vue.js.map +1 -0
- package/dist/components/tables/RuiTablePagination.vue2.js +196 -0
- package/dist/components/tables/RuiTablePagination.vue2.js.map +1 -0
- package/dist/components/tables/RuiTablePagination.vue3.js +28 -0
- package/dist/components/tables/RuiTablePagination.vue3.js.map +1 -0
- package/dist/components/tables/table_no_data_placeholder.svg.js +5 -0
- package/dist/components/tables/table_no_data_placeholder.svg.js.map +1 -0
- package/dist/components/tables/table_no_data_placeholder_dark.svg.js +5 -0
- package/dist/components/tables/table_no_data_placeholder_dark.svg.js.map +1 -0
- package/dist/components/tabs/tab/RuiTab.vue.d.ts +1 -1
- package/dist/components/tabs/tab/RuiTab.vue.js +11 -0
- package/dist/components/tabs/tab/RuiTab.vue.js.map +1 -0
- package/dist/components/tabs/tab/RuiTab.vue2.js +135 -0
- package/dist/components/tabs/tab/RuiTab.vue2.js.map +1 -0
- package/dist/components/tabs/tab/RuiTab.vue3.js +17 -0
- package/dist/components/tabs/tab/RuiTab.vue3.js.map +1 -0
- package/dist/components/tabs/tab-item/RuiTabItem.vue.js +11 -0
- package/dist/components/tabs/tab-item/RuiTabItem.vue.js.map +1 -0
- package/dist/components/tabs/tab-item/RuiTabItem.vue2.js +51 -0
- package/dist/components/tabs/tab-item/RuiTabItem.vue2.js.map +1 -0
- package/dist/components/tabs/tab-item/RuiTabItem.vue3.js +9 -0
- package/dist/components/tabs/tab-item/RuiTabItem.vue3.js.map +1 -0
- package/dist/components/tabs/tab-items/RuiTabItems.vue.js +11 -0
- package/dist/components/tabs/tab-items/RuiTabItems.vue.js.map +1 -0
- package/dist/components/tabs/tab-items/RuiTabItems.vue2.js +90 -0
- package/dist/components/tabs/tab-items/RuiTabItems.vue2.js.map +1 -0
- package/dist/components/tabs/tab-items/RuiTabItems.vue3.js +9 -0
- package/dist/components/tabs/tab-items/RuiTabItems.vue3.js.map +1 -0
- package/dist/components/tabs/tabs/RuiTabs.vue.d.ts +1 -1
- package/dist/components/tabs/tabs/RuiTabs.vue.js +11 -0
- package/dist/components/tabs/tabs/RuiTabs.vue.js.map +1 -0
- package/dist/components/tabs/tabs/RuiTabs.vue2.js +281 -0
- package/dist/components/tabs/tabs/RuiTabs.vue2.js.map +1 -0
- package/dist/components/tabs/tabs/RuiTabs.vue3.js +20 -0
- package/dist/components/tabs/tabs/RuiTabs.vue3.js.map +1 -0
- package/dist/components/time-picker/RuiTimePicker.vue.d.ts +1 -1
- package/dist/components/time-picker/RuiTimePicker.vue.js +11 -0
- package/dist/components/time-picker/RuiTimePicker.vue.js.map +1 -0
- package/dist/components/time-picker/RuiTimePicker.vue2.js +414 -0
- package/dist/components/time-picker/RuiTimePicker.vue2.js.map +1 -0
- package/dist/components/time-picker/RuiTimePicker.vue3.js +21 -0
- package/dist/components/time-picker/RuiTimePicker.vue3.js.map +1 -0
- package/dist/composables/breakpoint.js +49 -0
- package/dist/composables/breakpoint.js.map +1 -0
- package/dist/composables/defaults/table.js +23 -0
- package/dist/composables/defaults/table.js.map +1 -0
- package/dist/composables/dropdown-menu.js +218 -0
- package/dist/composables/dropdown-menu.js.map +1 -0
- package/dist/composables/forms/auto-complete/focus.js +71 -0
- package/dist/composables/forms/auto-complete/focus.js.map +1 -0
- package/dist/composables/forms/auto-complete/index.d.ts +4 -4
- package/dist/composables/forms/auto-complete/keyboard-navigation.js +133 -0
- package/dist/composables/forms/auto-complete/keyboard-navigation.js.map +1 -0
- package/dist/composables/forms/auto-complete/search.js +93 -0
- package/dist/composables/forms/auto-complete/search.js.map +1 -0
- package/dist/composables/forms/auto-complete/value.js +129 -0
- package/dist/composables/forms/auto-complete/value.js.map +1 -0
- package/dist/composables/icons.js +60 -0
- package/dist/composables/icons.js.map +1 -0
- package/dist/composables/index.d.ts +3 -3
- package/dist/composables/index.js +9 -0
- package/dist/composables/index.js.map +1 -0
- package/dist/composables/popper.js +164 -0
- package/dist/composables/popper.js.map +1 -0
- package/dist/composables/sticky-header.js +105 -0
- package/dist/composables/sticky-header.js.map +1 -0
- package/dist/composables/theme.d.ts +1 -1
- package/dist/composables/theme.js +75 -0
- package/dist/composables/theme.js.map +1 -0
- package/dist/composables/timeout-manager.js +21 -0
- package/dist/composables/timeout-manager.js.map +1 -0
- package/dist/composables/use-rui-i18n.js +24 -0
- package/dist/composables/use-rui-i18n.js.map +1 -0
- package/dist/consts/colors.js +50 -0
- package/dist/consts/colors.js.map +1 -0
- package/dist/consts/time-accuracy.js +9 -0
- package/dist/consts/time-accuracy.js.map +1 -0
- package/dist/i18n/keys.js +20 -0
- package/dist/i18n/keys.js.map +1 -0
- package/dist/icons/icons_1.js +2503 -0
- package/dist/icons/icons_1.js.map +1 -0
- package/dist/icons/icons_2.js +2503 -0
- package/dist/icons/icons_2.js.map +1 -0
- package/dist/icons/icons_3.js +2503 -0
- package/dist/icons/icons_3.js.map +1 -0
- package/dist/icons/icons_4.js +923 -0
- package/dist/icons/icons_4.js.map +1 -0
- package/dist/icons/index.d.ts +4 -4
- package/dist/icons/index.js +9 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/index.d.ts +11 -11
- package/dist/index.js +1852 -0
- package/dist/index.js.map +1 -0
- package/dist/style.css +12852 -1
- package/dist/theme/index.js +185 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/types/stepper.js +17 -0
- package/dist/types/stepper.js.map +1 -0
- package/dist/types/theme.js +27 -0
- package/dist/types/theme.js.map +1 -0
- package/dist/utils/assert.js +14 -0
- package/dist/utils/assert.js.map +1 -0
- package/dist/utils/blockie.js +79 -0
- package/dist/utils/blockie.js.map +1 -0
- package/dist/utils/form-text-detail.js +31 -0
- package/dist/utils/form-text-detail.js.map +1 -0
- package/dist/utils/generate-id.js +21 -0
- package/dist/utils/generate-id.js.map +1 -0
- package/dist/utils/helpers.js +51 -0
- package/dist/utils/helpers.js.map +1 -0
- package/dist/utils/is-equal.js +33 -0
- package/dist/utils/is-equal.js.map +1 -0
- package/dist/web-types.json +1 -1
- package/package.json +16 -14
- package/dist/components/index.es.js +0 -8030
- package/dist/composables/index-CC7A7CEh.js +0 -737
- package/dist/composables/index.es.js +0 -7
- package/dist/consts/colors-D563Ic3q.js +0 -48
- package/dist/consts/forms/auto-complete/index-l0sNRNKZ.js +0 -2
- package/dist/consts/time-accuracy-BnKA5GyT.js +0 -9
- package/dist/i18n/keys-CNGXWOJX.js +0 -20
- package/dist/icons/icons_1.es.js +0 -2004
- package/dist/icons/icons_2.es.js +0 -2004
- package/dist/icons/icons_3.es.js +0 -2004
- package/dist/icons/icons_4.es.js +0 -740
- package/dist/icons/index.es.js +0 -1697
- package/dist/index-D7l4d7N2.js +0 -54
- package/dist/index.es.js +0 -1757
- package/dist/theme/index.es.js +0 -177
- package/dist/types/index-CN6Ip1GL.js +0 -39
- package/dist/utils/index-DJ-ueLCs.js +0 -158
- package/dist/vendor-Hqbg5uCG.js +0 -1931
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuiColorBoard.vue2.js","sources":["../../../src/components/color-picker/RuiColorBoard.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { clamp } from '@vueuse/shared';\nimport { Color, useElementDrag } from './utils';\n\ndefineOptions({\n name: 'RuiColorBoard',\n inheritAttrs: false,\n});\n\nconst props = defineProps<{\n color: Color;\n}>();\n\nconst emit = defineEmits<{\n (e: 'update:board', event: { saturation: number; brightness: number }): void;\n}>();\n\nfunction hueToHex(hue: number) {\n return new Color({ h: hue, s: 1, v: 1 }).hexString;\n}\n\nconst state = reactive({\n hexString: hueToHex(props.color.hue),\n saturation: props.color.saturation,\n brightness: props.color.brightness,\n});\n\nconst cursorTop = ref<number>(0);\nconst cursorLeft = ref<number>(0);\n\nconst cursorStyle = computed(() => ({\n top: `${get(cursorTop) * 100}%`,\n left: `${get(cursorLeft) * 100}%`,\n}));\n\nconst wrapper = ref<HTMLElement>();\n\nfunction updatePosition() {\n set(cursorLeft, state.saturation);\n set(cursorTop, (1 - state.brightness));\n}\n\nconst instance = getCurrentInstance();\n\nconst {\n handleClick,\n onMouseDown,\n} = useElementDrag(emitColor);\n\nfunction emitColor(x: number, y: number) {\n if (!instance)\n return;\n\n const el = instance.vnode.el;\n const rect = el?.getBoundingClientRect();\n\n if (!rect)\n return;\n\n const { width, height, left, top } = rect;\n let calculatedX = x - left;\n let calculatedY = y - top;\n\n calculatedX = clamp(calculatedX, 0, width);\n calculatedY = clamp(calculatedY, 0, height);\n\n const saturation = calculatedX / width;\n const brightness = clamp(-(calculatedY / height) + 1, 0, 1);\n\n set(cursorLeft, calculatedX / width);\n set(cursorTop, calculatedY / height);\n\n state.saturation = saturation;\n state.brightness = brightness;\n\n emit('update:board', { saturation, brightness });\n}\n\nonMounted(() => {\n updatePosition();\n});\n\nwhenever(\n () => props.color,\n (value) => {\n state.hexString = hueToHex(value.hue);\n state.saturation = value.saturation;\n state.brightness = value.brightness;\n updatePosition();\n },\n { deep: true },\n);\n</script>\n\n<template>\n <div\n ref=\"wrapper\"\n class=\"rui-color-board\"\n :class=\"$style.saturation\"\n v-bind=\"$attrs\"\n :style=\"{ backgroundColor: state.hexString }\"\n @click=\"handleClick($event)\"\n @mousedown=\"onMouseDown($event)\"\n >\n <div :class=\"$style.saturation__white\" />\n <div :class=\"$style.saturation__black\" />\n <div\n :class=\"$style.cursor\"\n :style=\"cursorStyle\"\n />\n </div>\n</template>\n\n<style lang=\"scss\" module>\n.saturation {\n @apply relative w-full h-40 overflow-hidden cursor-pointer;\n\n &__white,\n &__black {\n @apply absolute top-0 left-0 right-0 bottom-0 to-transparent;\n }\n\n &__black {\n @apply bg-gradient-to-t from-black;\n }\n\n &__white {\n @apply bg-gradient-to-r from-white;\n }\n}\n\n.cursor {\n @apply absolute w-5 h-5 transform -translate-x-1/2 -translate-y-1/2 border-2 border-white shadow rounded-full;\n\n &:after {\n content: '';\n @apply absolute w-full h-full rounded-full border-2 border-black/15;\n }\n}\n</style>\n"],"names":["_openBlock","_createElementBlock","_mergeProps","$style","$attrs","_unref","_createElementVNode","_normalizeClass"],"mappings":";;;;;;;;;;;;;;;AASA,UAAM,QAAQ;AAId,UAAM,OAAO;AAIb,aAAS,SAAS,KAAa;AAC7B,aAAO,IAAI,MAAM,EAAE,GAAG,KAAK,GAAG,GAAG,GAAG,EAAA,CAAG,EAAE;AAAA,IAC3C;AAEA,UAAM,QAAQ,SAAS;AAAA,MACrB,WAAW,SAAS,MAAM,MAAM,GAAG;AAAA,MACnC,YAAY,MAAM,MAAM;AAAA,MACxB,YAAY,MAAM,MAAM;AAAA,IAAA,CACzB;AAED,UAAM,YAAY,IAAY,CAAC;AAC/B,UAAM,aAAa,IAAY,CAAC;AAEhC,UAAM,cAAc,SAAS,OAAO;AAAA,MAClC,KAAK,GAAG,IAAI,SAAS,IAAI,GAAG;AAAA,MAC5B,MAAM,GAAG,IAAI,UAAU,IAAI,GAAG;AAAA,IAAA,EAC9B;AAEF,UAAM,UAAU,IAAA;AAEhB,aAAS,iBAAiB;AACxB,UAAI,YAAY,MAAM,UAAU;AAChC,UAAI,WAAY,IAAI,MAAM,UAAW;AAAA,IACvC;AAEA,UAAM,WAAW,mBAAA;AAEjB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,IAAA,IACE,eAAe,SAAS;AAE5B,aAAS,UAAU,GAAW,GAAW;AACvC,UAAI,CAAC;AACH;AAEF,YAAM,KAAK,SAAS,MAAM;AAC1B,YAAM,OAAO,IAAI,sBAAA;AAEjB,UAAI,CAAC;AACH;AAEF,YAAM,EAAE,OAAO,QAAQ,MAAM,QAAQ;AACrC,UAAI,cAAc,IAAI;AACtB,UAAI,cAAc,IAAI;AAEtB,oBAAc,MAAM,aAAa,GAAG,KAAK;AACzC,oBAAc,MAAM,aAAa,GAAG,MAAM;AAE1C,YAAM,aAAa,cAAc;AACjC,YAAM,aAAa,MAAM,EAAE,cAAc,UAAU,GAAG,GAAG,CAAC;AAE1D,UAAI,YAAY,cAAc,KAAK;AACnC,UAAI,WAAW,cAAc,MAAM;AAEnC,YAAM,aAAa;AACnB,YAAM,aAAa;AAEnB,WAAK,gBAAgB,EAAE,YAAY,WAAA,CAAY;AAAA,IACjD;AAEA,cAAU,MAAM;AACd,qBAAA;AAAA,IACF,CAAC;AAED;AAAA,MACE,MAAM,MAAM;AAAA,MACZ,CAAC,UAAU;AACT,cAAM,YAAY,SAAS,MAAM,GAAG;AACpC,cAAM,aAAa,MAAM;AACzB,cAAM,aAAa,MAAM;AACzB,uBAAA;AAAA,MACF;AAAA,MACA,EAAE,MAAM,KAAA;AAAA,IAAK;;AAKb,aAAAA,UAAA,GAAAC,mBAeM,OAfNC,WAeM;AAAA,iBAdA;AAAA,QAAJ,KAAI;AAAA,QACJ,OAAK,CAAC,mBACEC,KAAAA,OAAO,UAAU;AAAA,MAAA,GACjBC,KAAAA,QAAM;AAAA,QACb,OAAK,EAAA,iBAAqBC,MAAA,KAAA,EAAM,UAAA;AAAA,QAChC,SAAK,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAEA,MAAA,WAAA,EAAY,MAAM;AAAA,QACzB,aAAS,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAEA,MAAA,WAAA,EAAY,MAAM;AAAA,MAAA;QAE9BC,mBAAyC,OAAA;AAAA,UAAnC,OAAKC,eAAEJ,KAAAA,OAAO,iBAAiB;AAAA,QAAA;QACrCG,mBAAyC,OAAA;AAAA,UAAnC,OAAKC,eAAEJ,KAAAA,OAAO,iBAAiB;AAAA,QAAA;QACrCG,mBAGE,OAAA;AAAA,UAFC,OAAKC,eAAEJ,KAAAA,OAAO,MAAM;AAAA,UACpB,sBAAOE,MAAA,WAAA,CAAW;AAAA,QAAA;;;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const saturation = "_saturation_ea4je_1";
|
|
2
|
+
const saturation__white = "_saturation__white_ea4je_4";
|
|
3
|
+
const saturation__black = "_saturation__black_ea4je_4";
|
|
4
|
+
const cursor = "_cursor_ea4je_14";
|
|
5
|
+
const style0 = {
|
|
6
|
+
saturation,
|
|
7
|
+
saturation__white,
|
|
8
|
+
saturation__black,
|
|
9
|
+
cursor
|
|
10
|
+
};
|
|
11
|
+
export {
|
|
12
|
+
cursor,
|
|
13
|
+
style0 as default,
|
|
14
|
+
saturation,
|
|
15
|
+
saturation__black,
|
|
16
|
+
saturation__white
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=RuiColorBoard.vue3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuiColorBoard.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { defineComponent, toRefs, createBlock, openBlock, mergeProps, withCtx, createElementVNode, createElementBlock, createCommentVNode, normalizeClass, unref, normalizeStyle } from "vue";
|
|
2
|
+
import RuiTooltip from "../overlays/tooltip/RuiTooltip.vue.js";
|
|
3
|
+
import { useClipboard } from "@vueuse/core";
|
|
4
|
+
const _hoisted_1 = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "text-rui-success"
|
|
7
|
+
};
|
|
8
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
9
|
+
...{
|
|
10
|
+
name: "RuiColorDisplay",
|
|
11
|
+
inheritAttrs: false
|
|
12
|
+
},
|
|
13
|
+
__name: "RuiColorDisplay",
|
|
14
|
+
props: {
|
|
15
|
+
color: {}
|
|
16
|
+
},
|
|
17
|
+
setup(__props) {
|
|
18
|
+
const props = __props;
|
|
19
|
+
const { color } = toRefs(props);
|
|
20
|
+
const { copy, copied } = useClipboard({ source: color });
|
|
21
|
+
return (_ctx, _cache) => {
|
|
22
|
+
return openBlock(), createBlock(RuiTooltip, mergeProps({
|
|
23
|
+
popper: { placement: "top" },
|
|
24
|
+
"close-delay": 400,
|
|
25
|
+
"tooltip-class": "text-center"
|
|
26
|
+
}, _ctx.$attrs), {
|
|
27
|
+
activator: withCtx(() => [
|
|
28
|
+
createElementVNode("div", {
|
|
29
|
+
class: "w-8 h-8 min-w-8 min-h-8 rounded-full cursor-pointer",
|
|
30
|
+
"data-cy": "color-display",
|
|
31
|
+
style: normalizeStyle({ background: unref(color) }),
|
|
32
|
+
onClick: _cache[0] || (_cache[0] = ($event) => unref(copy)())
|
|
33
|
+
}, null, 4)
|
|
34
|
+
]),
|
|
35
|
+
default: withCtx(() => [
|
|
36
|
+
createElementVNode("div", {
|
|
37
|
+
class: normalizeClass({ "h-0 overflow-hidden": unref(copied) })
|
|
38
|
+
}, " Click to copy ", 2),
|
|
39
|
+
unref(copied) ? (openBlock(), createElementBlock("div", _hoisted_1, " COPIED! ")) : createCommentVNode("", true)
|
|
40
|
+
]),
|
|
41
|
+
_: 1
|
|
42
|
+
}, 16);
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
export {
|
|
47
|
+
_sfc_main as default
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=RuiColorDisplay.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuiColorDisplay.vue.js","sources":["../../../src/components/color-picker/RuiColorDisplay.vue"],"sourcesContent":["<script setup lang='ts'>\nimport RuiTooltip from '@/components/overlays/tooltip/RuiTooltip.vue';\n\ndefineOptions({\n name: 'RuiColorDisplay',\n inheritAttrs: false,\n});\n\nconst props = defineProps<{\n color: string;\n}>();\n\nconst { color } = toRefs(props);\n\nconst { copy, copied } = useClipboard({ source: color });\n</script>\n\n<template>\n <RuiTooltip\n :popper=\"{ placement: 'top' }\"\n :close-delay=\"400\"\n tooltip-class=\"text-center\"\n v-bind=\"$attrs\"\n >\n <template #activator>\n <div\n class=\"w-8 h-8 min-w-8 min-h-8 rounded-full cursor-pointer\"\n data-cy=\"color-display\"\n :style=\"{ background: color }\"\n @click=\"copy()\"\n />\n </template>\n <div :class=\"{ 'h-0 overflow-hidden': copied }\">\n Click to copy\n </div>\n <div\n v-if=\"copied\"\n class=\"text-rui-success\"\n >\n COPIED!\n </div>\n </RuiTooltip>\n</template>\n"],"names":["_openBlock","_createBlock","_mergeProps","$attrs","_createElementVNode","_unref","_createElementBlock"],"mappings":";;;;;;;;;;;;;;;;;AAQA,UAAM,QAAQ;AAId,UAAM,EAAE,MAAA,IAAU,OAAO,KAAK;AAE9B,UAAM,EAAE,MAAM,OAAA,IAAW,aAAa,EAAE,QAAQ,OAAO;;AAIrD,aAAAA,UAAA,GAAAC,YAuBa,YAvBbC,WAuBa;AAAA,QAtBV,QAAQ,EAAA,WAAA,MAAA;AAAA,QACR,eAAa;AAAA,QACd,iBAAc;AAAA,MAAA,GACNC,KAAAA,MAAM,GAAA;AAAA,QAEH,mBACT,MAKE;AAAA,UALFC,mBAKE,OAAA;AAAA,YAJA,OAAM;AAAA,YACN,WAAQ;AAAA,YACP,oCAAqBC,MAAA,KAAA,GAAK;AAAA,YAC1B,+CAAOA,MAAA,IAAA,EAAA;AAAA,UAAI;;yBAGhB,MAEM;AAAA,UAFND,mBAEM,OAAA;AAAA,YAFA,+CAAgCC,MAAA,MAAA,GAAM;AAAA,UAAA,GAAI,mBAEhD,CAAA;AAAA,UAEQA,MAAA,MAAA,kBADRC,mBAKM,OALN,YAGC,WAED;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuiColorDisplay.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import _sfc_main from "./RuiColorHue.vue2.js";
|
|
2
|
+
import style0 from "./RuiColorHue.vue3.js";
|
|
3
|
+
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.js";
|
|
4
|
+
const cssModules = {
|
|
5
|
+
"$style": style0
|
|
6
|
+
};
|
|
7
|
+
const RuiColorHue = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
|
|
8
|
+
export {
|
|
9
|
+
RuiColorHue as default
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=RuiColorHue.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuiColorHue.vue.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { defineComponent, useModel, ref, computed, getCurrentInstance, onMounted, watch, createElementBlock, openBlock, mergeProps, unref, createElementVNode, normalizeStyle, normalizeClass } from "vue";
|
|
2
|
+
import { get, set, clamp } from "@vueuse/shared";
|
|
3
|
+
import { useElementDrag, roundTwoDecimal } from "./utils.js";
|
|
4
|
+
const cursorWidth = 16;
|
|
5
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
6
|
+
...{
|
|
7
|
+
name: "RuiColorHue",
|
|
8
|
+
inheritAttrs: false
|
|
9
|
+
},
|
|
10
|
+
__name: "RuiColorHue",
|
|
11
|
+
props: {
|
|
12
|
+
"modelValue": { required: true },
|
|
13
|
+
"modelModifiers": {}
|
|
14
|
+
},
|
|
15
|
+
emits: ["update:modelValue"],
|
|
16
|
+
setup(__props) {
|
|
17
|
+
const modelValue = useModel(__props, "modelValue");
|
|
18
|
+
const barElement = ref();
|
|
19
|
+
function getLimit(width) {
|
|
20
|
+
const lowerLimit = cursorWidth / 2;
|
|
21
|
+
const upperLimit = width - lowerLimit;
|
|
22
|
+
const availableWidth = upperLimit - lowerLimit;
|
|
23
|
+
return { lowerLimit, upperLimit, availableWidth };
|
|
24
|
+
}
|
|
25
|
+
const cursorLeft = ref("");
|
|
26
|
+
function updatePosition() {
|
|
27
|
+
set(cursorLeft, getCursorLeft().toString());
|
|
28
|
+
}
|
|
29
|
+
const cursorStyle = computed(() => ({
|
|
30
|
+
left: get(cursorLeft)
|
|
31
|
+
}));
|
|
32
|
+
const instance = getCurrentInstance();
|
|
33
|
+
function getCursorLeft() {
|
|
34
|
+
if (!instance)
|
|
35
|
+
return 0;
|
|
36
|
+
const el = instance.vnode.el;
|
|
37
|
+
const rect = el?.getBoundingClientRect();
|
|
38
|
+
if (!rect)
|
|
39
|
+
return 0;
|
|
40
|
+
const actualWidth = rect.width;
|
|
41
|
+
const { lowerLimit, availableWidth } = getLimit(actualWidth);
|
|
42
|
+
const hueVal = get(modelValue);
|
|
43
|
+
const usedHue = hueVal === 360 ? 360 : hueVal % 360;
|
|
44
|
+
const percentage = roundTwoDecimal(usedHue / 360 * (availableWidth / actualWidth) * 100);
|
|
45
|
+
return `calc(${percentage}% + ${lowerLimit}px)`;
|
|
46
|
+
}
|
|
47
|
+
function emitHue(x) {
|
|
48
|
+
if (!instance)
|
|
49
|
+
return;
|
|
50
|
+
const el = instance.vnode.el;
|
|
51
|
+
const rect = el?.getBoundingClientRect();
|
|
52
|
+
if (!rect)
|
|
53
|
+
return;
|
|
54
|
+
let calculatedX = x - rect.left;
|
|
55
|
+
const { lowerLimit, upperLimit, availableWidth } = getLimit(rect.width);
|
|
56
|
+
calculatedX = clamp(calculatedX, lowerLimit, upperLimit);
|
|
57
|
+
set(modelValue, Math.round((calculatedX - lowerLimit) / availableWidth * 360));
|
|
58
|
+
}
|
|
59
|
+
const {
|
|
60
|
+
handleClick,
|
|
61
|
+
onMouseDown
|
|
62
|
+
} = useElementDrag(emitHue);
|
|
63
|
+
onMounted(() => {
|
|
64
|
+
updatePosition();
|
|
65
|
+
});
|
|
66
|
+
watch(modelValue, () => {
|
|
67
|
+
updatePosition();
|
|
68
|
+
});
|
|
69
|
+
return (_ctx, _cache) => {
|
|
70
|
+
return openBlock(), createElementBlock("div", mergeProps({
|
|
71
|
+
ref_key: "barElement",
|
|
72
|
+
ref: barElement,
|
|
73
|
+
class: [_ctx.$style.bar, "rui-color-hue"]
|
|
74
|
+
}, _ctx.$attrs, {
|
|
75
|
+
onClick: _cache[0] || (_cache[0] = ($event) => unref(handleClick)($event)),
|
|
76
|
+
onMousedown: _cache[1] || (_cache[1] = ($event) => unref(onMouseDown)($event))
|
|
77
|
+
}), [
|
|
78
|
+
createElementVNode("div", {
|
|
79
|
+
class: normalizeClass(_ctx.$style.cursor),
|
|
80
|
+
style: normalizeStyle(unref(cursorStyle))
|
|
81
|
+
}, null, 6)
|
|
82
|
+
], 16);
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
export {
|
|
87
|
+
_sfc_main as default
|
|
88
|
+
};
|
|
89
|
+
//# sourceMappingURL=RuiColorHue.vue2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuiColorHue.vue2.js","sources":["../../../src/components/color-picker/RuiColorHue.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport { clamp } from '@vueuse/shared';\nimport { roundTwoDecimal, useElementDrag } from './utils';\n\ndefineOptions({\n name: 'RuiColorHue',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<number>({ required: true });\n\nconst barElement = ref<HTMLElement>();\n\nconst cursorWidth = 16;\n\nfunction getLimit(width: number) {\n const lowerLimit = cursorWidth / 2;\n const upperLimit = width - lowerLimit;\n const availableWidth = upperLimit - lowerLimit;\n\n return { lowerLimit, upperLimit, availableWidth };\n}\n\nconst cursorLeft = ref<string>('');\n\nfunction updatePosition() {\n set(cursorLeft, getCursorLeft().toString());\n}\n\nconst cursorStyle = computed(() => ({\n left: get(cursorLeft),\n}));\n\nconst instance = getCurrentInstance();\n\nfunction getCursorLeft() {\n if (!instance)\n return 0;\n\n const el = instance.vnode.el;\n const rect = el?.getBoundingClientRect();\n\n if (!rect)\n return 0;\n\n const actualWidth = rect.width;\n const { lowerLimit, availableWidth } = getLimit(actualWidth);\n\n const hueVal = get(modelValue);\n const usedHue = hueVal === 360 ? 360 : hueVal % 360;\n\n const percentage = roundTwoDecimal((usedHue / 360) * (availableWidth / actualWidth) * 100);\n return `calc(${percentage}% + ${lowerLimit}px)`;\n}\n\nfunction emitHue(x: number) {\n if (!instance)\n return;\n\n const el = instance.vnode.el;\n const rect = el?.getBoundingClientRect();\n\n if (!rect)\n return;\n\n let calculatedX = x - rect.left;\n\n const { lowerLimit, upperLimit, availableWidth } = getLimit(rect.width);\n calculatedX = clamp(calculatedX, lowerLimit, upperLimit);\n\n set(modelValue, Math.round(((calculatedX - lowerLimit) / availableWidth) * 360));\n}\n\nconst {\n handleClick,\n onMouseDown,\n} = useElementDrag(emitHue);\n\nonMounted(() => {\n updatePosition();\n});\n\nwatch(modelValue, () => {\n updatePosition();\n});\n</script>\n\n<template>\n <div\n ref=\"barElement\"\n :class=\"$style.bar\"\n class=\"rui-color-hue\"\n v-bind=\"$attrs\"\n @click=\"handleClick($event)\"\n @mousedown=\"onMouseDown($event)\"\n >\n <div\n :class=\"$style.cursor\"\n :style=\"cursorStyle\"\n />\n </div>\n</template>\n\n<style lang=\"scss\" module>\n.bar {\n @apply relative w-full h-3.5 rounded-full cursor-pointer;\n\n background: linear-gradient(\n to right,\n rgb(255, 0, 0) 0%,\n rgb(255, 255, 0) 16.66%,\n rgb(0, 255, 0) 33.33%,\n rgb(0, 255, 255) 50%,\n rgb(0, 0, 255) 66.66%,\n rgb(255, 0, 255) 83.33%,\n rgb(255, 0, 0) 100%\n );\n}\n\n.cursor {\n @apply absolute w-4 h-4 transform top-1/2 -translate-x-1/2 -translate-y-1/2 shadow-2 bg-white rounded-full;\n}\n</style>\n"],"names":["_useModel","_openBlock","_createElementBlock","_mergeProps","$style","$attrs","_unref","_createElementVNode","_normalizeClass"],"mappings":";;;AAaA,MAAM,cAAc;;;;;;;;;;;;;AAJpB,UAAM,aAAaA,SAAmB,SAAA,YAAmB;AAEzD,UAAM,aAAa,IAAA;AAInB,aAAS,SAAS,OAAe;AAC/B,YAAM,aAAa,cAAc;AACjC,YAAM,aAAa,QAAQ;AAC3B,YAAM,iBAAiB,aAAa;AAEpC,aAAO,EAAE,YAAY,YAAY,eAAA;AAAA,IACnC;AAEA,UAAM,aAAa,IAAY,EAAE;AAEjC,aAAS,iBAAiB;AACxB,UAAI,YAAY,cAAA,EAAgB,SAAA,CAAU;AAAA,IAC5C;AAEA,UAAM,cAAc,SAAS,OAAO;AAAA,MAClC,MAAM,IAAI,UAAU;AAAA,IAAA,EACpB;AAEF,UAAM,WAAW,mBAAA;AAEjB,aAAS,gBAAgB;AACvB,UAAI,CAAC;AACH,eAAO;AAET,YAAM,KAAK,SAAS,MAAM;AAC1B,YAAM,OAAO,IAAI,sBAAA;AAEjB,UAAI,CAAC;AACH,eAAO;AAET,YAAM,cAAc,KAAK;AACzB,YAAM,EAAE,YAAY,mBAAmB,SAAS,WAAW;AAE3D,YAAM,SAAS,IAAI,UAAU;AAC7B,YAAM,UAAU,WAAW,MAAM,MAAM,SAAS;AAEhD,YAAM,aAAa,gBAAiB,UAAU,OAAQ,iBAAiB,eAAe,GAAG;AACzF,aAAO,QAAQ,UAAU,OAAO,UAAU;AAAA,IAC5C;AAEA,aAAS,QAAQ,GAAW;AAC1B,UAAI,CAAC;AACH;AAEF,YAAM,KAAK,SAAS,MAAM;AAC1B,YAAM,OAAO,IAAI,sBAAA;AAEjB,UAAI,CAAC;AACH;AAEF,UAAI,cAAc,IAAI,KAAK;AAE3B,YAAM,EAAE,YAAY,YAAY,mBAAmB,SAAS,KAAK,KAAK;AACtE,oBAAc,MAAM,aAAa,YAAY,UAAU;AAEvD,UAAI,YAAY,KAAK,OAAQ,cAAc,cAAc,iBAAkB,GAAG,CAAC;AAAA,IACjF;AAEA,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,IAAA,IACE,eAAe,OAAO;AAE1B,cAAU,MAAM;AACd,qBAAA;AAAA,IACF,CAAC;AAED,UAAM,YAAY,MAAM;AACtB,qBAAA;AAAA,IACF,CAAC;;AAIC,aAAAC,UAAA,GAAAC,mBAYM,OAZNC,WAYM;AAAA,iBAXA;AAAA,QAAJ,KAAI;AAAA,QACH,OAAK,CAAEC,KAAAA,OAAO,KACT,eAAe;AAAA,MAAA,GACbC,KAAAA,QAAM;AAAA,QACb,SAAK,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAEC,MAAA,WAAA,EAAY,MAAM;AAAA,QACzB,aAAS,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAEA,MAAA,WAAA,EAAY,MAAM;AAAA,MAAA;QAE9BC,mBAGE,OAAA;AAAA,UAFC,OAAKC,eAAEJ,KAAAA,OAAO,MAAM;AAAA,UACpB,sBAAOE,MAAA,WAAA,CAAW;AAAA,QAAA;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuiColorHue.vue3.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { defineComponent, useModel, ref, reactive, createElementBlock, openBlock, mergeProps, createElementVNode, createVNode, createBlock, unref, withCtx, Fragment, renderList, toDisplayString } from "vue";
|
|
2
|
+
import { get, clamp, set } from "@vueuse/shared";
|
|
3
|
+
import tinycolor from "tinycolor2";
|
|
4
|
+
import RuiButton from "../buttons/button/RuiButton.vue.js";
|
|
5
|
+
import RuiTextField from "../forms/text-field/RuiTextField.vue.js";
|
|
6
|
+
import RuiIcon from "../icons/RuiIcon.vue.js";
|
|
7
|
+
import { useDebounceFn, whenever } from "@vueuse/core";
|
|
8
|
+
const _hoisted_1 = { class: "flex flex-col items-center gap-1 w-[16rem]" };
|
|
9
|
+
const _hoisted_2 = { class: "w-full" };
|
|
10
|
+
const _hoisted_3 = {
|
|
11
|
+
key: 1,
|
|
12
|
+
class: "flex flex-1 gap-1"
|
|
13
|
+
};
|
|
14
|
+
const _hoisted_4 = { class: "uppercase text-rui-text-secondary text-sm" };
|
|
15
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
16
|
+
...{
|
|
17
|
+
name: "RuiColorInput",
|
|
18
|
+
inheritAttrs: false
|
|
19
|
+
},
|
|
20
|
+
__name: "RuiColorInput",
|
|
21
|
+
props: {
|
|
22
|
+
"modelValue": { required: true },
|
|
23
|
+
"modelModifiers": {}
|
|
24
|
+
},
|
|
25
|
+
emits: ["update:modelValue"],
|
|
26
|
+
setup(__props) {
|
|
27
|
+
const modelValue = useModel(__props, "modelValue");
|
|
28
|
+
const inputType = ref("hex");
|
|
29
|
+
const state = reactive({
|
|
30
|
+
color: get(modelValue),
|
|
31
|
+
hex: get(modelValue).hex,
|
|
32
|
+
rgb: get(modelValue).rgb
|
|
33
|
+
});
|
|
34
|
+
function onInputTypeChange() {
|
|
35
|
+
set(inputType, get(inputType) === "rgb" ? "hex" : "rgb");
|
|
36
|
+
}
|
|
37
|
+
const onBlurChange = useDebounceFn((inputType2, event, key) => {
|
|
38
|
+
if (!state.color)
|
|
39
|
+
return;
|
|
40
|
+
const value = event.target.value;
|
|
41
|
+
if (inputType2 === "hex") {
|
|
42
|
+
const _hex = value.replace("#", "");
|
|
43
|
+
if (tinycolor(_hex).isValid() && [3, 4, 6].includes(_hex.length))
|
|
44
|
+
state.color.hex = _hex;
|
|
45
|
+
else
|
|
46
|
+
state.color.hex = "000000";
|
|
47
|
+
} else if (key !== void 0 && state.rgb && state.color) {
|
|
48
|
+
let valueInNumber = Number(value);
|
|
49
|
+
valueInNumber = clamp(valueInNumber, 0, 255);
|
|
50
|
+
state.rgb[key] = valueInNumber;
|
|
51
|
+
const [r, g, b] = state.rgb;
|
|
52
|
+
state.color.hex = tinycolor({ r, g, b }).toHex();
|
|
53
|
+
}
|
|
54
|
+
}, 100);
|
|
55
|
+
const onInputChange = useDebounceFn((inputType2, value, key) => {
|
|
56
|
+
if (!value)
|
|
57
|
+
return;
|
|
58
|
+
if (inputType2 === "hex") {
|
|
59
|
+
const _hex = value.replace("#", "");
|
|
60
|
+
if (tinycolor(_hex).isValid() && state.color && _hex.length === 6)
|
|
61
|
+
state.color.hex = _hex;
|
|
62
|
+
} else if (key !== void 0 && state.rgb && state.color) {
|
|
63
|
+
let valueInNumber = Number(value);
|
|
64
|
+
valueInNumber = clamp(valueInNumber, 0, 255);
|
|
65
|
+
state.rgb[key] = valueInNumber;
|
|
66
|
+
const [r, g, b] = state.rgb;
|
|
67
|
+
state.color.hex = tinycolor({ r, g, b }).toHex();
|
|
68
|
+
}
|
|
69
|
+
set(modelValue, state.color);
|
|
70
|
+
}, 300);
|
|
71
|
+
whenever(
|
|
72
|
+
modelValue,
|
|
73
|
+
(value) => {
|
|
74
|
+
state.color = value;
|
|
75
|
+
state.hex = state.color.hex;
|
|
76
|
+
state.rgb = state.color.rgb;
|
|
77
|
+
},
|
|
78
|
+
{ deep: true }
|
|
79
|
+
);
|
|
80
|
+
return (_ctx, _cache) => {
|
|
81
|
+
return openBlock(), createElementBlock("div", mergeProps({ class: "rui-color-input flex justify-center gap-2" }, _ctx.$attrs), [
|
|
82
|
+
createElementVNode("div", _hoisted_1, [
|
|
83
|
+
createElementVNode("div", _hoisted_2, [
|
|
84
|
+
unref(inputType) === "hex" ? (openBlock(), createBlock(RuiTextField, {
|
|
85
|
+
key: 0,
|
|
86
|
+
modelValue: unref(state).hex,
|
|
87
|
+
"onUpdate:modelValue": [
|
|
88
|
+
_cache[0] || (_cache[0] = ($event) => unref(state).hex = $event),
|
|
89
|
+
_cache[1] || (_cache[1] = ($event) => unref(onInputChange)(unref(inputType), $event))
|
|
90
|
+
],
|
|
91
|
+
variant: "outlined",
|
|
92
|
+
class: "flex-1 w-full [&_input]:uppercase",
|
|
93
|
+
maxlength: "6",
|
|
94
|
+
color: "primary",
|
|
95
|
+
dense: "",
|
|
96
|
+
"hide-details": "",
|
|
97
|
+
onBlur: _cache[2] || (_cache[2] = ($event) => unref(onBlurChange)(unref(inputType), $event))
|
|
98
|
+
}, {
|
|
99
|
+
prepend: withCtx(() => [..._cache[4] || (_cache[4] = [
|
|
100
|
+
createElementVNode("span", { class: "text-rui-text" }, " # ", -1)
|
|
101
|
+
])]),
|
|
102
|
+
_: 1
|
|
103
|
+
}, 8, ["modelValue"])) : (openBlock(), createElementBlock("div", _hoisted_3, [
|
|
104
|
+
(openBlock(true), createElementBlock(Fragment, null, renderList(unref(state).rgb, (v, i) => {
|
|
105
|
+
return openBlock(), createBlock(RuiTextField, {
|
|
106
|
+
key: i,
|
|
107
|
+
"model-value": v.toString(),
|
|
108
|
+
variant: "outlined",
|
|
109
|
+
class: "[&_input]:text-center w-full",
|
|
110
|
+
maxlength: "3",
|
|
111
|
+
color: "primary",
|
|
112
|
+
dense: "",
|
|
113
|
+
"hide-details": "",
|
|
114
|
+
"onUpdate:modelValue": ($event) => unref(onInputChange)(unref(inputType), $event, i),
|
|
115
|
+
onBlur: ($event) => unref(onBlurChange)(unref(inputType), $event, i)
|
|
116
|
+
}, null, 8, ["model-value", "onUpdate:modelValue", "onBlur"]);
|
|
117
|
+
}), 128))
|
|
118
|
+
]))
|
|
119
|
+
]),
|
|
120
|
+
createElementVNode("div", _hoisted_4, toDisplayString(unref(inputType)), 1)
|
|
121
|
+
]),
|
|
122
|
+
createVNode(RuiButton, {
|
|
123
|
+
class: "h-10",
|
|
124
|
+
variant: "text",
|
|
125
|
+
onClick: _cache[3] || (_cache[3] = ($event) => onInputTypeChange())
|
|
126
|
+
}, {
|
|
127
|
+
default: withCtx(() => [
|
|
128
|
+
createVNode(RuiIcon, { name: "lu-chevrons-up-down" })
|
|
129
|
+
]),
|
|
130
|
+
_: 1
|
|
131
|
+
})
|
|
132
|
+
], 16);
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
});
|
|
136
|
+
export {
|
|
137
|
+
_sfc_main as default
|
|
138
|
+
};
|
|
139
|
+
//# sourceMappingURL=RuiColorInput.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuiColorInput.vue.js","sources":["../../../src/components/color-picker/RuiColorInput.vue"],"sourcesContent":["<script lang=\"ts\" setup>\nimport type { Color } from './utils';\nimport { clamp } from '@vueuse/shared';\nimport tinycolor from 'tinycolor2';\nimport RuiButton from '@/components/buttons/button/RuiButton.vue';\nimport RuiTextField from '@/components/forms/text-field/RuiTextField.vue';\nimport RuiIcon from '@/components/icons/RuiIcon.vue';\n\ndefineOptions({\n name: 'RuiColorInput',\n inheritAttrs: false,\n});\n\nconst modelValue = defineModel<Color>({ required: true });\n\nconst inputType = ref<'hex' | 'rgb'>('hex');\nconst state = reactive({\n color: get(modelValue),\n hex: get(modelValue).hex,\n rgb: get(modelValue).rgb,\n});\n\nfunction onInputTypeChange() {\n set(inputType, get(inputType) === 'rgb' ? 'hex' : 'rgb');\n}\n\nconst onBlurChange = useDebounceFn((inputType: string, event: any, key?: number) => {\n if (!state.color)\n return;\n\n const value = event.target.value;\n if (inputType === 'hex') {\n const _hex = value.replace('#', '');\n if (tinycolor(_hex).isValid() && [3, 4, 6].includes(_hex.length))\n state.color.hex = _hex;\n\n else\n state.color.hex = '000000';\n }\n else if (key !== undefined && state.rgb && state.color) {\n let valueInNumber = Number(value);\n valueInNumber = clamp(valueInNumber, 0, 255);\n\n state.rgb[key] = valueInNumber;\n const [r, g, b] = state.rgb;\n state.color.hex = tinycolor({ r, g, b }).toHex();\n }\n}, 100);\n\nconst onInputChange = useDebounceFn((inputType: string, value: string, key?: number) => {\n if (!value)\n return;\n\n if (inputType === 'hex') {\n const _hex = value.replace('#', '');\n if (tinycolor(_hex).isValid() && state.color && _hex.length === 6)\n state.color.hex = _hex;\n }\n else if (key !== undefined && state.rgb && state.color) {\n let valueInNumber = Number(value);\n valueInNumber = clamp(valueInNumber, 0, 255);\n\n state.rgb[key] = valueInNumber;\n const [r, g, b] = state.rgb;\n state.color.hex = tinycolor({ r, g, b }).toHex();\n }\n\n set(modelValue, state.color);\n}, 300);\n\nwhenever(\n modelValue,\n (value) => {\n state.color = value;\n state.hex = state.color.hex;\n state.rgb = state.color.rgb;\n },\n { deep: true },\n);\n</script>\n\n<template>\n <div\n class=\"rui-color-input flex justify-center gap-2\"\n v-bind=\"$attrs\"\n >\n <div class=\"flex flex-col items-center gap-1 w-[16rem]\">\n <div class=\"w-full\">\n <RuiTextField\n v-if=\"inputType === 'hex'\"\n v-model=\"state.hex\"\n variant=\"outlined\"\n class=\"flex-1 w-full [&_input]:uppercase\"\n maxlength=\"6\"\n color=\"primary\"\n dense\n hide-details\n @update:model-value=\"onInputChange(inputType, $event)\"\n @blur=\"onBlurChange(inputType, $event)\"\n >\n <template #prepend>\n <span class=\"text-rui-text\">\n #\n </span>\n </template>\n </RuiTextField>\n <div\n v-else\n class=\"flex flex-1 gap-1\"\n >\n <RuiTextField\n v-for=\"(v, i) in state.rgb\"\n :key=\"i\"\n :model-value=\"v.toString()\"\n variant=\"outlined\"\n class=\"[&_input]:text-center w-full\"\n maxlength=\"3\"\n color=\"primary\"\n dense\n hide-details\n @update:model-value=\"onInputChange(inputType, $event, i)\"\n @blur=\"onBlurChange(inputType, $event, i)\"\n />\n </div>\n </div>\n\n <div class=\"uppercase text-rui-text-secondary text-sm\">\n {{ inputType }}\n </div>\n </div>\n <RuiButton\n class=\"h-10\"\n variant=\"text\"\n @click=\"onInputTypeChange()\"\n >\n <RuiIcon name=\"lu-chevrons-up-down\" />\n </RuiButton>\n </div>\n</template>\n"],"names":["_useModel","inputType","_openBlock","_createElementBlock","_mergeProps","$attrs","_createElementVNode","_unref","_createBlock","_Fragment","_toDisplayString","_createVNode"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuiColorInput.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { defineComponent, toRefs, reactive, watch, createElementBlock, openBlock, mergeProps, createVNode, createElementVNode, unref } from "vue";
|
|
2
|
+
import RuiColorBoard from "./RuiColorBoard.vue.js";
|
|
3
|
+
import _sfc_main$1 from "./RuiColorDisplay.vue.js";
|
|
4
|
+
import RuiColorHue from "./RuiColorHue.vue.js";
|
|
5
|
+
import _sfc_main$2 from "./RuiColorInput.vue.js";
|
|
6
|
+
import { Color } from "./utils.js";
|
|
7
|
+
import { get } from "@vueuse/shared";
|
|
8
|
+
import { whenever } from "@vueuse/core";
|
|
9
|
+
const _hoisted_1 = { class: "flex flex-col gap-5 p-4" };
|
|
10
|
+
const _hoisted_2 = { class: "flex items-center gap-4" };
|
|
11
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
12
|
+
...{
|
|
13
|
+
name: "RuiColorPicker",
|
|
14
|
+
inheritAttrs: false
|
|
15
|
+
},
|
|
16
|
+
__name: "RuiColorPicker",
|
|
17
|
+
props: {
|
|
18
|
+
modelValue: { default: "" }
|
|
19
|
+
},
|
|
20
|
+
emits: ["update:model-value"],
|
|
21
|
+
setup(__props, { emit: __emit }) {
|
|
22
|
+
const props = __props;
|
|
23
|
+
const emit = __emit;
|
|
24
|
+
const { modelValue } = toRefs(props);
|
|
25
|
+
const state = reactive({
|
|
26
|
+
color: new Color(get(modelValue))
|
|
27
|
+
});
|
|
28
|
+
function onBoardChange({ saturation, brightness }) {
|
|
29
|
+
state.color.saturation = saturation;
|
|
30
|
+
state.color.brightness = brightness;
|
|
31
|
+
}
|
|
32
|
+
whenever(
|
|
33
|
+
modelValue,
|
|
34
|
+
(value) => {
|
|
35
|
+
if (state.color.hex !== value)
|
|
36
|
+
state.color = new Color(value);
|
|
37
|
+
},
|
|
38
|
+
{ deep: true }
|
|
39
|
+
);
|
|
40
|
+
watch(state, (state2) => {
|
|
41
|
+
emit("update:model-value", state2.color.hex);
|
|
42
|
+
}, { immediate: true, deep: true });
|
|
43
|
+
return (_ctx, _cache) => {
|
|
44
|
+
return openBlock(), createElementBlock("div", mergeProps({ class: "rui-color-picker relative select-none bg-initial" }, _ctx.$attrs), [
|
|
45
|
+
createVNode(RuiColorBoard, {
|
|
46
|
+
color: unref(state).color,
|
|
47
|
+
"onUpdate:board": _cache[0] || (_cache[0] = ($event) => onBoardChange($event))
|
|
48
|
+
}, null, 8, ["color"]),
|
|
49
|
+
createElementVNode("div", _hoisted_1, [
|
|
50
|
+
createElementVNode("div", _hoisted_2, [
|
|
51
|
+
createVNode(_sfc_main$1, {
|
|
52
|
+
color: unref(state).color.hexString
|
|
53
|
+
}, null, 8, ["color"]),
|
|
54
|
+
createVNode(RuiColorHue, {
|
|
55
|
+
modelValue: unref(state).color.hue,
|
|
56
|
+
"onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => unref(state).color.hue = $event),
|
|
57
|
+
class: "flex-1"
|
|
58
|
+
}, null, 8, ["modelValue"])
|
|
59
|
+
]),
|
|
60
|
+
createVNode(_sfc_main$2, {
|
|
61
|
+
modelValue: unref(state).color,
|
|
62
|
+
"onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => unref(state).color = $event)
|
|
63
|
+
}, null, 8, ["modelValue"])
|
|
64
|
+
])
|
|
65
|
+
], 16);
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
export {
|
|
70
|
+
_sfc_main as default
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=RuiColorPicker.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuiColorPicker.vue.js","sources":["../../../src/components/color-picker/RuiColorPicker.vue"],"sourcesContent":["<script lang=\"ts\" setup>\n// Inspired by https://github.com/aesoper101/vue3-colorpicker/\nimport RuiColorBoard from '@/components/color-picker/RuiColorBoard.vue';\nimport RuiColorDisplay from '@/components/color-picker/RuiColorDisplay.vue';\nimport RuiColorHue from '@/components/color-picker/RuiColorHue.vue';\nimport RuiColorInput from '@/components/color-picker/RuiColorInput.vue';\nimport { Color } from './utils';\n\nexport interface Props {\n modelValue?: string;\n}\n\ndefineOptions({\n name: 'RuiColorPicker',\n inheritAttrs: false,\n});\n\nconst props = withDefaults(defineProps<Props>(), { modelValue: '' });\n\nconst emit = defineEmits<{\n (e: 'update:model-value', value: string): void;\n}>();\n\nconst { modelValue } = toRefs(props);\n\nconst state = reactive({\n color: new Color(get(modelValue)),\n});\n\nfunction onBoardChange({ saturation, brightness }: { saturation: number; brightness: number }) {\n state.color.saturation = saturation;\n state.color.brightness = brightness;\n}\n\nwhenever(\n modelValue,\n (value: string) => {\n if (state.color.hex !== value)\n state.color = new Color(value);\n },\n { deep: true },\n);\n\nwatch(state, (state) => {\n emit('update:model-value', state.color.hex);\n}, { immediate: true, deep: true });\n</script>\n\n<template>\n <div\n class=\"rui-color-picker relative select-none bg-initial\"\n v-bind=\"$attrs\"\n >\n <RuiColorBoard\n :color=\"state.color\"\n @update:board=\"onBoardChange($event)\"\n />\n <div class=\"flex flex-col gap-5 p-4\">\n <div class=\"flex items-center gap-4\">\n <RuiColorDisplay :color=\"state.color.hexString\" />\n <RuiColorHue\n v-model=\"state.color.hue\"\n class=\"flex-1\"\n />\n </div>\n\n <RuiColorInput v-model=\"state.color\" />\n </div>\n </div>\n</template>\n"],"names":["state","_openBlock","_createElementBlock","_mergeProps","$attrs","_createVNode","_unref","_createElementVNode","RuiColorDisplay","RuiColorInput"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAiBA,UAAM,QAAQ;AAEd,UAAM,OAAO;AAIb,UAAM,EAAE,WAAA,IAAe,OAAO,KAAK;AAEnC,UAAM,QAAQ,SAAS;AAAA,MACrB,OAAO,IAAI,MAAM,IAAI,UAAU,CAAC;AAAA,IAAA,CACjC;AAED,aAAS,cAAc,EAAE,YAAY,cAA0D;AAC7F,YAAM,MAAM,aAAa;AACzB,YAAM,MAAM,aAAa;AAAA,IAC3B;AAEA;AAAA,MACE;AAAA,MACA,CAAC,UAAkB;AACjB,YAAI,MAAM,MAAM,QAAQ;AACtB,gBAAM,QAAQ,IAAI,MAAM,KAAK;AAAA,MACjC;AAAA,MACA,EAAE,MAAM,KAAA;AAAA,IAAK;AAGf,UAAM,OAAO,CAACA,WAAU;AACtB,WAAK,sBAAsBA,OAAM,MAAM,GAAG;AAAA,IAC5C,GAAG,EAAE,WAAW,MAAM,MAAM,MAAM;;AAIhC,aAAAC,UAAA,GAAAC,mBAmBM,OAnBNC,WAmBM,EAlBJ,OAAM,mDAAA,GACEC,KAAAA,MAAM,GAAA;AAAA,QAEdC,YAGE,eAAA;AAAA,UAFC,OAAOC,MAAA,KAAA,EAAM;AAAA,UACb,kBAAY,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAE,cAAc,MAAM;AAAA,QAAA;QAErCC,mBAUM,OAVN,YAUM;AAAA,UATJA,mBAMM,OANN,YAMM;AAAA,YALJF,YAAkDG,aAAA;AAAA,cAAhC,OAAOF,MAAA,KAAA,EAAM,MAAM;AAAA,YAAA;YACrCD,YAGE,aAAA;AAAA,0BAFSC,MAAA,KAAA,EAAM,MAAM;AAAA,2EAAZA,MAAA,KAAA,EAAM,MAAM,MAAG;AAAA,cACxB,OAAM;AAAA,YAAA;;UAIVD,YAAuCI,aAAA;AAAA,YAAf,YAAAH,MAAA,KAAA,EAAM;AAAA,YAAN,uBAAA,OAAA,CAAA,MAAA,OAAA,CAAA,IAAA,CAAA,WAAAA,MAAA,KAAA,EAAM,QAAK;AAAA,UAAA;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RuiColorPicker.vue2.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|