entangle-ui 0.10.0 → 0.12.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 (589) hide show
  1. package/CHANGELOG.md +145 -0
  2. package/README.md +7 -5
  3. package/dist/esm/assets/src/components/controls/Select/{Select.css.ts.vanilla-oZnFUorL.css → Select.css.ts.vanilla-Cpu2BvWL.css} +3 -0
  4. package/dist/esm/assets/src/components/controls/Slider/{Slider.css.ts.vanilla-Cqm3fQ0S.css → Slider.css.ts.vanilla-CLf_RC0A.css} +50 -47
  5. package/dist/esm/assets/src/components/editor/PropertyInspector/{PropertyPanel.css.ts.vanilla-RYv_XgOu.css → PropertyPanel.css.ts.vanilla-Dpr_k5I3.css} +4 -1
  6. package/dist/esm/assets/src/components/editor/PropertyInspector/{PropertyRow.css.ts.vanilla-C3YZnnHb.css → PropertyRow.css.ts.vanilla-pq1Uhd2a.css} +15 -8
  7. package/dist/esm/assets/src/components/editor/PropertyInspector/{PropertySection.css.ts.vanilla-DK12opZc.css → PropertySection.css.ts.vanilla-6MWWAqyd.css} +50 -32
  8. package/dist/esm/assets/src/components/navigation/Menu/{Menu.css.ts.vanilla-B5iVe5S2.css → Menu.css.ts.vanilla-Bhh1L5yl.css} +14 -11
  9. package/dist/esm/assets/src/components/primitives/Tooltip/{Tooltip.css.ts.vanilla-CrEFoLBX.css → Tooltip.css.ts.vanilla-BqaiGrFQ.css} +12 -9
  10. package/dist/esm/assets/src/components/shell/AppShell/{AppShell.css.ts.vanilla-BYmtU0O_.css → AppShell.css.ts.vanilla-BLK2-DRL.css} +1 -0
  11. package/dist/esm/assets/src/components/shell/MenuBar/{MenuBar.css.ts.vanilla-TgPcl4yA.css → MenuBar.css.ts.vanilla-Dt3w4f-q.css} +18 -6
  12. package/dist/esm/components/Icons/AddIcon.js.map +1 -1
  13. package/dist/esm/components/Icons/AiChatIcon.js.map +1 -1
  14. package/dist/esm/components/Icons/AiSparklesIcon.js.map +1 -1
  15. package/dist/esm/components/Icons/ArchiveIcon.js.map +1 -1
  16. package/dist/esm/components/Icons/ArrowDownIcon.js.map +1 -1
  17. package/dist/esm/components/Icons/ArrowLeftIcon.js.map +1 -1
  18. package/dist/esm/components/Icons/ArrowRightIcon.js.map +1 -1
  19. package/dist/esm/components/Icons/ArrowUpIcon.js.map +1 -1
  20. package/dist/esm/components/Icons/BookmarkIcon.js.map +1 -1
  21. package/dist/esm/components/Icons/BugIcon.js.map +1 -1
  22. package/dist/esm/components/Icons/BuildingIcon.js.map +1 -1
  23. package/dist/esm/components/Icons/CalendarIcon.js.map +1 -1
  24. package/dist/esm/components/Icons/CameraIcon.js +31 -0
  25. package/dist/esm/components/Icons/CameraIcon.js.map +1 -0
  26. package/dist/esm/components/Icons/CheckIcon.js.map +1 -1
  27. package/dist/esm/components/Icons/ChevronDownIcon.js.map +1 -1
  28. package/dist/esm/components/Icons/ChevronLeftIcon.js.map +1 -1
  29. package/dist/esm/components/Icons/ChevronRightIcon.js.map +1 -1
  30. package/dist/esm/components/Icons/ChevronUpIcon.js.map +1 -1
  31. package/dist/esm/components/Icons/CircleIcon.js.map +1 -1
  32. package/dist/esm/components/Icons/ClockIcon.js.map +1 -1
  33. package/dist/esm/components/Icons/CloseIcon.js.map +1 -1
  34. package/dist/esm/components/Icons/CloudUploadIcon.js.map +1 -1
  35. package/dist/esm/components/Icons/CodeIcon.js.map +1 -1
  36. package/dist/esm/components/Icons/CopyIcon.js.map +1 -1
  37. package/dist/esm/components/Icons/CubeIcon.js +31 -0
  38. package/dist/esm/components/Icons/CubeIcon.js.map +1 -0
  39. package/dist/esm/components/Icons/CutIcon.js.map +1 -1
  40. package/dist/esm/components/Icons/DotsHorizontalIcon.js.map +1 -1
  41. package/dist/esm/components/Icons/DotsVerticalIcon.js.map +1 -1
  42. package/dist/esm/components/Icons/DownloadIcon.js.map +1 -1
  43. package/dist/esm/components/Icons/EditIcon.js.map +1 -1
  44. package/dist/esm/components/Icons/ErrorIcon.js.map +1 -1
  45. package/dist/esm/components/Icons/ExternalLinkIcon.js.map +1 -1
  46. package/dist/esm/components/Icons/EyeDropperIcon.js.map +1 -1
  47. package/dist/esm/components/Icons/EyeIcon.js.map +1 -1
  48. package/dist/esm/components/Icons/FileTextIcon.js.map +1 -1
  49. package/dist/esm/components/Icons/FilterIcon.js.map +1 -1
  50. package/dist/esm/components/Icons/FirstIcon.js.map +1 -1
  51. package/dist/esm/components/Icons/FolderCogIcon.js.map +1 -1
  52. package/dist/esm/components/Icons/FolderIcon.js.map +1 -1
  53. package/dist/esm/components/Icons/FolderOpenIcon.js.map +1 -1
  54. package/dist/esm/components/Icons/FullscreenIcon.js.map +1 -1
  55. package/dist/esm/components/Icons/GitBranchIcon.js.map +1 -1
  56. package/dist/esm/components/Icons/GridIcon.js.map +1 -1
  57. package/dist/esm/components/Icons/HeartIcon.js.map +1 -1
  58. package/dist/esm/components/Icons/HelpIcon.js.map +1 -1
  59. package/dist/esm/components/Icons/HomeIcon.js.map +1 -1
  60. package/dist/esm/components/Icons/ImageIcon.js.map +1 -1
  61. package/dist/esm/components/Icons/InfoIcon.js.map +1 -1
  62. package/dist/esm/components/Icons/LastIcon.js.map +1 -1
  63. package/dist/esm/components/Icons/LinkIcon.js.map +1 -1
  64. package/dist/esm/components/Icons/ListIcon.js.map +1 -1
  65. package/dist/esm/components/Icons/LockIcon.js.map +1 -1
  66. package/dist/esm/components/Icons/MaximizeIcon.js.map +1 -1
  67. package/dist/esm/components/Icons/MenuIcon.js.map +1 -1
  68. package/dist/esm/components/Icons/MinimizeIcon.js.map +1 -1
  69. package/dist/esm/components/Icons/MinusIcon.js.map +1 -1
  70. package/dist/esm/components/Icons/OrbitIcon.js +31 -0
  71. package/dist/esm/components/Icons/OrbitIcon.js.map +1 -0
  72. package/dist/esm/components/Icons/PasteIcon.js.map +1 -1
  73. package/dist/esm/components/Icons/PauseIcon.js.map +1 -1
  74. package/dist/esm/components/Icons/PinIcon.js.map +1 -1
  75. package/dist/esm/components/Icons/PlayIcon.js.map +1 -1
  76. package/dist/esm/components/Icons/RedoIcon.js.map +1 -1
  77. package/dist/esm/components/Icons/RefreshIcon.js.map +1 -1
  78. package/dist/esm/components/Icons/RobotIcon.js.map +1 -1
  79. package/dist/esm/components/Icons/RotateIcon.js +32 -0
  80. package/dist/esm/components/Icons/RotateIcon.js.map +1 -0
  81. package/dist/esm/components/Icons/SaveIcon.js.map +1 -1
  82. package/dist/esm/components/Icons/SearchIcon.js.map +1 -1
  83. package/dist/esm/components/Icons/SendIcon.js.map +1 -1
  84. package/dist/esm/components/Icons/SettingsIcon.js.map +1 -1
  85. package/dist/esm/components/Icons/SortIcon.js.map +1 -1
  86. package/dist/esm/components/Icons/SpinIcon.js +32 -0
  87. package/dist/esm/components/Icons/SpinIcon.js.map +1 -0
  88. package/dist/esm/components/Icons/StarIcon.js.map +1 -1
  89. package/dist/esm/components/Icons/StopIcon.js.map +1 -1
  90. package/dist/esm/components/Icons/SuccessIcon.js.map +1 -1
  91. package/dist/esm/components/Icons/TagIcon.js.map +1 -1
  92. package/dist/esm/components/Icons/TangentAlignedIcon.js.map +1 -1
  93. package/dist/esm/components/Icons/TangentAutoIcon.js.map +1 -1
  94. package/dist/esm/components/Icons/TangentFreeIcon.js.map +1 -1
  95. package/dist/esm/components/Icons/TangentLinearIcon.js.map +1 -1
  96. package/dist/esm/components/Icons/TangentMirroredIcon.js.map +1 -1
  97. package/dist/esm/components/Icons/TangentStepIcon.js.map +1 -1
  98. package/dist/esm/components/Icons/TerminalIcon.js.map +1 -1
  99. package/dist/esm/components/Icons/TrashIcon.js.map +1 -1
  100. package/dist/esm/components/Icons/UndoIcon.js.map +1 -1
  101. package/dist/esm/components/Icons/UnlinkIcon.js.map +1 -1
  102. package/dist/esm/components/Icons/UnlockIcon.js.map +1 -1
  103. package/dist/esm/components/Icons/UploadIcon.js.map +1 -1
  104. package/dist/esm/components/Icons/UserIcon.js.map +1 -1
  105. package/dist/esm/components/Icons/UsersIcon.js.map +1 -1
  106. package/dist/esm/components/Icons/WarningIcon.js.map +1 -1
  107. package/dist/esm/components/Icons/ZoomFitIcon.js +32 -0
  108. package/dist/esm/components/Icons/ZoomFitIcon.js.map +1 -0
  109. package/dist/esm/components/Icons/ZoomInIcon.js.map +1 -1
  110. package/dist/esm/components/Icons/ZoomOutIcon.js.map +1 -1
  111. package/dist/esm/components/controls/CartesianPicker/CartesianPicker.js.map +1 -1
  112. package/dist/esm/components/controls/CartesianPicker/useCartesianInteraction.js.map +1 -1
  113. package/dist/esm/components/controls/CartesianPicker/useCartesianRenderer.js.map +1 -1
  114. package/dist/esm/components/controls/ColorPicker/AlphaSlider.js.map +1 -1
  115. package/dist/esm/components/controls/ColorPicker/ColorArea.js.map +1 -1
  116. package/dist/esm/components/controls/ColorPicker/ColorInputs.js.map +1 -1
  117. package/dist/esm/components/controls/ColorPicker/ColorPalette.js.map +1 -1
  118. package/dist/esm/components/controls/ColorPicker/ColorPicker.js.map +1 -1
  119. package/dist/esm/components/controls/ColorPicker/ColorPresets.js.map +1 -1
  120. package/dist/esm/components/controls/ColorPicker/ColorSwatch.js.map +1 -1
  121. package/dist/esm/components/controls/ColorPicker/EyeDropper.js.map +1 -1
  122. package/dist/esm/components/controls/ColorPicker/HueSlider.js.map +1 -1
  123. package/dist/esm/components/controls/ColorPicker/colorUtils.js.map +1 -1
  124. package/dist/esm/components/controls/ColorPicker/palettes/material.js.map +1 -1
  125. package/dist/esm/components/controls/ColorPicker/palettes/professional.js.map +1 -1
  126. package/dist/esm/components/controls/ColorPicker/palettes/tailwind.js.map +1 -1
  127. package/dist/esm/components/controls/ColorPicker/useColor.js.map +1 -1
  128. package/dist/esm/components/controls/Combobox/Combobox.js.map +1 -1
  129. package/dist/esm/components/controls/CurveEditor/CurveCanvas.js.map +1 -1
  130. package/dist/esm/components/controls/CurveEditor/CurveEditor.js.map +1 -1
  131. package/dist/esm/components/controls/CurveEditor/CurveToolbar.js.map +1 -1
  132. package/dist/esm/components/controls/CurveEditor/curvePresets.js.map +1 -1
  133. package/dist/esm/components/controls/CurveEditor/curveUtils.js.map +1 -1
  134. package/dist/esm/components/controls/CurveEditor/useCurveInteraction.js.map +1 -1
  135. package/dist/esm/components/controls/CurveEditor/useCurveRenderer.js.map +1 -1
  136. package/dist/esm/components/controls/FileTree/FileTree.js +7 -1
  137. package/dist/esm/components/controls/FileTree/FileTree.js.map +1 -1
  138. package/dist/esm/components/controls/FileTree/fileTreeIcons.js.map +1 -1
  139. package/dist/esm/components/controls/FileTree/fileTreeLabels.js.map +1 -1
  140. package/dist/esm/components/controls/FileTree/useFileTreeDrop.js +1 -1
  141. package/dist/esm/components/controls/FileTree/useFileTreeDrop.js.map +1 -1
  142. package/dist/esm/components/controls/FileUploader/FileUploader.js.map +1 -1
  143. package/dist/esm/components/controls/MultiSelect/MultiSelect.js.map +1 -1
  144. package/dist/esm/components/controls/NumberInput/NumberInput.js.map +1 -1
  145. package/dist/esm/components/controls/NumberInput/useNumberInput.js.map +1 -1
  146. package/dist/esm/components/controls/Select/Select.css.js +1 -1
  147. package/dist/esm/components/controls/Select/Select.js +15 -7
  148. package/dist/esm/components/controls/Select/Select.js.map +1 -1
  149. package/dist/esm/components/controls/Slider/Slider.css.js +10 -11
  150. package/dist/esm/components/controls/Slider/Slider.css.js.map +1 -1
  151. package/dist/esm/components/controls/Slider/Slider.js +40 -7
  152. package/dist/esm/components/controls/Slider/Slider.js.map +1 -1
  153. package/dist/esm/components/controls/TagInput/TagInput.js.map +1 -1
  154. package/dist/esm/components/controls/TreeView/TreeNode.js +6 -0
  155. package/dist/esm/components/controls/TreeView/TreeNode.js.map +1 -1
  156. package/dist/esm/components/controls/TreeView/TreeView.js.map +1 -1
  157. package/dist/esm/components/controls/TreeView/useTreeState.js.map +1 -1
  158. package/dist/esm/components/controls/VectorInput/VectorInput.js +6 -0
  159. package/dist/esm/components/controls/VectorInput/VectorInput.js.map +1 -1
  160. package/dist/esm/components/data/DataTable/DataTable.js.map +1 -1
  161. package/dist/esm/components/editor/AssetBrowser/AssetBrowser.js.map +1 -1
  162. package/dist/esm/components/editor/AssetBrowser/AssetBrowserAnnouncementLive.js.map +1 -1
  163. package/dist/esm/components/editor/AssetBrowser/AssetBrowserBreadcrumbs.js.map +1 -1
  164. package/dist/esm/components/editor/AssetBrowser/AssetBrowserContent.js +6 -0
  165. package/dist/esm/components/editor/AssetBrowser/AssetBrowserContent.js.map +1 -1
  166. package/dist/esm/components/editor/AssetBrowser/AssetBrowserContext.js.map +1 -1
  167. package/dist/esm/components/editor/AssetBrowser/AssetBrowserContextMenu.js.map +1 -1
  168. package/dist/esm/components/editor/AssetBrowser/AssetBrowserDefaultMenus.js +6 -0
  169. package/dist/esm/components/editor/AssetBrowser/AssetBrowserDefaultMenus.js.map +1 -1
  170. package/dist/esm/components/editor/AssetBrowser/AssetBrowserGrid.js +1 -1
  171. package/dist/esm/components/editor/AssetBrowser/AssetBrowserGrid.js.map +1 -1
  172. package/dist/esm/components/editor/AssetBrowser/AssetBrowserGridItem.js +6 -0
  173. package/dist/esm/components/editor/AssetBrowser/AssetBrowserGridItem.js.map +1 -1
  174. package/dist/esm/components/editor/AssetBrowser/AssetBrowserList.js +6 -0
  175. package/dist/esm/components/editor/AssetBrowser/AssetBrowserList.js.map +1 -1
  176. package/dist/esm/components/editor/AssetBrowser/AssetBrowserRenameField.js.map +1 -1
  177. package/dist/esm/components/editor/AssetBrowser/AssetBrowserSidebar.js.map +1 -1
  178. package/dist/esm/components/editor/AssetBrowser/AssetBrowserStatusBar.js.map +1 -1
  179. package/dist/esm/components/editor/AssetBrowser/AssetBrowserStore.js.map +1 -1
  180. package/dist/esm/components/editor/AssetBrowser/AssetBrowserSurface.js +6 -0
  181. package/dist/esm/components/editor/AssetBrowser/AssetBrowserSurface.js.map +1 -1
  182. package/dist/esm/components/editor/AssetBrowser/AssetBrowserToolbar.js +6 -0
  183. package/dist/esm/components/editor/AssetBrowser/AssetBrowserToolbar.js.map +1 -1
  184. package/dist/esm/components/editor/AssetBrowser/assetBrowserFilter.js.map +1 -1
  185. package/dist/esm/components/editor/AssetBrowser/assetBrowserFormat.js.map +1 -1
  186. package/dist/esm/components/editor/AssetBrowser/assetBrowserGeometry.js.map +1 -1
  187. package/dist/esm/components/editor/AssetBrowser/assetBrowserKeyboard.js.map +1 -1
  188. package/dist/esm/components/editor/AssetBrowser/assetBrowserLabels.js.map +1 -1
  189. package/dist/esm/components/editor/AssetBrowser/slots.js.map +1 -1
  190. package/dist/esm/components/editor/AssetBrowser/useAssetBrowserAnnouncement.js.map +1 -1
  191. package/dist/esm/components/editor/AssetBrowser/useAssetBrowserHandle.js +1 -1
  192. package/dist/esm/components/editor/AssetBrowser/useAssetBrowserHandle.js.map +1 -1
  193. package/dist/esm/components/editor/AssetBrowser/useAssetBrowserViewState.js +1 -1
  194. package/dist/esm/components/editor/AssetBrowser/useAssetBrowserViewState.js.map +1 -1
  195. package/dist/esm/components/editor/AssetBrowser/useAssetDnd.js +1 -1
  196. package/dist/esm/components/editor/AssetBrowser/useAssetDnd.js.map +1 -1
  197. package/dist/esm/components/editor/AssetBrowser/useAssetGridKeyboardNav.js.map +1 -1
  198. package/dist/esm/components/editor/AssetBrowser/useAssetGridVirtualizer.js +1 -1
  199. package/dist/esm/components/editor/AssetBrowser/useAssetGridVirtualizer.js.map +1 -1
  200. package/dist/esm/components/editor/AssetBrowser/useAssetMarqueeGesture.js +1 -1
  201. package/dist/esm/components/editor/AssetBrowser/useAssetMarqueeGesture.js.map +1 -1
  202. package/dist/esm/components/editor/AssetBrowser/useAssetMutationKeyboard.js +1 -1
  203. package/dist/esm/components/editor/AssetBrowser/useAssetMutationKeyboard.js.map +1 -1
  204. package/dist/esm/components/editor/AssetBrowser/useAssetMutations.js +1 -1
  205. package/dist/esm/components/editor/AssetBrowser/useAssetMutations.js.map +1 -1
  206. package/dist/esm/components/editor/AssetBrowser/useAssetNavigation.js +1 -1
  207. package/dist/esm/components/editor/AssetBrowser/useAssetNavigation.js.map +1 -1
  208. package/dist/esm/components/editor/AssetBrowser/useAssetSelectionController.js +1 -1
  209. package/dist/esm/components/editor/AssetBrowser/useAssetSelectionController.js.map +1 -1
  210. package/dist/esm/components/editor/ChatPanel/ChatActionBar.js.map +1 -1
  211. package/dist/esm/components/editor/ChatPanel/ChatAttachment.js.map +1 -1
  212. package/dist/esm/components/editor/ChatPanel/ChatBubble.js.map +1 -1
  213. package/dist/esm/components/editor/ChatPanel/ChatCodeBlock.js +6 -0
  214. package/dist/esm/components/editor/ChatPanel/ChatCodeBlock.js.map +1 -1
  215. package/dist/esm/components/editor/ChatPanel/ChatContextChip.js.map +1 -1
  216. package/dist/esm/components/editor/ChatPanel/ChatEmptyState.js.map +1 -1
  217. package/dist/esm/components/editor/ChatPanel/ChatIcons.js.map +1 -1
  218. package/dist/esm/components/editor/ChatPanel/ChatInput.js +6 -0
  219. package/dist/esm/components/editor/ChatPanel/ChatInput.js.map +1 -1
  220. package/dist/esm/components/editor/ChatPanel/ChatInputToolbar.js.map +1 -1
  221. package/dist/esm/components/editor/ChatPanel/ChatMarkdownRenderer.js.map +1 -1
  222. package/dist/esm/components/editor/ChatPanel/ChatMessage.js +6 -0
  223. package/dist/esm/components/editor/ChatPanel/ChatMessage.js.map +1 -1
  224. package/dist/esm/components/editor/ChatPanel/ChatMessageList.js.map +1 -1
  225. package/dist/esm/components/editor/ChatPanel/ChatPanel.js.map +1 -1
  226. package/dist/esm/components/editor/ChatPanel/ChatToolCall.js.map +1 -1
  227. package/dist/esm/components/editor/ChatPanel/ChatTypingIndicator.js.map +1 -1
  228. package/dist/esm/components/editor/ChatPanel/useChatInput.js.map +1 -1
  229. package/dist/esm/components/editor/ChatPanel/useChatMessages.js.map +1 -1
  230. package/dist/esm/components/editor/ChatPanel/useChatScroll.js.map +1 -1
  231. package/dist/esm/components/editor/Minimap/Minimap.js +1 -1
  232. package/dist/esm/components/editor/Minimap/Minimap.js.map +1 -1
  233. package/dist/esm/components/editor/Minimap/Minimap.types.js.map +1 -1
  234. package/dist/esm/components/editor/Minimap/MinimapContext.js.map +1 -1
  235. package/dist/esm/components/editor/Minimap/MinimapCorner.js.map +1 -1
  236. package/dist/esm/components/editor/Minimap/MinimapFooter.js.map +1 -1
  237. package/dist/esm/components/editor/Minimap/MinimapStore.js.map +1 -1
  238. package/dist/esm/components/editor/Minimap/MinimapTitle.js.map +1 -1
  239. package/dist/esm/components/editor/Minimap/ViewportMinimap.js +1 -1
  240. package/dist/esm/components/editor/Minimap/ViewportMinimap.js.map +1 -1
  241. package/dist/esm/components/editor/Minimap/computeBoundsFromItems.js.map +1 -1
  242. package/dist/esm/components/editor/Minimap/index.js.map +1 -1
  243. package/dist/esm/components/editor/Minimap/minimapCoords.js.map +1 -1
  244. package/dist/esm/components/editor/Minimap/minimapDrawing.js.map +1 -1
  245. package/dist/esm/components/editor/Minimap/minimapHitTest.js.map +1 -1
  246. package/dist/esm/components/editor/Minimap/useMinimapGestures.js +1 -1
  247. package/dist/esm/components/editor/Minimap/useMinimapGestures.js.map +1 -1
  248. package/dist/esm/components/editor/NodeGraph/NodeGraph.js +1 -1
  249. package/dist/esm/components/editor/NodeGraph/NodeGraph.js.map +1 -1
  250. package/dist/esm/components/editor/NodeGraph/NodeGraph.types.js.map +1 -1
  251. package/dist/esm/components/editor/NodeGraph/NodeGraphContext.js.map +1 -1
  252. package/dist/esm/components/editor/NodeGraph/NodeGraphEdgeLabels.js.map +1 -1
  253. package/dist/esm/components/editor/NodeGraph/NodeGraphGroup.js.map +1 -1
  254. package/dist/esm/components/editor/NodeGraph/NodeGraphMinimap.js.map +1 -1
  255. package/dist/esm/components/editor/NodeGraph/NodeGraphNode.js +1 -1
  256. package/dist/esm/components/editor/NodeGraph/NodeGraphNode.js.map +1 -1
  257. package/dist/esm/components/editor/NodeGraph/NodeGraphNodeContext.js.map +1 -1
  258. package/dist/esm/components/editor/NodeGraph/NodeGraphNodeParts.js.map +1 -1
  259. package/dist/esm/components/editor/NodeGraph/NodeGraphNodeSection.js +1 -1
  260. package/dist/esm/components/editor/NodeGraph/NodeGraphNodeSection.js.map +1 -1
  261. package/dist/esm/components/editor/NodeGraph/NodeGraphNodeSectionContext.js.map +1 -1
  262. package/dist/esm/components/editor/NodeGraph/NodeGraphPin.js.map +1 -1
  263. package/dist/esm/components/editor/NodeGraph/NodeGraphPort.js +1 -1
  264. package/dist/esm/components/editor/NodeGraph/NodeGraphPort.js.map +1 -1
  265. package/dist/esm/components/editor/NodeGraph/NodeGraphPortVisual.js.map +1 -1
  266. package/dist/esm/components/editor/NodeGraph/NodeGraphSlots.js.map +1 -1
  267. package/dist/esm/components/editor/NodeGraph/NodeGraphSpawnPalette.js.map +1 -1
  268. package/dist/esm/components/editor/NodeGraph/NodeGraphStore.js.map +1 -1
  269. package/dist/esm/components/editor/NodeGraph/NodeGraphToolbar.js.map +1 -1
  270. package/dist/esm/components/editor/NodeGraph/createTypeMatchValidator.js.map +1 -1
  271. package/dist/esm/components/editor/NodeGraph/nodeGraphActions.js.map +1 -1
  272. package/dist/esm/components/editor/NodeGraph/nodeGraphDrawing.js.map +1 -1
  273. package/dist/esm/components/editor/NodeGraph/nodeGraphIds.js.map +1 -1
  274. package/dist/esm/components/editor/NodeGraph/nodeGraphMath.js.map +1 -1
  275. package/dist/esm/components/editor/NodeGraph/sortSlots.js.map +1 -1
  276. package/dist/esm/components/editor/NodeGraph/useDragGesture.js.map +1 -1
  277. package/dist/esm/components/editor/NodeGraph/useNodeGraph.js +1 -1
  278. package/dist/esm/components/editor/NodeGraph/useNodeGraph.js.map +1 -1
  279. package/dist/esm/components/editor/NodeGraph/useNodeGraphConnection.js +1 -1
  280. package/dist/esm/components/editor/NodeGraph/useNodeGraphConnection.js.map +1 -1
  281. package/dist/esm/components/editor/NodeGraph/useNodeGraphEdgeInteraction.js +1 -1
  282. package/dist/esm/components/editor/NodeGraph/useNodeGraphEdgeInteraction.js.map +1 -1
  283. package/dist/esm/components/editor/NodeGraph/useNodeGraphGroupDrag.js +1 -1
  284. package/dist/esm/components/editor/NodeGraph/useNodeGraphGroupDrag.js.map +1 -1
  285. package/dist/esm/components/editor/NodeGraph/useNodeGraphKeyboard.js +1 -1
  286. package/dist/esm/components/editor/NodeGraph/useNodeGraphKeyboard.js.map +1 -1
  287. package/dist/esm/components/editor/NodeGraph/useNodeGraphNodeDrag.js +1 -1
  288. package/dist/esm/components/editor/NodeGraph/useNodeGraphNodeDrag.js.map +1 -1
  289. package/dist/esm/components/editor/NodeGraph/useStoreSlice.js.map +1 -1
  290. package/dist/esm/components/editor/PropertyInspector/PropertyGroup.js.map +1 -1
  291. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.css.js +4 -3
  292. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.css.js.map +1 -1
  293. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js +5 -4
  294. package/dist/esm/components/editor/PropertyInspector/PropertyPanel.js.map +1 -1
  295. package/dist/esm/components/editor/PropertyInspector/PropertyRow.css.js +7 -6
  296. package/dist/esm/components/editor/PropertyInspector/PropertyRow.css.js.map +1 -1
  297. package/dist/esm/components/editor/PropertyInspector/PropertyRow.js +18 -3
  298. package/dist/esm/components/editor/PropertyInspector/PropertyRow.js.map +1 -1
  299. package/dist/esm/components/editor/PropertyInspector/PropertySection.css.js +11 -10
  300. package/dist/esm/components/editor/PropertyInspector/PropertySection.css.js.map +1 -1
  301. package/dist/esm/components/editor/PropertyInspector/PropertySection.js +29 -21
  302. package/dist/esm/components/editor/PropertyInspector/PropertySection.js.map +1 -1
  303. package/dist/esm/components/editor/PropertyInspector/usePropertyUndo.js.map +1 -1
  304. package/dist/esm/components/editor/Timeline/Timeline.js +1 -1
  305. package/dist/esm/components/editor/Timeline/Timeline.js.map +1 -1
  306. package/dist/esm/components/editor/Timeline/Timeline.types.js.map +1 -1
  307. package/dist/esm/components/editor/Timeline/TimelineContext.js.map +1 -1
  308. package/dist/esm/components/editor/Timeline/TimelineFooter.js.map +1 -1
  309. package/dist/esm/components/editor/Timeline/TimelineMinimap.js +1 -1
  310. package/dist/esm/components/editor/Timeline/TimelineMinimap.js.map +1 -1
  311. package/dist/esm/components/editor/Timeline/TimelineStore.js.map +1 -1
  312. package/dist/esm/components/editor/Timeline/TimelineToolbar.js.map +1 -1
  313. package/dist/esm/components/editor/Timeline/TimelineTrackHeaders.js +1 -1
  314. package/dist/esm/components/editor/Timeline/TimelineTrackHeaders.js.map +1 -1
  315. package/dist/esm/components/editor/Timeline/TimelineTrackScale.js.map +1 -1
  316. package/dist/esm/components/editor/Timeline/index.js.map +1 -1
  317. package/dist/esm/components/editor/Timeline/timelineCoords.js.map +1 -1
  318. package/dist/esm/components/editor/Timeline/timelineDrawing.js.map +1 -1
  319. package/dist/esm/components/editor/Timeline/timelineEdits.js.map +1 -1
  320. package/dist/esm/components/editor/Timeline/timelineHitTest.js.map +1 -1
  321. package/dist/esm/components/editor/Timeline/timelineLayout.js.map +1 -1
  322. package/dist/esm/components/editor/Timeline/timelineSelection.js.map +1 -1
  323. package/dist/esm/components/editor/Timeline/useTimelineDraw.js +1 -1
  324. package/dist/esm/components/editor/Timeline/useTimelineDraw.js.map +1 -1
  325. package/dist/esm/components/editor/Timeline/useTimelineGestures.js +1 -1
  326. package/dist/esm/components/editor/Timeline/useTimelineGestures.js.map +1 -1
  327. package/dist/esm/components/editor/Timeline/useTimelinePlayback.js.map +1 -1
  328. package/dist/esm/components/editor/TransformControl/TransformControl.js.map +1 -1
  329. package/dist/esm/components/editor/ViewportGizmo/ViewportGizmo.js.map +1 -1
  330. package/dist/esm/components/editor/ViewportGizmo/gizmoMath.js.map +1 -1
  331. package/dist/esm/components/editor/ViewportGizmo/useGizmoInteraction.js.map +1 -1
  332. package/dist/esm/components/editor/ViewportGizmo/useGizmoRenderer.js.map +1 -1
  333. package/dist/esm/components/feedback/Alert/Alert.js.map +1 -1
  334. package/dist/esm/components/feedback/Alert/AlertActions.js.map +1 -1
  335. package/dist/esm/components/feedback/Alert/AlertDescription.js.map +1 -1
  336. package/dist/esm/components/feedback/Alert/AlertTitle.js.map +1 -1
  337. package/dist/esm/components/feedback/CommandPalette/CommandPalette.js.map +1 -1
  338. package/dist/esm/components/feedback/CommandPalette/fuzzySearch.js.map +1 -1
  339. package/dist/esm/components/feedback/CommandPalette/useRecentItems.js.map +1 -1
  340. package/dist/esm/components/feedback/Dialog/Dialog.js.map +1 -1
  341. package/dist/esm/components/feedback/Dialog/DialogBody.js.map +1 -1
  342. package/dist/esm/components/feedback/Dialog/DialogClose.js.map +1 -1
  343. package/dist/esm/components/feedback/Dialog/DialogFooter.js.map +1 -1
  344. package/dist/esm/components/feedback/Dialog/DialogHeader.js.map +1 -1
  345. package/dist/esm/components/feedback/Dialog/useDialogAnimation.js.map +1 -1
  346. package/dist/esm/components/feedback/Drawer/Drawer.js.map +1 -1
  347. package/dist/esm/components/feedback/Drawer/useDrawerAnimation.js.map +1 -1
  348. package/dist/esm/components/feedback/EmptyState/EmptyState.js.map +1 -1
  349. package/dist/esm/components/feedback/LogView/LogView.js.map +1 -1
  350. package/dist/esm/components/feedback/LogView/LogViewBody.js.map +1 -1
  351. package/dist/esm/components/feedback/LogView/LogViewContext.js.map +1 -1
  352. package/dist/esm/components/feedback/LogView/LogViewParts.js.map +1 -1
  353. package/dist/esm/components/feedback/LogView/LogViewStore.js.map +1 -1
  354. package/dist/esm/components/feedback/LogView/logViewLabels.js.map +1 -1
  355. package/dist/esm/components/feedback/LogView/logViewLevels.js.map +1 -1
  356. package/dist/esm/components/feedback/LogView/logViewUtils.js.map +1 -1
  357. package/dist/esm/components/feedback/LogView/useFollowTail.js.map +1 -1
  358. package/dist/esm/components/feedback/LogView/useLogSelection.js.map +1 -1
  359. package/dist/esm/components/feedback/ProgressBar/CircularProgress.js.map +1 -1
  360. package/dist/esm/components/feedback/ProgressBar/ProgressBar.js.map +1 -1
  361. package/dist/esm/components/feedback/Skeleton/Skeleton.js.map +1 -1
  362. package/dist/esm/components/feedback/Skeleton/SkeletonGroup.js.map +1 -1
  363. package/dist/esm/components/feedback/Skeleton/SkeletonLayout.js.map +1 -1
  364. package/dist/esm/components/feedback/Spinner/Spinner.js +12 -3
  365. package/dist/esm/components/feedback/Spinner/Spinner.js.map +1 -1
  366. package/dist/esm/components/feedback/Stat/Stat.js.map +1 -1
  367. package/dist/esm/components/feedback/Toast/ToastContainer.js.map +1 -1
  368. package/dist/esm/components/feedback/Toast/ToastItem.js.map +1 -1
  369. package/dist/esm/components/feedback/Toast/ToastProvider.js.map +1 -1
  370. package/dist/esm/components/feedback/Toast/useToast.js.map +1 -1
  371. package/dist/esm/components/form/FormHelperText.js.map +1 -1
  372. package/dist/esm/components/form/FormLabel.js.map +1 -1
  373. package/dist/esm/components/form/InputWrapper.js.map +1 -1
  374. package/dist/esm/components/layout/Accordion/Accordion.js.map +1 -1
  375. package/dist/esm/components/layout/Accordion/AccordionContent.js.map +1 -1
  376. package/dist/esm/components/layout/Accordion/AccordionItem.js.map +1 -1
  377. package/dist/esm/components/layout/Accordion/AccordionTrigger.js.map +1 -1
  378. package/dist/esm/components/layout/Card/Card.js.map +1 -1
  379. package/dist/esm/components/layout/Divider/Divider.js.map +1 -1
  380. package/dist/esm/components/layout/Flex/Flex.js.map +1 -1
  381. package/dist/esm/components/layout/Grid/Grid.js.map +1 -1
  382. package/dist/esm/components/layout/ListItem/ListItem.js.map +1 -1
  383. package/dist/esm/components/layout/PageHeader/PageHeader.js.map +1 -1
  384. package/dist/esm/components/layout/PanelSurface/PanelSurface.js.map +1 -1
  385. package/dist/esm/components/layout/ScrollArea/ScrollArea.js.map +1 -1
  386. package/dist/esm/components/layout/Spacer/Spacer.js.map +1 -1
  387. package/dist/esm/components/layout/SplitPane/SplitPane.js.map +1 -1
  388. package/dist/esm/components/layout/SplitPane/SplitPanePanel.js.map +1 -1
  389. package/dist/esm/components/layout/Stack/Stack.js.map +1 -1
  390. package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbEllipsis.js.map +1 -1
  391. package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbItem.js.map +1 -1
  392. package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbSeparator.js.map +1 -1
  393. package/dist/esm/components/navigation/Breadcrumbs/Breadcrumbs.js +6 -0
  394. package/dist/esm/components/navigation/Breadcrumbs/Breadcrumbs.js.map +1 -1
  395. package/dist/esm/components/navigation/ContextMenu/ContextMenu.js +2 -2
  396. package/dist/esm/components/navigation/ContextMenu/ContextMenu.js.map +1 -1
  397. package/dist/esm/components/navigation/Menu/Menu.css.js +11 -10
  398. package/dist/esm/components/navigation/Menu/Menu.css.js.map +1 -1
  399. package/dist/esm/components/navigation/Menu/Menu.js +2 -2
  400. package/dist/esm/components/navigation/Menu/Menu.js.map +1 -1
  401. package/dist/esm/components/navigation/Menu/MenuGapContext.js.map +1 -1
  402. package/dist/esm/components/navigation/Pagination/Pagination.js.map +1 -1
  403. package/dist/esm/components/navigation/Pagination/usePagination.js.map +1 -1
  404. package/dist/esm/components/navigation/PathBar/PathBar.js +7 -1
  405. package/dist/esm/components/navigation/PathBar/PathBar.js.map +1 -1
  406. package/dist/esm/components/navigation/PathBar/PathBarSiblingMenu.js +6 -0
  407. package/dist/esm/components/navigation/PathBar/PathBarSiblingMenu.js.map +1 -1
  408. package/dist/esm/components/navigation/PathBar/pathUtils.js.map +1 -1
  409. package/dist/esm/components/navigation/SegmentedControl/SegmentedControl.js.map +1 -1
  410. package/dist/esm/components/navigation/SegmentedControl/SegmentedControlItem.js.map +1 -1
  411. package/dist/esm/components/navigation/Tabs/Tab.js.map +1 -1
  412. package/dist/esm/components/navigation/Tabs/TabList.js.map +1 -1
  413. package/dist/esm/components/navigation/Tabs/TabPanel.js.map +1 -1
  414. package/dist/esm/components/navigation/Tabs/Tabs.js.map +1 -1
  415. package/dist/esm/components/primitives/Avatar/Avatar.js +6 -0
  416. package/dist/esm/components/primitives/Avatar/Avatar.js.map +1 -1
  417. package/dist/esm/components/primitives/Avatar/AvatarGroup.js.map +1 -1
  418. package/dist/esm/components/primitives/Badge/Badge.js +6 -0
  419. package/dist/esm/components/primitives/Badge/Badge.js.map +1 -1
  420. package/dist/esm/components/primitives/Button/Button.js.map +1 -1
  421. package/dist/esm/components/primitives/Checkbox/Checkbox.js.map +1 -1
  422. package/dist/esm/components/primitives/Checkbox/CheckboxGroup.js.map +1 -1
  423. package/dist/esm/components/primitives/Code/Code.js.map +1 -1
  424. package/dist/esm/components/primitives/Collapsible/Collapsible.js.map +1 -1
  425. package/dist/esm/components/primitives/HoverCard/HoverCard.js.map +1 -1
  426. package/dist/esm/components/primitives/Icon/Icon.js.map +1 -1
  427. package/dist/esm/components/primitives/IconButton/IconButton.js +4 -2
  428. package/dist/esm/components/primitives/IconButton/IconButton.js.map +1 -1
  429. package/dist/esm/components/primitives/Input/Input.js.map +1 -1
  430. package/dist/esm/components/primitives/Kbd/Kbd.js.map +1 -1
  431. package/dist/esm/components/primitives/Link/Link.js.map +1 -1
  432. package/dist/esm/components/primitives/Paper/Paper.js.map +1 -1
  433. package/dist/esm/components/primitives/Popover/Popover.js.map +1 -1
  434. package/dist/esm/components/primitives/Popover/PopoverClose.js.map +1 -1
  435. package/dist/esm/components/primitives/Popover/PopoverContent.js.map +1 -1
  436. package/dist/esm/components/primitives/Popover/PopoverTrigger.js.map +1 -1
  437. package/dist/esm/components/primitives/Radio/Radio.js.map +1 -1
  438. package/dist/esm/components/primitives/Radio/RadioGroup.js.map +1 -1
  439. package/dist/esm/components/primitives/Switch/Switch.js.map +1 -1
  440. package/dist/esm/components/primitives/Text/Text.js.map +1 -1
  441. package/dist/esm/components/primitives/TextArea/TextArea.js.map +1 -1
  442. package/dist/esm/components/primitives/Tooltip/Arrow.js.map +1 -1
  443. package/dist/esm/components/primitives/Tooltip/Tooltip.css.js +6 -5
  444. package/dist/esm/components/primitives/Tooltip/Tooltip.css.js.map +1 -1
  445. package/dist/esm/components/primitives/Tooltip/Tooltip.js +12 -2
  446. package/dist/esm/components/primitives/Tooltip/Tooltip.js.map +1 -1
  447. package/dist/esm/components/primitives/Tooltip/utils.js.map +1 -1
  448. package/dist/esm/components/primitives/VisuallyHidden/VisuallyHidden.js.map +1 -1
  449. package/dist/esm/components/primitives/canvas/CanvasContainer.js.map +1 -1
  450. package/dist/esm/components/primitives/canvas/canvasCoords.js.map +1 -1
  451. package/dist/esm/components/primitives/canvas/canvasDrawing.js.map +1 -1
  452. package/dist/esm/components/primitives/canvas/canvasTheme.js.map +1 -1
  453. package/dist/esm/components/primitives/canvas/useCanvasRenderer.js.map +1 -1
  454. package/dist/esm/components/primitives/viewport/Viewport.js +6 -3
  455. package/dist/esm/components/primitives/viewport/Viewport.js.map +1 -1
  456. package/dist/esm/components/primitives/viewport/ViewportContext.js.map +1 -1
  457. package/dist/esm/components/primitives/viewport/ViewportLayer.js +1 -1
  458. package/dist/esm/components/primitives/viewport/ViewportLayer.js.map +1 -1
  459. package/dist/esm/components/primitives/viewport/ViewportOverlay.js.map +1 -1
  460. package/dist/esm/components/primitives/viewport/ViewportStore.js.map +1 -1
  461. package/dist/esm/components/primitives/viewport/ViewportWorld.js.map +1 -1
  462. package/dist/esm/components/primitives/viewport/useViewportGestures.js +1 -1
  463. package/dist/esm/components/primitives/viewport/useViewportGestures.js.map +1 -1
  464. package/dist/esm/components/primitives/viewport/viewportCoords.js.map +1 -1
  465. package/dist/esm/components/primitives/viewport/viewportMath.js.map +1 -1
  466. package/dist/esm/components/shell/AppShell/AppShell.css.js +1 -1
  467. package/dist/esm/components/shell/AppShell/AppShell.js.map +1 -1
  468. package/dist/esm/components/shell/FloatingPanel/FloatingPanel.js.map +1 -1
  469. package/dist/esm/components/shell/MenuBar/MenuBar.css.js +7 -6
  470. package/dist/esm/components/shell/MenuBar/MenuBar.css.js.map +1 -1
  471. package/dist/esm/components/shell/MenuBar/MenuBar.js +52 -3
  472. package/dist/esm/components/shell/MenuBar/MenuBar.js.map +1 -1
  473. package/dist/esm/components/shell/StatusBar/StatusBar.js.map +1 -1
  474. package/dist/esm/components/shell/Toolbar/Toolbar.js.map +1 -1
  475. package/dist/esm/context/KeyboardContext.js.map +1 -1
  476. package/dist/esm/hooks/useBreakpoint/useBreakpoint.js.map +1 -1
  477. package/dist/esm/hooks/useClickOutside/useClickOutside.js.map +1 -1
  478. package/dist/esm/hooks/useClipboard/useClipboard.js.map +1 -1
  479. package/dist/esm/hooks/useControlledState/useControlledState.js.map +1 -1
  480. package/dist/esm/hooks/useDebounced/useDebouncedCallback.js.map +1 -1
  481. package/dist/esm/hooks/useDebounced/useDebouncedValue.js.map +1 -1
  482. package/dist/esm/hooks/useDisclosure/useDisclosure.js.map +1 -1
  483. package/dist/esm/hooks/useEventCallback/useEventCallback.js.map +1 -1
  484. package/dist/esm/hooks/useFocusTrap/useFocusTrap.js.map +1 -1
  485. package/dist/esm/hooks/useHotkey/useHotkey.js.map +1 -1
  486. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -1
  487. package/dist/esm/hooks/useIsMounted/useIsMounted.js.map +1 -1
  488. package/dist/esm/hooks/useKeyboard/useKeyboard.js.map +1 -1
  489. package/dist/esm/hooks/useKeyboard/utils.js.map +1 -1
  490. package/dist/esm/hooks/useLatest/useLatest.js.map +1 -1
  491. package/dist/esm/hooks/useListboxNav/useListboxNav.js.map +1 -1
  492. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js.map +1 -1
  493. package/dist/esm/hooks/useMergedRef/useMergedRef.js.map +1 -1
  494. package/dist/esm/hooks/useNavigationHistory/useNavigationHistory.js.map +1 -1
  495. package/dist/esm/hooks/useResizeObserver/useResizeObserver.js.map +1 -1
  496. package/dist/esm/hooks/useTheme/useTheme.js +1 -1
  497. package/dist/esm/hooks/useTheme/useTheme.js.map +1 -1
  498. package/dist/esm/hooks/useThrottledCallback/useThrottledCallback.js.map +1 -1
  499. package/dist/esm/index.js +6 -0
  500. package/dist/esm/index.js.map +1 -1
  501. package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -1
  502. package/dist/esm/styles.css.js +3 -0
  503. package/dist/esm/styles.css.js.map +1 -0
  504. package/dist/esm/theme/ThemeProvider.js +5 -3
  505. package/dist/esm/theme/ThemeProvider.js.map +1 -1
  506. package/dist/esm/theme/VanillaThemeProvider.js.map +1 -1
  507. package/dist/esm/theme/breakpoints.js.map +1 -1
  508. package/dist/esm/theme/createCustomTheme.js +1 -1
  509. package/dist/esm/theme/createCustomTheme.js.map +1 -1
  510. package/dist/esm/theme/createLightTheme.js.map +1 -1
  511. package/dist/esm/theme/darkThemeValues.js.map +1 -1
  512. package/dist/esm/theme/lightThemeValues.js.map +1 -1
  513. package/dist/esm/theme/themeContractData.js.map +1 -1
  514. package/dist/esm/utils/cx.js.map +1 -1
  515. package/dist/esm/utils/devWarn.js.map +1 -1
  516. package/dist/esm/utils/mathExpression.js.map +1 -1
  517. package/dist/esm/utils/mathUtils.js.map +1 -1
  518. package/dist/esm/utils/objects.js.map +1 -1
  519. package/dist/esm/utils/platform.js.map +1 -1
  520. package/dist/tokens/tokens.dark.css +1 -1
  521. package/dist/tokens/tokens.json +1 -1
  522. package/dist/tokens/tokens.light.css +1 -1
  523. package/dist/types/components/Icons/CameraIcon.d.ts +34 -0
  524. package/dist/types/components/Icons/CubeIcon.d.ts +34 -0
  525. package/dist/types/components/Icons/OrbitIcon.d.ts +34 -0
  526. package/dist/types/components/Icons/RotateIcon.d.ts +35 -0
  527. package/dist/types/components/Icons/SpinIcon.d.ts +35 -0
  528. package/dist/types/components/Icons/ZoomFitIcon.d.ts +35 -0
  529. package/dist/types/components/controls/Select/Select.d.ts +1 -1
  530. package/dist/types/components/controls/Select/Select.types.d.ts +43 -9
  531. package/dist/types/components/controls/Slider/Slider.d.ts +7 -0
  532. package/dist/types/components/editor/PropertyInspector/PropertyInspector.types.d.ts +49 -3
  533. package/dist/types/components/feedback/Spinner/Spinner.d.ts +6 -1
  534. package/dist/types/components/feedback/Spinner/Spinner.types.d.ts +8 -0
  535. package/dist/types/components/primitives/Button/Button.d.ts +1 -1
  536. package/dist/types/components/primitives/IconButton/IconButton.d.ts +3 -2
  537. package/dist/types/components/primitives/viewport/Viewport.d.ts +5 -2
  538. package/dist/types/components/shell/MenuBar/MenuBar.d.ts +862 -0
  539. package/dist/types/index.d.ts +6 -0
  540. package/dist/types/theme/ThemeProvider.d.ts +5 -3
  541. package/package.json +6 -2
  542. package/dist/esm/_virtual/_commonjsHelpers.js +0 -6
  543. package/dist/esm/_virtual/_commonjsHelpers.js.map +0 -1
  544. package/dist/esm/_virtual/cjs.js +0 -4
  545. package/dist/esm/_virtual/cjs.js.map +0 -1
  546. package/dist/esm/_virtual/cssesc.js +0 -8
  547. package/dist/esm/_virtual/cssesc.js.map +0 -1
  548. package/dist/esm/_virtual/picocolors.js +0 -8
  549. package/dist/esm/_virtual/picocolors.js.map +0 -1
  550. package/dist/esm/_virtual/picocolors2.js +0 -4
  551. package/dist/esm/_virtual/picocolors2.js.map +0 -1
  552. package/dist/esm/node_modules/@emotion/hash/dist/emotion-hash.esm.js +0 -56
  553. package/dist/esm/node_modules/@emotion/hash/dist/emotion-hash.esm.js.map +0 -1
  554. package/dist/esm/node_modules/@vanilla-extract/css/adapter/dist/vanilla-extract-css-adapter.esm.js +0 -46
  555. package/dist/esm/node_modules/@vanilla-extract/css/adapter/dist/vanilla-extract-css-adapter.esm.js.map +0 -1
  556. package/dist/esm/node_modules/@vanilla-extract/css/dist/taggedTemplateLiteral-10998315.esm.js +0 -13
  557. package/dist/esm/node_modules/@vanilla-extract/css/dist/taggedTemplateLiteral-10998315.esm.js.map +0 -1
  558. package/dist/esm/node_modules/@vanilla-extract/css/dist/transformCss-fd0786e1.esm.js +0 -962
  559. package/dist/esm/node_modules/@vanilla-extract/css/dist/transformCss-fd0786e1.esm.js.map +0 -1
  560. package/dist/esm/node_modules/@vanilla-extract/css/dist/vanilla-extract-css.esm.js +0 -309
  561. package/dist/esm/node_modules/@vanilla-extract/css/dist/vanilla-extract-css.esm.js.map +0 -1
  562. package/dist/esm/node_modules/@vanilla-extract/css/fileScope/dist/vanilla-extract-css-fileScope.esm.js +0 -18
  563. package/dist/esm/node_modules/@vanilla-extract/css/fileScope/dist/vanilla-extract-css-fileScope.esm.js.map +0 -1
  564. package/dist/esm/node_modules/@vanilla-extract/css/injectStyles/dist/vanilla-extract-css-injectStyles.esm.js +0 -23
  565. package/dist/esm/node_modules/@vanilla-extract/css/injectStyles/dist/vanilla-extract-css-injectStyles.esm.js.map +0 -1
  566. package/dist/esm/node_modules/@vanilla-extract/css/node_modules/lru-cache/dist/esm/index.js +0 -1543
  567. package/dist/esm/node_modules/@vanilla-extract/css/node_modules/lru-cache/dist/esm/index.js.map +0 -1
  568. package/dist/esm/node_modules/@vanilla-extract/private/dist/vanilla-extract-private.esm.js +0 -38
  569. package/dist/esm/node_modules/@vanilla-extract/private/dist/vanilla-extract-private.esm.js.map +0 -1
  570. package/dist/esm/node_modules/css-what/lib/es/parse.js +0 -424
  571. package/dist/esm/node_modules/css-what/lib/es/parse.js.map +0 -1
  572. package/dist/esm/node_modules/css-what/lib/es/types.js +0 -29
  573. package/dist/esm/node_modules/css-what/lib/es/types.js.map +0 -1
  574. package/dist/esm/node_modules/cssesc/cssesc.js +0 -120
  575. package/dist/esm/node_modules/cssesc/cssesc.js.map +0 -1
  576. package/dist/esm/node_modules/dedent/dist/dedent.js +0 -100
  577. package/dist/esm/node_modules/dedent/dist/dedent.js.map +0 -1
  578. package/dist/esm/node_modules/deep-object-diff/mjs/diff.js +0 -40
  579. package/dist/esm/node_modules/deep-object-diff/mjs/diff.js.map +0 -1
  580. package/dist/esm/node_modules/deep-object-diff/mjs/utils.js +0 -9
  581. package/dist/esm/node_modules/deep-object-diff/mjs/utils.js.map +0 -1
  582. package/dist/esm/node_modules/deepmerge/dist/cjs.js +0 -143
  583. package/dist/esm/node_modules/deepmerge/dist/cjs.js.map +0 -1
  584. package/dist/esm/node_modules/media-query-parser/dist/media-query-parser.esm.js +0 -1386
  585. package/dist/esm/node_modules/media-query-parser/dist/media-query-parser.esm.js.map +0 -1
  586. package/dist/esm/node_modules/modern-ahocorasick/dist/index.js +0 -102
  587. package/dist/esm/node_modules/modern-ahocorasick/dist/index.js.map +0 -1
  588. package/dist/esm/node_modules/picocolors/picocolors.js +0 -87
  589. package/dist/esm/node_modules/picocolors/picocolors.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,150 @@
1
1
  # entangle-ui
2
2
 
3
+ ## 0.12.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#109](https://github.com/SebastianWebdev/entangle-ui/pull/109) [`b61bfbd`](https://github.com/SebastianWebdev/entangle-ui/commit/b61bfbda7608652cdbcc68c7235980c6a113a9b4) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - **E1 — AppShell top-chrome + MenuBar fill/inset.** `AppShell.MenuBar` now paints
8
+ the menu-bar chrome background (`--etui-shell-menubar-bg`) on the slot, and
9
+ `MenuBar` stretches to fill its host slot so the top chrome reads as one
10
+ continuous strip instead of a lighter content-width block. MenuBar triggers now
11
+ inset their hover/active fill (rounded, vertically centered) from the chrome
12
+ edges. Docs clarify that side toolbar slots (`AppShell.Toolbar position="left|right"`)
13
+ are the intended home for docked panels. Visual default change — no API change.
14
+
15
+ - [#109](https://github.com/SebastianWebdev/entangle-ui/pull/109) [`b61bfbd`](https://github.com/SebastianWebdev/entangle-ui/commit/b61bfbda7608652cdbcc68c7235980c6a113a9b4) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - **G1 — Align `Button` / `IconButton` icon API.** `IconButton` now accepts an
16
+ optional `icon` prop mirroring `Button`'s `icon`, so `<IconButton icon={…} />`
17
+ type-checks and the two components share one API. `children` still works for
18
+ back-compat (now optional); when both are set, `icon` wins. Additive.
19
+
20
+ - [#109](https://github.com/SebastianWebdev/entangle-ui/pull/109) [`b61bfbd`](https://github.com/SebastianWebdev/entangle-ui/commit/b61bfbda7608652cdbcc68c7235980c6a113a9b4) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - **E2 — MenuBar checkable / radio items.** Add `MenuBar.CheckboxItem`
21
+ (`checked` / `defaultChecked` / `onCheckedChange`) and `MenuBar.RadioGroup` +
22
+ `MenuBar.RadioItem` (`value` / `defaultValue` / `onValueChange`), mirroring the
23
+ navigation `Menu` API. Items reserve a leading check-mark gutter so checked and
24
+ unchecked rows align, use `role="menuitemcheckbox"` / `role="menuitemradio"` with
25
+ `aria-checked`, participate in arrow-key navigation, and keep the menu open on
26
+ activation by default (`closeOnClick={false}`). Additive.
27
+
28
+ - [#109](https://github.com/SebastianWebdev/entangle-ui/pull/109) [`b61bfbd`](https://github.com/SebastianWebdev/entangle-ui/commit/b61bfbda7608652cdbcc68c7235980c6a113a9b4) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - **F1 — Slider value tooltip → portal.** The drag value tooltip was an
29
+ absolutely-positioned child of the slider wrapper, so any ancestor `overflow`
30
+ (e.g. a `PropertySection` header) clipped it. It now renders in a portal to
31
+ `document.body` with fixed viewport coordinates anchored to the thumb, so it can
32
+ never be clipped. Added `tooltipPlacement?: 'top' | 'bottom'` (default `'top'`).
33
+ The portal is only mounted while dragging, so the idle/drag hot path is
34
+ unchanged. Default visual placement (above the thumb) is unchanged.
35
+
36
+ - [#109](https://github.com/SebastianWebdev/entangle-ui/pull/109) [`b61bfbd`](https://github.com/SebastianWebdev/entangle-ui/commit/b61bfbda7608652cdbcc68c7235980c6a113a9b4) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - **G2 — `Spinner` `decorative` (live-region opt-out).** Add `decorative?: boolean`
37
+ to `Spinner`. When set, the spinner renders `role="presentation"` + `aria-hidden`
38
+ with no `aria-live`, for use inside an existing live region (e.g. `StatusBar`,
39
+ which is itself `role="status"`) so activity isn't announced twice. Default
40
+ behavior (`role="status"` + `aria-live="polite"`) is unchanged. Additive.
41
+
42
+ ### Patch Changes
43
+
44
+ - [#109](https://github.com/SebastianWebdev/entangle-ui/pull/109) [`b61bfbd`](https://github.com/SebastianWebdev/entangle-ui/commit/b61bfbda7608652cdbcc68c7235980c6a113a9b4) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - **F2 — Tooltip z-index on the Positioner (renders under panels).** The tooltip
45
+ z-index (`--etui-z-tooltip`) was set on the inner `Popup`, trapped inside the
46
+ portaled `Positioner`'s own `position: fixed` stacking context, so a positioned
47
+ sibling at a lower z-index (e.g. an `AppShell` slot at `--etui-z-base`) painted
48
+ over the tooltip. The token now lives on the `Positioner`. Audited the other Base
49
+ UI `Positioner`/`Popup` pairs and applied the same fix to the navigation `Menu`
50
+ and `ContextMenu` (dropdown z-index now on their positioners). `HoverCard`,
51
+ `Select` and `Popover` were already correct (z-index on the positioned element).
52
+
53
+ - [#109](https://github.com/SebastianWebdev/entangle-ui/pull/109) [`b61bfbd`](https://github.com/SebastianWebdev/entangle-ui/commit/b61bfbda7608652cdbcc68c7235980c6a113a9b4) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - **G3 — `Viewport` docs lead with "2D only".** The `Viewport` JSDoc, docs page,
54
+ and skill reference now lead with the 2D-only boundary (it owns a 2D pan/zoom
55
+ transform, not a 3D camera) and point to hosting your own WebGL/WebGPU canvas
56
+ for 3D. Docs-only; no API change.
57
+
58
+ - [#111](https://github.com/SebastianWebdev/entangle-ui/pull/111) [`f933917`](https://github.com/SebastianWebdev/entangle-ui/commit/f933917f99da18ce70ed08bbfb103d03250346c2) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - Fix `entangle-ui/styles.css` being tree-shaken out of production builds.
59
+
60
+ The `./styles.css` export resolved to `dist/esm/styles.js` — a JS shim whose
61
+ only job is to `import` the dark-theme tokens + global-scrollbar stylesheets for
62
+ their side effects. But the package's `sideEffects` allowlist only matches
63
+ `*.css`, `*.css.ts`, and `*.css.js`, so a plain `styles.js` (which exports
64
+ nothing) was flagged side-effect-free and dropped by production bundlers. The
65
+ canonical `import 'entangle-ui/styles.css'` setup then shipped **zero** `--etui-*`
66
+ token definitions: no colours, no fonts, and menu/tooltip popups with no
67
+ background or stacking. Dev was unaffected because dev servers don't tree-shake,
68
+ so the failure only surfaced in `build`/`preview`.
69
+
70
+ The stylesheet entry is now emitted as `dist/esm/styles.css.js`, which matches
71
+ the existing `*.css.js` side-effect glob (the same bucket as every component's
72
+ compiled style module), so the import survives production tree-shaking and the
73
+ dark theme lands on `:root` in dev and prod alike. No source or API change is
74
+ required in consumer apps.
75
+
76
+ ## 0.11.0
77
+
78
+ ### Minor Changes
79
+
80
+ - [#103](https://github.com/SebastianWebdev/entangle-ui/pull/103) [`9fd2dbd`](https://github.com/SebastianWebdev/entangle-ui/commit/9fd2dbdd86a24c776b5b188582eec3c7ceb584b9) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - Fix browser white-screen caused by a Node build of `picocolors` being inlined into the shipped ESM.
81
+
82
+ `@vanilla-extract/css` was reachable from the runtime barrel (via `createCustomTheme`) but was **not** a Rollup external, so its entire runtime — including the Node build of `picocolors` (`let p = process || {}` at module init) and `lru-cache` — was inlined into `dist/esm`. Any `entangle-ui` import then crashed with `process is not defined` in the browser (most visibly in `vite dev`, where nothing is tree-shaken).
83
+
84
+ **What changed:**
85
+ - `@vanilla-extract/css` is now a Rollup external, so it is no longer inlined. The consumer's bundler resolves it and honours each dependency's `browser` field, so no Node-only globals reach the browser.
86
+ - A regression guard (`scripts/check-browser-safe.ts`, wired into `prepublishOnly` via `npm run check:browser-safe`) fails the publish if any `dist/esm/**/*.js` references a Node-only global (`process`, `require(`) outside the bundler-replaceable `process.env.NODE_ENV` guard.
87
+
88
+ **Action required (peer dependency):** `@vanilla-extract/css` (`^1.18.0`) is now declared as a `peerDependency`. It is already pulled in transitively by the existing required peers `@vanilla-extract/dynamic` and `@vanilla-extract/recipes`, so npm/yarn users are unaffected; pnpm users (strict resolution) should ensure it is installed.
89
+
90
+ - [#105](https://github.com/SebastianWebdev/entangle-ui/pull/105) [`55b94aa`](https://github.com/SebastianWebdev/entangle-ui/commit/55b94aa3cf90690c5e32a6c61d88e2f3c55e6277) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - Add a canonical stylesheet entry and fix published sourcemaps.
91
+
92
+ **`entangle-ui/styles.css` (new, canonical theme import).** The documented CSS imports (`entangle-ui/styles.css`, `entangle-ui/darkTheme.css`) did not resolve, and the dark theme `:root` variables (`--etui-*`) were not reachable from a normal component import — so a fresh app rendered unstyled. There is now a single canonical entry:
93
+
94
+ ```ts
95
+ // once, at your app root
96
+ import 'entangle-ui/styles.css';
97
+ ```
98
+
99
+ It registers every `--etui-*` token on `:root` (default dark theme) plus the opt-in global-scrollbar rules, so components render correctly **without** a `ThemeProvider` wrapper. Component CSS still ships per component, so the entry stays tiny. A packaging test asserts the `:root` tokens are present.
100
+
101
+ **Package-relative sourcemaps.** Published `.js.map` files pointed `sources` at an unshipped `node_modules/entangle-ui/src/...` and shipped no `sourcesContent`, producing "source file outside its package" warnings in consumers. Sourcemaps now use package-relative `src/...` paths with embedded `sourcesContent` (`inlineSources` in `tsconfig.build.json` + a `sourcemapPathTransform` in `rollup.config.js`). A regression guard (`scripts/check-sourcemaps.ts`, wired into `prepublishOnly` via `npm run check:sourcemaps`) fails the publish if a sourcemap escapes the package or drops its source content.
102
+
103
+ - [#107](https://github.com/SebastianWebdev/entangle-ui/pull/107) [`2c96ea1`](https://github.com/SebastianWebdev/entangle-ui/commit/2c96ea1e149b73c55d41f6ab1347d9cf8f6c60bf) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - `PropertyPanel`: add fill-height scrolling, row density, and a small control-padding fix.
104
+ - **`fillHeight` (new prop).** Fills the parent's height and scrolls the content on overflow without needing a fixed `maxHeight`, reserving a scrollbar gutter so controls don't sit under the overlay scrollbar. Ignored when `maxHeight` is set.
105
+ - **`density` (new prop).** `compact` / `normal` / `spacious` tunes the vertical rhythm (min-height + vertical padding) of all nested `PropertyRow`s via panel context. Default `normal` is unchanged from before.
106
+ - **Control right padding.** `PropertyRow`'s control column right padding was bumped from `xs` (2px) to `sm` (4px) so controls no longer sit flush against the row's right edge. This is a small default visual change.
107
+
108
+ - [#107](https://github.com/SebastianWebdev/entangle-ui/pull/107) [`2c96ea1`](https://github.com/SebastianWebdev/entangle-ui/commit/2c96ea1e149b73c55d41f6ab1347d9cf8f6c60bf) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - `PropertyRow`: fix the label tooltip and allow a `ReactNode` label.
109
+ - **Tooltip fix.** The label tooltip never appeared because the tooltip trigger wrapped its content in a `display: contents` element, which generates no box and therefore no hover/focus target (the `Tooltip` primitive disables pointer events on the trigger and re-enables them only on its direct child). The wrapper is now a real `inline-flex` box, so hovering or focusing the label shows the tooltip.
110
+ - **`label: ReactNode`.** `PropertyRow.label` was typed `string` but already rendered any node. It is now typed `React.ReactNode`, so an icon + text (or any custom markup) can be used as a label without a cast. This is a widening, so existing string labels are unaffected.
111
+
112
+ - [#107](https://github.com/SebastianWebdev/entangle-ui/pull/107) [`2c96ea1`](https://github.com/SebastianWebdev/entangle-ui/commit/2c96ea1e149b73c55d41f6ab1347d9cf8f6c60bf) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - `PropertySection`: add a first-class checkable section.
113
+
114
+ Set `checkable` to render a managed enable/disable toggle in the section header (built on the `Switch` primitive). When the toggle is off, the section body is dimmed and made non-interactive (`pointer-events: none`) but **stays mounted**, so its state is preserved. The toggle is independent of the collapse state and supports controlled and uncontrolled use via `checked` / `defaultChecked` / `onCheckedChange`. The toggle's accessible name defaults to the section `title` and can be overridden with `checkLabel`. All additive — sections without `checkable` are unchanged.
115
+
116
+ - [#107](https://github.com/SebastianWebdev/entangle-ui/pull/107) [`2c96ea1`](https://github.com/SebastianWebdev/entangle-ui/commit/2c96ea1e149b73c55d41f6ab1347d9cf8f6c60bf) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - `Select`: add `fullWidth` and size the open dropdown to its content.
117
+ - **`fullWidth` (new prop).** When set, the select stretches the container and trigger to fill the available width instead of shrinking to the selected label. This fixes selects collapsing when placed inside a flex row or property panel. Default `false` preserves the previous content-width behavior.
118
+ - **Content-sized dropdown.** The open dropdown now sizes to its widest option (`width: max-content`), with a minimum of the trigger width (and `minDropdownWidth` when set) and a maximum clamped to the viewport. Long option labels are no longer clipped by a narrow trigger. `minDropdownWidth` continues to act as a floor.
119
+
120
+ - [#107](https://github.com/SebastianWebdev/entangle-ui/pull/107) [`2c96ea1`](https://github.com/SebastianWebdev/entangle-ui/commit/2c96ea1e149b73c55d41f6ab1347d9cf8f6c60bf) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - `Select`: type `onChange` per `clearable` so the value is only nullable when it can actually be cleared.
121
+
122
+ `SelectProps` is now a discriminated union on `clearable`:
123
+ - Without `clearable`, `onChange` is `(value: T) => void` — it never receives `null`, so consumers no longer need a spurious null check.
124
+ - With `clearable`, `onChange` is `(value: T | null) => void` — `null` is emitted by the clear button.
125
+
126
+ Type-only change (runtime behavior is unchanged). This is stricter than before: an inline `onChange` handler on a non-clearable select now infers `T` instead of `T | null`. Handlers already written to accept `T | null` remain assignable, so most code is unaffected; a handler that explicitly compared the value to `null` on a non-clearable select should drop that dead branch.
127
+
128
+ - [#108](https://github.com/SebastianWebdev/entangle-ui/pull/108) [`67edb59`](https://github.com/SebastianWebdev/entangle-ui/commit/67edb59caeadb6798318774e725a061f567f4a8f) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - Add viewport / 3D icon glyphs: `OrbitIcon`, `RotateIcon`, `SpinIcon`, `CameraIcon`, `CubeIcon`, and `ZoomFitIcon`.
129
+
130
+ The icon set previously lacked rotate/orbit, camera, cube/axis, and zoom-to-fit glyphs, so editor viewports had to reuse `RefreshIcon`/`HomeIcon` for unrelated meanings. These six additions match the existing 24×24 / 2px-stroke style, are exported from the root barrel, and are tree-shakeable like every other icon. Purely additive — no existing icon changed.
131
+
132
+ ### Patch Changes
133
+
134
+ - [#106](https://github.com/SebastianWebdev/entangle-ui/pull/106) [`7c68e13`](https://github.com/SebastianWebdev/entangle-ui/commit/7c68e133d93a35287d82b3d1036ca0c3eac70521) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - Fix the install and getting-started documentation across every surface so a new consumer can install and run the package.
135
+
136
+ The README (shipped on npm), the `docs/` quickstart and theming guides, the docs-site getting-started and theming pages, and the bundled skill all carried a stale install story:
137
+ - **Install tag.** `npm install entangle-ui@alpha` resolved to an ancient `0.1.0-alpha.0`; the documented command is now `npm install entangle-ui`.
138
+ - **React floor.** The `react`/`react-dom` peer requirement is `>=19.2.0`, not the documented `>=19.1.0`.
139
+ - **Peer dependencies.** The docs omitted `@tanstack/react-virtual` and `@vanilla-extract/css`; all peers are now listed with their real version ranges.
140
+ - **Theme import.** The documented `entangle-ui/darkTheme.css` and side-effect `entangle-ui/theme` imports did not register the `--etui-*` variables. Everything now uses the canonical `import 'entangle-ui/styles.css'`, and the default-theme examples no longer imply a `ThemeProvider` wrapper is required.
141
+
142
+ Documentation only — no runtime or API change.
143
+
144
+ - [#107](https://github.com/SebastianWebdev/entangle-ui/pull/107) [`2c96ea1`](https://github.com/SebastianWebdev/entangle-ui/commit/2c96ea1e149b73c55d41f6ab1347d9cf8f6c60bf) Thanks [@SebastianWebdev](https://github.com/SebastianWebdev)! - `PropertySection`: render header controls as siblings of the collapse trigger instead of nested inside it.
145
+
146
+ The enable toggle (`checkable`) and the `actions` slot were rendered inside the section header's trigger `<button>`, which produced invalid HTML (`<button>` cannot contain another `<button>`/interactive control) and a React DOM warning. The header is now a flex strip containing the trigger button and a separate controls group as siblings, so toggles and actions are never nested in a button. The collapse behavior, sizing, and the expanded separator are unchanged; the trigger's hover highlight now covers the trigger area rather than the full strip width.
147
+
3
148
  ## 0.10.0
4
149
 
5
150
  ### Minor Changes
package/README.md CHANGED
@@ -24,17 +24,19 @@ npm install entangle-ui
24
24
 
25
25
  Peer dependencies:
26
26
 
27
- - `react >= 19.1.0`
28
- - `react-dom >= 19.1.0`
27
+ - `react >= 19.2.0`
28
+ - `react-dom >= 19.2.0`
29
29
  - `@base-ui/react ^1.1.0`
30
30
  - `@floating-ui/react ^0.27.17`
31
+ - `@tanstack/react-virtual ^3.13.0`
32
+ - `@vanilla-extract/css ^1.18.0`
31
33
  - `@vanilla-extract/dynamic ^2.1.5`
32
34
  - `@vanilla-extract/recipes ^0.5.7`
33
35
 
34
36
  ## Quick Start
35
37
 
36
38
  ```tsx
37
- import 'entangle-ui/darkTheme.css'; // registers --etui-* CSS custom properties on :root
39
+ import 'entangle-ui/styles.css'; // registers the dark theme (--etui-* custom properties) on :root
38
40
 
39
41
  import { AppShell, MenuBar, Toolbar, StatusBar } from 'entangle-ui';
40
42
 
@@ -79,10 +81,10 @@ Entangle UI uses [Vanilla Extract](https://vanilla-extract.style/) for zero-runt
79
81
 
80
82
  ### Default dark theme
81
83
 
82
- Import the dark theme CSS to register all `--etui-*` variables on `:root`:
84
+ Import the bundled stylesheet once to register all `--etui-*` variables on `:root`:
83
85
 
84
86
  ```ts
85
- import 'entangle-ui/darkTheme.css';
87
+ import 'entangle-ui/styles.css';
86
88
  ```
87
89
 
88
90
  ### Custom themes
@@ -147,6 +147,8 @@
147
147
  .Select_dropdownStyle__ycpn70v {
148
148
  position: fixed;
149
149
  z-index: var(--etui-z-dropdown);
150
+ width: max-content;
151
+ box-sizing: border-box;
150
152
  background: var(--etui-color-bg-elevated);
151
153
  border: 1px solid var(--etui-color-border-default);
152
154
  border-radius: var(--etui-radius-md);
@@ -178,6 +180,7 @@
178
180
  padding: var(--etui-spacing-sm) var(--etui-spacing-md);
179
181
  font-size: var(--etui-font-size-md);
180
182
  gap: var(--etui-spacing-sm);
183
+ white-space: nowrap;
181
184
  transition: background var(--etui-transition-fast);
182
185
  }
183
186
  .Select_optionItemRecipe_highlighted_true__ycpn70z {
@@ -1,15 +1,15 @@
1
- .Slider_sliderContainerRecipe__t8kxxs3 {
1
+ .Slider_sliderContainerRecipe__t8kxxs2 {
2
2
  display: flex;
3
3
  flex-direction: column;
4
4
  gap: var(--etui-spacing-xs);
5
5
  width: 100%;
6
6
  min-width: 0;
7
7
  }
8
- .Slider_sliderContainerRecipe_disabled_true__t8kxxs4 {
8
+ .Slider_sliderContainerRecipe_disabled_true__t8kxxs3 {
9
9
  opacity: 0.5;
10
10
  pointer-events: none;
11
11
  }
12
- .Slider_sliderWrapperStyle__t8kxxs6 {
12
+ .Slider_sliderWrapperStyle__t8kxxs5 {
13
13
  position: relative;
14
14
  display: flex;
15
15
  align-items: center;
@@ -18,56 +18,56 @@
18
18
  padding: 0px 0;
19
19
  width: 100%;
20
20
  }
21
- .Slider_trackRecipe__t8kxxs7 {
21
+ .Slider_trackRecipe__t8kxxs6 {
22
22
  position: relative;
23
23
  flex: 1;
24
24
  border-radius: var(--etui-radius-sm);
25
25
  overflow: hidden;
26
26
  border: 1px solid;
27
27
  }
28
- .Slider_trackRecipe_size_sm__t8kxxs8 {
28
+ .Slider_trackRecipe_size_sm__t8kxxs7 {
29
29
  height: 4px;
30
30
  }
31
- .Slider_trackRecipe_size_md__t8kxxs9 {
31
+ .Slider_trackRecipe_size_md__t8kxxs8 {
32
32
  height: 6px;
33
33
  }
34
- .Slider_trackRecipe_size_lg__t8kxxsa {
34
+ .Slider_trackRecipe_size_lg__t8kxxs9 {
35
35
  height: 8px;
36
36
  }
37
- .Slider_trackRecipe_error_true__t8kxxsb {
37
+ .Slider_trackRecipe_error_true__t8kxxsa {
38
38
  background: var(--etui-color-accent-error);
39
39
  border-color: var(--etui-color-border-error);
40
40
  }
41
- .Slider_trackRecipe_error_true__t8kxxsb:hover {
41
+ .Slider_trackRecipe_error_true__t8kxxsa:hover {
42
42
  border-color: var(--etui-color-border-error);
43
43
  }
44
- .Slider_trackRecipe_error_false__t8kxxsc {
44
+ .Slider_trackRecipe_error_false__t8kxxsb {
45
45
  background: var(--etui-color-surface-default);
46
46
  border-color: var(--etui-color-border-default);
47
47
  }
48
- .Slider_trackRecipe_error_false__t8kxxsc:hover {
48
+ .Slider_trackRecipe_error_false__t8kxxsb:hover {
49
49
  border-color: var(--etui-color-border-focus);
50
50
  }
51
- .Slider_fillRecipe__t8kxxsd {
51
+ .Slider_fillRecipe__t8kxxsc {
52
52
  position: absolute;
53
53
  left: 0;
54
54
  top: 0;
55
55
  bottom: 0;
56
56
  width: var(--fillPercentageVar__t8kxxs0);
57
57
  }
58
- .Slider_fillRecipe_error_true__t8kxxse {
58
+ .Slider_fillRecipe_error_true__t8kxxsd {
59
59
  background: var(--etui-color-accent-error);
60
60
  }
61
- .Slider_fillRecipe_error_false__t8kxxsf {
61
+ .Slider_fillRecipe_error_false__t8kxxse {
62
62
  background: var(--etui-color-accent-primary);
63
63
  }
64
- .Slider_fillRecipe_isDragging_true__t8kxxsg {
64
+ .Slider_fillRecipe_isDragging_true__t8kxxsf {
65
65
  transition: none;
66
66
  }
67
- .Slider_fillRecipe_isDragging_false__t8kxxsh {
67
+ .Slider_fillRecipe_isDragging_false__t8kxxsg {
68
68
  transition: width 0.1s ease-out;
69
69
  }
70
- .Slider_thumbRecipe__t8kxxsi {
70
+ .Slider_thumbRecipe__t8kxxsh {
71
71
  position: absolute;
72
72
  top: 50%;
73
73
  left: var(--thumbPercentageVar__t8kxxs1);
@@ -77,38 +77,38 @@
77
77
  cursor: grab;
78
78
  box-shadow: var(--etui-shadow-sm);
79
79
  }
80
- .Slider_thumbRecipe__t8kxxsi:hover {
80
+ .Slider_thumbRecipe__t8kxxsh:hover {
81
81
  transform: translate(-50%, -50%) scale(1.1);
82
82
  box-shadow: var(--etui-shadow-md);
83
83
  }
84
- .Slider_thumbRecipe_size_sm__t8kxxsj {
84
+ .Slider_thumbRecipe_size_sm__t8kxxsi {
85
85
  width: 12px;
86
86
  height: 12px;
87
87
  }
88
- .Slider_thumbRecipe_size_md__t8kxxsk {
88
+ .Slider_thumbRecipe_size_md__t8kxxsj {
89
89
  width: 16px;
90
90
  height: 16px;
91
91
  }
92
- .Slider_thumbRecipe_size_lg__t8kxxsl {
92
+ .Slider_thumbRecipe_size_lg__t8kxxsk {
93
93
  width: 20px;
94
94
  height: 20px;
95
95
  }
96
- .Slider_thumbRecipe_error_true__t8kxxsm {
96
+ .Slider_thumbRecipe_error_true__t8kxxsl {
97
97
  background: var(--etui-color-accent-error);
98
98
  }
99
- .Slider_thumbRecipe_error_false__t8kxxsn {
99
+ .Slider_thumbRecipe_error_false__t8kxxsm {
100
100
  background: var(--etui-color-accent-primary);
101
101
  }
102
- .Slider_thumbRecipe_isDragging_true__t8kxxso {
102
+ .Slider_thumbRecipe_isDragging_true__t8kxxsn {
103
103
  cursor: grabbing;
104
104
  transform: translate(-50%, -50%) scale(1.15);
105
105
  box-shadow: var(--etui-shadow-lg);
106
106
  transition: none;
107
107
  }
108
- .Slider_thumbRecipe_isDragging_false__t8kxxsp {
108
+ .Slider_thumbRecipe_isDragging_false__t8kxxso {
109
109
  transition: all var(--etui-transition-fast);
110
110
  }
111
- .Slider_ticksStyle__t8kxxsq {
111
+ .Slider_ticksStyle__t8kxxsp {
112
112
  position: absolute;
113
113
  top: 100%;
114
114
  left: 0;
@@ -119,7 +119,7 @@
119
119
  align-items: flex-start;
120
120
  pointer-events: none;
121
121
  }
122
- .Slider_ticksStyle__t8kxxsq::before {
122
+ .Slider_ticksStyle__t8kxxsp::before {
123
123
  content: "";
124
124
  position: absolute;
125
125
  top: 2px;
@@ -128,17 +128,14 @@
128
128
  height: 1px;
129
129
  background: var(--etui-color-border-default);
130
130
  }
131
- .Slider_tickStyle__t8kxxsr {
131
+ .Slider_tickStyle__t8kxxsq {
132
132
  width: 1px;
133
133
  height: 4px;
134
134
  background: var(--etui-color-text-muted);
135
135
  margin-top: 2px;
136
136
  }
137
- .Slider_tooltipRecipe__t8kxxss {
138
- position: absolute;
139
- bottom: calc(100% + 8px);
140
- left: var(--tooltipPercentageVar__t8kxxs2);
141
- transform: translateX(-50%);
137
+ .Slider_sliderTooltipRecipe__t8kxxsr {
138
+ position: fixed;
142
139
  background: var(--etui-color-bg-elevated);
143
140
  color: var(--etui-color-text-primary);
144
141
  border: 1px solid var(--etui-color-border-default);
@@ -149,9 +146,11 @@
149
146
  white-space: nowrap;
150
147
  pointer-events: none;
151
148
  z-index: var(--etui-z-tooltip);
152
- transition: all var(--etui-transition-fast);
153
149
  }
154
- .Slider_tooltipRecipe__t8kxxss::after {
150
+ .Slider_sliderTooltipRecipe_placement_top__t8kxxss {
151
+ transform: translate(-50%, calc(-100% - 8px));
152
+ }
153
+ .Slider_sliderTooltipRecipe_placement_top__t8kxxss::after {
155
154
  content: "";
156
155
  position: absolute;
157
156
  top: 100%;
@@ -163,25 +162,29 @@
163
162
  border-right: 4px solid transparent;
164
163
  border-top: 4px solid var(--etui-color-border-default);
165
164
  }
166
- .Slider_tooltipRecipe_visible_true__t8kxxst {
167
- opacity: 1;
168
- transform: translateX(-50%) translateY(0);
165
+ .Slider_sliderTooltipRecipe_placement_bottom__t8kxxst {
166
+ transform: translate(-50%, 8px);
169
167
  }
170
- .Slider_tooltipRecipe_visible_false__t8kxxsu {
171
- opacity: 0;
172
- transform: translateX(-50%) translateY(4px);
168
+ .Slider_sliderTooltipRecipe_placement_bottom__t8kxxst::after {
169
+ content: "";
170
+ position: absolute;
171
+ bottom: 100%;
172
+ left: 50%;
173
+ transform: translateX(-50%);
174
+ width: 0;
175
+ height: 0;
176
+ border-left: 4px solid transparent;
177
+ border-right: 4px solid transparent;
178
+ border-bottom: 4px solid var(--etui-color-border-default);
173
179
  }
174
180
  @media (prefers-reduced-motion: reduce) {
175
- .Slider_thumbRecipe__t8kxxsi {
181
+ .Slider_thumbRecipe__t8kxxsh {
176
182
  transition: none;
177
183
  }
178
- .Slider_thumbRecipe__t8kxxsi:hover {
184
+ .Slider_thumbRecipe__t8kxxsh:hover {
179
185
  transform: translate(-50%, -50%);
180
186
  }
181
- .Slider_thumbRecipe_isDragging_false__t8kxxsp {
182
- transition: none;
183
- }
184
- .Slider_tooltipRecipe__t8kxxss {
187
+ .Slider_thumbRecipe_isDragging_false__t8kxxso {
185
188
  transition: none;
186
189
  }
187
190
  }
@@ -40,7 +40,10 @@
40
40
  padding-left: var(--etui-spacing-md);
41
41
  box-sizing: border-box;
42
42
  }
43
- .PropertyPanel_panelFooter__151bru77 {
43
+ .PropertyPanel_panelContentScroll__151bru77 {
44
+ padding-right: var(--etui-spacing-lg);
45
+ }
46
+ .PropertyPanel_panelFooter__151bru78 {
44
47
  flex-shrink: 0;
45
48
  border-top: 1px solid var(--etui-color-border-default);
46
49
  }
@@ -1,6 +1,6 @@
1
1
  .PropertyRow_rowRoot__1ds48412 {
2
2
  position: relative;
3
- padding: 2px 8px;
3
+ padding: 0 var(--etui-spacing-md);
4
4
  transition: background var(--etui-transition-fast);
5
5
  }
6
6
  .PropertyRow_rowRoot__1ds48412:hover {
@@ -29,7 +29,14 @@
29
29
  margin-bottom: var(--etui-spacing-xs);
30
30
  user-select: none;
31
31
  }
32
- .PropertyRow_modifiedDot__1ds48415 {
32
+ .PropertyRow_labelTooltipTarget__1ds48415 {
33
+ display: inline-flex;
34
+ align-items: center;
35
+ min-width: 0;
36
+ max-width: 100%;
37
+ overflow: hidden;
38
+ }
39
+ .PropertyRow_modifiedDot__1ds48416 {
33
40
  width: 4px;
34
41
  height: 4px;
35
42
  border-radius: 50%;
@@ -37,23 +44,23 @@
37
44
  margin-right: var(--etui-spacing-xs);
38
45
  flex-shrink: 0;
39
46
  }
40
- .PropertyRow_rowControl__1ds48416 {
47
+ .PropertyRow_rowControl__1ds48417 {
41
48
  flex: 0 0 var(--controlRatioVar__1ds48411);
42
49
  box-sizing: border-box;
43
50
  display: flex;
44
51
  align-items: center;
45
52
  min-width: 0;
46
- padding-right: var(--etui-spacing-xs);
53
+ padding-right: var(--etui-spacing-sm);
47
54
  }
48
- .PropertyRow_fullWidthControl__1ds48417 {
55
+ .PropertyRow_fullWidthControl__1ds48418 {
49
56
  display: flex;
50
57
  align-items: stretch;
51
58
  width: 100%;
52
59
  flex: 1 1 auto;
53
60
  min-width: 0;
54
- padding-right: var(--etui-spacing-xs);
61
+ padding-right: var(--etui-spacing-sm);
55
62
  }
56
- .PropertyRow_resetButton__1ds48418 {
63
+ .PropertyRow_resetButton__1ds48419 {
57
64
  position: absolute;
58
65
  right: var(--etui-spacing-xs);
59
66
  top: 50%;
@@ -69,7 +76,7 @@
69
76
  color: var(--etui-color-text-muted);
70
77
  transition: opacity var(--etui-transition-fast), color var(--etui-transition-fast), background var(--etui-transition-fast);
71
78
  }
72
- .PropertyRow_resetButton__1ds48418:hover {
79
+ .PropertyRow_resetButton__1ds48419:hover {
73
80
  color: var(--etui-color-text-primary);
74
81
  background: var(--etui-color-surface-active);
75
82
  }
@@ -9,59 +9,76 @@
9
9
  .PropertySection_sectionRoot__1xiu0w60 + .PropertySection_sectionRoot__1xiu0w60 {
10
10
  margin-top: var(--etui-spacing-sm);
11
11
  }
12
- .PropertySection_sectionTrigger__1xiu0w61 {
12
+ .PropertySection_sectionHeader__1xiu0w61 {
13
+ display: flex;
14
+ align-items: stretch;
15
+ width: 100%;
16
+ background: var(--etui-color-surface-default);
17
+ }
18
+ .PropertySection_sectionHeader_size_sm__1xiu0w62 {
19
+ height: 24px;
20
+ }
21
+ .PropertySection_sectionHeader_size_md__1xiu0w63 {
22
+ height: 28px;
23
+ }
24
+ .PropertySection_sectionHeader_size_lg__1xiu0w64 {
25
+ height: 32px;
26
+ }
27
+ .PropertySection_sectionHeader_disabled_true__1xiu0w65 {
28
+ opacity: 0.5;
29
+ }
30
+ .PropertySection_sectionHeader_disabled_false__1xiu0w66 {
31
+ opacity: 1;
32
+ }
33
+ .PropertySection_sectionHeader_expanded_true__1xiu0w67 {
34
+ border-bottom: 1px solid var(--etui-color-border-default);
35
+ }
36
+ .PropertySection_sectionHeader_expanded_false__1xiu0w68 {
37
+ border-bottom: none;
38
+ }
39
+ .PropertySection_sectionTrigger__1xiu0w69 {
13
40
  margin: 0;
14
41
  border: none;
15
42
  font-family: inherit;
16
43
  outline: none;
17
44
  user-select: none;
18
- width: 100%;
45
+ flex: 1;
46
+ min-width: 0;
19
47
  text-align: left;
20
48
  display: flex;
21
49
  align-items: center;
22
50
  gap: var(--etui-spacing-sm);
23
51
  font-weight: var(--etui-font-weight-medium);
24
- background: var(--etui-color-surface-default);
52
+ background: transparent;
25
53
  color: var(--etui-color-text-primary);
26
54
  transition: background var(--etui-transition-fast);
27
55
  }
28
- .PropertySection_sectionTrigger__1xiu0w61:hover:not(:disabled) {
56
+ .PropertySection_sectionTrigger__1xiu0w69:hover:not(:disabled) {
29
57
  background: var(--etui-color-surface-hover);
30
58
  }
31
- .PropertySection_sectionTrigger__1xiu0w61:focus-visible {
59
+ .PropertySection_sectionTrigger__1xiu0w69:focus-visible {
32
60
  box-shadow: var(--etui-shadow-focus);
33
61
  z-index: 1;
34
62
  }
35
- .PropertySection_sectionTrigger_size_sm__1xiu0w62 {
36
- height: 24px;
63
+ .PropertySection_sectionTrigger_size_sm__1xiu0w6a {
37
64
  padding: 0 var(--etui-spacing-sm);
38
65
  font-size: var(--etui-font-size-md);
39
66
  }
40
- .PropertySection_sectionTrigger_size_md__1xiu0w63 {
41
- height: 28px;
67
+ .PropertySection_sectionTrigger_size_md__1xiu0w6b {
42
68
  padding: 0 var(--etui-spacing-md);
43
69
  font-size: var(--etui-font-size-md);
44
70
  }
45
- .PropertySection_sectionTrigger_size_lg__1xiu0w64 {
46
- height: 32px;
71
+ .PropertySection_sectionTrigger_size_lg__1xiu0w6c {
47
72
  padding: 0 var(--etui-spacing-lg);
48
73
  font-size: var(--etui-font-size-lg);
49
74
  }
50
- .PropertySection_sectionTrigger_disabled_true__1xiu0w65 {
75
+ .PropertySection_sectionTrigger_disabled_true__1xiu0w6d {
51
76
  cursor: not-allowed;
52
- opacity: 0.5;
53
77
  }
54
- .PropertySection_sectionTrigger_disabled_false__1xiu0w66 {
78
+ .PropertySection_sectionTrigger_disabled_false__1xiu0w6e {
55
79
  cursor: pointer;
56
- opacity: 1;
57
- }
58
- .PropertySection_sectionTrigger_expanded_true__1xiu0w67 {
59
- border-bottom: 1px solid var(--etui-color-border-default);
60
80
  }
61
- .PropertySection_sectionTrigger_expanded_false__1xiu0w68 {
62
- border-bottom: none;
63
- }
64
- .PropertySection_chevron__1xiu0w69 {
81
+ .PropertySection_chevron__1xiu0w6f {
65
82
  display: flex;
66
83
  align-items: center;
67
84
  justify-content: center;
@@ -69,42 +86,43 @@
69
86
  transition: transform var(--etui-transition-fast);
70
87
  color: var(--etui-color-text-muted);
71
88
  }
72
- .PropertySection_chevronExpanded__1xiu0w6a {
89
+ .PropertySection_chevronExpanded__1xiu0w6g {
73
90
  transform: rotate(90deg);
74
91
  }
75
- .PropertySection_iconArea__1xiu0w6b {
92
+ .PropertySection_iconArea__1xiu0w6h {
76
93
  display: flex;
77
94
  align-items: center;
78
95
  flex-shrink: 0;
79
96
  }
80
- .PropertySection_sectionLabel__1xiu0w6c {
97
+ .PropertySection_sectionLabel__1xiu0w6i {
81
98
  flex: 1;
82
99
  overflow: hidden;
83
100
  text-overflow: ellipsis;
84
101
  white-space: nowrap;
85
102
  }
86
- .PropertySection_actionsArea__1xiu0w6d {
103
+ .PropertySection_headerControls__1xiu0w6j {
87
104
  display: flex;
88
105
  align-items: center;
89
- margin-left: auto;
106
+ flex-shrink: 0;
90
107
  gap: var(--etui-spacing-xs);
108
+ padding-right: var(--etui-spacing-md);
91
109
  }
92
- .PropertySection_contentWrapper__1xiu0w6e {
110
+ .PropertySection_contentWrapper__1xiu0w6k {
93
111
  display: grid;
94
112
  transition: grid-template-rows var(--etui-transition-normal);
95
113
  }
96
- .PropertySection_contentWrapper_expanded_true__1xiu0w6f {
114
+ .PropertySection_contentWrapper_expanded_true__1xiu0w6l {
97
115
  grid-template-rows: 1fr;
98
116
  }
99
- .PropertySection_contentWrapper_expanded_false__1xiu0w6g {
117
+ .PropertySection_contentWrapper_expanded_false__1xiu0w6m {
100
118
  grid-template-rows: 0fr;
101
119
  }
102
- .PropertySection_contentInner__1xiu0w6h {
120
+ .PropertySection_contentInner__1xiu0w6n {
103
121
  overflow: hidden;
104
122
  min-height: 0;
105
123
  }
106
124
  @media (prefers-reduced-motion: reduce) {
107
- .PropertySection_chevron__1xiu0w69 {
125
+ .PropertySection_chevron__1xiu0w6f {
108
126
  transition: none;
109
127
  }
110
128
  }