@flikk/ui 1.0.0-beta.27 → 1.0.0-beta.29

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 (319) hide show
  1. package/dist/bg/1.webp +0 -0
  2. package/dist/bg/10.webp +0 -0
  3. package/dist/bg/11.webp +0 -0
  4. package/dist/bg/12.webp +0 -0
  5. package/dist/bg/13.webp +0 -0
  6. package/dist/bg/14.webp +0 -0
  7. package/dist/bg/15.webp +0 -0
  8. package/dist/bg/16.webp +0 -0
  9. package/dist/bg/17.webp +0 -0
  10. package/dist/bg/18.webp +0 -0
  11. package/dist/bg/19.webp +0 -0
  12. package/dist/bg/2.webp +0 -0
  13. package/dist/bg/20.webp +0 -0
  14. package/dist/bg/21.webp +0 -0
  15. package/dist/bg/22.webp +0 -0
  16. package/dist/bg/3.webp +0 -0
  17. package/dist/bg/4.webp +0 -0
  18. package/dist/bg/5.webp +0 -0
  19. package/dist/bg/6.webp +0 -0
  20. package/dist/bg/7.webp +0 -0
  21. package/dist/bg/8.webp +0 -0
  22. package/dist/bg/9.webp +0 -0
  23. package/dist/components/ai/CodeBlock/CodeBlock.theme.js +1 -1
  24. package/dist/components/ai/PromptInput/PromptInput.js +7 -143
  25. package/dist/components/ai/PromptInput/VoiceRecorder.js +0 -88
  26. package/dist/components/ai/TokenCounter/TokenCounter.theme.js +1 -1
  27. package/dist/components/canvas/Background.d.ts +19 -0
  28. package/dist/components/canvas/Background.js +23 -0
  29. package/dist/components/canvas/BaseNode.d.ts +15 -0
  30. package/dist/components/canvas/BaseNode.js +20 -0
  31. package/dist/components/canvas/CanvasToolbar.d.ts +34 -0
  32. package/dist/components/canvas/CanvasToolbar.js +34 -0
  33. package/dist/components/canvas/Edge.d.ts +35 -0
  34. package/dist/components/canvas/Edge.js +97 -0
  35. package/dist/components/canvas/EdgeLayer.d.ts +18 -0
  36. package/dist/components/canvas/EdgeLayer.js +111 -0
  37. package/dist/components/canvas/Handle.d.ts +11 -0
  38. package/dist/components/canvas/Handle.js +63 -0
  39. package/dist/components/canvas/MiniMap.d.ts +22 -0
  40. package/dist/components/canvas/MiniMap.js +105 -0
  41. package/dist/components/canvas/NodeCanvas.d.ts +10 -0
  42. package/dist/components/canvas/NodeCanvas.js +477 -0
  43. package/dist/components/canvas/NodeCanvas.theme.d.ts +7 -0
  44. package/dist/components/canvas/NodeCanvas.theme.js +9 -0
  45. package/dist/components/canvas/NodeCanvas.types.d.ts +187 -0
  46. package/dist/components/canvas/NodeControls.d.ts +25 -0
  47. package/dist/components/canvas/NodeControls.js +40 -0
  48. package/dist/components/canvas/NodeRenderer.d.ts +19 -0
  49. package/dist/components/canvas/NodeRenderer.js +117 -0
  50. package/dist/components/canvas/changes.d.ts +11 -0
  51. package/dist/components/canvas/changes.js +76 -0
  52. package/dist/components/canvas/context/CanvasContext.d.ts +32 -0
  53. package/dist/components/canvas/context/CanvasContext.js +14 -0
  54. package/dist/components/canvas/context/ConnectionContext.d.ts +33 -0
  55. package/dist/components/canvas/context/ConnectionContext.js +13 -0
  56. package/dist/components/canvas/context/HandleRegistry.d.ts +24 -0
  57. package/dist/components/canvas/context/HandleRegistry.js +15 -0
  58. package/dist/components/canvas/context/InteractionContext.d.ts +18 -0
  59. package/dist/components/canvas/context/InteractionContext.js +14 -0
  60. package/dist/components/canvas/context/NodeIdContext.d.ts +3 -0
  61. package/dist/components/canvas/context/NodeIdContext.js +15 -0
  62. package/dist/components/canvas/hooks/useConnection.d.ts +17 -0
  63. package/dist/components/canvas/hooks/useConnection.js +29 -0
  64. package/dist/components/canvas/hooks/useMarquee.d.ts +25 -0
  65. package/dist/components/canvas/hooks/useMarquee.js +91 -0
  66. package/dist/components/canvas/hooks/useNodeDrag.d.ts +23 -0
  67. package/dist/components/canvas/hooks/useNodeDrag.js +110 -0
  68. package/dist/components/canvas/hooks/usePanZoom.d.ts +30 -0
  69. package/dist/components/canvas/hooks/usePanZoom.js +189 -0
  70. package/dist/components/canvas/hooks/useViewport.d.ts +21 -0
  71. package/dist/components/canvas/hooks/useViewport.js +35 -0
  72. package/dist/components/canvas/index.d.ts +14 -0
  73. package/dist/components/canvas/index.js +12 -0
  74. package/dist/components/canvas/layout.d.ts +22 -0
  75. package/dist/components/canvas/layout.js +67 -0
  76. package/dist/components/canvas/utils.d.ts +4 -0
  77. package/dist/components/canvas/utils.js +16 -0
  78. package/dist/components/charts/AreaChart/AreaChart.js +136 -101
  79. package/dist/components/charts/AreaChart/AreaChart.types.d.ts +5 -5
  80. package/dist/components/charts/AreaChart/AreaChart.types.js +1 -0
  81. package/dist/components/charts/BarChart/BarChart.js +207 -143
  82. package/dist/components/charts/BarChart/BarChart.types.d.ts +4 -4
  83. package/dist/components/charts/BarChart/BarChart.types.js +1 -0
  84. package/dist/components/charts/ComboChart/ComboChart.types.d.ts +2 -2
  85. package/dist/components/charts/LineChart/LineChart.js +88 -72
  86. package/dist/components/charts/LineChart/LineChart.types.d.ts +3 -3
  87. package/dist/components/charts/RadarChart/RadarChart.js +1 -1
  88. package/dist/components/charts/RadarChart/RadarChart.theme.js +5 -2
  89. package/dist/components/charts/ScatterPlot/ScatterPlot.js +62 -72
  90. package/dist/components/charts/ScatterPlot/ScatterPlot.theme.js +10 -1
  91. package/dist/components/charts/ScatterPlot/ScatterPlot.types.d.ts +3 -9
  92. package/dist/components/charts/StackedBarChart/StackedBarChart.js +33 -33
  93. package/dist/components/charts/StackedBarChart/StackedBarChart.types.d.ts +2 -2
  94. package/dist/components/charts/hooks/index.d.ts +2 -0
  95. package/dist/components/charts/hooks/useChartDimensions.d.ts +29 -0
  96. package/dist/components/charts/hooks/useChartDimensions.js +42 -0
  97. package/dist/components/charts/shared/ChartTooltip/ChartTooltip.theme.js +1 -1
  98. package/dist/components/charts/types/chart.types.d.ts +11 -2
  99. package/dist/components/charts/types/chart.types.js +10 -3
  100. package/dist/components/core/Avatar/Avatar.js +5 -1
  101. package/dist/components/core/AvatarGroup/AvatarGroup.js +5 -1
  102. package/dist/components/core/AvatarGroup/AvatarGroup.theme.js +4 -2
  103. package/dist/components/core/Badge/Badge.js +1 -1
  104. package/dist/components/core/Badge/Badge.theme.js +16 -15
  105. package/dist/components/core/Button/Button.js +1 -1
  106. package/dist/components/core/Button/Button.theme.js +2 -2
  107. package/dist/components/core/Calendar/Calendar.theme.js +1 -1
  108. package/dist/components/core/Card/Card.js +7 -3
  109. package/dist/components/core/Card/Card.theme.js +3 -3
  110. package/dist/components/core/Card/Card.types.d.ts +27 -2
  111. package/dist/components/core/CommandPalette/CommandPalette.theme.js +2 -2
  112. package/dist/components/core/ContextMenu/ContextMenu.theme.js +2 -2
  113. package/dist/components/core/ContextMenu/ContextMenuItem.js +1 -1
  114. package/dist/components/core/ContextMenu/ContextMenuSubTrigger.js +1 -1
  115. package/dist/components/core/Dropdown/Dropdown.theme.js +3 -3
  116. package/dist/components/core/Dropdown/DropdownMenu.js +57 -29
  117. package/dist/components/core/HeroCard/HeroCard.d.ts +5 -0
  118. package/dist/components/core/HeroCard/HeroCard.js +99 -0
  119. package/dist/components/core/HeroCard/HeroCard.theme.d.ts +3 -0
  120. package/dist/components/core/HeroCard/HeroCard.theme.js +8 -0
  121. package/dist/components/core/HeroCard/HeroCard.types.d.ts +70 -0
  122. package/dist/components/core/HeroCard/index.d.ts +4 -0
  123. package/dist/components/core/Kbd/Kbd.theme.js +1 -1
  124. package/dist/components/core/Modal/Modal.d.ts +1 -1
  125. package/dist/components/core/Modal/Modal.js +2 -7
  126. package/dist/components/core/Modal/Modal.theme.js +4 -8
  127. package/dist/components/core/Modal/Modal.types.d.ts +0 -10
  128. package/dist/components/core/Modal/index.d.ts +1 -1
  129. package/dist/components/core/ModalStack/ModalStack.d.ts +1 -1
  130. package/dist/components/core/ModalStack/ModalStack.types.d.ts +1 -2
  131. package/dist/components/core/ModalStack/ModalStackModal.d.ts +1 -1
  132. package/dist/components/core/ModalStack/ModalStackModal.js +2 -7
  133. package/dist/components/core/PageHeading/PageHeading.theme.js +2 -2
  134. package/dist/components/core/Popover/Popover.theme.js +1 -1
  135. package/dist/components/core/ScrollArea/ScrollArea.js +242 -4
  136. package/dist/components/core/ScrollArea/ScrollArea.types.d.ts +12 -1
  137. package/dist/components/core/ScrollArea/smooth/SmoothScrollEngine.d.ts +4 -0
  138. package/dist/components/core/ScrollArea/smooth/SmoothScrollEngine.js +23 -0
  139. package/dist/components/core/ScrollArea/smooth/useSmoothScroll.js +4 -0
  140. package/dist/components/core/ScrollArea/smooth/useSmoothScroll.types.d.ts +5 -0
  141. package/dist/components/core/Segmented/Segmented.theme.js +2 -2
  142. package/dist/components/core/Tooltip/Tooltip.theme.js +1 -1
  143. package/dist/components/core/index.d.ts +1 -0
  144. package/dist/components/core/index.js +2 -0
  145. package/dist/components/data-display/DescriptionList/DescriptionList.js +23 -7
  146. package/dist/components/data-display/DescriptionList/DescriptionList.theme.js +10 -3
  147. package/dist/components/data-display/DescriptionList/DescriptionList.types.d.ts +49 -10
  148. package/dist/components/data-display/DescriptionList/index.d.ts +1 -1
  149. package/dist/components/data-display/Feed/Feed.js +28 -5
  150. package/dist/components/data-display/Feed/Feed.theme.js +1 -1
  151. package/dist/components/data-display/Feed/Feed.types.d.ts +32 -1
  152. package/dist/components/data-display/Feed/index.d.ts +1 -1
  153. package/dist/components/data-display/Metric/Metric.js +8 -8
  154. package/dist/components/data-display/Metric/Metric.theme.d.ts +3 -2
  155. package/dist/components/data-display/Metric/Metric.theme.js +50 -68
  156. package/dist/components/data-display/Metric/Metric.types.d.ts +19 -21
  157. package/dist/components/data-display/Table/Table.js +2 -2
  158. package/dist/components/data-display/Table/Table.theme.js +24 -4
  159. package/dist/components/data-display/Table/Table.types.d.ts +8 -0
  160. package/dist/components/data-display/Table/TableBody.js +2 -2
  161. package/dist/components/data-display/Table/TableCell.js +1 -1
  162. package/dist/components/data-display/Table/TableRow.d.ts +1 -1
  163. package/dist/components/data-display/Table/TableRow.js +9 -2
  164. package/dist/components/data-display/Timeline/Timeline.js +27 -5
  165. package/dist/components/data-display/Timeline/Timeline.theme.d.ts +10 -2
  166. package/dist/components/data-display/Timeline/Timeline.theme.js +14 -8
  167. package/dist/components/data-display/Timeline/Timeline.types.d.ts +48 -16
  168. package/dist/components/data-display/Timeline/Timeline.utils.d.ts +6 -0
  169. package/dist/components/data-display/Timeline/Timeline.utils.js +11 -0
  170. package/dist/components/data-display/Timeline/TimelineItem.js +13 -20
  171. package/dist/components/data-display/Timeline/TimelineMarker.js +10 -8
  172. package/dist/components/data-display/Timeline/index.d.ts +2 -2
  173. package/dist/components/effects/3d/index.d.ts +0 -2
  174. package/dist/components/effects/3d/index.js +0 -1
  175. package/dist/components/effects/DotPattern/DotPattern.js +1 -1
  176. package/dist/components/effects/Overlay/Overlay.theme.js +1 -2
  177. package/dist/components/effects/Preloader/Preloader.animations.d.ts +23 -0
  178. package/dist/components/effects/Preloader/Preloader.animations.js +150 -0
  179. package/dist/components/effects/Preloader/Preloader.d.ts +3 -0
  180. package/dist/components/effects/Preloader/Preloader.js +119 -0
  181. package/dist/components/effects/Preloader/Preloader.types.d.ts +63 -0
  182. package/dist/components/effects/Preloader/index.d.ts +2 -0
  183. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.js +25 -14
  184. package/dist/components/effects/ProgressiveBlur/ProgressiveBlur.types.d.ts +2 -0
  185. package/dist/components/effects/TiltCard/TiltCard.d.ts +12 -0
  186. package/dist/components/effects/TiltCard/TiltCard.glow.d.ts +28 -0
  187. package/dist/components/effects/TiltCard/TiltCard.glow.js +114 -0
  188. package/dist/components/effects/TiltCard/TiltCard.js +177 -0
  189. package/dist/components/effects/{SpotlightBorder/SpotlightBorder.shaders.d.ts → TiltCard/TiltCard.shaders.d.ts} +1 -1
  190. package/dist/components/effects/{SpotlightBorder/SpotlightBorder.shaders.js → TiltCard/TiltCard.shaders.js} +1 -1
  191. package/dist/components/effects/TiltCard/TiltCard.types.d.ts +88 -0
  192. package/dist/components/effects/TiltCard/index.d.ts +2 -0
  193. package/dist/components/effects/index.d.ts +4 -12
  194. package/dist/components/effects/index.js +2 -6
  195. package/dist/components/forms/Checkbox/Checkbox.js +7 -1
  196. package/dist/components/forms/DatePicker/DatePicker.theme.js +2 -2
  197. package/dist/components/forms/DateRangePicker/DateRangePicker.theme.js +1 -1
  198. package/dist/components/forms/FileUpload/FileUpload.js +1 -89
  199. package/dist/components/forms/FormLabel/FormLabel.theme.js +1 -1
  200. package/dist/components/forms/RichTextEditor/RichTextEditor.theme.js +2 -2
  201. package/dist/components/forms/Slider/Slider.theme.js +1 -1
  202. package/dist/components/forms/Switch/Switch.js +27 -15
  203. package/dist/components/forms/Switch/Switch.theme.d.ts +36 -6
  204. package/dist/components/forms/Switch/Switch.theme.js +33 -4
  205. package/dist/components/forms/Switch/Switch.types.d.ts +12 -2
  206. package/dist/components/forms/TimePicker/TimePicker.theme.js +1 -2
  207. package/dist/components/forms/TimePicker/TimePickerContent.js +1 -90
  208. package/dist/components/forms/forms.theme.js +1 -1
  209. package/dist/components/forms/index.d.ts +0 -4
  210. package/dist/components/forms/index.js +0 -92
  211. package/dist/components/generative/GenerativeView.d.ts +21 -0
  212. package/dist/components/generative/GenerativeView.js +116 -0
  213. package/dist/components/generative/actions.d.ts +26 -0
  214. package/dist/components/generative/actions.js +51 -0
  215. package/dist/components/generative/index.d.ts +11 -0
  216. package/dist/components/generative/index.js +9 -0
  217. package/dist/components/generative/registry.d.ts +43 -0
  218. package/dist/components/generative/registry.js +114 -0
  219. package/dist/components/generative/resolvers.d.ts +35 -0
  220. package/dist/components/generative/resolvers.js +93 -0
  221. package/dist/components/generative/schema.generated.d.ts +2 -0
  222. package/dist/components/generative/schema.generated.js +1639 -0
  223. package/dist/components/generative/schemaTypes.d.ts +30 -0
  224. package/dist/components/generative/streaming.d.ts +39 -0
  225. package/dist/components/generative/streaming.js +283 -0
  226. package/dist/components/generative/tools.d.ts +21 -0
  227. package/dist/components/generative/tools.js +54 -0
  228. package/dist/components/generative/types.d.ts +41 -0
  229. package/dist/components/generative/useGenerativeStream.d.ts +37 -0
  230. package/dist/components/generative/useGenerativeStream.js +36 -0
  231. package/dist/components/generative/validate.d.ts +24 -0
  232. package/dist/components/generative/validate.js +259 -0
  233. package/dist/components/layout/AppShell/AppShell.theme.js +2 -2
  234. package/dist/components/layout/FormLayout/FormLayout.js +1 -90
  235. package/dist/components/layout/Grid/Grid.d.ts +3 -0
  236. package/dist/components/layout/Grid/Grid.js +50 -0
  237. package/dist/components/layout/Grid/Grid.theme.d.ts +2 -0
  238. package/dist/components/layout/Grid/Grid.theme.js +35 -0
  239. package/dist/components/layout/Grid/Grid.types.d.ts +57 -0
  240. package/dist/components/layout/Grid/index.d.ts +3 -0
  241. package/dist/components/layout/Section/Section.d.ts +3 -0
  242. package/dist/components/layout/Section/Section.js +18 -0
  243. package/dist/components/layout/Section/Section.theme.d.ts +2 -0
  244. package/dist/components/layout/Section/Section.theme.js +10 -0
  245. package/dist/components/layout/Section/Section.types.d.ts +34 -0
  246. package/dist/components/layout/Section/index.d.ts +3 -0
  247. package/dist/components/layout/Stack/Stack.d.ts +3 -0
  248. package/dist/components/layout/Stack/Stack.js +19 -0
  249. package/dist/components/layout/Stack/Stack.theme.d.ts +2 -0
  250. package/dist/components/layout/Stack/Stack.theme.js +10 -0
  251. package/dist/components/layout/Stack/Stack.types.d.ts +39 -0
  252. package/dist/components/layout/Stack/index.d.ts +3 -0
  253. package/dist/components/layout/index.d.ts +3 -0
  254. package/dist/components/layout/index.js +6 -0
  255. package/dist/generative.schema.json +1637 -0
  256. package/dist/index.js +180 -180
  257. package/dist/registry.json +648 -464
  258. package/dist/styles.css +1 -1
  259. package/dist/tools.json +1731 -0
  260. package/package.json +17 -4
  261. package/src/global.scss +53 -101
  262. package/src/styles/theme.css +687 -493
  263. package/dist/bg/1.jpg +0 -0
  264. package/dist/bg/10.jpg +0 -0
  265. package/dist/bg/11.jpg +0 -0
  266. package/dist/bg/14.jpg +0 -0
  267. package/dist/bg/15.jpg +0 -0
  268. package/dist/bg/16.jpg +0 -0
  269. package/dist/bg/17.jpg +0 -0
  270. package/dist/bg/18.jpg +0 -0
  271. package/dist/bg/19.jpg +0 -0
  272. package/dist/bg/2.jpg +0 -0
  273. package/dist/bg/20.jpg +0 -0
  274. package/dist/bg/21.jpg +0 -0
  275. package/dist/bg/22.jpg +0 -0
  276. package/dist/bg/23.jpg +0 -0
  277. package/dist/bg/24.jpg +0 -0
  278. package/dist/bg/3.jpg +0 -0
  279. package/dist/bg/4.jpg +0 -0
  280. package/dist/bg/5.jpg +0 -0
  281. package/dist/bg/6.jpg +0 -0
  282. package/dist/bg/7.jpg +0 -0
  283. package/dist/bg/8.jpg +0 -0
  284. package/dist/bg/9.jpg +0 -0
  285. package/dist/components/effects/MorphingText/MorphingText.d.ts +0 -17
  286. package/dist/components/effects/MorphingText/MorphingText.js +0 -125
  287. package/dist/components/effects/MorphingText/MorphingText.types.d.ts +0 -18
  288. package/dist/components/effects/MorphingText/index.d.ts +0 -2
  289. package/dist/components/effects/PageTransition/PageTransition.animations.d.ts +0 -8
  290. package/dist/components/effects/PageTransition/PageTransition.animations.js +0 -53
  291. package/dist/components/effects/PageTransition/PageTransition.d.ts +0 -3
  292. package/dist/components/effects/PageTransition/PageTransition.js +0 -82
  293. package/dist/components/effects/PageTransition/PageTransition.types.d.ts +0 -15
  294. package/dist/components/effects/PageTransition/index.d.ts +0 -2
  295. package/dist/components/effects/ParallaxSection/ParallaxSection.d.ts +0 -26
  296. package/dist/components/effects/ParallaxSection/ParallaxSection.js +0 -71
  297. package/dist/components/effects/ParallaxSection/ParallaxSection.types.d.ts +0 -11
  298. package/dist/components/effects/ParallaxSection/index.d.ts +0 -2
  299. package/dist/components/effects/Spotlight/Spotlight.d.ts +0 -36
  300. package/dist/components/effects/Spotlight/Spotlight.js +0 -112
  301. package/dist/components/effects/Spotlight/Spotlight.types.d.ts +0 -29
  302. package/dist/components/effects/Spotlight/index.d.ts +0 -2
  303. package/dist/components/effects/SpotlightBorder/SpotlightBorder.d.ts +0 -18
  304. package/dist/components/effects/SpotlightBorder/SpotlightBorder.js +0 -213
  305. package/dist/components/effects/SpotlightBorder/SpotlightBorder.types.d.ts +0 -61
  306. package/dist/components/effects/SpotlightBorder/index.d.ts +0 -2
  307. package/dist/components/effects/StickyScroll/StickyScroll.d.ts +0 -30
  308. package/dist/components/effects/StickyScroll/StickyScroll.js +0 -128
  309. package/dist/components/effects/StickyScroll/StickyScroll.types.d.ts +0 -19
  310. package/dist/components/effects/StickyScroll/index.d.ts +0 -2
  311. package/dist/components/forms/CronInput/CronInput.d.ts +0 -3
  312. package/dist/components/forms/CronInput/CronInput.js +0 -113
  313. package/dist/components/forms/CronInput/CronInput.theme.d.ts +0 -6
  314. package/dist/components/forms/CronInput/CronInput.theme.js +0 -75
  315. package/dist/components/forms/CronInput/CronInput.types.d.ts +0 -109
  316. package/dist/components/forms/CronInput/CronInput.utils.d.ts +0 -67
  317. package/dist/components/forms/CronInput/CronInput.utils.js +0 -505
  318. package/dist/components/forms/CronInput/index.d.ts +0 -4
  319. /package/dist/components/effects/{SpotlightBorder/SpotlightBorder.types.js → TiltCard/TiltCard.types.js} +0 -0
@@ -5,96 +5,8 @@ import { fileUploadTheme } from './FileUpload.theme.js';
5
5
  import { PREVIEW_LAYOUT_SPRING, PREVIEW_ITEM } from './FileUpload.animations.js';
6
6
  import { cn } from '../../../utils/cn.js';
7
7
  import { CloudArrowUpIcon, DocumentIcon, XMarkIcon } from '@heroicons/react/24/outline';
8
- import '../../core/Accordion/Accordion.js';
9
- import '../../core/AlertDialog/AlertDialog.js';
10
- import '../../core/AspectRatio/AspectRatio.js';
11
- import '../../core/Avatar/Avatar.js';
12
- import '../../core/AvatarGroup/AvatarGroup.js';
13
- import '../../core/Badge/Badge.js';
14
- import '../../core/Breadcrumbs/Breadcrumbs.js';
15
- import '../../core/Breadcrumbs/Breadcrumbs.theme.js';
16
- import { Button } from '../../core/Button/Button.js';
17
- import '../../core/ButtonGroup/ButtonGroup.js';
18
- import '../../core/ButtonGroup/ButtonGroupSeparator.js';
19
- import '../../core/ButtonGroup/ButtonGroupText.js';
20
- import '../../core/Calendar/Calendar.js';
21
- import '../../core/Calendar/CalendarMini/CalendarMini.js';
22
- import '../../core/Card/Card.js';
23
- import '../../core/CardStack/CardStack.js';
24
- import '../../core/Carousel/Carousel.js';
25
- import '../../core/Carousel/CarouselBody.js';
26
- import '../../core/CommandPalette/CommandPalette.js';
27
- import '../../core/Separator/Separator.js';
28
- import '../../core/Drawer/Drawer.js';
29
- import '../../core/Drawer/DrawerBody.js';
30
- import '../../core/Dropdown/Dropdown.js';
31
- import '../../core/Dropdown/DropdownTrigger.js';
32
- import '../../core/Dropdown/DropdownMenu.js';
33
- import '../../core/Dropdown/DropdownItem.js';
34
- import '../../core/Dropdown/DropdownSection.js';
35
- import '../../core/Dropdown/DropdownSeparator.js';
36
- import '../../core/Dropdown/Dropdown.theme.js';
37
- import '../../core/DotSeparator/DotSeparator.js';
38
- import '../../core/Kbd/Kbd.js';
39
- import '../../core/MenuItem/MenuItem.js';
40
- import '../../core/Link/Link.js';
41
- import '../../core/Modal/Modal.js';
42
- import '../../core/ModalStack/ModalStack.js';
43
- import '../../core/PageHeading/PageHeading.js';
44
- import '../../core/Pagination/Pagination.js';
45
- import '../../core/Popover/Popover.js';
46
- import '../../core/Popover/PopoverContext.js';
47
- import '../../core/Popover/PopoverBody.js';
48
- import '../../core/Progress/Progress.js';
49
- import '../../core/Rating/Rating.js';
50
- import '../../core/ScrollArea/ScrollArea.js';
51
- import '../../core/ScrollArea/smooth/SmoothScrollEngine.js';
52
- import '../../core/Segmented/Segmented.js';
53
- import '../../core/Skeleton/Skeleton.js';
54
- import '../../core/SlidingNumber/SlidingNumber.js';
55
- import '../../core/Tabs/Tabs.js';
56
- import '../../core/Tabs/TabsList.js';
57
- import '../../core/Tabs/TabsTrigger.js';
58
- import '../../core/Tabs/TabsBody.js';
59
- import '../../core/Tabs/TabsContext.js';
60
- import '../../core/Tooltip/Tooltip.js';
61
- import '../../core/Tooltip/Tooltip.animations.js';
62
- import '../../core/Tree/Tree.js';
63
- import '../../core/Tag/Tag.js';
64
- import '../../core/Alert/Alert.js';
65
- import '../../core/Toast/Toast.js';
66
- import '../../core/Toast/ToastProvider.js';
67
- import '@heroicons/react/24/solid';
68
- import '../../core/Spinner/Spinner.js';
69
- import '../../core/Message/Message.js';
70
- import '../../core/Message/TypeWriter.js';
71
- import '../../core/Message/MessageBody.js';
72
- import '@heroicons/react/16/solid';
73
- import '../../core/Empty/Empty.js';
74
- import '../../core/Masonry/Masonry.js';
75
- import '../../core/DragDrop/DragDrop.js';
76
- import '../../core/Sortable/Sortable.js';
77
- import '../../core/NavItem/NavItem.js';
78
- import '../../core/Sidebar/Sidebar.js';
79
- import '../../core/Sidebar/SidebarHeader.js';
80
- import '../../core/Sidebar/SidebarContent.js';
81
- import '../../core/Sidebar/SidebarFooter.js';
82
- import '../../core/Sidebar/SidebarNav.js';
83
- import '../../core/Sidebar/SidebarNavGroup.js';
84
- import '../../core/Sidebar/SidebarToggle.js';
85
- import '../../core/Sidebar/SidebarMobileTrigger.js';
86
- import '../../core/Sidebar/SidebarUserProfile.js';
87
- import '../../core/Sidebar/SidebarLogo.js';
88
- import '../../core/Sidebar/SidebarSearch.js';
89
- import '../../core/Sidebar/SidebarCard.js';
90
- import '../../core/Sidebar/SidebarContext.js';
91
- import '../../core/OfflineIndicator/OfflineIndicator.js';
92
- import '../../core/ContextMenu/ContextMenu.js';
93
- import '../../core/ContextMenu/ContextMenu.theme.js';
94
- import '../../core/Pill/Pill.js';
95
- import '../../core/Icon/Icon.js';
96
- import '../../core/ImagePlaceholder/ImagePlaceholder.js';
97
8
  import { FormLabel } from '../FormLabel/FormLabel.js';
9
+ import { Button } from '../../core/Button/Button.js';
98
10
 
99
11
  /**
100
12
  * FileUpload component - Drag-and-drop file uploader with previews
@@ -3,7 +3,7 @@
3
3
  */
4
4
  const formLabelTheme = {
5
5
  // Base styles for the label element
6
- baseStyle: "block text-sm/6 font-medium mb-2",
6
+ baseStyle: "block text-sm/6 font-medium mb-1",
7
7
  // State variants - using design tokens from global.scss
8
8
  stateStyles: {
9
9
  default: "text-[var(--color-text-primary)]",
@@ -99,12 +99,12 @@ const richTextEditorTheme = {
99
99
  // 1px bleed past the parent's `overflow-hidden` clip in Safari/Chromium.
100
100
  toolbarStyle: "flex items-center m-0.5 gap-0.5 p-0.5 rounded-[var(--form-radius)] dark:bg-[var(--color-surface)]/0",
101
101
  // Toolbar styling (floating variant — selection-anchored)
102
- floatingToolbarStyle: "flex items-center gap-1 p-1 rounded-xl border border-[var(--color-border)] bg-[var(--color-surface-overlay)]/70 backdrop-blur-sm shadow-real-xl overflow-hidden",
102
+ floatingToolbarStyle: "flex items-center gap-1 p-1 rounded-xl border border-[var(--color-border)] bg-[var(--color-surface-overlay)]/80 backdrop-blur-md shadow-real-xl overflow-hidden",
103
103
  // Toolbar button — single source of truth via data-[state=active]
104
104
  // (aria-pressed remains as proper ARIA on toggle buttons, but styling is decoupled)
105
105
  toolbarButtonStyle: "inline-flex items-center justify-center rounded-[calc(var(--radius-base)*0.85)] border border-transparent bg-transparent text-[var(--color-text-secondary)] hover:text-[var(--color-text-primary)] hover:bg-[var(--color-background-secondary)] transition-colors duration-300 disabled:opacity-50 disabled:cursor-not-allowed data-[state=active]:bg-[var(--color-background-secondary)] data-[state=active]:text-[var(--color-text-primary)] data-[state=active]:border-[var(--color-border)] data-[state=active]:shadow-inner",
106
106
  // Dropdown surface (visual only — positioning handled at use site via portal)
107
- dropdownStyle: "min-w-[120px] max-h-[18rem] overflow-y-auto py-1 bg-[var(--color-surface-overlay)]/70 backdrop-blur-md rounded-[var(--form-radius)] shadow-xl ring-1 ring-[var(--color-border)] focus:outline-none",
107
+ dropdownStyle: "min-w-[120px] max-h-[18rem] overflow-y-auto py-1 bg-[var(--color-surface-overlay)]/80 backdrop-blur-md rounded-[var(--form-radius)] shadow-xl ring-1 ring-[var(--color-border)] focus:outline-none",
108
108
  // Dropdown item — uses data-[active=true] for selected state
109
109
  dropdownItemStyle: "block w-full px-3 py-2 text-left text-sm text-[var(--color-text-primary)] hover:bg-[var(--color-surface-hover)] transition-colors duration-150 disabled:opacity-50 disabled:cursor-not-allowed data-[active=true]:bg-[var(--color-primary-50)] data-[active=true]:text-[var(--color-primary-900)] data-[active=true]:dark:bg-[var(--color-primary-400)]/10 data-[active=true]:dark:text-[var(--color-primary-400)]",
110
110
  // Separator between toolbar sections
@@ -10,7 +10,7 @@ const sliderTheme = {
10
10
  // Root container with layout
11
11
  rootStyle: "relative flex items-center w-full touch-none select-none data-[orientation=vertical]:flex-col data-[orientation=vertical]:h-full",
12
12
  // Track (background)
13
- trackStyle: "relative w-full h-2 grow rounded-full bg-[var(--color-surface-sunken)] overflow-hidden data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[orientation=vertical]:w-2 data-[orientation=vertical]:h-full shadow-inner",
13
+ trackStyle: "relative w-full h-2 grow rounded-full bg-[var(--color-surface-sunken)] overflow-hidden data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[orientation=vertical]:w-2 data-[orientation=vertical]:h-full shadow-inner-real-sm",
14
14
  // Range (filled portion) - rounded to match track clipping
15
15
  rangeStyle: "absolute h-full bg-gradient-to-r from-[var(--color-primary-500)] to-[var(--color-primary-700)] transition-all rounded-full data-[disabled]:bg-[var(--color-background-disabled)] data-[invalid]:bg-[var(--color-danger)]",
16
16
  // Thumb (draggable handle)
@@ -1,23 +1,27 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import React__default, { useState } from 'react';
3
3
  import { FormLabel } from '../FormLabel/FormLabel.js';
4
- import { motion } from 'motion/react';
4
+ import { useReducedMotion, motion } from 'motion/react';
5
5
  import { switchTheme, thumbPositions } from './Switch.theme.js';
6
6
  import { cn } from '../../../utils/cn.js';
7
7
 
8
+ const indicatorTransition = {
9
+ duration: 0.6,
10
+ ease: [0.22, 1, 0.36, 1],
11
+ };
8
12
  /**
9
13
  * Switch component for toggling between two states
10
14
  */
11
15
  const Switch = React__default.forwardRef(({ id, checked: controlledChecked, defaultChecked, onChange, label, description, state = "default", labelPosition = "end", size = "md", theme, className, name, value, required, form, ...rest }, ref) => {
12
16
  const generatedId = React__default.useId();
13
17
  const switchId = id !== null && id !== void 0 ? id : generatedId;
18
+ const shouldReduceMotion = useReducedMotion();
14
19
  const [internalChecked, setInternalChecked] = useState(defaultChecked !== null && defaultChecked !== void 0 ? defaultChecked : false);
15
20
  // Determine if component is controlled or uncontrolled
16
21
  const isControlled = controlledChecked !== undefined;
17
22
  const isChecked = isControlled ? controlledChecked : internalChecked;
18
23
  // Derive state flags
19
24
  const isDisabled = state === "disabled";
20
- const isInvalid = state === "invalid";
21
25
  const handleChange = (e) => {
22
26
  if (isDisabled)
23
27
  return;
@@ -30,22 +34,30 @@ const Switch = React__default.forwardRef(({ id, checked: controlledChecked, defa
30
34
  const labelContent = label || description ? (jsxs("div", { className: "flex grow flex-col", children: [label &&
31
35
  (typeof label === "string" ? (jsx(FormLabel, { htmlFor: switchId, state: state, children: label })) : (label)), description &&
32
36
  (typeof description === "string" ? (jsx("div", { className: cn(switchTheme.description, theme === null || theme === void 0 ? void 0 : theme.description), children: description })) : (description))] })) : null;
33
- // Build data attributes for state-based styling
37
+ // Hook only — emitted as `data-state` for consumer CSS / tests, NOT used for styling
34
38
  const trackDataState = isDisabled
35
39
  ? "disabled"
36
- : isInvalid
37
- ? "invalid"
38
- : isChecked
39
- ? "checked"
40
- : "unchecked";
41
- const filterId = `switch-liquid-lens-${switchId}`;
40
+ : isChecked
41
+ ? "checked"
42
+ : "unchecked";
43
+ // Resolve track state styling in JS (base theme + per-state theme override),
44
+ // layered so `className`/`theme` overrides win — see Switch.theme.ts rationale.
45
+ const resolveTrackState = (key) => { var _a; return cn(switchTheme.trackStates[key], (_a = theme === null || theme === void 0 ? void 0 : theme.trackStates) === null || _a === void 0 ? void 0 : _a[key]); };
46
+ const trackStateClasses = cn(isChecked ? resolveTrackState("checked") : resolveTrackState("unchecked"), isDisabled && resolveTrackState("disabled"));
42
47
  // Switch toggle component
43
- const switchToggle = (jsxs("div", { className: "relative flex items-center h-6", children: [jsx("svg", { width: "0", height: "0", className: "absolute", "aria-hidden": "true", children: jsx("defs", { children: jsxs("filter", { id: filterId, children: [jsx("feGaussianBlur", { in: "SourceGraphic", stdDeviation: "1", result: "blur" }), jsx("feColorMatrix", { in: "blur", type: "matrix", values: "1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7", result: "goo" }), jsx("feComposite", { in: "SourceGraphic", in2: "goo", operator: "atop" })] }) }) }), jsxs("label", { htmlFor: switchId, className: "contents", children: [jsx("input", { ref: ref, type: "checkbox", id: switchId, checked: isChecked, onChange: handleChange, disabled: isDisabled, className: "sr-only", name: name, value: value, required: required, form: form }), jsx("div", { className: cn(switchTheme.track, switchTheme.trackSizes[size], theme === null || theme === void 0 ? void 0 : theme.track), "data-state": trackDataState, "aria-hidden": "true", children: jsxs(motion.div, { className: cn(switchTheme.thumb, switchTheme.thumbSizes[size], theme === null || theme === void 0 ? void 0 : theme.thumb), initial: false, animate: isChecked ? thumbPositions.checked : thumbPositions.unchecked, transition: { type: "spring", stiffness: 500, damping: 30 }, whileTap: isDisabled ? undefined : { scale: 1.15 }, style: { filter: `url(#${filterId})` }, children: [jsx("div", { className: "absolute inset-0 z-0 rounded-full", style: {
44
- backdropFilter: "blur(0.6px)",
45
- WebkitBackdropFilter: "blur(0.6px)",
46
- }, "aria-hidden": "true" }), jsx("div", { className: "absolute inset-0 z-[1] rounded-full bg-[var(--color-surface)]/80", "aria-hidden": "true" }), jsx("div", { className: "absolute inset-0 z-[2] rounded-full", style: {
47
- boxShadow: "inset 1px 1px 0 rgba(255,255,255,0.35), inset 1px 3px 0 rgba(0,0,0,0.03), inset 0 0 14px rgba(255,255,255,0.25), inset -1px -1px 0 rgba(0,0,0,0.06)",
48
- }, "aria-hidden": "true" })] }) })] })] }));
48
+ const switchToggle = (jsx("div", { className: "relative flex items-center h-6", children: jsxs("label", { htmlFor: switchId, className: "contents", children: [jsx("input", { ref: ref, type: "checkbox", id: switchId, checked: isChecked, onChange: handleChange, disabled: isDisabled, className: "peer sr-only", name: name, value: value, required: required, form: form }), jsxs("div", { className: cn(switchTheme.track, switchTheme.trackSizes[size], trackStateClasses, theme === null || theme === void 0 ? void 0 : theme.track), "data-state": trackDataState, "aria-hidden": "true", children: [jsx(motion.div, { className: cn(switchTheme.thumb, switchTheme.thumbSizes[size], !isDisabled && "group-hover:shadow-xl", theme === null || theme === void 0 ? void 0 : theme.thumb), initial: false, animate: isChecked
49
+ ? thumbPositions[size].checked
50
+ : thumbPositions[size].unchecked, transition: shouldReduceMotion
51
+ ? { duration: 0 }
52
+ : { type: "spring", stiffness: 500, damping: 30 }, whileTap: isDisabled || shouldReduceMotion ? undefined : { scale: 0.94 } }), jsx(motion.div, { className: "pointer-events-none absolute inset-y-0 left-1.5 inline-flex w-2.5 items-center justify-center", initial: false, animate: shouldReduceMotion
53
+ ? { opacity: isChecked ? 1 : 0, x: 0, scale: 1 }
54
+ : isChecked
55
+ ? { opacity: 1, x: 0, scale: 1 }
56
+ : { opacity: 0, x: -4, scale: 0.78 }, transition: shouldReduceMotion ? { duration: 0 } : indicatorTransition, children: jsx("div", { className: "size-2 rounded-full border-[1.5px] border-white/50" }) }), jsx(motion.div, { className: "pointer-events-none absolute inset-y-0 right-1.5 inline-flex w-2.5 items-center justify-center", initial: false, animate: shouldReduceMotion
57
+ ? { opacity: isChecked ? 0 : 1, x: 0, scaleY: 1 }
58
+ : isChecked
59
+ ? { opacity: 0, x: 4, scaleY: 0.6 }
60
+ : { opacity: 1, x: 0, scaleY: 1 }, transition: shouldReduceMotion ? { duration: 0 } : indicatorTransition, children: jsx("div", { className: "w-[1.5px] h-2 rounded-full bg-white/50" }) })] })] }) }));
49
61
  return (jsxs("div", { className: cn(switchTheme.container, labelPosition === "start" ? "flex-row-reverse" : "flex-row", theme === null || theme === void 0 ? void 0 : theme.container, className), ...rest, children: [labelContent, switchToggle] }));
50
62
  });
51
63
  Switch.displayName = "Switch";
@@ -1,18 +1,48 @@
1
1
  import { SwitchTheme } from "./Switch.types";
2
2
  /**
3
3
  * Default theme configuration for the Switch component
4
+ *
5
+ * Gold-standard state styling: track state classes live in `trackStates` as
6
+ * plain utility strings and are resolved in JS at render time (see Switch.tsx),
7
+ * NOT as `data-[state=*]:` Tailwind variants. A data-variant compiles to a
8
+ * class + attribute selector (specificity 0,2,0) that beats a plain `className`
9
+ * override (0,1,0) regardless of order, silently breaking the shadcn rule
10
+ * "className override = highest priority". We still emit `data-state` on the
11
+ * track as a hook for consumer CSS / tests — we just don't *style* with it.
4
12
  */
5
13
  export declare const switchTheme: SwitchTheme;
6
14
  /**
7
15
  * Thumb position values for animation
8
16
  */
9
17
  export declare const thumbPositions: {
10
- checked: {
11
- x: number;
12
- y: number;
18
+ sm: {
19
+ checked: {
20
+ x: number;
21
+ y: number;
22
+ };
23
+ unchecked: {
24
+ x: number;
25
+ y: number;
26
+ };
13
27
  };
14
- unchecked: {
15
- x: number;
16
- y: number;
28
+ md: {
29
+ checked: {
30
+ x: number;
31
+ y: number;
32
+ };
33
+ unchecked: {
34
+ x: number;
35
+ y: number;
36
+ };
37
+ };
38
+ lg: {
39
+ checked: {
40
+ x: number;
41
+ y: number;
42
+ };
43
+ unchecked: {
44
+ x: number;
45
+ y: number;
46
+ };
17
47
  };
18
48
  };
@@ -1,10 +1,29 @@
1
1
  /**
2
2
  * Default theme configuration for the Switch component
3
+ *
4
+ * Gold-standard state styling: track state classes live in `trackStates` as
5
+ * plain utility strings and are resolved in JS at render time (see Switch.tsx),
6
+ * NOT as `data-[state=*]:` Tailwind variants. A data-variant compiles to a
7
+ * class + attribute selector (specificity 0,2,0) that beats a plain `className`
8
+ * override (0,1,0) regardless of order, silently breaking the shadcn rule
9
+ * "className override = highest priority". We still emit `data-state` on the
10
+ * track as a hook for consumer CSS / tests — we just don't *style* with it.
3
11
  */
4
12
  const switchTheme = {
5
13
  container: "flex w-full justify-between items-center gap-4",
6
- track: "rounded-full cursor-pointer shadow-inner bg-[var(--color-surface-sunken)] data-[state=checked]:bg-[var(--color-primary)] data-[state=disabled]:bg-[var(--color-background-disabled)] data-[state=disabled]:cursor-not-allowed data-[state=invalid]:border-2 data-[state=invalid]:border-[var(--color-danger)] outline outline-[var(--color-border)] transition-colors duration-300",
7
- thumb: "rounded-full bg-transparent overflow-hidden border border-[var(--color-border)]/40 shadow-lg",
14
+ // Structural base only no state colors (those live in `trackStates`)
15
+ track: "group rounded-full cursor-pointer shadow-inner-real-sm transition-colors duration-500 motion-reduce:transition-none outline-1 outline-[var(--color-border)] peer-focus-visible:outline-2 peer-focus-visible:outline-offset-2 peer-focus-visible:outline-[var(--color-primary-600)]",
16
+ // Resolved in JS and layered via cn() so later keys win (tailwind-merge dedupes bg-*).
17
+ // No `invalid` key: a switch is binary — on and off are both valid values, so there is
18
+ // nothing to validate. (See §9 carve-out: invalid only applies to controls with a value.)
19
+ trackStates: {
20
+ unchecked: "bg-[var(--color-neutral-200)] dark:bg-[var(--color-neutral-700)]",
21
+ checked: "bg-[var(--color-primary)]",
22
+ disabled: "bg-[var(--color-background-disabled)] cursor-not-allowed",
23
+ },
24
+ // Thumb knob — solid fill + soft elevation. White reads on both the sunken/raised track
25
+ // (light) and the primary/dark track (dark); the faint border separates it on near-white tracks.
26
+ thumb: "rounded-full bg-gradient-to-b from-neutral-200 via-neutral-50 to-white shadow-real-lg border border-white/80 transition-shadow duration-300 motion-reduce:transition-none",
8
27
  description: "text-sm text-[var(--color-text-muted)] -mt-1.5",
9
28
  trackSizes: {
10
29
  sm: "w-9 h-5",
@@ -21,8 +40,18 @@ const switchTheme = {
21
40
  * Thumb position values for animation
22
41
  */
23
42
  const thumbPositions = {
24
- checked: { x: 16, y: 2 },
25
- unchecked: { x: 2, y: 2 },
43
+ sm: {
44
+ checked: { x: 14, y: 2 },
45
+ unchecked: { x: 2, y: 2 },
46
+ },
47
+ md: {
48
+ checked: { x: 18, y: 2 },
49
+ unchecked: { x: 2, y: 2 },
50
+ },
51
+ lg: {
52
+ checked: { x: 22, y: 2 },
53
+ unchecked: { x: 2, y: 2 },
54
+ },
26
55
  };
27
56
 
28
57
  export { switchTheme, thumbPositions };
@@ -3,13 +3,21 @@
3
3
  */
4
4
  export type SwitchLabelPosition = "start" | "end";
5
5
  /**
6
- * State variants for the switch component
6
+ * State variants for the switch component.
7
+ *
8
+ * No `invalid`: a switch is binary — on and off are both valid values, so there is
9
+ * nothing to validate (unlike Input/Checkbox, which can hold/require a specific value).
7
10
  */
8
- export type SwitchState = 'default' | 'disabled' | 'invalid';
11
+ export type SwitchState = 'default' | 'disabled';
9
12
  /**
10
13
  * Size variants for the switch component
11
14
  */
12
15
  export type SwitchSize = 'sm' | 'md' | 'lg';
16
+ /**
17
+ * Resolvable visual states for the track. Layered additively in JS (see Switch.tsx)
18
+ * rather than via `data-[state=*]:` variants, so `className`/`theme` overrides win.
19
+ */
20
+ export type SwitchTrackState = 'unchecked' | 'checked' | 'disabled';
13
21
  /**
14
22
  * Switch component props
15
23
  */
@@ -49,6 +57,7 @@ export interface SwitchProps extends Omit<React.HTMLAttributes<HTMLDivElement>,
49
57
  export interface SwitchTheme {
50
58
  container: string;
51
59
  track: string;
60
+ trackStates: Record<SwitchTrackState, string>;
52
61
  thumb: string;
53
62
  description: string;
54
63
  trackSizes: Record<SwitchSize, string>;
@@ -60,6 +69,7 @@ export interface SwitchTheme {
60
69
  export interface SwitchThemeOverrides {
61
70
  container?: string;
62
71
  track?: string;
72
+ trackStates?: Partial<Record<SwitchTrackState, string>>;
63
73
  thumb?: string;
64
74
  description?: string;
65
75
  }
@@ -38,8 +38,7 @@ const timePickerTheme = {
38
38
  clearButtonStyle: "absolute right-8 top-1/2 -translate-y-1/2 p-1 rounded text-[var(--color-text-muted)] hover:text-[var(--color-text-primary)] hover:bg-[var(--color-background-secondary)] transition-colors z-10",
39
39
  // Dropdown container styles (TimePicker-specific)
40
40
  // Width is controlled by trigger size via estimatedWidth parameter
41
- dropdownStyle: "fixed z-[1000] bg-white border border-[var(--color-border)] rounded-[var(--form-radius)] shadow-lg overflow-hidden " +
42
- "dark:bg-[var(--color-background-secondary)] ",
41
+ dropdownStyle: "fixed z-[1000] bg-[var(--color-surface-overlay)]/80 backdrop-blur-md border border-[var(--color-border)] rounded-[var(--form-radius)] shadow-lg overflow-hidden",
43
42
  // Dropdown size variants - primarily for internal spacing/padding
44
43
  dropdownSizes: {
45
44
  sm: "",
@@ -6,98 +6,9 @@ import { cn } from '../../../utils/cn.js';
6
6
  import { TimePickerContext } from './TimePicker.js';
7
7
  import { useSelectPortal } from '../../../hooks/useSelectPortal.js';
8
8
  import { createDropdownAnimations } from '../Select/Select.animations.js';
9
- import '../../core/Accordion/Accordion.js';
10
- import '../../core/AlertDialog/AlertDialog.js';
11
- import '../../core/AspectRatio/AspectRatio.js';
12
- import '../../core/Avatar/Avatar.js';
13
- import '../../core/AvatarGroup/AvatarGroup.js';
14
- import '../../core/Badge/Badge.js';
15
- import '../../core/Breadcrumbs/Breadcrumbs.js';
16
- import '../../core/Breadcrumbs/Breadcrumbs.theme.js';
17
- import { Button } from '../../core/Button/Button.js';
18
- import '../../core/ButtonGroup/ButtonGroup.js';
19
- import '../../core/ButtonGroup/ButtonGroupSeparator.js';
20
- import '../../core/ButtonGroup/ButtonGroupText.js';
21
- import '../../core/Calendar/Calendar.js';
22
- import '../../core/Calendar/CalendarMini/CalendarMini.js';
23
- import '../../core/Card/Card.js';
24
- import '../../core/CardStack/CardStack.js';
25
- import '../../core/Carousel/Carousel.js';
26
- import '../../core/Carousel/CarouselBody.js';
27
- import '../../core/CommandPalette/CommandPalette.js';
28
- import '../../core/Separator/Separator.js';
29
- import '../../core/Drawer/Drawer.js';
30
- import '../../core/Drawer/DrawerBody.js';
31
- import '../../core/Dropdown/Dropdown.js';
32
- import '../../core/Dropdown/DropdownTrigger.js';
33
- import '../../core/Dropdown/DropdownMenu.js';
34
- import '../../core/Dropdown/DropdownItem.js';
35
- import '../../core/Dropdown/DropdownSection.js';
36
- import '../../core/Dropdown/DropdownSeparator.js';
37
- import '../../core/Dropdown/Dropdown.theme.js';
38
- import '../../core/DotSeparator/DotSeparator.js';
39
- import '../../core/Kbd/Kbd.js';
40
- import '../../core/MenuItem/MenuItem.js';
41
- import '../../core/Link/Link.js';
42
- import '../../core/Modal/Modal.js';
43
- import '../../core/ModalStack/ModalStack.js';
44
- import '../../core/PageHeading/PageHeading.js';
45
- import '../../core/Pagination/Pagination.js';
46
- import '../../core/Popover/Popover.js';
47
- import '../../core/Popover/PopoverContext.js';
48
- import '../../core/Popover/PopoverBody.js';
49
- import '../../core/Progress/Progress.js';
50
- import '../../core/Rating/Rating.js';
51
- import '../../core/ScrollArea/ScrollArea.js';
52
- import '../../core/ScrollArea/smooth/SmoothScrollEngine.js';
53
- import '../../core/Segmented/Segmented.js';
54
- import '../../core/Skeleton/Skeleton.js';
55
- import '../../core/SlidingNumber/SlidingNumber.js';
56
- import '../../core/Tabs/Tabs.js';
57
- import '../../core/Tabs/TabsList.js';
58
- import '../../core/Tabs/TabsTrigger.js';
59
- import '../../core/Tabs/TabsBody.js';
60
- import '../../core/Tabs/TabsContext.js';
61
- import '../../core/Tooltip/Tooltip.js';
62
- import '../../core/Tooltip/Tooltip.animations.js';
63
- import '../../core/Tree/Tree.js';
64
- import '../../core/Tag/Tag.js';
65
- import '../../core/Alert/Alert.js';
66
- import '../../core/Toast/Toast.js';
67
- import '../../core/Toast/ToastProvider.js';
68
- import '@heroicons/react/24/solid';
69
- import '../../core/Spinner/Spinner.js';
70
- import '../../core/Message/Message.js';
71
- import '../../core/Message/TypeWriter.js';
72
- import '../../core/Message/MessageBody.js';
73
- import '@heroicons/react/16/solid';
74
- import '@heroicons/react/24/outline';
75
- import '../../core/Empty/Empty.js';
76
- import '../../core/Masonry/Masonry.js';
77
- import '../../core/DragDrop/DragDrop.js';
78
- import '../../core/Sortable/Sortable.js';
79
- import '../../core/NavItem/NavItem.js';
80
- import '../../core/Sidebar/Sidebar.js';
81
- import '../../core/Sidebar/SidebarHeader.js';
82
- import '../../core/Sidebar/SidebarContent.js';
83
- import '../../core/Sidebar/SidebarFooter.js';
84
- import '../../core/Sidebar/SidebarNav.js';
85
- import '../../core/Sidebar/SidebarNavGroup.js';
86
- import '../../core/Sidebar/SidebarToggle.js';
87
- import '../../core/Sidebar/SidebarMobileTrigger.js';
88
- import '../../core/Sidebar/SidebarUserProfile.js';
89
- import '../../core/Sidebar/SidebarLogo.js';
90
- import '../../core/Sidebar/SidebarSearch.js';
91
- import '../../core/Sidebar/SidebarCard.js';
92
- import '../../core/Sidebar/SidebarContext.js';
93
- import '../../core/OfflineIndicator/OfflineIndicator.js';
94
- import '../../core/ContextMenu/ContextMenu.js';
95
- import '../../core/ContextMenu/ContextMenu.theme.js';
96
- import '../../core/Pill/Pill.js';
97
- import '../../core/Icon/Icon.js';
98
- import '../../core/ImagePlaceholder/ImagePlaceholder.js';
99
9
  import { useIsClient } from '../../../hooks/useIsClient.js';
100
10
  import { useDarkMode } from '../../../hooks/useDarkMode.js';
11
+ import { Button } from '../../core/Button/Button.js';
101
12
 
102
13
  /**
103
14
  * TimePickerContent Component - contains the time selector dropdown
@@ -95,7 +95,7 @@ const formsBaseTheme = {
95
95
  dropdownStyles: {
96
96
  // Container for dropdown panel
97
97
  container: "fixed z-[1000] max-h-[var(--select-content-available-height,20rem)] overflow-auto overscroll-contain " +
98
- "rounded-[var(--form-radius)] bg-[var(--color-surface-overlay)]/90 backdrop-blur-md text-sm border border-[var(--color-border)] " +
98
+ "rounded-[var(--form-radius)] bg-[var(--color-surface-overlay)]/80 backdrop-blur-md text-sm border border-[var(--color-border)] " +
99
99
  "shadow-real-lg ring-1 ring-[var(--color-border)] focus:outline-none",
100
100
  // Base option style
101
101
  option: "relative cursor-pointer select-none py-2 px-3 text-[var(--color-text-primary)] " +
@@ -72,7 +72,3 @@ export { selectableCardTheme } from "./SelectableCard";
72
72
  export { Mention } from "./Mention";
73
73
  export type { MentionProps, MentionSuggestion, MentionTrigger, MentionSize, MentionTheme, MentionThemeOverrides, } from "./Mention";
74
74
  export { mentionTheme } from "./Mention";
75
- export { CronInput } from "./CronInput";
76
- export type { CronInputProps, CronInputSize, CronInputMode, CronInputTheme, CronInputThemeOverrides, CronFields, CronPreset, } from "./CronInput";
77
- export { cronInputTheme } from "./CronInput";
78
- export { parseCron, fieldsToCron, validateCron, cronToDescription, getNextRuns, formatNextRun, CRON_PRESETS, } from "./CronInput";
@@ -29,95 +29,6 @@ import 'clsx';
29
29
  import 'tailwind-merge';
30
30
  import 'motion/react';
31
31
  import 'react-dom';
32
- import '../core/Accordion/Accordion.js';
33
- import '../core/AlertDialog/AlertDialog.js';
34
- import '../core/AspectRatio/AspectRatio.js';
35
- import '../core/Avatar/Avatar.js';
36
- import '../core/AvatarGroup/AvatarGroup.js';
37
- import '../core/Badge/Badge.js';
38
- import '../core/Breadcrumbs/Breadcrumbs.js';
39
- import '../core/Breadcrumbs/Breadcrumbs.theme.js';
40
- import '../core/Button/Button.js';
41
- import '../core/ButtonGroup/ButtonGroup.js';
42
- import '../core/ButtonGroup/ButtonGroupSeparator.js';
43
- import '../core/ButtonGroup/ButtonGroupText.js';
44
- import '../core/Calendar/Calendar.js';
45
- import '../core/Calendar/CalendarMini/CalendarMini.js';
46
- import '../core/Card/Card.js';
47
- import '../core/CardStack/CardStack.js';
48
- import '../core/Carousel/Carousel.js';
49
- import '../core/Carousel/CarouselBody.js';
50
- import '../core/CommandPalette/CommandPalette.js';
51
- import '../core/Separator/Separator.js';
52
- import '../core/Drawer/Drawer.js';
53
- import '../core/Drawer/DrawerBody.js';
54
- import '../core/Dropdown/Dropdown.js';
55
- import '../core/Dropdown/DropdownTrigger.js';
56
- import '../core/Dropdown/DropdownMenu.js';
57
- import '../core/Dropdown/DropdownItem.js';
58
- import '../core/Dropdown/DropdownSection.js';
59
- import '../core/Dropdown/DropdownSeparator.js';
60
- import '../core/Dropdown/Dropdown.theme.js';
61
- import '../core/DotSeparator/DotSeparator.js';
62
- import '../core/Kbd/Kbd.js';
63
- import '../core/MenuItem/MenuItem.js';
64
- import '../core/Link/Link.js';
65
- import '../core/Modal/Modal.js';
66
- import '../core/ModalStack/ModalStack.js';
67
- import '../core/PageHeading/PageHeading.js';
68
- import '../core/Pagination/Pagination.js';
69
- import '../core/Popover/Popover.js';
70
- import '../core/Popover/PopoverContext.js';
71
- import '../core/Popover/PopoverBody.js';
72
- import '../core/Progress/Progress.js';
73
- import '../core/Rating/Rating.js';
74
- import '../core/ScrollArea/ScrollArea.js';
75
- import '../core/ScrollArea/smooth/SmoothScrollEngine.js';
76
- import '../core/Segmented/Segmented.js';
77
- import '../core/Skeleton/Skeleton.js';
78
- import '../core/SlidingNumber/SlidingNumber.js';
79
- import '../core/Tabs/Tabs.js';
80
- import '../core/Tabs/TabsList.js';
81
- import '../core/Tabs/TabsTrigger.js';
82
- import '../core/Tabs/TabsBody.js';
83
- import '../core/Tabs/TabsContext.js';
84
- import '../core/Tooltip/Tooltip.js';
85
- import '../core/Tooltip/Tooltip.animations.js';
86
- import '../core/Tree/Tree.js';
87
- import '../core/Tag/Tag.js';
88
- import '../core/Alert/Alert.js';
89
- import '../core/Toast/Toast.js';
90
- import '../core/Toast/ToastProvider.js';
91
- import '@heroicons/react/24/solid';
92
- import '../core/Spinner/Spinner.js';
93
- import '../core/Message/Message.js';
94
- import '../core/Message/TypeWriter.js';
95
- import '../core/Message/MessageBody.js';
96
- import '@heroicons/react/16/solid';
97
- import '../core/Empty/Empty.js';
98
- import '../core/Masonry/Masonry.js';
99
- import '../core/DragDrop/DragDrop.js';
100
- import '../core/Sortable/Sortable.js';
101
- import '../core/NavItem/NavItem.js';
102
- import '../core/Sidebar/Sidebar.js';
103
- import '../core/Sidebar/SidebarHeader.js';
104
- import '../core/Sidebar/SidebarContent.js';
105
- import '../core/Sidebar/SidebarFooter.js';
106
- import '../core/Sidebar/SidebarNav.js';
107
- import '../core/Sidebar/SidebarNavGroup.js';
108
- import '../core/Sidebar/SidebarToggle.js';
109
- import '../core/Sidebar/SidebarMobileTrigger.js';
110
- import '../core/Sidebar/SidebarUserProfile.js';
111
- import '../core/Sidebar/SidebarLogo.js';
112
- import '../core/Sidebar/SidebarSearch.js';
113
- import '../core/Sidebar/SidebarCard.js';
114
- import '../core/Sidebar/SidebarContext.js';
115
- import '../core/OfflineIndicator/OfflineIndicator.js';
116
- import '../core/ContextMenu/ContextMenu.js';
117
- import '../core/ContextMenu/ContextMenu.theme.js';
118
- import '../core/Pill/Pill.js';
119
- import '../core/Icon/Icon.js';
120
- import '../core/ImagePlaceholder/ImagePlaceholder.js';
121
32
  import './TimePicker/WheelColumn.js';
122
33
  export { timePickerTheme } from './TimePicker/TimePicker.theme.js';
123
34
  export { Slider } from './Slider/Slider.js';
@@ -161,9 +72,6 @@ export { SelectableCard } from './SelectableCard/SelectableCard.js';
161
72
  export { selectableCardTheme } from './SelectableCard/SelectableCard.theme.js';
162
73
  export { Mention } from './Mention/Mention.js';
163
74
  export { mentionTheme } from './Mention/Mention.theme.js';
164
- export { CronInput } from './CronInput/CronInput.js';
165
- export { cronInputTheme } from './CronInput/CronInput.theme.js';
166
- export { CRON_PRESETS, cronToDescription, fieldsToCron, formatNextRun, getNextRuns, parseCron, validateCron } from './CronInput/CronInput.utils.js';
167
75
  export { DatePickerBody } from './DatePicker/DatePickerBody.js';
168
76
  export { DatePickerPresets } from './DatePicker/DatePickerPresets.js';
169
77
  export { DatePickerTrigger } from './DatePicker/DatePickerTrigger.js';
@@ -0,0 +1,21 @@
1
+ import { UISpec } from "./types";
2
+ import { GenerativeRegistry } from "./registry";
3
+ import { ActionHandler } from "./actions";
4
+ export interface GenerativeViewProps {
5
+ /** The serializable spec tree (one root or top-level siblings). */
6
+ spec: UISpec;
7
+ /** Component/icon/resolver registry. @default defaultRegistry */
8
+ registry?: GenerativeRegistry;
9
+ /**
10
+ * Receives spec actions: the EXACT descriptor from the node plus a
11
+ * serializable context (component, nodeId, callback data such as the
12
+ * clicked Table row). Omit it and action-bound elements are inert.
13
+ */
14
+ onAction?: ActionHandler;
15
+ className?: string;
16
+ }
17
+ /**
18
+ * Render a serializable UINode spec with the given registry.
19
+ * Render-only in P1 — streaming (P3) and action dispatch (P4) layer on top.
20
+ */
21
+ export declare function GenerativeView({ spec, registry, onAction, className, }: GenerativeViewProps): import("react/jsx-runtime").JSX.Element;