@lobehub/ui 6.0.0-beta.6 → 6.0.0-beta.8

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 (682) 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/ColorSwatches/type.d.mts +2 -2
  53. package/es/ContextMenu/ContextMenuHost.mjs +2 -2
  54. package/es/ContextMenu/ContextMenuHost.mjs.map +1 -1
  55. package/es/ContextMenu/ContextMenuTrigger.mjs +2 -2
  56. package/es/ContextMenu/ContextMenuTrigger.mjs.map +1 -1
  57. package/es/ContextMenu/renderItems.mjs +3 -3
  58. package/es/ContextMenu/renderItems.mjs.map +1 -1
  59. package/es/DatePicker/DatePicker.d.mts +7 -2
  60. package/es/DatePicker/DatePicker.mjs +13 -85
  61. package/es/DatePicker/DatePicker.mjs.map +1 -1
  62. package/es/DatePicker/DateRangePicker.d.mts +3 -2
  63. package/es/DatePicker/DateRangePicker.mjs +3 -125
  64. package/es/DatePicker/DateRangePicker.mjs.map +1 -1
  65. package/es/DatePicker/PurePanel.mjs +65 -0
  66. package/es/DatePicker/PurePanel.mjs.map +1 -0
  67. package/es/DatePicker/RangePicker.mjs +115 -0
  68. package/es/DatePicker/RangePicker.mjs.map +1 -0
  69. package/es/DatePicker/SinglePicker.mjs +132 -0
  70. package/es/DatePicker/SinglePicker.mjs.map +1 -0
  71. package/es/DatePicker/core/PickerInput/Popup/Footer.mjs +57 -0
  72. package/es/DatePicker/core/PickerInput/Popup/Footer.mjs.map +1 -0
  73. package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs +57 -0
  74. package/es/DatePicker/core/PickerInput/Popup/PopupPanel.mjs.map +1 -0
  75. package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs +29 -0
  76. package/es/DatePicker/core/PickerInput/Popup/PresetPanel.mjs.map +1 -0
  77. package/es/DatePicker/core/PickerInput/Popup/index.mjs +133 -0
  78. package/es/DatePicker/core/PickerInput/Popup/index.mjs.map +1 -0
  79. package/es/DatePicker/core/PickerInput/RangePicker.d.mts +51 -0
  80. package/es/DatePicker/core/PickerInput/RangePicker.mjs +343 -0
  81. package/es/DatePicker/core/PickerInput/RangePicker.mjs.map +1 -0
  82. package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs +27 -0
  83. package/es/DatePicker/core/PickerInput/Selector/ClearIcon.mjs.map +1 -0
  84. package/es/DatePicker/core/PickerInput/Selector/Icon.mjs +19 -0
  85. package/es/DatePicker/core/PickerInput/Selector/Icon.mjs.map +1 -0
  86. package/es/DatePicker/core/PickerInput/Selector/Input.mjs +237 -0
  87. package/es/DatePicker/core/PickerInput/Selector/Input.mjs.map +1 -0
  88. package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs +70 -0
  89. package/es/DatePicker/core/PickerInput/Selector/MaskFormat.mjs.map +1 -0
  90. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.d.mts +8 -0
  91. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs +136 -0
  92. package/es/DatePicker/core/PickerInput/Selector/RangeSelector.mjs.map +1 -0
  93. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs +28 -0
  94. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/HoverSelector.mjs.map +1 -0
  95. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs +69 -0
  96. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/MultipleDates.mjs.map +1 -0
  97. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs +111 -0
  98. package/es/DatePicker/core/PickerInput/Selector/SingleSelector/index.mjs.map +1 -0
  99. package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs +18 -0
  100. package/es/DatePicker/core/PickerInput/Selector/hooks/useClearIcon.mjs.map +1 -0
  101. package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs +108 -0
  102. package/es/DatePicker/core/PickerInput/Selector/hooks/useInputProps.mjs.map +1 -0
  103. package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs +11 -0
  104. package/es/DatePicker/core/PickerInput/Selector/hooks/useRootProps.mjs.map +1 -0
  105. package/es/DatePicker/core/PickerInput/Selector/util.mjs +20 -0
  106. package/es/DatePicker/core/PickerInput/Selector/util.mjs.map +1 -0
  107. package/es/DatePicker/core/PickerInput/SinglePicker.d.mts +55 -0
  108. package/es/DatePicker/core/PickerInput/SinglePicker.mjs +318 -0
  109. package/es/DatePicker/core/PickerInput/SinglePicker.mjs.map +1 -0
  110. package/es/DatePicker/core/PickerInput/context.mjs +7 -0
  111. package/es/DatePicker/core/PickerInput/context.mjs.map +1 -0
  112. package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs +30 -0
  113. package/es/DatePicker/core/PickerInput/hooks/useCellRender.mjs.map +1 -0
  114. package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs +37 -0
  115. package/es/DatePicker/core/PickerInput/hooks/useDelayState.mjs.map +1 -0
  116. package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs +18 -0
  117. package/es/DatePicker/core/PickerInput/hooks/useDisabledBoundary.mjs.map +1 -0
  118. package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs +20 -0
  119. package/es/DatePicker/core/PickerInput/hooks/useFieldFormat.mjs.map +1 -0
  120. package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs +31 -0
  121. package/es/DatePicker/core/PickerInput/hooks/useFieldsInvalidate.mjs.map +1 -0
  122. package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs +98 -0
  123. package/es/DatePicker/core/PickerInput/hooks/useFilledProps.mjs.map +1 -0
  124. package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs +41 -0
  125. package/es/DatePicker/core/PickerInput/hooks/useFocusEvents.mjs.map +1 -0
  126. package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs +34 -0
  127. package/es/DatePicker/core/PickerInput/hooks/useFocusLock.mjs.map +1 -0
  128. package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs +35 -0
  129. package/es/DatePicker/core/PickerInput/hooks/useHoverStore.mjs.map +1 -0
  130. package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs +9 -0
  131. package/es/DatePicker/core/PickerInput/hooks/useInputReadOnly.mjs.map +1 -0
  132. package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs +36 -0
  133. package/es/DatePicker/core/PickerInput/hooks/useInvalidate.mjs.map +1 -0
  134. package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs +27 -0
  135. package/es/DatePicker/core/PickerInput/hooks/useLockEffect.mjs.map +1 -0
  136. package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs +18 -0
  137. package/es/DatePicker/core/PickerInput/hooks/useOpen.mjs.map +1 -0
  138. package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs +19 -0
  139. package/es/DatePicker/core/PickerInput/hooks/usePickerRef.mjs.map +1 -0
  140. package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs +20 -0
  141. package/es/DatePicker/core/PickerInput/hooks/usePresets.mjs.map +1 -0
  142. package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs +24 -0
  143. package/es/DatePicker/core/PickerInput/hooks/useRangeDisabledDate.mjs.map +1 -0
  144. package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs +107 -0
  145. package/es/DatePicker/core/PickerInput/hooks/useRangePickerValue.mjs.map +1 -0
  146. package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs +144 -0
  147. package/es/DatePicker/core/PickerInput/hooks/useRangeValue.mjs.map +1 -0
  148. package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs +219 -0
  149. package/es/DatePicker/core/PickerInput/hooks/useRangeValueChange.mjs.map +1 -0
  150. package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs +11 -0
  151. package/es/DatePicker/core/PickerInput/hooks/useShowNow.mjs.map +1 -0
  152. package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs +131 -0
  153. package/es/DatePicker/core/PickerPanel/DatePanel/index.mjs.map +1 -0
  154. package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs +35 -0
  155. package/es/DatePicker/core/PickerPanel/DateTimePanel/index.mjs.map +1 -0
  156. package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs +84 -0
  157. package/es/DatePicker/core/PickerPanel/DecadePanel/index.mjs.map +1 -0
  158. package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs +73 -0
  159. package/es/DatePicker/core/PickerPanel/MonthPanel/index.mjs.map +1 -0
  160. package/es/DatePicker/core/PickerPanel/PanelBody.mjs +95 -0
  161. package/es/DatePicker/core/PickerPanel/PanelBody.mjs.map +1 -0
  162. package/es/DatePicker/core/PickerPanel/PanelHeader.mjs +130 -0
  163. package/es/DatePicker/core/PickerPanel/PanelHeader.mjs.map +1 -0
  164. package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs +64 -0
  165. package/es/DatePicker/core/PickerPanel/QuarterPanel/index.mjs.map +1 -0
  166. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs +108 -0
  167. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/ClockDial.mjs.map +1 -0
  168. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs +44 -0
  169. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/geometry.mjs.map +1 -0
  170. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs +157 -0
  171. package/es/DatePicker/core/PickerPanel/TimePanel/TimeClock/index.mjs.map +1 -0
  172. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs +100 -0
  173. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/TimeColumn.mjs.map +1 -0
  174. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs +71 -0
  175. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/index.mjs.map +1 -0
  176. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs +62 -0
  177. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useScrollTo.mjs.map +1 -0
  178. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs +200 -0
  179. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/useTimeState.mjs.map +1 -0
  180. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs +25 -0
  181. package/es/DatePicker/core/PickerPanel/TimePanel/TimePanelBody/util.mjs.map +1 -0
  182. package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs +31 -0
  183. package/es/DatePicker/core/PickerPanel/TimePanel/index.mjs.map +1 -0
  184. package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs +34 -0
  185. package/es/DatePicker/core/PickerPanel/WeekPanel/index.mjs.map +1 -0
  186. package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs +92 -0
  187. package/es/DatePicker/core/PickerPanel/YearPanel/index.mjs.map +1 -0
  188. package/es/DatePicker/core/PickerPanel/context.mjs +48 -0
  189. package/es/DatePicker/core/PickerPanel/context.mjs.map +1 -0
  190. package/es/DatePicker/core/PickerPanel/index.d.mts +1 -0
  191. package/es/DatePicker/core/PickerPanel/index.mjs +175 -0
  192. package/es/DatePicker/core/PickerPanel/index.mjs.map +1 -0
  193. package/es/DatePicker/core/PickerPopup.mjs +118 -0
  194. package/es/DatePicker/core/PickerPopup.mjs.map +1 -0
  195. package/es/DatePicker/core/generate/dayjs.mjs +109 -0
  196. package/es/DatePicker/core/generate/dayjs.mjs.map +1 -0
  197. package/es/DatePicker/core/generate/index.d.mts +40 -0
  198. package/es/DatePicker/core/hooks/react.mjs +58 -0
  199. package/es/DatePicker/core/hooks/react.mjs.map +1 -0
  200. package/es/DatePicker/core/hooks/useLocale.mjs +51 -0
  201. package/es/DatePicker/core/hooks/useLocale.mjs.map +1 -0
  202. package/es/DatePicker/core/hooks/useSemantic.mjs +20 -0
  203. package/es/DatePicker/core/hooks/useSemantic.mjs.map +1 -0
  204. package/es/DatePicker/core/hooks/useSyncState.mjs +25 -0
  205. package/es/DatePicker/core/hooks/useSyncState.mjs.map +1 -0
  206. package/es/DatePicker/core/hooks/useTimeConfig.mjs +173 -0
  207. package/es/DatePicker/core/hooks/useTimeConfig.mjs.map +1 -0
  208. package/es/DatePicker/core/hooks/useTimeInfo.mjs +110 -0
  209. package/es/DatePicker/core/hooks/useTimeInfo.mjs.map +1 -0
  210. package/es/DatePicker/core/hooks/useToggleDates.mjs +21 -0
  211. package/es/DatePicker/core/hooks/useToggleDates.mjs.map +1 -0
  212. package/es/DatePicker/core/index.d.mts +5 -0
  213. package/es/DatePicker/core/index.mjs +9 -0
  214. package/es/DatePicker/core/index.mjs.map +1 -0
  215. package/es/DatePicker/core/interface.d.mts +325 -0
  216. package/es/DatePicker/core/locale/common.mjs +11 -0
  217. package/es/DatePicker/core/locale/common.mjs.map +1 -0
  218. package/es/DatePicker/core/locale/en_US.mjs +39 -0
  219. package/es/DatePicker/core/locale/en_US.mjs.map +1 -0
  220. package/es/DatePicker/core/utils/common.mjs +73 -0
  221. package/es/DatePicker/core/utils/common.mjs.map +1 -0
  222. package/es/DatePicker/core/utils/dateUtil.mjs +106 -0
  223. package/es/DatePicker/core/utils/dateUtil.mjs.map +1 -0
  224. package/es/DatePicker/core/utils/miscUtil.mjs +46 -0
  225. package/es/DatePicker/core/utils/miscUtil.mjs.map +1 -0
  226. package/es/DatePicker/core/utils/uiUtil.mjs +9 -0
  227. package/es/DatePicker/core/utils/uiUtil.mjs.map +1 -0
  228. package/es/DatePicker/generateConfig.mjs +12 -0
  229. package/es/DatePicker/generateConfig.mjs.map +1 -0
  230. package/es/DatePicker/generatePicker.d.mts +12 -0
  231. package/es/DatePicker/generatePicker.mjs +22 -0
  232. package/es/DatePicker/generatePicker.mjs.map +1 -0
  233. package/es/DatePicker/index.d.mts +6 -3
  234. package/es/DatePicker/index.mjs +3 -1
  235. package/es/DatePicker/locale.d.mts +15 -0
  236. package/es/DatePicker/locale.mjs +143 -0
  237. package/es/DatePicker/locale.mjs.map +1 -0
  238. package/es/DatePicker/semantic.mjs +29 -0
  239. package/es/DatePicker/semantic.mjs.map +1 -0
  240. package/es/DatePicker/style.mjs +3 -155
  241. package/es/DatePicker/style.mjs.map +1 -1
  242. package/es/DatePicker/type.d.mts +268 -27
  243. package/es/DatePicker/usePanelKeyboard.mjs +230 -0
  244. package/es/DatePicker/usePanelKeyboard.mjs.map +1 -0
  245. package/es/DatePicker/usePickerShared.mjs +106 -0
  246. package/es/DatePicker/usePickerShared.mjs.map +1 -0
  247. package/es/DatePicker/usePresetActive.mjs +48 -0
  248. package/es/DatePicker/usePresetActive.mjs.map +1 -0
  249. package/es/DraggablePanel/atoms.mjs +5 -5
  250. package/es/DraggablePanel/atoms.mjs.map +1 -1
  251. package/es/DraggableSideNav/DraggableSideNav.mjs +3 -3
  252. package/es/DraggableSideNav/DraggableSideNav.mjs.map +1 -1
  253. package/es/Drawer/Drawer.mjs +2 -2
  254. package/es/Drawer/Drawer.mjs.map +1 -1
  255. package/es/Drawer/atoms.mjs +6 -6
  256. package/es/Drawer/atoms.mjs.map +1 -1
  257. package/es/DropdownMenu/atoms.mjs +22 -22
  258. package/es/DropdownMenu/atoms.mjs.map +1 -1
  259. package/es/DropdownMenu/sharedStyle.mjs +2 -2
  260. package/es/DropdownMenu/sharedStyle.mjs.map +1 -1
  261. package/es/EditableText/EditableText.mjs +1 -1
  262. package/es/EditorSlashMenu/atoms.mjs +12 -12
  263. package/es/EditorSlashMenu/atoms.mjs.map +1 -1
  264. package/es/EmojiPicker/EmojiPicker.mjs +7 -7
  265. package/es/EmojiPicker/EmojiPicker.mjs.map +1 -1
  266. package/es/EmojiPicker/loadEmojiData.mjs +6 -0
  267. package/es/EmojiPicker/loadEmojiData.mjs.map +1 -0
  268. package/es/FloatingPanel/FloatingPanel.mjs +2 -2
  269. package/es/FloatingPanel/FloatingPanel.mjs.map +1 -1
  270. package/es/FormKit/List.mjs +2 -2
  271. package/es/FormKit/List.mjs.map +1 -1
  272. package/es/Highlighter/FullFeatured.mjs +2 -2
  273. package/es/Highlighter/FullFeatured.mjs.map +1 -1
  274. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs +2 -2
  275. package/es/Highlighter/SyntaxHighlighter/StreamRenderer.mjs.map +1 -1
  276. package/es/Highlighter/SyntaxHighlighter/index.mjs +4 -4
  277. package/es/Highlighter/SyntaxHighlighter/index.mjs.map +1 -1
  278. package/es/Highlighter/style.mjs +2 -2
  279. package/es/Highlighter/style.mjs.map +1 -1
  280. package/es/HtmlPreview/HtmlPreview.mjs +2 -2
  281. package/es/HtmlPreview/HtmlPreview.mjs.map +1 -1
  282. package/es/Icon/Icon.mjs +2 -2
  283. package/es/Icon/Icon.mjs.map +1 -1
  284. package/es/List/ListRow.mjs +3 -3
  285. package/es/List/ListRow.mjs.map +1 -1
  286. package/es/Markdown/Markdown.mjs +2 -2
  287. package/es/Markdown/Markdown.mjs.map +1 -1
  288. package/es/Markdown/Typography.mjs +2 -2
  289. package/es/Markdown/Typography.mjs.map +1 -1
  290. package/es/Mermaid/FullFeatured.mjs +2 -2
  291. package/es/Mermaid/FullFeatured.mjs.map +1 -1
  292. package/es/Mermaid/SyntaxMermaid/index.mjs +4 -4
  293. package/es/Mermaid/SyntaxMermaid/index.mjs.map +1 -1
  294. package/es/Modal/atoms.mjs +6 -6
  295. package/es/Modal/atoms.mjs.map +1 -1
  296. package/es/Pagination/Pagination.mjs +181 -41
  297. package/es/Pagination/Pagination.mjs.map +1 -1
  298. package/es/Pagination/helpers.mjs +3 -3
  299. package/es/Pagination/helpers.mjs.map +1 -1
  300. package/es/Pagination/index.d.mts +2 -2
  301. package/es/Pagination/marker.stylex.mjs +9 -0
  302. package/es/Pagination/marker.stylex.mjs.map +1 -0
  303. package/es/Pagination/style.mjs +74 -4
  304. package/es/Pagination/style.mjs.map +1 -1
  305. package/es/Pagination/type.d.mts +41 -3
  306. package/es/Popover/PopoverInGroup.mjs +2 -2
  307. package/es/Popover/PopoverInGroup.mjs.map +1 -1
  308. package/es/Popover/atoms.mjs +6 -6
  309. package/es/Popover/atoms.mjs.map +1 -1
  310. package/es/ProTable/ProTable.d.mts +11 -0
  311. package/es/ProTable/ProTable.mjs +208 -0
  312. package/es/ProTable/ProTable.mjs.map +1 -0
  313. package/es/ProTable/hooks/useColumnRequest.mjs +55 -0
  314. package/es/ProTable/hooks/useColumnRequest.mjs.map +1 -0
  315. package/es/ProTable/hooks/useColumnsState.mjs +37 -0
  316. package/es/ProTable/hooks/useColumnsState.mjs.map +1 -0
  317. package/es/ProTable/hooks/useDelayedFlag.mjs +18 -0
  318. package/es/ProTable/hooks/useDelayedFlag.mjs.map +1 -0
  319. package/es/ProTable/hooks/useDensity.mjs +15 -0
  320. package/es/ProTable/hooks/useDensity.mjs.map +1 -0
  321. package/es/ProTable/hooks/useFetchData.mjs +97 -0
  322. package/es/ProTable/hooks/useFetchData.mjs.map +1 -0
  323. package/es/ProTable/hooks/useFullscreen.mjs +22 -0
  324. package/es/ProTable/hooks/useFullscreen.mjs.map +1 -0
  325. package/es/ProTable/hooks/usePageInfo.mjs +35 -0
  326. package/es/ProTable/hooks/usePageInfo.mjs.map +1 -0
  327. package/es/ProTable/hooks/useProColumns.mjs +123 -0
  328. package/es/ProTable/hooks/useProColumns.mjs.map +1 -0
  329. package/es/ProTable/hooks/useProLoading.mjs +19 -0
  330. package/es/ProTable/hooks/useProLoading.mjs.map +1 -0
  331. package/es/ProTable/hooks/useProLocale.mjs +22 -0
  332. package/es/ProTable/hooks/useProLocale.mjs.map +1 -0
  333. package/es/ProTable/hooks/useProRequest.mjs +137 -0
  334. package/es/ProTable/hooks/useProRequest.mjs.map +1 -0
  335. package/es/ProTable/hooks/useRowCache.mjs +11 -0
  336. package/es/ProTable/hooks/useRowCache.mjs.map +1 -0
  337. package/es/ProTable/hooks/useSearchForm.mjs +141 -0
  338. package/es/ProTable/hooks/useSearchForm.mjs.map +1 -0
  339. package/es/ProTable/hooks/useTableBindings.mjs +39 -0
  340. package/es/ProTable/hooks/useTableBindings.mjs.map +1 -0
  341. package/es/ProTable/hooks/useTableSelection.mjs +14 -0
  342. package/es/ProTable/hooks/useTableSelection.mjs.map +1 -0
  343. package/es/ProTable/index.d.mts +4 -0
  344. package/es/ProTable/index.d.ts +1 -0
  345. package/es/ProTable/index.js +1 -0
  346. package/es/ProTable/index.mjs +3 -0
  347. package/es/ProTable/locale.d.mts +15 -0
  348. package/es/ProTable/locale.mjs +66 -0
  349. package/es/ProTable/locale.mjs.map +1 -0
  350. package/es/ProTable/parts/ColumnSetting.mjs +155 -0
  351. package/es/ProTable/parts/ColumnSetting.mjs.map +1 -0
  352. package/es/ProTable/parts/FieldControl.mjs +117 -0
  353. package/es/ProTable/parts/FieldControl.mjs.map +1 -0
  354. package/es/ProTable/parts/KeywordInput.mjs +19 -0
  355. package/es/ProTable/parts/KeywordInput.mjs.map +1 -0
  356. package/es/ProTable/parts/LightFilter.mjs +70 -0
  357. package/es/ProTable/parts/LightFilter.mjs.map +1 -0
  358. package/es/ProTable/parts/OptionPopover.mjs +17 -0
  359. package/es/ProTable/parts/OptionPopover.mjs.map +1 -0
  360. package/es/ProTable/parts/SearchForm.mjs +180 -0
  361. package/es/ProTable/parts/SearchForm.mjs.map +1 -0
  362. package/es/ProTable/parts/SearchSection.mjs +33 -0
  363. package/es/ProTable/parts/SearchSection.mjs.map +1 -0
  364. package/es/ProTable/parts/TableAlert.mjs +38 -0
  365. package/es/ProTable/parts/TableAlert.mjs.map +1 -0
  366. package/es/ProTable/parts/Toolbar.mjs +50 -0
  367. package/es/ProTable/parts/Toolbar.mjs.map +1 -0
  368. package/es/ProTable/parts/ToolbarOptions.mjs +103 -0
  369. package/es/ProTable/parts/ToolbarOptions.mjs.map +1 -0
  370. package/es/ProTable/parts/renderValue.mjs +118 -0
  371. package/es/ProTable/parts/renderValue.mjs.map +1 -0
  372. package/es/ProTable/style.mjs +278 -0
  373. package/es/ProTable/style.mjs.map +1 -0
  374. package/es/ProTable/type.d.mts +397 -0
  375. package/es/ProTable/utils.mjs +152 -0
  376. package/es/ProTable/utils.mjs.map +1 -0
  377. package/es/Radio/Radio.mjs +3 -3
  378. package/es/Radio/Radio.mjs.map +1 -1
  379. package/es/ScrollArea/atoms.mjs +4 -4
  380. package/es/ScrollArea/atoms.mjs.map +1 -1
  381. package/es/Segmented/Segmented.mjs +3 -3
  382. package/es/Segmented/Segmented.mjs.map +1 -1
  383. package/es/Segmented/atoms.mjs +2 -2
  384. package/es/Segmented/atoms.mjs.map +1 -1
  385. package/es/Select/Select.mjs +22 -13
  386. package/es/Select/Select.mjs.map +1 -1
  387. package/es/Select/atoms.mjs +4 -4
  388. package/es/Select/atoms.mjs.map +1 -1
  389. package/es/Select/helpers.mjs +8 -1
  390. package/es/Select/helpers.mjs.map +1 -1
  391. package/es/Select/hooks.mjs +8 -4
  392. package/es/Select/hooks.mjs.map +1 -1
  393. package/es/Select/renderOptions.mjs +2 -2
  394. package/es/Select/renderOptions.mjs.map +1 -1
  395. package/es/Select/type.d.mts +7 -0
  396. package/es/Switch/Switch.mjs +2 -2
  397. package/es/Switch/Switch.mjs.map +1 -1
  398. package/es/Switch/atoms.mjs +2 -2
  399. package/es/Switch/atoms.mjs.map +1 -1
  400. package/es/Table/Column.d.mts +8 -0
  401. package/es/Table/Column.mjs +6 -0
  402. package/es/Table/Column.mjs.map +1 -0
  403. package/es/Table/ColumnGroup.d.mts +11 -0
  404. package/es/Table/ColumnGroup.mjs +6 -0
  405. package/es/Table/ColumnGroup.mjs.map +1 -0
  406. package/es/Table/Table.d.mts +16 -2
  407. package/es/Table/Table.mjs +149 -118
  408. package/es/Table/Table.mjs.map +1 -1
  409. package/es/Table/atoms/cells.d.mts +42 -0
  410. package/es/Table/atoms/cells.mjs +72 -0
  411. package/es/Table/atoms/cells.mjs.map +1 -0
  412. package/es/Table/atoms/index.d.mts +3 -0
  413. package/es/Table/atoms/layout.d.mts +44 -0
  414. package/es/Table/atoms/layout.mjs +62 -0
  415. package/es/Table/atoms/layout.mjs.map +1 -0
  416. package/es/Table/constants.mjs +16 -0
  417. package/es/Table/constants.mjs.map +1 -0
  418. package/es/Table/engine/fixed.d.mts +1 -0
  419. package/es/Table/engine/fixed.mjs +53 -0
  420. package/es/Table/engine/fixed.mjs.map +1 -0
  421. package/es/Table/engine/types.d.mts +1 -0
  422. package/es/Table/engine/useTableEngine.mjs +180 -0
  423. package/es/Table/engine/useTableEngine.mjs.map +1 -0
  424. package/es/Table/index.d.mts +7 -2
  425. package/es/Table/index.mjs +4 -1
  426. package/es/Table/internal.d.mts +3 -0
  427. package/es/Table/pipeline/columnUtils.d.mts +5 -0
  428. package/es/Table/pipeline/columnUtils.mjs +58 -0
  429. package/es/Table/pipeline/columnUtils.mjs.map +1 -0
  430. package/es/Table/pipeline/convertChildrenToColumns.mjs +24 -0
  431. package/es/Table/pipeline/convertChildrenToColumns.mjs.map +1 -0
  432. package/es/Table/pipeline/normalizeColumns.mjs +140 -0
  433. package/es/Table/pipeline/normalizeColumns.mjs.map +1 -0
  434. package/es/Table/pipeline/selectionUtils.d.mts +9 -0
  435. package/es/Table/pipeline/selectionUtils.mjs +115 -0
  436. package/es/Table/pipeline/selectionUtils.mjs.map +1 -0
  437. package/es/Table/pipeline/useBreakpoint.mjs +36 -0
  438. package/es/Table/pipeline/useBreakpoint.mjs.map +1 -0
  439. package/es/Table/pipeline/useExpandable.mjs +45 -0
  440. package/es/Table/pipeline/useExpandable.mjs.map +1 -0
  441. package/es/Table/pipeline/useFilter.mjs +52 -0
  442. package/es/Table/pipeline/useFilter.mjs.map +1 -0
  443. package/es/Table/pipeline/useSelection.mjs +302 -0
  444. package/es/Table/pipeline/useSelection.mjs.map +1 -0
  445. package/es/Table/pipeline/useSorter.mjs +146 -0
  446. package/es/Table/pipeline/useSorter.mjs.map +1 -0
  447. package/es/Table/pipeline/useTableLocale.mjs +30 -0
  448. package/es/Table/pipeline/useTableLocale.mjs.map +1 -0
  449. package/es/Table/pipeline/useTableState.mjs +118 -0
  450. package/es/Table/pipeline/useTableState.mjs.map +1 -0
  451. package/es/Table/pipeline/useVirtualLayout.mjs +80 -0
  452. package/es/Table/pipeline/useVirtualLayout.mjs.map +1 -0
  453. package/es/Table/render/Body.mjs +150 -0
  454. package/es/Table/render/Body.mjs.map +1 -0
  455. package/es/Table/render/BodyCell.mjs +87 -0
  456. package/es/Table/render/BodyCell.mjs.map +1 -0
  457. package/es/Table/render/CellShell.mjs +84 -0
  458. package/es/Table/render/CellShell.mjs.map +1 -0
  459. package/es/Table/render/ExpandIcon.mjs +28 -0
  460. package/es/Table/render/ExpandIcon.mjs.map +1 -0
  461. package/es/Table/render/FilterDropdown.mjs +139 -0
  462. package/es/Table/render/FilterDropdown.mjs.map +1 -0
  463. package/es/Table/render/FilterPanel.mjs +152 -0
  464. package/es/Table/render/FilterPanel.mjs.map +1 -0
  465. package/es/Table/render/FixedFrost.mjs +113 -0
  466. package/es/Table/render/FixedFrost.mjs.map +1 -0
  467. package/es/Table/render/FixedHolder.mjs +51 -0
  468. package/es/Table/render/FixedHolder.mjs.map +1 -0
  469. package/es/Table/render/Header.mjs +184 -0
  470. package/es/Table/render/Header.mjs.map +1 -0
  471. package/es/Table/render/LoadingSkeleton.mjs +78 -0
  472. package/es/Table/render/LoadingSkeleton.mjs.map +1 -0
  473. package/es/Table/render/PaginationBar.mjs +71 -0
  474. package/es/Table/render/PaginationBar.mjs.map +1 -0
  475. package/es/Table/render/SelectionCells.mjs +111 -0
  476. package/es/Table/render/SelectionCells.mjs.map +1 -0
  477. package/es/Table/render/StickyScrollBar.mjs +99 -0
  478. package/es/Table/render/StickyScrollBar.mjs.map +1 -0
  479. package/es/Table/render/Summary.d.mts +16 -0
  480. package/es/Table/render/Summary.mjs +58 -0
  481. package/es/Table/render/Summary.mjs.map +1 -0
  482. package/es/Table/render/TableView.mjs +215 -0
  483. package/es/Table/render/TableView.mjs.map +1 -0
  484. package/es/Table/render/VirtualBody.mjs +101 -0
  485. package/es/Table/render/VirtualBody.mjs.map +1 -0
  486. package/es/Table/render/context.mjs +15 -0
  487. package/es/Table/render/context.mjs.map +1 -0
  488. package/es/Table/render/filterUtils.mjs +22 -0
  489. package/es/Table/render/filterUtils.mjs.map +1 -0
  490. package/es/Table/render/tableHelpers.mjs +27 -0
  491. package/es/Table/render/tableHelpers.mjs.map +1 -0
  492. package/es/Table/render/useColGroups.mjs +23 -0
  493. package/es/Table/render/useColGroups.mjs.map +1 -0
  494. package/es/Table/render/useScrollSync.mjs +104 -0
  495. package/es/Table/render/useScrollSync.mjs.map +1 -0
  496. package/es/Table/render/useViewContexts.mjs +134 -0
  497. package/es/Table/render/useViewContexts.mjs.map +1 -0
  498. package/es/Table/semantic.mjs +45 -0
  499. package/es/Table/semantic.mjs.map +1 -0
  500. package/es/Table/store/createTableStore.d.mts +1 -0
  501. package/es/Table/store/createTableStore.mjs +40 -0
  502. package/es/Table/store/createTableStore.mjs.map +1 -0
  503. package/es/Table/store/hooks.mjs +24 -0
  504. package/es/Table/store/hooks.mjs.map +1 -0
  505. package/es/Table/style.mjs +175 -90
  506. package/es/Table/style.mjs.map +1 -1
  507. package/es/Table/type.d.mts +467 -37
  508. package/es/Table/useTableController.mjs +293 -0
  509. package/es/Table/useTableController.mjs.map +1 -0
  510. package/es/Tabs/Tabs.mjs +2 -2
  511. package/es/Tabs/Tabs.mjs.map +1 -1
  512. package/es/Tabs/atoms.mjs +2 -2
  513. package/es/Tabs/atoms.mjs.map +1 -1
  514. package/es/Tabs/style.d.mts +1 -1
  515. package/es/Tag/Tag.mjs +2 -2
  516. package/es/Tag/Tag.mjs.map +1 -1
  517. package/es/Text/Text.mjs +2 -2
  518. package/es/Text/Text.mjs.map +1 -1
  519. package/es/Text/style.d.mts +3 -3
  520. package/es/Text/style.mjs +3 -3
  521. package/es/Text/style.mjs.map +1 -1
  522. package/es/ToggleGroup/ToggleGroup.mjs +3 -3
  523. package/es/ToggleGroup/ToggleGroup.mjs.map +1 -1
  524. package/es/ToggleGroup/atoms.mjs +2 -2
  525. package/es/ToggleGroup/atoms.mjs.map +1 -1
  526. package/es/Tooltip/TooltipGroup.mjs +3 -3
  527. package/es/Tooltip/TooltipGroup.mjs.map +1 -1
  528. package/es/Tooltip/TooltipStandalone.mjs +3 -3
  529. package/es/Tooltip/TooltipStandalone.mjs.map +1 -1
  530. package/es/Tree/Tree.mjs +2 -2
  531. package/es/Tree/Tree.mjs.map +1 -1
  532. package/es/Tree/TreeNode.mjs +2 -2
  533. package/es/Tree/TreeNode.mjs.map +1 -1
  534. package/es/Video/Video.mjs +2 -2
  535. package/es/Video/Video.mjs.map +1 -1
  536. package/es/awesome/Features/FeatureItem.mjs +2 -2
  537. package/es/awesome/Features/FeatureItem.mjs.map +1 -1
  538. package/es/awesome/Hero/Hero.mjs +3 -3
  539. package/es/awesome/Hero/Hero.mjs.map +1 -1
  540. package/es/awesome/InstallBanner/InstallBanner.mjs +2 -2
  541. package/es/awesome/InstallBanner/InstallBanner.mjs.map +1 -1
  542. package/es/awesome/LandingHero/LandingHero.mjs +3 -3
  543. package/es/awesome/LandingHero/LandingHero.mjs.map +1 -1
  544. package/es/awesome/LogoMarquee/LogoMarquee.mjs +2 -2
  545. package/es/awesome/LogoMarquee/LogoMarquee.mjs.map +1 -1
  546. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs +4 -4
  547. package/es/awesome/TypewriterEffect/TypewriterEffect.mjs.map +1 -1
  548. package/es/awesome/landingActions.mjs +2 -2
  549. package/es/awesome/landingActions.mjs.map +1 -1
  550. package/es/chat/ChatItem/ChatItem.mjs +2 -2
  551. package/es/chat/ChatItem/ChatItem.mjs.map +1 -1
  552. package/es/chat/EditableMessage/EditableMessage.mjs +3 -3
  553. package/es/chat/EditableMessage/EditableMessage.mjs.map +1 -1
  554. package/es/chat/EditableMessageList/EditableMessageList.mjs +1 -1
  555. package/es/chat/MessageInput/MessageInput.mjs +3 -3
  556. package/es/chat/MessageInput/MessageInput.mjs.map +1 -1
  557. package/es/dashboard/AuthLayout/AuthLayout.mjs +8 -4
  558. package/es/dashboard/AuthLayout/AuthLayout.mjs.map +1 -1
  559. package/es/dashboard/AuthLayout/style.mjs +14 -3
  560. package/es/dashboard/AuthLayout/style.mjs.map +1 -1
  561. package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs +2 -2
  562. package/es/dashboard/AuthTools/AuthLocaleSwitch.mjs.map +1 -1
  563. package/es/dashboard/AuthTools/AuthThemeSwitch.mjs +2 -2
  564. package/es/dashboard/AuthTools/AuthThemeSwitch.mjs.map +1 -1
  565. package/es/dashboard/ConsoleNav/ConsoleNav.mjs +3 -3
  566. package/es/dashboard/ConsoleNav/ConsoleNav.mjs.map +1 -1
  567. package/es/dashboard/ConsoleNav/style.mjs +2 -2
  568. package/es/dashboard/ConsoleNav/style.mjs.map +1 -1
  569. package/es/dashboard/ConsoleShell/style.mjs +1 -1
  570. package/es/dashboard/ConsoleShell/style.mjs.map +1 -1
  571. package/es/dashboard/FilterSidebar/FilterSidebar.mjs +1 -1
  572. package/es/dashboard/FilterSidebar/style.mjs +2 -2
  573. package/es/dashboard/FilterSidebar/style.mjs.map +1 -1
  574. package/es/dashboard/FilterStrip/style.mjs +1 -1
  575. package/es/dashboard/FilterStrip/style.mjs.map +1 -1
  576. package/es/dashboard/MetricStrip/MetricCell.mjs +25 -14
  577. package/es/dashboard/MetricStrip/MetricCell.mjs.map +1 -1
  578. package/es/dashboard/MetricStrip/style.mjs +14 -1
  579. package/es/dashboard/MetricStrip/style.mjs.map +1 -1
  580. package/es/dashboard/MetricStrip/type.d.mts +2 -0
  581. package/es/dashboard/PageSkeleton/style.mjs +2 -1
  582. package/es/dashboard/PageSkeleton/style.mjs.map +1 -1
  583. package/es/dashboard/StatCard/StatCard.d.mts +1 -1
  584. package/es/dashboard/StatCard/StatCard.mjs +2 -1
  585. package/es/dashboard/StatCard/StatCard.mjs.map +1 -1
  586. package/es/dashboard/StatCard/type.d.mts +2 -0
  587. package/es/dashboard/Surface/Surface.mjs +3 -4
  588. package/es/dashboard/Surface/Surface.mjs.map +1 -1
  589. package/es/dashboard/Surface/link.mjs +1 -1
  590. package/es/dashboard/Surface/link.mjs.map +1 -1
  591. package/es/dashboard/Surface/style.mjs +15 -14
  592. package/es/dashboard/Surface/style.mjs.map +1 -1
  593. package/es/dashboard/index.mjs +2 -2
  594. package/es/eslint/noBaseUiSubpath.mjs +2 -1
  595. package/es/eslint/noBaseUiSubpath.mjs.map +1 -1
  596. package/es/i18n/resources/en/colorPicker.d.mts +5 -0
  597. package/es/i18n/resources/en/colorPicker.mjs +5 -0
  598. package/es/i18n/resources/en/colorPicker.mjs.map +1 -1
  599. package/es/i18n/resources/en/datePicker.d.mts +54 -0
  600. package/es/i18n/resources/en/datePicker.mjs +55 -1
  601. package/es/i18n/resources/en/datePicker.mjs.map +1 -1
  602. package/es/i18n/resources/en/index.d.mts +4 -3
  603. package/es/i18n/resources/en/index.mjs +3 -1
  604. package/es/i18n/resources/en/index.mjs.map +1 -1
  605. package/es/i18n/resources/en/table.d.mts +23 -0
  606. package/es/i18n/resources/en/table.mjs +24 -0
  607. package/es/i18n/resources/en/table.mjs.map +1 -0
  608. package/es/i18n/resources/zhCn/colorPicker.d.mts +5 -0
  609. package/es/i18n/resources/zhCn/colorPicker.mjs +5 -0
  610. package/es/i18n/resources/zhCn/colorPicker.mjs.map +1 -1
  611. package/es/i18n/resources/zhCn/datePicker.d.mts +54 -0
  612. package/es/i18n/resources/zhCn/datePicker.mjs +55 -1
  613. package/es/i18n/resources/zhCn/datePicker.mjs.map +1 -1
  614. package/es/i18n/resources/zhCn/index.d.mts +4 -3
  615. package/es/i18n/resources/zhCn/index.mjs +4 -2
  616. package/es/i18n/resources/zhCn/index.mjs.map +1 -1
  617. package/es/i18n/resources/zhCn/table.d.mts +23 -0
  618. package/es/i18n/resources/zhCn/table.mjs +24 -0
  619. package/es/i18n/resources/zhCn/table.mjs.map +1 -0
  620. package/es/i18n/types.d.mts +3 -2
  621. package/es/index.d.mts +15 -7
  622. package/es/index.mjs +14 -9
  623. package/es/internal/overflow/OverflowList.mjs +71 -0
  624. package/es/internal/overflow/OverflowList.mjs.map +1 -0
  625. package/es/mdx/Callout/index.mjs +2 -2
  626. package/es/mdx/Callout/index.mjs.map +1 -1
  627. package/es/mdx/Cards/Card.mjs +2 -2
  628. package/es/mdx/Cards/Card.mjs.map +1 -1
  629. package/es/mdx/Cards/index.mjs +2 -2
  630. package/es/mdx/Cards/index.mjs.map +1 -1
  631. package/es/mdx/Mdx/index.mjs +2 -2
  632. package/es/mdx/Mdx/index.mjs.map +1 -1
  633. package/es/mdx/Steps/index.mjs +2 -2
  634. package/es/mdx/Steps/index.mjs.map +1 -1
  635. package/es/mdx/mdxComponents/Pre.mjs +5 -5
  636. package/es/mdx/mdxComponents/Pre.mjs.map +1 -1
  637. package/es/storybook/StoryBook/style.mjs +2 -0
  638. package/es/storybook/StoryBook/style.mjs.map +1 -1
  639. package/es/style.css +2966 -957
  640. package/es/styles/createGlobalStyle.mjs +1 -1
  641. package/es/styles/index.d.mts +3 -2
  642. package/es/styles/index.mjs +5 -4
  643. package/es/styles/stylex/props.mjs +2 -2
  644. package/es/styles/stylex/props.mjs.map +1 -1
  645. package/es/styles/theme/createLobeToken.d.mts +3 -2
  646. package/es/styles/theme/createLobeToken.mjs.map +1 -1
  647. package/es/styles/theme/customPrimary.d.mts +7 -0
  648. package/es/styles/theme/customPrimary.mjs +66 -0
  649. package/es/styles/theme/customPrimary.mjs.map +1 -0
  650. package/es/styles/theme/scope.d.mts +4 -3
  651. package/es/styles/theme/scope.mjs +30 -8
  652. package/es/styles/theme/scope.mjs.map +1 -1
  653. package/es/styles/theme/themeCss.d.mts +2 -0
  654. package/es/styles/theme/themeCss.mjs +24 -2
  655. package/es/styles/theme/themeCss.mjs.map +1 -1
  656. package/es/styles/theme/token/primary.mjs +6 -2
  657. package/es/styles/theme/token/primary.mjs.map +1 -1
  658. package/es/theme.css +8 -0
  659. package/package.json +6 -1
  660. package/es/DatePicker/CalendarPanel.mjs +0 -189
  661. package/es/DatePicker/CalendarPanel.mjs.map +0 -1
  662. package/es/DatePicker/PickerShell.mjs +0 -43
  663. package/es/DatePicker/PickerShell.mjs.map +0 -1
  664. package/es/DatePicker/calendar.d.mts +0 -4
  665. package/es/DatePicker/calendar.mjs +0 -46
  666. package/es/DatePicker/calendar.mjs.map +0 -1
  667. package/es/Table/FilterMenu.mjs +0 -45
  668. package/es/Table/FilterMenu.mjs.map +0 -1
  669. package/es/Table/TableBody.mjs +0 -67
  670. package/es/Table/TableBody.mjs.map +0 -1
  671. package/es/Table/TableHead.mjs +0 -58
  672. package/es/Table/TableHead.mjs.map +0 -1
  673. package/es/Table/features.mjs +0 -12
  674. package/es/Table/features.mjs.map +0 -1
  675. package/es/Table/fixedOffsets.mjs +0 -29
  676. package/es/Table/fixedOffsets.mjs.map +0 -1
  677. package/es/Table/marker.stylex.mjs +0 -9
  678. package/es/Table/marker.stylex.mjs.map +0 -1
  679. package/es/Table/toColumnDefs.mjs +0 -26
  680. package/es/Table/toColumnDefs.mjs.map +0 -1
  681. package/es/Table/useTableState.mjs +0 -99
  682. package/es/Table/useTableState.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AuthThemeSwitch.mjs","names":[],"sources":["../../../src/dashboard/AuthTools/AuthThemeSwitch.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport { Monitor, Moon, Sun } from 'lucide-react';\n\nimport Icon from '@/Icon';\nimport Segmented from '@/Segmented';\n\nimport { styles } from './style';\nimport type { AuthThemeMode, AuthThemeSwitchProps } from './type';\n\nconst OPTIONS = [\n { icon: Moon, value: 'dark' },\n { icon: Monitor, value: 'auto' },\n { icon: Sun, value: 'light' },\n] as const;\n\nconst DEFAULT_LABELS: Record<AuthThemeMode, string> = {\n auto: 'System',\n dark: 'Dark',\n light: 'Light',\n};\n\n/** Compact icon-only theme picker for auth corner tools. Controlled; wire it to your store. */\nfunction AuthThemeSwitch({\n className,\n labels,\n onChange,\n style,\n value = 'auto',\n}: AuthThemeSwitchProps) {\n const names = { ...DEFAULT_LABELS, ...labels };\n return (\n <Segmented<AuthThemeMode>\n className={clsx('lobe-auth-theme-switch', className)}\n size=\"small\"\n style={style}\n value={value}\n variant=\"outlined\"\n classNames={{\n item: 'lobe-auth-theme-switch-item',\n itemIcon: stylex.props(styles.themeIcon).className,\n itemLabel: stylex.props(styles.themeLabel).className,\n }}\n options={OPTIONS.map((option) => ({\n icon: <Icon icon={option.icon} />,\n label: names[option.value],\n title: names[option.value],\n value: option.value,\n }))}\n onChange={(next) => onChange?.(next)}\n />\n );\n}\n\nAuthThemeSwitch.displayName = 'AuthThemeSwitch';\n\nexport default AuthThemeSwitch;\n"],"mappings":";;;;;;;;;AAUA,MAAM,UAAU;CAAC;EACf,MAAM;EACN,OAAO;CACT;CAAG;EACD,MAAM;EACN,OAAO;CACT;CAAG;EACD,MAAM;EACN,OAAO;CACT;AAAC;AACD,MAAM,iBAAgD;CACpD,MAAM;CACN,MAAM;CACN,OAAO;AACT;;AAGA,SAAS,gBAAgB,EACvB,WACA,QACA,UACA,OACA,QAAQ,UACe;CACvB,MAAM,QAAQ;EACZ,GAAG;EACH,GAAG;CACL;CACA,OAAO,oBAAC,WAAD;EAA0B,WAAW,KAAK,0BAA0B,SAAS;EAAG,MAAK;EAAe;EAAc;EAAO,SAAQ;EAAW,YAAY;GAC7J,MAAM;GACN,UAAU,OAAO,MAAM,OAAO,SAAS,CAAC,CAAC;GACzC,WAAW,OAAO,MAAM,OAAO,UAAU,CAAC,CAAC;EAC7C;EAAG,SAAS,QAAQ,KAAI,YAAW;GACjC,MAAM,oBAAC,MAAD,EAAM,MAAM,OAAO,KAAO,CAAA;GAChC,OAAO,MAAM,OAAO;GACpB,OAAO,MAAM,OAAO;GACpB,OAAO,OAAO;EAChB,EAAE;EAAG,WAAU,SAAQ,WAAW,IAAI;CAAI,CAAA;AAC5C;AACA,gBAAgB,cAAc"}
1
+ {"version":3,"file":"AuthThemeSwitch.mjs","names":["clsx"],"sources":["../../../src/dashboard/AuthTools/AuthThemeSwitch.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport { Monitor, Moon, Sun } from 'lucide-react';\n\nimport Icon from '@/Icon';\nimport Segmented from '@/Segmented';\n\nimport { styles } from './style';\nimport type { AuthThemeMode, AuthThemeSwitchProps } from './type';\n\nconst OPTIONS = [\n { icon: Moon, value: 'dark' },\n { icon: Monitor, value: 'auto' },\n { icon: Sun, value: 'light' },\n] as const;\n\nconst DEFAULT_LABELS: Record<AuthThemeMode, string> = {\n auto: 'System',\n dark: 'Dark',\n light: 'Light',\n};\n\n/** Compact icon-only theme picker for auth corner tools. Controlled; wire it to your store. */\nfunction AuthThemeSwitch({\n className,\n labels,\n onChange,\n style,\n value = 'auto',\n}: AuthThemeSwitchProps) {\n const names = { ...DEFAULT_LABELS, ...labels };\n return (\n <Segmented<AuthThemeMode>\n className={clsx('lobe-auth-theme-switch', className)}\n size=\"small\"\n style={style}\n value={value}\n variant=\"outlined\"\n classNames={{\n item: 'lobe-auth-theme-switch-item',\n itemIcon: stylex.props(styles.themeIcon).className,\n itemLabel: stylex.props(styles.themeLabel).className,\n }}\n options={OPTIONS.map((option) => ({\n icon: <Icon icon={option.icon} />,\n label: names[option.value],\n title: names[option.value],\n value: option.value,\n }))}\n onChange={(next) => onChange?.(next)}\n />\n );\n}\n\nAuthThemeSwitch.displayName = 'AuthThemeSwitch';\n\nexport default AuthThemeSwitch;\n"],"mappings":";;;;;;;;;AAUA,MAAM,UAAU;CAAC;EACf,MAAM;EACN,OAAO;CACT;CAAG;EACD,MAAM;EACN,OAAO;CACT;CAAG;EACD,MAAM;EACN,OAAO;CACT;AAAC;AACD,MAAM,iBAAgD;CACpD,MAAM;CACN,MAAM;CACN,OAAO;AACT;;AAGA,SAAS,gBAAgB,EACvB,WACA,QACA,UACA,OACA,QAAQ,UACe;CACvB,MAAM,QAAQ;EACZ,GAAG;EACH,GAAG;CACL;CACA,OAAO,oBAAC,WAAD;EAA0B,WAAWA,OAAK,0BAA0B,SAAS;EAAG,MAAK;EAAe;EAAc;EAAO,SAAQ;EAAW,YAAY;GAC7J,MAAM;GACN,UAAU,OAAO,MAAM,OAAO,SAAS,CAAC,CAAC;GACzC,WAAW,OAAO,MAAM,OAAO,UAAU,CAAC,CAAC;EAC7C;EAAG,SAAS,QAAQ,KAAI,YAAW;GACjC,MAAM,oBAAC,MAAD,EAAM,MAAM,OAAO,KAAO,CAAA;GAChC,OAAO,MAAM,OAAO;GACpB,OAAO,MAAM,OAAO;GACpB,OAAO,OAAO;EAChB,EAAE;EAAG,WAAU,SAAQ,WAAW,IAAI;CAAI,CAAA;AAC5C;AACA,gBAAgB,cAAc"}
@@ -8,7 +8,7 @@ import { useLocalStorage, usePrefersReducedMotion } from "../hooks.mjs";
8
8
  import { styles } from "./style.mjs";
9
9
  import { useCallback, useEffect, useId, useRef, useState } from "react";
10
10
  import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
11
- import clsx from "clsx";
11
+ import clsx$1 from "clsx";
12
12
  import * as stylex from "@stylexjs/stylex";
13
13
  import { ChevronDown, Play } from "lucide-react";
14
14
  //#region src/dashboard/ConsoleNav/ConsoleNav.tsx
@@ -90,7 +90,7 @@ function NavLink({ active, collapsed, context, href, icon, indent = 0, item, nam
90
90
  ...stylex.props(styles.dot, collapsed && styles.dotRail)
91
91
  }) : null
92
92
  ] }),
93
- "className": overlay ? clsx(stylex.props(styles.railLink, active && styles.railLinkActive).className, railLinkClassName) : stylex.props(styles.item, active && styles.itemActive, (indent === 1 || indent === 2) && styles.itemIndented, itemIndentStyles[indent], collapsed && indent !== 0 && styles.itemRailIndent).className ?? "",
93
+ "className": overlay ? clsx$1(stylex.props(styles.railLink, active && styles.railLinkActive).className, railLinkClassName) : stylex.props(styles.item, active && styles.itemActive, (indent === 1 || indent === 2) && styles.itemIndented, itemIndentStyles[indent], collapsed && indent !== 0 && styles.itemRailIndent).className ?? "",
94
94
  "data-active": active,
95
95
  "data-collapsed": collapsed,
96
96
  "data-indent": indent,
@@ -223,7 +223,7 @@ function ConsoleNav({ collapsed: collapsedProp, defaultExpanded = "all", groups
223
223
  "data-expanded": expanded,
224
224
  icon: ChevronDown,
225
225
  size: 14,
226
- className: clsx(headerIconClassName, stylex.props(styles.chevron, !expanded && styles.chevronFolded, collapsed && styles.railFaded).className)
226
+ className: clsx$1(headerIconClassName, stylex.props(styles.chevron, !expanded && styles.chevronFolded, collapsed && styles.railFaded).className)
227
227
  }) : /* @__PURE__ */ jsx("span", {
228
228
  "data-expanded": expanded,
229
229
  ...stylex.props(styles.indicator, expanded && styles.indicatorExpanded),
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleNav.mjs","names":[],"sources":["../../../src/dashboard/ConsoleNav/ConsoleNav.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport { ChevronDown, Play } from 'lucide-react';\nimport { type ReactNode, useCallback, useEffect, useId, useRef, useState } from 'react';\n\nimport Icon from '@/Icon';\nimport ScrollShadow from '@/ScrollShadow';\nimport Tooltip from '@/Tooltip';\n\nimport { useConsoleShellState } from '../ConsoleShell/context';\nimport { useLocalStorage, usePrefersReducedMotion } from '../hooks';\nimport { collectNavItems, findActiveBranch, resolveActiveHref } from './active';\nimport { styles } from './style';\nimport type { ConsoleNavGroup, ConsoleNavItem, ConsoleNavLinkProps, ConsoleNavProps } from './type';\n\nconst PANEL_TRANSITION_MS = 160;\nconst railLinkClassName = 'lobe-console-nav-rail-link';\n\nconst itemIndentStyles = [null, styles.itemIndent1, styles.itemIndent2];\nconst groupHeaderIndentStyles = [null, styles.groupHeaderIndent1, styles.groupHeaderIndent2];\nconst RAIL_TRANSITION_MS = 200;\n\ntype ExpandedOverrides = Record<string, boolean>;\n\n/** Older builds stored the closed group keys as an array. */\nfunction readOverrides(value: unknown): ExpandedOverrides {\n if (Array.isArray(value)) {\n return Object.fromEntries(value.map((key) => [String(key), false]));\n }\n return value && typeof value === 'object' ? (value as ExpandedOverrides) : {};\n}\n\nfunction scrollActiveIntoView(container: HTMLElement, behavior: ScrollBehavior = 'auto') {\n const link =\n container.querySelector<HTMLElement>('[aria-current=\"page\"]') ??\n [...container.querySelectorAll<HTMLElement>('button[data-active=\"true\"]')].at(-1);\n if (!link) return;\n const containerRect = container.getBoundingClientRect();\n const linkRect = link.getBoundingClientRect();\n if (linkRect.top >= containerRect.top && linkRect.bottom <= containerRect.bottom) return;\n container.scrollBy({\n behavior,\n top: linkRect.top - containerRect.top - (containerRect.height - linkRect.height) / 2,\n });\n}\n\ninterface LinkContext {\n onNavigate?: (href: string) => void;\n renderLink?: ConsoleNavProps['renderLink'];\n}\n\nfunction renderAnchor(context: LinkContext, linkProps: ConsoleNavLinkProps, onFollow: () => void) {\n if (context.renderLink) return context.renderLink(linkProps);\n return (\n <a\n aria-current={linkProps['aria-current']}\n aria-label={linkProps['aria-label']}\n className={linkProps.className}\n data-active={linkProps['data-active']}\n data-collapsed={linkProps['data-collapsed']}\n data-indent={linkProps['data-indent']}\n href={linkProps.href}\n rel={linkProps.external ? 'noreferrer' : undefined}\n target={linkProps.external ? '_blank' : undefined}\n title={linkProps.title}\n onClick={(event) => {\n if (context.onNavigate && !linkProps.external) event.preventDefault();\n onFollow();\n }}\n >\n {linkProps.children}\n </a>\n );\n}\n\nfunction NavLink({\n active,\n collapsed,\n context,\n href,\n icon,\n indent = 0,\n item,\n name,\n overlay = false,\n}: {\n active: boolean;\n collapsed: boolean;\n context: LinkContext;\n href: string;\n icon?: ConsoleNavItem['icon'];\n indent?: number;\n item?: ConsoleNavItem;\n name: string;\n overlay?: boolean;\n}) {\n const shell = useConsoleShellState();\n const label = item?.label ?? name;\n const follow = () => {\n context.onNavigate?.(href);\n shell?.closeNavigation();\n };\n const linkProps: ConsoleNavLinkProps = {\n 'aria-current': active ? 'page' : undefined,\n 'aria-label': collapsed ? name : undefined,\n 'children': overlay ? null : (\n <>\n {icon ? (\n <Icon className={stylex.props(styles.navIcon).className} icon={icon} size={18} />\n ) : null}\n <span\n {...stylex.props(\n styles.itemLabel,\n styles.railFade,\n collapsed && [styles.itemLabelRail, styles.railFaded],\n )}\n >\n {label}\n </span>\n {item?.badge ? (\n <span {...stylex.props(styles.badge, styles.railFade, collapsed && styles.railFaded)}>\n {item.badge}\n </span>\n ) : null}\n {item?.badge ? (\n <span aria-hidden {...stylex.props(styles.dot, collapsed && styles.dotRail)} />\n ) : null}\n </>\n ),\n 'className': overlay\n ? clsx(\n stylex.props(styles.railLink, active && styles.railLinkActive).className,\n railLinkClassName,\n )\n : (stylex.props(\n styles.item,\n active && styles.itemActive,\n (indent === 1 || indent === 2) && styles.itemIndented,\n itemIndentStyles[indent],\n collapsed && indent !== 0 && styles.itemRailIndent,\n ).className ?? ''),\n 'data-active': active,\n 'data-collapsed': collapsed,\n 'data-indent': indent,\n 'external': item?.external,\n href,\n 'onClick': follow,\n 'title': collapsed ? undefined : label,\n };\n\n const link = renderAnchor(context, linkProps, follow);\n\n if (!icon && !overlay) return link;\n // Always mounted so toggling the rail keeps the same link element and its label can fade.\n return (\n <Tooltip disabled={!collapsed} placement=\"right\" title={name}>\n {link}\n </Tooltip>\n );\n}\n\nfunction Fold({ children, folded }: { children: ReactNode; folded: boolean }) {\n return (\n <div\n aria-hidden={folded || undefined}\n data-folded={folded}\n inert={folded || undefined}\n {...stylex.props(styles.fold, folded && styles.folded)}\n >\n <div {...stylex.props(styles.foldBody)}>{children}</div>\n </div>\n );\n}\n\nfunction ConsoleNav({\n collapsed: collapsedProp,\n defaultExpanded = 'all',\n groups = [],\n items = [],\n label = 'Primary',\n onNavigate,\n pathname,\n renderLink,\n storageKey,\n}: ConsoleNavProps) {\n const id = useId();\n const navRef = useRef<HTMLDivElement>(null);\n const shell = useConsoleShellState();\n const collapsed = collapsedProp ?? shell?.collapsed ?? false;\n const reducedMotion = usePrefersReducedMotion();\n const [storedOverrides, setStoredOverrides] = useLocalStorage<unknown>(storageKey, {});\n const overrides = readOverrides(storedOverrides);\n const context: LinkContext = { onNavigate, renderLink };\n\n const activeHref = resolveActiveHref(pathname, [...items, ...collectNavItems(groups)]);\n const activeBranch = findActiveBranch(pathname, groups, activeHref);\n\n // Arriving on a page reopens its branch even if it was closed by hand earlier.\n const [trackedPathname, setTrackedPathname] = useState(pathname);\n if (trackedPathname !== pathname) {\n setTrackedPathname(pathname);\n if (activeBranch.some((key) => overrides[key] === false)) {\n const next = { ...overrides };\n for (const key of activeBranch) delete next[key];\n setStoredOverrides(next);\n }\n }\n\n const isExpanded = (group: ConsoleNavGroup) =>\n overrides[group.key] ??\n (activeBranch.includes(group.key) || (group.defaultExpanded ?? defaultExpanded === 'all'));\n\n const toggleGroup = useCallback(\n (key: string, expanded: boolean) => {\n setStoredOverrides((current: unknown) => ({ ...readOverrides(current), [key]: !expanded }));\n },\n [setStoredOverrides],\n );\n\n useEffect(() => {\n const container = navRef.current;\n if (!container) return;\n scrollActiveIntoView(container);\n if (reducedMotion) return;\n const timer = window.setTimeout(() => scrollActiveIntoView(container), PANEL_TRANSITION_MS);\n return () => window.clearTimeout(timer);\n }, [activeHref, pathname, reducedMotion]);\n\n useEffect(() => {\n const container = navRef.current;\n if (!container) return;\n const timer = window.setTimeout(\n () => scrollActiveIntoView(container, reducedMotion ? 'auto' : 'smooth'),\n reducedMotion ? 0 : RAIL_TRANSITION_MS,\n );\n return () => window.clearTimeout(timer);\n }, [collapsed, reducedMotion]);\n\n // The rail folds rows out of this same tree instead of rendering its own, so icons stay put\n // while the sidebar width animates.\n const renderItems = (\n list: ConsoleNavItem[],\n indent: number,\n groupLabel: string | undefined,\n foldable: boolean,\n ) =>\n list.map((item) => {\n const link = (\n <NavLink\n active={item.href === activeHref}\n collapsed={collapsed}\n context={context}\n href={item.href}\n icon={item.icon}\n indent={item.icon ? Math.max(0, indent - 1) : indent}\n item={item}\n key={item.href}\n name={groupLabel ? `${groupLabel} / ${item.label}` : item.label}\n />\n );\n if (item.icon || !foldable) return link;\n return (\n <Fold folded={collapsed} key={item.href}>\n {link}\n </Fold>\n );\n });\n\n const renderGroup = (\n group: ConsoleNavGroup,\n level: number,\n indent: number,\n underRailIcon: boolean,\n afterGroup: boolean,\n ) => {\n const expanded = isExpanded(group);\n const panelId = `${id}-${group.key}`;\n // Nested groups are headings over their items, so the items keep the same indent.\n const childIndent = indent + (group.icon ? 1 : 0);\n const active = activeBranch.includes(group.key);\n const railIcon = level === 0 && Boolean(group.icon);\n const onRail = collapsed && !underRailIcon;\n const open = onRail ? !railIcon : expanded;\n const railHref = railIcon ? (group.href ?? collectNavItems([group])[0]?.href) : undefined;\n const railEmpty = !railIcon && !collectNavItems([group]).some((item) => item.icon);\n const nested = level !== 0;\n const headerIconClassName = stylex.props(\n styles.headerIcon,\n Boolean(group.icon) && styles.headerIconWide,\n ).className;\n\n const header = (\n <button\n aria-controls={panelId}\n aria-expanded={open}\n aria-hidden={(onRail && railIcon) || undefined}\n data-active={active}\n data-icon={Boolean(group.icon)}\n data-indent={indent}\n data-level={level}\n tabIndex={onRail && railIcon ? -1 : undefined}\n type=\"button\"\n onClick={() => toggleGroup(group.key, expanded)}\n {...stylex.props(\n styles.groupHeader,\n active && styles.groupHeaderActive,\n Boolean(group.icon) && styles.groupHeaderIcon,\n !nested && Boolean(group.icon) && styles.groupHeaderRailIcon,\n nested && styles.groupHeaderNested,\n nested && active && styles.groupHeaderNestedActive,\n groupHeaderIndentStyles[indent],\n )}\n >\n {group.icon ? <Icon className={headerIconClassName} icon={group.icon} size={16} /> : null}\n <span\n data-label=\"\"\n {...stylex.props(\n styles.itemLabel,\n styles.railFade,\n collapsed && [styles.itemLabelRail, styles.railFaded],\n nested && styles.groupLabelNested,\n )}\n >\n {group.label}\n </span>\n {level === 0 ? (\n <Icon\n data-expanded={expanded}\n icon={ChevronDown}\n size={14}\n className={clsx(\n headerIconClassName,\n stylex.props(\n styles.chevron,\n !expanded && styles.chevronFolded,\n collapsed && styles.railFaded,\n ).className,\n )}\n />\n ) : (\n <span\n data-expanded={expanded}\n {...stylex.props(styles.indicator, expanded && styles.indicatorExpanded)}\n >\n <Play fill={'currentColor'} size={7} strokeWidth={1} />\n </span>\n )}\n </button>\n );\n\n let head: ReactNode = header;\n if (railIcon) {\n head = (\n <div {...stylex.props(styles.groupHead)}>\n {header}\n {onRail && railHref ? (\n <NavLink\n collapsed\n overlay\n active={activeBranch[0] === group.key}\n context={context}\n href={railHref}\n name={group.label}\n />\n ) : null}\n </div>\n );\n } else if (!underRailIcon) {\n head = <Fold folded={onRail}>{header}</Fold>;\n }\n\n return (\n <div\n data-icon={Boolean(group.icon)}\n data-level={level}\n data-rail-empty={railEmpty}\n key={group.key}\n {...stylex.props(\n styles.group,\n !nested && Boolean(group.icon) && styles.groupLevelIcon,\n nested && styles.groupNested,\n collapsed && railEmpty && styles.groupRailEmpty,\n collapsed && afterGroup && !nested && !group.icon && styles.groupDivider,\n )}\n >\n {head}\n <div\n aria-hidden={!open}\n data-expanded={open}\n data-instant={reducedMotion}\n id={panelId}\n inert={open ? undefined : true}\n {...stylex.props(\n styles.groupPanel,\n !open && styles.groupPanelCollapsed,\n reducedMotion && styles.groupPanelInstant,\n )}\n >\n <div {...stylex.props(styles.groupItems)}>\n {renderItems(group.items ?? [], childIndent, group.label, !(underRailIcon || railIcon))}\n {(group.groups ?? []).map((child, index) =>\n renderGroup(child, level + 1, childIndent, underRailIcon || railIcon, index > 0),\n )}\n </div>\n </div>\n </div>\n );\n };\n\n return (\n <ScrollShadow\n aria-label={label}\n as={'nav'}\n className={stylex.props(styles.nav).className}\n data-collapsed={collapsed}\n orientation={'vertical'}\n ref={navRef}\n size={4}\n >\n {items.length > 0 ? (\n <div\n data-divided={groups.length > 0}\n data-rail-empty={!items.some((item) => item.icon)}\n {...stylex.props(\n styles.topItems,\n groups.length > 0 && styles.topItemsDivided,\n collapsed && !items.some((item) => item.icon) && styles.topItemsRailEmpty,\n )}\n >\n {renderItems(items, 0, undefined, true)}\n </div>\n ) : null}\n {groups.map((group, index) => renderGroup(group, 0, 0, false, index > 0))}\n </ScrollShadow>\n );\n}\n\nConsoleNav.displayName = 'ConsoleNav';\n\nexport default ConsoleNav;\n"],"mappings":"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"}
1
+ {"version":3,"file":"ConsoleNav.mjs","names":["clsx"],"sources":["../../../src/dashboard/ConsoleNav/ConsoleNav.tsx"],"sourcesContent":["'use client';\n\nimport './style.css';\n\nimport * as stylex from '@stylexjs/stylex';\nimport clsx from 'clsx';\nimport { ChevronDown, Play } from 'lucide-react';\nimport { type ReactNode, useCallback, useEffect, useId, useRef, useState } from 'react';\n\nimport Icon from '@/Icon';\nimport ScrollShadow from '@/ScrollShadow';\nimport Tooltip from '@/Tooltip';\n\nimport { useConsoleShellState } from '../ConsoleShell/context';\nimport { useLocalStorage, usePrefersReducedMotion } from '../hooks';\nimport { collectNavItems, findActiveBranch, resolveActiveHref } from './active';\nimport { styles } from './style';\nimport type { ConsoleNavGroup, ConsoleNavItem, ConsoleNavLinkProps, ConsoleNavProps } from './type';\n\nconst PANEL_TRANSITION_MS = 160;\nconst railLinkClassName = 'lobe-console-nav-rail-link';\n\nconst itemIndentStyles = [null, styles.itemIndent1, styles.itemIndent2];\nconst groupHeaderIndentStyles = [null, styles.groupHeaderIndent1, styles.groupHeaderIndent2];\nconst RAIL_TRANSITION_MS = 200;\n\ntype ExpandedOverrides = Record<string, boolean>;\n\n/** Older builds stored the closed group keys as an array. */\nfunction readOverrides(value: unknown): ExpandedOverrides {\n if (Array.isArray(value)) {\n return Object.fromEntries(value.map((key) => [String(key), false]));\n }\n return value && typeof value === 'object' ? (value as ExpandedOverrides) : {};\n}\n\nfunction scrollActiveIntoView(container: HTMLElement, behavior: ScrollBehavior = 'auto') {\n const link =\n container.querySelector<HTMLElement>('[aria-current=\"page\"]') ??\n [...container.querySelectorAll<HTMLElement>('button[data-active=\"true\"]')].at(-1);\n if (!link) return;\n const containerRect = container.getBoundingClientRect();\n const linkRect = link.getBoundingClientRect();\n if (linkRect.top >= containerRect.top && linkRect.bottom <= containerRect.bottom) return;\n container.scrollBy({\n behavior,\n top: linkRect.top - containerRect.top - (containerRect.height - linkRect.height) / 2,\n });\n}\n\ninterface LinkContext {\n onNavigate?: (href: string) => void;\n renderLink?: ConsoleNavProps['renderLink'];\n}\n\nfunction renderAnchor(context: LinkContext, linkProps: ConsoleNavLinkProps, onFollow: () => void) {\n if (context.renderLink) return context.renderLink(linkProps);\n return (\n <a\n aria-current={linkProps['aria-current']}\n aria-label={linkProps['aria-label']}\n className={linkProps.className}\n data-active={linkProps['data-active']}\n data-collapsed={linkProps['data-collapsed']}\n data-indent={linkProps['data-indent']}\n href={linkProps.href}\n rel={linkProps.external ? 'noreferrer' : undefined}\n target={linkProps.external ? '_blank' : undefined}\n title={linkProps.title}\n onClick={(event) => {\n if (context.onNavigate && !linkProps.external) event.preventDefault();\n onFollow();\n }}\n >\n {linkProps.children}\n </a>\n );\n}\n\nfunction NavLink({\n active,\n collapsed,\n context,\n href,\n icon,\n indent = 0,\n item,\n name,\n overlay = false,\n}: {\n active: boolean;\n collapsed: boolean;\n context: LinkContext;\n href: string;\n icon?: ConsoleNavItem['icon'];\n indent?: number;\n item?: ConsoleNavItem;\n name: string;\n overlay?: boolean;\n}) {\n const shell = useConsoleShellState();\n const label = item?.label ?? name;\n const follow = () => {\n context.onNavigate?.(href);\n shell?.closeNavigation();\n };\n const linkProps: ConsoleNavLinkProps = {\n 'aria-current': active ? 'page' : undefined,\n 'aria-label': collapsed ? name : undefined,\n 'children': overlay ? null : (\n <>\n {icon ? (\n <Icon className={stylex.props(styles.navIcon).className} icon={icon} size={18} />\n ) : null}\n <span\n {...stylex.props(\n styles.itemLabel,\n styles.railFade,\n collapsed && [styles.itemLabelRail, styles.railFaded],\n )}\n >\n {label}\n </span>\n {item?.badge ? (\n <span {...stylex.props(styles.badge, styles.railFade, collapsed && styles.railFaded)}>\n {item.badge}\n </span>\n ) : null}\n {item?.badge ? (\n <span aria-hidden {...stylex.props(styles.dot, collapsed && styles.dotRail)} />\n ) : null}\n </>\n ),\n 'className': overlay\n ? clsx(\n stylex.props(styles.railLink, active && styles.railLinkActive).className,\n railLinkClassName,\n )\n : (stylex.props(\n styles.item,\n active && styles.itemActive,\n (indent === 1 || indent === 2) && styles.itemIndented,\n itemIndentStyles[indent],\n collapsed && indent !== 0 && styles.itemRailIndent,\n ).className ?? ''),\n 'data-active': active,\n 'data-collapsed': collapsed,\n 'data-indent': indent,\n 'external': item?.external,\n href,\n 'onClick': follow,\n 'title': collapsed ? undefined : label,\n };\n\n const link = renderAnchor(context, linkProps, follow);\n\n if (!icon && !overlay) return link;\n // Always mounted so toggling the rail keeps the same link element and its label can fade.\n return (\n <Tooltip disabled={!collapsed} placement=\"right\" title={name}>\n {link}\n </Tooltip>\n );\n}\n\nfunction Fold({ children, folded }: { children: ReactNode; folded: boolean }) {\n return (\n <div\n aria-hidden={folded || undefined}\n data-folded={folded}\n inert={folded || undefined}\n {...stylex.props(styles.fold, folded && styles.folded)}\n >\n <div {...stylex.props(styles.foldBody)}>{children}</div>\n </div>\n );\n}\n\nfunction ConsoleNav({\n collapsed: collapsedProp,\n defaultExpanded = 'all',\n groups = [],\n items = [],\n label = 'Primary',\n onNavigate,\n pathname,\n renderLink,\n storageKey,\n}: ConsoleNavProps) {\n const id = useId();\n const navRef = useRef<HTMLDivElement>(null);\n const shell = useConsoleShellState();\n const collapsed = collapsedProp ?? shell?.collapsed ?? false;\n const reducedMotion = usePrefersReducedMotion();\n const [storedOverrides, setStoredOverrides] = useLocalStorage<unknown>(storageKey, {});\n const overrides = readOverrides(storedOverrides);\n const context: LinkContext = { onNavigate, renderLink };\n\n const activeHref = resolveActiveHref(pathname, [...items, ...collectNavItems(groups)]);\n const activeBranch = findActiveBranch(pathname, groups, activeHref);\n\n // Arriving on a page reopens its branch even if it was closed by hand earlier.\n const [trackedPathname, setTrackedPathname] = useState(pathname);\n if (trackedPathname !== pathname) {\n setTrackedPathname(pathname);\n if (activeBranch.some((key) => overrides[key] === false)) {\n const next = { ...overrides };\n for (const key of activeBranch) delete next[key];\n setStoredOverrides(next);\n }\n }\n\n const isExpanded = (group: ConsoleNavGroup) =>\n overrides[group.key] ??\n (activeBranch.includes(group.key) || (group.defaultExpanded ?? defaultExpanded === 'all'));\n\n const toggleGroup = useCallback(\n (key: string, expanded: boolean) => {\n setStoredOverrides((current: unknown) => ({ ...readOverrides(current), [key]: !expanded }));\n },\n [setStoredOverrides],\n );\n\n useEffect(() => {\n const container = navRef.current;\n if (!container) return;\n scrollActiveIntoView(container);\n if (reducedMotion) return;\n const timer = window.setTimeout(() => scrollActiveIntoView(container), PANEL_TRANSITION_MS);\n return () => window.clearTimeout(timer);\n }, [activeHref, pathname, reducedMotion]);\n\n useEffect(() => {\n const container = navRef.current;\n if (!container) return;\n const timer = window.setTimeout(\n () => scrollActiveIntoView(container, reducedMotion ? 'auto' : 'smooth'),\n reducedMotion ? 0 : RAIL_TRANSITION_MS,\n );\n return () => window.clearTimeout(timer);\n }, [collapsed, reducedMotion]);\n\n // The rail folds rows out of this same tree instead of rendering its own, so icons stay put\n // while the sidebar width animates.\n const renderItems = (\n list: ConsoleNavItem[],\n indent: number,\n groupLabel: string | undefined,\n foldable: boolean,\n ) =>\n list.map((item) => {\n const link = (\n <NavLink\n active={item.href === activeHref}\n collapsed={collapsed}\n context={context}\n href={item.href}\n icon={item.icon}\n indent={item.icon ? Math.max(0, indent - 1) : indent}\n item={item}\n key={item.href}\n name={groupLabel ? `${groupLabel} / ${item.label}` : item.label}\n />\n );\n if (item.icon || !foldable) return link;\n return (\n <Fold folded={collapsed} key={item.href}>\n {link}\n </Fold>\n );\n });\n\n const renderGroup = (\n group: ConsoleNavGroup,\n level: number,\n indent: number,\n underRailIcon: boolean,\n afterGroup: boolean,\n ) => {\n const expanded = isExpanded(group);\n const panelId = `${id}-${group.key}`;\n // Nested groups are headings over their items, so the items keep the same indent.\n const childIndent = indent + (group.icon ? 1 : 0);\n const active = activeBranch.includes(group.key);\n const railIcon = level === 0 && Boolean(group.icon);\n const onRail = collapsed && !underRailIcon;\n const open = onRail ? !railIcon : expanded;\n const railHref = railIcon ? (group.href ?? collectNavItems([group])[0]?.href) : undefined;\n const railEmpty = !railIcon && !collectNavItems([group]).some((item) => item.icon);\n const nested = level !== 0;\n const headerIconClassName = stylex.props(\n styles.headerIcon,\n Boolean(group.icon) && styles.headerIconWide,\n ).className;\n\n const header = (\n <button\n aria-controls={panelId}\n aria-expanded={open}\n aria-hidden={(onRail && railIcon) || undefined}\n data-active={active}\n data-icon={Boolean(group.icon)}\n data-indent={indent}\n data-level={level}\n tabIndex={onRail && railIcon ? -1 : undefined}\n type=\"button\"\n onClick={() => toggleGroup(group.key, expanded)}\n {...stylex.props(\n styles.groupHeader,\n active && styles.groupHeaderActive,\n Boolean(group.icon) && styles.groupHeaderIcon,\n !nested && Boolean(group.icon) && styles.groupHeaderRailIcon,\n nested && styles.groupHeaderNested,\n nested && active && styles.groupHeaderNestedActive,\n groupHeaderIndentStyles[indent],\n )}\n >\n {group.icon ? <Icon className={headerIconClassName} icon={group.icon} size={16} /> : null}\n <span\n data-label=\"\"\n {...stylex.props(\n styles.itemLabel,\n styles.railFade,\n collapsed && [styles.itemLabelRail, styles.railFaded],\n nested && styles.groupLabelNested,\n )}\n >\n {group.label}\n </span>\n {level === 0 ? (\n <Icon\n data-expanded={expanded}\n icon={ChevronDown}\n size={14}\n className={clsx(\n headerIconClassName,\n stylex.props(\n styles.chevron,\n !expanded && styles.chevronFolded,\n collapsed && styles.railFaded,\n ).className,\n )}\n />\n ) : (\n <span\n data-expanded={expanded}\n {...stylex.props(styles.indicator, expanded && styles.indicatorExpanded)}\n >\n <Play fill={'currentColor'} size={7} strokeWidth={1} />\n </span>\n )}\n </button>\n );\n\n let head: ReactNode = header;\n if (railIcon) {\n head = (\n <div {...stylex.props(styles.groupHead)}>\n {header}\n {onRail && railHref ? (\n <NavLink\n collapsed\n overlay\n active={activeBranch[0] === group.key}\n context={context}\n href={railHref}\n name={group.label}\n />\n ) : null}\n </div>\n );\n } else if (!underRailIcon) {\n head = <Fold folded={onRail}>{header}</Fold>;\n }\n\n return (\n <div\n data-icon={Boolean(group.icon)}\n data-level={level}\n data-rail-empty={railEmpty}\n key={group.key}\n {...stylex.props(\n styles.group,\n !nested && Boolean(group.icon) && styles.groupLevelIcon,\n nested && styles.groupNested,\n collapsed && railEmpty && styles.groupRailEmpty,\n collapsed && afterGroup && !nested && !group.icon && styles.groupDivider,\n )}\n >\n {head}\n <div\n aria-hidden={!open}\n data-expanded={open}\n data-instant={reducedMotion}\n id={panelId}\n inert={open ? undefined : true}\n {...stylex.props(\n styles.groupPanel,\n !open && styles.groupPanelCollapsed,\n reducedMotion && styles.groupPanelInstant,\n )}\n >\n <div {...stylex.props(styles.groupItems)}>\n {renderItems(group.items ?? [], childIndent, group.label, !(underRailIcon || railIcon))}\n {(group.groups ?? []).map((child, index) =>\n renderGroup(child, level + 1, childIndent, underRailIcon || railIcon, index > 0),\n )}\n </div>\n </div>\n </div>\n );\n };\n\n return (\n <ScrollShadow\n aria-label={label}\n as={'nav'}\n className={stylex.props(styles.nav).className}\n data-collapsed={collapsed}\n orientation={'vertical'}\n ref={navRef}\n size={4}\n >\n {items.length > 0 ? (\n <div\n data-divided={groups.length > 0}\n data-rail-empty={!items.some((item) => item.icon)}\n {...stylex.props(\n styles.topItems,\n groups.length > 0 && styles.topItemsDivided,\n collapsed && !items.some((item) => item.icon) && styles.topItemsRailEmpty,\n )}\n >\n {renderItems(items, 0, undefined, true)}\n </div>\n ) : null}\n {groups.map((group, index) => renderGroup(group, 0, 0, false, index > 0))}\n </ScrollShadow>\n );\n}\n\nConsoleNav.displayName = 'ConsoleNav';\n\nexport default ConsoleNav;\n"],"mappings":"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"}
@@ -62,7 +62,7 @@ const styles = {
62
62
  kVAEAm: "lb1n2onr6",
63
63
  kpsdNU: "lbm4btww",
64
64
  k2g4ti: "lb1qc4mfg lb1fgujza",
65
- kLkRvE: "lbv1378s",
65
+ kLkRvE: "lb4uv7w2",
66
66
  kgzTxl: "lby80zi5",
67
67
  kgeoSG: "lb1cpjm7i",
68
68
  k96MEf: "lb1mpa3hi",
@@ -317,7 +317,7 @@ const styles = {
317
317
  $$css: true
318
318
  },
319
319
  topItemsDivided: {
320
- kL6WhQ: "lb1nkj3if",
320
+ kL6WhQ: "lb1fmh5c5",
321
321
  kfdmCh: "lb1q0q8m5",
322
322
  kt9PQ7: "lbso031l",
323
323
  k1K539: "lbzueoph",
@@ -1 +1 @@
1
- {"version":3,"file":"style.mjs","names":[],"sources":["../../../src/dashboard/ConsoleNav/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\nimport { media } from '@/styles/stylex/media.stylex';\n\nconst reducedMotion = '@media (prefers-reduced-motion: reduce)';\n\nexport const styles = stylex.create({\n badge: {\n borderRadius: 999,\n flex: 'none',\n paddingInline: 6,\n backgroundColor: `color-mix(in srgb, ${cssVar.colorError} 12%, transparent)`,\n color: cssVar.colorError,\n fontSize: cssVar.fontSizeSM,\n fontVariantNumeric: 'tabular-nums',\n minInlineSize: 20,\n textAlign: 'center',\n },\n chevron: {\n flex: 'none',\n transition: {\n default: 'transform 160ms ease, opacity 120ms ease 80ms',\n [reducedMotion]: 'none',\n },\n },\n chevronFolded: {\n transform: 'rotate(-90deg)',\n },\n dot: {\n borderRadius: 999,\n transition: { default: 'opacity 120ms ease', [reducedMotion]: 'none' },\n backgroundColor: cssVar.colorError,\n blockSize: 7,\n inlineSize: 7,\n insetBlockStart: 7,\n insetInlineEnd: 9,\n opacity: 0,\n position: 'absolute',\n },\n dotRail: {\n opacity: 1,\n },\n fold: {\n transition: {\n default: 'grid-template-rows 200ms ease, margin 200ms ease, opacity 120ms ease',\n [reducedMotion]: 'none',\n },\n display: 'grid',\n gridTemplateRows: '1fr',\n },\n foldBody: {\n overflow: 'hidden',\n minBlockSize: 0,\n },\n folded: {\n gridTemplateRows: '0fr',\n marginBlockStart: { 'default': null, ':not(:first-child)': -2 },\n opacity: 0,\n },\n group: {\n 'transition': { default: 'margin 200ms ease', [reducedMotion]: 'none' },\n 'display': 'flex',\n 'flexDirection': 'column',\n 'marginBlockStart': 12,\n 'position': 'relative',\n '::before': {\n insetInline: 0,\n transition: { default: 'opacity 200ms ease', [reducedMotion]: 'none' },\n backgroundColor: cssVar.colorBorderSecondary,\n blockSize: 1,\n content: '\"\"',\n insetBlockStart: -6,\n opacity: 0,\n position: 'absolute',\n },\n },\n groupDivider: {\n '::before': {\n opacity: 1,\n },\n },\n groupHead: {\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n },\n groupHeader: {\n borderColor: 'currentcolor',\n borderRadius: cssVar.borderRadius,\n borderStyle: 'none',\n borderWidth: 'medium',\n gap: 8,\n alignItems: 'center',\n backgroundColor: 'transparent',\n color: { 'default': cssVar.colorTextSecondary, ':hover': cssVar.colorText },\n cursor: 'pointer',\n display: 'flex',\n fontSize: cssVar.fontSizeSM,\n fontWeight: 500,\n justifyContent: 'space-between',\n minBlockSize: 32,\n paddingInlineEnd: 10,\n paddingInlineStart: 10,\n textAlign: 'start',\n whiteSpace: 'nowrap',\n },\n groupHeaderActive: {\n color: cssVar.colorText,\n },\n groupHeaderIcon: {\n gap: 10,\n fontSize: cssVar.fontSize,\n justifyContent: 'flex-start',\n minBlockSize: 36,\n },\n groupHeaderIndent1: {\n paddingInlineStart: 38,\n },\n groupHeaderIndent2: {\n paddingInlineStart: 56,\n },\n groupHeaderNested: {\n gap: 8,\n color: { 'default': cssVar.colorTextDescription, ':hover': cssVar.colorTextSecondary },\n fontSize: cssVar.fontSizeSM,\n fontWeight: 400,\n justifyContent: 'flex-start',\n minBlockSize: 26,\n },\n groupHeaderNestedActive: {\n color: cssVar.colorTextSecondary,\n },\n groupHeaderRailIcon: {\n backgroundColor: { 'default': 'transparent', ':hover': cssVar.colorFillTertiary },\n },\n groupItems: {\n gap: 2,\n overflow: 'hidden',\n display: 'flex',\n flexDirection: 'column',\n minBlockSize: 0,\n },\n groupLabelNested: {\n flexBasis: 'auto',\n flexGrow: '0',\n flexShrink: '1',\n },\n groupLevelIcon: {\n marginBlockStart: 2,\n },\n groupNested: {\n marginBlockStart: 6,\n },\n groupPanel: {\n transition: 'grid-template-rows 160ms ease',\n display: 'grid',\n gridTemplateRows: '1fr',\n },\n groupPanelCollapsed: {\n gridTemplateRows: '0fr',\n },\n groupPanelInstant: {\n transition: 'none',\n },\n groupRailEmpty: {\n marginBlockStart: 0,\n },\n headerIcon: {\n flex: 'none',\n display: 'flex',\n },\n headerIconWide: {\n inlineSize: 18,\n justifyContent: 'center',\n },\n indicator: {\n flex: 'none',\n transition: 'transform 160ms ease',\n alignItems: 'center',\n color: cssVar.colorTextDescription,\n display: 'flex',\n justifyContent: 'center',\n marginInlineStart: -6,\n height: 18,\n width: 18,\n },\n indicatorExpanded: {\n transform: 'rotate(90deg)',\n },\n item: {\n borderRadius: cssVar.borderRadius,\n gap: 10,\n textDecoration: 'none',\n transition: 'background 120ms ease, color 120ms ease',\n alignItems: 'center',\n backgroundColor: { 'default': null, ':hover': cssVar.colorFillTertiary },\n color: { 'default': cssVar.colorTextSecondary, ':hover': cssVar.colorText },\n display: 'flex',\n minBlockSize: { default: 36, [media.mobile]: 44 },\n paddingInlineEnd: 10,\n paddingInlineStart: 10,\n position: 'relative',\n whiteSpace: 'nowrap',\n },\n itemActive: {\n backgroundColor: cssVar.colorFillSecondary,\n color: cssVar.colorText,\n fontWeight: 500,\n },\n itemIndent1: {\n paddingInlineStart: 38,\n },\n itemIndent2: {\n paddingInlineStart: 56,\n },\n itemIndented: {\n color: cssVar.colorText,\n minBlockSize: 32,\n },\n itemLabel: {\n flex: '1',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n itemLabelRail: {\n textOverflow: 'clip',\n },\n itemRailIndent: {\n paddingInlineStart: 10,\n },\n nav: {\n flex: '1',\n gap: 2,\n paddingInline: 8,\n display: 'flex',\n flexDirection: 'column',\n minBlockSize: 0,\n overflowAnchor: 'none',\n paddingBlockEnd: 12,\n scrollbarWidth: 'thin',\n },\n navIcon: {\n flex: 'none',\n display: 'flex',\n },\n railFade: {\n transition: { default: 'opacity 120ms ease 80ms', [reducedMotion]: 'none' },\n },\n railFaded: {\n opacity: 0,\n transitionDelay: '0s',\n },\n railLink: {\n inset: 0,\n borderRadius: cssVar.borderRadius,\n transition: 'background 120ms ease',\n backgroundColor: { 'default': null, ':hover': cssVar.colorFillTertiary },\n position: 'absolute',\n },\n railLinkActive: {\n backgroundColor: cssVar.colorFillSecondary,\n },\n skeletonFooter: {\n gap: 10,\n paddingInline: 4,\n alignItems: 'center',\n display: 'flex',\n },\n skeletonGroup: {\n gap: 2,\n display: 'flex',\n flexDirection: 'column',\n marginBlockStart: 12,\n },\n skeletonRow: {\n pointerEvents: 'none',\n },\n topItems: {\n gap: 2,\n transition: {\n default: 'margin 200ms ease, padding 200ms ease, border-color 200ms ease',\n [reducedMotion]: 'none',\n },\n display: 'flex',\n flexDirection: 'column',\n },\n topItemsDivided: {\n borderBlockEndColor: cssVar.colorBorderSecondary,\n borderBlockEndStyle: 'solid',\n borderBlockEndWidth: 1,\n marginBlockEnd: 6,\n paddingBlockEnd: 8,\n },\n topItemsRailEmpty: {\n borderBlockEndColor: 'transparent',\n marginBlockEnd: 0,\n paddingBlockEnd: 0,\n },\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"style.mjs","names":[],"sources":["../../../src/dashboard/ConsoleNav/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\nimport { media } from '@/styles/stylex/media.stylex';\n\nconst reducedMotion = '@media (prefers-reduced-motion: reduce)';\n\nexport const styles = stylex.create({\n badge: {\n borderRadius: 999,\n flex: 'none',\n paddingInline: 6,\n backgroundColor: `color-mix(in srgb, ${cssVar.colorError} 12%, transparent)`,\n color: cssVar.colorError,\n fontSize: cssVar.fontSizeSM,\n fontVariantNumeric: 'tabular-nums',\n minInlineSize: 20,\n textAlign: 'center',\n },\n chevron: {\n flex: 'none',\n transition: {\n default: 'transform 160ms ease, opacity 120ms ease 80ms',\n [reducedMotion]: 'none',\n },\n },\n chevronFolded: {\n transform: 'rotate(-90deg)',\n },\n dot: {\n borderRadius: 999,\n transition: { default: 'opacity 120ms ease', [reducedMotion]: 'none' },\n backgroundColor: cssVar.colorError,\n blockSize: 7,\n inlineSize: 7,\n insetBlockStart: 7,\n insetInlineEnd: 9,\n opacity: 0,\n position: 'absolute',\n },\n dotRail: {\n opacity: 1,\n },\n fold: {\n transition: {\n default: 'grid-template-rows 200ms ease, margin 200ms ease, opacity 120ms ease',\n [reducedMotion]: 'none',\n },\n display: 'grid',\n gridTemplateRows: '1fr',\n },\n foldBody: {\n overflow: 'hidden',\n minBlockSize: 0,\n },\n folded: {\n gridTemplateRows: '0fr',\n marginBlockStart: { 'default': null, ':not(:first-child)': -2 },\n opacity: 0,\n },\n group: {\n 'transition': { default: 'margin 200ms ease', [reducedMotion]: 'none' },\n 'display': 'flex',\n 'flexDirection': 'column',\n 'marginBlockStart': 12,\n 'position': 'relative',\n '::before': {\n insetInline: 0,\n transition: { default: 'opacity 200ms ease', [reducedMotion]: 'none' },\n backgroundColor: `var(--lobe-fill-border, ${cssVar.colorFill})`,\n blockSize: 1,\n content: '\"\"',\n insetBlockStart: -6,\n opacity: 0,\n position: 'absolute',\n },\n },\n groupDivider: {\n '::before': {\n opacity: 1,\n },\n },\n groupHead: {\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n },\n groupHeader: {\n borderColor: 'currentcolor',\n borderRadius: cssVar.borderRadius,\n borderStyle: 'none',\n borderWidth: 'medium',\n gap: 8,\n alignItems: 'center',\n backgroundColor: 'transparent',\n color: { 'default': cssVar.colorTextSecondary, ':hover': cssVar.colorText },\n cursor: 'pointer',\n display: 'flex',\n fontSize: cssVar.fontSizeSM,\n fontWeight: 500,\n justifyContent: 'space-between',\n minBlockSize: 32,\n paddingInlineEnd: 10,\n paddingInlineStart: 10,\n textAlign: 'start',\n whiteSpace: 'nowrap',\n },\n groupHeaderActive: {\n color: cssVar.colorText,\n },\n groupHeaderIcon: {\n gap: 10,\n fontSize: cssVar.fontSize,\n justifyContent: 'flex-start',\n minBlockSize: 36,\n },\n groupHeaderIndent1: {\n paddingInlineStart: 38,\n },\n groupHeaderIndent2: {\n paddingInlineStart: 56,\n },\n groupHeaderNested: {\n gap: 8,\n color: { 'default': cssVar.colorTextDescription, ':hover': cssVar.colorTextSecondary },\n fontSize: cssVar.fontSizeSM,\n fontWeight: 400,\n justifyContent: 'flex-start',\n minBlockSize: 26,\n },\n groupHeaderNestedActive: {\n color: cssVar.colorTextSecondary,\n },\n groupHeaderRailIcon: {\n backgroundColor: { 'default': 'transparent', ':hover': cssVar.colorFillTertiary },\n },\n groupItems: {\n gap: 2,\n overflow: 'hidden',\n display: 'flex',\n flexDirection: 'column',\n minBlockSize: 0,\n },\n groupLabelNested: {\n flexBasis: 'auto',\n flexGrow: '0',\n flexShrink: '1',\n },\n groupLevelIcon: {\n marginBlockStart: 2,\n },\n groupNested: {\n marginBlockStart: 6,\n },\n groupPanel: {\n transition: 'grid-template-rows 160ms ease',\n display: 'grid',\n gridTemplateRows: '1fr',\n },\n groupPanelCollapsed: {\n gridTemplateRows: '0fr',\n },\n groupPanelInstant: {\n transition: 'none',\n },\n groupRailEmpty: {\n marginBlockStart: 0,\n },\n headerIcon: {\n flex: 'none',\n display: 'flex',\n },\n headerIconWide: {\n inlineSize: 18,\n justifyContent: 'center',\n },\n indicator: {\n flex: 'none',\n transition: 'transform 160ms ease',\n alignItems: 'center',\n color: cssVar.colorTextDescription,\n display: 'flex',\n justifyContent: 'center',\n marginInlineStart: -6,\n height: 18,\n width: 18,\n },\n indicatorExpanded: {\n transform: 'rotate(90deg)',\n },\n item: {\n borderRadius: cssVar.borderRadius,\n gap: 10,\n textDecoration: 'none',\n transition: 'background 120ms ease, color 120ms ease',\n alignItems: 'center',\n backgroundColor: { 'default': null, ':hover': cssVar.colorFillTertiary },\n color: { 'default': cssVar.colorTextSecondary, ':hover': cssVar.colorText },\n display: 'flex',\n minBlockSize: { default: 36, [media.mobile]: 44 },\n paddingInlineEnd: 10,\n paddingInlineStart: 10,\n position: 'relative',\n whiteSpace: 'nowrap',\n },\n itemActive: {\n backgroundColor: cssVar.colorFillSecondary,\n color: cssVar.colorText,\n fontWeight: 500,\n },\n itemIndent1: {\n paddingInlineStart: 38,\n },\n itemIndent2: {\n paddingInlineStart: 56,\n },\n itemIndented: {\n color: cssVar.colorText,\n minBlockSize: 32,\n },\n itemLabel: {\n flex: '1',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n itemLabelRail: {\n textOverflow: 'clip',\n },\n itemRailIndent: {\n paddingInlineStart: 10,\n },\n nav: {\n flex: '1',\n gap: 2,\n paddingInline: 8,\n display: 'flex',\n flexDirection: 'column',\n minBlockSize: 0,\n overflowAnchor: 'none',\n paddingBlockEnd: 12,\n scrollbarWidth: 'thin',\n },\n navIcon: {\n flex: 'none',\n display: 'flex',\n },\n railFade: {\n transition: { default: 'opacity 120ms ease 80ms', [reducedMotion]: 'none' },\n },\n railFaded: {\n opacity: 0,\n transitionDelay: '0s',\n },\n railLink: {\n inset: 0,\n borderRadius: cssVar.borderRadius,\n transition: 'background 120ms ease',\n backgroundColor: { 'default': null, ':hover': cssVar.colorFillTertiary },\n position: 'absolute',\n },\n railLinkActive: {\n backgroundColor: cssVar.colorFillSecondary,\n },\n skeletonFooter: {\n gap: 10,\n paddingInline: 4,\n alignItems: 'center',\n display: 'flex',\n },\n skeletonGroup: {\n gap: 2,\n display: 'flex',\n flexDirection: 'column',\n marginBlockStart: 12,\n },\n skeletonRow: {\n pointerEvents: 'none',\n },\n topItems: {\n gap: 2,\n transition: {\n default: 'margin 200ms ease, padding 200ms ease, border-color 200ms ease',\n [reducedMotion]: 'none',\n },\n display: 'flex',\n flexDirection: 'column',\n },\n topItemsDivided: {\n borderBlockEndColor: `var(--lobe-fill-border, ${cssVar.colorFill})`,\n borderBlockEndStyle: 'solid',\n borderBlockEndWidth: 1,\n marginBlockEnd: 6,\n paddingBlockEnd: 8,\n },\n topItemsRailEmpty: {\n borderBlockEndColor: 'transparent',\n marginBlockEnd: 0,\n paddingBlockEnd: 0,\n },\n});\n"],"mappings":"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"}
@@ -153,7 +153,7 @@ const styles = {
153
153
  $$css: true
154
154
  },
155
155
  workspace: {
156
- kVAM5u: "lb10cypdb lb1sbdsi5",
156
+ kVAM5u: "lbpe7ctc lb1sbdsi5",
157
157
  kaIpWk: "lb1ndkxwp lbc7dp1m",
158
158
  ksu8eU: "lb1y0btm7 lb1462hru",
159
159
  kMzoRj: "lbmkeg23 lb1l1uicz",
@@ -1 +1 @@
1
- {"version":3,"file":"style.mjs","names":[],"sources":["../../../src/dashboard/ConsoleShell/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\nimport { media } from '@/styles/stylex/media.stylex';\n\nimport { consoleBrandMarker } from './marker.stylex';\n\nconst SIDEBAR_INLINE_SIZE = 248;\n// Twice the nav icon inset (8px nav padding + 10px item padding) plus the 18px icon, so the icons\n// land centered on the rail without moving sideways.\nconst SIDEBAR_RAIL_INLINE_SIZE = 54;\nconst WORKSPACE_INSET = 8;\n\nconst reducedMotion = '@media (prefers-reduced-motion: reduce)';\nconst flushPage = ':has([data-page-layout=\"flush\"])';\n\n/**\n * `media.laptop`, not `media.tablet`. The aliases are named for\n * devices, and only `laptop` (max-width 991px) lines up with `useIsCompact`.\n */\nexport const styles = stylex.create({\n brand: {\n flex: 'none',\n paddingInline: 15,\n alignItems: 'center',\n blockSize: 56,\n color: cssVar.colorText,\n display: 'flex',\n marginBlockStart: { default: WORKSPACE_INSET, [media.laptop]: 0 },\n whiteSpace: 'nowrap',\n },\n /** Close button in the drawer's brand row: right edge, vertically centred with the brand. */\n brandClose: {\n flex: 'none',\n marginInlineEnd: '-7px',\n marginInlineStart: 'auto',\n },\n brandAnchor: {\n textDecoration: 'none',\n alignItems: 'center',\n color: 'inherit',\n display: 'flex',\n inlineSize: '100%',\n minInlineSize: 0,\n },\n brandLockup: {\n gap: 10,\n alignItems: 'center',\n display: 'flex',\n minInlineSize: 0,\n },\n brandName: {\n overflow: 'hidden',\n transition: { default: 'opacity 120ms ease 80ms', [reducedMotion]: 'none' },\n color: cssVar.colorText,\n fontSize: 14,\n fontWeight: 600,\n lineHeight: 1.3,\n opacity: {\n default: null,\n [stylex.when.ancestor('[data-collapsed=\"true\"]', consoleBrandMarker)]: 0,\n },\n textOverflow: {\n default: 'ellipsis',\n [stylex.when.ancestor('[data-collapsed=\"true\"]', consoleBrandMarker)]: 'clip',\n },\n transitionDelay: {\n default: null,\n [stylex.when.ancestor('[data-collapsed=\"true\"]', consoleBrandMarker)]: '0s',\n },\n whiteSpace: 'nowrap',\n },\n main: {\n padding: {\n default: 24,\n [flushPage]: 0,\n [media.mobile]: { default: 16, [flushPage]: 0 },\n },\n flex: '1',\n gap: {\n default: 20,\n [flushPage]: 0,\n [media.mobile]: { default: 16, [flushPage]: 0 },\n },\n overflow: { default: 'auto', [flushPage]: 'hidden' },\n display: 'flex',\n flexDirection: 'column',\n minBlockSize: 0,\n minInlineSize: 0,\n },\n navSlot: {\n flex: '1',\n display: 'flex',\n flexDirection: 'column',\n minBlockSize: 0,\n },\n shell: {\n flex: '1',\n overflow: 'hidden',\n backgroundColor: cssVar.colorBgLayout,\n blockSize: '100%',\n display: 'flex',\n minBlockSize: 0,\n },\n sidebar: {\n flex: 'none',\n overflow: 'hidden',\n transition: 'inline-size 200ms ease',\n blockSize: '100%',\n display: { default: 'flex', [media.laptop]: 'none' },\n flexDirection: 'column',\n inlineSize: SIDEBAR_INLINE_SIZE,\n minBlockSize: 0,\n },\n sidebarCollapsed: {\n inlineSize: SIDEBAR_RAIL_INLINE_SIZE,\n },\n sidebarInstant: {\n transition: 'none',\n },\n sidebarBottom: {\n padding: 8,\n flex: 'none',\n },\n skipLink: {\n borderRadius: cssVar.borderRadius,\n paddingBlock: 8,\n paddingInline: 12,\n backgroundColor: cssVar.colorBgElevated,\n color: cssVar.colorText,\n insetBlockStart: { 'default': -100, ':focus': 12 },\n insetInlineStart: 12,\n position: 'fixed',\n zIndex: 2000,\n },\n topbar: {\n flex: 'none',\n gap: 8,\n paddingInline: 12,\n alignItems: 'center',\n blockSize: 56,\n borderBlockEndColor: cssVar.colorBorderSecondary,\n borderBlockEndStyle: 'solid',\n borderBlockEndWidth: 1,\n display: 'flex',\n },\n topbarDivider: {\n flex: 'none',\n marginInline: 2,\n backgroundColor: cssVar.colorBorderSecondary,\n blockSize: 18,\n inlineSize: 1,\n },\n topbarMain: {\n flex: '1',\n alignItems: 'center',\n display: 'flex',\n minInlineSize: 0,\n },\n tools: {\n flex: 'none',\n gap: 6,\n alignItems: 'center',\n display: 'flex',\n marginInlineStart: 'auto',\n },\n /** Light only: the content area sits midway between the layout canvas and container white. */\n workspaceLight: {\n backgroundColor: `color-mix(in srgb, ${cssVar.colorBgLayout} 50%, ${cssVar.colorBgContainer})`,\n },\n workspace: {\n borderColor: { default: cssVar.colorBorderSecondary, [media.laptop]: 'currentcolor' },\n borderRadius: { default: cssVar.borderRadiusLG, [media.laptop]: 0 },\n borderStyle: { default: 'solid', [media.laptop]: 'none' },\n borderWidth: { default: 1, [media.laptop]: 'medium' },\n flex: '1',\n marginBlock: { default: WORKSPACE_INSET, [media.laptop]: 0 },\n marginInline: { default: `0 ${WORKSPACE_INSET}px`, [media.laptop]: 0 },\n overflow: 'hidden',\n backgroundColor: cssVar.colorBgContainer,\n boxShadow: { default: cssVar.boxShadowTertiary, [media.laptop]: 'none' },\n display: 'flex',\n flexDirection: 'column',\n minBlockSize: 0,\n minInlineSize: 0,\n },\n});\n"],"mappings":";;;;;AAmBA,MAAa,SAAS;CACpB,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,YAAY;EACV,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,aAAa;EACX,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,aAAa;EACX,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,SAAS;EACP,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,SAAS;EACP,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,kBAAkB;EAChB,QAAQ;EACR,OAAO;CACT;CACA,gBAAgB;EACd,QAAQ;EACR,OAAO;CACT;CACA,eAAe;EACb,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,UAAU;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,eAAe;EACb,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,YAAY;EACV,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,gBAAgB;EACd,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,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,QAAQ;EACR,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"style.mjs","names":[],"sources":["../../../src/dashboard/ConsoleShell/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\nimport { media } from '@/styles/stylex/media.stylex';\n\nimport { consoleBrandMarker } from './marker.stylex';\n\nconst SIDEBAR_INLINE_SIZE = 248;\n// Twice the nav icon inset (8px nav padding + 10px item padding) plus the 18px icon, so the icons\n// land centered on the rail without moving sideways.\nconst SIDEBAR_RAIL_INLINE_SIZE = 54;\nconst WORKSPACE_INSET = 8;\n\nconst reducedMotion = '@media (prefers-reduced-motion: reduce)';\nconst flushPage = ':has([data-page-layout=\"flush\"])';\n\n/**\n * `media.laptop`, not `media.tablet`. The aliases are named for\n * devices, and only `laptop` (max-width 991px) lines up with `useIsCompact`.\n */\nexport const styles = stylex.create({\n brand: {\n flex: 'none',\n paddingInline: 15,\n alignItems: 'center',\n blockSize: 56,\n color: cssVar.colorText,\n display: 'flex',\n marginBlockStart: { default: WORKSPACE_INSET, [media.laptop]: 0 },\n whiteSpace: 'nowrap',\n },\n /** Close button in the drawer's brand row: right edge, vertically centred with the brand. */\n brandClose: {\n flex: 'none',\n marginInlineEnd: '-7px',\n marginInlineStart: 'auto',\n },\n brandAnchor: {\n textDecoration: 'none',\n alignItems: 'center',\n color: 'inherit',\n display: 'flex',\n inlineSize: '100%',\n minInlineSize: 0,\n },\n brandLockup: {\n gap: 10,\n alignItems: 'center',\n display: 'flex',\n minInlineSize: 0,\n },\n brandName: {\n overflow: 'hidden',\n transition: { default: 'opacity 120ms ease 80ms', [reducedMotion]: 'none' },\n color: cssVar.colorText,\n fontSize: 14,\n fontWeight: 600,\n lineHeight: 1.3,\n opacity: {\n default: null,\n [stylex.when.ancestor('[data-collapsed=\"true\"]', consoleBrandMarker)]: 0,\n },\n textOverflow: {\n default: 'ellipsis',\n [stylex.when.ancestor('[data-collapsed=\"true\"]', consoleBrandMarker)]: 'clip',\n },\n transitionDelay: {\n default: null,\n [stylex.when.ancestor('[data-collapsed=\"true\"]', consoleBrandMarker)]: '0s',\n },\n whiteSpace: 'nowrap',\n },\n main: {\n padding: {\n default: 24,\n [flushPage]: 0,\n [media.mobile]: { default: 16, [flushPage]: 0 },\n },\n flex: '1',\n gap: {\n default: 20,\n [flushPage]: 0,\n [media.mobile]: { default: 16, [flushPage]: 0 },\n },\n overflow: { default: 'auto', [flushPage]: 'hidden' },\n display: 'flex',\n flexDirection: 'column',\n minBlockSize: 0,\n minInlineSize: 0,\n },\n navSlot: {\n flex: '1',\n display: 'flex',\n flexDirection: 'column',\n minBlockSize: 0,\n },\n shell: {\n flex: '1',\n overflow: 'hidden',\n backgroundColor: cssVar.colorBgLayout,\n blockSize: '100%',\n display: 'flex',\n minBlockSize: 0,\n },\n sidebar: {\n flex: 'none',\n overflow: 'hidden',\n transition: 'inline-size 200ms ease',\n blockSize: '100%',\n display: { default: 'flex', [media.laptop]: 'none' },\n flexDirection: 'column',\n inlineSize: SIDEBAR_INLINE_SIZE,\n minBlockSize: 0,\n },\n sidebarCollapsed: {\n inlineSize: SIDEBAR_RAIL_INLINE_SIZE,\n },\n sidebarInstant: {\n transition: 'none',\n },\n sidebarBottom: {\n padding: 8,\n flex: 'none',\n },\n skipLink: {\n borderRadius: cssVar.borderRadius,\n paddingBlock: 8,\n paddingInline: 12,\n backgroundColor: cssVar.colorBgElevated,\n color: cssVar.colorText,\n insetBlockStart: { 'default': -100, ':focus': 12 },\n insetInlineStart: 12,\n position: 'fixed',\n zIndex: 2000,\n },\n topbar: {\n flex: 'none',\n gap: 8,\n paddingInline: 12,\n alignItems: 'center',\n blockSize: 56,\n borderBlockEndColor: cssVar.colorBorderSecondary,\n borderBlockEndStyle: 'solid',\n borderBlockEndWidth: 1,\n display: 'flex',\n },\n topbarDivider: {\n flex: 'none',\n marginInline: 2,\n backgroundColor: cssVar.colorBorderSecondary,\n blockSize: 18,\n inlineSize: 1,\n },\n topbarMain: {\n flex: '1',\n alignItems: 'center',\n display: 'flex',\n minInlineSize: 0,\n },\n tools: {\n flex: 'none',\n gap: 6,\n alignItems: 'center',\n display: 'flex',\n marginInlineStart: 'auto',\n },\n /** Light only: the content area sits midway between the layout canvas and container white. */\n workspaceLight: {\n backgroundColor: `color-mix(in srgb, ${cssVar.colorBgLayout} 50%, ${cssVar.colorBgContainer})`,\n },\n workspace: {\n borderColor: {\n default: `color-mix(in srgb, ${cssVar.colorBorderSecondary} 70%, ${cssVar.colorBorder})`,\n [media.laptop]: 'currentcolor',\n },\n borderRadius: { default: cssVar.borderRadiusLG, [media.laptop]: 0 },\n borderStyle: { default: 'solid', [media.laptop]: 'none' },\n borderWidth: { default: 1, [media.laptop]: 'medium' },\n flex: '1',\n marginBlock: { default: WORKSPACE_INSET, [media.laptop]: 0 },\n marginInline: { default: `0 ${WORKSPACE_INSET}px`, [media.laptop]: 0 },\n overflow: 'hidden',\n backgroundColor: cssVar.colorBgContainer,\n boxShadow: { default: cssVar.boxShadowTertiary, [media.laptop]: 'none' },\n display: 'flex',\n flexDirection: 'column',\n minBlockSize: 0,\n minInlineSize: 0,\n },\n});\n"],"mappings":";;;;;AAmBA,MAAa,SAAS;CACpB,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,YAAY;EACV,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,aAAa;EACX,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,aAAa;EACX,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,SAAS;EACP,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,SAAS;EACP,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,kBAAkB;EAChB,QAAQ;EACR,OAAO;CACT;CACA,gBAAgB;EACd,QAAQ;EACR,OAAO;CACT;CACA,eAAe;EACb,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,UAAU;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,eAAe;EACb,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,YAAY;EACV,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,gBAAgB;EACd,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,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,QAAQ;EACR,OAAO;CACT;AACF"}
@@ -3,8 +3,8 @@ import { styleProps } from "../../styles/stylex/props.mjs";
3
3
  import Button from "../../Button/Button.mjs";
4
4
  import Drawer from "../../Drawer/Drawer.mjs";
5
5
  import DraggablePanel from "../../DraggablePanel/DraggablePanel.mjs";
6
- import { useSurfaceCardStyles } from "../Surface/link.mjs";
7
6
  import { useIsCompact, useLocalStorage } from "../hooks.mjs";
7
+ import { useSurfaceCardStyles } from "../Surface/link.mjs";
8
8
  import { FilterSplitProvider } from "./context.mjs";
9
9
  import { styles } from "./style.mjs";
10
10
  import { clampSidebarWidth, sidebarWidth } from "./width.mjs";
@@ -103,7 +103,7 @@ const styles = {
103
103
  },
104
104
  panel: {
105
105
  kVQacm: "lbb3r6kr",
106
- kBCPoo: "lb17bfco5",
106
+ kBCPoo: "lb1g588gv",
107
107
  k8ry5P: "lb18b5jzi",
108
108
  ke9TFa: "lb1lun4ml",
109
109
  k1xSpc: "lb78zum5",
@@ -113,7 +113,7 @@ const styles = {
113
113
  },
114
114
  panelSplit: {
115
115
  kZKoxP: "lb5yr21d",
116
- kBCPoo: "lb1aht071",
116
+ kBCPoo: "lb4huikl",
117
117
  $$css: true
118
118
  },
119
119
  row: {
@@ -1 +1 @@
1
- {"version":3,"file":"style.mjs","names":[],"sources":["../../../src/dashboard/FilterSidebar/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\nimport { media } from '@/styles/stylex/media.stylex';\n\nconst pressed = ':is([aria-pressed=\"true\"])';\n\nexport const styles = stylex.create({\n body: {\n paddingInline: 12,\n maxBlockSize: 360,\n paddingBlockEnd: 16,\n overflowY: 'auto',\n },\n bodyFlush: {\n flex: '1',\n maxBlockSize: 'none',\n minBlockSize: 0,\n },\n content: {\n flex: '1',\n gap: 16,\n overflow: { default: null, [media.laptop]: 'visible' },\n display: 'flex',\n flexDirection: 'column',\n minInlineSize: 0,\n paddingInlineStart: { default: 20, [media.laptop]: 0 },\n },\n contentFlush: {\n paddingBlock: 24,\n paddingInlineEnd: 24,\n paddingInlineStart: 24,\n overflowY: 'auto',\n },\n contentSplit: {\n paddingBlockEnd: '0',\n paddingBlockStart: '16px',\n paddingInlineEnd: 16,\n paddingInlineStart: 16,\n },\n count: {\n flex: 'none',\n color: cssVar.colorTextTertiary,\n fontSize: cssVar.fontSizeSM,\n fontVariantNumeric: 'tabular-nums',\n },\n drawerPanel: {\n gap: 8,\n display: 'flex',\n flexDirection: 'column',\n },\n head: {\n padding: 12,\n flex: 'none',\n gap: 8,\n display: 'flex',\n flexDirection: 'column',\n },\n layout: {\n gap: { default: null, [media.laptop]: 12 },\n display: 'flex',\n flexDirection: { default: null, [media.laptop]: 'column' },\n },\n layoutFlush: {\n flex: '1',\n minBlockSize: 0,\n },\n layoutSplit: {\n overflow: 'hidden',\n alignItems: 'stretch',\n },\n name: {\n flex: '1',\n overflow: 'hidden',\n minInlineSize: 0,\n textAlign: 'start',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n option: {\n font: 'inherit',\n borderColor: 'currentcolor',\n borderRadius: cssVar.borderRadius,\n borderStyle: 'none',\n borderWidth: 'medium',\n gap: 6,\n paddingInline: 8,\n alignItems: 'center',\n backgroundColor: {\n 'default': 'transparent',\n [pressed]: cssVar.controlItemBgActive,\n ':hover:not([aria-pressed=\"true\"])': cssVar.colorFillTertiary,\n },\n color: cssVar.colorText,\n cursor: 'pointer',\n display: 'flex',\n fontWeight: { default: null, [pressed]: 500 },\n inlineSize: '100%',\n minBlockSize: 36,\n },\n panel: {\n overflow: 'hidden',\n borderInlineEndColor: cssVar.colorBorderSecondary,\n borderInlineEndStyle: 'solid',\n borderInlineEndWidth: 1,\n display: 'flex',\n flexDirection: 'column',\n minBlockSize: 0,\n },\n panelSplit: {\n blockSize: '100%',\n borderInlineEndColor: cssVar.colorBorder,\n },\n row: {\n flex: '1',\n gap: 6,\n alignItems: 'center',\n display: 'flex',\n minInlineSize: 0,\n },\n sidebar: {\n alignSelf: 'stretch',\n minBlockSize: 0,\n },\n sidebarFlush: {\n blockSize: '100%',\n },\n});\n"],"mappings":";AAMA,MAAa,SAAS;CACpB,MAAM;EACJ,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,OAAO;CACT;CACA,SAAS;EACP,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,cAAc;EACZ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,cAAc;EACZ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,aAAa;EACX,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,aAAa;EACX,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,aAAa;EACX,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,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,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,YAAY;EACV,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,KAAK;EACH,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,SAAS;EACP,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,cAAc;EACZ,QAAQ;EACR,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"style.mjs","names":[],"sources":["../../../src/dashboard/FilterSidebar/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\nimport { media } from '@/styles/stylex/media.stylex';\n\nconst pressed = ':is([aria-pressed=\"true\"])';\n\nexport const styles = stylex.create({\n body: {\n paddingInline: 12,\n maxBlockSize: 360,\n paddingBlockEnd: 16,\n overflowY: 'auto',\n },\n bodyFlush: {\n flex: '1',\n maxBlockSize: 'none',\n minBlockSize: 0,\n },\n content: {\n flex: '1',\n gap: 16,\n overflow: { default: null, [media.laptop]: 'visible' },\n display: 'flex',\n flexDirection: 'column',\n minInlineSize: 0,\n paddingInlineStart: { default: 20, [media.laptop]: 0 },\n },\n contentFlush: {\n paddingBlock: 24,\n paddingInlineEnd: 24,\n paddingInlineStart: 24,\n overflowY: 'auto',\n },\n contentSplit: {\n paddingBlockEnd: '0',\n paddingBlockStart: '16px',\n paddingInlineEnd: 16,\n paddingInlineStart: 16,\n },\n count: {\n flex: 'none',\n color: cssVar.colorTextTertiary,\n fontSize: cssVar.fontSizeSM,\n fontVariantNumeric: 'tabular-nums',\n },\n drawerPanel: {\n gap: 8,\n display: 'flex',\n flexDirection: 'column',\n },\n head: {\n padding: 12,\n flex: 'none',\n gap: 8,\n display: 'flex',\n flexDirection: 'column',\n },\n layout: {\n gap: { default: null, [media.laptop]: 12 },\n display: 'flex',\n flexDirection: { default: null, [media.laptop]: 'column' },\n },\n layoutFlush: {\n flex: '1',\n minBlockSize: 0,\n },\n layoutSplit: {\n overflow: 'hidden',\n alignItems: 'stretch',\n },\n name: {\n flex: '1',\n overflow: 'hidden',\n minInlineSize: 0,\n textAlign: 'start',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n option: {\n font: 'inherit',\n borderColor: 'currentcolor',\n borderRadius: cssVar.borderRadius,\n borderStyle: 'none',\n borderWidth: 'medium',\n gap: 6,\n paddingInline: 8,\n alignItems: 'center',\n backgroundColor: {\n 'default': 'transparent',\n [pressed]: cssVar.controlItemBgActive,\n ':hover:not([aria-pressed=\"true\"])': cssVar.colorFillTertiary,\n },\n color: cssVar.colorText,\n cursor: 'pointer',\n display: 'flex',\n fontWeight: { default: null, [pressed]: 500 },\n inlineSize: '100%',\n minBlockSize: 36,\n },\n panel: {\n overflow: 'hidden',\n borderInlineEndColor: `var(--lobe-fill-border, ${cssVar.colorFill})`,\n borderInlineEndStyle: 'solid',\n borderInlineEndWidth: 1,\n display: 'flex',\n flexDirection: 'column',\n minBlockSize: 0,\n },\n panelSplit: {\n blockSize: '100%',\n borderInlineEndColor: `var(--lobe-fill-border-strong, ${cssVar.colorFill})`,\n },\n row: {\n flex: '1',\n gap: 6,\n alignItems: 'center',\n display: 'flex',\n minInlineSize: 0,\n },\n sidebar: {\n alignSelf: 'stretch',\n minBlockSize: 0,\n },\n sidebarFlush: {\n blockSize: '100%',\n },\n});\n"],"mappings":";AAMA,MAAa,SAAS;CACpB,MAAM;EACJ,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,OAAO;CACT;CACA,SAAS;EACP,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,cAAc;EACZ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,cAAc;EACZ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,aAAa;EACX,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,aAAa;EACX,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,aAAa;EACX,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,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,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,YAAY;EACV,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,KAAK;EACH,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,SAAS;EACP,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,cAAc;EACZ,QAAQ;EACR,OAAO;CACT;AACF"}
@@ -48,7 +48,7 @@ const styles = {
48
48
  $$css: true
49
49
  },
50
50
  frame: {
51
- "--filter-seam": "lb1osd58z",
51
+ "--filter-seam": "lb1iv4l33",
52
52
  kaIpWk: "lb1pjcqnp",
53
53
  kVQacm: "lbb3r6kr",
54
54
  $$css: true
@@ -1 +1 @@
1
- {"version":3,"file":"style.mjs","names":[],"sources":["../../../src/dashboard/FilterStrip/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\n\nexport const styles = stylex.create({\n cell: {\n 'font': 'inherit',\n 'margin': 0,\n 'borderWidth': 0,\n 'gap': 6,\n 'paddingInline': 16,\n 'alignItems': 'flex-start',\n 'backgroundColor': { 'default': 'transparent', ':hover': cssVar.colorFillQuaternary },\n 'boxShadow': 'inset -1px 0 0 var(--filter-seam), inset 0 -1px 0 var(--filter-seam)',\n 'color': 'inherit',\n 'cursor': 'pointer',\n 'display': 'flex',\n 'flexDirection': 'column',\n 'minInlineSize': 0,\n 'paddingBlockEnd': 16,\n 'paddingBlockStart': 14,\n 'position': 'relative',\n 'textAlign': 'start',\n '::after': {\n insetInline: 0,\n backgroundColor: 'transparent',\n blockSize: 3,\n content: '\"\"',\n insetBlockEnd: 1,\n position: 'absolute',\n },\n },\n cellActive: {\n 'backgroundColor': cssVar.colorFillTertiary,\n '::after': {\n backgroundColor: cssVar.colorText,\n },\n },\n count: {\n color: cssVar.colorText,\n fontSize: cssVar.fontSizeHeading4,\n fontVariantNumeric: 'tabular-nums',\n fontWeight: 600,\n lineHeight: 1.15,\n },\n countDanger: {\n color: cssVar.colorError,\n },\n countWarning: {\n color: cssVar.colorWarning,\n },\n frame: {\n '--filter-seam': cssVar.colorFillSecondary,\n 'borderRadius': 'inherit',\n 'overflow': 'hidden',\n },\n grid: {\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fit, minmax(148px, 1fr))',\n inlineSize: 'calc(100% + 1px)',\n marginBlockEnd: -1,\n },\n label: {\n color: cssVar.colorTextSecondary,\n fontSize: 13,\n fontWeight: 500,\n lineHeight: 1.4,\n },\n labelActive: {\n color: cssVar.colorText,\n },\n});\n"],"mappings":";AAGA,MAAa,SAAS;CACpB,MAAM;EACJ,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,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,YAAY;EACV,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,aAAa;EACX,QAAQ;EACR,OAAO;CACT;CACA,cAAc;EACZ,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,iBAAiB;EACjB,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,aAAa;EACX,QAAQ;EACR,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"style.mjs","names":[],"sources":["../../../src/dashboard/FilterStrip/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\n\nexport const styles = stylex.create({\n cell: {\n 'font': 'inherit',\n 'margin': 0,\n 'borderWidth': 0,\n 'gap': 6,\n 'paddingInline': 16,\n 'alignItems': 'flex-start',\n 'backgroundColor': { 'default': 'transparent', ':hover': cssVar.colorFillQuaternary },\n 'boxShadow': 'inset -1px 0 0 var(--filter-seam), inset 0 -1px 0 var(--filter-seam)',\n 'color': 'inherit',\n 'cursor': 'pointer',\n 'display': 'flex',\n 'flexDirection': 'column',\n 'minInlineSize': 0,\n 'paddingBlockEnd': 16,\n 'paddingBlockStart': 14,\n 'position': 'relative',\n 'textAlign': 'start',\n '::after': {\n insetInline: 0,\n backgroundColor: 'transparent',\n blockSize: 3,\n content: '\"\"',\n insetBlockEnd: 1,\n position: 'absolute',\n },\n },\n cellActive: {\n 'backgroundColor': cssVar.colorFillTertiary,\n '::after': {\n backgroundColor: cssVar.colorText,\n },\n },\n count: {\n color: cssVar.colorText,\n fontSize: cssVar.fontSizeHeading4,\n fontVariantNumeric: 'tabular-nums',\n fontWeight: 600,\n lineHeight: 1.15,\n },\n countDanger: {\n color: cssVar.colorError,\n },\n countWarning: {\n color: cssVar.colorWarning,\n },\n frame: {\n '--filter-seam': `var(--lobe-fill-border, ${cssVar.colorFill})`,\n 'borderRadius': 'inherit',\n 'overflow': 'hidden',\n },\n grid: {\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fit, minmax(148px, 1fr))',\n inlineSize: 'calc(100% + 1px)',\n marginBlockEnd: -1,\n },\n label: {\n color: cssVar.colorTextSecondary,\n fontSize: 13,\n fontWeight: 500,\n lineHeight: 1.4,\n },\n labelActive: {\n color: cssVar.colorText,\n },\n});\n"],"mappings":";AAGA,MAAa,SAAS;CACpB,MAAM;EACJ,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,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,YAAY;EACV,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,aAAa;EACX,QAAQ;EACR,OAAO;CACT;CACA,cAAc;EACZ,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,iBAAiB;EACjB,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,aAAa;EACX,QAAQ;EACR,OAAO;CACT;AACF"}
@@ -14,20 +14,27 @@ const deltaStyles = {
14
14
  const MetricBody = ({ item, loading }) => /* @__PURE__ */ jsxs(Fragment, { children: [
15
15
  /* @__PURE__ */ jsxs("div", {
16
16
  ...stylex.props(styles.head),
17
- children: [/* @__PURE__ */ jsxs("div", {
18
- ...stylex.props(styles.headCopy),
19
- children: [/* @__PURE__ */ jsx("div", {
20
- ...stylex.props(styles.label),
21
- children: item.label
22
- }), item.action]
23
- }), item.mark ? /* @__PURE__ */ jsx("span", {
24
- "aria-hidden": true,
25
- ...stylex.props(styles.mark),
26
- children: /* @__PURE__ */ jsx(Icon, {
27
- icon: item.mark,
28
- size: 14
29
- })
30
- }) : null]
17
+ children: [
18
+ /* @__PURE__ */ jsx("div", {
19
+ ...stylex.props(styles.headCopy),
20
+ children: /* @__PURE__ */ jsx("div", {
21
+ ...stylex.props(styles.label),
22
+ children: item.label
23
+ })
24
+ }),
25
+ item.action ? /* @__PURE__ */ jsx("div", {
26
+ ...stylex.props(styles.headAction),
27
+ children: item.action
28
+ }) : null,
29
+ item.mark ? /* @__PURE__ */ jsx("span", {
30
+ "aria-hidden": true,
31
+ ...stylex.props(styles.mark),
32
+ children: /* @__PURE__ */ jsx(Icon, {
33
+ icon: item.mark,
34
+ size: 14
35
+ })
36
+ }) : null
37
+ ]
31
38
  }),
32
39
  loading ? /* @__PURE__ */ jsx(Skeleton, {
33
40
  height: 28,
@@ -46,6 +53,10 @@ const MetricBody = ({ item, loading }) => /* @__PURE__ */ jsxs(Fragment, { child
46
53
  ...stylex.props(styles.hint),
47
54
  children: item.hint
48
55
  }) : null]
56
+ }) : null,
57
+ !loading && item.chart ? /* @__PURE__ */ jsx("div", {
58
+ ...stylex.props(styles.chart),
59
+ children: item.chart
49
60
  }) : null
50
61
  ] });
51
62
  /** One metric: label row, figure, delta and hint. Shared by MetricStrip and StatCard. */
@@ -1 +1 @@
1
- {"version":3,"file":"MetricCell.mjs","names":[],"sources":["../../../src/dashboard/MetricStrip/MetricCell.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\n\nimport Icon from '@/Icon';\nimport Skeleton from '@/Skeleton';\n\nimport { useSurfaceLink } from '../Surface/link';\nimport type { SurfaceRenderLink } from '../Surface/type';\nimport { styles } from './style';\nimport type { MetricItem } from './type';\n\nconst deltaStyles = {\n down: styles.deltaDown,\n flat: styles.deltaFlat,\n up: styles.deltaUp,\n} as const;\n\nconst MetricBody = ({ item, loading }: { item: MetricItem; loading?: boolean }) => (\n <>\n <div {...stylex.props(styles.head)}>\n <div {...stylex.props(styles.headCopy)}>\n <div {...stylex.props(styles.label)}>{item.label}</div>\n {item.action}\n </div>\n {item.mark ? (\n <span aria-hidden {...stylex.props(styles.mark)}>\n <Icon icon={item.mark} size={14} />\n </span>\n ) : null}\n </div>\n {loading ? (\n <Skeleton height={28} radius={6} width={88} />\n ) : (\n <div\n {...stylex.props(\n styles.value,\n item.valueTone === 'danger' && styles.valueDanger,\n item.valueTone === 'warning' && styles.valueWarning,\n )}\n >\n {item.value}\n </div>\n )}\n {!loading && (item.delta || item.hint) ? (\n <div {...stylex.props(styles.foot)}>\n {item.delta ? (\n <span {...stylex.props(styles.delta, deltaStyles[item.direction ?? 'flat'])}>\n {item.delta}\n </span>\n ) : null}\n {item.hint ? <span {...stylex.props(styles.hint)}>{item.hint}</span> : null}\n </div>\n ) : null}\n </>\n);\n\nexport interface MetricCellProps {\n item: MetricItem;\n loading?: boolean;\n renderLink?: SurfaceRenderLink;\n /** Draw the joined-strip divider on the trailing and bottom edges. */\n seam?: boolean;\n}\n\n/** One metric: label row, figure, delta and hint. Shared by MetricStrip and StatCard. */\nconst MetricCell = ({ item, loading, renderLink, seam = false }: MetricCellProps) => {\n const link = useSurfaceLink(renderLink);\n const body = <MetricBody item={item} loading={item.loading ?? loading} />;\n const cell = [styles.cell, seam && styles.cellSeam];\n\n if (item.href) {\n return (\n <div {...stylex.props(styles.slot)}>\n {link({\n children: body,\n className: stylex.props(cell, styles.link).className,\n href: item.href,\n })}\n </div>\n );\n }\n if (item.onClick) {\n return (\n <button type=\"button\" onClick={item.onClick} {...stylex.props(cell, styles.press)}>\n {body}\n </button>\n );\n }\n return <div {...stylex.props(cell)}>{body}</div>;\n};\n\nexport default MetricCell;\n"],"mappings":";;;;;;;;AASA,MAAM,cAAc;CAClB,MAAM,OAAO;CACb,MAAM,OAAO;CACb,IAAI,OAAO;AACb;AACA,MAAM,cAAc,EAClB,MACA,cAII,qBAAA,UAAA,EAAA,UAAA;CACF,qBAAC,OAAD;EAAK,GAAI,OAAO,MAAM,OAAO,IAAI;EAAjC,UAAA,CACE,qBAAC,OAAD;GAAK,GAAI,OAAO,MAAM,OAAO,QAAQ;GAArC,UAAA,CACE,oBAAC,OAAD;IAAK,GAAI,OAAO,MAAM,OAAO,KAAK;IAAI,UAAA,KAAK;GAAW,CAAA,GACrD,KAAK,MACH;EACJ,CAAA,GAAA,KAAK,OAAO,oBAAC,QAAD;GAAM,eAAA;GAAY,GAAI,OAAO,MAAM,OAAO,IAAI;GACvD,UAAA,oBAAC,MAAD;IAAM,MAAM,KAAK;IAAM,MAAM;GAAK,CAAA;EAC9B,CAAA,IAAI,IACT;;CACJ,UAAU,oBAAC,UAAD;EAAU,QAAQ;EAAI,QAAQ;EAAG,OAAO;CAAK,CAAA,IAAI,oBAAC,OAAD;EAAK,GAAI,OAAO,MAAM,OAAO,OAAO,KAAK,cAAc,YAAY,OAAO,aAAa,KAAK,cAAc,aAAa,OAAO,YAAY;EACjM,UAAA,KAAK;CACH,CAAA;CACN,CAAC,YAAY,KAAK,SAAS,KAAK,QAAQ,qBAAC,OAAD;EAAK,GAAI,OAAO,MAAM,OAAO,IAAI;EAAjC,UAAA,CACpC,KAAK,QAAQ,oBAAC,QAAD;GAAM,GAAI,OAAO,MAAM,OAAO,OAAO,YAAY,KAAK,aAAa,OAAO;GACnF,UAAA,KAAK;EACF,CAAA,IAAI,MACX,KAAK,OAAO,oBAAC,QAAD;GAAM,GAAI,OAAO,MAAM,OAAO,IAAI;GAAI,UAAA,KAAK;EAAW,CAAA,IAAI,IACpE;CAAI,CAAA,IAAA;AACX,EAAA,CAAA;;AAUJ,MAAM,cAAc,EAClB,MACA,SACA,YACA,OAAO,YACc;CACrB,MAAM,OAAO,eAAe,UAAU;CACtC,MAAM,OAAO,oBAAC,YAAD;EAAkB;EAAM,SAAS,KAAK,WAAW;CAAU,CAAA;CACxE,MAAM,OAAO,CAAC,OAAO,MAAM,QAAQ,OAAO,QAAQ;CAClD,IAAI,KAAK,MACP,OAAO,oBAAC,OAAD;EAAK,GAAI,OAAO,MAAM,OAAO,IAAI;EACnC,UAAA,KAAK;GACN,UAAU;GACV,WAAW,OAAO,MAAM,MAAM,OAAO,IAAI,CAAC,CAAC;GAC3C,MAAM,KAAK;EACb,CAAC;CACI,CAAA;CAET,IAAI,KAAK,SACP,OAAO,oBAAC,UAAD;EAAQ,MAAK;EAAS,SAAS,KAAK;EAAS,GAAI,OAAO,MAAM,MAAM,OAAO,KAAK;EAClF,UAAA;CACK,CAAA;CAEZ,OAAO,oBAAC,OAAD;EAAK,GAAI,OAAO,MAAM,IAAI;EAAI,UAAA;CAAU,CAAA;AACjD"}
1
+ {"version":3,"file":"MetricCell.mjs","names":[],"sources":["../../../src/dashboard/MetricStrip/MetricCell.tsx"],"sourcesContent":["'use client';\n\nimport * as stylex from '@stylexjs/stylex';\n\nimport Icon from '@/Icon';\nimport Skeleton from '@/Skeleton';\n\nimport { useSurfaceLink } from '../Surface/link';\nimport type { SurfaceRenderLink } from '../Surface/type';\nimport { styles } from './style';\nimport type { MetricItem } from './type';\n\nconst deltaStyles = {\n down: styles.deltaDown,\n flat: styles.deltaFlat,\n up: styles.deltaUp,\n} as const;\n\nconst MetricBody = ({ item, loading }: { item: MetricItem; loading?: boolean }) => (\n <>\n <div {...stylex.props(styles.head)}>\n <div {...stylex.props(styles.headCopy)}>\n <div {...stylex.props(styles.label)}>{item.label}</div>\n </div>\n {item.action ? <div {...stylex.props(styles.headAction)}>{item.action}</div> : null}\n {item.mark ? (\n <span aria-hidden {...stylex.props(styles.mark)}>\n <Icon icon={item.mark} size={14} />\n </span>\n ) : null}\n </div>\n {loading ? (\n <Skeleton height={28} radius={6} width={88} />\n ) : (\n <div\n {...stylex.props(\n styles.value,\n item.valueTone === 'danger' && styles.valueDanger,\n item.valueTone === 'warning' && styles.valueWarning,\n )}\n >\n {item.value}\n </div>\n )}\n {!loading && (item.delta || item.hint) ? (\n <div {...stylex.props(styles.foot)}>\n {item.delta ? (\n <span {...stylex.props(styles.delta, deltaStyles[item.direction ?? 'flat'])}>\n {item.delta}\n </span>\n ) : null}\n {item.hint ? <span {...stylex.props(styles.hint)}>{item.hint}</span> : null}\n </div>\n ) : null}\n {!loading && item.chart ? <div {...stylex.props(styles.chart)}>{item.chart}</div> : null}\n </>\n);\n\nexport interface MetricCellProps {\n item: MetricItem;\n loading?: boolean;\n renderLink?: SurfaceRenderLink;\n /** Draw the joined-strip divider on the trailing and bottom edges. */\n seam?: boolean;\n}\n\n/** One metric: label row, figure, delta and hint. Shared by MetricStrip and StatCard. */\nconst MetricCell = ({ item, loading, renderLink, seam = false }: MetricCellProps) => {\n const link = useSurfaceLink(renderLink);\n const body = <MetricBody item={item} loading={item.loading ?? loading} />;\n const cell = [styles.cell, seam && styles.cellSeam];\n\n if (item.href) {\n return (\n <div {...stylex.props(styles.slot)}>\n {link({\n children: body,\n className: stylex.props(cell, styles.link).className,\n href: item.href,\n })}\n </div>\n );\n }\n if (item.onClick) {\n return (\n <button type=\"button\" onClick={item.onClick} {...stylex.props(cell, styles.press)}>\n {body}\n </button>\n );\n }\n return <div {...stylex.props(cell)}>{body}</div>;\n};\n\nexport default MetricCell;\n"],"mappings":";;;;;;;;AASA,MAAM,cAAc;CAClB,MAAM,OAAO;CACb,MAAM,OAAO;CACb,IAAI,OAAO;AACb;AACA,MAAM,cAAc,EAClB,MACA,cAII,qBAAA,UAAA,EAAA,UAAA;CACF,qBAAC,OAAD;EAAK,GAAI,OAAO,MAAM,OAAO,IAAI;EAAjC,UAAA;GACE,oBAAC,OAAD;IAAK,GAAI,OAAO,MAAM,OAAO,QAAQ;IACnC,UAAA,oBAAC,OAAD;KAAK,GAAI,OAAO,MAAM,OAAO,KAAK;KAAI,UAAA,KAAK;IAAW,CAAA;GACnD,CAAA;GACJ,KAAK,SAAS,oBAAC,OAAD;IAAK,GAAI,OAAO,MAAM,OAAO,UAAU;IAAI,UAAA,KAAK;GAAY,CAAA,IAAI;GAC9E,KAAK,OAAO,oBAAC,QAAD;IAAM,eAAA;IAAY,GAAI,OAAO,MAAM,OAAO,IAAI;IACvD,UAAA,oBAAC,MAAD;KAAM,MAAM,KAAK;KAAM,MAAM;IAAK,CAAA;GAC9B,CAAA,IAAI;EACT;;CACJ,UAAU,oBAAC,UAAD;EAAU,QAAQ;EAAI,QAAQ;EAAG,OAAO;CAAK,CAAA,IAAI,oBAAC,OAAD;EAAK,GAAI,OAAO,MAAM,OAAO,OAAO,KAAK,cAAc,YAAY,OAAO,aAAa,KAAK,cAAc,aAAa,OAAO,YAAY;EACjM,UAAA,KAAK;CACH,CAAA;CACN,CAAC,YAAY,KAAK,SAAS,KAAK,QAAQ,qBAAC,OAAD;EAAK,GAAI,OAAO,MAAM,OAAO,IAAI;EAAjC,UAAA,CACpC,KAAK,QAAQ,oBAAC,QAAD;GAAM,GAAI,OAAO,MAAM,OAAO,OAAO,YAAY,KAAK,aAAa,OAAO;GACnF,UAAA,KAAK;EACF,CAAA,IAAI,MACX,KAAK,OAAO,oBAAC,QAAD;GAAM,GAAI,OAAO,MAAM,OAAO,IAAI;GAAI,UAAA,KAAK;EAAW,CAAA,IAAI,IACpE;CAAI,CAAA,IAAA;CACV,CAAC,WAAW,KAAK,QAAQ,oBAAC,OAAD;EAAK,GAAI,OAAO,MAAM,OAAO,KAAK;EAAI,UAAA,KAAK;CAAW,CAAA,IAAI;AACpF,EAAA,CAAA;;AAUJ,MAAM,cAAc,EAClB,MACA,SACA,YACA,OAAO,YACc;CACrB,MAAM,OAAO,eAAe,UAAU;CACtC,MAAM,OAAO,oBAAC,YAAD;EAAkB;EAAM,SAAS,KAAK,WAAW;CAAU,CAAA;CACxE,MAAM,OAAO,CAAC,OAAO,MAAM,QAAQ,OAAO,QAAQ;CAClD,IAAI,KAAK,MACP,OAAO,oBAAC,OAAD;EAAK,GAAI,OAAO,MAAM,OAAO,IAAI;EACnC,UAAA,KAAK;GACN,UAAU;GACV,WAAW,OAAO,MAAM,MAAM,OAAO,IAAI,CAAC,CAAC;GAC3C,MAAM,KAAK;EACb,CAAC;CACI,CAAA;CAET,IAAI,KAAK,SACP,OAAO,oBAAC,UAAD;EAAQ,MAAK;EAAS,SAAS,KAAK;EAAS,GAAI,OAAO,MAAM,MAAM,OAAO,KAAK;EAClF,UAAA;CACK,CAAA;CAEZ,OAAO,oBAAC,OAAD;EAAK,GAAI,OAAO,MAAM,IAAI;EAAI,UAAA;CAAU,CAAA;AACjD"}
@@ -45,7 +45,7 @@ const styles = {
45
45
  $$css: true
46
46
  },
47
47
  frame: {
48
- "--metric-seam": "lbgo1hwp",
48
+ "--metric-seam": "lbecsxsy",
49
49
  kaIpWk: "lb1pjcqnp",
50
50
  kVQacm: "lbb3r6kr",
51
51
  kWkggS: "lbjbqb8w",
@@ -70,12 +70,25 @@ const styles = {
70
70
  $$css: true
71
71
  },
72
72
  headCopy: {
73
+ kUk6DE: "lb98rzlu",
73
74
  kOIVth: "lb17d4w8g",
74
75
  kGNEyG: "lb6s0dn4",
75
76
  k1xSpc: "lb78zum5",
76
77
  k7Eaqz: "lbeuugli",
77
78
  $$css: true
78
79
  },
80
+ headAction: {
81
+ kUk6DE: "lb1okw0bk",
82
+ kGNEyG: "lb6s0dn4",
83
+ k1xSpc: "lb78zum5",
84
+ $$css: true
85
+ },
86
+ chart: {
87
+ kzqmXN: "lbh8yej3",
88
+ keoZOQ: "lb1k70j0n",
89
+ k7Eaqz: "lbeuugli",
90
+ $$css: true
91
+ },
79
92
  hint: {
80
93
  kMwMTN: "lbc77et8",
81
94
  kGuDYH: "lb4z9k3i",
@@ -1 +1 @@
1
- {"version":3,"file":"style.mjs","names":[],"sources":["../../../src/dashboard/MetricStrip/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\n\nexport const styles = stylex.create({\n /** Split strip and StatCard: one card per item. */\n card: {\n display: 'grid',\n minInlineSize: 0,\n },\n cell: {\n gap: 6,\n paddingBlock: 16,\n paddingInline: 20,\n backgroundColor: 'transparent',\n display: 'flex',\n flexDirection: 'column',\n minInlineSize: 0,\n },\n /** Joined strip only: the divider on the cell's trailing and bottom edges. */\n cellSeam: {\n boxShadow: 'inset -1px 0 0 var(--metric-seam), inset 0 -1px 0 var(--metric-seam)',\n },\n delta: {\n fontSize: 13,\n fontVariantNumeric: 'tabular-nums',\n lineHeight: 1.4,\n },\n deltaDown: {\n color: cssVar.colorError,\n },\n deltaFlat: {\n color: cssVar.colorTextSecondary,\n },\n deltaUp: {\n color: cssVar.colorSuccess,\n },\n foot: {\n gap: 8,\n alignItems: 'baseline',\n display: 'flex',\n flexWrap: 'wrap',\n },\n /**\n * Clips the seam that would otherwise sit on the card's trailing and bottom\n * edges. A short last row used to show the seam color across the empty\n * track, which reads louder than the cells.\n */\n frame: {\n '--metric-seam': cssVar.colorFillSecondary,\n 'borderRadius': 'inherit',\n 'overflow': 'hidden',\n 'backgroundColor': 'transparent',\n },\n grid: {\n backgroundColor: 'transparent',\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fit, minmax(180px, 1fr))',\n inlineSize: 'calc(100% + 1px)',\n marginBlockEnd: -1,\n },\n /* One fixed 32px row (a small Segmented or ActionIcon fits): an action or mark in the head must\n not push the value down, so cells with and without header controls line up across a split\n strip or a row of StatCards. */\n head: {\n gap: 8,\n alignItems: 'center',\n blockSize: 32,\n boxSizing: 'border-box',\n display: 'flex',\n justifyContent: 'space-between',\n minInlineSize: 0,\n },\n headCopy: {\n gap: 6,\n alignItems: 'center',\n display: 'flex',\n minInlineSize: 0,\n },\n hint: {\n color: cssVar.colorTextSecondary,\n fontSize: 13,\n lineHeight: 1.4,\n },\n label: {\n color: cssVar.colorTextSecondary,\n fontSize: 13,\n fontWeight: 500,\n lineHeight: 1.4,\n },\n link: {\n textDecoration: 'none',\n backgroundColor: { 'default': 'transparent', ':hover': cssVar.colorFillQuaternary },\n color: 'inherit',\n },\n mark: {\n borderColor: cssVar.colorFillSecondary,\n borderRadius: cssVar.borderRadiusSM,\n borderStyle: 'solid',\n borderWidth: 1,\n flex: 'none',\n alignItems: 'center',\n backgroundColor: cssVar.colorFillTertiary,\n blockSize: 24,\n color: cssVar.colorTextTertiary,\n display: 'inline-flex',\n inlineSize: 24,\n justifyContent: 'center',\n },\n press: {\n font: 'inherit',\n borderStyle: 'none',\n backgroundColor: { 'default': 'transparent', ':hover': cssVar.colorFillQuaternary },\n color: 'inherit',\n cursor: 'pointer',\n textAlign: 'start',\n },\n /** Grid cell around a rendered link, so the link fills it. */\n slot: {\n display: 'grid',\n minInlineSize: 0,\n },\n split: {\n gap: 12,\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fit, minmax(180px, 1fr))',\n },\n value: {\n overflow: 'hidden',\n color: cssVar.colorText,\n fontSize: cssVar.fontSizeHeading3,\n fontVariantNumeric: 'tabular-nums',\n fontWeight: 600,\n lineHeight: 1.15,\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n valueDanger: {\n color: cssVar.colorError,\n },\n valueWarning: {\n color: cssVar.colorWarning,\n },\n});\n"],"mappings":";AAGA,MAAa,SAAS;CACpB,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,UAAU;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,OAAO;CACT;CACA,SAAS;EACP,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,iBAAiB;EACjB,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,UAAU;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,aAAa;EACX,QAAQ;EACR,OAAO;CACT;CACA,cAAc;EACZ,QAAQ;EACR,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"style.mjs","names":[],"sources":["../../../src/dashboard/MetricStrip/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\n\nexport const styles = stylex.create({\n /** Split strip and StatCard: one card per item. */\n card: {\n display: 'grid',\n minInlineSize: 0,\n },\n cell: {\n gap: 6,\n paddingBlock: 16,\n paddingInline: 20,\n backgroundColor: 'transparent',\n display: 'flex',\n flexDirection: 'column',\n minInlineSize: 0,\n },\n /** Joined strip only: the divider on the cell's trailing and bottom edges. */\n cellSeam: {\n boxShadow: 'inset -1px 0 0 var(--metric-seam), inset 0 -1px 0 var(--metric-seam)',\n },\n delta: {\n fontSize: 13,\n fontVariantNumeric: 'tabular-nums',\n lineHeight: 1.4,\n },\n deltaDown: {\n color: cssVar.colorError,\n },\n deltaFlat: {\n color: cssVar.colorTextSecondary,\n },\n deltaUp: {\n color: cssVar.colorSuccess,\n },\n foot: {\n gap: 8,\n alignItems: 'baseline',\n display: 'flex',\n flexWrap: 'wrap',\n },\n /**\n * Clips the seam that would otherwise sit on the card's trailing and bottom\n * edges. A short last row used to show the seam color across the empty\n * track, which reads louder than the cells.\n */\n frame: {\n '--metric-seam': `var(--lobe-fill-border, ${cssVar.colorFill})`,\n 'borderRadius': 'inherit',\n 'overflow': 'hidden',\n 'backgroundColor': 'transparent',\n },\n grid: {\n backgroundColor: 'transparent',\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fit, minmax(180px, 1fr))',\n inlineSize: 'calc(100% + 1px)',\n marginBlockEnd: -1,\n },\n /* One fixed 32px row (a small Segmented or ActionIcon fits): an action or mark in the head must\n not push the value down, so cells with and without header controls line up across a split\n strip or a row of StatCards. */\n head: {\n gap: 8,\n alignItems: 'center',\n blockSize: 32,\n boxSizing: 'border-box',\n display: 'flex',\n justifyContent: 'space-between',\n minInlineSize: 0,\n },\n headCopy: {\n flex: '1',\n gap: 6,\n alignItems: 'center',\n display: 'flex',\n minInlineSize: 0,\n },\n headAction: {\n flex: 'none',\n alignItems: 'center',\n display: 'flex',\n },\n chart: {\n inlineSize: '100%',\n marginBlockStart: 6,\n minInlineSize: 0,\n },\n hint: {\n color: cssVar.colorTextSecondary,\n fontSize: 13,\n lineHeight: 1.4,\n },\n label: {\n color: cssVar.colorTextSecondary,\n fontSize: 13,\n fontWeight: 500,\n lineHeight: 1.4,\n },\n link: {\n textDecoration: 'none',\n backgroundColor: { 'default': 'transparent', ':hover': cssVar.colorFillQuaternary },\n color: 'inherit',\n },\n mark: {\n borderColor: cssVar.colorFillSecondary,\n borderRadius: cssVar.borderRadiusSM,\n borderStyle: 'solid',\n borderWidth: 1,\n flex: 'none',\n alignItems: 'center',\n backgroundColor: cssVar.colorFillTertiary,\n blockSize: 24,\n color: cssVar.colorTextTertiary,\n display: 'inline-flex',\n inlineSize: 24,\n justifyContent: 'center',\n },\n press: {\n font: 'inherit',\n borderStyle: 'none',\n backgroundColor: { 'default': 'transparent', ':hover': cssVar.colorFillQuaternary },\n color: 'inherit',\n cursor: 'pointer',\n textAlign: 'start',\n },\n /** Grid cell around a rendered link, so the link fills it. */\n slot: {\n display: 'grid',\n minInlineSize: 0,\n },\n split: {\n gap: 12,\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fit, minmax(180px, 1fr))',\n },\n value: {\n overflow: 'hidden',\n color: cssVar.colorText,\n fontSize: cssVar.fontSizeHeading3,\n fontVariantNumeric: 'tabular-nums',\n fontWeight: 600,\n lineHeight: 1.15,\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n valueDanger: {\n color: cssVar.colorError,\n },\n valueWarning: {\n color: cssVar.colorWarning,\n },\n});\n"],"mappings":";AAGA,MAAa,SAAS;CACpB,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,UAAU;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,OAAO;CACT;CACA,SAAS;EACP,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,iBAAiB;EACjB,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,UAAU;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,YAAY;EACV,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,aAAa;EACX,QAAQ;EACR,OAAO;CACT;CACA,cAAc;EACZ,QAAQ;EACR,OAAO;CACT;AACF"}
@@ -6,6 +6,8 @@ import { ReactNode } from "react";
6
6
  export interface MetricItem {
7
7
  /** Control on the label row, such as a menu. */
8
8
  action?: ReactNode;
9
+ /** Full-width chart (sparkline, area) under the delta and hint. */
10
+ chart?: ReactNode;
9
11
  delta?: ReactNode;
10
12
  direction?: 'up' | 'down' | 'flat';
11
13
  hint?: ReactNode;
@@ -44,7 +44,7 @@ const styles = {
44
44
  k8WAf4: "lb10dr8xq",
45
45
  kg3NbH: "lb1hr3lfm",
46
46
  kGNEyG: "lb6s0dn4",
47
- kL6WhQ: "lb1ak05nl lb1wdpdt8",
47
+ kL6WhQ: "lb1fmh5c5 lb1wdpdt8",
48
48
  kfdmCh: "lb1q0q8m5 lb14tvv71",
49
49
  kt9PQ7: "lbso031l lb4vq4ti",
50
50
  k1xSpc: "lb78zum5",
@@ -62,6 +62,7 @@ const styles = {
62
62
  },
63
63
  stat: {
64
64
  kmVPX3: "lb1tamke2",
65
+ kVQacm: "lb7giv3",
65
66
  k1xSpc: "lb78zum5",
66
67
  kXwgrk: "lbdt5ytf",
67
68
  $$css: true
@@ -1 +1 @@
1
- {"version":3,"file":"style.mjs","names":[],"sources":["../../../src/dashboard/PageSkeleton/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\nimport { media } from '@/styles/stylex/media.stylex';\n\nexport const styles = stylex.create({\n action: {\n flex: 'none',\n blockSize: { default: 32, [media.mobile]: 44 },\n inlineSize: { default: 96, [media.mobile]: '100%' },\n },\n cell: {\n flex: 'none',\n blockSize: 14,\n inlineSize: 88,\n },\n copy: {\n flex: '1',\n minInlineSize: 0,\n },\n header: {\n gap: 16,\n alignItems: { default: 'flex-start', [media.mobile]: 'stretch' },\n display: 'flex',\n flexDirection: { default: null, [media.mobile]: 'column' },\n justifyContent: 'space-between',\n },\n headerCopy: {\n flex: '1',\n gap: 8,\n display: 'flex',\n flexDirection: 'column',\n minInlineSize: 0,\n },\n page: {\n gap: 20,\n display: 'flex',\n flexDirection: 'column',\n },\n row: {\n gap: 12,\n paddingBlock: 12,\n paddingInline: 16,\n alignItems: 'center',\n borderBlockEndColor: { 'default': cssVar.colorFillSecondary, ':last-child': 'currentcolor' },\n borderBlockEndStyle: { 'default': 'solid', ':last-child': 'none' },\n borderBlockEndWidth: { 'default': 1, ':last-child': 'medium' },\n display: 'flex',\n minBlockSize: 54,\n },\n srOnly: {\n overflow: 'hidden',\n blockSize: 1,\n clipPath: 'inset(50%)',\n inlineSize: 1,\n position: 'absolute',\n whiteSpace: 'nowrap',\n },\n stat: {\n padding: 16,\n display: 'flex',\n flexDirection: 'column',\n },\n statGrid: {\n gap: 12,\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fit, minmax(180px, 1fr))',\n },\n statValue: {\n blockSize: cssVar.fontSizeHeading2,\n inlineSize: '42%',\n marginBlockEnd: '14px',\n marginBlockStart: '6px',\n },\n table: {\n overflow: 'hidden',\n minInlineSize: 0,\n },\n tag: {\n flex: 'none',\n blockSize: 22,\n inlineSize: 72,\n },\n thead: {\n gap: 12,\n paddingBlock: 10,\n paddingInline: 16,\n alignItems: 'center',\n backgroundColor: cssVar.colorFillTertiary,\n display: 'flex',\n minBlockSize: 39,\n },\n theadCell: {\n flex: 'none',\n blockSize: 12,\n },\n title: {\n blockSize: cssVar.fontSizeHeading3,\n inlineSize: 220,\n maxInlineSize: '70%',\n },\n});\n"],"mappings":";AAKA,MAAa,SAAS;CACpB,QAAQ;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,YAAY;EACV,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,KAAK;EACH,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,UAAU;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,KAAK;EACH,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;AACF"}
1
+ {"version":3,"file":"style.mjs","names":[],"sources":["../../../src/dashboard/PageSkeleton/style.ts"],"sourcesContent":["import * as stylex from '@stylexjs/stylex';\n\nimport { cssVar } from '@/styles/stylex/cssVar.stylex';\nimport { media } from '@/styles/stylex/media.stylex';\n\nexport const styles = stylex.create({\n action: {\n flex: 'none',\n blockSize: { default: 32, [media.mobile]: 44 },\n inlineSize: { default: 96, [media.mobile]: '100%' },\n },\n cell: {\n flex: 'none',\n blockSize: 14,\n inlineSize: 88,\n },\n copy: {\n flex: '1',\n minInlineSize: 0,\n },\n header: {\n gap: 16,\n alignItems: { default: 'flex-start', [media.mobile]: 'stretch' },\n display: 'flex',\n flexDirection: { default: null, [media.mobile]: 'column' },\n justifyContent: 'space-between',\n },\n headerCopy: {\n flex: '1',\n gap: 8,\n display: 'flex',\n flexDirection: 'column',\n minInlineSize: 0,\n },\n page: {\n gap: 20,\n display: 'flex',\n flexDirection: 'column',\n },\n row: {\n gap: 12,\n paddingBlock: 12,\n paddingInline: 16,\n alignItems: 'center',\n borderBlockEndColor: {\n 'default': `var(--lobe-fill-border, ${cssVar.colorFill})`,\n ':last-child': 'currentcolor',\n },\n borderBlockEndStyle: { 'default': 'solid', ':last-child': 'none' },\n borderBlockEndWidth: { 'default': 1, ':last-child': 'medium' },\n display: 'flex',\n minBlockSize: 54,\n },\n srOnly: {\n overflow: 'hidden',\n blockSize: 1,\n clipPath: 'inset(50%)',\n inlineSize: 1,\n position: 'absolute',\n whiteSpace: 'nowrap',\n },\n stat: {\n padding: 16,\n overflow: 'clip',\n display: 'flex',\n flexDirection: 'column',\n },\n statGrid: {\n gap: 12,\n display: 'grid',\n gridTemplateColumns: 'repeat(auto-fit, minmax(180px, 1fr))',\n },\n statValue: {\n blockSize: cssVar.fontSizeHeading2,\n inlineSize: '42%',\n marginBlockEnd: '14px',\n marginBlockStart: '6px',\n },\n table: {\n overflow: 'hidden',\n minInlineSize: 0,\n },\n tag: {\n flex: 'none',\n blockSize: 22,\n inlineSize: 72,\n },\n thead: {\n gap: 12,\n paddingBlock: 10,\n paddingInline: 16,\n alignItems: 'center',\n backgroundColor: cssVar.colorFillTertiary,\n display: 'flex',\n minBlockSize: 39,\n },\n theadCell: {\n flex: 'none',\n blockSize: 12,\n },\n title: {\n blockSize: cssVar.fontSizeHeading3,\n inlineSize: 220,\n maxInlineSize: '70%',\n },\n});\n"],"mappings":";AAKA,MAAa,SAAS;CACpB,QAAQ;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,YAAY;EACV,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,KAAK;EACH,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,QAAQ;EACN,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,MAAM;EACJ,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,UAAU;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,KAAK;EACH,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;CACA,OAAO;EACL,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;CACT;AACF"}
@@ -1,7 +1,7 @@
1
1
  import { StatCardProps } from "./type.mjs";
2
2
  //#region src/dashboard/StatCard/StatCard.d.ts
3
3
  /** One metric in its own card: the same item as a `split` MetricStrip. */
4
- declare function StatCard({ action, className, delta, direction, hint, href, label, loading, mark, onClick, renderLink, value, valueTone }: StatCardProps): import("react").JSX.Element;
4
+ declare function StatCard({ action, chart, className, delta, direction, hint, href, label, loading, mark, onClick, renderLink, value, valueTone }: StatCardProps): import("react").JSX.Element;
5
5
  declare namespace StatCard {
6
6
  var displayName: string;
7
7
  }
@@ -7,7 +7,7 @@ import MetricCell from "../MetricStrip/MetricCell.mjs";
7
7
  import { jsx } from "react/jsx-runtime";
8
8
  //#region src/dashboard/StatCard/StatCard.tsx
9
9
  /** One metric in its own card: the same item as a `split` MetricStrip. */
10
- function StatCard({ action, className, delta, direction = "flat", hint, href, label, loading, mark, onClick, renderLink, value, valueTone }) {
10
+ function StatCard({ action, chart, className, delta, direction = "flat", hint, href, label, loading, mark, onClick, renderLink, value, valueTone }) {
11
11
  const cardStyles = useSurfaceCardStyles();
12
12
  return /* @__PURE__ */ jsx("div", {
13
13
  ...styleProps([
@@ -19,6 +19,7 @@ function StatCard({ action, className, delta, direction = "flat", hint, href, la
19
19
  renderLink,
20
20
  item: {
21
21
  action,
22
+ chart,
22
23
  delta,
23
24
  direction,
24
25
  hint,
@@ -1 +1 @@
1
- {"version":3,"file":"StatCard.mjs","names":["metricStyles","surfaceStyles"],"sources":["../../../src/dashboard/StatCard/StatCard.tsx"],"sourcesContent":["'use client';\n\nimport { styleProps } from '@/styles/stylex/props';\n\nimport MetricCell from '../MetricStrip/MetricCell';\nimport { styles as metricStyles } from '../MetricStrip/style';\nimport { useSurfaceCardStyles } from '../Surface/link';\nimport { styles as surfaceStyles } from '../Surface/style';\nimport type { StatCardProps } from './type';\n\n/** One metric in its own card: the same item as a `split` MetricStrip. */\nfunction StatCard({\n action,\n className,\n delta,\n direction = 'flat',\n hint,\n href,\n label,\n loading,\n mark,\n onClick,\n renderLink,\n value,\n valueTone,\n}: StatCardProps) {\n const cardStyles = useSurfaceCardStyles();\n\n return (\n <div {...styleProps([metricStyles.card, cardStyles, surfaceStyles.clip], className)}>\n <MetricCell\n renderLink={renderLink}\n item={{\n action,\n delta,\n direction,\n hint,\n href,\n label,\n loading,\n mark,\n onClick,\n value,\n valueTone,\n }}\n />\n </div>\n );\n}\n\nStatCard.displayName = 'StatCard';\n\nexport default StatCard;\n"],"mappings":";;;;;;;;;AAWA,SAAS,SAAS,EAChB,QACA,WACA,OACA,YAAY,QACZ,MACA,MACA,OACA,SACA,MACA,SACA,YACA,OACA,aACgB;CAChB,MAAM,aAAa,qBAAqB;CAExC,OACE,oBAAC,OAAD;EAAK,GAAI,WAAW;GAACA,SAAa;GAAM;GAAYC,OAAc;EAAI,GAAG,SAAS;EAChF,UAAA,oBAAC,YAAD;GACc;GACZ,MAAM;IACJ;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;EACD,CAAA;CACE,CAAA;AAET;AAEA,SAAS,cAAc"}
1
+ {"version":3,"file":"StatCard.mjs","names":["metricStyles","surfaceStyles"],"sources":["../../../src/dashboard/StatCard/StatCard.tsx"],"sourcesContent":["'use client';\n\nimport { styleProps } from '@/styles/stylex/props';\n\nimport MetricCell from '../MetricStrip/MetricCell';\nimport { styles as metricStyles } from '../MetricStrip/style';\nimport { useSurfaceCardStyles } from '../Surface/link';\nimport { styles as surfaceStyles } from '../Surface/style';\nimport type { StatCardProps } from './type';\n\n/** One metric in its own card: the same item as a `split` MetricStrip. */\nfunction StatCard({\n action,\n chart,\n className,\n delta,\n direction = 'flat',\n hint,\n href,\n label,\n loading,\n mark,\n onClick,\n renderLink,\n value,\n valueTone,\n}: StatCardProps) {\n const cardStyles = useSurfaceCardStyles();\n\n return (\n <div {...styleProps([metricStyles.card, cardStyles, surfaceStyles.clip], className)}>\n <MetricCell\n renderLink={renderLink}\n item={{\n action,\n chart,\n delta,\n direction,\n hint,\n href,\n label,\n loading,\n mark,\n onClick,\n value,\n valueTone,\n }}\n />\n </div>\n );\n}\n\nStatCard.displayName = 'StatCard';\n\nexport default StatCard;\n"],"mappings":";;;;;;;;;AAWA,SAAS,SAAS,EAChB,QACA,OACA,WACA,OACA,YAAY,QACZ,MACA,MACA,OACA,SACA,MACA,SACA,YACA,OACA,aACgB;CAChB,MAAM,aAAa,qBAAqB;CAExC,OACE,oBAAC,OAAD;EAAK,GAAI,WAAW;GAACA,SAAa;GAAM;GAAYC,OAAc;EAAI,GAAG,SAAS;EAChF,UAAA,oBAAC,YAAD;GACc;GACZ,MAAM;IACJ;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;GACF;EACD,CAAA;CACE,CAAA;AAET;AAEA,SAAS,cAAc"}