@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.
Files changed (1043) hide show
  1. package/README.md +6 -4
  2. package/es/Accordion/Accordion.mjs +3 -3
  3. package/es/Accordion/Accordion.mjs.map +1 -1
  4. package/es/Accordion/atoms.mjs +2 -2
  5. package/es/Accordion/atoms.mjs.map +1 -1
  6. package/es/Accordion/style.d.mts +1 -1
  7. package/es/ActionIcon/ActionIcon.mjs +2 -2
  8. package/es/ActionIcon/ActionIcon.mjs.map +1 -1
  9. package/es/ActionIcon/style.mjs +1 -1
  10. package/es/ActionIcon/style.mjs.map +1 -1
  11. package/es/ActionIcon/type.d.mts +1 -0
  12. package/es/Alert/Alert.mjs +5 -5
  13. package/es/Alert/Alert.mjs.map +1 -1
  14. package/es/Alert/type.d.mts +1 -0
  15. package/es/Anchor/Anchor.mjs +2 -2
  16. package/es/Anchor/Anchor.mjs.map +1 -1
  17. package/es/AutoComplete/AutoComplete.mjs +5 -5
  18. package/es/AutoComplete/AutoComplete.mjs.map +1 -1
  19. package/es/AutoComplete/style.d.mts +1 -0
  20. package/es/AutoComplete/style.mjs +2 -2
  21. package/es/AutoComplete/style.mjs.map +1 -1
  22. package/es/AutoComplete/type.d.mts +1 -0
  23. package/es/Avatar/Avatar.mjs +2 -2
  24. package/es/Avatar/Avatar.mjs.map +1 -1
  25. package/es/Avatar/AvatarGroup/index.mjs +2 -2
  26. package/es/Avatar/AvatarGroup/index.mjs.map +1 -1
  27. package/es/Breadcrumb/Breadcrumb.mjs +2 -2
  28. package/es/Breadcrumb/Breadcrumb.mjs.map +1 -1
  29. package/es/Button/Button.mjs +1 -1
  30. package/es/Button/Button.mjs.map +1 -1
  31. package/es/Button/style.d.mts +8 -1
  32. package/es/Button/style.mjs +41 -18
  33. package/es/Button/style.mjs.map +1 -1
  34. package/es/Button/type.d.mts +1 -0
  35. package/es/Carousel/Carousel.mjs +1 -1
  36. package/es/Carousel/Carousel.mjs.map +1 -1
  37. package/es/Checkbox/Checkbox.mjs +3 -3
  38. package/es/Checkbox/Checkbox.mjs.map +1 -1
  39. package/es/Checkbox/type.d.mts +1 -0
  40. package/es/CodeDiff/CodeDiff.mjs.map +1 -1
  41. package/es/CodeDiff/DiffPanel.mjs +6 -6
  42. package/es/CodeDiff/DiffPanel.mjs.map +1 -1
  43. package/es/CodeDiff/PatchDiff.mjs.map +1 -1
  44. package/es/CodeDiff/theme.mjs.map +1 -1
  45. package/es/CodeDiff/type.d.mts +2 -2
  46. package/es/CodeEditor/CodeEditor.mjs +5 -5
  47. package/es/CodeEditor/CodeEditor.mjs.map +1 -1
  48. package/es/ColorPicker/ColorInputs.mjs +136 -0
  49. package/es/ColorPicker/ColorInputs.mjs.map +1 -0
  50. package/es/ColorPicker/ColorPanel.mjs +145 -0
  51. package/es/ColorPicker/ColorPanel.mjs.map +1 -0
  52. package/es/ColorPicker/ColorPicker.mjs +63 -200
  53. package/es/ColorPicker/ColorPicker.mjs.map +1 -1
  54. package/es/ColorPicker/SaturationArea.mjs +2 -1
  55. package/es/ColorPicker/SaturationArea.mjs.map +1 -1
  56. package/es/ColorPicker/Swatch.mjs +24 -0
  57. package/es/ColorPicker/Swatch.mjs.map +1 -0
  58. package/es/ColorPicker/Swatches.mjs +66 -0
  59. package/es/ColorPicker/Swatches.mjs.map +1 -0
  60. package/es/ColorPicker/Trigger.mjs +112 -0
  61. package/es/ColorPicker/Trigger.mjs.map +1 -0
  62. package/es/ColorPicker/color.mjs +25 -1
  63. package/es/ColorPicker/color.mjs.map +1 -1
  64. package/es/ColorPicker/recent.mjs +25 -0
  65. package/es/ColorPicker/recent.mjs.map +1 -0
  66. package/es/ColorPicker/style.mjs +269 -70
  67. package/es/ColorPicker/style.mjs.map +1 -1
  68. package/es/ColorPicker/type.d.mts +15 -0
  69. package/es/ColorSwatches/ColorSwatches.mjs +18 -23
  70. package/es/ColorSwatches/ColorSwatches.mjs.map +1 -1
  71. package/es/ColorSwatches/CustomPicker.mjs +101 -0
  72. package/es/ColorSwatches/CustomPicker.mjs.map +1 -0
  73. package/es/ColorSwatches/index.d.mts +2 -2
  74. package/es/ColorSwatches/marker.stylex.mjs +9 -0
  75. package/es/ColorSwatches/marker.stylex.mjs.map +1 -0
  76. package/es/ColorSwatches/style.mjs +36 -0
  77. package/es/ColorSwatches/style.mjs.map +1 -1
  78. package/es/ColorSwatches/type.d.mts +12 -2
  79. package/es/ConfigProvider/cdnAssets.mjs +6 -0
  80. package/es/ConfigProvider/cdnAssets.mjs.map +1 -0
  81. package/es/ConfigProvider/index.mjs +2 -1
  82. package/es/ConfigProvider/index.mjs.map +1 -1
  83. package/es/ContextMenu/ContextMenuHost.mjs +2 -2
  84. package/es/ContextMenu/ContextMenuHost.mjs.map +1 -1
  85. package/es/ContextMenu/ContextMenuTrigger.mjs +2 -2
  86. package/es/ContextMenu/ContextMenuTrigger.mjs.map +1 -1
  87. package/es/ContextMenu/renderItems.mjs +3 -3
  88. package/es/ContextMenu/renderItems.mjs.map +1 -1
  89. package/es/ContextMenu/store.d.mts +0 -1
  90. package/es/ContextMenu/store.mjs.map +1 -1
  91. package/es/DatePicker/DatePicker.d.mts +9 -2
  92. package/es/DatePicker/DatePicker.mjs +15 -85
  93. package/es/DatePicker/DatePicker.mjs.map +1 -1
  94. package/es/DatePicker/DateRangePicker.d.mts +3 -2
  95. package/es/DatePicker/DateRangePicker.mjs +3 -125
  96. package/es/DatePicker/DateRangePicker.mjs.map +1 -1
  97. package/es/DatePicker/DayjsDatePicker.d.mts +12 -0
  98. package/es/DatePicker/DayjsDatePicker.mjs +19 -0
  99. package/es/DatePicker/DayjsDatePicker.mjs.map +1 -0
  100. package/es/DatePicker/DayjsDateRangePicker.d.mts +7 -0
  101. package/es/DatePicker/DayjsDateRangePicker.mjs +8 -0
  102. package/es/DatePicker/DayjsDateRangePicker.mjs.map +1 -0
  103. package/es/DatePicker/PurePanel.mjs +65 -0
  104. package/es/DatePicker/PurePanel.mjs.map +1 -0
  105. package/es/DatePicker/RangePicker.mjs +121 -0
  106. package/es/DatePicker/RangePicker.mjs.map +1 -0
  107. package/es/DatePicker/SinglePicker.mjs +134 -0
  108. package/es/DatePicker/SinglePicker.mjs.map +1 -0
  109. package/es/DatePicker/core/PickerInput/Popup/Footer.mjs +57 -0
  110. package/es/DatePicker/core/PickerInput/Popup/Footer.mjs.map +1 -0
  111. package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs +57 -0
  112. package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs.map +1 -0
  113. package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs +29 -0
  114. package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs.map +1 -0
  115. package/es/DatePicker/core/PickerInput/Popup/index.mjs +133 -0
  116. package/es/DatePicker/core/PickerInput/Popup/index.mjs.map +1 -0
  117. package/es/DatePicker/core/PickerInput/RangePicker.d.mts +51 -0
  118. package/es/DatePicker/core/PickerInput/RangePicker.mjs +343 -0
  119. package/es/DatePicker/core/PickerInput/RangePicker.mjs.map +1 -0
  120. package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs +27 -0
  121. package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs.map +1 -0
  122. package/es/DatePicker/core/PickerInput/Selector/Icon.mjs +19 -0
  123. package/es/DatePicker/core/PickerInput/Selector/Icon.mjs.map +1 -0
  124. package/es/DatePicker/core/PickerInput/Selector/Input.mjs +237 -0
  125. package/es/DatePicker/core/PickerInput/Selector/Input.mjs.map +1 -0
  126. package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs +70 -0
  127. package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs.map +1 -0
  128. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.d.mts +8 -0
  129. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs +136 -0
  130. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs.map +1 -0
  131. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs +28 -0
  132. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs.map +1 -0
  133. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs +69 -0
  134. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs.map +1 -0
  135. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs +111 -0
  136. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs.map +1 -0
  137. package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs +18 -0
  138. package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs.map +1 -0
  139. package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs +108 -0
  140. package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs.map +1 -0
  141. package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs +11 -0
  142. package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs.map +1 -0
  143. package/es/DatePicker/core/PickerInput/Selector/util.mjs +20 -0
  144. package/es/DatePicker/core/PickerInput/Selector/util.mjs.map +1 -0
  145. package/es/DatePicker/core/PickerInput/SinglePicker.d.mts +55 -0
  146. package/es/DatePicker/core/PickerInput/SinglePicker.mjs +318 -0
  147. package/es/DatePicker/core/PickerInput/SinglePicker.mjs.map +1 -0
  148. package/es/DatePicker/core/PickerInput/context.mjs +7 -0
  149. package/es/DatePicker/core/PickerInput/context.mjs.map +1 -0
  150. package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs +30 -0
  151. package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs.map +1 -0
  152. package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs +37 -0
  153. package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs.map +1 -0
  154. package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs +18 -0
  155. package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs.map +1 -0
  156. package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs +20 -0
  157. package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs.map +1 -0
  158. package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs +31 -0
  159. package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs.map +1 -0
  160. package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs +98 -0
  161. package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs.map +1 -0
  162. package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs +41 -0
  163. package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs.map +1 -0
  164. package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs +34 -0
  165. package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs.map +1 -0
  166. package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs +35 -0
  167. package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs.map +1 -0
  168. package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs +9 -0
  169. package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs.map +1 -0
  170. package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs +36 -0
  171. package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs.map +1 -0
  172. package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs +27 -0
  173. package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs.map +1 -0
  174. package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs +18 -0
  175. package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs.map +1 -0
  176. package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs +19 -0
  177. package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs.map +1 -0
  178. package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs +20 -0
  179. package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs.map +1 -0
  180. package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs +24 -0
  181. package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs.map +1 -0
  182. package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs +107 -0
  183. package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs.map +1 -0
  184. package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs +144 -0
  185. package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs.map +1 -0
  186. package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs +219 -0
  187. package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs.map +1 -0
  188. package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs +11 -0
  189. package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs.map +1 -0
  190. package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs +131 -0
  191. package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs.map +1 -0
  192. package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs +35 -0
  193. package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs.map +1 -0
  194. package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs +84 -0
  195. package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs.map +1 -0
  196. package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs +73 -0
  197. package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs.map +1 -0
  198. package/es/DatePicker/core/PickerPanel/PanelBody.mjs +95 -0
  199. package/es/DatePicker/core/PickerPanel/PanelBody.mjs.map +1 -0
  200. package/es/DatePicker/core/PickerPanel/PanelHeader.mjs +130 -0
  201. package/es/DatePicker/core/PickerPanel/PanelHeader.mjs.map +1 -0
  202. package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs +64 -0
  203. package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs.map +1 -0
  204. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs +108 -0
  205. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs.map +1 -0
  206. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs +44 -0
  207. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs.map +1 -0
  208. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs +157 -0
  209. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs.map +1 -0
  210. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs +100 -0
  211. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs.map +1 -0
  212. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs +71 -0
  213. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs.map +1 -0
  214. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs +62 -0
  215. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs.map +1 -0
  216. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs +200 -0
  217. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs.map +1 -0
  218. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs +25 -0
  219. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs.map +1 -0
  220. package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs +31 -0
  221. package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs.map +1 -0
  222. package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs +34 -0
  223. package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs.map +1 -0
  224. package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs +92 -0
  225. package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs.map +1 -0
  226. package/es/DatePicker/core/PickerPanel/context.mjs +48 -0
  227. package/es/DatePicker/core/PickerPanel/context.mjs.map +1 -0
  228. package/es/DatePicker/core/PickerPanel/index.d.mts +1 -0
  229. package/es/DatePicker/core/PickerPanel/index.mjs +175 -0
  230. package/es/DatePicker/core/PickerPanel/index.mjs.map +1 -0
  231. package/es/DatePicker/core/PickerPopup.mjs +118 -0
  232. package/es/DatePicker/core/PickerPopup.mjs.map +1 -0
  233. package/es/DatePicker/core/generate/dayjs.mjs +109 -0
  234. package/es/DatePicker/core/generate/dayjs.mjs.map +1 -0
  235. package/es/DatePicker/core/generate/index.d.mts +40 -0
  236. package/es/DatePicker/core/hooks/react.mjs +58 -0
  237. package/es/DatePicker/core/hooks/react.mjs.map +1 -0
  238. package/es/DatePicker/core/hooks/useLocale.mjs +51 -0
  239. package/es/DatePicker/core/hooks/useLocale.mjs.map +1 -0
  240. package/es/DatePicker/core/hooks/useSemantic.mjs +20 -0
  241. package/es/DatePicker/core/hooks/useSemantic.mjs.map +1 -0
  242. package/es/DatePicker/core/hooks/useSyncState.mjs +25 -0
  243. package/es/DatePicker/core/hooks/useSyncState.mjs.map +1 -0
  244. package/es/DatePicker/core/hooks/useTimeConfig.mjs +173 -0
  245. package/es/DatePicker/core/hooks/useTimeConfig.mjs.map +1 -0
  246. package/es/DatePicker/core/hooks/useTimeInfo.mjs +110 -0
  247. package/es/DatePicker/core/hooks/useTimeInfo.mjs.map +1 -0
  248. package/es/DatePicker/core/hooks/useToggleDates.mjs +21 -0
  249. package/es/DatePicker/core/hooks/useToggleDates.mjs.map +1 -0
  250. package/es/DatePicker/core/index.d.mts +5 -0
  251. package/es/DatePicker/core/index.mjs +9 -0
  252. package/es/DatePicker/core/index.mjs.map +1 -0
  253. package/es/DatePicker/core/interface.d.mts +325 -0
  254. package/es/DatePicker/core/locale/common.mjs +11 -0
  255. package/es/DatePicker/core/locale/common.mjs.map +1 -0
  256. package/es/DatePicker/core/locale/en_US.mjs +39 -0
  257. package/es/DatePicker/core/locale/en_US.mjs.map +1 -0
  258. package/es/DatePicker/core/utils/common.mjs +73 -0
  259. package/es/DatePicker/core/utils/common.mjs.map +1 -0
  260. package/es/DatePicker/core/utils/dateUtil.mjs +106 -0
  261. package/es/DatePicker/core/utils/dateUtil.mjs.map +1 -0
  262. package/es/DatePicker/core/utils/miscUtil.mjs +46 -0
  263. package/es/DatePicker/core/utils/miscUtil.mjs.map +1 -0
  264. package/es/DatePicker/core/utils/uiUtil.mjs +9 -0
  265. package/es/DatePicker/core/utils/uiUtil.mjs.map +1 -0
  266. package/es/DatePicker/dateGenerateConfig.mjs +52 -0
  267. package/es/DatePicker/dateGenerateConfig.mjs.map +1 -0
  268. package/es/DatePicker/generateConfig.mjs +12 -0
  269. package/es/DatePicker/generateConfig.mjs.map +1 -0
  270. package/es/DatePicker/generatePicker.d.mts +12 -0
  271. package/es/DatePicker/generatePicker.mjs +22 -0
  272. package/es/DatePicker/generatePicker.mjs.map +1 -0
  273. package/es/DatePicker/index.d.mts +8 -3
  274. package/es/DatePicker/index.mjs +5 -1
  275. package/es/DatePicker/legacyDate.mjs +58 -0
  276. package/es/DatePicker/legacyDate.mjs.map +1 -0
  277. package/es/DatePicker/locale.d.mts +15 -0
  278. package/es/DatePicker/locale.mjs +143 -0
  279. package/es/DatePicker/locale.mjs.map +1 -0
  280. package/es/DatePicker/semantic.mjs +29 -0
  281. package/es/DatePicker/semantic.mjs.map +1 -0
  282. package/es/DatePicker/style.mjs +3 -155
  283. package/es/DatePicker/style.mjs.map +1 -1
  284. package/es/DatePicker/type.d.mts +294 -27
  285. package/es/DatePicker/usePanelKeyboard.mjs +230 -0
  286. package/es/DatePicker/usePanelKeyboard.mjs.map +1 -0
  287. package/es/DatePicker/usePickerShared.mjs +106 -0
  288. package/es/DatePicker/usePickerShared.mjs.map +1 -0
  289. package/es/DatePicker/usePresetActive.mjs +49 -0
  290. package/es/DatePicker/usePresetActive.mjs.map +1 -0
  291. package/es/DraggablePanel/atoms.mjs +6 -6
  292. package/es/DraggablePanel/atoms.mjs.map +1 -1
  293. package/es/DraggableSideNav/DraggableSideNav.mjs +5 -5
  294. package/es/DraggableSideNav/DraggableSideNav.mjs.map +1 -1
  295. package/es/Drawer/Drawer.mjs +2 -2
  296. package/es/Drawer/Drawer.mjs.map +1 -1
  297. package/es/Drawer/atoms.d.mts +1 -0
  298. package/es/Drawer/atoms.mjs +7 -7
  299. package/es/Drawer/atoms.mjs.map +1 -1
  300. package/es/Drawer/constants.d.mts +1 -0
  301. package/es/Drawer/style.mjs.map +1 -1
  302. package/es/DropdownMenu/atoms.mjs +23 -23
  303. package/es/DropdownMenu/atoms.mjs.map +1 -1
  304. package/es/DropdownMenu/sharedStyle.mjs +2 -2
  305. package/es/DropdownMenu/sharedStyle.mjs.map +1 -1
  306. package/es/EditableText/ControlInput.mjs +42 -29
  307. package/es/EditableText/ControlInput.mjs.map +1 -1
  308. package/es/EditableText/EditableText.mjs +2 -2
  309. package/es/EditableText/EditableText.mjs.map +1 -1
  310. package/es/EditorSlashMenu/atoms.mjs +12 -12
  311. package/es/EditorSlashMenu/atoms.mjs.map +1 -1
  312. package/es/EmojiPicker/EmojiPicker.mjs +10 -16
  313. package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
  314. package/es/EmojiPicker/loadEmojiData.mjs +6 -0
  315. package/es/EmojiPicker/loadEmojiData.mjs.map +1 -0
  316. package/es/EmojiPicker/useEmojiMartI18n.mjs +37 -0
  317. package/es/EmojiPicker/useEmojiMartI18n.mjs.map +1 -0
  318. package/es/FileTypeIcon/type.d.mts +1 -0
  319. package/es/FloatingPanel/FloatingPanel.mjs +2 -2
  320. package/es/FloatingPanel/FloatingPanel.mjs.map +1 -1
  321. package/es/FloatingPanel/style.mjs +3 -2
  322. package/es/FloatingPanel/style.mjs.map +1 -1
  323. package/es/Form/Form.mjs +6 -2
  324. package/es/Form/Form.mjs.map +1 -1
  325. package/es/Form/style.mjs +3 -3
  326. package/es/Form/style.mjs.map +1 -1
  327. package/es/Form/type.d.mts +8 -0
  328. package/es/FormKit/List.mjs +2 -2
  329. package/es/FormKit/List.mjs.map +1 -1
  330. package/es/FormKit/engine/tanstack.mjs +1 -1
  331. package/es/FormKit/engine/tanstack.mjs.map +1 -1
  332. package/es/Grid/style.mjs +1 -1
  333. package/es/Grid/style.mjs.map +1 -1
  334. package/es/GroupAvatar/type.d.mts +1 -0
  335. package/es/Highlighter/FullFeatured.mjs +2 -2
  336. package/es/Highlighter/FullFeatured.mjs.map +1 -1
  337. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs +2 -2
  338. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs.map +1 -1
  339. package/es/Highlighter/SyntaxHighlighter/index.mjs +4 -4
  340. package/es/Highlighter/SyntaxHighlighter/index.mjs.map +1 -1
  341. package/es/Highlighter/const.d.mts +1 -0
  342. package/es/Highlighter/style.mjs +2 -2
  343. package/es/Highlighter/style.mjs.map +1 -1
  344. package/es/HotkeyInput/HotkeyInput.mjs +1 -1
  345. package/es/HotkeyInput/HotkeyInput.mjs.map +1 -1
  346. package/es/HtmlPreview/HtmlPreview.mjs +2 -2
  347. package/es/HtmlPreview/HtmlPreview.mjs.map +1 -1
  348. package/es/Icon/Icon.mjs +2 -2
  349. package/es/Icon/Icon.mjs.map +1 -1
  350. package/es/Image/type.d.mts +1 -0
  351. package/es/Image/viewer/ImageViewer.mjs +2 -1
  352. package/es/Image/viewer/ImageViewer.mjs.map +1 -1
  353. package/es/Image/viewer/Toolbar.mjs +19 -6
  354. package/es/Image/viewer/Toolbar.mjs.map +1 -1
  355. package/es/Image/viewer/ViewerChrome.mjs.map +1 -1
  356. package/es/ImageSelect/ImageSelect.mjs +1 -1
  357. package/es/ImageSelect/ImageSelect.mjs.map +1 -1
  358. package/es/Input/Input.mjs +7 -5
  359. package/es/Input/Input.mjs.map +1 -1
  360. package/es/Input/TextArea.mjs +1 -1
  361. package/es/Input/TextArea.mjs.map +1 -1
  362. package/es/Input/style.d.mts +1 -0
  363. package/es/Input/style.mjs +3 -3
  364. package/es/Input/style.mjs.map +1 -1
  365. package/es/Input/type.d.mts +1 -0
  366. package/es/List/ListRow.mjs +3 -3
  367. package/es/List/ListRow.mjs.map +1 -1
  368. package/es/Markdown/Markdown.mjs +2 -2
  369. package/es/Markdown/Markdown.mjs.map +1 -1
  370. package/es/Markdown/Typography.mjs +2 -2
  371. package/es/Markdown/Typography.mjs.map +1 -1
  372. package/es/Markdown/plugins/remarkColor.d.mts +1 -0
  373. package/es/Markdown/plugins/remarkGfmPlus.d.mts +1 -0
  374. package/es/Markdown/plugins/remarkVideo.d.mts +1 -0
  375. package/es/Mermaid/FullFeatured.mjs +2 -2
  376. package/es/Mermaid/FullFeatured.mjs.map +1 -1
  377. package/es/Mermaid/SyntaxMermaid/index.mjs +4 -4
  378. package/es/Mermaid/SyntaxMermaid/index.mjs.map +1 -1
  379. package/es/Mermaid/const.d.mts +1 -0
  380. package/es/Modal/atoms.d.mts +1 -0
  381. package/es/Modal/atoms.mjs +8 -8
  382. package/es/Modal/atoms.mjs.map +1 -1
  383. package/es/Modal/constants.d.mts +1 -0
  384. package/es/Modal/type.d.mts +1 -0
  385. package/es/Pagination/Pagination.mjs +182 -42
  386. package/es/Pagination/Pagination.mjs.map +1 -1
  387. package/es/Pagination/helpers.mjs +3 -3
  388. package/es/Pagination/helpers.mjs.map +1 -1
  389. package/es/Pagination/index.d.mts +2 -2
  390. package/es/Pagination/marker.stylex.mjs +9 -0
  391. package/es/Pagination/marker.stylex.mjs.map +1 -0
  392. package/es/Pagination/style.mjs +74 -4
  393. package/es/Pagination/style.mjs.map +1 -1
  394. package/es/Pagination/type.d.mts +41 -3
  395. package/es/Popover/PopoverInGroup.mjs +3 -3
  396. package/es/Popover/PopoverInGroup.mjs.map +1 -1
  397. package/es/Popover/atoms.mjs +7 -7
  398. package/es/Popover/atoms.mjs.map +1 -1
  399. package/es/Popover/style.mjs +1 -1
  400. package/es/Popover/style.mjs.map +1 -1
  401. package/es/ProTable/ProTable.d.mts +11 -0
  402. package/es/ProTable/ProTable.mjs +208 -0
  403. package/es/ProTable/ProTable.mjs.map +1 -0
  404. package/es/ProTable/hooks/useColumnRequest.mjs +55 -0
  405. package/es/ProTable/hooks/useColumnRequest.mjs.map +1 -0
  406. package/es/ProTable/hooks/useColumnsState.mjs +37 -0
  407. package/es/ProTable/hooks/useColumnsState.mjs.map +1 -0
  408. package/es/ProTable/hooks/useDelayedFlag.mjs +18 -0
  409. package/es/ProTable/hooks/useDelayedFlag.mjs.map +1 -0
  410. package/es/ProTable/hooks/useDensity.mjs +15 -0
  411. package/es/ProTable/hooks/useDensity.mjs.map +1 -0
  412. package/es/ProTable/hooks/useFetchData.mjs +97 -0
  413. package/es/ProTable/hooks/useFetchData.mjs.map +1 -0
  414. package/es/ProTable/hooks/useFullscreen.mjs +22 -0
  415. package/es/ProTable/hooks/useFullscreen.mjs.map +1 -0
  416. package/es/ProTable/hooks/usePageInfo.mjs +35 -0
  417. package/es/ProTable/hooks/usePageInfo.mjs.map +1 -0
  418. package/es/ProTable/hooks/useProColumns.mjs +123 -0
  419. package/es/ProTable/hooks/useProColumns.mjs.map +1 -0
  420. package/es/ProTable/hooks/useProLoading.mjs +19 -0
  421. package/es/ProTable/hooks/useProLoading.mjs.map +1 -0
  422. package/es/ProTable/hooks/useProLocale.mjs +22 -0
  423. package/es/ProTable/hooks/useProLocale.mjs.map +1 -0
  424. package/es/ProTable/hooks/useProRequest.mjs +137 -0
  425. package/es/ProTable/hooks/useProRequest.mjs.map +1 -0
  426. package/es/ProTable/hooks/useRowCache.mjs +11 -0
  427. package/es/ProTable/hooks/useRowCache.mjs.map +1 -0
  428. package/es/ProTable/hooks/useSearchForm.mjs +141 -0
  429. package/es/ProTable/hooks/useSearchForm.mjs.map +1 -0
  430. package/es/ProTable/hooks/useTableBindings.mjs +39 -0
  431. package/es/ProTable/hooks/useTableBindings.mjs.map +1 -0
  432. package/es/ProTable/hooks/useTableSelection.mjs +14 -0
  433. package/es/ProTable/hooks/useTableSelection.mjs.map +1 -0
  434. package/es/ProTable/index.d.mts +4 -0
  435. package/es/ProTable/index.d.ts +1 -0
  436. package/es/ProTable/index.js +1 -0
  437. package/es/ProTable/index.mjs +3 -0
  438. package/es/ProTable/locale.d.mts +15 -0
  439. package/es/ProTable/locale.mjs +66 -0
  440. package/es/ProTable/locale.mjs.map +1 -0
  441. package/es/ProTable/parts/ColumnSetting.mjs +155 -0
  442. package/es/ProTable/parts/ColumnSetting.mjs.map +1 -0
  443. package/es/ProTable/parts/FieldControl.mjs +134 -0
  444. package/es/ProTable/parts/FieldControl.mjs.map +1 -0
  445. package/es/ProTable/parts/KeywordInput.mjs +19 -0
  446. package/es/ProTable/parts/KeywordInput.mjs.map +1 -0
  447. package/es/ProTable/parts/LightFilter.mjs +70 -0
  448. package/es/ProTable/parts/LightFilter.mjs.map +1 -0
  449. package/es/ProTable/parts/OptionPopover.mjs +17 -0
  450. package/es/ProTable/parts/OptionPopover.mjs.map +1 -0
  451. package/es/ProTable/parts/SearchForm.mjs +180 -0
  452. package/es/ProTable/parts/SearchForm.mjs.map +1 -0
  453. package/es/ProTable/parts/SearchSection.mjs +33 -0
  454. package/es/ProTable/parts/SearchSection.mjs.map +1 -0
  455. package/es/ProTable/parts/TableAlert.mjs +38 -0
  456. package/es/ProTable/parts/TableAlert.mjs.map +1 -0
  457. package/es/ProTable/parts/Toolbar.mjs +50 -0
  458. package/es/ProTable/parts/Toolbar.mjs.map +1 -0
  459. package/es/ProTable/parts/ToolbarOptions.mjs +103 -0
  460. package/es/ProTable/parts/ToolbarOptions.mjs.map +1 -0
  461. package/es/ProTable/parts/renderValue.mjs +118 -0
  462. package/es/ProTable/parts/renderValue.mjs.map +1 -0
  463. package/es/ProTable/style.mjs +287 -0
  464. package/es/ProTable/style.mjs.map +1 -0
  465. package/es/ProTable/type.d.mts +400 -0
  466. package/es/ProTable/utils.mjs +152 -0
  467. package/es/ProTable/utils.mjs.map +1 -0
  468. package/es/Radio/Radio.mjs +3 -3
  469. package/es/Radio/Radio.mjs.map +1 -1
  470. package/es/Radio/type.d.mts +1 -0
  471. package/es/Rate/Rate.mjs +1 -1
  472. package/es/Rate/Rate.mjs.map +1 -1
  473. package/es/ScrollArea/atoms.mjs +4 -4
  474. package/es/ScrollArea/atoms.mjs.map +1 -1
  475. package/es/ScrollShadow/ScrollShadow.mjs +1 -1
  476. package/es/ScrollShadow/ScrollShadow.mjs.map +1 -1
  477. package/es/SearchBar/SearchBar.mjs +31 -25
  478. package/es/SearchBar/SearchBar.mjs.map +1 -1
  479. package/es/Segmented/Segmented.mjs +4 -4
  480. package/es/Segmented/Segmented.mjs.map +1 -1
  481. package/es/Segmented/atoms.d.mts +1 -0
  482. package/es/Segmented/atoms.mjs +2 -2
  483. package/es/Segmented/atoms.mjs.map +1 -1
  484. package/es/Select/Select.mjs +22 -13
  485. package/es/Select/Select.mjs.map +1 -1
  486. package/es/Select/atoms.mjs +5 -5
  487. package/es/Select/atoms.mjs.map +1 -1
  488. package/es/Select/helpers.mjs +8 -1
  489. package/es/Select/helpers.mjs.map +1 -1
  490. package/es/Select/hooks.mjs +8 -4
  491. package/es/Select/hooks.mjs.map +1 -1
  492. package/es/Select/renderOptions.mjs +2 -2
  493. package/es/Select/renderOptions.mjs.map +1 -1
  494. package/es/Select/type.d.mts +7 -0
  495. package/es/Slider/type.d.mts +1 -0
  496. package/es/Switch/Switch.mjs +9 -2
  497. package/es/Switch/Switch.mjs.map +1 -1
  498. package/es/Switch/atoms.d.mts +8 -1
  499. package/es/Switch/atoms.mjs +23 -7
  500. package/es/Switch/atoms.mjs.map +1 -1
  501. package/es/Switch/style.mjs +33 -2
  502. package/es/Switch/style.mjs.map +1 -1
  503. package/es/Table/Column.d.mts +8 -0
  504. package/es/Table/Column.mjs +6 -0
  505. package/es/Table/Column.mjs.map +1 -0
  506. package/es/Table/ColumnGroup.d.mts +11 -0
  507. package/es/Table/ColumnGroup.mjs +6 -0
  508. package/es/Table/ColumnGroup.mjs.map +1 -0
  509. package/es/Table/Table.d.mts +16 -2
  510. package/es/Table/Table.mjs +158 -118
  511. package/es/Table/Table.mjs.map +1 -1
  512. package/es/Table/atoms/cells.d.mts +42 -0
  513. package/es/Table/atoms/cells.mjs +72 -0
  514. package/es/Table/atoms/cells.mjs.map +1 -0
  515. package/es/Table/atoms/index.d.mts +3 -0
  516. package/es/Table/atoms/layout.d.mts +44 -0
  517. package/es/Table/atoms/layout.mjs +62 -0
  518. package/es/Table/atoms/layout.mjs.map +1 -0
  519. package/es/Table/constants.mjs +16 -0
  520. package/es/Table/constants.mjs.map +1 -0
  521. package/es/Table/engine/fixed.d.mts +1 -0
  522. package/es/Table/engine/fixed.mjs +53 -0
  523. package/es/Table/engine/fixed.mjs.map +1 -0
  524. package/es/Table/engine/types.d.mts +1 -0
  525. package/es/Table/engine/useTableEngine.mjs +180 -0
  526. package/es/Table/engine/useTableEngine.mjs.map +1 -0
  527. package/es/Table/index.d.mts +7 -2
  528. package/es/Table/index.mjs +4 -1
  529. package/es/Table/internal.d.mts +3 -0
  530. package/es/Table/pipeline/columnUtils.d.mts +5 -0
  531. package/es/Table/pipeline/columnUtils.mjs +58 -0
  532. package/es/Table/pipeline/columnUtils.mjs.map +1 -0
  533. package/es/Table/pipeline/convertChildrenToColumns.mjs +24 -0
  534. package/es/Table/pipeline/convertChildrenToColumns.mjs.map +1 -0
  535. package/es/Table/pipeline/normalizeColumns.mjs +140 -0
  536. package/es/Table/pipeline/normalizeColumns.mjs.map +1 -0
  537. package/es/Table/pipeline/selectionUtils.d.mts +9 -0
  538. package/es/Table/pipeline/selectionUtils.mjs +115 -0
  539. package/es/Table/pipeline/selectionUtils.mjs.map +1 -0
  540. package/es/Table/pipeline/useBreakpoint.mjs +36 -0
  541. package/es/Table/pipeline/useBreakpoint.mjs.map +1 -0
  542. package/es/Table/pipeline/useExpandable.mjs +45 -0
  543. package/es/Table/pipeline/useExpandable.mjs.map +1 -0
  544. package/es/Table/pipeline/useFilter.mjs +52 -0
  545. package/es/Table/pipeline/useFilter.mjs.map +1 -0
  546. package/es/Table/pipeline/useSelection.mjs +302 -0
  547. package/es/Table/pipeline/useSelection.mjs.map +1 -0
  548. package/es/Table/pipeline/useSorter.mjs +146 -0
  549. package/es/Table/pipeline/useSorter.mjs.map +1 -0
  550. package/es/Table/pipeline/useTableLocale.mjs +30 -0
  551. package/es/Table/pipeline/useTableLocale.mjs.map +1 -0
  552. package/es/Table/pipeline/useTableState.mjs +118 -0
  553. package/es/Table/pipeline/useTableState.mjs.map +1 -0
  554. package/es/Table/pipeline/useVirtualLayout.mjs +80 -0
  555. package/es/Table/pipeline/useVirtualLayout.mjs.map +1 -0
  556. package/es/Table/render/Body.mjs +150 -0
  557. package/es/Table/render/Body.mjs.map +1 -0
  558. package/es/Table/render/BodyCell.mjs +87 -0
  559. package/es/Table/render/BodyCell.mjs.map +1 -0
  560. package/es/Table/render/CellShell.mjs +84 -0
  561. package/es/Table/render/CellShell.mjs.map +1 -0
  562. package/es/Table/render/ExpandIcon.mjs +28 -0
  563. package/es/Table/render/ExpandIcon.mjs.map +1 -0
  564. package/es/Table/render/FilterDropdown.mjs +139 -0
  565. package/es/Table/render/FilterDropdown.mjs.map +1 -0
  566. package/es/Table/render/FilterPanel.mjs +152 -0
  567. package/es/Table/render/FilterPanel.mjs.map +1 -0
  568. package/es/Table/render/FixedFrost.mjs +122 -0
  569. package/es/Table/render/FixedFrost.mjs.map +1 -0
  570. package/es/Table/render/FixedHolder.mjs +51 -0
  571. package/es/Table/render/FixedHolder.mjs.map +1 -0
  572. package/es/Table/render/Header.mjs +184 -0
  573. package/es/Table/render/Header.mjs.map +1 -0
  574. package/es/Table/render/LoadingSkeleton.mjs +78 -0
  575. package/es/Table/render/LoadingSkeleton.mjs.map +1 -0
  576. package/es/Table/render/PaginationBar.mjs +71 -0
  577. package/es/Table/render/PaginationBar.mjs.map +1 -0
  578. package/es/Table/render/SelectionCells.mjs +111 -0
  579. package/es/Table/render/SelectionCells.mjs.map +1 -0
  580. package/es/Table/render/StickyScrollBar.mjs +99 -0
  581. package/es/Table/render/StickyScrollBar.mjs.map +1 -0
  582. package/es/Table/render/Summary.d.mts +16 -0
  583. package/es/Table/render/Summary.mjs +58 -0
  584. package/es/Table/render/Summary.mjs.map +1 -0
  585. package/es/Table/render/TableView.mjs +215 -0
  586. package/es/Table/render/TableView.mjs.map +1 -0
  587. package/es/Table/render/VirtualBody.mjs +101 -0
  588. package/es/Table/render/VirtualBody.mjs.map +1 -0
  589. package/es/Table/render/context.mjs +15 -0
  590. package/es/Table/render/context.mjs.map +1 -0
  591. package/es/Table/render/filterUtils.mjs +22 -0
  592. package/es/Table/render/filterUtils.mjs.map +1 -0
  593. package/es/Table/render/tableHelpers.mjs +27 -0
  594. package/es/Table/render/tableHelpers.mjs.map +1 -0
  595. package/es/Table/render/useColGroups.mjs +23 -0
  596. package/es/Table/render/useColGroups.mjs.map +1 -0
  597. package/es/Table/render/useScrollSync.mjs +104 -0
  598. package/es/Table/render/useScrollSync.mjs.map +1 -0
  599. package/es/Table/render/useViewContexts.mjs +134 -0
  600. package/es/Table/render/useViewContexts.mjs.map +1 -0
  601. package/es/Table/semantic.mjs +45 -0
  602. package/es/Table/semantic.mjs.map +1 -0
  603. package/es/Table/store/createTableStore.d.mts +1 -0
  604. package/es/Table/store/createTableStore.mjs +40 -0
  605. package/es/Table/store/createTableStore.mjs.map +1 -0
  606. package/es/Table/store/hooks.mjs +24 -0
  607. package/es/Table/store/hooks.mjs.map +1 -0
  608. package/es/Table/style.mjs +179 -90
  609. package/es/Table/style.mjs.map +1 -1
  610. package/es/Table/type.d.mts +467 -37
  611. package/es/Table/useTableController.mjs +293 -0
  612. package/es/Table/useTableController.mjs.map +1 -0
  613. package/es/Tabs/Tabs.mjs +37 -23
  614. package/es/Tabs/Tabs.mjs.map +1 -1
  615. package/es/Tabs/atoms.mjs +2 -2
  616. package/es/Tabs/atoms.mjs.map +1 -1
  617. package/es/Tabs/style.d.mts +1 -1
  618. package/es/Tag/Tag.mjs +2 -2
  619. package/es/Tag/Tag.mjs.map +1 -1
  620. package/es/Text/Text.mjs +2 -2
  621. package/es/Text/Text.mjs.map +1 -1
  622. package/es/Text/style.d.mts +1 -0
  623. package/es/Text/style.mjs +3 -3
  624. package/es/Text/style.mjs.map +1 -1
  625. package/es/Toast/dodge.mjs +0 -1
  626. package/es/Toast/dodge.mjs.map +1 -1
  627. package/es/Toast/dodge.stylex.mjs +1 -4
  628. package/es/Toast/dodge.stylex.mjs.map +1 -1
  629. package/es/Toast/style.mjs +1 -1
  630. package/es/Toast/style.mjs.map +1 -1
  631. package/es/ToggleGroup/ToggleGroup.mjs +4 -4
  632. package/es/ToggleGroup/ToggleGroup.mjs.map +1 -1
  633. package/es/ToggleGroup/atoms.d.mts +1 -0
  634. package/es/ToggleGroup/atoms.mjs +2 -2
  635. package/es/ToggleGroup/atoms.mjs.map +1 -1
  636. package/es/Tooltip/TooltipGroup.mjs +3 -3
  637. package/es/Tooltip/TooltipGroup.mjs.map +1 -1
  638. package/es/Tooltip/TooltipInGroup.mjs +1 -1
  639. package/es/Tooltip/TooltipInGroup.mjs.map +1 -1
  640. package/es/Tooltip/TooltipStandalone.mjs +4 -4
  641. package/es/Tooltip/TooltipStandalone.mjs.map +1 -1
  642. package/es/Tooltip/style.mjs +2 -2
  643. package/es/Tooltip/style.mjs.map +1 -1
  644. package/es/Tree/Tree.mjs +3 -3
  645. package/es/Tree/Tree.mjs.map +1 -1
  646. package/es/Tree/TreeNode.mjs +2 -2
  647. package/es/Tree/TreeNode.mjs.map +1 -1
  648. package/es/Video/Video.mjs +46 -0
  649. package/es/Video/Video.mjs.map +1 -0
  650. package/es/Video/context.mjs +14 -0
  651. package/es/Video/context.mjs.map +1 -0
  652. package/es/Video/index.d.mts +23 -39
  653. package/es/Video/index.mjs +21 -111
  654. package/es/Video/index.mjs.map +1 -1
  655. package/es/Video/parts/Caption.d.mts +9 -0
  656. package/es/Video/parts/Caption.mjs +37 -0
  657. package/es/Video/parts/Caption.mjs.map +1 -0
  658. package/es/Video/parts/CenterPlay.d.mts +8 -0
  659. package/es/Video/parts/CenterPlay.mjs +34 -0
  660. package/es/Video/parts/CenterPlay.mjs.map +1 -0
  661. package/es/Video/parts/Controls.d.mts +9 -0
  662. package/es/Video/parts/Controls.mjs +128 -0
  663. package/es/Video/parts/Controls.mjs.map +1 -0
  664. package/es/Video/parts/Frame.d.mts +9 -0
  665. package/es/Video/parts/Frame.mjs +101 -0
  666. package/es/Video/parts/Frame.mjs.map +1 -0
  667. package/es/Video/parts/HoverPreview.mjs +93 -0
  668. package/es/Video/parts/HoverPreview.mjs.map +1 -0
  669. package/es/Video/parts/LoadError.d.mts +8 -0
  670. package/es/Video/parts/LoadError.mjs +47 -0
  671. package/es/Video/parts/LoadError.mjs.map +1 -0
  672. package/es/Video/parts/PlayPauseIcon.mjs +48 -0
  673. package/es/Video/parts/PlayPauseIcon.mjs.map +1 -0
  674. package/es/Video/parts/RateMenu.mjs +48 -0
  675. package/es/Video/parts/RateMenu.mjs.map +1 -0
  676. package/es/Video/parts/Root.d.mts +9 -0
  677. package/es/Video/parts/Root.mjs +110 -0
  678. package/es/Video/parts/Root.mjs.map +1 -0
  679. package/es/Video/parts/SectionList.d.mts +9 -0
  680. package/es/Video/parts/SectionList.mjs +32 -0
  681. package/es/Video/parts/SectionList.mjs.map +1 -0
  682. package/es/Video/parts/SectionMenu.mjs +63 -0
  683. package/es/Video/parts/SectionMenu.mjs.map +1 -0
  684. package/es/Video/parts/Timeline.d.mts +9 -0
  685. package/es/Video/parts/Timeline.mjs +169 -0
  686. package/es/Video/parts/Timeline.mjs.map +1 -0
  687. package/es/Video/store.mjs +241 -0
  688. package/es/Video/store.mjs.map +1 -0
  689. package/es/Video/style.mjs +393 -23
  690. package/es/Video/style.mjs.map +1 -1
  691. package/es/Video/time.mjs +60 -0
  692. package/es/Video/time.mjs.map +1 -0
  693. package/es/Video/type.d.mts +125 -0
  694. package/es/Video/useControlsIdle.mjs +39 -0
  695. package/es/Video/useControlsIdle.mjs.map +1 -0
  696. package/es/Video/useFullscreen.mjs +17 -0
  697. package/es/Video/useFullscreen.mjs.map +1 -0
  698. package/es/Video/useKeyboard.mjs +60 -0
  699. package/es/Video/useKeyboard.mjs.map +1 -0
  700. package/es/Video/useVideo.d.mts +9 -0
  701. package/es/Video/useVideo.mjs +17 -0
  702. package/es/Video/useVideo.mjs.map +1 -0
  703. package/es/awesome/Features/FeatureItem.mjs +2 -2
  704. package/es/awesome/Features/FeatureItem.mjs.map +1 -1
  705. package/es/awesome/Giscus/style.mjs +9 -9
  706. package/es/awesome/Giscus/style.mjs.map +1 -1
  707. package/es/awesome/Grainient/Grainient.d.mts +11 -0
  708. package/es/awesome/Grainient/Grainient.mjs +314 -0
  709. package/es/awesome/Grainient/Grainient.mjs.map +1 -0
  710. package/es/awesome/Grainient/index.d.mts +3 -0
  711. package/es/awesome/Grainient/style.mjs +23 -0
  712. package/es/awesome/Grainient/style.mjs.map +1 -0
  713. package/es/awesome/Grainient/type.d.mts +121 -0
  714. package/es/awesome/GridBackground/GridBackground.mjs +1 -1
  715. package/es/awesome/GridBackground/GridBackground.mjs.map +1 -1
  716. package/es/awesome/GridBackground/GridShowcase.mjs +4 -4
  717. package/es/awesome/GridBackground/GridShowcase.mjs.map +1 -1
  718. package/es/awesome/Hero/Hero.mjs +3 -3
  719. package/es/awesome/Hero/Hero.mjs.map +1 -1
  720. package/es/awesome/InstallBanner/InstallBanner.mjs +2 -2
  721. package/es/awesome/InstallBanner/InstallBanner.mjs.map +1 -1
  722. package/es/awesome/LandingHero/LandingHero.mjs +3 -3
  723. package/es/awesome/LandingHero/LandingHero.mjs.map +1 -1
  724. package/es/awesome/LogoMarquee/LogoMarquee.mjs +2 -2
  725. package/es/awesome/LogoMarquee/LogoMarquee.mjs.map +1 -1
  726. package/es/awesome/Spline/ParentSize.mjs +1 -1
  727. package/es/awesome/Spline/ParentSize.mjs.map +1 -1
  728. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs +4 -4
  729. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs.map +1 -1
  730. package/es/awesome/index.d.mts +4 -1
  731. package/es/awesome/index.mjs +2 -1
  732. package/es/awesome/landingActions.mjs +2 -2
  733. package/es/awesome/landingActions.mjs.map +1 -1
  734. package/es/chat/BackBottom/BackBottom.mjs +1 -1
  735. package/es/chat/BackBottom/BackBottom.mjs.map +1 -1
  736. package/es/chat/BackBottom/type.d.mts +2 -2
  737. package/es/chat/ChatItem/ChatItem.mjs +2 -2
  738. package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
  739. package/es/chat/EditableMessage/EditableMessage.mjs +4 -4
  740. package/es/chat/EditableMessage/EditableMessage.mjs.map +1 -1
  741. package/es/chat/EditableMessageList/EditableMessageList.mjs +2 -2
  742. package/es/chat/EditableMessageList/EditableMessageList.mjs.map +1 -1
  743. package/es/chat/EditableMessageList/messageReducer.mjs +30 -23
  744. package/es/chat/EditableMessageList/messageReducer.mjs.map +1 -1
  745. package/es/chat/MessageInput/MessageInput.mjs +3 -3
  746. package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
  747. package/es/chat/MessageModal/MessageModal.mjs +1 -1
  748. package/es/chat/MessageModal/MessageModal.mjs.map +1 -1
  749. package/es/chat/TokenTag/TokenTag.mjs +2 -3
  750. package/es/chat/TokenTag/TokenTag.mjs.map +1 -1
  751. package/es/color/index.d.mts +2 -1
  752. package/es/color/index.mjs +2 -1
  753. package/es/color/status/error.mjs +67 -0
  754. package/es/color/status/error.mjs.map +1 -0
  755. package/es/color/status/index.d.mts +11 -0
  756. package/es/color/status/index.mjs +15 -0
  757. package/es/color/status/index.mjs.map +1 -0
  758. package/es/color/status/info.mjs +67 -0
  759. package/es/color/status/info.mjs.map +1 -0
  760. package/es/color/status/success.mjs +67 -0
  761. package/es/color/status/success.mjs.map +1 -0
  762. package/es/color/status/warning.mjs +67 -0
  763. package/es/color/status/warning.mjs.map +1 -0
  764. package/es/color/types.d.mts +1 -0
  765. package/es/dashboard/AuthLayout/Aside.d.mts +10 -0
  766. package/es/dashboard/AuthLayout/Aside.mjs +31 -0
  767. package/es/dashboard/AuthLayout/Aside.mjs.map +1 -0
  768. package/es/dashboard/AuthLayout/AuthLayout.d.mts +3 -1
  769. package/es/dashboard/AuthLayout/AuthLayout.mjs +97 -37
  770. package/es/dashboard/AuthLayout/AuthLayout.mjs.map +1 -1
  771. package/es/dashboard/AuthLayout/index.d.mts +3 -2
  772. package/es/dashboard/AuthLayout/style.mjs +109 -1
  773. package/es/dashboard/AuthLayout/style.mjs.map +1 -1
  774. package/es/dashboard/AuthLayout/type.d.mts +38 -2
  775. package/es/dashboard/AuthTools/AuthLocaleSwitch.d.mts +10 -0
  776. package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs +33 -0
  777. package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs.map +1 -0
  778. package/es/dashboard/AuthTools/AuthThemeSwitch.d.mts +10 -0
  779. package/es/dashboard/AuthTools/AuthThemeSwitch.mjs +59 -0
  780. package/es/dashboard/AuthTools/AuthThemeSwitch.mjs.map +1 -0
  781. package/es/dashboard/AuthTools/index.d.mts +4 -0
  782. package/es/dashboard/AuthTools/style.mjs +27 -0
  783. package/es/dashboard/AuthTools/style.mjs.map +1 -0
  784. package/es/dashboard/AuthTools/type.d.mts +29 -0
  785. package/es/dashboard/ChartGrid/ChartGrid.d.mts +10 -0
  786. package/es/dashboard/ChartGrid/ChartGrid.mjs +19 -0
  787. package/es/dashboard/ChartGrid/ChartGrid.mjs.map +1 -0
  788. package/es/dashboard/ChartGrid/index.d.mts +3 -0
  789. package/es/dashboard/ChartGrid/style.mjs +18 -0
  790. package/es/dashboard/ChartGrid/style.mjs.map +1 -0
  791. package/es/dashboard/ChartGrid/type.d.mts +8 -0
  792. package/es/dashboard/ConsoleNav/ConsoleNav.mjs +3 -3
  793. package/es/dashboard/ConsoleNav/ConsoleNav.mjs.map +1 -1
  794. package/es/dashboard/ConsoleNav/Skeleton.d.mts +15 -0
  795. package/es/dashboard/ConsoleNav/Skeleton.mjs +82 -0
  796. package/es/dashboard/ConsoleNav/Skeleton.mjs.map +1 -0
  797. package/es/dashboard/ConsoleNav/index.d.mts +3 -2
  798. package/es/dashboard/ConsoleNav/style.mjs +20 -2
  799. package/es/dashboard/ConsoleNav/style.mjs.map +1 -1
  800. package/es/dashboard/ConsoleNav/type.d.mts +13 -0
  801. package/es/dashboard/ConsoleShell/ConsoleShell.d.mts +1 -1
  802. package/es/dashboard/ConsoleShell/ConsoleShell.mjs +26 -6
  803. package/es/dashboard/ConsoleShell/ConsoleShell.mjs.map +1 -1
  804. package/es/dashboard/ConsoleShell/style.mjs +11 -1
  805. package/es/dashboard/ConsoleShell/style.mjs.map +1 -1
  806. package/es/dashboard/ConsoleShell/type.d.mts +11 -0
  807. package/es/dashboard/FilterSidebar/FilterSidebar.mjs +18 -17
  808. package/es/dashboard/FilterSidebar/FilterSidebar.mjs.map +1 -1
  809. package/es/dashboard/FilterSidebar/style.mjs +2 -2
  810. package/es/dashboard/FilterSidebar/style.mjs.map +1 -1
  811. package/es/dashboard/FilterStrip/FilterStrip.d.mts +11 -0
  812. package/es/dashboard/FilterStrip/FilterStrip.mjs +55 -0
  813. package/es/dashboard/FilterStrip/FilterStrip.mjs.map +1 -0
  814. package/es/dashboard/FilterStrip/index.d.mts +3 -0
  815. package/es/dashboard/FilterStrip/style.mjs +78 -0
  816. package/es/dashboard/FilterStrip/style.mjs.map +1 -0
  817. package/es/dashboard/FilterStrip/type.d.mts +25 -0
  818. package/es/dashboard/LabelWithKey/LabelWithKey.d.mts +10 -0
  819. package/es/dashboard/LabelWithKey/LabelWithKey.mjs +18 -0
  820. package/es/dashboard/LabelWithKey/LabelWithKey.mjs.map +1 -0
  821. package/es/dashboard/LabelWithKey/index.d.mts +3 -0
  822. package/es/dashboard/LabelWithKey/type.d.mts +11 -0
  823. package/es/dashboard/MetricStrip/MetricCell.mjs +92 -0
  824. package/es/dashboard/MetricStrip/MetricCell.mjs.map +1 -0
  825. package/es/dashboard/MetricStrip/MetricStrip.d.mts +13 -0
  826. package/es/dashboard/MetricStrip/MetricStrip.mjs +47 -0
  827. package/es/dashboard/MetricStrip/MetricStrip.mjs.map +1 -0
  828. package/es/dashboard/MetricStrip/index.d.mts +3 -0
  829. package/es/dashboard/MetricStrip/style.mjs +169 -0
  830. package/es/dashboard/MetricStrip/style.mjs.map +1 -0
  831. package/es/dashboard/MetricStrip/type.d.mts +38 -0
  832. package/es/dashboard/PageSkeleton/PageSkeleton.mjs +20 -18
  833. package/es/dashboard/PageSkeleton/PageSkeleton.mjs.map +1 -1
  834. package/es/dashboard/PageSkeleton/style.mjs +2 -1
  835. package/es/dashboard/PageSkeleton/style.mjs.map +1 -1
  836. package/es/dashboard/PageToolbar/PageToolbar.d.mts +10 -0
  837. package/es/dashboard/PageToolbar/PageToolbar.mjs +22 -0
  838. package/es/dashboard/PageToolbar/PageToolbar.mjs.map +1 -0
  839. package/es/dashboard/PageToolbar/index.d.mts +3 -0
  840. package/es/dashboard/PageToolbar/style.mjs +36 -0
  841. package/es/dashboard/PageToolbar/style.mjs.map +1 -0
  842. package/es/dashboard/PageToolbar/type.d.mts +11 -0
  843. package/es/dashboard/PanelSurface/PanelSurface.d.mts +10 -0
  844. package/es/dashboard/PanelSurface/PanelSurface.mjs +40 -0
  845. package/es/dashboard/PanelSurface/PanelSurface.mjs.map +1 -0
  846. package/es/dashboard/PanelSurface/index.d.mts +3 -0
  847. package/es/dashboard/PanelSurface/style.mjs +25 -0
  848. package/es/dashboard/PanelSurface/style.mjs.map +1 -0
  849. package/es/dashboard/PanelSurface/type.d.mts +17 -0
  850. package/es/dashboard/Section/Section.d.mts +10 -0
  851. package/es/dashboard/Section/Section.mjs +81 -0
  852. package/es/dashboard/Section/Section.mjs.map +1 -0
  853. package/es/dashboard/Section/index.d.mts +3 -0
  854. package/es/dashboard/Section/style.mjs +31 -0
  855. package/es/dashboard/Section/style.mjs.map +1 -0
  856. package/es/dashboard/Section/type.d.mts +23 -0
  857. package/es/dashboard/StatCard/StatCard.d.mts +2 -1
  858. package/es/dashboard/StatCard/StatCard.mjs +29 -91
  859. package/es/dashboard/StatCard/StatCard.mjs.map +1 -1
  860. package/es/dashboard/StatCard/type.d.mts +18 -5
  861. package/es/dashboard/Surface/Surface.d.mts +4 -3
  862. package/es/dashboard/Surface/Surface.mjs +90 -8
  863. package/es/dashboard/Surface/Surface.mjs.map +1 -1
  864. package/es/dashboard/Surface/index.d.mts +3 -2
  865. package/es/dashboard/Surface/link.d.mts +16 -0
  866. package/es/dashboard/Surface/link.mjs +40 -0
  867. package/es/dashboard/Surface/link.mjs.map +1 -0
  868. package/es/dashboard/Surface/marker.stylex.mjs +9 -0
  869. package/es/dashboard/Surface/marker.stylex.mjs.map +1 -0
  870. package/es/dashboard/Surface/style.d.mts +2 -0
  871. package/es/dashboard/Surface/style.mjs +156 -14
  872. package/es/dashboard/Surface/style.mjs.map +1 -1
  873. package/es/dashboard/Surface/type.d.mts +29 -1
  874. package/es/dashboard/TableIconActions/TableIconActions.d.mts +17 -0
  875. package/es/dashboard/TableIconActions/TableIconActions.mjs +39 -0
  876. package/es/dashboard/TableIconActions/TableIconActions.mjs.map +1 -0
  877. package/es/dashboard/TableIconActions/index.d.mts +3 -0
  878. package/es/dashboard/TableIconActions/type.d.mts +17 -0
  879. package/es/dashboard/TitleWithTips/TitleWithTips.d.mts +10 -0
  880. package/es/dashboard/TitleWithTips/TitleWithTips.mjs +28 -0
  881. package/es/dashboard/TitleWithTips/TitleWithTips.mjs.map +1 -0
  882. package/es/dashboard/TitleWithTips/index.d.mts +3 -0
  883. package/es/dashboard/TitleWithTips/type.d.mts +10 -0
  884. package/es/dashboard/index.d.mts +38 -4
  885. package/es/dashboard/index.mjs +18 -4
  886. package/es/eslint/noBaseUiSubpath.mjs +2 -1
  887. package/es/eslint/noBaseUiSubpath.mjs.map +1 -1
  888. package/es/hooks/useControlledState.mjs +20 -0
  889. package/es/hooks/useControlledState.mjs.map +1 -0
  890. package/es/hooks/useHighlight.mjs +2 -2
  891. package/es/hooks/useHighlight.mjs.map +1 -1
  892. package/es/hooks/useHover.mjs +22 -0
  893. package/es/hooks/useHover.mjs.map +1 -0
  894. package/es/hooks/useMarkdown/utils.d.mts +1 -0
  895. package/es/hooks/useScroll.d.mts +8 -0
  896. package/es/hooks/useScroll.mjs +33 -0
  897. package/es/hooks/useScroll.mjs.map +1 -0
  898. package/es/hooks/useSize.mjs +26 -0
  899. package/es/hooks/useSize.mjs.map +1 -0
  900. package/es/i18n/resources/en/colorPicker.d.mts +5 -0
  901. package/es/i18n/resources/en/colorPicker.mjs +5 -0
  902. package/es/i18n/resources/en/colorPicker.mjs.map +1 -1
  903. package/es/i18n/resources/en/datePicker.d.mts +54 -0
  904. package/es/i18n/resources/en/datePicker.mjs +55 -1
  905. package/es/i18n/resources/en/datePicker.mjs.map +1 -1
  906. package/es/i18n/resources/en/index.d.mts +4 -2
  907. package/es/i18n/resources/en/index.mjs +6 -2
  908. package/es/i18n/resources/en/index.mjs.map +1 -1
  909. package/es/i18n/resources/en/table.d.mts +23 -0
  910. package/es/i18n/resources/en/table.mjs +24 -0
  911. package/es/i18n/resources/en/table.mjs.map +1 -0
  912. package/es/i18n/resources/en/video.d.mts +23 -0
  913. package/es/i18n/resources/en/video.mjs +24 -0
  914. package/es/i18n/resources/en/video.mjs.map +1 -0
  915. package/es/i18n/resources/zhCn/colorPicker.d.mts +5 -0
  916. package/es/i18n/resources/zhCn/colorPicker.mjs +5 -0
  917. package/es/i18n/resources/zhCn/colorPicker.mjs.map +1 -1
  918. package/es/i18n/resources/zhCn/datePicker.d.mts +54 -0
  919. package/es/i18n/resources/zhCn/datePicker.mjs +55 -1
  920. package/es/i18n/resources/zhCn/datePicker.mjs.map +1 -1
  921. package/es/i18n/resources/zhCn/index.d.mts +4 -2
  922. package/es/i18n/resources/zhCn/index.mjs +7 -3
  923. package/es/i18n/resources/zhCn/index.mjs.map +1 -1
  924. package/es/i18n/resources/zhCn/table.d.mts +23 -0
  925. package/es/i18n/resources/zhCn/table.mjs +24 -0
  926. package/es/i18n/resources/zhCn/table.mjs.map +1 -0
  927. package/es/i18n/resources/zhCn/video.d.mts +23 -0
  928. package/es/i18n/resources/zhCn/video.mjs +24 -0
  929. package/es/i18n/resources/zhCn/video.mjs.map +1 -0
  930. package/es/i18n/types.d.mts +4 -1
  931. package/es/index.d.mts +21 -8
  932. package/es/index.mjs +18 -9
  933. package/es/internal/menu/itemInterface.d.mts +1 -0
  934. package/es/internal/menu/renderUtils.d.mts +1 -0
  935. package/es/internal/overflow/OverflowList.mjs +71 -0
  936. package/es/internal/overflow/OverflowList.mjs.map +1 -0
  937. package/es/internal/virtual/VirtualScrollArea.mjs +1 -1
  938. package/es/internal/virtual/VirtualScrollArea.mjs.map +1 -1
  939. package/es/mdx/Callout/index.mjs +2 -2
  940. package/es/mdx/Callout/index.mjs.map +1 -1
  941. package/es/mdx/Cards/Card.mjs +2 -2
  942. package/es/mdx/Cards/Card.mjs.map +1 -1
  943. package/es/mdx/Cards/index.mjs +2 -2
  944. package/es/mdx/Cards/index.mjs.map +1 -1
  945. package/es/mdx/Mdx/index.mjs +2 -2
  946. package/es/mdx/Mdx/index.mjs.map +1 -1
  947. package/es/mdx/Steps/index.mjs +2 -2
  948. package/es/mdx/Steps/index.mjs.map +1 -1
  949. package/es/mdx/mdxComponents/Pre.mjs +5 -5
  950. package/es/mdx/mdxComponents/Pre.mjs.map +1 -1
  951. package/es/mdx/mdxComponents/Video.d.mts +2 -1
  952. package/es/mdx/mdxComponents/Video.mjs +5 -3
  953. package/es/mdx/mdxComponents/Video.mjs.map +1 -1
  954. package/es/mobile/ChatInputArea/ChatInputArea.mjs +1 -1
  955. package/es/mobile/ChatInputArea/ChatInputArea.mjs.map +1 -1
  956. package/es/mobile/TabBar/TabBar.mjs +1 -1
  957. package/es/mobile/TabBar/TabBar.mjs.map +1 -1
  958. package/es/node_modules/.pnpm/@eslint_core@1.2.1/node_modules/@eslint/core/dist/esm/types.d.mts +2 -46
  959. package/es/node_modules/.pnpm/@eslint_plugin-kit@0.7.3/node_modules/@eslint/plugin-kit/dist/cjs/index.d.mts +1 -1
  960. package/es/node_modules/.pnpm/@types_estree@1.0.9/node_modules/@types/estree/index.d.mts +1 -4
  961. package/es/node_modules/.pnpm/@types_mdx@2.0.14/node_modules/@types/mdx/types.d.mts +1 -0
  962. 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
  963. package/es/storybook/StoryBook/style.mjs +2 -0
  964. package/es/storybook/StoryBook/style.mjs.map +1 -1
  965. package/es/style.css +3643 -996
  966. package/es/styles/createGlobalStyle.d.mts +1 -0
  967. package/es/styles/createGlobalStyle.mjs +1 -1
  968. package/es/styles/index.d.mts +4 -2
  969. package/es/styles/index.mjs +6 -4
  970. package/es/styles/stylex/cssVar.stylex.mjs +3 -0
  971. package/es/styles/stylex/cssVar.stylex.mjs.map +1 -1
  972. package/es/styles/stylex/props.mjs +2 -2
  973. package/es/styles/stylex/props.mjs.map +1 -1
  974. package/es/styles/theme/createLobeToken.d.mts +12 -7
  975. package/es/styles/theme/createLobeToken.mjs +3 -2
  976. package/es/styles/theme/createLobeToken.mjs.map +1 -1
  977. package/es/styles/theme/customPalette.d.mts +6 -0
  978. package/es/styles/theme/customPalette.mjs +28 -0
  979. package/es/styles/theme/customPalette.mjs.map +1 -0
  980. package/es/styles/theme/customPrimary.d.mts +7 -0
  981. package/es/styles/theme/customPrimary.mjs +101 -0
  982. package/es/styles/theme/customPrimary.mjs.map +1 -0
  983. package/es/styles/theme/generateColorPalette.d.mts +1 -0
  984. package/es/styles/theme/scope.d.mts +9 -5
  985. package/es/styles/theme/scope.mjs +73 -18
  986. package/es/styles/theme/scope.mjs.map +1 -1
  987. package/es/styles/theme/themeCss.d.mts +3 -0
  988. package/es/styles/theme/themeCss.mjs +39 -2
  989. package/es/styles/theme/themeCss.mjs.map +1 -1
  990. package/es/styles/theme/token/legacy.mjs +12 -12
  991. package/es/styles/theme/token/legacy.mjs.map +1 -1
  992. package/es/styles/theme/token/neutral.mjs +17 -9
  993. package/es/styles/theme/token/neutral.mjs.map +1 -1
  994. package/es/styles/theme/token/neutralText.mjs +91 -0
  995. package/es/styles/theme/token/neutralText.mjs.map +1 -0
  996. package/es/styles/theme/token/palette.mjs +16 -41
  997. package/es/styles/theme/token/palette.mjs.map +1 -1
  998. package/es/styles/theme/token/primary.mjs +6 -2
  999. package/es/styles/theme/token/primary.mjs.map +1 -1
  1000. package/es/styles/theme/token/static.mjs +3 -0
  1001. package/es/styles/theme/token/static.mjs.map +1 -1
  1002. package/es/theme.css +301 -290
  1003. package/es/types/customToken.d.mts +1 -0
  1004. package/es/utils/colorMath.mjs +52 -0
  1005. package/es/utils/colorMath.mjs.map +1 -0
  1006. package/es/utils/formatNumber.mjs +7 -0
  1007. package/es/utils/formatNumber.mjs.map +1 -0
  1008. package/es/utils/genCdnUrl.mjs +6 -3
  1009. package/es/utils/genCdnUrl.mjs.map +1 -1
  1010. package/es/utils/hashString.mjs +19 -0
  1011. package/es/utils/hashString.mjs.map +1 -0
  1012. package/es/utils/mergeRefs.mjs +20 -0
  1013. package/es/utils/mergeRefs.mjs.map +1 -0
  1014. package/es/utils/placement.d.mts +5 -5
  1015. package/es/utils/placement.mjs.map +1 -1
  1016. package/package.json +25 -46
  1017. package/es/DatePicker/CalendarPanel.mjs +0 -189
  1018. package/es/DatePicker/CalendarPanel.mjs.map +0 -1
  1019. package/es/DatePicker/PickerShell.mjs +0 -43
  1020. package/es/DatePicker/PickerShell.mjs.map +0 -1
  1021. package/es/DatePicker/calendar.d.mts +0 -4
  1022. package/es/DatePicker/calendar.mjs +0 -46
  1023. package/es/DatePicker/calendar.mjs.map +0 -1
  1024. package/es/Table/FilterMenu.mjs +0 -45
  1025. package/es/Table/FilterMenu.mjs.map +0 -1
  1026. package/es/Table/TableBody.mjs +0 -67
  1027. package/es/Table/TableBody.mjs.map +0 -1
  1028. package/es/Table/TableHead.mjs +0 -58
  1029. package/es/Table/TableHead.mjs.map +0 -1
  1030. package/es/Table/features.mjs +0 -12
  1031. package/es/Table/features.mjs.map +0 -1
  1032. package/es/Table/fixedOffsets.mjs +0 -29
  1033. package/es/Table/fixedOffsets.mjs.map +0 -1
  1034. package/es/Table/marker.stylex.mjs +0 -9
  1035. package/es/Table/marker.stylex.mjs.map +0 -1
  1036. package/es/Table/toColumnDefs.mjs +0 -26
  1037. package/es/Table/toColumnDefs.mjs.map +0 -1
  1038. package/es/Table/useTableState.mjs +0 -99
  1039. package/es/Table/useTableState.mjs.map +0 -1
  1040. package/es/Video/marker.stylex.mjs +0 -9
  1041. package/es/Video/marker.stylex.mjs.map +0 -1
  1042. package/es/dashboard/StatCard/style.mjs +0 -105
  1043. package/es/dashboard/StatCard/style.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ControlInput.mjs","names":["Input","Flexbox"],"sources":["../../src/EditableText/ControlInput.tsx"],"sourcesContent":["'use client';\n\nimport { RotateCcw, Save } from 'lucide-react';\nimport { memo, useEffect, useRef, useState } from 'react';\n\nimport ActionIcon, { type ActionIconProps } from '@/ActionIcon';\nimport { Flexbox } from '@/Flex';\nimport { Input, type InputProps } from '@/Input';\n\nexport interface ControlInputProps extends Omit<InputProps, 'onChange' | 'value' | 'onAbort'> {\n onChange?: (value: string) => void;\n onChangeEnd?: (value: string) => void;\n onValueChanging?: (value: string) => void;\n submitIcon?: ActionIconProps['icon'];\n texts?: {\n reset?: string;\n submit?: string;\n };\n value?: string;\n}\n\nconst ControlInput = memo<ControlInputProps>(\n ({\n value,\n onChange,\n onValueChanging,\n onChangeEnd,\n onCompositionEnd,\n onCompositionStart,\n onPressEnter,\n onFocus,\n submitIcon,\n style,\n texts,\n ...rest\n }) => {\n const ref = useRef<HTMLInputElement>(null);\n const [input, setInput] = useState<string>(value || '');\n\n const isChineseInput = useRef(false);\n\n useEffect(() => {\n if (value !== undefined) setInput(value);\n }, [value]);\n\n const handleUpload = () => {\n onChange?.(input);\n ref?.current?.blur();\n onChangeEnd?.(input);\n };\n\n return (\n <Input\n autoFocus\n ref={ref}\n value={input}\n style={{\n width: '100%',\n ...style,\n }}\n suffix={\n value === input ? (\n <span />\n ) : (\n <Flexbox\n horizontal\n gap={2}\n style={{\n marginRight: -4,\n zIndex: 1,\n }}\n >\n <ActionIcon\n icon={RotateCcw}\n size=\"small\"\n title={texts?.reset || 'Reset'}\n onClick={(e) => {\n e.preventDefault();\n setInput(value || '');\n }}\n />\n <ActionIcon\n icon={submitIcon || Save}\n size=\"small\"\n title={texts?.submit || 'Submit'}\n variant={'filled'}\n onClick={(e) => {\n e.preventDefault();\n handleUpload();\n }}\n />\n </Flexbox>\n )\n }\n onFocus={onFocus}\n onChange={(e) => {\n setInput(e.target.value);\n onValueChanging?.(e.target.value);\n }}\n onCompositionEnd={(e) => {\n isChineseInput.current = false;\n onCompositionEnd?.(e);\n }}\n onCompositionStart={(e) => {\n isChineseInput.current = true;\n onCompositionStart?.(e);\n }}\n onPressEnter={(e) => {\n if (!e.shiftKey && !isChineseInput.current) {\n e.preventDefault();\n handleUpload();\n onPressEnter?.(e);\n }\n }}\n {...rest}\n />\n );\n },\n);\n\nControlInput.displayName = 'ControlInput';\n\nexport default ControlInput;\n"],"mappings":";;;;;;;;AAqBA,MAAM,eAAe,MAClB,EACC,OACA,UACA,iBACA,aACA,kBACA,oBACA,cACA,SACA,YACA,OACA,OACA,GAAG,WACC;CACJ,MAAM,MAAM,OAAyB,IAAI;CACzC,MAAM,CAAC,OAAO,YAAY,SAAiB,SAAS,EAAE;CAEtD,MAAM,iBAAiB,OAAO,KAAK;CAEnC,gBAAgB;EACd,IAAI,UAAU,KAAA,GAAW,SAAS,KAAK;CACzC,GAAG,CAAC,KAAK,CAAC;CAEV,MAAM,qBAAqB;EACzB,WAAW,KAAK;EAChB,KAAK,SAAS,KAAK;EACnB,cAAc,KAAK;CACrB;CAEA,OACE,oBAACA,eAAD;EACE,WAAA;EACK;EACL,OAAO;EACP,OAAO;GACL,OAAO;GACP,GAAG;EACL;EACA,QACE,UAAU,QACR,oBAAC,QAAD,CAAO,CAAA,IAEP,qBAACC,mBAAD;GACE,YAAA;GACA,KAAK;GACL,OAAO;IACL,aAAa;IACb,QAAQ;GACV;GANF,UAAA,CAQE,oBAAC,YAAD;IACE,MAAM;IACN,MAAK;IACL,OAAO,OAAO,SAAS;IACvB,UAAU,MAAM;KACd,EAAE,eAAe;KACjB,SAAS,SAAS,EAAE;IACtB;GACD,CAAA,GACD,oBAAC,YAAD;IACE,MAAM,cAAc;IACpB,MAAK;IACL,OAAO,OAAO,UAAU;IACxB,SAAS;IACT,UAAU,MAAM;KACd,EAAE,eAAe;KACjB,aAAa;IACf;GACD,CAAA,CACM;;EAGJ;EACT,WAAW,MAAM;GACf,SAAS,EAAE,OAAO,KAAK;GACvB,kBAAkB,EAAE,OAAO,KAAK;EAClC;EACA,mBAAmB,MAAM;GACvB,eAAe,UAAU;GACzB,mBAAmB,CAAC;EACtB;EACA,qBAAqB,MAAM;GACzB,eAAe,UAAU;GACzB,qBAAqB,CAAC;EACxB;EACA,eAAe,MAAM;GACnB,IAAI,CAAC,EAAE,YAAY,CAAC,eAAe,SAAS;IAC1C,EAAE,eAAe;IACjB,aAAa;IACb,eAAe,CAAC;GAClB;EACF;EACA,GAAI;CACL,CAAA;AAEL,CACF;AAEA,aAAa,cAAc"}
1
+ {"version":3,"file":"ControlInput.mjs","names":["Flexbox","Input"],"sources":["../../src/EditableText/ControlInput.tsx"],"sourcesContent":["'use client';\n\nimport { RotateCcw, Save } from 'lucide-react';\nimport { memo, useEffect, useMemo, useRef, useState } from 'react';\n\nimport ActionIcon, { type ActionIconProps } from '@/ActionIcon';\nimport { Flexbox } from '@/Flex';\nimport { useEventCallback } from '@/hooks/useEventCallback';\nimport { Input, type InputProps } from '@/Input';\n\nexport interface ControlInputProps extends Omit<InputProps, 'onChange' | 'value' | 'onAbort'> {\n onChange?: (value: string) => void;\n onChangeEnd?: (value: string) => void;\n onValueChanging?: (value: string) => void;\n submitIcon?: ActionIconProps['icon'];\n texts?: {\n reset?: string;\n submit?: string;\n };\n value?: string;\n}\n\nconst ControlInput = memo<ControlInputProps>(\n ({\n value,\n onChange,\n onValueChanging,\n onChangeEnd,\n onCompositionEnd,\n onCompositionStart,\n onPressEnter,\n onFocus,\n submitIcon,\n style,\n texts,\n ...rest\n }) => {\n const ref = useRef<HTMLInputElement>(null);\n const [input, setInput] = useState<string>(value || '');\n\n const isChineseInput = useRef(false);\n\n useEffect(() => {\n if (value !== undefined) setInput(value);\n }, [value]);\n\n const handleUpload = useEventCallback(() => {\n onChange?.(input);\n ref?.current?.blur();\n onChangeEnd?.(input);\n });\n\n const handleReset = useEventCallback(() => setInput(value || ''));\n\n const dirty = value !== input;\n const resetText = texts?.reset || 'Reset';\n const submitText = texts?.submit || 'Submit';\n\n const suffix = useMemo(\n () =>\n dirty ? (\n <Flexbox\n horizontal\n gap={2}\n style={{\n marginRight: -4,\n zIndex: 1,\n }}\n >\n <ActionIcon\n icon={RotateCcw}\n size=\"small\"\n title={resetText}\n onClick={(e) => {\n e.preventDefault();\n handleReset();\n }}\n />\n <ActionIcon\n icon={submitIcon || Save}\n size=\"small\"\n title={submitText}\n variant={'filled'}\n onClick={(e) => {\n e.preventDefault();\n handleUpload();\n }}\n />\n </Flexbox>\n ) : (\n <span />\n ),\n [dirty, handleReset, handleUpload, resetText, submitIcon, submitText],\n );\n\n return (\n <Input\n autoFocus\n ref={ref}\n suffix={suffix}\n value={input}\n style={{\n width: '100%',\n ...style,\n }}\n onFocus={onFocus}\n onChange={(e) => {\n setInput(e.target.value);\n onValueChanging?.(e.target.value);\n }}\n onCompositionEnd={(e) => {\n isChineseInput.current = false;\n onCompositionEnd?.(e);\n }}\n onCompositionStart={(e) => {\n isChineseInput.current = true;\n onCompositionStart?.(e);\n }}\n onPressEnter={(e) => {\n if (!e.shiftKey && !isChineseInput.current) {\n e.preventDefault();\n handleUpload();\n onPressEnter?.(e);\n }\n }}\n {...rest}\n />\n );\n },\n);\n\nControlInput.displayName = 'ControlInput';\n\nexport default ControlInput;\n"],"mappings":";;;;;;;;;AAsBA,MAAM,eAAe,MAClB,EACC,OACA,UACA,iBACA,aACA,kBACA,oBACA,cACA,SACA,YACA,OACA,OACA,GAAG,WACC;CACJ,MAAM,MAAM,OAAyB,IAAI;CACzC,MAAM,CAAC,OAAO,YAAY,SAAiB,SAAS,EAAE;CAEtD,MAAM,iBAAiB,OAAO,KAAK;CAEnC,gBAAgB;EACd,IAAI,UAAU,KAAA,GAAW,SAAS,KAAK;CACzC,GAAG,CAAC,KAAK,CAAC;CAEV,MAAM,eAAe,uBAAuB;EAC1C,WAAW,KAAK;EAChB,KAAK,SAAS,KAAK;EACnB,cAAc,KAAK;CACrB,CAAC;CAED,MAAM,cAAc,uBAAuB,SAAS,SAAS,EAAE,CAAC;CAEhE,MAAM,QAAQ,UAAU;CACxB,MAAM,YAAY,OAAO,SAAS;CAClC,MAAM,aAAa,OAAO,UAAU;CAEpC,MAAM,SAAS,cAEX,QACE,qBAACA,mBAAD;EACE,YAAA;EACA,KAAK;EACL,OAAO;GACL,aAAa;GACb,QAAQ;EACV;EANF,UAAA,CAQE,oBAAC,YAAD;GACE,MAAM;GACN,MAAK;GACL,OAAO;GACP,UAAU,MAAM;IACd,EAAE,eAAe;IACjB,YAAY;GACd;EACD,CAAA,GACD,oBAAC,YAAD;GACE,MAAM,cAAc;GACpB,MAAK;GACL,OAAO;GACP,SAAS;GACT,UAAU,MAAM;IACd,EAAE,eAAe;IACjB,aAAa;GACf;EACD,CAAA,CACM;CAET,CAAA,IAAA,oBAAC,QAAD,CAAO,CAAA,GAEX;EAAC;EAAO;EAAa;EAAc;EAAW;EAAY;CAAU,CACtE;CAEA,OACE,oBAACC,eAAD;EACE,WAAA;EACK;EACG;EACR,OAAO;EACP,OAAO;GACL,OAAO;GACP,GAAG;EACL;EACS;EACT,WAAW,MAAM;GACf,SAAS,EAAE,OAAO,KAAK;GACvB,kBAAkB,EAAE,OAAO,KAAK;EAClC;EACA,mBAAmB,MAAM;GACvB,eAAe,UAAU;GACzB,mBAAmB,CAAC;EACtB;EACA,qBAAqB,MAAM;GACzB,eAAe,UAAU;GACzB,qBAAqB,CAAC;EACxB;EACA,eAAe,MAAM;GACnB,IAAI,CAAC,EAAE,YAAY,CAAC,eAAe,SAAS;IAC1C,EAAE,eAAe;IACjB,aAAa;IACb,eAAe,CAAC;GAClB;EACF;EACA,GAAI;CACL,CAAA;AAEL,CACF;AAEA,aAAa,cAAc"}
@@ -1,12 +1,12 @@
1
1
  "use client";
2
2
  import FlexBasic_default from "../Flex/FlexBasic.mjs";
3
- import ActionIcon from "../ActionIcon/ActionIcon.mjs";
4
3
  import { cx } from "../styles/css.mjs";
4
+ import ActionIcon from "../ActionIcon/ActionIcon.mjs";
5
+ import { useControlledState } from "../hooks/useControlledState.mjs";
5
6
  import ControlInput from "./ControlInput.mjs";
6
7
  import { memo, useMemo } from "react";
7
8
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
8
9
  import { Edit3 } from "lucide-react";
9
- import useControlledState from "use-merge-value";
10
10
  import { useHotkeys } from "react-hotkeys-hook";
11
11
  //#region src/EditableText/EditableText.tsx
12
12
  const EditableText = memo(({ value, showEditIcon = true, onChange, editing, onEditingChange, onChangeEnd, onFocus, onBlur, className, inputProps, onValueChanging, gap = 8, style, size = "small", styles, classNames, variant = "borderless", ...rest }) => {
@@ -1 +1 @@
1
- {"version":3,"file":"EditableText.mjs","names":["Flexbox"],"sources":["../../src/EditableText/EditableText.tsx"],"sourcesContent":["'use client';\n\nimport { Edit3 } from 'lucide-react';\nimport { memo, useMemo } from 'react';\nimport { useHotkeys } from 'react-hotkeys-hook';\nimport useControlledState from 'use-merge-value';\n\nimport ActionIcon from '@/ActionIcon';\nimport { Flexbox } from '@/Flex';\nimport { cx } from '@/styles';\n\nimport ControlInput from './ControlInput';\nimport type { EditableTextProps } from './type';\n\nconst EditableText = memo<EditableTextProps>(\n ({\n value,\n showEditIcon = true,\n onChange,\n editing,\n onEditingChange,\n onChangeEnd,\n onFocus,\n onBlur,\n className,\n inputProps,\n onValueChanging,\n gap = 8,\n style,\n size = 'small',\n styles,\n classNames,\n variant = 'borderless',\n ...rest\n }) => {\n const [edited, setEdited] = useControlledState(false, {\n onChange: onEditingChange,\n value: editing,\n });\n\n useHotkeys(\n 'esc',\n () => {\n setEdited(false);\n },\n {\n enableOnFormTags: true,\n enabled: edited,\n preventDefault: true,\n },\n );\n\n const height = useMemo(() => {\n if (!size) return 32;\n switch (size) {\n case 'large': {\n return 40;\n }\n case 'middle': {\n return 32;\n }\n case 'small': {\n return 24;\n }\n }\n }, [size]);\n\n const input = (\n <ControlInput\n className={cx(className, classNames?.input)}\n size={size}\n value={value as string}\n variant={variant}\n style={{\n height,\n ...(size === 'small' && { fontSize: 14 }),\n ...style,\n ...styles?.input,\n }}\n onBlur={onBlur}\n onChange={onChange}\n onFocus={onFocus}\n onValueChanging={onValueChanging}\n onChangeEnd={(v) => {\n onChangeEnd?.(v);\n setEdited(false);\n }}\n {...inputProps}\n />\n );\n\n const content = (\n <>\n <span>{value}</span>\n {showEditIcon && (\n <ActionIcon\n icon={Edit3}\n size=\"small\"\n title={'Edit'}\n onClick={() => {\n setEdited(!edited);\n }}\n />\n )}\n </>\n );\n\n return (\n <Flexbox\n horizontal\n align={'center'}\n className={cx(className, classNames?.container)}\n gap={gap}\n style={{\n height,\n width: '100%',\n ...style,\n ...styles?.container,\n }}\n {...rest}\n >\n {edited ? input : content}\n </Flexbox>\n );\n },\n);\n\nEditableText.displayName = 'EditableText';\n\nexport default EditableText;\n"],"mappings":";;;;;;;;;;;AAcA,MAAM,eAAe,MAClB,EACC,OACA,eAAe,MACf,UACA,SACA,iBACA,aACA,SACA,QACA,WACA,YACA,iBACA,MAAM,GACN,OACA,OAAO,SACP,QACA,YACA,UAAU,cACV,GAAG,WACC;CACJ,MAAM,CAAC,QAAQ,aAAa,mBAAmB,OAAO;EACpD,UAAU;EACV,OAAO;CACT,CAAC;CAED,WACE,aACM;EACJ,UAAU,KAAK;CACjB,GACA;EACE,kBAAkB;EAClB,SAAS;EACT,gBAAgB;CAClB,CACF;CAEA,MAAM,SAAS,cAAc;EAC3B,IAAI,CAAC,MAAM,OAAO;EAClB,QAAQ,MAAR;GACE,KAAK,SACH,OAAO;GAET,KAAK,UACH,OAAO;GAET,KAAK,SACH,OAAO;EAEX;CACF,GAAG,CAAC,IAAI,CAAC;CAET,MAAM,QACJ,oBAAC,cAAD;EACE,WAAW,GAAG,WAAW,YAAY,KAAK;EACpC;EACC;EACE;EACT,OAAO;GACL;GACA,GAAI,SAAS,WAAW,EAAE,UAAU,GAAG;GACvC,GAAG;GACH,GAAG,QAAQ;EACb;EACQ;EACE;EACD;EACQ;EACjB,cAAc,MAAM;GAClB,cAAc,CAAC;GACf,UAAU,KAAK;EACjB;EACA,GAAI;CACL,CAAA;CAGH,MAAM,UACJ,qBAAA,YAAA,EAAA,UAAA,CACE,oBAAC,QAAD,EAAA,UAAO,MAAY,CAAA,GAClB,gBACC,oBAAC,YAAD;EACE,MAAM;EACN,MAAK;EACL,OAAO;EACP,eAAe;GACb,UAAU,CAAC,MAAM;EACnB;CACD,CAAA,CAEH,EAAA,CAAA;CAGJ,OACE,oBAACA,mBAAD;EACE,YAAA;EACA,OAAO;EACP,WAAW,GAAG,WAAW,YAAY,SAAS;EACzC;EACL,OAAO;GACL;GACA,OAAO;GACP,GAAG;GACH,GAAG,QAAQ;EACb;EACA,GAAI;EAEH,UAAA,SAAS,QAAQ;CACX,CAAA;AAEb,CACF;AAEA,aAAa,cAAc"}
1
+ {"version":3,"file":"EditableText.mjs","names":["Flexbox"],"sources":["../../src/EditableText/EditableText.tsx"],"sourcesContent":["'use client';\n\nimport { Edit3 } from 'lucide-react';\nimport { memo, useMemo } from 'react';\nimport { useHotkeys } from 'react-hotkeys-hook';\n\nimport ActionIcon from '@/ActionIcon';\nimport { Flexbox } from '@/Flex';\nimport { useControlledState } from '@/hooks/useControlledState';\nimport { cx } from '@/styles';\n\nimport ControlInput from './ControlInput';\nimport type { EditableTextProps } from './type';\n\nconst EditableText = memo<EditableTextProps>(\n ({\n value,\n showEditIcon = true,\n onChange,\n editing,\n onEditingChange,\n onChangeEnd,\n onFocus,\n onBlur,\n className,\n inputProps,\n onValueChanging,\n gap = 8,\n style,\n size = 'small',\n styles,\n classNames,\n variant = 'borderless',\n ...rest\n }) => {\n const [edited, setEdited] = useControlledState(false, {\n onChange: onEditingChange,\n value: editing,\n });\n\n useHotkeys(\n 'esc',\n () => {\n setEdited(false);\n },\n {\n enableOnFormTags: true,\n enabled: edited,\n preventDefault: true,\n },\n );\n\n const height = useMemo(() => {\n if (!size) return 32;\n switch (size) {\n case 'large': {\n return 40;\n }\n case 'middle': {\n return 32;\n }\n case 'small': {\n return 24;\n }\n }\n }, [size]);\n\n const input = (\n <ControlInput\n className={cx(className, classNames?.input)}\n size={size}\n value={value as string}\n variant={variant}\n style={{\n height,\n ...(size === 'small' && { fontSize: 14 }),\n ...style,\n ...styles?.input,\n }}\n onBlur={onBlur}\n onChange={onChange}\n onFocus={onFocus}\n onValueChanging={onValueChanging}\n onChangeEnd={(v) => {\n onChangeEnd?.(v);\n setEdited(false);\n }}\n {...inputProps}\n />\n );\n\n const content = (\n <>\n <span>{value}</span>\n {showEditIcon && (\n <ActionIcon\n icon={Edit3}\n size=\"small\"\n title={'Edit'}\n onClick={() => {\n setEdited(!edited);\n }}\n />\n )}\n </>\n );\n\n return (\n <Flexbox\n horizontal\n align={'center'}\n className={cx(className, classNames?.container)}\n gap={gap}\n style={{\n height,\n width: '100%',\n ...style,\n ...styles?.container,\n }}\n {...rest}\n >\n {edited ? input : content}\n </Flexbox>\n );\n },\n);\n\nEditableText.displayName = 'EditableText';\n\nexport default EditableText;\n"],"mappings":";;;;;;;;;;;AAcA,MAAM,eAAe,MAClB,EACC,OACA,eAAe,MACf,UACA,SACA,iBACA,aACA,SACA,QACA,WACA,YACA,iBACA,MAAM,GACN,OACA,OAAO,SACP,QACA,YACA,UAAU,cACV,GAAG,WACC;CACJ,MAAM,CAAC,QAAQ,aAAa,mBAAmB,OAAO;EACpD,UAAU;EACV,OAAO;CACT,CAAC;CAED,WACE,aACM;EACJ,UAAU,KAAK;CACjB,GACA;EACE,kBAAkB;EAClB,SAAS;EACT,gBAAgB;CAClB,CACF;CAEA,MAAM,SAAS,cAAc;EAC3B,IAAI,CAAC,MAAM,OAAO;EAClB,QAAQ,MAAR;GACE,KAAK,SACH,OAAO;GAET,KAAK,UACH,OAAO;GAET,KAAK,SACH,OAAO;EAEX;CACF,GAAG,CAAC,IAAI,CAAC;CAET,MAAM,QACJ,oBAAC,cAAD;EACE,WAAW,GAAG,WAAW,YAAY,KAAK;EACpC;EACC;EACE;EACT,OAAO;GACL;GACA,GAAI,SAAS,WAAW,EAAE,UAAU,GAAG;GACvC,GAAG;GACH,GAAG,QAAQ;EACb;EACQ;EACE;EACD;EACQ;EACjB,cAAc,MAAM;GAClB,cAAc,CAAC;GACf,UAAU,KAAK;EACjB;EACA,GAAI;CACL,CAAA;CAGH,MAAM,UACJ,qBAAA,YAAA,EAAA,UAAA,CACE,oBAAC,QAAD,EAAA,UAAO,MAAY,CAAA,GAClB,gBACC,oBAAC,YAAD;EACE,MAAM;EACN,MAAK;EACL,OAAO;EACP,eAAe;GACb,UAAU,CAAC,MAAM;EACnB;CACD,CAAA,CAEH,EAAA,CAAA;CAGJ,OACE,oBAACA,mBAAD;EACE,YAAA;EACA,OAAO;EACP,WAAW,GAAG,WAAW,YAAY,SAAS;EACzC;EACL,OAAO;GACL;GACA,OAAO;GACP,GAAG;GACH,GAAG,QAAQ;EACb;EACA,GAAI;EAEH,UAAA,SAAS,QAAQ;CACX,CAAA;AAEb,CACF;AAEA,aAAa,cAAc"}
@@ -3,13 +3,13 @@ import { useAppElement } from "../ConfigProvider/AppElementContext.mjs";
3
3
  import { menuClassNames, menuStyles } from "../DropdownMenu/style.mjs";
4
4
  import { styles } from "./style.mjs";
5
5
  import { jsx } from "react/jsx-runtime";
6
- import clsx from "clsx";
6
+ import clsx$1 from "clsx";
7
7
  import * as stylex from "@stylexjs/stylex";
8
8
  import { Autocomplete } from "@base-ui/react/autocomplete";
9
9
  //#region src/EditorSlashMenu/atoms.tsx
10
10
  const mergeStateClassName = (base, className) => {
11
- if (typeof className === "function") return (state) => clsx(base, className(state));
12
- return clsx(base, className);
11
+ if (typeof className === "function") return (state) => clsx$1(base, className(state));
12
+ return clsx$1(base, className);
13
13
  };
14
14
  const sx = (styles) => stylex.props(styles).className ?? "";
15
15
  const EditorSlashMenuRoot = Autocomplete.Root;
@@ -36,7 +36,7 @@ const EditorSlashMenuPositioner = ({ className, align, positionMethod, side, sid
36
36
  positionMethod: positionMethod ?? "fixed",
37
37
  side: side ?? "bottom",
38
38
  sideOffset: sideOffset ?? 6,
39
- className: mergeStateClassName(clsx(sx(menuStyles.positioner), menuClassNames.positioner), className)
39
+ className: mergeStateClassName(clsx$1(sx(menuStyles.positioner), menuClassNames.positioner), className)
40
40
  });
41
41
  };
42
42
  EditorSlashMenuPositioner.displayName = "EditorSlashMenuPositioner";
@@ -44,14 +44,14 @@ const EditorSlashMenuPopup = ({ className, initialFocus = false, ...rest }) => {
44
44
  return /* @__PURE__ */ jsx(Autocomplete.Popup, {
45
45
  ...rest,
46
46
  initialFocus,
47
- className: mergeStateClassName(clsx(sx(menuStyles.popup), menuClassNames.popup), className)
47
+ className: mergeStateClassName(clsx$1(sx(menuStyles.popup), menuClassNames.popup), className)
48
48
  });
49
49
  };
50
50
  EditorSlashMenuPopup.displayName = "EditorSlashMenuPopup";
51
51
  const EditorSlashMenuItem = ({ className, danger, ...rest }) => {
52
52
  return /* @__PURE__ */ jsx(Autocomplete.Item, {
53
53
  ...rest,
54
- className: (state) => clsx(sx([menuStyles.item, danger && menuStyles.danger]), typeof className === "function" ? className(state) : className)
54
+ className: (state) => clsx$1(sx([menuStyles.item, danger && menuStyles.danger]), typeof className === "function" ? className(state) : className)
55
55
  });
56
56
  };
57
57
  EditorSlashMenuItem.displayName = "EditorSlashMenuItem";
@@ -59,42 +59,42 @@ const EditorSlashMenuGroup = Autocomplete.Group;
59
59
  const EditorSlashMenuGroupLabel = ({ className, ...rest }) => {
60
60
  return /* @__PURE__ */ jsx(Autocomplete.GroupLabel, {
61
61
  ...rest,
62
- className: (state) => clsx(sx(menuStyles.groupLabel), typeof className === "function" ? className(state) : className)
62
+ className: (state) => clsx$1(sx(menuStyles.groupLabel), typeof className === "function" ? className(state) : className)
63
63
  });
64
64
  };
65
65
  EditorSlashMenuGroupLabel.displayName = "EditorSlashMenuGroupLabel";
66
66
  const EditorSlashMenuEmpty = ({ className, ...rest }) => {
67
67
  return /* @__PURE__ */ jsx(Autocomplete.Empty, {
68
68
  ...rest,
69
- className: (state) => clsx(sx([menuStyles.item, menuStyles.empty]), typeof className === "function" ? className(state) : className)
69
+ className: (state) => clsx$1(sx([menuStyles.item, menuStyles.empty]), typeof className === "function" ? className(state) : className)
70
70
  });
71
71
  };
72
72
  EditorSlashMenuEmpty.displayName = "EditorSlashMenuEmpty";
73
73
  const EditorSlashMenuItemContent = ({ className, ...rest }) => {
74
74
  return /* @__PURE__ */ jsx("div", {
75
75
  ...rest,
76
- className: clsx(sx(menuStyles.itemContent), className)
76
+ className: clsx$1(sx(menuStyles.itemContent), className)
77
77
  });
78
78
  };
79
79
  EditorSlashMenuItemContent.displayName = "EditorSlashMenuItemContent";
80
80
  const EditorSlashMenuItemIcon = ({ className, ...rest }) => {
81
81
  return /* @__PURE__ */ jsx("span", {
82
82
  ...rest,
83
- className: clsx(sx(menuStyles.icon), menuClassNames.icon, className)
83
+ className: clsx$1(sx(menuStyles.icon), menuClassNames.icon, className)
84
84
  });
85
85
  };
86
86
  EditorSlashMenuItemIcon.displayName = "EditorSlashMenuItemIcon";
87
87
  const EditorSlashMenuItemLabel = ({ className, ...rest }) => {
88
88
  return /* @__PURE__ */ jsx("span", {
89
89
  ...rest,
90
- className: clsx(sx(menuStyles.label), menuClassNames.label, className)
90
+ className: clsx$1(sx(menuStyles.label), menuClassNames.label, className)
91
91
  });
92
92
  };
93
93
  EditorSlashMenuItemLabel.displayName = "EditorSlashMenuItemLabel";
94
94
  const EditorSlashMenuItemExtra = ({ className, ...rest }) => {
95
95
  return /* @__PURE__ */ jsx("span", {
96
96
  ...rest,
97
- className: clsx(sx(menuStyles.extra), className)
97
+ className: clsx$1(sx(menuStyles.extra), className)
98
98
  });
99
99
  };
100
100
  EditorSlashMenuItemExtra.displayName = "EditorSlashMenuItemExtra";
@@ -1 +1 @@
1
- {"version":3,"file":"atoms.mjs","names":[],"sources":["../../src/EditorSlashMenu/atoms.tsx"],"sourcesContent":["'use client';\n\nimport { Autocomplete } from '@base-ui/react/autocomplete';\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport type React from 'react';\n\nimport { useAppElement } from '@/ConfigProvider';\nimport { menuClassNames, menuStyles } from '@/DropdownMenu/sharedStyle';\nimport { type styleProps } from '@/styles/stylex/props';\n\nimport { styles } from './style';\n\nconst mergeStateClassName = <TState,>(\n base: string,\n className: string | ((state: TState) => string | undefined) | undefined,\n) => {\n if (typeof className === 'function') return (state: TState) => clsx(base, className(state));\n return clsx(base, className);\n};\n\nconst sx = (styles: Parameters<typeof styleProps>[0]) => stylex.props(styles).className ?? '';\n\nexport const EditorSlashMenuRoot = Autocomplete.Root;\nexport const EditorSlashMenuList = ({\n ref,\n className,\n ...rest\n}: React.ComponentProps<typeof Autocomplete.List> & {\n ref?: React.RefObject<HTMLDivElement | null>;\n}) => {\n return (\n <Autocomplete.List\n {...rest}\n className={mergeStateClassName(sx(styles.list), className as any) as any}\n ref={ref}\n />\n );\n};\nEditorSlashMenuList.displayName = 'EditorSlashMenuList';\n\nexport type EditorSlashMenuPortalProps = React.ComponentProps<typeof Autocomplete.Portal> & {\n /**\n * When `container` is not provided, it uses a shared container created by `usePortalContainer`.\n */\n container?: HTMLElement | null;\n};\n\nexport const EditorSlashMenuPortal = ({ container, ...rest }: EditorSlashMenuPortalProps) => {\n const appElement = useAppElement();\n return <Autocomplete.Portal container={container ?? appElement ?? undefined} {...rest} />;\n};\nEditorSlashMenuPortal.displayName = 'EditorSlashMenuPortal';\n\nexport type EditorSlashMenuPositionerProps = React.ComponentProps<typeof Autocomplete.Positioner>;\n\nexport const EditorSlashMenuPositioner = ({\n className,\n align,\n positionMethod,\n side,\n sideOffset,\n ...rest\n}: EditorSlashMenuPositionerProps) => {\n return (\n <Autocomplete.Positioner\n {...rest}\n align={align ?? 'start'}\n positionMethod={positionMethod ?? 'fixed'}\n side={side ?? 'bottom'}\n sideOffset={sideOffset ?? 6}\n className={\n mergeStateClassName(\n clsx(sx(menuStyles.positioner), menuClassNames.positioner),\n className as any,\n ) as any\n }\n />\n );\n};\nEditorSlashMenuPositioner.displayName = 'EditorSlashMenuPositioner';\n\nexport type EditorSlashMenuPopupProps = React.ComponentProps<typeof Autocomplete.Popup>;\n\nexport const EditorSlashMenuPopup = ({\n className,\n initialFocus = false,\n ...rest\n}: EditorSlashMenuPopupProps) => {\n return (\n <Autocomplete.Popup\n {...rest}\n initialFocus={initialFocus}\n className={\n mergeStateClassName(\n clsx(sx(menuStyles.popup), menuClassNames.popup),\n className as any,\n ) as any\n }\n />\n );\n};\nEditorSlashMenuPopup.displayName = 'EditorSlashMenuPopup';\n\nexport type EditorSlashMenuItemProps = React.ComponentProps<typeof Autocomplete.Item> & {\n danger?: boolean;\n};\n\nexport const EditorSlashMenuItem = ({ className, danger, ...rest }: EditorSlashMenuItemProps) => {\n return (\n <Autocomplete.Item\n {...rest}\n className={(state) =>\n clsx(\n sx([menuStyles.item, danger && menuStyles.danger]),\n typeof className === 'function' ? className(state) : className,\n )\n }\n />\n );\n};\nEditorSlashMenuItem.displayName = 'EditorSlashMenuItem';\n\nexport type EditorSlashMenuGroupProps = React.ComponentProps<typeof Autocomplete.Group>;\nexport const EditorSlashMenuGroup = Autocomplete.Group;\n\nexport type EditorSlashMenuGroupLabelProps = React.ComponentProps<typeof Autocomplete.GroupLabel>;\n\nexport const EditorSlashMenuGroupLabel = ({\n className,\n ...rest\n}: EditorSlashMenuGroupLabelProps) => {\n return (\n <Autocomplete.GroupLabel\n {...rest}\n className={(state) =>\n clsx(\n sx(menuStyles.groupLabel),\n typeof className === 'function' ? className(state) : className,\n )\n }\n />\n );\n};\nEditorSlashMenuGroupLabel.displayName = 'EditorSlashMenuGroupLabel';\n\nexport type EditorSlashMenuEmptyProps = React.ComponentProps<typeof Autocomplete.Empty>;\n\nexport const EditorSlashMenuEmpty = ({ className, ...rest }: EditorSlashMenuEmptyProps) => {\n return (\n <Autocomplete.Empty\n {...rest}\n className={(state) =>\n clsx(\n sx([menuStyles.item, menuStyles.empty]),\n typeof className === 'function' ? className(state) : className,\n )\n }\n />\n );\n};\nEditorSlashMenuEmpty.displayName = 'EditorSlashMenuEmpty';\n\nexport type EditorSlashMenuItemContentProps = React.HTMLAttributes<HTMLDivElement>;\nexport const EditorSlashMenuItemContent = ({\n className,\n ...rest\n}: EditorSlashMenuItemContentProps) => {\n return <div {...rest} className={clsx(sx(menuStyles.itemContent), className)} />;\n};\nEditorSlashMenuItemContent.displayName = 'EditorSlashMenuItemContent';\n\nexport type EditorSlashMenuItemIconProps = React.HTMLAttributes<HTMLSpanElement>;\nexport const EditorSlashMenuItemIcon = ({ className, ...rest }: EditorSlashMenuItemIconProps) => {\n return <span {...rest} className={clsx(sx(menuStyles.icon), menuClassNames.icon, className)} />;\n};\nEditorSlashMenuItemIcon.displayName = 'EditorSlashMenuItemIcon';\n\nexport type EditorSlashMenuItemLabelProps = React.HTMLAttributes<HTMLSpanElement>;\nexport const EditorSlashMenuItemLabel = ({ className, ...rest }: EditorSlashMenuItemLabelProps) => {\n return <span {...rest} className={clsx(sx(menuStyles.label), menuClassNames.label, className)} />;\n};\nEditorSlashMenuItemLabel.displayName = 'EditorSlashMenuItemLabel';\n\nexport type EditorSlashMenuItemExtraProps = React.HTMLAttributes<HTMLSpanElement>;\nexport const EditorSlashMenuItemExtra = ({ className, ...rest }: EditorSlashMenuItemExtraProps) => {\n return <span {...rest} className={clsx(sx(menuStyles.extra), className)} />;\n};\nEditorSlashMenuItemExtra.displayName = 'EditorSlashMenuItemExtra';\n\nexport type EditorSlashMenuHiddenInputProps = React.ComponentProps<typeof Autocomplete.Input>;\nexport const EditorSlashMenuHiddenInput = ({\n className,\n ...rest\n}: EditorSlashMenuHiddenInputProps) => {\n return (\n <Autocomplete.Input\n {...rest}\n className={mergeStateClassName(sx(styles.hiddenInput), className as any) as any}\n />\n );\n};\nEditorSlashMenuHiddenInput.displayName = 'EditorSlashMenuHiddenInput';\n"],"mappings":"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"}
1
+ {"version":3,"file":"atoms.mjs","names":["clsx"],"sources":["../../src/EditorSlashMenu/atoms.tsx"],"sourcesContent":["'use client';\n\nimport { Autocomplete } from '@base-ui/react/autocomplete';\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport type React from 'react';\n\nimport { useAppElement } from '@/ConfigProvider';\nimport { menuClassNames, menuStyles } from '@/DropdownMenu/sharedStyle';\nimport { type styleProps } from '@/styles/stylex/props';\n\nimport { styles } from './style';\n\nconst mergeStateClassName = <TState,>(\n base: string,\n className: string | ((state: TState) => string | undefined) | undefined,\n) => {\n if (typeof className === 'function') return (state: TState) => clsx(base, className(state));\n return clsx(base, className);\n};\n\nconst sx = (styles: Parameters<typeof styleProps>[0]) => stylex.props(styles).className ?? '';\n\nexport const EditorSlashMenuRoot = Autocomplete.Root;\nexport const EditorSlashMenuList = ({\n ref,\n className,\n ...rest\n}: React.ComponentProps<typeof Autocomplete.List> & {\n ref?: React.RefObject<HTMLDivElement | null>;\n}) => {\n return (\n <Autocomplete.List\n {...rest}\n className={mergeStateClassName(sx(styles.list), className as any) as any}\n ref={ref}\n />\n );\n};\nEditorSlashMenuList.displayName = 'EditorSlashMenuList';\n\nexport type EditorSlashMenuPortalProps = React.ComponentProps<typeof Autocomplete.Portal> & {\n /**\n * When `container` is not provided, it uses a shared container created by `usePortalContainer`.\n */\n container?: HTMLElement | null;\n};\n\nexport const EditorSlashMenuPortal = ({ container, ...rest }: EditorSlashMenuPortalProps) => {\n const appElement = useAppElement();\n return <Autocomplete.Portal container={container ?? appElement ?? undefined} {...rest} />;\n};\nEditorSlashMenuPortal.displayName = 'EditorSlashMenuPortal';\n\nexport type EditorSlashMenuPositionerProps = React.ComponentProps<typeof Autocomplete.Positioner>;\n\nexport const EditorSlashMenuPositioner = ({\n className,\n align,\n positionMethod,\n side,\n sideOffset,\n ...rest\n}: EditorSlashMenuPositionerProps) => {\n return (\n <Autocomplete.Positioner\n {...rest}\n align={align ?? 'start'}\n positionMethod={positionMethod ?? 'fixed'}\n side={side ?? 'bottom'}\n sideOffset={sideOffset ?? 6}\n className={\n mergeStateClassName(\n clsx(sx(menuStyles.positioner), menuClassNames.positioner),\n className as any,\n ) as any\n }\n />\n );\n};\nEditorSlashMenuPositioner.displayName = 'EditorSlashMenuPositioner';\n\nexport type EditorSlashMenuPopupProps = React.ComponentProps<typeof Autocomplete.Popup>;\n\nexport const EditorSlashMenuPopup = ({\n className,\n initialFocus = false,\n ...rest\n}: EditorSlashMenuPopupProps) => {\n return (\n <Autocomplete.Popup\n {...rest}\n initialFocus={initialFocus}\n className={\n mergeStateClassName(\n clsx(sx(menuStyles.popup), menuClassNames.popup),\n className as any,\n ) as any\n }\n />\n );\n};\nEditorSlashMenuPopup.displayName = 'EditorSlashMenuPopup';\n\nexport type EditorSlashMenuItemProps = React.ComponentProps<typeof Autocomplete.Item> & {\n danger?: boolean;\n};\n\nexport const EditorSlashMenuItem = ({ className, danger, ...rest }: EditorSlashMenuItemProps) => {\n return (\n <Autocomplete.Item\n {...rest}\n className={(state) =>\n clsx(\n sx([menuStyles.item, danger && menuStyles.danger]),\n typeof className === 'function' ? className(state) : className,\n )\n }\n />\n );\n};\nEditorSlashMenuItem.displayName = 'EditorSlashMenuItem';\n\nexport type EditorSlashMenuGroupProps = React.ComponentProps<typeof Autocomplete.Group>;\nexport const EditorSlashMenuGroup = Autocomplete.Group;\n\nexport type EditorSlashMenuGroupLabelProps = React.ComponentProps<typeof Autocomplete.GroupLabel>;\n\nexport const EditorSlashMenuGroupLabel = ({\n className,\n ...rest\n}: EditorSlashMenuGroupLabelProps) => {\n return (\n <Autocomplete.GroupLabel\n {...rest}\n className={(state) =>\n clsx(\n sx(menuStyles.groupLabel),\n typeof className === 'function' ? className(state) : className,\n )\n }\n />\n );\n};\nEditorSlashMenuGroupLabel.displayName = 'EditorSlashMenuGroupLabel';\n\nexport type EditorSlashMenuEmptyProps = React.ComponentProps<typeof Autocomplete.Empty>;\n\nexport const EditorSlashMenuEmpty = ({ className, ...rest }: EditorSlashMenuEmptyProps) => {\n return (\n <Autocomplete.Empty\n {...rest}\n className={(state) =>\n clsx(\n sx([menuStyles.item, menuStyles.empty]),\n typeof className === 'function' ? className(state) : className,\n )\n }\n />\n );\n};\nEditorSlashMenuEmpty.displayName = 'EditorSlashMenuEmpty';\n\nexport type EditorSlashMenuItemContentProps = React.HTMLAttributes<HTMLDivElement>;\nexport const EditorSlashMenuItemContent = ({\n className,\n ...rest\n}: EditorSlashMenuItemContentProps) => {\n return <div {...rest} className={clsx(sx(menuStyles.itemContent), className)} />;\n};\nEditorSlashMenuItemContent.displayName = 'EditorSlashMenuItemContent';\n\nexport type EditorSlashMenuItemIconProps = React.HTMLAttributes<HTMLSpanElement>;\nexport const EditorSlashMenuItemIcon = ({ className, ...rest }: EditorSlashMenuItemIconProps) => {\n return <span {...rest} className={clsx(sx(menuStyles.icon), menuClassNames.icon, className)} />;\n};\nEditorSlashMenuItemIcon.displayName = 'EditorSlashMenuItemIcon';\n\nexport type EditorSlashMenuItemLabelProps = React.HTMLAttributes<HTMLSpanElement>;\nexport const EditorSlashMenuItemLabel = ({ className, ...rest }: EditorSlashMenuItemLabelProps) => {\n return <span {...rest} className={clsx(sx(menuStyles.label), menuClassNames.label, className)} />;\n};\nEditorSlashMenuItemLabel.displayName = 'EditorSlashMenuItemLabel';\n\nexport type EditorSlashMenuItemExtraProps = React.HTMLAttributes<HTMLSpanElement>;\nexport const EditorSlashMenuItemExtra = ({ className, ...rest }: EditorSlashMenuItemExtraProps) => {\n return <span {...rest} className={clsx(sx(menuStyles.extra), className)} />;\n};\nEditorSlashMenuItemExtra.displayName = 'EditorSlashMenuItemExtra';\n\nexport type EditorSlashMenuHiddenInputProps = React.ComponentProps<typeof Autocomplete.Input>;\nexport const EditorSlashMenuHiddenInput = ({\n className,\n ...rest\n}: EditorSlashMenuHiddenInputProps) => {\n return (\n <Autocomplete.Input\n {...rest}\n className={mergeStateClassName(sx(styles.hiddenInput), className as any) as any}\n />\n );\n};\nEditorSlashMenuHiddenInput.displayName = 'EditorSlashMenuHiddenInput';\n"],"mappings":"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"}
@@ -5,25 +5,25 @@ import FlexBasic_default from "../Flex/FlexBasic.mjs";
5
5
  import { useTheme } from "../styles/theme/scope.mjs";
6
6
  import { Tooltip } from "../Tooltip/Tooltip.mjs";
7
7
  import ActionIcon from "../ActionIcon/ActionIcon.mjs";
8
+ import { useControlledState } from "../hooks/useControlledState.mjs";
8
9
  import { useTranslation } from "../i18n/useTranslation.mjs";
9
10
  import Avatar from "../Avatar/index.mjs";
10
11
  import Popover from "../Popover/Popover.mjs";
11
12
  import emojiPicker_default from "../i18n/resources/en/emojiPicker.mjs";
12
13
  import Tabs from "../Tabs/Tabs.mjs";
13
14
  import AvatarUploader from "./AvatarUploader.mjs";
15
+ import { loadEmojiData } from "./loadEmojiData.mjs";
14
16
  import { styles } from "./style.mjs";
17
+ import { useEmojiMartI18n } from "./useEmojiMartI18n.mjs";
15
18
  import { memo, useMemo, useRef, useState } from "react";
16
19
  import { jsx, jsxs } from "react/jsx-runtime";
17
- import clsx from "clsx";
20
+ import clsx$1 from "clsx";
18
21
  import * as stylex from "@stylexjs/stylex";
19
22
  import { SmileIcon, TrashIcon, UploadIcon } from "lucide-react";
20
- import useControlledState from "use-merge-value";
21
23
  import chroma from "chroma-js";
22
- import data from "@emoji-mart/data";
23
24
  import Picker from "@emoji-mart/react";
24
- import { getLobeIconCDN } from "@lobehub/icons/es/features/getLobeIconCDN/index.js";
25
- import { toc } from "@lobehub/icons/es/toc.js";
26
- import useSWR from "swr";
25
+ import { getLobeIconCDN } from "@lobehub/icons/es/features/getLobeIconCDN";
26
+ import { toc } from "@lobehub/icons/es/toc";
27
27
  //#region src/EmojiPicker/EmojiPicker.tsx
28
28
  const DEFAULT_AVATAR = "🤖";
29
29
  const EmojiPicker = memo(({ value, defaultAvatar = DEFAULT_AVATAR, onChange, locale = "en-US", allowUpload, allowDelete, allowModelAvatar, texts, onDelete, compressSize = 256, customEmojis, className, loading, onUpload, customTabs = [], popupClassName, popupStyle, customRender, open, defaultOpen = false, onOpenChange, popupProps, shape, contentProps, ...rest }) => {
@@ -40,13 +40,7 @@ const EmojiPicker = memo(({ value, defaultAvatar = DEFAULT_AVATAR, onChange, loc
40
40
  "--emoji-picker-rgb-accent": chroma(theme.colorPrimary).rgb().join(", "),
41
41
  "--emoji-picker-rgb-background": chroma(theme.colorBgElevated).rgb().join(", ")
42
42
  }), [theme.colorPrimary, theme.colorBgElevated]);
43
- const { data: i18n } = useSWR(locale, async () => await import(
44
- /* @vite-ignore */
45
- `@emoji-mart/data/i18n/${locale.split("-")[0]}.json`
46
- ), {
47
- revalidateOnFocus: false,
48
- revalidateOnMount: false
49
- });
43
+ const i18n = useEmojiMartI18n(locale);
50
44
  const [ava, setAva] = useControlledState(defaultAvatar, {
51
45
  defaultValue: defaultAvatar,
52
46
  onChange,
@@ -115,7 +109,7 @@ const EmojiPicker = memo(({ value, defaultAvatar = DEFAULT_AVATAR, onChange, loc
115
109
  const showTabs = allowDelete || items && items.length > 1;
116
110
  const content = /* @__PURE__ */ jsxs(FlexBasic_default, {
117
111
  ref,
118
- ...styleProps(styles.picker, clsx("lobe-emoji-picker", popupClassName), {
112
+ ...styleProps(styles.picker, clsx$1("lobe-emoji-picker", popupClassName), {
119
113
  minWidth: 310,
120
114
  paddingTop: showTabs ? 4 : 0,
121
115
  ...pickerCssVariables,
@@ -155,7 +149,7 @@ const EmojiPicker = memo(({ value, defaultAvatar = DEFAULT_AVATAR, onChange, loc
155
149
  }),
156
150
  tab === "emoji" && /* @__PURE__ */ jsx(Picker, {
157
151
  custom: mergedCustomEmojis,
158
- data,
152
+ data: loadEmojiData,
159
153
  i18n,
160
154
  icons: "outline",
161
155
  locale: locale.split("-")[0],
@@ -196,7 +190,7 @@ const EmojiPicker = memo(({ value, defaultAvatar = DEFAULT_AVATAR, onChange, loc
196
190
  ...popupProps,
197
191
  children: customRender ? customRender(ava) : /* @__PURE__ */ jsx(Avatar, {
198
192
  avatar: ava,
199
- className: clsx("lobe-emoji-picker-avatar", className),
193
+ className: clsx$1("lobe-emoji-picker-avatar", className),
200
194
  loading,
201
195
  shape,
202
196
  ...rest
@@ -1 +1 @@
1
- {"version":3,"file":"EmojiPicker.mjs","names":["emojiPickerMessages","useMergeState","Flexbox"],"sources":["../../src/EmojiPicker/EmojiPicker.tsx"],"sourcesContent":["'use client';\n\nimport data from '@emoji-mart/data';\nimport Picker from '@emoji-mart/react';\nimport { getLobeIconCDN } from '@lobehub/icons/es/features/getLobeIconCDN';\nimport { toc } from '@lobehub/icons/es/toc';\nimport * as stylex from '@stylexjs/stylex';\nimport chroma from 'chroma-js';\nimport clsx from 'clsx';\nimport { SmileIcon, TrashIcon, UploadIcon } from 'lucide-react';\nimport { memo, useMemo, useRef, useState } from 'react';\nimport useSWR from 'swr';\nimport useMergeState from 'use-merge-value';\n\nimport ActionIcon from '@/ActionIcon';\nimport Avatar from '@/Avatar';\nimport { Flexbox } from '@/Flex';\nimport emojiPickerMessages from '@/i18n/resources/en/emojiPicker';\nimport { useTranslation } from '@/i18n/useTranslation';\nimport Icon from '@/Icon';\nimport Popover from '@/Popover';\nimport { styleProps } from '@/styles/stylex/props';\nimport { useTheme } from '@/styles/theme/scope';\nimport Tabs, { type TabsProps } from '@/Tabs';\nimport Tooltip from '@/Tooltip';\n\nimport AvatarUploader from './AvatarUploader';\nimport { styles } from './style';\nimport { type EmojiPickerProps } from './type';\n\nconst DEFAULT_AVATAR = '🤖';\n\nconst EmojiPicker = memo<EmojiPickerProps>(\n ({\n value,\n defaultAvatar = DEFAULT_AVATAR,\n onChange,\n locale = 'en-US',\n allowUpload,\n allowDelete,\n allowModelAvatar,\n texts,\n onDelete,\n compressSize = 256,\n customEmojis,\n className,\n loading,\n onUpload,\n customTabs = [],\n popupClassName,\n popupStyle,\n customRender,\n open,\n defaultOpen = false,\n onOpenChange,\n popupProps,\n shape,\n contentProps,\n ...rest\n }) => {\n const ref = useRef<HTMLDivElement>(null);\n const { t } = useTranslation(emojiPickerMessages);\n const [visible, setVisible] = useMergeState(defaultOpen, {\n defaultValue: defaultOpen,\n onChange: onOpenChange,\n value: open,\n });\n const [tab, setTab] = useState<'emoji' | 'upload'>('emoji');\n\n const theme = useTheme();\n const pickerCssVariables = useMemo<Record<string, string>>(\n () => ({\n '--emoji-picker-rgb-accent': chroma(theme.colorPrimary).rgb().join(', '),\n '--emoji-picker-rgb-background': chroma(theme.colorBgElevated).rgb().join(', '),\n }),\n [theme.colorPrimary, theme.colorBgElevated],\n );\n\n const { data: i18n } = useSWR(\n locale,\n async () =>\n await import(/* @vite-ignore */ `@emoji-mart/data/i18n/${locale.split('-')[0]}.json`),\n { revalidateOnFocus: false, revalidateOnMount: false },\n );\n\n const [ava, setAva] = useMergeState(defaultAvatar, {\n defaultValue: defaultAvatar,\n onChange,\n value,\n });\n\n const handleAvatarChange = (emoji: string) => {\n setAva(emoji);\n setVisible(false);\n };\n\n // Generate model avatars from @lobehub/icons when allowModelAvatar is enabled\n const mergedCustomEmojis = useMemo(() => {\n if (!allowModelAvatar) return customEmojis;\n\n const modelIcons = toc.filter((item) => item.group !== 'application');\n\n const modelEmojisCategory = {\n id: 'models',\n name: 'Models / Providers',\n emojis: modelIcons.map((item) => ({\n id: item.id.toLowerCase(),\n name: item.title,\n keywords: [item.title, item.id, item.fullTitle],\n skins: [{ src: getLobeIconCDN(item.id, { format: 'avatar', cdn: 'aliyun' }) }],\n })),\n };\n\n return customEmojis ? [modelEmojisCategory, ...customEmojis] : [modelEmojisCategory];\n }, [allowModelAvatar, customEmojis]);\n\n const emojiText = texts?.emoji ?? t('emojiPicker.emoji');\n const uploadText = texts?.upload ?? t('emojiPicker.upload');\n const deleteText = texts?.delete ?? t('emojiPicker.delete');\n\n const hideEmojiTab = typeof allowUpload === 'object' && allowUpload?.enableEmoji === false;\n\n const items: TabsProps['items'] = [\n !hideEmojiTab && {\n key: 'emoji',\n label: (\n <Tooltip title={emojiText}>\n <Icon icon={SmileIcon} size={{ size: 20, strokeWidth: 2.5 }} />\n </Tooltip>\n ),\n },\n allowUpload && {\n key: 'upload',\n label: (\n <Tooltip title={uploadText}>\n <Icon icon={UploadIcon} size={{ size: 20, strokeWidth: 2.5 }} />\n </Tooltip>\n ),\n },\n ...customTabs.map((tab) => ({ key: tab.value, label: tab.label })),\n ].filter(Boolean) as TabsProps['items'];\n\n const showTabs = allowDelete || (items && items.length > 1);\n\n const content = (\n <Flexbox\n ref={ref}\n {...styleProps(styles.picker, clsx('lobe-emoji-picker', popupClassName), {\n minWidth: 310,\n paddingTop: showTabs ? 4 : 0,\n ...pickerCssVariables,\n ...popupStyle,\n })}\n {...contentProps}\n >\n {showTabs && (\n <Flexbox\n horizontal\n align={'center'}\n {...stylex.props(styles.tabs)}\n justify={'space-between'}\n paddingInline={10}\n >\n <Tabs\n activeKey={tab}\n items={items}\n variant={'square'}\n classNames={{\n indicator: 'lobe-emoji-picker-tabs-indicator',\n list: 'lobe-emoji-picker-tabs-list',\n root: 'lobe-emoji-picker-tabs-root',\n tab: 'lobe-emoji-picker-tab',\n }}\n onChange={(key) => setTab(key as any)}\n />\n {allowDelete && (\n <ActionIcon\n icon={TrashIcon}\n title={deleteText}\n size={{\n blockSize: 32,\n size: 18,\n }}\n onClick={() => {\n handleAvatarChange(defaultAvatar);\n onDelete?.();\n }}\n />\n )}\n </Flexbox>\n )}\n {tab === 'emoji' && (\n <Picker\n custom={mergedCustomEmojis}\n data={data}\n i18n={i18n}\n icons={'outline'}\n locale={locale.split('-')[0]}\n navPosition={showTabs ? 'bottom' : 'top'}\n previewPosition={'none'}\n skinTonePosition={'none'}\n theme={theme.isDarkMode ? 'dark' : 'light'}\n onEmojiSelect={(e: any) => handleAvatarChange(e.src || e.native)}\n />\n )}\n {tab === 'upload' && (\n <AvatarUploader\n compressSize={compressSize}\n shape={shape}\n texts={texts}\n onChange={handleAvatarChange}\n onUpload={onUpload}\n />\n )}\n {customTabs.map(\n (item) =>\n tab === item.value && (\n <Flexbox key={item.value} padding={10}>\n {item.render(handleAvatarChange)}\n </Flexbox>\n ),\n )}\n </Flexbox>\n );\n\n return (\n <Popover\n className=\"lobe-emoji-picker-popover\"\n content={content}\n defaultOpen={defaultOpen}\n open={visible}\n placement={'bottom'}\n trigger={'click'}\n classNames={{\n content: 'lobe-emoji-picker-popover',\n root: 'lobe-emoji-picker-positioner',\n }}\n onOpenChange={(v) => {\n if (loading) return;\n setVisible(v);\n }}\n {...popupProps}\n >\n {customRender ? (\n customRender(ava)\n ) : (\n <Avatar\n avatar={ava}\n className={clsx('lobe-emoji-picker-avatar', className)}\n loading={loading}\n shape={shape}\n {...rest}\n />\n )}\n </Popover>\n );\n },\n);\n\nEmojiPicker.displayName = 'EmojiPicker';\n\nexport default EmojiPicker;\n"],"mappings":"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"}
1
+ {"version":3,"file":"EmojiPicker.mjs","names":["emojiPickerMessages","Flexbox","clsx"],"sources":["../../src/EmojiPicker/EmojiPicker.tsx"],"sourcesContent":["'use client';\n\nimport Picker from '@emoji-mart/react';\nimport { getLobeIconCDN } from '@lobehub/icons/es/features/getLobeIconCDN';\nimport { toc } from '@lobehub/icons/es/toc';\nimport * as stylex from '@stylexjs/stylex';\nimport chroma from 'chroma-js';\nimport clsx from 'clsx';\nimport { SmileIcon, TrashIcon, UploadIcon } from 'lucide-react';\nimport { memo, useMemo, useRef, useState } from 'react';\n\nimport ActionIcon from '@/ActionIcon';\nimport Avatar from '@/Avatar';\nimport { Flexbox } from '@/Flex';\nimport { useControlledState } from '@/hooks/useControlledState';\nimport emojiPickerMessages from '@/i18n/resources/en/emojiPicker';\nimport { useTranslation } from '@/i18n/useTranslation';\nimport Icon from '@/Icon';\nimport Popover from '@/Popover';\nimport { styleProps } from '@/styles/stylex/props';\nimport { useTheme } from '@/styles/theme/scope';\nimport Tabs, { type TabsProps } from '@/Tabs';\nimport Tooltip from '@/Tooltip';\n\nimport AvatarUploader from './AvatarUploader';\nimport { loadEmojiData } from './loadEmojiData';\nimport { styles } from './style';\nimport { type EmojiPickerProps } from './type';\nimport { useEmojiMartI18n } from './useEmojiMartI18n';\n\nconst DEFAULT_AVATAR = '🤖';\n\nconst EmojiPicker = memo<EmojiPickerProps>(\n ({\n value,\n defaultAvatar = DEFAULT_AVATAR,\n onChange,\n locale = 'en-US',\n allowUpload,\n allowDelete,\n allowModelAvatar,\n texts,\n onDelete,\n compressSize = 256,\n customEmojis,\n className,\n loading,\n onUpload,\n customTabs = [],\n popupClassName,\n popupStyle,\n customRender,\n open,\n defaultOpen = false,\n onOpenChange,\n popupProps,\n shape,\n contentProps,\n ...rest\n }) => {\n const ref = useRef<HTMLDivElement>(null);\n const { t } = useTranslation(emojiPickerMessages);\n const [visible, setVisible] = useControlledState(defaultOpen, {\n defaultValue: defaultOpen,\n onChange: onOpenChange,\n value: open,\n });\n const [tab, setTab] = useState<'emoji' | 'upload'>('emoji');\n\n const theme = useTheme();\n const pickerCssVariables = useMemo<Record<string, string>>(\n () => ({\n '--emoji-picker-rgb-accent': chroma(theme.colorPrimary).rgb().join(', '),\n '--emoji-picker-rgb-background': chroma(theme.colorBgElevated).rgb().join(', '),\n }),\n [theme.colorPrimary, theme.colorBgElevated],\n );\n\n const i18n = useEmojiMartI18n(locale);\n\n const [ava, setAva] = useControlledState(defaultAvatar, {\n defaultValue: defaultAvatar,\n onChange,\n value,\n });\n\n const handleAvatarChange = (emoji: string) => {\n setAva(emoji);\n setVisible(false);\n };\n\n // Generate model avatars from @lobehub/icons when allowModelAvatar is enabled\n const mergedCustomEmojis = useMemo(() => {\n if (!allowModelAvatar) return customEmojis;\n\n const modelIcons = toc.filter((item) => item.group !== 'application');\n\n const modelEmojisCategory = {\n id: 'models',\n name: 'Models / Providers',\n emojis: modelIcons.map((item) => ({\n id: item.id.toLowerCase(),\n name: item.title,\n keywords: [item.title, item.id, item.fullTitle],\n skins: [{ src: getLobeIconCDN(item.id, { format: 'avatar', cdn: 'aliyun' }) }],\n })),\n };\n\n return customEmojis ? [modelEmojisCategory, ...customEmojis] : [modelEmojisCategory];\n }, [allowModelAvatar, customEmojis]);\n\n const emojiText = texts?.emoji ?? t('emojiPicker.emoji');\n const uploadText = texts?.upload ?? t('emojiPicker.upload');\n const deleteText = texts?.delete ?? t('emojiPicker.delete');\n\n const hideEmojiTab = typeof allowUpload === 'object' && allowUpload?.enableEmoji === false;\n\n const items: TabsProps['items'] = [\n !hideEmojiTab && {\n key: 'emoji',\n label: (\n <Tooltip title={emojiText}>\n <Icon icon={SmileIcon} size={{ size: 20, strokeWidth: 2.5 }} />\n </Tooltip>\n ),\n },\n allowUpload && {\n key: 'upload',\n label: (\n <Tooltip title={uploadText}>\n <Icon icon={UploadIcon} size={{ size: 20, strokeWidth: 2.5 }} />\n </Tooltip>\n ),\n },\n ...customTabs.map((tab) => ({ key: tab.value, label: tab.label })),\n ].filter(Boolean) as TabsProps['items'];\n\n const showTabs = allowDelete || (items && items.length > 1);\n\n const content = (\n <Flexbox\n ref={ref}\n {...styleProps(styles.picker, clsx('lobe-emoji-picker', popupClassName), {\n minWidth: 310,\n paddingTop: showTabs ? 4 : 0,\n ...pickerCssVariables,\n ...popupStyle,\n })}\n {...contentProps}\n >\n {showTabs && (\n <Flexbox\n horizontal\n align={'center'}\n {...stylex.props(styles.tabs)}\n justify={'space-between'}\n paddingInline={10}\n >\n <Tabs\n activeKey={tab}\n items={items}\n variant={'square'}\n classNames={{\n indicator: 'lobe-emoji-picker-tabs-indicator',\n list: 'lobe-emoji-picker-tabs-list',\n root: 'lobe-emoji-picker-tabs-root',\n tab: 'lobe-emoji-picker-tab',\n }}\n onChange={(key) => setTab(key as any)}\n />\n {allowDelete && (\n <ActionIcon\n icon={TrashIcon}\n title={deleteText}\n size={{\n blockSize: 32,\n size: 18,\n }}\n onClick={() => {\n handleAvatarChange(defaultAvatar);\n onDelete?.();\n }}\n />\n )}\n </Flexbox>\n )}\n {tab === 'emoji' && (\n <Picker\n custom={mergedCustomEmojis}\n data={loadEmojiData}\n i18n={i18n}\n icons={'outline'}\n locale={locale.split('-')[0]}\n navPosition={showTabs ? 'bottom' : 'top'}\n previewPosition={'none'}\n skinTonePosition={'none'}\n theme={theme.isDarkMode ? 'dark' : 'light'}\n onEmojiSelect={(e: any) => handleAvatarChange(e.src || e.native)}\n />\n )}\n {tab === 'upload' && (\n <AvatarUploader\n compressSize={compressSize}\n shape={shape}\n texts={texts}\n onChange={handleAvatarChange}\n onUpload={onUpload}\n />\n )}\n {customTabs.map(\n (item) =>\n tab === item.value && (\n <Flexbox key={item.value} padding={10}>\n {item.render(handleAvatarChange)}\n </Flexbox>\n ),\n )}\n </Flexbox>\n );\n\n return (\n <Popover\n className=\"lobe-emoji-picker-popover\"\n content={content}\n defaultOpen={defaultOpen}\n open={visible}\n placement={'bottom'}\n trigger={'click'}\n classNames={{\n content: 'lobe-emoji-picker-popover',\n root: 'lobe-emoji-picker-positioner',\n }}\n onOpenChange={(v) => {\n if (loading) return;\n setVisible(v);\n }}\n {...popupProps}\n >\n {customRender ? (\n customRender(ava)\n ) : (\n <Avatar\n avatar={ava}\n className={clsx('lobe-emoji-picker-avatar', className)}\n loading={loading}\n shape={shape}\n {...rest}\n />\n )}\n </Popover>\n );\n },\n);\n\nEmojiPicker.displayName = 'EmojiPicker';\n\nexport default EmojiPicker;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AA2BA,MAAM,iBAAiB;AACvB,MAAM,cAAc,MAAwB,EAC1C,OACA,gBAAgB,gBAChB,UACA,SAAS,SACT,aACA,aACA,kBACA,OACA,UACA,eAAe,KACf,cACA,WACA,SACA,UACA,aAAa,CAAC,GACd,gBACA,YACA,cACA,MACA,cAAc,OACd,cACA,YACA,OACA,cACA,GAAG,WACC;CACJ,MAAM,MAAM,OAAuB,IAAI;CACvC,MAAM,EACJ,MACE,eAAeA,mBAAmB;CACtC,MAAM,CAAC,SAAS,cAAc,mBAAmB,aAAa;EAC5D,cAAc;EACd,UAAU;EACV,OAAO;CACT,CAAC;CACD,MAAM,CAAC,KAAK,UAAU,SAA6B,OAAO;CAC1D,MAAM,QAAQ,SAAS;CACvB,MAAM,qBAAqB,eAAuC;EAChE,6BAA6B,OAAO,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI;EACvE,iCAAiC,OAAO,MAAM,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,IAAI;CAChF,IAAI,CAAC,MAAM,cAAc,MAAM,eAAe,CAAC;CAC/C,MAAM,OAAO,iBAAiB,MAAM;CACpC,MAAM,CAAC,KAAK,UAAU,mBAAmB,eAAe;EACtD,cAAc;EACd;EACA;CACF,CAAC;CACD,MAAM,sBAAsB,UAAkB;EAC5C,OAAO,KAAK;EACZ,WAAW,KAAK;CAClB;CAGA,MAAM,qBAAqB,cAAc;EACvC,IAAI,CAAC,kBAAkB,OAAO;EAE9B,MAAM,sBAAsB;GAC1B,IAAI;GACJ,MAAM;GACN,QAJiB,IAAI,QAAO,SAAQ,KAAK,UAAU,aAIlC,CAAC,CAAC,KAAI,UAAS;IAC9B,IAAI,KAAK,GAAG,YAAY;IACxB,MAAM,KAAK;IACX,UAAU;KAAC,KAAK;KAAO,KAAK;KAAI,KAAK;IAAS;IAC9C,OAAO,CAAC,EACN,KAAK,eAAe,KAAK,IAAI;KAC3B,QAAQ;KACR,KAAK;IACP,CAAC,EACH,CAAC;GACH,EAAE;EACJ;EACA,OAAO,eAAe,CAAC,qBAAqB,GAAG,YAAY,IAAI,CAAC,mBAAmB;CACrF,GAAG,CAAC,kBAAkB,YAAY,CAAC;CACnC,MAAM,YAAY,OAAO,SAAS,EAAE,mBAAmB;CACvD,MAAM,aAAa,OAAO,UAAU,EAAE,oBAAoB;CAC1D,MAAM,aAAa,OAAO,UAAU,EAAE,oBAAoB;CAE1D,MAAM,QAA4B;EAAC,EADd,OAAO,gBAAgB,YAAY,aAAa,gBAAgB,UACjC;GAClD,KAAK;GACL,OAAO,oBAAC,SAAD;IAAS,OAAO;IACf,UAAA,oBAAC,MAAD;KAAM,MAAM;KAAW,MAAM;MACjC,MAAM;MACN,aAAa;KACf;IAAI,CAAA;GACS,CAAA;EACjB;EAAG,eAAe;GAChB,KAAK;GACL,OAAO,oBAAC,SAAD;IAAS,OAAO;IACf,UAAA,oBAAC,MAAD;KAAM,MAAM;KAAY,MAAM;MAClC,MAAM;MACN,aAAa;KACf;IAAI,CAAA;GACS,CAAA;EACjB;EAAG,GAAG,WAAW,KAAI,SAAQ;GAC3B,KAAK,IAAI;GACT,OAAO,IAAI;EACb,EAAE;CAAC,CAAC,CAAC,OAAO,OAAO;CACnB,MAAM,WAAW,eAAe,SAAS,MAAM,SAAS;CACxD,MAAM,UAAU,qBAACC,mBAAD;EAAc;EAAK,GAAI,WAAW,OAAO,QAAQC,OAAK,qBAAqB,cAAc,GAAG;GAC1G,UAAU;GACV,YAAY,WAAW,IAAI;GAC3B,GAAG;GACH,GAAG;EACL,CAAC;EAAG,GAAI;EALQ,UAAA;GAMT,YAAY,qBAACD,mBAAD;IAAS,YAAA;IAAW,OAAO;IAAU,GAAI,OAAO,MAAM,OAAO,IAAI;IAAG,SAAS;IAAiB,eAAe;IAA7G,UAAA,CACT,oBAAC,MAAD;KAAM,WAAW;KAAY;KAAO,SAAS;KAAU,YAAY;MACvE,WAAW;MACX,MAAM;MACN,MAAM;MACN,KAAK;KACP;KAAG,WAAU,QAAO,OAAO,GAAU;IAAI,CAAA,GAClC,eAAe,oBAAC,YAAD;KAAY,MAAM;KAAW,OAAO;KAAY,MAAM;MAC1E,WAAW;MACX,MAAM;KACR;KAAG,eAAe;MAChB,mBAAmB,aAAa;MAChC,WAAW;KACb;IAAI,CAAA,CACS;;GACV,QAAQ,WAAW,oBAAC,QAAD;IAAQ,QAAQ;IAAoB,MAAM;IAAqB;IAAM,OAAO;IAAW,QAAQ,OAAO,MAAM,GAAG,CAAC,CAAC;IAAI,aAAa,WAAW,WAAW;IAAO,iBAAiB;IAAQ,kBAAkB;IAAQ,OAAO,MAAM,aAAa,SAAS;IAAS,gBAAgB,MAAW,mBAAmB,EAAE,OAAO,EAAE,MAAM;GAAI,CAAA;GACpV,QAAQ,YAAY,oBAAC,gBAAD;IAA8B;IAAqB;IAAc;IAAO,UAAU;IAA8B;GAAW,CAAA;GAC/I,WAAW,KAAI,SAAQ,QAAQ,KAAK,SAAS,oBAACA,mBAAD;IAA0B,SAAS;IACxE,UAAA,KAAK,OAAO,kBAAkB;GACxB,GAF6C,KAAK,KAElD,CAAC;EACT;;CACb,OAAO,oBAAC,SAAD;EAAS,WAAU;EAAqC;EAAsB;EAAa,MAAM;EAAS,WAAW;EAAU,SAAS;EAAS,YAAY;GAClK,SAAS;GACT,MAAM;EACR;EAAG,eAAc,MAAK;GACpB,IAAI,SAAS;GACb,WAAW,CAAC;EACd;EAAG,GAAI;EACA,UAAA,eAAe,aAAa,GAAG,IAAI,oBAAC,QAAD;GAAQ,QAAQ;GAAK,WAAWC,OAAK,4BAA4B,SAAS;GAAY;GAAgB;GAAO,GAAI;EAAO,CAAA;CACrJ,CAAA;AACf,CAAC;AACD,YAAY,cAAc"}
@@ -0,0 +1,6 @@
1
+ //#region src/EmojiPicker/loadEmojiData.ts
2
+ const loadEmojiData = () => import("@emoji-mart/data").then((module) => module.default);
3
+ //#endregion
4
+ export { loadEmojiData };
5
+
6
+ //# sourceMappingURL=loadEmojiData.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loadEmojiData.mjs","names":[],"sources":["../../src/EmojiPicker/loadEmojiData.ts"],"sourcesContent":["// `@emoji-mart/data` resolves to a JSON file, which Node only loads with an import attribute,\n// so it stays out of the static graph and loads when the picker opens.\nexport const loadEmojiData = (): Promise<unknown> =>\n import('@emoji-mart/data').then((module) => module.default);\n"],"mappings":";AAEA,MAAa,sBACX,OAAO,mBAAmB,CAAC,MAAM,WAAW,OAAO,OAAO"}
@@ -0,0 +1,37 @@
1
+ import { useEffect, useState } from "react";
2
+ //#region src/EmojiPicker/useEmojiMartI18n.ts
3
+ const unwrapDefault = (value) => value && typeof value === "object" && "default" in value ? value.default : value;
4
+ const createEmojiMartI18nLoader = (load) => {
5
+ const cache = /* @__PURE__ */ new Map();
6
+ const useEmojiMartI18n = (locale) => {
7
+ const language = locale.split("-")[0];
8
+ const [loaded, setLoaded] = useState();
9
+ useEffect(() => {
10
+ let active = true;
11
+ let pending = cache.get(language);
12
+ if (!pending) {
13
+ pending = load(language);
14
+ cache.set(language, pending);
15
+ }
16
+ pending.then((value) => {
17
+ if (active) setLoaded({
18
+ language,
19
+ value: unwrapDefault(value)
20
+ });
21
+ }, () => {});
22
+ return () => {
23
+ active = false;
24
+ };
25
+ }, [language]);
26
+ return loaded?.language === language ? loaded.value : void 0;
27
+ };
28
+ return useEmojiMartI18n;
29
+ };
30
+ const useEmojiMartI18n = createEmojiMartI18nLoader((language) => import(
31
+ /* @vite-ignore */
32
+ `@emoji-mart/data/i18n/${language}.json`
33
+ ));
34
+ //#endregion
35
+ export { createEmojiMartI18nLoader, useEmojiMartI18n };
36
+
37
+ //# sourceMappingURL=useEmojiMartI18n.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useEmojiMartI18n.mjs","names":[],"sources":["../../src/EmojiPicker/useEmojiMartI18n.ts"],"sourcesContent":["import { useEffect, useState } from 'react';\n\ntype LoadI18n = (language: string) => Promise<unknown>;\n\nconst unwrapDefault = (value: unknown): unknown =>\n value && typeof value === 'object' && 'default' in value ? value.default : value;\n\nexport const createEmojiMartI18nLoader = (load: LoadI18n) => {\n const cache = new Map<string, Promise<unknown>>();\n\n const useEmojiMartI18n = (locale: string): unknown => {\n const language = locale.split('-')[0];\n const [loaded, setLoaded] = useState<{ language: string; value: unknown }>();\n\n useEffect(() => {\n let active = true;\n let pending = cache.get(language);\n if (!pending) {\n pending = load(language);\n cache.set(language, pending);\n }\n pending.then(\n (value) => {\n if (active) setLoaded({ language, value: unwrapDefault(value) });\n },\n () => {},\n );\n return () => {\n active = false;\n };\n }, [language]);\n\n return loaded?.language === language ? loaded.value : undefined;\n };\n\n return useEmojiMartI18n;\n};\n\nexport const useEmojiMartI18n = createEmojiMartI18nLoader(\n (language) => import(/* @vite-ignore */ `@emoji-mart/data/i18n/${language}.json`),\n);\n"],"mappings":";;AAIA,MAAM,iBAAiB,UACrB,SAAS,OAAO,UAAU,YAAY,aAAa,QAAQ,MAAM,UAAU;AAE7E,MAAa,6BAA6B,SAAmB;CAC3D,MAAM,wBAAQ,IAAI,IAA8B;CAEhD,MAAM,oBAAoB,WAA4B;EACpD,MAAM,WAAW,OAAO,MAAM,GAAG,CAAC,CAAC;EACnC,MAAM,CAAC,QAAQ,aAAa,SAA+C;EAE3E,gBAAgB;GACd,IAAI,SAAS;GACb,IAAI,UAAU,MAAM,IAAI,QAAQ;GAChC,IAAI,CAAC,SAAS;IACZ,UAAU,KAAK,QAAQ;IACvB,MAAM,IAAI,UAAU,OAAO;GAC7B;GACA,QAAQ,MACL,UAAU;IACT,IAAI,QAAQ,UAAU;KAAE;KAAU,OAAO,cAAc,KAAK;IAAE,CAAC;GACjE,SACM,CAAC,CACT;GACA,aAAa;IACX,SAAS;GACX;EACF,GAAG,CAAC,QAAQ,CAAC;EAEb,OAAO,QAAQ,aAAa,WAAW,OAAO,QAAQ,KAAA;CACxD;CAEA,OAAO;AACT;AAEA,MAAa,mBAAmB,2BAC7B,aAAa;;CAA0B,yBAAyB,SAAS;CAC5E"}
@@ -12,4 +12,5 @@ export interface FileTypeIconProps extends IconProps {
12
12
  variant?: 'color' | 'mono';
13
13
  }
14
14
  //#endregion
15
+ export {};
15
16
  //# sourceMappingURL=type.d.mts.map
@@ -5,7 +5,7 @@ import { styles } from "./style.mjs";
5
5
  import { ToastDodge } from "./ToastDodge.mjs";
6
6
  import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
- import clsx from "clsx";
8
+ import clsx$1 from "clsx";
9
9
  import * as stylex from "@stylexjs/stylex";
10
10
  import { X } from "lucide-react";
11
11
  //#region src/FloatingPanel/FloatingPanel.tsx
@@ -271,7 +271,7 @@ const FloatingPanel = memo(({ afterClose, ariaLabel, children, className, classN
271
271
  "aria-label": ariaLabel,
272
272
  className: classNames?.wrapper,
273
273
  motionProps: resolvedMotionProps,
274
- panelClassName: clsx(className, classNames?.panel),
274
+ panelClassName: clsx$1(className, classNames?.panel),
275
275
  panelXstyle: [s.panel, isTop && s.panelTop],
276
276
  popupStyle,
277
277
  width: activeResizeSize?.width ?? width,
@@ -1 +1 @@
1
- {"version":3,"file":"FloatingPanel.mjs","names":[],"sources":["../../src/FloatingPanel/FloatingPanel.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport { X } from 'lucide-react';\nimport type { MotionProps } from 'motion/react';\nimport type { CSSProperties, PointerEvent as ReactPointerEvent } from 'react';\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { styleProps } from '@/styles/stylex/props';\n\nimport type { ModalRootProps } from '../Modal';\nimport { ModalBackdrop, ModalPortal, ModalRoot } from '../Modal';\nimport {\n ModalCloseImpl,\n ModalContentImpl,\n ModalFooterImpl,\n ModalHeaderImpl,\n ModalPopupImpl,\n ModalTitleImpl,\n} from '../Modal/atoms';\nimport { styles } from './style';\nimport { ToastDodge } from './ToastDodge';\nimport type {\n FloatingPanelOffset,\n FloatingPanelPlacement,\n FloatingPanelProps,\n FloatingPanelResizeHandle,\n FloatingPanelSize,\n} from './type';\n\nconst DEFAULT_MIN_HEIGHT = 180;\nconst DEFAULT_MIN_WIDTH = 320;\n\ninterface InternalFloatingPanelSize extends FloatingPanelSize {\n sourceHeight?: number | string;\n sourceWidth?: number | string;\n}\n\nconst defaultMotionProps: MotionProps = {\n animate: { opacity: 1, scale: 1, x: 0, y: 0 },\n exit: {\n opacity: 0,\n scale: 0.98,\n transition: { duration: 0.14, ease: [0.4, 0, 1, 1] },\n y: 12,\n },\n initial: { opacity: 0, scale: 0.98, y: 12 },\n transition: { duration: 0.2, ease: [0.32, 0.72, 0, 1] },\n};\n\nconst topMotionProps: MotionProps = {\n animate: { opacity: 1, scale: 1, x: 0, y: 0 },\n exit: {\n opacity: 0,\n scale: 0.98,\n transition: { duration: 0.14, ease: [0.4, 0, 1, 1] },\n y: -12,\n },\n initial: { opacity: 0, scale: 0.98, y: -12 },\n transition: { duration: 0.2, ease: [0.32, 0.72, 0, 1] },\n};\n\nconst resolveOffset = (offset: FloatingPanelOffset) => {\n if (typeof offset === 'object') {\n return {\n x: offset.x ?? 8,\n y: offset.y ?? 8,\n };\n }\n\n return { x: offset, y: offset };\n};\n\nconst getPlacementStyle = (\n placement: FloatingPanelPlacement,\n offset: FloatingPanelOffset,\n): CSSProperties => {\n const { x, y } = resolveOffset(offset);\n const isTop = placement.startsWith('top');\n const isLeft = placement.endsWith('Left');\n\n const px = (value: number | string) => (typeof value === 'number' ? `${value}px` : value);\n const blockInset = `calc(${px(y)} + var(--floating-panel-reserve-block-end, 0px))`;\n const inlineInset = `calc(${px(x)} + var(--floating-panel-reserve-inline-end, 0px))`;\n\n return {\n alignItems: isTop ? 'flex-start' : 'flex-end',\n justifyContent: isLeft ? 'flex-start' : 'flex-end',\n paddingBlockEnd: isTop ? undefined : blockInset,\n paddingBlockStart: isTop ? blockInset : undefined,\n paddingInlineEnd: isLeft ? undefined : inlineInset,\n paddingInlineStart: isLeft ? inlineInset : undefined,\n };\n};\n\nconst clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);\n\nconst getViewportMaxSize = () => ({\n height: Math.max(DEFAULT_MIN_HEIGHT, window.innerHeight - 16),\n width: Math.max(DEFAULT_MIN_WIDTH, window.innerWidth - 16),\n});\n\nconst getResizeHandles = (placement: FloatingPanelPlacement): FloatingPanelResizeHandle[] => {\n switch (placement) {\n case 'bottomLeft': {\n return ['top', 'right', 'topRight'];\n }\n case 'topLeft': {\n return ['bottom', 'right', 'bottomRight'];\n }\n case 'topRight': {\n return ['bottom', 'left', 'bottomLeft'];\n }\n default: {\n return ['top', 'left', 'topLeft'];\n }\n }\n};\n\nconst getResizeHandleClassName = (s: typeof styles, handle: FloatingPanelResizeHandle) => {\n const handleClassMap = {\n bottom: s.resizeHandleBottom,\n bottomLeft: s.resizeHandleBottomLeft,\n bottomRight: s.resizeHandleBottomRight,\n left: s.resizeHandleLeft,\n right: s.resizeHandleRight,\n top: s.resizeHandleTop,\n topLeft: s.resizeHandleTopLeft,\n topRight: s.resizeHandleTopRight,\n };\n\n return handleClassMap[handle];\n};\n\nconst resolveResizeSize = ({\n handle,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n startHeight,\n startWidth,\n startX,\n startY,\n x,\n y,\n}: {\n handle: FloatingPanelResizeHandle;\n maxHeight: number;\n maxWidth: number;\n minHeight: number;\n minWidth: number;\n startHeight: number;\n startWidth: number;\n startX: number;\n startY: number;\n x: number;\n y: number;\n}): FloatingPanelSize => {\n const deltaX = x - startX;\n const deltaY = y - startY;\n const growsLeft = handle.includes('Left') || handle === 'left';\n const growsRight = handle.includes('Right') || handle === 'right';\n const growsTop = handle.includes('top') || handle === 'top';\n const growsBottom = handle.includes('bottom') || handle === 'bottom';\n\n const nextWidth = growsLeft ? startWidth - deltaX : growsRight ? startWidth + deltaX : startWidth;\n const nextHeight = growsTop\n ? startHeight - deltaY\n : growsBottom\n ? startHeight + deltaY\n : startHeight;\n\n return {\n height: clamp(nextHeight, minHeight, maxHeight),\n width: clamp(nextWidth, minWidth, maxWidth),\n };\n};\n\nconst FloatingPanel = memo<FloatingPanelProps>(\n ({\n afterClose,\n ariaLabel,\n children,\n className,\n classNames,\n closable = true,\n closeIcon,\n closeLabel = 'Close',\n defaultOpen,\n actions,\n footer,\n getContainer,\n height,\n keyboard = true,\n mask = false,\n maskClosable = true,\n maxHeight,\n maxWidth,\n minHeight = DEFAULT_MIN_HEIGHT,\n minWidth = DEFAULT_MIN_WIDTH,\n modal = false,\n motionProps,\n offset = 8,\n onClose,\n onOpenChange,\n onResize,\n onResizeEnd,\n open,\n placement = 'bottomRight',\n resizable = true,\n styles: semanticStyles,\n title,\n width = 640,\n zIndex,\n }) => {\n const s = styles;\n const isTop = placement.startsWith('top');\n const container = getContainer === false ? undefined : getContainer;\n const [resizeSize, setResizeSize] = useState<InternalFloatingPanelSize>();\n const latestResizeSizeRef = useRef<FloatingPanelSize | undefined>(undefined);\n const resizeCleanupRef = useRef<(() => void) | undefined>(undefined);\n const activeResizeSize =\n resizeSize?.sourceWidth === width && resizeSize.sourceHeight === height\n ? resizeSize\n : undefined;\n\n useEffect(\n () => () => {\n resizeCleanupRef.current?.();\n },\n [],\n );\n\n const popupStyle = useMemo(\n () => ({\n ...getPlacementStyle(placement, offset),\n ...semanticStyles?.wrapper,\n }),\n [offset, placement, semanticStyles?.wrapper],\n );\n\n const handleOpenChange = useCallback<NonNullable<ModalRootProps['onOpenChange']>>(\n (nextOpen, eventDetails) => {\n if (!nextOpen) {\n if (keyboard === false && eventDetails.reason === 'escape-key') return;\n if (maskClosable === false && eventDetails.reason === 'outside-press') return;\n onClose?.();\n }\n\n onOpenChange?.(nextOpen, eventDetails);\n },\n [keyboard, maskClosable, onClose, onOpenChange],\n );\n\n const showHeader = title !== undefined || actions !== undefined || closable;\n const resolvedMotionProps = motionProps ?? (isTop ? topMotionProps : defaultMotionProps);\n const resizeHandles = useMemo(() => getResizeHandles(placement), [placement]);\n\n const handleResizeStart = useCallback(\n (handle: FloatingPanelResizeHandle) => (event: ReactPointerEvent<HTMLDivElement>) => {\n event.preventDefault();\n event.stopPropagation();\n\n const panel = event.currentTarget.parentElement;\n if (!panel) return;\n\n const rect = panel.getBoundingClientRect();\n const viewportMaxSize = getViewportMaxSize();\n const resolvedMaxWidth = Math.max(minWidth, maxWidth ?? viewportMaxSize.width);\n const resolvedMaxHeight = Math.max(minHeight, maxHeight ?? viewportMaxSize.height);\n const startX = event.clientX;\n const startY = event.clientY;\n\n const handleResizeMove = (moveEvent: PointerEvent) => {\n const nextSize = resolveResizeSize({\n handle,\n maxHeight: resolvedMaxHeight,\n maxWidth: resolvedMaxWidth,\n minHeight,\n minWidth,\n startHeight: rect.height,\n startWidth: rect.width,\n startX,\n startY,\n x: moveEvent.clientX,\n y: moveEvent.clientY,\n });\n\n const nextState = { ...nextSize, sourceHeight: height, sourceWidth: width };\n latestResizeSizeRef.current = nextSize;\n setResizeSize(nextState);\n onResize?.(nextSize);\n };\n\n const handleResizeEnd = () => {\n resizeCleanupRef.current?.();\n resizeCleanupRef.current = undefined;\n\n if (latestResizeSizeRef.current) onResizeEnd?.(latestResizeSizeRef.current);\n };\n\n resizeCleanupRef.current?.();\n window.addEventListener('pointermove', handleResizeMove);\n window.addEventListener('pointerup', handleResizeEnd);\n resizeCleanupRef.current = () => {\n window.removeEventListener('pointermove', handleResizeMove);\n window.removeEventListener('pointerup', handleResizeEnd);\n };\n },\n [height, maxHeight, maxWidth, minHeight, minWidth, onResize, onResizeEnd, width],\n );\n\n return (\n <ModalRoot\n defaultOpen={defaultOpen}\n modal={modal}\n open={open}\n zIndex={zIndex}\n onExitComplete={afterClose}\n onOpenChange={handleOpenChange}\n >\n <ModalPortal container={container}>\n {mask && (\n <ModalBackdrop className={classNames?.backdrop} style={semanticStyles?.backdrop} />\n )}\n <ModalPopupImpl\n aria-label={ariaLabel}\n className={classNames?.wrapper}\n motionProps={resolvedMotionProps}\n panelClassName={clsx(className, classNames?.panel)}\n panelXstyle={[s.panel, isTop && s.panelTop]}\n popupStyle={popupStyle}\n width={activeResizeSize?.width ?? width}\n xstyle={s.wrapper}\n style={{\n height: activeResizeSize?.height ?? height,\n minHeight,\n minWidth,\n width: activeResizeSize?.width,\n ...semanticStyles?.panel,\n }}\n >\n {placement === 'bottomRight' && <ToastDodge />}\n {resizable &&\n resizeHandles.map((handle) => (\n <div\n aria-hidden\n data-floating-panel-resize-handle={handle}\n key={handle}\n {...styleProps(\n [s.resizeHandle, getResizeHandleClassName(s, handle)],\n classNames?.resizeHandle,\n semanticStyles?.resizeHandle,\n )}\n onPointerDown={handleResizeStart(handle)}\n />\n ))}\n {showHeader && (\n <ModalHeaderImpl\n className={classNames?.header}\n style={semanticStyles?.header}\n xstyle={s.header}\n >\n {title !== undefined ? (\n <ModalTitleImpl\n className={classNames?.title}\n style={semanticStyles?.title}\n xstyle={s.title}\n >\n {title}\n </ModalTitleImpl>\n ) : (\n <span />\n )}\n <div {...stylex.props(s.headerActions)}>\n {actions && (\n <div\n {...styleProps(s.actions, classNames?.actions, semanticStyles?.actions)}\n >\n {actions}\n </div>\n )}\n {closable && (\n <ModalCloseImpl\n aria-label={closeLabel}\n className={classNames?.close}\n style={semanticStyles?.close}\n xstyle={s.close}\n >\n {closeIcon ?? <X size={16} />}\n </ModalCloseImpl>\n )}\n </div>\n </ModalHeaderImpl>\n )}\n <ModalContentImpl\n className={classNames?.body}\n style={semanticStyles?.body}\n xstyle={s.body}\n >\n {children}\n </ModalContentImpl>\n {footer && (\n <ModalFooterImpl\n className={classNames?.footer}\n style={semanticStyles?.footer}\n xstyle={s.footer}\n >\n {footer}\n </ModalFooterImpl>\n )}\n </ModalPopupImpl>\n </ModalPortal>\n </ModalRoot>\n );\n },\n);\n\nFloatingPanel.displayName = 'FloatingPanel';\n\nexport { FloatingPanel };\n"],"mappings":"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"}
1
+ {"version":3,"file":"FloatingPanel.mjs","names":["clsx"],"sources":["../../src/FloatingPanel/FloatingPanel.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport { X } from 'lucide-react';\nimport type { MotionProps } from 'motion/react';\nimport type { CSSProperties, PointerEvent as ReactPointerEvent } from 'react';\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';\n\nimport { styleProps } from '@/styles/stylex/props';\n\nimport type { ModalRootProps } from '../Modal';\nimport { ModalBackdrop, ModalPortal, ModalRoot } from '../Modal';\nimport {\n ModalCloseImpl,\n ModalContentImpl,\n ModalFooterImpl,\n ModalHeaderImpl,\n ModalPopupImpl,\n ModalTitleImpl,\n} from '../Modal/atoms';\nimport { styles } from './style';\nimport { ToastDodge } from './ToastDodge';\nimport type {\n FloatingPanelOffset,\n FloatingPanelPlacement,\n FloatingPanelProps,\n FloatingPanelResizeHandle,\n FloatingPanelSize,\n} from './type';\n\nconst DEFAULT_MIN_HEIGHT = 180;\nconst DEFAULT_MIN_WIDTH = 320;\n\ninterface InternalFloatingPanelSize extends FloatingPanelSize {\n sourceHeight?: number | string;\n sourceWidth?: number | string;\n}\n\nconst defaultMotionProps: MotionProps = {\n animate: { opacity: 1, scale: 1, x: 0, y: 0 },\n exit: {\n opacity: 0,\n scale: 0.98,\n transition: { duration: 0.14, ease: [0.4, 0, 1, 1] },\n y: 12,\n },\n initial: { opacity: 0, scale: 0.98, y: 12 },\n transition: { duration: 0.2, ease: [0.32, 0.72, 0, 1] },\n};\n\nconst topMotionProps: MotionProps = {\n animate: { opacity: 1, scale: 1, x: 0, y: 0 },\n exit: {\n opacity: 0,\n scale: 0.98,\n transition: { duration: 0.14, ease: [0.4, 0, 1, 1] },\n y: -12,\n },\n initial: { opacity: 0, scale: 0.98, y: -12 },\n transition: { duration: 0.2, ease: [0.32, 0.72, 0, 1] },\n};\n\nconst resolveOffset = (offset: FloatingPanelOffset) => {\n if (typeof offset === 'object') {\n return {\n x: offset.x ?? 8,\n y: offset.y ?? 8,\n };\n }\n\n return { x: offset, y: offset };\n};\n\nconst getPlacementStyle = (\n placement: FloatingPanelPlacement,\n offset: FloatingPanelOffset,\n): CSSProperties => {\n const { x, y } = resolveOffset(offset);\n const isTop = placement.startsWith('top');\n const isLeft = placement.endsWith('Left');\n\n const px = (value: number | string) => (typeof value === 'number' ? `${value}px` : value);\n const blockInset = `calc(${px(y)} + var(--floating-panel-reserve-block-end, 0px))`;\n const inlineInset = `calc(${px(x)} + var(--floating-panel-reserve-inline-end, 0px))`;\n\n return {\n alignItems: isTop ? 'flex-start' : 'flex-end',\n justifyContent: isLeft ? 'flex-start' : 'flex-end',\n paddingBlockEnd: isTop ? undefined : blockInset,\n paddingBlockStart: isTop ? blockInset : undefined,\n paddingInlineEnd: isLeft ? undefined : inlineInset,\n paddingInlineStart: isLeft ? inlineInset : undefined,\n };\n};\n\nconst clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);\n\nconst getViewportMaxSize = () => ({\n height: Math.max(DEFAULT_MIN_HEIGHT, window.innerHeight - 16),\n width: Math.max(DEFAULT_MIN_WIDTH, window.innerWidth - 16),\n});\n\nconst getResizeHandles = (placement: FloatingPanelPlacement): FloatingPanelResizeHandle[] => {\n switch (placement) {\n case 'bottomLeft': {\n return ['top', 'right', 'topRight'];\n }\n case 'topLeft': {\n return ['bottom', 'right', 'bottomRight'];\n }\n case 'topRight': {\n return ['bottom', 'left', 'bottomLeft'];\n }\n default: {\n return ['top', 'left', 'topLeft'];\n }\n }\n};\n\nconst getResizeHandleClassName = (s: typeof styles, handle: FloatingPanelResizeHandle) => {\n const handleClassMap = {\n bottom: s.resizeHandleBottom,\n bottomLeft: s.resizeHandleBottomLeft,\n bottomRight: s.resizeHandleBottomRight,\n left: s.resizeHandleLeft,\n right: s.resizeHandleRight,\n top: s.resizeHandleTop,\n topLeft: s.resizeHandleTopLeft,\n topRight: s.resizeHandleTopRight,\n };\n\n return handleClassMap[handle];\n};\n\nconst resolveResizeSize = ({\n handle,\n maxHeight,\n maxWidth,\n minHeight,\n minWidth,\n startHeight,\n startWidth,\n startX,\n startY,\n x,\n y,\n}: {\n handle: FloatingPanelResizeHandle;\n maxHeight: number;\n maxWidth: number;\n minHeight: number;\n minWidth: number;\n startHeight: number;\n startWidth: number;\n startX: number;\n startY: number;\n x: number;\n y: number;\n}): FloatingPanelSize => {\n const deltaX = x - startX;\n const deltaY = y - startY;\n const growsLeft = handle.includes('Left') || handle === 'left';\n const growsRight = handle.includes('Right') || handle === 'right';\n const growsTop = handle.includes('top') || handle === 'top';\n const growsBottom = handle.includes('bottom') || handle === 'bottom';\n\n const nextWidth = growsLeft ? startWidth - deltaX : growsRight ? startWidth + deltaX : startWidth;\n const nextHeight = growsTop\n ? startHeight - deltaY\n : growsBottom\n ? startHeight + deltaY\n : startHeight;\n\n return {\n height: clamp(nextHeight, minHeight, maxHeight),\n width: clamp(nextWidth, minWidth, maxWidth),\n };\n};\n\nconst FloatingPanel = memo<FloatingPanelProps>(\n ({\n afterClose,\n ariaLabel,\n children,\n className,\n classNames,\n closable = true,\n closeIcon,\n closeLabel = 'Close',\n defaultOpen,\n actions,\n footer,\n getContainer,\n height,\n keyboard = true,\n mask = false,\n maskClosable = true,\n maxHeight,\n maxWidth,\n minHeight = DEFAULT_MIN_HEIGHT,\n minWidth = DEFAULT_MIN_WIDTH,\n modal = false,\n motionProps,\n offset = 8,\n onClose,\n onOpenChange,\n onResize,\n onResizeEnd,\n open,\n placement = 'bottomRight',\n resizable = true,\n styles: semanticStyles,\n title,\n width = 640,\n zIndex,\n }) => {\n const s = styles;\n const isTop = placement.startsWith('top');\n const container = getContainer === false ? undefined : getContainer;\n const [resizeSize, setResizeSize] = useState<InternalFloatingPanelSize>();\n const latestResizeSizeRef = useRef<FloatingPanelSize | undefined>(undefined);\n const resizeCleanupRef = useRef<(() => void) | undefined>(undefined);\n const activeResizeSize =\n resizeSize?.sourceWidth === width && resizeSize.sourceHeight === height\n ? resizeSize\n : undefined;\n\n useEffect(\n () => () => {\n resizeCleanupRef.current?.();\n },\n [],\n );\n\n const popupStyle = useMemo(\n () => ({\n ...getPlacementStyle(placement, offset),\n ...semanticStyles?.wrapper,\n }),\n [offset, placement, semanticStyles?.wrapper],\n );\n\n const handleOpenChange = useCallback<NonNullable<ModalRootProps['onOpenChange']>>(\n (nextOpen, eventDetails) => {\n if (!nextOpen) {\n if (keyboard === false && eventDetails.reason === 'escape-key') return;\n if (maskClosable === false && eventDetails.reason === 'outside-press') return;\n onClose?.();\n }\n\n onOpenChange?.(nextOpen, eventDetails);\n },\n [keyboard, maskClosable, onClose, onOpenChange],\n );\n\n const showHeader = title !== undefined || actions !== undefined || closable;\n const resolvedMotionProps = motionProps ?? (isTop ? topMotionProps : defaultMotionProps);\n const resizeHandles = useMemo(() => getResizeHandles(placement), [placement]);\n\n const handleResizeStart = useCallback(\n (handle: FloatingPanelResizeHandle) => (event: ReactPointerEvent<HTMLDivElement>) => {\n event.preventDefault();\n event.stopPropagation();\n\n const panel = event.currentTarget.parentElement;\n if (!panel) return;\n\n const rect = panel.getBoundingClientRect();\n const viewportMaxSize = getViewportMaxSize();\n const resolvedMaxWidth = Math.max(minWidth, maxWidth ?? viewportMaxSize.width);\n const resolvedMaxHeight = Math.max(minHeight, maxHeight ?? viewportMaxSize.height);\n const startX = event.clientX;\n const startY = event.clientY;\n\n const handleResizeMove = (moveEvent: PointerEvent) => {\n const nextSize = resolveResizeSize({\n handle,\n maxHeight: resolvedMaxHeight,\n maxWidth: resolvedMaxWidth,\n minHeight,\n minWidth,\n startHeight: rect.height,\n startWidth: rect.width,\n startX,\n startY,\n x: moveEvent.clientX,\n y: moveEvent.clientY,\n });\n\n const nextState = { ...nextSize, sourceHeight: height, sourceWidth: width };\n latestResizeSizeRef.current = nextSize;\n setResizeSize(nextState);\n onResize?.(nextSize);\n };\n\n const handleResizeEnd = () => {\n resizeCleanupRef.current?.();\n resizeCleanupRef.current = undefined;\n\n if (latestResizeSizeRef.current) onResizeEnd?.(latestResizeSizeRef.current);\n };\n\n resizeCleanupRef.current?.();\n window.addEventListener('pointermove', handleResizeMove);\n window.addEventListener('pointerup', handleResizeEnd);\n resizeCleanupRef.current = () => {\n window.removeEventListener('pointermove', handleResizeMove);\n window.removeEventListener('pointerup', handleResizeEnd);\n };\n },\n [height, maxHeight, maxWidth, minHeight, minWidth, onResize, onResizeEnd, width],\n );\n\n return (\n <ModalRoot\n defaultOpen={defaultOpen}\n modal={modal}\n open={open}\n zIndex={zIndex}\n onExitComplete={afterClose}\n onOpenChange={handleOpenChange}\n >\n <ModalPortal container={container}>\n {mask && (\n <ModalBackdrop className={classNames?.backdrop} style={semanticStyles?.backdrop} />\n )}\n <ModalPopupImpl\n aria-label={ariaLabel}\n className={classNames?.wrapper}\n motionProps={resolvedMotionProps}\n panelClassName={clsx(className, classNames?.panel)}\n panelXstyle={[s.panel, isTop && s.panelTop]}\n popupStyle={popupStyle}\n width={activeResizeSize?.width ?? width}\n xstyle={s.wrapper}\n style={{\n height: activeResizeSize?.height ?? height,\n minHeight,\n minWidth,\n width: activeResizeSize?.width,\n ...semanticStyles?.panel,\n }}\n >\n {placement === 'bottomRight' && <ToastDodge />}\n {resizable &&\n resizeHandles.map((handle) => (\n <div\n aria-hidden\n data-floating-panel-resize-handle={handle}\n key={handle}\n {...styleProps(\n [s.resizeHandle, getResizeHandleClassName(s, handle)],\n classNames?.resizeHandle,\n semanticStyles?.resizeHandle,\n )}\n onPointerDown={handleResizeStart(handle)}\n />\n ))}\n {showHeader && (\n <ModalHeaderImpl\n className={classNames?.header}\n style={semanticStyles?.header}\n xstyle={s.header}\n >\n {title !== undefined ? (\n <ModalTitleImpl\n className={classNames?.title}\n style={semanticStyles?.title}\n xstyle={s.title}\n >\n {title}\n </ModalTitleImpl>\n ) : (\n <span />\n )}\n <div {...stylex.props(s.headerActions)}>\n {actions && (\n <div\n {...styleProps(s.actions, classNames?.actions, semanticStyles?.actions)}\n >\n {actions}\n </div>\n )}\n {closable && (\n <ModalCloseImpl\n aria-label={closeLabel}\n className={classNames?.close}\n style={semanticStyles?.close}\n xstyle={s.close}\n >\n {closeIcon ?? <X size={16} />}\n </ModalCloseImpl>\n )}\n </div>\n </ModalHeaderImpl>\n )}\n <ModalContentImpl\n className={classNames?.body}\n style={semanticStyles?.body}\n xstyle={s.body}\n >\n {children}\n </ModalContentImpl>\n {footer && (\n <ModalFooterImpl\n className={classNames?.footer}\n style={semanticStyles?.footer}\n xstyle={s.footer}\n >\n {footer}\n </ModalFooterImpl>\n )}\n </ModalPopupImpl>\n </ModalPortal>\n </ModalRoot>\n );\n },\n);\n\nFloatingPanel.displayName = 'FloatingPanel';\n\nexport { FloatingPanel };\n"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
+ import { cssVar } from "../styles/stylex/cssVar.stylex.mjs";
1
2
  //#region src/FloatingPanel/style.ts
2
- const dodge = `608ms linear(0, 0.08, 0.249, 0.437, 0.607, 0.745, 0.847, 0.917, 0.963, 0.99, 1.004, 1.011, 1.012, 1.011, 1.009, 1.007, 1.005, 1.003, 1.002, 1)`;
3
+ const dodge = `608ms ${cssVar.motionSpringSnappy}`;
3
4
  `${dodge}${dodge}${dodge}${dodge}`;
4
5
  const styles = {
5
6
  actions: {
@@ -156,7 +157,7 @@ const styles = {
156
157
  },
157
158
  wrapper: {
158
159
  kVQacm: "lbb3r6kr",
159
- kmkexE: "lbon1zjq",
160
+ kmkexE: "lbchz62r",
160
161
  kIyJzY: "lb12w9bfk",
161
162
  k1ekBW: "lb4wkmsb",
162
163
  kAMwcw: "lb7v8fk2",
@@ -1 +1 @@
1
- {"version":3,"file":"style.mjs","names":[],"sources":["../../src/FloatingPanel/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\n\nconst dodgeDuration = '608ms';\nconst dodgeEase =\n 'linear(0, 0.08, 0.249, 0.437, 0.607, 0.745, 0.847, 0.917, 0.963, 0.99, 1.004, 1.011, 1.012, 1.011, 1.009, 1.007, 1.005, 1.003, 1.002, 1)';\nconst reducedMotion = '@media (prefers-reduced-motion: reduce)';\nconst dodge = `${dodgeDuration} ${dodgeEase}`;\nconst wrapperTransition = `padding-block-end ${dodge}, padding-block-start ${dodge}, padding-inline-end ${dodge}, padding-inline-start ${dodge}`;\nconst handleActive = ':is(:hover, :focus-visible)';\n\nexport const styles = stylex.create({\n actions: {\n flex: 'none',\n gap: 4,\n alignItems: 'center',\n display: 'flex',\n },\n body: {\n flex: '1',\n paddingInline: 0,\n paddingBlockEnd: 0,\n paddingBlockStart: 0,\n minHeight: 0,\n overflowX: 'hidden',\n overflowY: 'auto',\n },\n close: {\n borderRadius: 8,\n marginInlineEnd: -4,\n position: 'static',\n height: 32,\n width: 32,\n },\n footer: {\n flex: 'none',\n borderBlockStartColor: cssVar.colorBorderSecondary,\n borderBlockStartStyle: 'solid',\n borderBlockStartWidth: 1,\n },\n header: {\n flex: 'none',\n borderBlockEndColor: cssVar.colorBorderSecondary,\n borderBlockEndStyle: 'solid',\n borderBlockEndWidth: 1,\n minHeight: 48,\n },\n headerActions: {\n flex: 'none',\n gap: 4,\n alignItems: 'center',\n display: 'flex',\n },\n panel: {\n borderRadius: 12,\n boxShadow: `${cssVar.boxShadowSecondary}, var(--lobe-ring)`,\n transformOrigin: '100% 100%',\n maxHeight: 'calc(100dvh - 32px - var(--floating-panel-reserve-block-end, 0px))',\n width: 'calc(100dvw - 32px)',\n },\n panelTop: {\n transformOrigin: '100% 0',\n },\n resizeHandle: {\n 'backgroundColor': 'transparent',\n 'position': 'absolute',\n 'touchAction': 'none',\n 'zIndex': 1,\n '::after': {\n borderRadius: 999,\n transition: 'opacity 120ms ease',\n backgroundColor: cssVar.colorPrimary,\n content: '\"\"',\n opacity: { default: 0, [handleActive]: 0.55 },\n position: 'absolute',\n },\n },\n resizeHandleBottom: {\n 'insetInline': 16,\n 'cursor': 'ns-resize',\n 'insetBlockEnd': -4,\n 'height': 8,\n '::after': {\n insetInline: 0,\n insetBlockEnd: 3,\n height: 2,\n },\n },\n resizeHandleBottomLeft: {\n cursor: 'nesw-resize',\n insetBlockEnd: -5,\n insetInlineStart: -5,\n height: 16,\n width: 16,\n },\n resizeHandleBottomRight: {\n cursor: 'nwse-resize',\n insetBlockEnd: -5,\n insetInlineEnd: -5,\n height: 16,\n width: 16,\n },\n resizeHandleLeft: {\n 'insetBlock': 16,\n 'cursor': 'ew-resize',\n 'insetInlineStart': -4,\n 'width': 8,\n '::after': {\n insetBlock: 0,\n insetInlineStart: 3,\n width: 2,\n },\n },\n resizeHandleRight: {\n 'insetBlock': 16,\n 'cursor': 'ew-resize',\n 'insetInlineEnd': -4,\n 'width': 8,\n '::after': {\n insetBlock: 0,\n insetInlineEnd: 3,\n width: 2,\n },\n },\n resizeHandleTop: {\n 'insetInline': 16,\n 'cursor': 'ns-resize',\n 'insetBlockStart': -4,\n 'height': 8,\n '::after': {\n insetInline: 0,\n insetBlockStart: 3,\n height: 2,\n },\n },\n resizeHandleTopLeft: {\n cursor: 'nwse-resize',\n insetBlockStart: -5,\n insetInlineStart: -5,\n height: 16,\n width: 16,\n },\n resizeHandleTopRight: {\n cursor: 'nesw-resize',\n insetBlockStart: -5,\n insetInlineEnd: -5,\n height: 16,\n width: 16,\n },\n title: {\n flex: '1',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n minWidth: 0,\n },\n wrapper: {\n overflow: 'hidden',\n transition: wrapperTransition,\n transitionDuration: { default: null, [reducedMotion]: '0s' },\n transitionProperty: { default: null, [reducedMotion]: 'none' },\n transitionTimingFunction: { default: null, [reducedMotion]: 'ease' },\n },\n});\n"],"mappings":";AAMA,MAAM,QAAQ;AACY,GAAqB,QAA8B,QAA6B,QAA+B;AAEzI,MAAa,SAAS;CACpB,SAAS;EACP,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,eAAe;EACb,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,OAAO;CACT;CACA,UAAU;EACR,QAAQ;EACR,OAAO;CACT;CACA,cAAc;EACZ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,oBAAoB;EAClB,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,wBAAwB;EACtB,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,yBAAyB;EACvB,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,kBAAkB;EAChB,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,mBAAmB;EACjB,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,iBAAiB;EACf,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,qBAAqB;EACnB,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,sBAAsB;EACpB,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,SAAS;EACP,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"style.mjs","names":[],"sources":["../../src/FloatingPanel/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\n\nconst dodgeDuration = '608ms';\nconst dodgeEase = cssVar.motionSpringSnappy;\nconst reducedMotion = '@media (prefers-reduced-motion: reduce)';\nconst dodge = `${dodgeDuration} ${dodgeEase}`;\nconst wrapperTransition = `padding-block-end ${dodge}, padding-block-start ${dodge}, padding-inline-end ${dodge}, padding-inline-start ${dodge}`;\nconst handleActive = ':is(:hover, :focus-visible)';\n\nexport const styles = stylex.create({\n actions: {\n flex: 'none',\n gap: 4,\n alignItems: 'center',\n display: 'flex',\n },\n body: {\n flex: '1',\n paddingInline: 0,\n paddingBlockEnd: 0,\n paddingBlockStart: 0,\n minHeight: 0,\n overflowX: 'hidden',\n overflowY: 'auto',\n },\n close: {\n borderRadius: 8,\n marginInlineEnd: -4,\n position: 'static',\n height: 32,\n width: 32,\n },\n footer: {\n flex: 'none',\n borderBlockStartColor: cssVar.colorBorderSecondary,\n borderBlockStartStyle: 'solid',\n borderBlockStartWidth: 1,\n },\n header: {\n flex: 'none',\n borderBlockEndColor: cssVar.colorBorderSecondary,\n borderBlockEndStyle: 'solid',\n borderBlockEndWidth: 1,\n minHeight: 48,\n },\n headerActions: {\n flex: 'none',\n gap: 4,\n alignItems: 'center',\n display: 'flex',\n },\n panel: {\n borderRadius: 12,\n boxShadow: `${cssVar.boxShadowSecondary}, var(--lobe-ring)`,\n transformOrigin: '100% 100%',\n maxHeight: 'calc(100dvh - 32px - var(--floating-panel-reserve-block-end, 0px))',\n width: 'calc(100dvw - 32px)',\n },\n panelTop: {\n transformOrigin: '100% 0',\n },\n resizeHandle: {\n 'backgroundColor': 'transparent',\n 'position': 'absolute',\n 'touchAction': 'none',\n 'zIndex': 1,\n '::after': {\n borderRadius: 999,\n transition: 'opacity 120ms ease',\n backgroundColor: cssVar.colorPrimary,\n content: '\"\"',\n opacity: { default: 0, [handleActive]: 0.55 },\n position: 'absolute',\n },\n },\n resizeHandleBottom: {\n 'insetInline': 16,\n 'cursor': 'ns-resize',\n 'insetBlockEnd': -4,\n 'height': 8,\n '::after': {\n insetInline: 0,\n insetBlockEnd: 3,\n height: 2,\n },\n },\n resizeHandleBottomLeft: {\n cursor: 'nesw-resize',\n insetBlockEnd: -5,\n insetInlineStart: -5,\n height: 16,\n width: 16,\n },\n resizeHandleBottomRight: {\n cursor: 'nwse-resize',\n insetBlockEnd: -5,\n insetInlineEnd: -5,\n height: 16,\n width: 16,\n },\n resizeHandleLeft: {\n 'insetBlock': 16,\n 'cursor': 'ew-resize',\n 'insetInlineStart': -4,\n 'width': 8,\n '::after': {\n insetBlock: 0,\n insetInlineStart: 3,\n width: 2,\n },\n },\n resizeHandleRight: {\n 'insetBlock': 16,\n 'cursor': 'ew-resize',\n 'insetInlineEnd': -4,\n 'width': 8,\n '::after': {\n insetBlock: 0,\n insetInlineEnd: 3,\n width: 2,\n },\n },\n resizeHandleTop: {\n 'insetInline': 16,\n 'cursor': 'ns-resize',\n 'insetBlockStart': -4,\n 'height': 8,\n '::after': {\n insetInline: 0,\n insetBlockStart: 3,\n height: 2,\n },\n },\n resizeHandleTopLeft: {\n cursor: 'nwse-resize',\n insetBlockStart: -5,\n insetInlineStart: -5,\n height: 16,\n width: 16,\n },\n resizeHandleTopRight: {\n cursor: 'nesw-resize',\n insetBlockStart: -5,\n insetInlineEnd: -5,\n height: 16,\n width: 16,\n },\n title: {\n flex: '1',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n minWidth: 0,\n },\n wrapper: {\n overflow: 'hidden',\n transition: wrapperTransition,\n transitionDuration: { default: null, [reducedMotion]: '0s' },\n transitionProperty: { default: null, [reducedMotion]: 'none' },\n transitionTimingFunction: { default: null, [reducedMotion]: 'ease' },\n },\n});\n"],"mappings":";;AAMA,MAAM,QAAQ,SAFI,OAAO;AAGC,GAAqB,QAA8B,QAA6B,QAA+B;AAEzI,MAAa,SAAS;CACpB,SAAS;EACP,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,eAAe;EACb,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,OAAO;CACT;CACA,UAAU;EACR,QAAQ;EACR,OAAO;CACT;CACA,cAAc;EACZ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,oBAAoB;EAClB,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,wBAAwB;EACtB,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,yBAAyB;EACvB,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,kBAAkB;EAChB,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,mBAAmB;EACjB,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,iBAAiB;EACf,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,qBAAqB;EACnB,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,sBAAsB;EACpB,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,SAAS;EACP,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;AACF"}
package/es/Form/Form.mjs CHANGED
@@ -17,7 +17,9 @@ const serializeForm = (form) => {
17
17
  const entries = [...new FormData(form).entries()].filter(([, value]) => typeof value === "string");
18
18
  return JSON.stringify(entries.sort((a, b) => a[0].localeCompare(b[0])));
19
19
  };
20
- const Form$1 = memo(({ className, itemMinWidth, footer, items = [], children, itemsType = "group", variant = "borderless", classNames, styles: customStyles, gap, style, collapsible, defaultActiveKey, initialValues, activeKey, onCollapse, onFinish, onFormSubmit, layout, ref, ...rest }) => {
20
+ const Form$1 = memo(({ className, itemMinWidth, footer, items = [], children, itemsType = "group", variant = "borderless", classNames, styles: customStyles, gap, style, collapsible, defaultActiveKey, initialValues, activeKey, onCollapse, onFinish, onFormSubmit, layout, ref, compact, itemPadding, ...rest }) => {
21
+ const resolvedGap = gap ?? (compact ? 12 : void 0);
22
+ const resolvedItemPadding = itemPadding ?? (compact ? 10 : void 0);
21
23
  const { mobile } = useResponsive();
22
24
  const formRef = useRef(null);
23
25
  const [submitLoading, setSubmitLoading] = useState(false);
@@ -124,7 +126,9 @@ const Form$1 = memo(({ className, itemMinWidth, footer, items = [], children, it
124
126
  rootStyles.root,
125
127
  variant === "borderless" && rootStyles.borderless
126
128
  ], className, {
127
- gap,
129
+ gap: resolvedGap,
130
+ ...resolvedGap === void 0 ? void 0 : { "--lobe-form-gap": typeof resolvedGap === "number" ? `${resolvedGap}px` : resolvedGap },
131
+ ...resolvedItemPadding === void 0 ? void 0 : { "--lobe-form-item-padding-block": typeof resolvedItemPadding === "number" ? `${resolvedItemPadding}px` : resolvedItemPadding },
128
132
  ...style
129
133
  }),
130
134
  onFormSubmit: async (values, eventDetails) => {