@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
|
@@ -0,0 +1,314 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { styleProps } from "../../styles/stylex/props.mjs";
|
|
3
|
+
import { useThemeMode } from "../../styles/theme/scope.mjs";
|
|
4
|
+
import { styles } from "./style.mjs";
|
|
5
|
+
import { memo, useEffect, useRef } from "react";
|
|
6
|
+
import { jsx } from "react/jsx-runtime";
|
|
7
|
+
import * as stylex from "@stylexjs/stylex";
|
|
8
|
+
//#region src/awesome/Grainient/Grainient.tsx
|
|
9
|
+
const VERTEX_SHADER = `#version 300 es
|
|
10
|
+
in vec2 position;
|
|
11
|
+
void main() {
|
|
12
|
+
gl_Position = vec4(position, 0.0, 1.0);
|
|
13
|
+
}
|
|
14
|
+
`;
|
|
15
|
+
const FRAGMENT_SHADER = `#version 300 es
|
|
16
|
+
precision highp float;
|
|
17
|
+
uniform vec2 iResolution;
|
|
18
|
+
uniform float iTime;
|
|
19
|
+
uniform float uTimeSpeed;
|
|
20
|
+
uniform float uColorBalance;
|
|
21
|
+
uniform float uWarpStrength;
|
|
22
|
+
uniform float uWarpFrequency;
|
|
23
|
+
uniform float uWarpSpeed;
|
|
24
|
+
uniform float uWarpAmplitude;
|
|
25
|
+
uniform float uBlendAngle;
|
|
26
|
+
uniform float uBlendSoftness;
|
|
27
|
+
uniform float uRotationAmount;
|
|
28
|
+
uniform float uNoiseScale;
|
|
29
|
+
uniform float uGrainAmount;
|
|
30
|
+
uniform float uGrainScale;
|
|
31
|
+
uniform float uGrainAnimated;
|
|
32
|
+
uniform float uContrast;
|
|
33
|
+
uniform float uGamma;
|
|
34
|
+
uniform float uSaturation;
|
|
35
|
+
uniform vec2 uCenterOffset;
|
|
36
|
+
uniform float uZoom;
|
|
37
|
+
uniform vec3 uColor1;
|
|
38
|
+
uniform vec3 uColor2;
|
|
39
|
+
uniform vec3 uColor3;
|
|
40
|
+
uniform float uLightMode;
|
|
41
|
+
out vec4 fragColor;
|
|
42
|
+
#define S(a,b,t) smoothstep(a,b,t)
|
|
43
|
+
mat2 Rot(float a){float s=sin(a),c=cos(a);return mat2(c,-s,s,c);}
|
|
44
|
+
vec2 hash(vec2 p){p=vec2(dot(p,vec2(2127.1,81.17)),dot(p,vec2(1269.5,283.37)));return fract(sin(p)*43758.5453);}
|
|
45
|
+
float noise(vec2 p){vec2 i=floor(p),f=fract(p),u=f*f*(3.0-2.0*f);float n=mix(mix(dot(-1.0+2.0*hash(i+vec2(0.0,0.0)),f-vec2(0.0,0.0)),dot(-1.0+2.0*hash(i+vec2(1.0,0.0)),f-vec2(1.0,0.0)),u.x),mix(dot(-1.0+2.0*hash(i+vec2(0.0,1.0)),f-vec2(0.0,1.0)),dot(-1.0+2.0*hash(i+vec2(1.0,1.0)),f-vec2(1.0,1.0)),u.x),u.y);return 0.5+0.5*n;}
|
|
46
|
+
void mainImage(out vec4 o, vec2 C){
|
|
47
|
+
float t=iTime*uTimeSpeed;
|
|
48
|
+
vec2 uv=C/iResolution.xy;
|
|
49
|
+
float ratio=iResolution.x/iResolution.y;
|
|
50
|
+
vec2 tuv=uv-0.5+uCenterOffset;
|
|
51
|
+
tuv/=max(uZoom,0.001);
|
|
52
|
+
|
|
53
|
+
float degree=noise(vec2(t*0.1,tuv.x*tuv.y)*uNoiseScale);
|
|
54
|
+
tuv.y*=1.0/ratio;
|
|
55
|
+
tuv*=Rot(radians((degree-0.5)*uRotationAmount+180.0));
|
|
56
|
+
tuv.y*=ratio;
|
|
57
|
+
|
|
58
|
+
float frequency=uWarpFrequency;
|
|
59
|
+
float ws=max(uWarpStrength,0.001);
|
|
60
|
+
float amplitude=uWarpAmplitude/ws;
|
|
61
|
+
float warpTime=t*uWarpSpeed;
|
|
62
|
+
tuv.x+=sin(tuv.y*frequency+warpTime)/amplitude;
|
|
63
|
+
tuv.y+=sin(tuv.x*(frequency*1.5)+warpTime)/(amplitude*0.5);
|
|
64
|
+
|
|
65
|
+
vec3 colLav=uColor1;
|
|
66
|
+
vec3 colOrg=uColor2;
|
|
67
|
+
vec3 colDark=uColor3;
|
|
68
|
+
float b=uColorBalance;
|
|
69
|
+
float s=max(uBlendSoftness,0.0);
|
|
70
|
+
mat2 blendRot=Rot(radians(uBlendAngle));
|
|
71
|
+
float blendX=(tuv*blendRot).x;
|
|
72
|
+
float edge0=-0.3-b-s;
|
|
73
|
+
float edge1=0.2-b+s;
|
|
74
|
+
float v0=0.5-b+s;
|
|
75
|
+
float v1=-0.3-b-s;
|
|
76
|
+
vec3 layer1=mix(colDark,colOrg,S(edge0,edge1,blendX));
|
|
77
|
+
vec3 layer2=mix(colOrg,colLav,S(edge0,edge1,blendX));
|
|
78
|
+
vec3 col=mix(layer1,layer2,S(v0,v1,tuv.y));
|
|
79
|
+
|
|
80
|
+
vec2 grainUv=uv*max(uGrainScale,0.001);
|
|
81
|
+
if(uGrainAnimated>0.5){grainUv+=vec2(iTime*0.05);}
|
|
82
|
+
float grain=fract(sin(dot(grainUv,vec2(12.9898,78.233)))*43758.5453);
|
|
83
|
+
col+=(grain-0.5)*uGrainAmount;
|
|
84
|
+
|
|
85
|
+
col=(col-0.5)*uContrast+0.5;
|
|
86
|
+
float luma=dot(col,vec3(0.2126,0.7152,0.0722));
|
|
87
|
+
col=mix(vec3(luma),col,uSaturation);
|
|
88
|
+
col=pow(max(col,0.0),vec3(1.0/max(uGamma,0.001)));
|
|
89
|
+
col=clamp(col,0.0,1.0);
|
|
90
|
+
if(uLightMode>0.5){
|
|
91
|
+
float energy=max(max(col.r,col.g),col.b);
|
|
92
|
+
vec3 hue=col/max(energy,0.001);
|
|
93
|
+
float chroma=length(col-vec3(dot(col,vec3(0.333333))));
|
|
94
|
+
float coverage=clamp(0.12+chroma*1.15+energy*0.18,0.0,0.88);
|
|
95
|
+
col=mix(vec3(1.0),clamp(hue*0.58+col*0.18,0.0,1.0),coverage);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
o=vec4(col,1.0);
|
|
99
|
+
}
|
|
100
|
+
void main(){
|
|
101
|
+
vec4 o=vec4(0.0);
|
|
102
|
+
mainImage(o,gl_FragCoord.xy);
|
|
103
|
+
fragColor=o;
|
|
104
|
+
}
|
|
105
|
+
`;
|
|
106
|
+
const hexToRgb = (hex) => {
|
|
107
|
+
let value = hex.trim().replace("#", "");
|
|
108
|
+
if (value.length === 3) value = [...value].map((c) => c + c).join("");
|
|
109
|
+
const result = /^([\da-f]{2})([\da-f]{2})([\da-f]{2})$/i.exec(value);
|
|
110
|
+
if (!result) return [
|
|
111
|
+
1,
|
|
112
|
+
1,
|
|
113
|
+
1
|
|
114
|
+
];
|
|
115
|
+
return [
|
|
116
|
+
Number.parseInt(result[1], 16) / 255,
|
|
117
|
+
Number.parseInt(result[2], 16) / 255,
|
|
118
|
+
Number.parseInt(result[3], 16) / 255
|
|
119
|
+
];
|
|
120
|
+
};
|
|
121
|
+
const compile = (gl, type, source) => {
|
|
122
|
+
const shader = gl.createShader(type);
|
|
123
|
+
if (!shader) return null;
|
|
124
|
+
gl.shaderSource(shader, source);
|
|
125
|
+
gl.compileShader(shader);
|
|
126
|
+
if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
|
|
127
|
+
gl.deleteShader(shader);
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
return shader;
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* Animated grainy gradient (WebGL2, no extra dependency). Fills its nearest positioned ancestor,
|
|
134
|
+
* pauses when off-screen or the tab is hidden, and draws one still frame when reduced motion is
|
|
135
|
+
* preferred. Without WebGL2 it renders nothing, so give the parent a fallback background.
|
|
136
|
+
*/
|
|
137
|
+
const Grainient = memo(({ timeSpeed = .25, colorBalance = 0, warpStrength = 1, warpFrequency = 5, warpSpeed = 2, warpAmplitude = 50, blendAngle = 0, blendSoftness = .05, rotationAmount = 500, noiseScale = 2, grainAmount = .1, grainScale = 2, contrast = 1.5, gamma = 1, saturation = 1, zoom = .9, centerX = 0, centerY = 0, color1 = "#FF9FFC", color2 = "#5227FF", color3 = "#B497CF", grainAnimated = false, lightMode = false, className, style, ...rest }) => {
|
|
138
|
+
const containerRef = useRef(null);
|
|
139
|
+
const drawRef = useRef(null);
|
|
140
|
+
const uniformsRef = useRef(null);
|
|
141
|
+
const { isDarkMode } = useThemeMode();
|
|
142
|
+
const light = lightMode === "auto" ? !isDarkMode : lightMode;
|
|
143
|
+
useEffect(() => {
|
|
144
|
+
const container = containerRef.current;
|
|
145
|
+
if (!container) return;
|
|
146
|
+
const canvas = document.createElement("canvas");
|
|
147
|
+
canvas.className = stylex.props(styles.canvas).className ?? "";
|
|
148
|
+
const gl = canvas.getContext("webgl2", {
|
|
149
|
+
alpha: true,
|
|
150
|
+
antialias: false
|
|
151
|
+
});
|
|
152
|
+
if (!gl) return;
|
|
153
|
+
container.append(canvas);
|
|
154
|
+
const vs = compile(gl, gl.VERTEX_SHADER, VERTEX_SHADER);
|
|
155
|
+
const fs = compile(gl, gl.FRAGMENT_SHADER, FRAGMENT_SHADER);
|
|
156
|
+
const program = gl.createProgram();
|
|
157
|
+
if (!vs || !fs || !program) {
|
|
158
|
+
canvas.remove();
|
|
159
|
+
return;
|
|
160
|
+
}
|
|
161
|
+
gl.attachShader(program, vs);
|
|
162
|
+
gl.attachShader(program, fs);
|
|
163
|
+
gl.linkProgram(program);
|
|
164
|
+
if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {
|
|
165
|
+
canvas.remove();
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
gl.useProgram(program);
|
|
169
|
+
const buffer = gl.createBuffer();
|
|
170
|
+
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
|
|
171
|
+
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([
|
|
172
|
+
-1,
|
|
173
|
+
-1,
|
|
174
|
+
3,
|
|
175
|
+
-1,
|
|
176
|
+
-1,
|
|
177
|
+
3
|
|
178
|
+
]), gl.STATIC_DRAW);
|
|
179
|
+
const position = gl.getAttribLocation(program, "position");
|
|
180
|
+
gl.enableVertexAttribArray(position);
|
|
181
|
+
gl.vertexAttribPointer(position, 2, gl.FLOAT, false, 0, 0);
|
|
182
|
+
const loc = (name) => gl.getUniformLocation(program, name);
|
|
183
|
+
const uTime = loc("iTime");
|
|
184
|
+
const uRes = loc("iResolution");
|
|
185
|
+
const started = performance.now();
|
|
186
|
+
const draw = () => {
|
|
187
|
+
gl.uniform1f(uTime, (performance.now() - started) * .001);
|
|
188
|
+
gl.drawArrays(gl.TRIANGLES, 0, 3);
|
|
189
|
+
};
|
|
190
|
+
drawRef.current = draw;
|
|
191
|
+
uniformsRef.current?.();
|
|
192
|
+
const setSize = () => {
|
|
193
|
+
const rect = container.getBoundingClientRect();
|
|
194
|
+
const dpr = Math.min(window.devicePixelRatio || 1, 2);
|
|
195
|
+
canvas.width = Math.max(1, Math.floor(rect.width * dpr));
|
|
196
|
+
canvas.height = Math.max(1, Math.floor(rect.height * dpr));
|
|
197
|
+
gl.viewport(0, 0, canvas.width, canvas.height);
|
|
198
|
+
gl.uniform2f(uRes, canvas.width, canvas.height);
|
|
199
|
+
draw();
|
|
200
|
+
};
|
|
201
|
+
const reducedMotion = window.matchMedia?.("(prefers-reduced-motion: reduce)");
|
|
202
|
+
let raf = 0;
|
|
203
|
+
let inView = true;
|
|
204
|
+
const loop = () => {
|
|
205
|
+
draw();
|
|
206
|
+
raf = requestAnimationFrame(loop);
|
|
207
|
+
};
|
|
208
|
+
const stop = () => {
|
|
209
|
+
if (raf) cancelAnimationFrame(raf);
|
|
210
|
+
raf = 0;
|
|
211
|
+
};
|
|
212
|
+
const sync = () => {
|
|
213
|
+
const run = inView && !document.hidden && !reducedMotion?.matches;
|
|
214
|
+
if (run && !raf) raf = requestAnimationFrame(loop);
|
|
215
|
+
if (!run) {
|
|
216
|
+
stop();
|
|
217
|
+
draw();
|
|
218
|
+
}
|
|
219
|
+
};
|
|
220
|
+
const resizeObserver = new ResizeObserver(setSize);
|
|
221
|
+
resizeObserver.observe(container);
|
|
222
|
+
const intersectionObserver = new IntersectionObserver(([entry]) => {
|
|
223
|
+
inView = entry.isIntersecting;
|
|
224
|
+
sync();
|
|
225
|
+
});
|
|
226
|
+
intersectionObserver.observe(container);
|
|
227
|
+
document.addEventListener("visibilitychange", sync);
|
|
228
|
+
reducedMotion?.addEventListener("change", sync);
|
|
229
|
+
setSize();
|
|
230
|
+
sync();
|
|
231
|
+
return () => {
|
|
232
|
+
stop();
|
|
233
|
+
resizeObserver.disconnect();
|
|
234
|
+
intersectionObserver.disconnect();
|
|
235
|
+
document.removeEventListener("visibilitychange", sync);
|
|
236
|
+
reducedMotion?.removeEventListener("change", sync);
|
|
237
|
+
drawRef.current = null;
|
|
238
|
+
gl.deleteBuffer(buffer);
|
|
239
|
+
gl.deleteProgram(program);
|
|
240
|
+
gl.deleteShader(vs);
|
|
241
|
+
gl.deleteShader(fs);
|
|
242
|
+
canvas.remove();
|
|
243
|
+
};
|
|
244
|
+
}, []);
|
|
245
|
+
useEffect(() => {
|
|
246
|
+
const apply = () => {
|
|
247
|
+
const gl = (containerRef.current?.querySelector("canvas"))?.getContext("webgl2");
|
|
248
|
+
if (!gl) return;
|
|
249
|
+
const program = gl.getParameter(gl.CURRENT_PROGRAM);
|
|
250
|
+
if (!program) return;
|
|
251
|
+
const loc = (name) => gl.getUniformLocation(program, name);
|
|
252
|
+
gl.uniform1f(loc("uTimeSpeed"), timeSpeed);
|
|
253
|
+
gl.uniform1f(loc("uColorBalance"), colorBalance);
|
|
254
|
+
gl.uniform1f(loc("uWarpStrength"), warpStrength);
|
|
255
|
+
gl.uniform1f(loc("uWarpFrequency"), warpFrequency);
|
|
256
|
+
gl.uniform1f(loc("uWarpSpeed"), warpSpeed);
|
|
257
|
+
gl.uniform1f(loc("uWarpAmplitude"), warpAmplitude);
|
|
258
|
+
gl.uniform1f(loc("uBlendAngle"), blendAngle);
|
|
259
|
+
gl.uniform1f(loc("uBlendSoftness"), blendSoftness);
|
|
260
|
+
gl.uniform1f(loc("uRotationAmount"), rotationAmount);
|
|
261
|
+
gl.uniform1f(loc("uNoiseScale"), noiseScale);
|
|
262
|
+
gl.uniform1f(loc("uGrainAmount"), grainAmount);
|
|
263
|
+
gl.uniform1f(loc("uGrainScale"), grainScale);
|
|
264
|
+
gl.uniform1f(loc("uContrast"), contrast);
|
|
265
|
+
gl.uniform1f(loc("uGamma"), gamma);
|
|
266
|
+
gl.uniform1f(loc("uSaturation"), saturation);
|
|
267
|
+
gl.uniform1f(loc("uZoom"), zoom);
|
|
268
|
+
gl.uniform1f(loc("uGrainAnimated"), grainAnimated ? 1 : 0);
|
|
269
|
+
gl.uniform1f(loc("uLightMode"), light ? 1 : 0);
|
|
270
|
+
gl.uniform2f(loc("uCenterOffset"), centerX, centerY);
|
|
271
|
+
gl.uniform3f(loc("uColor1"), ...hexToRgb(color1));
|
|
272
|
+
gl.uniform3f(loc("uColor2"), ...hexToRgb(color2));
|
|
273
|
+
gl.uniform3f(loc("uColor3"), ...hexToRgb(color3));
|
|
274
|
+
drawRef.current?.();
|
|
275
|
+
};
|
|
276
|
+
uniformsRef.current = apply;
|
|
277
|
+
apply();
|
|
278
|
+
}, [
|
|
279
|
+
timeSpeed,
|
|
280
|
+
colorBalance,
|
|
281
|
+
warpStrength,
|
|
282
|
+
warpFrequency,
|
|
283
|
+
warpSpeed,
|
|
284
|
+
warpAmplitude,
|
|
285
|
+
blendAngle,
|
|
286
|
+
blendSoftness,
|
|
287
|
+
rotationAmount,
|
|
288
|
+
noiseScale,
|
|
289
|
+
grainAmount,
|
|
290
|
+
grainScale,
|
|
291
|
+
contrast,
|
|
292
|
+
gamma,
|
|
293
|
+
saturation,
|
|
294
|
+
zoom,
|
|
295
|
+
centerX,
|
|
296
|
+
centerY,
|
|
297
|
+
color1,
|
|
298
|
+
color2,
|
|
299
|
+
color3,
|
|
300
|
+
grainAnimated,
|
|
301
|
+
light
|
|
302
|
+
]);
|
|
303
|
+
return /* @__PURE__ */ jsx("div", {
|
|
304
|
+
"aria-hidden": true,
|
|
305
|
+
ref: containerRef,
|
|
306
|
+
...rest,
|
|
307
|
+
...styleProps(styles.root, className, style)
|
|
308
|
+
});
|
|
309
|
+
});
|
|
310
|
+
Grainient.displayName = "Grainient";
|
|
311
|
+
//#endregion
|
|
312
|
+
export { Grainient as default, hexToRgb };
|
|
313
|
+
|
|
314
|
+
//# sourceMappingURL=Grainient.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Grainient.mjs","names":[],"sources":["../../../src/awesome/Grainient/Grainient.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport { memo, useEffect, useRef } from 'react';\n\nimport { styleProps } from '@/styles/stylex/props';\nimport { useThemeMode } from '@/styles/theme/scope';\n\nimport { styles } from './style';\nimport type { GrainientProps } from './type';\n\nconst VERTEX_SHADER = `#version 300 es\nin vec2 position;\nvoid main() {\n gl_Position = vec4(position, 0.0, 1.0);\n}\n`;\n\nconst FRAGMENT_SHADER = `#version 300 es\nprecision highp float;\nuniform vec2 iResolution;\nuniform float iTime;\nuniform float uTimeSpeed;\nuniform float uColorBalance;\nuniform float uWarpStrength;\nuniform float uWarpFrequency;\nuniform float uWarpSpeed;\nuniform float uWarpAmplitude;\nuniform float uBlendAngle;\nuniform float uBlendSoftness;\nuniform float uRotationAmount;\nuniform float uNoiseScale;\nuniform float uGrainAmount;\nuniform float uGrainScale;\nuniform float uGrainAnimated;\nuniform float uContrast;\nuniform float uGamma;\nuniform float uSaturation;\nuniform vec2 uCenterOffset;\nuniform float uZoom;\nuniform vec3 uColor1;\nuniform vec3 uColor2;\nuniform vec3 uColor3;\nuniform float uLightMode;\nout vec4 fragColor;\n#define S(a,b,t) smoothstep(a,b,t)\nmat2 Rot(float a){float s=sin(a),c=cos(a);return mat2(c,-s,s,c);}\nvec2 hash(vec2 p){p=vec2(dot(p,vec2(2127.1,81.17)),dot(p,vec2(1269.5,283.37)));return fract(sin(p)*43758.5453);}\nfloat noise(vec2 p){vec2 i=floor(p),f=fract(p),u=f*f*(3.0-2.0*f);float n=mix(mix(dot(-1.0+2.0*hash(i+vec2(0.0,0.0)),f-vec2(0.0,0.0)),dot(-1.0+2.0*hash(i+vec2(1.0,0.0)),f-vec2(1.0,0.0)),u.x),mix(dot(-1.0+2.0*hash(i+vec2(0.0,1.0)),f-vec2(0.0,1.0)),dot(-1.0+2.0*hash(i+vec2(1.0,1.0)),f-vec2(1.0,1.0)),u.x),u.y);return 0.5+0.5*n;}\nvoid mainImage(out vec4 o, vec2 C){\n float t=iTime*uTimeSpeed;\n vec2 uv=C/iResolution.xy;\n float ratio=iResolution.x/iResolution.y;\n vec2 tuv=uv-0.5+uCenterOffset;\n tuv/=max(uZoom,0.001);\n\n float degree=noise(vec2(t*0.1,tuv.x*tuv.y)*uNoiseScale);\n tuv.y*=1.0/ratio;\n tuv*=Rot(radians((degree-0.5)*uRotationAmount+180.0));\n tuv.y*=ratio;\n\n float frequency=uWarpFrequency;\n float ws=max(uWarpStrength,0.001);\n float amplitude=uWarpAmplitude/ws;\n float warpTime=t*uWarpSpeed;\n tuv.x+=sin(tuv.y*frequency+warpTime)/amplitude;\n tuv.y+=sin(tuv.x*(frequency*1.5)+warpTime)/(amplitude*0.5);\n\n vec3 colLav=uColor1;\n vec3 colOrg=uColor2;\n vec3 colDark=uColor3;\n float b=uColorBalance;\n float s=max(uBlendSoftness,0.0);\n mat2 blendRot=Rot(radians(uBlendAngle));\n float blendX=(tuv*blendRot).x;\n float edge0=-0.3-b-s;\n float edge1=0.2-b+s;\n float v0=0.5-b+s;\n float v1=-0.3-b-s;\n vec3 layer1=mix(colDark,colOrg,S(edge0,edge1,blendX));\n vec3 layer2=mix(colOrg,colLav,S(edge0,edge1,blendX));\n vec3 col=mix(layer1,layer2,S(v0,v1,tuv.y));\n\n vec2 grainUv=uv*max(uGrainScale,0.001);\n if(uGrainAnimated>0.5){grainUv+=vec2(iTime*0.05);}\n float grain=fract(sin(dot(grainUv,vec2(12.9898,78.233)))*43758.5453);\n col+=(grain-0.5)*uGrainAmount;\n\n col=(col-0.5)*uContrast+0.5;\n float luma=dot(col,vec3(0.2126,0.7152,0.0722));\n col=mix(vec3(luma),col,uSaturation);\n col=pow(max(col,0.0),vec3(1.0/max(uGamma,0.001)));\n col=clamp(col,0.0,1.0);\n if(uLightMode>0.5){\n float energy=max(max(col.r,col.g),col.b);\n vec3 hue=col/max(energy,0.001);\n float chroma=length(col-vec3(dot(col,vec3(0.333333))));\n float coverage=clamp(0.12+chroma*1.15+energy*0.18,0.0,0.88);\n col=mix(vec3(1.0),clamp(hue*0.58+col*0.18,0.0,1.0),coverage);\n }\n\n o=vec4(col,1.0);\n}\nvoid main(){\n vec4 o=vec4(0.0);\n mainImage(o,gl_FragCoord.xy);\n fragColor=o;\n}\n`;\n\nexport const hexToRgb = (hex: string): [number, number, number] => {\n let value = hex.trim().replace('#', '');\n if (value.length === 3) value = [...value].map((c) => c + c).join('');\n const result = /^([\\da-f]{2})([\\da-f]{2})([\\da-f]{2})$/i.exec(value);\n if (!result) return [1, 1, 1];\n return [\n Number.parseInt(result[1], 16) / 255,\n Number.parseInt(result[2], 16) / 255,\n Number.parseInt(result[3], 16) / 255,\n ];\n};\n\nconst compile = (gl: WebGL2RenderingContext, type: number, source: string) => {\n const shader = gl.createShader(type);\n if (!shader) return null;\n gl.shaderSource(shader, source);\n gl.compileShader(shader);\n if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {\n gl.deleteShader(shader);\n return null;\n }\n return shader;\n};\n\n/**\n * Animated grainy gradient (WebGL2, no extra dependency). Fills its nearest positioned ancestor,\n * pauses when off-screen or the tab is hidden, and draws one still frame when reduced motion is\n * preferred. Without WebGL2 it renders nothing, so give the parent a fallback background.\n */\nconst Grainient = memo<GrainientProps>(\n ({\n timeSpeed = 0.25,\n colorBalance = 0,\n warpStrength = 1,\n warpFrequency = 5,\n warpSpeed = 2,\n warpAmplitude = 50,\n blendAngle = 0,\n blendSoftness = 0.05,\n rotationAmount = 500,\n noiseScale = 2,\n grainAmount = 0.1,\n grainScale = 2,\n contrast = 1.5,\n gamma = 1,\n saturation = 1,\n zoom = 0.9,\n centerX = 0,\n centerY = 0,\n color1 = '#FF9FFC',\n color2 = '#5227FF',\n color3 = '#B497CF',\n grainAnimated = false,\n lightMode = false,\n className,\n style,\n ...rest\n }) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const drawRef = useRef<(() => void) | null>(null);\n const uniformsRef = useRef<(() => void) | null>(null);\n const { isDarkMode } = useThemeMode();\n const light = lightMode === 'auto' ? !isDarkMode : lightMode;\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n\n const canvas = document.createElement('canvas');\n canvas.className = stylex.props(styles.canvas).className ?? '';\n const gl = canvas.getContext('webgl2', { alpha: true, antialias: false });\n if (!gl) return;\n container.append(canvas);\n\n const vs = compile(gl, gl.VERTEX_SHADER, VERTEX_SHADER);\n const fs = compile(gl, gl.FRAGMENT_SHADER, FRAGMENT_SHADER);\n const program = gl.createProgram();\n if (!vs || !fs || !program) {\n canvas.remove();\n return;\n }\n gl.attachShader(program, vs);\n gl.attachShader(program, fs);\n gl.linkProgram(program);\n if (!gl.getProgramParameter(program, gl.LINK_STATUS)) {\n canvas.remove();\n return;\n }\n gl.useProgram(program);\n\n // One triangle that covers the viewport.\n const buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([-1, -1, 3, -1, -1, 3]), gl.STATIC_DRAW);\n const position = gl.getAttribLocation(program, 'position');\n gl.enableVertexAttribArray(position);\n gl.vertexAttribPointer(position, 2, gl.FLOAT, false, 0, 0);\n\n const loc = (name: string) => gl.getUniformLocation(program, name);\n const uTime = loc('iTime');\n const uRes = loc('iResolution');\n const started = performance.now();\n\n const draw = () => {\n gl.uniform1f(uTime, (performance.now() - started) * 0.001);\n gl.drawArrays(gl.TRIANGLES, 0, 3);\n };\n drawRef.current = draw;\n uniformsRef.current?.();\n\n const setSize = () => {\n const rect = container.getBoundingClientRect();\n const dpr = Math.min(window.devicePixelRatio || 1, 2);\n canvas.width = Math.max(1, Math.floor(rect.width * dpr));\n canvas.height = Math.max(1, Math.floor(rect.height * dpr));\n gl.viewport(0, 0, canvas.width, canvas.height);\n gl.uniform2f(uRes, canvas.width, canvas.height);\n draw();\n };\n\n const reducedMotion = window.matchMedia?.('(prefers-reduced-motion: reduce)');\n let raf = 0;\n let inView = true;\n\n const loop = () => {\n draw();\n raf = requestAnimationFrame(loop);\n };\n const stop = () => {\n if (raf) cancelAnimationFrame(raf);\n raf = 0;\n };\n const sync = () => {\n const run = inView && !document.hidden && !reducedMotion?.matches;\n if (run && !raf) raf = requestAnimationFrame(loop);\n if (!run) {\n stop();\n draw();\n }\n };\n\n const resizeObserver = new ResizeObserver(setSize);\n resizeObserver.observe(container);\n const intersectionObserver = new IntersectionObserver(([entry]) => {\n inView = entry.isIntersecting;\n sync();\n });\n intersectionObserver.observe(container);\n document.addEventListener('visibilitychange', sync);\n reducedMotion?.addEventListener('change', sync);\n setSize();\n sync();\n\n return () => {\n stop();\n resizeObserver.disconnect();\n intersectionObserver.disconnect();\n document.removeEventListener('visibilitychange', sync);\n reducedMotion?.removeEventListener('change', sync);\n drawRef.current = null;\n gl.deleteBuffer(buffer);\n gl.deleteProgram(program);\n gl.deleteShader(vs);\n gl.deleteShader(fs);\n canvas.remove();\n };\n }, []);\n\n useEffect(() => {\n const apply = () => {\n const canvas = containerRef.current?.querySelector('canvas');\n const gl = canvas?.getContext('webgl2');\n if (!gl) return;\n const program = gl.getParameter(gl.CURRENT_PROGRAM) as WebGLProgram | null;\n if (!program) return;\n const loc = (name: string) => gl.getUniformLocation(program, name);\n gl.uniform1f(loc('uTimeSpeed'), timeSpeed);\n gl.uniform1f(loc('uColorBalance'), colorBalance);\n gl.uniform1f(loc('uWarpStrength'), warpStrength);\n gl.uniform1f(loc('uWarpFrequency'), warpFrequency);\n gl.uniform1f(loc('uWarpSpeed'), warpSpeed);\n gl.uniform1f(loc('uWarpAmplitude'), warpAmplitude);\n gl.uniform1f(loc('uBlendAngle'), blendAngle);\n gl.uniform1f(loc('uBlendSoftness'), blendSoftness);\n gl.uniform1f(loc('uRotationAmount'), rotationAmount);\n gl.uniform1f(loc('uNoiseScale'), noiseScale);\n gl.uniform1f(loc('uGrainAmount'), grainAmount);\n gl.uniform1f(loc('uGrainScale'), grainScale);\n gl.uniform1f(loc('uContrast'), contrast);\n gl.uniform1f(loc('uGamma'), gamma);\n gl.uniform1f(loc('uSaturation'), saturation);\n gl.uniform1f(loc('uZoom'), zoom);\n gl.uniform1f(loc('uGrainAnimated'), grainAnimated ? 1 : 0);\n gl.uniform1f(loc('uLightMode'), light ? 1 : 0);\n gl.uniform2f(loc('uCenterOffset'), centerX, centerY);\n gl.uniform3f(loc('uColor1'), ...hexToRgb(color1));\n gl.uniform3f(loc('uColor2'), ...hexToRgb(color2));\n gl.uniform3f(loc('uColor3'), ...hexToRgb(color3));\n drawRef.current?.();\n };\n uniformsRef.current = apply;\n apply();\n }, [\n timeSpeed,\n colorBalance,\n warpStrength,\n warpFrequency,\n warpSpeed,\n warpAmplitude,\n blendAngle,\n blendSoftness,\n rotationAmount,\n noiseScale,\n grainAmount,\n grainScale,\n contrast,\n gamma,\n saturation,\n zoom,\n centerX,\n centerY,\n color1,\n color2,\n color3,\n grainAnimated,\n light,\n ]);\n\n return (\n <div\n aria-hidden\n ref={containerRef}\n {...rest}\n {...styleProps(styles.root, className, style)}\n />\n );\n },\n);\n\nGrainient.displayName = 'Grainient';\n\nexport default Grainient;\n"],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
//#region src/awesome/Grainient/style.ts
|
|
2
|
+
const styles = {
|
|
3
|
+
canvas: {
|
|
4
|
+
kpwlN0: "lb10a8y8t",
|
|
5
|
+
kZKoxP: "lb5yr21d",
|
|
6
|
+
k1xSpc: "lb1lliihq",
|
|
7
|
+
kzqmXN: "lbh8yej3",
|
|
8
|
+
kVAEAm: "lb10l6tqk",
|
|
9
|
+
$$css: true
|
|
10
|
+
},
|
|
11
|
+
root: {
|
|
12
|
+
kpwlN0: "lb10a8y8t",
|
|
13
|
+
kVQacm: "lbb3r6kr",
|
|
14
|
+
kfzvcC: "lb47corl",
|
|
15
|
+
kVAEAm: "lb10l6tqk",
|
|
16
|
+
kY2c9j: "lb1ja2u2z",
|
|
17
|
+
$$css: true
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
//#endregion
|
|
21
|
+
export { styles };
|
|
22
|
+
|
|
23
|
+
//# sourceMappingURL=style.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"style.mjs","names":[],"sources":["../../../src/awesome/Grainient/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nexport const styles = stylex.create({\n canvas: {\n inset: 0,\n blockSize: '100%',\n display: 'block',\n inlineSize: '100%',\n position: 'absolute',\n },\n root: {\n inset: 0,\n overflow: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n zIndex: 0,\n },\n});\n"],"mappings":";AACA,MAAa,SAAS;CACpB,QAAQ;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;AACF"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import { DivProps } from "../../types/index.mjs";
|
|
2
|
+
//#region src/awesome/Grainient/type.d.ts
|
|
3
|
+
export interface GrainientProps extends DivProps {
|
|
4
|
+
/**
|
|
5
|
+
* Angle of the color blend, in degrees.
|
|
6
|
+
* @default 0
|
|
7
|
+
*/
|
|
8
|
+
blendAngle?: number;
|
|
9
|
+
/**
|
|
10
|
+
* Softness of the color edges.
|
|
11
|
+
* @default 0.05
|
|
12
|
+
*/
|
|
13
|
+
blendSoftness?: number;
|
|
14
|
+
/**
|
|
15
|
+
* Horizontal offset of the field center.
|
|
16
|
+
* @default 0
|
|
17
|
+
*/
|
|
18
|
+
centerX?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Vertical offset of the field center.
|
|
21
|
+
* @default 0
|
|
22
|
+
*/
|
|
23
|
+
centerY?: number;
|
|
24
|
+
/**
|
|
25
|
+
* First color stop, as hex.
|
|
26
|
+
* @default '#FF9FFC'
|
|
27
|
+
*/
|
|
28
|
+
color1?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Second color stop, as hex.
|
|
31
|
+
* @default '#5227FF'
|
|
32
|
+
*/
|
|
33
|
+
color2?: string;
|
|
34
|
+
/**
|
|
35
|
+
* Third color stop, as hex.
|
|
36
|
+
* @default '#B497CF'
|
|
37
|
+
*/
|
|
38
|
+
color3?: string;
|
|
39
|
+
/**
|
|
40
|
+
* Shifts the blend toward color1 (negative) or color3 (positive).
|
|
41
|
+
* @default 0
|
|
42
|
+
*/
|
|
43
|
+
colorBalance?: number;
|
|
44
|
+
/**
|
|
45
|
+
* Output contrast.
|
|
46
|
+
* @default 1.5
|
|
47
|
+
*/
|
|
48
|
+
contrast?: number;
|
|
49
|
+
/**
|
|
50
|
+
* Output gamma.
|
|
51
|
+
* @default 1
|
|
52
|
+
*/
|
|
53
|
+
gamma?: number;
|
|
54
|
+
/**
|
|
55
|
+
* Film grain strength. 0 turns it off.
|
|
56
|
+
* @default 0.1
|
|
57
|
+
*/
|
|
58
|
+
grainAmount?: number;
|
|
59
|
+
/**
|
|
60
|
+
* Animate the grain with time.
|
|
61
|
+
* @default false
|
|
62
|
+
*/
|
|
63
|
+
grainAnimated?: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Film grain scale.
|
|
66
|
+
* @default 2
|
|
67
|
+
*/
|
|
68
|
+
grainScale?: number;
|
|
69
|
+
/**
|
|
70
|
+
* Wash the colors toward white for a light surface. `'auto'` follows the current theme.
|
|
71
|
+
* @default false
|
|
72
|
+
*/
|
|
73
|
+
lightMode?: boolean | 'auto';
|
|
74
|
+
/**
|
|
75
|
+
* Scale of the rotation noise.
|
|
76
|
+
* @default 2
|
|
77
|
+
*/
|
|
78
|
+
noiseScale?: number;
|
|
79
|
+
/**
|
|
80
|
+
* Noise-driven rotation, in degrees.
|
|
81
|
+
* @default 500
|
|
82
|
+
*/
|
|
83
|
+
rotationAmount?: number;
|
|
84
|
+
/**
|
|
85
|
+
* Output saturation.
|
|
86
|
+
* @default 1
|
|
87
|
+
*/
|
|
88
|
+
saturation?: number;
|
|
89
|
+
/**
|
|
90
|
+
* Animation speed. A still frame is drawn when reduced motion is preferred.
|
|
91
|
+
* @default 0.25
|
|
92
|
+
*/
|
|
93
|
+
timeSpeed?: number;
|
|
94
|
+
/**
|
|
95
|
+
* Warp amplitude divisor; higher is calmer.
|
|
96
|
+
* @default 50
|
|
97
|
+
*/
|
|
98
|
+
warpAmplitude?: number;
|
|
99
|
+
/**
|
|
100
|
+
* Frequency of the warp waves.
|
|
101
|
+
* @default 5
|
|
102
|
+
*/
|
|
103
|
+
warpFrequency?: number;
|
|
104
|
+
/**
|
|
105
|
+
* Speed of the warp waves.
|
|
106
|
+
* @default 2
|
|
107
|
+
*/
|
|
108
|
+
warpSpeed?: number;
|
|
109
|
+
/**
|
|
110
|
+
* How strongly the field is warped.
|
|
111
|
+
* @default 1
|
|
112
|
+
*/
|
|
113
|
+
warpStrength?: number;
|
|
114
|
+
/**
|
|
115
|
+
* Zoom of the field.
|
|
116
|
+
* @default 0.9
|
|
117
|
+
*/
|
|
118
|
+
zoom?: number;
|
|
119
|
+
}
|
|
120
|
+
//#endregion
|
|
121
|
+
//# sourceMappingURL=type.d.mts.map
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
import { styleProps } from "../../styles/stylex/props.mjs";
|
|
3
3
|
import { cssVar } from "../../styles/stylex/cssVar.stylex.mjs";
|
|
4
4
|
import { useTheme } from "../../styles/theme/scope.mjs";
|
|
5
|
+
import { useSize } from "../../hooks/useSize.mjs";
|
|
5
6
|
import Grid from "./components/Grid.mjs";
|
|
6
7
|
import { styles } from "./style.mjs";
|
|
7
8
|
import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
@@ -9,7 +10,6 @@ import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
|
9
10
|
import * as stylex from "@stylexjs/stylex";
|
|
10
11
|
import { shuffle } from "es-toolkit/compat";
|
|
11
12
|
import chroma from "chroma-js";
|
|
12
|
-
import { useSize } from "ahooks";
|
|
13
13
|
//#region src/awesome/GridBackground/GridBackground.tsx
|
|
14
14
|
const initialGroup = [
|
|
15
15
|
0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridBackground.mjs","names":[],"sources":["../../../src/awesome/GridBackground/GridBackground.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport
|
|
1
|
+
{"version":3,"file":"GridBackground.mjs","names":[],"sources":["../../../src/awesome/GridBackground/GridBackground.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport chroma from 'chroma-js';\nimport { shuffle } from 'es-toolkit/compat';\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { useSize } from '@/hooks/useSize';\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\nimport { styleProps } from '@/styles/stylex/props';\nimport { useTheme } from '@/styles/theme/scope';\n\nimport Grid, { type GridProps } from './components/Grid';\nimport { styles } from './style';\nimport type { GridBackgroundProps } from './type';\n\nconst initialGroup = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14];\n\nconst GridBackground = memo<GridBackgroundProps>(\n ({\n flip,\n reverse,\n showBackground,\n backgroundColor,\n random,\n animationDuration = 8,\n className,\n colorFront,\n colorBack,\n strokeWidth,\n style,\n animation,\n ...rest\n }) => {\n const ref = useRef(null);\n const size = useSize(ref);\n const theme = useTheme();\n\n const backgroundCssVariables = useMemo<Record<string, string>>(() => {\n if (!showBackground) return {} as Record<string, string>;\n\n const scale = chroma\n .bezier([theme.colorText, backgroundColor || 'blue', theme.colorBgLayout])\n .scale()\n .mode('lch')\n .correctLightness()\n .colors(6);\n\n return {\n '--grid-background-color-1': scale[1],\n '--grid-background-color-2': scale[2],\n '--grid-background-color-3': scale[3],\n '--grid-background-color-4': scale[4],\n };\n }, [showBackground, backgroundColor, theme.colorText, theme.colorBgLayout]);\n\n const gridProps: GridProps = useMemo(\n () => ({\n className: stylex.props(styles.highlight, reverse && styles.highlightReverse).className,\n color: colorFront || cssVar.colorText,\n strokeWidth,\n }),\n [reverse, colorFront, strokeWidth],\n );\n\n const [group, setGroup] = useState(random ? initialGroup : undefined);\n useEffect(() => {\n setGroup(random ? shuffle(initialGroup) : undefined);\n }, [random]);\n\n const HighlightGrid = useCallback(() => {\n if (!group)\n return <Grid style={{ '--duration': `${animationDuration}s` } as any} {...gridProps} />;\n\n return (\n <>\n {group.map((item, index) => {\n return (\n <Grid\n key={item}\n linePick={item}\n style={\n {\n '--delay': `${index + Math.random()}s`,\n '--duration': `${animationDuration}s`,\n } as any\n }\n {...gridProps}\n />\n );\n })}\n </>\n );\n }, [group, animationDuration, gridProps]);\n\n return (\n <div\n {...styleProps(\n styles.container,\n className,\n flip ? { transform: 'scaleY(-1)', ...style } : style,\n )}\n ref={ref}\n {...rest}\n >\n <Grid\n color={colorBack || cssVar.colorBorder}\n strokeWidth={strokeWidth}\n style={{ zIndex: 2 }}\n />\n {animation && <HighlightGrid />}\n {showBackground && (\n <div\n {...stylex.props(styles.backgroundContainer)}\n style={{\n ...(size ? { fontSize: size.width / 80 } : {}),\n ...backgroundCssVariables,\n }}\n >\n <div {...stylex.props(styles.backgroundShape)} />\n </div>\n )}\n </div>\n );\n },\n);\n\nGridBackground.displayName = 'GridBackground';\n\nexport default GridBackground;\n"],"mappings":";;;;;;;;;;;;;AAaA,MAAM,eAAe;CAAC;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAG;CAAI;CAAI;CAAI;CAAI;AAAE;AACtE,MAAM,iBAAiB,MAA2B,EAChD,MACA,SACA,gBACA,iBACA,QACA,oBAAoB,GACpB,WACA,YACA,WACA,aACA,OACA,WACA,GAAG,WACC;CACJ,MAAM,MAAM,OAAO,IAAI;CACvB,MAAM,OAAO,QAAQ,GAAG;CACxB,MAAM,QAAQ,SAAS;CACvB,MAAM,yBAAyB,cAAsC;EACnE,IAAI,CAAC,gBAAgB,OAAO,CAAC;EAC7B,MAAM,QAAQ,OAAO,OAAO;GAAC,MAAM;GAAW,mBAAmB;GAAQ,MAAM;EAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;EAC9I,OAAO;GACL,6BAA6B,MAAM;GACnC,6BAA6B,MAAM;GACnC,6BAA6B,MAAM;GACnC,6BAA6B,MAAM;EACrC;CACF,GAAG;EAAC;EAAgB;EAAiB,MAAM;EAAW,MAAM;CAAa,CAAC;CAC1E,MAAM,YAAuB,eAAe;EAC1C,WAAW,OAAO,MAAM,OAAO,WAAW,WAAW,OAAO,gBAAgB,CAAC,CAAC;EAC9E,OAAO,cAAc,OAAO;EAC5B;CACF,IAAI;EAAC;EAAS;EAAY;CAAW,CAAC;CACtC,MAAM,CAAC,OAAO,YAAY,SAAS,SAAS,eAAe,KAAA,CAAS;CACpE,gBAAgB;EACd,SAAS,SAAS,QAAQ,YAAY,IAAI,KAAA,CAAS;CACrD,GAAG,CAAC,MAAM,CAAC;CACX,MAAM,gBAAgB,kBAAkB;EACtC,IAAI,CAAC,OAAO,OAAO,oBAAC,MAAD;GAAM,OAAO,EAC9B,cAAc,GAAG,kBAAkB,GACrC;GAAU,GAAI;EAAY,CAAA;EAC1B,OAAO,oBAAA,YAAA,EAAA,UACA,MAAM,KAAK,MAAM,UAAU;GAC9B,OAAO,oBAAC,MAAD;IAAiB,UAAU;IAAM,OAAO;KAC7C,WAAW,GAAG,QAAQ,KAAK,OAAO,EAAE;KACpC,cAAc,GAAG,kBAAkB;IACrC;IAAU,GAAI;GAAY,GAHR,IAGQ;EAC5B,CAAC,EACG,CAAA;CACR,GAAG;EAAC;EAAO;EAAmB;CAAS,CAAC;CACxC,OAAO,qBAAC,OAAD;EAAK,GAAI,WAAW,OAAO,WAAW,WAAW,OAAO;GAC7D,WAAW;GACX,GAAG;EACL,IAAI,KAAK;EAAQ;EAAK,GAAI;EAHnB,UAAA;GAID,oBAAC,MAAD;IAAM,OAAO,aAAa,OAAO;IAA0B;IAAa,OAAO,EACjF,QAAQ,EACV;GAAI,CAAA;GACC,aAAa,oBAAC,eAAD,CAAgB,CAAA;GAC7B,kBAAkB,oBAAC,OAAD;IAAK,GAAI,OAAO,MAAM,OAAO,mBAAmB;IAAG,OAAO;KAC/E,GAAI,OAAO,EACT,UAAU,KAAK,QAAQ,GACzB,IAAI,CAAC;KACL,GAAG;IACL;IACQ,UAAA,oBAAC,OAAD,EAAK,GAAI,OAAO,MAAM,OAAO,eAAe,EAAI,CAAA;GAC7C,CAAA;EACJ;;AACX,CAAC;AACD,eAAe,cAAc"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import FlexBasic_default from "../../Flex/FlexBasic.mjs";
|
|
3
|
+
import { withAlpha } from "../../utils/colorMath.mjs";
|
|
3
4
|
import { useTheme } from "../../styles/theme/scope.mjs";
|
|
4
5
|
import GridBackground from "./GridBackground.mjs";
|
|
5
6
|
import { memo } from "react";
|
|
6
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
7
|
-
import { rgba } from "polished";
|
|
8
8
|
//#region src/awesome/GridBackground/GridShowcase.tsx
|
|
9
9
|
const GridShowcase = memo(({ style, children, backgroundColor = "#001dff", innerProps, ...rest }) => {
|
|
10
10
|
const theme = useTheme();
|
|
@@ -18,8 +18,8 @@ const GridShowcase = memo(({ style, children, backgroundColor = "#001dff", inner
|
|
|
18
18
|
/* @__PURE__ */ jsx(GridBackground, {
|
|
19
19
|
animation: true,
|
|
20
20
|
flip: true,
|
|
21
|
-
colorBack:
|
|
22
|
-
colorFront:
|
|
21
|
+
colorBack: withAlpha(theme.colorText, .12),
|
|
22
|
+
colorFront: withAlpha(theme.colorText, .6)
|
|
23
23
|
}),
|
|
24
24
|
/* @__PURE__ */ jsx(FlexBasic_default, {
|
|
25
25
|
align: "center",
|
|
@@ -36,7 +36,7 @@ const GridShowcase = memo(({ style, children, backgroundColor = "#001dff", inner
|
|
|
36
36
|
reverse: true,
|
|
37
37
|
showBackground: true,
|
|
38
38
|
backgroundColor,
|
|
39
|
-
colorBack:
|
|
39
|
+
colorBack: withAlpha(theme.colorText, .24),
|
|
40
40
|
colorFront: theme.colorText,
|
|
41
41
|
style: { zIndex: 0 }
|
|
42
42
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GridShowcase.mjs","names":["Flexbox"],"sources":["../../../src/awesome/GridBackground/GridShowcase.tsx"],"sourcesContent":["'use client';\n\nimport {
|
|
1
|
+
{"version":3,"file":"GridShowcase.mjs","names":["Flexbox"],"sources":["../../../src/awesome/GridBackground/GridShowcase.tsx"],"sourcesContent":["'use client';\n\nimport { memo } from 'react';\n\nimport { Flexbox } from '@/Flex';\nimport { useTheme } from '@/styles/theme/scope';\nimport { withAlpha } from '@/utils/colorMath';\n\nimport GridBackground from './GridBackground';\nimport type { GridShowcaseProps } from './type';\n\nconst GridShowcase = memo<GridShowcaseProps>(\n ({ style, children, backgroundColor = '#001dff', innerProps, ...rest }) => {\n const theme = useTheme();\n\n return (\n <Flexbox style={{ position: 'relative', ...style }} {...rest}>\n <GridBackground\n animation\n flip\n colorBack={withAlpha(theme.colorText, 0.12)}\n colorFront={withAlpha(theme.colorText, 0.6)}\n />\n <Flexbox align={'center'} {...innerProps} style={{ zIndex: 4, ...innerProps?.style }}>\n {children}\n </Flexbox>\n <GridBackground\n animation\n random\n reverse\n showBackground\n backgroundColor={backgroundColor}\n colorBack={withAlpha(theme.colorText, 0.24)}\n colorFront={theme.colorText}\n style={{ zIndex: 0 }}\n />\n </Flexbox>\n );\n },\n);\n\nGridShowcase.displayName = 'GridShowcase';\n\nexport default GridShowcase;\n"],"mappings":";;;;;;;;AAWA,MAAM,eAAe,MAClB,EAAE,OAAO,UAAU,kBAAkB,WAAW,YAAY,GAAG,WAAW;CACzE,MAAM,QAAQ,SAAS;CAEvB,OACE,qBAACA,mBAAD;EAAS,OAAO;GAAE,UAAU;GAAY,GAAG;EAAM;EAAG,GAAI;EAAxD,UAAA;GACE,oBAAC,gBAAD;IACE,WAAA;IACA,MAAA;IACA,WAAW,UAAU,MAAM,WAAW,GAAI;IAC1C,YAAY,UAAU,MAAM,WAAW,EAAG;GAC3C,CAAA;GACD,oBAACA,mBAAD;IAAS,OAAO;IAAU,GAAI;IAAY,OAAO;KAAE,QAAQ;KAAG,GAAG,YAAY;IAAM;IAChF;GACM,CAAA;GACT,oBAAC,gBAAD;IACE,WAAA;IACA,QAAA;IACA,SAAA;IACA,gBAAA;IACiB;IACjB,WAAW,UAAU,MAAM,WAAW,GAAI;IAC1C,YAAY,MAAM;IAClB,OAAO,EAAE,QAAQ,EAAE;GACpB,CAAA;EACM;;AAEb,CACF;AAEA,aAAa,cAAc"}
|
package/es/awesome/Hero/Hero.mjs
CHANGED
|
@@ -11,14 +11,14 @@ import GithubIcon from "../../icons/lucideExtra/GithubIcon.mjs";
|
|
|
11
11
|
import { styles } from "./style.mjs";
|
|
12
12
|
import { memo, useCallback } from "react";
|
|
13
13
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
14
|
-
import clsx from "clsx";
|
|
14
|
+
import clsx$1 from "clsx";
|
|
15
15
|
import * as stylex from "@stylexjs/stylex";
|
|
16
16
|
//#region src/awesome/Hero/Hero.tsx
|
|
17
17
|
const Hero = memo(({ title, description, actions, Link }) => {
|
|
18
18
|
const { mobile } = useResponsive();
|
|
19
19
|
const LinkRender = Link || A;
|
|
20
20
|
const ButtonGroups = useCallback(() => Boolean(actions?.length) && /* @__PURE__ */ jsx("div", {
|
|
21
|
-
className: clsx(stylex.props(styles.actions).className, "lobe-hero-actions"),
|
|
21
|
+
className: clsx$1(stylex.props(styles.actions).className, "lobe-hero-actions"),
|
|
22
22
|
children: actions.map(({ text, link, openExternal, github, type }, index) => {
|
|
23
23
|
const content = type === "primary" ? /* @__PURE__ */ jsx(GradientButton, {
|
|
24
24
|
block: mobile,
|
|
@@ -62,7 +62,7 @@ const Hero = memo(({ title, description, actions, Link }) => {
|
|
|
62
62
|
title && /* @__PURE__ */ jsx(Center, {
|
|
63
63
|
horizontal: true,
|
|
64
64
|
as: "h1",
|
|
65
|
-
className: clsx(stylex.props(styles.title).className, "lobe-hero-title"),
|
|
65
|
+
className: clsx$1(stylex.props(styles.title).className, "lobe-hero-title"),
|
|
66
66
|
dangerouslySetInnerHTML: { __html: title },
|
|
67
67
|
gap: "0.25em",
|
|
68
68
|
wrap: "wrap"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hero.mjs","names":["Flexbox"],"sources":["../../../src/awesome/Hero/Hero.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport { GithubIcon } from '@lobehub/ui/icons';\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport { memo, useCallback } from 'react';\n\nimport A from '@/A';\nimport AuroraBackground from '@/awesome/AuroraBackground';\nimport GradientButton from '@/awesome/GradientButton';\nimport Button from '@/Button';\nimport { Center, Flexbox } from '@/Flex';\nimport Icon from '@/Icon';\nimport { useResponsive } from '@/styles/theme/scope';\n\nimport { styles } from './style';\nimport { type HeroProps } from './type';\n\nconst Hero = memo<HeroProps>(({ title, description, actions, Link }) => {\n const { mobile } = useResponsive();\n\n const LinkRender = Link || A;\n\n const ButtonGroups = useCallback(\n () =>\n Boolean(actions?.length) && (\n <div className={clsx(stylex.props(styles.actions).className, 'lobe-hero-actions')}>\n {actions!.map(({ text, link, openExternal, github, type }, index) => {\n const content =\n type === 'primary' ? (\n <GradientButton\n block={mobile}\n icon={github ? <Icon icon={GithubIcon} size={18} /> : undefined}\n key={index}\n size=\"large\"\n >\n {text}\n </GradientButton>\n ) : (\n <Button\n block={mobile}\n icon={github ? <Icon icon={GithubIcon} size={18} /> : undefined}\n key={index}\n size=\"large\"\n type=\"primary\"\n >\n {text}\n </Button>\n );\n\n return openExternal ? (\n <A href={link} key={text} target={openExternal ? '_blank' : undefined}>\n {content}\n </A>\n ) : (\n <LinkRender key={text} to={link}>\n {content}\n </LinkRender>\n );\n })}\n </div>\n ),\n [actions],\n );\n\n return (\n <>\n <AuroraBackground />\n <Flexbox align={'center'} style={{ fontSize: 16, zIndex: 1 }}>\n <Flexbox\n horizontal\n className={stylex.props(styles.container).className}\n distribution={'center'}\n >\n <Center>\n {title && (\n <Center\n horizontal\n as={'h1'}\n className={clsx(stylex.props(styles.title).className, 'lobe-hero-title')}\n dangerouslySetInnerHTML={{ __html: title }}\n gap={'0.25em'}\n wrap={'wrap'}\n />\n )}\n {description && (\n <p {...stylex.props(styles.desc)} dangerouslySetInnerHTML={{ __html: description }} />\n )}\n <ButtonGroups />\n </Center>\n </Flexbox>\n </Flexbox>\n </>\n );\n});\n\nHero.displayName = 'Hero';\n\nexport default Hero;\n"],"mappings":";;;;;;;;;;;;;;;;AAgBA,MAAM,OAAO,MAAiB,EAC5B,OACA,aACA,SACA,WACI;CACJ,MAAM,EACJ,WACE,cAAc;CAClB,MAAM,aAAa,QAAQ;CAC3B,MAAM,eAAe,kBAAkB,QAAQ,SAAS,MAAM,KAAK,oBAAC,OAAD;EAAK,
|
|
1
|
+
{"version":3,"file":"Hero.mjs","names":["clsx","Flexbox"],"sources":["../../../src/awesome/Hero/Hero.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport { GithubIcon } from '@lobehub/ui/icons';\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport { memo, useCallback } from 'react';\n\nimport A from '@/A';\nimport AuroraBackground from '@/awesome/AuroraBackground';\nimport GradientButton from '@/awesome/GradientButton';\nimport Button from '@/Button';\nimport { Center, Flexbox } from '@/Flex';\nimport Icon from '@/Icon';\nimport { useResponsive } from '@/styles/theme/scope';\n\nimport { styles } from './style';\nimport { type HeroProps } from './type';\n\nconst Hero = memo<HeroProps>(({ title, description, actions, Link }) => {\n const { mobile } = useResponsive();\n\n const LinkRender = Link || A;\n\n const ButtonGroups = useCallback(\n () =>\n Boolean(actions?.length) && (\n <div className={clsx(stylex.props(styles.actions).className, 'lobe-hero-actions')}>\n {actions!.map(({ text, link, openExternal, github, type }, index) => {\n const content =\n type === 'primary' ? (\n <GradientButton\n block={mobile}\n icon={github ? <Icon icon={GithubIcon} size={18} /> : undefined}\n key={index}\n size=\"large\"\n >\n {text}\n </GradientButton>\n ) : (\n <Button\n block={mobile}\n icon={github ? <Icon icon={GithubIcon} size={18} /> : undefined}\n key={index}\n size=\"large\"\n type=\"primary\"\n >\n {text}\n </Button>\n );\n\n return openExternal ? (\n <A href={link} key={text} target={openExternal ? '_blank' : undefined}>\n {content}\n </A>\n ) : (\n <LinkRender key={text} to={link}>\n {content}\n </LinkRender>\n );\n })}\n </div>\n ),\n [actions],\n );\n\n return (\n <>\n <AuroraBackground />\n <Flexbox align={'center'} style={{ fontSize: 16, zIndex: 1 }}>\n <Flexbox\n horizontal\n className={stylex.props(styles.container).className}\n distribution={'center'}\n >\n <Center>\n {title && (\n <Center\n horizontal\n as={'h1'}\n className={clsx(stylex.props(styles.title).className, 'lobe-hero-title')}\n dangerouslySetInnerHTML={{ __html: title }}\n gap={'0.25em'}\n wrap={'wrap'}\n />\n )}\n {description && (\n <p {...stylex.props(styles.desc)} dangerouslySetInnerHTML={{ __html: description }} />\n )}\n <ButtonGroups />\n </Center>\n </Flexbox>\n </Flexbox>\n </>\n );\n});\n\nHero.displayName = 'Hero';\n\nexport default Hero;\n"],"mappings":";;;;;;;;;;;;;;;;AAgBA,MAAM,OAAO,MAAiB,EAC5B,OACA,aACA,SACA,WACI;CACJ,MAAM,EACJ,WACE,cAAc;CAClB,MAAM,aAAa,QAAQ;CAC3B,MAAM,eAAe,kBAAkB,QAAQ,SAAS,MAAM,KAAK,oBAAC,OAAD;EAAK,WAAWA,OAAK,OAAO,MAAM,OAAO,OAAO,CAAC,CAAC,WAAW,mBAAmB;EAC1I,UAAA,QAAS,KAAK,EACnB,MACA,MACA,cACA,QACA,QACC,UAAU;GACX,MAAM,UAAU,SAAS,YAAY,oBAAC,gBAAD;IAAgB,OAAO;IAAQ,MAAM,SAAS,oBAAC,MAAD;KAAM,MAAM;KAAY,MAAM;IAAK,CAAA,IAAI,KAAA;IAAuB,MAAK;IACzI,UAAA;GACa,GAFgH,KAEhH,IAAI,oBAAC,QAAD;IAAQ,OAAO;IAAQ,MAAM,SAAS,oBAAC,MAAD;KAAM,MAAM;KAAY,MAAM;IAAK,CAAA,IAAI,KAAA;IAAuB,MAAK;IAAQ,MAAK;IACvI,UAAA;GACK,GAFyG,KAEzG;GAClB,OAAO,eAAe,oBAAC,GAAD;IAAG,MAAM;IAAiB,QAAQ,eAAe,WAAW,KAAA;IACvE,UAAA;GACA,GAF+B,IAE/B,IAAI,oBAAC,YAAD;IAAuB,IAAI;IAC/B,UAAA;GACS,GAFY,IAEZ;EACtB,CAAC;CACQ,CAAA,GAAG,CAAC,OAAO,CAAC;CACvB,OAAO,qBAAA,YAAA,EAAA,UAAA,CACH,oBAAC,kBAAD,CAAmB,CAAA,GACnB,oBAACC,mBAAD;EAAS,OAAO;EAAU,OAAO;GACjC,UAAU;GACV,QAAQ;EACV;EACI,UAAA,oBAACA,mBAAD;GAAS,YAAA;GAAW,WAAW,OAAO,MAAM,OAAO,SAAS,CAAC,CAAC;GAAW,cAAc;GACrF,UAAA,qBAAC,QAAD,EAAA,UAAA;IACG,SAAS,oBAAC,QAAD;KAAQ,YAAA;KAAW,IAAI;KAAM,WAAWD,OAAK,OAAO,MAAM,OAAO,KAAK,CAAC,CAAC,WAAW,iBAAiB;KAAG,yBAAyB,EAC1I,QAAQ,MACV;KAAG,KAAK;KAAU,MAAM;IAAS,CAAA;IAC9B,eAAe,oBAAC,KAAD;KAAG,GAAI,OAAO,MAAM,OAAO,IAAI;KAAG,yBAAyB,EAC3E,QAAQ,YACV;IAAI,CAAA;IACF,oBAAC,cAAD,CAAe,CAAA;GACT,EAAA,CAAA;EACD,CAAA;CACF,CAAA,CACT,EAAA,CAAA;AACN,CAAC;AACD,KAAK,cAAc"}
|