entangle-ui 0.1.0 → 0.3.0

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 (347) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/README.md +129 -75
  3. package/dist/esm/components/Icons/CheckIcon.js +27 -0
  4. package/dist/esm/components/Icons/CheckIcon.js.map +1 -0
  5. package/dist/esm/components/Icons/ChevronDownIcon.js +27 -0
  6. package/dist/esm/components/Icons/ChevronDownIcon.js.map +1 -0
  7. package/dist/esm/components/Icons/ChevronUpIcon.js +27 -0
  8. package/dist/esm/components/Icons/ChevronUpIcon.js.map +1 -0
  9. package/dist/esm/components/Icons/CircleIcon.js +27 -0
  10. package/dist/esm/components/Icons/CircleIcon.js.map +1 -0
  11. package/dist/esm/components/Icons/CloseIcon.js +27 -0
  12. package/dist/esm/components/Icons/CloseIcon.js.map +1 -0
  13. package/dist/esm/components/Icons/EyeDropperIcon.js +28 -0
  14. package/dist/esm/components/Icons/EyeDropperIcon.js.map +1 -0
  15. package/dist/esm/components/Icons/TangentAlignedIcon.js +9 -0
  16. package/dist/esm/components/Icons/TangentAlignedIcon.js.map +1 -0
  17. package/dist/esm/components/Icons/TangentAutoIcon.js +9 -0
  18. package/dist/esm/components/Icons/TangentAutoIcon.js.map +1 -0
  19. package/dist/esm/components/Icons/TangentFreeIcon.js +9 -0
  20. package/dist/esm/components/Icons/TangentFreeIcon.js.map +1 -0
  21. package/dist/esm/components/Icons/TangentLinearIcon.js +9 -0
  22. package/dist/esm/components/Icons/TangentLinearIcon.js.map +1 -0
  23. package/dist/esm/components/Icons/TangentMirroredIcon.js +9 -0
  24. package/dist/esm/components/Icons/TangentMirroredIcon.js.map +1 -0
  25. package/dist/esm/components/Icons/TangentStepIcon.js +9 -0
  26. package/dist/esm/components/Icons/TangentStepIcon.js.map +1 -0
  27. package/dist/esm/components/controls/ColorPicker/AlphaSlider.js +92 -0
  28. package/dist/esm/components/controls/ColorPicker/AlphaSlider.js.map +1 -0
  29. package/dist/esm/components/controls/ColorPicker/ColorArea.js +93 -0
  30. package/dist/esm/components/controls/ColorPicker/ColorArea.js.map +1 -0
  31. package/dist/esm/components/controls/ColorPicker/ColorInputs.js +129 -0
  32. package/dist/esm/components/controls/ColorPicker/ColorInputs.js.map +1 -0
  33. package/dist/esm/components/controls/ColorPicker/ColorPalette.js +89 -0
  34. package/dist/esm/components/controls/ColorPicker/ColorPalette.js.map +1 -0
  35. package/dist/esm/components/controls/ColorPicker/ColorPicker.js +75 -0
  36. package/dist/esm/components/controls/ColorPicker/ColorPicker.js.map +1 -0
  37. package/dist/esm/components/controls/ColorPicker/ColorPresets.js +57 -0
  38. package/dist/esm/components/controls/ColorPicker/ColorPresets.js.map +1 -0
  39. package/dist/esm/components/controls/ColorPicker/ColorSwatch.js +67 -0
  40. package/dist/esm/components/controls/ColorPicker/ColorSwatch.js.map +1 -0
  41. package/dist/esm/components/controls/ColorPicker/EyeDropper.js +85 -0
  42. package/dist/esm/components/controls/ColorPicker/EyeDropper.js.map +1 -0
  43. package/dist/esm/components/controls/ColorPicker/HueSlider.js +85 -0
  44. package/dist/esm/components/controls/ColorPicker/HueSlider.js.map +1 -0
  45. package/dist/esm/components/controls/ColorPicker/colorUtils.js +220 -0
  46. package/dist/esm/components/controls/ColorPicker/colorUtils.js.map +1 -0
  47. package/dist/esm/components/controls/ColorPicker/palettes/material.js +299 -0
  48. package/dist/esm/components/controls/ColorPicker/palettes/material.js.map +1 -0
  49. package/dist/esm/components/controls/ColorPicker/palettes/professional.js +479 -0
  50. package/dist/esm/components/controls/ColorPicker/palettes/professional.js.map +1 -0
  51. package/dist/esm/components/controls/ColorPicker/palettes/tailwind.js +366 -0
  52. package/dist/esm/components/controls/ColorPicker/palettes/tailwind.js.map +1 -0
  53. package/dist/esm/components/controls/ColorPicker/useColor.js +63 -0
  54. package/dist/esm/components/controls/ColorPicker/useColor.js.map +1 -0
  55. package/dist/esm/components/controls/CurveEditor/CurveCanvas.js +84 -0
  56. package/dist/esm/components/controls/CurveEditor/CurveCanvas.js.map +1 -0
  57. package/dist/esm/components/controls/CurveEditor/CurveEditor.js +134 -0
  58. package/dist/esm/components/controls/CurveEditor/CurveEditor.js.map +1 -0
  59. package/dist/esm/components/controls/CurveEditor/CurveToolbar.js +96 -0
  60. package/dist/esm/components/controls/CurveEditor/CurveToolbar.js.map +1 -0
  61. package/dist/esm/components/controls/CurveEditor/curvePresets.js +184 -0
  62. package/dist/esm/components/controls/CurveEditor/curvePresets.js.map +1 -0
  63. package/dist/esm/components/controls/CurveEditor/curveUtils.js +338 -0
  64. package/dist/esm/components/controls/CurveEditor/curveUtils.js.map +1 -0
  65. package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js +569 -0
  66. package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js.map +1 -0
  67. package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js +400 -0
  68. package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js.map +1 -0
  69. package/dist/esm/components/controls/NumberInput/NumberInput.js +377 -0
  70. package/dist/esm/components/controls/NumberInput/NumberInput.js.map +1 -0
  71. package/dist/esm/components/controls/NumberInput/useNumberInput.js +324 -0
  72. package/dist/esm/components/controls/NumberInput/useNumberInput.js.map +1 -0
  73. package/dist/esm/components/controls/Select/Select.js +533 -0
  74. package/dist/esm/components/controls/Select/Select.js.map +1 -0
  75. package/dist/esm/components/controls/Slider/Slider.js +413 -0
  76. package/dist/esm/components/controls/Slider/Slider.js.map +1 -0
  77. package/dist/esm/components/controls/TreeView/TreeNode.js +189 -0
  78. package/dist/esm/components/controls/TreeView/TreeNode.js.map +1 -0
  79. package/dist/esm/components/controls/TreeView/TreeView.js +213 -0
  80. package/dist/esm/components/controls/TreeView/TreeView.js.map +1 -0
  81. package/dist/esm/components/controls/TreeView/useTreeState.js +154 -0
  82. package/dist/esm/components/controls/TreeView/useTreeState.js.map +1 -0
  83. package/dist/esm/components/controls/VectorInput/VectorInput.js +202 -0
  84. package/dist/esm/components/controls/VectorInput/VectorInput.js.map +1 -0
  85. package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js +42 -0
  86. package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js.map +1 -0
  87. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js +98 -0
  88. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js.map +1 -0
  89. package/dist/esm/components/editor/PropertyInspector/PropertyRow.js +154 -0
  90. package/dist/esm/components/editor/PropertyInspector/PropertyRow.js.map +1 -0
  91. package/dist/esm/components/editor/PropertyInspector/PropertySection.js +136 -0
  92. package/dist/esm/components/editor/PropertyInspector/PropertySection.js.map +1 -0
  93. package/dist/esm/components/editor/PropertyInspector/usePropertyUndo.js +86 -0
  94. package/dist/esm/components/editor/PropertyInspector/usePropertyUndo.js.map +1 -0
  95. package/dist/esm/components/feedback/Dialog/Dialog.js +92 -0
  96. package/dist/esm/components/feedback/Dialog/Dialog.js.map +1 -0
  97. package/dist/esm/components/feedback/Dialog/Dialog.styled.js +80 -0
  98. package/dist/esm/components/feedback/Dialog/Dialog.styled.js.map +1 -0
  99. package/dist/esm/components/feedback/Dialog/DialogBody.js +33 -0
  100. package/dist/esm/components/feedback/Dialog/DialogBody.js.map +1 -0
  101. package/dist/esm/components/feedback/Dialog/DialogClose.js +26 -0
  102. package/dist/esm/components/feedback/Dialog/DialogClose.js.map +1 -0
  103. package/dist/esm/components/feedback/Dialog/DialogFooter.js +43 -0
  104. package/dist/esm/components/feedback/Dialog/DialogFooter.js.map +1 -0
  105. package/dist/esm/components/feedback/Dialog/DialogHeader.js +84 -0
  106. package/dist/esm/components/feedback/Dialog/DialogHeader.js.map +1 -0
  107. package/dist/esm/components/feedback/Dialog/useDialogAnimation.js +70 -0
  108. package/dist/esm/components/feedback/Dialog/useDialogAnimation.js.map +1 -0
  109. package/dist/esm/components/feedback/Dialog/useFocusTrap.js +55 -0
  110. package/dist/esm/components/feedback/Dialog/useFocusTrap.js.map +1 -0
  111. package/dist/esm/components/feedback/Toast/ToastContainer.js +34 -0
  112. package/dist/esm/components/feedback/Toast/ToastContainer.js.map +1 -0
  113. package/dist/esm/components/feedback/Toast/ToastItem.js +214 -0
  114. package/dist/esm/components/feedback/Toast/ToastItem.js.map +1 -0
  115. package/dist/esm/components/feedback/Toast/ToastProvider.js +47 -0
  116. package/dist/esm/components/feedback/Toast/ToastProvider.js.map +1 -0
  117. package/dist/esm/components/feedback/Toast/useToast.js +60 -0
  118. package/dist/esm/components/feedback/Toast/useToast.js.map +1 -0
  119. package/dist/esm/components/form/FormHelperText.js +38 -0
  120. package/dist/esm/components/form/FormHelperText.js.map +1 -0
  121. package/dist/esm/components/form/FormLabel.js +43 -0
  122. package/dist/esm/components/form/FormLabel.js.map +1 -0
  123. package/dist/esm/components/form/InputWrapper.js +100 -0
  124. package/dist/esm/components/form/InputWrapper.js.map +1 -0
  125. package/dist/esm/components/layout/Accordion/Accordion.js +103 -0
  126. package/dist/esm/components/layout/Accordion/Accordion.js.map +1 -0
  127. package/dist/esm/components/layout/Accordion/AccordionContent.js +37 -0
  128. package/dist/esm/components/layout/Accordion/AccordionContent.js.map +1 -0
  129. package/dist/esm/components/layout/Accordion/AccordionItem.js +24 -0
  130. package/dist/esm/components/layout/Accordion/AccordionItem.js.map +1 -0
  131. package/dist/esm/components/layout/Accordion/AccordionTrigger.js +123 -0
  132. package/dist/esm/components/layout/Accordion/AccordionTrigger.js.map +1 -0
  133. package/dist/esm/components/layout/Flex/Flex.js +149 -0
  134. package/dist/esm/components/layout/Flex/Flex.js.map +1 -0
  135. package/dist/esm/components/layout/Grid/Grid.js +118 -0
  136. package/dist/esm/components/layout/Grid/Grid.js.map +1 -0
  137. package/dist/esm/components/layout/PanelSurface/PanelSurface.js +106 -0
  138. package/dist/esm/components/layout/PanelSurface/PanelSurface.js.map +1 -0
  139. package/dist/esm/components/layout/ScrollArea/ScrollArea.js +362 -0
  140. package/dist/esm/components/layout/ScrollArea/ScrollArea.js.map +1 -0
  141. package/dist/esm/components/layout/Spacer/Spacer.js +78 -0
  142. package/dist/esm/components/layout/Spacer/Spacer.js.map +1 -0
  143. package/dist/esm/components/layout/SplitPane/SplitPane.js +581 -0
  144. package/dist/esm/components/layout/SplitPane/SplitPane.js.map +1 -0
  145. package/dist/esm/components/layout/SplitPane/SplitPanePanel.js +29 -0
  146. package/dist/esm/components/layout/SplitPane/SplitPanePanel.js.map +1 -0
  147. package/dist/esm/components/layout/Stack/Stack.js +138 -0
  148. package/dist/esm/components/layout/Stack/Stack.js.map +1 -0
  149. package/dist/esm/components/navigation/ContextMenu/ContextMenu.js +45 -0
  150. package/dist/esm/components/navigation/ContextMenu/ContextMenu.js.map +1 -0
  151. package/dist/esm/components/navigation/ContextMenu/useContextMenuTarget.js +52 -0
  152. package/dist/esm/components/navigation/ContextMenu/useContextMenuTarget.js.map +1 -0
  153. package/dist/esm/components/navigation/Menu/Menu.helpers.js +52 -0
  154. package/dist/esm/components/navigation/Menu/Menu.helpers.js.map +1 -0
  155. package/dist/esm/components/navigation/Menu/Menu.js +80 -0
  156. package/dist/esm/components/navigation/Menu/Menu.js.map +1 -0
  157. package/dist/esm/components/navigation/Menu/Menu.styled.js +83 -0
  158. package/dist/esm/components/navigation/Menu/Menu.styled.js.map +1 -0
  159. package/dist/esm/components/navigation/Menu/useMenu.js +87 -0
  160. package/dist/esm/components/navigation/Menu/useMenu.js.map +1 -0
  161. package/dist/esm/components/navigation/Tabs/Tab.js +222 -0
  162. package/dist/esm/components/navigation/Tabs/Tab.js.map +1 -0
  163. package/dist/esm/components/navigation/Tabs/TabList.js +115 -0
  164. package/dist/esm/components/navigation/Tabs/TabList.js.map +1 -0
  165. package/dist/esm/components/navigation/Tabs/TabPanel.js +32 -0
  166. package/dist/esm/components/navigation/Tabs/TabPanel.js.map +1 -0
  167. package/dist/esm/components/navigation/Tabs/Tabs.js +77 -0
  168. package/dist/esm/components/navigation/Tabs/Tabs.js.map +1 -0
  169. package/dist/esm/components/primitives/BaseButton/BaseButton.js +17 -0
  170. package/dist/esm/components/primitives/BaseButton/BaseButton.js.map +1 -0
  171. package/dist/esm/components/primitives/Button/Button.js +183 -0
  172. package/dist/esm/components/primitives/Button/Button.js.map +1 -0
  173. package/dist/esm/components/primitives/Checkbox/Checkbox.js +205 -0
  174. package/dist/esm/components/primitives/Checkbox/Checkbox.js.map +1 -0
  175. package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js +71 -0
  176. package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js.map +1 -0
  177. package/dist/esm/components/primitives/Collapsible/Collapsible.js +116 -0
  178. package/dist/esm/components/primitives/Collapsible/Collapsible.js.map +1 -0
  179. package/dist/esm/components/primitives/Icon/Icon.js +63 -0
  180. package/dist/esm/components/primitives/Icon/Icon.js.map +1 -0
  181. package/dist/esm/components/primitives/IconButton/IconButton.js +222 -0
  182. package/dist/esm/components/primitives/IconButton/IconButton.js.map +1 -0
  183. package/dist/esm/components/primitives/Input/Input.js +133 -0
  184. package/dist/esm/components/primitives/Input/Input.js.map +1 -0
  185. package/dist/esm/components/primitives/Paper/Paper.js +146 -0
  186. package/dist/esm/components/primitives/Paper/Paper.js.map +1 -0
  187. package/dist/esm/components/primitives/Popover/Popover.js +121 -0
  188. package/dist/esm/components/primitives/Popover/Popover.js.map +1 -0
  189. package/dist/esm/components/primitives/Popover/PopoverClose.js +50 -0
  190. package/dist/esm/components/primitives/Popover/PopoverClose.js.map +1 -0
  191. package/dist/esm/components/primitives/Popover/PopoverContent.js +102 -0
  192. package/dist/esm/components/primitives/Popover/PopoverContent.js.map +1 -0
  193. package/dist/esm/components/primitives/Popover/PopoverTrigger.js +37 -0
  194. package/dist/esm/components/primitives/Popover/PopoverTrigger.js.map +1 -0
  195. package/dist/esm/components/primitives/Switch/Switch.js +170 -0
  196. package/dist/esm/components/primitives/Switch/Switch.js.map +1 -0
  197. package/dist/esm/components/primitives/Text/Text.js +166 -0
  198. package/dist/esm/components/primitives/Text/Text.js.map +1 -0
  199. package/dist/esm/components/primitives/Tooltip/Arrow.js +52 -0
  200. package/dist/esm/components/primitives/Tooltip/Arrow.js.map +1 -0
  201. package/dist/esm/components/primitives/Tooltip/Tooltip.js +219 -0
  202. package/dist/esm/components/primitives/Tooltip/Tooltip.js.map +1 -0
  203. package/dist/esm/components/primitives/Tooltip/utils.js +66 -0
  204. package/dist/esm/components/primitives/Tooltip/utils.js.map +1 -0
  205. package/dist/esm/components/shell/AppShell/AppShell.js +157 -0
  206. package/dist/esm/components/shell/AppShell/AppShell.js.map +1 -0
  207. package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js +236 -0
  208. package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js.map +1 -0
  209. package/dist/esm/components/shell/MenuBar/MenuBar.js +340 -0
  210. package/dist/esm/components/shell/MenuBar/MenuBar.js.map +1 -0
  211. package/dist/esm/components/shell/StatusBar/StatusBar.js +134 -0
  212. package/dist/esm/components/shell/StatusBar/StatusBar.js.map +1 -0
  213. package/dist/esm/components/shell/Toolbar/Toolbar.js +185 -0
  214. package/dist/esm/components/shell/Toolbar/Toolbar.js.map +1 -0
  215. package/dist/esm/context/KeyboardContext.js +14 -0
  216. package/dist/esm/context/KeyboardContext.js.map +1 -0
  217. package/dist/esm/index.js +78 -0
  218. package/dist/esm/index.js.map +1 -0
  219. package/dist/esm/palettes.js +4 -0
  220. package/dist/esm/palettes.js.map +1 -0
  221. package/dist/esm/theme/ThemeProvider.js +12 -0
  222. package/dist/esm/theme/ThemeProvider.js.map +1 -0
  223. package/dist/esm/theme/createTheme.js +10 -0
  224. package/dist/esm/theme/createTheme.js.map +1 -0
  225. package/dist/esm/theme/tokens.js +144 -0
  226. package/dist/esm/theme/tokens.js.map +1 -0
  227. package/dist/esm/utils/cn.js +6 -0
  228. package/dist/esm/utils/cn.js.map +1 -0
  229. package/dist/esm/utils/mathExpression.js +275 -0
  230. package/dist/esm/utils/mathExpression.js.map +1 -0
  231. package/dist/esm/utils/mathUtils.js +18 -0
  232. package/dist/esm/utils/mathUtils.js.map +1 -0
  233. package/dist/esm/utils/objects.js +22 -0
  234. package/dist/esm/utils/objects.js.map +1 -0
  235. package/dist/esm/utils/styledUtils.js +81 -0
  236. package/dist/esm/utils/styledUtils.js.map +1 -0
  237. package/dist/types/components/controls/ColorPicker/ColorPalette.d.ts +16 -0
  238. package/dist/types/components/controls/ColorPicker/ColorPicker.d.ts +6 -0
  239. package/dist/types/components/controls/ColorPicker/ColorPicker.types.d.ts +120 -0
  240. package/dist/types/components/controls/ColorPicker/ColorSwatch.d.ts +6 -0
  241. package/dist/types/components/controls/ColorPicker/EyeDropper.d.ts +28 -0
  242. package/dist/types/components/controls/ColorPicker/colorUtils.d.ts +3 -0
  243. package/dist/types/components/controls/ColorPicker/palettes/material.d.ts +24 -0
  244. package/dist/types/components/controls/ColorPicker/palettes/professional.d.ts +19 -0
  245. package/dist/types/components/controls/ColorPicker/palettes/tailwind.d.ts +12 -0
  246. package/dist/types/components/controls/CurveEditor/CurveEditor.d.ts +6 -0
  247. package/dist/types/components/controls/CurveEditor/CurveEditor.types.d.ts +297 -0
  248. package/dist/types/components/controls/CurveEditor/curvePresets.d.ts +5 -0
  249. package/dist/types/components/controls/CurveEditor/curveUtils.d.ts +28 -0
  250. package/dist/types/components/controls/NumberInput/NumberInput.d.ts +150 -0
  251. package/dist/types/components/controls/NumberInput/useNumberInput.d.ts +65 -0
  252. package/dist/types/components/controls/Select/Select.d.ts +29 -0
  253. package/dist/types/components/controls/Select/Select.types.d.ts +131 -0
  254. package/dist/types/components/controls/Slider/Slider.d.ts +178 -0
  255. package/dist/types/components/controls/TreeView/TreeView.d.ts +27 -0
  256. package/dist/types/components/controls/TreeView/TreeView.types.d.ts +135 -0
  257. package/dist/types/components/controls/VectorInput/VectorInput.d.ts +26 -0
  258. package/dist/types/components/controls/VectorInput/VectorInput.types.d.ts +158 -0
  259. package/dist/types/components/editor/PropertyInspector/PropertyGroup.d.ts +6 -0
  260. package/dist/types/components/editor/PropertyInspector/PropertyInspector.types.d.ts +238 -0
  261. package/dist/types/components/editor/PropertyInspector/PropertyPanel.d.ts +6 -0
  262. package/dist/types/components/editor/PropertyInspector/PropertyRow.d.ts +6 -0
  263. package/dist/types/components/editor/PropertyInspector/PropertySection.d.ts +6 -0
  264. package/dist/types/components/editor/PropertyInspector/usePropertyUndo.d.ts +9 -0
  265. package/dist/types/components/feedback/Dialog/Dialog.d.ts +25 -0
  266. package/dist/types/components/feedback/Dialog/Dialog.types.d.ts +55 -0
  267. package/dist/types/components/feedback/Dialog/DialogBody.d.ts +16 -0
  268. package/dist/types/components/feedback/Dialog/DialogClose.d.ts +21 -0
  269. package/dist/types/components/feedback/Dialog/DialogFooter.d.ts +17 -0
  270. package/dist/types/components/feedback/Dialog/DialogHeader.d.ts +17 -0
  271. package/dist/types/components/feedback/Toast/Toast.types.d.ts +39 -0
  272. package/dist/types/components/feedback/Toast/ToastProvider.d.ts +19 -0
  273. package/dist/types/components/feedback/Toast/useToast.d.ts +22 -0
  274. package/dist/types/components/form/FormHelperText.d.ts +321 -0
  275. package/dist/types/components/form/FormLabel.d.ts +331 -0
  276. package/dist/types/components/form/InputWrapper.d.ts +346 -0
  277. package/dist/types/components/layout/Accordion/Accordion.d.ts +23 -0
  278. package/dist/types/components/layout/Accordion/Accordion.types.d.ts +109 -0
  279. package/dist/types/components/layout/Accordion/AccordionContent.d.ts +6 -0
  280. package/dist/types/components/layout/Accordion/AccordionItem.d.ts +6 -0
  281. package/dist/types/components/layout/Accordion/AccordionTrigger.d.ts +6 -0
  282. package/dist/types/components/layout/Flex/Flex.d.ts +215 -0
  283. package/dist/types/components/layout/Grid/Grid.d.ts +113 -0
  284. package/dist/types/components/layout/PanelSurface/PanelSurface.d.ts +1153 -0
  285. package/dist/types/components/layout/PanelSurface/PanelSurface.types.d.ts +64 -0
  286. package/dist/types/components/layout/ScrollArea/ScrollArea.d.ts +6 -0
  287. package/dist/types/components/layout/ScrollArea/ScrollArea.types.d.ts +93 -0
  288. package/dist/types/components/layout/Spacer/Spacer.d.ts +329 -0
  289. package/dist/types/components/layout/SplitPane/SplitPane.d.ts +21 -0
  290. package/dist/types/components/layout/SplitPane/SplitPane.types.d.ts +87 -0
  291. package/dist/types/components/layout/SplitPane/SplitPanePanel.d.ts +20 -0
  292. package/dist/types/components/layout/Stack/Stack.d.ts +166 -0
  293. package/dist/types/components/navigation/ContextMenu/ContextMenu.d.ts +6 -0
  294. package/dist/types/components/navigation/ContextMenu/ContextMenu.types.d.ts +74 -0
  295. package/dist/types/components/navigation/ContextMenu/useContextMenuTarget.d.ts +5 -0
  296. package/dist/types/components/navigation/Menu/Menu.d.ts +42 -0
  297. package/dist/types/components/navigation/Menu/Menu.types.d.ts +94 -0
  298. package/dist/types/components/navigation/Menu/useMenu.d.ts +16 -0
  299. package/dist/types/components/navigation/Tabs/Tab.d.ts +6 -0
  300. package/dist/types/components/navigation/Tabs/TabList.d.ts +6 -0
  301. package/dist/types/components/navigation/Tabs/TabPanel.d.ts +6 -0
  302. package/dist/types/components/navigation/Tabs/Tabs.d.ts +23 -0
  303. package/dist/types/components/navigation/Tabs/Tabs.types.d.ts +117 -0
  304. package/dist/types/components/primitives/Button/Button.d.ts +392 -0
  305. package/dist/types/components/primitives/Checkbox/Checkbox.d.ts +20 -0
  306. package/dist/types/components/primitives/Checkbox/Checkbox.types.d.ts +156 -0
  307. package/dist/types/components/primitives/Checkbox/CheckboxGroup.d.ts +25 -0
  308. package/dist/types/components/primitives/Collapsible/Collapsible.d.ts +6 -0
  309. package/dist/types/components/primitives/Collapsible/Collapsible.types.d.ts +28 -0
  310. package/dist/types/components/primitives/Icon/Icon.d.ts +40 -0
  311. package/dist/types/components/primitives/IconButton/IconButton.d.ts +354 -0
  312. package/dist/types/components/primitives/Input/Input.d.ts +134 -0
  313. package/dist/types/components/primitives/Paper/Paper.d.ts +419 -0
  314. package/dist/types/components/primitives/Popover/Popover.d.ts +25 -0
  315. package/dist/types/components/primitives/Popover/Popover.types.d.ts +99 -0
  316. package/dist/types/components/primitives/Popover/PopoverClose.d.ts +6 -0
  317. package/dist/types/components/primitives/Popover/PopoverContent.d.ts +6 -0
  318. package/dist/types/components/primitives/Popover/PopoverTrigger.d.ts +10 -0
  319. package/dist/types/components/primitives/Switch/Switch.d.ts +78 -0
  320. package/dist/types/components/primitives/Text/Text.d.ts +442 -0
  321. package/dist/types/components/primitives/Tooltip/Tooltip.d.ts +175 -0
  322. package/dist/types/components/primitives/Tooltip/types.d.ts +82 -0
  323. package/dist/types/components/shell/AppShell/AppShell.d.ts +1437 -0
  324. package/dist/types/components/shell/AppShell/AppShell.types.d.ts +48 -0
  325. package/dist/types/components/shell/FloatingPanel/FloatingPanel.d.ts +7 -0
  326. package/dist/types/components/shell/FloatingPanel/FloatingPanel.types.d.ts +61 -0
  327. package/dist/types/components/shell/MenuBar/MenuBar.d.ts +1441 -0
  328. package/dist/types/components/shell/MenuBar/MenuBar.types.d.ts +48 -0
  329. package/dist/types/components/shell/StatusBar/StatusBar.d.ts +868 -0
  330. package/dist/types/components/shell/StatusBar/StatusBar.types.d.ts +40 -0
  331. package/dist/types/components/shell/Toolbar/Toolbar.d.ts +1728 -0
  332. package/dist/types/components/shell/Toolbar/Toolbar.types.d.ts +59 -0
  333. package/dist/types/index.d.ts +101 -0
  334. package/dist/types/palettes.d.ts +3 -0
  335. package/dist/types/theme/ThemeProvider.d.ts +11 -0
  336. package/dist/types/theme/createTheme.d.ts +6 -0
  337. package/dist/types/theme/tokens.d.ts +147 -0
  338. package/dist/types/theme/types.d.ts +7 -0
  339. package/dist/types/types/common.d.ts +24 -0
  340. package/dist/types/types/utilities.d.ts +72 -0
  341. package/dist/types/utils/cn.d.ts +3 -0
  342. package/package.json +23 -7
  343. package/dist/index.d.ts +0 -11
  344. package/dist/index.esm.js +0 -12149
  345. package/dist/index.esm.js.map +0 -1
  346. package/dist/index.js +0 -12223
  347. package/dist/index.js.map +0 -1
@@ -0,0 +1,362 @@
1
+ import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
+ import { useId, useRef, useState, useCallback, useEffect } from 'react';
3
+ import styled from '@emotion/styled';
4
+
5
+ const StyledRoot = styled.div `
6
+ position: relative;
7
+ overflow: hidden;
8
+ ${props => props.$autoFill
9
+ ? `
10
+ width: 100%;
11
+ height: 100%;
12
+ `
13
+ : ''}
14
+ ${props => props.$maxHeight != null
15
+ ? `max-height: ${typeof props.$maxHeight === 'number' ? `${props.$maxHeight}px` : props.$maxHeight};`
16
+ : ''}
17
+ ${props => props.$maxWidth != null
18
+ ? `max-width: ${typeof props.$maxWidth === 'number' ? `${props.$maxWidth}px` : props.$maxWidth};`
19
+ : ''}
20
+ `;
21
+ const StyledViewport = styled.div `
22
+ width: 100%;
23
+ height: 100%;
24
+ max-height: inherit;
25
+ max-width: inherit;
26
+ overflow-x: ${props => props.$direction === 'horizontal' || props.$direction === 'both'
27
+ ? 'scroll'
28
+ : 'hidden'};
29
+ overflow-y: ${props => props.$direction === 'vertical' || props.$direction === 'both'
30
+ ? 'scroll'
31
+ : 'hidden'};
32
+
33
+ /* Hide native scrollbars */
34
+ scrollbar-width: none; /* Firefox */
35
+ -ms-overflow-style: none; /* IE/Edge */
36
+ &::-webkit-scrollbar {
37
+ display: none; /* Chrome/Safari */
38
+ }
39
+
40
+ &:focus {
41
+ outline: none;
42
+ }
43
+
44
+ &:focus-visible {
45
+ box-shadow: ${props => props.theme.shadows.focus};
46
+ }
47
+ `;
48
+ const StyledScrollbar = styled.div `
49
+ position: absolute;
50
+ z-index: 1;
51
+ ${props => props.$direction === 'vertical'
52
+ ? `
53
+ right: ${props.$padding}px;
54
+ top: ${props.$padding}px;
55
+ bottom: ${props.$padding}px;
56
+ width: ${props.$width}px;
57
+ `
58
+ : `
59
+ bottom: ${props.$padding}px;
60
+ left: ${props.$padding}px;
61
+ right: ${props.$padding}px;
62
+ height: ${props.$width}px;
63
+ `}
64
+ border-radius: ${props => props.$width}px;
65
+ opacity: ${props => (props.$visible ? 1 : 0)};
66
+ transition: opacity ${props => props.theme.transitions.fast};
67
+ pointer-events: ${props => (props.$visible ? 'auto' : 'none')};
68
+ `;
69
+ const StyledThumb = styled.div `
70
+ position: absolute;
71
+ ${props => props.$direction === 'vertical'
72
+ ? `
73
+ width: 100%;
74
+ left: 0;
75
+ `
76
+ : `
77
+ height: 100%;
78
+ top: 0;
79
+ `}
80
+ border-radius: inherit;
81
+ background: ${props => props.theme.colors.text.disabled};
82
+ transition: background ${props => props.theme.transitions.fast};
83
+ cursor: pointer;
84
+
85
+ &:hover {
86
+ background: ${props => props.theme.colors.text.muted};
87
+ }
88
+
89
+ ${props => props.$isDragging
90
+ ? `background: ${props.theme.colors.text.secondary};`
91
+ : ''}
92
+ `;
93
+ const StyledFadeMask = styled.div `
94
+ position: absolute;
95
+ z-index: 1;
96
+ pointer-events: none;
97
+ opacity: ${props => (props.$visible ? 1 : 0)};
98
+ transition: opacity ${props => props.theme.transitions.fast};
99
+
100
+ ${props => {
101
+ const { $position, $size } = props;
102
+ const bgBase = props.theme.colors.background.primary;
103
+ switch ($position) {
104
+ case 'top':
105
+ return `
106
+ top: 0; left: 0; right: 0; height: ${$size}px;
107
+ background: linear-gradient(to bottom, ${bgBase}, transparent);
108
+ `;
109
+ case 'bottom':
110
+ return `
111
+ bottom: 0; left: 0; right: 0; height: ${$size}px;
112
+ background: linear-gradient(to top, ${bgBase}, transparent);
113
+ `;
114
+ case 'left':
115
+ return `
116
+ top: 0; left: 0; bottom: 0; width: ${$size}px;
117
+ background: linear-gradient(to right, ${bgBase}, transparent);
118
+ `;
119
+ case 'right':
120
+ return `
121
+ top: 0; right: 0; bottom: 0; width: ${$size}px;
122
+ background: linear-gradient(to left, ${bgBase}, transparent);
123
+ `;
124
+ }
125
+ }}
126
+ `;
127
+ // --- Component ---
128
+ const ScrollArea = ({ children, direction = 'vertical', scrollbarVisibility = 'auto', hideDelay = 1000, scrollbarWidth = 6, minThumbLength = 30, scrollbarPadding = 2, fadeMask = false, fadeMaskHeight = 24, maxHeight, maxWidth, autoFill = false, onScroll, onScrollTop, onScrollBottom, className, style, testId, ref: externalRef, ...rest }) => {
129
+ const autoId = useId();
130
+ const viewportId = `scrollarea-${autoId}-viewport`;
131
+ const viewportRef = useRef(null);
132
+ // Thumb state
133
+ const [vThumbSize, setVThumbSize] = useState(0);
134
+ const [vThumbOffset, setVThumbOffset] = useState(0);
135
+ const [hThumbSize, setHThumbSize] = useState(0);
136
+ const [hThumbOffset, setHThumbOffset] = useState(0);
137
+ const [hasVOverflow, setHasVOverflow] = useState(false);
138
+ const [hasHOverflow, setHasHOverflow] = useState(false);
139
+ // Visibility state
140
+ const [scrollbarVisible, setScrollbarVisible] = useState(scrollbarVisibility === 'always');
141
+ const hideTimerRef = useRef(null);
142
+ const [isDragging, setIsDragging] = useState(false);
143
+ const dragAxisRef = useRef(null);
144
+ const dragStartRef = useRef({ pointerPos: 0, scrollPos: 0 });
145
+ // Fade mask state
146
+ const [atTop, setAtTop] = useState(true);
147
+ const [atBottom, setAtBottom] = useState(false);
148
+ const [atLeft, setAtLeft] = useState(true);
149
+ const [atRight, setAtRight] = useState(false);
150
+ const showV = direction === 'vertical' || direction === 'both';
151
+ const showH = direction === 'horizontal' || direction === 'both';
152
+ // Recalculate thumb sizes
153
+ const recalculate = useCallback(() => {
154
+ const vp = viewportRef.current;
155
+ if (!vp)
156
+ return;
157
+ if (showV) {
158
+ const ratio = vp.clientHeight / vp.scrollHeight;
159
+ const overflow = ratio < 1;
160
+ setHasVOverflow(overflow);
161
+ if (overflow) {
162
+ const trackHeight = vp.clientHeight - scrollbarPadding * 2;
163
+ const thumbH = Math.max(minThumbLength, ratio * trackHeight);
164
+ setVThumbSize(thumbH);
165
+ const maxScroll = vp.scrollHeight - vp.clientHeight;
166
+ const scrollRatio = maxScroll > 0 ? vp.scrollTop / maxScroll : 0;
167
+ setVThumbOffset(scrollRatio * (trackHeight - thumbH));
168
+ }
169
+ }
170
+ if (showH) {
171
+ const ratio = vp.clientWidth / vp.scrollWidth;
172
+ const overflow = ratio < 1;
173
+ setHasHOverflow(overflow);
174
+ if (overflow) {
175
+ const trackWidth = vp.clientWidth - scrollbarPadding * 2;
176
+ const thumbW = Math.max(minThumbLength, ratio * trackWidth);
177
+ setHThumbSize(thumbW);
178
+ const maxScroll = vp.scrollWidth - vp.clientWidth;
179
+ const scrollRatio = maxScroll > 0 ? vp.scrollLeft / maxScroll : 0;
180
+ setHThumbOffset(scrollRatio * (trackWidth - thumbW));
181
+ }
182
+ }
183
+ // Update fade mask state
184
+ if (fadeMask) {
185
+ setAtTop(vp.scrollTop <= 0);
186
+ setAtBottom(vp.scrollTop + vp.clientHeight >= vp.scrollHeight - 1);
187
+ setAtLeft(vp.scrollLeft <= 0);
188
+ setAtRight(vp.scrollLeft + vp.clientWidth >= vp.scrollWidth - 1);
189
+ }
190
+ }, [showV, showH, scrollbarPadding, minThumbLength, fadeMask]);
191
+ // Show scrollbar with auto-hide
192
+ const showScrollbar = useCallback(() => {
193
+ if (scrollbarVisibility === 'never')
194
+ return;
195
+ if (scrollbarVisibility === 'always')
196
+ return;
197
+ setScrollbarVisible(true);
198
+ if (hideTimerRef.current) {
199
+ clearTimeout(hideTimerRef.current);
200
+ }
201
+ if (scrollbarVisibility === 'auto') {
202
+ hideTimerRef.current = setTimeout(() => {
203
+ if (!isDragging) {
204
+ setScrollbarVisible(false);
205
+ }
206
+ }, hideDelay);
207
+ }
208
+ }, [scrollbarVisibility, hideDelay, isDragging]);
209
+ // Handle scroll
210
+ const handleScroll = useCallback((e) => {
211
+ recalculate();
212
+ showScrollbar();
213
+ onScroll?.(e);
214
+ const vp = e.currentTarget;
215
+ if (vp.scrollTop <= 0) {
216
+ onScrollTop?.();
217
+ }
218
+ if (vp.scrollTop + vp.clientHeight >= vp.scrollHeight - 1) {
219
+ onScrollBottom?.();
220
+ }
221
+ }, [recalculate, showScrollbar, onScroll, onScrollTop, onScrollBottom]);
222
+ // Handle hover
223
+ const handleMouseEnter = useCallback(() => {
224
+ if (scrollbarVisibility === 'hover' || scrollbarVisibility === 'auto') {
225
+ setScrollbarVisible(true);
226
+ if (hideTimerRef.current) {
227
+ clearTimeout(hideTimerRef.current);
228
+ hideTimerRef.current = null;
229
+ }
230
+ }
231
+ }, [scrollbarVisibility]);
232
+ const handleMouseLeave = useCallback(() => {
233
+ if (scrollbarVisibility === 'hover') {
234
+ setScrollbarVisible(false);
235
+ }
236
+ else if (scrollbarVisibility === 'auto' && !isDragging) {
237
+ hideTimerRef.current = setTimeout(() => {
238
+ setScrollbarVisible(false);
239
+ }, hideDelay);
240
+ }
241
+ }, [scrollbarVisibility, isDragging, hideDelay]);
242
+ // Thumb drag handlers
243
+ const handleThumbPointerDown = useCallback((axis, e) => {
244
+ e.preventDefault();
245
+ e.stopPropagation();
246
+ const vp = viewportRef.current;
247
+ if (!vp)
248
+ return;
249
+ setIsDragging(true);
250
+ dragAxisRef.current = axis;
251
+ e.target.setPointerCapture(e.pointerId);
252
+ if (axis === 'vertical') {
253
+ dragStartRef.current = {
254
+ pointerPos: e.clientY,
255
+ scrollPos: vp.scrollTop,
256
+ };
257
+ }
258
+ else {
259
+ dragStartRef.current = {
260
+ pointerPos: e.clientX,
261
+ scrollPos: vp.scrollLeft,
262
+ };
263
+ }
264
+ }, []);
265
+ const handleThumbPointerMove = useCallback((e) => {
266
+ if (!isDragging || !dragAxisRef.current)
267
+ return;
268
+ const vp = viewportRef.current;
269
+ if (!vp)
270
+ return;
271
+ const axis = dragAxisRef.current;
272
+ if (axis === 'vertical') {
273
+ const trackHeight = vp.clientHeight - scrollbarPadding * 2;
274
+ const maxScroll = vp.scrollHeight - vp.clientHeight;
275
+ const delta = e.clientY - dragStartRef.current.pointerPos;
276
+ const scrollDelta = (delta / (trackHeight - vThumbSize)) * maxScroll;
277
+ vp.scrollTop = dragStartRef.current.scrollPos + scrollDelta;
278
+ }
279
+ else {
280
+ const trackWidth = vp.clientWidth - scrollbarPadding * 2;
281
+ const maxScroll = vp.scrollWidth - vp.clientWidth;
282
+ const delta = e.clientX - dragStartRef.current.pointerPos;
283
+ const scrollDelta = (delta / (trackWidth - hThumbSize)) * maxScroll;
284
+ vp.scrollLeft = dragStartRef.current.scrollPos + scrollDelta;
285
+ }
286
+ }, [isDragging, scrollbarPadding, vThumbSize, hThumbSize]);
287
+ const handleThumbPointerUp = useCallback(() => {
288
+ setIsDragging(false);
289
+ dragAxisRef.current = null;
290
+ }, []);
291
+ // Track click handler
292
+ const handleTrackClick = useCallback((axis, e) => {
293
+ const vp = viewportRef.current;
294
+ if (!vp)
295
+ return;
296
+ const trackRect = e.currentTarget.getBoundingClientRect();
297
+ if (axis === 'vertical') {
298
+ const clickRatio = (e.clientY - trackRect.top) / trackRect.height;
299
+ vp.scrollTop = clickRatio * (vp.scrollHeight - vp.clientHeight);
300
+ }
301
+ else {
302
+ const clickRatio = (e.clientX - trackRect.left) / trackRect.width;
303
+ vp.scrollLeft = clickRatio * (vp.scrollWidth - vp.clientWidth);
304
+ }
305
+ }, []);
306
+ // Observe resize
307
+ useEffect(() => {
308
+ const vp = viewportRef.current;
309
+ if (!vp)
310
+ return;
311
+ recalculate();
312
+ const ro = new ResizeObserver(() => {
313
+ recalculate();
314
+ });
315
+ ro.observe(vp);
316
+ if (vp.firstElementChild) {
317
+ ro.observe(vp.firstElementChild);
318
+ }
319
+ return () => ro.disconnect();
320
+ }, [recalculate]);
321
+ // Cleanup timer
322
+ useEffect(() => {
323
+ return () => {
324
+ if (hideTimerRef.current) {
325
+ clearTimeout(hideTimerRef.current);
326
+ }
327
+ };
328
+ }, []);
329
+ // Set ref
330
+ const setViewportRef = useCallback((node) => {
331
+ viewportRef.current = node;
332
+ if (typeof externalRef === 'function') {
333
+ externalRef(node);
334
+ }
335
+ else if (externalRef && typeof externalRef === 'object') {
336
+ externalRef.current =
337
+ node;
338
+ }
339
+ }, [externalRef]);
340
+ const isScrollbarShown = scrollbarVisibility === 'never' ? false : scrollbarVisible;
341
+ return (jsxs(StyledRoot, { "$maxHeight": maxHeight, "$maxWidth": maxWidth, "$autoFill": autoFill, className: className, style: style, "data-testid": testId, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, ...rest, children: [jsx(StyledViewport, { ref: setViewportRef, id: viewportId, role: "region", tabIndex: 0, "$direction": direction, onScroll: handleScroll, children: children }), fadeMask && showV && (jsxs(Fragment, { children: [jsx(StyledFadeMask, { "$position": "top", "$size": fadeMaskHeight, "$visible": !atTop, "data-testid": testId ? `${testId}-fade-top` : undefined }), jsx(StyledFadeMask, { "$position": "bottom", "$size": fadeMaskHeight, "$visible": !atBottom, "data-testid": testId ? `${testId}-fade-bottom` : undefined })] })), fadeMask && showH && (jsxs(Fragment, { children: [jsx(StyledFadeMask, { "$position": "left", "$size": fadeMaskHeight, "$visible": !atLeft }), jsx(StyledFadeMask, { "$position": "right", "$size": fadeMaskHeight, "$visible": !atRight })] })), showV && hasVOverflow && (jsx(StyledScrollbar, { "$direction": "vertical", "$width": scrollbarWidth, "$padding": scrollbarPadding, "$visible": isScrollbarShown, role: "scrollbar", "aria-controls": viewportId, "aria-orientation": "vertical", "aria-valuenow": Math.round(viewportRef.current
342
+ ? (viewportRef.current.scrollTop /
343
+ Math.max(1, viewportRef.current.scrollHeight -
344
+ viewportRef.current.clientHeight)) *
345
+ 100
346
+ : 0), "aria-valuemin": 0, "aria-valuemax": 100, "data-testid": testId ? `${testId}-scrollbar-v` : undefined, onClick: e => handleTrackClick('vertical', e), children: jsx(StyledThumb, { "$direction": "vertical", "$isDragging": isDragging && dragAxisRef.current === 'vertical', style: {
347
+ height: `${vThumbSize}px`,
348
+ transform: `translateY(${vThumbOffset}px)`,
349
+ }, onPointerDown: e => handleThumbPointerDown('vertical', e), onPointerMove: handleThumbPointerMove, onPointerUp: handleThumbPointerUp, "data-testid": testId ? `${testId}-thumb-v` : undefined }) })), showH && hasHOverflow && (jsx(StyledScrollbar, { "$direction": "horizontal", "$width": scrollbarWidth, "$padding": scrollbarPadding, "$visible": isScrollbarShown, role: "scrollbar", "aria-controls": viewportId, "aria-orientation": "horizontal", "aria-valuenow": Math.round(viewportRef.current
350
+ ? (viewportRef.current.scrollLeft /
351
+ Math.max(1, viewportRef.current.scrollWidth -
352
+ viewportRef.current.clientWidth)) *
353
+ 100
354
+ : 0), "aria-valuemin": 0, "aria-valuemax": 100, "data-testid": testId ? `${testId}-scrollbar-h` : undefined, onClick: e => handleTrackClick('horizontal', e), children: jsx(StyledThumb, { "$direction": "horizontal", "$isDragging": isDragging && dragAxisRef.current === 'horizontal', style: {
355
+ width: `${hThumbSize}px`,
356
+ transform: `translateX(${hThumbOffset}px)`,
357
+ }, onPointerDown: e => handleThumbPointerDown('horizontal', e), onPointerMove: handleThumbPointerMove, onPointerUp: handleThumbPointerUp, "data-testid": testId ? `${testId}-thumb-h` : undefined }) }))] }));
358
+ };
359
+ ScrollArea.displayName = 'ScrollArea';
360
+
361
+ export { ScrollArea };
362
+ //# sourceMappingURL=ScrollArea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ScrollArea.js","sources":["../../../../../../src/components/layout/ScrollArea/ScrollArea.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
@@ -0,0 +1,78 @@
1
+ import { jsx } from 'react/jsx-runtime';
2
+ import React from 'react';
3
+ import styled from '@emotion/styled';
4
+ import { processCss } from '../../../utils/styledUtils.js';
5
+
6
+ const StyledSpacer = styled.div `
7
+ /* Auto-expanding behavior by default */
8
+ ${props => !props.$size &&
9
+ `
10
+ flex-grow: 1;
11
+ flex-shrink: 1;
12
+ flex-basis: auto;
13
+ min-width: 0;
14
+ min-height: 0;
15
+ `}
16
+
17
+ /* Fixed size mode — sets both width and height; flex layout uses the axis-aligned dimension */
18
+ ${props => props.$size &&
19
+ `
20
+ flex: none;
21
+ ${typeof props.$size === 'number'
22
+ ? `width: ${props.$size}px; height: ${props.$size}px;`
23
+ : `width: ${props.$size}; height: ${props.$size};`}
24
+ `}
25
+
26
+ /* Ensure it doesn't interfere with content */
27
+ pointer-events: none;
28
+ user-select: none;
29
+
30
+ /* Custom CSS */
31
+ ${props => processCss(props.$css, props.theme)}
32
+ `;
33
+ /**
34
+ * A flexible spacer component that expands to fill available space.
35
+ *
36
+ * Perfect for pushing elements apart in flex layouts (Stack, Flex components).
37
+ * By default, it grows to fill available space. Can also be used with fixed size.
38
+ *
39
+ * @example
40
+ * ```tsx
41
+ * // Auto-expanding spacer (pushes elements apart)
42
+ * <Stack direction="row">
43
+ * <Button>Left</Button>
44
+ * <Spacer />
45
+ * <Button>Right</Button>
46
+ * </Stack>
47
+ *
48
+ * // Fixed size spacer
49
+ * <Stack direction="column">
50
+ * <Title>Header</Title>
51
+ * <Spacer size="2rem" />
52
+ * <Content>Body</Content>
53
+ * </Stack>
54
+ *
55
+ * // Multiple spacers for even distribution
56
+ * <Flex direction="row">
57
+ * <Logo />
58
+ * <Spacer />
59
+ * <Navigation />
60
+ * <Spacer />
61
+ * <UserMenu />
62
+ * </Flex>
63
+ *
64
+ * // Numeric size
65
+ * <Stack>
66
+ * <Item />
67
+ * <Spacer size={20} />
68
+ * <Item />
69
+ * </Stack>
70
+ * ```
71
+ */
72
+ const Spacer = /*#__PURE__*/ React.memo(({ size, className, testId, css, style, ref, ...htmlProps }) => {
73
+ return (jsx(StyledSpacer, { ref: ref, className: className, "$size": size, "$css": css, "data-testid": testId, style: style, ...htmlProps }));
74
+ });
75
+ Spacer.displayName = 'Spacer';
76
+
77
+ export { Spacer };
78
+ //# sourceMappingURL=Spacer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spacer.js","sources":["../../../../../../src/components/layout/Spacer/Spacer.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;;AAgCA,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAmB;;AAE9C,EAAA,EAAA,KAAK,IACL,CAAC,KAAK,CAAC,KAAK;AACZ,IAAA;;;;;;AAMD,EAAA,CAAA;;;AAGC,EAAA,EAAA,KAAK,IACL,KAAK,CAAC,KAAK;AACX,IAAA;;AAGE,IAAA,EAAA,OAAO,KAAK,CAAC,KAAK,KAAK;UACnB,UAAU,KAAK,CAAC,KAAK,CAAe,YAAA,EAAA,KAAK,CAAC,KAAK,CAAK,GAAA;UACpD,UAAU,KAAK,CAAC,KAAK,CAAa,UAAA,EAAA,KAAK,CAAC,KAAK,CACnD,CAAA,CAAA;AACD,EAAA,CAAA;;;;;;;AAOC,EAAA,EAAA,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;CAC/C;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsCG;AACI,MAAM,MAAM,iBAAiB,KAAK,CAAC,IAAI,CAC5C,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,SAAS,EAAE,KAAI;IAC7D,QACEA,GAAC,CAAA,YAAY,EACX,EAAA,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EAAA,OAAA,EACb,IAAI,EACL,MAAA,EAAA,GAAG,EACI,aAAA,EAAA,MAAM,EACnB,KAAK,EAAE,KAAK,EACR,GAAA,SAAS,EACb,CAAA;AAEN,CAAC;AAGH,MAAM,CAAC,WAAW,GAAG,QAAQ;;;;"}