entangle-ui 0.3.0 → 0.5.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 (622) hide show
  1. package/CHANGELOG.md +145 -8
  2. package/README.md +98 -52
  3. package/dist/esm/_virtual/cjs.js +4 -0
  4. package/dist/esm/_virtual/cjs.js.map +1 -0
  5. package/dist/esm/_virtual/cssesc.js +4 -0
  6. package/dist/esm/_virtual/cssesc.js.map +1 -0
  7. package/dist/esm/assets/src/components/controls/CartesianPicker/CartesianPicker.css.ts.vanilla-Ccao9ycw.css +23 -0
  8. package/dist/esm/assets/src/components/controls/ColorPicker/ColorPicker.css.ts.vanilla-Do5nbdgO.css +341 -0
  9. package/dist/esm/assets/src/components/controls/CurveEditor/CurveEditor.css.ts.vanilla-Vn9SOx70.css +76 -0
  10. package/dist/esm/assets/src/components/controls/NumberInput/NumberInput.css.ts.vanilla-uGNr81xQ.css +158 -0
  11. package/dist/esm/assets/src/components/controls/Select/Select.css.ts.vanilla-D4C059Ua.css +225 -0
  12. package/dist/esm/assets/src/components/controls/Slider/Slider.css.ts.vanilla-C5SJ_7A1.css +173 -0
  13. package/dist/esm/assets/src/components/controls/TreeView/TreeNode.css.ts.vanilla-D3ylUhuW.css +150 -0
  14. package/dist/esm/assets/src/components/controls/TreeView/TreeView.css.ts.vanilla-CsG5-rWt.css +14 -0
  15. package/dist/esm/assets/src/components/controls/VectorInput/VectorInput.css.ts.vanilla-BJma3iQ4.css +102 -0
  16. package/dist/esm/assets/src/components/editor/ChatPanel/ChatPanel.css.ts.vanilla-DPIGnZ4A.css +701 -0
  17. package/dist/esm/assets/src/components/editor/PropertyInspector/PropertyGroup.css.ts.vanilla-Co4n5a98.css +25 -0
  18. package/dist/esm/assets/src/components/editor/PropertyInspector/PropertyPanel.css.ts.vanilla-RYv_XgOu.css +46 -0
  19. package/dist/esm/assets/src/components/editor/PropertyInspector/PropertyRow.css.ts.vanilla-C3YZnnHb.css +75 -0
  20. package/dist/esm/assets/src/components/editor/PropertyInspector/PropertySection.css.ts.vanilla-DJBtY_xk.css +105 -0
  21. package/dist/esm/assets/src/components/editor/ViewportGizmo/ViewportGizmo.css.ts.vanilla-CEs2H-Iv.css +43 -0
  22. package/dist/esm/assets/src/components/feedback/Dialog/Dialog.css.ts.vanilla-BrXTOHwS.css +169 -0
  23. package/dist/esm/assets/src/components/feedback/Toast/ToastContainer.css.ts.vanilla-tBLsZ_70.css +13 -0
  24. package/dist/esm/assets/src/components/feedback/Toast/ToastItem.css.ts.vanilla-D6UuPKAj.css +152 -0
  25. package/dist/esm/assets/src/components/form/FormHelperText.css.ts.vanilla-CXKd9jtx.css +11 -0
  26. package/dist/esm/assets/src/components/form/FormLabel.css.ts.vanilla-DHn6CB2v.css +17 -0
  27. package/dist/esm/assets/src/components/form/InputWrapper.css.ts.vanilla-Bl7u62PI.css +44 -0
  28. package/dist/esm/assets/src/components/layout/Accordion/Accordion.css.ts.vanilla-Ck5Yew0e.css +118 -0
  29. package/dist/esm/assets/src/components/layout/Flex/Flex.css.ts.vanilla-D7wY2gY6.css +142 -0
  30. package/dist/esm/assets/src/components/layout/Grid/Grid.css.ts.vanilla-gqfqUi29.css +213 -0
  31. package/dist/esm/assets/src/components/layout/PanelSurface/PanelSurface.css.ts.vanilla-HZvObe0l.css +86 -0
  32. package/dist/esm/assets/src/components/layout/ScrollArea/ScrollArea.css.ts.vanilla-UsyrfXTC.css +126 -0
  33. package/dist/esm/assets/src/components/layout/Spacer/Spacer.css.ts.vanilla-A-7aOV46.css +14 -0
  34. package/dist/esm/assets/src/components/layout/SplitPane/SplitPane.css.ts.vanilla-BFxdvwyI.css +44 -0
  35. package/dist/esm/assets/src/components/layout/Stack/Stack.css.ts.vanilla-DNZOFYiD.css +123 -0
  36. package/dist/esm/assets/src/components/navigation/Menu/Menu.css.ts.vanilla-DD0c5D10.css +67 -0
  37. package/dist/esm/assets/src/components/navigation/Tabs/Tabs.css.ts.vanilla-D7RGpDPC.css +247 -0
  38. package/dist/esm/assets/src/components/primitives/Button/Button.css.ts.vanilla-CT592JL7.css +98 -0
  39. package/dist/esm/assets/src/components/primitives/Checkbox/Checkbox.css.ts.vanilla-dvrGPiPs.css +124 -0
  40. package/dist/esm/assets/src/components/primitives/Collapsible/Collapsible.css.ts.vanilla-C1rYV-JT.css +73 -0
  41. package/dist/esm/assets/src/components/primitives/Icon/Icon.css.ts.vanilla-DIZ6dped.css +45 -0
  42. package/dist/esm/assets/src/components/primitives/IconButton/IconButton.css.ts.vanilla-C-xAQoR3.css +123 -0
  43. package/dist/esm/assets/src/components/primitives/Input/Input.css.ts.vanilla-De5ditYa.css +74 -0
  44. package/dist/esm/assets/src/components/primitives/Paper/Paper.css.ts.vanilla-B_tPWU80.css +67 -0
  45. package/dist/esm/assets/src/components/primitives/Popover/Popover.css.ts.vanilla-DW6aAr57.css +60 -0
  46. package/dist/esm/assets/src/components/primitives/Switch/Switch.css.ts.vanilla-CxqwUToB.css +100 -0
  47. package/dist/esm/assets/src/components/primitives/Text/Text.css.ts.vanilla-qTMvgKKC.css +126 -0
  48. package/dist/esm/assets/src/components/primitives/Tooltip/Tooltip.css.ts.vanilla-CrEFoLBX.css +71 -0
  49. package/dist/esm/assets/src/components/primitives/canvas/CanvasContainer.css.ts.vanilla-DR3zkEYQ.css +32 -0
  50. package/dist/esm/assets/src/components/shell/AppShell/AppShell.css.ts.vanilla-BYmtU0O_.css +97 -0
  51. package/dist/esm/assets/src/components/shell/FloatingPanel/FloatingPanel.css.ts.vanilla-1rIAXEFp.css +88 -0
  52. package/dist/esm/assets/src/components/shell/MenuBar/MenuBar.css.ts.vanilla-TgPcl4yA.css +120 -0
  53. package/dist/esm/assets/src/components/shell/StatusBar/StatusBar.css.ts.vanilla-BqpCJsZ1.css +113 -0
  54. package/dist/esm/assets/src/components/shell/Toolbar/Toolbar.css.ts.vanilla-DPqftT18.css +97 -0
  55. package/dist/esm/assets/src/theme/darkTheme.css.ts.vanilla-DCe89yCJ.css +96 -0
  56. package/dist/esm/components/Icons/AddIcon.js +30 -0
  57. package/dist/esm/components/Icons/AddIcon.js.map +1 -0
  58. package/dist/esm/components/Icons/AiChatIcon.js +31 -0
  59. package/dist/esm/components/Icons/AiChatIcon.js.map +1 -0
  60. package/dist/esm/components/Icons/AiSparklesIcon.js +31 -0
  61. package/dist/esm/components/Icons/AiSparklesIcon.js.map +1 -0
  62. package/dist/esm/components/Icons/ArrowDownIcon.js +30 -0
  63. package/dist/esm/components/Icons/ArrowDownIcon.js.map +1 -0
  64. package/dist/esm/components/Icons/ArrowLeftIcon.js +30 -0
  65. package/dist/esm/components/Icons/ArrowLeftIcon.js.map +1 -0
  66. package/dist/esm/components/Icons/ArrowRightIcon.js +30 -0
  67. package/dist/esm/components/Icons/ArrowRightIcon.js.map +1 -0
  68. package/dist/esm/components/Icons/ArrowUpIcon.js +30 -0
  69. package/dist/esm/components/Icons/ArrowUpIcon.js.map +1 -0
  70. package/dist/esm/components/Icons/BookmarkIcon.js +30 -0
  71. package/dist/esm/components/Icons/BookmarkIcon.js.map +1 -0
  72. package/dist/esm/components/Icons/CalendarIcon.js +30 -0
  73. package/dist/esm/components/Icons/CalendarIcon.js.map +1 -0
  74. package/dist/esm/components/Icons/CheckIcon.js +5 -2
  75. package/dist/esm/components/Icons/CheckIcon.js.map +1 -1
  76. package/dist/esm/components/Icons/ChevronDownIcon.js +5 -2
  77. package/dist/esm/components/Icons/ChevronDownIcon.js.map +1 -1
  78. package/dist/esm/components/Icons/ChevronUpIcon.js +5 -2
  79. package/dist/esm/components/Icons/ChevronUpIcon.js.map +1 -1
  80. package/dist/esm/components/Icons/CircleIcon.js +5 -2
  81. package/dist/esm/components/Icons/CircleIcon.js.map +1 -1
  82. package/dist/esm/components/Icons/ClockIcon.js +30 -0
  83. package/dist/esm/components/Icons/ClockIcon.js.map +1 -0
  84. package/dist/esm/components/Icons/CloseIcon.js +5 -2
  85. package/dist/esm/components/Icons/CloseIcon.js.map +1 -1
  86. package/dist/esm/components/Icons/CodeIcon.js +30 -0
  87. package/dist/esm/components/Icons/CodeIcon.js.map +1 -0
  88. package/dist/esm/components/Icons/CopyIcon.js +30 -0
  89. package/dist/esm/components/Icons/CopyIcon.js.map +1 -0
  90. package/dist/esm/components/Icons/CutIcon.js +30 -0
  91. package/dist/esm/components/Icons/CutIcon.js.map +1 -0
  92. package/dist/esm/components/Icons/DownloadIcon.js +30 -0
  93. package/dist/esm/components/Icons/DownloadIcon.js.map +1 -0
  94. package/dist/esm/components/Icons/EditIcon.js +30 -0
  95. package/dist/esm/components/Icons/EditIcon.js.map +1 -0
  96. package/dist/esm/components/Icons/ErrorIcon.js +30 -0
  97. package/dist/esm/components/Icons/ErrorIcon.js.map +1 -0
  98. package/dist/esm/components/Icons/EyeDropperIcon.js +5 -2
  99. package/dist/esm/components/Icons/EyeDropperIcon.js.map +1 -1
  100. package/dist/esm/components/Icons/EyeIcon.js +30 -0
  101. package/dist/esm/components/Icons/EyeIcon.js.map +1 -0
  102. package/dist/esm/components/Icons/FilterIcon.js +30 -0
  103. package/dist/esm/components/Icons/FilterIcon.js.map +1 -0
  104. package/dist/esm/components/Icons/FolderIcon.js +30 -0
  105. package/dist/esm/components/Icons/FolderIcon.js.map +1 -0
  106. package/dist/esm/components/Icons/FullscreenIcon.js +30 -0
  107. package/dist/esm/components/Icons/FullscreenIcon.js.map +1 -0
  108. package/dist/esm/components/Icons/GridIcon.js +30 -0
  109. package/dist/esm/components/Icons/GridIcon.js.map +1 -0
  110. package/dist/esm/components/Icons/HeartIcon.js +30 -0
  111. package/dist/esm/components/Icons/HeartIcon.js.map +1 -0
  112. package/dist/esm/components/Icons/HelpIcon.js +30 -0
  113. package/dist/esm/components/Icons/HelpIcon.js.map +1 -0
  114. package/dist/esm/components/Icons/HomeIcon.js +30 -0
  115. package/dist/esm/components/Icons/HomeIcon.js.map +1 -0
  116. package/dist/esm/components/Icons/InfoIcon.js +30 -0
  117. package/dist/esm/components/Icons/InfoIcon.js.map +1 -0
  118. package/dist/esm/components/Icons/LinkIcon.js +30 -0
  119. package/dist/esm/components/Icons/LinkIcon.js.map +1 -0
  120. package/dist/esm/components/Icons/ListIcon.js +30 -0
  121. package/dist/esm/components/Icons/ListIcon.js.map +1 -0
  122. package/dist/esm/components/Icons/LockIcon.js +30 -0
  123. package/dist/esm/components/Icons/LockIcon.js.map +1 -0
  124. package/dist/esm/components/Icons/MaximizeIcon.js +30 -0
  125. package/dist/esm/components/Icons/MaximizeIcon.js.map +1 -0
  126. package/dist/esm/components/Icons/MenuIcon.js +30 -0
  127. package/dist/esm/components/Icons/MenuIcon.js.map +1 -0
  128. package/dist/esm/components/Icons/MinimizeIcon.js +30 -0
  129. package/dist/esm/components/Icons/MinimizeIcon.js.map +1 -0
  130. package/dist/esm/components/Icons/PasteIcon.js +30 -0
  131. package/dist/esm/components/Icons/PasteIcon.js.map +1 -0
  132. package/dist/esm/components/Icons/PlayIcon.js +30 -0
  133. package/dist/esm/components/Icons/PlayIcon.js.map +1 -0
  134. package/dist/esm/components/Icons/RedoIcon.js +30 -0
  135. package/dist/esm/components/Icons/RedoIcon.js.map +1 -0
  136. package/dist/esm/components/Icons/RefreshIcon.js +30 -0
  137. package/dist/esm/components/Icons/RefreshIcon.js.map +1 -0
  138. package/dist/esm/components/Icons/RobotIcon.js +30 -0
  139. package/dist/esm/components/Icons/RobotIcon.js.map +1 -0
  140. package/dist/esm/components/Icons/SaveIcon.js +30 -0
  141. package/dist/esm/components/Icons/SaveIcon.js.map +1 -0
  142. package/dist/esm/components/Icons/SearchIcon.js +30 -0
  143. package/dist/esm/components/Icons/SearchIcon.js.map +1 -0
  144. package/dist/esm/components/Icons/SettingsIcon.js +30 -0
  145. package/dist/esm/components/Icons/SettingsIcon.js.map +1 -0
  146. package/dist/esm/components/Icons/SortIcon.js +30 -0
  147. package/dist/esm/components/Icons/SortIcon.js.map +1 -0
  148. package/dist/esm/components/Icons/StarIcon.js +30 -0
  149. package/dist/esm/components/Icons/StarIcon.js.map +1 -0
  150. package/dist/esm/components/Icons/SuccessIcon.js +30 -0
  151. package/dist/esm/components/Icons/SuccessIcon.js.map +1 -0
  152. package/dist/esm/components/Icons/TagIcon.js +30 -0
  153. package/dist/esm/components/Icons/TagIcon.js.map +1 -0
  154. package/dist/esm/components/Icons/TangentAlignedIcon.js +5 -2
  155. package/dist/esm/components/Icons/TangentAlignedIcon.js.map +1 -1
  156. package/dist/esm/components/Icons/TangentAutoIcon.js +5 -2
  157. package/dist/esm/components/Icons/TangentAutoIcon.js.map +1 -1
  158. package/dist/esm/components/Icons/TangentFreeIcon.js +5 -2
  159. package/dist/esm/components/Icons/TangentFreeIcon.js.map +1 -1
  160. package/dist/esm/components/Icons/TangentLinearIcon.js +5 -2
  161. package/dist/esm/components/Icons/TangentLinearIcon.js.map +1 -1
  162. package/dist/esm/components/Icons/TangentMirroredIcon.js +5 -2
  163. package/dist/esm/components/Icons/TangentMirroredIcon.js.map +1 -1
  164. package/dist/esm/components/Icons/TangentStepIcon.js +5 -2
  165. package/dist/esm/components/Icons/TangentStepIcon.js.map +1 -1
  166. package/dist/esm/components/Icons/TrashIcon.js +30 -0
  167. package/dist/esm/components/Icons/TrashIcon.js.map +1 -0
  168. package/dist/esm/components/Icons/UndoIcon.js +30 -0
  169. package/dist/esm/components/Icons/UndoIcon.js.map +1 -0
  170. package/dist/esm/components/Icons/UnlockIcon.js +30 -0
  171. package/dist/esm/components/Icons/UnlockIcon.js.map +1 -0
  172. package/dist/esm/components/Icons/UploadIcon.js +30 -0
  173. package/dist/esm/components/Icons/UploadIcon.js.map +1 -0
  174. package/dist/esm/components/Icons/UserIcon.js +30 -0
  175. package/dist/esm/components/Icons/UserIcon.js.map +1 -0
  176. package/dist/esm/components/Icons/WarningIcon.js +30 -0
  177. package/dist/esm/components/Icons/WarningIcon.js.map +1 -0
  178. package/dist/esm/components/Icons/ZoomInIcon.js +30 -0
  179. package/dist/esm/components/Icons/ZoomInIcon.js.map +1 -0
  180. package/dist/esm/components/Icons/ZoomOutIcon.js +30 -0
  181. package/dist/esm/components/Icons/ZoomOutIcon.js.map +1 -0
  182. package/dist/esm/components/controls/CartesianPicker/CartesianPicker.css.js +9 -0
  183. package/dist/esm/components/controls/CartesianPicker/CartesianPicker.css.js.map +1 -0
  184. package/dist/esm/components/controls/CartesianPicker/CartesianPicker.js +99 -0
  185. package/dist/esm/components/controls/CartesianPicker/CartesianPicker.js.map +1 -0
  186. package/dist/esm/components/controls/CartesianPicker/useCartesianInteraction.js +230 -0
  187. package/dist/esm/components/controls/CartesianPicker/useCartesianInteraction.js.map +1 -0
  188. package/dist/esm/components/controls/CartesianPicker/useCartesianRenderer.js +122 -0
  189. package/dist/esm/components/controls/CartesianPicker/useCartesianRenderer.js.map +1 -0
  190. package/dist/esm/components/controls/ColorPicker/AlphaSlider.js +4 -41
  191. package/dist/esm/components/controls/ColorPicker/AlphaSlider.js.map +1 -1
  192. package/dist/esm/components/controls/ColorPicker/ColorArea.js +3 -32
  193. package/dist/esm/components/controls/ColorPicker/ColorArea.js.map +1 -1
  194. package/dist/esm/components/controls/ColorPicker/ColorInputs.js +3 -68
  195. package/dist/esm/components/controls/ColorPicker/ColorInputs.js.map +1 -1
  196. package/dist/esm/components/controls/ColorPicker/ColorPalette.js +5 -75
  197. package/dist/esm/components/controls/ColorPicker/ColorPalette.js.map +1 -1
  198. package/dist/esm/components/controls/ColorPicker/ColorPicker.css.js +34 -0
  199. package/dist/esm/components/controls/ColorPicker/ColorPicker.css.js.map +1 -0
  200. package/dist/esm/components/controls/ColorPicker/ColorPicker.js +4 -18
  201. package/dist/esm/components/controls/ColorPicker/ColorPicker.js.map +1 -1
  202. package/dist/esm/components/controls/ColorPicker/ColorPresets.js +5 -44
  203. package/dist/esm/components/controls/ColorPicker/ColorPresets.js.map +1 -1
  204. package/dist/esm/components/controls/ColorPicker/ColorSwatch.js +4 -58
  205. package/dist/esm/components/controls/ColorPicker/ColorSwatch.js.map +1 -1
  206. package/dist/esm/components/controls/ColorPicker/EyeDropper.js +4 -50
  207. package/dist/esm/components/controls/ColorPicker/EyeDropper.js.map +1 -1
  208. package/dist/esm/components/controls/ColorPicker/HueSlider.js +3 -32
  209. package/dist/esm/components/controls/ColorPicker/HueSlider.js.map +1 -1
  210. package/dist/esm/components/controls/ColorPicker/colorUtils.js.map +1 -1
  211. package/dist/esm/components/controls/ColorPicker/palettes/material.js.map +1 -1
  212. package/dist/esm/components/controls/ColorPicker/palettes/professional.js.map +1 -1
  213. package/dist/esm/components/controls/ColorPicker/palettes/tailwind.js.map +1 -1
  214. package/dist/esm/components/controls/ColorPicker/useColor.js +1 -0
  215. package/dist/esm/components/controls/ColorPicker/useColor.js.map +1 -1
  216. package/dist/esm/components/controls/CurveEditor/CurveCanvas.js +8 -30
  217. package/dist/esm/components/controls/CurveEditor/CurveCanvas.js.map +1 -1
  218. package/dist/esm/components/controls/CurveEditor/CurveEditor.css.js +17 -0
  219. package/dist/esm/components/controls/CurveEditor/CurveEditor.css.js.map +1 -0
  220. package/dist/esm/components/controls/CurveEditor/CurveEditor.js +17 -23
  221. package/dist/esm/components/controls/CurveEditor/CurveEditor.js.map +1 -1
  222. package/dist/esm/components/controls/CurveEditor/CurveToolbar.js +63 -24
  223. package/dist/esm/components/controls/CurveEditor/CurveToolbar.js.map +1 -1
  224. package/dist/esm/components/controls/CurveEditor/curvePresets.js.map +1 -1
  225. package/dist/esm/components/controls/CurveEditor/curveUtils.js +7 -16
  226. package/dist/esm/components/controls/CurveEditor/curveUtils.js.map +1 -1
  227. package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js +1 -0
  228. package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js.map +1 -1
  229. package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js +39 -193
  230. package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js.map +1 -1
  231. package/dist/esm/components/controls/NumberInput/NumberInput.css.js +17 -0
  232. package/dist/esm/components/controls/NumberInput/NumberInput.css.js.map +1 -0
  233. package/dist/esm/components/controls/NumberInput/NumberInput.js +22 -166
  234. package/dist/esm/components/controls/NumberInput/NumberInput.js.map +1 -1
  235. package/dist/esm/components/controls/NumberInput/useNumberInput.js +1 -1
  236. package/dist/esm/components/controls/NumberInput/useNumberInput.js.map +1 -1
  237. package/dist/esm/components/controls/Select/Select.css.js +18 -0
  238. package/dist/esm/components/controls/Select/Select.css.js.map +1 -0
  239. package/dist/esm/components/controls/Select/Select.js +29 -235
  240. package/dist/esm/components/controls/Select/Select.js.map +1 -1
  241. package/dist/esm/components/controls/Slider/Slider.css.js +17 -0
  242. package/dist/esm/components/controls/Slider/Slider.css.js.map +1 -0
  243. package/dist/esm/components/controls/Slider/Slider.js +12 -159
  244. package/dist/esm/components/controls/Slider/Slider.js.map +1 -1
  245. package/dist/esm/components/controls/TreeView/TreeNode.css.js +15 -0
  246. package/dist/esm/components/controls/TreeView/TreeNode.css.js.map +1 -0
  247. package/dist/esm/components/controls/TreeView/TreeNode.js +18 -90
  248. package/dist/esm/components/controls/TreeView/TreeNode.js.map +1 -1
  249. package/dist/esm/components/controls/TreeView/TreeView.css.js +8 -0
  250. package/dist/esm/components/controls/TreeView/TreeView.css.js.map +1 -0
  251. package/dist/esm/components/controls/TreeView/TreeView.js +11 -18
  252. package/dist/esm/components/controls/TreeView/TreeView.js.map +1 -1
  253. package/dist/esm/components/controls/TreeView/useTreeState.js +1 -0
  254. package/dist/esm/components/controls/TreeView/useTreeState.js.map +1 -1
  255. package/dist/esm/components/controls/VectorInput/VectorInput.css.js +13 -0
  256. package/dist/esm/components/controls/VectorInput/VectorInput.css.js.map +1 -0
  257. package/dist/esm/components/controls/VectorInput/VectorInput.js +11 -83
  258. package/dist/esm/components/controls/VectorInput/VectorInput.js.map +1 -1
  259. package/dist/esm/components/editor/ChatPanel/ChatActionBar.js +13 -0
  260. package/dist/esm/components/editor/ChatPanel/ChatActionBar.js.map +1 -0
  261. package/dist/esm/components/editor/ChatPanel/ChatAttachment.js +31 -0
  262. package/dist/esm/components/editor/ChatPanel/ChatAttachment.js.map +1 -0
  263. package/dist/esm/components/editor/ChatPanel/ChatBubble.js +13 -0
  264. package/dist/esm/components/editor/ChatPanel/ChatBubble.js.map +1 -0
  265. package/dist/esm/components/editor/ChatPanel/ChatCodeBlock.js +34 -0
  266. package/dist/esm/components/editor/ChatPanel/ChatCodeBlock.js.map +1 -0
  267. package/dist/esm/components/editor/ChatPanel/ChatContextChip.js +14 -0
  268. package/dist/esm/components/editor/ChatPanel/ChatContextChip.js.map +1 -0
  269. package/dist/esm/components/editor/ChatPanel/ChatEmptyState.js +16 -0
  270. package/dist/esm/components/editor/ChatPanel/ChatEmptyState.js.map +1 -0
  271. package/dist/esm/components/editor/ChatPanel/ChatIcons.js +18 -0
  272. package/dist/esm/components/editor/ChatPanel/ChatIcons.js.map +1 -0
  273. package/dist/esm/components/editor/ChatPanel/ChatInput.js +67 -0
  274. package/dist/esm/components/editor/ChatPanel/ChatInput.js.map +1 -0
  275. package/dist/esm/components/editor/ChatPanel/ChatInputToolbar.js +13 -0
  276. package/dist/esm/components/editor/ChatPanel/ChatInputToolbar.js.map +1 -0
  277. package/dist/esm/components/editor/ChatPanel/ChatMessage.js +37 -0
  278. package/dist/esm/components/editor/ChatPanel/ChatMessage.js.map +1 -0
  279. package/dist/esm/components/editor/ChatPanel/ChatMessageList.js +32 -0
  280. package/dist/esm/components/editor/ChatPanel/ChatMessageList.js.map +1 -0
  281. package/dist/esm/components/editor/ChatPanel/ChatPanel.css.js +72 -0
  282. package/dist/esm/components/editor/ChatPanel/ChatPanel.css.js.map +1 -0
  283. package/dist/esm/components/editor/ChatPanel/ChatPanel.js +13 -0
  284. package/dist/esm/components/editor/ChatPanel/ChatPanel.js.map +1 -0
  285. package/dist/esm/components/editor/ChatPanel/ChatToolCall.js +33 -0
  286. package/dist/esm/components/editor/ChatPanel/ChatToolCall.js.map +1 -0
  287. package/dist/esm/components/editor/ChatPanel/ChatTypingIndicator.js +16 -0
  288. package/dist/esm/components/editor/ChatPanel/ChatTypingIndicator.js.map +1 -0
  289. package/dist/esm/components/editor/ChatPanel/useChatInput.js +60 -0
  290. package/dist/esm/components/editor/ChatPanel/useChatInput.js.map +1 -0
  291. package/dist/esm/components/editor/ChatPanel/useChatMessages.js +47 -0
  292. package/dist/esm/components/editor/ChatPanel/useChatMessages.js.map +1 -0
  293. package/dist/esm/components/editor/ChatPanel/useChatScroll.js +71 -0
  294. package/dist/esm/components/editor/ChatPanel/useChatScroll.js.map +1 -0
  295. package/dist/esm/components/editor/PropertyInspector/PropertyGroup.css.js +10 -0
  296. package/dist/esm/components/editor/PropertyInspector/PropertyGroup.css.js.map +1 -0
  297. package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js +14 -34
  298. package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js.map +1 -1
  299. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.css.js +13 -0
  300. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.css.js.map +1 -0
  301. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js +35 -64
  302. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js.map +1 -1
  303. package/dist/esm/components/editor/PropertyInspector/PropertyRow.css.js +15 -0
  304. package/dist/esm/components/editor/PropertyInspector/PropertyRow.css.js.map +1 -0
  305. package/dist/esm/components/editor/PropertyInspector/PropertyRow.js +34 -114
  306. package/dist/esm/components/editor/PropertyInspector/PropertyRow.js.map +1 -1
  307. package/dist/esm/components/editor/PropertyInspector/PropertySection.css.js +15 -0
  308. package/dist/esm/components/editor/PropertyInspector/PropertySection.css.js.map +1 -0
  309. package/dist/esm/components/editor/PropertyInspector/PropertySection.js +15 -100
  310. package/dist/esm/components/editor/PropertyInspector/PropertySection.js.map +1 -1
  311. package/dist/esm/components/editor/PropertyInspector/usePropertyUndo.js +1 -0
  312. package/dist/esm/components/editor/PropertyInspector/usePropertyUndo.js.map +1 -1
  313. package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.css.js +10 -0
  314. package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.css.js.map +1 -0
  315. package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.js +90 -0
  316. package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.js.map +1 -0
  317. package/dist/esm/components/editor/ViewportGizmo/gizmoMath.js +259 -0
  318. package/dist/esm/components/editor/ViewportGizmo/gizmoMath.js.map +1 -0
  319. package/dist/esm/components/editor/ViewportGizmo/useGizmoInteraction.js +250 -0
  320. package/dist/esm/components/editor/ViewportGizmo/useGizmoInteraction.js.map +1 -0
  321. package/dist/esm/components/editor/ViewportGizmo/useGizmoRenderer.js +191 -0
  322. package/dist/esm/components/editor/ViewportGizmo/useGizmoRenderer.js.map +1 -0
  323. package/dist/esm/components/feedback/Dialog/Dialog.css.js +16 -0
  324. package/dist/esm/components/feedback/Dialog/Dialog.css.js.map +1 -0
  325. package/dist/esm/components/feedback/Dialog/Dialog.js +6 -4
  326. package/dist/esm/components/feedback/Dialog/Dialog.js.map +1 -1
  327. package/dist/esm/components/feedback/Dialog/DialogBody.js +5 -15
  328. package/dist/esm/components/feedback/Dialog/DialogBody.js.map +1 -1
  329. package/dist/esm/components/feedback/Dialog/DialogClose.js +1 -0
  330. package/dist/esm/components/feedback/Dialog/DialogClose.js.map +1 -1
  331. package/dist/esm/components/feedback/Dialog/DialogFooter.js +5 -24
  332. package/dist/esm/components/feedback/Dialog/DialogFooter.js.map +1 -1
  333. package/dist/esm/components/feedback/Dialog/DialogHeader.js +5 -63
  334. package/dist/esm/components/feedback/Dialog/DialogHeader.js.map +1 -1
  335. package/dist/esm/components/feedback/Dialog/useDialogAnimation.js +2 -1
  336. package/dist/esm/components/feedback/Dialog/useDialogAnimation.js.map +1 -1
  337. package/dist/esm/components/feedback/Dialog/useFocusTrap.js +1 -0
  338. package/dist/esm/components/feedback/Dialog/useFocusTrap.js.map +1 -1
  339. package/dist/esm/components/feedback/Toast/ToastContainer.css.js +10 -0
  340. package/dist/esm/components/feedback/Toast/ToastContainer.css.js.map +1 -0
  341. package/dist/esm/components/feedback/Toast/ToastContainer.js +12 -10
  342. package/dist/esm/components/feedback/Toast/ToastContainer.js.map +1 -1
  343. package/dist/esm/components/feedback/Toast/ToastItem.css.js +16 -0
  344. package/dist/esm/components/feedback/Toast/ToastItem.css.js.map +1 -0
  345. package/dist/esm/components/feedback/Toast/ToastItem.js +8 -138
  346. package/dist/esm/components/feedback/Toast/ToastItem.js.map +1 -1
  347. package/dist/esm/components/feedback/Toast/ToastProvider.js +1 -0
  348. package/dist/esm/components/feedback/Toast/ToastProvider.js.map +1 -1
  349. package/dist/esm/components/feedback/Toast/useToast.js +1 -0
  350. package/dist/esm/components/feedback/Toast/useToast.js.map +1 -1
  351. package/dist/esm/components/form/FormHelperText.css.js +7 -0
  352. package/dist/esm/components/form/FormHelperText.css.js.map +1 -0
  353. package/dist/esm/components/form/FormHelperText.js +5 -15
  354. package/dist/esm/components/form/FormHelperText.js.map +1 -1
  355. package/dist/esm/components/form/FormLabel.css.js +8 -0
  356. package/dist/esm/components/form/FormLabel.css.js.map +1 -0
  357. package/dist/esm/components/form/FormLabel.js +5 -21
  358. package/dist/esm/components/form/FormLabel.js.map +1 -1
  359. package/dist/esm/components/form/InputWrapper.css.js +7 -0
  360. package/dist/esm/components/form/InputWrapper.css.js.map +1 -0
  361. package/dist/esm/components/form/InputWrapper.js +6 -74
  362. package/dist/esm/components/form/InputWrapper.js.map +1 -1
  363. package/dist/esm/components/layout/Accordion/Accordion.css.js +20 -0
  364. package/dist/esm/components/layout/Accordion/Accordion.css.js.map +1 -0
  365. package/dist/esm/components/layout/Accordion/Accordion.js +12 -11
  366. package/dist/esm/components/layout/Accordion/Accordion.js.map +1 -1
  367. package/dist/esm/components/layout/Accordion/AccordionContent.js +4 -20
  368. package/dist/esm/components/layout/Accordion/AccordionContent.js.map +1 -1
  369. package/dist/esm/components/layout/Accordion/AccordionItem.js +4 -7
  370. package/dist/esm/components/layout/Accordion/AccordionItem.js.map +1 -1
  371. package/dist/esm/components/layout/Accordion/AccordionTrigger.js +12 -96
  372. package/dist/esm/components/layout/Accordion/AccordionTrigger.js.map +1 -1
  373. package/dist/esm/components/layout/Flex/Flex.css.js +11 -0
  374. package/dist/esm/components/layout/Flex/Flex.css.js.map +1 -0
  375. package/dist/esm/components/layout/Flex/Flex.js +47 -73
  376. package/dist/esm/components/layout/Flex/Flex.js.map +1 -1
  377. package/dist/esm/components/layout/Grid/Grid.css.js +9 -0
  378. package/dist/esm/components/layout/Grid/Grid.css.js.map +1 -0
  379. package/dist/esm/components/layout/Grid/Grid.js +39 -64
  380. package/dist/esm/components/layout/Grid/Grid.js.map +1 -1
  381. package/dist/esm/components/layout/PanelSurface/PanelSurface.css.js +16 -0
  382. package/dist/esm/components/layout/PanelSurface/PanelSurface.css.js.map +1 -0
  383. package/dist/esm/components/layout/PanelSurface/PanelSurface.js +23 -78
  384. package/dist/esm/components/layout/PanelSurface/PanelSurface.js.map +1 -1
  385. package/dist/esm/components/layout/ScrollArea/ScrollArea.css.js +27 -0
  386. package/dist/esm/components/layout/ScrollArea/ScrollArea.css.js.map +1 -0
  387. package/dist/esm/components/layout/ScrollArea/ScrollArea.js +35 -134
  388. package/dist/esm/components/layout/ScrollArea/ScrollArea.js.map +1 -1
  389. package/dist/esm/components/layout/Spacer/Spacer.css.js +8 -0
  390. package/dist/esm/components/layout/Spacer/Spacer.css.js.map +1 -0
  391. package/dist/esm/components/layout/Spacer/Spacer.js +13 -31
  392. package/dist/esm/components/layout/Spacer/Spacer.js.map +1 -1
  393. package/dist/esm/components/layout/SplitPane/SplitPane.css.js +10 -0
  394. package/dist/esm/components/layout/SplitPane/SplitPane.css.js.map +1 -0
  395. package/dist/esm/components/layout/SplitPane/SplitPane.js +12 -36
  396. package/dist/esm/components/layout/SplitPane/SplitPane.js.map +1 -1
  397. package/dist/esm/components/layout/SplitPane/SplitPanePanel.js +5 -8
  398. package/dist/esm/components/layout/SplitPane/SplitPanePanel.js.map +1 -1
  399. package/dist/esm/components/layout/Stack/Stack.css.js +8 -0
  400. package/dist/esm/components/layout/Stack/Stack.css.js.map +1 -0
  401. package/dist/esm/components/layout/Stack/Stack.js +36 -65
  402. package/dist/esm/components/layout/Stack/Stack.js.map +1 -1
  403. package/dist/esm/components/navigation/ContextMenu/ContextMenu.js +67 -5
  404. package/dist/esm/components/navigation/ContextMenu/ContextMenu.js.map +1 -1
  405. package/dist/esm/components/navigation/ContextMenu/useContextMenuTarget.js +1 -0
  406. package/dist/esm/components/navigation/ContextMenu/useContextMenuTarget.js.map +1 -1
  407. package/dist/esm/components/navigation/Menu/Menu.css.js +16 -0
  408. package/dist/esm/components/navigation/Menu/Menu.css.js.map +1 -0
  409. package/dist/esm/components/navigation/Menu/Menu.helpers.js +71 -8
  410. package/dist/esm/components/navigation/Menu/Menu.helpers.js.map +1 -1
  411. package/dist/esm/components/navigation/Menu/Menu.js +67 -5
  412. package/dist/esm/components/navigation/Menu/Menu.js.map +1 -1
  413. package/dist/esm/components/navigation/Menu/useMenu.js +1 -0
  414. package/dist/esm/components/navigation/Menu/useMenu.js.map +1 -1
  415. package/dist/esm/components/navigation/Tabs/Tab.js +93 -175
  416. package/dist/esm/components/navigation/Tabs/Tab.js.map +1 -1
  417. package/dist/esm/components/navigation/Tabs/TabList.js +5 -56
  418. package/dist/esm/components/navigation/Tabs/TabList.js.map +1 -1
  419. package/dist/esm/components/navigation/Tabs/TabPanel.js +4 -12
  420. package/dist/esm/components/navigation/Tabs/TabPanel.js.map +1 -1
  421. package/dist/esm/components/navigation/Tabs/Tabs.css.js +26 -0
  422. package/dist/esm/components/navigation/Tabs/Tabs.css.js.map +1 -0
  423. package/dist/esm/components/navigation/Tabs/Tabs.js +6 -13
  424. package/dist/esm/components/navigation/Tabs/Tabs.js.map +1 -1
  425. package/dist/esm/components/primitives/Button/Button.css.js +9 -0
  426. package/dist/esm/components/primitives/Button/Button.css.js.map +1 -0
  427. package/dist/esm/components/primitives/Button/Button.js +5 -149
  428. package/dist/esm/components/primitives/Button/Button.js.map +1 -1
  429. package/dist/esm/components/primitives/Checkbox/Checkbox.css.js +14 -0
  430. package/dist/esm/components/primitives/Checkbox/Checkbox.css.js.map +1 -0
  431. package/dist/esm/components/primitives/Checkbox/Checkbox.js +20 -112
  432. package/dist/esm/components/primitives/Checkbox/Checkbox.js.map +1 -1
  433. package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js +10 -17
  434. package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js.map +1 -1
  435. package/dist/esm/components/primitives/Collapsible/Collapsible.css.js +18 -0
  436. package/dist/esm/components/primitives/Collapsible/Collapsible.css.js.map +1 -0
  437. package/dist/esm/components/primitives/Collapsible/Collapsible.js +45 -83
  438. package/dist/esm/components/primitives/Collapsible/Collapsible.js.map +1 -1
  439. package/dist/esm/components/primitives/Icon/Icon.css.js +7 -0
  440. package/dist/esm/components/primitives/Icon/Icon.css.js.map +1 -0
  441. package/dist/esm/components/primitives/Icon/Icon.js +23 -55
  442. package/dist/esm/components/primitives/Icon/Icon.js.map +1 -1
  443. package/dist/esm/components/primitives/IconButton/IconButton.css.js +8 -0
  444. package/dist/esm/components/primitives/IconButton/IconButton.css.js.map +1 -0
  445. package/dist/esm/components/primitives/IconButton/IconButton.js +10 -170
  446. package/dist/esm/components/primitives/IconButton/IconButton.js.map +1 -1
  447. package/dist/esm/components/primitives/Input/Input.css.js +12 -0
  448. package/dist/esm/components/primitives/Input/Input.css.js.map +1 -0
  449. package/dist/esm/components/primitives/Input/Input.js +11 -79
  450. package/dist/esm/components/primitives/Input/Input.js.map +1 -1
  451. package/dist/esm/components/primitives/Paper/Paper.css.js +7 -0
  452. package/dist/esm/components/primitives/Paper/Paper.css.js.map +1 -0
  453. package/dist/esm/components/primitives/Paper/Paper.js +18 -90
  454. package/dist/esm/components/primitives/Paper/Paper.js.map +1 -1
  455. package/dist/esm/components/primitives/Popover/Popover.css.js +8 -0
  456. package/dist/esm/components/primitives/Popover/Popover.css.js.map +1 -0
  457. package/dist/esm/components/primitives/Popover/Popover.js +1 -0
  458. package/dist/esm/components/primitives/Popover/Popover.js.map +1 -1
  459. package/dist/esm/components/primitives/Popover/PopoverClose.js +4 -32
  460. package/dist/esm/components/primitives/Popover/PopoverClose.js.map +1 -1
  461. package/dist/esm/components/primitives/Popover/PopoverContent.js +19 -45
  462. package/dist/esm/components/primitives/Popover/PopoverContent.js.map +1 -1
  463. package/dist/esm/components/primitives/Popover/PopoverTrigger.js +1 -0
  464. package/dist/esm/components/primitives/Popover/PopoverTrigger.js.map +1 -1
  465. package/dist/esm/components/primitives/Switch/Switch.css.js +15 -0
  466. package/dist/esm/components/primitives/Switch/Switch.css.js.map +1 -0
  467. package/dist/esm/components/primitives/Switch/Switch.js +29 -122
  468. package/dist/esm/components/primitives/Switch/Switch.js.map +1 -1
  469. package/dist/esm/components/primitives/Text/Text.css.js +9 -0
  470. package/dist/esm/components/primitives/Text/Text.css.js.map +1 -0
  471. package/dist/esm/components/primitives/Text/Text.js +20 -126
  472. package/dist/esm/components/primitives/Text/Text.js.map +1 -1
  473. package/dist/esm/components/primitives/Tooltip/Arrow.js +8 -41
  474. package/dist/esm/components/primitives/Tooltip/Arrow.js.map +1 -1
  475. package/dist/esm/components/primitives/Tooltip/Tooltip.css.js +9 -0
  476. package/dist/esm/components/primitives/Tooltip/Tooltip.css.js.map +1 -0
  477. package/dist/esm/components/primitives/Tooltip/Tooltip.js +20 -79
  478. package/dist/esm/components/primitives/Tooltip/Tooltip.js.map +1 -1
  479. package/dist/esm/components/primitives/Tooltip/utils.js.map +1 -1
  480. package/dist/esm/components/primitives/canvas/CanvasContainer.css.js +10 -0
  481. package/dist/esm/components/primitives/canvas/CanvasContainer.css.js.map +1 -0
  482. package/dist/esm/components/primitives/canvas/CanvasContainer.js +32 -0
  483. package/dist/esm/components/primitives/canvas/CanvasContainer.js.map +1 -0
  484. package/dist/esm/components/primitives/canvas/canvasCoords.js +51 -0
  485. package/dist/esm/components/primitives/canvas/canvasCoords.js.map +1 -0
  486. package/dist/esm/components/primitives/canvas/canvasDrawing.js +251 -0
  487. package/dist/esm/components/primitives/canvas/canvasDrawing.js.map +1 -0
  488. package/dist/esm/components/primitives/canvas/canvasTheme.js +43 -0
  489. package/dist/esm/components/primitives/canvas/canvasTheme.js.map +1 -0
  490. package/dist/esm/components/primitives/canvas/useCanvasRenderer.js +26 -0
  491. package/dist/esm/components/primitives/canvas/useCanvasRenderer.js.map +1 -0
  492. package/dist/esm/components/shell/AppShell/AppShell.css.js +13 -0
  493. package/dist/esm/components/shell/AppShell/AppShell.css.js.map +1 -0
  494. package/dist/esm/components/shell/AppShell/AppShell.js +16 -101
  495. package/dist/esm/components/shell/AppShell/AppShell.js.map +1 -1
  496. package/dist/esm/components/shell/FloatingPanel/FloatingPanel.css.js +18 -0
  497. package/dist/esm/components/shell/FloatingPanel/FloatingPanel.css.js.map +1 -0
  498. package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js +20 -97
  499. package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js.map +1 -1
  500. package/dist/esm/components/shell/MenuBar/MenuBar.css.js +16 -0
  501. package/dist/esm/components/shell/MenuBar/MenuBar.css.js.map +1 -0
  502. package/dist/esm/components/shell/MenuBar/MenuBar.js +16 -141
  503. package/dist/esm/components/shell/MenuBar/MenuBar.js.map +1 -1
  504. package/dist/esm/components/shell/StatusBar/StatusBar.css.js +11 -0
  505. package/dist/esm/components/shell/StatusBar/StatusBar.css.js.map +1 -0
  506. package/dist/esm/components/shell/StatusBar/StatusBar.js +12 -108
  507. package/dist/esm/components/shell/StatusBar/StatusBar.js.map +1 -1
  508. package/dist/esm/components/shell/Toolbar/Toolbar.css.js +11 -0
  509. package/dist/esm/components/shell/Toolbar/Toolbar.css.js.map +1 -0
  510. package/dist/esm/components/shell/Toolbar/Toolbar.js +25 -101
  511. package/dist/esm/components/shell/Toolbar/Toolbar.js.map +1 -1
  512. package/dist/esm/context/KeyboardContext.js +1 -0
  513. package/dist/esm/context/KeyboardContext.js.map +1 -1
  514. package/dist/esm/index.js +26 -5
  515. package/dist/esm/index.js.map +1 -1
  516. package/dist/esm/node_modules/@vanilla-extract/css/adapter/dist/vanilla-extract-css-adapter.esm.js +15 -0
  517. package/dist/esm/node_modules/@vanilla-extract/css/adapter/dist/vanilla-extract-css-adapter.esm.js.map +1 -0
  518. package/dist/esm/node_modules/@vanilla-extract/css/dist/transformCss-fd0786e1.esm.js +128 -0
  519. package/dist/esm/node_modules/@vanilla-extract/css/dist/transformCss-fd0786e1.esm.js.map +1 -0
  520. package/dist/esm/node_modules/@vanilla-extract/css/dist/vanilla-extract-css.esm.js +70 -0
  521. package/dist/esm/node_modules/@vanilla-extract/css/dist/vanilla-extract-css.esm.js.map +1 -0
  522. package/dist/esm/node_modules/@vanilla-extract/css/node_modules/lru-cache/dist/esm/index.js +1543 -0
  523. package/dist/esm/node_modules/@vanilla-extract/css/node_modules/lru-cache/dist/esm/index.js.map +1 -0
  524. package/dist/esm/node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js +25 -0
  525. package/dist/esm/node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js.map +1 -0
  526. package/dist/esm/node_modules/@vanilla-extract/private/dist/vanilla-extract-private.esm.js +10 -0
  527. package/dist/esm/node_modules/@vanilla-extract/private/dist/vanilla-extract-private.esm.js.map +1 -0
  528. package/dist/esm/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js +112 -0
  529. package/dist/esm/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js.map +1 -0
  530. package/dist/esm/node_modules/cssesc/cssesc.js +120 -0
  531. package/dist/esm/node_modules/cssesc/cssesc.js.map +1 -0
  532. package/dist/esm/node_modules/dedent/dist/dedent.js +98 -0
  533. package/dist/esm/node_modules/dedent/dist/dedent.js.map +1 -0
  534. package/dist/esm/node_modules/deepmerge/dist/cjs.js +143 -0
  535. package/dist/esm/node_modules/deepmerge/dist/cjs.js.map +1 -0
  536. package/dist/esm/theme/ThemeProvider.js +13 -7
  537. package/dist/esm/theme/ThemeProvider.js.map +1 -1
  538. package/dist/esm/theme/VanillaThemeProvider.js +26 -0
  539. package/dist/esm/theme/VanillaThemeProvider.js.map +1 -0
  540. package/dist/esm/theme/contract.css.js +4 -0
  541. package/dist/esm/theme/contract.css.js.map +1 -0
  542. package/dist/esm/theme/darkTheme.css.js +6 -0
  543. package/dist/esm/theme/darkTheme.css.js.map +1 -0
  544. package/dist/esm/utils/cx.js +14 -0
  545. package/dist/esm/utils/cx.js.map +1 -0
  546. package/dist/esm/utils/mathExpression.js.map +1 -1
  547. package/dist/esm/utils/mathUtils.js.map +1 -1
  548. package/dist/types/components/controls/CartesianPicker/CartesianPicker.d.ts +6 -0
  549. package/dist/types/components/controls/CartesianPicker/CartesianPicker.types.d.ts +163 -0
  550. package/dist/types/components/controls/CurveEditor/CurveEditor.types.d.ts +5 -13
  551. package/dist/types/components/controls/CurveEditor/curveUtils.d.ts +3 -1
  552. package/dist/types/components/controls/Select/Select.d.ts +1 -1
  553. package/dist/types/components/editor/ChatPanel/ChatActionBar.d.ts +288 -0
  554. package/dist/types/components/editor/ChatPanel/ChatAttachment.d.ts +292 -0
  555. package/dist/types/components/editor/ChatPanel/ChatBubble.d.ts +289 -0
  556. package/dist/types/components/editor/ChatPanel/ChatCodeBlock.d.ts +294 -0
  557. package/dist/types/components/editor/ChatPanel/ChatContextChip.d.ts +292 -0
  558. package/dist/types/components/editor/ChatPanel/ChatEmptyState.d.ts +292 -0
  559. package/dist/types/components/editor/ChatPanel/ChatInput.d.ts +300 -0
  560. package/dist/types/components/editor/ChatPanel/ChatInputToolbar.d.ts +288 -0
  561. package/dist/types/components/editor/ChatPanel/ChatMessage.d.ts +294 -0
  562. package/dist/types/components/editor/ChatPanel/ChatMessageList.d.ts +293 -0
  563. package/dist/types/components/editor/ChatPanel/ChatPanel.d.ts +290 -0
  564. package/dist/types/components/editor/ChatPanel/ChatPanel.types.d.ts +409 -0
  565. package/dist/types/components/editor/ChatPanel/ChatToolCall.d.ts +294 -0
  566. package/dist/types/components/editor/ChatPanel/ChatTypingIndicator.d.ts +291 -0
  567. package/dist/types/components/editor/ChatPanel/useChatInput.d.ts +5 -0
  568. package/dist/types/components/editor/ChatPanel/useChatMessages.d.ts +5 -0
  569. package/dist/types/components/editor/ChatPanel/useChatScroll.d.ts +5 -0
  570. package/dist/types/components/editor/ViewportGizmo/ViewportGizmo.d.ts +6 -0
  571. package/dist/types/components/editor/ViewportGizmo/ViewportGizmo.types.d.ts +146 -0
  572. package/dist/types/components/editor/ViewportGizmo/gizmoMath.d.ts +73 -0
  573. package/dist/types/components/form/FormHelperText.d.ts +13 -15
  574. package/dist/types/components/form/FormLabel.d.ts +13 -15
  575. package/dist/types/components/form/InputWrapper.d.ts +13 -15
  576. package/dist/types/components/layout/PanelSurface/PanelSurface.d.ts +54 -59
  577. package/dist/types/components/layout/Spacer/Spacer.d.ts +17 -19
  578. package/dist/types/components/navigation/Menu/Menu.types.d.ts +1 -1
  579. package/dist/types/components/primitives/Button/Button.d.ts +30 -18
  580. package/dist/types/components/primitives/Icon/Icon.d.ts +0 -7
  581. package/dist/types/components/primitives/IconButton/IconButton.d.ts +26 -19
  582. package/dist/types/components/primitives/Input/Input.d.ts +7 -2
  583. package/dist/types/components/primitives/Paper/Paper.d.ts +23 -21
  584. package/dist/types/components/primitives/Switch/Switch.d.ts +7 -2
  585. package/dist/types/components/primitives/Text/Text.d.ts +20 -18
  586. package/dist/types/components/primitives/Tooltip/Tooltip.d.ts +7 -3
  587. package/dist/types/components/primitives/Tooltip/types.d.ts +1 -1
  588. package/dist/types/components/primitives/canvas/canvas.types.d.ts +27 -0
  589. package/dist/types/components/shell/AppShell/AppShell.d.ts +86 -92
  590. package/dist/types/components/shell/MenuBar/MenuBar.d.ts +67 -73
  591. package/dist/types/components/shell/MenuBar/MenuBar.types.d.ts +1 -1
  592. package/dist/types/components/shell/StatusBar/StatusBar.d.ts +45 -49
  593. package/dist/types/components/shell/StatusBar/StatusBar.types.d.ts +3 -3
  594. package/dist/types/components/shell/Toolbar/Toolbar.d.ts +80 -87
  595. package/dist/types/components/shell/Toolbar/Toolbar.types.d.ts +3 -3
  596. package/dist/types/index.d.ts +29 -7
  597. package/dist/types/theme/ThemeProvider.d.ts +9 -2
  598. package/dist/types/theme/VanillaThemeProvider.d.ts +34 -0
  599. package/dist/types/theme/contract.css.d.ts +165 -0
  600. package/dist/types/theme/{tokens.d.ts → darkTheme.css.d.ts} +44 -39
  601. package/dist/types/types/common.d.ts +1 -8
  602. package/dist/types/utils/cx.d.ts +11 -0
  603. package/package.json +42 -31
  604. package/dist/esm/components/feedback/Dialog/Dialog.styled.js +0 -80
  605. package/dist/esm/components/feedback/Dialog/Dialog.styled.js.map +0 -1
  606. package/dist/esm/components/navigation/Menu/Menu.styled.js +0 -83
  607. package/dist/esm/components/navigation/Menu/Menu.styled.js.map +0 -1
  608. package/dist/esm/components/primitives/BaseButton/BaseButton.js +0 -17
  609. package/dist/esm/components/primitives/BaseButton/BaseButton.js.map +0 -1
  610. package/dist/esm/theme/createTheme.js +0 -10
  611. package/dist/esm/theme/createTheme.js.map +0 -1
  612. package/dist/esm/theme/tokens.js +0 -144
  613. package/dist/esm/theme/tokens.js.map +0 -1
  614. package/dist/esm/utils/cn.js +0 -6
  615. package/dist/esm/utils/cn.js.map +0 -1
  616. package/dist/esm/utils/objects.js +0 -22
  617. package/dist/esm/utils/objects.js.map +0 -1
  618. package/dist/esm/utils/styledUtils.js +0 -81
  619. package/dist/esm/utils/styledUtils.js.map +0 -1
  620. package/dist/types/theme/createTheme.d.ts +0 -6
  621. package/dist/types/theme/types.d.ts +0 -7
  622. package/dist/types/utils/cn.d.ts +0 -3
@@ -1,10 +1,12 @@
1
+ "use client";
1
2
  import { useRef, useCallback, useEffect } from 'react';
2
- import { useTheme } from '@emotion/react';
3
- import { clamp } from '../../../utils/mathUtils.js';
4
- import { domainToCanvas, sampleCurve } from './curveUtils.js';
3
+ import { drawGrid, drawDomainBounds, drawAxisLabels } from '../../primitives/canvas/canvasDrawing.js';
4
+ import { resolveCanvasTheme, resolveVarValue } from '../../primitives/canvas/canvasTheme.js';
5
+ import '../../primitives/canvas/CanvasContainer.js';
6
+ import { sampleCurve, domainToCanvas } from './curveUtils.js';
5
7
 
8
+ // CanvasThemeColors and resolveCanvasTheme are now imported from shared canvas primitives
6
9
  function useCurveRenderer(options) {
7
- const theme = useTheme();
8
10
  const rafRef = useRef(0);
9
11
  const draw = useCallback(() => {
10
12
  const canvas = options.canvasRef.current;
@@ -13,6 +15,7 @@ function useCurveRenderer(options) {
13
15
  const ctx = canvas.getContext('2d');
14
16
  if (!ctx)
15
17
  return;
18
+ const theme = resolveCanvasTheme(canvas);
16
19
  const dpr = typeof window !== 'undefined' ? window.devicePixelRatio || 1 : 1;
17
20
  const rect = canvas.getBoundingClientRect();
18
21
  const w = rect.width;
@@ -26,11 +29,15 @@ function useCurveRenderer(options) {
26
29
  else {
27
30
  ctx.setTransform(dpr, 0, 0, dpr, 0, 0);
28
31
  }
29
- const { curve, viewport, showGrid, gridSubdivisions, showAxisLabels, labelX, labelY, curveColor, curveWidth, renderBackground, selectedIds, hoveredElement, selectionBox, disabled, } = options;
32
+ const { curve, viewport, showGrid, gridSubdivisions, showAxisLabels, labelX, labelY, curveColor: rawCurveColor, curveWidth, renderBackground, selectedIds, hoveredElement, selectionBox, disabled, } = options;
33
+ // Resolve curveColor if it's a CSS variable reference
34
+ const curveColor = rawCurveColor.startsWith('var(')
35
+ ? resolveVarValue(canvas, rawCurveColor)
36
+ : rawCurveColor;
30
37
  const opacity = disabled ? 0.4 : 1;
31
38
  // 1. Clear background
32
39
  ctx.globalAlpha = 1;
33
- ctx.fillStyle = theme.colors.background.secondary;
40
+ ctx.fillStyle = theme.backgroundSecondary;
34
41
  ctx.fillRect(0, 0, w, h);
35
42
  // 1b. Custom background (histograms, gradients, etc.)
36
43
  if (renderBackground) {
@@ -44,15 +51,27 @@ function useCurveRenderer(options) {
44
51
  });
45
52
  ctx.restore();
46
53
  }
47
- // 2. Grid lines based on domain values, not viewport
54
+ // 2. Grid lines -- based on domain values, not viewport
48
55
  if (showGrid) {
49
- drawGrid(ctx, curve, viewport, w, h, gridSubdivisions, theme, opacity);
56
+ drawGrid(ctx, w, h, theme, {
57
+ subdivisions: gridSubdivisions,
58
+ domain: { domainX: curve.domainX, domainY: curve.domainY },
59
+ viewport,
60
+ opacity,
61
+ });
50
62
  }
51
63
  // 3. Domain boundary axes (stronger lines at domain min/max)
52
- drawDomainBounds(ctx, curve, viewport, w, h, theme, opacity);
53
- // 4. Axis labels based on domain values
64
+ drawDomainBounds(ctx, w, h, theme, { domainX: curve.domainX, domainY: curve.domainY }, viewport, opacity);
65
+ // 4. Axis labels -- based on domain values
54
66
  if (showAxisLabels) {
55
- drawAxisLabels(ctx, curve, viewport, w, h, gridSubdivisions, theme, opacity, labelX, labelY);
67
+ drawAxisLabels(ctx, w, h, theme, {
68
+ subdivisions: gridSubdivisions,
69
+ domain: { domainX: curve.domainX, domainY: curve.domainY },
70
+ viewport,
71
+ opacity,
72
+ labelX,
73
+ labelY,
74
+ });
56
75
  }
57
76
  // 5. Curve line
58
77
  ctx.globalAlpha = opacity;
@@ -68,7 +87,7 @@ function useCurveRenderer(options) {
68
87
  drawSelectionBox(ctx, selectionBox, curveColor);
69
88
  }
70
89
  ctx.globalAlpha = 1;
71
- }, [options, theme]);
90
+ }, [options]);
72
91
  // Redraw on state changes
73
92
  useEffect(() => {
74
93
  if (options.isDragging) {
@@ -84,177 +103,8 @@ function useCurveRenderer(options) {
84
103
  return undefined;
85
104
  }, [draw, options.isDragging]);
86
105
  }
87
- /**
88
- * Format a number for axis labels.
89
- * Integers show as "0", "1". Clean fractions show as "0.25", "0.5".
90
- * Others show with minimal decimals needed.
91
- */
92
- function formatLabel(value, domainRange) {
93
- // Round to avoid floating-point artifacts
94
- const rounded = Math.round(value * 1e10) / 1e10;
95
- if (Number.isInteger(rounded))
96
- return rounded.toFixed(0);
97
- // For small ranges, show more precision
98
- if (domainRange <= 1) {
99
- // Check if it's a clean fraction (0.25, 0.5, 0.75, etc.)
100
- const str = rounded.toFixed(2);
101
- if (str.endsWith('0'))
102
- return rounded.toFixed(1);
103
- return str;
104
- }
105
- // For larger ranges
106
- if (domainRange <= 10)
107
- return rounded.toFixed(1);
108
- return rounded.toFixed(0);
109
- }
110
- /**
111
- * Draw grid lines at clean domain values (not viewport values).
112
- * Grid lines subdivide the domain range into equal parts.
113
- */
114
- function drawGrid(ctx, curve, viewport, w, h, subdivisions, theme, opacity) {
115
- const [dxMin, dxMax] = curve.domainX;
116
- const [dyMin, dyMax] = curve.domainY;
117
- const dxRange = dxMax - dxMin || 1;
118
- const dyRange = dyMax - dyMin || 1;
119
- ctx.lineWidth = 1;
120
- // Vertical grid lines (subdivide domain X)
121
- const xStep = dxRange / subdivisions;
122
- for (let i = 0; i <= subdivisions; i++) {
123
- const domX = dxMin + i * xStep;
124
- const { px } = domainToCanvas(domX, 0, viewport, w, h);
125
- // Domain bounds drawn stronger
126
- const isBound = i === 0 || i === subdivisions;
127
- ctx.globalAlpha = opacity * (isBound ? 0.25 : 0.12);
128
- ctx.strokeStyle = theme.colors.border.default;
129
- ctx.beginPath();
130
- ctx.moveTo(Math.round(px) + 0.5, 0);
131
- ctx.lineTo(Math.round(px) + 0.5, h);
132
- ctx.stroke();
133
- }
134
- // Horizontal grid lines (subdivide domain Y)
135
- const yStep = dyRange / subdivisions;
136
- for (let i = 0; i <= subdivisions; i++) {
137
- const domY = dyMin + i * yStep;
138
- const { py } = domainToCanvas(0, domY, viewport, w, h);
139
- const isBound = i === 0 || i === subdivisions;
140
- ctx.globalAlpha = opacity * (isBound ? 0.25 : 0.12);
141
- ctx.strokeStyle = theme.colors.border.default;
142
- ctx.beginPath();
143
- ctx.moveTo(0, Math.round(py) + 0.5);
144
- ctx.lineTo(w, Math.round(py) + 0.5);
145
- ctx.stroke();
146
- }
147
- }
148
- /**
149
- * Draw stronger lines at the domain boundaries (min/max on both axes).
150
- */
151
- function drawDomainBounds(ctx, curve, viewport, w, h, theme, opacity) {
152
- const [dxMin, dxMax] = curve.domainX;
153
- const [dyMin, dyMax] = curve.domainY;
154
- ctx.globalAlpha = opacity * 0.35;
155
- ctx.strokeStyle = theme.colors.border.default;
156
- ctx.lineWidth = 1.5;
157
- // Left bound (X min)
158
- const { px: pxMin } = domainToCanvas(dxMin, 0, viewport, w, h);
159
- ctx.beginPath();
160
- ctx.moveTo(Math.round(pxMin) + 0.5, 0);
161
- ctx.lineTo(Math.round(pxMin) + 0.5, h);
162
- ctx.stroke();
163
- // Right bound (X max)
164
- const { px: pxMax } = domainToCanvas(dxMax, 0, viewport, w, h);
165
- ctx.beginPath();
166
- ctx.moveTo(Math.round(pxMax) + 0.5, 0);
167
- ctx.lineTo(Math.round(pxMax) + 0.5, h);
168
- ctx.stroke();
169
- // Bottom bound (Y min)
170
- const { py: pyMin } = domainToCanvas(0, dyMin, viewport, w, h);
171
- ctx.beginPath();
172
- ctx.moveTo(0, Math.round(pyMin) + 0.5);
173
- ctx.lineTo(w, Math.round(pyMin) + 0.5);
174
- ctx.stroke();
175
- // Top bound (Y max)
176
- const { py: pyMax } = domainToCanvas(0, dyMax, viewport, w, h);
177
- ctx.beginPath();
178
- ctx.moveTo(0, Math.round(pyMax) + 0.5);
179
- ctx.lineTo(w, Math.round(pyMax) + 0.5);
180
- ctx.stroke();
181
- }
182
- /**
183
- * Draw axis labels at clean domain values.
184
- * Y labels on the left side, X labels at the bottom.
185
- * Labels correspond to domain subdivisions (e.g. 0, 0.25, 0.5, 0.75, 1).
186
- */
187
- function drawAxisLabels(ctx, curve, viewport, w, h, subdivisions, theme, opacity, labelX, labelY) {
188
- const [dxMin, dxMax] = curve.domainX;
189
- const [dyMin, dyMax] = curve.domainY;
190
- const dxRange = dxMax - dxMin || 1;
191
- const dyRange = dyMax - dyMin || 1;
192
- const fontSize = theme.typography.fontSize.xs;
193
- ctx.globalAlpha = opacity * 0.7;
194
- ctx.fillStyle = theme.colors.text.muted;
195
- ctx.font = `${fontSize}px sans-serif`;
196
- const sidePadding = 4;
197
- const axisGap = 6;
198
- const { px: xAxisMin } = domainToCanvas(dxMin, 0, viewport, w, h);
199
- const { px: xAxisMax } = domainToCanvas(dxMax, 0, viewport, w, h);
200
- const { py: yAxisMin } = domainToCanvas(0, dyMin, viewport, w, h);
201
- const { py: yAxisMax } = domainToCanvas(0, dyMax, viewport, w, h);
202
- const xTickTop = clamp(yAxisMin + axisGap, yAxisMax + 2, h - fontSize - (labelX ? fontSize + 8 : 2));
203
- const xAxisLabelTop = labelX
204
- ? clamp(xTickTop + fontSize + 4, 0, h - fontSize - 1)
205
- : 0;
206
- const yTickAnchorX = clamp(xAxisMin - axisGap, sidePadding + 1, w - sidePadding);
207
- const yTickMinY = fontSize / 2 + 2;
208
- const yTickMaxY = Math.max(yTickMinY, xTickTop - 2);
209
- const yAxisLabelTop = clamp(yAxisMax - fontSize - 4, sidePadding, Math.max(sidePadding, xTickTop - fontSize - 6));
210
- // ─── X axis labels (bottom, aligned to domain subdivisions) ───
211
- ctx.textBaseline = 'top';
212
- const xStep = dxRange / subdivisions;
213
- for (let i = 0; i <= subdivisions; i++) {
214
- const domX = dxMin + i * xStep;
215
- const { px } = domainToCanvas(domX, 0, viewport, w, h);
216
- const label = formatLabel(domX, dxRange);
217
- // Anchor edge labels to domain bounds, center the inner labels.
218
- if (i === 0) {
219
- ctx.textAlign = 'left';
220
- ctx.fillText(label, xAxisMin + 2, xTickTop);
221
- }
222
- else if (i === subdivisions) {
223
- ctx.textAlign = 'right';
224
- ctx.fillText(label, xAxisMax - 2, xTickTop);
225
- }
226
- else {
227
- ctx.textAlign = 'center';
228
- ctx.fillText(label, clamp(px, xAxisMin + 2, xAxisMax - 2), xTickTop);
229
- }
230
- }
231
- // ─── Y axis labels (left side, aligned to domain subdivisions) ───
232
- ctx.textAlign = 'right';
233
- ctx.textBaseline = 'middle';
234
- const yStep = dyRange / subdivisions;
235
- for (let i = 0; i <= subdivisions; i++) {
236
- const domY = dyMin + i * yStep;
237
- const { py } = domainToCanvas(0, domY, viewport, w, h);
238
- const label = formatLabel(domY, dyRange);
239
- // Clamp vertically to keep labels above bottom axis labels.
240
- const clampedPy = clamp(py, yTickMinY, yTickMaxY);
241
- ctx.fillText(label, yTickAnchorX, clampedPy);
242
- }
243
- // ─── Axis name labels ───
244
- if (labelX) {
245
- const textWidth = ctx.measureText(labelX).width;
246
- const x = clamp(xAxisMax + axisGap, sidePadding, w - sidePadding - textWidth);
247
- ctx.textAlign = 'left';
248
- ctx.textBaseline = 'top';
249
- ctx.fillText(labelX, x, xAxisLabelTop);
250
- }
251
- if (labelY) {
252
- const x = clamp(xAxisMin + axisGap, sidePadding, w - sidePadding);
253
- ctx.textAlign = 'left';
254
- ctx.textBaseline = 'top';
255
- ctx.fillText(labelY, x, yAxisLabelTop);
256
- }
257
- }
106
+ // drawGrid, drawDomainBounds, drawAxisLabels, and formatLabel are now
107
+ // provided by shared canvas primitives and called in the draw() function above.
258
108
  function drawCurveLine(ctx, curve, viewport, w, h, curveColor, lineWidth) {
259
109
  if (curve.keyframes.length < 2)
260
110
  return;
@@ -295,7 +145,7 @@ function drawTangentHandles(ctx, curve, viewport, w, h, selectedIds, hoveredElem
295
145
  // Handle In
296
146
  const hIn = domainToCanvas(kf.x + kf.handleIn.x, kf.y + kf.handleIn.y, viewport, w, h);
297
147
  ctx.globalAlpha = opacity * (isAutoMode ? 0.4 : 0.7);
298
- ctx.strokeStyle = theme.colors.text.muted;
148
+ ctx.strokeStyle = theme.textMuted;
299
149
  ctx.lineWidth = 1;
300
150
  ctx.setLineDash([3, 3]);
301
151
  ctx.beginPath();
@@ -307,16 +157,14 @@ function drawTangentHandles(ctx, curve, viewport, w, h, selectedIds, hoveredElem
307
157
  const hInRadius = isAutoMode ? 3 : 4;
308
158
  const isHInHovered = hoveredElement?.type === 'handleIn' && hoveredElement.keyframeIndex === i;
309
159
  ctx.globalAlpha = opacity;
310
- ctx.fillStyle = isHInHovered
311
- ? theme.colors.text.primary
312
- : theme.colors.text.secondary;
160
+ ctx.fillStyle = isHInHovered ? theme.textPrimary : theme.textSecondary;
313
161
  ctx.beginPath();
314
162
  ctx.arc(hIn.px, hIn.py, isHInHovered ? hInRadius + 1 : hInRadius, 0, Math.PI * 2);
315
163
  ctx.fill();
316
164
  // Handle Out
317
165
  const hOut = domainToCanvas(kf.x + kf.handleOut.x, kf.y + kf.handleOut.y, viewport, w, h);
318
166
  ctx.globalAlpha = opacity * (isAutoMode ? 0.4 : 0.7);
319
- ctx.strokeStyle = theme.colors.text.muted;
167
+ ctx.strokeStyle = theme.textMuted;
320
168
  ctx.lineWidth = 1;
321
169
  ctx.setLineDash([3, 3]);
322
170
  ctx.beginPath();
@@ -329,9 +177,7 @@ function drawTangentHandles(ctx, curve, viewport, w, h, selectedIds, hoveredElem
329
177
  const isHOutHovered = hoveredElement?.type === 'handleOut' &&
330
178
  hoveredElement.keyframeIndex === i;
331
179
  ctx.globalAlpha = opacity;
332
- ctx.fillStyle = isHOutHovered
333
- ? theme.colors.text.primary
334
- : theme.colors.text.secondary;
180
+ ctx.fillStyle = isHOutHovered ? theme.textPrimary : theme.textSecondary;
335
181
  ctx.beginPath();
336
182
  ctx.arc(hOut.px, hOut.py, isHOutHovered ? hOutRadius + 1 : hOutRadius, 0, Math.PI * 2);
337
183
  ctx.fill();
@@ -367,12 +213,12 @@ function drawKeyframes(ctx, curve, viewport, w, h, curveColor, selectedIds, hove
367
213
  if (isSelected) {
368
214
  ctx.fillStyle = curveColor;
369
215
  ctx.fill();
370
- ctx.strokeStyle = theme.colors.text.primary;
216
+ ctx.strokeStyle = theme.textPrimary;
371
217
  ctx.lineWidth = 2;
372
218
  ctx.stroke();
373
219
  }
374
220
  else {
375
- ctx.fillStyle = theme.colors.text.primary;
221
+ ctx.fillStyle = theme.textPrimary;
376
222
  ctx.fill();
377
223
  ctx.strokeStyle = curveColor;
378
224
  ctx.lineWidth = 1.5;
@@ -1 +1 @@
1
- {"version":3,"file":"useCurveRenderer.js","sources":["../../../../../../src/components/controls/CurveEditor/useCurveRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useCurveRenderer.js","sources":["../../../../../../src/components/controls/CurveEditor/useCurveRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAiDA;AAEM;AACJ;AAEA;AACE;AACA;;;AAGA;;AAEA;AAEA;AAEA;AACA;AACA;;AAGA;AACE;AACA;AACA;;;AAEA;;AAGF;;AAkBA;AACE;;;;AAMF;AACA;;;;;;AAOI;AACA;;;;AAID;;;;;;AAOC;AACA;;;AAGD;;;;;;;AAiBC;AACA;;;;;AAKD;;;AAIH;AACA;;AAGA;AACE;;;;;;AA6BA;;AAGF;AACF;;;AAIE;;;AAGI;AACA;AACF;AACA;;;AAIF;AACA;;AAEJ;AAEA;AACA;AAEA;AASE;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAGA;AACA;;AACA;;AAGA;AACE;AACA;;AACA;;;;AAKJ;AAEA;AAWE;AAEA;AACE;AACA;;AACA;;;;AAGA;AACA;;AAGA;AAQA;AACA;AACA;;;;;;AAMA;;;AAIA;AAEA;AACA;;AAEA;;;AAUA;AAQA;AACA;AACA;;;;;;AAMA;;;AAIA;AAEE;AACF;AACA;;AAEA;;;AASJ;AAEA;AAYE;AAEA;AACE;AACA;;;AAEA;AAEA;;AAIA;;;AAIE;;;;;;;;;;AASA;;AAEA;;;AAIA;;AAEA;AACA;;;;AAGA;;AAEA;AACA;;;;AAIN;AAEA;AAKE;AACA;AACA;AACA;AAEA;AACA;;AAGA;AACA;AACA;;;AAGA;AACF;;"}
@@ -0,0 +1,17 @@
1
+ import './../../../assets/src/components/controls/NumberInput/NumberInput.css.ts.vanilla-uGNr81xQ.css';
2
+ import { c as createRuntimeFn } from '../../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js';
3
+
4
+ var containerDraggingStyle = 'NumberInput_containerDraggingStyle__1l9csw2';
5
+ var containerHoveredStyle = 'NumberInput_containerHoveredStyle__1l9csw1';
6
+ var helperTextRecipe = createRuntimeFn({defaultClassName:'NumberInput_helperTextRecipe__1l9cswv',variantClassNames:{error:{true:'NumberInput_helperTextRecipe_error_true__1l9csww',false:'NumberInput_helperTextRecipe_error_false__1l9cswx'}},defaultVariants:{error:false},compoundVariants:[]});
7
+ var inputRecipe = createRuntimeFn({defaultClassName:'NumberInput_inputRecipe__1l9cswh',variantClassNames:{size:{sm:'NumberInput_inputRecipe_size_sm__1l9cswi',md:'NumberInput_inputRecipe_size_md__1l9cswj',lg:'NumberInput_inputRecipe_size_lg__1l9cswk'}},defaultVariants:{size:'md'},compoundVariants:[]});
8
+ var labelRecipe = createRuntimeFn({defaultClassName:'NumberInput_labelRecipe__1l9csw3',variantClassNames:{disabled:{true:'NumberInput_labelRecipe_disabled_true__1l9csw4',false:'NumberInput_labelRecipe_disabled_false__1l9csw5'}},defaultVariants:{disabled:false},compoundVariants:[]});
9
+ var numberInputContainerStyle = 'NumberInput_numberInputContainerStyle__1l9csw0';
10
+ var stepButtonIconLeftStyle = 'NumberInput_stepButtonIconLeftStyle__1l9cswf';
11
+ var stepButtonIconRightStyle = 'NumberInput_stepButtonIconRightStyle__1l9cswg';
12
+ var stepButtonRecipe = createRuntimeFn({defaultClassName:'NumberInput_stepButtonBase__1l9csw6',variantClassNames:{position:{left:'NumberInput_stepButtonRecipe_position_left__1l9csw8',right:'NumberInput_stepButtonRecipe_position_right__1l9csw9'},size:{sm:'NumberInput_stepButtonRecipe_size_sm__1l9cswa',md:'NumberInput_stepButtonRecipe_size_md__1l9cswb',lg:'NumberInput_stepButtonRecipe_size_lg__1l9cswc'},visible:{true:'NumberInput_stepButtonRecipe_visible_true__1l9cswd',false:'NumberInput_stepButtonRecipe_visible_false__1l9cswe'}},defaultVariants:{position:'left',size:'md',visible:false},compoundVariants:[]});
13
+ var unitLabelStyle = 'NumberInput_unitLabelStyle__1l9cswu';
14
+ var valueDisplayRecipe = createRuntimeFn({defaultClassName:'NumberInput_valueDisplayRecipe__1l9cswl',variantClassNames:{size:{sm:'NumberInput_valueDisplayRecipe_size_sm__1l9cswm',md:'NumberInput_valueDisplayRecipe_size_md__1l9cswn',lg:'NumberInput_valueDisplayRecipe_size_lg__1l9cswo'},hasStepButtons:{true:'NumberInput_valueDisplayRecipe_hasStepButtons_true__1l9cswp',false:'NumberInput_valueDisplayRecipe_hasStepButtons_false__1l9cswq'}},defaultVariants:{size:'md',hasStepButtons:false},compoundVariants:[[{hasStepButtons:true,size:'sm'},'NumberInput_valueDisplayRecipe_compound_0__1l9cswr'],[{hasStepButtons:true,size:'md'},'NumberInput_valueDisplayRecipe_compound_1__1l9csws'],[{hasStepButtons:true,size:'lg'},'NumberInput_valueDisplayRecipe_compound_2__1l9cswt']]});
15
+
16
+ export { containerDraggingStyle, containerHoveredStyle, helperTextRecipe, inputRecipe, labelRecipe, numberInputContainerStyle, stepButtonIconLeftStyle, stepButtonIconRightStyle, stepButtonRecipe, unitLabelStyle, valueDisplayRecipe };
17
+ //# sourceMappingURL=NumberInput.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberInput.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;"}
@@ -1,172 +1,12 @@
1
+ "use client";
1
2
  import { jsxs, jsx } from 'react/jsx-runtime';
2
3
  import React, { useRef, useEffect } from 'react';
3
- import styled from '@emotion/styled';
4
- import '../../form/FormLabel.js';
5
- import '../../form/FormHelperText.js';
6
- import { StyledInputWrapper } from '../../form/InputWrapper.js';
4
+ import { inputWrapperRecipe } from '../../form/InputWrapper.css.js';
7
5
  import { ChevronDownIcon } from '../../Icons/ChevronDownIcon.js';
8
6
  import { useNumberInput } from './useNumberInput.js';
7
+ import { cx } from '../../../utils/cx.js';
8
+ import { labelRecipe, stepButtonIconLeftStyle, stepButtonRecipe, inputRecipe, unitLabelStyle, valueDisplayRecipe, stepButtonIconRightStyle, helperTextRecipe, containerDraggingStyle, containerHoveredStyle, numberInputContainerStyle } from './NumberInput.css.js';
9
9
 
10
- const StyledNumberInputContainer = styled.div `
11
- display: flex;
12
- flex-direction: column;
13
- gap: ${props => props.theme.spacing.xs}px;
14
-
15
- /* Drag cursor when hovering and not disabled */
16
- ${props => props.$isHovered &&
17
- !props.$disabled &&
18
- !props.$isDragging &&
19
- `
20
- cursor: ew-resize;
21
- `}
22
-
23
- /* Different cursor when actively dragging */
24
- ${props => props.$isDragging &&
25
- `
26
- cursor: ew-resize;
27
- user-select: none;
28
- `}
29
- `;
30
- const StyledLabel = styled.label `
31
- font-size: ${props => props.theme.typography.fontSize.sm}px;
32
- font-weight: ${props => props.theme.typography.fontWeight.medium};
33
- color: ${props => props.$disabled
34
- ? props.theme.colors.text.disabled
35
- : props.theme.colors.text.secondary};
36
- line-height: ${props => props.theme.typography.lineHeight.tight};
37
- `;
38
- const StyledStepButton = styled.button `
39
- position: absolute;
40
- top: 1px;
41
- bottom: 1px;
42
- background: none;
43
- border: none;
44
- cursor: pointer;
45
- display: flex;
46
- align-items: center;
47
- justify-content: center;
48
- padding: 0;
49
- z-index: 1;
50
-
51
- /* Position */
52
- ${props => (props.$position === 'left' ? 'left: 1px;' : 'right: 1px;')}
53
-
54
- /* Size variants */
55
- ${props => {
56
- const sizes = {
57
- sm: { width: '18px' },
58
- md: { width: '22px' },
59
- lg: { width: '28px' },
60
- };
61
- const size = sizes[props.$size];
62
- return `
63
- width: ${size.width};
64
- `;
65
- }}
66
-
67
- /* Visibility */
68
- opacity: ${props => (props.$visible ? 1 : 0)};
69
- pointer-events: ${props => (props.$visible ? 'auto' : 'none')};
70
- transition: opacity ${props => props.theme.transitions.fast};
71
-
72
- /* Hover state */
73
- &:hover {
74
- background: ${props => props.theme.colors.surface.hover};
75
- border-radius: ${props => props.theme.borderRadius.sm}px;
76
- }
77
-
78
- /* Active state */
79
- &:active {
80
- background: ${props => props.theme.colors.surface.active};
81
- }
82
-
83
- /* Icon rotation */
84
- svg {
85
- ${props => props.$position === 'left'
86
- ? 'transform: rotate(90deg);'
87
- : 'transform: rotate(-90deg);'}
88
- color: ${props => props.theme.colors.text.muted};
89
- transition: color ${props => props.theme.transitions.fast};
90
- }
91
-
92
- &:hover svg {
93
- color: ${props => props.theme.colors.text.primary};
94
- }
95
- `;
96
- const StyledInput = styled.input `
97
- flex: 1;
98
- border: none;
99
- outline: none;
100
- background: transparent;
101
- font-family: inherit;
102
- color: ${props => props.theme.colors.text.primary};
103
- text-align: center;
104
-
105
- ${props => {
106
- const fontSize = {
107
- sm: props.theme.typography.fontSize.md,
108
- md: props.theme.typography.fontSize.md,
109
- lg: props.theme.typography.fontSize.lg,
110
- };
111
- return `font-size: ${fontSize[props.$size]}px;`;
112
- }}
113
-
114
- &::placeholder {
115
- color: ${props => props.theme.colors.text.muted};
116
- }
117
-
118
- &:disabled {
119
- cursor: not-allowed;
120
- }
121
-
122
- /* Remove number input arrows */
123
- &::-webkit-outer-spin-button,
124
- &::-webkit-inner-spin-button {
125
- -webkit-appearance: none;
126
- margin: 0;
127
- }
128
-
129
- &[type='number'] {
130
- -moz-appearance: textfield;
131
- }
132
- `;
133
- const StyledValueDisplay = styled.div `
134
- position: absolute;
135
- top: 50%;
136
- left: 50%;
137
- transform: translate(-50%, -50%);
138
- pointer-events: none;
139
- display: flex;
140
- align-items: center;
141
- gap: 4px;
142
- color: ${props => props.theme.colors.text.primary};
143
-
144
- ${props => {
145
- const fontSize = {
146
- sm: props.theme.typography.fontSize.md,
147
- md: props.theme.typography.fontSize.md,
148
- lg: props.theme.typography.fontSize.lg,
149
- };
150
- return `font-size: ${fontSize[props.$size]}px;`;
151
- }}
152
-
153
- /* Adjust for step buttons */
154
- ${props => props.$hasStepButtons &&
155
- `
156
- max-width: calc(100% - ${props.$size === 'sm' ? '40px' : props.$size === 'md' ? '48px' : '60px'});
157
- `}
158
- `;
159
- const StyledUnitLabel = styled.span `
160
- color: ${props => props.theme.colors.text.muted};
161
- white-space: nowrap;
162
- `;
163
- const StyledHelperText = styled.div `
164
- font-size: ${props => props.theme.typography.fontSize.xs}px;
165
- line-height: ${props => props.theme.typography.lineHeight.tight};
166
- color: ${props => props.$error
167
- ? props.theme.colors.accent.error
168
- : props.theme.colors.text.muted};
169
- `;
170
10
  /**
171
11
  * A specialized number input component with Blender-like functionality.
172
12
  *
@@ -364,10 +204,26 @@ size = 'md', disabled = false, readOnly = false, errorMessage, placeholder, labe
364
204
  // Format display value
365
205
  const formattedValue = formatValue ? formatValue(value) : displayValue;
366
206
  const inputId = React.useId();
367
- return (jsxs(StyledNumberInputContainer, { ref: containerRef, className: className, "$isHovered": isHovered, "$isDragging": isDragging, "$disabled": disabled, "$size": size, onMouseEnter: handleContainerMouseEnter, onMouseLeave: handleContainerMouseLeave, onMouseDown: handleMouseDown, onMouseMove: handleMouseMove, onMouseUp: handleMouseUp, "data-testid": testId, children: [label && (jsxs(StyledLabel, { htmlFor: inputId, "$disabled": disabled, children: [label, required && jsx("span", { style: { color: 'var(--accent-error)' }, children: " *" })] })), jsxs(StyledInputWrapper, { "$size": size, "$error": effectiveError, "$disabled": disabled, "$focused": focused, children: [showStepButtons && (jsx(StyledStepButton, { type: "button", "$position": "left", "$size": size, "$visible": shouldShowStepButtons, onClick: handleDecrementClick, disabled: disabled, tabIndex: -1, "aria-label": "Decrement value", children: jsx(ChevronDownIcon, { size: size === 'sm' ? 'sm' : 'md' }) })), jsx(StyledInput, { ...props, ref: inputRef, id: inputId, type: "text", value: isEditing ? displayValue : '', onChange: handleInputChange, onFocus: handleInputFocus, onBlur: handleInputBlur, onKeyDown: handleInputKeyDown, placeholder: isEditing ? placeholder : '', disabled: disabled, required: required, readOnly: readOnly, "$size": size, "$hasStepButtons": shouldShowStepButtons, "$hasUnit": !!unitDisplay, style: {
207
+ return (jsxs("div", { ref: containerRef, className: cx(numberInputContainerStyle, isHovered && !disabled && !isDragging && containerHoveredStyle, isDragging && containerDraggingStyle, className), onMouseEnter: handleContainerMouseEnter, onMouseLeave: handleContainerMouseLeave, onMouseDown: handleMouseDown, onMouseMove: handleMouseMove, onMouseUp: handleMouseUp, "data-testid": testId, children: [label && (jsxs("label", { htmlFor: inputId, className: labelRecipe({ disabled }), children: [label, required && jsx("span", { style: { color: 'var(--accent-error)' }, children: " *" })] })), jsxs("div", { className: inputWrapperRecipe({
208
+ size,
209
+ error: effectiveError,
210
+ disabled,
211
+ focused,
212
+ }), children: [showStepButtons && (jsx("button", { type: "button", className: stepButtonRecipe({
213
+ position: 'left',
214
+ size,
215
+ visible: shouldShowStepButtons,
216
+ }), onClick: handleDecrementClick, disabled: disabled, tabIndex: -1, "aria-label": "Decrement value", children: jsx("span", { className: stepButtonIconLeftStyle, children: jsx(ChevronDownIcon, { size: size === 'sm' ? 'sm' : 'md' }) }) })), jsx("input", { ...props, ref: inputRef, id: inputId, type: "text", value: isEditing ? displayValue : '', onChange: handleInputChange, onFocus: handleInputFocus, onBlur: handleInputBlur, onKeyDown: handleInputKeyDown, placeholder: isEditing ? placeholder : '', disabled: disabled, required: required, readOnly: readOnly, className: inputRecipe({ size }), style: {
368
217
  opacity: isEditing ? 1 : 0,
369
218
  pointerEvents: isEditing ? 'auto' : 'none',
370
- } }), !isEditing && (jsxs(StyledValueDisplay, { "$size": size, "$hasStepButtons": shouldShowStepButtons, children: [jsx("span", { children: formattedValue }), unitDisplay && jsx(StyledUnitLabel, { children: unitDisplay })] })), showStepButtons && (jsx(StyledStepButton, { type: "button", "$position": "right", "$size": size, "$visible": shouldShowStepButtons, onClick: handleIncrementClick, disabled: disabled, tabIndex: -1, "aria-label": "Increment value", children: jsx(ChevronDownIcon, { size: size === 'sm' ? 'sm' : 'md' }) }))] }), (helperText ?? (effectiveError && effectiveErrorMessage)) && (jsx(StyledHelperText, { "$error": effectiveError, children: effectiveError && effectiveErrorMessage
219
+ } }), !isEditing && (jsxs("div", { className: valueDisplayRecipe({
220
+ size,
221
+ hasStepButtons: shouldShowStepButtons,
222
+ }), children: [jsx("span", { children: formattedValue }), unitDisplay && (jsx("span", { className: unitLabelStyle, children: unitDisplay }))] })), showStepButtons && (jsx("button", { type: "button", className: stepButtonRecipe({
223
+ position: 'right',
224
+ size,
225
+ visible: shouldShowStepButtons,
226
+ }), onClick: handleIncrementClick, disabled: disabled, tabIndex: -1, "aria-label": "Increment value", children: jsx("span", { className: stepButtonIconRightStyle, children: jsx(ChevronDownIcon, { size: size === 'sm' ? 'sm' : 'md' }) }) }))] }), (helperText ?? (effectiveError && effectiveErrorMessage)) && (jsx("div", { className: helperTextRecipe({ error: effectiveError }), children: effectiveError && effectiveErrorMessage
371
227
  ? effectiveErrorMessage
372
228
  : helperText }))] }));
373
229
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NumberInput.js","sources":["../../../../../../src/components/controls/NumberInput/NumberInput.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"NumberInput.js","sources":["../../../../../../src/components/controls/NumberInput/NumberInput.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAyIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CG;AACI;AACL;AACA;AAGA;AACA;AAMA;AACA;AAWA;AACA;AAgBA;AACA;AACA;;AAGA;AAKA;AACA;;;;AAKC;AAED;;;;;;;;;;;;;;;;AAgCC;;AAGD;AACA;AACA;;AAGA;;;;AAIE;;;AAGA;;;;;;AAME;AACA;;;AAIJ;AAEA;AACE;;AAEA;;;AAKE;;AAGA;AACA;;AAEJ;;AAGE;;AAEA;AACA;;AAIA;AACE;;;AAGE;;;AAIJ;AACF;;;AAIE;;AAEA;AACE;AACF;;AAGE;AACA;AACF;AAEA;AACA;AAEA;AACE;AACA;AACF;;;AAIF;AACE;AACF;AAEA;;AAEE;AACF;AAEA;;AAEE;AACA;AACF;AAEA;;AAEE;AACF;;;AAIE;;;AAGF;;;;AAKE;AACF;;AAGA;;;AAGE;;AAEF;AAEA;;;AAGE;;AAEF;;AAGA;;AAIA;;AAGA;AAEA;AAEA;;AA0BQ;;;AAGD;AAOK;;AAEA;;;;;;AAwCA;AACD;AAcC;;AAEA;AACD;AAgBD;AACA;AAKZ;AAEA;;"}
@@ -1,8 +1,8 @@
1
+ "use client";
1
2
  import { useState, useRef, useEffect, useCallback } from 'react';
2
3
  import { useKeyboardContext } from '../../../context/KeyboardContext.js';
3
4
  import { parseNumericInput, isExpression } from '../../../utils/mathExpression.js';
4
5
 
5
- // src/controls/NumberInput/useNumberInput.ts
6
6
  /**
7
7
  * Clamps a value between min and max bounds
8
8
  */