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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (675) hide show
  1. package/es/Accordion/Accordion.mjs +3 -3
  2. package/es/Accordion/Accordion.mjs.map +1 -1
  3. package/es/Accordion/atoms.mjs +2 -2
  4. package/es/Accordion/atoms.mjs.map +1 -1
  5. package/es/Accordion/style.d.mts +1 -1
  6. package/es/ActionIcon/ActionIcon.mjs +2 -2
  7. package/es/ActionIcon/ActionIcon.mjs.map +1 -1
  8. package/es/Alert/Alert.mjs +5 -5
  9. package/es/Alert/Alert.mjs.map +1 -1
  10. package/es/AutoComplete/AutoComplete.mjs +5 -5
  11. package/es/AutoComplete/AutoComplete.mjs.map +1 -1
  12. package/es/AutoComplete/style.mjs +2 -2
  13. package/es/AutoComplete/style.mjs.map +1 -1
  14. package/es/Avatar/Avatar.mjs +2 -2
  15. package/es/Avatar/Avatar.mjs.map +1 -1
  16. package/es/Avatar/AvatarGroup/index.mjs +2 -2
  17. package/es/Avatar/AvatarGroup/index.mjs.map +1 -1
  18. package/es/Breadcrumb/Breadcrumb.mjs +2 -2
  19. package/es/Breadcrumb/Breadcrumb.mjs.map +1 -1
  20. package/es/Button/Button.mjs +1 -1
  21. package/es/Button/Button.mjs.map +1 -1
  22. package/es/Button/style.d.mts +8 -1
  23. package/es/Button/style.mjs +41 -18
  24. package/es/Button/style.mjs.map +1 -1
  25. package/es/Checkbox/Checkbox.mjs +3 -3
  26. package/es/Checkbox/Checkbox.mjs.map +1 -1
  27. package/es/CodeDiff/DiffPanel.mjs +4 -4
  28. package/es/CodeDiff/DiffPanel.mjs.map +1 -1
  29. package/es/CodeEditor/CodeEditor.mjs +4 -4
  30. package/es/CodeEditor/CodeEditor.mjs.map +1 -1
  31. package/es/ColorPicker/ColorInputs.mjs +136 -0
  32. package/es/ColorPicker/ColorInputs.mjs.map +1 -0
  33. package/es/ColorPicker/ColorPanel.mjs +145 -0
  34. package/es/ColorPicker/ColorPanel.mjs.map +1 -0
  35. package/es/ColorPicker/ColorPicker.mjs +62 -199
  36. package/es/ColorPicker/ColorPicker.mjs.map +1 -1
  37. package/es/ColorPicker/SaturationArea.mjs +2 -1
  38. package/es/ColorPicker/SaturationArea.mjs.map +1 -1
  39. package/es/ColorPicker/Swatch.mjs +24 -0
  40. package/es/ColorPicker/Swatch.mjs.map +1 -0
  41. package/es/ColorPicker/Swatches.mjs +66 -0
  42. package/es/ColorPicker/Swatches.mjs.map +1 -0
  43. package/es/ColorPicker/Trigger.mjs +112 -0
  44. package/es/ColorPicker/Trigger.mjs.map +1 -0
  45. package/es/ColorPicker/color.mjs +25 -1
  46. package/es/ColorPicker/color.mjs.map +1 -1
  47. package/es/ColorPicker/recent.mjs +25 -0
  48. package/es/ColorPicker/recent.mjs.map +1 -0
  49. package/es/ColorPicker/style.mjs +269 -70
  50. package/es/ColorPicker/style.mjs.map +1 -1
  51. package/es/ColorPicker/type.d.mts +15 -0
  52. package/es/ContextMenu/ContextMenuHost.mjs +2 -2
  53. package/es/ContextMenu/ContextMenuHost.mjs.map +1 -1
  54. package/es/ContextMenu/ContextMenuTrigger.mjs +2 -2
  55. package/es/ContextMenu/ContextMenuTrigger.mjs.map +1 -1
  56. package/es/ContextMenu/renderItems.mjs +3 -3
  57. package/es/ContextMenu/renderItems.mjs.map +1 -1
  58. package/es/DatePicker/DatePicker.d.mts +9 -2
  59. package/es/DatePicker/DatePicker.mjs +15 -85
  60. package/es/DatePicker/DatePicker.mjs.map +1 -1
  61. package/es/DatePicker/DateRangePicker.d.mts +3 -2
  62. package/es/DatePicker/DateRangePicker.mjs +3 -125
  63. package/es/DatePicker/DateRangePicker.mjs.map +1 -1
  64. package/es/DatePicker/DayjsDatePicker.d.mts +12 -0
  65. package/es/DatePicker/DayjsDatePicker.mjs +19 -0
  66. package/es/DatePicker/DayjsDatePicker.mjs.map +1 -0
  67. package/es/DatePicker/DayjsDateRangePicker.d.mts +7 -0
  68. package/es/DatePicker/DayjsDateRangePicker.mjs +8 -0
  69. package/es/DatePicker/DayjsDateRangePicker.mjs.map +1 -0
  70. package/es/DatePicker/PurePanel.mjs +65 -0
  71. package/es/DatePicker/PurePanel.mjs.map +1 -0
  72. package/es/DatePicker/RangePicker.mjs +121 -0
  73. package/es/DatePicker/RangePicker.mjs.map +1 -0
  74. package/es/DatePicker/SinglePicker.mjs +134 -0
  75. package/es/DatePicker/SinglePicker.mjs.map +1 -0
  76. package/es/DatePicker/core/PickerInput/Popup/Footer.mjs +57 -0
  77. package/es/DatePicker/core/PickerInput/Popup/Footer.mjs.map +1 -0
  78. package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs +57 -0
  79. package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs.map +1 -0
  80. package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs +29 -0
  81. package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs.map +1 -0
  82. package/es/DatePicker/core/PickerInput/Popup/index.mjs +133 -0
  83. package/es/DatePicker/core/PickerInput/Popup/index.mjs.map +1 -0
  84. package/es/DatePicker/core/PickerInput/RangePicker.d.mts +51 -0
  85. package/es/DatePicker/core/PickerInput/RangePicker.mjs +343 -0
  86. package/es/DatePicker/core/PickerInput/RangePicker.mjs.map +1 -0
  87. package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs +27 -0
  88. package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs.map +1 -0
  89. package/es/DatePicker/core/PickerInput/Selector/Icon.mjs +19 -0
  90. package/es/DatePicker/core/PickerInput/Selector/Icon.mjs.map +1 -0
  91. package/es/DatePicker/core/PickerInput/Selector/Input.mjs +237 -0
  92. package/es/DatePicker/core/PickerInput/Selector/Input.mjs.map +1 -0
  93. package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs +70 -0
  94. package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs.map +1 -0
  95. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.d.mts +8 -0
  96. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs +136 -0
  97. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs.map +1 -0
  98. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs +28 -0
  99. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs.map +1 -0
  100. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs +69 -0
  101. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs.map +1 -0
  102. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs +111 -0
  103. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs.map +1 -0
  104. package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs +18 -0
  105. package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs.map +1 -0
  106. package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs +108 -0
  107. package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs.map +1 -0
  108. package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs +11 -0
  109. package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs.map +1 -0
  110. package/es/DatePicker/core/PickerInput/Selector/util.mjs +20 -0
  111. package/es/DatePicker/core/PickerInput/Selector/util.mjs.map +1 -0
  112. package/es/DatePicker/core/PickerInput/SinglePicker.d.mts +55 -0
  113. package/es/DatePicker/core/PickerInput/SinglePicker.mjs +318 -0
  114. package/es/DatePicker/core/PickerInput/SinglePicker.mjs.map +1 -0
  115. package/es/DatePicker/core/PickerInput/context.mjs +7 -0
  116. package/es/DatePicker/core/PickerInput/context.mjs.map +1 -0
  117. package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs +30 -0
  118. package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs.map +1 -0
  119. package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs +37 -0
  120. package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs.map +1 -0
  121. package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs +18 -0
  122. package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs.map +1 -0
  123. package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs +20 -0
  124. package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs.map +1 -0
  125. package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs +31 -0
  126. package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs.map +1 -0
  127. package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs +98 -0
  128. package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs.map +1 -0
  129. package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs +41 -0
  130. package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs.map +1 -0
  131. package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs +34 -0
  132. package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs.map +1 -0
  133. package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs +35 -0
  134. package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs.map +1 -0
  135. package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs +9 -0
  136. package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs.map +1 -0
  137. package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs +36 -0
  138. package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs.map +1 -0
  139. package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs +27 -0
  140. package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs.map +1 -0
  141. package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs +18 -0
  142. package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs.map +1 -0
  143. package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs +19 -0
  144. package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs.map +1 -0
  145. package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs +20 -0
  146. package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs.map +1 -0
  147. package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs +24 -0
  148. package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs.map +1 -0
  149. package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs +107 -0
  150. package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs.map +1 -0
  151. package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs +144 -0
  152. package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs.map +1 -0
  153. package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs +219 -0
  154. package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs.map +1 -0
  155. package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs +11 -0
  156. package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs.map +1 -0
  157. package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs +131 -0
  158. package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs.map +1 -0
  159. package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs +35 -0
  160. package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs.map +1 -0
  161. package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs +84 -0
  162. package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs.map +1 -0
  163. package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs +73 -0
  164. package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs.map +1 -0
  165. package/es/DatePicker/core/PickerPanel/PanelBody.mjs +95 -0
  166. package/es/DatePicker/core/PickerPanel/PanelBody.mjs.map +1 -0
  167. package/es/DatePicker/core/PickerPanel/PanelHeader.mjs +130 -0
  168. package/es/DatePicker/core/PickerPanel/PanelHeader.mjs.map +1 -0
  169. package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs +64 -0
  170. package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs.map +1 -0
  171. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs +108 -0
  172. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs.map +1 -0
  173. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs +44 -0
  174. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs.map +1 -0
  175. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs +157 -0
  176. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs.map +1 -0
  177. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs +100 -0
  178. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs.map +1 -0
  179. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs +71 -0
  180. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs.map +1 -0
  181. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs +62 -0
  182. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs.map +1 -0
  183. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs +200 -0
  184. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs.map +1 -0
  185. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs +25 -0
  186. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs.map +1 -0
  187. package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs +31 -0
  188. package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs.map +1 -0
  189. package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs +34 -0
  190. package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs.map +1 -0
  191. package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs +92 -0
  192. package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs.map +1 -0
  193. package/es/DatePicker/core/PickerPanel/context.mjs +48 -0
  194. package/es/DatePicker/core/PickerPanel/context.mjs.map +1 -0
  195. package/es/DatePicker/core/PickerPanel/index.d.mts +1 -0
  196. package/es/DatePicker/core/PickerPanel/index.mjs +175 -0
  197. package/es/DatePicker/core/PickerPanel/index.mjs.map +1 -0
  198. package/es/DatePicker/core/PickerPopup.mjs +118 -0
  199. package/es/DatePicker/core/PickerPopup.mjs.map +1 -0
  200. package/es/DatePicker/core/generate/dayjs.mjs +109 -0
  201. package/es/DatePicker/core/generate/dayjs.mjs.map +1 -0
  202. package/es/DatePicker/core/generate/index.d.mts +40 -0
  203. package/es/DatePicker/core/hooks/react.mjs +58 -0
  204. package/es/DatePicker/core/hooks/react.mjs.map +1 -0
  205. package/es/DatePicker/core/hooks/useLocale.mjs +51 -0
  206. package/es/DatePicker/core/hooks/useLocale.mjs.map +1 -0
  207. package/es/DatePicker/core/hooks/useSemantic.mjs +20 -0
  208. package/es/DatePicker/core/hooks/useSemantic.mjs.map +1 -0
  209. package/es/DatePicker/core/hooks/useSyncState.mjs +25 -0
  210. package/es/DatePicker/core/hooks/useSyncState.mjs.map +1 -0
  211. package/es/DatePicker/core/hooks/useTimeConfig.mjs +173 -0
  212. package/es/DatePicker/core/hooks/useTimeConfig.mjs.map +1 -0
  213. package/es/DatePicker/core/hooks/useTimeInfo.mjs +110 -0
  214. package/es/DatePicker/core/hooks/useTimeInfo.mjs.map +1 -0
  215. package/es/DatePicker/core/hooks/useToggleDates.mjs +21 -0
  216. package/es/DatePicker/core/hooks/useToggleDates.mjs.map +1 -0
  217. package/es/DatePicker/core/index.d.mts +5 -0
  218. package/es/DatePicker/core/index.mjs +9 -0
  219. package/es/DatePicker/core/index.mjs.map +1 -0
  220. package/es/DatePicker/core/interface.d.mts +325 -0
  221. package/es/DatePicker/core/locale/common.mjs +11 -0
  222. package/es/DatePicker/core/locale/common.mjs.map +1 -0
  223. package/es/DatePicker/core/locale/en_US.mjs +39 -0
  224. package/es/DatePicker/core/locale/en_US.mjs.map +1 -0
  225. package/es/DatePicker/core/utils/common.mjs +73 -0
  226. package/es/DatePicker/core/utils/common.mjs.map +1 -0
  227. package/es/DatePicker/core/utils/dateUtil.mjs +106 -0
  228. package/es/DatePicker/core/utils/dateUtil.mjs.map +1 -0
  229. package/es/DatePicker/core/utils/miscUtil.mjs +46 -0
  230. package/es/DatePicker/core/utils/miscUtil.mjs.map +1 -0
  231. package/es/DatePicker/core/utils/uiUtil.mjs +9 -0
  232. package/es/DatePicker/core/utils/uiUtil.mjs.map +1 -0
  233. package/es/DatePicker/dateGenerateConfig.mjs +52 -0
  234. package/es/DatePicker/dateGenerateConfig.mjs.map +1 -0
  235. package/es/DatePicker/generateConfig.mjs +12 -0
  236. package/es/DatePicker/generateConfig.mjs.map +1 -0
  237. package/es/DatePicker/generatePicker.d.mts +12 -0
  238. package/es/DatePicker/generatePicker.mjs +22 -0
  239. package/es/DatePicker/generatePicker.mjs.map +1 -0
  240. package/es/DatePicker/index.d.mts +8 -3
  241. package/es/DatePicker/index.mjs +5 -1
  242. package/es/DatePicker/legacyDate.mjs +58 -0
  243. package/es/DatePicker/legacyDate.mjs.map +1 -0
  244. package/es/DatePicker/locale.d.mts +15 -0
  245. package/es/DatePicker/locale.mjs +143 -0
  246. package/es/DatePicker/locale.mjs.map +1 -0
  247. package/es/DatePicker/semantic.mjs +29 -0
  248. package/es/DatePicker/semantic.mjs.map +1 -0
  249. package/es/DatePicker/style.mjs +3 -155
  250. package/es/DatePicker/style.mjs.map +1 -1
  251. package/es/DatePicker/type.d.mts +294 -27
  252. package/es/DatePicker/usePanelKeyboard.mjs +230 -0
  253. package/es/DatePicker/usePanelKeyboard.mjs.map +1 -0
  254. package/es/DatePicker/usePickerShared.mjs +106 -0
  255. package/es/DatePicker/usePickerShared.mjs.map +1 -0
  256. package/es/DatePicker/usePresetActive.mjs +49 -0
  257. package/es/DatePicker/usePresetActive.mjs.map +1 -0
  258. package/es/DraggablePanel/atoms.mjs +5 -5
  259. package/es/DraggablePanel/atoms.mjs.map +1 -1
  260. package/es/DraggableSideNav/DraggableSideNav.mjs +3 -3
  261. package/es/DraggableSideNav/DraggableSideNav.mjs.map +1 -1
  262. package/es/Drawer/Drawer.mjs +2 -2
  263. package/es/Drawer/Drawer.mjs.map +1 -1
  264. package/es/Drawer/atoms.mjs +6 -6
  265. package/es/Drawer/atoms.mjs.map +1 -1
  266. package/es/DropdownMenu/atoms.mjs +22 -22
  267. package/es/DropdownMenu/atoms.mjs.map +1 -1
  268. package/es/DropdownMenu/sharedStyle.mjs +2 -2
  269. package/es/DropdownMenu/sharedStyle.mjs.map +1 -1
  270. package/es/EditorSlashMenu/atoms.mjs +12 -12
  271. package/es/EditorSlashMenu/atoms.mjs.map +1 -1
  272. package/es/EmojiPicker/EmojiPicker.mjs +7 -7
  273. package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
  274. package/es/EmojiPicker/loadEmojiData.mjs +6 -0
  275. package/es/EmojiPicker/loadEmojiData.mjs.map +1 -0
  276. package/es/FloatingPanel/FloatingPanel.mjs +2 -2
  277. package/es/FloatingPanel/FloatingPanel.mjs.map +1 -1
  278. package/es/FormKit/List.mjs +2 -2
  279. package/es/FormKit/List.mjs.map +1 -1
  280. package/es/Highlighter/FullFeatured.mjs +2 -2
  281. package/es/Highlighter/FullFeatured.mjs.map +1 -1
  282. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs +2 -2
  283. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs.map +1 -1
  284. package/es/Highlighter/SyntaxHighlighter/index.mjs +4 -4
  285. package/es/Highlighter/SyntaxHighlighter/index.mjs.map +1 -1
  286. package/es/Highlighter/style.mjs +2 -2
  287. package/es/Highlighter/style.mjs.map +1 -1
  288. package/es/HtmlPreview/HtmlPreview.mjs +2 -2
  289. package/es/HtmlPreview/HtmlPreview.mjs.map +1 -1
  290. package/es/Icon/Icon.mjs +2 -2
  291. package/es/Icon/Icon.mjs.map +1 -1
  292. package/es/List/ListRow.mjs +3 -3
  293. package/es/List/ListRow.mjs.map +1 -1
  294. package/es/Markdown/Markdown.mjs +2 -2
  295. package/es/Markdown/Markdown.mjs.map +1 -1
  296. package/es/Markdown/Typography.mjs +2 -2
  297. package/es/Markdown/Typography.mjs.map +1 -1
  298. package/es/Mermaid/FullFeatured.mjs +2 -2
  299. package/es/Mermaid/FullFeatured.mjs.map +1 -1
  300. package/es/Mermaid/SyntaxMermaid/index.mjs +4 -4
  301. package/es/Mermaid/SyntaxMermaid/index.mjs.map +1 -1
  302. package/es/Modal/atoms.mjs +6 -6
  303. package/es/Modal/atoms.mjs.map +1 -1
  304. package/es/Pagination/Pagination.mjs +181 -41
  305. package/es/Pagination/Pagination.mjs.map +1 -1
  306. package/es/Pagination/helpers.mjs +3 -3
  307. package/es/Pagination/helpers.mjs.map +1 -1
  308. package/es/Pagination/index.d.mts +2 -2
  309. package/es/Pagination/marker.stylex.mjs +9 -0
  310. package/es/Pagination/marker.stylex.mjs.map +1 -0
  311. package/es/Pagination/style.mjs +74 -4
  312. package/es/Pagination/style.mjs.map +1 -1
  313. package/es/Pagination/type.d.mts +41 -3
  314. package/es/Popover/PopoverInGroup.mjs +2 -2
  315. package/es/Popover/PopoverInGroup.mjs.map +1 -1
  316. package/es/Popover/atoms.mjs +6 -6
  317. package/es/Popover/atoms.mjs.map +1 -1
  318. package/es/ProTable/ProTable.d.mts +11 -0
  319. package/es/ProTable/ProTable.mjs +208 -0
  320. package/es/ProTable/ProTable.mjs.map +1 -0
  321. package/es/ProTable/hooks/useColumnRequest.mjs +55 -0
  322. package/es/ProTable/hooks/useColumnRequest.mjs.map +1 -0
  323. package/es/ProTable/hooks/useColumnsState.mjs +37 -0
  324. package/es/ProTable/hooks/useColumnsState.mjs.map +1 -0
  325. package/es/ProTable/hooks/useDelayedFlag.mjs +18 -0
  326. package/es/ProTable/hooks/useDelayedFlag.mjs.map +1 -0
  327. package/es/ProTable/hooks/useDensity.mjs +15 -0
  328. package/es/ProTable/hooks/useDensity.mjs.map +1 -0
  329. package/es/ProTable/hooks/useFetchData.mjs +97 -0
  330. package/es/ProTable/hooks/useFetchData.mjs.map +1 -0
  331. package/es/ProTable/hooks/useFullscreen.mjs +22 -0
  332. package/es/ProTable/hooks/useFullscreen.mjs.map +1 -0
  333. package/es/ProTable/hooks/usePageInfo.mjs +35 -0
  334. package/es/ProTable/hooks/usePageInfo.mjs.map +1 -0
  335. package/es/ProTable/hooks/useProColumns.mjs +123 -0
  336. package/es/ProTable/hooks/useProColumns.mjs.map +1 -0
  337. package/es/ProTable/hooks/useProLoading.mjs +19 -0
  338. package/es/ProTable/hooks/useProLoading.mjs.map +1 -0
  339. package/es/ProTable/hooks/useProLocale.mjs +22 -0
  340. package/es/ProTable/hooks/useProLocale.mjs.map +1 -0
  341. package/es/ProTable/hooks/useProRequest.mjs +137 -0
  342. package/es/ProTable/hooks/useProRequest.mjs.map +1 -0
  343. package/es/ProTable/hooks/useRowCache.mjs +11 -0
  344. package/es/ProTable/hooks/useRowCache.mjs.map +1 -0
  345. package/es/ProTable/hooks/useSearchForm.mjs +141 -0
  346. package/es/ProTable/hooks/useSearchForm.mjs.map +1 -0
  347. package/es/ProTable/hooks/useTableBindings.mjs +39 -0
  348. package/es/ProTable/hooks/useTableBindings.mjs.map +1 -0
  349. package/es/ProTable/hooks/useTableSelection.mjs +14 -0
  350. package/es/ProTable/hooks/useTableSelection.mjs.map +1 -0
  351. package/es/ProTable/index.d.mts +4 -0
  352. package/es/ProTable/index.d.ts +1 -0
  353. package/es/ProTable/index.js +1 -0
  354. package/es/ProTable/index.mjs +3 -0
  355. package/es/ProTable/locale.d.mts +15 -0
  356. package/es/ProTable/locale.mjs +66 -0
  357. package/es/ProTable/locale.mjs.map +1 -0
  358. package/es/ProTable/parts/ColumnSetting.mjs +155 -0
  359. package/es/ProTable/parts/ColumnSetting.mjs.map +1 -0
  360. package/es/ProTable/parts/FieldControl.mjs +117 -0
  361. package/es/ProTable/parts/FieldControl.mjs.map +1 -0
  362. package/es/ProTable/parts/KeywordInput.mjs +19 -0
  363. package/es/ProTable/parts/KeywordInput.mjs.map +1 -0
  364. package/es/ProTable/parts/LightFilter.mjs +70 -0
  365. package/es/ProTable/parts/LightFilter.mjs.map +1 -0
  366. package/es/ProTable/parts/OptionPopover.mjs +17 -0
  367. package/es/ProTable/parts/OptionPopover.mjs.map +1 -0
  368. package/es/ProTable/parts/SearchForm.mjs +180 -0
  369. package/es/ProTable/parts/SearchForm.mjs.map +1 -0
  370. package/es/ProTable/parts/SearchSection.mjs +33 -0
  371. package/es/ProTable/parts/SearchSection.mjs.map +1 -0
  372. package/es/ProTable/parts/TableAlert.mjs +38 -0
  373. package/es/ProTable/parts/TableAlert.mjs.map +1 -0
  374. package/es/ProTable/parts/Toolbar.mjs +50 -0
  375. package/es/ProTable/parts/Toolbar.mjs.map +1 -0
  376. package/es/ProTable/parts/ToolbarOptions.mjs +103 -0
  377. package/es/ProTable/parts/ToolbarOptions.mjs.map +1 -0
  378. package/es/ProTable/parts/renderValue.mjs +118 -0
  379. package/es/ProTable/parts/renderValue.mjs.map +1 -0
  380. package/es/ProTable/style.mjs +278 -0
  381. package/es/ProTable/style.mjs.map +1 -0
  382. package/es/ProTable/type.d.mts +397 -0
  383. package/es/ProTable/utils.mjs +152 -0
  384. package/es/ProTable/utils.mjs.map +1 -0
  385. package/es/Radio/Radio.mjs +3 -3
  386. package/es/Radio/Radio.mjs.map +1 -1
  387. package/es/ScrollArea/atoms.mjs +4 -4
  388. package/es/ScrollArea/atoms.mjs.map +1 -1
  389. package/es/Segmented/Segmented.mjs +3 -3
  390. package/es/Segmented/Segmented.mjs.map +1 -1
  391. package/es/Segmented/atoms.mjs +2 -2
  392. package/es/Segmented/atoms.mjs.map +1 -1
  393. package/es/Select/Select.mjs +22 -13
  394. package/es/Select/Select.mjs.map +1 -1
  395. package/es/Select/atoms.mjs +4 -4
  396. package/es/Select/atoms.mjs.map +1 -1
  397. package/es/Select/helpers.mjs +8 -1
  398. package/es/Select/helpers.mjs.map +1 -1
  399. package/es/Select/hooks.mjs +8 -4
  400. package/es/Select/hooks.mjs.map +1 -1
  401. package/es/Select/renderOptions.mjs +2 -2
  402. package/es/Select/renderOptions.mjs.map +1 -1
  403. package/es/Select/type.d.mts +7 -0
  404. package/es/Switch/Switch.mjs +2 -2
  405. package/es/Switch/Switch.mjs.map +1 -1
  406. package/es/Switch/atoms.mjs +2 -2
  407. package/es/Switch/atoms.mjs.map +1 -1
  408. package/es/Table/Column.d.mts +8 -0
  409. package/es/Table/Column.mjs +6 -0
  410. package/es/Table/Column.mjs.map +1 -0
  411. package/es/Table/ColumnGroup.d.mts +11 -0
  412. package/es/Table/ColumnGroup.mjs +6 -0
  413. package/es/Table/ColumnGroup.mjs.map +1 -0
  414. package/es/Table/Table.d.mts +16 -2
  415. package/es/Table/Table.mjs +149 -118
  416. package/es/Table/Table.mjs.map +1 -1
  417. package/es/Table/atoms/cells.d.mts +42 -0
  418. package/es/Table/atoms/cells.mjs +72 -0
  419. package/es/Table/atoms/cells.mjs.map +1 -0
  420. package/es/Table/atoms/index.d.mts +3 -0
  421. package/es/Table/atoms/layout.d.mts +44 -0
  422. package/es/Table/atoms/layout.mjs +62 -0
  423. package/es/Table/atoms/layout.mjs.map +1 -0
  424. package/es/Table/constants.mjs +16 -0
  425. package/es/Table/constants.mjs.map +1 -0
  426. package/es/Table/engine/fixed.d.mts +1 -0
  427. package/es/Table/engine/fixed.mjs +53 -0
  428. package/es/Table/engine/fixed.mjs.map +1 -0
  429. package/es/Table/engine/types.d.mts +1 -0
  430. package/es/Table/engine/useTableEngine.mjs +180 -0
  431. package/es/Table/engine/useTableEngine.mjs.map +1 -0
  432. package/es/Table/index.d.mts +7 -2
  433. package/es/Table/index.mjs +4 -1
  434. package/es/Table/internal.d.mts +3 -0
  435. package/es/Table/pipeline/columnUtils.d.mts +5 -0
  436. package/es/Table/pipeline/columnUtils.mjs +58 -0
  437. package/es/Table/pipeline/columnUtils.mjs.map +1 -0
  438. package/es/Table/pipeline/convertChildrenToColumns.mjs +24 -0
  439. package/es/Table/pipeline/convertChildrenToColumns.mjs.map +1 -0
  440. package/es/Table/pipeline/normalizeColumns.mjs +140 -0
  441. package/es/Table/pipeline/normalizeColumns.mjs.map +1 -0
  442. package/es/Table/pipeline/selectionUtils.d.mts +9 -0
  443. package/es/Table/pipeline/selectionUtils.mjs +115 -0
  444. package/es/Table/pipeline/selectionUtils.mjs.map +1 -0
  445. package/es/Table/pipeline/useBreakpoint.mjs +36 -0
  446. package/es/Table/pipeline/useBreakpoint.mjs.map +1 -0
  447. package/es/Table/pipeline/useExpandable.mjs +45 -0
  448. package/es/Table/pipeline/useExpandable.mjs.map +1 -0
  449. package/es/Table/pipeline/useFilter.mjs +52 -0
  450. package/es/Table/pipeline/useFilter.mjs.map +1 -0
  451. package/es/Table/pipeline/useSelection.mjs +302 -0
  452. package/es/Table/pipeline/useSelection.mjs.map +1 -0
  453. package/es/Table/pipeline/useSorter.mjs +146 -0
  454. package/es/Table/pipeline/useSorter.mjs.map +1 -0
  455. package/es/Table/pipeline/useTableLocale.mjs +30 -0
  456. package/es/Table/pipeline/useTableLocale.mjs.map +1 -0
  457. package/es/Table/pipeline/useTableState.mjs +118 -0
  458. package/es/Table/pipeline/useTableState.mjs.map +1 -0
  459. package/es/Table/pipeline/useVirtualLayout.mjs +80 -0
  460. package/es/Table/pipeline/useVirtualLayout.mjs.map +1 -0
  461. package/es/Table/render/Body.mjs +150 -0
  462. package/es/Table/render/Body.mjs.map +1 -0
  463. package/es/Table/render/BodyCell.mjs +87 -0
  464. package/es/Table/render/BodyCell.mjs.map +1 -0
  465. package/es/Table/render/CellShell.mjs +84 -0
  466. package/es/Table/render/CellShell.mjs.map +1 -0
  467. package/es/Table/render/ExpandIcon.mjs +28 -0
  468. package/es/Table/render/ExpandIcon.mjs.map +1 -0
  469. package/es/Table/render/FilterDropdown.mjs +139 -0
  470. package/es/Table/render/FilterDropdown.mjs.map +1 -0
  471. package/es/Table/render/FilterPanel.mjs +152 -0
  472. package/es/Table/render/FilterPanel.mjs.map +1 -0
  473. package/es/Table/render/FixedFrost.mjs +113 -0
  474. package/es/Table/render/FixedFrost.mjs.map +1 -0
  475. package/es/Table/render/FixedHolder.mjs +51 -0
  476. package/es/Table/render/FixedHolder.mjs.map +1 -0
  477. package/es/Table/render/Header.mjs +184 -0
  478. package/es/Table/render/Header.mjs.map +1 -0
  479. package/es/Table/render/LoadingSkeleton.mjs +78 -0
  480. package/es/Table/render/LoadingSkeleton.mjs.map +1 -0
  481. package/es/Table/render/PaginationBar.mjs +71 -0
  482. package/es/Table/render/PaginationBar.mjs.map +1 -0
  483. package/es/Table/render/SelectionCells.mjs +111 -0
  484. package/es/Table/render/SelectionCells.mjs.map +1 -0
  485. package/es/Table/render/StickyScrollBar.mjs +99 -0
  486. package/es/Table/render/StickyScrollBar.mjs.map +1 -0
  487. package/es/Table/render/Summary.d.mts +16 -0
  488. package/es/Table/render/Summary.mjs +58 -0
  489. package/es/Table/render/Summary.mjs.map +1 -0
  490. package/es/Table/render/TableView.mjs +215 -0
  491. package/es/Table/render/TableView.mjs.map +1 -0
  492. package/es/Table/render/VirtualBody.mjs +101 -0
  493. package/es/Table/render/VirtualBody.mjs.map +1 -0
  494. package/es/Table/render/context.mjs +15 -0
  495. package/es/Table/render/context.mjs.map +1 -0
  496. package/es/Table/render/filterUtils.mjs +22 -0
  497. package/es/Table/render/filterUtils.mjs.map +1 -0
  498. package/es/Table/render/tableHelpers.mjs +27 -0
  499. package/es/Table/render/tableHelpers.mjs.map +1 -0
  500. package/es/Table/render/useColGroups.mjs +23 -0
  501. package/es/Table/render/useColGroups.mjs.map +1 -0
  502. package/es/Table/render/useScrollSync.mjs +104 -0
  503. package/es/Table/render/useScrollSync.mjs.map +1 -0
  504. package/es/Table/render/useViewContexts.mjs +134 -0
  505. package/es/Table/render/useViewContexts.mjs.map +1 -0
  506. package/es/Table/semantic.mjs +45 -0
  507. package/es/Table/semantic.mjs.map +1 -0
  508. package/es/Table/store/createTableStore.d.mts +1 -0
  509. package/es/Table/store/createTableStore.mjs +40 -0
  510. package/es/Table/store/createTableStore.mjs.map +1 -0
  511. package/es/Table/store/hooks.mjs +24 -0
  512. package/es/Table/store/hooks.mjs.map +1 -0
  513. package/es/Table/style.mjs +175 -90
  514. package/es/Table/style.mjs.map +1 -1
  515. package/es/Table/type.d.mts +467 -37
  516. package/es/Table/useTableController.mjs +293 -0
  517. package/es/Table/useTableController.mjs.map +1 -0
  518. package/es/Tabs/Tabs.mjs +2 -2
  519. package/es/Tabs/Tabs.mjs.map +1 -1
  520. package/es/Tabs/atoms.mjs +2 -2
  521. package/es/Tabs/atoms.mjs.map +1 -1
  522. package/es/Tag/Tag.mjs +2 -2
  523. package/es/Tag/Tag.mjs.map +1 -1
  524. package/es/Text/Text.mjs +2 -2
  525. package/es/Text/Text.mjs.map +1 -1
  526. package/es/Text/style.d.mts +3 -3
  527. package/es/Text/style.mjs +3 -3
  528. package/es/Text/style.mjs.map +1 -1
  529. package/es/ToggleGroup/ToggleGroup.mjs +3 -3
  530. package/es/ToggleGroup/ToggleGroup.mjs.map +1 -1
  531. package/es/ToggleGroup/atoms.mjs +2 -2
  532. package/es/ToggleGroup/atoms.mjs.map +1 -1
  533. package/es/Tooltip/TooltipGroup.mjs +3 -3
  534. package/es/Tooltip/TooltipGroup.mjs.map +1 -1
  535. package/es/Tooltip/TooltipStandalone.mjs +3 -3
  536. package/es/Tooltip/TooltipStandalone.mjs.map +1 -1
  537. package/es/Tree/Tree.mjs +2 -2
  538. package/es/Tree/Tree.mjs.map +1 -1
  539. package/es/Tree/TreeNode.mjs +2 -2
  540. package/es/Tree/TreeNode.mjs.map +1 -1
  541. package/es/Video/Video.mjs +2 -2
  542. package/es/Video/Video.mjs.map +1 -1
  543. package/es/awesome/Features/FeatureItem.mjs +2 -2
  544. package/es/awesome/Features/FeatureItem.mjs.map +1 -1
  545. package/es/awesome/Hero/Hero.mjs +3 -3
  546. package/es/awesome/Hero/Hero.mjs.map +1 -1
  547. package/es/awesome/InstallBanner/InstallBanner.mjs +2 -2
  548. package/es/awesome/InstallBanner/InstallBanner.mjs.map +1 -1
  549. package/es/awesome/LandingHero/LandingHero.mjs +3 -3
  550. package/es/awesome/LandingHero/LandingHero.mjs.map +1 -1
  551. package/es/awesome/LogoMarquee/LogoMarquee.mjs +2 -2
  552. package/es/awesome/LogoMarquee/LogoMarquee.mjs.map +1 -1
  553. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs +4 -4
  554. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs.map +1 -1
  555. package/es/awesome/landingActions.mjs +2 -2
  556. package/es/awesome/landingActions.mjs.map +1 -1
  557. package/es/chat/ChatItem/ChatItem.mjs +2 -2
  558. package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
  559. package/es/chat/EditableMessage/EditableMessage.mjs +3 -3
  560. package/es/chat/EditableMessage/EditableMessage.mjs.map +1 -1
  561. package/es/chat/EditableMessageList/EditableMessageList.mjs +1 -1
  562. package/es/chat/MessageInput/MessageInput.mjs +3 -3
  563. package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
  564. package/es/dashboard/AuthLayout/AuthLayout.mjs +8 -4
  565. package/es/dashboard/AuthLayout/AuthLayout.mjs.map +1 -1
  566. package/es/dashboard/AuthLayout/style.mjs +14 -3
  567. package/es/dashboard/AuthLayout/style.mjs.map +1 -1
  568. package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs +2 -2
  569. package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs.map +1 -1
  570. package/es/dashboard/AuthTools/AuthThemeSwitch.mjs +2 -2
  571. package/es/dashboard/AuthTools/AuthThemeSwitch.mjs.map +1 -1
  572. package/es/dashboard/ConsoleNav/ConsoleNav.mjs +3 -3
  573. package/es/dashboard/ConsoleNav/ConsoleNav.mjs.map +1 -1
  574. package/es/dashboard/ConsoleNav/style.mjs +2 -2
  575. package/es/dashboard/ConsoleNav/style.mjs.map +1 -1
  576. package/es/dashboard/ConsoleShell/style.mjs +1 -1
  577. package/es/dashboard/ConsoleShell/style.mjs.map +1 -1
  578. package/es/dashboard/FilterSidebar/FilterSidebar.mjs +1 -1
  579. package/es/dashboard/FilterSidebar/style.mjs +2 -2
  580. package/es/dashboard/FilterSidebar/style.mjs.map +1 -1
  581. package/es/dashboard/FilterStrip/style.mjs +1 -1
  582. package/es/dashboard/FilterStrip/style.mjs.map +1 -1
  583. package/es/dashboard/MetricStrip/MetricCell.mjs +25 -14
  584. package/es/dashboard/MetricStrip/MetricCell.mjs.map +1 -1
  585. package/es/dashboard/MetricStrip/style.mjs +14 -1
  586. package/es/dashboard/MetricStrip/style.mjs.map +1 -1
  587. package/es/dashboard/MetricStrip/type.d.mts +2 -0
  588. package/es/dashboard/PageSkeleton/style.mjs +2 -1
  589. package/es/dashboard/PageSkeleton/style.mjs.map +1 -1
  590. package/es/dashboard/StatCard/StatCard.d.mts +1 -1
  591. package/es/dashboard/StatCard/StatCard.mjs +2 -1
  592. package/es/dashboard/StatCard/StatCard.mjs.map +1 -1
  593. package/es/dashboard/StatCard/type.d.mts +2 -0
  594. package/es/dashboard/Surface/Surface.mjs +3 -4
  595. package/es/dashboard/Surface/Surface.mjs.map +1 -1
  596. package/es/dashboard/Surface/link.mjs +1 -1
  597. package/es/dashboard/Surface/link.mjs.map +1 -1
  598. package/es/dashboard/Surface/style.mjs +15 -14
  599. package/es/dashboard/Surface/style.mjs.map +1 -1
  600. package/es/dashboard/index.mjs +2 -2
  601. package/es/eslint/noBaseUiSubpath.mjs +2 -1
  602. package/es/eslint/noBaseUiSubpath.mjs.map +1 -1
  603. package/es/i18n/resources/en/colorPicker.d.mts +5 -0
  604. package/es/i18n/resources/en/colorPicker.mjs +5 -0
  605. package/es/i18n/resources/en/colorPicker.mjs.map +1 -1
  606. package/es/i18n/resources/en/datePicker.d.mts +54 -0
  607. package/es/i18n/resources/en/datePicker.mjs +55 -1
  608. package/es/i18n/resources/en/datePicker.mjs.map +1 -1
  609. package/es/i18n/resources/en/index.d.mts +4 -3
  610. package/es/i18n/resources/en/index.mjs +3 -1
  611. package/es/i18n/resources/en/index.mjs.map +1 -1
  612. package/es/i18n/resources/en/table.d.mts +23 -0
  613. package/es/i18n/resources/en/table.mjs +24 -0
  614. package/es/i18n/resources/en/table.mjs.map +1 -0
  615. package/es/i18n/resources/zhCn/colorPicker.d.mts +5 -0
  616. package/es/i18n/resources/zhCn/colorPicker.mjs +5 -0
  617. package/es/i18n/resources/zhCn/colorPicker.mjs.map +1 -1
  618. package/es/i18n/resources/zhCn/datePicker.d.mts +54 -0
  619. package/es/i18n/resources/zhCn/datePicker.mjs +55 -1
  620. package/es/i18n/resources/zhCn/datePicker.mjs.map +1 -1
  621. package/es/i18n/resources/zhCn/index.d.mts +4 -3
  622. package/es/i18n/resources/zhCn/index.mjs +4 -2
  623. package/es/i18n/resources/zhCn/index.mjs.map +1 -1
  624. package/es/i18n/resources/zhCn/table.d.mts +23 -0
  625. package/es/i18n/resources/zhCn/table.mjs +24 -0
  626. package/es/i18n/resources/zhCn/table.mjs.map +1 -0
  627. package/es/i18n/types.d.mts +3 -2
  628. package/es/index.d.mts +15 -6
  629. package/es/index.mjs +12 -6
  630. package/es/internal/overflow/OverflowList.mjs +71 -0
  631. package/es/internal/overflow/OverflowList.mjs.map +1 -0
  632. package/es/mdx/Callout/index.mjs +2 -2
  633. package/es/mdx/Callout/index.mjs.map +1 -1
  634. package/es/mdx/Cards/Card.mjs +2 -2
  635. package/es/mdx/Cards/Card.mjs.map +1 -1
  636. package/es/mdx/Cards/index.mjs +2 -2
  637. package/es/mdx/Cards/index.mjs.map +1 -1
  638. package/es/mdx/Mdx/index.mjs +2 -2
  639. package/es/mdx/Mdx/index.mjs.map +1 -1
  640. package/es/mdx/Steps/index.mjs +2 -2
  641. package/es/mdx/Steps/index.mjs.map +1 -1
  642. package/es/mdx/mdxComponents/Pre.mjs +5 -5
  643. package/es/mdx/mdxComponents/Pre.mjs.map +1 -1
  644. package/es/storybook/StoryBook/style.mjs +2 -0
  645. package/es/storybook/StoryBook/style.mjs.map +1 -1
  646. package/es/style.css +2966 -957
  647. package/es/styles/stylex/props.mjs +2 -2
  648. package/es/styles/stylex/props.mjs.map +1 -1
  649. package/es/styles/theme/themeCss.mjs +15 -0
  650. package/es/styles/theme/themeCss.mjs.map +1 -1
  651. package/es/theme.css +8 -0
  652. package/package.json +6 -1
  653. package/es/DatePicker/CalendarPanel.mjs +0 -189
  654. package/es/DatePicker/CalendarPanel.mjs.map +0 -1
  655. package/es/DatePicker/PickerShell.mjs +0 -43
  656. package/es/DatePicker/PickerShell.mjs.map +0 -1
  657. package/es/DatePicker/calendar.d.mts +0 -4
  658. package/es/DatePicker/calendar.mjs +0 -46
  659. package/es/DatePicker/calendar.mjs.map +0 -1
  660. package/es/Table/FilterMenu.mjs +0 -45
  661. package/es/Table/FilterMenu.mjs.map +0 -1
  662. package/es/Table/TableBody.mjs +0 -67
  663. package/es/Table/TableBody.mjs.map +0 -1
  664. package/es/Table/TableHead.mjs +0 -58
  665. package/es/Table/TableHead.mjs.map +0 -1
  666. package/es/Table/features.mjs +0 -12
  667. package/es/Table/features.mjs.map +0 -1
  668. package/es/Table/fixedOffsets.mjs +0 -29
  669. package/es/Table/fixedOffsets.mjs.map +0 -1
  670. package/es/Table/marker.stylex.mjs +0 -9
  671. package/es/Table/marker.stylex.mjs.map +0 -1
  672. package/es/Table/toColumnDefs.mjs +0 -26
  673. package/es/Table/toColumnDefs.mjs.map +0 -1
  674. package/es/Table/useTableState.mjs +0 -99
  675. package/es/Table/useTableState.mjs.map +0 -1
@@ -3,11 +3,11 @@ import { styleProps } from "../styles/stylex/props.mjs";
3
3
  import { styles } from "./style.mjs";
4
4
  import { AccordionHeader, AccordionItem, AccordionPanel, AccordionRoot, AccordionTrigger } from "./atoms.mjs";
5
5
  import { jsx, jsxs } from "react/jsx-runtime";
6
- import clsx from "clsx";
6
+ import clsx$1 from "clsx";
7
7
  //#region src/Accordion/Accordion.tsx
8
8
  const Accordion = ({ className, classNames, defaultValue, gap, hideIndicator, indicatorPlacement = "start", items, keepMounted, multiple = true, onValueChange, ref, style, styles: customStyles, value, variant = "borderless" }) => {
9
9
  return /* @__PURE__ */ jsx(AccordionRoot, {
10
- className: clsx(classNames?.root, className),
10
+ className: clsx$1(classNames?.root, className),
11
11
  defaultValue,
12
12
  hideIndicator,
13
13
  indicatorPlacement,
@@ -38,7 +38,7 @@ const Accordion = ({ className, classNames, defaultValue, gap, hideIndicator, in
38
38
  styles.action,
39
39
  variant === "borderless" ? styles.actionBorderless : styles.actionOutlined,
40
40
  item.alwaysShowAction && styles.actionAlwaysVisible
41
- ], clsx("accordion-action", classNames?.action), customStyles?.action),
41
+ ], clsx$1("accordion-action", classNames?.action), customStyles?.action),
42
42
  children: item.action
43
43
  })]
44
44
  }), /* @__PURE__ */ jsx(AccordionPanel, {
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.mjs","names":[],"sources":["../../src/Accordion/Accordion.tsx"],"sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { type FC } from 'react';\n\nimport { styleProps } from '@/styles/stylex/props';\n\nimport {\n AccordionHeader,\n AccordionItem,\n AccordionPanel,\n AccordionRoot,\n AccordionTrigger,\n} from './atoms';\nimport { styles } from './style';\nimport type { AccordionProps } from './type';\n\nconst Accordion: FC<AccordionProps> = ({\n className,\n classNames,\n defaultValue,\n gap,\n hideIndicator,\n indicatorPlacement = 'start',\n items,\n keepMounted,\n multiple = true,\n onValueChange,\n ref,\n style,\n styles: customStyles,\n value,\n variant = 'borderless',\n}) => {\n return (\n <AccordionRoot\n className={clsx(classNames?.root, className)}\n defaultValue={defaultValue}\n hideIndicator={hideIndicator}\n indicatorPlacement={indicatorPlacement}\n multiple={multiple}\n ref={ref}\n style={{ gap, ...style, ...customStyles?.root }}\n value={value}\n variant={variant}\n onValueChange={onValueChange ? (next) => onValueChange(next as string[]) : undefined}\n >\n {items?.map((item) => (\n <AccordionItem\n className={classNames?.item}\n disabled={item.disabled}\n key={item.key}\n style={customStyles?.item}\n value={item.key}\n >\n <AccordionHeader className={classNames?.header} style={customStyles?.header}>\n <AccordionTrigger className={classNames?.trigger} style={customStyles?.trigger}>\n {item.title}\n </AccordionTrigger>\n {item.action && (\n <div\n {...styleProps(\n [\n styles.action,\n variant === 'borderless' ? styles.actionBorderless : styles.actionOutlined,\n item.alwaysShowAction && styles.actionAlwaysVisible,\n ],\n clsx('accordion-action', classNames?.action),\n customStyles?.action,\n )}\n >\n {item.action}\n </div>\n )}\n </AccordionHeader>\n <AccordionPanel\n className={classNames?.panel}\n contentClassName={classNames?.content}\n contentStyle={customStyles?.content}\n keepMounted={keepMounted}\n style={customStyles?.panel}\n >\n {item.children}\n </AccordionPanel>\n </AccordionItem>\n ))}\n </AccordionRoot>\n );\n};\n\nAccordion.displayName = 'Accordion';\n\nexport default Accordion;\n"],"mappings":";;;;;;;AAiBA,MAAM,aAAiC,EACrC,WACA,YACA,cACA,KACA,eACA,qBAAqB,SACrB,OACA,aACA,WAAW,MACX,eACA,KACA,OACA,QAAQ,cACR,OACA,UAAU,mBACN;CACJ,OACE,oBAAC,eAAD;EACE,WAAW,KAAK,YAAY,MAAM,SAAS;EAC7B;EACC;EACK;EACV;EACL;EACL,OAAO;GAAE;GAAK,GAAG;GAAO,GAAG,cAAc;EAAK;EACvC;EACE;EACT,eAAe,iBAAiB,SAAS,cAAc,IAAgB,IAAI,KAAA;EAE1E,UAAA,OAAO,KAAK,SACX,qBAAC,eAAD;GACE,WAAW,YAAY;GACvB,UAAU,KAAK;GAEf,OAAO,cAAc;GACrB,OAAO,KAAK;GALd,UAAA,CAOE,qBAAC,iBAAD;IAAiB,WAAW,YAAY;IAAQ,OAAO,cAAc;IAArE,UAAA,CACE,oBAAC,kBAAD;KAAkB,WAAW,YAAY;KAAS,OAAO,cAAc;KACpE,UAAA,KAAK;IACU,CAAA,GACjB,KAAK,UACJ,oBAAC,OAAD;KACE,GAAI,WACF;MACE,OAAO;MACP,YAAY,eAAe,OAAO,mBAAmB,OAAO;MAC5D,KAAK,oBAAoB,OAAO;KAClC,GACA,KAAK,oBAAoB,YAAY,MAAM,GAC3C,cAAc,MAChB;KAEC,UAAA,KAAK;IACH,CAAA,CAEQ;GACjB,CAAA,GAAA,oBAAC,gBAAD;IACE,WAAW,YAAY;IACvB,kBAAkB,YAAY;IAC9B,cAAc,cAAc;IACf;IACb,OAAO,cAAc;IAEpB,UAAA,KAAK;GACQ,CAAA,CACH;EAjCR,GAAA,KAAK,GAiCG,CAChB;CACY,CAAA;AAEnB;AAEA,UAAU,cAAc"}
1
+ {"version":3,"file":"Accordion.mjs","names":["clsx"],"sources":["../../src/Accordion/Accordion.tsx"],"sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { type FC } from 'react';\n\nimport { styleProps } from '@/styles/stylex/props';\n\nimport {\n AccordionHeader,\n AccordionItem,\n AccordionPanel,\n AccordionRoot,\n AccordionTrigger,\n} from './atoms';\nimport { styles } from './style';\nimport type { AccordionProps } from './type';\n\nconst Accordion: FC<AccordionProps> = ({\n className,\n classNames,\n defaultValue,\n gap,\n hideIndicator,\n indicatorPlacement = 'start',\n items,\n keepMounted,\n multiple = true,\n onValueChange,\n ref,\n style,\n styles: customStyles,\n value,\n variant = 'borderless',\n}) => {\n return (\n <AccordionRoot\n className={clsx(classNames?.root, className)}\n defaultValue={defaultValue}\n hideIndicator={hideIndicator}\n indicatorPlacement={indicatorPlacement}\n multiple={multiple}\n ref={ref}\n style={{ gap, ...style, ...customStyles?.root }}\n value={value}\n variant={variant}\n onValueChange={onValueChange ? (next) => onValueChange(next as string[]) : undefined}\n >\n {items?.map((item) => (\n <AccordionItem\n className={classNames?.item}\n disabled={item.disabled}\n key={item.key}\n style={customStyles?.item}\n value={item.key}\n >\n <AccordionHeader className={classNames?.header} style={customStyles?.header}>\n <AccordionTrigger className={classNames?.trigger} style={customStyles?.trigger}>\n {item.title}\n </AccordionTrigger>\n {item.action && (\n <div\n {...styleProps(\n [\n styles.action,\n variant === 'borderless' ? styles.actionBorderless : styles.actionOutlined,\n item.alwaysShowAction && styles.actionAlwaysVisible,\n ],\n clsx('accordion-action', classNames?.action),\n customStyles?.action,\n )}\n >\n {item.action}\n </div>\n )}\n </AccordionHeader>\n <AccordionPanel\n className={classNames?.panel}\n contentClassName={classNames?.content}\n contentStyle={customStyles?.content}\n keepMounted={keepMounted}\n style={customStyles?.panel}\n >\n {item.children}\n </AccordionPanel>\n </AccordionItem>\n ))}\n </AccordionRoot>\n );\n};\n\nAccordion.displayName = 'Accordion';\n\nexport default Accordion;\n"],"mappings":";;;;;;;AAiBA,MAAM,aAAiC,EACrC,WACA,YACA,cACA,KACA,eACA,qBAAqB,SACrB,OACA,aACA,WAAW,MACX,eACA,KACA,OACA,QAAQ,cACR,OACA,UAAU,mBACN;CACJ,OACE,oBAAC,eAAD;EACE,WAAWA,OAAK,YAAY,MAAM,SAAS;EAC7B;EACC;EACK;EACV;EACL;EACL,OAAO;GAAE;GAAK,GAAG;GAAO,GAAG,cAAc;EAAK;EACvC;EACE;EACT,eAAe,iBAAiB,SAAS,cAAc,IAAgB,IAAI,KAAA;EAE1E,UAAA,OAAO,KAAK,SACX,qBAAC,eAAD;GACE,WAAW,YAAY;GACvB,UAAU,KAAK;GAEf,OAAO,cAAc;GACrB,OAAO,KAAK;GALd,UAAA,CAOE,qBAAC,iBAAD;IAAiB,WAAW,YAAY;IAAQ,OAAO,cAAc;IAArE,UAAA,CACE,oBAAC,kBAAD;KAAkB,WAAW,YAAY;KAAS,OAAO,cAAc;KACpE,UAAA,KAAK;IACU,CAAA,GACjB,KAAK,UACJ,oBAAC,OAAD;KACE,GAAI,WACF;MACE,OAAO;MACP,YAAY,eAAe,OAAO,mBAAmB,OAAO;MAC5D,KAAK,oBAAoB,OAAO;KAClC,GACAA,OAAK,oBAAoB,YAAY,MAAM,GAC3C,cAAc,MAChB;KAEC,UAAA,KAAK;IACH,CAAA,CAEQ;GACjB,CAAA,GAAA,oBAAC,gBAAD;IACE,WAAW,YAAY;IACvB,kBAAkB,YAAY;IAC9B,cAAc,cAAc;IACf;IACb,OAAO,cAAc;IAEpB,UAAA,KAAK;GACQ,CAAA,CACH;EAjCR,GAAA,KAAK,GAiCG,CAChB;CACY,CAAA;AAEnB;AAEA,UAAU,cAAc"}
@@ -5,7 +5,7 @@ import { accordionHeaderMarker, accordionPanelMarker, accordionTriggerMarker } f
5
5
  import { accordionStyles, styles } from "./style.mjs";
6
6
  import { createContext, use, useMemo } 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 { Accordion } from "@base-ui/react/accordion";
11
11
  import { ChevronDown, ChevronRight, Play } from "lucide-react";
@@ -72,7 +72,7 @@ const AccordionHeader = ({ className, indicatorPlacement: placementProp, variant
72
72
  variant === "borderless" && styles.headerBorderless,
73
73
  variant === "filled" && styles.headerFilled,
74
74
  inline && styles.headerInline
75
- ], clsx(inline && "lobe-accordion-header-inline", className)).className,
75
+ ], clsx$1(inline && "lobe-accordion-header-inline", className)).className,
76
76
  ...rest
77
77
  });
78
78
  };
@@ -1 +1 @@
1
- {"version":3,"file":"atoms.mjs","names":["BaseUIAccordion"],"sources":["../../src/Accordion/atoms.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport { Accordion as BaseUIAccordion } from '@base-ui/react/accordion';\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport { ChevronDown, ChevronRight, Play } from 'lucide-react';\nimport { createContext, type FC, use, useMemo } from 'react';\n\nimport { focusRing } from '@/styles/stylex/focusRing';\nimport { styleProps } from '@/styles/stylex/props';\n\nimport {\n accordionHeaderMarker,\n accordionPanelMarker,\n accordionTriggerMarker,\n} from './marker.stylex';\nimport { styles } from './style';\nimport type {\n AccordionHeaderProps,\n AccordionIndicatorPlacement,\n AccordionItemProps,\n AccordionPanelProps,\n AccordionRootProps,\n AccordionTriggerProps,\n AccordionVariant,\n} from './type';\n\ninterface AccordionContextValue {\n hideIndicator: boolean;\n indicatorPlacement: AccordionIndicatorPlacement;\n variant: AccordionVariant;\n}\n\nconst triggerVariantStyles = {\n borderless: styles.triggerBorderless,\n filled: styles.triggerFilled,\n outlined: styles.triggerOutlined,\n};\n\nconst indicatorPlacementStyles = {\n end: styles.indicatorEnd,\n inline: styles.indicatorInline,\n start: styles.indicatorStart,\n};\n\nconst contentVariantStyles = {\n borderless: styles.contentBorderless,\n filled: styles.contentBorderless,\n outlined: styles.contentOutlined,\n};\n\nconst AccordionContext = createContext<AccordionContextValue>({\n hideIndicator: false,\n indicatorPlacement: 'start',\n variant: 'borderless',\n});\n\nexport const useAccordionContext = () => use(AccordionContext);\n\nexport const AccordionRoot: FC<AccordionRootProps> = ({\n children,\n className,\n hideIndicator = false,\n indicatorPlacement = 'start',\n multiple = true,\n variant = 'borderless',\n ...rest\n}) => {\n const contextValue = useMemo(\n () => ({ hideIndicator, indicatorPlacement, variant }),\n [hideIndicator, indicatorPlacement, variant],\n );\n\n return (\n <AccordionContext value={contextValue}>\n <BaseUIAccordion.Root\n multiple={multiple}\n className={\n styleProps([styles.root, variant === 'outlined' && styles.rootOutlined], className)\n .className\n }\n {...rest}\n >\n {children}\n </BaseUIAccordion.Root>\n </AccordionContext>\n );\n};\n\nAccordionRoot.displayName = 'AccordionRoot';\n\nexport const AccordionItem: FC<AccordionItemProps> = ({\n className,\n variant: variantProp,\n ...rest\n}) => {\n const ctx = useAccordionContext();\n const variant = variantProp ?? ctx.variant;\n\n return (\n <BaseUIAccordion.Item\n className={\n styleProps([styles.item, variant === 'outlined' && styles.itemOutlined], className)\n .className\n }\n {...rest}\n />\n );\n};\n\nAccordionItem.displayName = 'AccordionItem';\n\nexport const AccordionHeader: FC<AccordionHeaderProps> = ({\n className,\n indicatorPlacement: placementProp,\n variant: variantProp,\n ...rest\n}) => {\n const ctx = useAccordionContext();\n const variant = variantProp ?? ctx.variant;\n const inline = (placementProp ?? ctx.indicatorPlacement) === 'inline' && variant !== 'outlined';\n\n return (\n <BaseUIAccordion.Header\n className={\n styleProps(\n [\n accordionHeaderMarker,\n styles.header,\n variant === 'borderless' && styles.headerBorderless,\n variant === 'filled' && styles.headerFilled,\n inline && styles.headerInline,\n ],\n clsx(inline && 'lobe-accordion-header-inline', className),\n ).className\n }\n {...rest}\n />\n );\n};\n\nAccordionHeader.displayName = 'AccordionHeader';\n\nexport const AccordionTrigger: FC<AccordionTriggerProps> = ({\n children,\n className,\n hideIndicator: hideIndicatorProp,\n indicatorPlacement: placementProp,\n variant: variantProp,\n ...rest\n}) => {\n const ctx = useAccordionContext();\n const variant = variantProp ?? ctx.variant;\n const hideIndicator = hideIndicatorProp ?? ctx.hideIndicator;\n const placement = placementProp ?? ctx.indicatorPlacement;\n\n const indicator = !hideIndicator && (\n <span {...stylex.props(styles.indicator, indicatorPlacementStyles[placement])}>\n {placement === 'start' && <ChevronRight size={16} />}\n {placement === 'inline' && <Play fill=\"currentColor\" size={7} strokeWidth={1} />}\n {placement === 'end' && <ChevronDown size={16} />}\n </span>\n );\n\n return (\n <BaseUIAccordion.Trigger\n className={\n styleProps(\n [accordionTriggerMarker, focusRing.info, styles.trigger, triggerVariantStyles[variant]],\n className,\n ).className\n }\n {...rest}\n >\n {placement === 'start' && indicator}\n {children}\n {placement !== 'start' && indicator}\n </BaseUIAccordion.Trigger>\n );\n};\n\nAccordionTrigger.displayName = 'AccordionTrigger';\n\nexport const AccordionPanel: FC<AccordionPanelProps> = ({\n children,\n className,\n contentClassName,\n contentStyle,\n hideIndicator: hideIndicatorProp,\n indicatorPlacement: placementProp,\n variant: variantProp,\n ...rest\n}) => {\n const ctx = useAccordionContext();\n const variant = variantProp ?? ctx.variant;\n const hideIndicator = hideIndicatorProp ?? ctx.hideIndicator;\n const placement = placementProp ?? ctx.indicatorPlacement;\n const indent = !hideIndicator && placement === 'start';\n const inline = placement === 'inline';\n\n return (\n <BaseUIAccordion.Panel\n className={styleProps([accordionPanelMarker, styles.panel], className).className}\n {...rest}\n >\n <div\n {...styleProps(\n [\n styles.content,\n contentVariantStyles[variant],\n inline && variant === 'borderless' && styles.contentInline,\n indent && variant !== 'outlined' && styles.contentIndent,\n indent && variant === 'outlined' && styles.contentIndentOutlined,\n ],\n contentClassName,\n contentStyle,\n )}\n >\n {children}\n </div>\n </BaseUIAccordion.Panel>\n );\n};\n\nAccordionPanel.displayName = 'AccordionPanel';\n\nexport { accordionStyles } from './style';\n"],"mappings":"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"}
1
+ {"version":3,"file":"atoms.mjs","names":["BaseUIAccordion","clsx"],"sources":["../../src/Accordion/atoms.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport { Accordion as BaseUIAccordion } from '@base-ui/react/accordion';\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport { ChevronDown, ChevronRight, Play } from 'lucide-react';\nimport { createContext, type FC, use, useMemo } from 'react';\n\nimport { focusRing } from '@/styles/stylex/focusRing';\nimport { styleProps } from '@/styles/stylex/props';\n\nimport {\n accordionHeaderMarker,\n accordionPanelMarker,\n accordionTriggerMarker,\n} from './marker.stylex';\nimport { styles } from './style';\nimport type {\n AccordionHeaderProps,\n AccordionIndicatorPlacement,\n AccordionItemProps,\n AccordionPanelProps,\n AccordionRootProps,\n AccordionTriggerProps,\n AccordionVariant,\n} from './type';\n\ninterface AccordionContextValue {\n hideIndicator: boolean;\n indicatorPlacement: AccordionIndicatorPlacement;\n variant: AccordionVariant;\n}\n\nconst triggerVariantStyles = {\n borderless: styles.triggerBorderless,\n filled: styles.triggerFilled,\n outlined: styles.triggerOutlined,\n};\n\nconst indicatorPlacementStyles = {\n end: styles.indicatorEnd,\n inline: styles.indicatorInline,\n start: styles.indicatorStart,\n};\n\nconst contentVariantStyles = {\n borderless: styles.contentBorderless,\n filled: styles.contentBorderless,\n outlined: styles.contentOutlined,\n};\n\nconst AccordionContext = createContext<AccordionContextValue>({\n hideIndicator: false,\n indicatorPlacement: 'start',\n variant: 'borderless',\n});\n\nexport const useAccordionContext = () => use(AccordionContext);\n\nexport const AccordionRoot: FC<AccordionRootProps> = ({\n children,\n className,\n hideIndicator = false,\n indicatorPlacement = 'start',\n multiple = true,\n variant = 'borderless',\n ...rest\n}) => {\n const contextValue = useMemo(\n () => ({ hideIndicator, indicatorPlacement, variant }),\n [hideIndicator, indicatorPlacement, variant],\n );\n\n return (\n <AccordionContext value={contextValue}>\n <BaseUIAccordion.Root\n multiple={multiple}\n className={\n styleProps([styles.root, variant === 'outlined' && styles.rootOutlined], className)\n .className\n }\n {...rest}\n >\n {children}\n </BaseUIAccordion.Root>\n </AccordionContext>\n );\n};\n\nAccordionRoot.displayName = 'AccordionRoot';\n\nexport const AccordionItem: FC<AccordionItemProps> = ({\n className,\n variant: variantProp,\n ...rest\n}) => {\n const ctx = useAccordionContext();\n const variant = variantProp ?? ctx.variant;\n\n return (\n <BaseUIAccordion.Item\n className={\n styleProps([styles.item, variant === 'outlined' && styles.itemOutlined], className)\n .className\n }\n {...rest}\n />\n );\n};\n\nAccordionItem.displayName = 'AccordionItem';\n\nexport const AccordionHeader: FC<AccordionHeaderProps> = ({\n className,\n indicatorPlacement: placementProp,\n variant: variantProp,\n ...rest\n}) => {\n const ctx = useAccordionContext();\n const variant = variantProp ?? ctx.variant;\n const inline = (placementProp ?? ctx.indicatorPlacement) === 'inline' && variant !== 'outlined';\n\n return (\n <BaseUIAccordion.Header\n className={\n styleProps(\n [\n accordionHeaderMarker,\n styles.header,\n variant === 'borderless' && styles.headerBorderless,\n variant === 'filled' && styles.headerFilled,\n inline && styles.headerInline,\n ],\n clsx(inline && 'lobe-accordion-header-inline', className),\n ).className\n }\n {...rest}\n />\n );\n};\n\nAccordionHeader.displayName = 'AccordionHeader';\n\nexport const AccordionTrigger: FC<AccordionTriggerProps> = ({\n children,\n className,\n hideIndicator: hideIndicatorProp,\n indicatorPlacement: placementProp,\n variant: variantProp,\n ...rest\n}) => {\n const ctx = useAccordionContext();\n const variant = variantProp ?? ctx.variant;\n const hideIndicator = hideIndicatorProp ?? ctx.hideIndicator;\n const placement = placementProp ?? ctx.indicatorPlacement;\n\n const indicator = !hideIndicator && (\n <span {...stylex.props(styles.indicator, indicatorPlacementStyles[placement])}>\n {placement === 'start' && <ChevronRight size={16} />}\n {placement === 'inline' && <Play fill=\"currentColor\" size={7} strokeWidth={1} />}\n {placement === 'end' && <ChevronDown size={16} />}\n </span>\n );\n\n return (\n <BaseUIAccordion.Trigger\n className={\n styleProps(\n [accordionTriggerMarker, focusRing.info, styles.trigger, triggerVariantStyles[variant]],\n className,\n ).className\n }\n {...rest}\n >\n {placement === 'start' && indicator}\n {children}\n {placement !== 'start' && indicator}\n </BaseUIAccordion.Trigger>\n );\n};\n\nAccordionTrigger.displayName = 'AccordionTrigger';\n\nexport const AccordionPanel: FC<AccordionPanelProps> = ({\n children,\n className,\n contentClassName,\n contentStyle,\n hideIndicator: hideIndicatorProp,\n indicatorPlacement: placementProp,\n variant: variantProp,\n ...rest\n}) => {\n const ctx = useAccordionContext();\n const variant = variantProp ?? ctx.variant;\n const hideIndicator = hideIndicatorProp ?? ctx.hideIndicator;\n const placement = placementProp ?? ctx.indicatorPlacement;\n const indent = !hideIndicator && placement === 'start';\n const inline = placement === 'inline';\n\n return (\n <BaseUIAccordion.Panel\n className={styleProps([accordionPanelMarker, styles.panel], className).className}\n {...rest}\n >\n <div\n {...styleProps(\n [\n styles.content,\n contentVariantStyles[variant],\n inline && variant === 'borderless' && styles.contentInline,\n indent && variant !== 'outlined' && styles.contentIndent,\n indent && variant === 'outlined' && styles.contentIndentOutlined,\n ],\n contentClassName,\n contentStyle,\n )}\n >\n {children}\n </div>\n </BaseUIAccordion.Panel>\n );\n};\n\nAccordionPanel.displayName = 'AccordionPanel';\n\nexport { accordionStyles } from './style';\n"],"mappings":"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"}
@@ -6,9 +6,9 @@ export declare const accordionStyles: {
6
6
  action: string;
7
7
  content: string;
8
8
  trigger: string;
9
+ item: string;
9
10
  root: string;
10
11
  indicator: string;
11
- item: string;
12
12
  itemOutlined: string;
13
13
  rootOutlined: string;
14
14
  actionAlwaysVisible: string;
@@ -6,7 +6,7 @@ import { styles } from "./style.mjs";
6
6
  import { calcOutdent, calcSize } from "./utils.mjs";
7
7
  import { memo, useMemo } from "react";
8
8
  import { jsx } from "react/jsx-runtime";
9
- import clsx from "clsx";
9
+ import clsx$1 from "clsx";
10
10
  //#region src/ActionIcon/ActionIcon.tsx
11
11
  const resolveButtonType = (variant) => {
12
12
  if (variant === "filled") return "fill";
@@ -51,7 +51,7 @@ const ActionIconImpl = memo(({ active, className, classNames, color, danger, dis
51
51
  const node = /* @__PURE__ */ jsx(ButtonImpl, {
52
52
  ...rest,
53
53
  "aria-label": popupTriggerLabel,
54
- className: clsx(classNames?.root, className),
54
+ className: clsx$1(classNames?.root, className),
55
55
  danger,
56
56
  disabled,
57
57
  htmlType: "button",
@@ -1 +1 @@
1
- {"version":3,"file":"ActionIcon.mjs","names":[],"sources":["../../src/ActionIcon/ActionIcon.tsx"],"sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { MouseEvent, ReactElement, Ref } from 'react';\nimport { memo, useMemo } from 'react';\n\nimport type { ButtonProps } from '@/Button';\nimport { ButtonImpl } from '@/Button/Button';\nimport Icon from '@/Icon';\nimport type { styleProps } from '@/styles/stylex/props';\nimport Tooltip from '@/Tooltip';\n\nimport { styles } from './style';\nimport type { ActionIconOutdent, ActionIconProps, ActionIconVariant } from './type';\nimport { calcOutdent, calcSize } from './utils';\n\nconst resolveButtonType = (variant: ActionIconProps['variant']) => {\n if (variant === 'filled') return 'fill' as const;\n if (variant === 'outlined') return 'default' as const;\n return 'text' as const;\n};\n\nconst activeStyles = {\n borderless: styles.active,\n filled: styles.activeFill,\n outlined: styles.activeOutlined,\n};\n\nconst resolveButtonSize = (size: ActionIconProps['size']) => {\n if (size === 'small') return 'small' as const;\n if (size === 'large') return 'large' as const;\n return 'middle' as const;\n};\n\ntype ActionIconImplProps = Omit<ActionIconProps, 'outdent' | 'variant'> & {\n outdent?: ActionIconOutdent;\n variant?: ActionIconVariant;\n xstyle?: Parameters<typeof styleProps>[0];\n};\n\nexport const ActionIconImpl = memo<ActionIconImplProps>(\n ({\n active,\n className,\n classNames,\n color,\n danger,\n disabled,\n fill,\n fillOpacity,\n fillRule,\n focusable,\n glass,\n icon,\n loading,\n onClick,\n outdent,\n ref,\n shadow,\n size = 'middle',\n spin: iconSpinning,\n style,\n styles: slotStyles,\n title,\n tooltipProps,\n variant = 'borderless',\n xstyle,\n ...rest\n }) => {\n const { blockSize, borderRadius } = useMemo(() => calcSize(size), [size]);\n const popupTriggerAria = rest as {\n 'aria-expanded'?: unknown;\n 'aria-haspopup'?: unknown;\n 'aria-label'?: string;\n };\n const isPopupTrigger =\n popupTriggerAria['aria-haspopup'] !== undefined ||\n popupTriggerAria['aria-expanded'] !== undefined;\n const popupTriggerLabel =\n popupTriggerAria['aria-label'] ??\n (isPopupTrigger && typeof title === 'string' ? title : undefined);\n\n const handleClick: ButtonProps['onClick'] = (event) => {\n onClick?.(event as unknown as MouseEvent<HTMLDivElement>);\n };\n\n const iconNode = icon ? (\n <Icon\n className={classNames?.icon}\n color={color}\n fill={fill}\n fillOpacity={fillOpacity}\n fillRule={fillRule}\n focusable={focusable}\n icon={icon}\n size={size}\n spin={iconSpinning}\n style={{ pointerEvents: 'none', ...slotStyles?.icon }}\n />\n ) : undefined;\n\n const outdentAmount = variant === 'borderless' && outdent ? calcOutdent(size) : undefined;\n const outdentMargin = outdentAmount\n ? outdent === 'end'\n ? { marginInlineEnd: `-${outdentAmount}` }\n : { marginInlineStart: `-${outdentAmount}` }\n : undefined;\n\n const node = (\n <ButtonImpl\n {...(rest as unknown as ButtonProps)}\n aria-label={popupTriggerLabel}\n className={clsx(classNames?.root, className)}\n danger={danger}\n disabled={disabled}\n htmlType=\"button\"\n icon={iconNode}\n loading={loading}\n ref={ref as unknown as Ref<HTMLButtonElement>}\n size={resolveButtonSize(size)}\n tabIndex={disabled ? -1 : 0}\n type={resolveButtonType(variant)}\n style={{\n ...outdentMargin,\n borderRadius,\n height: blockSize,\n width: blockSize,\n ...slotStyles?.root,\n ...style,\n }}\n xstyle={[\n styles.root,\n active && activeStyles[variant],\n danger && styles.dangerRoot,\n glass && styles.glass,\n shadow && styles.shadow,\n xstyle,\n ]}\n onClick={handleClick}\n />\n );\n\n if (!title) return node;\n\n return (\n <Tooltip\n title={title}\n {...tooltipProps}\n styles={{\n ...tooltipProps?.styles,\n container: { pointerEvents: 'none', ...tooltipProps?.styles?.container },\n }}\n >\n {node}\n </Tooltip>\n );\n },\n);\n\nActionIconImpl.displayName = 'BaseActionIcon';\n\nconst ActionIcon = ActionIconImpl as unknown as <V extends ActionIconVariant = 'borderless'>(\n props: ActionIconProps<V>,\n) => ReactElement;\n\nexport default ActionIcon;\n"],"mappings":";;;;;;;;;;AAgBA,MAAM,qBAAqB,YAAwC;CACjE,IAAI,YAAY,UAAU,OAAO;CACjC,IAAI,YAAY,YAAY,OAAO;CACnC,OAAO;AACT;AAEA,MAAM,eAAe;CACnB,YAAY,OAAO;CACnB,QAAQ,OAAO;CACf,UAAU,OAAO;AACnB;AAEA,MAAM,qBAAqB,SAAkC;CAC3D,IAAI,SAAS,SAAS,OAAO;CAC7B,IAAI,SAAS,SAAS,OAAO;CAC7B,OAAO;AACT;AAQA,MAAa,iBAAiB,MAC3B,EACC,QACA,WACA,YACA,OACA,QACA,UACA,MACA,aACA,UACA,WACA,OACA,MACA,SACA,SACA,SACA,KACA,QACA,OAAO,UACP,MAAM,cACN,OACA,QAAQ,YACR,OACA,cACA,UAAU,cACV,QACA,GAAG,WACC;CACJ,MAAM,EAAE,WAAW,iBAAiB,cAAc,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC;CACxE,MAAM,mBAAmB;CAKzB,MAAM,iBACJ,iBAAiB,qBAAqB,KAAA,KACtC,iBAAiB,qBAAqB,KAAA;CACxC,MAAM,oBACJ,iBAAiB,kBAChB,kBAAkB,OAAO,UAAU,WAAW,QAAQ,KAAA;CAEzD,MAAM,eAAuC,UAAU;EACrD,UAAU,KAA8C;CAC1D;CAEA,MAAM,WAAW,OACf,oBAAC,MAAD;EACE,WAAW,YAAY;EAChB;EACD;EACO;EACH;EACC;EACL;EACA;EACN,MAAM;EACN,OAAO;GAAE,eAAe;GAAQ,GAAG,YAAY;EAAK;CACrD,CAAA,IACC,KAAA;CAEJ,MAAM,gBAAgB,YAAY,gBAAgB,UAAU,YAAY,IAAI,IAAI,KAAA;CAChF,MAAM,gBAAgB,gBAClB,YAAY,QACV,EAAE,iBAAiB,IAAI,gBAAgB,IACvC,EAAE,mBAAmB,IAAI,gBAAgB,IAC3C,KAAA;CAEJ,MAAM,OACJ,oBAAC,YAAD;EACE,GAAK;EACL,cAAY;EACZ,WAAW,KAAK,YAAY,MAAM,SAAS;EACnC;EACE;EACV,UAAS;EACT,MAAM;EACG;EACJ;EACL,MAAM,kBAAkB,IAAI;EAC5B,UAAU,WAAW,KAAK;EAC1B,MAAM,kBAAkB,OAAO;EAC/B,OAAO;GACL,GAAG;GACH;GACA,QAAQ;GACR,OAAO;GACP,GAAG,YAAY;GACf,GAAG;EACL;EACA,QAAQ;GACN,OAAO;GACP,UAAU,aAAa;GACvB,UAAU,OAAO;GACjB,SAAS,OAAO;GAChB,UAAU,OAAO;GACjB;EACF;EACA,SAAS;CACV,CAAA;CAGH,IAAI,CAAC,OAAO,OAAO;CAEnB,OACE,oBAAC,SAAD;EACS;EACP,GAAI;EACJ,QAAQ;GACN,GAAG,cAAc;GACjB,WAAW;IAAE,eAAe;IAAQ,GAAG,cAAc,QAAQ;GAAU;EACzE;EAEC,UAAA;CACM,CAAA;AAEb,CACF;AAEA,eAAe,cAAc;AAE7B,MAAM,aAAa"}
1
+ {"version":3,"file":"ActionIcon.mjs","names":["clsx"],"sources":["../../src/ActionIcon/ActionIcon.tsx"],"sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport type { MouseEvent, ReactElement, Ref } from 'react';\nimport { memo, useMemo } from 'react';\n\nimport type { ButtonProps } from '@/Button';\nimport { ButtonImpl } from '@/Button/Button';\nimport Icon from '@/Icon';\nimport type { styleProps } from '@/styles/stylex/props';\nimport Tooltip from '@/Tooltip';\n\nimport { styles } from './style';\nimport type { ActionIconOutdent, ActionIconProps, ActionIconVariant } from './type';\nimport { calcOutdent, calcSize } from './utils';\n\nconst resolveButtonType = (variant: ActionIconProps['variant']) => {\n if (variant === 'filled') return 'fill' as const;\n if (variant === 'outlined') return 'default' as const;\n return 'text' as const;\n};\n\nconst activeStyles = {\n borderless: styles.active,\n filled: styles.activeFill,\n outlined: styles.activeOutlined,\n};\n\nconst resolveButtonSize = (size: ActionIconProps['size']) => {\n if (size === 'small') return 'small' as const;\n if (size === 'large') return 'large' as const;\n return 'middle' as const;\n};\n\ntype ActionIconImplProps = Omit<ActionIconProps, 'outdent' | 'variant'> & {\n outdent?: ActionIconOutdent;\n variant?: ActionIconVariant;\n xstyle?: Parameters<typeof styleProps>[0];\n};\n\nexport const ActionIconImpl = memo<ActionIconImplProps>(\n ({\n active,\n className,\n classNames,\n color,\n danger,\n disabled,\n fill,\n fillOpacity,\n fillRule,\n focusable,\n glass,\n icon,\n loading,\n onClick,\n outdent,\n ref,\n shadow,\n size = 'middle',\n spin: iconSpinning,\n style,\n styles: slotStyles,\n title,\n tooltipProps,\n variant = 'borderless',\n xstyle,\n ...rest\n }) => {\n const { blockSize, borderRadius } = useMemo(() => calcSize(size), [size]);\n const popupTriggerAria = rest as {\n 'aria-expanded'?: unknown;\n 'aria-haspopup'?: unknown;\n 'aria-label'?: string;\n };\n const isPopupTrigger =\n popupTriggerAria['aria-haspopup'] !== undefined ||\n popupTriggerAria['aria-expanded'] !== undefined;\n const popupTriggerLabel =\n popupTriggerAria['aria-label'] ??\n (isPopupTrigger && typeof title === 'string' ? title : undefined);\n\n const handleClick: ButtonProps['onClick'] = (event) => {\n onClick?.(event as unknown as MouseEvent<HTMLDivElement>);\n };\n\n const iconNode = icon ? (\n <Icon\n className={classNames?.icon}\n color={color}\n fill={fill}\n fillOpacity={fillOpacity}\n fillRule={fillRule}\n focusable={focusable}\n icon={icon}\n size={size}\n spin={iconSpinning}\n style={{ pointerEvents: 'none', ...slotStyles?.icon }}\n />\n ) : undefined;\n\n const outdentAmount = variant === 'borderless' && outdent ? calcOutdent(size) : undefined;\n const outdentMargin = outdentAmount\n ? outdent === 'end'\n ? { marginInlineEnd: `-${outdentAmount}` }\n : { marginInlineStart: `-${outdentAmount}` }\n : undefined;\n\n const node = (\n <ButtonImpl\n {...(rest as unknown as ButtonProps)}\n aria-label={popupTriggerLabel}\n className={clsx(classNames?.root, className)}\n danger={danger}\n disabled={disabled}\n htmlType=\"button\"\n icon={iconNode}\n loading={loading}\n ref={ref as unknown as Ref<HTMLButtonElement>}\n size={resolveButtonSize(size)}\n tabIndex={disabled ? -1 : 0}\n type={resolveButtonType(variant)}\n style={{\n ...outdentMargin,\n borderRadius,\n height: blockSize,\n width: blockSize,\n ...slotStyles?.root,\n ...style,\n }}\n xstyle={[\n styles.root,\n active && activeStyles[variant],\n danger && styles.dangerRoot,\n glass && styles.glass,\n shadow && styles.shadow,\n xstyle,\n ]}\n onClick={handleClick}\n />\n );\n\n if (!title) return node;\n\n return (\n <Tooltip\n title={title}\n {...tooltipProps}\n styles={{\n ...tooltipProps?.styles,\n container: { pointerEvents: 'none', ...tooltipProps?.styles?.container },\n }}\n >\n {node}\n </Tooltip>\n );\n },\n);\n\nActionIconImpl.displayName = 'BaseActionIcon';\n\nconst ActionIcon = ActionIconImpl as unknown as <V extends ActionIconVariant = 'borderless'>(\n props: ActionIconProps<V>,\n) => ReactElement;\n\nexport default ActionIcon;\n"],"mappings":";;;;;;;;;;AAgBA,MAAM,qBAAqB,YAAwC;CACjE,IAAI,YAAY,UAAU,OAAO;CACjC,IAAI,YAAY,YAAY,OAAO;CACnC,OAAO;AACT;AAEA,MAAM,eAAe;CACnB,YAAY,OAAO;CACnB,QAAQ,OAAO;CACf,UAAU,OAAO;AACnB;AAEA,MAAM,qBAAqB,SAAkC;CAC3D,IAAI,SAAS,SAAS,OAAO;CAC7B,IAAI,SAAS,SAAS,OAAO;CAC7B,OAAO;AACT;AAQA,MAAa,iBAAiB,MAC3B,EACC,QACA,WACA,YACA,OACA,QACA,UACA,MACA,aACA,UACA,WACA,OACA,MACA,SACA,SACA,SACA,KACA,QACA,OAAO,UACP,MAAM,cACN,OACA,QAAQ,YACR,OACA,cACA,UAAU,cACV,QACA,GAAG,WACC;CACJ,MAAM,EAAE,WAAW,iBAAiB,cAAc,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC;CACxE,MAAM,mBAAmB;CAKzB,MAAM,iBACJ,iBAAiB,qBAAqB,KAAA,KACtC,iBAAiB,qBAAqB,KAAA;CACxC,MAAM,oBACJ,iBAAiB,kBAChB,kBAAkB,OAAO,UAAU,WAAW,QAAQ,KAAA;CAEzD,MAAM,eAAuC,UAAU;EACrD,UAAU,KAA8C;CAC1D;CAEA,MAAM,WAAW,OACf,oBAAC,MAAD;EACE,WAAW,YAAY;EAChB;EACD;EACO;EACH;EACC;EACL;EACA;EACN,MAAM;EACN,OAAO;GAAE,eAAe;GAAQ,GAAG,YAAY;EAAK;CACrD,CAAA,IACC,KAAA;CAEJ,MAAM,gBAAgB,YAAY,gBAAgB,UAAU,YAAY,IAAI,IAAI,KAAA;CAChF,MAAM,gBAAgB,gBAClB,YAAY,QACV,EAAE,iBAAiB,IAAI,gBAAgB,IACvC,EAAE,mBAAmB,IAAI,gBAAgB,IAC3C,KAAA;CAEJ,MAAM,OACJ,oBAAC,YAAD;EACE,GAAK;EACL,cAAY;EACZ,WAAWA,OAAK,YAAY,MAAM,SAAS;EACnC;EACE;EACV,UAAS;EACT,MAAM;EACG;EACJ;EACL,MAAM,kBAAkB,IAAI;EAC5B,UAAU,WAAW,KAAK;EAC1B,MAAM,kBAAkB,OAAO;EAC/B,OAAO;GACL,GAAG;GACH;GACA,QAAQ;GACR,OAAO;GACP,GAAG,YAAY;GACf,GAAG;EACL;EACA,QAAQ;GACN,OAAO;GACP,UAAU,aAAa;GACvB,UAAU,OAAO;GACjB,SAAS,OAAO;GAChB,UAAU,OAAO;GACjB;EACF;EACA,SAAS;CACV,CAAA;CAGH,IAAI,CAAC,OAAO,OAAO;CAEnB,OACE,oBAAC,SAAD;EACS;EACP,GAAI;EACJ,QAAQ;GACN,GAAG,cAAc;GACjB,WAAW;IAAE,eAAe;IAAQ,GAAG,cAAc,QAAQ;GAAU;EACzE;EAEC,UAAA;CACM,CAAA;AAEb,CACF;AAEA,eAAe,cAAc;AAE7B,MAAM,aAAa"}
@@ -6,7 +6,7 @@ import { alertSummaryMarker } from "./marker.stylex.mjs";
6
6
  import { styles } from "./style.mjs";
7
7
  import { memo, useEffect, useRef, useState } from "react";
8
8
  import { jsx, jsxs } from "react/jsx-runtime";
9
- import clsx from "clsx";
9
+ import clsx$1 from "clsx";
10
10
  import { AlertTriangle, CheckCircle, ChevronRight, Info, X, XCircle } from "lucide-react";
11
11
  //#region src/Alert/Alert.tsx
12
12
  const typeIcons = {
@@ -72,7 +72,7 @@ const Alert = memo(({ action, afterClose, banner = false, className, classNames,
72
72
  hasDescription ? styles.detailed : styles.centered,
73
73
  rootVariantStyles[variant],
74
74
  integratedExtra && styles.unifiedRoot
75
- ], clsx(classNames?.root, classNames?.alert, rootClassName, className), {
75
+ ], clsx$1(classNames?.root, classNames?.alert, rootClassName, className), {
76
76
  ...style,
77
77
  ...customStyles?.root,
78
78
  ...customStyles?.alert
@@ -88,7 +88,7 @@ const Alert = memo(({ action, afterClose, banner = false, className, classNames,
88
88
  })
89
89
  }),
90
90
  /* @__PURE__ */ jsxs("div", {
91
- ...styleProps([styles.content], clsx(classNames?.section, classNames?.content), {
91
+ ...styleProps([styles.content], clsx$1(classNames?.section, classNames?.content), {
92
92
  ...customStyles?.section,
93
93
  ...customStyles?.content
94
94
  }),
@@ -108,7 +108,7 @@ const Alert = memo(({ action, afterClose, banner = false, className, classNames,
108
108
  ...closeButtonProps,
109
109
  "aria-label": closeButtonProps["aria-label"] ?? "Close alert",
110
110
  disabled: closeDisabled,
111
- ...styleProps([focusRing.info, styles.close], clsx(classNames?.close, closeClassName), {
111
+ ...styleProps([focusRing.info, styles.close], clsx$1(classNames?.close, closeClassName), {
112
112
  ...customStyles?.close,
113
113
  ...closeStyle
114
114
  }),
@@ -150,7 +150,7 @@ const Alert = memo(({ action, afterClose, banner = false, className, classNames,
150
150
  focusRing.info,
151
151
  styles.extraHeader,
152
152
  isPlainVariant(variant) && styles.extraHeaderPlain
153
- ], clsx("lobe-alert-extra-header", classNames?.extraHeader), customStyles?.extraHeader),
153
+ ], clsx$1("lobe-alert-extra-header", classNames?.extraHeader), customStyles?.extraHeader),
154
154
  children: [/* @__PURE__ */ jsx(ChevronRight, {
155
155
  "aria-hidden": "true",
156
156
  size: 14,
@@ -1 +1 @@
1
- {"version":3,"file":"Alert.mjs","names":[],"sources":["../../src/Alert/Alert.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport clsx from 'clsx';\nimport { AlertTriangle, CheckCircle, ChevronRight, Info, X, XCircle } from 'lucide-react';\nimport { memo, useEffect, useRef, useState } from 'react';\n\nimport Icon from '@/Icon';\nimport { focusRing } from '@/styles/stylex/focusRing';\nimport { styleProps } from '@/styles/stylex/props';\n\nimport { alertSummaryMarker } from './marker.stylex';\nimport { styles } from './style';\nimport type { AlertCloseConfig, AlertProps, AlertType, AlertVariant } from './type';\n\nconst typeIcons = {\n error: XCircle,\n info: Info,\n secondary: AlertTriangle,\n success: CheckCircle,\n warning: AlertTriangle,\n} satisfies Record<AlertType, typeof Info>;\n\nconst toneStyles = {\n error: styles.toneError,\n info: styles.toneInfo,\n secondary: styles.toneSecondary,\n success: styles.toneSuccess,\n warning: styles.toneWarning,\n} satisfies Record<AlertType, unknown>;\n\nconst rootVariantStyles = {\n borderless: styles.plain,\n filled: styles.soft,\n outlined: styles.outlined,\n plain: styles.plain,\n soft: styles.soft,\n} satisfies Record<AlertVariant, unknown>;\n\nconst integratedVariantStyles = {\n borderless: styles.extraPlain,\n filled: styles.soft,\n outlined: styles.outlined,\n plain: styles.extraPlain,\n soft: styles.soft,\n} satisfies Record<AlertVariant, unknown>;\n\nconst isPlainVariant = (variant: AlertVariant) => variant === 'borderless' || variant === 'plain';\n\nconst Alert = memo<AlertProps>(\n ({\n action,\n afterClose,\n banner = false,\n className,\n classNames,\n closable = false,\n closeIcon,\n closeText,\n colorfulText = false,\n description,\n extra,\n extraDefaultExpand = false,\n extraIsolate = false,\n glass = false,\n icon,\n iconProps,\n message,\n onClose,\n ref,\n role = 'alert',\n rootClassName,\n showIcon = true,\n style,\n styles: customStyles,\n text,\n title,\n type = 'info',\n variant = 'soft',\n ...rest\n }) => {\n const [closed, setClosed] = useState(false);\n const [extraExpanded, setExtraExpanded] = useState(extraDefaultExpand);\n const resolvedTitle = title ?? message;\n const hasDescription = description !== undefined && description !== null;\n const integratedExtra = Boolean(extra && !extraIsolate);\n const closeConfig: AlertCloseConfig = typeof closable === 'object' ? closable : {};\n const isClosable = Boolean(closable);\n const {\n afterClose: configuredAfterClose,\n closeIcon: configuredCloseIcon,\n className: closeClassName,\n disabled: closeDisabled,\n onClose: configuredOnClose,\n style: closeStyle,\n ...closeButtonProps\n } = closeConfig;\n const afterCloseRef = useRef(configuredAfterClose ?? afterClose);\n afterCloseRef.current = configuredAfterClose ?? afterClose;\n\n useEffect(() => {\n if (closed) afterCloseRef.current?.();\n }, [closed]);\n\n if (closed) return null;\n\n const handleClose: NonNullable<AlertCloseConfig['onClose']> = (event) => {\n (configuredOnClose ?? onClose)?.(event);\n setClosed(true);\n };\n\n const root = (\n <div\n {...rest}\n data-alert-type={type}\n data-alert-variant={variant}\n ref={ref}\n role={role}\n {...styleProps(\n [\n toneStyles[type],\n styles.root,\n banner && styles.banner,\n colorfulText ? styles.colorfulText : styles.neutralText,\n !integratedExtra && glass && styles.glass,\n hasDescription ? styles.detailed : styles.centered,\n rootVariantStyles[variant],\n integratedExtra && styles.unifiedRoot,\n ],\n clsx(classNames?.root, classNames?.alert, rootClassName, className),\n {\n ...style,\n ...customStyles?.root,\n ...customStyles?.alert,\n },\n )}\n >\n {showIcon && (\n <span\n aria-hidden=\"true\"\n {...styleProps([styles.icon], classNames?.icon, customStyles?.icon)}\n >\n <Icon icon={icon ?? typeIcons[type]} size={hasDescription ? 18 : 16} {...iconProps} />\n </span>\n )}\n <div\n {...styleProps([styles.content], clsx(classNames?.section, classNames?.content), {\n ...customStyles?.section,\n ...customStyles?.content,\n })}\n >\n {resolvedTitle !== undefined && resolvedTitle !== null && (\n <div\n {...styleProps(\n [styles.title, hasDescription && styles.titleDetailed],\n classNames?.title,\n customStyles?.title,\n )}\n >\n {resolvedTitle}\n </div>\n )}\n {hasDescription && (\n <div\n {...styleProps(\n [styles.description],\n classNames?.description,\n customStyles?.description,\n )}\n >\n {description}\n </div>\n )}\n </div>\n {action && (\n <div\n {...styleProps(\n [styles.action, styles.wrappedAction],\n classNames?.action,\n customStyles?.action,\n )}\n >\n {action}\n </div>\n )}\n {isClosable && (\n <button\n {...closeButtonProps}\n aria-label={closeButtonProps['aria-label'] ?? 'Close alert'}\n disabled={closeDisabled}\n {...styleProps(\n [focusRing.info, styles.close],\n clsx(classNames?.close, closeClassName),\n { ...customStyles?.close, ...closeStyle },\n )}\n type=\"button\"\n onClick={handleClose}\n >\n {configuredCloseIcon ?? closeIcon ?? closeText ?? <X size={14} />}\n </button>\n )}\n </div>\n );\n\n if (!extra) return root;\n\n if (extraIsolate) {\n return (\n <div\n {...styleProps([styles.container, toneStyles[type]], classNames?.container, {\n gap: 8,\n ...customStyles?.container,\n })}\n >\n {root}\n {extra}\n </div>\n );\n }\n\n return (\n <div\n {...styleProps(\n [\n styles.container,\n toneStyles[type],\n styles.integrated,\n banner && styles.banner,\n glass && styles.glass,\n integratedVariantStyles[variant],\n ],\n classNames?.container,\n customStyles?.container,\n )}\n >\n {root}\n <div\n {...styleProps(\n [\n styles.extra,\n banner && styles.extraBanner,\n isPlainVariant(variant) && styles.extraPlain,\n ],\n classNames?.extra,\n customStyles?.extra,\n )}\n >\n <details\n open={extraExpanded}\n onToggle={(event) => setExtraExpanded(event.currentTarget.open)}\n >\n <summary\n {...styleProps(\n [\n alertSummaryMarker,\n focusRing.info,\n styles.extraHeader,\n isPlainVariant(variant) && styles.extraHeaderPlain,\n ],\n clsx('lobe-alert-extra-header', classNames?.extraHeader),\n customStyles?.extraHeader,\n )}\n >\n <ChevronRight\n aria-hidden=\"true\"\n size={14}\n {...styleProps(\n [styles.extraIndicator],\n classNames?.extraIndicator,\n customStyles?.extraIndicator,\n )}\n />\n <span>{text?.detail ?? 'Show Details'}</span>\n </summary>\n <div\n {...styleProps(\n [styles.extraContent],\n classNames?.extraContent,\n customStyles?.extraContent,\n )}\n >\n {extra}\n </div>\n </details>\n </div>\n </div>\n );\n },\n);\n\nAlert.displayName = 'BaseAlert';\n\nexport default Alert;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Alert.mjs","names":["clsx"],"sources":["../../src/Alert/Alert.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport clsx from 'clsx';\nimport { AlertTriangle, CheckCircle, ChevronRight, Info, X, XCircle } from 'lucide-react';\nimport { memo, useEffect, useRef, useState } from 'react';\n\nimport Icon from '@/Icon';\nimport { focusRing } from '@/styles/stylex/focusRing';\nimport { styleProps } from '@/styles/stylex/props';\n\nimport { alertSummaryMarker } from './marker.stylex';\nimport { styles } from './style';\nimport type { AlertCloseConfig, AlertProps, AlertType, AlertVariant } from './type';\n\nconst typeIcons = {\n error: XCircle,\n info: Info,\n secondary: AlertTriangle,\n success: CheckCircle,\n warning: AlertTriangle,\n} satisfies Record<AlertType, typeof Info>;\n\nconst toneStyles = {\n error: styles.toneError,\n info: styles.toneInfo,\n secondary: styles.toneSecondary,\n success: styles.toneSuccess,\n warning: styles.toneWarning,\n} satisfies Record<AlertType, unknown>;\n\nconst rootVariantStyles = {\n borderless: styles.plain,\n filled: styles.soft,\n outlined: styles.outlined,\n plain: styles.plain,\n soft: styles.soft,\n} satisfies Record<AlertVariant, unknown>;\n\nconst integratedVariantStyles = {\n borderless: styles.extraPlain,\n filled: styles.soft,\n outlined: styles.outlined,\n plain: styles.extraPlain,\n soft: styles.soft,\n} satisfies Record<AlertVariant, unknown>;\n\nconst isPlainVariant = (variant: AlertVariant) => variant === 'borderless' || variant === 'plain';\n\nconst Alert = memo<AlertProps>(\n ({\n action,\n afterClose,\n banner = false,\n className,\n classNames,\n closable = false,\n closeIcon,\n closeText,\n colorfulText = false,\n description,\n extra,\n extraDefaultExpand = false,\n extraIsolate = false,\n glass = false,\n icon,\n iconProps,\n message,\n onClose,\n ref,\n role = 'alert',\n rootClassName,\n showIcon = true,\n style,\n styles: customStyles,\n text,\n title,\n type = 'info',\n variant = 'soft',\n ...rest\n }) => {\n const [closed, setClosed] = useState(false);\n const [extraExpanded, setExtraExpanded] = useState(extraDefaultExpand);\n const resolvedTitle = title ?? message;\n const hasDescription = description !== undefined && description !== null;\n const integratedExtra = Boolean(extra && !extraIsolate);\n const closeConfig: AlertCloseConfig = typeof closable === 'object' ? closable : {};\n const isClosable = Boolean(closable);\n const {\n afterClose: configuredAfterClose,\n closeIcon: configuredCloseIcon,\n className: closeClassName,\n disabled: closeDisabled,\n onClose: configuredOnClose,\n style: closeStyle,\n ...closeButtonProps\n } = closeConfig;\n const afterCloseRef = useRef(configuredAfterClose ?? afterClose);\n afterCloseRef.current = configuredAfterClose ?? afterClose;\n\n useEffect(() => {\n if (closed) afterCloseRef.current?.();\n }, [closed]);\n\n if (closed) return null;\n\n const handleClose: NonNullable<AlertCloseConfig['onClose']> = (event) => {\n (configuredOnClose ?? onClose)?.(event);\n setClosed(true);\n };\n\n const root = (\n <div\n {...rest}\n data-alert-type={type}\n data-alert-variant={variant}\n ref={ref}\n role={role}\n {...styleProps(\n [\n toneStyles[type],\n styles.root,\n banner && styles.banner,\n colorfulText ? styles.colorfulText : styles.neutralText,\n !integratedExtra && glass && styles.glass,\n hasDescription ? styles.detailed : styles.centered,\n rootVariantStyles[variant],\n integratedExtra && styles.unifiedRoot,\n ],\n clsx(classNames?.root, classNames?.alert, rootClassName, className),\n {\n ...style,\n ...customStyles?.root,\n ...customStyles?.alert,\n },\n )}\n >\n {showIcon && (\n <span\n aria-hidden=\"true\"\n {...styleProps([styles.icon], classNames?.icon, customStyles?.icon)}\n >\n <Icon icon={icon ?? typeIcons[type]} size={hasDescription ? 18 : 16} {...iconProps} />\n </span>\n )}\n <div\n {...styleProps([styles.content], clsx(classNames?.section, classNames?.content), {\n ...customStyles?.section,\n ...customStyles?.content,\n })}\n >\n {resolvedTitle !== undefined && resolvedTitle !== null && (\n <div\n {...styleProps(\n [styles.title, hasDescription && styles.titleDetailed],\n classNames?.title,\n customStyles?.title,\n )}\n >\n {resolvedTitle}\n </div>\n )}\n {hasDescription && (\n <div\n {...styleProps(\n [styles.description],\n classNames?.description,\n customStyles?.description,\n )}\n >\n {description}\n </div>\n )}\n </div>\n {action && (\n <div\n {...styleProps(\n [styles.action, styles.wrappedAction],\n classNames?.action,\n customStyles?.action,\n )}\n >\n {action}\n </div>\n )}\n {isClosable && (\n <button\n {...closeButtonProps}\n aria-label={closeButtonProps['aria-label'] ?? 'Close alert'}\n disabled={closeDisabled}\n {...styleProps(\n [focusRing.info, styles.close],\n clsx(classNames?.close, closeClassName),\n { ...customStyles?.close, ...closeStyle },\n )}\n type=\"button\"\n onClick={handleClose}\n >\n {configuredCloseIcon ?? closeIcon ?? closeText ?? <X size={14} />}\n </button>\n )}\n </div>\n );\n\n if (!extra) return root;\n\n if (extraIsolate) {\n return (\n <div\n {...styleProps([styles.container, toneStyles[type]], classNames?.container, {\n gap: 8,\n ...customStyles?.container,\n })}\n >\n {root}\n {extra}\n </div>\n );\n }\n\n return (\n <div\n {...styleProps(\n [\n styles.container,\n toneStyles[type],\n styles.integrated,\n banner && styles.banner,\n glass && styles.glass,\n integratedVariantStyles[variant],\n ],\n classNames?.container,\n customStyles?.container,\n )}\n >\n {root}\n <div\n {...styleProps(\n [\n styles.extra,\n banner && styles.extraBanner,\n isPlainVariant(variant) && styles.extraPlain,\n ],\n classNames?.extra,\n customStyles?.extra,\n )}\n >\n <details\n open={extraExpanded}\n onToggle={(event) => setExtraExpanded(event.currentTarget.open)}\n >\n <summary\n {...styleProps(\n [\n alertSummaryMarker,\n focusRing.info,\n styles.extraHeader,\n isPlainVariant(variant) && styles.extraHeaderPlain,\n ],\n clsx('lobe-alert-extra-header', classNames?.extraHeader),\n customStyles?.extraHeader,\n )}\n >\n <ChevronRight\n aria-hidden=\"true\"\n size={14}\n {...styleProps(\n [styles.extraIndicator],\n classNames?.extraIndicator,\n customStyles?.extraIndicator,\n )}\n />\n <span>{text?.detail ?? 'Show Details'}</span>\n </summary>\n <div\n {...styleProps(\n [styles.extraContent],\n classNames?.extraContent,\n customStyles?.extraContent,\n )}\n >\n {extra}\n </div>\n </details>\n </div>\n </div>\n );\n },\n);\n\nAlert.displayName = 'BaseAlert';\n\nexport default Alert;\n"],"mappings":"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"}
@@ -8,7 +8,7 @@ import { inputClassNames, rootVariants } from "../Input/style.mjs";
8
8
  import { styles } from "./style.mjs";
9
9
  import { memo, useMemo, useRef } from "react";
10
10
  import { jsx, jsxs } from "react/jsx-runtime";
11
- import clsx from "clsx";
11
+ import clsx$1 from "clsx";
12
12
  import { XIcon } from "lucide-react";
13
13
  import { Autocomplete } from "@base-ui/react/autocomplete";
14
14
  //#region src/AutoComplete/AutoComplete.tsx
@@ -30,7 +30,7 @@ const AutoComplete = memo(({ className, classNames, styles: customStyles, style,
30
30
  },
31
31
  ...rest,
32
32
  children: [/* @__PURE__ */ jsxs("div", {
33
- className: clsx(rootVariants({
33
+ className: clsx$1(rootVariants({
34
34
  shadow,
35
35
  size,
36
36
  variant: mergedVariant
@@ -44,7 +44,7 @@ const AutoComplete = memo(({ className, classNames, styles: customStyles, style,
44
44
  children: prefix
45
45
  }),
46
46
  /* @__PURE__ */ jsx(Autocomplete.Input, {
47
- className: clsx(inputClassNames.input, classNames?.input),
47
+ className: clsx$1(inputClassNames.input, classNames?.input),
48
48
  placeholder,
49
49
  style: customStyles?.input
50
50
  }),
@@ -71,7 +71,7 @@ const AutoComplete = memo(({ className, classNames, styles: customStyles, style,
71
71
  sideOffset: 4,
72
72
  style: zIndex === void 0 ? void 0 : { zIndex },
73
73
  children: /* @__PURE__ */ jsxs(Autocomplete.Popup, {
74
- className: clsx(styles.popup, classNames?.popup),
74
+ className: clsx$1(styles.popup, classNames?.popup),
75
75
  style: customStyles?.popup,
76
76
  children: [emptyText && /* @__PURE__ */ jsx(Autocomplete.Empty, {
77
77
  className: styles.empty,
@@ -79,7 +79,7 @@ const AutoComplete = memo(({ className, classNames, styles: customStyles, style,
79
79
  }), /* @__PURE__ */ jsx(Autocomplete.List, {
80
80
  className: styles.list,
81
81
  children: (item) => /* @__PURE__ */ jsx(Autocomplete.Item, {
82
- className: clsx(styles.item, classNames?.item),
82
+ className: clsx$1(styles.item, classNames?.item),
83
83
  disabled: item.disabled,
84
84
  style: customStyles?.item,
85
85
  value: item,
@@ -1 +1 @@
1
- {"version":3,"file":"AutoComplete.mjs","names":["inputVariants","inputStyles"],"sources":["../../src/AutoComplete/AutoComplete.tsx"],"sourcesContent":["'use client';\n\nimport { Autocomplete } from '@base-ui/react/autocomplete';\nimport clsx from 'clsx';\nimport { XIcon } from 'lucide-react';\nimport { memo, useMemo, useRef } from 'react';\n\nimport { useAppElement } from '@/ConfigProvider/AppElementContext';\nimport Icon from '@/Icon';\nimport { inputStyles, inputVariants } from '@/Input';\nimport { getFloatingCollisionPadding } from '@/internal/floating';\nimport { useLayerZIndex } from '@/internal/zIndex';\nimport { useThemeMode } from '@/styles/theme/scope';\n\nimport { styles } from './style';\nimport type { AutoCompleteOption, AutoCompleteProps } from './type';\n\nconst AutoComplete = memo<AutoCompleteProps>(\n ({\n className,\n classNames,\n styles: customStyles,\n style,\n variant,\n shadow,\n size = 'middle',\n options = [],\n onChange,\n onSearch,\n allowClear,\n disabled,\n placeholder,\n prefix,\n suffix,\n emptyText,\n ...rest\n }) => {\n const { isDarkMode } = useThemeMode();\n const appElement = useAppElement();\n const anchorRef = useRef<HTMLDivElement>(null);\n const { ref: positionerRef, zIndex } = useLayerZIndex<HTMLDivElement>('floating');\n const mergedVariant = variant || (isDarkMode ? 'filled' : 'outlined');\n\n const items = useMemo<AutoCompleteOption[]>(\n () => options.map((option) => (typeof option === 'string' ? { value: option } : option)),\n [options],\n );\n\n return (\n <Autocomplete.Root\n openOnInputClick\n disabled={disabled}\n itemToStringValue={(item) => (item as AutoCompleteOption).value}\n items={items}\n onValueChange={(value) => {\n onChange?.(value);\n onSearch?.(value);\n }}\n {...rest}\n >\n <div\n className={clsx(inputVariants({ shadow, size, variant: mergedVariant }), className)}\n data-disabled={disabled ? '' : undefined}\n ref={anchorRef}\n style={style}\n >\n {prefix && <span className={inputStyles.slot}>{prefix}</span>}\n <Autocomplete.Input\n className={clsx(inputStyles.input, classNames?.input)}\n placeholder={placeholder}\n style={customStyles?.input}\n />\n {allowClear && (\n <Autocomplete.Clear aria-label={'Clear'} className={styles.clear}>\n <Icon icon={XIcon} size={14} />\n </Autocomplete.Clear>\n )}\n {suffix && <span className={inputStyles.slot}>{suffix}</span>}\n </div>\n <Autocomplete.Portal container={appElement ?? undefined}>\n <Autocomplete.Positioner\n anchor={anchorRef}\n className={styles.positioner}\n collisionPadding={getFloatingCollisionPadding()}\n ref={positionerRef}\n sideOffset={4}\n style={zIndex === undefined ? undefined : { zIndex }}\n >\n <Autocomplete.Popup\n className={clsx(styles.popup, classNames?.popup)}\n style={customStyles?.popup}\n >\n {emptyText && (\n <Autocomplete.Empty className={styles.empty}>{emptyText}</Autocomplete.Empty>\n )}\n <Autocomplete.List className={styles.list}>\n {(item: AutoCompleteOption) => (\n <Autocomplete.Item\n className={clsx(styles.item, classNames?.item)}\n disabled={item.disabled}\n key={item.value}\n style={customStyles?.item}\n value={item}\n >\n {item.label ?? item.value}\n </Autocomplete.Item>\n )}\n </Autocomplete.List>\n </Autocomplete.Popup>\n </Autocomplete.Positioner>\n </Autocomplete.Portal>\n </Autocomplete.Root>\n );\n },\n);\n\nAutoComplete.displayName = 'AutoComplete';\n\nexport default AutoComplete;\n"],"mappings":";;;;;;;;;;;;;;AAiBA,MAAM,eAAe,MAClB,EACC,WACA,YACA,QAAQ,cACR,OACA,SACA,QACA,OAAO,UACP,UAAU,CAAC,GACX,UACA,UACA,YACA,UACA,aACA,QACA,QACA,WACA,GAAG,WACC;CACJ,MAAM,EAAE,eAAe,aAAa;CACpC,MAAM,aAAa,cAAc;CACjC,MAAM,YAAY,OAAuB,IAAI;CAC7C,MAAM,EAAE,KAAK,eAAe,WAAW,eAA+B,UAAU;CAChF,MAAM,gBAAgB,YAAY,aAAa,WAAW;CAE1D,MAAM,QAAQ,cACN,QAAQ,KAAK,WAAY,OAAO,WAAW,WAAW,EAAE,OAAO,OAAO,IAAI,MAAO,GACvF,CAAC,OAAO,CACV;CAEA,OACE,qBAAC,aAAa,MAAd;EACE,kBAAA;EACU;EACV,oBAAoB,SAAU,KAA4B;EACnD;EACP,gBAAgB,UAAU;GACxB,WAAW,KAAK;GAChB,WAAW,KAAK;EAClB;EACA,GAAI;EATN,UAAA,CAWE,qBAAC,OAAD;GACE,WAAW,KAAKA,aAAc;IAAE;IAAQ;IAAM,SAAS;GAAc,CAAC,GAAG,SAAS;GAClF,iBAAe,WAAW,KAAK,KAAA;GAC/B,KAAK;GACE;GAJT,UAAA;IAMG,UAAU,oBAAC,QAAD;KAAM,WAAWC,gBAAY;KAAO,UAAA;IAAa,CAAA;IAC5D,oBAAC,aAAa,OAAd;KACE,WAAW,KAAKA,gBAAY,OAAO,YAAY,KAAK;KACvC;KACb,OAAO,cAAc;IACtB,CAAA;IACA,cACC,oBAAC,aAAa,OAAd;KAAoB,cAAY;KAAS,WAAW,OAAO;KACzD,UAAA,oBAAC,MAAD;MAAM,MAAM;MAAO,MAAM;KAAK,CAAA;IACZ,CAAA;IAErB,UAAU,oBAAC,QAAD;KAAM,WAAWA,gBAAY;KAAO,UAAA;IAAa,CAAA;GACzD;EACL,CAAA,GAAA,oBAAC,aAAa,QAAd;GAAqB,WAAW,cAAc,KAAA;GAC5C,UAAA,oBAAC,aAAa,YAAd;IACE,QAAQ;IACR,WAAW,OAAO;IAClB,kBAAkB,4BAA4B;IAC9C,KAAK;IACL,YAAY;IACZ,OAAO,WAAW,KAAA,IAAY,KAAA,IAAY,EAAE,OAAO;IAEnD,UAAA,qBAAC,aAAa,OAAd;KACE,WAAW,KAAK,OAAO,OAAO,YAAY,KAAK;KAC/C,OAAO,cAAc;KAFvB,UAAA,CAIG,aACC,oBAAC,aAAa,OAAd;MAAoB,WAAW,OAAO;MAAQ,UAAA;KAA8B,CAAA,GAE9E,oBAAC,aAAa,MAAd;MAAmB,WAAW,OAAO;MACjC,WAAA,SACA,oBAAC,aAAa,MAAd;OACE,WAAW,KAAK,OAAO,MAAM,YAAY,IAAI;OAC7C,UAAU,KAAK;OAEf,OAAO,cAAc;OACrB,OAAO;OAEN,UAAA,KAAK,SAAS,KAAK;MACH,GALZ,KAAK,KAKO;KAEJ,CAAA,CACD;;GACG,CAAA;EACN,CAAA,CACJ;;AAEvB,CACF;AAEA,aAAa,cAAc"}
1
+ {"version":3,"file":"AutoComplete.mjs","names":["clsx","inputVariants","inputStyles"],"sources":["../../src/AutoComplete/AutoComplete.tsx"],"sourcesContent":["'use client';\n\nimport { Autocomplete } from '@base-ui/react/autocomplete';\nimport clsx from 'clsx';\nimport { XIcon } from 'lucide-react';\nimport { memo, useMemo, useRef } from 'react';\n\nimport { useAppElement } from '@/ConfigProvider/AppElementContext';\nimport Icon from '@/Icon';\nimport { inputStyles, inputVariants } from '@/Input';\nimport { getFloatingCollisionPadding } from '@/internal/floating';\nimport { useLayerZIndex } from '@/internal/zIndex';\nimport { useThemeMode } from '@/styles/theme/scope';\n\nimport { styles } from './style';\nimport type { AutoCompleteOption, AutoCompleteProps } from './type';\n\nconst AutoComplete = memo<AutoCompleteProps>(\n ({\n className,\n classNames,\n styles: customStyles,\n style,\n variant,\n shadow,\n size = 'middle',\n options = [],\n onChange,\n onSearch,\n allowClear,\n disabled,\n placeholder,\n prefix,\n suffix,\n emptyText,\n ...rest\n }) => {\n const { isDarkMode } = useThemeMode();\n const appElement = useAppElement();\n const anchorRef = useRef<HTMLDivElement>(null);\n const { ref: positionerRef, zIndex } = useLayerZIndex<HTMLDivElement>('floating');\n const mergedVariant = variant || (isDarkMode ? 'filled' : 'outlined');\n\n const items = useMemo<AutoCompleteOption[]>(\n () => options.map((option) => (typeof option === 'string' ? { value: option } : option)),\n [options],\n );\n\n return (\n <Autocomplete.Root\n openOnInputClick\n disabled={disabled}\n itemToStringValue={(item) => (item as AutoCompleteOption).value}\n items={items}\n onValueChange={(value) => {\n onChange?.(value);\n onSearch?.(value);\n }}\n {...rest}\n >\n <div\n className={clsx(inputVariants({ shadow, size, variant: mergedVariant }), className)}\n data-disabled={disabled ? '' : undefined}\n ref={anchorRef}\n style={style}\n >\n {prefix && <span className={inputStyles.slot}>{prefix}</span>}\n <Autocomplete.Input\n className={clsx(inputStyles.input, classNames?.input)}\n placeholder={placeholder}\n style={customStyles?.input}\n />\n {allowClear && (\n <Autocomplete.Clear aria-label={'Clear'} className={styles.clear}>\n <Icon icon={XIcon} size={14} />\n </Autocomplete.Clear>\n )}\n {suffix && <span className={inputStyles.slot}>{suffix}</span>}\n </div>\n <Autocomplete.Portal container={appElement ?? undefined}>\n <Autocomplete.Positioner\n anchor={anchorRef}\n className={styles.positioner}\n collisionPadding={getFloatingCollisionPadding()}\n ref={positionerRef}\n sideOffset={4}\n style={zIndex === undefined ? undefined : { zIndex }}\n >\n <Autocomplete.Popup\n className={clsx(styles.popup, classNames?.popup)}\n style={customStyles?.popup}\n >\n {emptyText && (\n <Autocomplete.Empty className={styles.empty}>{emptyText}</Autocomplete.Empty>\n )}\n <Autocomplete.List className={styles.list}>\n {(item: AutoCompleteOption) => (\n <Autocomplete.Item\n className={clsx(styles.item, classNames?.item)}\n disabled={item.disabled}\n key={item.value}\n style={customStyles?.item}\n value={item}\n >\n {item.label ?? item.value}\n </Autocomplete.Item>\n )}\n </Autocomplete.List>\n </Autocomplete.Popup>\n </Autocomplete.Positioner>\n </Autocomplete.Portal>\n </Autocomplete.Root>\n );\n },\n);\n\nAutoComplete.displayName = 'AutoComplete';\n\nexport default AutoComplete;\n"],"mappings":";;;;;;;;;;;;;;AAiBA,MAAM,eAAe,MAClB,EACC,WACA,YACA,QAAQ,cACR,OACA,SACA,QACA,OAAO,UACP,UAAU,CAAC,GACX,UACA,UACA,YACA,UACA,aACA,QACA,QACA,WACA,GAAG,WACC;CACJ,MAAM,EAAE,eAAe,aAAa;CACpC,MAAM,aAAa,cAAc;CACjC,MAAM,YAAY,OAAuB,IAAI;CAC7C,MAAM,EAAE,KAAK,eAAe,WAAW,eAA+B,UAAU;CAChF,MAAM,gBAAgB,YAAY,aAAa,WAAW;CAE1D,MAAM,QAAQ,cACN,QAAQ,KAAK,WAAY,OAAO,WAAW,WAAW,EAAE,OAAO,OAAO,IAAI,MAAO,GACvF,CAAC,OAAO,CACV;CAEA,OACE,qBAAC,aAAa,MAAd;EACE,kBAAA;EACU;EACV,oBAAoB,SAAU,KAA4B;EACnD;EACP,gBAAgB,UAAU;GACxB,WAAW,KAAK;GAChB,WAAW,KAAK;EAClB;EACA,GAAI;EATN,UAAA,CAWE,qBAAC,OAAD;GACE,WAAWA,OAAKC,aAAc;IAAE;IAAQ;IAAM,SAAS;GAAc,CAAC,GAAG,SAAS;GAClF,iBAAe,WAAW,KAAK,KAAA;GAC/B,KAAK;GACE;GAJT,UAAA;IAMG,UAAU,oBAAC,QAAD;KAAM,WAAWC,gBAAY;KAAO,UAAA;IAAa,CAAA;IAC5D,oBAAC,aAAa,OAAd;KACE,WAAWF,OAAKE,gBAAY,OAAO,YAAY,KAAK;KACvC;KACb,OAAO,cAAc;IACtB,CAAA;IACA,cACC,oBAAC,aAAa,OAAd;KAAoB,cAAY;KAAS,WAAW,OAAO;KACzD,UAAA,oBAAC,MAAD;MAAM,MAAM;MAAO,MAAM;KAAK,CAAA;IACZ,CAAA;IAErB,UAAU,oBAAC,QAAD;KAAM,WAAWA,gBAAY;KAAO,UAAA;IAAa,CAAA;GACzD;EACL,CAAA,GAAA,oBAAC,aAAa,QAAd;GAAqB,WAAW,cAAc,KAAA;GAC5C,UAAA,oBAAC,aAAa,YAAd;IACE,QAAQ;IACR,WAAW,OAAO;IAClB,kBAAkB,4BAA4B;IAC9C,KAAK;IACL,YAAY;IACZ,OAAO,WAAW,KAAA,IAAY,KAAA,IAAY,EAAE,OAAO;IAEnD,UAAA,qBAAC,aAAa,OAAd;KACE,WAAWF,OAAK,OAAO,OAAO,YAAY,KAAK;KAC/C,OAAO,cAAc;KAFvB,UAAA,CAIG,aACC,oBAAC,aAAa,OAAd;MAAoB,WAAW,OAAO;MAAQ,UAAA;KAA8B,CAAA,GAE9E,oBAAC,aAAa,MAAd;MAAmB,WAAW,OAAO;MACjC,WAAA,SACA,oBAAC,aAAa,MAAd;OACE,WAAWA,OAAK,OAAO,MAAM,YAAY,IAAI;OAC7C,UAAU,KAAK;OAEf,OAAO,cAAc;OACrB,OAAO;OAEN,UAAA,KAAK,SAAS,KAAK;MACH,GALZ,KAAK,KAKO;KAEJ,CAAA,CACD;;GACG,CAAA;EACN,CAAA,CACJ;;AAEvB,CACF;AAEA,aAAa,cAAc"}
@@ -1,5 +1,5 @@
1
1
  import { menuClassNames, menuStyles } from "../DropdownMenu/style.mjs";
2
- import clsx from "clsx";
2
+ import clsx$1 from "clsx";
3
3
  import * as stylex from "@stylexjs/stylex";
4
4
  //#region src/AutoComplete/style.ts
5
5
  const ownStyles = {
@@ -57,7 +57,7 @@ const stableClassNames = {
57
57
  popup: menuClassNames.popup,
58
58
  positioner: menuClassNames.positioner
59
59
  };
60
- const styles = Object.fromEntries(Object.entries(styleArrays).map(([key, value]) => [key, clsx(stylex.props(value).className, stableClassNames[key])]));
60
+ const styles = Object.fromEntries(Object.entries(styleArrays).map(([key, value]) => [key, clsx$1(stylex.props(value).className, stableClassNames[key])]));
61
61
  //#endregion
62
62
  export { styles };
63
63
 
@@ -1 +1 @@
1
- {"version":3,"file":"style.mjs","names":[],"sources":["../../src/AutoComplete/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\n\nimport { menuClassNames, menuStyles } from '@/DropdownMenu/sharedStyle';\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\n\nconst ownStyles = stylex.create({\n clear: {\n margin: 0,\n padding: 0,\n borderColor: 'currentcolor',\n borderStyle: 'none',\n borderWidth: 'medium',\n outline: 'none',\n transition: `color 150ms ${cssVar.motionEaseOut}`,\n alignItems: 'center',\n backgroundColor: 'transparent',\n color: { 'default': cssVar.colorTextTertiary, ':hover': cssVar.colorText },\n cursor: 'pointer',\n display: 'inline-flex',\n justifyContent: 'center',\n },\n empty: {\n backgroundColor: 'transparent',\n cursor: 'default',\n display: { 'default': 'flex', ':empty': 'none' },\n },\n list: {\n display: { 'default': null, ':empty': 'none' },\n maxHeight: 'min(320px, var(--available-height))',\n overflowY: 'auto',\n },\n popup: {\n transition: `opacity 140ms ${cssVar.motionEaseOut}, transform 140ms ${cssVar.motionEaseOut}`,\n opacity: { 'default': null, ':is([data-starting-style], [data-ending-style])': 0 },\n transform: {\n 'default': null,\n ':is([data-starting-style], [data-ending-style])': 'scaleY(0.92)',\n },\n transformOrigin: 'var(--transform-origin)',\n minWidth: 0,\n width: 'var(--anchor-width)',\n },\n});\n\nconst styleArrays = {\n clear: [ownStyles.clear],\n empty: [menuStyles.item, menuStyles.empty, ownStyles.empty],\n item: [menuStyles.item],\n list: [ownStyles.list],\n popup: [menuStyles.popup, ownStyles.popup],\n positioner: [menuStyles.positioner],\n};\n\nconst stableClassNames: Partial<Record<keyof typeof styleArrays, string>> = {\n popup: menuClassNames.popup,\n positioner: menuClassNames.positioner,\n};\n\nexport const styles = Object.fromEntries(\n Object.entries(styleArrays).map(([key, value]) => [\n key,\n clsx(stylex.props(value).className, stableClassNames[key as keyof typeof styleArrays]),\n ]),\n) as Record<keyof typeof styleArrays, string>;\n"],"mappings":";;;;AAKA,MAAM,YAAY;CAChB,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,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,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;AACF;AACA,MAAM,cAAc;CAClB,OAAO,CAAC,UAAU,KAAK;CACvB,OAAO;EAAC,WAAW;EAAM,WAAW;EAAO,UAAU;CAAK;CAC1D,MAAM,CAAC,WAAW,IAAI;CACtB,MAAM,CAAC,UAAU,IAAI;CACrB,OAAO,CAAC,WAAW,OAAO,UAAU,KAAK;CACzC,YAAY,CAAC,WAAW,UAAU;AACpC;AACA,MAAM,mBAAsE;CAC1E,OAAO,eAAe;CACtB,YAAY,eAAe;AAC7B;AACA,MAAa,SAAS,OAAO,YAAY,OAAO,QAAQ,WAAW,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAK,KAAK,OAAO,MAAM,KAAK,CAAC,CAAC,WAAW,iBAAiB,IAAgC,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"style.mjs","names":["clsx"],"sources":["../../src/AutoComplete/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\n\nimport { menuClassNames, menuStyles } from '@/DropdownMenu/sharedStyle';\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\n\nconst ownStyles = stylex.create({\n clear: {\n margin: 0,\n padding: 0,\n borderColor: 'currentcolor',\n borderStyle: 'none',\n borderWidth: 'medium',\n outline: 'none',\n transition: `color 150ms ${cssVar.motionEaseOut}`,\n alignItems: 'center',\n backgroundColor: 'transparent',\n color: { 'default': cssVar.colorTextTertiary, ':hover': cssVar.colorText },\n cursor: 'pointer',\n display: 'inline-flex',\n justifyContent: 'center',\n },\n empty: {\n backgroundColor: 'transparent',\n cursor: 'default',\n display: { 'default': 'flex', ':empty': 'none' },\n },\n list: {\n display: { 'default': null, ':empty': 'none' },\n maxHeight: 'min(320px, var(--available-height))',\n overflowY: 'auto',\n },\n popup: {\n transition: `opacity 140ms ${cssVar.motionEaseOut}, transform 140ms ${cssVar.motionEaseOut}`,\n opacity: { 'default': null, ':is([data-starting-style], [data-ending-style])': 0 },\n transform: {\n 'default': null,\n ':is([data-starting-style], [data-ending-style])': 'scaleY(0.92)',\n },\n transformOrigin: 'var(--transform-origin)',\n minWidth: 0,\n width: 'var(--anchor-width)',\n },\n});\n\nconst styleArrays = {\n clear: [ownStyles.clear],\n empty: [menuStyles.item, menuStyles.empty, ownStyles.empty],\n item: [menuStyles.item],\n list: [ownStyles.list],\n popup: [menuStyles.popup, ownStyles.popup],\n positioner: [menuStyles.positioner],\n};\n\nconst stableClassNames: Partial<Record<keyof typeof styleArrays, string>> = {\n popup: menuClassNames.popup,\n positioner: menuClassNames.positioner,\n};\n\nexport const styles = Object.fromEntries(\n Object.entries(styleArrays).map(([key, value]) => [\n key,\n clsx(stylex.props(value).className, stableClassNames[key as keyof typeof styleArrays]),\n ]),\n) as Record<keyof typeof styleArrays, string>;\n"],"mappings":";;;;AAKA,MAAM,YAAY;CAChB,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,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,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;AACF;AACA,MAAM,cAAc;CAClB,OAAO,CAAC,UAAU,KAAK;CACvB,OAAO;EAAC,WAAW;EAAM,WAAW;EAAO,UAAU;CAAK;CAC1D,MAAM,CAAC,WAAW,IAAI;CACtB,MAAM,CAAC,UAAU,IAAI;CACrB,OAAO,CAAC,WAAW,OAAO,UAAU,KAAK;CACzC,YAAY,CAAC,WAAW,UAAU;AACpC;AACA,MAAM,mBAAsE;CAC1E,OAAO,eAAe;CACtB,YAAY,eAAe;AAC7B;AACA,MAAa,SAAS,OAAO,YAAY,OAAO,QAAQ,WAAW,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW,CAAC,KAAKA,OAAK,OAAO,MAAM,KAAK,CAAC,CAAC,WAAW,iBAAiB,IAAgC,CAAC,CAAC,CAAC"}
@@ -10,7 +10,7 @@ import { styles } from "./style.mjs";
10
10
  import { calculateEmojiSize, formatAvatarText, hasValidBackground, isDefaultAntAvatar } from "./utils.mjs";
11
11
  import { memo, useMemo, useState } from "react";
12
12
  import { jsx, jsxs } from "react/jsx-runtime";
13
- import clsx from "clsx";
13
+ import clsx$1 from "clsx";
14
14
  import { Loader2 } from "lucide-react";
15
15
  import { getEmoji } from "@lobehub/fluent-emoji";
16
16
  //#region src/Avatar/Avatar.tsx
@@ -57,7 +57,7 @@ const AvatarImpl = memo(({ alt, animation, avatar, background, bordered, bordere
57
57
  variantStyles[variant],
58
58
  shadow && styles.shadow,
59
59
  xstyle
60
- ], clsx(className, classNames?.root)).className,
60
+ ], clsx$1(className, classNames?.root)).className,
61
61
  style: {
62
62
  backgroundColor: isUrlOrElement && !isImgError || emoji ? background : background || cssVar.colorBorder,
63
63
  borderRadius: shape === "circle" ? "50%" : size < 24 ? "33%" : Math.max(size / 6, 2),
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.mjs","names":[],"sources":["../../src/Avatar/Avatar.tsx"],"sourcesContent":["'use client';\n\nimport { getEmoji } from '@lobehub/fluent-emoji';\nimport clsx from 'clsx';\nimport { Loader2 } from 'lucide-react';\nimport { memo, type ReactNode, useMemo, useState } from 'react';\n\nimport { Center } from '@/Flex';\nimport FluentEmoji from '@/FluentEmoji';\nimport Icon from '@/Icon';\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\nimport { styleProps } from '@/styles/stylex/props';\nimport { stylish } from '@/styles/stylex/stylish';\nimport { safeReadableColor } from '@/utils/safeReadableColor';\n\nimport { styles } from './style';\nimport { type AvatarProps } from './type';\nimport {\n calculateEmojiSize,\n formatAvatarText,\n hasValidBackground,\n isDefaultAntAvatar,\n} from './utils';\n\nconst variantStyles = {\n borderless: stylish.variantBorderlessWithoutHover,\n filled: stylish.variantFilledWithoutHover,\n outlined: stylish.variantOutlinedWithoutHover,\n};\n\ntype AvatarImplProps = AvatarProps & {\n contentXstyle?: Parameters<typeof styleProps>[0];\n xstyle?: Parameters<typeof styleProps>[0];\n};\n\nexport const AvatarImpl = memo<AvatarImplProps>(\n ({\n alt,\n animation,\n avatar,\n background,\n bordered,\n borderedColor,\n className,\n classNames,\n crossOrigin,\n draggable = false,\n emojiScaleWithBackground = true,\n loading,\n ref,\n shadow,\n shape = 'square',\n size = 48,\n sliceText = true,\n style,\n styles: customStyles,\n title,\n tooltipProps,\n unoptimized,\n variant = 'borderless',\n xstyle,\n contentXstyle,\n ...rest\n }) => {\n const isStringAvatar = typeof avatar === 'string';\n\n const [isImgError, setIsImgError] = useState(false);\n\n const isUrlOrElement = useMemo(() => isDefaultAntAvatar(avatar), [avatar]);\n\n const emoji = useMemo(\n () => (avatar && isStringAvatar && !isUrlOrElement ? getEmoji(avatar) : undefined),\n [avatar, isStringAvatar, isUrlOrElement],\n );\n\n const text = isUrlOrElement ? title : typeof avatar === 'string' ? avatar : undefined;\n\n const imgAlt = alt || title || 'avatar';\n\n const hasBackground = hasValidBackground(background);\n const showImage = isUrlOrElement && isStringAvatar && !isImgError;\n const showElement = isUrlOrElement && !isStringAvatar && !isImgError;\n\n const customAvatar = useMemo(\n () =>\n emoji ? (\n <FluentEmoji\n emoji={emoji}\n size={calculateEmojiSize(size, hasBackground, emojiScaleWithBackground)}\n type={animation ? 'anim' : '3d'}\n unoptimized={unoptimized}\n />\n ) : (\n formatAvatarText(text || title, sliceText)\n ),\n [\n animation,\n emoji,\n hasBackground,\n size,\n sliceText,\n text,\n title,\n unoptimized,\n emojiScaleWithBackground,\n ],\n );\n\n return (\n <div\n {...rest}\n ref={ref}\n className={\n styleProps(\n [styles.root, variantStyles[variant], shadow && styles.shadow, xstyle],\n clsx(className, classNames?.root),\n ).className\n }\n style={{\n backgroundColor:\n (isUrlOrElement && !isImgError) || emoji\n ? background\n : background || cssVar.colorBorder,\n borderRadius: shape === 'circle' ? '50%' : size < 24 ? '33%' : Math.max(size / 6, 2),\n boxShadow: bordered\n ? `${cssVar.colorBgLayout} 0 0 0 2px, ${borderedColor || cssVar.colorTextTertiary} 0 0 0 4px`\n : undefined,\n color: safeReadableColor(background || cssVar.colorBorder),\n cursor: rest?.onClick ? 'pointer' : undefined,\n fontSize: size * (emoji ? 0.7 : 0.5),\n height: size,\n width: size,\n ...style,\n ...customStyles?.root,\n }}\n >\n {loading && (\n <Center\n flex={'none'}\n height={'100%'}\n width={'100%'}\n {...styleProps(styles.loading, classNames?.loading, customStyles?.loading)}\n >\n <Icon spin icon={Loader2} />\n </Center>\n )}\n {typeof avatar === 'string' && showImage && (\n <img\n alt={imgAlt}\n crossOrigin={crossOrigin}\n draggable={draggable}\n height={size}\n loading={'lazy'}\n src={avatar}\n width={size}\n {...styleProps(styles.img, classNames?.img, customStyles?.img)}\n onError={() => setIsImgError(true)}\n />\n )}\n {!showImage && (\n <span\n {...styleProps(\n [styles.content, contentXstyle],\n classNames?.content,\n customStyles?.content,\n )}\n >\n {showElement ? avatar : customAvatar}\n </span>\n )}\n </div>\n );\n },\n);\n\nAvatarImpl.displayName = 'Avatar';\n\nconst Avatar = AvatarImpl as (props: AvatarProps) => ReactNode;\n\nexport default Avatar;\n"],"mappings":";;;;;;;;;;;;;;;;AAwBA,MAAM,gBAAgB;CACpB,YAAY,QAAQ;CACpB,QAAQ,QAAQ;CAChB,UAAU,QAAQ;AACpB;AAOA,MAAa,aAAa,MACvB,EACC,KACA,WACA,QACA,YACA,UACA,eACA,WACA,YACA,aACA,YAAY,OACZ,2BAA2B,MAC3B,SACA,KACA,QACA,QAAQ,UACR,OAAO,IACP,YAAY,MACZ,OACA,QAAQ,cACR,OACA,cACA,aACA,UAAU,cACV,QACA,eACA,GAAG,WACC;CACJ,MAAM,iBAAiB,OAAO,WAAW;CAEzC,MAAM,CAAC,YAAY,iBAAiB,SAAS,KAAK;CAElD,MAAM,iBAAiB,cAAc,mBAAmB,MAAM,GAAG,CAAC,MAAM,CAAC;CAEzE,MAAM,QAAQ,cACL,UAAU,kBAAkB,CAAC,iBAAiB,SAAS,MAAM,IAAI,KAAA,GACxE;EAAC;EAAQ;EAAgB;CAAc,CACzC;CAEA,MAAM,OAAO,iBAAiB,QAAQ,OAAO,WAAW,WAAW,SAAS,KAAA;CAE5E,MAAM,SAAS,OAAO,SAAS;CAE/B,MAAM,gBAAgB,mBAAmB,UAAU;CACnD,MAAM,YAAY,kBAAkB,kBAAkB,CAAC;CACvD,MAAM,cAAc,kBAAkB,CAAC,kBAAkB,CAAC;CAE1D,MAAM,eAAe,cAEjB,QACE,oBAAC,aAAD;EACS;EACP,MAAM,mBAAmB,MAAM,eAAe,wBAAwB;EACtE,MAAM,YAAY,SAAS;EACd;CACd,CAAA,IAED,iBAAiB,QAAQ,OAAO,SAAS,GAE7C;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CAEA,OACE,qBAAC,OAAD;EACE,GAAI;EACC;EACL,WACE,WACE;GAAC,OAAO;GAAM,cAAc;GAAU,UAAU,OAAO;GAAQ;EAAM,GACrE,KAAK,WAAW,YAAY,IAAI,CAClC,CAAC,CAAC;EAEJ,OAAO;GACL,iBACG,kBAAkB,CAAC,cAAe,QAC/B,aACA,cAAc,OAAO;GAC3B,cAAc,UAAU,WAAW,QAAQ,OAAO,KAAK,QAAQ,KAAK,IAAI,OAAO,GAAG,CAAC;GACnF,WAAW,WACP,GAAG,OAAO,cAAc,cAAc,iBAAiB,OAAO,kBAAkB,cAChF,KAAA;GACJ,OAAO,kBAAkB,cAAc,OAAO,WAAW;GACzD,QAAQ,MAAM,UAAU,YAAY,KAAA;GACpC,UAAU,QAAQ,QAAQ,KAAM;GAChC,QAAQ;GACR,OAAO;GACP,GAAG;GACH,GAAG,cAAc;EACnB;EAzBF,UAAA;GA2BG,WACC,oBAAC,QAAD;IACE,MAAM;IACN,QAAQ;IACR,OAAO;IACP,GAAI,WAAW,OAAO,SAAS,YAAY,SAAS,cAAc,OAAO;IAEzE,UAAA,oBAAC,MAAD;KAAM,MAAA;KAAK,MAAM;IAAU,CAAA;GACrB,CAAA;GAET,OAAO,WAAW,YAAY,aAC7B,oBAAC,OAAD;IACE,KAAK;IACQ;IACF;IACX,QAAQ;IACR,SAAS;IACT,KAAK;IACL,OAAO;IACP,GAAI,WAAW,OAAO,KAAK,YAAY,KAAK,cAAc,GAAG;IAC7D,eAAe,cAAc,IAAI;GAClC,CAAA;GAEF,CAAC,aACA,oBAAC,QAAD;IACE,GAAI,WACF,CAAC,OAAO,SAAS,aAAa,GAC9B,YAAY,SACZ,cAAc,OAChB;IAEC,UAAA,cAAc,SAAS;GACpB,CAAA;EAEL;;AAET,CACF;AAEA,WAAW,cAAc;AAEzB,MAAM,SAAS"}
1
+ {"version":3,"file":"Avatar.mjs","names":["clsx"],"sources":["../../src/Avatar/Avatar.tsx"],"sourcesContent":["'use client';\n\nimport { getEmoji } from '@lobehub/fluent-emoji';\nimport clsx from 'clsx';\nimport { Loader2 } from 'lucide-react';\nimport { memo, type ReactNode, useMemo, useState } from 'react';\n\nimport { Center } from '@/Flex';\nimport FluentEmoji from '@/FluentEmoji';\nimport Icon from '@/Icon';\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\nimport { styleProps } from '@/styles/stylex/props';\nimport { stylish } from '@/styles/stylex/stylish';\nimport { safeReadableColor } from '@/utils/safeReadableColor';\n\nimport { styles } from './style';\nimport { type AvatarProps } from './type';\nimport {\n calculateEmojiSize,\n formatAvatarText,\n hasValidBackground,\n isDefaultAntAvatar,\n} from './utils';\n\nconst variantStyles = {\n borderless: stylish.variantBorderlessWithoutHover,\n filled: stylish.variantFilledWithoutHover,\n outlined: stylish.variantOutlinedWithoutHover,\n};\n\ntype AvatarImplProps = AvatarProps & {\n contentXstyle?: Parameters<typeof styleProps>[0];\n xstyle?: Parameters<typeof styleProps>[0];\n};\n\nexport const AvatarImpl = memo<AvatarImplProps>(\n ({\n alt,\n animation,\n avatar,\n background,\n bordered,\n borderedColor,\n className,\n classNames,\n crossOrigin,\n draggable = false,\n emojiScaleWithBackground = true,\n loading,\n ref,\n shadow,\n shape = 'square',\n size = 48,\n sliceText = true,\n style,\n styles: customStyles,\n title,\n tooltipProps,\n unoptimized,\n variant = 'borderless',\n xstyle,\n contentXstyle,\n ...rest\n }) => {\n const isStringAvatar = typeof avatar === 'string';\n\n const [isImgError, setIsImgError] = useState(false);\n\n const isUrlOrElement = useMemo(() => isDefaultAntAvatar(avatar), [avatar]);\n\n const emoji = useMemo(\n () => (avatar && isStringAvatar && !isUrlOrElement ? getEmoji(avatar) : undefined),\n [avatar, isStringAvatar, isUrlOrElement],\n );\n\n const text = isUrlOrElement ? title : typeof avatar === 'string' ? avatar : undefined;\n\n const imgAlt = alt || title || 'avatar';\n\n const hasBackground = hasValidBackground(background);\n const showImage = isUrlOrElement && isStringAvatar && !isImgError;\n const showElement = isUrlOrElement && !isStringAvatar && !isImgError;\n\n const customAvatar = useMemo(\n () =>\n emoji ? (\n <FluentEmoji\n emoji={emoji}\n size={calculateEmojiSize(size, hasBackground, emojiScaleWithBackground)}\n type={animation ? 'anim' : '3d'}\n unoptimized={unoptimized}\n />\n ) : (\n formatAvatarText(text || title, sliceText)\n ),\n [\n animation,\n emoji,\n hasBackground,\n size,\n sliceText,\n text,\n title,\n unoptimized,\n emojiScaleWithBackground,\n ],\n );\n\n return (\n <div\n {...rest}\n ref={ref}\n className={\n styleProps(\n [styles.root, variantStyles[variant], shadow && styles.shadow, xstyle],\n clsx(className, classNames?.root),\n ).className\n }\n style={{\n backgroundColor:\n (isUrlOrElement && !isImgError) || emoji\n ? background\n : background || cssVar.colorBorder,\n borderRadius: shape === 'circle' ? '50%' : size < 24 ? '33%' : Math.max(size / 6, 2),\n boxShadow: bordered\n ? `${cssVar.colorBgLayout} 0 0 0 2px, ${borderedColor || cssVar.colorTextTertiary} 0 0 0 4px`\n : undefined,\n color: safeReadableColor(background || cssVar.colorBorder),\n cursor: rest?.onClick ? 'pointer' : undefined,\n fontSize: size * (emoji ? 0.7 : 0.5),\n height: size,\n width: size,\n ...style,\n ...customStyles?.root,\n }}\n >\n {loading && (\n <Center\n flex={'none'}\n height={'100%'}\n width={'100%'}\n {...styleProps(styles.loading, classNames?.loading, customStyles?.loading)}\n >\n <Icon spin icon={Loader2} />\n </Center>\n )}\n {typeof avatar === 'string' && showImage && (\n <img\n alt={imgAlt}\n crossOrigin={crossOrigin}\n draggable={draggable}\n height={size}\n loading={'lazy'}\n src={avatar}\n width={size}\n {...styleProps(styles.img, classNames?.img, customStyles?.img)}\n onError={() => setIsImgError(true)}\n />\n )}\n {!showImage && (\n <span\n {...styleProps(\n [styles.content, contentXstyle],\n classNames?.content,\n customStyles?.content,\n )}\n >\n {showElement ? avatar : customAvatar}\n </span>\n )}\n </div>\n );\n },\n);\n\nAvatarImpl.displayName = 'Avatar';\n\nconst Avatar = AvatarImpl as (props: AvatarProps) => ReactNode;\n\nexport default Avatar;\n"],"mappings":";;;;;;;;;;;;;;;;AAwBA,MAAM,gBAAgB;CACpB,YAAY,QAAQ;CACpB,QAAQ,QAAQ;CAChB,UAAU,QAAQ;AACpB;AAOA,MAAa,aAAa,MACvB,EACC,KACA,WACA,QACA,YACA,UACA,eACA,WACA,YACA,aACA,YAAY,OACZ,2BAA2B,MAC3B,SACA,KACA,QACA,QAAQ,UACR,OAAO,IACP,YAAY,MACZ,OACA,QAAQ,cACR,OACA,cACA,aACA,UAAU,cACV,QACA,eACA,GAAG,WACC;CACJ,MAAM,iBAAiB,OAAO,WAAW;CAEzC,MAAM,CAAC,YAAY,iBAAiB,SAAS,KAAK;CAElD,MAAM,iBAAiB,cAAc,mBAAmB,MAAM,GAAG,CAAC,MAAM,CAAC;CAEzE,MAAM,QAAQ,cACL,UAAU,kBAAkB,CAAC,iBAAiB,SAAS,MAAM,IAAI,KAAA,GACxE;EAAC;EAAQ;EAAgB;CAAc,CACzC;CAEA,MAAM,OAAO,iBAAiB,QAAQ,OAAO,WAAW,WAAW,SAAS,KAAA;CAE5E,MAAM,SAAS,OAAO,SAAS;CAE/B,MAAM,gBAAgB,mBAAmB,UAAU;CACnD,MAAM,YAAY,kBAAkB,kBAAkB,CAAC;CACvD,MAAM,cAAc,kBAAkB,CAAC,kBAAkB,CAAC;CAE1D,MAAM,eAAe,cAEjB,QACE,oBAAC,aAAD;EACS;EACP,MAAM,mBAAmB,MAAM,eAAe,wBAAwB;EACtE,MAAM,YAAY,SAAS;EACd;CACd,CAAA,IAED,iBAAiB,QAAQ,OAAO,SAAS,GAE7C;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CACF;CAEA,OACE,qBAAC,OAAD;EACE,GAAI;EACC;EACL,WACE,WACE;GAAC,OAAO;GAAM,cAAc;GAAU,UAAU,OAAO;GAAQ;EAAM,GACrEA,OAAK,WAAW,YAAY,IAAI,CAClC,CAAC,CAAC;EAEJ,OAAO;GACL,iBACG,kBAAkB,CAAC,cAAe,QAC/B,aACA,cAAc,OAAO;GAC3B,cAAc,UAAU,WAAW,QAAQ,OAAO,KAAK,QAAQ,KAAK,IAAI,OAAO,GAAG,CAAC;GACnF,WAAW,WACP,GAAG,OAAO,cAAc,cAAc,iBAAiB,OAAO,kBAAkB,cAChF,KAAA;GACJ,OAAO,kBAAkB,cAAc,OAAO,WAAW;GACzD,QAAQ,MAAM,UAAU,YAAY,KAAA;GACpC,UAAU,QAAQ,QAAQ,KAAM;GAChC,QAAQ;GACR,OAAO;GACP,GAAG;GACH,GAAG,cAAc;EACnB;EAzBF,UAAA;GA2BG,WACC,oBAAC,QAAD;IACE,MAAM;IACN,QAAQ;IACR,OAAO;IACP,GAAI,WAAW,OAAO,SAAS,YAAY,SAAS,cAAc,OAAO;IAEzE,UAAA,oBAAC,MAAD;KAAM,MAAA;KAAK,MAAM;IAAU,CAAA;GACrB,CAAA;GAET,OAAO,WAAW,YAAY,aAC7B,oBAAC,OAAD;IACE,KAAK;IACQ;IACF;IACX,QAAQ;IACR,SAAS;IACT,KAAK;IACL,OAAO;IACP,GAAI,WAAW,OAAO,KAAK,YAAY,KAAK,cAAc,GAAG;IAC7D,eAAe,cAAc,IAAI;GAClC,CAAA;GAEF,CAAC,aACA,oBAAC,QAAD;IACE,GAAI,WACF,CAAC,OAAO,SAAS,aAAa,GAC9B,YAAY,SACZ,cAAc,OAChB;IAEC,UAAA,cAAc,SAAS;GACpB,CAAA;EAEL;;AAET,CACF;AAEA,WAAW,cAAc;AAEzB,MAAM,SAAS"}
@@ -5,7 +5,7 @@ import { AvatarImpl } from "../Avatar.mjs";
5
5
  import { styles } from "./style.mjs";
6
6
  import { memo } from "react";
7
7
  import { jsx, jsxs } from "react/jsx-runtime";
8
- import clsx from "clsx";
8
+ import clsx$1 from "clsx";
9
9
  //#region src/Avatar/AvatarGroup/index.tsx
10
10
  const AvatarGroup = memo(({ items, max, gap, variant = "borderless", bordered, shadow, size = 48, background, animation, draggable, classNames, shape, styles: customStyles, onClick, ref, zIndexReverse, ...rest }) => {
11
11
  const avatars = max ? items.slice(0, max) : items;
@@ -30,7 +30,7 @@ const AvatarGroup = memo(({ items, max, gap, variant = "borderless", bordered, s
30
30
  children: [avatars.map((avatar, index) => {
31
31
  const { key, style: avatarStyle, className: avatarClassName, ...restAvatarProps } = avatar;
32
32
  return /* @__PURE__ */ jsx(AvatarImpl, {
33
- className: clsx(classNames?.avatar, avatarClassName),
33
+ className: clsx$1(classNames?.avatar, avatarClassName),
34
34
  xstyle: styles.avatar,
35
35
  style: {
36
36
  marginLeft: index === 0 ? 0 : gapValue,
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["Flexbox","Avatar"],"sources":["../../../src/Avatar/AvatarGroup/index.tsx"],"sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { memo } from 'react';\n\nimport { Flexbox } from '@/Flex';\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\n\nimport { AvatarImpl as Avatar } from '../Avatar';\nimport type { AvatarGroupProps } from '../type';\nimport { styles } from './style';\n\nconst AvatarGroup = memo<AvatarGroupProps>(\n ({\n items,\n max,\n gap,\n variant = 'borderless',\n bordered,\n shadow,\n size = 48,\n background,\n animation,\n draggable,\n classNames,\n shape,\n styles: customStyles,\n onClick,\n ref,\n zIndexReverse,\n ...rest\n }) => {\n const avatars = max ? items.slice(0, max) : items;\n const restAvatars = items.slice(max, items.length);\n const gapValue = gap ?? Math.floor(-size / 4);\n\n const avatarProps = {\n animation,\n background,\n bordered,\n draggable,\n shadow,\n shape,\n size,\n variant,\n };\n\n return (\n <Flexbox\n horizontal\n gap={gap}\n ref={ref}\n style={{\n position: 'relative',\n }}\n {...rest}\n >\n {avatars.map((avatar, index) => {\n const {\n key,\n style: avatarStyle,\n className: avatarClassName,\n ...restAvatarProps\n } = avatar;\n return (\n <Avatar\n className={clsx(classNames?.avatar, avatarClassName)}\n key={key}\n xstyle={styles.avatar}\n style={{\n marginLeft: index === 0 ? 0 : gapValue,\n zIndex: zIndexReverse ? items.length - index : index,\n ...customStyles?.avatar,\n ...avatarStyle,\n }}\n onClick={() => onClick?.({ item: avatar, key })}\n {...avatarProps}\n {...restAvatarProps}\n />\n );\n })}\n {max && restAvatars.length > 0 && (\n <Avatar\n {...avatarProps}\n avatar={`+${restAvatars.length}`}\n background={cssVar.colorText}\n className={classNames?.count}\n contentXstyle={styles.count}\n sliceText={false}\n xstyle={styles.avatar}\n style={{\n marginLeft: gapValue,\n zIndex: zIndexReverse ? 0 : avatars.length,\n ...customStyles?.count,\n }}\n />\n )}\n </Flexbox>\n );\n },\n);\n\nAvatarGroup.displayName = 'AvatarGroup';\n\nexport default AvatarGroup;\n"],"mappings":";;;;;;;;;AAYA,MAAM,cAAc,MACjB,EACC,OACA,KACA,KACA,UAAU,cACV,UACA,QACA,OAAO,IACP,YACA,WACA,WACA,YACA,OACA,QAAQ,cACR,SACA,KACA,eACA,GAAG,WACC;CACJ,MAAM,UAAU,MAAM,MAAM,MAAM,GAAG,GAAG,IAAI;CAC5C,MAAM,cAAc,MAAM,MAAM,KAAK,MAAM,MAAM;CACjD,MAAM,WAAW,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC;CAE5C,MAAM,cAAc;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAEA,OACE,qBAACA,mBAAD;EACE,YAAA;EACK;EACA;EACL,OAAO,EACL,UAAU,WACZ;EACA,GAAI;EAPN,UAAA,CASG,QAAQ,KAAK,QAAQ,UAAU;GAC9B,MAAM,EACJ,KACA,OAAO,aACP,WAAW,iBACX,GAAG,oBACD;GACJ,OACE,oBAACC,YAAD;IACE,WAAW,KAAK,YAAY,QAAQ,eAAe;IAEnD,QAAQ,OAAO;IACf,OAAO;KACL,YAAY,UAAU,IAAI,IAAI;KAC9B,QAAQ,gBAAgB,MAAM,SAAS,QAAQ;KAC/C,GAAG,cAAc;KACjB,GAAG;IACL;IACA,eAAe,UAAU;KAAE,MAAM;KAAQ;IAAI,CAAC;IAC9C,GAAI;IACJ,GAAI;GACL,GAXM,GAWN;EAEL,CAAC,GACA,OAAO,YAAY,SAAS,KAC3B,oBAACA,YAAD;GACE,GAAI;GACJ,QAAQ,IAAI,YAAY;GACxB,YAAY,OAAO;GACnB,WAAW,YAAY;GACvB,eAAe,OAAO;GACtB,WAAW;GACX,QAAQ,OAAO;GACf,OAAO;IACL,YAAY;IACZ,QAAQ,gBAAgB,IAAI,QAAQ;IACpC,GAAG,cAAc;GACnB;EACD,CAAA,CAEI;;AAEb,CACF;AAEA,YAAY,cAAc"}
1
+ {"version":3,"file":"index.mjs","names":["Flexbox","Avatar","clsx"],"sources":["../../../src/Avatar/AvatarGroup/index.tsx"],"sourcesContent":["'use client';\n\nimport clsx from 'clsx';\nimport { memo } from 'react';\n\nimport { Flexbox } from '@/Flex';\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\n\nimport { AvatarImpl as Avatar } from '../Avatar';\nimport type { AvatarGroupProps } from '../type';\nimport { styles } from './style';\n\nconst AvatarGroup = memo<AvatarGroupProps>(\n ({\n items,\n max,\n gap,\n variant = 'borderless',\n bordered,\n shadow,\n size = 48,\n background,\n animation,\n draggable,\n classNames,\n shape,\n styles: customStyles,\n onClick,\n ref,\n zIndexReverse,\n ...rest\n }) => {\n const avatars = max ? items.slice(0, max) : items;\n const restAvatars = items.slice(max, items.length);\n const gapValue = gap ?? Math.floor(-size / 4);\n\n const avatarProps = {\n animation,\n background,\n bordered,\n draggable,\n shadow,\n shape,\n size,\n variant,\n };\n\n return (\n <Flexbox\n horizontal\n gap={gap}\n ref={ref}\n style={{\n position: 'relative',\n }}\n {...rest}\n >\n {avatars.map((avatar, index) => {\n const {\n key,\n style: avatarStyle,\n className: avatarClassName,\n ...restAvatarProps\n } = avatar;\n return (\n <Avatar\n className={clsx(classNames?.avatar, avatarClassName)}\n key={key}\n xstyle={styles.avatar}\n style={{\n marginLeft: index === 0 ? 0 : gapValue,\n zIndex: zIndexReverse ? items.length - index : index,\n ...customStyles?.avatar,\n ...avatarStyle,\n }}\n onClick={() => onClick?.({ item: avatar, key })}\n {...avatarProps}\n {...restAvatarProps}\n />\n );\n })}\n {max && restAvatars.length > 0 && (\n <Avatar\n {...avatarProps}\n avatar={`+${restAvatars.length}`}\n background={cssVar.colorText}\n className={classNames?.count}\n contentXstyle={styles.count}\n sliceText={false}\n xstyle={styles.avatar}\n style={{\n marginLeft: gapValue,\n zIndex: zIndexReverse ? 0 : avatars.length,\n ...customStyles?.count,\n }}\n />\n )}\n </Flexbox>\n );\n },\n);\n\nAvatarGroup.displayName = 'AvatarGroup';\n\nexport default AvatarGroup;\n"],"mappings":";;;;;;;;;AAYA,MAAM,cAAc,MACjB,EACC,OACA,KACA,KACA,UAAU,cACV,UACA,QACA,OAAO,IACP,YACA,WACA,WACA,YACA,OACA,QAAQ,cACR,SACA,KACA,eACA,GAAG,WACC;CACJ,MAAM,UAAU,MAAM,MAAM,MAAM,GAAG,GAAG,IAAI;CAC5C,MAAM,cAAc,MAAM,MAAM,KAAK,MAAM,MAAM;CACjD,MAAM,WAAW,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC;CAE5C,MAAM,cAAc;EAClB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CAEA,OACE,qBAACA,mBAAD;EACE,YAAA;EACK;EACA;EACL,OAAO,EACL,UAAU,WACZ;EACA,GAAI;EAPN,UAAA,CASG,QAAQ,KAAK,QAAQ,UAAU;GAC9B,MAAM,EACJ,KACA,OAAO,aACP,WAAW,iBACX,GAAG,oBACD;GACJ,OACE,oBAACC,YAAD;IACE,WAAWC,OAAK,YAAY,QAAQ,eAAe;IAEnD,QAAQ,OAAO;IACf,OAAO;KACL,YAAY,UAAU,IAAI,IAAI;KAC9B,QAAQ,gBAAgB,MAAM,SAAS,QAAQ;KAC/C,GAAG,cAAc;KACjB,GAAG;IACL;IACA,eAAe,UAAU;KAAE,MAAM;KAAQ;IAAI,CAAC;IAC9C,GAAI;IACJ,GAAI;GACL,GAXM,GAWN;EAEL,CAAC,GACA,OAAO,YAAY,SAAS,KAC3B,oBAACD,YAAD;GACE,GAAI;GACJ,QAAQ,IAAI,YAAY;GACxB,YAAY,OAAO;GACnB,WAAW,YAAY;GACvB,eAAe,OAAO;GACtB,WAAW;GACX,QAAQ,OAAO;GACf,OAAO;IACL,YAAY;IACZ,QAAQ,gBAAgB,IAAI,QAAQ;IACpC,GAAG,cAAc;GACnB;EACD,CAAA,CAEI;;AAEb,CACF;AAEA,YAAY,cAAc"}
@@ -5,7 +5,7 @@ import Icon from "../Icon/Icon.mjs";
5
5
  import { styles } from "./style.mjs";
6
6
  import { memo } 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 { ChevronRight } from "lucide-react";
11
11
  //#region src/Breadcrumb/Breadcrumb.tsx
@@ -33,7 +33,7 @@ const Breadcrumb = memo(({ className, classNames, items, ref, separator, style,
33
33
  "aria-label": "breadcrumb",
34
34
  ref,
35
35
  ...rest,
36
- ...styleProps(styles.root, clsx("lobe-breadcrumb", className), style),
36
+ ...styleProps(styles.root, clsx$1("lobe-breadcrumb", className), style),
37
37
  children: /* @__PURE__ */ jsx("ol", {
38
38
  ...stylex.props(styles.list),
39
39
  children: items.map((item, index) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Breadcrumb.mjs","names":[],"sources":["../../src/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport { ChevronRight } from 'lucide-react';\nimport { memo, type ReactNode } from 'react';\n\nimport A from '@/A';\nimport Icon from '@/Icon';\nimport { styleProps } from '@/styles/stylex/props';\n\nimport { styles } from './style';\nimport type { BreadcrumbItem, BreadcrumbProps } from './type';\n\nconst renderTitle = (item: BreadcrumbItem): ReactNode => {\n if (item.href) {\n return (\n <A {...stylex.props(styles.link)} href={item.href} onClick={item.onClick}>\n {item.title}\n </A>\n );\n }\n\n if (item.onClick) {\n return (\n <button {...stylex.props(styles.button)} type=\"button\" onClick={item.onClick}>\n {item.title}\n </button>\n );\n }\n\n return item.title;\n};\n\nconst Breadcrumb = memo<BreadcrumbProps>(\n ({ className, classNames, items, ref, separator, style, styles: customStyles, ...rest }) => {\n const separatorNode = separator ?? <Icon icon={ChevronRight} size={14} />;\n\n return (\n <nav\n aria-label=\"breadcrumb\"\n ref={ref}\n {...rest}\n {...styleProps(styles.root, clsx('lobe-breadcrumb', className), style)}\n >\n <ol {...stylex.props(styles.list)}>\n {items.map((item, index) => {\n const isLast = index === items.length - 1;\n\n return (\n <li\n aria-current={isLast ? 'page' : undefined}\n key={item.key ?? index}\n {...styleProps(styles.item, classNames?.item, customStyles?.item)}\n >\n {renderTitle(item)}\n {!isLast && (\n <span\n aria-hidden=\"true\"\n {...styleProps(\n styles.separator,\n classNames?.separator,\n customStyles?.separator,\n )}\n >\n {separatorNode}\n </span>\n )}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n },\n);\n\nBreadcrumb.displayName = 'Breadcrumb';\n\nexport default Breadcrumb;\n"],"mappings":";;;;;;;;;;;AAYA,MAAM,eAAe,SAAoC;CACvD,IAAI,KAAK,MACP,OAAO,oBAAC,GAAD;EAAG,GAAI,OAAO,MAAM,OAAO,IAAI;EAAG,MAAM,KAAK;EAAM,SAAS,KAAK;EACnE,UAAA,KAAK;CACL,CAAA;CAEP,IAAI,KAAK,SACP,OAAO,oBAAC,UAAD;EAAQ,GAAI,OAAO,MAAM,OAAO,MAAM;EAAG,MAAK;EAAS,SAAS,KAAK;EACvE,UAAA,KAAK;CACA,CAAA;CAEZ,OAAO,KAAK;AACd;AACA,MAAM,aAAa,MAAuB,EACxC,WACA,YACA,OACA,KACA,WACA,OACA,QAAQ,cACR,GAAG,WACC;CACJ,MAAM,gBAAgB,aAAa,oBAAC,MAAD;EAAM,MAAM;EAAc,MAAM;CAAK,CAAA;CACxE,OAAO,oBAAC,OAAD;EAAK,cAAW;EAAkB;EAAK,GAAI;EAAM,GAAI,WAAW,OAAO,MAAM,KAAK,mBAAmB,SAAS,GAAG,KAAK;EACvH,UAAA,oBAAC,MAAD;GAAI,GAAI,OAAO,MAAM,OAAO,IAAI;GAC7B,UAAA,MAAM,KAAK,MAAM,UAAU;IAC9B,MAAM,SAAS,UAAU,MAAM,SAAS;IACxC,OAAO,qBAAC,MAAD;KAAI,gBAAc,SAAS,SAAS,KAAA;KAAmC,GAAI,WAAW,OAAO,MAAM,YAAY,MAAM,cAAc,IAAI;KAAvI,UAAA,CACE,YAAY,IAAI,GAChB,CAAC,UAAU,oBAAC,QAAD;MAAM,eAAY;MAAO,GAAI,WAAW,OAAO,WAAW,YAAY,WAAW,cAAc,SAAS;MAC/G,UAAA;KACG,CAAA,CACN;IALiD,GAAA,KAAK,OAAO,KAK7D;GACZ,CAAC;EACK,CAAA;CACD,CAAA;AACX,CAAC;AACD,WAAW,cAAc"}
1
+ {"version":3,"file":"Breadcrumb.mjs","names":["clsx"],"sources":["../../src/Breadcrumb/Breadcrumb.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport { ChevronRight } from 'lucide-react';\nimport { memo, type ReactNode } from 'react';\n\nimport A from '@/A';\nimport Icon from '@/Icon';\nimport { styleProps } from '@/styles/stylex/props';\n\nimport { styles } from './style';\nimport type { BreadcrumbItem, BreadcrumbProps } from './type';\n\nconst renderTitle = (item: BreadcrumbItem): ReactNode => {\n if (item.href) {\n return (\n <A {...stylex.props(styles.link)} href={item.href} onClick={item.onClick}>\n {item.title}\n </A>\n );\n }\n\n if (item.onClick) {\n return (\n <button {...stylex.props(styles.button)} type=\"button\" onClick={item.onClick}>\n {item.title}\n </button>\n );\n }\n\n return item.title;\n};\n\nconst Breadcrumb = memo<BreadcrumbProps>(\n ({ className, classNames, items, ref, separator, style, styles: customStyles, ...rest }) => {\n const separatorNode = separator ?? <Icon icon={ChevronRight} size={14} />;\n\n return (\n <nav\n aria-label=\"breadcrumb\"\n ref={ref}\n {...rest}\n {...styleProps(styles.root, clsx('lobe-breadcrumb', className), style)}\n >\n <ol {...stylex.props(styles.list)}>\n {items.map((item, index) => {\n const isLast = index === items.length - 1;\n\n return (\n <li\n aria-current={isLast ? 'page' : undefined}\n key={item.key ?? index}\n {...styleProps(styles.item, classNames?.item, customStyles?.item)}\n >\n {renderTitle(item)}\n {!isLast && (\n <span\n aria-hidden=\"true\"\n {...styleProps(\n styles.separator,\n classNames?.separator,\n customStyles?.separator,\n )}\n >\n {separatorNode}\n </span>\n )}\n </li>\n );\n })}\n </ol>\n </nav>\n );\n },\n);\n\nBreadcrumb.displayName = 'Breadcrumb';\n\nexport default Breadcrumb;\n"],"mappings":";;;;;;;;;;;AAYA,MAAM,eAAe,SAAoC;CACvD,IAAI,KAAK,MACP,OAAO,oBAAC,GAAD;EAAG,GAAI,OAAO,MAAM,OAAO,IAAI;EAAG,MAAM,KAAK;EAAM,SAAS,KAAK;EACnE,UAAA,KAAK;CACL,CAAA;CAEP,IAAI,KAAK,SACP,OAAO,oBAAC,UAAD;EAAQ,GAAI,OAAO,MAAM,OAAO,MAAM;EAAG,MAAK;EAAS,SAAS,KAAK;EACvE,UAAA,KAAK;CACA,CAAA;CAEZ,OAAO,KAAK;AACd;AACA,MAAM,aAAa,MAAuB,EACxC,WACA,YACA,OACA,KACA,WACA,OACA,QAAQ,cACR,GAAG,WACC;CACJ,MAAM,gBAAgB,aAAa,oBAAC,MAAD;EAAM,MAAM;EAAc,MAAM;CAAK,CAAA;CACxE,OAAO,oBAAC,OAAD;EAAK,cAAW;EAAkB;EAAK,GAAI;EAAM,GAAI,WAAW,OAAO,MAAMA,OAAK,mBAAmB,SAAS,GAAG,KAAK;EACvH,UAAA,oBAAC,MAAD;GAAI,GAAI,OAAO,MAAM,OAAO,IAAI;GAC7B,UAAA,MAAM,KAAK,MAAM,UAAU;IAC9B,MAAM,SAAS,UAAU,MAAM,SAAS;IACxC,OAAO,qBAAC,MAAD;KAAI,gBAAc,SAAS,SAAS,KAAA;KAAmC,GAAI,WAAW,OAAO,MAAM,YAAY,MAAM,cAAc,IAAI;KAAvI,UAAA,CACE,YAAY,IAAI,GAChB,CAAC,UAAU,oBAAC,QAAD;MAAM,eAAY;MAAO,GAAI,WAAW,OAAO,WAAW,YAAY,WAAW,cAAc,SAAS;MAC/G,UAAA;KACG,CAAA,CACN;IALiD,GAAA,KAAK,OAAO,KAK7D;GACZ,CAAC;EACK,CAAA;CACD,CAAA;AACX,CAAC;AACD,WAAW,cAAc"}
@@ -36,7 +36,7 @@ const resolveVariantCls = ({ danger, ghost, type }) => {
36
36
  case "primary": return danger ? styles.dangerSolid : styles.variantPrimary;
37
37
  case "dashed": return danger ? [styles.variantDashed, styles.dangerOutlined] : styles.variantDashed;
38
38
  case "fill": return danger ? styles.dangerFill : styles.variantFill;
39
- case "text": return danger ? [styles.variantText, styles.dangerInline] : styles.variantText;
39
+ case "text": return danger ? [styles.variantText, styles.dangerText] : styles.variantText;
40
40
  case "link": return danger ? [styles.variantLink, styles.dangerInline] : styles.variantLink;
41
41
  default: return danger ? [styles.variantDefault, styles.dangerOutlined] : styles.variantDefault;
42
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Button.mjs","names":[],"sources":["../../src/Button/Button.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport {\n isValidElement,\n type MouseEvent,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from 'react';\n\nimport Icon, { type IconProps } from '@/Icon';\nimport { useMotionComponent } from '@/MotionProvider';\nimport { focusRing } from '@/styles/stylex/focusRing';\nimport { styleProps } from '@/styles/stylex/props';\n\nimport { styles } from './style';\nimport type { ButtonOutdent, ButtonProps, ButtonType } from './type';\n\nconst resolveIconNode = (node: ReactNode | IconProps['icon'] | undefined | null) => {\n if (node === undefined || node === null) return null;\n if (isValidElement(node) || typeof node === 'string' || typeof node === 'number') {\n return node;\n }\n return <Icon icon={node as any} size={'small'} />;\n};\n\nconst resolveSizeCls = (size: ButtonProps['size']) => {\n if (size === 'small') return styles.sizeSmall;\n if (size === 'large') return styles.sizeLarge;\n return styles.sizeMiddle;\n};\n\nconst resolveIconOnlySizeCls = (size: ButtonProps['size']) => {\n if (size === 'small') return styles.iconOnlySmall;\n if (size === 'large') return styles.iconOnlyLarge;\n return styles.iconOnlyMiddle;\n};\n\nconst resolveVariantCls = ({\n danger,\n ghost,\n type,\n}: {\n danger: boolean;\n ghost: boolean;\n type: NonNullable<ButtonProps['type']>;\n}) => {\n // `text` and `link` already drop the surface, so `ghost` there would only cost them\n // their own traits (link's zero inline padding).\n if (ghost && type !== 'text' && type !== 'link') {\n if (danger) return styles.ghostDanger;\n if (type === 'primary') return styles.ghostPrimary;\n return styles.ghostDefault;\n }\n\n switch (type) {\n case 'primary': {\n return danger ? styles.dangerSolid : styles.variantPrimary;\n }\n case 'dashed': {\n return danger ? [styles.variantDashed, styles.dangerOutlined] : styles.variantDashed;\n }\n case 'fill': {\n return danger ? styles.dangerFill : styles.variantFill;\n }\n case 'text': {\n return danger ? [styles.variantText, styles.dangerInline] : styles.variantText;\n }\n case 'link': {\n return danger ? [styles.variantLink, styles.dangerInline] : styles.variantLink;\n }\n default: {\n return danger ? [styles.variantDefault, styles.dangerOutlined] : styles.variantDefault;\n }\n }\n};\n\nconst tapAnim = { scale: 0.98 };\nconst motionTransition = {\n damping: 26,\n mass: 0.6,\n stiffness: 600,\n type: 'spring' as const,\n};\n\ntype ButtonImplProps = Omit<ButtonProps, 'outdent' | 'type'> & {\n outdent?: ButtonOutdent;\n type?: ButtonType;\n xstyle?: Parameters<typeof styleProps>[0];\n};\n\nconst ButtonImpl = ({\n block,\n children,\n className,\n classNames,\n danger = false,\n disabled,\n outdent,\n ghost = false,\n href,\n htmlType = 'button',\n icon,\n iconPosition = 'start',\n loading,\n onClick,\n ref,\n shape = 'default',\n size = 'middle',\n styles: userStyles,\n target,\n type = 'default',\n xstyle,\n ...rest\n}: ButtonImplProps) => {\n const Motion = useMotionComponent();\n const isInteractionDisabled = disabled || loading;\n const sizeCls = resolveSizeCls(size);\n const variantCls = resolveVariantCls({ danger, ghost, type });\n const shapeCls =\n shape === 'circle' ? styles.shapeCircle : shape === 'round' ? styles.shapeRound : undefined;\n\n const hasChildren =\n children !== undefined && children !== null && children !== false && children !== '';\n const renderIcon = loading || icon;\n const iconOnly = !hasChildren && !!renderIcon;\n const iconOnlySizeCls = iconOnly ? resolveIconOnlySizeCls(size) : undefined;\n\n const outdentCls =\n type === 'text' && outdent\n ? outdent === 'end'\n ? styles.outdentEnd\n : styles.outdentStart\n : undefined;\n\n const composedClassName = styleProps(\n [\n styles.base,\n focusRing.info,\n sizeCls,\n variantCls,\n shapeCls,\n block && styles.block,\n iconPosition === 'end' && styles.iconEnd,\n iconOnlySizeCls,\n outdentCls,\n xstyle,\n ],\n className,\n ).className;\n\n const spinnerNode = (\n <span\n aria-hidden={!loading}\n {...styleProps(\n [\n styles.iconBox,\n styles.spinnerSlot,\n iconPosition === 'end' && styles.spinnerSlotEnd,\n loading && styles.spinnerSlotShow,\n ],\n classNames?.icon,\n userStyles?.icon,\n )}\n >\n <span {...stylex.props(styles.spinner)} />\n </span>\n );\n\n const iconNode =\n icon && !loading ? (\n <span {...styleProps(styles.iconBox, classNames?.icon, userStyles?.icon)}>\n {resolveIconNode(icon)}\n </span>\n ) : null;\n\n const inner = (\n <>\n {spinnerNode}\n {iconNode}\n {children}\n </>\n );\n\n const motionGestures = isInteractionDisabled\n ? {}\n : { transition: motionTransition, whileTap: tapAnim };\n\n if (href !== undefined) {\n const handleAnchorClick = (e: MouseEvent<HTMLAnchorElement>) => {\n if (isInteractionDisabled) {\n e.preventDefault();\n return;\n }\n onClick?.(e as unknown as MouseEvent<HTMLButtonElement>);\n };\n\n return (\n <Motion.a\n aria-busy={loading || undefined}\n aria-disabled={isInteractionDisabled || undefined}\n href={disabled ? undefined : href}\n target={target}\n {...(rest as any)}\n className={composedClassName}\n ref={ref as Ref<HTMLAnchorElement>}\n onClick={handleAnchorClick}\n {...motionGestures}\n >\n {inner}\n </Motion.a>\n );\n }\n\n const handleButtonClick = (e: MouseEvent<HTMLButtonElement>) => {\n if (isInteractionDisabled) {\n e.preventDefault();\n return;\n }\n onClick?.(e);\n };\n\n return (\n <Motion.button\n type={htmlType}\n {...(rest as any)}\n aria-busy={loading || undefined}\n aria-disabled={isInteractionDisabled || undefined}\n className={composedClassName}\n disabled={disabled}\n ref={ref as Ref<HTMLButtonElement>}\n onClick={handleButtonClick}\n {...motionGestures}\n >\n {inner}\n </Motion.button>\n );\n};\n\nButtonImpl.displayName = 'BaseButton';\n\nexport { ButtonImpl };\n\nconst Button = ButtonImpl as <T extends ButtonType = 'default'>(\n props: ButtonProps<T>,\n) => ReactElement;\n\nexport default Button;\n"],"mappings":"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"}
1
+ {"version":3,"file":"Button.mjs","names":[],"sources":["../../src/Button/Button.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\nimport {\n isValidElement,\n type MouseEvent,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from 'react';\n\nimport Icon, { type IconProps } from '@/Icon';\nimport { useMotionComponent } from '@/MotionProvider';\nimport { focusRing } from '@/styles/stylex/focusRing';\nimport { styleProps } from '@/styles/stylex/props';\n\nimport { styles } from './style';\nimport type { ButtonOutdent, ButtonProps, ButtonType } from './type';\n\nconst resolveIconNode = (node: ReactNode | IconProps['icon'] | undefined | null) => {\n if (node === undefined || node === null) return null;\n if (isValidElement(node) || typeof node === 'string' || typeof node === 'number') {\n return node;\n }\n return <Icon icon={node as any} size={'small'} />;\n};\n\nconst resolveSizeCls = (size: ButtonProps['size']) => {\n if (size === 'small') return styles.sizeSmall;\n if (size === 'large') return styles.sizeLarge;\n return styles.sizeMiddle;\n};\n\nconst resolveIconOnlySizeCls = (size: ButtonProps['size']) => {\n if (size === 'small') return styles.iconOnlySmall;\n if (size === 'large') return styles.iconOnlyLarge;\n return styles.iconOnlyMiddle;\n};\n\nconst resolveVariantCls = ({\n danger,\n ghost,\n type,\n}: {\n danger: boolean;\n ghost: boolean;\n type: NonNullable<ButtonProps['type']>;\n}) => {\n // `text` and `link` already drop the surface, so `ghost` there would only cost them\n // their own traits (link's zero inline padding).\n if (ghost && type !== 'text' && type !== 'link') {\n if (danger) return styles.ghostDanger;\n if (type === 'primary') return styles.ghostPrimary;\n return styles.ghostDefault;\n }\n\n switch (type) {\n case 'primary': {\n return danger ? styles.dangerSolid : styles.variantPrimary;\n }\n case 'dashed': {\n return danger ? [styles.variantDashed, styles.dangerOutlined] : styles.variantDashed;\n }\n case 'fill': {\n return danger ? styles.dangerFill : styles.variantFill;\n }\n case 'text': {\n return danger ? [styles.variantText, styles.dangerText] : styles.variantText;\n }\n case 'link': {\n return danger ? [styles.variantLink, styles.dangerInline] : styles.variantLink;\n }\n default: {\n return danger ? [styles.variantDefault, styles.dangerOutlined] : styles.variantDefault;\n }\n }\n};\n\nconst tapAnim = { scale: 0.98 };\nconst motionTransition = {\n damping: 26,\n mass: 0.6,\n stiffness: 600,\n type: 'spring' as const,\n};\n\ntype ButtonImplProps = Omit<ButtonProps, 'outdent' | 'type'> & {\n outdent?: ButtonOutdent;\n type?: ButtonType;\n xstyle?: Parameters<typeof styleProps>[0];\n};\n\nconst ButtonImpl = ({\n block,\n children,\n className,\n classNames,\n danger = false,\n disabled,\n outdent,\n ghost = false,\n href,\n htmlType = 'button',\n icon,\n iconPosition = 'start',\n loading,\n onClick,\n ref,\n shape = 'default',\n size = 'middle',\n styles: userStyles,\n target,\n type = 'default',\n xstyle,\n ...rest\n}: ButtonImplProps) => {\n const Motion = useMotionComponent();\n const isInteractionDisabled = disabled || loading;\n const sizeCls = resolveSizeCls(size);\n const variantCls = resolveVariantCls({ danger, ghost, type });\n const shapeCls =\n shape === 'circle' ? styles.shapeCircle : shape === 'round' ? styles.shapeRound : undefined;\n\n const hasChildren =\n children !== undefined && children !== null && children !== false && children !== '';\n const renderIcon = loading || icon;\n const iconOnly = !hasChildren && !!renderIcon;\n const iconOnlySizeCls = iconOnly ? resolveIconOnlySizeCls(size) : undefined;\n\n const outdentCls =\n type === 'text' && outdent\n ? outdent === 'end'\n ? styles.outdentEnd\n : styles.outdentStart\n : undefined;\n\n const composedClassName = styleProps(\n [\n styles.base,\n focusRing.info,\n sizeCls,\n variantCls,\n shapeCls,\n block && styles.block,\n iconPosition === 'end' && styles.iconEnd,\n iconOnlySizeCls,\n outdentCls,\n xstyle,\n ],\n className,\n ).className;\n\n const spinnerNode = (\n <span\n aria-hidden={!loading}\n {...styleProps(\n [\n styles.iconBox,\n styles.spinnerSlot,\n iconPosition === 'end' && styles.spinnerSlotEnd,\n loading && styles.spinnerSlotShow,\n ],\n classNames?.icon,\n userStyles?.icon,\n )}\n >\n <span {...stylex.props(styles.spinner)} />\n </span>\n );\n\n const iconNode =\n icon && !loading ? (\n <span {...styleProps(styles.iconBox, classNames?.icon, userStyles?.icon)}>\n {resolveIconNode(icon)}\n </span>\n ) : null;\n\n const inner = (\n <>\n {spinnerNode}\n {iconNode}\n {children}\n </>\n );\n\n const motionGestures = isInteractionDisabled\n ? {}\n : { transition: motionTransition, whileTap: tapAnim };\n\n if (href !== undefined) {\n const handleAnchorClick = (e: MouseEvent<HTMLAnchorElement>) => {\n if (isInteractionDisabled) {\n e.preventDefault();\n return;\n }\n onClick?.(e as unknown as MouseEvent<HTMLButtonElement>);\n };\n\n return (\n <Motion.a\n aria-busy={loading || undefined}\n aria-disabled={isInteractionDisabled || undefined}\n href={disabled ? undefined : href}\n target={target}\n {...(rest as any)}\n className={composedClassName}\n ref={ref as Ref<HTMLAnchorElement>}\n onClick={handleAnchorClick}\n {...motionGestures}\n >\n {inner}\n </Motion.a>\n );\n }\n\n const handleButtonClick = (e: MouseEvent<HTMLButtonElement>) => {\n if (isInteractionDisabled) {\n e.preventDefault();\n return;\n }\n onClick?.(e);\n };\n\n return (\n <Motion.button\n type={htmlType}\n {...(rest as any)}\n aria-busy={loading || undefined}\n aria-disabled={isInteractionDisabled || undefined}\n className={composedClassName}\n disabled={disabled}\n ref={ref as Ref<HTMLButtonElement>}\n onClick={handleButtonClick}\n {...motionGestures}\n >\n {inner}\n </Motion.button>\n );\n};\n\nButtonImpl.displayName = 'BaseButton';\n\nexport { ButtonImpl };\n\nconst Button = ButtonImpl as <T extends ButtonType = 'default'>(\n props: ButtonProps<T>,\n) => ReactElement;\n\nexport default Button;\n"],"mappings":"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"}