@lobehub/ui 6.0.0-beta.7 → 6.0.0-beta.9

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.
Files changed (675) hide show
  1. package/es/Accordion/Accordion.mjs +3 -3
  2. package/es/Accordion/Accordion.mjs.map +1 -1
  3. package/es/Accordion/atoms.mjs +2 -2
  4. package/es/Accordion/atoms.mjs.map +1 -1
  5. package/es/Accordion/style.d.mts +1 -1
  6. package/es/ActionIcon/ActionIcon.mjs +2 -2
  7. package/es/ActionIcon/ActionIcon.mjs.map +1 -1
  8. package/es/Alert/Alert.mjs +5 -5
  9. package/es/Alert/Alert.mjs.map +1 -1
  10. package/es/AutoComplete/AutoComplete.mjs +5 -5
  11. package/es/AutoComplete/AutoComplete.mjs.map +1 -1
  12. package/es/AutoComplete/style.mjs +2 -2
  13. package/es/AutoComplete/style.mjs.map +1 -1
  14. package/es/Avatar/Avatar.mjs +2 -2
  15. package/es/Avatar/Avatar.mjs.map +1 -1
  16. package/es/Avatar/AvatarGroup/index.mjs +2 -2
  17. package/es/Avatar/AvatarGroup/index.mjs.map +1 -1
  18. package/es/Breadcrumb/Breadcrumb.mjs +2 -2
  19. package/es/Breadcrumb/Breadcrumb.mjs.map +1 -1
  20. package/es/Button/Button.mjs +1 -1
  21. package/es/Button/Button.mjs.map +1 -1
  22. package/es/Button/style.d.mts +8 -1
  23. package/es/Button/style.mjs +41 -18
  24. package/es/Button/style.mjs.map +1 -1
  25. package/es/Checkbox/Checkbox.mjs +3 -3
  26. package/es/Checkbox/Checkbox.mjs.map +1 -1
  27. package/es/CodeDiff/DiffPanel.mjs +4 -4
  28. package/es/CodeDiff/DiffPanel.mjs.map +1 -1
  29. package/es/CodeEditor/CodeEditor.mjs +4 -4
  30. package/es/CodeEditor/CodeEditor.mjs.map +1 -1
  31. package/es/ColorPicker/ColorInputs.mjs +136 -0
  32. package/es/ColorPicker/ColorInputs.mjs.map +1 -0
  33. package/es/ColorPicker/ColorPanel.mjs +145 -0
  34. package/es/ColorPicker/ColorPanel.mjs.map +1 -0
  35. package/es/ColorPicker/ColorPicker.mjs +62 -199
  36. package/es/ColorPicker/ColorPicker.mjs.map +1 -1
  37. package/es/ColorPicker/SaturationArea.mjs +2 -1
  38. package/es/ColorPicker/SaturationArea.mjs.map +1 -1
  39. package/es/ColorPicker/Swatch.mjs +24 -0
  40. package/es/ColorPicker/Swatch.mjs.map +1 -0
  41. package/es/ColorPicker/Swatches.mjs +66 -0
  42. package/es/ColorPicker/Swatches.mjs.map +1 -0
  43. package/es/ColorPicker/Trigger.mjs +112 -0
  44. package/es/ColorPicker/Trigger.mjs.map +1 -0
  45. package/es/ColorPicker/color.mjs +25 -1
  46. package/es/ColorPicker/color.mjs.map +1 -1
  47. package/es/ColorPicker/recent.mjs +25 -0
  48. package/es/ColorPicker/recent.mjs.map +1 -0
  49. package/es/ColorPicker/style.mjs +269 -70
  50. package/es/ColorPicker/style.mjs.map +1 -1
  51. package/es/ColorPicker/type.d.mts +15 -0
  52. package/es/ContextMenu/ContextMenuHost.mjs +2 -2
  53. package/es/ContextMenu/ContextMenuHost.mjs.map +1 -1
  54. package/es/ContextMenu/ContextMenuTrigger.mjs +2 -2
  55. package/es/ContextMenu/ContextMenuTrigger.mjs.map +1 -1
  56. package/es/ContextMenu/renderItems.mjs +3 -3
  57. package/es/ContextMenu/renderItems.mjs.map +1 -1
  58. package/es/DatePicker/DatePicker.d.mts +9 -2
  59. package/es/DatePicker/DatePicker.mjs +15 -85
  60. package/es/DatePicker/DatePicker.mjs.map +1 -1
  61. package/es/DatePicker/DateRangePicker.d.mts +3 -2
  62. package/es/DatePicker/DateRangePicker.mjs +3 -125
  63. package/es/DatePicker/DateRangePicker.mjs.map +1 -1
  64. package/es/DatePicker/DayjsDatePicker.d.mts +12 -0
  65. package/es/DatePicker/DayjsDatePicker.mjs +19 -0
  66. package/es/DatePicker/DayjsDatePicker.mjs.map +1 -0
  67. package/es/DatePicker/DayjsDateRangePicker.d.mts +7 -0
  68. package/es/DatePicker/DayjsDateRangePicker.mjs +8 -0
  69. package/es/DatePicker/DayjsDateRangePicker.mjs.map +1 -0
  70. package/es/DatePicker/PurePanel.mjs +65 -0
  71. package/es/DatePicker/PurePanel.mjs.map +1 -0
  72. package/es/DatePicker/RangePicker.mjs +121 -0
  73. package/es/DatePicker/RangePicker.mjs.map +1 -0
  74. package/es/DatePicker/SinglePicker.mjs +134 -0
  75. package/es/DatePicker/SinglePicker.mjs.map +1 -0
  76. package/es/DatePicker/core/PickerInput/Popup/Footer.mjs +57 -0
  77. package/es/DatePicker/core/PickerInput/Popup/Footer.mjs.map +1 -0
  78. package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs +57 -0
  79. package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs.map +1 -0
  80. package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs +29 -0
  81. package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs.map +1 -0
  82. package/es/DatePicker/core/PickerInput/Popup/index.mjs +133 -0
  83. package/es/DatePicker/core/PickerInput/Popup/index.mjs.map +1 -0
  84. package/es/DatePicker/core/PickerInput/RangePicker.d.mts +51 -0
  85. package/es/DatePicker/core/PickerInput/RangePicker.mjs +343 -0
  86. package/es/DatePicker/core/PickerInput/RangePicker.mjs.map +1 -0
  87. package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs +27 -0
  88. package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs.map +1 -0
  89. package/es/DatePicker/core/PickerInput/Selector/Icon.mjs +19 -0
  90. package/es/DatePicker/core/PickerInput/Selector/Icon.mjs.map +1 -0
  91. package/es/DatePicker/core/PickerInput/Selector/Input.mjs +237 -0
  92. package/es/DatePicker/core/PickerInput/Selector/Input.mjs.map +1 -0
  93. package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs +70 -0
  94. package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs.map +1 -0
  95. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.d.mts +8 -0
  96. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs +136 -0
  97. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs.map +1 -0
  98. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs +28 -0
  99. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs.map +1 -0
  100. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs +69 -0
  101. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs.map +1 -0
  102. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs +111 -0
  103. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs.map +1 -0
  104. package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs +18 -0
  105. package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs.map +1 -0
  106. package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs +108 -0
  107. package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs.map +1 -0
  108. package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs +11 -0
  109. package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs.map +1 -0
  110. package/es/DatePicker/core/PickerInput/Selector/util.mjs +20 -0
  111. package/es/DatePicker/core/PickerInput/Selector/util.mjs.map +1 -0
  112. package/es/DatePicker/core/PickerInput/SinglePicker.d.mts +55 -0
  113. package/es/DatePicker/core/PickerInput/SinglePicker.mjs +318 -0
  114. package/es/DatePicker/core/PickerInput/SinglePicker.mjs.map +1 -0
  115. package/es/DatePicker/core/PickerInput/context.mjs +7 -0
  116. package/es/DatePicker/core/PickerInput/context.mjs.map +1 -0
  117. package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs +30 -0
  118. package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs.map +1 -0
  119. package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs +37 -0
  120. package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs.map +1 -0
  121. package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs +18 -0
  122. package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs.map +1 -0
  123. package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs +20 -0
  124. package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs.map +1 -0
  125. package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs +31 -0
  126. package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs.map +1 -0
  127. package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs +98 -0
  128. package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs.map +1 -0
  129. package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs +41 -0
  130. package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs.map +1 -0
  131. package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs +34 -0
  132. package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs.map +1 -0
  133. package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs +35 -0
  134. package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs.map +1 -0
  135. package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs +9 -0
  136. package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs.map +1 -0
  137. package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs +36 -0
  138. package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs.map +1 -0
  139. package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs +27 -0
  140. package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs.map +1 -0
  141. package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs +18 -0
  142. package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs.map +1 -0
  143. package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs +19 -0
  144. package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs.map +1 -0
  145. package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs +20 -0
  146. package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs.map +1 -0
  147. package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs +24 -0
  148. package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs.map +1 -0
  149. package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs +107 -0
  150. package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs.map +1 -0
  151. package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs +144 -0
  152. package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs.map +1 -0
  153. package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs +219 -0
  154. package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs.map +1 -0
  155. package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs +11 -0
  156. package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs.map +1 -0
  157. package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs +131 -0
  158. package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs.map +1 -0
  159. package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs +35 -0
  160. package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs.map +1 -0
  161. package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs +84 -0
  162. package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs.map +1 -0
  163. package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs +73 -0
  164. package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs.map +1 -0
  165. package/es/DatePicker/core/PickerPanel/PanelBody.mjs +95 -0
  166. package/es/DatePicker/core/PickerPanel/PanelBody.mjs.map +1 -0
  167. package/es/DatePicker/core/PickerPanel/PanelHeader.mjs +130 -0
  168. package/es/DatePicker/core/PickerPanel/PanelHeader.mjs.map +1 -0
  169. package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs +64 -0
  170. package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs.map +1 -0
  171. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs +108 -0
  172. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs.map +1 -0
  173. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs +44 -0
  174. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs.map +1 -0
  175. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs +157 -0
  176. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs.map +1 -0
  177. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs +100 -0
  178. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs.map +1 -0
  179. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs +71 -0
  180. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs.map +1 -0
  181. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs +62 -0
  182. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs.map +1 -0
  183. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs +200 -0
  184. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs.map +1 -0
  185. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs +25 -0
  186. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs.map +1 -0
  187. package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs +31 -0
  188. package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs.map +1 -0
  189. package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs +34 -0
  190. package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs.map +1 -0
  191. package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs +92 -0
  192. package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs.map +1 -0
  193. package/es/DatePicker/core/PickerPanel/context.mjs +48 -0
  194. package/es/DatePicker/core/PickerPanel/context.mjs.map +1 -0
  195. package/es/DatePicker/core/PickerPanel/index.d.mts +1 -0
  196. package/es/DatePicker/core/PickerPanel/index.mjs +175 -0
  197. package/es/DatePicker/core/PickerPanel/index.mjs.map +1 -0
  198. package/es/DatePicker/core/PickerPopup.mjs +118 -0
  199. package/es/DatePicker/core/PickerPopup.mjs.map +1 -0
  200. package/es/DatePicker/core/generate/dayjs.mjs +109 -0
  201. package/es/DatePicker/core/generate/dayjs.mjs.map +1 -0
  202. package/es/DatePicker/core/generate/index.d.mts +40 -0
  203. package/es/DatePicker/core/hooks/react.mjs +58 -0
  204. package/es/DatePicker/core/hooks/react.mjs.map +1 -0
  205. package/es/DatePicker/core/hooks/useLocale.mjs +51 -0
  206. package/es/DatePicker/core/hooks/useLocale.mjs.map +1 -0
  207. package/es/DatePicker/core/hooks/useSemantic.mjs +20 -0
  208. package/es/DatePicker/core/hooks/useSemantic.mjs.map +1 -0
  209. package/es/DatePicker/core/hooks/useSyncState.mjs +25 -0
  210. package/es/DatePicker/core/hooks/useSyncState.mjs.map +1 -0
  211. package/es/DatePicker/core/hooks/useTimeConfig.mjs +173 -0
  212. package/es/DatePicker/core/hooks/useTimeConfig.mjs.map +1 -0
  213. package/es/DatePicker/core/hooks/useTimeInfo.mjs +110 -0
  214. package/es/DatePicker/core/hooks/useTimeInfo.mjs.map +1 -0
  215. package/es/DatePicker/core/hooks/useToggleDates.mjs +21 -0
  216. package/es/DatePicker/core/hooks/useToggleDates.mjs.map +1 -0
  217. package/es/DatePicker/core/index.d.mts +5 -0
  218. package/es/DatePicker/core/index.mjs +9 -0
  219. package/es/DatePicker/core/index.mjs.map +1 -0
  220. package/es/DatePicker/core/interface.d.mts +325 -0
  221. package/es/DatePicker/core/locale/common.mjs +11 -0
  222. package/es/DatePicker/core/locale/common.mjs.map +1 -0
  223. package/es/DatePicker/core/locale/en_US.mjs +39 -0
  224. package/es/DatePicker/core/locale/en_US.mjs.map +1 -0
  225. package/es/DatePicker/core/utils/common.mjs +73 -0
  226. package/es/DatePicker/core/utils/common.mjs.map +1 -0
  227. package/es/DatePicker/core/utils/dateUtil.mjs +106 -0
  228. package/es/DatePicker/core/utils/dateUtil.mjs.map +1 -0
  229. package/es/DatePicker/core/utils/miscUtil.mjs +46 -0
  230. package/es/DatePicker/core/utils/miscUtil.mjs.map +1 -0
  231. package/es/DatePicker/core/utils/uiUtil.mjs +9 -0
  232. package/es/DatePicker/core/utils/uiUtil.mjs.map +1 -0
  233. package/es/DatePicker/dateGenerateConfig.mjs +52 -0
  234. package/es/DatePicker/dateGenerateConfig.mjs.map +1 -0
  235. package/es/DatePicker/generateConfig.mjs +12 -0
  236. package/es/DatePicker/generateConfig.mjs.map +1 -0
  237. package/es/DatePicker/generatePicker.d.mts +12 -0
  238. package/es/DatePicker/generatePicker.mjs +22 -0
  239. package/es/DatePicker/generatePicker.mjs.map +1 -0
  240. package/es/DatePicker/index.d.mts +8 -3
  241. package/es/DatePicker/index.mjs +5 -1
  242. package/es/DatePicker/legacyDate.mjs +58 -0
  243. package/es/DatePicker/legacyDate.mjs.map +1 -0
  244. package/es/DatePicker/locale.d.mts +15 -0
  245. package/es/DatePicker/locale.mjs +143 -0
  246. package/es/DatePicker/locale.mjs.map +1 -0
  247. package/es/DatePicker/semantic.mjs +29 -0
  248. package/es/DatePicker/semantic.mjs.map +1 -0
  249. package/es/DatePicker/style.mjs +3 -155
  250. package/es/DatePicker/style.mjs.map +1 -1
  251. package/es/DatePicker/type.d.mts +294 -27
  252. package/es/DatePicker/usePanelKeyboard.mjs +230 -0
  253. package/es/DatePicker/usePanelKeyboard.mjs.map +1 -0
  254. package/es/DatePicker/usePickerShared.mjs +106 -0
  255. package/es/DatePicker/usePickerShared.mjs.map +1 -0
  256. package/es/DatePicker/usePresetActive.mjs +49 -0
  257. package/es/DatePicker/usePresetActive.mjs.map +1 -0
  258. package/es/DraggablePanel/atoms.mjs +5 -5
  259. package/es/DraggablePanel/atoms.mjs.map +1 -1
  260. package/es/DraggableSideNav/DraggableSideNav.mjs +3 -3
  261. package/es/DraggableSideNav/DraggableSideNav.mjs.map +1 -1
  262. package/es/Drawer/Drawer.mjs +2 -2
  263. package/es/Drawer/Drawer.mjs.map +1 -1
  264. package/es/Drawer/atoms.mjs +6 -6
  265. package/es/Drawer/atoms.mjs.map +1 -1
  266. package/es/DropdownMenu/atoms.mjs +22 -22
  267. package/es/DropdownMenu/atoms.mjs.map +1 -1
  268. package/es/DropdownMenu/sharedStyle.mjs +2 -2
  269. package/es/DropdownMenu/sharedStyle.mjs.map +1 -1
  270. package/es/EditorSlashMenu/atoms.mjs +12 -12
  271. package/es/EditorSlashMenu/atoms.mjs.map +1 -1
  272. package/es/EmojiPicker/EmojiPicker.mjs +7 -7
  273. package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
  274. package/es/EmojiPicker/loadEmojiData.mjs +6 -0
  275. package/es/EmojiPicker/loadEmojiData.mjs.map +1 -0
  276. package/es/FloatingPanel/FloatingPanel.mjs +2 -2
  277. package/es/FloatingPanel/FloatingPanel.mjs.map +1 -1
  278. package/es/FormKit/List.mjs +2 -2
  279. package/es/FormKit/List.mjs.map +1 -1
  280. package/es/Highlighter/FullFeatured.mjs +2 -2
  281. package/es/Highlighter/FullFeatured.mjs.map +1 -1
  282. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs +2 -2
  283. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs.map +1 -1
  284. package/es/Highlighter/SyntaxHighlighter/index.mjs +4 -4
  285. package/es/Highlighter/SyntaxHighlighter/index.mjs.map +1 -1
  286. package/es/Highlighter/style.mjs +2 -2
  287. package/es/Highlighter/style.mjs.map +1 -1
  288. package/es/HtmlPreview/HtmlPreview.mjs +2 -2
  289. package/es/HtmlPreview/HtmlPreview.mjs.map +1 -1
  290. package/es/Icon/Icon.mjs +2 -2
  291. package/es/Icon/Icon.mjs.map +1 -1
  292. package/es/List/ListRow.mjs +3 -3
  293. package/es/List/ListRow.mjs.map +1 -1
  294. package/es/Markdown/Markdown.mjs +2 -2
  295. package/es/Markdown/Markdown.mjs.map +1 -1
  296. package/es/Markdown/Typography.mjs +2 -2
  297. package/es/Markdown/Typography.mjs.map +1 -1
  298. package/es/Mermaid/FullFeatured.mjs +2 -2
  299. package/es/Mermaid/FullFeatured.mjs.map +1 -1
  300. package/es/Mermaid/SyntaxMermaid/index.mjs +4 -4
  301. package/es/Mermaid/SyntaxMermaid/index.mjs.map +1 -1
  302. package/es/Modal/atoms.mjs +6 -6
  303. package/es/Modal/atoms.mjs.map +1 -1
  304. package/es/Pagination/Pagination.mjs +181 -41
  305. package/es/Pagination/Pagination.mjs.map +1 -1
  306. package/es/Pagination/helpers.mjs +3 -3
  307. package/es/Pagination/helpers.mjs.map +1 -1
  308. package/es/Pagination/index.d.mts +2 -2
  309. package/es/Pagination/marker.stylex.mjs +9 -0
  310. package/es/Pagination/marker.stylex.mjs.map +1 -0
  311. package/es/Pagination/style.mjs +74 -4
  312. package/es/Pagination/style.mjs.map +1 -1
  313. package/es/Pagination/type.d.mts +41 -3
  314. package/es/Popover/PopoverInGroup.mjs +2 -2
  315. package/es/Popover/PopoverInGroup.mjs.map +1 -1
  316. package/es/Popover/atoms.mjs +6 -6
  317. package/es/Popover/atoms.mjs.map +1 -1
  318. package/es/ProTable/ProTable.d.mts +11 -0
  319. package/es/ProTable/ProTable.mjs +208 -0
  320. package/es/ProTable/ProTable.mjs.map +1 -0
  321. package/es/ProTable/hooks/useColumnRequest.mjs +55 -0
  322. package/es/ProTable/hooks/useColumnRequest.mjs.map +1 -0
  323. package/es/ProTable/hooks/useColumnsState.mjs +37 -0
  324. package/es/ProTable/hooks/useColumnsState.mjs.map +1 -0
  325. package/es/ProTable/hooks/useDelayedFlag.mjs +18 -0
  326. package/es/ProTable/hooks/useDelayedFlag.mjs.map +1 -0
  327. package/es/ProTable/hooks/useDensity.mjs +15 -0
  328. package/es/ProTable/hooks/useDensity.mjs.map +1 -0
  329. package/es/ProTable/hooks/useFetchData.mjs +97 -0
  330. package/es/ProTable/hooks/useFetchData.mjs.map +1 -0
  331. package/es/ProTable/hooks/useFullscreen.mjs +22 -0
  332. package/es/ProTable/hooks/useFullscreen.mjs.map +1 -0
  333. package/es/ProTable/hooks/usePageInfo.mjs +35 -0
  334. package/es/ProTable/hooks/usePageInfo.mjs.map +1 -0
  335. package/es/ProTable/hooks/useProColumns.mjs +123 -0
  336. package/es/ProTable/hooks/useProColumns.mjs.map +1 -0
  337. package/es/ProTable/hooks/useProLoading.mjs +19 -0
  338. package/es/ProTable/hooks/useProLoading.mjs.map +1 -0
  339. package/es/ProTable/hooks/useProLocale.mjs +22 -0
  340. package/es/ProTable/hooks/useProLocale.mjs.map +1 -0
  341. package/es/ProTable/hooks/useProRequest.mjs +137 -0
  342. package/es/ProTable/hooks/useProRequest.mjs.map +1 -0
  343. package/es/ProTable/hooks/useRowCache.mjs +11 -0
  344. package/es/ProTable/hooks/useRowCache.mjs.map +1 -0
  345. package/es/ProTable/hooks/useSearchForm.mjs +141 -0
  346. package/es/ProTable/hooks/useSearchForm.mjs.map +1 -0
  347. package/es/ProTable/hooks/useTableBindings.mjs +39 -0
  348. package/es/ProTable/hooks/useTableBindings.mjs.map +1 -0
  349. package/es/ProTable/hooks/useTableSelection.mjs +14 -0
  350. package/es/ProTable/hooks/useTableSelection.mjs.map +1 -0
  351. package/es/ProTable/index.d.mts +4 -0
  352. package/es/ProTable/index.d.ts +1 -0
  353. package/es/ProTable/index.js +1 -0
  354. package/es/ProTable/index.mjs +3 -0
  355. package/es/ProTable/locale.d.mts +15 -0
  356. package/es/ProTable/locale.mjs +66 -0
  357. package/es/ProTable/locale.mjs.map +1 -0
  358. package/es/ProTable/parts/ColumnSetting.mjs +155 -0
  359. package/es/ProTable/parts/ColumnSetting.mjs.map +1 -0
  360. package/es/ProTable/parts/FieldControl.mjs +117 -0
  361. package/es/ProTable/parts/FieldControl.mjs.map +1 -0
  362. package/es/ProTable/parts/KeywordInput.mjs +19 -0
  363. package/es/ProTable/parts/KeywordInput.mjs.map +1 -0
  364. package/es/ProTable/parts/LightFilter.mjs +70 -0
  365. package/es/ProTable/parts/LightFilter.mjs.map +1 -0
  366. package/es/ProTable/parts/OptionPopover.mjs +17 -0
  367. package/es/ProTable/parts/OptionPopover.mjs.map +1 -0
  368. package/es/ProTable/parts/SearchForm.mjs +180 -0
  369. package/es/ProTable/parts/SearchForm.mjs.map +1 -0
  370. package/es/ProTable/parts/SearchSection.mjs +33 -0
  371. package/es/ProTable/parts/SearchSection.mjs.map +1 -0
  372. package/es/ProTable/parts/TableAlert.mjs +38 -0
  373. package/es/ProTable/parts/TableAlert.mjs.map +1 -0
  374. package/es/ProTable/parts/Toolbar.mjs +50 -0
  375. package/es/ProTable/parts/Toolbar.mjs.map +1 -0
  376. package/es/ProTable/parts/ToolbarOptions.mjs +103 -0
  377. package/es/ProTable/parts/ToolbarOptions.mjs.map +1 -0
  378. package/es/ProTable/parts/renderValue.mjs +118 -0
  379. package/es/ProTable/parts/renderValue.mjs.map +1 -0
  380. package/es/ProTable/style.mjs +278 -0
  381. package/es/ProTable/style.mjs.map +1 -0
  382. package/es/ProTable/type.d.mts +397 -0
  383. package/es/ProTable/utils.mjs +152 -0
  384. package/es/ProTable/utils.mjs.map +1 -0
  385. package/es/Radio/Radio.mjs +3 -3
  386. package/es/Radio/Radio.mjs.map +1 -1
  387. package/es/ScrollArea/atoms.mjs +4 -4
  388. package/es/ScrollArea/atoms.mjs.map +1 -1
  389. package/es/Segmented/Segmented.mjs +3 -3
  390. package/es/Segmented/Segmented.mjs.map +1 -1
  391. package/es/Segmented/atoms.mjs +2 -2
  392. package/es/Segmented/atoms.mjs.map +1 -1
  393. package/es/Select/Select.mjs +22 -13
  394. package/es/Select/Select.mjs.map +1 -1
  395. package/es/Select/atoms.mjs +4 -4
  396. package/es/Select/atoms.mjs.map +1 -1
  397. package/es/Select/helpers.mjs +8 -1
  398. package/es/Select/helpers.mjs.map +1 -1
  399. package/es/Select/hooks.mjs +8 -4
  400. package/es/Select/hooks.mjs.map +1 -1
  401. package/es/Select/renderOptions.mjs +2 -2
  402. package/es/Select/renderOptions.mjs.map +1 -1
  403. package/es/Select/type.d.mts +7 -0
  404. package/es/Switch/Switch.mjs +2 -2
  405. package/es/Switch/Switch.mjs.map +1 -1
  406. package/es/Switch/atoms.mjs +2 -2
  407. package/es/Switch/atoms.mjs.map +1 -1
  408. package/es/Table/Column.d.mts +8 -0
  409. package/es/Table/Column.mjs +6 -0
  410. package/es/Table/Column.mjs.map +1 -0
  411. package/es/Table/ColumnGroup.d.mts +11 -0
  412. package/es/Table/ColumnGroup.mjs +6 -0
  413. package/es/Table/ColumnGroup.mjs.map +1 -0
  414. package/es/Table/Table.d.mts +16 -2
  415. package/es/Table/Table.mjs +149 -118
  416. package/es/Table/Table.mjs.map +1 -1
  417. package/es/Table/atoms/cells.d.mts +42 -0
  418. package/es/Table/atoms/cells.mjs +72 -0
  419. package/es/Table/atoms/cells.mjs.map +1 -0
  420. package/es/Table/atoms/index.d.mts +3 -0
  421. package/es/Table/atoms/layout.d.mts +44 -0
  422. package/es/Table/atoms/layout.mjs +62 -0
  423. package/es/Table/atoms/layout.mjs.map +1 -0
  424. package/es/Table/constants.mjs +16 -0
  425. package/es/Table/constants.mjs.map +1 -0
  426. package/es/Table/engine/fixed.d.mts +1 -0
  427. package/es/Table/engine/fixed.mjs +53 -0
  428. package/es/Table/engine/fixed.mjs.map +1 -0
  429. package/es/Table/engine/types.d.mts +1 -0
  430. package/es/Table/engine/useTableEngine.mjs +180 -0
  431. package/es/Table/engine/useTableEngine.mjs.map +1 -0
  432. package/es/Table/index.d.mts +7 -2
  433. package/es/Table/index.mjs +4 -1
  434. package/es/Table/internal.d.mts +3 -0
  435. package/es/Table/pipeline/columnUtils.d.mts +5 -0
  436. package/es/Table/pipeline/columnUtils.mjs +58 -0
  437. package/es/Table/pipeline/columnUtils.mjs.map +1 -0
  438. package/es/Table/pipeline/convertChildrenToColumns.mjs +24 -0
  439. package/es/Table/pipeline/convertChildrenToColumns.mjs.map +1 -0
  440. package/es/Table/pipeline/normalizeColumns.mjs +140 -0
  441. package/es/Table/pipeline/normalizeColumns.mjs.map +1 -0
  442. package/es/Table/pipeline/selectionUtils.d.mts +9 -0
  443. package/es/Table/pipeline/selectionUtils.mjs +115 -0
  444. package/es/Table/pipeline/selectionUtils.mjs.map +1 -0
  445. package/es/Table/pipeline/useBreakpoint.mjs +36 -0
  446. package/es/Table/pipeline/useBreakpoint.mjs.map +1 -0
  447. package/es/Table/pipeline/useExpandable.mjs +45 -0
  448. package/es/Table/pipeline/useExpandable.mjs.map +1 -0
  449. package/es/Table/pipeline/useFilter.mjs +52 -0
  450. package/es/Table/pipeline/useFilter.mjs.map +1 -0
  451. package/es/Table/pipeline/useSelection.mjs +302 -0
  452. package/es/Table/pipeline/useSelection.mjs.map +1 -0
  453. package/es/Table/pipeline/useSorter.mjs +146 -0
  454. package/es/Table/pipeline/useSorter.mjs.map +1 -0
  455. package/es/Table/pipeline/useTableLocale.mjs +30 -0
  456. package/es/Table/pipeline/useTableLocale.mjs.map +1 -0
  457. package/es/Table/pipeline/useTableState.mjs +118 -0
  458. package/es/Table/pipeline/useTableState.mjs.map +1 -0
  459. package/es/Table/pipeline/useVirtualLayout.mjs +80 -0
  460. package/es/Table/pipeline/useVirtualLayout.mjs.map +1 -0
  461. package/es/Table/render/Body.mjs +150 -0
  462. package/es/Table/render/Body.mjs.map +1 -0
  463. package/es/Table/render/BodyCell.mjs +87 -0
  464. package/es/Table/render/BodyCell.mjs.map +1 -0
  465. package/es/Table/render/CellShell.mjs +84 -0
  466. package/es/Table/render/CellShell.mjs.map +1 -0
  467. package/es/Table/render/ExpandIcon.mjs +28 -0
  468. package/es/Table/render/ExpandIcon.mjs.map +1 -0
  469. package/es/Table/render/FilterDropdown.mjs +139 -0
  470. package/es/Table/render/FilterDropdown.mjs.map +1 -0
  471. package/es/Table/render/FilterPanel.mjs +152 -0
  472. package/es/Table/render/FilterPanel.mjs.map +1 -0
  473. package/es/Table/render/FixedFrost.mjs +113 -0
  474. package/es/Table/render/FixedFrost.mjs.map +1 -0
  475. package/es/Table/render/FixedHolder.mjs +51 -0
  476. package/es/Table/render/FixedHolder.mjs.map +1 -0
  477. package/es/Table/render/Header.mjs +184 -0
  478. package/es/Table/render/Header.mjs.map +1 -0
  479. package/es/Table/render/LoadingSkeleton.mjs +78 -0
  480. package/es/Table/render/LoadingSkeleton.mjs.map +1 -0
  481. package/es/Table/render/PaginationBar.mjs +71 -0
  482. package/es/Table/render/PaginationBar.mjs.map +1 -0
  483. package/es/Table/render/SelectionCells.mjs +111 -0
  484. package/es/Table/render/SelectionCells.mjs.map +1 -0
  485. package/es/Table/render/StickyScrollBar.mjs +99 -0
  486. package/es/Table/render/StickyScrollBar.mjs.map +1 -0
  487. package/es/Table/render/Summary.d.mts +16 -0
  488. package/es/Table/render/Summary.mjs +58 -0
  489. package/es/Table/render/Summary.mjs.map +1 -0
  490. package/es/Table/render/TableView.mjs +215 -0
  491. package/es/Table/render/TableView.mjs.map +1 -0
  492. package/es/Table/render/VirtualBody.mjs +101 -0
  493. package/es/Table/render/VirtualBody.mjs.map +1 -0
  494. package/es/Table/render/context.mjs +15 -0
  495. package/es/Table/render/context.mjs.map +1 -0
  496. package/es/Table/render/filterUtils.mjs +22 -0
  497. package/es/Table/render/filterUtils.mjs.map +1 -0
  498. package/es/Table/render/tableHelpers.mjs +27 -0
  499. package/es/Table/render/tableHelpers.mjs.map +1 -0
  500. package/es/Table/render/useColGroups.mjs +23 -0
  501. package/es/Table/render/useColGroups.mjs.map +1 -0
  502. package/es/Table/render/useScrollSync.mjs +104 -0
  503. package/es/Table/render/useScrollSync.mjs.map +1 -0
  504. package/es/Table/render/useViewContexts.mjs +134 -0
  505. package/es/Table/render/useViewContexts.mjs.map +1 -0
  506. package/es/Table/semantic.mjs +45 -0
  507. package/es/Table/semantic.mjs.map +1 -0
  508. package/es/Table/store/createTableStore.d.mts +1 -0
  509. package/es/Table/store/createTableStore.mjs +40 -0
  510. package/es/Table/store/createTableStore.mjs.map +1 -0
  511. package/es/Table/store/hooks.mjs +24 -0
  512. package/es/Table/store/hooks.mjs.map +1 -0
  513. package/es/Table/style.mjs +175 -90
  514. package/es/Table/style.mjs.map +1 -1
  515. package/es/Table/type.d.mts +467 -37
  516. package/es/Table/useTableController.mjs +293 -0
  517. package/es/Table/useTableController.mjs.map +1 -0
  518. package/es/Tabs/Tabs.mjs +2 -2
  519. package/es/Tabs/Tabs.mjs.map +1 -1
  520. package/es/Tabs/atoms.mjs +2 -2
  521. package/es/Tabs/atoms.mjs.map +1 -1
  522. package/es/Tag/Tag.mjs +2 -2
  523. package/es/Tag/Tag.mjs.map +1 -1
  524. package/es/Text/Text.mjs +2 -2
  525. package/es/Text/Text.mjs.map +1 -1
  526. package/es/Text/style.d.mts +3 -3
  527. package/es/Text/style.mjs +3 -3
  528. package/es/Text/style.mjs.map +1 -1
  529. package/es/ToggleGroup/ToggleGroup.mjs +3 -3
  530. package/es/ToggleGroup/ToggleGroup.mjs.map +1 -1
  531. package/es/ToggleGroup/atoms.mjs +2 -2
  532. package/es/ToggleGroup/atoms.mjs.map +1 -1
  533. package/es/Tooltip/TooltipGroup.mjs +3 -3
  534. package/es/Tooltip/TooltipGroup.mjs.map +1 -1
  535. package/es/Tooltip/TooltipStandalone.mjs +3 -3
  536. package/es/Tooltip/TooltipStandalone.mjs.map +1 -1
  537. package/es/Tree/Tree.mjs +2 -2
  538. package/es/Tree/Tree.mjs.map +1 -1
  539. package/es/Tree/TreeNode.mjs +2 -2
  540. package/es/Tree/TreeNode.mjs.map +1 -1
  541. package/es/Video/Video.mjs +2 -2
  542. package/es/Video/Video.mjs.map +1 -1
  543. package/es/awesome/Features/FeatureItem.mjs +2 -2
  544. package/es/awesome/Features/FeatureItem.mjs.map +1 -1
  545. package/es/awesome/Hero/Hero.mjs +3 -3
  546. package/es/awesome/Hero/Hero.mjs.map +1 -1
  547. package/es/awesome/InstallBanner/InstallBanner.mjs +2 -2
  548. package/es/awesome/InstallBanner/InstallBanner.mjs.map +1 -1
  549. package/es/awesome/LandingHero/LandingHero.mjs +3 -3
  550. package/es/awesome/LandingHero/LandingHero.mjs.map +1 -1
  551. package/es/awesome/LogoMarquee/LogoMarquee.mjs +2 -2
  552. package/es/awesome/LogoMarquee/LogoMarquee.mjs.map +1 -1
  553. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs +4 -4
  554. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs.map +1 -1
  555. package/es/awesome/landingActions.mjs +2 -2
  556. package/es/awesome/landingActions.mjs.map +1 -1
  557. package/es/chat/ChatItem/ChatItem.mjs +2 -2
  558. package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
  559. package/es/chat/EditableMessage/EditableMessage.mjs +3 -3
  560. package/es/chat/EditableMessage/EditableMessage.mjs.map +1 -1
  561. package/es/chat/EditableMessageList/EditableMessageList.mjs +1 -1
  562. package/es/chat/MessageInput/MessageInput.mjs +3 -3
  563. package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
  564. package/es/dashboard/AuthLayout/AuthLayout.mjs +8 -4
  565. package/es/dashboard/AuthLayout/AuthLayout.mjs.map +1 -1
  566. package/es/dashboard/AuthLayout/style.mjs +14 -3
  567. package/es/dashboard/AuthLayout/style.mjs.map +1 -1
  568. package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs +2 -2
  569. package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs.map +1 -1
  570. package/es/dashboard/AuthTools/AuthThemeSwitch.mjs +2 -2
  571. package/es/dashboard/AuthTools/AuthThemeSwitch.mjs.map +1 -1
  572. package/es/dashboard/ConsoleNav/ConsoleNav.mjs +3 -3
  573. package/es/dashboard/ConsoleNav/ConsoleNav.mjs.map +1 -1
  574. package/es/dashboard/ConsoleNav/style.mjs +2 -2
  575. package/es/dashboard/ConsoleNav/style.mjs.map +1 -1
  576. package/es/dashboard/ConsoleShell/style.mjs +1 -1
  577. package/es/dashboard/ConsoleShell/style.mjs.map +1 -1
  578. package/es/dashboard/FilterSidebar/FilterSidebar.mjs +1 -1
  579. package/es/dashboard/FilterSidebar/style.mjs +2 -2
  580. package/es/dashboard/FilterSidebar/style.mjs.map +1 -1
  581. package/es/dashboard/FilterStrip/style.mjs +1 -1
  582. package/es/dashboard/FilterStrip/style.mjs.map +1 -1
  583. package/es/dashboard/MetricStrip/MetricCell.mjs +25 -14
  584. package/es/dashboard/MetricStrip/MetricCell.mjs.map +1 -1
  585. package/es/dashboard/MetricStrip/style.mjs +14 -1
  586. package/es/dashboard/MetricStrip/style.mjs.map +1 -1
  587. package/es/dashboard/MetricStrip/type.d.mts +2 -0
  588. package/es/dashboard/PageSkeleton/style.mjs +2 -1
  589. package/es/dashboard/PageSkeleton/style.mjs.map +1 -1
  590. package/es/dashboard/StatCard/StatCard.d.mts +1 -1
  591. package/es/dashboard/StatCard/StatCard.mjs +2 -1
  592. package/es/dashboard/StatCard/StatCard.mjs.map +1 -1
  593. package/es/dashboard/StatCard/type.d.mts +2 -0
  594. package/es/dashboard/Surface/Surface.mjs +3 -4
  595. package/es/dashboard/Surface/Surface.mjs.map +1 -1
  596. package/es/dashboard/Surface/link.mjs +1 -1
  597. package/es/dashboard/Surface/link.mjs.map +1 -1
  598. package/es/dashboard/Surface/style.mjs +15 -14
  599. package/es/dashboard/Surface/style.mjs.map +1 -1
  600. package/es/dashboard/index.mjs +2 -2
  601. package/es/eslint/noBaseUiSubpath.mjs +2 -1
  602. package/es/eslint/noBaseUiSubpath.mjs.map +1 -1
  603. package/es/i18n/resources/en/colorPicker.d.mts +5 -0
  604. package/es/i18n/resources/en/colorPicker.mjs +5 -0
  605. package/es/i18n/resources/en/colorPicker.mjs.map +1 -1
  606. package/es/i18n/resources/en/datePicker.d.mts +54 -0
  607. package/es/i18n/resources/en/datePicker.mjs +55 -1
  608. package/es/i18n/resources/en/datePicker.mjs.map +1 -1
  609. package/es/i18n/resources/en/index.d.mts +4 -3
  610. package/es/i18n/resources/en/index.mjs +3 -1
  611. package/es/i18n/resources/en/index.mjs.map +1 -1
  612. package/es/i18n/resources/en/table.d.mts +23 -0
  613. package/es/i18n/resources/en/table.mjs +24 -0
  614. package/es/i18n/resources/en/table.mjs.map +1 -0
  615. package/es/i18n/resources/zhCn/colorPicker.d.mts +5 -0
  616. package/es/i18n/resources/zhCn/colorPicker.mjs +5 -0
  617. package/es/i18n/resources/zhCn/colorPicker.mjs.map +1 -1
  618. package/es/i18n/resources/zhCn/datePicker.d.mts +54 -0
  619. package/es/i18n/resources/zhCn/datePicker.mjs +55 -1
  620. package/es/i18n/resources/zhCn/datePicker.mjs.map +1 -1
  621. package/es/i18n/resources/zhCn/index.d.mts +4 -3
  622. package/es/i18n/resources/zhCn/index.mjs +4 -2
  623. package/es/i18n/resources/zhCn/index.mjs.map +1 -1
  624. package/es/i18n/resources/zhCn/table.d.mts +23 -0
  625. package/es/i18n/resources/zhCn/table.mjs +24 -0
  626. package/es/i18n/resources/zhCn/table.mjs.map +1 -0
  627. package/es/i18n/types.d.mts +3 -2
  628. package/es/index.d.mts +15 -6
  629. package/es/index.mjs +12 -6
  630. package/es/internal/overflow/OverflowList.mjs +71 -0
  631. package/es/internal/overflow/OverflowList.mjs.map +1 -0
  632. package/es/mdx/Callout/index.mjs +2 -2
  633. package/es/mdx/Callout/index.mjs.map +1 -1
  634. package/es/mdx/Cards/Card.mjs +2 -2
  635. package/es/mdx/Cards/Card.mjs.map +1 -1
  636. package/es/mdx/Cards/index.mjs +2 -2
  637. package/es/mdx/Cards/index.mjs.map +1 -1
  638. package/es/mdx/Mdx/index.mjs +2 -2
  639. package/es/mdx/Mdx/index.mjs.map +1 -1
  640. package/es/mdx/Steps/index.mjs +2 -2
  641. package/es/mdx/Steps/index.mjs.map +1 -1
  642. package/es/mdx/mdxComponents/Pre.mjs +5 -5
  643. package/es/mdx/mdxComponents/Pre.mjs.map +1 -1
  644. package/es/storybook/StoryBook/style.mjs +2 -0
  645. package/es/storybook/StoryBook/style.mjs.map +1 -1
  646. package/es/style.css +2966 -957
  647. package/es/styles/stylex/props.mjs +2 -2
  648. package/es/styles/stylex/props.mjs.map +1 -1
  649. package/es/styles/theme/themeCss.mjs +15 -0
  650. package/es/styles/theme/themeCss.mjs.map +1 -1
  651. package/es/theme.css +8 -0
  652. package/package.json +6 -1
  653. package/es/DatePicker/CalendarPanel.mjs +0 -189
  654. package/es/DatePicker/CalendarPanel.mjs.map +0 -1
  655. package/es/DatePicker/PickerShell.mjs +0 -43
  656. package/es/DatePicker/PickerShell.mjs.map +0 -1
  657. package/es/DatePicker/calendar.d.mts +0 -4
  658. package/es/DatePicker/calendar.mjs +0 -46
  659. package/es/DatePicker/calendar.mjs.map +0 -1
  660. package/es/Table/FilterMenu.mjs +0 -45
  661. package/es/Table/FilterMenu.mjs.map +0 -1
  662. package/es/Table/TableBody.mjs +0 -67
  663. package/es/Table/TableBody.mjs.map +0 -1
  664. package/es/Table/TableHead.mjs +0 -58
  665. package/es/Table/TableHead.mjs.map +0 -1
  666. package/es/Table/features.mjs +0 -12
  667. package/es/Table/features.mjs.map +0 -1
  668. package/es/Table/fixedOffsets.mjs +0 -29
  669. package/es/Table/fixedOffsets.mjs.map +0 -1
  670. package/es/Table/marker.stylex.mjs +0 -9
  671. package/es/Table/marker.stylex.mjs.map +0 -1
  672. package/es/Table/toColumnDefs.mjs +0 -26
  673. package/es/Table/toColumnDefs.mjs.map +0 -1
  674. package/es/Table/useTableState.mjs +0 -99
  675. package/es/Table/useTableState.mjs.map +0 -1
@@ -0,0 +1,145 @@
1
+ "use client";
2
+ import { focusRing } from "../styles/stylex/focusRing.mjs";
3
+ import Icon from "../Icon/Icon.mjs";
4
+ import { formatColor, parseColor } from "./color.mjs";
5
+ import Slider from "../Slider/Slider.mjs";
6
+ import { styles } from "./style.mjs";
7
+ import ColorInputs from "./ColorInputs.mjs";
8
+ import SaturationArea from "./SaturationArea.mjs";
9
+ import Swatches from "./Swatches.mjs";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+ import * as stylex from "@stylexjs/stylex";
12
+ import { Pipette } from "lucide-react";
13
+ //#region src/ColorPicker/ColorPanel.tsx
14
+ const hasEyeDropper = () => typeof window !== "undefined" && "EyeDropper" in window;
15
+ const ColorPanel = ({ alpha, format, hsva, labels, onApply, onCommit, onFormatChange, onUpdate, original, presets, recent }) => {
16
+ const hex = formatColor(hsva, alpha);
17
+ const opaque = formatColor(hsva, false);
18
+ const sliderClassNames = (track) => ({
19
+ indicator: stylex.props(styles.hidden).className,
20
+ thumb: stylex.props(styles.sliderThumb).className,
21
+ track: stylex.props(styles[track]).className
22
+ });
23
+ return /* @__PURE__ */ jsxs("div", {
24
+ ...stylex.props(styles.panel),
25
+ children: [
26
+ /* @__PURE__ */ jsx(SaturationArea, {
27
+ color: opaque,
28
+ hue: hsva.h,
29
+ label: labels.saturation,
30
+ saturation: hsva.s,
31
+ value: hsva.v,
32
+ onChange: (s, v) => onUpdate({
33
+ ...hsva,
34
+ s,
35
+ v
36
+ }),
37
+ onChangeComplete: (s, v) => onCommit({
38
+ ...hsva,
39
+ s,
40
+ v
41
+ })
42
+ }),
43
+ /* @__PURE__ */ jsxs("div", {
44
+ ...stylex.props(styles.controls),
45
+ children: [
46
+ hasEyeDropper() && /* @__PURE__ */ jsx("button", {
47
+ "aria-label": labels.eyeDropper,
48
+ type: "button",
49
+ ...stylex.props(focusRing.info, styles.eyeDropper),
50
+ onClick: async () => {
51
+ const result = await new window.EyeDropper().open().catch(() => null);
52
+ if (result) onApply({
53
+ ...parseColor(result.sRGBHex, hsva.h),
54
+ a: hsva.a
55
+ });
56
+ },
57
+ children: /* @__PURE__ */ jsx(Icon, {
58
+ icon: Pipette,
59
+ size: 14
60
+ })
61
+ }),
62
+ /* @__PURE__ */ jsxs("div", {
63
+ ...stylex.props(styles.sliders),
64
+ children: [/* @__PURE__ */ jsx(Slider, {
65
+ "aria-label": labels.hue,
66
+ classNames: sliderClassNames("hueTrack"),
67
+ max: 360,
68
+ min: 0,
69
+ value: hsva.h,
70
+ styles: { track: { "--lobe-color-picker-thumb": `hsl(${hsva.h} 100% 50%)` } },
71
+ onChange: (h) => onUpdate({
72
+ ...hsva,
73
+ h
74
+ }),
75
+ onChangeComplete: (h) => onCommit({
76
+ ...hsva,
77
+ h
78
+ })
79
+ }), alpha && /* @__PURE__ */ jsx(Slider, {
80
+ "aria-label": labels.alpha,
81
+ classNames: sliderClassNames("alphaTrack"),
82
+ max: 100,
83
+ min: 0,
84
+ value: Math.round(hsva.a * 100),
85
+ styles: { track: {
86
+ "--lobe-color-picker-alpha": opaque,
87
+ "--lobe-color-picker-thumb": hex
88
+ } },
89
+ onChange: (a) => onUpdate({
90
+ ...hsva,
91
+ a: a / 100
92
+ }),
93
+ onChangeComplete: (a) => onCommit({
94
+ ...hsva,
95
+ a: a / 100
96
+ })
97
+ })]
98
+ }),
99
+ /* @__PURE__ */ jsxs("div", {
100
+ ...stylex.props(styles.compare),
101
+ style: { height: alpha ? 30 : 28 },
102
+ children: [/* @__PURE__ */ jsx("button", {
103
+ "aria-label": labels.original,
104
+ title: labels.original,
105
+ type: "button",
106
+ ...stylex.props(focusRing.info, styles.compareHalf, styles.compareRestore),
107
+ style: { background: original },
108
+ onClick: () => onApply(parseColor(original, hsva.h))
109
+ }), /* @__PURE__ */ jsx("span", {
110
+ ...stylex.props(styles.compareHalf),
111
+ style: { background: hex }
112
+ })]
113
+ })
114
+ ]
115
+ }),
116
+ /* @__PURE__ */ jsx(ColorInputs, {
117
+ alpha,
118
+ alphaLabel: labels.alpha,
119
+ format,
120
+ formatLabel: labels.format,
121
+ hsva,
122
+ onCommit: onApply,
123
+ onFormatChange
124
+ }),
125
+ /* @__PURE__ */ jsx(Swatches, {
126
+ current: hex,
127
+ labels: {
128
+ presets: labels.presets,
129
+ recent: labels.recent,
130
+ swatches: labels.swatches
131
+ },
132
+ presets,
133
+ recent,
134
+ onPick: (color) => onApply({
135
+ ...parseColor(color, hsva.h),
136
+ a: parseColor(color).a
137
+ })
138
+ })
139
+ ]
140
+ });
141
+ };
142
+ //#endregion
143
+ export { ColorPanel as default };
144
+
145
+ //# sourceMappingURL=ColorPanel.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColorPanel.mjs","names":[],"sources":["../../src/ColorPicker/ColorPanel.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport { Pipette } from 'lucide-react';\nimport type { CSSProperties } from 'react';\n\nimport Icon from '@/Icon';\nimport { Slider } from '@/Slider';\nimport { focusRing } from '@/styles/stylex/focusRing';\n\nimport { type ColorFormat, formatColor, type Hsva, parseColor } from './color';\nimport ColorInputs from './ColorInputs';\nimport SaturationArea from './SaturationArea';\nimport { styles } from './style';\nimport Swatches from './Swatches';\n\nconst hasEyeDropper = () => typeof window !== 'undefined' && 'EyeDropper' in window;\n\ntype EyeDropperConstructor = new () => { open: () => Promise<{ sRGBHex: string }> };\n\nexport interface ColorPanelLabels {\n alpha: string;\n eyeDropper: string;\n format: string;\n hue: string;\n original: string;\n presets: string;\n recent: string;\n saturation: string;\n swatches: string;\n}\n\nexport interface ColorPanelProps {\n alpha: boolean;\n format: ColorFormat;\n hsva: Hsva;\n labels: ColorPanelLabels;\n onApply: (next: Hsva) => void;\n onCommit: (next: Hsva) => void;\n onFormatChange: (format: ColorFormat) => void;\n onUpdate: (next: Hsva) => void;\n original: string;\n presets?: string[];\n recent: boolean;\n}\n\nconst ColorPanel = ({\n alpha,\n format,\n hsva,\n labels,\n onApply,\n onCommit,\n onFormatChange,\n onUpdate,\n original,\n presets,\n recent,\n}: ColorPanelProps) => {\n const hex = formatColor(hsva, alpha);\n const opaque = formatColor(hsva, false);\n const sliderClassNames = (track: keyof typeof styles) => ({\n indicator: stylex.props(styles.hidden).className,\n thumb: stylex.props(styles.sliderThumb).className,\n track: stylex.props(styles[track]).className,\n });\n\n return (\n <div {...stylex.props(styles.panel)}>\n <SaturationArea\n color={opaque}\n hue={hsva.h}\n label={labels.saturation}\n saturation={hsva.s}\n value={hsva.v}\n onChange={(s, v) => onUpdate({ ...hsva, s, v })}\n onChangeComplete={(s, v) => onCommit({ ...hsva, s, v })}\n />\n <div {...stylex.props(styles.controls)}>\n {hasEyeDropper() && (\n <button\n aria-label={labels.eyeDropper}\n type=\"button\"\n {...stylex.props(focusRing.info, styles.eyeDropper)}\n onClick={async () => {\n const dropper = new (\n window as unknown as { EyeDropper: EyeDropperConstructor }\n ).EyeDropper();\n const result = await dropper.open().catch(() => null);\n if (result) onApply({ ...parseColor(result.sRGBHex, hsva.h), a: hsva.a });\n }}\n >\n <Icon icon={Pipette} size={14} />\n </button>\n )}\n <div {...stylex.props(styles.sliders)}>\n <Slider\n aria-label={labels.hue}\n classNames={sliderClassNames('hueTrack')}\n max={360}\n min={0}\n value={hsva.h}\n styles={{\n track: { '--lobe-color-picker-thumb': `hsl(${hsva.h} 100% 50%)` } as CSSProperties,\n }}\n onChange={(h) => onUpdate({ ...hsva, h })}\n onChangeComplete={(h) => onCommit({ ...hsva, h })}\n />\n {alpha && (\n <Slider\n aria-label={labels.alpha}\n classNames={sliderClassNames('alphaTrack')}\n max={100}\n min={0}\n value={Math.round(hsva.a * 100)}\n styles={{\n track: {\n '--lobe-color-picker-alpha': opaque,\n '--lobe-color-picker-thumb': hex,\n } as CSSProperties,\n }}\n onChange={(a) => onUpdate({ ...hsva, a: a / 100 })}\n onChangeComplete={(a) => onCommit({ ...hsva, a: a / 100 })}\n />\n )}\n </div>\n <div {...stylex.props(styles.compare)} style={{ height: alpha ? 30 : 28 }}>\n <button\n aria-label={labels.original}\n title={labels.original}\n type=\"button\"\n {...stylex.props(focusRing.info, styles.compareHalf, styles.compareRestore)}\n style={{ background: original }}\n onClick={() => onApply(parseColor(original, hsva.h))}\n />\n <span {...stylex.props(styles.compareHalf)} style={{ background: hex }} />\n </div>\n </div>\n <ColorInputs\n alpha={alpha}\n alphaLabel={labels.alpha}\n format={format}\n formatLabel={labels.format}\n hsva={hsva}\n onCommit={onApply}\n onFormatChange={onFormatChange}\n />\n <Swatches\n current={hex}\n labels={{ presets: labels.presets, recent: labels.recent, swatches: labels.swatches }}\n presets={presets}\n recent={recent}\n onPick={(color) => onApply({ ...parseColor(color, hsva.h), a: parseColor(color).a })}\n />\n </div>\n );\n};\n\nexport default ColorPanel;\n"],"mappings":";;;;;;;;;;;;;AAaA,MAAM,sBAAsB,OAAO,WAAW,eAAe,gBAAgB;AA8B7E,MAAM,cAAc,EAClB,OACA,QACA,MACA,QACA,SACA,UACA,gBACA,UACA,UACA,SACA,aACqB;CACrB,MAAM,MAAM,YAAY,MAAM,KAAK;CACnC,MAAM,SAAS,YAAY,MAAM,KAAK;CACtC,MAAM,oBAAoB,WAAgC;EACxD,WAAW,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC;EACvC,OAAO,OAAO,MAAM,OAAO,WAAW,CAAC,CAAC;EACxC,OAAO,OAAO,MAAM,OAAO,MAAM,CAAC,CAAC;CACrC;CACA,OAAO,qBAAC,OAAD;EAAK,GAAI,OAAO,MAAM,OAAO,KAAK;EAAlC,UAAA;GACH,oBAAC,gBAAD;IAAgB,OAAO;IAAQ,KAAK,KAAK;IAAG,OAAO,OAAO;IAAY,YAAY,KAAK;IAAG,OAAO,KAAK;IAAG,WAAW,GAAG,MAAM,SAAS;KACtI,GAAG;KACH;KACA;IACF,CAAC;IAAG,mBAAmB,GAAG,MAAM,SAAS;KACvC,GAAG;KACH;KACA;IACF,CAAC;GAAI,CAAA;GACH,qBAAC,OAAD;IAAK,GAAI,OAAO,MAAM,OAAO,QAAQ;IAArC,UAAA;KACG,cAAc,KAAK,oBAAC,UAAD;MAAQ,cAAY,OAAO;MAAY,MAAK;MAAS,GAAI,OAAO,MAAM,UAAU,MAAM,OAAO,UAAU;MAAG,SAAS,YAAY;OAInJ,MAAM,SAAS,MAAM,IAHA,OAElB,WACwB,CAAC,CAAC,KAAK,CAAC,CAAC,YAAY,IAAI;OACpD,IAAI,QAAQ,QAAQ;QAClB,GAAG,WAAW,OAAO,SAAS,KAAK,CAAC;QACpC,GAAG,KAAK;OACV,CAAC;MACH;MACM,UAAA,oBAAC,MAAD;OAAM,MAAM;OAAS,MAAM;MAAK,CAAA;KAC1B,CAAA;KACV,qBAAC,OAAD;MAAK,GAAI,OAAO,MAAM,OAAO,OAAO;MAApC,UAAA,CACE,oBAAC,QAAD;OAAQ,cAAY,OAAO;OAAK,YAAY,iBAAiB,UAAU;OAAG,KAAK;OAAK,KAAK;OAAG,OAAO,KAAK;OAAG,QAAQ,EACnH,OAAO,EACL,6BAA6B,OAAO,KAAK,EAAE,YAC7C,EACF;OAAG,WAAU,MAAK,SAAS;QACzB,GAAG;QACH;OACF,CAAC;OAAG,mBAAkB,MAAK,SAAS;QAClC,GAAG;QACH;OACF,CAAC;MAAI,CAAA,GACF,SAAS,oBAAC,QAAD;OAAQ,cAAY,OAAO;OAAO,YAAY,iBAAiB,YAAY;OAAG,KAAK;OAAK,KAAK;OAAG,OAAO,KAAK,MAAM,KAAK,IAAI,GAAG;OAAG,QAAQ,EACnJ,OAAO;QACL,6BAA6B;QAC7B,6BAA6B;OAC/B,EACF;OAAG,WAAU,MAAK,SAAS;QACzB,GAAG;QACH,GAAG,IAAI;OACT,CAAC;OAAG,mBAAkB,MAAK,SAAS;QAClC,GAAG;QACH,GAAG,IAAI;OACT,CAAC;MAAI,CAAA,CACA;;KACL,qBAAC,OAAD;MAAK,GAAI,OAAO,MAAM,OAAO,OAAO;MAAG,OAAO,EAC9C,QAAQ,QAAQ,KAAK,GACvB;MAFE,UAAA,CAGE,oBAAC,UAAD;OAAQ,cAAY,OAAO;OAAU,OAAO,OAAO;OAAU,MAAK;OAAS,GAAI,OAAO,MAAM,UAAU,MAAM,OAAO,aAAa,OAAO,cAAc;OAAG,OAAO,EAC/J,YAAY,SACd;OAAG,eAAe,QAAQ,WAAW,UAAU,KAAK,CAAC,CAAC;MAAI,CAAA,GACxD,oBAAC,QAAD;OAAM,GAAI,OAAO,MAAM,OAAO,WAAW;OAAG,OAAO,EACnD,YAAY,IACd;MAAI,CAAA,CACC;;IACF;;GACL,oBAAC,aAAD;IAAoB;IAAO,YAAY,OAAO;IAAe;IAAQ,aAAa,OAAO;IAAc;IAAM,UAAU;IAAyB;GAAiB,CAAA;GACjK,oBAAC,UAAD;IAAU,SAAS;IAAK,QAAQ;KAChC,SAAS,OAAO;KAChB,QAAQ,OAAO;KACf,UAAU,OAAO;IACnB;IAAY;IAAiB;IAAQ,SAAQ,UAAS,QAAQ;KAC5D,GAAG,WAAW,OAAO,KAAK,CAAC;KAC3B,GAAG,WAAW,KAAK,CAAC,CAAC;IACvB,CAAC;GAAI,CAAA;EACA;;AACT"}
@@ -1,232 +1,95 @@
1
1
  "use client";
2
- import { styleProps } from "../styles/stylex/props.mjs";
3
- import { focusRing } from "../styles/stylex/focusRing.mjs";
4
- import Icon from "../Icon/Icon.mjs";
5
- import { useThemeMode } from "../styles/theme/scope.mjs";
6
2
  import { useControlledState } from "../hooks/useControlledState.mjs";
7
3
  import { useTranslation } from "../i18n/useTranslation.mjs";
8
- import { inputRootStyles } from "../Input/style.mjs";
9
- import Input_default from "../Input/Input.mjs";
10
- import InputNumber_default from "../Input/InputNumber.mjs";
11
4
  import colorPicker_default from "../i18n/resources/en/colorPicker.mjs";
12
5
  import { panelStyles } from "../internal/panelStyles.mjs";
13
6
  import { PopoverPopup, PopoverPortal, PopoverPositioner, PopoverRoot, PopoverTriggerElement } from "../Popover/atoms.mjs";
14
- import Slider from "../Slider/Slider.mjs";
15
- import { formatColor, normalizeHexInput, parseColor } from "./color.mjs";
16
- import { styles } from "./style.mjs";
17
- import SaturationArea from "./SaturationArea.mjs";
18
- import { createElement, memo, useEffect, useRef, useState } from "react";
7
+ import { formatColor, parseColor } from "./color.mjs";
8
+ import { pushRecentColor } from "./recent.mjs";
9
+ import ColorPanel from "./ColorPanel.mjs";
10
+ import ColorTrigger from "./Trigger.mjs";
11
+ import { memo, useEffect, useRef, useState } from "react";
19
12
  import { jsx, jsxs } from "react/jsx-runtime";
20
- import * as stylex from "@stylexjs/stylex";
21
- import { Pipette } from "lucide-react";
22
13
  //#region src/ColorPicker/ColorPicker.tsx
23
14
  const DEFAULT_COLOR = "#000000";
24
- const hasEyeDropper = () => typeof window !== "undefined" && "EyeDropper" in window;
25
- const ColorPicker = memo(({ alpha = false, children, className, defaultValue = DEFAULT_COLOR, disabled, onChange, onChangeComplete, presets, showText, size = "middle", style, value }) => {
15
+ const ColorPicker = memo(({ alpha = false, children, className, defaultFormat = "hex", defaultValue = DEFAULT_COLOR, disabled, onChange, onChangeComplete, presets, recent = true, showText, size = "middle", style, trigger = showText ? "field" : "swatch", value }) => {
26
16
  const { t } = useTranslation(colorPicker_default);
27
- const { isDarkMode } = useThemeMode();
28
17
  const [hex, setHex] = useControlledState(defaultValue, {
29
18
  defaultValue,
30
19
  onChange,
31
20
  value
32
21
  });
33
22
  const [hsva, setHsva] = useState(() => parseColor(hex));
34
- const [draft, setDraft] = useState(hex.slice(1).toUpperCase());
23
+ const [format, setFormat] = useState(defaultFormat);
24
+ const [original, setOriginal] = useState(hex);
35
25
  const popupRef = useRef(null);
36
26
  useEffect(() => {
27
+ if (!hex) return;
37
28
  setHsva((current) => formatColor(current, alpha) === hex.toLowerCase() ? current : parseColor(hex, current.h));
38
- setDraft(hex.slice(1).toUpperCase());
39
29
  }, [hex, alpha]);
40
30
  const update = (next) => {
41
31
  setHsva(next);
42
32
  setHex(formatColor(next, alpha));
43
33
  };
44
- const commit = (next) => onChangeComplete?.(formatColor(next, alpha));
34
+ const commit = (next) => {
35
+ const nextHex = formatColor(next, alpha);
36
+ if (recent) pushRecentColor(nextHex);
37
+ onChangeComplete?.(nextHex);
38
+ };
45
39
  const apply = (next) => {
46
40
  update(next);
47
41
  commit(next);
48
42
  };
49
- const commitDraft = () => {
50
- const normalized = normalizeHexInput(draft);
51
- if (!normalized) return setDraft(hex.slice(1).toUpperCase());
52
- apply(parseColor(normalized, hsva.h));
53
- };
54
- const swatch = (dimension) => /* @__PURE__ */ jsx("span", {
55
- ...stylex.props(styles.swatch),
56
- style: {
57
- height: dimension,
58
- width: dimension
43
+ return /* @__PURE__ */ jsxs(PopoverRoot, {
44
+ onOpenChange: (open) => {
45
+ if (open) setOriginal(hex);
59
46
  },
60
- children: /* @__PURE__ */ jsx("span", {
61
- ...stylex.props(styles.swatchFill),
62
- style: { background: hex }
63
- })
64
- });
65
- const trigger = children ?? (showText ? /* @__PURE__ */ jsxs("button", {
66
- "aria-label": t("colorPicker.trigger"),
67
- disabled,
68
- type: "button",
69
- ...styleProps([...inputRootStyles({
70
- size,
71
- variant: isDarkMode ? "filled" : "outlined"
72
- }), styles.textTrigger], className, {
73
- cursor: "pointer",
74
- ...style
75
- }),
76
- children: [swatch(18), /* @__PURE__ */ jsx("span", {
77
- style: { fontFamily: "var(--lobe-font-family-code, monospace)" },
78
- children: hex.toUpperCase()
79
- })]
80
- }) : /* @__PURE__ */ jsx("button", {
81
- "aria-label": t("colorPicker.trigger"),
82
- disabled,
83
- type: "button",
84
- ...styleProps([focusRing.info, styles.swatchButton], className, style),
85
- children: swatch(24)
86
- }));
87
- return /* @__PURE__ */ jsxs(PopoverRoot, { children: [/* @__PURE__ */ jsx(PopoverTriggerElement, { children: trigger }), /* @__PURE__ */ jsx(PopoverPortal, { children: /* @__PURE__ */ jsx(PopoverPositioner, {
88
- placement: "bottomLeft",
89
- children: /* @__PURE__ */ jsx(PopoverPopup, {
90
- ref: popupRef,
91
- xstyle: panelStyles.popup,
92
- initialFocus: () => popupRef.current?.querySelector("[role=\"slider\"]") ?? true,
93
- children: /* @__PURE__ */ jsxs("div", {
94
- ...stylex.props(styles.panel),
95
- children: [
96
- /* @__PURE__ */ jsxs("div", {
97
- ...stylex.props(styles.summary),
98
- children: [
99
- swatch(40),
100
- /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
101
- ...stylex.props(styles.value),
102
- children: hex.toUpperCase()
103
- }), /* @__PURE__ */ jsx("div", {
104
- ...stylex.props(panelStyles.label),
105
- children: alpha ? `HEX · ${Math.round(hsva.a * 100)}%` : "HEX"
106
- })] }),
107
- hasEyeDropper() && /* @__PURE__ */ jsx("button", {
108
- "aria-label": t("colorPicker.eyeDropper"),
109
- ...stylex.props(panelStyles.nav, styles.eyeDropper),
110
- type: "button",
111
- onClick: async () => {
112
- const result = await new window.EyeDropper().open().catch(() => null);
113
- if (result) apply({
114
- ...parseColor(result.sRGBHex, hsva.h),
115
- a: hsva.a
116
- });
117
- },
118
- children: /* @__PURE__ */ jsx(Icon, {
119
- icon: Pipette,
120
- size: 14
121
- })
122
- })
123
- ]
124
- }),
125
- /* @__PURE__ */ jsx(SaturationArea, {
126
- hue: hsva.h,
127
- label: t("colorPicker.saturation"),
128
- saturation: hsva.s,
129
- value: hsva.v,
130
- onChange: (s, v) => update({
131
- ...hsva,
132
- s,
133
- v
134
- }),
135
- onChangeComplete: (s, v) => commit({
136
- ...hsva,
137
- s,
138
- v
139
- })
140
- }),
141
- /* @__PURE__ */ jsx(Slider, {
142
- "aria-label": t("colorPicker.hue"),
143
- max: 360,
144
- min: 0,
145
- value: hsva.h,
146
- classNames: {
147
- indicator: stylex.props(styles.hidden).className,
148
- thumb: stylex.props(styles.sliderThumb).className,
149
- track: stylex.props(styles.hueTrack).className
150
- },
151
- onChange: (h) => update({
152
- ...hsva,
153
- h
154
- }),
155
- onChangeComplete: (h) => commit({
156
- ...hsva,
157
- h
158
- })
159
- }),
160
- alpha && /* @__PURE__ */ jsx(Slider, {
161
- "aria-label": t("colorPicker.alpha"),
162
- max: 100,
163
- min: 0,
164
- value: Math.round(hsva.a * 100),
165
- classNames: {
166
- indicator: stylex.props(styles.hidden).className,
167
- thumb: stylex.props(styles.sliderThumb).className,
168
- track: stylex.props(styles.alphaTrack).className
169
- },
170
- styles: { track: { "--lobe-color-picker-alpha": formatColor(hsva, false) } },
171
- onChange: (a) => update({
172
- ...hsva,
173
- a: a / 100
174
- }),
175
- onChangeComplete: (a) => commit({
176
- ...hsva,
177
- a: a / 100
178
- })
179
- }),
180
- /* @__PURE__ */ jsxs("div", {
181
- ...stylex.props(styles.hexRow),
182
- children: [/* @__PURE__ */ jsx(Input_default, {
183
- "aria-label": "HEX",
184
- className: stylex.props(styles.hexField).className,
185
- prefix: /* @__PURE__ */ jsx("span", {
186
- ...stylex.props(panelStyles.label),
187
- children: "HEX"
188
- }),
189
- value: draft,
190
- variant: "filled",
191
- onBlur: commitDraft,
192
- onChange: (event) => setDraft(event.target.value),
193
- onPressEnter: commitDraft
194
- }), alpha && /* @__PURE__ */ jsx(InputNumber_default, {
195
- "aria-label": t("colorPicker.alpha"),
196
- className: stylex.props(styles.hexField, styles.alphaField).className,
197
- controls: false,
198
- max: 100,
199
- min: 0,
200
- suffix: "%",
201
- value: Math.round(hsva.a * 100),
202
- variant: "filled",
203
- onChange: (a) => a !== null && apply({
204
- ...hsva,
205
- a: a / 100
206
- })
207
- })]
208
- }),
209
- presets && presets.length > 0 && /* @__PURE__ */ jsx("div", {
210
- "aria-label": t("colorPicker.presets"),
211
- ...stylex.props(styles.presets),
212
- role: "group",
213
- children: presets.map((color) => /* @__PURE__ */ createElement("button", {
214
- "aria-label": color,
215
- "aria-pressed": color.toLowerCase() === hex.slice(0, 7).toLowerCase(),
216
- ...stylex.props(focusRing.info, styles.preset),
217
- key: color,
218
- style: { background: color },
219
- type: "button",
220
- onClick: () => apply({
221
- ...parseColor(color, hsva.h),
222
- a: parseColor(color).a
223
- })
224
- }))
225
- })
226
- ]
47
+ children: [/* @__PURE__ */ jsx(PopoverTriggerElement, {
48
+ nativeButton: true,
49
+ disabled,
50
+ children: children ?? /* @__PURE__ */ jsx(ColorTrigger, {
51
+ alpha: alpha && hex ? hsva.a : void 0,
52
+ className,
53
+ disabled,
54
+ emptyLabel: t("colorPicker.empty"),
55
+ hex,
56
+ label: t("colorPicker.trigger"),
57
+ size,
58
+ style,
59
+ variant: trigger
227
60
  })
228
- })
229
- }) })] });
61
+ }), /* @__PURE__ */ jsx(PopoverPortal, { children: /* @__PURE__ */ jsx(PopoverPositioner, {
62
+ placement: "bottomLeft",
63
+ children: /* @__PURE__ */ jsx(PopoverPopup, {
64
+ ref: popupRef,
65
+ xstyle: panelStyles.popup,
66
+ initialFocus: () => popupRef.current?.querySelector("[role=\"slider\"]") ?? true,
67
+ children: /* @__PURE__ */ jsx(ColorPanel, {
68
+ alpha,
69
+ format,
70
+ hsva,
71
+ original,
72
+ presets,
73
+ recent,
74
+ labels: {
75
+ alpha: t("colorPicker.alpha"),
76
+ eyeDropper: t("colorPicker.eyeDropper"),
77
+ format: t("colorPicker.format"),
78
+ hue: t("colorPicker.hue"),
79
+ original: t("colorPicker.original"),
80
+ presets: t("colorPicker.presets"),
81
+ recent: t("colorPicker.recent"),
82
+ saturation: t("colorPicker.saturation"),
83
+ swatches: t("colorPicker.swatches")
84
+ },
85
+ onApply: apply,
86
+ onCommit: commit,
87
+ onFormatChange: setFormat,
88
+ onUpdate: update
89
+ })
90
+ })
91
+ }) })]
92
+ });
230
93
  });
231
94
  ColorPicker.displayName = "ColorPicker";
232
95
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"ColorPicker.mjs","names":["colorPickerMessages","Input","InputNumber"],"sources":["../../src/ColorPicker/ColorPicker.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport { Pipette } from 'lucide-react';\nimport { type CSSProperties, memo, useEffect, useRef, useState } from 'react';\n\nimport { useControlledState } from '@/hooks/useControlledState';\nimport colorPickerMessages from '@/i18n/resources/en/colorPicker';\nimport { useTranslation } from '@/i18n/useTranslation';\nimport Icon from '@/Icon';\nimport { Input, InputNumber } from '@/Input';\nimport { inputRootStyles } from '@/Input/style';\nimport { panelStyles } from '@/internal/panelStyles';\nimport {\n PopoverPopup,\n PopoverPortal,\n PopoverPositioner,\n PopoverRoot,\n PopoverTriggerElement,\n} from '@/Popover';\nimport { Slider } from '@/Slider';\nimport { focusRing } from '@/styles/stylex/focusRing';\nimport { styleProps } from '@/styles/stylex/props';\nimport { useThemeMode } from '@/styles/theme/scope';\n\nimport { formatColor, type Hsva, normalizeHexInput, parseColor } from './color';\nimport SaturationArea from './SaturationArea';\nimport { styles } from './style';\nimport type { ColorPickerProps } from './type';\n\nconst DEFAULT_COLOR = '#000000';\n\nconst hasEyeDropper = () => typeof window !== 'undefined' && 'EyeDropper' in window;\n\nconst ColorPicker = memo<ColorPickerProps>(\n ({\n alpha = false,\n children,\n className,\n defaultValue = DEFAULT_COLOR,\n disabled,\n onChange,\n onChangeComplete,\n presets,\n showText,\n size = 'middle',\n style,\n value,\n }) => {\n const { t } = useTranslation(colorPickerMessages);\n const { isDarkMode } = useThemeMode();\n const [hex, setHex] = useControlledState<string>(defaultValue, {\n defaultValue,\n onChange,\n value,\n });\n const [hsva, setHsva] = useState<Hsva>(() => parseColor(hex));\n const [draft, setDraft] = useState(hex.slice(1).toUpperCase());\n const popupRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n setHsva((current) =>\n formatColor(current, alpha) === hex.toLowerCase() ? current : parseColor(hex, current.h),\n );\n setDraft(hex.slice(1).toUpperCase());\n }, [hex, alpha]);\n\n const update = (next: Hsva) => {\n setHsva(next);\n setHex(formatColor(next, alpha));\n };\n const commit = (next: Hsva) => onChangeComplete?.(formatColor(next, alpha));\n const apply = (next: Hsva) => {\n update(next);\n commit(next);\n };\n\n const commitDraft = () => {\n const normalized = normalizeHexInput(draft);\n if (!normalized) return setDraft(hex.slice(1).toUpperCase());\n apply(parseColor(normalized, hsva.h));\n };\n\n const swatch = (dimension: number) => (\n <span {...stylex.props(styles.swatch)} style={{ height: dimension, width: dimension }}>\n <span {...stylex.props(styles.swatchFill)} style={{ background: hex }} />\n </span>\n );\n\n const trigger =\n children ??\n (showText ? (\n <button\n aria-label={t('colorPicker.trigger')}\n disabled={disabled}\n type=\"button\"\n {...styleProps(\n [\n ...inputRootStyles({ size, variant: isDarkMode ? 'filled' : 'outlined' }),\n styles.textTrigger,\n ],\n className,\n { cursor: 'pointer', ...style },\n )}\n >\n {swatch(18)}\n <span style={{ fontFamily: 'var(--lobe-font-family-code, monospace)' }}>\n {hex.toUpperCase()}\n </span>\n </button>\n ) : (\n <button\n aria-label={t('colorPicker.trigger')}\n disabled={disabled}\n type=\"button\"\n {...styleProps([focusRing.info, styles.swatchButton], className, style)}\n >\n {swatch(24)}\n </button>\n ));\n\n return (\n <PopoverRoot>\n <PopoverTriggerElement>{trigger}</PopoverTriggerElement>\n <PopoverPortal>\n <PopoverPositioner placement=\"bottomLeft\">\n <PopoverPopup\n ref={popupRef}\n xstyle={panelStyles.popup}\n initialFocus={() =>\n popupRef.current?.querySelector<HTMLElement>('[role=\"slider\"]') ?? true\n }\n >\n <div {...stylex.props(styles.panel)}>\n <div {...stylex.props(styles.summary)}>\n {swatch(40)}\n <div>\n <div {...stylex.props(styles.value)}>{hex.toUpperCase()}</div>\n <div {...stylex.props(panelStyles.label)}>\n {alpha ? `HEX · ${Math.round(hsva.a * 100)}%` : 'HEX'}\n </div>\n </div>\n {hasEyeDropper() && (\n <button\n aria-label={t('colorPicker.eyeDropper')}\n {...stylex.props(panelStyles.nav, styles.eyeDropper)}\n type=\"button\"\n onClick={async () => {\n const dropper = new (\n window as unknown as {\n EyeDropper: new () => { open: () => Promise<{ sRGBHex: string }> };\n }\n ).EyeDropper();\n const result = await dropper.open().catch(() => null);\n if (result) apply({ ...parseColor(result.sRGBHex, hsva.h), a: hsva.a });\n }}\n >\n <Icon icon={Pipette} size={14} />\n </button>\n )}\n </div>\n <SaturationArea\n hue={hsva.h}\n label={t('colorPicker.saturation')}\n saturation={hsva.s}\n value={hsva.v}\n onChange={(s, v) => update({ ...hsva, s, v })}\n onChangeComplete={(s, v) => commit({ ...hsva, s, v })}\n />\n <Slider\n aria-label={t('colorPicker.hue')}\n max={360}\n min={0}\n value={hsva.h}\n classNames={{\n indicator: stylex.props(styles.hidden).className,\n thumb: stylex.props(styles.sliderThumb).className,\n track: stylex.props(styles.hueTrack).className,\n }}\n onChange={(h) => update({ ...hsva, h })}\n onChangeComplete={(h) => commit({ ...hsva, h })}\n />\n {alpha && (\n <Slider\n aria-label={t('colorPicker.alpha')}\n max={100}\n min={0}\n value={Math.round(hsva.a * 100)}\n classNames={{\n indicator: stylex.props(styles.hidden).className,\n thumb: stylex.props(styles.sliderThumb).className,\n track: stylex.props(styles.alphaTrack).className,\n }}\n styles={{\n track: {\n '--lobe-color-picker-alpha': formatColor(hsva, false),\n } as CSSProperties,\n }}\n onChange={(a) => update({ ...hsva, a: a / 100 })}\n onChangeComplete={(a) => commit({ ...hsva, a: a / 100 })}\n />\n )}\n <div {...stylex.props(styles.hexRow)}>\n <Input\n aria-label=\"HEX\"\n className={stylex.props(styles.hexField).className}\n prefix={<span {...stylex.props(panelStyles.label)}>HEX</span>}\n value={draft}\n variant=\"filled\"\n onBlur={commitDraft}\n onChange={(event) => setDraft(event.target.value)}\n onPressEnter={commitDraft}\n />\n {alpha && (\n <InputNumber\n aria-label={t('colorPicker.alpha')}\n className={stylex.props(styles.hexField, styles.alphaField).className}\n controls={false}\n max={100}\n min={0}\n suffix=\"%\"\n value={Math.round(hsva.a * 100)}\n variant=\"filled\"\n onChange={(a) => a !== null && apply({ ...hsva, a: a / 100 })}\n />\n )}\n </div>\n {presets && presets.length > 0 && (\n <div\n aria-label={t('colorPicker.presets')}\n {...stylex.props(styles.presets)}\n role=\"group\"\n >\n {presets.map((color) => (\n <button\n aria-label={color}\n aria-pressed={color.toLowerCase() === hex.slice(0, 7).toLowerCase()}\n {...stylex.props(focusRing.info, styles.preset)}\n key={color}\n style={{ background: color }}\n type=\"button\"\n onClick={() =>\n apply({ ...parseColor(color, hsva.h), a: parseColor(color).a })\n }\n />\n ))}\n </div>\n )}\n </div>\n </PopoverPopup>\n </PopoverPositioner>\n </PopoverPortal>\n </PopoverRoot>\n );\n },\n);\n\nColorPicker.displayName = 'ColorPicker';\n\nexport default ColorPicker;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ColorPicker.mjs","names":["colorPickerMessages"],"sources":["../../src/ColorPicker/ColorPicker.tsx"],"sourcesContent":["'use client';\n\nimport { memo, useEffect, useRef, useState } from 'react';\n\nimport { useControlledState } from '@/hooks/useControlledState';\nimport colorPickerMessages from '@/i18n/resources/en/colorPicker';\nimport { useTranslation } from '@/i18n/useTranslation';\nimport { panelStyles } from '@/internal/panelStyles';\nimport {\n PopoverPopup,\n PopoverPortal,\n PopoverPositioner,\n PopoverRoot,\n PopoverTriggerElement,\n} from '@/Popover';\n\nimport { type ColorFormat, formatColor, type Hsva, parseColor } from './color';\nimport ColorPanel from './ColorPanel';\nimport { pushRecentColor } from './recent';\nimport ColorTrigger from './Trigger';\nimport type { ColorPickerProps } from './type';\n\nconst DEFAULT_COLOR = '#000000';\n\nconst ColorPicker = memo<ColorPickerProps>(\n ({\n alpha = false,\n children,\n className,\n defaultFormat = 'hex',\n defaultValue = DEFAULT_COLOR,\n disabled,\n onChange,\n onChangeComplete,\n presets,\n recent = true,\n showText,\n size = 'middle',\n style,\n trigger = showText ? 'field' : 'swatch',\n value,\n }) => {\n const { t } = useTranslation(colorPickerMessages);\n const [hex, setHex] = useControlledState<string>(defaultValue, {\n defaultValue,\n onChange,\n value,\n });\n const [hsva, setHsva] = useState<Hsva>(() => parseColor(hex));\n const [format, setFormat] = useState<ColorFormat>(defaultFormat);\n const [original, setOriginal] = useState(hex);\n const popupRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!hex) return;\n setHsva((current) =>\n formatColor(current, alpha) === hex.toLowerCase() ? current : parseColor(hex, current.h),\n );\n }, [hex, alpha]);\n\n const update = (next: Hsva) => {\n setHsva(next);\n setHex(formatColor(next, alpha));\n };\n const commit = (next: Hsva) => {\n const nextHex = formatColor(next, alpha);\n if (recent) pushRecentColor(nextHex);\n onChangeComplete?.(nextHex);\n };\n const apply = (next: Hsva) => {\n update(next);\n commit(next);\n };\n\n return (\n <PopoverRoot\n onOpenChange={(open) => {\n if (open) setOriginal(hex);\n }}\n >\n <PopoverTriggerElement nativeButton disabled={disabled}>\n {children ?? (\n <ColorTrigger\n alpha={alpha && hex ? hsva.a : undefined}\n className={className}\n disabled={disabled}\n emptyLabel={t('colorPicker.empty')}\n hex={hex}\n label={t('colorPicker.trigger')}\n size={size}\n style={style}\n variant={trigger}\n />\n )}\n </PopoverTriggerElement>\n <PopoverPortal>\n <PopoverPositioner placement=\"bottomLeft\">\n <PopoverPopup\n ref={popupRef}\n xstyle={panelStyles.popup}\n initialFocus={() =>\n popupRef.current?.querySelector<HTMLElement>('[role=\"slider\"]') ?? true\n }\n >\n <ColorPanel\n alpha={alpha}\n format={format}\n hsva={hsva}\n original={original}\n presets={presets}\n recent={recent}\n labels={{\n alpha: t('colorPicker.alpha'),\n eyeDropper: t('colorPicker.eyeDropper'),\n format: t('colorPicker.format'),\n hue: t('colorPicker.hue'),\n original: t('colorPicker.original'),\n presets: t('colorPicker.presets'),\n recent: t('colorPicker.recent'),\n saturation: t('colorPicker.saturation'),\n swatches: t('colorPicker.swatches'),\n }}\n onApply={apply}\n onCommit={commit}\n onFormatChange={setFormat}\n onUpdate={update}\n />\n </PopoverPopup>\n </PopoverPositioner>\n </PopoverPortal>\n </PopoverRoot>\n );\n },\n);\n\nColorPicker.displayName = 'ColorPicker';\n\nexport default ColorPicker;\n"],"mappings":";;;;;;;;;;;;;AAsBA,MAAM,gBAAgB;AAEtB,MAAM,cAAc,MACjB,EACC,QAAQ,OACR,UACA,WACA,gBAAgB,OAChB,eAAe,eACf,UACA,UACA,kBACA,SACA,SAAS,MACT,UACA,OAAO,UACP,OACA,UAAU,WAAW,UAAU,UAC/B,YACI;CACJ,MAAM,EAAE,MAAM,eAAeA,mBAAmB;CAChD,MAAM,CAAC,KAAK,UAAU,mBAA2B,cAAc;EAC7D;EACA;EACA;CACF,CAAC;CACD,MAAM,CAAC,MAAM,WAAW,eAAqB,WAAW,GAAG,CAAC;CAC5D,MAAM,CAAC,QAAQ,aAAa,SAAsB,aAAa;CAC/D,MAAM,CAAC,UAAU,eAAe,SAAS,GAAG;CAC5C,MAAM,WAAW,OAAuB,IAAI;CAE5C,gBAAgB;EACd,IAAI,CAAC,KAAK;EACV,SAAS,YACP,YAAY,SAAS,KAAK,MAAM,IAAI,YAAY,IAAI,UAAU,WAAW,KAAK,QAAQ,CAAC,CACzF;CACF,GAAG,CAAC,KAAK,KAAK,CAAC;CAEf,MAAM,UAAU,SAAe;EAC7B,QAAQ,IAAI;EACZ,OAAO,YAAY,MAAM,KAAK,CAAC;CACjC;CACA,MAAM,UAAU,SAAe;EAC7B,MAAM,UAAU,YAAY,MAAM,KAAK;EACvC,IAAI,QAAQ,gBAAgB,OAAO;EACnC,mBAAmB,OAAO;CAC5B;CACA,MAAM,SAAS,SAAe;EAC5B,OAAO,IAAI;EACX,OAAO,IAAI;CACb;CAEA,OACE,qBAAC,aAAD;EACE,eAAe,SAAS;GACtB,IAAI,MAAM,YAAY,GAAG;EAC3B;EAHF,UAAA,CAKE,oBAAC,uBAAD;GAAuB,cAAA;GAAuB;GAC3C,UAAA,YACC,oBAAC,cAAD;IACE,OAAO,SAAS,MAAM,KAAK,IAAI,KAAA;IACpB;IACD;IACV,YAAY,EAAE,mBAAmB;IAC5B;IACL,OAAO,EAAE,qBAAqB;IACxB;IACC;IACP,SAAS;GACV,CAAA;EAEkB,CAAA,GACvB,oBAAC,eAAD,EAAA,UACE,oBAAC,mBAAD;GAAmB,WAAU;GAC3B,UAAA,oBAAC,cAAD;IACE,KAAK;IACL,QAAQ,YAAY;IACpB,oBACE,SAAS,SAAS,cAA2B,mBAAiB,KAAK;IAGrE,UAAA,oBAAC,YAAD;KACS;KACC;KACF;KACI;KACD;KACD;KACR,QAAQ;MACN,OAAO,EAAE,mBAAmB;MAC5B,YAAY,EAAE,wBAAwB;MACtC,QAAQ,EAAE,oBAAoB;MAC9B,KAAK,EAAE,iBAAiB;MACxB,UAAU,EAAE,sBAAsB;MAClC,SAAS,EAAE,qBAAqB;MAChC,QAAQ,EAAE,oBAAoB;MAC9B,YAAY,EAAE,wBAAwB;MACtC,UAAU,EAAE,sBAAsB;KACpC;KACA,SAAS;KACT,UAAU;KACV,gBAAgB;KAChB,UAAU;IACX,CAAA;GACW,CAAA;EACG,CAAA,EACN,CAAA,CACJ;;AAEjB,CACF;AAEA,YAAY,cAAc"}
@@ -6,7 +6,7 @@ import { jsx } from "react/jsx-runtime";
6
6
  import * as stylex from "@stylexjs/stylex";
7
7
  //#region src/ColorPicker/SaturationArea.tsx
8
8
  const clamp = (n) => Math.min(1, Math.max(0, Math.round(n * 100) / 100));
9
- const SaturationArea = memo(({ hue, label, onChange, onChangeComplete, saturation, value }) => {
9
+ const SaturationArea = memo(({ color, hue, label, onChange, onChangeComplete, saturation, value }) => {
10
10
  const areaRef = useRef(null);
11
11
  const fromPointer = (event) => {
12
12
  const rect = areaRef.current.getBoundingClientRect();
@@ -53,6 +53,7 @@ const SaturationArea = memo(({ hue, label, onChange, onChangeComplete, saturatio
53
53
  children: /* @__PURE__ */ jsx("span", {
54
54
  ...stylex.props(styles.thumb),
55
55
  style: {
56
+ background: color,
56
57
  left: `${saturation * 100}%`,
57
58
  top: `${(1 - value) * 100}%`
58
59
  }
@@ -1 +1 @@
1
- {"version":3,"file":"SaturationArea.mjs","names":[],"sources":["../../src/ColorPicker/SaturationArea.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport { memo, type PointerEvent, useRef } from 'react';\n\nimport { focusRing } from '@/styles/stylex/focusRing';\n\nimport { styles } from './style';\n\nexport interface SaturationAreaProps {\n hue: number;\n label: string;\n onChange: (saturation: number, value: number) => void;\n onChangeComplete: (saturation: number, value: number) => void;\n saturation: number;\n value: number;\n}\n\nconst clamp = (n: number) => Math.min(1, Math.max(0, Math.round(n * 100) / 100));\n\nconst SaturationArea = memo<SaturationAreaProps>(\n ({ hue, label, onChange, onChangeComplete, saturation, value }) => {\n const areaRef = useRef<HTMLDivElement>(null);\n\n const fromPointer = (event: PointerEvent<HTMLDivElement>): [number, number] => {\n const rect = areaRef.current!.getBoundingClientRect();\n const next: [number, number] = [\n clamp((event.clientX - rect.left) / rect.width),\n clamp(1 - (event.clientY - rect.top) / rect.height),\n ];\n onChange(...next);\n return next;\n };\n\n return (\n <div\n aria-label={label}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={Math.round(saturation * 100)}\n aria-valuetext={`Saturation ${Math.round(saturation * 100)}%, brightness ${Math.round(value * 100)}%`}\n {...stylex.props(focusRing.info, styles.saturation)}\n ref={areaRef}\n role=\"slider\"\n tabIndex={0}\n style={{\n background: `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${hue} 100% 50%))`,\n }}\n onKeyDown={(event) => {\n const delta = event.shiftKey ? 0.1 : 0.01;\n const moves: Record<string, [number, number]> = {\n ArrowDown: [0, -delta],\n ArrowLeft: [-delta, 0],\n ArrowRight: [delta, 0],\n ArrowUp: [0, delta],\n };\n const move = moves[event.key];\n if (!move) return;\n event.preventDefault();\n const next: [number, number] = [clamp(saturation + move[0]), clamp(value + move[1])];\n onChange(...next);\n onChangeComplete(...next);\n }}\n onPointerDown={(event) => {\n event.currentTarget.setPointerCapture(event.pointerId);\n fromPointer(event);\n }}\n onPointerMove={(event) => {\n if (event.currentTarget.hasPointerCapture(event.pointerId)) fromPointer(event);\n }}\n onPointerUp={(event) => {\n event.currentTarget.releasePointerCapture(event.pointerId);\n onChangeComplete(...fromPointer(event));\n }}\n >\n <span\n {...stylex.props(styles.thumb)}\n style={{ left: `${saturation * 100}%`, top: `${(1 - value) * 100}%` }}\n />\n </div>\n );\n },\n);\n\nSaturationArea.displayName = 'ColorPickerSaturationArea';\n\nexport default SaturationArea;\n"],"mappings":";;;;;;;AAcA,MAAM,SAAS,MAAc,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC;AAC/E,MAAM,iBAAiB,MAA2B,EAChD,KACA,OACA,UACA,kBACA,YACA,YACI;CACJ,MAAM,UAAU,OAAuB,IAAI;CAC3C,MAAM,eAAe,UAA0D;EAC7E,MAAM,OAAO,QAAQ,QAAS,sBAAsB;EACpD,MAAM,OAAyB,CAAC,OAAO,MAAM,UAAU,KAAK,QAAQ,KAAK,KAAK,GAAG,MAAM,KAAK,MAAM,UAAU,KAAK,OAAO,KAAK,MAAM,CAAC;EACpI,SAAS,GAAG,IAAI;EAChB,OAAO;CACT;CACA,OAAO,oBAAC,OAAD;EAAK,cAAY;EAAO,iBAAe;EAAK,iBAAe;EAAG,iBAAe,KAAK,MAAM,aAAa,GAAG;EAAG,kBAAgB,cAAc,KAAK,MAAM,aAAa,GAAG,EAAE,gBAAgB,KAAK,MAAM,QAAQ,GAAG,EAAE;EAAI,GAAI,OAAO,MAAM,UAAU,MAAM,OAAO,UAAU;EAAG,KAAK;EAAS,MAAK;EAAS,UAAU;EAAG,OAAO,EAC5T,YAAY,mFAAmF,IAAI,aACrG;EAAG,YAAW,UAAS;GACrB,MAAM,QAAQ,MAAM,WAAW,KAAM;GAOrC,MAAM,OAAO;IALX,WAAW,CAAC,GAAG,CAAC,KAAK;IACrB,WAAW,CAAC,CAAC,OAAO,CAAC;IACrB,YAAY,CAAC,OAAO,CAAC;IACrB,SAAS,CAAC,GAAG,KAAK;GAEH,EAAE,MAAM;GACzB,IAAI,CAAC,MAAM;GACX,MAAM,eAAe;GACrB,MAAM,OAAyB,CAAC,MAAM,aAAa,KAAK,EAAE,GAAG,MAAM,QAAQ,KAAK,EAAE,CAAC;GACnF,SAAS,GAAG,IAAI;GAChB,iBAAiB,GAAG,IAAI;EAC1B;EAAG,gBAAe,UAAS;GACzB,MAAM,cAAc,kBAAkB,MAAM,SAAS;GACrD,YAAY,KAAK;EACnB;EAAG,gBAAe,UAAS;GACzB,IAAI,MAAM,cAAc,kBAAkB,MAAM,SAAS,GAAG,YAAY,KAAK;EAC/E;EAAG,cAAa,UAAS;GACvB,MAAM,cAAc,sBAAsB,MAAM,SAAS;GACzD,iBAAiB,GAAG,YAAY,KAAK,CAAC;EACxC;EACM,UAAA,oBAAC,QAAD;GAAM,GAAI,OAAO,MAAM,OAAO,KAAK;GAAG,OAAO;IAC/C,MAAM,GAAG,aAAa,IAAI;IAC1B,KAAK,IAAI,IAAI,SAAS,IAAI;GAC5B;EAAI,CAAA;CACG,CAAA;AACX,CAAC;AACD,eAAe,cAAc"}
1
+ {"version":3,"file":"SaturationArea.mjs","names":[],"sources":["../../src/ColorPicker/SaturationArea.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport { memo, type PointerEvent, useRef } from 'react';\n\nimport { focusRing } from '@/styles/stylex/focusRing';\n\nimport { styles } from './style';\n\nexport interface SaturationAreaProps {\n color: string;\n hue: number;\n label: string;\n onChange: (saturation: number, value: number) => void;\n onChangeComplete: (saturation: number, value: number) => void;\n saturation: number;\n value: number;\n}\n\nconst clamp = (n: number) => Math.min(1, Math.max(0, Math.round(n * 100) / 100));\n\nconst SaturationArea = memo<SaturationAreaProps>(\n ({ color, hue, label, onChange, onChangeComplete, saturation, value }) => {\n const areaRef = useRef<HTMLDivElement>(null);\n\n const fromPointer = (event: PointerEvent<HTMLDivElement>): [number, number] => {\n const rect = areaRef.current!.getBoundingClientRect();\n const next: [number, number] = [\n clamp((event.clientX - rect.left) / rect.width),\n clamp(1 - (event.clientY - rect.top) / rect.height),\n ];\n onChange(...next);\n return next;\n };\n\n return (\n <div\n aria-label={label}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={Math.round(saturation * 100)}\n aria-valuetext={`Saturation ${Math.round(saturation * 100)}%, brightness ${Math.round(value * 100)}%`}\n {...stylex.props(focusRing.info, styles.saturation)}\n ref={areaRef}\n role=\"slider\"\n tabIndex={0}\n style={{\n background: `linear-gradient(to top, #000, transparent), linear-gradient(to right, #fff, hsl(${hue} 100% 50%))`,\n }}\n onKeyDown={(event) => {\n const delta = event.shiftKey ? 0.1 : 0.01;\n const moves: Record<string, [number, number]> = {\n ArrowDown: [0, -delta],\n ArrowLeft: [-delta, 0],\n ArrowRight: [delta, 0],\n ArrowUp: [0, delta],\n };\n const move = moves[event.key];\n if (!move) return;\n event.preventDefault();\n const next: [number, number] = [clamp(saturation + move[0]), clamp(value + move[1])];\n onChange(...next);\n onChangeComplete(...next);\n }}\n onPointerDown={(event) => {\n event.currentTarget.setPointerCapture(event.pointerId);\n fromPointer(event);\n }}\n onPointerMove={(event) => {\n if (event.currentTarget.hasPointerCapture(event.pointerId)) fromPointer(event);\n }}\n onPointerUp={(event) => {\n event.currentTarget.releasePointerCapture(event.pointerId);\n onChangeComplete(...fromPointer(event));\n }}\n >\n <span\n {...stylex.props(styles.thumb)}\n style={{ background: color, left: `${saturation * 100}%`, top: `${(1 - value) * 100}%` }}\n />\n </div>\n );\n },\n);\n\nSaturationArea.displayName = 'ColorPickerSaturationArea';\n\nexport default SaturationArea;\n"],"mappings":";;;;;;;AAeA,MAAM,SAAS,MAAc,KAAK,IAAI,GAAG,KAAK,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC;AAC/E,MAAM,iBAAiB,MAA2B,EAChD,OACA,KACA,OACA,UACA,kBACA,YACA,YACI;CACJ,MAAM,UAAU,OAAuB,IAAI;CAC3C,MAAM,eAAe,UAA0D;EAC7E,MAAM,OAAO,QAAQ,QAAS,sBAAsB;EACpD,MAAM,OAAyB,CAAC,OAAO,MAAM,UAAU,KAAK,QAAQ,KAAK,KAAK,GAAG,MAAM,KAAK,MAAM,UAAU,KAAK,OAAO,KAAK,MAAM,CAAC;EACpI,SAAS,GAAG,IAAI;EAChB,OAAO;CACT;CACA,OAAO,oBAAC,OAAD;EAAK,cAAY;EAAO,iBAAe;EAAK,iBAAe;EAAG,iBAAe,KAAK,MAAM,aAAa,GAAG;EAAG,kBAAgB,cAAc,KAAK,MAAM,aAAa,GAAG,EAAE,gBAAgB,KAAK,MAAM,QAAQ,GAAG,EAAE;EAAI,GAAI,OAAO,MAAM,UAAU,MAAM,OAAO,UAAU;EAAG,KAAK;EAAS,MAAK;EAAS,UAAU;EAAG,OAAO,EAC5T,YAAY,mFAAmF,IAAI,aACrG;EAAG,YAAW,UAAS;GACrB,MAAM,QAAQ,MAAM,WAAW,KAAM;GAOrC,MAAM,OAAO;IALX,WAAW,CAAC,GAAG,CAAC,KAAK;IACrB,WAAW,CAAC,CAAC,OAAO,CAAC;IACrB,YAAY,CAAC,OAAO,CAAC;IACrB,SAAS,CAAC,GAAG,KAAK;GAEH,EAAE,MAAM;GACzB,IAAI,CAAC,MAAM;GACX,MAAM,eAAe;GACrB,MAAM,OAAyB,CAAC,MAAM,aAAa,KAAK,EAAE,GAAG,MAAM,QAAQ,KAAK,EAAE,CAAC;GACnF,SAAS,GAAG,IAAI;GAChB,iBAAiB,GAAG,IAAI;EAC1B;EAAG,gBAAe,UAAS;GACzB,MAAM,cAAc,kBAAkB,MAAM,SAAS;GACrD,YAAY,KAAK;EACnB;EAAG,gBAAe,UAAS;GACzB,IAAI,MAAM,cAAc,kBAAkB,MAAM,SAAS,GAAG,YAAY,KAAK;EAC/E;EAAG,cAAa,UAAS;GACvB,MAAM,cAAc,sBAAsB,MAAM,SAAS;GACzD,iBAAiB,GAAG,YAAY,KAAK,CAAC;EACxC;EACM,UAAA,oBAAC,QAAD;GAAM,GAAI,OAAO,MAAM,OAAO,KAAK;GAAG,OAAO;IAC/C,YAAY;IACZ,MAAM,GAAG,aAAa,IAAI;IAC1B,KAAK,IAAI,IAAI,SAAS,IAAI;GAC5B;EAAI,CAAA;CACG,CAAA;AACX,CAAC;AACD,eAAe,cAAc"}
@@ -0,0 +1,24 @@
1
+ import { swatchStyles } from "./style.mjs";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import * as stylex from "@stylexjs/stylex";
4
+ //#region src/ColorPicker/Swatch.tsx
5
+ const Swatch = ({ color, radius, size }) => {
6
+ const boxStyle = {
7
+ borderRadius: radius,
8
+ height: size,
9
+ width: size
10
+ };
11
+ return /* @__PURE__ */ jsxs("span", {
12
+ "aria-hidden": true,
13
+ ...stylex.props(swatchStyles.box),
14
+ style: boxStyle,
15
+ children: [/* @__PURE__ */ jsx("span", {
16
+ ...stylex.props(swatchStyles.fill),
17
+ style: { background: color || "transparent" }
18
+ }), !color && /* @__PURE__ */ jsx("span", { ...stylex.props(swatchStyles.slash) })]
19
+ });
20
+ };
21
+ //#endregion
22
+ export { Swatch as default };
23
+
24
+ //# sourceMappingURL=Swatch.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Swatch.mjs","names":[],"sources":["../../src/ColorPicker/Swatch.tsx"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\nimport type { CSSProperties } from 'react';\n\nimport { swatchStyles } from './style';\n\nexport interface SwatchProps {\n color?: string;\n radius: number | string;\n size: number;\n}\n\nconst Swatch = ({ color, radius, size }: SwatchProps) => {\n const boxStyle: CSSProperties = { borderRadius: radius, height: size, width: size };\n return (\n <span aria-hidden {...stylex.props(swatchStyles.box)} style={boxStyle}>\n <span {...stylex.props(swatchStyles.fill)} style={{ background: color || 'transparent' }} />\n {!color && <span {...stylex.props(swatchStyles.slash)} />}\n </span>\n );\n};\n\nexport default Swatch;\n"],"mappings":";;;;AAQA,MAAM,UAAU,EACd,OACA,QACA,WACiB;CACjB,MAAM,WAA0B;EAC9B,cAAc;EACd,QAAQ;EACR,OAAO;CACT;CACA,OAAO,qBAAC,QAAD;EAAM,eAAA;EAAY,GAAI,OAAO,MAAM,aAAa,GAAG;EAAG,OAAO;EAA7D,UAAA,CACH,oBAAC,QAAD;GAAM,GAAI,OAAO,MAAM,aAAa,IAAI;GAAG,OAAO,EAClD,YAAY,SAAS,cACvB;EAAI,CAAA,GACD,CAAC,SAAS,oBAAC,QAAD,EAAM,GAAI,OAAO,MAAM,aAAa,KAAK,EAAI,CAAA,CACpD;;AACV"}
@@ -0,0 +1,66 @@
1
+ "use client";
2
+ import { focusRing } from "../styles/stylex/focusRing.mjs";
3
+ import { styles, swatchStyles } from "./style.mjs";
4
+ import { useRecentColors } from "./recent.mjs";
5
+ import { useState } from "react";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ import * as stylex from "@stylexjs/stylex";
8
+ //#region src/ColorPicker/Swatches.tsx
9
+ const Swatches = ({ current, labels, onPick, presets = [], recent }) => {
10
+ const recentColors = useRecentColors();
11
+ const [tab, setTab] = useState("presets");
12
+ const shownRecent = recent ? recentColors : [];
13
+ const hasPresets = presets.length > 0;
14
+ const hasRecent = shownRecent.length > 0;
15
+ if (!hasPresets && !hasRecent) return null;
16
+ const tabbed = hasPresets && hasRecent;
17
+ const active = tabbed ? tab : hasPresets ? "presets" : "recent";
18
+ const colors = active === "recent" ? shownRecent : presets;
19
+ const currentKey = current.toLowerCase();
20
+ return /* @__PURE__ */ jsxs("div", {
21
+ ...stylex.props(styles.swatchSection),
22
+ children: [tabbed ? /* @__PURE__ */ jsx("div", {
23
+ "aria-label": labels.swatches,
24
+ role: "tablist",
25
+ ...stylex.props(styles.swatchHeader),
26
+ children: ["presets", "recent"].map((item) => /* @__PURE__ */ jsx("button", {
27
+ "aria-selected": active === item,
28
+ role: "tab",
29
+ type: "button",
30
+ ...stylex.props(focusRing.info, styles.swatchTab),
31
+ onClick: () => setTab(item),
32
+ children: labels[item]
33
+ }, item))
34
+ }) : /* @__PURE__ */ jsx("div", {
35
+ ...stylex.props(styles.swatchHeader),
36
+ children: /* @__PURE__ */ jsx("span", {
37
+ ...stylex.props(styles.swatchLabel),
38
+ children: labels[active]
39
+ })
40
+ }), /* @__PURE__ */ jsx("div", {
41
+ "aria-label": labels[active],
42
+ role: "group",
43
+ ...stylex.props(styles.swatchGrid),
44
+ children: colors.map((color) => {
45
+ const key = color.toLowerCase();
46
+ const selected = key === currentKey || key === currentKey.slice(0, 7);
47
+ return /* @__PURE__ */ jsx("button", {
48
+ "aria-label": color,
49
+ "aria-pressed": selected,
50
+ type: "button",
51
+ ...stylex.props(focusRing.info, styles.swatchItem),
52
+ style: { color },
53
+ onClick: () => onPick(color),
54
+ children: /* @__PURE__ */ jsx("span", {
55
+ ...stylex.props(swatchStyles.fill),
56
+ style: { background: color }
57
+ })
58
+ }, color);
59
+ })
60
+ })]
61
+ });
62
+ };
63
+ //#endregion
64
+ export { Swatches as default };
65
+
66
+ //# sourceMappingURL=Swatches.mjs.map