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
@@ -0,0 +1,191 @@
1
+ "use client";
2
+ import { useCallback } from 'react';
3
+ import { resolveCanvasTheme } from '../../primitives/canvas/canvasTheme.js';
4
+ import { useCanvasRenderer } from '../../primitives/canvas/useCanvasRenderer.js';
5
+ import '../../primitives/canvas/CanvasContainer.js';
6
+ import { projectAxes } from './gizmoMath.js';
7
+
8
+ const SIZE_PRESETS = {
9
+ sm: {
10
+ labelFontSize: 9,
11
+ fontWeight: 600,
12
+ armWidthPositive: 1.5,
13
+ armWidthNegative: 0.75,
14
+ tipRadius: 4,
15
+ tipHoverRadius: 5,
16
+ originRadius: 4,
17
+ },
18
+ md: {
19
+ labelFontSize: 11,
20
+ fontWeight: 600,
21
+ armWidthPositive: 2.5,
22
+ armWidthNegative: 1,
23
+ tipRadius: 5,
24
+ tipHoverRadius: 7,
25
+ originRadius: 5,
26
+ },
27
+ lg: {
28
+ labelFontSize: 13,
29
+ fontWeight: 600,
30
+ armWidthPositive: 3,
31
+ armWidthNegative: 1.5,
32
+ tipRadius: 6,
33
+ tipHoverRadius: 8,
34
+ originRadius: 6,
35
+ },
36
+ };
37
+ // ─── Default Axis Colors ───
38
+ const AXIS_COLORS = {
39
+ x: '#E63946',
40
+ y: '#6AA84F',
41
+ z: '#4A86C8',
42
+ };
43
+ function useGizmoRenderer(options) {
44
+ const { canvasRef, orientation, diameter, upAxis, size, axisColors, axisLabels, axisVisible, showLabels, showNegativeAxes, showOrbitRing, showOriginHandle, background, disabled, isDragging, hoveredRegion, } = options;
45
+ const draw = useCallback(() => {
46
+ const canvas = canvasRef.current;
47
+ if (!canvas)
48
+ return;
49
+ const ctx = canvas.getContext('2d');
50
+ if (!ctx)
51
+ return;
52
+ const dpr = typeof window !== 'undefined' ? window.devicePixelRatio || 1 : 1;
53
+ const rect = canvas.getBoundingClientRect();
54
+ const w = rect.width;
55
+ const h = rect.height;
56
+ if (canvas.width !== w * dpr || canvas.height !== h * dpr) {
57
+ canvas.width = w * dpr;
58
+ canvas.height = h * dpr;
59
+ ctx.scale(dpr, dpr);
60
+ }
61
+ else {
62
+ ctx.setTransform(dpr, 0, 0, dpr, 0, 0);
63
+ }
64
+ const theme = resolveCanvasTheme(canvas);
65
+ const preset = SIZE_PRESETS[size];
66
+ const opacity = disabled ? 0.4 : 1;
67
+ const center = { x: w / 2, y: h / 2 };
68
+ const armLength = (diameter / 2) * 0.65;
69
+ // 1. Clear / background
70
+ ctx.clearRect(0, 0, w, h);
71
+ if (background === 'subtle') {
72
+ ctx.globalAlpha = opacity * 0.15;
73
+ ctx.fillStyle = theme.backgroundSecondary;
74
+ ctx.beginPath();
75
+ ctx.arc(center.x, center.y, diameter / 2, 0, Math.PI * 2);
76
+ ctx.fill();
77
+ }
78
+ else if (background === 'solid') {
79
+ ctx.globalAlpha = opacity;
80
+ ctx.fillStyle = theme.backgroundSecondary;
81
+ ctx.fillRect(0, 0, w, h);
82
+ }
83
+ ctx.globalAlpha = opacity;
84
+ // 2. Orbit ring
85
+ if (showOrbitRing) {
86
+ ctx.strokeStyle = theme.borderDefault;
87
+ ctx.lineWidth = 1;
88
+ ctx.globalAlpha = opacity * 0.3;
89
+ ctx.beginPath();
90
+ ctx.arc(center.x, center.y, armLength * 1.1, 0, Math.PI * 2);
91
+ ctx.stroke();
92
+ ctx.globalAlpha = opacity;
93
+ }
94
+ // 3. Draw arms — depth sorted (furthest first = painter's algorithm)
95
+ const arms = projectAxes(orientation, center, armLength, upAxis);
96
+ for (const arm of arms) {
97
+ if (!axisVisible[arm.axis])
98
+ continue;
99
+ if (!arm.positive && !showNegativeAxes)
100
+ continue;
101
+ const color = axisColors[arm.axis] ?? AXIS_COLORS[arm.axis] ?? '#888';
102
+ const isHovered = hoveredRegion.axis === arm.axis &&
103
+ ((arm.positive && hoveredRegion.type === 'axis-positive') ||
104
+ (!arm.positive && hoveredRegion.type === 'axis-negative'));
105
+ const alpha = arm.positive ? 1.0 : 0.35;
106
+ const lineWidth = arm.positive
107
+ ? preset.armWidthPositive
108
+ : preset.armWidthNegative;
109
+ // Draw arm line
110
+ ctx.globalAlpha = opacity * alpha;
111
+ ctx.strokeStyle = color;
112
+ ctx.lineWidth = lineWidth;
113
+ ctx.lineCap = 'round';
114
+ ctx.beginPath();
115
+ ctx.moveTo(center.x, center.y);
116
+ ctx.lineTo(arm.screenX, arm.screenY);
117
+ ctx.stroke();
118
+ // Draw tip handle (positive arms only)
119
+ if (arm.positive) {
120
+ const tipR = isHovered ? preset.tipHoverRadius : preset.tipRadius;
121
+ ctx.globalAlpha = opacity;
122
+ ctx.fillStyle = color;
123
+ ctx.beginPath();
124
+ ctx.arc(arm.screenX, arm.screenY, tipR, 0, Math.PI * 2);
125
+ ctx.fill();
126
+ // Draw label
127
+ if (showLabels) {
128
+ const label = axisLabels[arm.axis] ?? arm.axis.toUpperCase();
129
+ const labelOffset = tipR + preset.labelFontSize * 0.6;
130
+ // Position label outward from center
131
+ const dx = arm.screenX - center.x;
132
+ const dy = arm.screenY - center.y;
133
+ const dist = Math.sqrt(dx * dx + dy * dy) || 1;
134
+ const nx = dx / dist;
135
+ const ny = dy / dist;
136
+ const lx = arm.screenX + nx * labelOffset;
137
+ const ly = arm.screenY + ny * labelOffset;
138
+ ctx.globalAlpha = opacity;
139
+ ctx.fillStyle = color;
140
+ ctx.font = `${preset.fontWeight} ${preset.labelFontSize}px sans-serif`;
141
+ ctx.textAlign = 'center';
142
+ ctx.textBaseline = 'middle';
143
+ ctx.fillText(label, lx, ly);
144
+ }
145
+ }
146
+ }
147
+ // 4. Origin handle
148
+ if (showOriginHandle) {
149
+ const isOriginHovered = hoveredRegion.type === 'origin';
150
+ const originR = isOriginHovered
151
+ ? preset.originRadius + 1.5
152
+ : preset.originRadius;
153
+ ctx.globalAlpha = opacity * 0.6;
154
+ ctx.fillStyle = theme.textSecondary;
155
+ ctx.beginPath();
156
+ ctx.arc(center.x, center.y, originR, 0, Math.PI * 2);
157
+ ctx.fill();
158
+ // Border ring
159
+ ctx.globalAlpha = opacity * 0.3;
160
+ ctx.strokeStyle = theme.textMuted;
161
+ ctx.lineWidth = 1;
162
+ ctx.stroke();
163
+ }
164
+ ctx.globalAlpha = 1;
165
+ }, [
166
+ canvasRef,
167
+ orientation,
168
+ diameter,
169
+ upAxis,
170
+ size,
171
+ axisColors,
172
+ axisLabels,
173
+ axisVisible,
174
+ showLabels,
175
+ showNegativeAxes,
176
+ showOrbitRing,
177
+ showOriginHandle,
178
+ background,
179
+ disabled,
180
+ isDragging,
181
+ hoveredRegion,
182
+ ]);
183
+ useCanvasRenderer({
184
+ draw,
185
+ deps: [draw],
186
+ paused: false,
187
+ });
188
+ }
189
+
190
+ export { AXIS_COLORS, useGizmoRenderer };
191
+ //# sourceMappingURL=useGizmoRenderer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useGizmoRenderer.js","sources":["../../../../../../src/components/editor/ViewportGizmo/useGizmoRenderer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AA6BA;AACE;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AACD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AACD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;AACD;;AAGH;AAEA;AACE;AACA;AACA;;AAwBI;AACJ;AAmBA;AACE;AACA;;;AAGA;;AAEA;AAEA;AACA;AACA;AAEA;AACE;AACA;AACA;;;AAEA;;AAGF;AACA;;AAEA;;;;AAMA;AACE;AACA;;;;;AAIK;AACL;AACA;;;AAIF;;;AAIE;AACA;AACA;;;;AAIA;;;AAIF;AAEA;AACE;;AACA;;AAEA;;;AAII;AAEJ;AACA;;AAEE;;AAGF;AACA;AACA;AACA;;;;;;AAOA;AACE;AACA;AACA;;;;;;AAOE;;;;;AAMA;AACA;AACA;;;AAIA;AACA;AACA;AACA;AACA;;;;;;;AAQJ;;AAEE;AACA;AAEF;AACA;;;;;AAMA;AACA;AACA;;;AAIF;AACF;;;;;;;;;;;;;;;;;AAiBC;AAED;;;AAGE;AACD;AACH;;"}
@@ -0,0 +1,16 @@
1
+ import './../../../assets/src/components/feedback/Dialog/Dialog.css.ts.vanilla-BrXTOHwS.css';
2
+ import { c as createRuntimeFn } from '../../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js';
3
+
4
+ var DIALOG_ANIMATION_MS = 200;
5
+ var dialogBodyStyle = 'Dialog_dialogBodyStyle__ickl0cl';
6
+ var dialogCloseButtonStyle = 'Dialog_dialogCloseButtonStyle__ickl0ck';
7
+ var dialogDescriptionStyle = 'Dialog_dialogDescriptionStyle__ickl0cj';
8
+ var dialogFooterRecipe = createRuntimeFn({defaultClassName:'Dialog_dialogFooterRecipe__ickl0cm',variantClassNames:{align:{left:'Dialog_dialogFooterRecipe_align_left__ickl0cn',center:'Dialog_dialogFooterRecipe_align_center__ickl0co',right:'Dialog_dialogFooterRecipe_align_right__ickl0cp','space-between':'Dialog_dialogFooterRecipe_align_space-between__ickl0cq'}},defaultVariants:{align:'right'},compoundVariants:[]});
9
+ var dialogHeaderContentStyle = 'Dialog_dialogHeaderContentStyle__ickl0ch';
10
+ var dialogHeaderStyle = 'Dialog_dialogHeaderStyle__ickl0cg';
11
+ var dialogPanelRecipe = createRuntimeFn({defaultClassName:'Dialog_dialogPanelBase__ickl0c7',variantClassNames:{size:{sm:'Dialog_dialogPanelRecipe_size_sm__ickl0c9',md:'Dialog_dialogPanelRecipe_size_md__ickl0ca',lg:'Dialog_dialogPanelRecipe_size_lg__ickl0cb',xl:'Dialog_dialogPanelRecipe_size_xl__ickl0cc',fullscreen:'Dialog_dialogPanelRecipe_size_fullscreen__ickl0cd'},closing:{true:'Dialog_dialogPanelRecipe_closing_true__ickl0ce',false:'Dialog_dialogPanelRecipe_closing_false__ickl0cf'}},defaultVariants:{size:'md',closing:false},compoundVariants:[]});
12
+ var dialogTitleStyle = 'Dialog_dialogTitleStyle__ickl0ci';
13
+ var overlayRecipe = createRuntimeFn({defaultClassName:'Dialog_overlayRecipe__ickl0c4',variantClassNames:{closing:{true:'Dialog_overlayRecipe_closing_true__ickl0c5',false:'Dialog_overlayRecipe_closing_false__ickl0c6'}},defaultVariants:{closing:false},compoundVariants:[]});
14
+
15
+ export { DIALOG_ANIMATION_MS, dialogBodyStyle, dialogCloseButtonStyle, dialogDescriptionStyle, dialogFooterRecipe, dialogHeaderContentStyle, dialogHeaderStyle, dialogPanelRecipe, dialogTitleStyle, overlayRecipe };
16
+ //# sourceMappingURL=Dialog.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Dialog.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}
@@ -1,9 +1,11 @@
1
+ "use client";
1
2
  import { jsxs, jsx } from 'react/jsx-runtime';
2
3
  import { useId, useRef, useCallback, createContext, useContext } from 'react';
3
4
  import { createPortal } from 'react-dom';
4
- import { StyledOverlay, StyledDialogPanel } from './Dialog.styled.js';
5
+ import { overlayRecipe, dialogPanelRecipe } from './Dialog.css.js';
5
6
  import { useDialogAnimation } from './useDialogAnimation.js';
6
7
  import { useFocusTrap } from './useFocusTrap.js';
8
+ import { cx } from '../../../utils/cx.js';
7
9
 
8
10
  // --- Context ---
9
11
  const DialogContext = /*#__PURE__*/ createContext(null);
@@ -34,7 +36,7 @@ function useDialogContext() {
34
36
  * </Dialog>
35
37
  * ```
36
38
  */
37
- const Dialog = ({ open, onClose, size = 'md', title, description, closeOnOverlayClick = true, closeOnEscape = true, showOverlay = true, trapFocus = true, initialFocusRef, portal = true, children, className, style, css, testId, id, ref, ...rest }) => {
39
+ const Dialog = ({ open, onClose, size = 'md', title, description, closeOnOverlayClick = true, closeOnEscape = true, showOverlay = true, trapFocus = true, initialFocusRef, portal = true, children, className, style, testId, id, ref, ...rest }) => {
38
40
  const autoId = useId();
39
41
  const titleId = `dialog-title-${autoId}`;
40
42
  const descriptionId = `dialog-desc-${autoId}`;
@@ -70,7 +72,7 @@ const Dialog = ({ open, onClose, size = 'md', title, description, closeOnOverlay
70
72
  titleId,
71
73
  descriptionId,
72
74
  };
73
- const dialogContent = (jsxs(DialogContext.Provider, { value: contextValue, children: [showOverlay && (jsx(StyledOverlay, { "$closing": closing, onClick: handleOverlayClick, "data-testid": testId ? `${testId}-overlay` : undefined })), jsxs(StyledDialogPanel, { ref: (node) => {
75
+ const dialogContent = (jsxs(DialogContext.Provider, { value: contextValue, children: [showOverlay && (jsx("div", { className: overlayRecipe({ closing }), onClick: handleOverlayClick, "data-testid": testId ? `${testId}-overlay` : undefined })), jsxs("div", { ref: (node) => {
74
76
  panelRef.current =
75
77
  node;
76
78
  if (typeof ref === 'function') {
@@ -80,7 +82,7 @@ const Dialog = ({ open, onClose, size = 'md', title, description, closeOnOverlay
80
82
  ref.current =
81
83
  node;
82
84
  }
83
- }, role: "dialog", "aria-modal": "true", "aria-labelledby": title ? titleId : undefined, "aria-describedby": description ? descriptionId : undefined, tabIndex: -1, "$size": size, "$closing": closing, "$css": css, className: className, style: style, id: id, "data-testid": testId, onKeyDown: handleKeyDown, ...rest, children: [title && (jsx("span", { id: titleId, style: { display: 'none' }, children: title })), description && (jsx("span", { id: descriptionId, style: { display: 'none' }, children: description })), children] })] }));
85
+ }, role: "dialog", "aria-modal": "true", "aria-labelledby": title ? titleId : undefined, "aria-describedby": description ? descriptionId : undefined, tabIndex: -1, className: cx(dialogPanelRecipe({ size, closing }), className), style: style, id: id, "data-testid": testId, onKeyDown: handleKeyDown, ...rest, children: [title && (jsx("span", { id: titleId, style: { display: 'none' }, children: title })), description && (jsx("span", { id: descriptionId, style: { display: 'none' }, children: description })), children] })] }));
84
86
  if (portal) {
85
87
  return createPortal(dialogContent, document.body);
86
88
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sources":["../../../../../../src/components/feedback/Dialog/Dialog.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"Dialog.js","sources":["../../../../../../src/components/feedback/Dialog/Dialog.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAgBA;AAEA;;AAKE;;AAEE;;AAIF;AACF;AAEA;AAEA;;;;;;;;;;;;;;;;;;AAkBG;AACI;AAoBL;AACA;AACA;AACA;AAEA;;;;AAIC;;AAGC;AACA;AACD;AAED;;;;AAKM;;;;;;AASN;;AAGM;;AAEJ;AAIF;AAAc;AAEd;;;;;;AAiBS;AACC;AACF;;;;AAGG;AACC;;;;;;AAmCZ;AACF;AAEA;;"}
@@ -1,18 +1,8 @@
1
+ "use client";
1
2
  import { jsx } from 'react/jsx-runtime';
2
- import styled from '@emotion/styled';
3
- import { processCss } from '../../../utils/styledUtils.js';
3
+ import { cx } from '../../../utils/cx.js';
4
+ import { dialogBodyStyle } from './Dialog.css.js';
4
5
 
5
- // --- Styled components ---
6
- const StyledBody = styled.div `
7
- padding: ${props => props.theme.spacing.lg}px;
8
- overflow-y: auto;
9
- flex: 1;
10
- color: ${props => props.theme.colors.text.primary};
11
- font-size: ${props => props.theme.typography.fontSize.md}px;
12
- line-height: ${props => props.theme.typography.lineHeight.normal};
13
-
14
- ${props => processCss(props.$css, props.theme)}
15
- `;
16
6
  // --- Component ---
17
7
  /**
18
8
  * DialogBody renders the scrollable content area of a Dialog.
@@ -24,8 +14,8 @@ const StyledBody = styled.div `
24
14
  * </DialogBody>
25
15
  * ```
26
16
  */
27
- const DialogBody = ({ children, className, style, css, testId, ref, ...rest }) => {
28
- return (jsx(StyledBody, { ref: ref, className: className, style: style, "$css": css, "data-testid": testId, ...rest, children: children }));
17
+ const DialogBody = ({ children, className, style, testId, ref, ...rest }) => {
18
+ return (jsx("div", { ref: ref, className: cx(dialogBodyStyle, className), style: style, "data-testid": testId, ...rest, children: children }));
29
19
  };
30
20
  DialogBody.displayName = 'DialogBody';
31
21
 
@@ -1 +1 @@
1
- {"version":3,"file":"DialogBody.js","sources":["../../../../../../src/components/feedback/Dialog/DialogBody.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;AAKA;AAEA,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAE3B;aACW,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;;;WAGjC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAA;eACpC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAA;iBACzC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAA;;AAE9D,EAAA,EAAA,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;CAC/C;AAED;AAEA;;;;;;;;;AASG;MACU,UAAU,GAA8B,CAAC,EACpD,QAAQ,EACR,SAAS,EACT,KAAK,EACL,GAAG,EACH,MAAM,EACN,GAAG,EACH,GAAG,IAAI,EACR,KAAI;IACH,QACEA,GAAC,CAAA,UAAU,EACT,EAAA,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACN,MAAA,EAAA,GAAG,EACI,aAAA,EAAA,MAAM,EACf,GAAA,IAAI,EAEP,QAAA,EAAA,QAAQ,EACE,CAAA;AAEjB;AAEA,UAAU,CAAC,WAAW,GAAG,YAAY;;;;"}
1
+ {"version":3,"file":"DialogBody.js","sources":["../../../../../../src/components/feedback/Dialog/DialogBody.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAOA;AAEA;;;;;;;;;AASG;;;AAoBH;AAEA;;"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import React from 'react';
2
3
  import { useDialogContext } from './Dialog.js';
3
4
 
@@ -1 +1 @@
1
- {"version":3,"file":"DialogClose.js","sources":["../../../../../../src/components/feedback/Dialog/DialogClose.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;AAQA;;;;;;;;;AASG;MACU,WAAW,GAA+B,CAAC,EAAE,QAAQ,EAAE,KAAI;AACtE,IAAA,MAAM,EAAE,OAAO,EAAE,GAAG,gBAAgB,EAAE;AAEtC,IAAA,OAAO,KAAK,CAAC,YAAY,CAAC,QAAQ,EAAE;AAClC,QAAA,OAAO,EAAE,CAAC,CAAmB,KAAI;YAC/B,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC;AAC3B,YAAA,OAAO,EAAE;SACV;AACF,KAAA,CAAC;AACJ;AAEA,WAAW,CAAC,WAAW,GAAG,aAAa;;;;"}
1
+ {"version":3,"file":"DialogClose.js","sources":["../../../../../../src/components/feedback/Dialog/DialogClose.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;AAUA;;;;;;;;;AASG;;AAED;AAEA;AACE;;AAEE;;AAEH;AACH;AAEA;;"}
@@ -1,27 +1,8 @@
1
+ "use client";
1
2
  import { jsx } from 'react/jsx-runtime';
2
- import styled from '@emotion/styled';
3
- import { processCss } from '../../../utils/styledUtils.js';
3
+ import { cx } from '../../../utils/cx.js';
4
+ import { dialogFooterRecipe } from './Dialog.css.js';
4
5
 
5
- // --- Alignment map ---
6
- const ALIGN_MAP = {
7
- left: 'flex-start',
8
- center: 'center',
9
- right: 'flex-end',
10
- 'space-between': 'space-between',
11
- };
12
- // --- Styled components ---
13
- const StyledFooter = styled.div `
14
- display: flex;
15
- align-items: center;
16
- justify-content: ${props => ALIGN_MAP[props.$align]};
17
- gap: ${props => props.theme.spacing.md}px;
18
- padding: ${props => props.theme.spacing.md}px
19
- ${props => props.theme.spacing.lg}px;
20
- border-top: 1px solid ${props => props.theme.colors.border.default};
21
- flex-shrink: 0;
22
-
23
- ${props => processCss(props.$css, props.theme)}
24
- `;
25
6
  // --- Component ---
26
7
  /**
27
8
  * DialogFooter renders the action area at the bottom of a Dialog.
@@ -34,8 +15,8 @@ const StyledFooter = styled.div `
34
15
  * </DialogFooter>
35
16
  * ```
36
17
  */
37
- const DialogFooter = ({ children, align = 'right', className, style, css, testId, ref, ...rest }) => {
38
- return (jsx(StyledFooter, { ref: ref, "$align": align, className: className, style: style, "$css": css, "data-testid": testId, ...rest, children: children }));
18
+ const DialogFooter = ({ children, align = 'right', className, style, testId, ref, ...rest }) => {
19
+ return (jsx("div", { ref: ref, className: cx(dialogFooterRecipe({ align }), className), style: style, "data-testid": testId, ...rest, children: children }));
39
20
  };
40
21
  DialogFooter.displayName = 'DialogFooter';
41
22
 
@@ -1 +1 @@
1
- {"version":3,"file":"DialogFooter.js","sources":["../../../../../../src/components/feedback/Dialog/DialogFooter.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;AAKA;AAEA,MAAM,SAAS,GAA4D;AACzE,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,MAAM,EAAE,QAAQ;AAChB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,eAAe,EAAE,eAAe;CACjC;AAED;AAEA,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAG7B;;;qBAGmB,KAAK,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;SAC5C,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;aAC3B,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;MACtC,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAA;0BACX,KAAK,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAA;;;AAGhE,EAAA,EAAA,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC;CAC/C;AAED;AAEA;;;;;;;;;;AAUG;AACU,MAAA,YAAY,GAAgC,CAAC,EACxD,QAAQ,EACR,KAAK,GAAG,OAAO,EACf,SAAS,EACT,KAAK,EACL,GAAG,EACH,MAAM,EACN,GAAG,EACH,GAAG,IAAI,EACR,KAAI;IACH,QACEA,GAAC,CAAA,YAAY,EACX,EAAA,GAAG,EAAE,GAAG,EACA,QAAA,EAAA,KAAK,EACb,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACN,MAAA,EAAA,GAAG,EACI,aAAA,EAAA,MAAM,EACf,GAAA,IAAI,EAEP,QAAA,EAAA,QAAQ,EACI,CAAA;AAEnB;AAEA,YAAY,CAAC,WAAW,GAAG,cAAc;;;;"}
1
+ {"version":3,"file":"DialogFooter.js","sources":["../../../../../../src/components/feedback/Dialog/DialogFooter.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAOA;AAEA;;;;;;;;;;AAUG;AACI;AASL;AAWF;AAEA;;"}
@@ -1,67 +1,9 @@
1
+ "use client";
1
2
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import styled from '@emotion/styled';
3
- import { processCss } from '../../../utils/styledUtils.js';
4
3
  import { useDialogContext } from './Dialog.js';
4
+ import { cx } from '../../../utils/cx.js';
5
+ import { dialogHeaderContentStyle, dialogTitleStyle, dialogDescriptionStyle, dialogCloseButtonStyle, dialogHeaderStyle } from './Dialog.css.js';
5
6
 
6
- // --- Styled components ---
7
- const StyledHeader = styled.div `
8
- display: flex;
9
- align-items: flex-start;
10
- justify-content: space-between;
11
- padding: ${props => props.theme.spacing.md}px
12
- ${props => props.theme.spacing.lg}px;
13
- border-bottom: 1px solid ${props => props.theme.colors.border.default};
14
- flex-shrink: 0;
15
-
16
- ${props => processCss(props.$css, props.theme)}
17
- `;
18
- const StyledHeaderContent = styled.div `
19
- display: flex;
20
- flex-direction: column;
21
- gap: ${props => props.theme.spacing.xs}px;
22
- min-width: 0;
23
- flex: 1;
24
- `;
25
- const StyledTitle = styled.div `
26
- font-size: ${props => props.theme.typography.fontSize.lg}px;
27
- font-weight: ${props => props.theme.typography.fontWeight.semibold};
28
- color: ${props => props.theme.colors.text.primary};
29
- line-height: ${props => props.theme.typography.lineHeight.tight};
30
- `;
31
- const StyledDescription = styled.div `
32
- font-size: ${props => props.theme.typography.fontSize.sm}px;
33
- color: ${props => props.theme.colors.text.secondary};
34
- line-height: ${props => props.theme.typography.lineHeight.normal};
35
- `;
36
- const StyledCloseButton = styled.button `
37
- display: flex;
38
- align-items: center;
39
- justify-content: center;
40
- width: 24px;
41
- height: 24px;
42
- padding: 0;
43
- margin: 0;
44
- margin-left: ${props => props.theme.spacing.md}px;
45
- border: none;
46
- border-radius: ${props => props.theme.borderRadius.sm}px;
47
- background: transparent;
48
- color: ${props => props.theme.colors.text.secondary};
49
- cursor: pointer;
50
- flex-shrink: 0;
51
- transition:
52
- background ${props => props.theme.transitions.fast},
53
- color ${props => props.theme.transitions.fast};
54
-
55
- &:hover {
56
- background: ${props => props.theme.colors.surface.hover};
57
- color: ${props => props.theme.colors.text.primary};
58
- }
59
-
60
- &:focus-visible {
61
- outline: none;
62
- box-shadow: ${props => props.theme.shadows.focus};
63
- }
64
- `;
65
7
  // --- Component ---
66
8
  /**
67
9
  * DialogHeader renders the title, optional description, and close button
@@ -74,9 +16,9 @@ const StyledCloseButton = styled.button `
74
16
  * </DialogHeader>
75
17
  * ```
76
18
  */
77
- const DialogHeader = ({ children, showClose = true, description, className, style, css, testId, ref, ...rest }) => {
19
+ const DialogHeader = ({ children, showClose = true, description, className, style, testId, ref, ...rest }) => {
78
20
  const { onClose, titleId, descriptionId } = useDialogContext();
79
- return (jsxs(StyledHeader, { ref: ref, className: className, style: style, "$css": css, "data-testid": testId, ...rest, children: [jsxs(StyledHeaderContent, { children: [jsx(StyledTitle, { id: titleId, children: children }), description && (jsx(StyledDescription, { id: descriptionId, children: description }))] }), showClose && (jsx(StyledCloseButton, { type: "button", onClick: onClose, "aria-label": "Close dialog", "data-testid": testId ? `${testId}-close` : undefined, children: jsx("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M1 1L11 11M11 1L1 11", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }) }))] }));
21
+ return (jsxs("div", { ref: ref, className: cx(dialogHeaderStyle, className), style: style, "data-testid": testId, ...rest, children: [jsxs("div", { className: dialogHeaderContentStyle, children: [jsx("div", { id: titleId, className: dialogTitleStyle, children: children }), description && (jsx("div", { id: descriptionId, className: dialogDescriptionStyle, children: description }))] }), showClose && (jsx("button", { type: "button", onClick: onClose, "aria-label": "Close dialog", className: dialogCloseButtonStyle, "data-testid": testId ? `${testId}-close` : undefined, children: jsx("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: jsx("path", { d: "M1 1L11 11M11 1L1 11", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }) }))] }));
80
22
  };
81
23
  DialogHeader.displayName = 'DialogHeader';
82
24
 
@@ -1 +1 @@
1
- {"version":3,"file":"DialogHeader.js","sources":["../../../../../../src/components/feedback/Dialog/DialogHeader.tsx"],"sourcesContent":[null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"DialogHeader.js","sources":["../../../../../../src/components/feedback/Dialog/DialogHeader.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;AAcA;AAEA;;;;;;;;;;AAUG;AACI;;AAYL;AA4CF;AAEA;;"}
@@ -1,6 +1,7 @@
1
+ "use client";
1
2
  import { useState, useRef, useEffect } from 'react';
2
3
  import { FOCUSABLE_SELECTOR } from './useFocusTrap.js';
3
- import { DIALOG_ANIMATION_MS } from './Dialog.styled.js';
4
+ import { DIALOG_ANIMATION_MS } from './Dialog.css.js';
4
5
 
5
6
  /**
6
7
  * Manages Dialog mount/unmount animation lifecycle and focus management.
@@ -1 +1 @@
1
- {"version":3,"file":"useDialogAnimation.js","sources":["../../../../../../src/components/feedback/Dialog/useDialogAnimation.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAeA;;;;;;;AAOG;AACG,SAAU,kBAAkB,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,eAAe,GACW,EAAA;IAC1B,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IAC7C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;AAC7C,IAAA,MAAM,gBAAgB,GAAG,MAAM,CAAqB,IAAI,CAAC;AACzD,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC;IAEhC,SAAS,CAAC,MAAK;QACb,IAAI,IAAI,EAAE;;AAER,YAAA,gBAAgB,CAAC,OAAO,GAAG,QAAQ,CAAC,aAA4B;YAChE,UAAU,CAAC,KAAK,CAAC;YACjB,UAAU,CAAC,IAAI,CAAC;AAChB,YAAA,UAAU,CAAC,OAAO,GAAG,IAAI;;AACpB,aAAA,IAAI,UAAU,CAAC,OAAO,EAAE;;AAE7B,YAAA,UAAU,CAAC,OAAO,GAAG,KAAK;YAC1B,UAAU,CAAC,IAAI,CAAC;AAChB,YAAA,MAAM,KAAK,GAAG,UAAU,CAAC,MAAK;gBAC5B,UAAU,CAAC,KAAK,CAAC;gBACjB,UAAU,CAAC,KAAK,CAAC;;AAGjB,gBAAA,IAAI,gBAAgB,CAAC,OAAO,EAAE;AAC5B,oBAAA,gBAAgB,CAAC,OAAO,CAAC,KAAK,EAAE;AAChC,oBAAA,gBAAgB,CAAC,OAAO,GAAG,IAAI;;aAElC,EAAE,mBAAmB,CAAC;AACvB,YAAA,OAAO,MAAM,YAAY,CAAC,KAAK,CAAC;;AAElC,QAAA,OAAO,SAAS;AAClB,KAAC,EAAE,CAAC,IAAI,CAAC,CAAC;;IAGV,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO;YAAE;AAEvB,QAAA,MAAM,KAAK,GAAG,UAAU,CAAC,MAAK;AAC5B,YAAA,IAAI,eAAe,EAAE,OAAO,EAAE;AAC5B,gBAAA,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE;;iBAC1B;AACL,gBAAA,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO;gBAC9B,IAAI,KAAK,EAAE;oBACT,MAAM,cAAc,GAAG,KAAK,CAAC,aAAa,CACxC,kBAAkB,CACJ;oBAChB,IAAI,cAAc,EAAE;wBAClB,cAAc,CAAC,KAAK,EAAE;;yBACjB;wBACL,KAAK,CAAC,KAAK,EAAE;;;;SAIpB,EAAE,CAAC,CAAC;AACL,QAAA,OAAO,MAAM,YAAY,CAAC,KAAK,CAAC;KACjC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,CAAC,CAAC;AAE9C,IAAA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE;AAC7B;;;;"}
1
+ {"version":3,"file":"useDialogAnimation.js","sources":["../../../../../../src/components/feedback/Dialog/useDialogAnimation.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAiBA;;;;;;;AAOG;AACG;;;AAOJ;AACA;;;;AAKI;;;AAGA;;AACK;;AAEL;;AAEA;;;;AAKE;AACE;AACA;;;AAGJ;;AAEF;AACF;;;AAIE;;AAEA;AACE;AACE;;;AAEA;;;;;;;;;;;;AAaJ;;AAGF;AACF;;"}
@@ -1,3 +1,4 @@
1
+ "use client";
1
2
  import { useCallback } from 'react';
2
3
 
3
4
  const FOCUSABLE_SELECTOR = [
@@ -1 +1 @@
1
- {"version":3,"file":"useFocusTrap.js","sources":["../../../../../../src/components/feedback/Dialog/useFocusTrap.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAEA,MAAM,kBAAkB,GAAG;IACzB,SAAS;IACT,wBAAwB;IACxB,uBAAuB;IACvB,0BAA0B;IAC1B,wBAAwB;IACxB,iCAAiC;AAClC,CAAA,CAAC,IAAI,CAAC,IAAI;AAOX;;;;;;;;;;;;;AAaG;AACG,SAAU,YAAY,CAAC,EAC3B,YAAY,EACZ,OAAO,GAAG,IAAI,GACM,EAAA;AACpB,IAAA,OAAO,WAAW,CAChB,CAAC,CAAgB,KAAI;AACnB,QAAA,IAAI,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,KAAK;YAAE;AAEjC,QAAA,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO;AACtC,QAAA,IAAI,CAAC,SAAS;YAAE;AAEhB,QAAA,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAClC,SAAS,CAAC,gBAAgB,CAAc,kBAAkB,CAAC,CAC5D;AAED,QAAA,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE;YAClC,CAAC,CAAC,cAAc,EAAE;YAClB;;AAGF,QAAA,MAAM,YAAY,GAAG,iBAAiB,CAAC,CAAC,CAAgB;QACxD,MAAM,WAAW,GAAG,iBAAiB,CACnC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CACd;AAEhB,QAAA,IAAI,CAAC,CAAC,QAAQ,EAAE;AACd,YAAA,IAAI,QAAQ,CAAC,aAAa,KAAK,YAAY,EAAE;gBAC3C,CAAC,CAAC,cAAc,EAAE;gBAClB,WAAW,CAAC,KAAK,EAAE;;;aAEhB;AACL,YAAA,IAAI,QAAQ,CAAC,aAAa,KAAK,WAAW,EAAE;gBAC1C,CAAC,CAAC,cAAc,EAAE;gBAClB,YAAY,CAAC,KAAK,EAAE;;;AAG1B,KAAC,EACD,CAAC,OAAO,EAAE,YAAY,CAAC,CACxB;AACH;;;;"}
1
+ {"version":3,"file":"useFocusTrap.js","sources":["../../../../../../src/components/feedback/Dialog/useFocusTrap.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAIA;;;;;;;AAOC;AAOD;;;;;;;;;;;;;AAaG;AACG;AAIJ;AAEI;;AAEA;AACA;;AAEA;AAIA;;;;AAKA;;AAKA;AACE;;;;;;AAKA;;;;;AAKJ;AAGJ;;"}
@@ -0,0 +1,10 @@
1
+ import './../../../assets/src/components/feedback/Toast/ToastContainer.css.ts.vanilla-tBLsZ_70.css';
2
+
3
+ var container = 'ToastContainer_container__155m4yq2';
4
+ var containerNormal = 'ToastContainer_containerNormal__155m4yq4';
5
+ var containerReverse = 'ToastContainer_containerReverse__155m4yq3';
6
+ var gapVar = 'var(--gapVar__155m4yq0)';
7
+ var zIndexVar = 'var(--zIndexVar__155m4yq1)';
8
+
9
+ export { container, containerNormal, containerReverse, gapVar, zIndexVar };
10
+ //# sourceMappingURL=ToastContainer.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastContainer.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
@@ -1,6 +1,9 @@
1
+ "use client";
1
2
  import { jsx } 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';
4
+ import { cx } from '../../../utils/cx.js';
3
5
  import { ToastItem } from './ToastItem.js';
6
+ import { zIndexVar, gapVar, containerReverse, containerNormal, container } from './ToastContainer.css.js';
4
7
 
5
8
  // --- Position style map ---
6
9
  const POSITION_STYLES = {
@@ -11,14 +14,6 @@ const POSITION_STYLES = {
11
14
  'bottom-left': { bottom: 16, left: 16 },
12
15
  'bottom-center': { bottom: 16, left: '50%', transform: 'translateX(-50%)' },
13
16
  };
14
- const StyledContainer = styled.div `
15
- position: fixed;
16
- display: flex;
17
- flex-direction: ${props => (props.$isBottom ? 'column-reverse' : 'column')};
18
- gap: ${props => props.$gap}px;
19
- z-index: ${props => props.$zIndex};
20
- pointer-events: none;
21
- `;
22
17
  /**
23
18
  * ToastContainer positions toast items at the specified screen edge.
24
19
  * Bottom positions use column-reverse so the newest toast appears at the bottom.
@@ -26,7 +21,14 @@ const StyledContainer = styled.div `
26
21
  const ToastContainer = ({ toasts, position, gap, zIndex, onDismiss, }) => {
27
22
  const isBottom = position.startsWith('bottom');
28
23
  const positionStyle = POSITION_STYLES[position];
29
- return (jsx(StyledContainer, { "$gap": gap, "$zIndex": zIndex, "$isBottom": isBottom, style: positionStyle, "aria-label": "Notifications", role: "region", children: toasts.map(toast => (jsx(ToastItem, { toast: toast, onDismiss: onDismiss }, toast.id))) }));
24
+ const inlineVars = assignInlineVars({
25
+ [gapVar]: `${gap}px`,
26
+ [zIndexVar]: String(zIndex),
27
+ });
28
+ return (jsx("div", { className: cx(container, isBottom ? containerReverse : containerNormal), style: {
29
+ ...positionStyle,
30
+ ...inlineVars,
31
+ }, "aria-label": "Notifications", role: "region", children: toasts.map(toast => (jsx(ToastItem, { toast: toast, onDismiss: onDismiss }, toast.id))) }));
30
32
  };
31
33
  ToastContainer.displayName = 'ToastContainer';
32
34
 
@@ -1 +1 @@
1
- {"version":3,"file":"ToastContainer.js","sources":["../../../../../../src/components/feedback/Toast/ToastContainer.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":";;;;AAKA;AAEA,MAAM,eAAe,GAA+C;IAClE,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IACnC,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;AACjC,IAAA,YAAY,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE;IACrE,cAAc,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE;IACzC,aAAa,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;AACvC,IAAA,eAAe,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,kBAAkB,EAAE;CAC5E;AAUD,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAsB;;;AAGpC,kBAAA,EAAA,KAAK,KAAK,KAAK,CAAC,SAAS,GAAG,gBAAgB,GAAG,QAAQ,CAAC,CAAA;AACnE,OAAA,EAAA,KAAK,IAAI,KAAK,CAAC,IAAI,CAAA;AACf,WAAA,EAAA,KAAK,IAAI,KAAK,CAAC,OAAO,CAAA;;CAElC;AAYD;;;AAGG;AACU,MAAA,cAAc,GAAkC,CAAC,EAC5D,MAAM,EACN,QAAQ,EACR,GAAG,EACH,MAAM,EACN,SAAS,GACV,KAAI;IACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC;AAC9C,IAAA,MAAM,aAAa,GAAG,eAAe,CAAC,QAAQ,CAAC;IAE/C,QACEA,IAAC,eAAe,EAAA,EAAA,MAAA,EACR,GAAG,EACA,SAAA,EAAA,MAAM,EACJ,WAAA,EAAA,QAAQ,EACnB,KAAK,EAAE,aAAa,EAAA,YAAA,EACT,eAAe,EAC1B,IAAI,EAAC,QAAQ,EAAA,QAAA,EAEZ,MAAM,CAAC,GAAG,CAAC,KAAK,KACfA,GAAA,CAAC,SAAS,EAAgB,EAAA,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAA,EAA5C,KAAK,CAAC,EAAE,CAAwC,CACjE,CAAC,EACc,CAAA;AAEtB;AAEA,cAAc,CAAC,WAAW,GAAG,gBAAgB;;;;"}
1
+ {"version":3,"file":"ToastContainer.js","sources":["../../../../../../src/components/feedback/Toast/ToastContainer.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;AAeA;AAEA;;;AAGE;;;AAGA;;AAaF;;;AAGG;AACI;;AAQL;;AAGE;AACA;AACD;;AAMK;AACA;AACD;AASP;AAEA;;"}
@@ -0,0 +1,16 @@
1
+ import './../../../assets/src/components/feedback/Toast/ToastItem.css.ts.vanilla-D6UuPKAj.css';
2
+ import { c as createRuntimeFn } from '../../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js';
3
+
4
+ var actionButton = createRuntimeFn({defaultClassName:'ToastItem_actionButton__xlinlde',variantClassNames:{severity:{info:'ToastItem_actionButton_severity_info__xlinldf',success:'ToastItem_actionButton_severity_success__xlinldg',warning:'ToastItem_actionButton_severity_warning__xlinldh',error:'ToastItem_actionButton_severity_error__xlinldi'}},defaultVariants:{severity:'info'},compoundVariants:[]});
5
+ var closeButton = 'ToastItem_closeButton__xlinldd';
6
+ var content = 'ToastItem_content__xlinld8';
7
+ var iconWrapper = 'ToastItem_iconWrapper__xlinld9';
8
+ var message = 'ToastItem_message__xlinldc';
9
+ var progressBar = createRuntimeFn({defaultClassName:'ToastItem_progressBar__xlinldj',variantClassNames:{severity:{info:'ToastItem_progressBar_severity_info__xlinldk',success:'ToastItem_progressBar_severity_success__xlinldl',warning:'ToastItem_progressBar_severity_warning__xlinldm',error:'ToastItem_progressBar_severity_error__xlinldn'},paused:{true:'ToastItem_progressBar_paused_true__xlinldo',false:'ToastItem_progressBar_paused_false__xlinldp'}},defaultVariants:{severity:'info',paused:false},compoundVariants:[]});
10
+ var progressDurationVar = 'var(--progressDurationVar__xlinld0)';
11
+ var textContent = 'ToastItem_textContent__xlinlda';
12
+ var titleStyle = 'ToastItem_titleStyle__xlinldb';
13
+ var toast = createRuntimeFn({defaultClassName:'ToastItem_toast__xlinld3',variantClassNames:{severity:{info:'ToastItem_toast_severity_info__xlinld4',success:'ToastItem_toast_severity_success__xlinld5',warning:'ToastItem_toast_severity_warning__xlinld6',error:'ToastItem_toast_severity_error__xlinld7'}},defaultVariants:{severity:'info'},compoundVariants:[]});
14
+
15
+ export { actionButton, closeButton, content, iconWrapper, message, progressBar, progressDurationVar, textContent, titleStyle, toast };
16
+ //# sourceMappingURL=ToastItem.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastItem.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;"}