entangle-ui 0.3.0 → 0.4.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 (500) hide show
  1. package/CHANGELOG.md +117 -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-BwO7oAZi.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-V8lWHaQH.css +95 -0
  56. package/dist/esm/components/Icons/CheckIcon.js.map +1 -1
  57. package/dist/esm/components/Icons/ChevronDownIcon.js.map +1 -1
  58. package/dist/esm/components/Icons/ChevronUpIcon.js.map +1 -1
  59. package/dist/esm/components/Icons/CircleIcon.js.map +1 -1
  60. package/dist/esm/components/Icons/CloseIcon.js.map +1 -1
  61. package/dist/esm/components/Icons/EyeDropperIcon.js.map +1 -1
  62. package/dist/esm/components/Icons/TangentAlignedIcon.js.map +1 -1
  63. package/dist/esm/components/Icons/TangentAutoIcon.js.map +1 -1
  64. package/dist/esm/components/Icons/TangentFreeIcon.js.map +1 -1
  65. package/dist/esm/components/Icons/TangentLinearIcon.js.map +1 -1
  66. package/dist/esm/components/Icons/TangentMirroredIcon.js.map +1 -1
  67. package/dist/esm/components/Icons/TangentStepIcon.js.map +1 -1
  68. package/dist/esm/components/controls/CartesianPicker/CartesianPicker.css.js +9 -0
  69. package/dist/esm/components/controls/CartesianPicker/CartesianPicker.css.js.map +1 -0
  70. package/dist/esm/components/controls/CartesianPicker/CartesianPicker.js +99 -0
  71. package/dist/esm/components/controls/CartesianPicker/CartesianPicker.js.map +1 -0
  72. package/dist/esm/components/controls/CartesianPicker/useCartesianInteraction.js +230 -0
  73. package/dist/esm/components/controls/CartesianPicker/useCartesianInteraction.js.map +1 -0
  74. package/dist/esm/components/controls/CartesianPicker/useCartesianRenderer.js +122 -0
  75. package/dist/esm/components/controls/CartesianPicker/useCartesianRenderer.js.map +1 -0
  76. package/dist/esm/components/controls/ColorPicker/AlphaSlider.js +4 -41
  77. package/dist/esm/components/controls/ColorPicker/AlphaSlider.js.map +1 -1
  78. package/dist/esm/components/controls/ColorPicker/ColorArea.js +3 -32
  79. package/dist/esm/components/controls/ColorPicker/ColorArea.js.map +1 -1
  80. package/dist/esm/components/controls/ColorPicker/ColorInputs.js +3 -68
  81. package/dist/esm/components/controls/ColorPicker/ColorInputs.js.map +1 -1
  82. package/dist/esm/components/controls/ColorPicker/ColorPalette.js +5 -75
  83. package/dist/esm/components/controls/ColorPicker/ColorPalette.js.map +1 -1
  84. package/dist/esm/components/controls/ColorPicker/ColorPicker.css.js +34 -0
  85. package/dist/esm/components/controls/ColorPicker/ColorPicker.css.js.map +1 -0
  86. package/dist/esm/components/controls/ColorPicker/ColorPicker.js +4 -18
  87. package/dist/esm/components/controls/ColorPicker/ColorPicker.js.map +1 -1
  88. package/dist/esm/components/controls/ColorPicker/ColorPresets.js +5 -44
  89. package/dist/esm/components/controls/ColorPicker/ColorPresets.js.map +1 -1
  90. package/dist/esm/components/controls/ColorPicker/ColorSwatch.js +4 -58
  91. package/dist/esm/components/controls/ColorPicker/ColorSwatch.js.map +1 -1
  92. package/dist/esm/components/controls/ColorPicker/EyeDropper.js +4 -50
  93. package/dist/esm/components/controls/ColorPicker/EyeDropper.js.map +1 -1
  94. package/dist/esm/components/controls/ColorPicker/HueSlider.js +3 -32
  95. package/dist/esm/components/controls/ColorPicker/HueSlider.js.map +1 -1
  96. package/dist/esm/components/controls/ColorPicker/colorUtils.js.map +1 -1
  97. package/dist/esm/components/controls/ColorPicker/palettes/material.js.map +1 -1
  98. package/dist/esm/components/controls/ColorPicker/palettes/professional.js.map +1 -1
  99. package/dist/esm/components/controls/ColorPicker/palettes/tailwind.js.map +1 -1
  100. package/dist/esm/components/controls/ColorPicker/useColor.js +1 -0
  101. package/dist/esm/components/controls/ColorPicker/useColor.js.map +1 -1
  102. package/dist/esm/components/controls/CurveEditor/CurveCanvas.js +8 -30
  103. package/dist/esm/components/controls/CurveEditor/CurveCanvas.js.map +1 -1
  104. package/dist/esm/components/controls/CurveEditor/CurveEditor.css.js +17 -0
  105. package/dist/esm/components/controls/CurveEditor/CurveEditor.css.js.map +1 -0
  106. package/dist/esm/components/controls/CurveEditor/CurveEditor.js +17 -23
  107. package/dist/esm/components/controls/CurveEditor/CurveEditor.js.map +1 -1
  108. package/dist/esm/components/controls/CurveEditor/CurveToolbar.js +6 -23
  109. package/dist/esm/components/controls/CurveEditor/CurveToolbar.js.map +1 -1
  110. package/dist/esm/components/controls/CurveEditor/curvePresets.js.map +1 -1
  111. package/dist/esm/components/controls/CurveEditor/curveUtils.js +7 -16
  112. package/dist/esm/components/controls/CurveEditor/curveUtils.js.map +1 -1
  113. package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js +1 -0
  114. package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js.map +1 -1
  115. package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js +39 -193
  116. package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js.map +1 -1
  117. package/dist/esm/components/controls/NumberInput/NumberInput.css.js +17 -0
  118. package/dist/esm/components/controls/NumberInput/NumberInput.css.js.map +1 -0
  119. package/dist/esm/components/controls/NumberInput/NumberInput.js +22 -166
  120. package/dist/esm/components/controls/NumberInput/NumberInput.js.map +1 -1
  121. package/dist/esm/components/controls/NumberInput/useNumberInput.js +1 -1
  122. package/dist/esm/components/controls/NumberInput/useNumberInput.js.map +1 -1
  123. package/dist/esm/components/controls/Select/Select.css.js +18 -0
  124. package/dist/esm/components/controls/Select/Select.css.js.map +1 -0
  125. package/dist/esm/components/controls/Select/Select.js +29 -235
  126. package/dist/esm/components/controls/Select/Select.js.map +1 -1
  127. package/dist/esm/components/controls/Slider/Slider.css.js +17 -0
  128. package/dist/esm/components/controls/Slider/Slider.css.js.map +1 -0
  129. package/dist/esm/components/controls/Slider/Slider.js +12 -159
  130. package/dist/esm/components/controls/Slider/Slider.js.map +1 -1
  131. package/dist/esm/components/controls/TreeView/TreeNode.css.js +15 -0
  132. package/dist/esm/components/controls/TreeView/TreeNode.css.js.map +1 -0
  133. package/dist/esm/components/controls/TreeView/TreeNode.js +18 -90
  134. package/dist/esm/components/controls/TreeView/TreeNode.js.map +1 -1
  135. package/dist/esm/components/controls/TreeView/TreeView.css.js +8 -0
  136. package/dist/esm/components/controls/TreeView/TreeView.css.js.map +1 -0
  137. package/dist/esm/components/controls/TreeView/TreeView.js +11 -18
  138. package/dist/esm/components/controls/TreeView/TreeView.js.map +1 -1
  139. package/dist/esm/components/controls/TreeView/useTreeState.js +1 -0
  140. package/dist/esm/components/controls/TreeView/useTreeState.js.map +1 -1
  141. package/dist/esm/components/controls/VectorInput/VectorInput.css.js +13 -0
  142. package/dist/esm/components/controls/VectorInput/VectorInput.css.js.map +1 -0
  143. package/dist/esm/components/controls/VectorInput/VectorInput.js +11 -83
  144. package/dist/esm/components/controls/VectorInput/VectorInput.js.map +1 -1
  145. package/dist/esm/components/editor/ChatPanel/ChatActionBar.js +13 -0
  146. package/dist/esm/components/editor/ChatPanel/ChatActionBar.js.map +1 -0
  147. package/dist/esm/components/editor/ChatPanel/ChatAttachment.js +36 -0
  148. package/dist/esm/components/editor/ChatPanel/ChatAttachment.js.map +1 -0
  149. package/dist/esm/components/editor/ChatPanel/ChatBubble.js +13 -0
  150. package/dist/esm/components/editor/ChatPanel/ChatBubble.js.map +1 -0
  151. package/dist/esm/components/editor/ChatPanel/ChatCodeBlock.js +34 -0
  152. package/dist/esm/components/editor/ChatPanel/ChatCodeBlock.js.map +1 -0
  153. package/dist/esm/components/editor/ChatPanel/ChatContextChip.js +17 -0
  154. package/dist/esm/components/editor/ChatPanel/ChatContextChip.js.map +1 -0
  155. package/dist/esm/components/editor/ChatPanel/ChatEmptyState.js +16 -0
  156. package/dist/esm/components/editor/ChatPanel/ChatEmptyState.js.map +1 -0
  157. package/dist/esm/components/editor/ChatPanel/ChatInput.js +67 -0
  158. package/dist/esm/components/editor/ChatPanel/ChatInput.js.map +1 -0
  159. package/dist/esm/components/editor/ChatPanel/ChatInputToolbar.js +13 -0
  160. package/dist/esm/components/editor/ChatPanel/ChatInputToolbar.js.map +1 -0
  161. package/dist/esm/components/editor/ChatPanel/ChatMessage.js +37 -0
  162. package/dist/esm/components/editor/ChatPanel/ChatMessage.js.map +1 -0
  163. package/dist/esm/components/editor/ChatPanel/ChatMessageList.js +32 -0
  164. package/dist/esm/components/editor/ChatPanel/ChatMessageList.js.map +1 -0
  165. package/dist/esm/components/editor/ChatPanel/ChatPanel.css.js +72 -0
  166. package/dist/esm/components/editor/ChatPanel/ChatPanel.css.js.map +1 -0
  167. package/dist/esm/components/editor/ChatPanel/ChatPanel.js +13 -0
  168. package/dist/esm/components/editor/ChatPanel/ChatPanel.js.map +1 -0
  169. package/dist/esm/components/editor/ChatPanel/ChatToolCall.js +35 -0
  170. package/dist/esm/components/editor/ChatPanel/ChatToolCall.js.map +1 -0
  171. package/dist/esm/components/editor/ChatPanel/ChatTypingIndicator.js +16 -0
  172. package/dist/esm/components/editor/ChatPanel/ChatTypingIndicator.js.map +1 -0
  173. package/dist/esm/components/editor/ChatPanel/useChatInput.js +60 -0
  174. package/dist/esm/components/editor/ChatPanel/useChatInput.js.map +1 -0
  175. package/dist/esm/components/editor/ChatPanel/useChatMessages.js +47 -0
  176. package/dist/esm/components/editor/ChatPanel/useChatMessages.js.map +1 -0
  177. package/dist/esm/components/editor/ChatPanel/useChatScroll.js +71 -0
  178. package/dist/esm/components/editor/ChatPanel/useChatScroll.js.map +1 -0
  179. package/dist/esm/components/editor/PropertyInspector/PropertyGroup.css.js +10 -0
  180. package/dist/esm/components/editor/PropertyInspector/PropertyGroup.css.js.map +1 -0
  181. package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js +14 -34
  182. package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js.map +1 -1
  183. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.css.js +13 -0
  184. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.css.js.map +1 -0
  185. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js +35 -64
  186. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js.map +1 -1
  187. package/dist/esm/components/editor/PropertyInspector/PropertyRow.css.js +15 -0
  188. package/dist/esm/components/editor/PropertyInspector/PropertyRow.css.js.map +1 -0
  189. package/dist/esm/components/editor/PropertyInspector/PropertyRow.js +34 -114
  190. package/dist/esm/components/editor/PropertyInspector/PropertyRow.js.map +1 -1
  191. package/dist/esm/components/editor/PropertyInspector/PropertySection.css.js +15 -0
  192. package/dist/esm/components/editor/PropertyInspector/PropertySection.css.js.map +1 -0
  193. package/dist/esm/components/editor/PropertyInspector/PropertySection.js +15 -100
  194. package/dist/esm/components/editor/PropertyInspector/PropertySection.js.map +1 -1
  195. package/dist/esm/components/editor/PropertyInspector/usePropertyUndo.js +1 -0
  196. package/dist/esm/components/editor/PropertyInspector/usePropertyUndo.js.map +1 -1
  197. package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.css.js +10 -0
  198. package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.css.js.map +1 -0
  199. package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.js +90 -0
  200. package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.js.map +1 -0
  201. package/dist/esm/components/editor/ViewportGizmo/gizmoMath.js +259 -0
  202. package/dist/esm/components/editor/ViewportGizmo/gizmoMath.js.map +1 -0
  203. package/dist/esm/components/editor/ViewportGizmo/useGizmoInteraction.js +250 -0
  204. package/dist/esm/components/editor/ViewportGizmo/useGizmoInteraction.js.map +1 -0
  205. package/dist/esm/components/editor/ViewportGizmo/useGizmoRenderer.js +191 -0
  206. package/dist/esm/components/editor/ViewportGizmo/useGizmoRenderer.js.map +1 -0
  207. package/dist/esm/components/feedback/Dialog/Dialog.css.js +16 -0
  208. package/dist/esm/components/feedback/Dialog/Dialog.css.js.map +1 -0
  209. package/dist/esm/components/feedback/Dialog/Dialog.js +6 -4
  210. package/dist/esm/components/feedback/Dialog/Dialog.js.map +1 -1
  211. package/dist/esm/components/feedback/Dialog/DialogBody.js +5 -15
  212. package/dist/esm/components/feedback/Dialog/DialogBody.js.map +1 -1
  213. package/dist/esm/components/feedback/Dialog/DialogClose.js +1 -0
  214. package/dist/esm/components/feedback/Dialog/DialogClose.js.map +1 -1
  215. package/dist/esm/components/feedback/Dialog/DialogFooter.js +5 -24
  216. package/dist/esm/components/feedback/Dialog/DialogFooter.js.map +1 -1
  217. package/dist/esm/components/feedback/Dialog/DialogHeader.js +5 -63
  218. package/dist/esm/components/feedback/Dialog/DialogHeader.js.map +1 -1
  219. package/dist/esm/components/feedback/Dialog/useDialogAnimation.js +2 -1
  220. package/dist/esm/components/feedback/Dialog/useDialogAnimation.js.map +1 -1
  221. package/dist/esm/components/feedback/Dialog/useFocusTrap.js +1 -0
  222. package/dist/esm/components/feedback/Dialog/useFocusTrap.js.map +1 -1
  223. package/dist/esm/components/feedback/Toast/ToastContainer.css.js +10 -0
  224. package/dist/esm/components/feedback/Toast/ToastContainer.css.js.map +1 -0
  225. package/dist/esm/components/feedback/Toast/ToastContainer.js +12 -10
  226. package/dist/esm/components/feedback/Toast/ToastContainer.js.map +1 -1
  227. package/dist/esm/components/feedback/Toast/ToastItem.css.js +16 -0
  228. package/dist/esm/components/feedback/Toast/ToastItem.css.js.map +1 -0
  229. package/dist/esm/components/feedback/Toast/ToastItem.js +8 -138
  230. package/dist/esm/components/feedback/Toast/ToastItem.js.map +1 -1
  231. package/dist/esm/components/feedback/Toast/ToastProvider.js +1 -0
  232. package/dist/esm/components/feedback/Toast/ToastProvider.js.map +1 -1
  233. package/dist/esm/components/feedback/Toast/useToast.js +1 -0
  234. package/dist/esm/components/feedback/Toast/useToast.js.map +1 -1
  235. package/dist/esm/components/form/FormHelperText.css.js +7 -0
  236. package/dist/esm/components/form/FormHelperText.css.js.map +1 -0
  237. package/dist/esm/components/form/FormHelperText.js +5 -15
  238. package/dist/esm/components/form/FormHelperText.js.map +1 -1
  239. package/dist/esm/components/form/FormLabel.css.js +8 -0
  240. package/dist/esm/components/form/FormLabel.css.js.map +1 -0
  241. package/dist/esm/components/form/FormLabel.js +5 -21
  242. package/dist/esm/components/form/FormLabel.js.map +1 -1
  243. package/dist/esm/components/form/InputWrapper.css.js +7 -0
  244. package/dist/esm/components/form/InputWrapper.css.js.map +1 -0
  245. package/dist/esm/components/form/InputWrapper.js +6 -74
  246. package/dist/esm/components/form/InputWrapper.js.map +1 -1
  247. package/dist/esm/components/layout/Accordion/Accordion.css.js +20 -0
  248. package/dist/esm/components/layout/Accordion/Accordion.css.js.map +1 -0
  249. package/dist/esm/components/layout/Accordion/Accordion.js +12 -11
  250. package/dist/esm/components/layout/Accordion/Accordion.js.map +1 -1
  251. package/dist/esm/components/layout/Accordion/AccordionContent.js +4 -20
  252. package/dist/esm/components/layout/Accordion/AccordionContent.js.map +1 -1
  253. package/dist/esm/components/layout/Accordion/AccordionItem.js +4 -7
  254. package/dist/esm/components/layout/Accordion/AccordionItem.js.map +1 -1
  255. package/dist/esm/components/layout/Accordion/AccordionTrigger.js +12 -96
  256. package/dist/esm/components/layout/Accordion/AccordionTrigger.js.map +1 -1
  257. package/dist/esm/components/layout/Flex/Flex.css.js +11 -0
  258. package/dist/esm/components/layout/Flex/Flex.css.js.map +1 -0
  259. package/dist/esm/components/layout/Flex/Flex.js +47 -73
  260. package/dist/esm/components/layout/Flex/Flex.js.map +1 -1
  261. package/dist/esm/components/layout/Grid/Grid.css.js +9 -0
  262. package/dist/esm/components/layout/Grid/Grid.css.js.map +1 -0
  263. package/dist/esm/components/layout/Grid/Grid.js +39 -64
  264. package/dist/esm/components/layout/Grid/Grid.js.map +1 -1
  265. package/dist/esm/components/layout/PanelSurface/PanelSurface.css.js +16 -0
  266. package/dist/esm/components/layout/PanelSurface/PanelSurface.css.js.map +1 -0
  267. package/dist/esm/components/layout/PanelSurface/PanelSurface.js +23 -78
  268. package/dist/esm/components/layout/PanelSurface/PanelSurface.js.map +1 -1
  269. package/dist/esm/components/layout/ScrollArea/ScrollArea.css.js +27 -0
  270. package/dist/esm/components/layout/ScrollArea/ScrollArea.css.js.map +1 -0
  271. package/dist/esm/components/layout/ScrollArea/ScrollArea.js +35 -134
  272. package/dist/esm/components/layout/ScrollArea/ScrollArea.js.map +1 -1
  273. package/dist/esm/components/layout/Spacer/Spacer.css.js +8 -0
  274. package/dist/esm/components/layout/Spacer/Spacer.css.js.map +1 -0
  275. package/dist/esm/components/layout/Spacer/Spacer.js +13 -31
  276. package/dist/esm/components/layout/Spacer/Spacer.js.map +1 -1
  277. package/dist/esm/components/layout/SplitPane/SplitPane.css.js +10 -0
  278. package/dist/esm/components/layout/SplitPane/SplitPane.css.js.map +1 -0
  279. package/dist/esm/components/layout/SplitPane/SplitPane.js +12 -36
  280. package/dist/esm/components/layout/SplitPane/SplitPane.js.map +1 -1
  281. package/dist/esm/components/layout/SplitPane/SplitPanePanel.js +5 -8
  282. package/dist/esm/components/layout/SplitPane/SplitPanePanel.js.map +1 -1
  283. package/dist/esm/components/layout/Stack/Stack.css.js +8 -0
  284. package/dist/esm/components/layout/Stack/Stack.css.js.map +1 -0
  285. package/dist/esm/components/layout/Stack/Stack.js +36 -65
  286. package/dist/esm/components/layout/Stack/Stack.js.map +1 -1
  287. package/dist/esm/components/navigation/ContextMenu/ContextMenu.js +6 -4
  288. package/dist/esm/components/navigation/ContextMenu/ContextMenu.js.map +1 -1
  289. package/dist/esm/components/navigation/ContextMenu/useContextMenuTarget.js +1 -0
  290. package/dist/esm/components/navigation/ContextMenu/useContextMenuTarget.js.map +1 -1
  291. package/dist/esm/components/navigation/Menu/Menu.css.js +16 -0
  292. package/dist/esm/components/navigation/Menu/Menu.css.js.map +1 -0
  293. package/dist/esm/components/navigation/Menu/Menu.helpers.js +9 -7
  294. package/dist/esm/components/navigation/Menu/Menu.helpers.js.map +1 -1
  295. package/dist/esm/components/navigation/Menu/Menu.js +6 -4
  296. package/dist/esm/components/navigation/Menu/Menu.js.map +1 -1
  297. package/dist/esm/components/navigation/Menu/useMenu.js +1 -0
  298. package/dist/esm/components/navigation/Menu/useMenu.js.map +1 -1
  299. package/dist/esm/components/navigation/Tabs/Tab.js +31 -174
  300. package/dist/esm/components/navigation/Tabs/Tab.js.map +1 -1
  301. package/dist/esm/components/navigation/Tabs/TabList.js +5 -56
  302. package/dist/esm/components/navigation/Tabs/TabList.js.map +1 -1
  303. package/dist/esm/components/navigation/Tabs/TabPanel.js +4 -12
  304. package/dist/esm/components/navigation/Tabs/TabPanel.js.map +1 -1
  305. package/dist/esm/components/navigation/Tabs/Tabs.css.js +26 -0
  306. package/dist/esm/components/navigation/Tabs/Tabs.css.js.map +1 -0
  307. package/dist/esm/components/navigation/Tabs/Tabs.js +6 -13
  308. package/dist/esm/components/navigation/Tabs/Tabs.js.map +1 -1
  309. package/dist/esm/components/primitives/BaseButton/BaseButton.js +1 -0
  310. package/dist/esm/components/primitives/BaseButton/BaseButton.js.map +1 -1
  311. package/dist/esm/components/primitives/Button/Button.css.js +9 -0
  312. package/dist/esm/components/primitives/Button/Button.css.js.map +1 -0
  313. package/dist/esm/components/primitives/Button/Button.js +5 -149
  314. package/dist/esm/components/primitives/Button/Button.js.map +1 -1
  315. package/dist/esm/components/primitives/Checkbox/Checkbox.css.js +14 -0
  316. package/dist/esm/components/primitives/Checkbox/Checkbox.css.js.map +1 -0
  317. package/dist/esm/components/primitives/Checkbox/Checkbox.js +20 -112
  318. package/dist/esm/components/primitives/Checkbox/Checkbox.js.map +1 -1
  319. package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js +10 -17
  320. package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js.map +1 -1
  321. package/dist/esm/components/primitives/Collapsible/Collapsible.css.js +18 -0
  322. package/dist/esm/components/primitives/Collapsible/Collapsible.css.js.map +1 -0
  323. package/dist/esm/components/primitives/Collapsible/Collapsible.js +45 -83
  324. package/dist/esm/components/primitives/Collapsible/Collapsible.js.map +1 -1
  325. package/dist/esm/components/primitives/Icon/Icon.css.js +7 -0
  326. package/dist/esm/components/primitives/Icon/Icon.css.js.map +1 -0
  327. package/dist/esm/components/primitives/Icon/Icon.js +23 -55
  328. package/dist/esm/components/primitives/Icon/Icon.js.map +1 -1
  329. package/dist/esm/components/primitives/IconButton/IconButton.css.js +8 -0
  330. package/dist/esm/components/primitives/IconButton/IconButton.css.js.map +1 -0
  331. package/dist/esm/components/primitives/IconButton/IconButton.js +10 -170
  332. package/dist/esm/components/primitives/IconButton/IconButton.js.map +1 -1
  333. package/dist/esm/components/primitives/Input/Input.css.js +12 -0
  334. package/dist/esm/components/primitives/Input/Input.css.js.map +1 -0
  335. package/dist/esm/components/primitives/Input/Input.js +11 -79
  336. package/dist/esm/components/primitives/Input/Input.js.map +1 -1
  337. package/dist/esm/components/primitives/Paper/Paper.css.js +7 -0
  338. package/dist/esm/components/primitives/Paper/Paper.css.js.map +1 -0
  339. package/dist/esm/components/primitives/Paper/Paper.js +18 -90
  340. package/dist/esm/components/primitives/Paper/Paper.js.map +1 -1
  341. package/dist/esm/components/primitives/Popover/Popover.css.js +8 -0
  342. package/dist/esm/components/primitives/Popover/Popover.css.js.map +1 -0
  343. package/dist/esm/components/primitives/Popover/Popover.js +1 -0
  344. package/dist/esm/components/primitives/Popover/Popover.js.map +1 -1
  345. package/dist/esm/components/primitives/Popover/PopoverClose.js +4 -32
  346. package/dist/esm/components/primitives/Popover/PopoverClose.js.map +1 -1
  347. package/dist/esm/components/primitives/Popover/PopoverContent.js +19 -45
  348. package/dist/esm/components/primitives/Popover/PopoverContent.js.map +1 -1
  349. package/dist/esm/components/primitives/Popover/PopoverTrigger.js +1 -0
  350. package/dist/esm/components/primitives/Popover/PopoverTrigger.js.map +1 -1
  351. package/dist/esm/components/primitives/Switch/Switch.css.js +15 -0
  352. package/dist/esm/components/primitives/Switch/Switch.css.js.map +1 -0
  353. package/dist/esm/components/primitives/Switch/Switch.js +29 -122
  354. package/dist/esm/components/primitives/Switch/Switch.js.map +1 -1
  355. package/dist/esm/components/primitives/Text/Text.css.js +9 -0
  356. package/dist/esm/components/primitives/Text/Text.css.js.map +1 -0
  357. package/dist/esm/components/primitives/Text/Text.js +20 -126
  358. package/dist/esm/components/primitives/Text/Text.js.map +1 -1
  359. package/dist/esm/components/primitives/Tooltip/Arrow.js +8 -41
  360. package/dist/esm/components/primitives/Tooltip/Arrow.js.map +1 -1
  361. package/dist/esm/components/primitives/Tooltip/Tooltip.css.js +9 -0
  362. package/dist/esm/components/primitives/Tooltip/Tooltip.css.js.map +1 -0
  363. package/dist/esm/components/primitives/Tooltip/Tooltip.js +20 -79
  364. package/dist/esm/components/primitives/Tooltip/Tooltip.js.map +1 -1
  365. package/dist/esm/components/primitives/Tooltip/utils.js.map +1 -1
  366. package/dist/esm/components/primitives/canvas/CanvasContainer.css.js +10 -0
  367. package/dist/esm/components/primitives/canvas/CanvasContainer.css.js.map +1 -0
  368. package/dist/esm/components/primitives/canvas/CanvasContainer.js +32 -0
  369. package/dist/esm/components/primitives/canvas/CanvasContainer.js.map +1 -0
  370. package/dist/esm/components/primitives/canvas/canvasCoords.js +51 -0
  371. package/dist/esm/components/primitives/canvas/canvasCoords.js.map +1 -0
  372. package/dist/esm/components/primitives/canvas/canvasDrawing.js +251 -0
  373. package/dist/esm/components/primitives/canvas/canvasDrawing.js.map +1 -0
  374. package/dist/esm/components/primitives/canvas/canvasTheme.js +43 -0
  375. package/dist/esm/components/primitives/canvas/canvasTheme.js.map +1 -0
  376. package/dist/esm/components/primitives/canvas/useCanvasRenderer.js +26 -0
  377. package/dist/esm/components/primitives/canvas/useCanvasRenderer.js.map +1 -0
  378. package/dist/esm/components/shell/AppShell/AppShell.css.js +13 -0
  379. package/dist/esm/components/shell/AppShell/AppShell.css.js.map +1 -0
  380. package/dist/esm/components/shell/AppShell/AppShell.js +16 -101
  381. package/dist/esm/components/shell/AppShell/AppShell.js.map +1 -1
  382. package/dist/esm/components/shell/FloatingPanel/FloatingPanel.css.js +18 -0
  383. package/dist/esm/components/shell/FloatingPanel/FloatingPanel.css.js.map +1 -0
  384. package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js +20 -97
  385. package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js.map +1 -1
  386. package/dist/esm/components/shell/MenuBar/MenuBar.css.js +16 -0
  387. package/dist/esm/components/shell/MenuBar/MenuBar.css.js.map +1 -0
  388. package/dist/esm/components/shell/MenuBar/MenuBar.js +14 -139
  389. package/dist/esm/components/shell/MenuBar/MenuBar.js.map +1 -1
  390. package/dist/esm/components/shell/StatusBar/StatusBar.css.js +11 -0
  391. package/dist/esm/components/shell/StatusBar/StatusBar.css.js.map +1 -0
  392. package/dist/esm/components/shell/StatusBar/StatusBar.js +11 -107
  393. package/dist/esm/components/shell/StatusBar/StatusBar.js.map +1 -1
  394. package/dist/esm/components/shell/Toolbar/Toolbar.css.js +11 -0
  395. package/dist/esm/components/shell/Toolbar/Toolbar.css.js.map +1 -0
  396. package/dist/esm/components/shell/Toolbar/Toolbar.js +21 -97
  397. package/dist/esm/components/shell/Toolbar/Toolbar.js.map +1 -1
  398. package/dist/esm/context/KeyboardContext.js +1 -0
  399. package/dist/esm/context/KeyboardContext.js.map +1 -1
  400. package/dist/esm/index.js +26 -3
  401. package/dist/esm/index.js.map +1 -1
  402. package/dist/esm/node_modules/@vanilla-extract/css/adapter/dist/vanilla-extract-css-adapter.esm.js +15 -0
  403. package/dist/esm/node_modules/@vanilla-extract/css/adapter/dist/vanilla-extract-css-adapter.esm.js.map +1 -0
  404. package/dist/esm/node_modules/@vanilla-extract/css/dist/transformCss-fd0786e1.esm.js +128 -0
  405. package/dist/esm/node_modules/@vanilla-extract/css/dist/transformCss-fd0786e1.esm.js.map +1 -0
  406. package/dist/esm/node_modules/@vanilla-extract/css/dist/vanilla-extract-css.esm.js +70 -0
  407. package/dist/esm/node_modules/@vanilla-extract/css/dist/vanilla-extract-css.esm.js.map +1 -0
  408. package/dist/esm/node_modules/@vanilla-extract/css/node_modules/lru-cache/dist/esm/index.js +1543 -0
  409. package/dist/esm/node_modules/@vanilla-extract/css/node_modules/lru-cache/dist/esm/index.js.map +1 -0
  410. package/dist/esm/node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js +25 -0
  411. package/dist/esm/node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js.map +1 -0
  412. package/dist/esm/node_modules/@vanilla-extract/private/dist/vanilla-extract-private.esm.js +10 -0
  413. package/dist/esm/node_modules/@vanilla-extract/private/dist/vanilla-extract-private.esm.js.map +1 -0
  414. package/dist/esm/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js +112 -0
  415. package/dist/esm/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js.map +1 -0
  416. package/dist/esm/node_modules/cssesc/cssesc.js +120 -0
  417. package/dist/esm/node_modules/cssesc/cssesc.js.map +1 -0
  418. package/dist/esm/node_modules/dedent/dist/dedent.js +98 -0
  419. package/dist/esm/node_modules/dedent/dist/dedent.js.map +1 -0
  420. package/dist/esm/node_modules/deepmerge/dist/cjs.js +143 -0
  421. package/dist/esm/node_modules/deepmerge/dist/cjs.js.map +1 -0
  422. package/dist/esm/theme/ThemeProvider.js +13 -7
  423. package/dist/esm/theme/ThemeProvider.js.map +1 -1
  424. package/dist/esm/theme/VanillaThemeProvider.js +26 -0
  425. package/dist/esm/theme/VanillaThemeProvider.js.map +1 -0
  426. package/dist/esm/theme/contract.css.js +4 -0
  427. package/dist/esm/theme/contract.css.js.map +1 -0
  428. package/dist/esm/theme/darkTheme.css.js +6 -0
  429. package/dist/esm/theme/darkTheme.css.js.map +1 -0
  430. package/dist/esm/utils/cx.js +14 -0
  431. package/dist/esm/utils/cx.js.map +1 -0
  432. package/dist/esm/utils/mathExpression.js.map +1 -1
  433. package/dist/esm/utils/mathUtils.js.map +1 -1
  434. package/dist/types/components/controls/CartesianPicker/CartesianPicker.d.ts +6 -0
  435. package/dist/types/components/controls/CartesianPicker/CartesianPicker.types.d.ts +163 -0
  436. package/dist/types/components/controls/CurveEditor/CurveEditor.types.d.ts +5 -13
  437. package/dist/types/components/controls/CurveEditor/curveUtils.d.ts +3 -1
  438. package/dist/types/components/controls/Select/Select.d.ts +1 -1
  439. package/dist/types/components/editor/ChatPanel/ChatActionBar.d.ts +288 -0
  440. package/dist/types/components/editor/ChatPanel/ChatAttachment.d.ts +292 -0
  441. package/dist/types/components/editor/ChatPanel/ChatBubble.d.ts +289 -0
  442. package/dist/types/components/editor/ChatPanel/ChatCodeBlock.d.ts +294 -0
  443. package/dist/types/components/editor/ChatPanel/ChatContextChip.d.ts +292 -0
  444. package/dist/types/components/editor/ChatPanel/ChatEmptyState.d.ts +292 -0
  445. package/dist/types/components/editor/ChatPanel/ChatInput.d.ts +300 -0
  446. package/dist/types/components/editor/ChatPanel/ChatInputToolbar.d.ts +288 -0
  447. package/dist/types/components/editor/ChatPanel/ChatMessage.d.ts +294 -0
  448. package/dist/types/components/editor/ChatPanel/ChatMessageList.d.ts +293 -0
  449. package/dist/types/components/editor/ChatPanel/ChatPanel.d.ts +290 -0
  450. package/dist/types/components/editor/ChatPanel/ChatPanel.types.d.ts +409 -0
  451. package/dist/types/components/editor/ChatPanel/ChatToolCall.d.ts +294 -0
  452. package/dist/types/components/editor/ChatPanel/ChatTypingIndicator.d.ts +291 -0
  453. package/dist/types/components/editor/ChatPanel/useChatInput.d.ts +5 -0
  454. package/dist/types/components/editor/ChatPanel/useChatMessages.d.ts +5 -0
  455. package/dist/types/components/editor/ChatPanel/useChatScroll.d.ts +5 -0
  456. package/dist/types/components/editor/ViewportGizmo/ViewportGizmo.d.ts +6 -0
  457. package/dist/types/components/editor/ViewportGizmo/ViewportGizmo.types.d.ts +146 -0
  458. package/dist/types/components/editor/ViewportGizmo/gizmoMath.d.ts +73 -0
  459. package/dist/types/components/form/FormHelperText.d.ts +13 -15
  460. package/dist/types/components/form/FormLabel.d.ts +13 -15
  461. package/dist/types/components/form/InputWrapper.d.ts +13 -15
  462. package/dist/types/components/layout/PanelSurface/PanelSurface.d.ts +54 -59
  463. package/dist/types/components/layout/Spacer/Spacer.d.ts +17 -19
  464. package/dist/types/components/navigation/Menu/Menu.types.d.ts +1 -1
  465. package/dist/types/components/primitives/Button/Button.d.ts +30 -18
  466. package/dist/types/components/primitives/Icon/Icon.d.ts +0 -7
  467. package/dist/types/components/primitives/IconButton/IconButton.d.ts +26 -19
  468. package/dist/types/components/primitives/Input/Input.d.ts +7 -2
  469. package/dist/types/components/primitives/Paper/Paper.d.ts +23 -21
  470. package/dist/types/components/primitives/Switch/Switch.d.ts +7 -2
  471. package/dist/types/components/primitives/Text/Text.d.ts +20 -18
  472. package/dist/types/components/primitives/Tooltip/Tooltip.d.ts +7 -3
  473. package/dist/types/components/primitives/Tooltip/types.d.ts +1 -1
  474. package/dist/types/components/primitives/canvas/canvas.types.d.ts +27 -0
  475. package/dist/types/components/shell/AppShell/AppShell.d.ts +86 -92
  476. package/dist/types/components/shell/MenuBar/MenuBar.d.ts +66 -72
  477. package/dist/types/components/shell/StatusBar/StatusBar.d.ts +42 -46
  478. package/dist/types/components/shell/Toolbar/Toolbar.d.ts +77 -84
  479. package/dist/types/index.d.ts +29 -6
  480. package/dist/types/theme/ThemeProvider.d.ts +9 -2
  481. package/dist/types/theme/VanillaThemeProvider.d.ts +34 -0
  482. package/dist/types/theme/contract.css.d.ts +164 -0
  483. package/dist/types/theme/{tokens.d.ts → darkTheme.css.d.ts} +43 -39
  484. package/dist/types/types/common.d.ts +1 -8
  485. package/dist/types/utils/cx.d.ts +11 -0
  486. package/package.json +34 -30
  487. package/dist/esm/components/feedback/Dialog/Dialog.styled.js +0 -80
  488. package/dist/esm/components/feedback/Dialog/Dialog.styled.js.map +0 -1
  489. package/dist/esm/components/navigation/Menu/Menu.styled.js +0 -83
  490. package/dist/esm/components/navigation/Menu/Menu.styled.js.map +0 -1
  491. package/dist/esm/theme/createTheme.js +0 -10
  492. package/dist/esm/theme/createTheme.js.map +0 -1
  493. package/dist/esm/theme/tokens.js +0 -144
  494. package/dist/esm/theme/tokens.js.map +0 -1
  495. package/dist/esm/utils/objects.js +0 -22
  496. package/dist/esm/utils/objects.js.map +0 -1
  497. package/dist/esm/utils/styledUtils.js +0 -81
  498. package/dist/esm/utils/styledUtils.js.map +0 -1
  499. package/dist/types/theme/createTheme.d.ts +0 -6
  500. package/dist/types/theme/types.d.ts +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"CurveEditor.js","sources":["../../../../../../src/components/controls/CurveEditor/CurveEditor.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"CurveEditor.js","sources":["../../../../../../src/components/controls/CurveEditor/CurveEditor.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;AAuBO;;;;;AA0CL;;;AAIE;;AAEE;AACA;AACE;AACA;AACA;;AAEJ;AACF;AAEA;AACA;;AAEE;;AAGF;;;;AAKI;AACF;AAIF;AAEI;AACF;;AAKF;AACE;AACA;AACA;;;;;;;;AAQE;AACA;AACA;;AAEJ;;AAGA;;;;;;;;;;;;;;;;;;AAsBE;AACA;;AAED;;AAGD;AACE;AAAwC;;AAGxC;AACE;AACE;AACE;;AACK;;;;;AAKX;;AAGF;AAEI;;;;;;AAMF;AAIF;AAIM;;AAEE;;AAEH;;;;;;;AAuDI;AAKX;AAEA;;"}
@@ -1,5 +1,6 @@
1
+ "use client";
1
2
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
- import styled from '@emotion/styled';
3
+ import { assignInlineVars } from '../../../node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js';
3
4
  import { IconButton } from '../../primitives/IconButton/IconButton.js';
4
5
  import { Select } from '../Select/Select.js';
5
6
  import { Tooltip } from '../../primitives/Tooltip/Tooltip.js';
@@ -10,33 +11,13 @@ import { TangentMirroredIcon } from '../../Icons/TangentMirroredIcon.js';
10
11
  import { TangentAutoIcon } from '../../Icons/TangentAutoIcon.js';
11
12
  import { TangentLinearIcon } from '../../Icons/TangentLinearIcon.js';
12
13
  import { TangentStepIcon } from '../../Icons/TangentStepIcon.js';
14
+ import { toolbarStyle, toolbarSectionStyle, toolbarSeparatorStyle, toolbarHeightVar } from './CurveEditor.css.js';
13
15
 
14
16
  const TOOLBAR_HEIGHT = {
15
17
  sm: 28,
16
18
  md: 32,
17
19
  lg: 36,
18
20
  };
19
- const StyledToolbar = styled.div `
20
- display: flex;
21
- align-items: center;
22
- gap: ${p => p.theme.spacing.sm}px;
23
- padding: 0 ${p => p.theme.spacing.sm}px;
24
- height: ${p => TOOLBAR_HEIGHT[p.$size]}px;
25
- background: ${p => p.theme.colors.surface.default};
26
- border-bottom: 1px solid ${p => p.theme.colors.border.default};
27
- flex-shrink: 0;
28
- `;
29
- const ToolbarSection = styled.div `
30
- display: flex;
31
- align-items: center;
32
- gap: ${p => p.theme.spacing.xs}px;
33
- `;
34
- const Separator = styled.div `
35
- width: 1px;
36
- height: 16px;
37
- background: ${p => p.theme.colors.border.default};
38
- margin: 0 ${p => p.theme.spacing.xs}px;
39
- `;
40
21
  const TANGENT_MODES = [
41
22
  {
42
23
  mode: 'free',
@@ -88,7 +69,9 @@ const CurveToolbar = ({ selectedTangentMode, onTangentModeChange, onPresetSelect
88
69
  onPresetSelect(preset);
89
70
  };
90
71
  const iconSize = size === 'lg' ? 'md' : 'sm';
91
- return (jsxs(StyledToolbar, { "$size": size, "data-testid": testId ? `${testId}-toolbar` : undefined, children: [jsx(ToolbarSection, { children: jsx(Select, { options: presetOptions, onChange: handlePresetChange, size: size === 'lg' ? 'md' : 'sm', variant: "ghost", disabled: disabled, placeholder: "Preset...", "aria-label": "Curve preset", minDropdownWidth: 180 }) }), !lockTangents && (jsxs(Fragment, { children: [jsx(Separator, {}), jsx(ToolbarSection, { children: TANGENT_MODES.map(({ mode, label, icon, shortcut }) => (jsx(Tooltip, { title: `${label} (${shortcut})`, placement: "bottom", children: jsx(IconButton, { size: iconSize, variant: "ghost", pressed: selectedTangentMode === mode, disabled: disabled || selectedTangentMode === null, "aria-label": `${label} tangent mode`, onClick: () => onTangentModeChange(mode), children: icon }) }, mode))) })] }))] }));
72
+ return (jsxs("div", { className: toolbarStyle, style: assignInlineVars({
73
+ [toolbarHeightVar]: `${TOOLBAR_HEIGHT[size]}px`,
74
+ }), "data-testid": testId ? `${testId}-toolbar` : undefined, children: [jsx("div", { className: toolbarSectionStyle, children: jsx(Select, { options: presetOptions, onChange: handlePresetChange, size: size === 'lg' ? 'md' : 'sm', variant: "ghost", disabled: disabled, placeholder: "Preset...", "aria-label": "Curve preset", minDropdownWidth: 180 }) }), !lockTangents && (jsxs(Fragment, { children: [jsx("div", { className: toolbarSeparatorStyle }), jsx("div", { className: toolbarSectionStyle, children: TANGENT_MODES.map(({ mode, label, icon, shortcut }) => (jsx(Tooltip, { title: `${label} (${shortcut})`, placement: "bottom", children: jsx(IconButton, { size: iconSize, variant: "ghost", pressed: selectedTangentMode === mode, disabled: disabled || selectedTangentMode === null, "aria-label": `${label} tangent mode`, onClick: () => onTangentModeChange(mode), children: icon }) }, mode))) })] }))] }));
92
75
  };
93
76
  CurveToolbar.displayName = 'CurveToolbar';
94
77
 
@@ -1 +1 @@
1
- {"version":3,"file":"CurveToolbar.js","sources":["../../../../../../src/components/controls/CurveEditor/CurveToolbar.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"CurveToolbar.js","sources":["../../../../../../src/components/controls/CurveEditor/CurveToolbar.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;AAsCA;AACE;AACA;AACA;;AAGF;AAME;AACE;AACA;AACA;AACA;AACD;AACD;AACE;AACA;AACA;AACA;AACD;AACD;AACE;AACA;AACA;AACA;AACD;AACD;AACE;AACA;AACA;AACA;AACD;AACD;AACE;AACA;AACA;AACA;AACD;AACD;AACE;AACA;AACA;AACA;AACD;;;;;;AAgBA;AAED;AACE;;AACA;AACA;;AACF;AAEA;;;AAOK;AA8CP;AAEA;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"curvePresets.js","sources":["../../../../../../src/components/controls/CurveEditor/curvePresets.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"curvePresets.js","sources":["../../../../../../src/components/controls/CurveEditor/curvePresets.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
1
  import { clamp } from '../../../utils/mathUtils.js';
2
+ import { domainToCanvas as domainToCanvas$1, canvasToDomain as canvasToDomain$1 } from '../../primitives/canvas/canvasCoords.js';
3
+ import 'react';
4
+ import '../../primitives/canvas/CanvasContainer.js';
2
5
 
3
6
  let idCounter = 0;
4
7
  /**
@@ -212,29 +215,17 @@ function constrainTangent(keyframe, movedHandle) {
212
215
  }
213
216
  /**
214
217
  * Convert domain coordinates to canvas pixel coordinates.
218
+ * Re-exported from shared canvas primitives for backward compatibility.
215
219
  */
216
220
  function domainToCanvas(domainX, domainY, viewport, canvasWidth, canvasHeight) {
217
- const [vxMin, vxMax] = viewport.viewX;
218
- const [vyMin, vyMax] = viewport.viewY;
219
- const vw = vxMax - vxMin || 1;
220
- const vh = vyMax - vyMin || 1;
221
- const px = ((domainX - vxMin) / vw) * canvasWidth;
222
- // Y is flipped — canvas Y goes down, domain Y goes up
223
- const py = ((vyMax - domainY) / vh) * canvasHeight;
224
- return { px, py };
221
+ return domainToCanvas$1(domainX, domainY, viewport, canvasWidth, canvasHeight);
225
222
  }
226
223
  /**
227
224
  * Convert canvas pixel coordinates to domain coordinates.
225
+ * Re-exported from shared canvas primitives for backward compatibility.
228
226
  */
229
227
  function canvasToDomain(px, py, viewport, canvasWidth, canvasHeight) {
230
- const [vxMin, vxMax] = viewport.viewX;
231
- const [vyMin, vyMax] = viewport.viewY;
232
- const vw = vxMax - vxMin || 1;
233
- const vh = vyMax - vyMin || 1;
234
- const x = vxMin + (px / canvasWidth) * vw;
235
- // Y is flipped
236
- const y = vyMax - (py / canvasHeight) * vh;
237
- return { x, y };
228
+ return canvasToDomain$1(px, py, viewport, canvasWidth, canvasHeight);
238
229
  }
239
230
  /**
240
231
  * Hit test — find the nearest element to a canvas pixel position.
@@ -1 +1 @@
1
- {"version":3,"file":"curveUtils.js","sources":["../../../../../../src/components/controls/CurveEditor/curveUtils.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"curveUtils.js","sources":["../../../../../../src/components/controls/CurveEditor/curveUtils.ts"],"sourcesContent":[null],"names":["sharedDomainToCanvas","sharedCanvasToDomain"],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { useState, useRef, useCallback } from 'react';
2
3
  import { roundToPrecision, clamp } from '../../../utils/mathUtils.js';
3
4
  import { computeAutoTangent, hitTest, canvasToDomain, constrainTangent, sortKeyframes, generateKeyframeId } from './curveUtils.js';
@@ -1 +1 @@
1
- {"version":3,"file":"useCurveInteraction.js","sources":["../../../../../../src/components/controls/CurveEditor/useCurveInteraction.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useCurveInteraction.js","sources":["../../../../../../src/components/controls/CurveEditor/useCurveInteraction.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAkEA;;;;;;;;AASA;AAIE;;AAEF;AAEM;AAGJ;AAqBA;;;;AAYA;;AAIA;AACE;AACA;;AACA;AACA;AACF;AAEA;;;AAIE;;AAME;;AAEF;AAIF;;AAGM;AAA+B;;;;;AAM7B;;;;AAIJ;;;AAMJ;AAEI;;AACA;AACA;;AAEA;;AAGA;;AAEA;AAEA;;;;AAIE;;AAEE;;AAEE;;;AAEA;;;;;;;;;AASA;AACA;;;AAGA;;;;;AAKF;;;;AAKJ;AAEE;;;;;;;AAOE;AACA;;;;;;AAMF;;;;AAKF;AACE;;AAGF;AACA;AACF;;;;;;;;;AAUC;;AAIH;AAEI;AACA;;AAEA;;AAEA;AAEA;;AAEE;AACA;;AAGA;AACE;;AACK;;AAIL;;AACK;AACL;;;AAEA;;;;AAKJ;;;;AAKA;;AAEA;AACE;;AAEA;;AAEA;;AAIA;AACA;;;;AAKE;AACA;AACA;AACA;;AAGF;AACA;;AAGA;AACE;;;AAIF;AACE;AACA;;AAEE;;;AAGA;;;;;AAMF;;AAGF;AAIA;AACE;AACA;AACD;;;AAIH;;AAEE;;AAEA;AACA;AACE;AACA;;AAGF;AACA;;;;;;;AAOA;AAKA;;;;AAOJ;;;;;;;;;;;;;;;;AAiBC;;AAIH;AAEI;AACA;;AAEA;AAEA;;;;AAII;AAEA;;AAEE;;;;;;AAKA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AAIE;AACA;;AAGA;;;;;;;AAUR;;AAGI;;AAGF;AACA;;;AAIF;AACF;;;;;;;;;AAUC;;AAIH;;;AAGI;AACA;;AAEA;;AAKA;AAEA;AACE;;;;AAGA;;;;;AAMA;AAIA;AACE;AACA;;;AAGF;;;;;AAMA;;;;AAKA;;;;AAIE;;AAGF;AACE;AACA;;;AAGA;;;AAIF;AACA;AACE;AACA;;;AAGF;AAEA;;;;AAIJ;;;;;;;;;;;;;;;AAgBC;;AAIH;AAEI;;AAEA;AACE;;;;;AAIE;;;;;;AAME;;;;AAIJ;AACA;AACA;;AAEE;;;;;;AAKF;AACA;AACA;AACA;AACA;;;;;;AAKE;AACA;;;;;AAIN;;AAKF;;;;AAII;AAAuC;;;;AAKrC;AAAqD;;AAEvD;AACF;;AAGA;;AAEA;;AAEA;AACA;AACF;;;;;;;;;;AAUC;AAED;;;AAKA;AAEA;;;;AAKM;AAAuC;AAEvC;;AAEI;AACA;;;;;;AAMN;AAEA;;AAEA;AACF;;;;;;;;AASC;;;;;;;;AAaG;AAAuC;AAEvC;;AAEA;;AAGE;AACE;;;AAEF;AACE;;;AAEF;;;AAGA;;;;;AAMA;;;AAIA;AACA;AACA;;AAEJ;AAEA;AACE;AACA;;;AAGF;AACF;;;;;;;;;;AAWC;;;;;;AAQD;;;;;;AAMC;AACD;AACA;AACA;;AAEJ;;"}
@@ -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;