entangle-ui 0.5.1 → 0.6.1

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 (218) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/dist/esm/components/controls/CartesianPicker/CartesianPicker.css.js +1 -1
  3. package/dist/esm/components/controls/CartesianPicker/CartesianPicker.js +1 -1
  4. package/dist/esm/components/controls/CartesianPicker/CartesianPicker.js.map +1 -1
  5. package/dist/esm/components/controls/CartesianPicker/useCartesianInteraction.js +0 -1
  6. package/dist/esm/components/controls/CartesianPicker/useCartesianInteraction.js.map +1 -1
  7. package/dist/esm/components/controls/CartesianPicker/useCartesianRenderer.js +0 -1
  8. package/dist/esm/components/controls/CartesianPicker/useCartesianRenderer.js.map +1 -1
  9. package/dist/esm/components/controls/ColorPicker/ColorPicker.css.js +1 -1
  10. package/dist/esm/components/controls/CurveEditor/CurveCanvas.js +1 -1
  11. package/dist/esm/components/controls/CurveEditor/CurveEditor.css.js +1 -1
  12. package/dist/esm/components/controls/CurveEditor/CurveEditor.js +1 -1
  13. package/dist/esm/components/controls/CurveEditor/CurveToolbar.js +1 -58
  14. package/dist/esm/components/controls/CurveEditor/CurveToolbar.js.map +1 -1
  15. package/dist/esm/components/controls/CurveEditor/curveUtils.js +38 -9
  16. package/dist/esm/components/controls/CurveEditor/curveUtils.js.map +1 -1
  17. package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js +5 -0
  18. package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js.map +1 -1
  19. package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js +0 -1
  20. package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js.map +1 -1
  21. package/dist/esm/components/controls/NumberInput/NumberInput.css.js +1 -1
  22. package/dist/esm/components/controls/NumberInput/useNumberInput.js +19 -13
  23. package/dist/esm/components/controls/NumberInput/useNumberInput.js.map +1 -1
  24. package/dist/esm/components/controls/Select/Select.css.js +1 -1
  25. package/dist/esm/components/controls/Select/Select.js +0 -1
  26. package/dist/esm/components/controls/Select/Select.js.map +1 -1
  27. package/dist/esm/components/controls/Slider/Slider.css.js +1 -1
  28. package/dist/esm/components/controls/Slider/Slider.js +1 -1
  29. package/dist/esm/components/controls/Slider/Slider.js.map +1 -1
  30. package/dist/esm/components/controls/TreeView/TreeNode.css.js +1 -1
  31. package/dist/esm/components/controls/TreeView/TreeNode.js +1 -1
  32. package/dist/esm/components/controls/TreeView/TreeView.js +1 -1
  33. package/dist/esm/components/controls/VectorInput/VectorInput.css.js +1 -1
  34. package/dist/esm/components/controls/VectorInput/VectorInput.js +2 -1
  35. package/dist/esm/components/controls/VectorInput/VectorInput.js.map +1 -1
  36. package/dist/esm/components/editor/ChatPanel/ChatCodeBlock.js +1 -1
  37. package/dist/esm/components/editor/ChatPanel/ChatInput.js +1 -1
  38. package/dist/esm/components/editor/ChatPanel/ChatPanel.css.js +1 -1
  39. package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js +1 -1
  40. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js +1 -1
  41. package/dist/esm/components/editor/PropertyInspector/PropertyRow.js +1 -1
  42. package/dist/esm/components/editor/PropertyInspector/PropertySection.css.js +1 -1
  43. package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.css.js +1 -1
  44. package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.js +1 -1
  45. package/dist/esm/components/editor/ViewportGizmo/useGizmoRenderer.js +0 -1
  46. package/dist/esm/components/editor/ViewportGizmo/useGizmoRenderer.js.map +1 -1
  47. package/dist/esm/components/feedback/Dialog/Dialog.css.js +1 -1
  48. package/dist/esm/components/feedback/Toast/ToastContainer.js +1 -1
  49. package/dist/esm/components/feedback/Toast/ToastItem.css.js +1 -1
  50. package/dist/esm/components/feedback/Toast/ToastItem.js +1 -1
  51. package/dist/esm/components/form/FormHelperText.css.js +1 -1
  52. package/dist/esm/components/form/FormLabel.css.js +1 -1
  53. package/dist/esm/components/form/InputWrapper.css.js +1 -1
  54. package/dist/esm/components/layout/Accordion/Accordion.css.js +1 -1
  55. package/dist/esm/components/layout/Accordion/Accordion.js +1 -1
  56. package/dist/esm/components/layout/Flex/Flex.css.js +1 -1
  57. package/dist/esm/components/layout/Flex/Flex.js +1 -1
  58. package/dist/esm/components/layout/Grid/Grid.js +1 -1
  59. package/dist/esm/components/layout/PanelSurface/PanelSurface.css.js +1 -1
  60. package/dist/esm/components/layout/PanelSurface/PanelSurface.js +1 -1
  61. package/dist/esm/components/layout/ScrollArea/ScrollArea.css.js +1 -1
  62. package/dist/esm/components/layout/ScrollArea/ScrollArea.js +2 -2
  63. package/dist/esm/components/layout/SplitPane/SplitPane.css.js +1 -1
  64. package/dist/esm/components/layout/SplitPane/SplitPane.js +1 -1
  65. package/dist/esm/components/layout/Stack/Stack.css.js +1 -1
  66. package/dist/esm/components/layout/Stack/Stack.js +1 -1
  67. package/dist/esm/components/navigation/ContextMenu/ContextMenu.js +0 -61
  68. package/dist/esm/components/navigation/ContextMenu/ContextMenu.js.map +1 -1
  69. package/dist/esm/components/navigation/Menu/Menu.helpers.js +0 -62
  70. package/dist/esm/components/navigation/Menu/Menu.helpers.js.map +1 -1
  71. package/dist/esm/components/navigation/Menu/Menu.js +0 -61
  72. package/dist/esm/components/navigation/Menu/Menu.js.map +1 -1
  73. package/dist/esm/components/navigation/Tabs/Tab.js +0 -62
  74. package/dist/esm/components/navigation/Tabs/Tab.js.map +1 -1
  75. package/dist/esm/components/navigation/Tabs/Tabs.css.js +1 -1
  76. package/dist/esm/components/primitives/Button/Button.css.js +1 -1
  77. package/dist/esm/components/primitives/Checkbox/Checkbox.css.js +1 -1
  78. package/dist/esm/components/primitives/Checkbox/Checkbox.js +1 -3
  79. package/dist/esm/components/primitives/Checkbox/Checkbox.js.map +1 -1
  80. package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js +1 -2
  81. package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js.map +1 -1
  82. package/dist/esm/components/primitives/Collapsible/Collapsible.css.js +1 -1
  83. package/dist/esm/components/primitives/Collapsible/Collapsible.js +1 -1
  84. package/dist/esm/components/primitives/Icon/Icon.css.js +1 -1
  85. package/dist/esm/components/primitives/IconButton/IconButton.css.js +1 -1
  86. package/dist/esm/components/primitives/Input/Input.css.js +1 -1
  87. package/dist/esm/components/primitives/Input/Input.js +7 -4
  88. package/dist/esm/components/primitives/Input/Input.js.map +1 -1
  89. package/dist/esm/components/primitives/Paper/Paper.css.js +1 -1
  90. package/dist/esm/components/primitives/Popover/Popover.css.js +1 -1
  91. package/dist/esm/components/primitives/Switch/Switch.css.js +1 -1
  92. package/dist/esm/components/primitives/Switch/Switch.js +1 -3
  93. package/dist/esm/components/primitives/Switch/Switch.js.map +1 -1
  94. package/dist/esm/components/primitives/Text/Text.css.js +1 -1
  95. package/dist/esm/components/primitives/canvas/CanvasContainer.css.js +1 -1
  96. package/dist/esm/components/primitives/canvas/CanvasContainer.js +1 -1
  97. package/dist/esm/components/shell/AppShell/AppShell.css.js +1 -1
  98. package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js +1 -1
  99. package/dist/esm/components/shell/MenuBar/MenuBar.css.js +1 -1
  100. package/dist/esm/components/shell/StatusBar/StatusBar.css.js +1 -1
  101. package/dist/esm/components/shell/Toolbar/Toolbar.css.js +1 -1
  102. package/dist/esm/index.js +1 -0
  103. package/dist/esm/index.js.map +1 -1
  104. package/dist/esm/utils/mathExpression.js +366 -197
  105. package/dist/esm/utils/mathExpression.js.map +1 -1
  106. package/dist/types/components/controls/NumberInput/useNumberInput.d.ts +1 -0
  107. package/dist/types/components/primitives/Button/Button.d.ts +1 -1
  108. package/dist/types/components/primitives/IconButton/IconButton.d.ts +1 -1
  109. package/dist/types/components/primitives/Input/Input.d.ts +5 -5
  110. package/package.json +5 -6
  111. package/dist/esm/components/Icons/AddIcon.js +0 -30
  112. package/dist/esm/components/Icons/AddIcon.js.map +0 -1
  113. package/dist/esm/components/Icons/AiChatIcon.js +0 -31
  114. package/dist/esm/components/Icons/AiChatIcon.js.map +0 -1
  115. package/dist/esm/components/Icons/AiSparklesIcon.js +0 -31
  116. package/dist/esm/components/Icons/AiSparklesIcon.js.map +0 -1
  117. package/dist/esm/components/Icons/ArrowDownIcon.js +0 -30
  118. package/dist/esm/components/Icons/ArrowDownIcon.js.map +0 -1
  119. package/dist/esm/components/Icons/ArrowLeftIcon.js +0 -30
  120. package/dist/esm/components/Icons/ArrowLeftIcon.js.map +0 -1
  121. package/dist/esm/components/Icons/ArrowRightIcon.js +0 -30
  122. package/dist/esm/components/Icons/ArrowRightIcon.js.map +0 -1
  123. package/dist/esm/components/Icons/ArrowUpIcon.js +0 -30
  124. package/dist/esm/components/Icons/ArrowUpIcon.js.map +0 -1
  125. package/dist/esm/components/Icons/BookmarkIcon.js +0 -30
  126. package/dist/esm/components/Icons/BookmarkIcon.js.map +0 -1
  127. package/dist/esm/components/Icons/CalendarIcon.js +0 -30
  128. package/dist/esm/components/Icons/CalendarIcon.js.map +0 -1
  129. package/dist/esm/components/Icons/ClockIcon.js +0 -30
  130. package/dist/esm/components/Icons/ClockIcon.js.map +0 -1
  131. package/dist/esm/components/Icons/CodeIcon.js +0 -30
  132. package/dist/esm/components/Icons/CodeIcon.js.map +0 -1
  133. package/dist/esm/components/Icons/CopyIcon.js +0 -30
  134. package/dist/esm/components/Icons/CopyIcon.js.map +0 -1
  135. package/dist/esm/components/Icons/CutIcon.js +0 -30
  136. package/dist/esm/components/Icons/CutIcon.js.map +0 -1
  137. package/dist/esm/components/Icons/DownloadIcon.js +0 -30
  138. package/dist/esm/components/Icons/DownloadIcon.js.map +0 -1
  139. package/dist/esm/components/Icons/EditIcon.js +0 -30
  140. package/dist/esm/components/Icons/EditIcon.js.map +0 -1
  141. package/dist/esm/components/Icons/ErrorIcon.js +0 -30
  142. package/dist/esm/components/Icons/ErrorIcon.js.map +0 -1
  143. package/dist/esm/components/Icons/EyeIcon.js +0 -30
  144. package/dist/esm/components/Icons/EyeIcon.js.map +0 -1
  145. package/dist/esm/components/Icons/FilterIcon.js +0 -30
  146. package/dist/esm/components/Icons/FilterIcon.js.map +0 -1
  147. package/dist/esm/components/Icons/FolderIcon.js +0 -30
  148. package/dist/esm/components/Icons/FolderIcon.js.map +0 -1
  149. package/dist/esm/components/Icons/FullscreenIcon.js +0 -30
  150. package/dist/esm/components/Icons/FullscreenIcon.js.map +0 -1
  151. package/dist/esm/components/Icons/GridIcon.js +0 -30
  152. package/dist/esm/components/Icons/GridIcon.js.map +0 -1
  153. package/dist/esm/components/Icons/HeartIcon.js +0 -30
  154. package/dist/esm/components/Icons/HeartIcon.js.map +0 -1
  155. package/dist/esm/components/Icons/HelpIcon.js +0 -30
  156. package/dist/esm/components/Icons/HelpIcon.js.map +0 -1
  157. package/dist/esm/components/Icons/HomeIcon.js +0 -30
  158. package/dist/esm/components/Icons/HomeIcon.js.map +0 -1
  159. package/dist/esm/components/Icons/InfoIcon.js +0 -30
  160. package/dist/esm/components/Icons/InfoIcon.js.map +0 -1
  161. package/dist/esm/components/Icons/LinkIcon.js +0 -30
  162. package/dist/esm/components/Icons/LinkIcon.js.map +0 -1
  163. package/dist/esm/components/Icons/ListIcon.js +0 -30
  164. package/dist/esm/components/Icons/ListIcon.js.map +0 -1
  165. package/dist/esm/components/Icons/LockIcon.js +0 -30
  166. package/dist/esm/components/Icons/LockIcon.js.map +0 -1
  167. package/dist/esm/components/Icons/MaximizeIcon.js +0 -30
  168. package/dist/esm/components/Icons/MaximizeIcon.js.map +0 -1
  169. package/dist/esm/components/Icons/MenuIcon.js +0 -30
  170. package/dist/esm/components/Icons/MenuIcon.js.map +0 -1
  171. package/dist/esm/components/Icons/MinimizeIcon.js +0 -30
  172. package/dist/esm/components/Icons/MinimizeIcon.js.map +0 -1
  173. package/dist/esm/components/Icons/PasteIcon.js +0 -30
  174. package/dist/esm/components/Icons/PasteIcon.js.map +0 -1
  175. package/dist/esm/components/Icons/PlayIcon.js +0 -30
  176. package/dist/esm/components/Icons/PlayIcon.js.map +0 -1
  177. package/dist/esm/components/Icons/RedoIcon.js +0 -30
  178. package/dist/esm/components/Icons/RedoIcon.js.map +0 -1
  179. package/dist/esm/components/Icons/RefreshIcon.js +0 -30
  180. package/dist/esm/components/Icons/RefreshIcon.js.map +0 -1
  181. package/dist/esm/components/Icons/RobotIcon.js +0 -30
  182. package/dist/esm/components/Icons/RobotIcon.js.map +0 -1
  183. package/dist/esm/components/Icons/SaveIcon.js +0 -30
  184. package/dist/esm/components/Icons/SaveIcon.js.map +0 -1
  185. package/dist/esm/components/Icons/SearchIcon.js +0 -30
  186. package/dist/esm/components/Icons/SearchIcon.js.map +0 -1
  187. package/dist/esm/components/Icons/SettingsIcon.js +0 -30
  188. package/dist/esm/components/Icons/SettingsIcon.js.map +0 -1
  189. package/dist/esm/components/Icons/SortIcon.js +0 -30
  190. package/dist/esm/components/Icons/SortIcon.js.map +0 -1
  191. package/dist/esm/components/Icons/StarIcon.js +0 -30
  192. package/dist/esm/components/Icons/StarIcon.js.map +0 -1
  193. package/dist/esm/components/Icons/SuccessIcon.js +0 -30
  194. package/dist/esm/components/Icons/SuccessIcon.js.map +0 -1
  195. package/dist/esm/components/Icons/TagIcon.js +0 -30
  196. package/dist/esm/components/Icons/TagIcon.js.map +0 -1
  197. package/dist/esm/components/Icons/TrashIcon.js +0 -30
  198. package/dist/esm/components/Icons/TrashIcon.js.map +0 -1
  199. package/dist/esm/components/Icons/UndoIcon.js +0 -30
  200. package/dist/esm/components/Icons/UndoIcon.js.map +0 -1
  201. package/dist/esm/components/Icons/UnlockIcon.js +0 -30
  202. package/dist/esm/components/Icons/UnlockIcon.js.map +0 -1
  203. package/dist/esm/components/Icons/UploadIcon.js +0 -30
  204. package/dist/esm/components/Icons/UploadIcon.js.map +0 -1
  205. package/dist/esm/components/Icons/UserIcon.js +0 -30
  206. package/dist/esm/components/Icons/UserIcon.js.map +0 -1
  207. package/dist/esm/components/Icons/WarningIcon.js +0 -30
  208. package/dist/esm/components/Icons/WarningIcon.js.map +0 -1
  209. package/dist/esm/components/Icons/ZoomInIcon.js +0 -30
  210. package/dist/esm/components/Icons/ZoomInIcon.js.map +0 -1
  211. package/dist/esm/components/Icons/ZoomOutIcon.js +0 -30
  212. package/dist/esm/components/Icons/ZoomOutIcon.js.map +0 -1
  213. package/dist/esm/node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js +0 -25
  214. package/dist/esm/node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js.map +0 -1
  215. package/dist/esm/node_modules/@vanilla-extract/private/dist/vanilla-extract-private.esm.js +0 -10
  216. package/dist/esm/node_modules/@vanilla-extract/private/dist/vanilla-extract-private.esm.js.map +0 -1
  217. package/dist/esm/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js +0 -112
  218. package/dist/esm/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # entangle-ui
2
2
 
3
+ ## 0.6.1
4
+
5
+ ### Patch Changes
6
+
7
+ - [#38](https://github.com/SebastianWebdev/entangle-ui/pull/38) [`3a3222f`](https://github.com/SebastianWebdev/entangle-ui/commit/3a3222f6e007f8fe2d0969df17c0d7e21b67cfc4) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - Default NumberInput precision to 2 decimal places. Fixes floating-point artifacts (e.g. `1.0000000000000002`) when dragging to change values.
8
+
9
+ - [#38](https://github.com/SebastianWebdev/entangle-ui/pull/38) [`1b9540f`](https://github.com/SebastianWebdev/entangle-ui/commit/1b9540f5008a71c53549d6882b3e52e8c4f6bf5e) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - Replace eval-based math expression parser with recursive descent parser. Removes `new Function()` to eliminate Socket.dev "Uses eval" flag. Adds modulo operator, implicit multiplication, multi-arg functions (min, max, pow, clamp, lerp, smoothstep), hyperbolic trig, unit conversion (deg/rad), and context-aware comma handling.
10
+
11
+ - [#38](https://github.com/SebastianWebdev/entangle-ui/pull/38) [`536e037`](https://github.com/SebastianWebdev/entangle-ui/commit/536e037280821dc4c9e9d4833514fbd04b579675) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - Move @vanilla-extract/dynamic and @vanilla-extract/recipes from dependencies to peerDependencies. Mark them as external in Rollup to avoid bundling duplicate runtime code.
12
+
13
+ ## 0.6.0
14
+
15
+ ### Minor Changes
16
+
17
+ - [#37](https://github.com/SebastianWebdev/entangle-ui/pull/37) [`4ef7ec8`](https://github.com/SebastianWebdev/entangle-ui/commit/4ef7ec868c6887a6e23ca7ef38dcdb28a3f15d5b) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - Changed Input onChange from (event) to (value: string) for API consistency with all other components
18
+
19
+ ### Patch Changes
20
+
21
+ - [#37](https://github.com/SebastianWebdev/entangle-ui/pull/37) [`4ef7ec8`](https://github.com/SebastianWebdev/entangle-ui/commit/4ef7ec868c6887a6e23ca7ef38dcdb28a3f15d5b) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - Fixed CurveEditor handle values resetting when moving keyframes. Manually adjusting a handle on an auto-tangent keyframe now promotes the tangent mode from auto to free, preventing recalculation from overwriting user changes.
22
+
23
+ - [#37](https://github.com/SebastianWebdev/entangle-ui/pull/37) [`4ef7ec8`](https://github.com/SebastianWebdev/entangle-ui/commit/4ef7ec868c6887a6e23ca7ef38dcdb28a3f15d5b) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - Fixed CurveEditor bezier curves producing vertical spikes and loops when control handles exceeded segment bounds. Auto-tangent handles now scale proportionally to segment length, and all handles are clamped at evaluation time as a safety net.
24
+
25
+ - [#35](https://github.com/SebastianWebdev/entangle-ui/pull/35) [`a0d9e87`](https://github.com/SebastianWebdev/entangle-ui/commit/a0d9e87729b86d6f0a495c4be6abcaaa80d8a495) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - Fix tree-shaking by replacing barrel imports with direct file imports and adding \*.css.js to sideEffects config.
26
+
27
+ - [#37](https://github.com/SebastianWebdev/entangle-ui/pull/37) [`4ef7ec8`](https://github.com/SebastianWebdev/entangle-ui/commit/4ef7ec868c6887a6e23ca7ef38dcdb28a3f15d5b) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - Hardened math expression evaluator security: expanded blocked identifiers with JS keywords, added expression length limit (200 chars), and made isExpression case-sensitive to match evaluator behavior.
28
+
3
29
  ## 0.5.1
4
30
 
5
31
  ### Patch Changes
@@ -1,5 +1,5 @@
1
1
  import './../../../assets/src/components/controls/CartesianPicker/CartesianPicker.css.ts.vanilla-Ccao9ycw.css';
2
- import { c as createRuntimeFn } from '../../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js';
2
+ import { createRuntimeFn } from '@vanilla-extract/recipes/createRuntimeFn';
3
3
 
4
4
  var bottomBarStyle = 'CartesianPicker_bottomBarStyle__tqma2q6';
5
5
  var cartesianPickerRecipe = createRuntimeFn({defaultClassName:'CartesianPicker_cartesianPickerRecipe__tqma2q1',variantClassNames:{disabled:{true:'CartesianPicker_cartesianPickerRecipe_disabled_true__tqma2q2',false:'CartesianPicker_cartesianPickerRecipe_disabled_false__tqma2q3'},responsive:{true:'CartesianPicker_cartesianPickerRecipe_responsive_true__tqma2q4',false:'CartesianPicker_cartesianPickerRecipe_responsive_false__tqma2q5'}},defaultVariants:{disabled:false,responsive:false},compoundVariants:[]});
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useRef, useState, useMemo, useCallback } from 'react';
4
- import { assignInlineVars } from '../../../node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js';
4
+ import { assignInlineVars } from '@vanilla-extract/dynamic';
5
5
  import { cx } from '../../../utils/cx.js';
6
6
  import { roundToPrecision } from '../../../utils/mathUtils.js';
7
7
  import { CanvasContainer } from '../../primitives/canvas/CanvasContainer.js';
@@ -1 +1 @@
1
- {"version":3,"file":"CartesianPicker.js","sources":["../../../../../../src/components/controls/CartesianPicker/CartesianPicker.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;AAiBO;AAiCL;;;AAOA;;AAMA;;;;AAKI;AACF;AAIF;AAEI;AACF;;AAKF;;AAEE;AACA;AACA;;;;;;;AAOF;;;AAIE;;;;;;;;;;;;AAYA;AACA;AACD;;AAGD;;AAEE;;;;;;;;;;;;;;;;;AAiBD;;;;;AAQD;AAIM;;AAEE;;AAEH;AAsBK;;;;;;AAMD;AAKX;AAEA;;"}
1
+ {"version":3,"file":"CartesianPicker.js","sources":["../../../../../../src/components/controls/CartesianPicker/CartesianPicker.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;AAoBO;AAiCL;;;AAOA;;AAMA;;;;AAKI;AACF;AAIF;AAEI;AACF;;AAKF;;AAEE;AACA;AACA;;;;;;;AAOF;;;AAIE;;;;;;;;;;;;AAYA;AACA;AACD;;AAGD;;AAEE;;;;;;;;;;;;;;;;;AAiBD;;;;;AAQD;AAIM;;AAEE;;AAEH;AAsBK;;;;;;AAMD;AAKX;AAEA;;"}
@@ -2,7 +2,6 @@
2
2
  import { useState, useRef, useCallback } from 'react';
3
3
  import { clamp, roundToPrecision } from '../../../utils/mathUtils.js';
4
4
  import { getCanvasPointerPosition, canvasToDomain, hitTestPoint } from '../../primitives/canvas/canvasCoords.js';
5
- import '../../primitives/canvas/CanvasContainer.js';
6
5
 
7
6
  function snapValue(value, step) {
8
7
  if (step === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"useCartesianInteraction.js","sources":["../../../../../../src/components/controls/CartesianPicker/useCartesianInteraction.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAwCA;;AACkB;;AAElB;AAEM;AAGJ;;AAkBA;;AAGA;AACE;AACA;;AACA;AACA;AACF;;;;;;;AAUM;AACA;;AACK;;AAEL;AACA;AACA;AACA;;AAGF;AACA;;AAGE;AACA;;;AAIJ;;;;;;;;AASC;AAGH;;;AAGI;AACA;;AAEA;;AAGA;AACA;AAEA;;AAEA;;AAGF;;;;;;;;AASC;AAGH;AAEI;AACA;;AAEA;AACE;;AACA;;AAEA;AACA;;;;;AAMF;;AAEA;AACA;;;AAIE;;;AAEA;;;AAEA;;;AAEA;;AAEJ;;;;;;;;;AAUC;AAGH;AAEI;AACA;;AAEA;AACE;;AAEA;;AAGA;;AAEA;AACA;AACA;;AAEJ;AAIF;;;;;AAOI;;;;;;AAKE;;AAGF;AACA;;AAGI;AACE;AACA;AACF;AAEJ;AACA;;AAGA;AACE;;;;AAIA;;;;AAIA;;;;AAIA;;;;;;AAME;AACA;;;;;;;;;;;;AAaJ;;;AAGA;AACA;;AAGE;AACA;;;;AAKF;AACF;;;;;;;;;;;;AAaC;;;;AAMD;;;;;AAKC;;AAEL;;"}
1
+ {"version":3,"file":"useCartesianInteraction.js","sources":["../../../../../../src/components/controls/CartesianPicker/useCartesianInteraction.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AA2CA;;AACkB;;AAElB;AAEM;AAGJ;;AAkBA;;AAGA;AACE;AACA;;AACA;AACA;AACF;;;;;;;AAUM;AACA;;AACK;;AAEL;AACA;AACA;AACA;;AAGF;AACA;;AAGE;AACA;;;AAIJ;;;;;;;;AASC;AAGH;;;AAGI;AACA;;AAEA;;AAGA;AACA;AAEA;;AAEA;;AAGF;;;;;;;;AASC;AAGH;AAEI;AACA;;AAEA;AACE;;AACA;;AAEA;AACA;;;;;AAMF;;AAEA;AACA;;;AAIE;;;AAEA;;;AAEA;;;AAEA;;AAEJ;;;;;;;;;AAUC;AAGH;AAEI;AACA;;AAEA;AACE;;AAEA;;AAGA;;AAEA;AACA;AACA;;AAEJ;AAIF;;;;;AAOI;;;;;;AAKE;;AAGF;AACA;;AAGI;AACE;AACA;AACF;AAEJ;AACA;;AAGA;AACE;;;;AAIA;;;;AAIA;;;;AAIA;;;;;;AAME;AACA;;;;;;;;;;;;AAaJ;;;AAGA;AACA;;AAGE;AACA;;;;AAKF;AACF;;;;;;;;;;;;AAaC;;;;AAMD;;;;;AAKC;;AAEL;;"}
@@ -3,7 +3,6 @@ import { useCallback } from 'react';
3
3
  import { drawGrid, drawDomainBounds, drawOriginAxes, drawAxisLabels, drawCrosshair, drawPointMarker } from '../../primitives/canvas/canvasDrawing.js';
4
4
  import { resolveCanvasTheme } from '../../primitives/canvas/canvasTheme.js';
5
5
  import { useCanvasRenderer } from '../../primitives/canvas/useCanvasRenderer.js';
6
- import '../../primitives/canvas/CanvasContainer.js';
7
6
 
8
7
  function useCartesianRenderer(options) {
9
8
  const { canvasRef, point, viewport, domainX, domainY, showGrid, gridSubdivisions, showAxisLabels, showOriginAxes: showOrigin, showCrosshair, crosshairStyle, labelX, labelY, markerRadius, disabled, isHovered, isDragging, renderBackground, } = options;
@@ -1 +1 @@
1
- {"version":3,"file":"useCartesianRenderer.js","sources":["../../../../../../src/components/controls/CartesianPicker/useCartesianRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AA6CM;AAGJ;AAqBA;AACE;AACA;;;AAGA;;AAEA;AAEA;AACA;AACA;;AAGA;AACE;AACA;AACA;;;AAEA;;AAGF;;AAEA;;AAGA;AACA;;;;;;AAOI;AACA;;;;AAID;;;;;;AAOC;;;;AAID;;;AAIH;;;AAIE;;;;;AAME;;;;;;AAMD;;;;;;;AAQC;;AAED;;;;;;AAOD;AACA;AACA;;AAED;AAED;AACF;;;;;;;;;;;;;;;;;;;AAmBC;AAED;;;AAGE;AACD;AACH;;"}
1
+ {"version":3,"file":"useCartesianRenderer.js","sources":["../../../../../../src/components/controls/CartesianPicker/useCartesianRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AA6CM;AAGJ;AAqBA;AACE;AACA;;;AAGA;;AAEA;AAEA;AACA;AACA;;AAGA;AACE;AACA;AACA;;;AAEA;;AAGF;;AAEA;;AAGA;AACA;;;;;;AAOI;AACA;;;;AAID;;;;;;AAOC;;;;AAID;;;AAIH;;;AAIE;;;;;AAME;;;;;;AAMD;;;;;;;AAQC;;AAED;;;;;;AAOD;AACA;AACA;;AAED;AAED;AACF;;;;;;;;;;;;;;;;;;;AAmBC;AAED;;;AAGE;AACD;AACH;;"}
@@ -1,5 +1,5 @@
1
1
  import './../../../assets/src/components/controls/ColorPicker/ColorPicker.css.ts.vanilla-Do5nbdgO.css';
2
- import { c as createRuntimeFn } from '../../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js';
2
+ import { createRuntimeFn } from '@vanilla-extract/recipes/createRuntimeFn';
3
3
 
4
4
  var alphaGradientStyle = 'ColorPicker_alphaGradientStyle__11dms9oa';
5
5
  var alphaThumbStyle = 'ColorPicker_alphaThumbStyle__11dms9ob';
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useRef, useState, useEffect } from 'react';
4
- import { assignInlineVars } from '../../../node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js';
4
+ import { assignInlineVars } from '@vanilla-extract/dynamic';
5
5
  import { useCurveRenderer } from './useCurveRenderer.js';
6
6
  import { canvasRecipe, ariaLiveRegionStyle, canvasHeightVar, canvasContainerRecipe } from './CurveEditor.css.js';
7
7
 
@@ -1,5 +1,5 @@
1
1
  import './../../../assets/src/components/controls/CurveEditor/CurveEditor.css.ts.vanilla-Vn9SOx70.css';
2
- import { c as createRuntimeFn } from '../../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js';
2
+ import { createRuntimeFn } from '@vanilla-extract/recipes/createRuntimeFn';
3
3
 
4
4
  var ariaLiveRegionStyle = 'CurveEditor_ariaLiveRegionStyle__yuzld7f';
5
5
  var bottomBarStyle = 'CurveEditor_bottomBarStyle__yuzld78';
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useRef, useState, useMemo, useCallback } from 'react';
4
- import { assignInlineVars } from '../../../node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js';
4
+ import { assignInlineVars } from '@vanilla-extract/dynamic';
5
5
  import { vars } from '../../../theme/contract.css.js';
6
6
  import { cx } from '../../../utils/cx.js';
7
7
  import { ensureKeyframeIds, evaluateCurve } from './curveUtils.js';
@@ -1,66 +1,9 @@
1
1
  "use client";
2
2
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
- import { assignInlineVars } from '../../../node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js';
3
+ import { assignInlineVars } from '@vanilla-extract/dynamic';
4
4
  import { IconButton } from '../../primitives/IconButton/IconButton.js';
5
5
  import { Select } from '../Select/Select.js';
6
6
  import { Tooltip } from '../../primitives/Tooltip/Tooltip.js';
7
- import '../../Icons/AddIcon.js';
8
- import '../../Icons/AiChatIcon.js';
9
- import '../../Icons/AiSparklesIcon.js';
10
- import '../../Icons/ArrowDownIcon.js';
11
- import '../../Icons/ArrowLeftIcon.js';
12
- import '../../Icons/ArrowRightIcon.js';
13
- import '../../Icons/ArrowUpIcon.js';
14
- import '../../Icons/BookmarkIcon.js';
15
- import '../../Icons/CalendarIcon.js';
16
- import '../../Icons/ChevronDownIcon.js';
17
- import '../../Icons/ChevronUpIcon.js';
18
- import '../../Icons/ClockIcon.js';
19
- import '../../Icons/CloseIcon.js';
20
- import '../../Icons/CodeIcon.js';
21
- import '../../Icons/CopyIcon.js';
22
- import '../../Icons/CutIcon.js';
23
- import '../../Icons/DownloadIcon.js';
24
- import '../../Icons/EditIcon.js';
25
- import '../../Icons/ErrorIcon.js';
26
- import '../../Icons/EyeDropperIcon.js';
27
- import '../../Icons/EyeIcon.js';
28
- import '../../Icons/FilterIcon.js';
29
- import '../../Icons/FolderIcon.js';
30
- import '../../Icons/FullscreenIcon.js';
31
- import '../../Icons/GridIcon.js';
32
- import '../../Icons/HeartIcon.js';
33
- import '../../Icons/HelpIcon.js';
34
- import '../../Icons/HomeIcon.js';
35
- import '../../Icons/InfoIcon.js';
36
- import '../../Icons/LinkIcon.js';
37
- import '../../Icons/ListIcon.js';
38
- import '../../Icons/LockIcon.js';
39
- import '../../Icons/MaximizeIcon.js';
40
- import '../../Icons/MenuIcon.js';
41
- import '../../Icons/MinimizeIcon.js';
42
- import '../../Icons/PasteIcon.js';
43
- import '../../Icons/PlayIcon.js';
44
- import '../../Icons/RedoIcon.js';
45
- import '../../Icons/RefreshIcon.js';
46
- import '../../Icons/RobotIcon.js';
47
- import '../../Icons/SaveIcon.js';
48
- import '../../Icons/SearchIcon.js';
49
- import '../../Icons/SettingsIcon.js';
50
- import '../../Icons/SortIcon.js';
51
- import '../../Icons/StarIcon.js';
52
- import '../../Icons/SuccessIcon.js';
53
- import '../../Icons/TagIcon.js';
54
- import '../../Icons/TrashIcon.js';
55
- import '../../Icons/UndoIcon.js';
56
- import '../../Icons/UnlockIcon.js';
57
- import '../../Icons/UploadIcon.js';
58
- import '../../Icons/UserIcon.js';
59
- import '../../Icons/WarningIcon.js';
60
- import '../../Icons/ZoomInIcon.js';
61
- import '../../Icons/ZoomOutIcon.js';
62
- import '../../Icons/CheckIcon.js';
63
- import '../../Icons/CircleIcon.js';
64
7
  import { TangentFreeIcon } from '../../Icons/TangentFreeIcon.js';
65
8
  import { TangentAlignedIcon } from '../../Icons/TangentAlignedIcon.js';
66
9
  import { TangentMirroredIcon } from '../../Icons/TangentMirroredIcon.js';
@@ -1 +1 @@
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
+ {"version":3,"file":"CurveToolbar.js","sources":["../../../../../../src/components/controls/CurveEditor/CurveToolbar.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;AAoCA;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,7 +1,5 @@
1
1
  import { clamp } from '../../../utils/mathUtils.js';
2
2
  import { domainToCanvas as domainToCanvas$1, canvasToDomain as canvasToDomain$1 } from '../../primitives/canvas/canvasCoords.js';
3
- import 'react';
4
- import '../../primitives/canvas/CanvasContainer.js';
5
3
 
6
4
  let idCounter = 0;
7
5
  /**
@@ -67,14 +65,33 @@ function findTForX(x0, x1, x2, x3, targetX, tolerance = 1e-6, maxIterations = 20
67
65
  }
68
66
  return t;
69
67
  }
68
+ /**
69
+ * Clamp a tangent handle so its X component stays within the segment bounds.
70
+ * Uses proportional scaling to preserve the tangent angle.
71
+ *
72
+ * @param handle Handle offset relative to its keyframe
73
+ * @param maxAbsX Maximum allowed |handle.x| (typically the segment width)
74
+ */
75
+ function clampHandleToSegment(handle, maxAbsX) {
76
+ const absX = Math.abs(handle.x);
77
+ if (absX <= maxAbsX || absX < 1e-10)
78
+ return handle;
79
+ const scale = maxAbsX / absX;
80
+ return { x: handle.x * scale, y: handle.y * scale };
81
+ }
70
82
  /**
71
83
  * Get the bezier control points for a segment between two keyframes.
84
+ * Handles are clamped so that p1.x and p2.x stay within [p0.x, p3.x],
85
+ * preventing the bezier from folding back on itself (vertical spikes / loops).
72
86
  */
73
87
  function getSegmentControlPoints(kf0, kf1) {
88
+ const segWidth = kf1.x - kf0.x;
89
+ const hOut = clampHandleToSegment(kf0.handleOut, segWidth);
90
+ const hIn = clampHandleToSegment(kf1.handleIn, segWidth);
74
91
  return {
75
92
  p0: { x: kf0.x, y: kf0.y },
76
- p1: { x: kf0.x + kf0.handleOut.x, y: kf0.y + kf0.handleOut.y },
77
- p2: { x: kf1.x + kf1.handleIn.x, y: kf1.y + kf1.handleIn.y },
93
+ p1: { x: kf0.x + hOut.x, y: kf0.y + hOut.y },
94
+ p2: { x: kf1.x + hIn.x, y: kf1.y + hIn.y },
78
95
  p3: { x: kf1.x, y: kf1.y },
79
96
  };
80
97
  }
@@ -164,12 +181,24 @@ function computeAutoTangent(prev, current, next) {
164
181
  if (!prev || !next) {
165
182
  return { handleIn: { x: 0, y: 0 }, handleOut: { x: 0, y: 0 } };
166
183
  }
167
- // Middle keyframe — Catmull-Rom tangent
168
- const dx = (next.x - prev.x) * TANGENT_SCALE;
169
- const dy = (next.y - prev.y) * TANGENT_SCALE;
184
+ // Middle keyframe — Catmull-Rom tangent with per-segment scaling.
185
+ // The tangent direction comes from (next - prev), but each handle is
186
+ // scaled proportionally to its own segment length so that handles
187
+ // never overshoot into neighboring segments.
188
+ const totalDx = next.x - prev.x;
189
+ const totalDy = next.y - prev.y;
190
+ const segIn = current.x - prev.x;
191
+ const segOut = next.x - current.x;
192
+ const totalSeg = segIn + segOut || 1;
170
193
  return {
171
- handleIn: { x: -dx, y: -dy },
172
- handleOut: { x: dx, y: dy },
194
+ handleIn: {
195
+ x: -(segIn / totalSeg) * totalDx * TANGENT_SCALE,
196
+ y: -(segIn / totalSeg) * totalDy * TANGENT_SCALE,
197
+ },
198
+ handleOut: {
199
+ x: (segOut / totalSeg) * totalDx * TANGENT_SCALE,
200
+ y: (segOut / totalSeg) * totalDy * TANGENT_SCALE,
201
+ },
173
202
  };
174
203
  }
175
204
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"curveUtils.js","sources":["../../../../../../src/components/controls/CurveEditor/curveUtils.ts"],"sourcesContent":[null],"names":["sharedDomainToCanvas","sharedCanvasToDomain"],"mappings":";;;;;AAaA,IAAI,SAAS,GAAG,CAAC;AAEjB;;AAEG;SACa,kBAAkB,GAAA;IAChC,SAAS,IAAI,CAAC;IACd,OAAO,CAAA,GAAA,EAAM,IAAI,CAAC,GAAG,EAAE,CAAA,CAAA,EAAI,SAAS,EAAE;AACxC;AAEA;;;AAGG;AACG,SAAU,cAAc,CAC5B,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU,EACV,CAAS,EAAA;AAET,IAAA,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC;AAChB,IAAA,QACE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;AACjB,QAAA,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE;AACpB,QAAA,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;AACnB,QAAA,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;AAElB;AAkBA;;;AAGG;AACH,SAAS,gBAAgB,CACvB,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU,EACV,CAAS,EAAA;AAET,IAAA,MAAM,EAAE,GAAG,CAAC,GAAG,CAAC;AAChB,IAAA,QACE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC;AAE5E;AAEA;;;AAGG;SACa,SAAS,CACvB,EAAU,EACV,EAAU,EACV,EAAU,EACV,EAAU,EACV,OAAe,EACf,YAAoB,IAAI,EACxB,gBAAwB,EAAE,EAAA;;AAG1B,IAAA,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;IACvC,CAAC,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;;AAGlB,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;AACtC,QAAA,MAAM,CAAC,GAAG,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,OAAO;AACrD,QAAA,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,SAAS;AAAE,YAAA,OAAO,CAAC;AAErC,QAAA,MAAM,EAAE,GAAG,gBAAgB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;AAC9C,QAAA,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK;AAAE,YAAA,MAAM;AAEhC,QAAA,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;QACvB,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IACvB;;IAGA,IAAI,EAAE,GAAG,CAAC;IACV,IAAI,EAAE,GAAG,CAAC;IACV,CAAC,GAAG,GAAG;AACP,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;AACtC,QAAA,MAAM,CAAC,GAAG,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,GAAG,SAAS;AAAE,YAAA,OAAO,CAAC;AAE/C,QAAA,IAAI,CAAC,GAAG,OAAO,EAAE;YACf,EAAE,GAAG,CAAC;QACR;aAAO;YACL,EAAE,GAAG,CAAC;QACR;QACA,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC;IACnB;AAEA,IAAA,OAAO,CAAC;AACV;AAEA;;AAEG;AACH,SAAS,uBAAuB,CAC9B,GAAkB,EAClB,GAAkB,EAAA;IAOlB,OAAO;AACL,QAAA,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;QAC1B,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE;QAC9D,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE;AAC5D,QAAA,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;KAC3B;AACH;AAEA;;;AAGG;AACG,SAAU,aAAa,CAAC,KAAgB,EAAE,CAAS,EAAA;AACvD,IAAA,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK;AAC3B,IAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;AAAE,QAAA,OAAO,CAAC;AAEpC,IAAA,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC;IAC1B,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;AAC5C,IAAA,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI;AAAE,QAAA,OAAO,CAAC;AAE7B,IAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC;;AAG1C,IAAA,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC,CAAC;AAChC,IAAA,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC;;AAG9B,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC7C,QAAA,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC;QACxB,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC;AAC5B,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG;YAAE;AAElB,QAAA,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE;;AAE5B,YAAA,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,EAAE;gBAC9B,OAAO,GAAG,CAAC,CAAC;YACd;;AAGA,YAAA,IAAI,GAAG,CAAC,WAAW,KAAK,QAAQ,IAAI,GAAG,CAAC,WAAW,KAAK,QAAQ,EAAE;gBAChE,MAAM,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;AAC/C,gBAAA,OAAO,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC;YACvC;AAEA,YAAA,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,uBAAuB,CAAC,GAAG,EAAE,GAAG,CAAC;YAC5D,MAAM,CAAC,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9C,OAAO,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAClD;IACF;IAEA,OAAO,IAAI,CAAC,CAAC;AACf;AAEA;;;AAGG;AACG,SAAU,WAAW,CACzB,KAAgB,EAChB,UAAkB,EAAA;IAElB,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO;IAClC,MAAM,OAAO,GAAoC,EAAE;AACnD,IAAA,MAAM,IAAI,GAAG,CAAC,IAAI,GAAG,IAAI,KAAK,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC;AAElD,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;AACnC,QAAA,MAAM,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI;AACzB,QAAA,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;IACjD;AAEA,IAAA,OAAO,OAAO;AAChB;AAEA;;;AAGG;SACa,kBAAkB,CAChC,IAA0B,EAC1B,OAAsB,EACtB,IAA0B,EAAA;AAE1B,IAAA,MAAM,aAAa,GAAG,CAAC,GAAG,CAAC;AAE3B,IAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;QAClB,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IAChE;AAEA,IAAA,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;;AAEjB,QAAA,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,aAAa;AAC/C,QAAA,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,aAAa;QAC/C,OAAO;YACL,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5B,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;SAC5B;IACH;AAEA,IAAA,IAAI,CAAC,IAAI,IAAI,IAAI,EAAE;;AAEjB,QAAA,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,aAAa;AAC/C,QAAA,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,aAAa;QAC/C,OAAO;YACL,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;YAC5B,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;SAC5B;IACH;AAEA,IAAA,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;QAClB,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;IAChE;;AAGA,IAAA,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,aAAa;AAC5C,IAAA,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,aAAa;IAE5C,OAAO;QACL,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAC5B,SAAS,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE;KAC5B;AACH;AAEA;;;;AAIG;AACG,SAAU,gBAAgB,CAC9B,QAAuB,EACvB,WAAyB,EAAA;AAEzB,IAAA,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ;IAEhC,IACE,WAAW,KAAK,MAAM;AACtB,QAAA,WAAW,KAAK,MAAM;AACtB,QAAA,WAAW,KAAK,QAAQ;QACxB,WAAW,KAAK,MAAM,EACtB;AACA,QAAA,OAAO,QAAQ;IACjB;AAEA,IAAA,MAAM,KAAK,GAAG,WAAW,KAAK,IAAI,GAAG,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,SAAS;IAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AAEpE,IAAA,IAAI,WAAW,GAAG,KAAK,EAAE;AACvB,QAAA,OAAO,QAAQ;IACjB;AAEA,IAAA,IAAI,WAAW,KAAK,UAAU,EAAE;;AAE9B,QAAA,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE;QAC7C,OAAO,WAAW,KAAK;cACnB,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,QAAQ;cAClC,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE;IACzC;AAEA,IAAA,IAAI,WAAW,KAAK,SAAS,EAAE;;AAE7B,QAAA,MAAM,KAAK,GAAG,WAAW,KAAK,IAAI,GAAG,QAAQ,CAAC,SAAS,GAAG,QAAQ,CAAC,QAAQ;QAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;AAEpE,QAAA,IAAI,WAAW,GAAG,KAAK,EAAE;AACvB,YAAA,OAAO,QAAQ;QACjB;;AAGA,QAAA,MAAM,KAAK,GAAG,WAAW,GAAG,WAAW;QACvC,MAAM,QAAQ,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,EAAE;QAE7D,OAAO,WAAW,KAAK;cACnB,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,QAAQ;cAClC,EAAE,GAAG,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE;IACzC;AAEA,IAAA,OAAO,QAAQ;AACjB;AAwEA;;;AAGG;AACG,SAAU,cAAc,CAC5B,OAAe,EACf,OAAe,EACf,QAAwC,EACxC,WAAmB,EACnB,YAAoB,EAAA;AAEpB,IAAA,OAAOA,gBAAoB,CACzB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,WAAW,EACX,YAAY,CACb;AACH;AAEA;;;AAGG;AACG,SAAU,cAAc,CAC5B,EAAU,EACV,EAAU,EACV,QAAwC,EACxC,WAAmB,EACnB,YAAoB,EAAA;AAEpB,IAAA,OAAOC,gBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,CAAC;AAC1E;AAEA;;AAEG;SACa,OAAO,CACrB,EAAU,EACV,EAAU,EACV,KAAgB,EAChB,QAAuB,EACvB,WAAmB,EACnB,YAAoB,EACpB,cAAsB,EAAE,EAAA;AAExB,IAAA,MAAM,KAAK,GAAiB;AAC1B,QAAA,IAAI,EAAE,MAAM;QACZ,aAAa,EAAE,EAAE;AACjB,QAAA,QAAQ,EAAE,QAAQ;KACnB;IACD,IAAI,IAAI,GAAG,KAAK;AAEhB,IAAA,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK;;AAG3B,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACzC,QAAA,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;AACvB,QAAA,IAAI,CAAC,EAAE;YAAE;AACT,QAAA,MAAM,QAAQ,GAAG,cAAc,CAC7B,EAAE,CAAC,CAAC,EACJ,EAAE,CAAC,CAAC,EACJ,QAAQ,EACR,WAAW,EACX,YAAY,CACb;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;QAE3E,IAAI,MAAM,GAAG,WAAW,IAAI,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE;AAClD,YAAA,IAAI,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE;QACjE;;AAGA,QAAA,MAAM,SAAS,GAAG,cAAc,CAC9B,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,EACpB,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,EACpB,QAAQ,EACR,WAAW,EACX,YAAY,CACb;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CACvB,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,SAAS,CAAC,EAAE,KAAK,CAAC,CACpD;QACD,IAAI,OAAO,GAAG,WAAW,IAAI,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE;AACpD,YAAA,IAAI,GAAG,EAAE,IAAI,EAAE,UAAU,EAAE,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE;QAClE;AAEA,QAAA,MAAM,UAAU,GAAG,cAAc,CAC/B,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,EACrB,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,EACrB,QAAQ,EACR,WAAW,EACX,YAAY,CACb;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,KAAK,CAAC,CACtD;QACD,IAAI,QAAQ,GAAG,WAAW,IAAI,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE;AACtD,YAAA,IAAI,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE;QACpE;IACF;;AAGA,IAAA,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM;AAAE,QAAA,OAAO,IAAI;;AAGrC,IAAA,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE;QACzB,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC;AACvC,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACvC,YAAA,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;AACpB,YAAA,IAAI,CAAC,CAAC;gBAAE;AACR,YAAA,MAAM,OAAO,GAAG,cAAc,CAC5B,CAAC,CAAC,CAAC,EACH,CAAC,CAAC,CAAC,EACH,QAAQ,EACR,WAAW,EACX,YAAY,CACb;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;YACvE,IAAI,IAAI,GAAG,WAAW,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE;AAC9C,gBAAA,IAAI,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;YAC7D;QACF;IACF;AAEA,IAAA,OAAO,IAAI;AACb;AAEA;;AAEG;AACG,SAAU,aAAa,CAAC,SAA0B,EAAA;IACtD,OAAO,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACjD;AAEA;;AAEG;AACG,SAAU,iBAAiB,CAC/B,OAAA,GAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,EAClC,OAAA,GAA4B,CAAC,CAAC,EAAE,CAAC,CAAC,EAAA;IAElC,OAAO;AACL,QAAA,SAAS,EAAE;AACT,YAAA;AACE,gBAAA,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACb,gBAAA,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;gBACb,QAAQ,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACxB,gBAAA,SAAS,EAAE;AACT,oBAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AAChC,oBAAA,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;AACjC,iBAAA;AACD,gBAAA,WAAW,EAAE,QAAQ;gBACrB,EAAE,EAAE,kBAAkB,EAAE;AACzB,aAAA;AACD,YAAA;AACE,gBAAA,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACb,gBAAA,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC;AACb,gBAAA,QAAQ,EAAE;AACR,oBAAA,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AACjC,oBAAA,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;AAClC,iBAAA;gBACD,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE;AACzB,gBAAA,WAAW,EAAE,QAAQ;gBACrB,EAAE,EAAE,kBAAkB,EAAE;AACzB,aAAA;AACF,SAAA;QACD,OAAO;QACP,OAAO;KACR;AACH;AAEA;;AAEG;AACG,SAAU,iBAAiB,CAAC,SAA0B,EAAA;AAC1D,IAAA,OAAO,SAAS,CAAC,GAAG,CAAC,EAAE,IACrB,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,CACjD;AACH;;;;"}
1
+ {"version":3,"file":"curveUtils.js","sources":["../../../../../../src/components/controls/CurveEditor/curveUtils.ts"],"sourcesContent":[null],"names":["sharedDomainToCanvas","sharedCanvasToDomain"],"mappings":"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"}
@@ -226,6 +226,11 @@ function useCurveInteraction(options) {
226
226
  else {
227
227
  updatedKf = { ...kf, handleOut: handleOffset };
228
228
  }
229
+ // Promote auto → free when the user manually adjusts a handle.
230
+ // This prevents applyAutoTangents from overwriting the change.
231
+ if (updatedKf.tangentMode === 'auto') {
232
+ updatedKf = { ...updatedKf, tangentMode: 'free' };
233
+ }
229
234
  // Apply tangent constraints
230
235
  updatedKf = constrainTangent(updatedKf, drag.type === 'handleIn' ? 'in' : 'out');
231
236
  const newKeyframes = curve.keyframes.map((k, i) => i === drag.keyframeIndex ? updatedKf : k);
@@ -1 +1 @@
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
+ {"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;;;;;;;;AAQA;;;;AAKA;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;;"}
@@ -2,7 +2,6 @@
2
2
  import { useRef, useCallback, useEffect } from 'react';
3
3
  import { drawGrid, drawDomainBounds, drawAxisLabels } from '../../primitives/canvas/canvasDrawing.js';
4
4
  import { resolveCanvasTheme, resolveVarValue } from '../../primitives/canvas/canvasTheme.js';
5
- import '../../primitives/canvas/CanvasContainer.js';
6
5
  import { sampleCurve, domainToCanvas } from './curveUtils.js';
7
6
 
8
7
  // CanvasThemeColors and resolveCanvasTheme are now imported from shared canvas primitives
@@ -1 +1 @@
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;;"}
1
+ {"version":3,"file":"useCurveRenderer.js","sources":["../../../../../../src/components/controls/CurveEditor/useCurveRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAmDA;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;;"}
@@ -1,5 +1,5 @@
1
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';
2
+ import { createRuntimeFn } from '@vanilla-extract/recipes/createRuntimeFn';
3
3
 
4
4
  var containerDraggingStyle = 'NumberInput_containerDraggingStyle__1l9csw2';
5
5
  var containerHoveredStyle = 'NumberInput_containerHoveredStyle__1l9csw1';
@@ -50,8 +50,11 @@ function useNumberInput({ value, onChange, min, max, softMin, softMax, step = 1,
50
50
  // Calculate default step sizes if not provided
51
51
  const effectivePrecisionStep = precisionStep ?? step / 10;
52
52
  const effectiveLargeStep = largeStep ?? step * 10;
53
+ const effectivePrecision = precision ?? 2;
53
54
  // State
54
- const [displayValue, setDisplayValue] = useState(() => formatValue ? formatValue(value) : defaultFormatValue(value, precision));
55
+ const [displayValue, setDisplayValue] = useState(() => formatValue
56
+ ? formatValue(value)
57
+ : defaultFormatValue(value, effectivePrecision));
55
58
  const [isEditing, setIsEditing] = useState(false);
56
59
  const [isDragging, setIsDragging] = useState(false);
57
60
  const [isHovered, setIsHovered] = useState(false);
@@ -68,11 +71,11 @@ function useNumberInput({ value, onChange, min, max, softMin, softMax, step = 1,
68
71
  if (!isEditing && !isDragging) {
69
72
  const formatted = formatValue
70
73
  ? formatValue(value)
71
- : defaultFormatValue(value, precision);
74
+ : defaultFormatValue(value, effectivePrecision);
72
75
  setDisplayValue(formatted);
73
76
  setError(undefined);
74
77
  }
75
- }, [value, precision, isEditing, isDragging, formatValue]);
78
+ }, [value, effectivePrecision, isEditing, isDragging, formatValue]);
76
79
  /**
77
80
  * Gets the appropriate step size based on modifier keys
78
81
  */
@@ -97,7 +100,7 @@ function useNumberInput({ value, onChange, min, max, softMin, softMax, step = 1,
97
100
  if (disabled)
98
101
  return;
99
102
  // Apply rounding
100
- const rounded = roundToPrecision(newValue, precision);
103
+ const rounded = roundToPrecision(newValue, effectivePrecision);
101
104
  // Apply limits
102
105
  const minLimit = useSoftLimits && softMin !== undefined ? softMin : min;
103
106
  const maxLimit = useSoftLimits && softMax !== undefined ? softMax : max;
@@ -105,7 +108,7 @@ function useNumberInput({ value, onChange, min, max, softMin, softMax, step = 1,
105
108
  if (clamped !== value) {
106
109
  onChange(clamped);
107
110
  }
108
- }, [disabled, precision, min, max, softMin, softMax, value, onChange]);
111
+ }, [disabled, effectivePrecision, min, max, softMin, softMax, value, onChange]);
109
112
  /**
110
113
  * Parses and applies text input value
111
114
  */
@@ -190,7 +193,7 @@ function useNumberInput({ value, onChange, min, max, softMin, softMax, step = 1,
190
193
  // Update display to show current value
191
194
  const formatted = formatValue
192
195
  ? formatValue(newValue)
193
- : defaultFormatValue(newValue, precision);
196
+ : defaultFormatValue(newValue, effectivePrecision);
194
197
  setDisplayValue(formatted);
195
198
  }
196
199
  }, [
@@ -200,7 +203,7 @@ function useNumberInput({ value, onChange, min, max, softMin, softMax, step = 1,
200
203
  dragSensitivity,
201
204
  applyValue,
202
205
  formatValue,
203
- precision,
206
+ effectivePrecision,
204
207
  ]);
205
208
  const endDrag = useCallback(() => {
206
209
  setIsDragging(false);
@@ -208,18 +211,21 @@ function useNumberInput({ value, onChange, min, max, softMin, softMax, step = 1,
208
211
  // Refresh display value to ensure it matches the current value
209
212
  const formatted = formatValue
210
213
  ? formatValue(value)
211
- : defaultFormatValue(value, precision);
214
+ : defaultFormatValue(value, effectivePrecision);
212
215
  setDisplayValue(formatted);
213
- }, [value, formatValue, precision]);
216
+ }, [value, formatValue, effectivePrecision]);
214
217
  const startEditing = useCallback(() => {
215
218
  if (disabled)
216
219
  return;
217
220
  setIsEditing(true);
218
221
  setError(undefined);
219
- // Select all text when starting to edit
222
+ // Place cursor at end of input
220
223
  setTimeout(() => {
221
224
  const input = document.activeElement;
222
- input?.select();
225
+ if (input) {
226
+ const len = input.value.length;
227
+ input.setSelectionRange(len, len);
228
+ }
223
229
  }, 0);
224
230
  }, [disabled]);
225
231
  const endEditing = useCallback(() => {
@@ -232,10 +238,10 @@ function useNumberInput({ value, onChange, min, max, softMin, softMax, step = 1,
232
238
  setIsEditing(false);
233
239
  const formatted = formatValue
234
240
  ? formatValue(value)
235
- : defaultFormatValue(value, precision);
241
+ : defaultFormatValue(value, effectivePrecision);
236
242
  setDisplayValue(formatted);
237
243
  setError(undefined);
238
- }, [value, precision, formatValue]);
244
+ }, [value, effectivePrecision, formatValue]);
239
245
  const updateDisplayValue = useCallback((newValue) => {
240
246
  setDisplayValue(newValue);
241
247
  // Clear error when user starts typing
@@ -1 +1 @@
1
- {"version":3,"file":"useNumberInput.js","sources":["../../../../../../src/components/controls/NumberInput/useNumberInput.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAwMA;;AAEG;AACH;;AAEE;;AACA;;AACA;AACF;AAEA;;AAEG;AACH;;AAC+B;;;AAG/B;AAEA;;AAEG;AACH;AACE;AACE;;;AAGF;AACF;AAEA;;;;;;;;;;;;AAYG;;;AAmBD;AACA;;AAGA;;;;;;;AAUA;AACA;AACA;;AAGA;;;AAIE;;AAEI;AACA;;;;AAIN;AAEA;;AAEG;AACH;;AACuB;AACrB;AAAyC;AACzC;AACF;AACE;AACA;AACA;;;;AAID;AAED;;AAEG;;AAGC;;;;;AAMA;AACA;;AAGA;;;AAGF;AAIF;;AAEG;AACH;AACE;;;AAGI;;;;AAIE;;;;;AAMF;;AAEE;;AAEA;;;AAEA;AACA;;;;AAKJ;AACA;;;AAGE;;;AAIF;;;;AAGA;AACA;;;;AAKJ;AACE;;AACA;AACA;;AAGF;AACE;;AACA;AACA;;AAGF;AAEI;;;AAEA;AACA;AACA;;AAEF;AAIF;;;AAII;AACA;;;AAIA;;;;;AAME;;;AAIA;;;AAIE;AACA;;;AAGN;;;;;;;;AASC;AAGH;;;;;AAKI;AACA;;;AAIJ;AACE;;;;;;AAKE;;;AAGJ;AAEA;;;;;AAKA;AAEA;;;AAGI;AACA;;;;AAKJ;;;;;;AAOE;AAIF;AAEI;;AAEA;AACE;;;AAGI;;;AAEA;;;AAIJ;;;AAGI;;;AAIJ;;;AAGI;;;AAIJ;;;AAGI;;;AAIJ;;;;AAII;;;;AAIR;;;;;;;;;;AAWC;;;;;;;;;;;AAcD;;;;;;;;;;;AAYA;AACA;;;AAGJ;;"}
1
+ {"version":3,"file":"useNumberInput.js","sources":["../../../../../../src/components/controls/NumberInput/useNumberInput.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAyMA;;AAEG;AACH;;AAEE;;AACA;;AACA;AACF;AAEA;;AAEG;AACH;;AAC+B;;;AAG/B;AAEA;;AAEG;AACH;AACE;AACE;;;AAGF;AACF;AAEA;;;;;;;;;;;;AAYG;;;AAmBD;AACA;AACA;;;AAKI;;;;;;;;AAUJ;AACA;AACA;;AAGA;;;AAIE;;AAEI;AACA;;;;AAIN;AAEA;;AAEG;AACH;;AACuB;AACrB;AAAyC;AACzC;AACF;AACE;AACA;AACA;;;;AAID;AAED;;AAEG;;AAGC;;;;;AAMA;AACA;;AAGA;;;AAGF;AAIF;;AAEG;AACH;AACE;;;AAGI;;;;AAIE;;;;;AAMF;;AAEE;;AAEA;;;AAEA;AACA;;;;AAKJ;AACA;;;AAGE;;;AAIF;;;;AAGA;AACA;;;;AAKJ;AACE;;AACA;AACA;;AAGF;AACE;;AACA;AACA;;AAGF;AAEI;;;AAEA;AACA;AACA;;AAEF;AAIF;;;AAII;AACA;;;AAIA;;;;;AAME;;;AAIA;;;AAIE;AACA;;;AAGN;;;;;;;;AASC;AAGH;;;;;AAKI;AACA;;;AAIJ;AACE;;;;;;AAKE;;AAEE;AACA;;;AAGN;AAEA;;;;;AAKA;AAEA;;;AAGI;AACA;;;;AAKJ;;;;;;AAOE;AAIF;AAEI;;AAEA;AACE;;;AAGI;;;AAEA;;;AAIJ;;;AAGI;;;AAIJ;;;AAGI;;;AAIJ;;;AAGI;;;AAIJ;;;;AAII;;;;AAIR;;;;;;;;;;AAWC;;;;;;;;;;;AAcD;;;;;;;;;;;AAYA;AACA;;;AAGJ;;"}
@@ -1,5 +1,5 @@
1
1
  import './../../../assets/src/components/controls/Select/Select.css.ts.vanilla-D4C059Ua.css';
2
- import { c as createRuntimeFn } from '../../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js';
2
+ import { createRuntimeFn } from '@vanilla-extract/recipes/createRuntimeFn';
3
3
 
4
4
  var checkmarkStyle = 'Select_checkmarkStyle__ycpn7018';
5
5
  var chevronRecipe = createRuntimeFn({defaultClassName:'Select_chevronRecipe__ycpn70q',variantClassNames:{open:{true:'Select_chevronRecipe_open_true__ycpn70r',false:'Select_chevronRecipe_open_false__ycpn70s'}},defaultVariants:{open:false},compoundVariants:[]});
@@ -4,7 +4,6 @@ import { useId, useRef, useState, useMemo, useCallback, useEffect } from 'react'
4
4
  import { createPortal } from 'react-dom';
5
5
  import { FormLabel } from '../../form/FormLabel.js';
6
6
  import { FormHelperText } from '../../form/FormHelperText.js';
7
- import '../../form/InputWrapper.js';
8
7
  import { ScrollArea } from '../../layout/ScrollArea/ScrollArea.js';
9
8
  import { cx } from '../../../utils/cx.js';
10
9
  import { triggerContentStyle, clearButtonStyle, chevronRecipe, triggerRecipe, dropdownStyle, searchInputStyle, optionsListStyle, selectContainerStyle, emptyMessageStyle, groupLabelStyle, checkmarkStyle, optionItemRecipe } from './Select.css.js';
@@ -1 +1 @@
1
- {"version":3,"file":"Select.js","sources":["../../../../../../src/components/controls/Select/Select.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;AAoCA;AAEA;AAGE;AACF;AAEA;;AAIE;AACE;;;;AAGE;;;AAGJ;AACF;AAEA;AAIE;;AAEF;AAEA;AAEA;AACE;AACA;AACA;;AAGF;AAEA;AAkBA;AAEA;;;;;;;;;;;;;;;;;;;AAmBG;;AA+BD;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAGA;;;;AAQA;;;AAIA;;AAGA;AACA;AACE;AAAiC;AACjC;;;AAIF;;AAMA;AACE;AACA;;AAEA;;AAEA;AAGA;;AAGI;AAEJ;;AAEE;AACA;AACE;;AAEI;AACD;AACH;AACH;AACH;AAEA;AACE;;;;AAGA;AACA;;AAEF;AAEA;;;AAGE;AACA;AACA;AACF;AAEA;;;;AAKI;AACA;;;;;AAQA;;;;AAII;AACF;;;;;;AAOJ;;AAEA;AACE;;;AAKE;;AAEJ;AAEA;;AAEF;;AAGA;;AAIO;AAIP;AAEI;;AAEA;;;AAIE;AACE;;AAEF;;;AAGA;;AAGI;AAEA;;;;;;AAKJ;AACE;;;;;;;;;AASN;;AAKF;AAEI;;AAEA;AACE;AACA;AACA;;;AAGI;;;AAGJ;;;AAGI;;;;;;AASV;AAEI;AACE;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;AAII;AAEA;AACA;AACE;;;;AAIN;;AAEE;;;AAGN;AAIF;;;AAIE;AAIF;AACA;;AAGA;AAEI;AACA;;;;AAGG;AACC;;AAEN;;;AAMA;AACE;;;;AAMF;;;AAGI;AACE;;AAEA;AAEA;AAIM;AACA;AACF;;;;AAON;AACF;;AAGF;AACF;AAEA;AACE;AACA;AAEA;AAOM;AACA;AACA;AACD;AAEC;AACE;;AAEJ;AAEE;;;AAGF;AAyBN;AAEA;;;AA8BQ;;;;AAID;AAgDD;AAkBU;AACA;AACF;AA0BhB;AAEA;;"}
1
+ {"version":3,"file":"Select.js","sources":["../../../../../../src/components/controls/Select/Select.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;AAoCA;AAEA;AAGE;AACF;AAEA;;AAIE;AACE;;;;AAGE;;;AAGJ;AACF;AAEA;AAIE;;AAEF;AAEA;AAEA;AACE;AACA;AACA;;AAGF;AAEA;AAkBA;AAEA;;;;;;;;;;;;;;;;;;;AAmBG;;AA+BD;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;AAGA;;;;AAQA;;;AAIA;;AAGA;AACA;AACE;AAAiC;AACjC;;;AAIF;;AAMA;AACE;AACA;;AAEA;;AAEA;AAGA;;AAGI;AAEJ;;AAEE;AACA;AACE;;AAEI;AACD;AACH;AACH;AACH;AAEA;AACE;;;;AAGA;AACA;;AAEF;AAEA;;;AAGE;AACA;AACA;AACF;AAEA;;;;AAKI;AACA;;;;;AAQA;;;;AAII;AACF;;;;;;AAOJ;;AAEA;AACE;;;AAKE;;AAEJ;AAEA;;AAEF;;AAGA;;AAIO;AAIP;AAEI;;AAEA;;;AAIE;AACE;;AAEF;;;AAGA;;AAGI;AAEA;;;;;;AAKJ;AACE;;;;;;;;;AASN;;AAKF;AAEI;;AAEA;AACE;AACA;AACA;;;AAGI;;;AAGJ;;;AAGI;;;;;;AASV;AAEI;AACE;;;;AAIA;;;;AAIA;;;;AAIA;;;;AAIA;;;AAII;AAEA;AACA;AACE;;;;AAIN;;AAEE;;;AAGN;AAIF;;;AAIE;AAIF;AACA;;AAGA;AAEI;AACA;;;;AAGG;AACC;;AAEN;;;AAMA;AACE;;;;AAMF;;;AAGI;AACE;;AAEA;AAEA;AAIM;AACA;AACF;;;;AAON;AACF;;AAGF;AACF;AAEA;AACE;AACA;AAEA;AAOM;AACA;AACA;AACD;AAEC;AACE;;AAEJ;AAEE;;;AAGF;AAyBN;AAEA;;;AA8BQ;;;;AAID;AAgDD;AAkBU;AACA;AACF;AA0BhB;AAEA;;"}
@@ -1,5 +1,5 @@
1
1
  import './../../../assets/src/components/controls/Slider/Slider.css.ts.vanilla-C5SJ_7A1.css';
2
- import { c as createRuntimeFn } from '../../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js';
2
+ import { createRuntimeFn } from '@vanilla-extract/recipes/createRuntimeFn';
3
3
 
4
4
  var fillPercentageVar = 'var(--fillPercentageVar__t8kxxs0)';
5
5
  var fillRecipe = createRuntimeFn({defaultClassName:'Slider_fillRecipe__t8kxxsd',variantClassNames:{error:{true:'Slider_fillRecipe_error_true__t8kxxse',false:'Slider_fillRecipe_error_false__t8kxxsf'},isDragging:{true:'Slider_fillRecipe_isDragging_true__t8kxxsg',false:'Slider_fillRecipe_isDragging_false__t8kxxsh'}},defaultVariants:{error:false,isDragging:false},compoundVariants:[]});
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import React, { useState, useRef, useCallback, useEffect } from 'react';
4
- import { assignInlineVars } from '../../../node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js';
4
+ import { assignInlineVars } from '@vanilla-extract/dynamic';
5
5
  import { useKeyboardContext } from '../../../context/KeyboardContext.js';
6
6
  import { FormLabel } from '../../form/FormLabel.js';
7
7
  import { FormHelperText } from '../../form/FormHelperText.js';
@@ -1 +1 @@
1
- {"version":3,"file":"Slider.js","sources":["../../../../../../src/components/controls/Slider/Slider.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;AA0KA;;AAEG;AACH;AACE;AACF;AAEA;;AAEG;AACH;;AAC+B;;;AAG/B;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDG;AACI;;;;AAkCL;AACA;AACA;AAIA;;AAGA;AACA;AACA;;AAGA;;AACuB;AACrB;AAAyC;AACzC;AACF;AACE;AACA;AACA;;;;AAID;;;AAIC;AACA;;;AAGI;AACA;AAEN;;AAEG;AACH;;;;;;;AASI;;;AAGF;AAIF;;AAEG;AACH;;AAE2B;;;;;AAOvB;;AAGA;AACA;;AAKJ;;AAEG;AACH;;;;;;;;;;;AAcM;;AAEJ;AAIF;;AAEG;AACH;AAEI;;;;;;;AAMA;;AAKJ;;AAEG;AACH;;;AAGE;;AAGF;;AAEG;AACH;;;AAII;;AAGA;AACE;AACA;AACE;;AAEF;AACA;AACE;;AAEF;;;AAGA;;;AAGA;AACE;;AAEF;AACE;;AAEF;;;;;;AAQF;AACF;;;;;;;;;;AAWC;AAGH;;AAEG;AACH;;AAGI;AACF;AAIF;;AAGI;AACF;;;AAMA;;AAEA;AACA;AAEA;AACE;AACA;AACF;;;AAIF;AAEA;AAEA;AAmBQ;AACA;AACA;AACA;;AA0BM;;AAQF;;AAgBE;AACD;AAef;AAEA;;"}
1
+ {"version":3,"file":"Slider.js","sources":["../../../../../../src/components/controls/Slider/Slider.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;AA4KA;;AAEG;AACH;AACE;AACF;AAEA;;AAEG;AACH;;AAC+B;;;AAG/B;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDG;AACI;;;;AAkCL;AACA;AACA;AAIA;;AAGA;AACA;AACA;;AAGA;;AACuB;AACrB;AAAyC;AACzC;AACF;AACE;AACA;AACA;;;;AAID;;;AAIC;AACA;;;AAGI;AACA;AAEN;;AAEG;AACH;;;;;;;AASI;;;AAGF;AAIF;;AAEG;AACH;;AAE2B;;;;;AAOvB;;AAGA;AACA;;AAKJ;;AAEG;AACH;;;;;;;;;;;AAcM;;AAEJ;AAIF;;AAEG;AACH;AAEI;;;;;;;AAMA;;AAKJ;;AAEG;AACH;;;AAGE;;AAGF;;AAEG;AACH;;;AAII;;AAGA;AACE;AACA;AACE;;AAEF;AACA;AACE;;AAEF;;;AAGA;;;AAGA;AACE;;AAEF;AACE;;AAEF;;;;;;AAQF;AACF;;;;;;;;;;AAWC;AAGH;;AAEG;AACH;;AAGI;AACF;AAIF;;AAGI;AACF;;;AAMA;;AAEA;AACA;AAEA;AACE;AACA;AACF;;;AAIF;AAEA;AAEA;AAmBQ;AACA;AACA;AACA;;AA0BM;;AAQF;;AAgBE;AACD;AAef;AAEA;;"}
@@ -1,5 +1,5 @@
1
1
  import './../../../assets/src/components/controls/TreeView/TreeNode.css.ts.vanilla-D3ylUhuW.css';
2
- import { c as createRuntimeFn } from '../../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js';
2
+ import { createRuntimeFn } from '@vanilla-extract/recipes/createRuntimeFn';
3
3
 
4
4
  var actionsStyle = 'TreeNode_actionsStyle__8ws3nev';
5
5
  var chevronRecipe = createRuntimeFn({defaultClassName:'TreeNode_chevronRecipe__8ws3nef',variantClassNames:{size:{sm:'TreeNode_chevronRecipe_size_sm__8ws3neg',md:'TreeNode_chevronRecipe_size_md__8ws3neh',lg:'TreeNode_chevronRecipe_size_lg__8ws3nei'},expanded:{true:'TreeNode_chevronRecipe_expanded_true__8ws3nej',false:'TreeNode_chevronRecipe_expanded_false__8ws3nek'},visible:{true:'TreeNode_chevronRecipe_visible_true__8ws3nel',false:'TreeNode_chevronRecipe_visible_false__8ws3nem'}},defaultVariants:{size:'md',expanded:false,visible:true},compoundVariants:[]});
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
3
  import { useState, useRef, useCallback } from 'react';
4
- import { assignInlineVars } from '../../../node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js';
4
+ import { assignInlineVars } from '@vanilla-extract/dynamic';
5
5
  import { guideLineStyle, guideLineLeftVar, chevronRecipe, iconRecipe, renameInputRecipe, labelRecipe, actionsStyle, paddingLeftVar, rowRecipe } from './TreeNode.css.js';
6
6
 
7
7
  // --- Size configurations ---
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { jsx } from 'react/jsx-runtime';
3
3
  import React, { useRef, useCallback } from 'react';
4
- import { assignInlineVars } from '../../../node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js';
4
+ import { assignInlineVars } from '@vanilla-extract/dynamic';
5
5
  import { useTreeState } from './useTreeState.js';
6
6
  import { TreeNodeComponent } from './TreeNode.js';
7
7
  import { cx } from '../../../utils/cx.js';
@@ -1,5 +1,5 @@
1
1
  import './../../../assets/src/components/controls/VectorInput/VectorInput.css.ts.vanilla-BJma3iQ4.css';
2
- import { c as createRuntimeFn } from '../../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js';
2
+ import { createRuntimeFn } from '@vanilla-extract/recipes/createRuntimeFn';
3
3
 
4
4
  var axisColorVar = 'var(--axisColorVar__1osrtmk0)';
5
5
  var axisInputStyle = 'VectorInput_axisInputStyle__1osrtmk6';
@@ -1,8 +1,9 @@
1
1
  "use client";
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import React, { useState, useRef, useCallback } from 'react';
4
- import { assignInlineVars } from '../../../node_modules/@vanilla-extract/dynamic/dist/vanilla-extract-dynamic.esm.js';
4
+ import { assignInlineVars } from '@vanilla-extract/dynamic';
5
5
  import { NumberInput } from '../NumberInput/NumberInput.js';
6
+ import '../../../utils/mathExpression.js';
6
7
  import { FormLabel } from '../../form/FormLabel.js';
7
8
  import { FormHelperText } from '../../form/FormHelperText.js';
8
9
  import { cx } from '../../../utils/cx.js';