entangle-ui 0.2.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 (346) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/dist/esm/components/Icons/CheckIcon.js +27 -0
  3. package/dist/esm/components/Icons/CheckIcon.js.map +1 -0
  4. package/dist/esm/components/Icons/ChevronDownIcon.js +27 -0
  5. package/dist/esm/components/Icons/ChevronDownIcon.js.map +1 -0
  6. package/dist/esm/components/Icons/ChevronUpIcon.js +27 -0
  7. package/dist/esm/components/Icons/ChevronUpIcon.js.map +1 -0
  8. package/dist/esm/components/Icons/CircleIcon.js +27 -0
  9. package/dist/esm/components/Icons/CircleIcon.js.map +1 -0
  10. package/dist/esm/components/Icons/CloseIcon.js +27 -0
  11. package/dist/esm/components/Icons/CloseIcon.js.map +1 -0
  12. package/dist/esm/components/Icons/EyeDropperIcon.js +28 -0
  13. package/dist/esm/components/Icons/EyeDropperIcon.js.map +1 -0
  14. package/dist/esm/components/Icons/TangentAlignedIcon.js +9 -0
  15. package/dist/esm/components/Icons/TangentAlignedIcon.js.map +1 -0
  16. package/dist/esm/components/Icons/TangentAutoIcon.js +9 -0
  17. package/dist/esm/components/Icons/TangentAutoIcon.js.map +1 -0
  18. package/dist/esm/components/Icons/TangentFreeIcon.js +9 -0
  19. package/dist/esm/components/Icons/TangentFreeIcon.js.map +1 -0
  20. package/dist/esm/components/Icons/TangentLinearIcon.js +9 -0
  21. package/dist/esm/components/Icons/TangentLinearIcon.js.map +1 -0
  22. package/dist/esm/components/Icons/TangentMirroredIcon.js +9 -0
  23. package/dist/esm/components/Icons/TangentMirroredIcon.js.map +1 -0
  24. package/dist/esm/components/Icons/TangentStepIcon.js +9 -0
  25. package/dist/esm/components/Icons/TangentStepIcon.js.map +1 -0
  26. package/dist/esm/components/controls/ColorPicker/AlphaSlider.js +92 -0
  27. package/dist/esm/components/controls/ColorPicker/AlphaSlider.js.map +1 -0
  28. package/dist/esm/components/controls/ColorPicker/ColorArea.js +93 -0
  29. package/dist/esm/components/controls/ColorPicker/ColorArea.js.map +1 -0
  30. package/dist/esm/components/controls/ColorPicker/ColorInputs.js +129 -0
  31. package/dist/esm/components/controls/ColorPicker/ColorInputs.js.map +1 -0
  32. package/dist/esm/components/controls/ColorPicker/ColorPalette.js +89 -0
  33. package/dist/esm/components/controls/ColorPicker/ColorPalette.js.map +1 -0
  34. package/dist/esm/components/controls/ColorPicker/ColorPicker.js +75 -0
  35. package/dist/esm/components/controls/ColorPicker/ColorPicker.js.map +1 -0
  36. package/dist/esm/components/controls/ColorPicker/ColorPresets.js +57 -0
  37. package/dist/esm/components/controls/ColorPicker/ColorPresets.js.map +1 -0
  38. package/dist/esm/components/controls/ColorPicker/ColorSwatch.js +67 -0
  39. package/dist/esm/components/controls/ColorPicker/ColorSwatch.js.map +1 -0
  40. package/dist/esm/components/controls/ColorPicker/EyeDropper.js +85 -0
  41. package/dist/esm/components/controls/ColorPicker/EyeDropper.js.map +1 -0
  42. package/dist/esm/components/controls/ColorPicker/HueSlider.js +85 -0
  43. package/dist/esm/components/controls/ColorPicker/HueSlider.js.map +1 -0
  44. package/dist/esm/components/controls/ColorPicker/colorUtils.js +220 -0
  45. package/dist/esm/components/controls/ColorPicker/colorUtils.js.map +1 -0
  46. package/dist/esm/components/controls/ColorPicker/palettes/material.js +299 -0
  47. package/dist/esm/components/controls/ColorPicker/palettes/material.js.map +1 -0
  48. package/dist/esm/components/controls/ColorPicker/palettes/professional.js +479 -0
  49. package/dist/esm/components/controls/ColorPicker/palettes/professional.js.map +1 -0
  50. package/dist/esm/components/controls/ColorPicker/palettes/tailwind.js +366 -0
  51. package/dist/esm/components/controls/ColorPicker/palettes/tailwind.js.map +1 -0
  52. package/dist/esm/components/controls/ColorPicker/useColor.js +63 -0
  53. package/dist/esm/components/controls/ColorPicker/useColor.js.map +1 -0
  54. package/dist/esm/components/controls/CurveEditor/CurveCanvas.js +84 -0
  55. package/dist/esm/components/controls/CurveEditor/CurveCanvas.js.map +1 -0
  56. package/dist/esm/components/controls/CurveEditor/CurveEditor.js +134 -0
  57. package/dist/esm/components/controls/CurveEditor/CurveEditor.js.map +1 -0
  58. package/dist/esm/components/controls/CurveEditor/CurveToolbar.js +96 -0
  59. package/dist/esm/components/controls/CurveEditor/CurveToolbar.js.map +1 -0
  60. package/dist/esm/components/controls/CurveEditor/curvePresets.js +184 -0
  61. package/dist/esm/components/controls/CurveEditor/curvePresets.js.map +1 -0
  62. package/dist/esm/components/controls/CurveEditor/curveUtils.js +338 -0
  63. package/dist/esm/components/controls/CurveEditor/curveUtils.js.map +1 -0
  64. package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js +569 -0
  65. package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js.map +1 -0
  66. package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js +400 -0
  67. package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js.map +1 -0
  68. package/dist/esm/components/controls/NumberInput/NumberInput.js +377 -0
  69. package/dist/esm/components/controls/NumberInput/NumberInput.js.map +1 -0
  70. package/dist/esm/components/controls/NumberInput/useNumberInput.js +324 -0
  71. package/dist/esm/components/controls/NumberInput/useNumberInput.js.map +1 -0
  72. package/dist/esm/components/controls/Select/Select.js +533 -0
  73. package/dist/esm/components/controls/Select/Select.js.map +1 -0
  74. package/dist/esm/components/controls/Slider/Slider.js +413 -0
  75. package/dist/esm/components/controls/Slider/Slider.js.map +1 -0
  76. package/dist/esm/components/controls/TreeView/TreeNode.js +189 -0
  77. package/dist/esm/components/controls/TreeView/TreeNode.js.map +1 -0
  78. package/dist/esm/components/controls/TreeView/TreeView.js +213 -0
  79. package/dist/esm/components/controls/TreeView/TreeView.js.map +1 -0
  80. package/dist/esm/components/controls/TreeView/useTreeState.js +154 -0
  81. package/dist/esm/components/controls/TreeView/useTreeState.js.map +1 -0
  82. package/dist/esm/components/controls/VectorInput/VectorInput.js +202 -0
  83. package/dist/esm/components/controls/VectorInput/VectorInput.js.map +1 -0
  84. package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js +42 -0
  85. package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js.map +1 -0
  86. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js +98 -0
  87. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js.map +1 -0
  88. package/dist/esm/components/editor/PropertyInspector/PropertyRow.js +154 -0
  89. package/dist/esm/components/editor/PropertyInspector/PropertyRow.js.map +1 -0
  90. package/dist/esm/components/editor/PropertyInspector/PropertySection.js +136 -0
  91. package/dist/esm/components/editor/PropertyInspector/PropertySection.js.map +1 -0
  92. package/dist/esm/components/editor/PropertyInspector/usePropertyUndo.js +86 -0
  93. package/dist/esm/components/editor/PropertyInspector/usePropertyUndo.js.map +1 -0
  94. package/dist/esm/components/feedback/Dialog/Dialog.js +92 -0
  95. package/dist/esm/components/feedback/Dialog/Dialog.js.map +1 -0
  96. package/dist/esm/components/feedback/Dialog/Dialog.styled.js +80 -0
  97. package/dist/esm/components/feedback/Dialog/Dialog.styled.js.map +1 -0
  98. package/dist/esm/components/feedback/Dialog/DialogBody.js +33 -0
  99. package/dist/esm/components/feedback/Dialog/DialogBody.js.map +1 -0
  100. package/dist/esm/components/feedback/Dialog/DialogClose.js +26 -0
  101. package/dist/esm/components/feedback/Dialog/DialogClose.js.map +1 -0
  102. package/dist/esm/components/feedback/Dialog/DialogFooter.js +43 -0
  103. package/dist/esm/components/feedback/Dialog/DialogFooter.js.map +1 -0
  104. package/dist/esm/components/feedback/Dialog/DialogHeader.js +84 -0
  105. package/dist/esm/components/feedback/Dialog/DialogHeader.js.map +1 -0
  106. package/dist/esm/components/feedback/Dialog/useDialogAnimation.js +70 -0
  107. package/dist/esm/components/feedback/Dialog/useDialogAnimation.js.map +1 -0
  108. package/dist/esm/components/feedback/Dialog/useFocusTrap.js +55 -0
  109. package/dist/esm/components/feedback/Dialog/useFocusTrap.js.map +1 -0
  110. package/dist/esm/components/feedback/Toast/ToastContainer.js +34 -0
  111. package/dist/esm/components/feedback/Toast/ToastContainer.js.map +1 -0
  112. package/dist/esm/components/feedback/Toast/ToastItem.js +214 -0
  113. package/dist/esm/components/feedback/Toast/ToastItem.js.map +1 -0
  114. package/dist/esm/components/feedback/Toast/ToastProvider.js +47 -0
  115. package/dist/esm/components/feedback/Toast/ToastProvider.js.map +1 -0
  116. package/dist/esm/components/feedback/Toast/useToast.js +60 -0
  117. package/dist/esm/components/feedback/Toast/useToast.js.map +1 -0
  118. package/dist/esm/components/form/FormHelperText.js +38 -0
  119. package/dist/esm/components/form/FormHelperText.js.map +1 -0
  120. package/dist/esm/components/form/FormLabel.js +43 -0
  121. package/dist/esm/components/form/FormLabel.js.map +1 -0
  122. package/dist/esm/components/form/InputWrapper.js +100 -0
  123. package/dist/esm/components/form/InputWrapper.js.map +1 -0
  124. package/dist/esm/components/layout/Accordion/Accordion.js +103 -0
  125. package/dist/esm/components/layout/Accordion/Accordion.js.map +1 -0
  126. package/dist/esm/components/layout/Accordion/AccordionContent.js +37 -0
  127. package/dist/esm/components/layout/Accordion/AccordionContent.js.map +1 -0
  128. package/dist/esm/components/layout/Accordion/AccordionItem.js +24 -0
  129. package/dist/esm/components/layout/Accordion/AccordionItem.js.map +1 -0
  130. package/dist/esm/components/layout/Accordion/AccordionTrigger.js +123 -0
  131. package/dist/esm/components/layout/Accordion/AccordionTrigger.js.map +1 -0
  132. package/dist/esm/components/layout/Flex/Flex.js +149 -0
  133. package/dist/esm/components/layout/Flex/Flex.js.map +1 -0
  134. package/dist/esm/components/layout/Grid/Grid.js +118 -0
  135. package/dist/esm/components/layout/Grid/Grid.js.map +1 -0
  136. package/dist/esm/components/layout/PanelSurface/PanelSurface.js +106 -0
  137. package/dist/esm/components/layout/PanelSurface/PanelSurface.js.map +1 -0
  138. package/dist/esm/components/layout/ScrollArea/ScrollArea.js +362 -0
  139. package/dist/esm/components/layout/ScrollArea/ScrollArea.js.map +1 -0
  140. package/dist/esm/components/layout/Spacer/Spacer.js +78 -0
  141. package/dist/esm/components/layout/Spacer/Spacer.js.map +1 -0
  142. package/dist/esm/components/layout/SplitPane/SplitPane.js +581 -0
  143. package/dist/esm/components/layout/SplitPane/SplitPane.js.map +1 -0
  144. package/dist/esm/components/layout/SplitPane/SplitPanePanel.js +29 -0
  145. package/dist/esm/components/layout/SplitPane/SplitPanePanel.js.map +1 -0
  146. package/dist/esm/components/layout/Stack/Stack.js +138 -0
  147. package/dist/esm/components/layout/Stack/Stack.js.map +1 -0
  148. package/dist/esm/components/navigation/ContextMenu/ContextMenu.js +45 -0
  149. package/dist/esm/components/navigation/ContextMenu/ContextMenu.js.map +1 -0
  150. package/dist/esm/components/navigation/ContextMenu/useContextMenuTarget.js +52 -0
  151. package/dist/esm/components/navigation/ContextMenu/useContextMenuTarget.js.map +1 -0
  152. package/dist/esm/components/navigation/Menu/Menu.helpers.js +52 -0
  153. package/dist/esm/components/navigation/Menu/Menu.helpers.js.map +1 -0
  154. package/dist/esm/components/navigation/Menu/Menu.js +80 -0
  155. package/dist/esm/components/navigation/Menu/Menu.js.map +1 -0
  156. package/dist/esm/components/navigation/Menu/Menu.styled.js +83 -0
  157. package/dist/esm/components/navigation/Menu/Menu.styled.js.map +1 -0
  158. package/dist/esm/components/navigation/Menu/useMenu.js +87 -0
  159. package/dist/esm/components/navigation/Menu/useMenu.js.map +1 -0
  160. package/dist/esm/components/navigation/Tabs/Tab.js +222 -0
  161. package/dist/esm/components/navigation/Tabs/Tab.js.map +1 -0
  162. package/dist/esm/components/navigation/Tabs/TabList.js +115 -0
  163. package/dist/esm/components/navigation/Tabs/TabList.js.map +1 -0
  164. package/dist/esm/components/navigation/Tabs/TabPanel.js +32 -0
  165. package/dist/esm/components/navigation/Tabs/TabPanel.js.map +1 -0
  166. package/dist/esm/components/navigation/Tabs/Tabs.js +77 -0
  167. package/dist/esm/components/navigation/Tabs/Tabs.js.map +1 -0
  168. package/dist/esm/components/primitives/BaseButton/BaseButton.js +17 -0
  169. package/dist/esm/components/primitives/BaseButton/BaseButton.js.map +1 -0
  170. package/dist/esm/components/primitives/Button/Button.js +183 -0
  171. package/dist/esm/components/primitives/Button/Button.js.map +1 -0
  172. package/dist/esm/components/primitives/Checkbox/Checkbox.js +205 -0
  173. package/dist/esm/components/primitives/Checkbox/Checkbox.js.map +1 -0
  174. package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js +71 -0
  175. package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js.map +1 -0
  176. package/dist/esm/components/primitives/Collapsible/Collapsible.js +116 -0
  177. package/dist/esm/components/primitives/Collapsible/Collapsible.js.map +1 -0
  178. package/dist/esm/components/primitives/Icon/Icon.js +63 -0
  179. package/dist/esm/components/primitives/Icon/Icon.js.map +1 -0
  180. package/dist/esm/components/primitives/IconButton/IconButton.js +222 -0
  181. package/dist/esm/components/primitives/IconButton/IconButton.js.map +1 -0
  182. package/dist/esm/components/primitives/Input/Input.js +133 -0
  183. package/dist/esm/components/primitives/Input/Input.js.map +1 -0
  184. package/dist/esm/components/primitives/Paper/Paper.js +146 -0
  185. package/dist/esm/components/primitives/Paper/Paper.js.map +1 -0
  186. package/dist/esm/components/primitives/Popover/Popover.js +121 -0
  187. package/dist/esm/components/primitives/Popover/Popover.js.map +1 -0
  188. package/dist/esm/components/primitives/Popover/PopoverClose.js +50 -0
  189. package/dist/esm/components/primitives/Popover/PopoverClose.js.map +1 -0
  190. package/dist/esm/components/primitives/Popover/PopoverContent.js +102 -0
  191. package/dist/esm/components/primitives/Popover/PopoverContent.js.map +1 -0
  192. package/dist/esm/components/primitives/Popover/PopoverTrigger.js +37 -0
  193. package/dist/esm/components/primitives/Popover/PopoverTrigger.js.map +1 -0
  194. package/dist/esm/components/primitives/Switch/Switch.js +170 -0
  195. package/dist/esm/components/primitives/Switch/Switch.js.map +1 -0
  196. package/dist/esm/components/primitives/Text/Text.js +166 -0
  197. package/dist/esm/components/primitives/Text/Text.js.map +1 -0
  198. package/dist/esm/components/primitives/Tooltip/Arrow.js +52 -0
  199. package/dist/esm/components/primitives/Tooltip/Arrow.js.map +1 -0
  200. package/dist/esm/components/primitives/Tooltip/Tooltip.js +219 -0
  201. package/dist/esm/components/primitives/Tooltip/Tooltip.js.map +1 -0
  202. package/dist/esm/components/primitives/Tooltip/utils.js +66 -0
  203. package/dist/esm/components/primitives/Tooltip/utils.js.map +1 -0
  204. package/dist/esm/components/shell/AppShell/AppShell.js +157 -0
  205. package/dist/esm/components/shell/AppShell/AppShell.js.map +1 -0
  206. package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js +236 -0
  207. package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js.map +1 -0
  208. package/dist/esm/components/shell/MenuBar/MenuBar.js +340 -0
  209. package/dist/esm/components/shell/MenuBar/MenuBar.js.map +1 -0
  210. package/dist/esm/components/shell/StatusBar/StatusBar.js +134 -0
  211. package/dist/esm/components/shell/StatusBar/StatusBar.js.map +1 -0
  212. package/dist/esm/components/shell/Toolbar/Toolbar.js +185 -0
  213. package/dist/esm/components/shell/Toolbar/Toolbar.js.map +1 -0
  214. package/dist/esm/context/KeyboardContext.js +14 -0
  215. package/dist/esm/context/KeyboardContext.js.map +1 -0
  216. package/dist/esm/index.js +78 -0
  217. package/dist/esm/index.js.map +1 -0
  218. package/dist/esm/palettes.js +4 -0
  219. package/dist/esm/palettes.js.map +1 -0
  220. package/dist/esm/theme/ThemeProvider.js +12 -0
  221. package/dist/esm/theme/ThemeProvider.js.map +1 -0
  222. package/dist/esm/theme/createTheme.js +10 -0
  223. package/dist/esm/theme/createTheme.js.map +1 -0
  224. package/dist/esm/theme/tokens.js +144 -0
  225. package/dist/esm/theme/tokens.js.map +1 -0
  226. package/dist/esm/utils/cn.js +6 -0
  227. package/dist/esm/utils/cn.js.map +1 -0
  228. package/dist/esm/utils/mathExpression.js +275 -0
  229. package/dist/esm/utils/mathExpression.js.map +1 -0
  230. package/dist/esm/utils/mathUtils.js +18 -0
  231. package/dist/esm/utils/mathUtils.js.map +1 -0
  232. package/dist/esm/utils/objects.js +22 -0
  233. package/dist/esm/utils/objects.js.map +1 -0
  234. package/dist/esm/utils/styledUtils.js +81 -0
  235. package/dist/esm/utils/styledUtils.js.map +1 -0
  236. package/dist/types/components/controls/ColorPicker/ColorPalette.d.ts +16 -0
  237. package/dist/types/components/controls/ColorPicker/ColorPicker.d.ts +6 -0
  238. package/dist/types/components/controls/ColorPicker/ColorPicker.types.d.ts +120 -0
  239. package/dist/types/components/controls/ColorPicker/ColorSwatch.d.ts +6 -0
  240. package/dist/types/components/controls/ColorPicker/EyeDropper.d.ts +28 -0
  241. package/dist/types/components/controls/ColorPicker/colorUtils.d.ts +3 -0
  242. package/dist/types/components/controls/ColorPicker/palettes/material.d.ts +24 -0
  243. package/dist/types/components/controls/ColorPicker/palettes/professional.d.ts +19 -0
  244. package/dist/types/components/controls/ColorPicker/palettes/tailwind.d.ts +12 -0
  245. package/dist/types/components/controls/CurveEditor/CurveEditor.d.ts +6 -0
  246. package/dist/types/components/controls/CurveEditor/CurveEditor.types.d.ts +297 -0
  247. package/dist/types/components/controls/CurveEditor/curvePresets.d.ts +5 -0
  248. package/dist/types/components/controls/CurveEditor/curveUtils.d.ts +28 -0
  249. package/dist/types/components/controls/NumberInput/NumberInput.d.ts +150 -0
  250. package/dist/types/components/controls/NumberInput/useNumberInput.d.ts +65 -0
  251. package/dist/types/components/controls/Select/Select.d.ts +29 -0
  252. package/dist/types/components/controls/Select/Select.types.d.ts +131 -0
  253. package/dist/types/components/controls/Slider/Slider.d.ts +178 -0
  254. package/dist/types/components/controls/TreeView/TreeView.d.ts +27 -0
  255. package/dist/types/components/controls/TreeView/TreeView.types.d.ts +135 -0
  256. package/dist/types/components/controls/VectorInput/VectorInput.d.ts +26 -0
  257. package/dist/types/components/controls/VectorInput/VectorInput.types.d.ts +158 -0
  258. package/dist/types/components/editor/PropertyInspector/PropertyGroup.d.ts +6 -0
  259. package/dist/types/components/editor/PropertyInspector/PropertyInspector.types.d.ts +238 -0
  260. package/dist/types/components/editor/PropertyInspector/PropertyPanel.d.ts +6 -0
  261. package/dist/types/components/editor/PropertyInspector/PropertyRow.d.ts +6 -0
  262. package/dist/types/components/editor/PropertyInspector/PropertySection.d.ts +6 -0
  263. package/dist/types/components/editor/PropertyInspector/usePropertyUndo.d.ts +9 -0
  264. package/dist/types/components/feedback/Dialog/Dialog.d.ts +25 -0
  265. package/dist/types/components/feedback/Dialog/Dialog.types.d.ts +55 -0
  266. package/dist/types/components/feedback/Dialog/DialogBody.d.ts +16 -0
  267. package/dist/types/components/feedback/Dialog/DialogClose.d.ts +21 -0
  268. package/dist/types/components/feedback/Dialog/DialogFooter.d.ts +17 -0
  269. package/dist/types/components/feedback/Dialog/DialogHeader.d.ts +17 -0
  270. package/dist/types/components/feedback/Toast/Toast.types.d.ts +39 -0
  271. package/dist/types/components/feedback/Toast/ToastProvider.d.ts +19 -0
  272. package/dist/types/components/feedback/Toast/useToast.d.ts +22 -0
  273. package/dist/types/components/form/FormHelperText.d.ts +321 -0
  274. package/dist/types/components/form/FormLabel.d.ts +331 -0
  275. package/dist/types/components/form/InputWrapper.d.ts +346 -0
  276. package/dist/types/components/layout/Accordion/Accordion.d.ts +23 -0
  277. package/dist/types/components/layout/Accordion/Accordion.types.d.ts +109 -0
  278. package/dist/types/components/layout/Accordion/AccordionContent.d.ts +6 -0
  279. package/dist/types/components/layout/Accordion/AccordionItem.d.ts +6 -0
  280. package/dist/types/components/layout/Accordion/AccordionTrigger.d.ts +6 -0
  281. package/dist/types/components/layout/Flex/Flex.d.ts +215 -0
  282. package/dist/types/components/layout/Grid/Grid.d.ts +113 -0
  283. package/dist/types/components/layout/PanelSurface/PanelSurface.d.ts +1153 -0
  284. package/dist/types/components/layout/PanelSurface/PanelSurface.types.d.ts +64 -0
  285. package/dist/types/components/layout/ScrollArea/ScrollArea.d.ts +6 -0
  286. package/dist/types/components/layout/ScrollArea/ScrollArea.types.d.ts +93 -0
  287. package/dist/types/components/layout/Spacer/Spacer.d.ts +329 -0
  288. package/dist/types/components/layout/SplitPane/SplitPane.d.ts +21 -0
  289. package/dist/types/components/layout/SplitPane/SplitPane.types.d.ts +87 -0
  290. package/dist/types/components/layout/SplitPane/SplitPanePanel.d.ts +20 -0
  291. package/dist/types/components/layout/Stack/Stack.d.ts +166 -0
  292. package/dist/types/components/navigation/ContextMenu/ContextMenu.d.ts +6 -0
  293. package/dist/types/components/navigation/ContextMenu/ContextMenu.types.d.ts +74 -0
  294. package/dist/types/components/navigation/ContextMenu/useContextMenuTarget.d.ts +5 -0
  295. package/dist/types/components/navigation/Menu/Menu.d.ts +42 -0
  296. package/dist/types/components/navigation/Menu/Menu.types.d.ts +94 -0
  297. package/dist/types/components/navigation/Menu/useMenu.d.ts +16 -0
  298. package/dist/types/components/navigation/Tabs/Tab.d.ts +6 -0
  299. package/dist/types/components/navigation/Tabs/TabList.d.ts +6 -0
  300. package/dist/types/components/navigation/Tabs/TabPanel.d.ts +6 -0
  301. package/dist/types/components/navigation/Tabs/Tabs.d.ts +23 -0
  302. package/dist/types/components/navigation/Tabs/Tabs.types.d.ts +117 -0
  303. package/dist/types/components/primitives/Button/Button.d.ts +392 -0
  304. package/dist/types/components/primitives/Checkbox/Checkbox.d.ts +20 -0
  305. package/dist/types/components/primitives/Checkbox/Checkbox.types.d.ts +156 -0
  306. package/dist/types/components/primitives/Checkbox/CheckboxGroup.d.ts +25 -0
  307. package/dist/types/components/primitives/Collapsible/Collapsible.d.ts +6 -0
  308. package/dist/types/components/primitives/Collapsible/Collapsible.types.d.ts +28 -0
  309. package/dist/types/components/primitives/Icon/Icon.d.ts +40 -0
  310. package/dist/types/components/primitives/IconButton/IconButton.d.ts +354 -0
  311. package/dist/types/components/primitives/Input/Input.d.ts +134 -0
  312. package/dist/types/components/primitives/Paper/Paper.d.ts +419 -0
  313. package/dist/types/components/primitives/Popover/Popover.d.ts +25 -0
  314. package/dist/types/components/primitives/Popover/Popover.types.d.ts +99 -0
  315. package/dist/types/components/primitives/Popover/PopoverClose.d.ts +6 -0
  316. package/dist/types/components/primitives/Popover/PopoverContent.d.ts +6 -0
  317. package/dist/types/components/primitives/Popover/PopoverTrigger.d.ts +10 -0
  318. package/dist/types/components/primitives/Switch/Switch.d.ts +78 -0
  319. package/dist/types/components/primitives/Text/Text.d.ts +442 -0
  320. package/dist/types/components/primitives/Tooltip/Tooltip.d.ts +175 -0
  321. package/dist/types/components/primitives/Tooltip/types.d.ts +82 -0
  322. package/dist/types/components/shell/AppShell/AppShell.d.ts +1437 -0
  323. package/dist/types/components/shell/AppShell/AppShell.types.d.ts +48 -0
  324. package/dist/types/components/shell/FloatingPanel/FloatingPanel.d.ts +7 -0
  325. package/dist/types/components/shell/FloatingPanel/FloatingPanel.types.d.ts +61 -0
  326. package/dist/types/components/shell/MenuBar/MenuBar.d.ts +1441 -0
  327. package/dist/types/components/shell/MenuBar/MenuBar.types.d.ts +48 -0
  328. package/dist/types/components/shell/StatusBar/StatusBar.d.ts +868 -0
  329. package/dist/types/components/shell/StatusBar/StatusBar.types.d.ts +40 -0
  330. package/dist/types/components/shell/Toolbar/Toolbar.d.ts +1728 -0
  331. package/dist/types/components/shell/Toolbar/Toolbar.types.d.ts +59 -0
  332. package/dist/types/index.d.ts +101 -0
  333. package/dist/types/palettes.d.ts +3 -0
  334. package/dist/types/theme/ThemeProvider.d.ts +11 -0
  335. package/dist/types/theme/createTheme.d.ts +6 -0
  336. package/dist/types/theme/tokens.d.ts +147 -0
  337. package/dist/types/theme/types.d.ts +7 -0
  338. package/dist/types/types/common.d.ts +24 -0
  339. package/dist/types/types/utilities.d.ts +72 -0
  340. package/dist/types/utils/cn.d.ts +3 -0
  341. package/package.json +23 -7
  342. package/dist/index.d.ts +0 -12
  343. package/dist/index.esm.js +0 -13962
  344. package/dist/index.esm.js.map +0 -1
  345. package/dist/index.js +0 -14048
  346. package/dist/index.js.map +0 -1
@@ -0,0 +1,59 @@
1
+ import { ReactNode } from 'react';
2
+ import { BaseComponent } from '../../../types/common.js';
3
+ import { Prettify } from '../../../types/utilities.js';
4
+
5
+ type ToolbarOrientation = 'horizontal' | 'vertical';
6
+ type ToolbarSize = 'sm' | 'md';
7
+ type ToolbarButtonVariant = 'default' | 'ghost' | 'filled';
8
+ interface ToolbarBaseProps extends BaseComponent<HTMLDivElement> {
9
+ /** Orientation of the toolbar */
10
+ $orientation?: ToolbarOrientation;
11
+ /** Size of toolbar items */
12
+ $size?: ToolbarSize;
13
+ /** Children (Toolbar.Button, Toolbar.Group, Toolbar.Separator, etc.) */
14
+ children?: ReactNode;
15
+ /** ARIA label for the toolbar */
16
+ 'aria-label'?: string;
17
+ }
18
+ type ToolbarProps = Prettify<ToolbarBaseProps>;
19
+ interface ToolbarButtonBaseProps extends Omit<BaseComponent<HTMLButtonElement>, 'onClick'> {
20
+ /** Click handler */
21
+ onClick?: () => void;
22
+ /** Icon to display */
23
+ icon?: ReactNode;
24
+ /** Label text (visually hidden if icon provided) */
25
+ children?: ReactNode;
26
+ /** Tooltip text */
27
+ tooltip?: string;
28
+ /** Visual variant */
29
+ $variant?: ToolbarButtonVariant;
30
+ /** Disabled state */
31
+ disabled?: boolean;
32
+ }
33
+ type ToolbarButtonProps = Prettify<ToolbarButtonBaseProps>;
34
+ interface ToolbarToggleBaseProps extends BaseComponent<HTMLButtonElement> {
35
+ /** Whether the toggle is pressed */
36
+ pressed: boolean;
37
+ /** Called when the pressed state changes */
38
+ onPressedChange: (pressed: boolean) => void;
39
+ /** Icon to display */
40
+ icon?: ReactNode;
41
+ /** Label text */
42
+ children?: ReactNode;
43
+ /** Tooltip text */
44
+ tooltip?: string;
45
+ /** Disabled state */
46
+ disabled?: boolean;
47
+ }
48
+ type ToolbarToggleProps = Prettify<ToolbarToggleBaseProps>;
49
+ interface ToolbarGroupBaseProps extends BaseComponent<HTMLDivElement> {
50
+ /** Group label for accessibility */
51
+ 'aria-label'?: string;
52
+ /** Children (Toolbar.Button, Toolbar.Toggle) */
53
+ children?: ReactNode;
54
+ }
55
+ type ToolbarGroupProps = Prettify<ToolbarGroupBaseProps>;
56
+ type ToolbarSeparatorProps = Prettify<BaseComponent<HTMLDivElement>>;
57
+ type ToolbarSpacerProps = Prettify<BaseComponent<HTMLDivElement>>;
58
+
59
+ export type { ToolbarBaseProps, ToolbarButtonBaseProps, ToolbarButtonProps, ToolbarButtonVariant, ToolbarGroupBaseProps, ToolbarGroupProps, ToolbarOrientation, ToolbarProps, ToolbarSeparatorProps, ToolbarSize, ToolbarSpacerProps, ToolbarToggleBaseProps, ToolbarToggleProps };
@@ -0,0 +1,101 @@
1
+ export { Tokens, tokens } from './theme/tokens.js';
2
+ export { ThemeProvider } from './theme/ThemeProvider.js';
3
+ export { createTheme } from './theme/createTheme.js';
4
+ export { Theme } from './theme/types.js';
5
+ export { Accordion } from './components/layout/Accordion/Accordion.js';
6
+ export { AccordionItem } from './components/layout/Accordion/AccordionItem.js';
7
+ export { AccordionTrigger } from './components/layout/Accordion/AccordionTrigger.js';
8
+ export { AccordionContent } from './components/layout/Accordion/AccordionContent.js';
9
+ export { AccordionContentProps, AccordionItemProps, AccordionProps, AccordionSize, AccordionTriggerProps, AccordionVariant } from './components/layout/Accordion/Accordion.types.js';
10
+ export { Flex, FlexAlign, FlexAlignContent, FlexDirection, FlexJustify, FlexProps, FlexSpacing, FlexWrap } from './components/layout/Flex/Flex.js';
11
+ export { Grid, GridProps, GridSize, GridSpacing } from './components/layout/Grid/Grid.js';
12
+ export { PanelSurface } from './components/layout/PanelSurface/PanelSurface.js';
13
+ export { PanelSurfaceBodyProps, PanelSurfaceFooterProps, PanelSurfaceHeaderProps, PanelSurfaceProps, PanelSurfaceSize } from './components/layout/PanelSurface/PanelSurface.types.js';
14
+ export { ScrollArea } from './components/layout/ScrollArea/ScrollArea.js';
15
+ export { ScrollAreaDirection, ScrollAreaProps, ScrollbarVisibility } from './components/layout/ScrollArea/ScrollArea.types.js';
16
+ export { Spacer } from './components/layout/Spacer/Spacer.js';
17
+ export { SplitPane } from './components/layout/SplitPane/SplitPane.js';
18
+ export { SplitPanePanel } from './components/layout/SplitPane/SplitPanePanel.js';
19
+ export { PanelConfig, PanelSize, SplitDirection, SplitPanePanelProps, SplitPaneProps } from './components/layout/SplitPane/SplitPane.types.js';
20
+ export { Stack } from './components/layout/Stack/Stack.js';
21
+ export { Button, ButtonProps, ButtonSize, ButtonVariant } from './components/primitives/Button/Button.js';
22
+ export { Checkbox } from './components/primitives/Checkbox/Checkbox.js';
23
+ export { CheckboxGroup } from './components/primitives/Checkbox/CheckboxGroup.js';
24
+ export { CheckboxGroupProps, CheckboxProps, CheckboxSize, CheckboxVariant } from './components/primitives/Checkbox/Checkbox.types.js';
25
+ export { Collapsible } from './components/primitives/Collapsible/Collapsible.js';
26
+ export { CollapsibleProps, CollapsibleSize } from './components/primitives/Collapsible/Collapsible.types.js';
27
+ export { Icon, IconProps, IconSize } from './components/primitives/Icon/Icon.js';
28
+ export { IconButton } from './components/primitives/IconButton/IconButton.js';
29
+ export { Input, InputProps, InputSize } from './components/primitives/Input/Input.js';
30
+ export { Paper, PaperElevation, PaperNestLevel, PaperProps, PaperSpacing } from './components/primitives/Paper/Paper.js';
31
+ export { Popover } from './components/primitives/Popover/Popover.js';
32
+ export { PopoverClose } from './components/primitives/Popover/PopoverClose.js';
33
+ export { PopoverContent } from './components/primitives/Popover/PopoverContent.js';
34
+ export { PopoverTrigger } from './components/primitives/Popover/PopoverTrigger.js';
35
+ export { PopoverCloseProps, PopoverContentProps, PopoverPlacement, PopoverProps, PopoverTriggerProps } from './components/primitives/Popover/Popover.types.js';
36
+ export { Switch, SwitchProps, SwitchSize } from './components/primitives/Switch/Switch.js';
37
+ export { Text, TextAlign, TextColor, TextElement, TextLineHeight, TextProps, TextSize, TextVariant, TextWeight } from './components/primitives/Text/Text.js';
38
+ export { Tooltip, TooltipProps } from './components/primitives/Tooltip/Tooltip.js';
39
+ export { CollisionAvoidance, TooltipCollisionConfig, TooltipCollisionStrategy, TooltipPlacement } from './components/primitives/Tooltip/types.js';
40
+ export { ColorPicker } from './components/controls/ColorPicker/ColorPicker.js';
41
+ export { ColorSwatch } from './components/controls/ColorPicker/ColorSwatch.js';
42
+ export { EyeDropper, EyeDropperProps } from './components/controls/ColorPicker/EyeDropper.js';
43
+ export { ColorPalette, ColorPaletteProps } from './components/controls/ColorPicker/ColorPalette.js';
44
+ export { MATERIAL_PALETTE, Palette, PaletteColor, PaletteShade } from './components/controls/ColorPicker/palettes/material.js';
45
+ export { TAILWIND_PALETTE } from './components/controls/ColorPicker/palettes/tailwind.js';
46
+ export { EARTH_PALETTE, MONOCHROME_PALETTE, NEON_PALETTE, PASTEL_PALETTE, PROFESSIONAL_PALETTES, SKIN_TONES_PALETTE, VINTAGE_PALETTE } from './components/controls/ColorPicker/palettes/professional.js';
47
+ export { ColorFormat, ColorInputMode, ColorPickerProps, ColorPickerSize, ColorPreset, ColorSwatchPublicProps as ColorSwatchProps } from './components/controls/ColorPicker/ColorPicker.types.js';
48
+ export { NumberInput, NumberInputProps } from './components/controls/NumberInput/NumberInput.js';
49
+ export { Select } from './components/controls/Select/Select.js';
50
+ export { SelectOptionGroup, SelectOptionItem, SelectProps, SelectSize, SelectVariant } from './components/controls/Select/Select.types.js';
51
+ export { Slider, SliderProps } from './components/controls/Slider/Slider.js';
52
+ export { VectorInput } from './components/controls/VectorInput/VectorInput.js';
53
+ export { VectorColorPreset, VectorDimension, VectorInputProps, VectorInputSize, VectorLabelPreset } from './components/controls/VectorInput/VectorInput.types.js';
54
+ export { TreeView } from './components/controls/TreeView/TreeView.js';
55
+ export { TreeNodeData, TreeNodeState, TreeSelectionMode, TreeViewProps, TreeViewSize } from './components/controls/TreeView/TreeView.types.js';
56
+ export { CurveEditor } from './components/controls/CurveEditor/CurveEditor.js';
57
+ export { CurveBackgroundInfo, CurveBottomBarInfo, CurveData, CurveEditorProps, CurveEditorSize, CurveKeyframe, CurvePreset, TangentMode } from './components/controls/CurveEditor/CurveEditor.types.js';
58
+ export { createLinearCurve, domainToCanvas, evaluateCurve, sampleCurve } from './components/controls/CurveEditor/curveUtils.js';
59
+ export { CURVE_PRESETS } from './components/controls/CurveEditor/curvePresets.js';
60
+ export { ContextMenu } from './components/navigation/ContextMenu/ContextMenu.js';
61
+ export { useContextMenuTarget } from './components/navigation/ContextMenu/useContextMenuTarget.js';
62
+ export { ContextMenuBaseProps, ContextMenuConfig, ContextMenuProps, ContextMenuTargetDetails, UseContextMenuTargetResult } from './components/navigation/ContextMenu/ContextMenu.types.js';
63
+ export { Menu } from './components/navigation/Menu/Menu.js';
64
+ export { useMenu } from './components/navigation/Menu/useMenu.js';
65
+ export { ItemSelectionType, MenuBaseProps, MenuConfig, MenuGroup, MenuItem, MenuProps, MenuSelection, SubmenuTrigger } from './components/navigation/Menu/Menu.types.js';
66
+ export { Tabs } from './components/navigation/Tabs/Tabs.js';
67
+ export { TabList } from './components/navigation/Tabs/TabList.js';
68
+ export { Tab } from './components/navigation/Tabs/Tab.js';
69
+ export { TabPanel } from './components/navigation/Tabs/TabPanel.js';
70
+ export { TabListProps, TabPanelProps, TabProps, TabsProps, TabsSize, TabsVariant } from './components/navigation/Tabs/Tabs.types.js';
71
+ export { FormLabel, FormLabelProps } from './components/form/FormLabel.js';
72
+ export { FormHelperText, FormHelperTextProps } from './components/form/FormHelperText.js';
73
+ export { InputWrapper, InputWrapperProps } from './components/form/InputWrapper.js';
74
+ export { Dialog } from './components/feedback/Dialog/Dialog.js';
75
+ export { DialogHeader } from './components/feedback/Dialog/DialogHeader.js';
76
+ export { DialogBody } from './components/feedback/Dialog/DialogBody.js';
77
+ export { DialogFooter } from './components/feedback/Dialog/DialogFooter.js';
78
+ export { DialogClose } from './components/feedback/Dialog/DialogClose.js';
79
+ export { DialogBodyProps, DialogFooterProps, DialogHeaderProps, DialogProps, DialogSize } from './components/feedback/Dialog/Dialog.types.js';
80
+ export { ToastProvider } from './components/feedback/Toast/ToastProvider.js';
81
+ export { useToast } from './components/feedback/Toast/useToast.js';
82
+ export { ToastData, ToastPosition, ToastProviderProps, ToastSeverity, UseToastReturn } from './components/feedback/Toast/Toast.types.js';
83
+ export { PropertyPanel } from './components/editor/PropertyInspector/PropertyPanel.js';
84
+ export { PropertySection } from './components/editor/PropertyInspector/PropertySection.js';
85
+ export { PropertyRow } from './components/editor/PropertyInspector/PropertyRow.js';
86
+ export { PropertyGroup } from './components/editor/PropertyInspector/PropertyGroup.js';
87
+ export { usePropertyUndo } from './components/editor/PropertyInspector/usePropertyUndo.js';
88
+ export { PropertyGroupProps, PropertyInspectorSize, PropertyPanelProps, PropertyRowProps, PropertySectionProps, PropertyUndoEntry, UsePropertyUndoOptions, UsePropertyUndoReturn } from './components/editor/PropertyInspector/PropertyInspector.types.js';
89
+ export { AppShell, useAppShell } from './components/shell/AppShell/AppShell.js';
90
+ export { AppShellContextValue, AppShellProps, AppShellSlotProps, AppShellToolbarSlotProps, ToolbarPosition } from './components/shell/AppShell/AppShell.types.js';
91
+ export { FloatingManager, FloatingPanel } from './components/shell/FloatingPanel/FloatingPanel.js';
92
+ export { FloatingManagerProps, FloatingPanelProps, FloatingPanelSize, Position } from './components/shell/FloatingPanel/FloatingPanel.types.js';
93
+ export { MenuBar } from './components/shell/MenuBar/MenuBar.js';
94
+ export { MenuBarItemProps, MenuBarMenuProps, MenuBarProps, MenuBarSeparatorProps, MenuBarSize, MenuBarSubProps } from './components/shell/MenuBar/MenuBar.types.js';
95
+ export { StatusBar } from './components/shell/StatusBar/StatusBar.js';
96
+ export { StatusBarItemProps, StatusBarProps, StatusBarSectionProps, StatusBarSectionSide, StatusBarSize, StatusBarVariant } from './components/shell/StatusBar/StatusBar.types.js';
97
+ export { Toolbar } from './components/shell/Toolbar/Toolbar.js';
98
+ export { ToolbarButtonProps, ToolbarButtonVariant, ToolbarGroupProps, ToolbarOrientation, ToolbarProps, ToolbarSeparatorProps, ToolbarSize, ToolbarSpacerProps, ToolbarToggleProps } from './components/shell/Toolbar/Toolbar.types.js';
99
+ export { BaseComponent, Size, Variant } from './types/common.js';
100
+ export { Brand, DeepPartial, DeepReadonly, KeyOf, LiteralUnion, NonEmptyArray, Prettify, RequireFields, StrictExclude, ValueOf } from './types/utilities.js';
101
+ export { cn } from './utils/cn.js';
@@ -0,0 +1,3 @@
1
+ export { MATERIAL_PALETTE, Palette, PaletteColor, PaletteShade } from './components/controls/ColorPicker/palettes/material.js';
2
+ export { TAILWIND_PALETTE } from './components/controls/ColorPicker/palettes/tailwind.js';
3
+ export { EARTH_PALETTE, MONOCHROME_PALETTE, NEON_PALETTE, PASTEL_PALETTE, PROFESSIONAL_PALETTES, SKIN_TONES_PALETTE, VINTAGE_PALETTE } from './components/controls/ColorPicker/palettes/professional.js';
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import { Theme } from './types.js';
3
+
4
+ interface ThemeProviderProps {
5
+ children: React.ReactNode;
6
+ theme?: Partial<Theme>;
7
+ }
8
+ declare const ThemeProvider: React.FC<ThemeProviderProps>;
9
+
10
+ export { ThemeProvider };
11
+ export type { ThemeProviderProps };
@@ -0,0 +1,6 @@
1
+ import { Theme } from './types.js';
2
+ import { DeepPartial } from '../types/utilities.js';
3
+
4
+ declare const createTheme: (customTokens?: DeepPartial<Theme>) => Theme;
5
+
6
+ export { createTheme };
@@ -0,0 +1,147 @@
1
+ declare const tokens: {
2
+ readonly colors: {
3
+ readonly background: {
4
+ readonly primary: "#1a1a1a";
5
+ readonly secondary: "#2d2d2d";
6
+ readonly tertiary: "#3a3a3a";
7
+ readonly elevated: "#404040";
8
+ };
9
+ readonly surface: {
10
+ readonly default: "#2d2d2d";
11
+ readonly hover: "#363636";
12
+ readonly active: "#404040";
13
+ readonly disabled: "#1f1f1f";
14
+ readonly whiteOverlay: "rgba(255, 255, 255, 0.1)";
15
+ };
16
+ readonly border: {
17
+ readonly default: "#4a4a4a";
18
+ readonly focus: "#007acc";
19
+ readonly error: "#f44336";
20
+ readonly success: "#4caf50";
21
+ };
22
+ readonly text: {
23
+ readonly primary: "#ffffff";
24
+ readonly secondary: "#cccccc";
25
+ readonly muted: "#888888";
26
+ readonly disabled: "#555555";
27
+ };
28
+ readonly accent: {
29
+ readonly primary: "#007acc";
30
+ readonly secondary: "#005a9e";
31
+ readonly success: "#4caf50";
32
+ readonly warning: "#ff9800";
33
+ readonly error: "#f44336";
34
+ };
35
+ readonly backdrop: "rgba(0, 0, 0, 0.6)";
36
+ };
37
+ readonly spacing: {
38
+ readonly xs: 2;
39
+ readonly sm: 4;
40
+ readonly md: 8;
41
+ readonly lg: 12;
42
+ readonly xl: 16;
43
+ readonly xxl: 24;
44
+ readonly xxxl: 32;
45
+ };
46
+ readonly typography: {
47
+ readonly fontSize: {
48
+ readonly xxs: 9;
49
+ readonly xs: 10;
50
+ readonly sm: 11;
51
+ readonly md: 12;
52
+ readonly lg: 14;
53
+ readonly xl: 16;
54
+ };
55
+ readonly fontWeight: {
56
+ readonly normal: 400;
57
+ readonly medium: 500;
58
+ readonly semibold: 600;
59
+ };
60
+ readonly lineHeight: {
61
+ readonly tight: 1.2;
62
+ readonly normal: 1.4;
63
+ readonly relaxed: 1.6;
64
+ };
65
+ readonly fontFamily: {
66
+ readonly mono: "SF Mono, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace";
67
+ readonly sans: "-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif";
68
+ };
69
+ };
70
+ readonly borderRadius: {
71
+ readonly none: 0;
72
+ readonly sm: 2;
73
+ readonly md: 4;
74
+ readonly lg: 6;
75
+ };
76
+ readonly shadows: {
77
+ readonly sm: "0 1px 2px rgba(0, 0, 0, 0.2)";
78
+ readonly md: "0 2px 4px rgba(0, 0, 0, 0.3)";
79
+ readonly lg: "0 4px 8px rgba(0, 0, 0, 0.4)";
80
+ readonly xl: "0 8px 16px rgba(0, 0, 0, 0.5)";
81
+ readonly focus: "0 0 0 2px rgba(0, 122, 204, 0.4)";
82
+ readonly separatorBottom: "0 1px 2px rgba(0, 0, 0, 0.18)";
83
+ readonly separatorRight: "1px 0 2px rgba(0, 0, 0, 0.18)";
84
+ readonly separatorLeft: "-1px 0 2px rgba(0, 0, 0, 0.18)";
85
+ readonly thumb: "0 0 2px rgba(0, 0, 0, 0.5)";
86
+ };
87
+ readonly transitions: {
88
+ readonly fast: "100ms ease-out";
89
+ readonly normal: "200ms ease-out";
90
+ readonly slow: "300ms ease-out";
91
+ };
92
+ readonly zIndex: {
93
+ readonly base: 1;
94
+ readonly dropdown: 1000;
95
+ readonly popover: 1000;
96
+ readonly tooltip: 1000;
97
+ readonly modal: 1100;
98
+ };
99
+ readonly shell: {
100
+ readonly menuBar: {
101
+ readonly height: 28;
102
+ readonly bg: "#2d2d2d";
103
+ readonly hoverBg: "#363636";
104
+ readonly activeBg: "#005a9e";
105
+ readonly text: "#ffffff";
106
+ readonly shortcutText: "#888888";
107
+ };
108
+ readonly toolbar: {
109
+ readonly height: {
110
+ readonly sm: 32;
111
+ readonly md: 40;
112
+ };
113
+ readonly bg: "#2d2d2d";
114
+ readonly separator: "#4a4a4a";
115
+ };
116
+ readonly statusBar: {
117
+ readonly height: 22;
118
+ readonly bg: "#007acc";
119
+ readonly text: "#ffffff";
120
+ };
121
+ readonly dock: {
122
+ readonly tabHeight: 28;
123
+ readonly tabBg: "#2d2d2d";
124
+ readonly tabActiveBg: "#1a1a1a";
125
+ readonly tabHoverBg: "#363636";
126
+ readonly tabText: "#cccccc";
127
+ readonly tabActiveText: "#ffffff";
128
+ readonly splitterSize: 4;
129
+ readonly splitterColor: "#4a4a4a";
130
+ readonly splitterHoverColor: "#007acc";
131
+ readonly borderBarBg: "#2d2d2d";
132
+ readonly borderBarSize: 28;
133
+ readonly dropOverlay: "rgba(0, 122, 204, 0.2)";
134
+ };
135
+ };
136
+ readonly storybook: {
137
+ readonly canvas: {
138
+ readonly gradientStart: "#061f21";
139
+ readonly gradientMid: "#031a1a";
140
+ readonly gradientEnd: "#091010";
141
+ };
142
+ };
143
+ };
144
+ type Tokens = typeof tokens;
145
+
146
+ export { tokens };
147
+ export type { Tokens };
@@ -0,0 +1,7 @@
1
+ import { Tokens } from './tokens.js';
2
+ import { Prettify } from '../types/utilities.js';
3
+ export { DeepPartial } from '../types/utilities.js';
4
+
5
+ type Theme = Prettify<Tokens>;
6
+
7
+ export type { Theme };
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+ import { Theme } from '../theme/types.js';
3
+
4
+ interface BaseComponent<T = HTMLDivElement> extends Omit<React.HTMLAttributes<T>, 'css'> {
5
+ /** Unique identifier for the component */
6
+ id?: string | undefined;
7
+ /** Additional CSS class names */
8
+ className?: string | undefined;
9
+ /** Test identifier for automated testing */
10
+ testId?: string;
11
+ /** Custom inline styles */
12
+ style?: React.CSSProperties | undefined;
13
+ /**
14
+ * Custom CSS styles included in styled-components
15
+ * This allows for more powerful styling with theme access
16
+ * Can be an object of CSS properties or a function that receives theme and returns CSS properties
17
+ */
18
+ css?: React.CSSProperties | ((theme: Theme) => React.CSSProperties) | undefined;
19
+ ref?: React.Ref<T> | undefined;
20
+ }
21
+ type Size = 'sm' | 'md' | 'lg';
22
+ type Variant = 'default' | 'ghost' | 'filled';
23
+
24
+ export type { BaseComponent, Size, Variant };
@@ -0,0 +1,72 @@
1
+ /**
2
+ * Makes complex intersection types readable by flattening them
3
+ * @example
4
+ * type Complex = { a: string } & { b: number } & { c: boolean }
5
+ * type Pretty = Prettify<Complex> // { a: string; b: number; c: boolean }
6
+ */
7
+ type Prettify<T> = {
8
+ [K in keyof T]: T[K];
9
+ } & {};
10
+ /**
11
+ * Allows autocomplete for union values while still accepting any string
12
+ * @example
13
+ * type Colors = LiteralUnion<'red' | 'blue' | 'green', string>
14
+ * // Shows autocomplete for 'red', 'blue', 'green' but accepts any string
15
+ */
16
+ type LiteralUnion<T extends U, U = string> = T | (U & Record<never, never>);
17
+ /**
18
+ * Makes all properties optional recursively
19
+ */
20
+ type DeepPartial<T> = {
21
+ [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P];
22
+ };
23
+ /**
24
+ * Extracts the value type from a record/object
25
+ * @example
26
+ * type Colors = { red: '#ff0000', blue: '#0000ff' }
27
+ * type ColorValue = ValueOf<Colors> // '#ff0000' | '#0000ff'
28
+ */
29
+ type ValueOf<T> = T[keyof T];
30
+ /**
31
+ * Creates a union from object keys
32
+ * @example
33
+ * type Sizes = { sm: 1, md: 2, lg: 3 }
34
+ * type SizeKey = KeyOf<Sizes> // 'sm' | 'md' | 'lg'
35
+ */
36
+ type KeyOf<T> = keyof T;
37
+ /**
38
+ * Makes specific properties required
39
+ * @example
40
+ * type User = { name?: string; age?: number; email?: string }
41
+ * type UserWithName = RequireFields<User, 'name'> // { name: string; age?: number; email?: string }
42
+ */
43
+ type RequireFields<T, K extends keyof T> = Prettify<T & Required<Pick<T, K>>>;
44
+ /**
45
+ * Strict exclude that shows what was excluded
46
+ * @example
47
+ * type Colors = 'red' | 'blue' | 'green'
48
+ * type WarmColors = StrictExclude<Colors, 'blue'> // 'red' | 'green'
49
+ */
50
+ type StrictExclude<T, U extends T> = Exclude<T, U>;
51
+ /**
52
+ * Creates a branded type for better type safety
53
+ * @example
54
+ * type UserId = Brand<string, 'UserId'>
55
+ * type ProductId = Brand<string, 'ProductId'>
56
+ * // UserId and ProductId are not assignable to each other
57
+ */
58
+ type Brand<T, B> = T & {
59
+ __brand: B;
60
+ };
61
+ /**
62
+ * Recursive readonly type
63
+ */
64
+ type DeepReadonly<T> = {
65
+ readonly [P in keyof T]: T[P] extends object ? DeepReadonly<T[P]> : T[P];
66
+ };
67
+ /**
68
+ * Non-empty array type
69
+ */
70
+ type NonEmptyArray<T> = [T, ...T[]];
71
+
72
+ export type { Brand, DeepPartial, DeepReadonly, KeyOf, LiteralUnion, NonEmptyArray, Prettify, RequireFields, StrictExclude, ValueOf };
@@ -0,0 +1,3 @@
1
+ declare const cn: (...classes: (string | undefined | null | false)[]) => string;
2
+
3
+ export { cn };
package/package.json CHANGED
@@ -1,11 +1,23 @@
1
1
  {
2
2
  "name": "entangle-ui",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "type": "module",
5
+ "sideEffects": false,
5
6
  "description": "A specialized React component library for building professional editor interfaces",
6
- "main": "dist/index.js",
7
- "module": "dist/index.esm.js",
8
- "types": "dist/index.d.ts",
7
+ "main": "dist/esm/index.js",
8
+ "module": "dist/esm/index.js",
9
+ "types": "dist/types/index.d.ts",
10
+ "exports": {
11
+ ".": {
12
+ "types": "./dist/types/index.d.ts",
13
+ "default": "./dist/esm/index.js"
14
+ },
15
+ "./palettes": {
16
+ "types": "./dist/types/palettes.d.ts",
17
+ "default": "./dist/esm/palettes.js"
18
+ },
19
+ "./package.json": "./package.json"
20
+ },
9
21
  "files": [
10
22
  "dist",
11
23
  "README.md",
@@ -32,7 +44,8 @@
32
44
  "storybook": "storybook dev -p 6006",
33
45
  "changeset": "changeset",
34
46
  "version-packages": "changeset version",
35
- "release": "changeset publish"
47
+ "release": "changeset publish",
48
+ "size": "size-limit"
36
49
  },
37
50
  "keywords": [
38
51
  "react",
@@ -63,15 +76,16 @@
63
76
  },
64
77
  "dependencies": {
65
78
  "@base-ui-components/react": "^1.0.0-beta.0",
66
- "@emotion/react": "^11.0.0",
67
- "@emotion/styled": "^11.0.0"
79
+ "@floating-ui/react": "^0.27.17"
68
80
  },
69
81
  "devDependencies": {
70
82
  "@changesets/changelog-github": "^0.5.2",
71
83
  "@changesets/cli": "^2.29.8",
72
84
  "@eslint/js": "^9.27.0",
73
85
  "@rollup/plugin-alias": "^5.1.1",
86
+ "@rollup/plugin-node-resolve": "^16.0.3",
74
87
  "@rollup/plugin-typescript": "^12.1.2",
88
+ "@size-limit/preset-small-lib": "^12.0.0",
75
89
  "@storybook/addon-docs": "^9.0.6",
76
90
  "@storybook/addon-onboarding": "^9.0.6",
77
91
  "@storybook/addon-themes": "^9.0.6",
@@ -97,6 +111,8 @@
97
111
  "react-dom": "^19.1.0",
98
112
  "rollup": "^4.41.0",
99
113
  "rollup-plugin-dts": "^6.2.1",
114
+ "rollup-plugin-preserve-directives": "^0.4.0",
115
+ "size-limit": "^12.0.0",
100
116
  "storybook": "^9.0.6",
101
117
  "typescript": "^5.8.3",
102
118
  "vite": "^6.3.5",
package/dist/index.d.ts DELETED
@@ -1,12 +0,0 @@
1
- export { Theme, ThemeProvider, Tokens, createTheme, tokens } from '@/theme';
2
- export { Accordion, AccordionContent, AccordionContentProps, AccordionItem, AccordionItemProps, AccordionProps, AccordionSize, AccordionTrigger, AccordionTriggerProps, AccordionVariant, Flex, FlexAlign, FlexAlignContent, FlexDirection, FlexJustify, FlexProps, FlexSpacing, FlexWrap, Grid, GridProps, GridSize, GridSpacing, PanelConfig, PanelSize, PanelSurface, PanelSurfaceBodyProps, PanelSurfaceFooterProps, PanelSurfaceHeaderProps, PanelSurfaceProps, PanelSurfaceSize, ScrollArea, ScrollAreaDirection, ScrollAreaProps, ScrollbarVisibility, Spacer, SplitDirection, SplitPane, SplitPanePanel, SplitPanePanelProps, SplitPaneProps, Stack } from '@/components/layout';
3
- export { Button, ButtonProps, ButtonSize, ButtonVariant, Checkbox, CheckboxGroup, CheckboxGroupProps, CheckboxProps, CheckboxSize, CheckboxVariant, Collapsible, CollapsibleProps, CollapsibleSize, CollisionAvoidance, Icon, IconButton, IconProps, IconSize, Input, InputProps, InputSize, Paper, PaperElevation, PaperNestLevel, PaperProps, PaperSpacing, Popover, PopoverClose, PopoverCloseProps, PopoverContent, PopoverContentProps, PopoverPlacement, PopoverProps, PopoverTrigger, PopoverTriggerProps, Switch, SwitchProps, SwitchSize, Text, TextAlign, TextColor, TextElement, TextLineHeight, TextProps, TextSize, TextVariant, TextWeight, Tooltip, TooltipCollisionConfig, TooltipCollisionStrategy, TooltipPlacement, TooltipProps } from '@/components/primitives';
4
- export { CURVE_PRESETS, ColorFormat, ColorInputMode, ColorPalette, ColorPaletteProps, ColorPicker, ColorPickerProps, ColorPickerSize, ColorPreset, ColorSwatch, ColorSwatchProps, CurveBackgroundInfo, CurveBottomBarInfo, CurveData, CurveEditor, CurveEditorProps, CurveEditorSize, CurveKeyframe, CurvePreset, EARTH_PALETTE, EyeDropper, EyeDropperProps, MATERIAL_PALETTE, MONOCHROME_PALETTE, NEON_PALETTE, NumberInput, NumberInputProps, PASTEL_PALETTE, PROFESSIONAL_PALETTES, Palette, PaletteColor, PaletteShade, SKIN_TONES_PALETTE, Select, SelectOptionGroup, SelectOptionItem, SelectProps, SelectSize, SelectVariant, Slider, SliderProps, TAILWIND_PALETTE, TangentMode, TreeNodeData, TreeNodeState, TreeSelectionMode, TreeView, TreeViewProps, TreeViewSize, VINTAGE_PALETTE, VectorColorPreset, VectorDimension, VectorInput, VectorInputProps, VectorInputSize, VectorLabelPreset, createLinearCurve, domainToCanvas, evaluateCurve, sampleCurve } from '@/components/controls';
5
- export { ContextMenu, ContextMenuBaseProps, ContextMenuConfig, ContextMenuProps, ContextMenuTargetDetails, ItemSelectionType, Menu, MenuBaseProps, MenuConfig, MenuGroup, MenuItem, MenuProps, MenuSelection, SubmenuTrigger, Tab, TabList, TabListProps, TabPanel, TabPanelProps, TabProps, Tabs, TabsProps, TabsSize, TabsVariant, UseContextMenuTargetResult, useContextMenuTarget, useMenu } from '@/components/navigation';
6
- export { FormHelperText, FormHelperTextProps, FormLabel, FormLabelProps, InputWrapper, InputWrapperProps } from '@/components/form';
7
- export { Dialog, DialogBody, DialogBodyProps, DialogClose, DialogFooter, DialogFooterProps, DialogHeader, DialogHeaderProps, DialogProps, DialogSize, ToastData, ToastPosition, ToastProvider, ToastProviderProps, ToastSeverity, UseToastReturn, useToast } from '@/components/feedback';
8
- export { PropertyGroup, PropertyGroupProps, PropertyInspectorSize, PropertyPanel, PropertyPanelProps, PropertyRow, PropertyRowProps, PropertySection, PropertySectionProps, PropertyUndoEntry, UsePropertyUndoOptions, UsePropertyUndoReturn, usePropertyUndo } from '@/components/editor';
9
- export { AppShell, AppShellContextValue, AppShellProps, AppShellSlotProps, AppShellToolbarSlotProps, FloatingManager, FloatingManagerProps, FloatingPanel, FloatingPanelProps, FloatingPanelSize, MenuBar, MenuBarItemProps, MenuBarMenuProps, MenuBarProps, MenuBarSeparatorProps, MenuBarSize, MenuBarSubProps, Position, StatusBar, StatusBarItemProps, StatusBarProps, StatusBarSectionProps, StatusBarSectionSide, StatusBarSize, StatusBarVariant, Toolbar, ToolbarButtonProps, ToolbarButtonVariant, ToolbarGroupProps, ToolbarOrientation, ToolbarPosition, ToolbarProps, ToolbarSeparatorProps, ToolbarSize, ToolbarSpacerProps, ToolbarToggleProps, useAppShell } from '@/components/shell';
10
- export { BaseComponent, Size, Variant } from '@/types/common';
11
- export { Brand, DeepPartial, DeepReadonly, KeyOf, LiteralUnion, NonEmptyArray, Prettify, RequireFields, StrictExclude, ValueOf } from '@/types/utilities';
12
- export { cn } from '@/utils/cn';