@lobehub/ui 6.0.0-beta.1 → 6.0.0-beta.11
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 +6 -4
- package/es/Accordion/Accordion.mjs +3 -3
- package/es/Accordion/Accordion.mjs.map +1 -1
- package/es/Accordion/atoms.mjs +2 -2
- package/es/Accordion/atoms.mjs.map +1 -1
- package/es/Accordion/style.d.mts +1 -1
- package/es/ActionIcon/ActionIcon.mjs +2 -2
- package/es/ActionIcon/ActionIcon.mjs.map +1 -1
- package/es/ActionIcon/style.mjs +1 -1
- package/es/ActionIcon/style.mjs.map +1 -1
- package/es/ActionIcon/type.d.mts +1 -0
- package/es/Alert/Alert.mjs +5 -5
- package/es/Alert/Alert.mjs.map +1 -1
- package/es/Alert/type.d.mts +1 -0
- package/es/Anchor/Anchor.mjs +2 -2
- package/es/Anchor/Anchor.mjs.map +1 -1
- package/es/AutoComplete/AutoComplete.mjs +5 -5
- package/es/AutoComplete/AutoComplete.mjs.map +1 -1
- package/es/AutoComplete/style.d.mts +1 -0
- package/es/AutoComplete/style.mjs +2 -2
- package/es/AutoComplete/style.mjs.map +1 -1
- package/es/AutoComplete/type.d.mts +1 -0
- package/es/Avatar/Avatar.mjs +2 -2
- package/es/Avatar/Avatar.mjs.map +1 -1
- package/es/Avatar/AvatarGroup/index.mjs +2 -2
- package/es/Avatar/AvatarGroup/index.mjs.map +1 -1
- package/es/Breadcrumb/Breadcrumb.mjs +2 -2
- package/es/Breadcrumb/Breadcrumb.mjs.map +1 -1
- package/es/Button/Button.mjs +1 -1
- package/es/Button/Button.mjs.map +1 -1
- package/es/Button/style.d.mts +8 -1
- package/es/Button/style.mjs +41 -18
- package/es/Button/style.mjs.map +1 -1
- package/es/Button/type.d.mts +1 -0
- package/es/Carousel/Carousel.mjs +1 -1
- package/es/Carousel/Carousel.mjs.map +1 -1
- package/es/Checkbox/Checkbox.mjs +3 -3
- package/es/Checkbox/Checkbox.mjs.map +1 -1
- package/es/Checkbox/type.d.mts +1 -0
- package/es/CodeDiff/CodeDiff.mjs.map +1 -1
- package/es/CodeDiff/DiffPanel.mjs +6 -6
- package/es/CodeDiff/DiffPanel.mjs.map +1 -1
- package/es/CodeDiff/PatchDiff.mjs.map +1 -1
- package/es/CodeDiff/theme.mjs.map +1 -1
- package/es/CodeDiff/type.d.mts +2 -2
- package/es/CodeEditor/CodeEditor.mjs +5 -5
- package/es/CodeEditor/CodeEditor.mjs.map +1 -1
- package/es/ColorPicker/ColorInputs.mjs +136 -0
- package/es/ColorPicker/ColorInputs.mjs.map +1 -0
- package/es/ColorPicker/ColorPanel.mjs +145 -0
- package/es/ColorPicker/ColorPanel.mjs.map +1 -0
- package/es/ColorPicker/ColorPicker.mjs +63 -200
- package/es/ColorPicker/ColorPicker.mjs.map +1 -1
- package/es/ColorPicker/SaturationArea.mjs +2 -1
- package/es/ColorPicker/SaturationArea.mjs.map +1 -1
- package/es/ColorPicker/Swatch.mjs +24 -0
- package/es/ColorPicker/Swatch.mjs.map +1 -0
- package/es/ColorPicker/Swatches.mjs +66 -0
- package/es/ColorPicker/Swatches.mjs.map +1 -0
- package/es/ColorPicker/Trigger.mjs +112 -0
- package/es/ColorPicker/Trigger.mjs.map +1 -0
- package/es/ColorPicker/color.mjs +25 -1
- package/es/ColorPicker/color.mjs.map +1 -1
- package/es/ColorPicker/recent.mjs +25 -0
- package/es/ColorPicker/recent.mjs.map +1 -0
- package/es/ColorPicker/style.mjs +269 -70
- package/es/ColorPicker/style.mjs.map +1 -1
- package/es/ColorPicker/type.d.mts +15 -0
- package/es/ColorSwatches/ColorSwatches.mjs +18 -23
- package/es/ColorSwatches/ColorSwatches.mjs.map +1 -1
- package/es/ColorSwatches/CustomPicker.mjs +101 -0
- package/es/ColorSwatches/CustomPicker.mjs.map +1 -0
- package/es/ColorSwatches/index.d.mts +2 -2
- package/es/ColorSwatches/marker.stylex.mjs +9 -0
- package/es/ColorSwatches/marker.stylex.mjs.map +1 -0
- package/es/ColorSwatches/style.mjs +36 -0
- package/es/ColorSwatches/style.mjs.map +1 -1
- package/es/ColorSwatches/type.d.mts +12 -2
- package/es/ConfigProvider/cdnAssets.mjs +6 -0
- package/es/ConfigProvider/cdnAssets.mjs.map +1 -0
- package/es/ConfigProvider/index.mjs +2 -1
- package/es/ConfigProvider/index.mjs.map +1 -1
- package/es/ContextMenu/ContextMenuHost.mjs +2 -2
- package/es/ContextMenu/ContextMenuHost.mjs.map +1 -1
- package/es/ContextMenu/ContextMenuTrigger.mjs +2 -2
- package/es/ContextMenu/ContextMenuTrigger.mjs.map +1 -1
- package/es/ContextMenu/renderItems.mjs +3 -3
- package/es/ContextMenu/renderItems.mjs.map +1 -1
- package/es/ContextMenu/store.d.mts +0 -1
- package/es/ContextMenu/store.mjs.map +1 -1
- package/es/DatePicker/DatePicker.d.mts +9 -2
- package/es/DatePicker/DatePicker.mjs +15 -85
- package/es/DatePicker/DatePicker.mjs.map +1 -1
- package/es/DatePicker/DateRangePicker.d.mts +3 -2
- package/es/DatePicker/DateRangePicker.mjs +3 -125
- package/es/DatePicker/DateRangePicker.mjs.map +1 -1
- package/es/DatePicker/DayjsDatePicker.d.mts +12 -0
- package/es/DatePicker/DayjsDatePicker.mjs +19 -0
- package/es/DatePicker/DayjsDatePicker.mjs.map +1 -0
- package/es/DatePicker/DayjsDateRangePicker.d.mts +7 -0
- package/es/DatePicker/DayjsDateRangePicker.mjs +8 -0
- package/es/DatePicker/DayjsDateRangePicker.mjs.map +1 -0
- package/es/DatePicker/PurePanel.mjs +65 -0
- package/es/DatePicker/PurePanel.mjs.map +1 -0
- package/es/DatePicker/RangePicker.mjs +121 -0
- package/es/DatePicker/RangePicker.mjs.map +1 -0
- package/es/DatePicker/SinglePicker.mjs +134 -0
- package/es/DatePicker/SinglePicker.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Popup/Footer.mjs +57 -0
- package/es/DatePicker/core/PickerInput/Popup/Footer.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs +57 -0
- package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs +29 -0
- package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Popup/index.mjs +133 -0
- package/es/DatePicker/core/PickerInput/Popup/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/RangePicker.d.mts +51 -0
- package/es/DatePicker/core/PickerInput/RangePicker.mjs +343 -0
- package/es/DatePicker/core/PickerInput/RangePicker.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs +27 -0
- package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/Icon.mjs +19 -0
- package/es/DatePicker/core/PickerInput/Selector/Icon.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/Input.mjs +237 -0
- package/es/DatePicker/core/PickerInput/Selector/Input.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs +70 -0
- package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/RangeSelector.d.mts +8 -0
- package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs +136 -0
- package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs +28 -0
- package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs +69 -0
- package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs +111 -0
- package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs +18 -0
- package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs +108 -0
- package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs +11 -0
- package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/Selector/util.mjs +20 -0
- package/es/DatePicker/core/PickerInput/Selector/util.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/SinglePicker.d.mts +55 -0
- package/es/DatePicker/core/PickerInput/SinglePicker.mjs +318 -0
- package/es/DatePicker/core/PickerInput/SinglePicker.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/context.mjs +7 -0
- package/es/DatePicker/core/PickerInput/context.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs +30 -0
- package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs +37 -0
- package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs +18 -0
- package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs +20 -0
- package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs +31 -0
- package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs +98 -0
- package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs +41 -0
- package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs +34 -0
- package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs +35 -0
- package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs +9 -0
- package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs +36 -0
- package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs +27 -0
- package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs +18 -0
- package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs +19 -0
- package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs +20 -0
- package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs +24 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs +107 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs +144 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs +219 -0
- package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs.map +1 -0
- package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs +11 -0
- package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs +131 -0
- package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs +35 -0
- package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs +84 -0
- package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs +73 -0
- package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/PanelBody.mjs +95 -0
- package/es/DatePicker/core/PickerPanel/PanelBody.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/PanelHeader.mjs +130 -0
- package/es/DatePicker/core/PickerPanel/PanelHeader.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs +64 -0
- package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs +108 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs +44 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs +157 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs +100 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs +71 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs +62 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs +200 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs +25 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs +31 -0
- package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs +34 -0
- package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs +92 -0
- package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/context.mjs +48 -0
- package/es/DatePicker/core/PickerPanel/context.mjs.map +1 -0
- package/es/DatePicker/core/PickerPanel/index.d.mts +1 -0
- package/es/DatePicker/core/PickerPanel/index.mjs +175 -0
- package/es/DatePicker/core/PickerPanel/index.mjs.map +1 -0
- package/es/DatePicker/core/PickerPopup.mjs +118 -0
- package/es/DatePicker/core/PickerPopup.mjs.map +1 -0
- package/es/DatePicker/core/generate/dayjs.mjs +109 -0
- package/es/DatePicker/core/generate/dayjs.mjs.map +1 -0
- package/es/DatePicker/core/generate/index.d.mts +40 -0
- package/es/DatePicker/core/hooks/react.mjs +58 -0
- package/es/DatePicker/core/hooks/react.mjs.map +1 -0
- package/es/DatePicker/core/hooks/useLocale.mjs +51 -0
- package/es/DatePicker/core/hooks/useLocale.mjs.map +1 -0
- package/es/DatePicker/core/hooks/useSemantic.mjs +20 -0
- package/es/DatePicker/core/hooks/useSemantic.mjs.map +1 -0
- package/es/DatePicker/core/hooks/useSyncState.mjs +25 -0
- package/es/DatePicker/core/hooks/useSyncState.mjs.map +1 -0
- package/es/DatePicker/core/hooks/useTimeConfig.mjs +173 -0
- package/es/DatePicker/core/hooks/useTimeConfig.mjs.map +1 -0
- package/es/DatePicker/core/hooks/useTimeInfo.mjs +110 -0
- package/es/DatePicker/core/hooks/useTimeInfo.mjs.map +1 -0
- package/es/DatePicker/core/hooks/useToggleDates.mjs +21 -0
- package/es/DatePicker/core/hooks/useToggleDates.mjs.map +1 -0
- package/es/DatePicker/core/index.d.mts +5 -0
- package/es/DatePicker/core/index.mjs +9 -0
- package/es/DatePicker/core/index.mjs.map +1 -0
- package/es/DatePicker/core/interface.d.mts +325 -0
- package/es/DatePicker/core/locale/common.mjs +11 -0
- package/es/DatePicker/core/locale/common.mjs.map +1 -0
- package/es/DatePicker/core/locale/en_US.mjs +39 -0
- package/es/DatePicker/core/locale/en_US.mjs.map +1 -0
- package/es/DatePicker/core/utils/common.mjs +73 -0
- package/es/DatePicker/core/utils/common.mjs.map +1 -0
- package/es/DatePicker/core/utils/dateUtil.mjs +106 -0
- package/es/DatePicker/core/utils/dateUtil.mjs.map +1 -0
- package/es/DatePicker/core/utils/miscUtil.mjs +46 -0
- package/es/DatePicker/core/utils/miscUtil.mjs.map +1 -0
- package/es/DatePicker/core/utils/uiUtil.mjs +9 -0
- package/es/DatePicker/core/utils/uiUtil.mjs.map +1 -0
- package/es/DatePicker/dateGenerateConfig.mjs +52 -0
- package/es/DatePicker/dateGenerateConfig.mjs.map +1 -0
- package/es/DatePicker/generateConfig.mjs +12 -0
- package/es/DatePicker/generateConfig.mjs.map +1 -0
- package/es/DatePicker/generatePicker.d.mts +12 -0
- package/es/DatePicker/generatePicker.mjs +22 -0
- package/es/DatePicker/generatePicker.mjs.map +1 -0
- package/es/DatePicker/index.d.mts +8 -3
- package/es/DatePicker/index.mjs +5 -1
- package/es/DatePicker/legacyDate.mjs +58 -0
- package/es/DatePicker/legacyDate.mjs.map +1 -0
- package/es/DatePicker/locale.d.mts +15 -0
- package/es/DatePicker/locale.mjs +143 -0
- package/es/DatePicker/locale.mjs.map +1 -0
- package/es/DatePicker/semantic.mjs +29 -0
- package/es/DatePicker/semantic.mjs.map +1 -0
- package/es/DatePicker/style.mjs +3 -155
- package/es/DatePicker/style.mjs.map +1 -1
- package/es/DatePicker/type.d.mts +294 -27
- package/es/DatePicker/usePanelKeyboard.mjs +230 -0
- package/es/DatePicker/usePanelKeyboard.mjs.map +1 -0
- package/es/DatePicker/usePickerShared.mjs +106 -0
- package/es/DatePicker/usePickerShared.mjs.map +1 -0
- package/es/DatePicker/usePresetActive.mjs +49 -0
- package/es/DatePicker/usePresetActive.mjs.map +1 -0
- package/es/DraggablePanel/atoms.mjs +6 -6
- package/es/DraggablePanel/atoms.mjs.map +1 -1
- package/es/DraggableSideNav/DraggableSideNav.mjs +5 -5
- package/es/DraggableSideNav/DraggableSideNav.mjs.map +1 -1
- package/es/Drawer/Drawer.mjs +2 -2
- package/es/Drawer/Drawer.mjs.map +1 -1
- package/es/Drawer/atoms.d.mts +1 -0
- package/es/Drawer/atoms.mjs +7 -7
- package/es/Drawer/atoms.mjs.map +1 -1
- package/es/Drawer/constants.d.mts +1 -0
- package/es/Drawer/style.mjs.map +1 -1
- package/es/DropdownMenu/atoms.mjs +23 -23
- package/es/DropdownMenu/atoms.mjs.map +1 -1
- package/es/DropdownMenu/sharedStyle.mjs +2 -2
- package/es/DropdownMenu/sharedStyle.mjs.map +1 -1
- package/es/EditableText/ControlInput.mjs +42 -29
- package/es/EditableText/ControlInput.mjs.map +1 -1
- package/es/EditableText/EditableText.mjs +2 -2
- package/es/EditableText/EditableText.mjs.map +1 -1
- package/es/EditorSlashMenu/atoms.mjs +12 -12
- package/es/EditorSlashMenu/atoms.mjs.map +1 -1
- package/es/EmojiPicker/EmojiPicker.mjs +10 -16
- package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
- package/es/EmojiPicker/loadEmojiData.mjs +6 -0
- package/es/EmojiPicker/loadEmojiData.mjs.map +1 -0
- package/es/EmojiPicker/useEmojiMartI18n.mjs +37 -0
- package/es/EmojiPicker/useEmojiMartI18n.mjs.map +1 -0
- package/es/FileTypeIcon/type.d.mts +1 -0
- package/es/FloatingPanel/FloatingPanel.mjs +2 -2
- package/es/FloatingPanel/FloatingPanel.mjs.map +1 -1
- package/es/FloatingPanel/style.mjs +3 -2
- package/es/FloatingPanel/style.mjs.map +1 -1
- package/es/Form/Form.mjs +6 -2
- package/es/Form/Form.mjs.map +1 -1
- package/es/Form/style.mjs +3 -3
- package/es/Form/style.mjs.map +1 -1
- package/es/Form/type.d.mts +8 -0
- package/es/FormKit/List.mjs +2 -2
- package/es/FormKit/List.mjs.map +1 -1
- package/es/FormKit/engine/tanstack.mjs +1 -1
- package/es/FormKit/engine/tanstack.mjs.map +1 -1
- package/es/Grid/style.mjs +1 -1
- package/es/Grid/style.mjs.map +1 -1
- package/es/GroupAvatar/type.d.mts +1 -0
- package/es/Highlighter/FullFeatured.mjs +2 -2
- package/es/Highlighter/FullFeatured.mjs.map +1 -1
- package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs +2 -2
- package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs.map +1 -1
- package/es/Highlighter/SyntaxHighlighter/index.mjs +4 -4
- package/es/Highlighter/SyntaxHighlighter/index.mjs.map +1 -1
- package/es/Highlighter/const.d.mts +1 -0
- package/es/Highlighter/style.mjs +2 -2
- package/es/Highlighter/style.mjs.map +1 -1
- package/es/HotkeyInput/HotkeyInput.mjs +1 -1
- package/es/HotkeyInput/HotkeyInput.mjs.map +1 -1
- package/es/HtmlPreview/HtmlPreview.mjs +2 -2
- package/es/HtmlPreview/HtmlPreview.mjs.map +1 -1
- package/es/Icon/Icon.mjs +2 -2
- package/es/Icon/Icon.mjs.map +1 -1
- package/es/Image/type.d.mts +1 -0
- package/es/Image/viewer/ImageViewer.mjs +2 -1
- package/es/Image/viewer/ImageViewer.mjs.map +1 -1
- package/es/Image/viewer/Toolbar.mjs +19 -6
- package/es/Image/viewer/Toolbar.mjs.map +1 -1
- package/es/Image/viewer/ViewerChrome.mjs.map +1 -1
- package/es/ImageSelect/ImageSelect.mjs +1 -1
- package/es/ImageSelect/ImageSelect.mjs.map +1 -1
- package/es/Input/Input.mjs +7 -5
- package/es/Input/Input.mjs.map +1 -1
- package/es/Input/TextArea.mjs +1 -1
- package/es/Input/TextArea.mjs.map +1 -1
- package/es/Input/style.d.mts +1 -0
- package/es/Input/style.mjs +3 -3
- package/es/Input/style.mjs.map +1 -1
- package/es/Input/type.d.mts +1 -0
- package/es/List/ListRow.mjs +3 -3
- package/es/List/ListRow.mjs.map +1 -1
- package/es/Markdown/Markdown.mjs +2 -2
- package/es/Markdown/Markdown.mjs.map +1 -1
- package/es/Markdown/Typography.mjs +2 -2
- package/es/Markdown/Typography.mjs.map +1 -1
- package/es/Markdown/plugins/remarkColor.d.mts +1 -0
- package/es/Markdown/plugins/remarkGfmPlus.d.mts +1 -0
- package/es/Markdown/plugins/remarkVideo.d.mts +1 -0
- package/es/Mermaid/FullFeatured.mjs +2 -2
- package/es/Mermaid/FullFeatured.mjs.map +1 -1
- package/es/Mermaid/SyntaxMermaid/index.mjs +4 -4
- package/es/Mermaid/SyntaxMermaid/index.mjs.map +1 -1
- package/es/Mermaid/const.d.mts +1 -0
- package/es/Modal/atoms.d.mts +1 -0
- package/es/Modal/atoms.mjs +8 -8
- package/es/Modal/atoms.mjs.map +1 -1
- package/es/Modal/constants.d.mts +1 -0
- package/es/Modal/type.d.mts +1 -0
- package/es/Pagination/Pagination.mjs +182 -42
- package/es/Pagination/Pagination.mjs.map +1 -1
- package/es/Pagination/helpers.mjs +3 -3
- package/es/Pagination/helpers.mjs.map +1 -1
- package/es/Pagination/index.d.mts +2 -2
- package/es/Pagination/marker.stylex.mjs +9 -0
- package/es/Pagination/marker.stylex.mjs.map +1 -0
- package/es/Pagination/style.mjs +74 -4
- package/es/Pagination/style.mjs.map +1 -1
- package/es/Pagination/type.d.mts +41 -3
- package/es/Popover/PopoverInGroup.mjs +3 -3
- package/es/Popover/PopoverInGroup.mjs.map +1 -1
- package/es/Popover/atoms.mjs +7 -7
- package/es/Popover/atoms.mjs.map +1 -1
- package/es/Popover/style.mjs +1 -1
- package/es/Popover/style.mjs.map +1 -1
- package/es/ProTable/ProTable.d.mts +11 -0
- package/es/ProTable/ProTable.mjs +208 -0
- package/es/ProTable/ProTable.mjs.map +1 -0
- package/es/ProTable/hooks/useColumnRequest.mjs +55 -0
- package/es/ProTable/hooks/useColumnRequest.mjs.map +1 -0
- package/es/ProTable/hooks/useColumnsState.mjs +37 -0
- package/es/ProTable/hooks/useColumnsState.mjs.map +1 -0
- package/es/ProTable/hooks/useDelayedFlag.mjs +18 -0
- package/es/ProTable/hooks/useDelayedFlag.mjs.map +1 -0
- package/es/ProTable/hooks/useDensity.mjs +15 -0
- package/es/ProTable/hooks/useDensity.mjs.map +1 -0
- package/es/ProTable/hooks/useFetchData.mjs +97 -0
- package/es/ProTable/hooks/useFetchData.mjs.map +1 -0
- package/es/ProTable/hooks/useFullscreen.mjs +22 -0
- package/es/ProTable/hooks/useFullscreen.mjs.map +1 -0
- package/es/ProTable/hooks/usePageInfo.mjs +35 -0
- package/es/ProTable/hooks/usePageInfo.mjs.map +1 -0
- package/es/ProTable/hooks/useProColumns.mjs +123 -0
- package/es/ProTable/hooks/useProColumns.mjs.map +1 -0
- package/es/ProTable/hooks/useProLoading.mjs +19 -0
- package/es/ProTable/hooks/useProLoading.mjs.map +1 -0
- package/es/ProTable/hooks/useProLocale.mjs +22 -0
- package/es/ProTable/hooks/useProLocale.mjs.map +1 -0
- package/es/ProTable/hooks/useProRequest.mjs +137 -0
- package/es/ProTable/hooks/useProRequest.mjs.map +1 -0
- package/es/ProTable/hooks/useRowCache.mjs +11 -0
- package/es/ProTable/hooks/useRowCache.mjs.map +1 -0
- package/es/ProTable/hooks/useSearchForm.mjs +141 -0
- package/es/ProTable/hooks/useSearchForm.mjs.map +1 -0
- package/es/ProTable/hooks/useTableBindings.mjs +39 -0
- package/es/ProTable/hooks/useTableBindings.mjs.map +1 -0
- package/es/ProTable/hooks/useTableSelection.mjs +14 -0
- package/es/ProTable/hooks/useTableSelection.mjs.map +1 -0
- package/es/ProTable/index.d.mts +4 -0
- package/es/ProTable/index.d.ts +1 -0
- package/es/ProTable/index.js +1 -0
- package/es/ProTable/index.mjs +3 -0
- package/es/ProTable/locale.d.mts +15 -0
- package/es/ProTable/locale.mjs +66 -0
- package/es/ProTable/locale.mjs.map +1 -0
- package/es/ProTable/parts/ColumnSetting.mjs +155 -0
- package/es/ProTable/parts/ColumnSetting.mjs.map +1 -0
- package/es/ProTable/parts/FieldControl.mjs +134 -0
- package/es/ProTable/parts/FieldControl.mjs.map +1 -0
- package/es/ProTable/parts/KeywordInput.mjs +19 -0
- package/es/ProTable/parts/KeywordInput.mjs.map +1 -0
- package/es/ProTable/parts/LightFilter.mjs +70 -0
- package/es/ProTable/parts/LightFilter.mjs.map +1 -0
- package/es/ProTable/parts/OptionPopover.mjs +17 -0
- package/es/ProTable/parts/OptionPopover.mjs.map +1 -0
- package/es/ProTable/parts/SearchForm.mjs +180 -0
- package/es/ProTable/parts/SearchForm.mjs.map +1 -0
- package/es/ProTable/parts/SearchSection.mjs +33 -0
- package/es/ProTable/parts/SearchSection.mjs.map +1 -0
- package/es/ProTable/parts/TableAlert.mjs +38 -0
- package/es/ProTable/parts/TableAlert.mjs.map +1 -0
- package/es/ProTable/parts/Toolbar.mjs +50 -0
- package/es/ProTable/parts/Toolbar.mjs.map +1 -0
- package/es/ProTable/parts/ToolbarOptions.mjs +103 -0
- package/es/ProTable/parts/ToolbarOptions.mjs.map +1 -0
- package/es/ProTable/parts/renderValue.mjs +118 -0
- package/es/ProTable/parts/renderValue.mjs.map +1 -0
- package/es/ProTable/style.mjs +287 -0
- package/es/ProTable/style.mjs.map +1 -0
- package/es/ProTable/type.d.mts +400 -0
- package/es/ProTable/utils.mjs +152 -0
- package/es/ProTable/utils.mjs.map +1 -0
- package/es/Radio/Radio.mjs +3 -3
- package/es/Radio/Radio.mjs.map +1 -1
- package/es/Radio/type.d.mts +1 -0
- package/es/Rate/Rate.mjs +1 -1
- package/es/Rate/Rate.mjs.map +1 -1
- package/es/ScrollArea/atoms.mjs +4 -4
- package/es/ScrollArea/atoms.mjs.map +1 -1
- package/es/ScrollShadow/ScrollShadow.mjs +1 -1
- package/es/ScrollShadow/ScrollShadow.mjs.map +1 -1
- package/es/SearchBar/SearchBar.mjs +31 -25
- package/es/SearchBar/SearchBar.mjs.map +1 -1
- package/es/Segmented/Segmented.mjs +4 -4
- package/es/Segmented/Segmented.mjs.map +1 -1
- package/es/Segmented/atoms.d.mts +1 -0
- package/es/Segmented/atoms.mjs +2 -2
- package/es/Segmented/atoms.mjs.map +1 -1
- package/es/Select/Select.mjs +22 -13
- package/es/Select/Select.mjs.map +1 -1
- package/es/Select/atoms.mjs +5 -5
- package/es/Select/atoms.mjs.map +1 -1
- package/es/Select/helpers.mjs +8 -1
- package/es/Select/helpers.mjs.map +1 -1
- package/es/Select/hooks.mjs +8 -4
- package/es/Select/hooks.mjs.map +1 -1
- package/es/Select/renderOptions.mjs +2 -2
- package/es/Select/renderOptions.mjs.map +1 -1
- package/es/Select/type.d.mts +7 -0
- package/es/Slider/type.d.mts +1 -0
- package/es/Switch/Switch.mjs +9 -2
- package/es/Switch/Switch.mjs.map +1 -1
- package/es/Switch/atoms.d.mts +8 -1
- package/es/Switch/atoms.mjs +23 -7
- package/es/Switch/atoms.mjs.map +1 -1
- package/es/Switch/style.mjs +33 -2
- package/es/Switch/style.mjs.map +1 -1
- package/es/Table/Column.d.mts +8 -0
- package/es/Table/Column.mjs +6 -0
- package/es/Table/Column.mjs.map +1 -0
- package/es/Table/ColumnGroup.d.mts +11 -0
- package/es/Table/ColumnGroup.mjs +6 -0
- package/es/Table/ColumnGroup.mjs.map +1 -0
- package/es/Table/Table.d.mts +16 -2
- package/es/Table/Table.mjs +158 -118
- package/es/Table/Table.mjs.map +1 -1
- package/es/Table/atoms/cells.d.mts +42 -0
- package/es/Table/atoms/cells.mjs +72 -0
- package/es/Table/atoms/cells.mjs.map +1 -0
- package/es/Table/atoms/index.d.mts +3 -0
- package/es/Table/atoms/layout.d.mts +44 -0
- package/es/Table/atoms/layout.mjs +62 -0
- package/es/Table/atoms/layout.mjs.map +1 -0
- package/es/Table/constants.mjs +16 -0
- package/es/Table/constants.mjs.map +1 -0
- package/es/Table/engine/fixed.d.mts +1 -0
- package/es/Table/engine/fixed.mjs +53 -0
- package/es/Table/engine/fixed.mjs.map +1 -0
- package/es/Table/engine/types.d.mts +1 -0
- package/es/Table/engine/useTableEngine.mjs +180 -0
- package/es/Table/engine/useTableEngine.mjs.map +1 -0
- package/es/Table/index.d.mts +7 -2
- package/es/Table/index.mjs +4 -1
- package/es/Table/internal.d.mts +3 -0
- package/es/Table/pipeline/columnUtils.d.mts +5 -0
- package/es/Table/pipeline/columnUtils.mjs +58 -0
- package/es/Table/pipeline/columnUtils.mjs.map +1 -0
- package/es/Table/pipeline/convertChildrenToColumns.mjs +24 -0
- package/es/Table/pipeline/convertChildrenToColumns.mjs.map +1 -0
- package/es/Table/pipeline/normalizeColumns.mjs +140 -0
- package/es/Table/pipeline/normalizeColumns.mjs.map +1 -0
- package/es/Table/pipeline/selectionUtils.d.mts +9 -0
- package/es/Table/pipeline/selectionUtils.mjs +115 -0
- package/es/Table/pipeline/selectionUtils.mjs.map +1 -0
- package/es/Table/pipeline/useBreakpoint.mjs +36 -0
- package/es/Table/pipeline/useBreakpoint.mjs.map +1 -0
- package/es/Table/pipeline/useExpandable.mjs +45 -0
- package/es/Table/pipeline/useExpandable.mjs.map +1 -0
- package/es/Table/pipeline/useFilter.mjs +52 -0
- package/es/Table/pipeline/useFilter.mjs.map +1 -0
- package/es/Table/pipeline/useSelection.mjs +302 -0
- package/es/Table/pipeline/useSelection.mjs.map +1 -0
- package/es/Table/pipeline/useSorter.mjs +146 -0
- package/es/Table/pipeline/useSorter.mjs.map +1 -0
- package/es/Table/pipeline/useTableLocale.mjs +30 -0
- package/es/Table/pipeline/useTableLocale.mjs.map +1 -0
- package/es/Table/pipeline/useTableState.mjs +118 -0
- package/es/Table/pipeline/useTableState.mjs.map +1 -0
- package/es/Table/pipeline/useVirtualLayout.mjs +80 -0
- package/es/Table/pipeline/useVirtualLayout.mjs.map +1 -0
- package/es/Table/render/Body.mjs +150 -0
- package/es/Table/render/Body.mjs.map +1 -0
- package/es/Table/render/BodyCell.mjs +87 -0
- package/es/Table/render/BodyCell.mjs.map +1 -0
- package/es/Table/render/CellShell.mjs +84 -0
- package/es/Table/render/CellShell.mjs.map +1 -0
- package/es/Table/render/ExpandIcon.mjs +28 -0
- package/es/Table/render/ExpandIcon.mjs.map +1 -0
- package/es/Table/render/FilterDropdown.mjs +139 -0
- package/es/Table/render/FilterDropdown.mjs.map +1 -0
- package/es/Table/render/FilterPanel.mjs +152 -0
- package/es/Table/render/FilterPanel.mjs.map +1 -0
- package/es/Table/render/FixedFrost.mjs +122 -0
- package/es/Table/render/FixedFrost.mjs.map +1 -0
- package/es/Table/render/FixedHolder.mjs +51 -0
- package/es/Table/render/FixedHolder.mjs.map +1 -0
- package/es/Table/render/Header.mjs +184 -0
- package/es/Table/render/Header.mjs.map +1 -0
- package/es/Table/render/LoadingSkeleton.mjs +78 -0
- package/es/Table/render/LoadingSkeleton.mjs.map +1 -0
- package/es/Table/render/PaginationBar.mjs +71 -0
- package/es/Table/render/PaginationBar.mjs.map +1 -0
- package/es/Table/render/SelectionCells.mjs +111 -0
- package/es/Table/render/SelectionCells.mjs.map +1 -0
- package/es/Table/render/StickyScrollBar.mjs +99 -0
- package/es/Table/render/StickyScrollBar.mjs.map +1 -0
- package/es/Table/render/Summary.d.mts +16 -0
- package/es/Table/render/Summary.mjs +58 -0
- package/es/Table/render/Summary.mjs.map +1 -0
- package/es/Table/render/TableView.mjs +215 -0
- package/es/Table/render/TableView.mjs.map +1 -0
- package/es/Table/render/VirtualBody.mjs +101 -0
- package/es/Table/render/VirtualBody.mjs.map +1 -0
- package/es/Table/render/context.mjs +15 -0
- package/es/Table/render/context.mjs.map +1 -0
- package/es/Table/render/filterUtils.mjs +22 -0
- package/es/Table/render/filterUtils.mjs.map +1 -0
- package/es/Table/render/tableHelpers.mjs +27 -0
- package/es/Table/render/tableHelpers.mjs.map +1 -0
- package/es/Table/render/useColGroups.mjs +23 -0
- package/es/Table/render/useColGroups.mjs.map +1 -0
- package/es/Table/render/useScrollSync.mjs +104 -0
- package/es/Table/render/useScrollSync.mjs.map +1 -0
- package/es/Table/render/useViewContexts.mjs +134 -0
- package/es/Table/render/useViewContexts.mjs.map +1 -0
- package/es/Table/semantic.mjs +45 -0
- package/es/Table/semantic.mjs.map +1 -0
- package/es/Table/store/createTableStore.d.mts +1 -0
- package/es/Table/store/createTableStore.mjs +40 -0
- package/es/Table/store/createTableStore.mjs.map +1 -0
- package/es/Table/store/hooks.mjs +24 -0
- package/es/Table/store/hooks.mjs.map +1 -0
- package/es/Table/style.mjs +179 -90
- package/es/Table/style.mjs.map +1 -1
- package/es/Table/type.d.mts +467 -37
- package/es/Table/useTableController.mjs +293 -0
- package/es/Table/useTableController.mjs.map +1 -0
- package/es/Tabs/Tabs.mjs +37 -23
- package/es/Tabs/Tabs.mjs.map +1 -1
- package/es/Tabs/atoms.mjs +2 -2
- package/es/Tabs/atoms.mjs.map +1 -1
- package/es/Tabs/style.d.mts +1 -1
- package/es/Tag/Tag.mjs +2 -2
- package/es/Tag/Tag.mjs.map +1 -1
- package/es/Text/Text.mjs +2 -2
- package/es/Text/Text.mjs.map +1 -1
- package/es/Text/style.d.mts +1 -0
- package/es/Text/style.mjs +3 -3
- package/es/Text/style.mjs.map +1 -1
- package/es/Toast/dodge.mjs +0 -1
- package/es/Toast/dodge.mjs.map +1 -1
- package/es/Toast/dodge.stylex.mjs +1 -4
- package/es/Toast/dodge.stylex.mjs.map +1 -1
- package/es/Toast/style.mjs +1 -1
- package/es/Toast/style.mjs.map +1 -1
- package/es/ToggleGroup/ToggleGroup.mjs +4 -4
- package/es/ToggleGroup/ToggleGroup.mjs.map +1 -1
- package/es/ToggleGroup/atoms.d.mts +1 -0
- package/es/ToggleGroup/atoms.mjs +2 -2
- package/es/ToggleGroup/atoms.mjs.map +1 -1
- package/es/Tooltip/TooltipGroup.mjs +3 -3
- package/es/Tooltip/TooltipGroup.mjs.map +1 -1
- package/es/Tooltip/TooltipInGroup.mjs +1 -1
- package/es/Tooltip/TooltipInGroup.mjs.map +1 -1
- package/es/Tooltip/TooltipStandalone.mjs +4 -4
- package/es/Tooltip/TooltipStandalone.mjs.map +1 -1
- package/es/Tooltip/style.mjs +2 -2
- package/es/Tooltip/style.mjs.map +1 -1
- package/es/Tree/Tree.mjs +3 -3
- package/es/Tree/Tree.mjs.map +1 -1
- package/es/Tree/TreeNode.mjs +2 -2
- package/es/Tree/TreeNode.mjs.map +1 -1
- package/es/Video/Video.mjs +46 -0
- package/es/Video/Video.mjs.map +1 -0
- package/es/Video/context.mjs +14 -0
- package/es/Video/context.mjs.map +1 -0
- package/es/Video/index.d.mts +23 -39
- package/es/Video/index.mjs +21 -111
- package/es/Video/index.mjs.map +1 -1
- package/es/Video/parts/Caption.d.mts +9 -0
- package/es/Video/parts/Caption.mjs +37 -0
- package/es/Video/parts/Caption.mjs.map +1 -0
- package/es/Video/parts/CenterPlay.d.mts +8 -0
- package/es/Video/parts/CenterPlay.mjs +34 -0
- package/es/Video/parts/CenterPlay.mjs.map +1 -0
- package/es/Video/parts/Controls.d.mts +9 -0
- package/es/Video/parts/Controls.mjs +128 -0
- package/es/Video/parts/Controls.mjs.map +1 -0
- package/es/Video/parts/Frame.d.mts +9 -0
- package/es/Video/parts/Frame.mjs +101 -0
- package/es/Video/parts/Frame.mjs.map +1 -0
- package/es/Video/parts/HoverPreview.mjs +93 -0
- package/es/Video/parts/HoverPreview.mjs.map +1 -0
- package/es/Video/parts/LoadError.d.mts +8 -0
- package/es/Video/parts/LoadError.mjs +47 -0
- package/es/Video/parts/LoadError.mjs.map +1 -0
- package/es/Video/parts/PlayPauseIcon.mjs +48 -0
- package/es/Video/parts/PlayPauseIcon.mjs.map +1 -0
- package/es/Video/parts/RateMenu.mjs +48 -0
- package/es/Video/parts/RateMenu.mjs.map +1 -0
- package/es/Video/parts/Root.d.mts +9 -0
- package/es/Video/parts/Root.mjs +110 -0
- package/es/Video/parts/Root.mjs.map +1 -0
- package/es/Video/parts/SectionList.d.mts +9 -0
- package/es/Video/parts/SectionList.mjs +32 -0
- package/es/Video/parts/SectionList.mjs.map +1 -0
- package/es/Video/parts/SectionMenu.mjs +63 -0
- package/es/Video/parts/SectionMenu.mjs.map +1 -0
- package/es/Video/parts/Timeline.d.mts +9 -0
- package/es/Video/parts/Timeline.mjs +169 -0
- package/es/Video/parts/Timeline.mjs.map +1 -0
- package/es/Video/store.mjs +241 -0
- package/es/Video/store.mjs.map +1 -0
- package/es/Video/style.mjs +393 -23
- package/es/Video/style.mjs.map +1 -1
- package/es/Video/time.mjs +60 -0
- package/es/Video/time.mjs.map +1 -0
- package/es/Video/type.d.mts +125 -0
- package/es/Video/useControlsIdle.mjs +39 -0
- package/es/Video/useControlsIdle.mjs.map +1 -0
- package/es/Video/useFullscreen.mjs +17 -0
- package/es/Video/useFullscreen.mjs.map +1 -0
- package/es/Video/useKeyboard.mjs +60 -0
- package/es/Video/useKeyboard.mjs.map +1 -0
- package/es/Video/useVideo.d.mts +9 -0
- package/es/Video/useVideo.mjs +17 -0
- package/es/Video/useVideo.mjs.map +1 -0
- package/es/awesome/Features/FeatureItem.mjs +2 -2
- package/es/awesome/Features/FeatureItem.mjs.map +1 -1
- package/es/awesome/Giscus/style.mjs +9 -9
- package/es/awesome/Giscus/style.mjs.map +1 -1
- package/es/awesome/Grainient/Grainient.d.mts +11 -0
- package/es/awesome/Grainient/Grainient.mjs +314 -0
- package/es/awesome/Grainient/Grainient.mjs.map +1 -0
- package/es/awesome/Grainient/index.d.mts +3 -0
- package/es/awesome/Grainient/style.mjs +23 -0
- package/es/awesome/Grainient/style.mjs.map +1 -0
- package/es/awesome/Grainient/type.d.mts +121 -0
- package/es/awesome/GridBackground/GridBackground.mjs +1 -1
- package/es/awesome/GridBackground/GridBackground.mjs.map +1 -1
- package/es/awesome/GridBackground/GridShowcase.mjs +4 -4
- package/es/awesome/GridBackground/GridShowcase.mjs.map +1 -1
- package/es/awesome/Hero/Hero.mjs +3 -3
- package/es/awesome/Hero/Hero.mjs.map +1 -1
- package/es/awesome/InstallBanner/InstallBanner.mjs +2 -2
- package/es/awesome/InstallBanner/InstallBanner.mjs.map +1 -1
- package/es/awesome/LandingHero/LandingHero.mjs +3 -3
- package/es/awesome/LandingHero/LandingHero.mjs.map +1 -1
- package/es/awesome/LogoMarquee/LogoMarquee.mjs +2 -2
- package/es/awesome/LogoMarquee/LogoMarquee.mjs.map +1 -1
- package/es/awesome/Spline/ParentSize.mjs +1 -1
- package/es/awesome/Spline/ParentSize.mjs.map +1 -1
- package/es/awesome/TypewriterEffect/TypewriterEffect.mjs +4 -4
- package/es/awesome/TypewriterEffect/TypewriterEffect.mjs.map +1 -1
- package/es/awesome/index.d.mts +4 -1
- package/es/awesome/index.mjs +2 -1
- package/es/awesome/landingActions.mjs +2 -2
- package/es/awesome/landingActions.mjs.map +1 -1
- package/es/chat/BackBottom/BackBottom.mjs +1 -1
- package/es/chat/BackBottom/BackBottom.mjs.map +1 -1
- package/es/chat/BackBottom/type.d.mts +2 -2
- package/es/chat/ChatItem/ChatItem.mjs +2 -2
- package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
- package/es/chat/EditableMessage/EditableMessage.mjs +4 -4
- package/es/chat/EditableMessage/EditableMessage.mjs.map +1 -1
- package/es/chat/EditableMessageList/EditableMessageList.mjs +2 -2
- package/es/chat/EditableMessageList/EditableMessageList.mjs.map +1 -1
- package/es/chat/EditableMessageList/messageReducer.mjs +30 -23
- package/es/chat/EditableMessageList/messageReducer.mjs.map +1 -1
- package/es/chat/MessageInput/MessageInput.mjs +3 -3
- package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
- package/es/chat/MessageModal/MessageModal.mjs +1 -1
- package/es/chat/MessageModal/MessageModal.mjs.map +1 -1
- package/es/chat/TokenTag/TokenTag.mjs +2 -3
- package/es/chat/TokenTag/TokenTag.mjs.map +1 -1
- package/es/color/index.d.mts +2 -1
- package/es/color/index.mjs +2 -1
- package/es/color/status/error.mjs +67 -0
- package/es/color/status/error.mjs.map +1 -0
- package/es/color/status/index.d.mts +11 -0
- package/es/color/status/index.mjs +15 -0
- package/es/color/status/index.mjs.map +1 -0
- package/es/color/status/info.mjs +67 -0
- package/es/color/status/info.mjs.map +1 -0
- package/es/color/status/success.mjs +67 -0
- package/es/color/status/success.mjs.map +1 -0
- package/es/color/status/warning.mjs +67 -0
- package/es/color/status/warning.mjs.map +1 -0
- package/es/color/types.d.mts +1 -0
- package/es/dashboard/AuthLayout/Aside.d.mts +10 -0
- package/es/dashboard/AuthLayout/Aside.mjs +31 -0
- package/es/dashboard/AuthLayout/Aside.mjs.map +1 -0
- package/es/dashboard/AuthLayout/AuthLayout.d.mts +3 -1
- package/es/dashboard/AuthLayout/AuthLayout.mjs +97 -37
- package/es/dashboard/AuthLayout/AuthLayout.mjs.map +1 -1
- package/es/dashboard/AuthLayout/index.d.mts +3 -2
- package/es/dashboard/AuthLayout/style.mjs +109 -1
- package/es/dashboard/AuthLayout/style.mjs.map +1 -1
- package/es/dashboard/AuthLayout/type.d.mts +38 -2
- package/es/dashboard/AuthTools/AuthLocaleSwitch.d.mts +10 -0
- package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs +33 -0
- package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs.map +1 -0
- package/es/dashboard/AuthTools/AuthThemeSwitch.d.mts +10 -0
- package/es/dashboard/AuthTools/AuthThemeSwitch.mjs +59 -0
- package/es/dashboard/AuthTools/AuthThemeSwitch.mjs.map +1 -0
- package/es/dashboard/AuthTools/index.d.mts +4 -0
- package/es/dashboard/AuthTools/style.mjs +27 -0
- package/es/dashboard/AuthTools/style.mjs.map +1 -0
- package/es/dashboard/AuthTools/type.d.mts +29 -0
- package/es/dashboard/ChartGrid/ChartGrid.d.mts +10 -0
- package/es/dashboard/ChartGrid/ChartGrid.mjs +19 -0
- package/es/dashboard/ChartGrid/ChartGrid.mjs.map +1 -0
- package/es/dashboard/ChartGrid/index.d.mts +3 -0
- package/es/dashboard/ChartGrid/style.mjs +18 -0
- package/es/dashboard/ChartGrid/style.mjs.map +1 -0
- package/es/dashboard/ChartGrid/type.d.mts +8 -0
- package/es/dashboard/ConsoleNav/ConsoleNav.mjs +3 -3
- package/es/dashboard/ConsoleNav/ConsoleNav.mjs.map +1 -1
- package/es/dashboard/ConsoleNav/Skeleton.d.mts +15 -0
- package/es/dashboard/ConsoleNav/Skeleton.mjs +82 -0
- package/es/dashboard/ConsoleNav/Skeleton.mjs.map +1 -0
- package/es/dashboard/ConsoleNav/index.d.mts +3 -2
- package/es/dashboard/ConsoleNav/style.mjs +20 -2
- package/es/dashboard/ConsoleNav/style.mjs.map +1 -1
- package/es/dashboard/ConsoleNav/type.d.mts +13 -0
- package/es/dashboard/ConsoleShell/ConsoleShell.d.mts +1 -1
- package/es/dashboard/ConsoleShell/ConsoleShell.mjs +26 -6
- package/es/dashboard/ConsoleShell/ConsoleShell.mjs.map +1 -1
- package/es/dashboard/ConsoleShell/style.mjs +11 -1
- package/es/dashboard/ConsoleShell/style.mjs.map +1 -1
- package/es/dashboard/ConsoleShell/type.d.mts +11 -0
- package/es/dashboard/FilterSidebar/FilterSidebar.mjs +18 -17
- package/es/dashboard/FilterSidebar/FilterSidebar.mjs.map +1 -1
- package/es/dashboard/FilterSidebar/style.mjs +2 -2
- package/es/dashboard/FilterSidebar/style.mjs.map +1 -1
- package/es/dashboard/FilterStrip/FilterStrip.d.mts +11 -0
- package/es/dashboard/FilterStrip/FilterStrip.mjs +55 -0
- package/es/dashboard/FilterStrip/FilterStrip.mjs.map +1 -0
- package/es/dashboard/FilterStrip/index.d.mts +3 -0
- package/es/dashboard/FilterStrip/style.mjs +78 -0
- package/es/dashboard/FilterStrip/style.mjs.map +1 -0
- package/es/dashboard/FilterStrip/type.d.mts +25 -0
- package/es/dashboard/LabelWithKey/LabelWithKey.d.mts +10 -0
- package/es/dashboard/LabelWithKey/LabelWithKey.mjs +18 -0
- package/es/dashboard/LabelWithKey/LabelWithKey.mjs.map +1 -0
- package/es/dashboard/LabelWithKey/index.d.mts +3 -0
- package/es/dashboard/LabelWithKey/type.d.mts +11 -0
- package/es/dashboard/MetricStrip/MetricCell.mjs +92 -0
- package/es/dashboard/MetricStrip/MetricCell.mjs.map +1 -0
- package/es/dashboard/MetricStrip/MetricStrip.d.mts +13 -0
- package/es/dashboard/MetricStrip/MetricStrip.mjs +47 -0
- package/es/dashboard/MetricStrip/MetricStrip.mjs.map +1 -0
- package/es/dashboard/MetricStrip/index.d.mts +3 -0
- package/es/dashboard/MetricStrip/style.mjs +169 -0
- package/es/dashboard/MetricStrip/style.mjs.map +1 -0
- package/es/dashboard/MetricStrip/type.d.mts +38 -0
- package/es/dashboard/PageSkeleton/PageSkeleton.mjs +20 -18
- package/es/dashboard/PageSkeleton/PageSkeleton.mjs.map +1 -1
- package/es/dashboard/PageSkeleton/style.mjs +2 -1
- package/es/dashboard/PageSkeleton/style.mjs.map +1 -1
- package/es/dashboard/PageToolbar/PageToolbar.d.mts +10 -0
- package/es/dashboard/PageToolbar/PageToolbar.mjs +22 -0
- package/es/dashboard/PageToolbar/PageToolbar.mjs.map +1 -0
- package/es/dashboard/PageToolbar/index.d.mts +3 -0
- package/es/dashboard/PageToolbar/style.mjs +36 -0
- package/es/dashboard/PageToolbar/style.mjs.map +1 -0
- package/es/dashboard/PageToolbar/type.d.mts +11 -0
- package/es/dashboard/PanelSurface/PanelSurface.d.mts +10 -0
- package/es/dashboard/PanelSurface/PanelSurface.mjs +40 -0
- package/es/dashboard/PanelSurface/PanelSurface.mjs.map +1 -0
- package/es/dashboard/PanelSurface/index.d.mts +3 -0
- package/es/dashboard/PanelSurface/style.mjs +25 -0
- package/es/dashboard/PanelSurface/style.mjs.map +1 -0
- package/es/dashboard/PanelSurface/type.d.mts +17 -0
- package/es/dashboard/Section/Section.d.mts +10 -0
- package/es/dashboard/Section/Section.mjs +81 -0
- package/es/dashboard/Section/Section.mjs.map +1 -0
- package/es/dashboard/Section/index.d.mts +3 -0
- package/es/dashboard/Section/style.mjs +31 -0
- package/es/dashboard/Section/style.mjs.map +1 -0
- package/es/dashboard/Section/type.d.mts +23 -0
- package/es/dashboard/StatCard/StatCard.d.mts +2 -1
- package/es/dashboard/StatCard/StatCard.mjs +29 -91
- package/es/dashboard/StatCard/StatCard.mjs.map +1 -1
- package/es/dashboard/StatCard/type.d.mts +18 -5
- package/es/dashboard/Surface/Surface.d.mts +4 -3
- package/es/dashboard/Surface/Surface.mjs +90 -8
- package/es/dashboard/Surface/Surface.mjs.map +1 -1
- package/es/dashboard/Surface/index.d.mts +3 -2
- package/es/dashboard/Surface/link.d.mts +16 -0
- package/es/dashboard/Surface/link.mjs +40 -0
- package/es/dashboard/Surface/link.mjs.map +1 -0
- package/es/dashboard/Surface/marker.stylex.mjs +9 -0
- package/es/dashboard/Surface/marker.stylex.mjs.map +1 -0
- package/es/dashboard/Surface/style.d.mts +2 -0
- package/es/dashboard/Surface/style.mjs +156 -14
- package/es/dashboard/Surface/style.mjs.map +1 -1
- package/es/dashboard/Surface/type.d.mts +29 -1
- package/es/dashboard/TableIconActions/TableIconActions.d.mts +17 -0
- package/es/dashboard/TableIconActions/TableIconActions.mjs +39 -0
- package/es/dashboard/TableIconActions/TableIconActions.mjs.map +1 -0
- package/es/dashboard/TableIconActions/index.d.mts +3 -0
- package/es/dashboard/TableIconActions/type.d.mts +17 -0
- package/es/dashboard/TitleWithTips/TitleWithTips.d.mts +10 -0
- package/es/dashboard/TitleWithTips/TitleWithTips.mjs +28 -0
- package/es/dashboard/TitleWithTips/TitleWithTips.mjs.map +1 -0
- package/es/dashboard/TitleWithTips/index.d.mts +3 -0
- package/es/dashboard/TitleWithTips/type.d.mts +10 -0
- package/es/dashboard/index.d.mts +38 -4
- package/es/dashboard/index.mjs +18 -4
- package/es/eslint/noBaseUiSubpath.mjs +2 -1
- package/es/eslint/noBaseUiSubpath.mjs.map +1 -1
- package/es/hooks/useControlledState.mjs +20 -0
- package/es/hooks/useControlledState.mjs.map +1 -0
- package/es/hooks/useHighlight.mjs +2 -2
- package/es/hooks/useHighlight.mjs.map +1 -1
- package/es/hooks/useHover.mjs +22 -0
- package/es/hooks/useHover.mjs.map +1 -0
- package/es/hooks/useMarkdown/utils.d.mts +1 -0
- package/es/hooks/useScroll.d.mts +8 -0
- package/es/hooks/useScroll.mjs +33 -0
- package/es/hooks/useScroll.mjs.map +1 -0
- package/es/hooks/useSize.mjs +26 -0
- package/es/hooks/useSize.mjs.map +1 -0
- package/es/i18n/resources/en/colorPicker.d.mts +5 -0
- package/es/i18n/resources/en/colorPicker.mjs +5 -0
- package/es/i18n/resources/en/colorPicker.mjs.map +1 -1
- package/es/i18n/resources/en/datePicker.d.mts +54 -0
- package/es/i18n/resources/en/datePicker.mjs +55 -1
- package/es/i18n/resources/en/datePicker.mjs.map +1 -1
- package/es/i18n/resources/en/index.d.mts +4 -2
- package/es/i18n/resources/en/index.mjs +6 -2
- package/es/i18n/resources/en/index.mjs.map +1 -1
- package/es/i18n/resources/en/table.d.mts +23 -0
- package/es/i18n/resources/en/table.mjs +24 -0
- package/es/i18n/resources/en/table.mjs.map +1 -0
- package/es/i18n/resources/en/video.d.mts +23 -0
- package/es/i18n/resources/en/video.mjs +24 -0
- package/es/i18n/resources/en/video.mjs.map +1 -0
- package/es/i18n/resources/zhCn/colorPicker.d.mts +5 -0
- package/es/i18n/resources/zhCn/colorPicker.mjs +5 -0
- package/es/i18n/resources/zhCn/colorPicker.mjs.map +1 -1
- package/es/i18n/resources/zhCn/datePicker.d.mts +54 -0
- package/es/i18n/resources/zhCn/datePicker.mjs +55 -1
- package/es/i18n/resources/zhCn/datePicker.mjs.map +1 -1
- package/es/i18n/resources/zhCn/index.d.mts +4 -2
- package/es/i18n/resources/zhCn/index.mjs +7 -3
- package/es/i18n/resources/zhCn/index.mjs.map +1 -1
- package/es/i18n/resources/zhCn/table.d.mts +23 -0
- package/es/i18n/resources/zhCn/table.mjs +24 -0
- package/es/i18n/resources/zhCn/table.mjs.map +1 -0
- package/es/i18n/resources/zhCn/video.d.mts +23 -0
- package/es/i18n/resources/zhCn/video.mjs +24 -0
- package/es/i18n/resources/zhCn/video.mjs.map +1 -0
- package/es/i18n/types.d.mts +4 -1
- package/es/index.d.mts +21 -8
- package/es/index.mjs +18 -9
- package/es/internal/menu/itemInterface.d.mts +1 -0
- package/es/internal/menu/renderUtils.d.mts +1 -0
- package/es/internal/overflow/OverflowList.mjs +71 -0
- package/es/internal/overflow/OverflowList.mjs.map +1 -0
- package/es/internal/virtual/VirtualScrollArea.mjs +1 -1
- package/es/internal/virtual/VirtualScrollArea.mjs.map +1 -1
- package/es/mdx/Callout/index.mjs +2 -2
- package/es/mdx/Callout/index.mjs.map +1 -1
- package/es/mdx/Cards/Card.mjs +2 -2
- package/es/mdx/Cards/Card.mjs.map +1 -1
- package/es/mdx/Cards/index.mjs +2 -2
- package/es/mdx/Cards/index.mjs.map +1 -1
- package/es/mdx/Mdx/index.mjs +2 -2
- package/es/mdx/Mdx/index.mjs.map +1 -1
- package/es/mdx/Steps/index.mjs +2 -2
- package/es/mdx/Steps/index.mjs.map +1 -1
- package/es/mdx/mdxComponents/Pre.mjs +5 -5
- package/es/mdx/mdxComponents/Pre.mjs.map +1 -1
- package/es/mdx/mdxComponents/Video.d.mts +2 -1
- package/es/mdx/mdxComponents/Video.mjs +5 -3
- package/es/mdx/mdxComponents/Video.mjs.map +1 -1
- package/es/mobile/ChatInputArea/ChatInputArea.mjs +1 -1
- package/es/mobile/ChatInputArea/ChatInputArea.mjs.map +1 -1
- package/es/mobile/TabBar/TabBar.mjs +1 -1
- package/es/mobile/TabBar/TabBar.mjs.map +1 -1
- package/es/node_modules/.pnpm/@eslint_core@1.2.1/node_modules/@eslint/core/dist/esm/types.d.mts +2 -46
- package/es/node_modules/.pnpm/@eslint_plugin-kit@0.7.3/node_modules/@eslint/plugin-kit/dist/cjs/index.d.mts +1 -1
- package/es/node_modules/.pnpm/@types_estree@1.0.9/node_modules/@types/estree/index.d.mts +1 -4
- package/es/node_modules/.pnpm/@types_mdx@2.0.14/node_modules/@types/mdx/types.d.mts +1 -0
- package/es/node_modules/.pnpm/eslint@10.12.0_jiti@2.6.1_supports-color@10.2.2/node_modules/eslint/lib/types/index.d.mts +2 -1
- package/es/storybook/StoryBook/style.mjs +2 -0
- package/es/storybook/StoryBook/style.mjs.map +1 -1
- package/es/style.css +3643 -996
- package/es/styles/createGlobalStyle.d.mts +1 -0
- package/es/styles/createGlobalStyle.mjs +1 -1
- package/es/styles/index.d.mts +4 -2
- package/es/styles/index.mjs +6 -4
- package/es/styles/stylex/cssVar.stylex.mjs +3 -0
- package/es/styles/stylex/cssVar.stylex.mjs.map +1 -1
- package/es/styles/stylex/props.mjs +2 -2
- package/es/styles/stylex/props.mjs.map +1 -1
- package/es/styles/theme/createLobeToken.d.mts +12 -7
- package/es/styles/theme/createLobeToken.mjs +3 -2
- package/es/styles/theme/createLobeToken.mjs.map +1 -1
- package/es/styles/theme/customPalette.d.mts +6 -0
- package/es/styles/theme/customPalette.mjs +28 -0
- package/es/styles/theme/customPalette.mjs.map +1 -0
- package/es/styles/theme/customPrimary.d.mts +7 -0
- package/es/styles/theme/customPrimary.mjs +101 -0
- package/es/styles/theme/customPrimary.mjs.map +1 -0
- package/es/styles/theme/generateColorPalette.d.mts +1 -0
- package/es/styles/theme/scope.d.mts +9 -5
- package/es/styles/theme/scope.mjs +73 -18
- package/es/styles/theme/scope.mjs.map +1 -1
- package/es/styles/theme/themeCss.d.mts +3 -0
- package/es/styles/theme/themeCss.mjs +39 -2
- package/es/styles/theme/themeCss.mjs.map +1 -1
- package/es/styles/theme/token/legacy.mjs +12 -12
- package/es/styles/theme/token/legacy.mjs.map +1 -1
- package/es/styles/theme/token/neutral.mjs +17 -9
- package/es/styles/theme/token/neutral.mjs.map +1 -1
- package/es/styles/theme/token/neutralText.mjs +91 -0
- package/es/styles/theme/token/neutralText.mjs.map +1 -0
- package/es/styles/theme/token/palette.mjs +16 -41
- package/es/styles/theme/token/palette.mjs.map +1 -1
- package/es/styles/theme/token/primary.mjs +6 -2
- package/es/styles/theme/token/primary.mjs.map +1 -1
- package/es/styles/theme/token/static.mjs +3 -0
- package/es/styles/theme/token/static.mjs.map +1 -1
- package/es/theme.css +301 -290
- package/es/types/customToken.d.mts +1 -0
- package/es/utils/colorMath.mjs +52 -0
- package/es/utils/colorMath.mjs.map +1 -0
- package/es/utils/formatNumber.mjs +7 -0
- package/es/utils/formatNumber.mjs.map +1 -0
- package/es/utils/genCdnUrl.mjs +6 -3
- package/es/utils/genCdnUrl.mjs.map +1 -1
- package/es/utils/hashString.mjs +19 -0
- package/es/utils/hashString.mjs.map +1 -0
- package/es/utils/mergeRefs.mjs +20 -0
- package/es/utils/mergeRefs.mjs.map +1 -0
- package/es/utils/placement.d.mts +5 -5
- package/es/utils/placement.mjs.map +1 -1
- package/package.json +25 -46
- package/es/DatePicker/CalendarPanel.mjs +0 -189
- package/es/DatePicker/CalendarPanel.mjs.map +0 -1
- package/es/DatePicker/PickerShell.mjs +0 -43
- package/es/DatePicker/PickerShell.mjs.map +0 -1
- package/es/DatePicker/calendar.d.mts +0 -4
- package/es/DatePicker/calendar.mjs +0 -46
- package/es/DatePicker/calendar.mjs.map +0 -1
- package/es/Table/FilterMenu.mjs +0 -45
- package/es/Table/FilterMenu.mjs.map +0 -1
- package/es/Table/TableBody.mjs +0 -67
- package/es/Table/TableBody.mjs.map +0 -1
- package/es/Table/TableHead.mjs +0 -58
- package/es/Table/TableHead.mjs.map +0 -1
- package/es/Table/features.mjs +0 -12
- package/es/Table/features.mjs.map +0 -1
- package/es/Table/fixedOffsets.mjs +0 -29
- package/es/Table/fixedOffsets.mjs.map +0 -1
- package/es/Table/marker.stylex.mjs +0 -9
- package/es/Table/marker.stylex.mjs.map +0 -1
- package/es/Table/toColumnDefs.mjs +0 -26
- package/es/Table/toColumnDefs.mjs.map +0 -1
- package/es/Table/useTableState.mjs +0 -99
- package/es/Table/useTableState.mjs.map +0 -1
- package/es/Video/marker.stylex.mjs +0 -9
- package/es/Video/marker.stylex.mjs.map +0 -1
- package/es/dashboard/StatCard/style.mjs +0 -105
- package/es/dashboard/StatCard/style.mjs.map +0 -1
|
@@ -1,232 +1,95 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import {
|
|
3
|
-
import { focusRing } from "../styles/stylex/focusRing.mjs";
|
|
4
|
-
import Icon from "../Icon/Icon.mjs";
|
|
5
|
-
import { useThemeMode } from "../styles/theme/scope.mjs";
|
|
2
|
+
import { useControlledState } from "../hooks/useControlledState.mjs";
|
|
6
3
|
import { useTranslation } from "../i18n/useTranslation.mjs";
|
|
7
|
-
import { inputRootStyles } from "../Input/style.mjs";
|
|
8
|
-
import Input_default from "../Input/Input.mjs";
|
|
9
|
-
import InputNumber_default from "../Input/InputNumber.mjs";
|
|
10
4
|
import colorPicker_default from "../i18n/resources/en/colorPicker.mjs";
|
|
11
5
|
import { panelStyles } from "../internal/panelStyles.mjs";
|
|
12
6
|
import { PopoverPopup, PopoverPortal, PopoverPositioner, PopoverRoot, PopoverTriggerElement } from "../Popover/atoms.mjs";
|
|
13
|
-
import
|
|
14
|
-
import {
|
|
15
|
-
import
|
|
16
|
-
import
|
|
17
|
-
import {
|
|
7
|
+
import { formatColor, parseColor } from "./color.mjs";
|
|
8
|
+
import { pushRecentColor } from "./recent.mjs";
|
|
9
|
+
import ColorPanel from "./ColorPanel.mjs";
|
|
10
|
+
import ColorTrigger from "./Trigger.mjs";
|
|
11
|
+
import { memo, useEffect, useRef, useState } from "react";
|
|
18
12
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
19
|
-
import * as stylex from "@stylexjs/stylex";
|
|
20
|
-
import { Pipette } from "lucide-react";
|
|
21
|
-
import useControlledState from "use-merge-value";
|
|
22
13
|
//#region src/ColorPicker/ColorPicker.tsx
|
|
23
14
|
const DEFAULT_COLOR = "#000000";
|
|
24
|
-
const
|
|
25
|
-
const ColorPicker = memo(({ alpha = false, children, className, defaultValue = DEFAULT_COLOR, disabled, onChange, onChangeComplete, presets, showText, size = "middle", style, value }) => {
|
|
15
|
+
const ColorPicker = memo(({ alpha = false, children, className, defaultFormat = "hex", defaultValue = DEFAULT_COLOR, disabled, onChange, onChangeComplete, presets, recent = true, showText, size = "middle", style, trigger = showText ? "field" : "swatch", value }) => {
|
|
26
16
|
const { t } = useTranslation(colorPicker_default);
|
|
27
|
-
const { isDarkMode } = useThemeMode();
|
|
28
17
|
const [hex, setHex] = useControlledState(defaultValue, {
|
|
29
18
|
defaultValue,
|
|
30
19
|
onChange,
|
|
31
20
|
value
|
|
32
21
|
});
|
|
33
22
|
const [hsva, setHsva] = useState(() => parseColor(hex));
|
|
34
|
-
const [
|
|
23
|
+
const [format, setFormat] = useState(defaultFormat);
|
|
24
|
+
const [original, setOriginal] = useState(hex);
|
|
35
25
|
const popupRef = useRef(null);
|
|
36
26
|
useEffect(() => {
|
|
27
|
+
if (!hex) return;
|
|
37
28
|
setHsva((current) => formatColor(current, alpha) === hex.toLowerCase() ? current : parseColor(hex, current.h));
|
|
38
|
-
setDraft(hex.slice(1).toUpperCase());
|
|
39
29
|
}, [hex, alpha]);
|
|
40
30
|
const update = (next) => {
|
|
41
31
|
setHsva(next);
|
|
42
32
|
setHex(formatColor(next, alpha));
|
|
43
33
|
};
|
|
44
|
-
const commit = (next) =>
|
|
34
|
+
const commit = (next) => {
|
|
35
|
+
const nextHex = formatColor(next, alpha);
|
|
36
|
+
if (recent) pushRecentColor(nextHex);
|
|
37
|
+
onChangeComplete?.(nextHex);
|
|
38
|
+
};
|
|
45
39
|
const apply = (next) => {
|
|
46
40
|
update(next);
|
|
47
41
|
commit(next);
|
|
48
42
|
};
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
apply(parseColor(normalized, hsva.h));
|
|
53
|
-
};
|
|
54
|
-
const swatch = (dimension) => /* @__PURE__ */ jsx("span", {
|
|
55
|
-
...stylex.props(styles.swatch),
|
|
56
|
-
style: {
|
|
57
|
-
height: dimension,
|
|
58
|
-
width: dimension
|
|
43
|
+
return /* @__PURE__ */ jsxs(PopoverRoot, {
|
|
44
|
+
onOpenChange: (open) => {
|
|
45
|
+
if (open) setOriginal(hex);
|
|
59
46
|
},
|
|
60
|
-
children: /* @__PURE__ */ jsx(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
cursor: "pointer",
|
|
74
|
-
...style
|
|
75
|
-
}),
|
|
76
|
-
children: [swatch(18), /* @__PURE__ */ jsx("span", {
|
|
77
|
-
style: { fontFamily: "var(--lobe-font-family-code, monospace)" },
|
|
78
|
-
children: hex.toUpperCase()
|
|
79
|
-
})]
|
|
80
|
-
}) : /* @__PURE__ */ jsx("button", {
|
|
81
|
-
"aria-label": t("colorPicker.trigger"),
|
|
82
|
-
disabled,
|
|
83
|
-
type: "button",
|
|
84
|
-
...styleProps([focusRing.info, styles.swatchButton], className, style),
|
|
85
|
-
children: swatch(24)
|
|
86
|
-
}));
|
|
87
|
-
return /* @__PURE__ */ jsxs(PopoverRoot, { children: [/* @__PURE__ */ jsx(PopoverTriggerElement, { children: trigger }), /* @__PURE__ */ jsx(PopoverPortal, { children: /* @__PURE__ */ jsx(PopoverPositioner, {
|
|
88
|
-
placement: "bottomLeft",
|
|
89
|
-
children: /* @__PURE__ */ jsx(PopoverPopup, {
|
|
90
|
-
ref: popupRef,
|
|
91
|
-
xstyle: panelStyles.popup,
|
|
92
|
-
initialFocus: () => popupRef.current?.querySelector("[role=\"slider\"]") ?? true,
|
|
93
|
-
children: /* @__PURE__ */ jsxs("div", {
|
|
94
|
-
...stylex.props(styles.panel),
|
|
95
|
-
children: [
|
|
96
|
-
/* @__PURE__ */ jsxs("div", {
|
|
97
|
-
...stylex.props(styles.summary),
|
|
98
|
-
children: [
|
|
99
|
-
swatch(40),
|
|
100
|
-
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
101
|
-
...stylex.props(styles.value),
|
|
102
|
-
children: hex.toUpperCase()
|
|
103
|
-
}), /* @__PURE__ */ jsx("div", {
|
|
104
|
-
...stylex.props(panelStyles.label),
|
|
105
|
-
children: alpha ? `HEX · ${Math.round(hsva.a * 100)}%` : "HEX"
|
|
106
|
-
})] }),
|
|
107
|
-
hasEyeDropper() && /* @__PURE__ */ jsx("button", {
|
|
108
|
-
"aria-label": t("colorPicker.eyeDropper"),
|
|
109
|
-
...stylex.props(panelStyles.nav, styles.eyeDropper),
|
|
110
|
-
type: "button",
|
|
111
|
-
onClick: async () => {
|
|
112
|
-
const result = await new window.EyeDropper().open().catch(() => null);
|
|
113
|
-
if (result) apply({
|
|
114
|
-
...parseColor(result.sRGBHex, hsva.h),
|
|
115
|
-
a: hsva.a
|
|
116
|
-
});
|
|
117
|
-
},
|
|
118
|
-
children: /* @__PURE__ */ jsx(Icon, {
|
|
119
|
-
icon: Pipette,
|
|
120
|
-
size: 14
|
|
121
|
-
})
|
|
122
|
-
})
|
|
123
|
-
]
|
|
124
|
-
}),
|
|
125
|
-
/* @__PURE__ */ jsx(SaturationArea, {
|
|
126
|
-
hue: hsva.h,
|
|
127
|
-
label: t("colorPicker.saturation"),
|
|
128
|
-
saturation: hsva.s,
|
|
129
|
-
value: hsva.v,
|
|
130
|
-
onChange: (s, v) => update({
|
|
131
|
-
...hsva,
|
|
132
|
-
s,
|
|
133
|
-
v
|
|
134
|
-
}),
|
|
135
|
-
onChangeComplete: (s, v) => commit({
|
|
136
|
-
...hsva,
|
|
137
|
-
s,
|
|
138
|
-
v
|
|
139
|
-
})
|
|
140
|
-
}),
|
|
141
|
-
/* @__PURE__ */ jsx(Slider, {
|
|
142
|
-
"aria-label": t("colorPicker.hue"),
|
|
143
|
-
max: 360,
|
|
144
|
-
min: 0,
|
|
145
|
-
value: hsva.h,
|
|
146
|
-
classNames: {
|
|
147
|
-
indicator: stylex.props(styles.hidden).className,
|
|
148
|
-
thumb: stylex.props(styles.sliderThumb).className,
|
|
149
|
-
track: stylex.props(styles.hueTrack).className
|
|
150
|
-
},
|
|
151
|
-
onChange: (h) => update({
|
|
152
|
-
...hsva,
|
|
153
|
-
h
|
|
154
|
-
}),
|
|
155
|
-
onChangeComplete: (h) => commit({
|
|
156
|
-
...hsva,
|
|
157
|
-
h
|
|
158
|
-
})
|
|
159
|
-
}),
|
|
160
|
-
alpha && /* @__PURE__ */ jsx(Slider, {
|
|
161
|
-
"aria-label": t("colorPicker.alpha"),
|
|
162
|
-
max: 100,
|
|
163
|
-
min: 0,
|
|
164
|
-
value: Math.round(hsva.a * 100),
|
|
165
|
-
classNames: {
|
|
166
|
-
indicator: stylex.props(styles.hidden).className,
|
|
167
|
-
thumb: stylex.props(styles.sliderThumb).className,
|
|
168
|
-
track: stylex.props(styles.alphaTrack).className
|
|
169
|
-
},
|
|
170
|
-
styles: { track: { "--lobe-color-picker-alpha": formatColor(hsva, false) } },
|
|
171
|
-
onChange: (a) => update({
|
|
172
|
-
...hsva,
|
|
173
|
-
a: a / 100
|
|
174
|
-
}),
|
|
175
|
-
onChangeComplete: (a) => commit({
|
|
176
|
-
...hsva,
|
|
177
|
-
a: a / 100
|
|
178
|
-
})
|
|
179
|
-
}),
|
|
180
|
-
/* @__PURE__ */ jsxs("div", {
|
|
181
|
-
...stylex.props(styles.hexRow),
|
|
182
|
-
children: [/* @__PURE__ */ jsx(Input_default, {
|
|
183
|
-
"aria-label": "HEX",
|
|
184
|
-
className: stylex.props(styles.hexField).className,
|
|
185
|
-
prefix: /* @__PURE__ */ jsx("span", {
|
|
186
|
-
...stylex.props(panelStyles.label),
|
|
187
|
-
children: "HEX"
|
|
188
|
-
}),
|
|
189
|
-
value: draft,
|
|
190
|
-
variant: "filled",
|
|
191
|
-
onBlur: commitDraft,
|
|
192
|
-
onChange: (event) => setDraft(event.target.value),
|
|
193
|
-
onPressEnter: commitDraft
|
|
194
|
-
}), alpha && /* @__PURE__ */ jsx(InputNumber_default, {
|
|
195
|
-
"aria-label": t("colorPicker.alpha"),
|
|
196
|
-
className: stylex.props(styles.hexField, styles.alphaField).className,
|
|
197
|
-
controls: false,
|
|
198
|
-
max: 100,
|
|
199
|
-
min: 0,
|
|
200
|
-
suffix: "%",
|
|
201
|
-
value: Math.round(hsva.a * 100),
|
|
202
|
-
variant: "filled",
|
|
203
|
-
onChange: (a) => a !== null && apply({
|
|
204
|
-
...hsva,
|
|
205
|
-
a: a / 100
|
|
206
|
-
})
|
|
207
|
-
})]
|
|
208
|
-
}),
|
|
209
|
-
presets && presets.length > 0 && /* @__PURE__ */ jsx("div", {
|
|
210
|
-
"aria-label": t("colorPicker.presets"),
|
|
211
|
-
...stylex.props(styles.presets),
|
|
212
|
-
role: "group",
|
|
213
|
-
children: presets.map((color) => /* @__PURE__ */ createElement("button", {
|
|
214
|
-
"aria-label": color,
|
|
215
|
-
"aria-pressed": color.toLowerCase() === hex.slice(0, 7).toLowerCase(),
|
|
216
|
-
...stylex.props(focusRing.info, styles.preset),
|
|
217
|
-
key: color,
|
|
218
|
-
style: { background: color },
|
|
219
|
-
type: "button",
|
|
220
|
-
onClick: () => apply({
|
|
221
|
-
...parseColor(color, hsva.h),
|
|
222
|
-
a: parseColor(color).a
|
|
223
|
-
})
|
|
224
|
-
}))
|
|
225
|
-
})
|
|
226
|
-
]
|
|
47
|
+
children: [/* @__PURE__ */ jsx(PopoverTriggerElement, {
|
|
48
|
+
nativeButton: true,
|
|
49
|
+
disabled,
|
|
50
|
+
children: children ?? /* @__PURE__ */ jsx(ColorTrigger, {
|
|
51
|
+
alpha: alpha && hex ? hsva.a : void 0,
|
|
52
|
+
className,
|
|
53
|
+
disabled,
|
|
54
|
+
emptyLabel: t("colorPicker.empty"),
|
|
55
|
+
hex,
|
|
56
|
+
label: t("colorPicker.trigger"),
|
|
57
|
+
size,
|
|
58
|
+
style,
|
|
59
|
+
variant: trigger
|
|
227
60
|
})
|
|
228
|
-
})
|
|
229
|
-
|
|
61
|
+
}), /* @__PURE__ */ jsx(PopoverPortal, { children: /* @__PURE__ */ jsx(PopoverPositioner, {
|
|
62
|
+
placement: "bottomLeft",
|
|
63
|
+
children: /* @__PURE__ */ jsx(PopoverPopup, {
|
|
64
|
+
ref: popupRef,
|
|
65
|
+
xstyle: panelStyles.popup,
|
|
66
|
+
initialFocus: () => popupRef.current?.querySelector("[role=\"slider\"]") ?? true,
|
|
67
|
+
children: /* @__PURE__ */ jsx(ColorPanel, {
|
|
68
|
+
alpha,
|
|
69
|
+
format,
|
|
70
|
+
hsva,
|
|
71
|
+
original,
|
|
72
|
+
presets,
|
|
73
|
+
recent,
|
|
74
|
+
labels: {
|
|
75
|
+
alpha: t("colorPicker.alpha"),
|
|
76
|
+
eyeDropper: t("colorPicker.eyeDropper"),
|
|
77
|
+
format: t("colorPicker.format"),
|
|
78
|
+
hue: t("colorPicker.hue"),
|
|
79
|
+
original: t("colorPicker.original"),
|
|
80
|
+
presets: t("colorPicker.presets"),
|
|
81
|
+
recent: t("colorPicker.recent"),
|
|
82
|
+
saturation: t("colorPicker.saturation"),
|
|
83
|
+
swatches: t("colorPicker.swatches")
|
|
84
|
+
},
|
|
85
|
+
onApply: apply,
|
|
86
|
+
onCommit: commit,
|
|
87
|
+
onFormatChange: setFormat,
|
|
88
|
+
onUpdate: update
|
|
89
|
+
})
|
|
90
|
+
})
|
|
91
|
+
}) })]
|
|
92
|
+
});
|
|
230
93
|
});
|
|
231
94
|
ColorPicker.displayName = "ColorPicker";
|
|
232
95
|
//#endregion
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorPicker.mjs","names":["colorPickerMessages","Input","InputNumber"],"sources":["../../src/ColorPicker/ColorPicker.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport { Pipette } from 'lucide-react';\nimport { type CSSProperties, memo, useEffect, useRef, useState } from 'react';\nimport useControlledState from 'use-merge-value';\n\nimport colorPickerMessages from '@/i18n/resources/en/colorPicker';\nimport { useTranslation } from '@/i18n/useTranslation';\nimport Icon from '@/Icon';\nimport { Input, InputNumber } from '@/Input';\nimport { inputRootStyles } from '@/Input/style';\nimport { panelStyles } from '@/internal/panelStyles';\nimport {\n PopoverPopup,\n PopoverPortal,\n PopoverPositioner,\n PopoverRoot,\n PopoverTriggerElement,\n} from '@/Popover';\nimport { Slider } from '@/Slider';\nimport { focusRing } from '@/styles/stylex/focusRing';\nimport { styleProps } from '@/styles/stylex/props';\nimport { useThemeMode } from '@/styles/theme/scope';\n\nimport { formatColor, type Hsva, normalizeHexInput, parseColor } from './color';\nimport SaturationArea from './SaturationArea';\nimport { styles } from './style';\nimport type { ColorPickerProps } from './type';\n\nconst DEFAULT_COLOR = '#000000';\n\nconst hasEyeDropper = () => typeof window !== 'undefined' && 'EyeDropper' in window;\n\nconst ColorPicker = memo<ColorPickerProps>(\n ({\n alpha = false,\n children,\n className,\n defaultValue = DEFAULT_COLOR,\n disabled,\n onChange,\n onChangeComplete,\n presets,\n showText,\n size = 'middle',\n style,\n value,\n }) => {\n const { t } = useTranslation(colorPickerMessages);\n const { isDarkMode } = useThemeMode();\n const [hex, setHex] = useControlledState<string>(defaultValue, {\n defaultValue,\n onChange,\n value,\n });\n const [hsva, setHsva] = useState<Hsva>(() => parseColor(hex));\n const [draft, setDraft] = useState(hex.slice(1).toUpperCase());\n const popupRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n setHsva((current) =>\n formatColor(current, alpha) === hex.toLowerCase() ? current : parseColor(hex, current.h),\n );\n setDraft(hex.slice(1).toUpperCase());\n }, [hex, alpha]);\n\n const update = (next: Hsva) => {\n setHsva(next);\n setHex(formatColor(next, alpha));\n };\n const commit = (next: Hsva) => onChangeComplete?.(formatColor(next, alpha));\n const apply = (next: Hsva) => {\n update(next);\n commit(next);\n };\n\n const commitDraft = () => {\n const normalized = normalizeHexInput(draft);\n if (!normalized) return setDraft(hex.slice(1).toUpperCase());\n apply(parseColor(normalized, hsva.h));\n };\n\n const swatch = (dimension: number) => (\n <span {...stylex.props(styles.swatch)} style={{ height: dimension, width: dimension }}>\n <span {...stylex.props(styles.swatchFill)} style={{ background: hex }} />\n </span>\n );\n\n const trigger =\n children ??\n (showText ? (\n <button\n aria-label={t('colorPicker.trigger')}\n disabled={disabled}\n type=\"button\"\n {...styleProps(\n [\n ...inputRootStyles({ size, variant: isDarkMode ? 'filled' : 'outlined' }),\n styles.textTrigger,\n ],\n className,\n { cursor: 'pointer', ...style },\n )}\n >\n {swatch(18)}\n <span style={{ fontFamily: 'var(--lobe-font-family-code, monospace)' }}>\n {hex.toUpperCase()}\n </span>\n </button>\n ) : (\n <button\n aria-label={t('colorPicker.trigger')}\n disabled={disabled}\n type=\"button\"\n {...styleProps([focusRing.info, styles.swatchButton], className, style)}\n >\n {swatch(24)}\n </button>\n ));\n\n return (\n <PopoverRoot>\n <PopoverTriggerElement>{trigger}</PopoverTriggerElement>\n <PopoverPortal>\n <PopoverPositioner placement=\"bottomLeft\">\n <PopoverPopup\n ref={popupRef}\n xstyle={panelStyles.popup}\n initialFocus={() =>\n popupRef.current?.querySelector<HTMLElement>('[role=\"slider\"]') ?? true\n }\n >\n <div {...stylex.props(styles.panel)}>\n <div {...stylex.props(styles.summary)}>\n {swatch(40)}\n <div>\n <div {...stylex.props(styles.value)}>{hex.toUpperCase()}</div>\n <div {...stylex.props(panelStyles.label)}>\n {alpha ? `HEX · ${Math.round(hsva.a * 100)}%` : 'HEX'}\n </div>\n </div>\n {hasEyeDropper() && (\n <button\n aria-label={t('colorPicker.eyeDropper')}\n {...stylex.props(panelStyles.nav, styles.eyeDropper)}\n type=\"button\"\n onClick={async () => {\n const dropper = new (\n window as unknown as {\n EyeDropper: new () => { open: () => Promise<{ sRGBHex: string }> };\n }\n ).EyeDropper();\n const result = await dropper.open().catch(() => null);\n if (result) apply({ ...parseColor(result.sRGBHex, hsva.h), a: hsva.a });\n }}\n >\n <Icon icon={Pipette} size={14} />\n </button>\n )}\n </div>\n <SaturationArea\n hue={hsva.h}\n label={t('colorPicker.saturation')}\n saturation={hsva.s}\n value={hsva.v}\n onChange={(s, v) => update({ ...hsva, s, v })}\n onChangeComplete={(s, v) => commit({ ...hsva, s, v })}\n />\n <Slider\n aria-label={t('colorPicker.hue')}\n max={360}\n min={0}\n value={hsva.h}\n classNames={{\n indicator: stylex.props(styles.hidden).className,\n thumb: stylex.props(styles.sliderThumb).className,\n track: stylex.props(styles.hueTrack).className,\n }}\n onChange={(h) => update({ ...hsva, h })}\n onChangeComplete={(h) => commit({ ...hsva, h })}\n />\n {alpha && (\n <Slider\n aria-label={t('colorPicker.alpha')}\n max={100}\n min={0}\n value={Math.round(hsva.a * 100)}\n classNames={{\n indicator: stylex.props(styles.hidden).className,\n thumb: stylex.props(styles.sliderThumb).className,\n track: stylex.props(styles.alphaTrack).className,\n }}\n styles={{\n track: {\n '--lobe-color-picker-alpha': formatColor(hsva, false),\n } as CSSProperties,\n }}\n onChange={(a) => update({ ...hsva, a: a / 100 })}\n onChangeComplete={(a) => commit({ ...hsva, a: a / 100 })}\n />\n )}\n <div {...stylex.props(styles.hexRow)}>\n <Input\n aria-label=\"HEX\"\n className={stylex.props(styles.hexField).className}\n prefix={<span {...stylex.props(panelStyles.label)}>HEX</span>}\n value={draft}\n variant=\"filled\"\n onBlur={commitDraft}\n onChange={(event) => setDraft(event.target.value)}\n onPressEnter={commitDraft}\n />\n {alpha && (\n <InputNumber\n aria-label={t('colorPicker.alpha')}\n className={stylex.props(styles.hexField, styles.alphaField).className}\n controls={false}\n max={100}\n min={0}\n suffix=\"%\"\n value={Math.round(hsva.a * 100)}\n variant=\"filled\"\n onChange={(a) => a !== null && apply({ ...hsva, a: a / 100 })}\n />\n )}\n </div>\n {presets && presets.length > 0 && (\n <div\n aria-label={t('colorPicker.presets')}\n {...stylex.props(styles.presets)}\n role=\"group\"\n >\n {presets.map((color) => (\n <button\n aria-label={color}\n aria-pressed={color.toLowerCase() === hex.slice(0, 7).toLowerCase()}\n {...stylex.props(focusRing.info, styles.preset)}\n key={color}\n style={{ background: color }}\n type=\"button\"\n onClick={() =>\n apply({ ...parseColor(color, hsva.h), a: parseColor(color).a })\n }\n />\n ))}\n </div>\n )}\n </div>\n </PopoverPopup>\n </PopoverPositioner>\n </PopoverPortal>\n </PopoverRoot>\n );\n },\n);\n\nColorPicker.displayName = 'ColorPicker';\n\nexport default ColorPicker;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ColorPicker.mjs","names":["colorPickerMessages"],"sources":["../../src/ColorPicker/ColorPicker.tsx"],"sourcesContent":["'use client';\n\nimport { memo, useEffect, useRef, useState } from 'react';\n\nimport { useControlledState } from '@/hooks/useControlledState';\nimport colorPickerMessages from '@/i18n/resources/en/colorPicker';\nimport { useTranslation } from '@/i18n/useTranslation';\nimport { panelStyles } from '@/internal/panelStyles';\nimport {\n PopoverPopup,\n PopoverPortal,\n PopoverPositioner,\n PopoverRoot,\n PopoverTriggerElement,\n} from '@/Popover';\n\nimport { type ColorFormat, formatColor, type Hsva, parseColor } from './color';\nimport ColorPanel from './ColorPanel';\nimport { pushRecentColor } from './recent';\nimport ColorTrigger from './Trigger';\nimport type { ColorPickerProps } from './type';\n\nconst DEFAULT_COLOR = '#000000';\n\nconst ColorPicker = memo<ColorPickerProps>(\n ({\n alpha = false,\n children,\n className,\n defaultFormat = 'hex',\n defaultValue = DEFAULT_COLOR,\n disabled,\n onChange,\n onChangeComplete,\n presets,\n recent = true,\n showText,\n size = 'middle',\n style,\n trigger = showText ? 'field' : 'swatch',\n value,\n }) => {\n const { t } = useTranslation(colorPickerMessages);\n const [hex, setHex] = useControlledState<string>(defaultValue, {\n defaultValue,\n onChange,\n value,\n });\n const [hsva, setHsva] = useState<Hsva>(() => parseColor(hex));\n const [format, setFormat] = useState<ColorFormat>(defaultFormat);\n const [original, setOriginal] = useState(hex);\n const popupRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!hex) return;\n setHsva((current) =>\n formatColor(current, alpha) === hex.toLowerCase() ? current : parseColor(hex, current.h),\n );\n }, [hex, alpha]);\n\n const update = (next: Hsva) => {\n setHsva(next);\n setHex(formatColor(next, alpha));\n };\n const commit = (next: Hsva) => {\n const nextHex = formatColor(next, alpha);\n if (recent) pushRecentColor(nextHex);\n onChangeComplete?.(nextHex);\n };\n const apply = (next: Hsva) => {\n update(next);\n commit(next);\n };\n\n return (\n <PopoverRoot\n onOpenChange={(open) => {\n if (open) setOriginal(hex);\n }}\n >\n <PopoverTriggerElement nativeButton disabled={disabled}>\n {children ?? (\n <ColorTrigger\n alpha={alpha && hex ? hsva.a : undefined}\n className={className}\n disabled={disabled}\n emptyLabel={t('colorPicker.empty')}\n hex={hex}\n label={t('colorPicker.trigger')}\n size={size}\n style={style}\n variant={trigger}\n />\n )}\n </PopoverTriggerElement>\n <PopoverPortal>\n <PopoverPositioner placement=\"bottomLeft\">\n <PopoverPopup\n ref={popupRef}\n xstyle={panelStyles.popup}\n initialFocus={() =>\n popupRef.current?.querySelector<HTMLElement>('[role=\"slider\"]') ?? true\n }\n >\n <ColorPanel\n alpha={alpha}\n format={format}\n hsva={hsva}\n original={original}\n presets={presets}\n recent={recent}\n labels={{\n alpha: t('colorPicker.alpha'),\n eyeDropper: t('colorPicker.eyeDropper'),\n format: t('colorPicker.format'),\n hue: t('colorPicker.hue'),\n original: t('colorPicker.original'),\n presets: t('colorPicker.presets'),\n recent: t('colorPicker.recent'),\n saturation: t('colorPicker.saturation'),\n swatches: t('colorPicker.swatches'),\n }}\n onApply={apply}\n onCommit={commit}\n onFormatChange={setFormat}\n onUpdate={update}\n />\n </PopoverPopup>\n </PopoverPositioner>\n </PopoverPortal>\n </PopoverRoot>\n );\n },\n);\n\nColorPicker.displayName = 'ColorPicker';\n\nexport default ColorPicker;\n"],"mappings":";;;;;;;;;;;;;AAsBA,MAAM,gBAAgB;AAEtB,MAAM,cAAc,MACjB,EACC,QAAQ,OACR,UACA,WACA,gBAAgB,OAChB,eAAe,eACf,UACA,UACA,kBACA,SACA,SAAS,MACT,UACA,OAAO,UACP,OACA,UAAU,WAAW,UAAU,UAC/B,YACI;CACJ,MAAM,EAAE,MAAM,eAAeA,mBAAmB;CAChD,MAAM,CAAC,KAAK,UAAU,mBAA2B,cAAc;EAC7D;EACA;EACA;CACF,CAAC;CACD,MAAM,CAAC,MAAM,WAAW,eAAqB,WAAW,GAAG,CAAC;CAC5D,MAAM,CAAC,QAAQ,aAAa,SAAsB,aAAa;CAC/D,MAAM,CAAC,UAAU,eAAe,SAAS,GAAG;CAC5C,MAAM,WAAW,OAAuB,IAAI;CAE5C,gBAAgB;EACd,IAAI,CAAC,KAAK;EACV,SAAS,YACP,YAAY,SAAS,KAAK,MAAM,IAAI,YAAY,IAAI,UAAU,WAAW,KAAK,QAAQ,CAAC,CACzF;CACF,GAAG,CAAC,KAAK,KAAK,CAAC;CAEf,MAAM,UAAU,SAAe;EAC7B,QAAQ,IAAI;EACZ,OAAO,YAAY,MAAM,KAAK,CAAC;CACjC;CACA,MAAM,UAAU,SAAe;EAC7B,MAAM,UAAU,YAAY,MAAM,KAAK;EACvC,IAAI,QAAQ,gBAAgB,OAAO;EACnC,mBAAmB,OAAO;CAC5B;CACA,MAAM,SAAS,SAAe;EAC5B,OAAO,IAAI;EACX,OAAO,IAAI;CACb;CAEA,OACE,qBAAC,aAAD;EACE,eAAe,SAAS;GACtB,IAAI,MAAM,YAAY,GAAG;EAC3B;EAHF,UAAA,CAKE,oBAAC,uBAAD;GAAuB,cAAA;GAAuB;GAC3C,UAAA,YACC,oBAAC,cAAD;IACE,OAAO,SAAS,MAAM,KAAK,IAAI,KAAA;IACpB;IACD;IACV,YAAY,EAAE,mBAAmB;IAC5B;IACL,OAAO,EAAE,qBAAqB;IACxB;IACC;IACP,SAAS;GACV,CAAA;EAEkB,CAAA,GACvB,oBAAC,eAAD,EAAA,UACE,oBAAC,mBAAD;GAAmB,WAAU;GAC3B,UAAA,oBAAC,cAAD;IACE,KAAK;IACL,QAAQ,YAAY;IACpB,oBACE,SAAS,SAAS,cAA2B,mBAAiB,KAAK;IAGrE,UAAA,oBAAC,YAAD;KACS;KACC;KACF;KACI;KACD;KACD;KACR,QAAQ;MACN,OAAO,EAAE,mBAAmB;MAC5B,YAAY,EAAE,wBAAwB;MACtC,QAAQ,EAAE,oBAAoB;MAC9B,KAAK,EAAE,iBAAiB;MACxB,UAAU,EAAE,sBAAsB;MAClC,SAAS,EAAE,qBAAqB;MAChC,QAAQ,EAAE,oBAAoB;MAC9B,YAAY,EAAE,wBAAwB;MACtC,UAAU,EAAE,sBAAsB;KACpC;KACA,SAAS;KACT,UAAU;KACV,gBAAgB;KAChB,UAAU;IACX,CAAA;GACW,CAAA;EACG,CAAA,EACN,CAAA,CACJ;;AAEjB,CACF;AAEA,YAAY,cAAc"}
|
|
@@ -6,7 +6,7 @@ import { jsx } from "react/jsx-runtime";
|
|
|
6
6
|
import * as stylex from "@stylexjs/stylex";
|
|
7
7
|
//#region src/ColorPicker/SaturationArea.tsx
|
|
8
8
|
const clamp = (n) => Math.min(1, Math.max(0, Math.round(n * 100) / 100));
|
|
9
|
-
const SaturationArea = memo(({ hue, label, onChange, onChangeComplete, saturation, value }) => {
|
|
9
|
+
const SaturationArea = memo(({ color, hue, label, onChange, onChangeComplete, saturation, value }) => {
|
|
10
10
|
const areaRef = useRef(null);
|
|
11
11
|
const fromPointer = (event) => {
|
|
12
12
|
const rect = areaRef.current.getBoundingClientRect();
|
|
@@ -53,6 +53,7 @@ const SaturationArea = memo(({ hue, label, onChange, onChangeComplete, saturatio
|
|
|
53
53
|
children: /* @__PURE__ */ jsx("span", {
|
|
54
54
|
...stylex.props(styles.thumb),
|
|
55
55
|
style: {
|
|
56
|
+
background: color,
|
|
56
57
|
left: `${saturation * 100}%`,
|
|
57
58
|
top: `${(1 - value) * 100}%`
|
|
58
59
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaturationArea.mjs","names":[],"sources":["../../src/ColorPicker/SaturationArea.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport { memo, type PointerEvent, useRef } from 'react';\n\nimport { focusRing } from '@/styles/stylex/focusRing';\n\nimport { styles } from './style';\n\nexport interface SaturationAreaProps {\n hue: number;\n label: string;\n onChange: (saturation: number, value: number) => void;\n onChangeComplete: (saturation: number, value: number) => void;\n saturation: number;\n value: number;\n}\n\nconst clamp = (n: number) => Math.min(1, Math.max(0, Math.round(n * 100) / 100));\n\nconst SaturationArea = memo<SaturationAreaProps>(\n ({ hue, label, onChange, onChangeComplete, saturation, value }) => {\n const areaRef = useRef<HTMLDivElement>(null);\n\n const fromPointer = (event: PointerEvent<HTMLDivElement>): [number, number] => {\n const rect = areaRef.current!.getBoundingClientRect();\n const next: [number, number] = [\n clamp((event.clientX - rect.left) / rect.width),\n clamp(1 - (event.clientY - rect.top) / rect.height),\n ];\n onChange(...next);\n return next;\n };\n\n return (\n <div\n aria-label={label}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={Math.round(saturation * 100)}\n aria-valuetext={`Saturation ${Math.round(saturation * 100)}%, brightness ${Math.round(value * 100)}%`}\n {...stylex.props(focusRing.info, styles.saturation)}\n ref={areaRef}\n role=\"slider\"\n tabIndex={0}\n style={{\n background: `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${hue} 100% 50%))`,\n }}\n onKeyDown={(event) => {\n const delta = event.shiftKey ? 0.1 : 0.01;\n const moves: Record<string, [number, number]> = {\n ArrowDown: [0, -delta],\n ArrowLeft: [-delta, 0],\n ArrowRight: [delta, 0],\n ArrowUp: [0, delta],\n };\n const move = moves[event.key];\n if (!move) return;\n event.preventDefault();\n const next: [number, number] = [clamp(saturation + move[0]), clamp(value + move[1])];\n onChange(...next);\n onChangeComplete(...next);\n }}\n onPointerDown={(event) => {\n event.currentTarget.setPointerCapture(event.pointerId);\n fromPointer(event);\n }}\n onPointerMove={(event) => {\n if (event.currentTarget.hasPointerCapture(event.pointerId)) fromPointer(event);\n }}\n onPointerUp={(event) => {\n event.currentTarget.releasePointerCapture(event.pointerId);\n onChangeComplete(...fromPointer(event));\n }}\n >\n <span\n {...stylex.props(styles.thumb)}\n style={{ left: `${saturation * 100}%`, top: `${(1 - value) * 100}%` }}\n />\n </div>\n );\n },\n);\n\nSaturationArea.displayName = 'ColorPickerSaturationArea';\n\nexport default SaturationArea;\n"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"file":"SaturationArea.mjs","names":[],"sources":["../../src/ColorPicker/SaturationArea.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport { memo, type PointerEvent, useRef } from 'react';\n\nimport { focusRing } from '@/styles/stylex/focusRing';\n\nimport { styles } from './style';\n\nexport interface SaturationAreaProps {\n color: string;\n hue: number;\n label: string;\n onChange: (saturation: number, value: number) => void;\n onChangeComplete: (saturation: number, value: number) => void;\n saturation: number;\n value: number;\n}\n\nconst clamp = (n: number) => Math.min(1, Math.max(0, Math.round(n * 100) / 100));\n\nconst SaturationArea = memo<SaturationAreaProps>(\n ({ color, hue, label, onChange, onChangeComplete, saturation, value }) => {\n const areaRef = useRef<HTMLDivElement>(null);\n\n const fromPointer = (event: PointerEvent<HTMLDivElement>): [number, number] => {\n const rect = areaRef.current!.getBoundingClientRect();\n const next: [number, number] = [\n clamp((event.clientX - rect.left) / rect.width),\n clamp(1 - (event.clientY - rect.top) / rect.height),\n ];\n onChange(...next);\n return next;\n };\n\n return (\n <div\n aria-label={label}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={Math.round(saturation * 100)}\n aria-valuetext={`Saturation ${Math.round(saturation * 100)}%, brightness ${Math.round(value * 100)}%`}\n {...stylex.props(focusRing.info, styles.saturation)}\n ref={areaRef}\n role=\"slider\"\n tabIndex={0}\n style={{\n background: `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${hue} 100% 50%))`,\n }}\n onKeyDown={(event) => {\n const delta = event.shiftKey ? 0.1 : 0.01;\n const moves: Record<string, [number, number]> = {\n ArrowDown: [0, -delta],\n ArrowLeft: [-delta, 0],\n ArrowRight: [delta, 0],\n ArrowUp: [0, delta],\n };\n const move = moves[event.key];\n if (!move) return;\n event.preventDefault();\n const next: [number, number] = [clamp(saturation + move[0]), clamp(value + move[1])];\n onChange(...next);\n onChangeComplete(...next);\n }}\n onPointerDown={(event) => {\n event.currentTarget.setPointerCapture(event.pointerId);\n fromPointer(event);\n }}\n onPointerMove={(event) => {\n if (event.currentTarget.hasPointerCapture(event.pointerId)) fromPointer(event);\n }}\n onPointerUp={(event) => {\n event.currentTarget.releasePointerCapture(event.pointerId);\n onChangeComplete(...fromPointer(event));\n }}\n >\n <span\n {...stylex.props(styles.thumb)}\n style={{ background: color, left: `${saturation * 100}%`, top: `${(1 - value) * 100}%` }}\n />\n </div>\n );\n },\n);\n\nSaturationArea.displayName = 'ColorPickerSaturationArea';\n\nexport default SaturationArea;\n"],"mappings":";;;;;;;AAeA,MAAM,SAAS,MAAc,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC;AAC/E,MAAM,iBAAiB,MAA2B,EAChD,OACA,KACA,OACA,UACA,kBACA,YACA,YACI;CACJ,MAAM,UAAU,OAAuB,IAAI;CAC3C,MAAM,eAAe,UAA0D;EAC7E,MAAM,OAAO,QAAQ,QAAS,sBAAsB;EACpD,MAAM,OAAyB,CAAC,OAAO,MAAM,UAAU,KAAK,QAAQ,KAAK,KAAK,GAAG,MAAM,KAAK,MAAM,UAAU,KAAK,OAAO,KAAK,MAAM,CAAC;EACpI,SAAS,GAAG,IAAI;EAChB,OAAO;CACT;CACA,OAAO,oBAAC,OAAD;EAAK,cAAY;EAAO,iBAAe;EAAK,iBAAe;EAAG,iBAAe,KAAK,MAAM,aAAa,GAAG;EAAG,kBAAgB,cAAc,KAAK,MAAM,aAAa,GAAG,EAAE,gBAAgB,KAAK,MAAM,QAAQ,GAAG,EAAE;EAAI,GAAI,OAAO,MAAM,UAAU,MAAM,OAAO,UAAU;EAAG,KAAK;EAAS,MAAK;EAAS,UAAU;EAAG,OAAO,EAC5T,YAAY,mFAAmF,IAAI,aACrG;EAAG,YAAW,UAAS;GACrB,MAAM,QAAQ,MAAM,WAAW,KAAM;GAOrC,MAAM,OAAO;IALX,WAAW,CAAC,GAAG,CAAC,KAAK;IACrB,WAAW,CAAC,CAAC,OAAO,CAAC;IACrB,YAAY,CAAC,OAAO,CAAC;IACrB,SAAS,CAAC,GAAG,KAAK;GAEH,EAAE,MAAM;GACzB,IAAI,CAAC,MAAM;GACX,MAAM,eAAe;GACrB,MAAM,OAAyB,CAAC,MAAM,aAAa,KAAK,EAAE,GAAG,MAAM,QAAQ,KAAK,EAAE,CAAC;GACnF,SAAS,GAAG,IAAI;GAChB,iBAAiB,GAAG,IAAI;EAC1B;EAAG,gBAAe,UAAS;GACzB,MAAM,cAAc,kBAAkB,MAAM,SAAS;GACrD,YAAY,KAAK;EACnB;EAAG,gBAAe,UAAS;GACzB,IAAI,MAAM,cAAc,kBAAkB,MAAM,SAAS,GAAG,YAAY,KAAK;EAC/E;EAAG,cAAa,UAAS;GACvB,MAAM,cAAc,sBAAsB,MAAM,SAAS;GACzD,iBAAiB,GAAG,YAAY,KAAK,CAAC;EACxC;EACM,UAAA,oBAAC,QAAD;GAAM,GAAI,OAAO,MAAM,OAAO,KAAK;GAAG,OAAO;IAC/C,YAAY;IACZ,MAAM,GAAG,aAAa,IAAI;IAC1B,KAAK,IAAI,IAAI,SAAS,IAAI;GAC5B;EAAI,CAAA;CACG,CAAA;AACX,CAAC;AACD,eAAe,cAAc"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { swatchStyles } from "./style.mjs";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
3
|
+
import * as stylex from "@stylexjs/stylex";
|
|
4
|
+
//#region src/ColorPicker/Swatch.tsx
|
|
5
|
+
const Swatch = ({ color, radius, size }) => {
|
|
6
|
+
const boxStyle = {
|
|
7
|
+
borderRadius: radius,
|
|
8
|
+
height: size,
|
|
9
|
+
width: size
|
|
10
|
+
};
|
|
11
|
+
return /* @__PURE__ */ jsxs("span", {
|
|
12
|
+
"aria-hidden": true,
|
|
13
|
+
...stylex.props(swatchStyles.box),
|
|
14
|
+
style: boxStyle,
|
|
15
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
16
|
+
...stylex.props(swatchStyles.fill),
|
|
17
|
+
style: { background: color || "transparent" }
|
|
18
|
+
}), !color && /* @__PURE__ */ jsx("span", { ...stylex.props(swatchStyles.slash) })]
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
//#endregion
|
|
22
|
+
export { Swatch as default };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=Swatch.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Swatch.mjs","names":[],"sources":["../../src/ColorPicker/Swatch.tsx"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\nimport type { CSSProperties } from 'react';\n\nimport { swatchStyles } from './style';\n\nexport interface SwatchProps {\n color?: string;\n radius: number | string;\n size: number;\n}\n\nconst Swatch = ({ color, radius, size }: SwatchProps) => {\n const boxStyle: CSSProperties = { borderRadius: radius, height: size, width: size };\n return (\n <span aria-hidden {...stylex.props(swatchStyles.box)} style={boxStyle}>\n <span {...stylex.props(swatchStyles.fill)} style={{ background: color || 'transparent' }} />\n {!color && <span {...stylex.props(swatchStyles.slash)} />}\n </span>\n );\n};\n\nexport default Swatch;\n"],"mappings":";;;;AAQA,MAAM,UAAU,EACd,OACA,QACA,WACiB;CACjB,MAAM,WAA0B;EAC9B,cAAc;EACd,QAAQ;EACR,OAAO;CACT;CACA,OAAO,qBAAC,QAAD;EAAM,eAAA;EAAY,GAAI,OAAO,MAAM,aAAa,GAAG;EAAG,OAAO;EAA7D,UAAA,CACH,oBAAC,QAAD;GAAM,GAAI,OAAO,MAAM,aAAa,IAAI;GAAG,OAAO,EAClD,YAAY,SAAS,cACvB;EAAI,CAAA,GACD,CAAC,SAAS,oBAAC,QAAD,EAAM,GAAI,OAAO,MAAM,aAAa,KAAK,EAAI,CAAA,CACpD;;AACV"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { focusRing } from "../styles/stylex/focusRing.mjs";
|
|
3
|
+
import { styles, swatchStyles } from "./style.mjs";
|
|
4
|
+
import { useRecentColors } from "./recent.mjs";
|
|
5
|
+
import { useState } from "react";
|
|
6
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
+
import * as stylex from "@stylexjs/stylex";
|
|
8
|
+
//#region src/ColorPicker/Swatches.tsx
|
|
9
|
+
const Swatches = ({ current, labels, onPick, presets = [], recent }) => {
|
|
10
|
+
const recentColors = useRecentColors();
|
|
11
|
+
const [tab, setTab] = useState("presets");
|
|
12
|
+
const shownRecent = recent ? recentColors : [];
|
|
13
|
+
const hasPresets = presets.length > 0;
|
|
14
|
+
const hasRecent = shownRecent.length > 0;
|
|
15
|
+
if (!hasPresets && !hasRecent) return null;
|
|
16
|
+
const tabbed = hasPresets && hasRecent;
|
|
17
|
+
const active = tabbed ? tab : hasPresets ? "presets" : "recent";
|
|
18
|
+
const colors = active === "recent" ? shownRecent : presets;
|
|
19
|
+
const currentKey = current.toLowerCase();
|
|
20
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
21
|
+
...stylex.props(styles.swatchSection),
|
|
22
|
+
children: [tabbed ? /* @__PURE__ */ jsx("div", {
|
|
23
|
+
"aria-label": labels.swatches,
|
|
24
|
+
role: "tablist",
|
|
25
|
+
...stylex.props(styles.swatchHeader),
|
|
26
|
+
children: ["presets", "recent"].map((item) => /* @__PURE__ */ jsx("button", {
|
|
27
|
+
"aria-selected": active === item,
|
|
28
|
+
role: "tab",
|
|
29
|
+
type: "button",
|
|
30
|
+
...stylex.props(focusRing.info, styles.swatchTab),
|
|
31
|
+
onClick: () => setTab(item),
|
|
32
|
+
children: labels[item]
|
|
33
|
+
}, item))
|
|
34
|
+
}) : /* @__PURE__ */ jsx("div", {
|
|
35
|
+
...stylex.props(styles.swatchHeader),
|
|
36
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
37
|
+
...stylex.props(styles.swatchLabel),
|
|
38
|
+
children: labels[active]
|
|
39
|
+
})
|
|
40
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
41
|
+
"aria-label": labels[active],
|
|
42
|
+
role: "group",
|
|
43
|
+
...stylex.props(styles.swatchGrid),
|
|
44
|
+
children: colors.map((color) => {
|
|
45
|
+
const key = color.toLowerCase();
|
|
46
|
+
const selected = key === currentKey || key === currentKey.slice(0, 7);
|
|
47
|
+
return /* @__PURE__ */ jsx("button", {
|
|
48
|
+
"aria-label": color,
|
|
49
|
+
"aria-pressed": selected,
|
|
50
|
+
type: "button",
|
|
51
|
+
...stylex.props(focusRing.info, styles.swatchItem),
|
|
52
|
+
style: { color },
|
|
53
|
+
onClick: () => onPick(color),
|
|
54
|
+
children: /* @__PURE__ */ jsx("span", {
|
|
55
|
+
...stylex.props(swatchStyles.fill),
|
|
56
|
+
style: { background: color }
|
|
57
|
+
})
|
|
58
|
+
}, color);
|
|
59
|
+
})
|
|
60
|
+
})]
|
|
61
|
+
});
|
|
62
|
+
};
|
|
63
|
+
//#endregion
|
|
64
|
+
export { Swatches as default };
|
|
65
|
+
|
|
66
|
+
//# sourceMappingURL=Swatches.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Swatches.mjs","names":[],"sources":["../../src/ColorPicker/Swatches.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport { useState } from 'react';\n\nimport { focusRing } from '@/styles/stylex/focusRing';\n\nimport { useRecentColors } from './recent';\nimport { styles, swatchStyles } from './style';\n\ntype Tab = 'presets' | 'recent';\n\nexport interface SwatchesProps {\n current: string;\n labels: { presets: string; recent: string; swatches: string };\n onPick: (color: string) => void;\n presets?: string[];\n recent: boolean;\n}\n\nconst Swatches = ({ current, labels, onPick, presets = [], recent }: SwatchesProps) => {\n const recentColors = useRecentColors();\n const [tab, setTab] = useState<Tab>('presets');\n\n const shownRecent = recent ? recentColors : [];\n const hasPresets = presets.length > 0;\n const hasRecent = shownRecent.length > 0;\n if (!hasPresets && !hasRecent) return null;\n\n const tabbed = hasPresets && hasRecent;\n const active: Tab = tabbed ? tab : hasPresets ? 'presets' : 'recent';\n const colors = active === 'recent' ? shownRecent : presets;\n const currentKey = current.toLowerCase();\n\n return (\n <div {...stylex.props(styles.swatchSection)}>\n {tabbed ? (\n <div aria-label={labels.swatches} role=\"tablist\" {...stylex.props(styles.swatchHeader)}>\n {(['presets', 'recent'] as const).map((item) => (\n <button\n aria-selected={active === item}\n key={item}\n role=\"tab\"\n type=\"button\"\n {...stylex.props(focusRing.info, styles.swatchTab)}\n onClick={() => setTab(item)}\n >\n {labels[item]}\n </button>\n ))}\n </div>\n ) : (\n <div {...stylex.props(styles.swatchHeader)}>\n <span {...stylex.props(styles.swatchLabel)}>{labels[active]}</span>\n </div>\n )}\n <div aria-label={labels[active]} role=\"group\" {...stylex.props(styles.swatchGrid)}>\n {colors.map((color) => {\n const key = color.toLowerCase();\n const selected = key === currentKey || key === currentKey.slice(0, 7);\n return (\n <button\n aria-label={color}\n aria-pressed={selected}\n key={color}\n type=\"button\"\n {...stylex.props(focusRing.info, styles.swatchItem)}\n style={{ color }}\n onClick={() => onPick(color)}\n >\n <span {...stylex.props(swatchStyles.fill)} style={{ background: color }} />\n </button>\n );\n })}\n </div>\n </div>\n );\n};\n\nexport default Swatches;\n"],"mappings":";;;;;;;;AAmBA,MAAM,YAAY,EAChB,SACA,QACA,QACA,UAAU,CAAC,GACX,aACmB;CACnB,MAAM,eAAe,gBAAgB;CACrC,MAAM,CAAC,KAAK,UAAU,SAAc,SAAS;CAC7C,MAAM,cAAc,SAAS,eAAe,CAAC;CAC7C,MAAM,aAAa,QAAQ,SAAS;CACpC,MAAM,YAAY,YAAY,SAAS;CACvC,IAAI,CAAC,cAAc,CAAC,WAAW,OAAO;CACtC,MAAM,SAAS,cAAc;CAC7B,MAAM,SAAc,SAAS,MAAM,aAAa,YAAY;CAC5D,MAAM,SAAS,WAAW,WAAW,cAAc;CACnD,MAAM,aAAa,QAAQ,YAAY;CACvC,OAAO,qBAAC,OAAD;EAAK,GAAI,OAAO,MAAM,OAAO,aAAa;EAA1C,UAAA,CACF,SAAS,oBAAC,OAAD;GAAK,cAAY,OAAO;GAAU,MAAK;GAAU,GAAI,OAAO,MAAM,OAAO,YAAY;GACzF,UAAA,CAAC,WAAW,QAAQ,CAAC,CAAW,KAAI,SAAQ,oBAAC,UAAD;IAAQ,iBAAe,WAAW;IAAiB,MAAK;IAAM,MAAK;IAAS,GAAI,OAAO,MAAM,UAAU,MAAM,OAAO,SAAS;IAAG,eAAe,OAAO,IAAI;IACnM,UAAA,OAAO;GACF,GAFiF,IAEjF,CAAC;EACR,CAAA,IAAI,oBAAC,OAAD;GAAK,GAAI,OAAO,MAAM,OAAO,YAAY;GAChD,UAAA,oBAAC,QAAD;IAAM,GAAI,OAAO,MAAM,OAAO,WAAW;IAAI,UAAA,OAAO;GAAc,CAAA;EAC/D,CAAA,GACP,oBAAC,OAAD;GAAK,cAAY,OAAO;GAAS,MAAK;GAAQ,GAAI,OAAO,MAAM,OAAO,UAAU;GAC7E,UAAA,OAAO,KAAI,UAAS;IACrB,MAAM,MAAM,MAAM,YAAY;IAC9B,MAAM,WAAW,QAAQ,cAAc,QAAQ,WAAW,MAAM,GAAG,CAAC;IACpE,OAAO,oBAAC,UAAD;KAAQ,cAAY;KAAO,gBAAc;KAAsB,MAAK;KAAS,GAAI,OAAO,MAAM,UAAU,MAAM,OAAO,UAAU;KAAG,OAAO,EAC9I,MACF;KAAG,eAAe,OAAO,KAAK;KACxB,UAAA,oBAAC,QAAD;MAAM,GAAI,OAAO,MAAM,aAAa,IAAI;MAAG,OAAO,EACpD,YAAY,MACd;KAAI,CAAA;IACM,GANmD,KAMnD;GACd,CAAC;EACI,CAAA,CACF;;AACT"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { styleProps } from "../styles/stylex/props.mjs";
|
|
3
|
+
import { focusRing } from "../styles/stylex/focusRing.mjs";
|
|
4
|
+
import { useThemeMode } from "../styles/theme/scope.mjs";
|
|
5
|
+
import { inputRootStyles } from "../Input/style.mjs";
|
|
6
|
+
import { triggerStyles } from "./style.mjs";
|
|
7
|
+
import Swatch from "./Swatch.mjs";
|
|
8
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
import * as stylex from "@stylexjs/stylex";
|
|
10
|
+
import { ChevronDown } from "lucide-react";
|
|
11
|
+
//#region src/ColorPicker/Trigger.tsx
|
|
12
|
+
const SWATCH_TILE = {
|
|
13
|
+
large: 32,
|
|
14
|
+
middle: 28,
|
|
15
|
+
small: 24
|
|
16
|
+
};
|
|
17
|
+
const SWATCH_FIELD = {
|
|
18
|
+
large: 20,
|
|
19
|
+
middle: 16,
|
|
20
|
+
small: 14
|
|
21
|
+
};
|
|
22
|
+
const SWATCH_CHIP = {
|
|
23
|
+
large: 26,
|
|
24
|
+
middle: 20,
|
|
25
|
+
small: 16
|
|
26
|
+
};
|
|
27
|
+
const fieldSize = {
|
|
28
|
+
large: triggerStyles.fieldLarge,
|
|
29
|
+
middle: triggerStyles.fieldMiddle,
|
|
30
|
+
small: triggerStyles.fieldSmall
|
|
31
|
+
};
|
|
32
|
+
const chipSize = {
|
|
33
|
+
large: triggerStyles.chipLarge,
|
|
34
|
+
middle: triggerStyles.chipMiddle,
|
|
35
|
+
small: triggerStyles.chipSmall
|
|
36
|
+
};
|
|
37
|
+
const ColorTrigger = ({ alpha, className, emptyLabel, hex, label, size, style, variant, ...rest }) => {
|
|
38
|
+
const { isDarkMode } = useThemeMode();
|
|
39
|
+
const empty = !hex;
|
|
40
|
+
const common = {
|
|
41
|
+
"aria-label": label,
|
|
42
|
+
"type": "button",
|
|
43
|
+
...rest
|
|
44
|
+
};
|
|
45
|
+
if (variant === "swatch") {
|
|
46
|
+
const tile = SWATCH_TILE[size];
|
|
47
|
+
return /* @__PURE__ */ jsx("button", {
|
|
48
|
+
...common,
|
|
49
|
+
...styleProps([focusRing.info, triggerStyles.swatch], className, {
|
|
50
|
+
height: tile,
|
|
51
|
+
width: tile,
|
|
52
|
+
...style
|
|
53
|
+
}),
|
|
54
|
+
children: /* @__PURE__ */ jsx(Swatch, {
|
|
55
|
+
color: hex,
|
|
56
|
+
radius: 8,
|
|
57
|
+
size: tile
|
|
58
|
+
})
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
const text = empty ? /* @__PURE__ */ jsx("span", {
|
|
62
|
+
...stylex.props(triggerStyles.empty),
|
|
63
|
+
children: emptyLabel
|
|
64
|
+
}) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("span", {
|
|
65
|
+
...stylex.props(triggerStyles.text),
|
|
66
|
+
children: hex.slice(0, 7).toUpperCase()
|
|
67
|
+
}), alpha !== void 0 && /* @__PURE__ */ jsxs("span", {
|
|
68
|
+
...stylex.props(triggerStyles.text, triggerStyles.alpha),
|
|
69
|
+
children: [Math.round(alpha * 100), "%"]
|
|
70
|
+
})] });
|
|
71
|
+
if (variant === "chip") return /* @__PURE__ */ jsxs("button", {
|
|
72
|
+
...common,
|
|
73
|
+
...styleProps([
|
|
74
|
+
focusRing.info,
|
|
75
|
+
triggerStyles.chip,
|
|
76
|
+
chipSize[size]
|
|
77
|
+
], className, style),
|
|
78
|
+
children: [/* @__PURE__ */ jsx(Swatch, {
|
|
79
|
+
color: hex,
|
|
80
|
+
radius: "50%",
|
|
81
|
+
size: SWATCH_CHIP[size]
|
|
82
|
+
}), text]
|
|
83
|
+
});
|
|
84
|
+
const fieldSwatch = SWATCH_FIELD[size];
|
|
85
|
+
return /* @__PURE__ */ jsxs("button", {
|
|
86
|
+
...common,
|
|
87
|
+
...styleProps([
|
|
88
|
+
...inputRootStyles({
|
|
89
|
+
size,
|
|
90
|
+
variant: isDarkMode ? "filled" : "outlined"
|
|
91
|
+
}),
|
|
92
|
+
triggerStyles.field,
|
|
93
|
+
fieldSize[size]
|
|
94
|
+
], className, style),
|
|
95
|
+
children: [
|
|
96
|
+
/* @__PURE__ */ jsx(Swatch, {
|
|
97
|
+
color: hex,
|
|
98
|
+
radius: Math.round(fieldSwatch / 4),
|
|
99
|
+
size: fieldSwatch
|
|
100
|
+
}),
|
|
101
|
+
text,
|
|
102
|
+
/* @__PURE__ */ jsx(ChevronDown, {
|
|
103
|
+
...stylex.props(triggerStyles.caret),
|
|
104
|
+
size: 14
|
|
105
|
+
})
|
|
106
|
+
]
|
|
107
|
+
});
|
|
108
|
+
};
|
|
109
|
+
//#endregion
|
|
110
|
+
export { ColorTrigger as default };
|
|
111
|
+
|
|
112
|
+
//# sourceMappingURL=Trigger.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Trigger.mjs","names":[],"sources":["../../src/ColorPicker/Trigger.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport { ChevronDown } from 'lucide-react';\nimport type { ComponentPropsWithRef } from 'react';\n\nimport { inputRootStyles } from '@/Input/style';\nimport type { InputSize } from '@/Input/type';\nimport { focusRing } from '@/styles/stylex/focusRing';\nimport { styleProps } from '@/styles/stylex/props';\nimport { useThemeMode } from '@/styles/theme/scope';\n\nimport { triggerStyles } from './style';\nimport Swatch from './Swatch';\nimport type { ColorPickerTrigger } from './type';\n\nconst SWATCH_TILE: Record<InputSize, number> = { large: 32, middle: 28, small: 24 };\nconst SWATCH_FIELD: Record<InputSize, number> = { large: 20, middle: 16, small: 14 };\nconst SWATCH_CHIP: Record<InputSize, number> = { large: 26, middle: 20, small: 16 };\n\nconst fieldSize = {\n large: triggerStyles.fieldLarge,\n middle: triggerStyles.fieldMiddle,\n small: triggerStyles.fieldSmall,\n};\nconst chipSize = {\n large: triggerStyles.chipLarge,\n middle: triggerStyles.chipMiddle,\n small: triggerStyles.chipSmall,\n};\n\nexport interface ColorTriggerProps extends Omit<ComponentPropsWithRef<'button'>, 'children'> {\n alpha?: number;\n emptyLabel: string;\n hex: string;\n label: string;\n size: InputSize;\n variant: ColorPickerTrigger;\n}\n\nconst ColorTrigger = ({\n alpha,\n className,\n emptyLabel,\n hex,\n label,\n size,\n style,\n variant,\n ...rest\n}: ColorTriggerProps) => {\n const { isDarkMode } = useThemeMode();\n const empty = !hex;\n const common = { 'aria-label': label, 'type': 'button' as const, ...rest };\n\n if (variant === 'swatch') {\n const tile = SWATCH_TILE[size];\n return (\n <button\n {...common}\n {...styleProps([focusRing.info, triggerStyles.swatch], className, {\n height: tile,\n width: tile,\n ...style,\n })}\n >\n <Swatch color={hex} radius={8} size={tile} />\n </button>\n );\n }\n\n const text = empty ? (\n <span {...stylex.props(triggerStyles.empty)}>{emptyLabel}</span>\n ) : (\n <>\n <span {...stylex.props(triggerStyles.text)}>{hex.slice(0, 7).toUpperCase()}</span>\n {alpha !== undefined && (\n <span {...stylex.props(triggerStyles.text, triggerStyles.alpha)}>\n {Math.round(alpha * 100)}%\n </span>\n )}\n </>\n );\n\n if (variant === 'chip') {\n return (\n <button\n {...common}\n {...styleProps([focusRing.info, triggerStyles.chip, chipSize[size]], className, style)}\n >\n <Swatch color={hex} radius=\"50%\" size={SWATCH_CHIP[size]} />\n {text}\n </button>\n );\n }\n\n const fieldSwatch = SWATCH_FIELD[size];\n return (\n <button\n {...common}\n {...styleProps(\n [\n ...inputRootStyles({ size, variant: isDarkMode ? 'filled' : 'outlined' }),\n triggerStyles.field,\n fieldSize[size],\n ],\n className,\n style,\n )}\n >\n <Swatch color={hex} radius={Math.round(fieldSwatch / 4)} size={fieldSwatch} />\n {text}\n <ChevronDown {...stylex.props(triggerStyles.caret)} size={14} />\n </button>\n );\n};\n\nexport default ColorTrigger;\n"],"mappings":";;;;;;;;;;;AAaA,MAAM,cAAyC;CAC7C,OAAO;CACP,QAAQ;CACR,OAAO;AACT;AACA,MAAM,eAA0C;CAC9C,OAAO;CACP,QAAQ;CACR,OAAO;AACT;AACA,MAAM,cAAyC;CAC7C,OAAO;CACP,QAAQ;CACR,OAAO;AACT;AACA,MAAM,YAAY;CAChB,OAAO,cAAc;CACrB,QAAQ,cAAc;CACtB,OAAO,cAAc;AACvB;AACA,MAAM,WAAW;CACf,OAAO,cAAc;CACrB,QAAQ,cAAc;CACtB,OAAO,cAAc;AACvB;AASA,MAAM,gBAAgB,EACpB,OACA,WACA,YACA,KACA,OACA,MACA,OACA,SACA,GAAG,WACoB;CACvB,MAAM,EACJ,eACE,aAAa;CACjB,MAAM,QAAQ,CAAC;CACf,MAAM,SAAS;EACb,cAAc;EACd,QAAQ;EACR,GAAG;CACL;CACA,IAAI,YAAY,UAAU;EACxB,MAAM,OAAO,YAAY;EACzB,OAAO,oBAAC,UAAD;GAAQ,GAAI;GAAQ,GAAI,WAAW,CAAC,UAAU,MAAM,cAAc,MAAM,GAAG,WAAW;IAC3F,QAAQ;IACR,OAAO;IACP,GAAG;GACL,CAAC;GACG,UAAA,oBAAC,QAAD;IAAQ,OAAO;IAAK,QAAQ;IAAG,MAAM;GAAO,CAAA;EACtC,CAAA;CACZ;CACA,MAAM,OAAO,QAAQ,oBAAC,QAAD;EAAM,GAAI,OAAO,MAAM,cAAc,KAAK;EAAI,UAAA;CAAiB,CAAA,IAAI,qBAAA,UAAA,EAAA,UAAA,CACpF,oBAAC,QAAD;EAAM,GAAI,OAAO,MAAM,cAAc,IAAI;EAAI,UAAA,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC,YAAY;CAAQ,CAAA,GAChF,UAAU,KAAA,KAAa,qBAAC,QAAD;EAAM,GAAI,OAAO,MAAM,cAAc,MAAM,cAAc,KAAK;EAA9D,UAAA,CACnB,KAAK,MAAM,QAAQ,GAAG,GAAE,GACrB;CACR,CAAA,CAAA,EAAA,CAAA;CACJ,IAAI,YAAY,QACd,OAAO,qBAAC,UAAD;EAAQ,GAAI;EAAQ,GAAI,WAAW;GAAC,UAAU;GAAM,cAAc;GAAM,SAAS;EAAK,GAAG,WAAW,KAAK;EAAzG,UAAA,CACH,oBAAC,QAAD;GAAQ,OAAO;GAAK,QAAO;GAAM,MAAM,YAAY;EAAQ,CAAA,GAC1D,IACK;;CAEZ,MAAM,cAAc,aAAa;CACjC,OAAO,qBAAC,UAAD;EAAQ,GAAI;EAAQ,GAAI,WAAW;GAAC,GAAG,gBAAgB;IAC5D;IACA,SAAS,aAAa,WAAW;GACnC,CAAC;GAAG,cAAc;GAAO,UAAU;EAAK,GAAG,WAAW,KAAK;EAHpD,UAAA;GAIH,oBAAC,QAAD;IAAQ,OAAO;IAAK,QAAQ,KAAK,MAAM,cAAc,CAAC;IAAG,MAAM;GAAc,CAAA;GAC5E;GACD,oBAAC,aAAD;IAAa,GAAI,OAAO,MAAM,cAAc,KAAK;IAAG,MAAM;GAAK,CAAA;EACzD;;AACZ"}
|
package/es/ColorPicker/color.mjs
CHANGED
|
@@ -22,7 +22,31 @@ const normalizeHexInput = (input) => {
|
|
|
22
22
|
if (!/^([\da-f]{3}|[\da-f]{6}|[\da-f]{8})$/i.test(raw)) return null;
|
|
23
23
|
return `#${raw.toLowerCase()}`;
|
|
24
24
|
};
|
|
25
|
+
const toRgb = ({ h, s, v }) => {
|
|
26
|
+
const [r, g, b] = chroma.hsv(h, s, v).rgb();
|
|
27
|
+
return [
|
|
28
|
+
r,
|
|
29
|
+
g,
|
|
30
|
+
b
|
|
31
|
+
];
|
|
32
|
+
};
|
|
33
|
+
const toHsl = (hsva) => {
|
|
34
|
+
const [h, s, l] = chroma.hsv(hsva.h, hsva.s, hsva.v).hsl();
|
|
35
|
+
return [
|
|
36
|
+
Math.round(Number.isNaN(h) ? hsva.h : h),
|
|
37
|
+
Math.round(s * 100),
|
|
38
|
+
Math.round(l * 100)
|
|
39
|
+
];
|
|
40
|
+
};
|
|
41
|
+
const fromRgb = ([r, g, b], current) => ({
|
|
42
|
+
...parseColor(chroma.rgb(r, g, b).hex(), current.h),
|
|
43
|
+
a: current.a
|
|
44
|
+
});
|
|
45
|
+
const fromHsl = ([h, s, l], current) => ({
|
|
46
|
+
...parseColor(chroma.hsl(h, s / 100, l / 100).hex(), h),
|
|
47
|
+
a: current.a
|
|
48
|
+
});
|
|
25
49
|
//#endregion
|
|
26
|
-
export { formatColor, normalizeHexInput, parseColor };
|
|
50
|
+
export { formatColor, fromHsl, fromRgb, normalizeHexInput, parseColor, toHsl, toRgb };
|
|
27
51
|
|
|
28
52
|
//# sourceMappingURL=color.mjs.map
|