@weasel-js/ui 1.5.1 → 1.6.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 (511) hide show
  1. package/dist/chunks/ActionBar-CYvfmEz0.js +57 -0
  2. package/dist/chunks/ActionBar-CYvfmEz0.js.map +1 -0
  3. package/dist/chunks/{Badge-Bf8Rd1R6.js → Badge-DZ0lFs14.js} +755 -738
  4. package/dist/chunks/Badge-DZ0lFs14.js.map +1 -0
  5. package/dist/chunks/{BandEditor-D8I5Uun-.js → BandEditor-D-nVrVO4.js} +44 -44
  6. package/dist/chunks/BandEditor-D-nVrVO4.js.map +1 -0
  7. package/dist/chunks/Button-Dyp31jMt.js +111 -0
  8. package/dist/chunks/Button-Dyp31jMt.js.map +1 -0
  9. package/dist/chunks/ButtonBar-smZzFuEo.js +46 -0
  10. package/dist/chunks/ButtonBar-smZzFuEo.js.map +1 -0
  11. package/dist/chunks/Callout-xLjnx7Mp.js +119 -0
  12. package/dist/chunks/Callout-xLjnx7Mp.js.map +1 -0
  13. package/dist/chunks/{Checkbox-BZZsPaVF.js → Checkbox-ChZz30Ds.js} +5 -5
  14. package/dist/chunks/Checkbox-ChZz30Ds.js.map +1 -0
  15. package/dist/chunks/Code-v4tDWuuN.js +24 -0
  16. package/dist/chunks/Code-v4tDWuuN.js.map +1 -0
  17. package/dist/chunks/{ColorField-YVf8irfr.js → ColorField-DJSCuSJv.js} +15 -15
  18. package/dist/chunks/{ColorField-YVf8irfr.js.map → ColorField-DJSCuSJv.js.map} +1 -1
  19. package/dist/chunks/ColorModeControl-JOEiqtE0.js +47 -0
  20. package/dist/chunks/ColorModeControl-JOEiqtE0.js.map +1 -0
  21. package/dist/chunks/{ComboBox-D57tNYDD.js → ComboBox-C1JgIpML.js} +13 -13
  22. package/dist/chunks/ComboBox-C1JgIpML.js.map +1 -0
  23. package/dist/chunks/{CurveEditor-BXiMoN9d.js → CurveEditor-f1R4kSbD.js} +2 -2
  24. package/dist/chunks/{CurveEditor-BXiMoN9d.js.map → CurveEditor-f1R4kSbD.js.map} +1 -1
  25. package/dist/chunks/DataGrid-CZPrB_3a.js +152 -0
  26. package/dist/chunks/DataGrid-CZPrB_3a.js.map +1 -0
  27. package/dist/chunks/DetailList-DHaXX4TG.js +43 -0
  28. package/dist/chunks/DetailList-DHaXX4TG.js.map +1 -0
  29. package/dist/chunks/{DetentSlider-BWNSv07Z.js → DetentSlider-BYyaZha6.js} +2 -2
  30. package/dist/chunks/{DetentSlider-BWNSv07Z.js.map → DetentSlider-BYyaZha6.js.map} +1 -1
  31. package/dist/chunks/Dialog-GIvjoDQj.js +66 -0
  32. package/dist/chunks/Dialog-GIvjoDQj.js.map +1 -0
  33. package/dist/chunks/Disclosure-D79jhmh2.js +58 -0
  34. package/dist/chunks/Disclosure-D79jhmh2.js.map +1 -0
  35. package/dist/chunks/DragGhost-DcU7cOwy.js +30 -0
  36. package/dist/chunks/DragGhost-DcU7cOwy.js.map +1 -0
  37. package/dist/chunks/{DragHandleGlyph-CppAz4_8.js → DragHandleGlyph-BtBxHjZS.js} +1 -1
  38. package/dist/chunks/{DragHandleGlyph-CppAz4_8.js.map → DragHandleGlyph-BtBxHjZS.js.map} +1 -1
  39. package/dist/chunks/{Field-BNqvUJfg.js → Field-xbqRmjsI.js} +6 -6
  40. package/dist/chunks/Field-xbqRmjsI.js.map +1 -0
  41. package/dist/chunks/FillStrokeSwatch-BViKXIPx.js +111 -0
  42. package/dist/chunks/FillStrokeSwatch-BViKXIPx.js.map +1 -0
  43. package/dist/chunks/{FontFamilySelect-CO19kyOO.js → FontFamilySelect-r9TV_xIH.js} +2 -2
  44. package/dist/chunks/{FontFamilySelect-CO19kyOO.js.map → FontFamilySelect-r9TV_xIH.js.map} +1 -1
  45. package/dist/chunks/GradientEditor-BRTxHG-W.js +333 -0
  46. package/dist/chunks/GradientEditor-BRTxHG-W.js.map +1 -0
  47. package/dist/chunks/{Icon-QhLhaGFe.js → Icon-BW0qv_U7.js} +50 -21
  48. package/dist/chunks/Icon-BW0qv_U7.js.map +1 -0
  49. package/dist/chunks/InlineRange-BwGFDhpT.js +29 -0
  50. package/dist/chunks/InlineRange-BwGFDhpT.js.map +1 -0
  51. package/dist/chunks/{Input-B9Vh7ASP.js → Input-Bx2cuUbS.js} +24 -19
  52. package/dist/chunks/Input-Bx2cuUbS.js.map +1 -0
  53. package/dist/chunks/ItemList-DzJ2lK0R.js +175 -0
  54. package/dist/chunks/ItemList-DzJ2lK0R.js.map +1 -0
  55. package/dist/chunks/ItemList.module-DDUXfuZL.js +14 -0
  56. package/dist/chunks/ItemList.module-DDUXfuZL.js.map +1 -0
  57. package/dist/chunks/{Jog-BYrxbAQU.js → Jog-LPoac9s4.js} +10 -10
  58. package/dist/chunks/Jog-LPoac9s4.js.map +1 -0
  59. package/dist/chunks/{Keycaps-CGNQV2Pz.js → Keycaps-CKiKOJnJ.js} +75 -69
  60. package/dist/chunks/Keycaps-CKiKOJnJ.js.map +1 -0
  61. package/dist/chunks/LayerList-BeGrkLb9.js +427 -0
  62. package/dist/chunks/LayerList-BeGrkLb9.js.map +1 -0
  63. package/dist/chunks/ListEditor-C6zLzCsJ.js +74 -0
  64. package/dist/chunks/ListEditor-C6zLzCsJ.js.map +1 -0
  65. package/dist/chunks/MenuButton-BcdhrNGh.js +70 -0
  66. package/dist/chunks/MenuButton-BcdhrNGh.js.map +1 -0
  67. package/dist/chunks/MeshEditor-BOOIFWnz.js +87 -0
  68. package/dist/chunks/MeshEditor-BOOIFWnz.js.map +1 -0
  69. package/dist/chunks/{NumberField-CQzS6TjF.js → NumberField-C1Y7zP-a.js} +27 -22
  70. package/dist/chunks/NumberField-C1Y7zP-a.js.map +1 -0
  71. package/dist/chunks/{OptionsBar-BWaYG_OH.js → OptionsBar-DlcagPYK.js} +3 -3
  72. package/dist/chunks/{OptionsBar-BWaYG_OH.js.map → OptionsBar-DlcagPYK.js.map} +1 -1
  73. package/dist/chunks/{PaintField-BVYMu3OI.js → PaintField-B2mLRZa4.js} +20 -20
  74. package/dist/chunks/PaintField-B2mLRZa4.js.map +1 -0
  75. package/dist/chunks/{PaintInput-BzAHCKro.js → PaintInput-BFKhd83I.js} +27 -27
  76. package/dist/chunks/PaintInput-BFKhd83I.js.map +1 -0
  77. package/dist/chunks/{PatternPicker-C4OryrYi.js → PatternPicker-DdfpxoQy.js} +6 -6
  78. package/dist/chunks/PatternPicker-DdfpxoQy.js.map +1 -0
  79. package/dist/chunks/{Plot2D-Czvyt_vG.js → Plot2D-lyO7waPQ.js} +1 -1
  80. package/dist/chunks/{Plot2D-Czvyt_vG.js.map → Plot2D-lyO7waPQ.js.map} +1 -1
  81. package/dist/chunks/{PointPlotter-Xvb98GwB.js → PointPlotter-DGs9i5P-.js} +2 -2
  82. package/dist/chunks/{PointPlotter-Xvb98GwB.js.map → PointPlotter-DGs9i5P-.js.map} +1 -1
  83. package/dist/chunks/{Powerline-B_EH-7Z-.js → Powerline-DBEPceLE.js} +7 -5
  84. package/dist/chunks/Powerline-DBEPceLE.js.map +1 -0
  85. package/dist/chunks/Prefs-Ctu0H4-b.js +475 -0
  86. package/dist/chunks/Prefs-Ctu0H4-b.js.map +1 -0
  87. package/dist/chunks/Properties-Bbneh1ws.js +281 -0
  88. package/dist/chunks/Properties-Bbneh1ws.js.map +1 -0
  89. package/dist/chunks/PropertyField-CDb19d3F.js +756 -0
  90. package/dist/chunks/PropertyField-CDb19d3F.js.map +1 -0
  91. package/dist/chunks/{RadioGroup-C6xpdQNg.js → RadioGroup-BK2mD6Q0.js} +6 -6
  92. package/dist/chunks/RadioGroup-BK2mD6Q0.js.map +1 -0
  93. package/dist/chunks/{RangeSlider-CzgeGLVS.js → RangeSlider-BiRAOsTh.js} +8 -8
  94. package/dist/chunks/RangeSlider-BiRAOsTh.js.map +1 -0
  95. package/dist/chunks/{ResizeHandle-1Ey8AOij.js → ResizeHandle-Cc6EOehs.js} +9 -9
  96. package/dist/chunks/{ResizeHandle-1Ey8AOij.js.map → ResizeHandle-Cc6EOehs.js.map} +1 -1
  97. package/dist/chunks/Select-DVValBe1.js +225 -0
  98. package/dist/chunks/Select-DVValBe1.js.map +1 -0
  99. package/dist/chunks/SelectionPanel-C5LmZA7b.js +103 -0
  100. package/dist/chunks/SelectionPanel-C5LmZA7b.js.map +1 -0
  101. package/dist/chunks/{Sidebar-BlUjn8lD.js → Sidebar-DKKd4R-x.js} +4 -4
  102. package/dist/chunks/Sidebar-DKKd4R-x.js.map +1 -0
  103. package/dist/chunks/{SidebarPanel-BqHfz6VK.js → SidebarPanel-u5NsuAZY.js} +15 -19
  104. package/dist/chunks/SidebarPanel-u5NsuAZY.js.map +1 -0
  105. package/dist/chunks/{Slider-B2ywUZH6.js → Slider-BwRrWHFW.js} +58 -58
  106. package/dist/chunks/Slider-BwRrWHFW.js.map +1 -0
  107. package/dist/chunks/{StatusBar-BFt7Yw5O.js → StatusBar-CdPdmmda.js} +6 -6
  108. package/dist/chunks/StatusBar-CdPdmmda.js.map +1 -0
  109. package/dist/chunks/SwatchGrid-C-Zx2Exd.js +73 -0
  110. package/dist/chunks/SwatchGrid-C-Zx2Exd.js.map +1 -0
  111. package/dist/chunks/{Switch-Om3t3ASc.js → Switch-DxF7TsEu.js} +5 -5
  112. package/dist/chunks/Switch-DxF7TsEu.js.map +1 -0
  113. package/dist/chunks/{Tabs-EAvYywil.js → Tabs-GXEfoe3o.js} +5 -5
  114. package/dist/chunks/Tabs-GXEfoe3o.js.map +1 -0
  115. package/dist/chunks/{Timeline-BEyKaBXl.js → Timeline-SgmpQtUV.js} +128 -132
  116. package/dist/chunks/Timeline-SgmpQtUV.js.map +1 -0
  117. package/dist/chunks/{Toast-iqLDD_XZ.js → Toast-BfcljZz6.js} +15 -15
  118. package/dist/chunks/Toast-BfcljZz6.js.map +1 -0
  119. package/dist/chunks/ToggleBar-Btnl5r7F.js +80 -0
  120. package/dist/chunks/ToggleBar-Btnl5r7F.js.map +1 -0
  121. package/dist/chunks/TokenPanel-5ajHEHha.js +634 -0
  122. package/dist/chunks/TokenPanel-5ajHEHha.js.map +1 -0
  123. package/dist/chunks/{ToolButton-Dd-1T5aX.js → ToolButton-rzqlFlAc.js} +9 -9
  124. package/dist/chunks/ToolButton-rzqlFlAc.js.map +1 -0
  125. package/dist/chunks/{ToolGroup-BBI-W-Gm.js → ToolGroup-4bUBV5k6.js} +3 -3
  126. package/dist/chunks/ToolGroup-4bUBV5k6.js.map +1 -0
  127. package/dist/chunks/ToolOptionsBar-BF3TNXA3.js +85 -0
  128. package/dist/chunks/ToolOptionsBar-BF3TNXA3.js.map +1 -0
  129. package/dist/chunks/ToolPalette-Uw4PvWwa.js +83 -0
  130. package/dist/chunks/ToolPalette-Uw4PvWwa.js.map +1 -0
  131. package/dist/chunks/Tooltip-9XiJF937.js +42 -0
  132. package/dist/chunks/Tooltip-9XiJF937.js.map +1 -0
  133. package/dist/chunks/Tree-BGt6P8tI.js +203 -0
  134. package/dist/chunks/Tree-BGt6P8tI.js.map +1 -0
  135. package/dist/chunks/{createKeyframeLayer-7j7ukrSx.js → createKeyframeLayer-BzDRCrrh.js} +71 -71
  136. package/dist/chunks/{createKeyframeLayer-7j7ukrSx.js.map → createKeyframeLayer-BzDRCrrh.js.map} +1 -1
  137. package/dist/chunks/formatShortcut-BoGqUoWi.js +15 -0
  138. package/dist/chunks/formatShortcut-BoGqUoWi.js.map +1 -0
  139. package/dist/chunks/icons-DbScMMqX.js +179 -0
  140. package/dist/chunks/icons-DbScMMqX.js.map +1 -0
  141. package/dist/chunks/interactiveTarget-C7QUBaJN.js +24 -0
  142. package/dist/chunks/interactiveTarget-C7QUBaJN.js.map +1 -0
  143. package/dist/chunks/{keyGlyph-Bp0wnLHn.js → keyGlyph-CLvUHU8c.js} +1 -1
  144. package/dist/chunks/{keyGlyph-Bp0wnLHn.js.map → keyGlyph-CLvUHU8c.js.map} +1 -1
  145. package/dist/chunks/model-BQMvTLnW.js +360 -0
  146. package/dist/chunks/model-BQMvTLnW.js.map +1 -0
  147. package/dist/chunks/number-6S8IzXVt.js +89 -0
  148. package/dist/chunks/number-6S8IzXVt.js.map +1 -0
  149. package/dist/chunks/paintPreview-DPtZS4yU.js +42 -0
  150. package/dist/chunks/paintPreview-DPtZS4yU.js.map +1 -0
  151. package/dist/chunks/paintValue-Bz6AVuh3.js +18 -0
  152. package/dist/chunks/paintValue-Bz6AVuh3.js.map +1 -0
  153. package/dist/chunks/prefField-CLkhrvYl.js +197 -0
  154. package/dist/chunks/prefField-CLkhrvYl.js.map +1 -0
  155. package/dist/chunks/segmentTooltip-CAkZlW-t.js +29 -0
  156. package/dist/chunks/segmentTooltip-CAkZlW-t.js.map +1 -0
  157. package/dist/chunks/segmentedControl.module-D2nw68Yo.js +11 -0
  158. package/dist/chunks/segmentedControl.module-D2nw68Yo.js.map +1 -0
  159. package/dist/chunks/{snap-B0WQwetQ.js → snap-DC4Km8xG.js} +1 -1
  160. package/dist/chunks/{snap-B0WQwetQ.js.map → snap-DC4Km8xG.js.map} +1 -1
  161. package/dist/chunks/stance-CarrcbbP.js +17 -0
  162. package/dist/chunks/stance-CarrcbbP.js.map +1 -0
  163. package/dist/chunks/useReorderDragList-Dcezzgix.js +131 -0
  164. package/dist/chunks/useReorderDragList-Dcezzgix.js.map +1 -0
  165. package/dist/chunks/{useRovingTabIndex-Dkpf_KhN.js → useRovingTabIndex-B4uJqiKP.js} +1 -1
  166. package/dist/chunks/useRovingTabIndex-B4uJqiKP.js.map +1 -0
  167. package/dist/color/oklch.d.ts +2 -1
  168. package/dist/color/oklch.d.ts.map +1 -1
  169. package/dist/color/ramp.d.ts +38 -0
  170. package/dist/color/ramp.d.ts.map +1 -0
  171. package/dist/components/ActionBar/ActionBar.d.ts +6 -4
  172. package/dist/components/ActionBar/ActionBar.d.ts.map +1 -1
  173. package/dist/components/ActionBar/index.js +1 -1
  174. package/dist/components/Badge/Badge.d.ts +21 -7
  175. package/dist/components/Badge/Badge.d.ts.map +1 -1
  176. package/dist/components/Badge/effects/Aqua.d.ts +1 -1
  177. package/dist/components/Badge/effects/Aqua.d.ts.map +1 -1
  178. package/dist/components/Badge/index.d.ts +1 -1
  179. package/dist/components/Badge/index.d.ts.map +1 -1
  180. package/dist/components/Badge/index.js +1 -1
  181. package/dist/components/Badge/types.d.ts +6 -5
  182. package/dist/components/Badge/types.d.ts.map +1 -1
  183. package/dist/components/BandEditor/index.js +1 -1
  184. package/dist/components/Button/Button.d.ts +17 -3
  185. package/dist/components/Button/Button.d.ts.map +1 -1
  186. package/dist/components/Button/index.d.ts +1 -1
  187. package/dist/components/Button/index.d.ts.map +1 -1
  188. package/dist/components/Button/index.js +1 -1
  189. package/dist/components/ButtonBar/ButtonBar.d.ts +36 -0
  190. package/dist/components/ButtonBar/ButtonBar.d.ts.map +1 -0
  191. package/dist/components/ButtonBar/index.d.ts +3 -0
  192. package/dist/components/ButtonBar/index.d.ts.map +1 -0
  193. package/dist/components/ButtonBar/index.js +2 -0
  194. package/dist/components/Callout/Callout.d.ts +2 -5
  195. package/dist/components/Callout/Callout.d.ts.map +1 -1
  196. package/dist/components/Callout/index.d.ts +1 -1
  197. package/dist/components/Callout/index.d.ts.map +1 -1
  198. package/dist/components/Callout/index.js +1 -1
  199. package/dist/components/Checkbox/index.js +1 -1
  200. package/dist/components/Code/Code.d.ts +28 -0
  201. package/dist/components/Code/Code.d.ts.map +1 -0
  202. package/dist/components/Code/index.d.ts +3 -0
  203. package/dist/components/Code/index.d.ts.map +1 -0
  204. package/dist/components/Code/index.js +2 -0
  205. package/dist/components/ColorField/index.js +1 -1
  206. package/dist/components/ColorModeControl/ColorModeControl.d.ts +21 -0
  207. package/dist/components/ColorModeControl/ColorModeControl.d.ts.map +1 -0
  208. package/dist/components/ColorModeControl/index.d.ts +3 -0
  209. package/dist/components/ColorModeControl/index.d.ts.map +1 -0
  210. package/dist/components/ColorModeControl/index.js +2 -0
  211. package/dist/components/ComboBox/index.js +1 -1
  212. package/dist/components/CurveEditor/index.js +3 -3
  213. package/dist/components/DataGrid/DataGrid.d.ts +22 -0
  214. package/dist/components/DataGrid/DataGrid.d.ts.map +1 -1
  215. package/dist/components/DataGrid/index.js +1 -1
  216. package/dist/components/DetailList/DetailList.d.ts +36 -0
  217. package/dist/components/DetailList/DetailList.d.ts.map +1 -0
  218. package/dist/components/DetailList/index.d.ts +3 -0
  219. package/dist/components/DetailList/index.d.ts.map +1 -0
  220. package/dist/components/DetailList/index.js +2 -0
  221. package/dist/components/DetentSlider/index.js +1 -1
  222. package/dist/components/Dialog/Dialog.d.ts +8 -2
  223. package/dist/components/Dialog/Dialog.d.ts.map +1 -1
  224. package/dist/components/Dialog/index.js +1 -1
  225. package/dist/components/Disclosure/Disclosure.d.ts +25 -17
  226. package/dist/components/Disclosure/Disclosure.d.ts.map +1 -1
  227. package/dist/components/Disclosure/index.d.ts +2 -2
  228. package/dist/components/Disclosure/index.d.ts.map +1 -1
  229. package/dist/components/Disclosure/index.js +2 -2
  230. package/dist/components/DragGhost/DragGhost.d.ts +21 -0
  231. package/dist/components/DragGhost/DragGhost.d.ts.map +1 -0
  232. package/dist/components/DragGhost/index.d.ts +3 -0
  233. package/dist/components/DragGhost/index.d.ts.map +1 -0
  234. package/dist/components/DragGhost/index.js +2 -0
  235. package/dist/components/DragHandleGlyph/index.js +1 -1
  236. package/dist/components/Field/index.js +1 -1
  237. package/dist/components/FillStrokeSwatch/FillStrokeSwatch.d.ts +45 -0
  238. package/dist/components/FillStrokeSwatch/FillStrokeSwatch.d.ts.map +1 -0
  239. package/dist/components/FillStrokeSwatch/index.d.ts +3 -0
  240. package/dist/components/FillStrokeSwatch/index.d.ts.map +1 -0
  241. package/dist/components/FillStrokeSwatch/index.js +2 -0
  242. package/dist/components/FontFamilySelect/index.js +1 -1
  243. package/dist/components/GradientEditor/SceneGradientHandles.d.ts.map +1 -1
  244. package/dist/components/GradientEditor/index.js +1 -1
  245. package/dist/components/InlineRange/InlineRange.d.ts +6 -2
  246. package/dist/components/InlineRange/InlineRange.d.ts.map +1 -1
  247. package/dist/components/InlineRange/index.js +1 -1
  248. package/dist/components/Input/Input.d.ts +13 -0
  249. package/dist/components/Input/Input.d.ts.map +1 -1
  250. package/dist/components/Input/index.js +1 -1
  251. package/dist/components/ItemList/ItemList.d.ts +70 -10
  252. package/dist/components/ItemList/ItemList.d.ts.map +1 -1
  253. package/dist/components/ItemList/index.js +1 -1
  254. package/dist/components/Jog/index.js +1 -1
  255. package/dist/components/Keycaps/index.d.ts +1 -0
  256. package/dist/components/Keycaps/index.d.ts.map +1 -1
  257. package/dist/components/Keycaps/index.js +3 -3
  258. package/dist/components/Keycaps/keySpecsFromMods.d.ts +2 -0
  259. package/dist/components/Keycaps/keySpecsFromMods.d.ts.map +1 -1
  260. package/dist/components/Keycaps/keySpecsFromShortcut.d.ts +16 -0
  261. package/dist/components/Keycaps/keySpecsFromShortcut.d.ts.map +1 -0
  262. package/dist/components/LayerList/LayerList.d.ts +79 -0
  263. package/dist/components/LayerList/LayerList.d.ts.map +1 -0
  264. package/dist/components/LayerList/index.d.ts +3 -0
  265. package/dist/components/LayerList/index.d.ts.map +1 -0
  266. package/dist/components/LayerList/index.js +2 -0
  267. package/dist/components/LayerList/useSceneLayerList.d.ts +20 -0
  268. package/dist/components/LayerList/useSceneLayerList.d.ts.map +1 -0
  269. package/dist/components/ListEditor/ListEditor.d.ts +23 -0
  270. package/dist/components/ListEditor/ListEditor.d.ts.map +1 -0
  271. package/dist/components/ListEditor/index.d.ts +3 -0
  272. package/dist/components/ListEditor/index.d.ts.map +1 -0
  273. package/dist/components/ListEditor/index.js +2 -0
  274. package/dist/components/MenuButton/MenuButton.d.ts +6 -2
  275. package/dist/components/MenuButton/MenuButton.d.ts.map +1 -1
  276. package/dist/components/MenuButton/index.js +1 -1
  277. package/dist/components/MeshEditor/index.js +1 -1
  278. package/dist/components/NumberField/NumberField.d.ts +13 -0
  279. package/dist/components/NumberField/NumberField.d.ts.map +1 -1
  280. package/dist/components/NumberField/UnitField.d.ts +2 -1
  281. package/dist/components/NumberField/UnitField.d.ts.map +1 -1
  282. package/dist/components/NumberField/index.js +1 -1
  283. package/dist/components/OptionsBar/index.js +1 -1
  284. package/dist/components/PaintField/index.js +1 -1
  285. package/dist/components/PaintInput/index.js +1 -1
  286. package/dist/components/PatternPicker/index.js +1 -1
  287. package/dist/components/Plot2D/index.js +1 -1
  288. package/dist/components/PointPlotter/index.js +1 -1
  289. package/dist/components/Powerline/Powerline.d.ts +4 -3
  290. package/dist/components/Powerline/Powerline.d.ts.map +1 -1
  291. package/dist/components/Powerline/index.js +2 -2
  292. package/dist/components/Prefs/PrefsDialog.d.ts +10 -2
  293. package/dist/components/Prefs/PrefsDialog.d.ts.map +1 -1
  294. package/dist/components/Prefs/PrefsForm.d.ts +26 -25
  295. package/dist/components/Prefs/PrefsForm.d.ts.map +1 -1
  296. package/dist/components/Prefs/PrefsPane.d.ts +24 -0
  297. package/dist/components/Prefs/PrefsPane.d.ts.map +1 -0
  298. package/dist/components/Prefs/PrefsRail.d.ts +32 -0
  299. package/dist/components/Prefs/PrefsRail.d.ts.map +1 -0
  300. package/dist/components/Prefs/PrefsRow.d.ts +32 -0
  301. package/dist/components/Prefs/PrefsRow.d.ts.map +1 -0
  302. package/dist/components/Prefs/index.d.ts +5 -2
  303. package/dist/components/Prefs/index.d.ts.map +1 -1
  304. package/dist/components/Prefs/index.js +3 -3
  305. package/dist/components/Prefs/prefField.d.ts +36 -0
  306. package/dist/components/Prefs/prefField.d.ts.map +1 -0
  307. package/dist/components/Prefs/schema.d.ts +32 -1
  308. package/dist/components/Prefs/schema.d.ts.map +1 -1
  309. package/dist/components/Properties/DialogRow.d.ts +33 -0
  310. package/dist/components/Properties/DialogRow.d.ts.map +1 -0
  311. package/dist/components/Properties/PropertyField.d.ts +238 -0
  312. package/dist/components/Properties/PropertyField.d.ts.map +1 -0
  313. package/dist/components/Properties/PropertyGroup.d.ts +18 -3
  314. package/dist/components/Properties/PropertyGroup.d.ts.map +1 -1
  315. package/dist/components/Properties/PropertyPanel.d.ts +50 -256
  316. package/dist/components/Properties/PropertyPanel.d.ts.map +1 -1
  317. package/dist/components/Properties/Subpanel.d.ts +14 -0
  318. package/dist/components/Properties/Subpanel.d.ts.map +1 -0
  319. package/dist/components/Properties/index.d.ts +8 -6
  320. package/dist/components/Properties/index.d.ts.map +1 -1
  321. package/dist/components/Properties/index.js +3 -2
  322. package/dist/components/Properties/storyLayouts.d.ts.map +1 -1
  323. package/dist/components/RadioGroup/index.js +1 -1
  324. package/dist/components/RangeSlider/index.js +1 -1
  325. package/dist/components/ResizeHandle/index.js +1 -1
  326. package/dist/components/Select/Select.d.ts +56 -5
  327. package/dist/components/Select/Select.d.ts.map +1 -1
  328. package/dist/components/Select/index.d.ts +2 -2
  329. package/dist/components/Select/index.d.ts.map +1 -1
  330. package/dist/components/Select/index.js +2 -2
  331. package/dist/components/SelectionPanel/SelectionPanel.d.ts +3 -50
  332. package/dist/components/SelectionPanel/SelectionPanel.d.ts.map +1 -1
  333. package/dist/components/SelectionPanel/index.js +3 -2
  334. package/dist/components/SelectionPanel/model.d.ts +4 -1
  335. package/dist/components/SelectionPanel/model.d.ts.map +1 -1
  336. package/dist/components/SelectionPanel/renderLeaf.d.ts +112 -0
  337. package/dist/components/SelectionPanel/renderLeaf.d.ts.map +1 -0
  338. package/dist/components/Sidebar/index.js +1 -1
  339. package/dist/components/SidebarPanel/SidebarPanel.d.ts +2 -2
  340. package/dist/components/SidebarPanel/SidebarPanel.d.ts.map +1 -1
  341. package/dist/components/SidebarPanel/index.js +1 -1
  342. package/dist/components/Slider/index.js +1 -1
  343. package/dist/components/StatusBar/index.js +1 -1
  344. package/dist/components/SwatchGrid/SwatchGrid.d.ts +34 -0
  345. package/dist/components/SwatchGrid/SwatchGrid.d.ts.map +1 -0
  346. package/dist/components/SwatchGrid/index.d.ts +3 -0
  347. package/dist/components/SwatchGrid/index.d.ts.map +1 -0
  348. package/dist/components/SwatchGrid/index.js +2 -0
  349. package/dist/components/Switch/index.js +1 -1
  350. package/dist/components/Tabs/index.js +1 -1
  351. package/dist/components/Timeline/Lane.d.ts.map +1 -1
  352. package/dist/components/Timeline/index.js +1 -1
  353. package/dist/components/Toast/index.js +1 -1
  354. package/dist/components/ToggleBar/ToggleBar.d.ts +2 -1
  355. package/dist/components/ToggleBar/ToggleBar.d.ts.map +1 -1
  356. package/dist/components/ToggleBar/index.js +1 -1
  357. package/dist/components/TokenPanel/TokenPanel.d.ts +10 -4
  358. package/dist/components/TokenPanel/TokenPanel.d.ts.map +1 -1
  359. package/dist/components/TokenPanel/index.d.ts +2 -2
  360. package/dist/components/TokenPanel/index.d.ts.map +1 -1
  361. package/dist/components/TokenPanel/index.js +2 -2
  362. package/dist/components/TokenPanel/tokenTypes.d.ts +24 -0
  363. package/dist/components/TokenPanel/tokenTypes.d.ts.map +1 -1
  364. package/dist/components/ToolButton/index.js +1 -1
  365. package/dist/components/ToolGroup/index.js +1 -1
  366. package/dist/components/ToolOptionsBar/ToolOptionsBar.d.ts +29 -18
  367. package/dist/components/ToolOptionsBar/ToolOptionsBar.d.ts.map +1 -1
  368. package/dist/components/ToolOptionsBar/index.js +1 -1
  369. package/dist/components/ToolPalette/ToolPalette.d.ts +5 -4
  370. package/dist/components/ToolPalette/ToolPalette.d.ts.map +1 -1
  371. package/dist/components/ToolPalette/index.d.ts +1 -0
  372. package/dist/components/ToolPalette/index.d.ts.map +1 -1
  373. package/dist/components/ToolPalette/index.js +3 -2
  374. package/dist/components/Tooltip/Tooltip.d.ts +6 -2
  375. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  376. package/dist/components/Tooltip/index.d.ts +1 -1
  377. package/dist/components/Tooltip/index.d.ts.map +1 -1
  378. package/dist/components/Tooltip/index.js +2 -2
  379. package/dist/components/Tree/Tree.d.ts +84 -0
  380. package/dist/components/Tree/Tree.d.ts.map +1 -0
  381. package/dist/components/Tree/index.d.ts +3 -0
  382. package/dist/components/Tree/index.d.ts.map +1 -0
  383. package/dist/components/Tree/index.js +2 -0
  384. package/dist/components/segmentTooltip.d.ts +30 -0
  385. package/dist/components/segmentTooltip.d.ts.map +1 -0
  386. package/dist/components/stance.d.ts +30 -0
  387. package/dist/components/stance.d.ts.map +1 -0
  388. package/dist/components/stanceCss.d.ts +31 -0
  389. package/dist/components/stanceCss.d.ts.map +1 -0
  390. package/dist/components/stanceSurfaces.d.ts +4 -0
  391. package/dist/components/stanceSurfaces.d.ts.map +1 -0
  392. package/dist/format/number.d.ts +13 -3
  393. package/dist/format/number.d.ts.map +1 -1
  394. package/dist/icons/Icon.d.ts.map +1 -1
  395. package/dist/icons/ShapeKindIcon.d.ts +10 -0
  396. package/dist/icons/ShapeKindIcon.d.ts.map +1 -0
  397. package/dist/icons/index.d.ts +5 -3
  398. package/dist/icons/index.d.ts.map +1 -1
  399. package/dist/icons/paths.d.ts +11 -1
  400. package/dist/icons/paths.d.ts.map +1 -1
  401. package/dist/index.d.ts +16 -3
  402. package/dist/index.d.ts.map +1 -1
  403. package/dist/index.js +110 -84
  404. package/dist/index.js.map +1 -1
  405. package/dist/interactiveTarget.d.ts +9 -0
  406. package/dist/interactiveTarget.d.ts.map +1 -0
  407. package/dist/style.css +1 -1
  408. package/dist/useReorderDragList.d.ts +36 -7
  409. package/dist/useReorderDragList.d.ts.map +1 -1
  410. package/dist/useRovingTabIndex.d.ts +8 -6
  411. package/dist/useRovingTabIndex.d.ts.map +1 -1
  412. package/dist/useScrollSpy.d.ts +48 -0
  413. package/dist/useScrollSpy.d.ts.map +1 -0
  414. package/package.json +8 -8
  415. package/dist/chunks/ActionBar-GZdcfdQL.js +0 -62
  416. package/dist/chunks/ActionBar-GZdcfdQL.js.map +0 -1
  417. package/dist/chunks/ActionsBar-Fhx_40iP.js +0 -41
  418. package/dist/chunks/ActionsBar-Fhx_40iP.js.map +0 -1
  419. package/dist/chunks/Badge-Bf8Rd1R6.js.map +0 -1
  420. package/dist/chunks/BandEditor-D8I5Uun-.js.map +0 -1
  421. package/dist/chunks/Button-CExdkQcU.js +0 -90
  422. package/dist/chunks/Button-CExdkQcU.js.map +0 -1
  423. package/dist/chunks/Callout-cx5_CWcW.js +0 -122
  424. package/dist/chunks/Callout-cx5_CWcW.js.map +0 -1
  425. package/dist/chunks/Checkbox-BZZsPaVF.js.map +0 -1
  426. package/dist/chunks/ComboBox-D57tNYDD.js.map +0 -1
  427. package/dist/chunks/DataGrid-BVdDMZkQ.js +0 -104
  428. package/dist/chunks/DataGrid-BVdDMZkQ.js.map +0 -1
  429. package/dist/chunks/Dialog-DuOzsR2g.js +0 -61
  430. package/dist/chunks/Dialog-DuOzsR2g.js.map +0 -1
  431. package/dist/chunks/Disclosure-9UgDzc7Z.js +0 -47
  432. package/dist/chunks/Disclosure-9UgDzc7Z.js.map +0 -1
  433. package/dist/chunks/Field-BNqvUJfg.js.map +0 -1
  434. package/dist/chunks/GradientEditor-B_ymIr4Q.js +0 -333
  435. package/dist/chunks/GradientEditor-B_ymIr4Q.js.map +0 -1
  436. package/dist/chunks/Icon-QhLhaGFe.js.map +0 -1
  437. package/dist/chunks/InlineRange-DdIlfGqG.js +0 -29
  438. package/dist/chunks/InlineRange-DdIlfGqG.js.map +0 -1
  439. package/dist/chunks/Input-B9Vh7ASP.js.map +0 -1
  440. package/dist/chunks/ItemList-BZJQReXD.js +0 -42
  441. package/dist/chunks/ItemList-BZJQReXD.js.map +0 -1
  442. package/dist/chunks/Jog-BYrxbAQU.js.map +0 -1
  443. package/dist/chunks/Keycaps-CGNQV2Pz.js.map +0 -1
  444. package/dist/chunks/LayerStack-DOylrQcm.js +0 -142
  445. package/dist/chunks/LayerStack-DOylrQcm.js.map +0 -1
  446. package/dist/chunks/MenuButton-DGE-0DP0.js +0 -60
  447. package/dist/chunks/MenuButton-DGE-0DP0.js.map +0 -1
  448. package/dist/chunks/MeshEditor-CHoGQ9K8.js +0 -123
  449. package/dist/chunks/MeshEditor-CHoGQ9K8.js.map +0 -1
  450. package/dist/chunks/NumberField-CQzS6TjF.js.map +0 -1
  451. package/dist/chunks/PaintField-BVYMu3OI.js.map +0 -1
  452. package/dist/chunks/PaintInput-BzAHCKro.js.map +0 -1
  453. package/dist/chunks/PatternPicker-C4OryrYi.js.map +0 -1
  454. package/dist/chunks/Powerline-B_EH-7Z-.js.map +0 -1
  455. package/dist/chunks/Prefs-FuaJBs3t.js +0 -308
  456. package/dist/chunks/Prefs-FuaJBs3t.js.map +0 -1
  457. package/dist/chunks/Properties-B3KU69NI.js +0 -874
  458. package/dist/chunks/Properties-B3KU69NI.js.map +0 -1
  459. package/dist/chunks/RadioGroup-C6xpdQNg.js.map +0 -1
  460. package/dist/chunks/RangeSlider-CzgeGLVS.js.map +0 -1
  461. package/dist/chunks/Select-BMYVh10x.js +0 -127
  462. package/dist/chunks/Select-BMYVh10x.js.map +0 -1
  463. package/dist/chunks/SelectionPanel-DTpcQidl.js +0 -572
  464. package/dist/chunks/SelectionPanel-DTpcQidl.js.map +0 -1
  465. package/dist/chunks/Sidebar-BlUjn8lD.js.map +0 -1
  466. package/dist/chunks/SidebarPanel-BqHfz6VK.js.map +0 -1
  467. package/dist/chunks/Slider-B2ywUZH6.js.map +0 -1
  468. package/dist/chunks/StatusBar-BFt7Yw5O.js.map +0 -1
  469. package/dist/chunks/Switch-Om3t3ASc.js.map +0 -1
  470. package/dist/chunks/Tabs-EAvYywil.js.map +0 -1
  471. package/dist/chunks/Timeline-BEyKaBXl.js.map +0 -1
  472. package/dist/chunks/Toast-iqLDD_XZ.js.map +0 -1
  473. package/dist/chunks/ToggleBar--9As2PWG.js +0 -75
  474. package/dist/chunks/ToggleBar--9As2PWG.js.map +0 -1
  475. package/dist/chunks/TokenPanel-BL9hlq7x.js +0 -374
  476. package/dist/chunks/TokenPanel-BL9hlq7x.js.map +0 -1
  477. package/dist/chunks/ToolButton-Dd-1T5aX.js.map +0 -1
  478. package/dist/chunks/ToolGroup-BBI-W-Gm.js.map +0 -1
  479. package/dist/chunks/ToolOptionsBar-B2xPWzJf.js +0 -27
  480. package/dist/chunks/ToolOptionsBar-B2xPWzJf.js.map +0 -1
  481. package/dist/chunks/ToolPalette-BmTDDpmz.js +0 -97
  482. package/dist/chunks/ToolPalette-BmTDDpmz.js.map +0 -1
  483. package/dist/chunks/Tooltip-BHre_vbI.js +0 -42
  484. package/dist/chunks/Tooltip-BHre_vbI.js.map +0 -1
  485. package/dist/chunks/icons-Btrs-JD7.js +0 -165
  486. package/dist/chunks/icons-Btrs-JD7.js.map +0 -1
  487. package/dist/chunks/number-f6PydOZK.js +0 -52
  488. package/dist/chunks/number-f6PydOZK.js.map +0 -1
  489. package/dist/chunks/range.module-DSsOIq1R.js +0 -8
  490. package/dist/chunks/range.module-DSsOIq1R.js.map +0 -1
  491. package/dist/chunks/schema-MCVT1MLv.js +0 -47
  492. package/dist/chunks/schema-MCVT1MLv.js.map +0 -1
  493. package/dist/chunks/segmentedControl.module-DmeUMYe3.js +0 -11
  494. package/dist/chunks/segmentedControl.module-DmeUMYe3.js.map +0 -1
  495. package/dist/chunks/useReorderDragList-CSQGd7zQ.js +0 -102
  496. package/dist/chunks/useReorderDragList-CSQGd7zQ.js.map +0 -1
  497. package/dist/chunks/useRovingTabIndex-Dkpf_KhN.js.map +0 -1
  498. package/dist/components/ActionsBar/ActionsBar.d.ts +0 -35
  499. package/dist/components/ActionsBar/ActionsBar.d.ts.map +0 -1
  500. package/dist/components/ActionsBar/index.d.ts +0 -3
  501. package/dist/components/ActionsBar/index.d.ts.map +0 -1
  502. package/dist/components/ActionsBar/index.js +0 -2
  503. package/dist/components/LayerStack/LayerStack.d.ts +0 -62
  504. package/dist/components/LayerStack/LayerStack.d.ts.map +0 -1
  505. package/dist/components/LayerStack/index.d.ts +0 -2
  506. package/dist/components/LayerStack/index.d.ts.map +0 -1
  507. package/dist/components/LayerStack/index.js +0 -2
  508. package/dist/components/Properties/EffectCard.d.ts +0 -69
  509. package/dist/components/Properties/EffectCard.d.ts.map +0 -1
  510. package/dist/components/Properties/PinDot.d.ts +0 -18
  511. package/dist/components/Properties/PinDot.d.ts.map +0 -1
@@ -1,54 +1,7 @@
1
1
  import { type ReactNode } from 'react';
2
- import { type NodePropertiesEntry, type NodeRoutingEntry, type Scene, type SelectionApi, type ToolPrefLeaf } from '@weasel-js/core';
3
- /** What a {@link PropertyRenderer} is given for the property it is rendering. */
4
- export interface PropertyRenderContext {
5
- /** Dotted node path of the leaf (`pose.x`, `data.fill`). */
6
- path: string;
7
- /** The schema leaf. App renderers narrow it to their own kind shape. */
8
- pref: ToolPrefLeaf;
9
- /** Aggregated value across the selection; `undefined` when mixed or unset. */
10
- value: unknown;
11
- /** True when selected nodes disagree at this path. */
12
- mixed: boolean;
13
- /**
14
- * True when the nodes agree and what they agree on is nothing — the field
15
- * is absent, and whatever paints comes from a fallback further down.
16
- *
17
- * Distinct from `mixed`, and both leave `value` undefined. A control must
18
- * not substitute its schema default here: doing so shows a value the node
19
- * does not hold, and the next edit writes that invention back.
20
- */
21
- unset: boolean;
22
- /**
23
- * The fields of the object this leaf is a field of — `undefined` for a
24
- * top-level leaf, and for a field of an object the node does not hold.
25
- *
26
- * What a control needs when its own field doesn't carry the whole answer:
27
- * a stroke's dash lengths are multiples of the stroke's width, so reading
28
- * the array as a style takes both.
29
- */
30
- siblings?: Record<string, unknown>;
31
- /** Commit a value — fans out to every selected node in one undo step. */
32
- setValue: (value: unknown) => void;
33
- /**
34
- * The aggregated value at another node path — what `value` and `mixed` are
35
- * for this leaf's own path, for any path.
36
- *
37
- * A control whose subject spans more than one field needs it: a font picker
38
- * reporting which variant will actually paint has to read the node's weight
39
- * and style. Reading it off `value` is impossible — a leaf is handed one
40
- * field.
41
- */
42
- valueAt: (path: string) => {
43
- value: unknown;
44
- mixed: boolean;
45
- };
46
- }
47
- /**
48
- * Renders the control for one property across the whole selection.
49
- * Returning `null` collapses the leaf.
50
- */
51
- export type PropertyRenderer = (ctx: PropertyRenderContext) => ReactNode;
2
+ import { type NodePropertiesEntry, type NodeRoutingEntry, type Scene, type SelectionApi } from '@weasel-js/core';
3
+ import { type PropertyRenderer } from './renderLeaf';
4
+ export type { PropertyRenderContext, PropertyRenderer } from './renderLeaf';
52
5
  /** Props for {@link SelectionPanel}. */
53
6
  export interface SelectionPanelProps<TData, TLayer extends string, TPose> {
54
7
  /** The scene handle (`useScene`). The panel subscribes itself, so it
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionPanel.d.ts","sourceRoot":"","sources":["../../../src/components/SelectionPanel/SelectionPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA4C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,KAAK,EACV,KAAK,YAAY,EAIjB,KAAK,YAAY,EAKlB,MAAM,iBAAiB,CAAC;AAyBzB,iFAAiF;AACjF,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,IAAI,EAAE,YAAY,CAAC;IACnB,8EAA8E;IAC9E,KAAK,EAAE,OAAO,CAAC;IACf,sDAAsD;IACtD,KAAK,EAAE,OAAO,CAAC;IACf;;;;;;;OAOG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,yEAAyE;IACzE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC;;;;;;;;OAQG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CAC/D;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,qBAAqB,KAAK,SAAS,CAAC;AAEzE,wCAAwC;AACxC,MAAM,WAAW,mBAAmB,CAAC,KAAK,EAAE,MAAM,SAAS,MAAM,EAAE,KAAK;IACtE;sEACkE;IAClE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,iEAAiE;IACjE,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACzC;0EACsE;IACtE,UAAU,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC3C;2DACuD;IACvD,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACrC;;;uCAGmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C,2DAA2D;IAC3D,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,4CAA4C;IAC5C,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,SAAS,MAAM,EAAE,KAAK,EAChE,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,2CAwHjD"}
1
+ {"version":3,"file":"SelectionPanel.d.ts","sourceRoot":"","sources":["../../../src/components/SelectionPanel/SelectionPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvE,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,KAAK,EACV,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,cAAc,CAAC;AAatB,YAAY,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAE5E,wCAAwC;AACxC,MAAM,WAAW,mBAAmB,CAAC,KAAK,EAAE,MAAM,SAAS,MAAM,EAAE,KAAK;IACtE;sEACkE;IAClE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACnC,iEAAiE;IACjE,SAAS,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IACzC;0EACsE;IACtE,UAAU,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC3C;2DACuD;IACvD,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACrC;;;uCAGmC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C,2DAA2D;IAC3D,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,4CAA4C;IAC5C,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAKD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,SAAS,MAAM,EAAE,KAAK,EAChE,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,2CAwHjD"}
@@ -1,2 +1,3 @@
1
- import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "../../chunks/SelectionPanel-DTpcQidl.js";
2
- export { r as MIXED, s as SelectionPanel, a as aggregateValue, n as classifyKind, e as effectiveSections, i as kindBreakdown, o as nodeValueAt, t as setAtPath };
1
+ import { i as e, l as t, n, o as r, r as i, s as a, t as o } from "../../chunks/model-BQMvTLnW.js";
2
+ import { t as s } from "../../chunks/SelectionPanel-C5LmZA7b.js";
3
+ export { o as MIXED, s as SelectionPanel, n as aggregateValue, i as classifyKind, e as effectiveSections, r as kindBreakdown, a as nodeValueAt, t as setAtPath };
@@ -1,4 +1,4 @@
1
- import { MIXED, type Mixed, type NodePropertiesEntry, type NodeRoutingEntry, type SceneNode, type ToolPrefLeaf } from '@weasel-js/core';
1
+ import { MIXED, type Mixed, type NodePropertiesEntry, type NodeRoutingEntry, type SceneNode, type ToolPrefGroup, type ToolPrefLeaf } from '@weasel-js/core';
2
2
  export { MIXED };
3
3
  export type { Mixed };
4
4
  export type AnyNode = SceneNode<unknown, string, unknown>;
@@ -32,6 +32,9 @@ export interface PanelSection {
32
32
  * `data` through the routing entries (first match wins, `'unknown'`
33
33
  * otherwise) — same semantics as core's `NodeRouting.classify`. */
34
34
  export declare function classifyKind(node: AnyNode, routing: readonly NodeRoutingEntry[]): string;
35
+ export declare function isGroup(n: ToolPrefLeaf | ToolPrefGroup): n is ToolPrefGroup;
36
+ /** Merge consecutive leaves sharing a `pair` id into one labeled row. */
37
+ export declare function pairRows(leaves: readonly PanelLeaf[]): PanelRow[];
35
38
  /**
36
39
  * The schema the panel shows for a set of kinds: one kind → its full
37
40
  * schema; several → the intersection by (path, leaf kind), shaped by the
@@ -1 +1 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/components/SelectionPanel/model.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,EACL,KAAK,KAAK,EACV,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EAEd,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,YAAY,EAAE,KAAK,EAAE,CAAC;AAEtB,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAED;;oEAEoE;AACpE,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,SAAS,gBAAgB,EAAE,GACnC,MAAM,CAMR;AAiDD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,EAAE,SAAS,mBAAmB,EAAE,GACtC,YAAY,EAAE,CAkChB;AAED;;;uEAGuE;AACvE,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAUhE;AAED;;;;gDAIgD;AAChD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAiB3F;AAED,mEAAmE;AACnE,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,OAAO,EAAE,EACzB,IAAI,EAAE,MAAM,GACX,OAAO,GAAG,KAAK,CAajB;AAED,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAM9D"}
1
+ {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../src/components/SelectionPanel/model.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,KAAK,EACL,KAAK,KAAK,EACV,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAAE,KAAK,EAAE,CAAC;AACjB,YAAY,EAAE,KAAK,EAAE,CAAC;AAEtB,MAAM,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;AAE1D;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;CACpB;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAED;;oEAEoE;AACpE,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,SAAS,gBAAgB,EAAE,GACnC,MAAM,CAMR;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,CAAC,IAAI,aAAa,CAE3E;AA8BD,yEAAyE;AACzE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,SAAS,EAAE,GAAG,QAAQ,EAAE,CAYjE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,SAAS,MAAM,EAAE,EACxB,OAAO,EAAE,SAAS,mBAAmB,EAAE,GACtC,YAAY,EAAE,CAkChB;AAED;;;uEAGuE;AACvE,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAUhE;AAED;;;;gDAIgD;AAChD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAiB3F;AAED,mEAAmE;AACnE,wBAAgB,cAAc,CAC5B,KAAK,EAAE,SAAS,OAAO,EAAE,EACzB,IAAI,EAAE,MAAM,GACX,OAAO,GAAG,KAAK,CAajB;AAED,kEAAkE;AAClE,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAM9D"}
@@ -0,0 +1,112 @@
1
+ /**
2
+ * A selection's leaves as cells: one `ToolPrefLeaf` and its aggregated value
3
+ * in, one rendered cell out, plus the run logic that turns a row of paired
4
+ * toggles into a single segmented bar and the rows of an object leaf.
5
+ *
6
+ * The control itself is `PropertyControl`'s, through `prefFieldProps`; what
7
+ * is decided here is how a selection surface sizes and composes it.
8
+ * `ToolOptionsBar` renders a tool's options through the same functions.
9
+ */
10
+ import { type ReactNode } from 'react';
11
+ import type { ToolPrefLeaf } from '@weasel-js/core';
12
+ /** What a {@link PropertyRenderer} is given for the property it is rendering. */
13
+ export interface PropertyRenderContext {
14
+ /** Dotted node path of the leaf (`pose.x`, `data.fill`). */
15
+ path: string;
16
+ /** The schema leaf. App renderers narrow it to their own kind shape. */
17
+ pref: ToolPrefLeaf;
18
+ /** Aggregated value across the selection; `undefined` when mixed or unset. */
19
+ value: unknown;
20
+ /** True when selected nodes disagree at this path. */
21
+ mixed: boolean;
22
+ /**
23
+ * True when the nodes agree and what they agree on is nothing — the field
24
+ * is absent, and whatever paints comes from a fallback further down.
25
+ *
26
+ * Distinct from `mixed`, and both leave `value` undefined. A control must
27
+ * not substitute its schema default here: doing so shows a value the node
28
+ * does not hold, and the next edit writes that invention back.
29
+ */
30
+ unset: boolean;
31
+ /**
32
+ * The fields of the object this leaf is a field of — `undefined` for a
33
+ * top-level leaf, and for a field of an object the node does not hold.
34
+ *
35
+ * What a control needs when its own field doesn't carry the whole answer:
36
+ * a stroke's dash lengths are multiples of the stroke's width, so reading
37
+ * the array as a style takes both.
38
+ */
39
+ siblings?: Record<string, unknown>;
40
+ /** Commit a value — fans out to every selected node in one undo step. */
41
+ setValue: (value: unknown) => void;
42
+ /**
43
+ * The aggregated value at another node path — what `value` and `mixed` are
44
+ * for this leaf's own path, for any path.
45
+ *
46
+ * A control whose subject spans more than one field needs it: a font picker
47
+ * reporting which variant will actually paint has to read the node's weight
48
+ * and style. Reading it off `value` is impossible — a leaf is handed one
49
+ * field.
50
+ */
51
+ valueAt: (path: string) => {
52
+ value: unknown;
53
+ mixed: boolean;
54
+ };
55
+ /**
56
+ * The ids of the nodes the values were read from, joined. It changes exactly
57
+ * when the selection does, so a control holding scratch that belongs to one
58
+ * selection can key on it and be remounted rather than carry it to the next.
59
+ * Absent where the values come from no selection, as in a tool options bar.
60
+ */
61
+ selectionKey?: string;
62
+ }
63
+ /**
64
+ * Renders the control for one property across the whole selection.
65
+ * Returning `null` collapses the leaf.
66
+ */
67
+ export type PropertyRenderer = (ctx: PropertyRenderContext) => ReactNode;
68
+ /**
69
+ * One leaf with its context built but nothing rendered yet.
70
+ *
71
+ * Deferring the render is what lets a run of sibling flags become one bar:
72
+ * whether a leaf joins its neighbors is a fact about the run, which no leaf
73
+ * rendering itself can see.
74
+ */
75
+ export interface LeafCell {
76
+ key: string;
77
+ leaf: ToolPrefLeaf;
78
+ ctx: PropertyRenderContext;
79
+ /** The accessible name this leaf's control carries — qualified by the row's
80
+ * pair where the row holds more than one leaf. */
81
+ ariaLabel: string;
82
+ /** Renders the leaf on its own, chrome and all. */
83
+ render: () => ReactNode;
84
+ }
85
+ /** A cell's content, once the run it belongs to has been decided. */
86
+ export interface RenderedCell {
87
+ key: string;
88
+ /** The leaf that names the cell — the run's first, for a flag bar. */
89
+ leaf: ToolPrefLeaf;
90
+ block: boolean;
91
+ content: ReactNode;
92
+ }
93
+ /**
94
+ * True for a leaf that can join a flag bar: a paired toggle boolean the
95
+ * consumer has not claimed with a renderer of its own.
96
+ */
97
+ export declare function isFlagCell(cell: LeafCell, renderers?: Record<string, PropertyRenderer>): boolean;
98
+ /**
99
+ * Renders a row's cells, collapsing each run of adjacent same-`pair` toggle
100
+ * booleans into one segmented bar — the idiom the enum toggle a row away
101
+ * already uses, rather than one detached pill per flag.
102
+ */
103
+ export declare function renderCells(cells: readonly LeafCell[], renderers?: Record<string, PropertyRenderer>): RenderedCell[];
104
+ export declare function renderBuiltin(ctx: PropertyRenderContext, ariaLabel: string, renderers?: Record<string, PropertyRenderer>,
105
+ /** Identifies the current selection, so a control holding per-selection
106
+ * scratch (the paint kind memory) is remounted rather than carried over. */
107
+ selectionKey?: string,
108
+ /** True for a field of an object leaf. Such a field writes itself into its
109
+ * parent, so it can only hold values its parent's type permits — which is
110
+ * what rules "none" out for a nested paint. */
111
+ nested?: boolean): ReactNode;
112
+ //# sourceMappingURL=renderLeaf.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"renderLeaf.d.ts","sourceRoot":"","sources":["../../../src/components/SelectionPanel/renderLeaf.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,EAAY,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,KAAK,EAGV,YAAY,EAEb,MAAM,iBAAiB,CAAC;AASzB,iFAAiF;AACjF,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,IAAI,EAAE,YAAY,CAAC;IACnB,8EAA8E;IAC9E,KAAK,EAAE,OAAO,CAAC;IACf,sDAAsD;IACtD,KAAK,EAAE,OAAO,CAAC;IACf;;;;;;;OAOG;IACH,KAAK,EAAE,OAAO,CAAC;IACf;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,yEAAyE;IACzE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC;;;;;;;;OAQG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9D;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,qBAAqB,KAAK,SAAS,CAAC;AAGzE;;;;;;GAMG;AACH,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,YAAY,CAAC;IACnB,GAAG,EAAE,qBAAqB,CAAC;IAC3B;uDACmD;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,mDAAmD;IACnD,MAAM,EAAE,MAAM,SAAS,CAAC;CACzB;AAED,qEAAqE;AACrE,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,sEAAsE;IACtE,IAAI,EAAE,YAAY,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,SAAS,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAAG,OAAO,CAShG;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,SAAS,QAAQ,EAAE,EAC1B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,GAC3C,YAAY,EAAE,CA8BhB;AA2CD,wBAAgB,aAAa,CAC3B,GAAG,EAAE,qBAAqB,EAC1B,SAAS,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC;AAC5C;6EAC6E;AAC7E,YAAY,SAAK;AACjB;;gDAEgD;AAChD,MAAM,UAAQ,GACb,SAAS,CA6EX"}
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/Sidebar-BlUjn8lD.js";
1
+ import { t as e } from "../../chunks/Sidebar-DKKd4R-x.js";
2
2
  export { e as Sidebar };
@@ -11,7 +11,7 @@ export interface SidebarPanelProps {
11
11
  collapsed?: boolean;
12
12
  /**
13
13
  * Click handler for the title row. When provided, the header renders
14
- * as a button (chevron + label) and acts as the collapse toggle.
14
+ * as a button (fold mark + label) and acts as the collapse toggle.
15
15
  * When omitted, the title is static text and the panel can't collapse.
16
16
  */
17
17
  onToggleCollapse?(): void;
@@ -28,7 +28,7 @@ export interface SidebarPanelProps {
28
28
  * Generic collapsible panel section for sidebars. Pure presentation —
29
29
  * caller manages `collapsed`/`hidden` state externally (the pattern is
30
30
  * to drive it from app prefs so the Preferences modal and inline
31
- * chevrons toggle the same map).
31
+ * fold marks toggle the same map).
32
32
  *
33
33
  * Pair with `<Sidebar>` for the docked column layout.
34
34
  */
@@ -1 +1 @@
1
- {"version":3,"file":"SidebarPanel.d.ts","sourceRoot":"","sources":["../../../src/components/SidebarPanel/SidebarPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,IAAI,CAAC;IAC1B;;;;OAIG;IACH,MAAM,CAAC,IAAI,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CA4CpD"}
1
+ {"version":3,"file":"SidebarPanel.d.ts","sourceRoot":"","sources":["../../../src/components/SidebarPanel/SidebarPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,gDAAgD;IAChD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,IAAI,CAAC;IAC1B;;;;OAIG;IACH,MAAM,CAAC,IAAI,IAAI,CAAC;IAChB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAyCpD"}
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/SidebarPanel-BqHfz6VK.js";
1
+ import { t as e } from "../../chunks/SidebarPanel-u5NsuAZY.js";
2
2
  export { e as SidebarPanel };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/Slider-B2ywUZH6.js";
1
+ import { t as e } from "../../chunks/Slider-BwRrWHFW.js";
2
2
  export { e as Slider };
@@ -1,2 +1,2 @@
1
- import { n as e, r as t, t as n } from "../../chunks/StatusBar-BFt7Yw5O.js";
1
+ import { n as e, r as t, t as n } from "../../chunks/StatusBar-CdPdmmda.js";
2
2
  export { n as StatusBar, e as StatusBarItem, t as StatusBarSpacer };
@@ -0,0 +1,34 @@
1
+ import { type ReactElement } from 'react';
2
+ /** One swatch. `value: null` is the "no paint" swatch. */
3
+ export interface SwatchGridOption {
4
+ value: string | null;
5
+ /** Accessible name and tooltip. Defaults to the value, or "None". */
6
+ label?: string;
7
+ }
8
+ /** Props for {@link SwatchGrid}. */
9
+ export interface SwatchGridProps {
10
+ options: readonly SwatchGridOption[];
11
+ /** The swatch to mark current, if any matches. */
12
+ value?: string | null;
13
+ /** A click, Enter or Space on a swatch. */
14
+ onChange: (value: string | null) => void;
15
+ /** The alternate target — shift-click, right-click (the browser menu is
16
+ * suppressed) and Shift+Enter. Drawing apps route this to the slot that
17
+ * isn't focused: click for fill, shift-click for stroke. */
18
+ onAltChange?: (value: string | null) => void;
19
+ /** Swatches per row; also the step for ArrowUp/ArrowDown. Default 6. */
20
+ columns?: number;
21
+ 'aria-label'?: string;
22
+ className?: string;
23
+ }
24
+ /**
25
+ * A palette: a grid of color swatches that apply on click. Keyboard focus
26
+ * roves — one tab stop, on the current swatch, with the arrows moving by one
27
+ * across and by a row up and down.
28
+ *
29
+ * The grid applies nothing itself. `onChange` and `onAltChange` hand the
30
+ * color to the app, which decides what "apply" means: set its active paint,
31
+ * write the selection through `useOngoingAction`'s `commit`, or both.
32
+ */
33
+ export declare function SwatchGrid(props: SwatchGridProps): ReactElement;
34
+ //# sourceMappingURL=SwatchGrid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwatchGrid.d.ts","sourceRoot":"","sources":["../../../src/components/SwatchGrid/SwatchGrid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkD,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAG1F,0DAA0D;AAC1D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,oCAAoC;AACpC,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,SAAS,gBAAgB,EAAE,CAAC;IACrC,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,2CAA2C;IAC3C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACzC;;iEAE6D;IAC7D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,CAmE/D"}
@@ -0,0 +1,3 @@
1
+ export { SwatchGrid } from './SwatchGrid';
2
+ export type { SwatchGridOption, SwatchGridProps } from './SwatchGrid';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/SwatchGrid/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { t as e } from "../../chunks/SwatchGrid-C-Zx2Exd.js";
2
+ export { e as SwatchGrid };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/Switch-Om3t3ASc.js";
1
+ import { t as e } from "../../chunks/Switch-DxF7TsEu.js";
2
2
  export { e as Switch };
@@ -1,2 +1,2 @@
1
- import { i as e, n as t, r as n, t as r } from "../../chunks/Tabs-EAvYywil.js";
1
+ import { i as e, n as t, r as n, t as r } from "../../chunks/Tabs-GXEfoe3o.js";
2
2
  export { r as Tab, t as TabList, n as TabPanel, e as Tabs };
@@ -1 +1 @@
1
- {"version":3,"file":"Lane.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/Lane.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiH,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AACzJ,OAAO,EAAuC,KAAK,QAAQ,EAA8D,MAAM,iBAAiB,CAAC;AAGjJ,OAAO,EAA2C,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAGvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKvC,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,sDAAsD;IACtD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,qCAAqC;IACrC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,gDAAgD;IAChD,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,mEAAmE;IACnE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC1D,0DAA0D;IAC1D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC3D,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,oCAAoC;IACpC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAQD,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,CAwKnD"}
1
+ {"version":3,"file":"Lane.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/Lane.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiH,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AACzJ,OAAO,EAAuC,KAAK,QAAQ,EAA8D,MAAM,iBAAiB,CAAC;AAGjJ,OAAO,EAA2C,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAGvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAKvC,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,sDAAsD;IACtD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,qCAAqC;IACrC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,gDAAgD;IAChD,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,mEAAmE;IACnE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC1D,0DAA0D;IAC1D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC3D,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,oCAAoC;IACpC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAQD,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,CAqKnD"}
@@ -1,2 +1,2 @@
1
- import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "../../chunks/Timeline-BEyKaBXl.js";
1
+ import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "../../chunks/Timeline-SgmpQtUV.js";
2
2
  export { c as AnimatedTimeline, a as EASING_NAMES, e as EasingPicker, i as Timeline, n as Transport, s as easingBezier, t as easingLabel, o as samePath, r as sampleEasing };
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, n, r, t as i } from "../../chunks/Toast-iqLDD_XZ.js";
1
+ import { a as e, i as t, n, r, t as i } from "../../chunks/Toast-BfcljZz6.js";
2
2
  export { n as ToastQueue, i as ToastRegion, r as createToastQueue, t as defaultToastQueue, e as toast };
@@ -1,11 +1,12 @@
1
1
  import { type ReactElement, type ReactNode } from 'react';
2
+ import { type SegmentTooltipFields } from '../segmentTooltip';
2
3
  /** One segment of a {@link ToggleBar}, identified by its `value`. */
3
4
  export type ToggleBarItem<V extends string | number = string> = {
4
5
  value: V;
5
6
  label?: ReactNode;
6
7
  ariaLabel?: string;
7
8
  disabled?: boolean;
8
- };
9
+ } & SegmentTooltipFields;
9
10
  /** Segment height and type scale for a {@link ToggleBar}. */
10
11
  export type ToggleBarSize = 'sm' | 'md';
11
12
  /** Visual treatment of a {@link ToggleBar}. */
@@ -1 +1 @@
1
- {"version":3,"file":"ToggleBar.d.ts","sourceRoot":"","sources":["../../../src/components/ToggleBar/ToggleBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI9E,qEAAqE;AACrE,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IAC9D,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,6DAA6D;AAC7D,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC;AACxC,+CAA+C;AAC/C,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9D,KAAK,WAAW,GAAG;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;4EACwE;IACxE,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;0EACsE;IACtE,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IACzD,CAAC,WAAW,GAAG;IACb,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC,GACF,CAAC,WAAW,GAAG;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IACpB;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;IAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CAC/B,CAAC,CAAC;AAEP;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,YAAY,CAqGpG"}
1
+ {"version":3,"file":"ToggleBar.d.ts","sourceRoot":"","sources":["../../../src/components/ToggleBar/ToggleBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9E,OAAO,EAAyC,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAErG,qEAAqE;AACrE,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IAC9D,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,GAAG,oBAAoB,CAAC;AAEzB,6DAA6D;AAC7D,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,CAAC;AACxC,+CAA+C;AAC/C,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9D,KAAK,WAAW,GAAG;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;4EACwE;IACxE,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB;0EACsE;IACtE,OAAO,CAAC,EAAE,gBAAgB,CAAC;CAC5B,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IACzD,CAAC,WAAW,GAAG;IACb,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,KAAK,EAAE,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC,GACF,CAAC,WAAW,GAAG;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,SAAS,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;IACnC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IACpB;;;;;;;;;;;;;;;OAeG;IACH,WAAW,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC;IAC3B,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;CAC/B,CAAC,CAAC;AAEP;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,YAAY,CAsGpG"}
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/ToggleBar--9As2PWG.js";
1
+ import { t as e } from "../../chunks/ToggleBar-Btnl5r7F.js";
2
2
  export { e as ToggleBar };
@@ -1,4 +1,4 @@
1
- import { type TokenCategory, type TokenEntry } from './tokenTypes';
1
+ import { type TokenCategory, type TokenEntry, type TokenScale } from './tokenTypes';
2
2
  type OnChange = (name: string, value: string | null) => void;
3
3
  /** Props for `<TokenPanel>`. */
4
4
  export interface TokenPanelProps {
@@ -8,9 +8,13 @@ export interface TokenPanelProps {
8
8
  /** Sections held closed, by category. Omit to let the panel keep that state itself. */
9
9
  collapsed?: Readonly<Partial<Record<TokenCategory, boolean>>>;
10
10
  onCollapsedChange?: (category: TokenCategory, collapsed: boolean) => void;
11
+ /** Groups generated from a base, by group name. Such a group edits its base and rule above its steps. */
12
+ scales?: Readonly<Record<string, TokenScale>>;
13
+ /** A scale's new base or rule. The panel does not regenerate the steps; the consumer does, through `onChange`. */
14
+ onScaleChange?: (group: string, scale: TokenScale) => void;
11
15
  /** Files a token under a section. Defaults to `tokenCategory`. */
12
16
  categorize?: (token: TokenEntry) => TokenCategory;
13
- /** The fewest colors sharing a group that draw as one row of swatches. Default 3. */
17
+ /** The fewest colors, or sizes, sharing a group that draw as one row of swatches or one grid of steps. Default 3. */
14
18
  familySize?: number;
15
19
  /**
16
20
  * Row layout. `tight` puts a token on one line — name, control, Reset — with the
@@ -23,11 +27,13 @@ export interface TokenPanelProps {
23
27
  }
24
28
  /**
25
29
  * Edits a set of design tokens by type: collapsible sections by category, a
26
- * color group drawn as one row of swatches sized to fit, and a control for each
30
+ * color group drawn as one row of swatches sized to fit, a group of sizes drawn
31
+ * as one grid of numbers labeled by step — with its base and rule above it when
32
+ * `scales` says how it is generated — and a control for each
27
33
  * type — a number with its unit for dimensions and durations, the nine weights
28
34
  * for a font weight, a curve beside a `cubic-bezier()`, a swatch beside a color,
29
35
  * and text for everything else.
30
36
  */
31
- export declare function TokenPanel({ tokens, onChange, collapsed, onCollapsedChange, categorize, familySize, density, className, }: TokenPanelProps): import("react/jsx-runtime").JSX.Element;
37
+ export declare function TokenPanel({ tokens, onChange, collapsed, onCollapsedChange, scales, onScaleChange, categorize, familySize, density, className, }: TokenPanelProps): import("react/jsx-runtime").JSX.Element;
32
38
  export {};
33
39
  //# sourceMappingURL=TokenPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TokenPanel.d.ts","sourceRoot":"","sources":["../../../src/components/TokenPanel/TokenPanel.tsx"],"names":[],"mappings":"AAQA,OAAO,EAIL,KAAK,aAAa,EAClB,KAAK,UAAU,EAEhB,MAAM,cAAc,CAAC;AAEtB,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;AAE7D,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IAC9B,6HAA6H;IAC7H,QAAQ,EAAE,QAAQ,CAAC;IACnB,uFAAuF;IACvF,SAAS,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9D,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1E,kEAAkE;IAClE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,aAAa,CAAC;IAClD,qFAAqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgMD;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,UAA0B,EAC1B,UAAc,EACd,OAAkB,EAClB,SAAS,GACV,EAAE,eAAe,2CAmCjB"}
1
+ {"version":3,"file":"TokenPanel.d.ts","sourceRoot":"","sources":["../../../src/components/TokenPanel/TokenPanel.tsx"],"names":[],"mappings":"AAWA,OAAO,EAKL,KAAK,aAAa,EAClB,KAAK,UAAU,EACf,KAAK,UAAU,EAGhB,MAAM,cAAc,CAAC;AAEtB,KAAK,QAAQ,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;AAE7D,gCAAgC;AAChC,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;IAC9B,6HAA6H;IAC7H,QAAQ,EAAE,QAAQ,CAAC;IACnB,uFAAuF;IACvF,SAAS,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;IAC9D,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1E,yGAAyG;IACzG,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC;IAC9C,kHAAkH;IAClH,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,KAAK,IAAI,CAAC;IAC3D,kEAAkE;IAClE,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,aAAa,CAAC;IAClD,qHAAqH;IACrH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA2aD;;;;;;;;GAQG;AACH,wBAAgB,UAAU,CAAC,EACzB,MAAM,EACN,QAAQ,EACR,SAAS,EACT,iBAAiB,EACjB,MAAM,EACN,aAAa,EACb,UAA0B,EAC1B,UAAc,EACd,OAAkB,EAClB,SAAS,GACV,EAAE,eAAe,2CAqCjB"}
@@ -1,5 +1,5 @@
1
1
  export { TokenPanel } from './TokenPanel';
2
2
  export type { TokenPanelProps } from './TokenPanel';
3
- export { inferTokenType, TOKEN_CATEGORIES, tokenCategory } from './tokenTypes';
4
- export type { TokenCategory, TokenEntry } from './tokenTypes';
3
+ export { inferTokenType, refitScale, TOKEN_CATEGORIES, tokenCategory } from './tokenTypes';
4
+ export type { TokenCategory, TokenEntry, TokenScale, TokenScaleRule } from './tokenTypes';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/TokenPanel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC/E,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/TokenPanel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3F,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
@@ -1,2 +1,2 @@
1
- import { i as e, n as t, r as n, t as r } from "../../chunks/TokenPanel-BL9hlq7x.js";
2
- export { t as TOKEN_CATEGORIES, r as TokenPanel, n as inferTokenType, e as tokenCategory };
1
+ import { a as e, i as t, n, r, t as i } from "../../chunks/TokenPanel-5ajHEHha.js";
2
+ export { n as TOKEN_CATEGORIES, i as TokenPanel, r as inferTokenType, t as refitScale, e as tokenCategory };
@@ -11,6 +11,30 @@ export interface TokenEntry {
11
11
  overridden?: boolean;
12
12
  description?: string;
13
13
  }
14
+ /** How a scale's steps follow from its base: one multiplier per step, a constant ratio, or a constant step. */
15
+ export type TokenScaleRule = {
16
+ kind: 'factors';
17
+ factors: readonly number[];
18
+ } | {
19
+ kind: 'ratio';
20
+ ratio: number;
21
+ } | {
22
+ kind: 'step';
23
+ step: number;
24
+ };
25
+ /** A group whose steps are generated from a base, so the panel edits the base and the rule rather than each step. */
26
+ export interface TokenScale {
27
+ /** The generated tokens, smallest first. Anything else in the group draws as an ordinary step. */
28
+ tokens: readonly string[];
29
+ base: number;
30
+ rule: TokenScaleRule;
31
+ }
32
+ /**
33
+ * The same scale under another rule, fitted to the amounts its steps have now.
34
+ * A ratio or step counts from the first step, so switching to one moves the
35
+ * base there.
36
+ */
37
+ export declare function refitScale(scale: TokenScale, kind: TokenScaleRule['kind'], amounts: readonly number[]): TokenScale;
14
38
  export type TokenCategory = 'color' | 'type' | 'size' | 'motion' | 'depth' | 'other';
15
39
  /** The panel's sections, in the order it draws them. */
16
40
  export declare const TOKEN_CATEGORIES: readonly {
@@ -1 +1 @@
1
- {"version":3,"file":"tokenTypes.d.ts","sourceRoot":"","sources":["../../../src/components/TokenPanel/tokenTypes.ts"],"names":[],"mappings":"AAEA,+CAA+C;AAC/C,MAAM,WAAW,UAAU;IACzB,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,oGAAoG;IACpG,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAErF,wDAAwD;AACxD,eAAO,MAAM,gBAAgB,EAAE,SAAS;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAO3E,CAAC;AAIF,wGAAwG;AACxG,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa,CAqB9D;AAyBD,qHAAqH;AACrH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWpD;AAED,kEAAkE;AAClE,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAGhF;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAK5F"}
1
+ {"version":3,"file":"tokenTypes.d.ts","sourceRoot":"","sources":["../../../src/components/TokenPanel/tokenTypes.ts"],"names":[],"mappings":"AAEA,+CAA+C;AAC/C,MAAM,WAAW,UAAU;IACzB,iDAAiD;IACjD,IAAI,EAAE,MAAM,CAAC;IACb,2EAA2E;IAC3E,IAAI,EAAE,MAAM,CAAC;IACb,oGAAoG;IACpG,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,+GAA+G;AAC/G,MAAM,MAAM,cAAc,GACtB;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC,qHAAqH;AACrH,MAAM,WAAW,UAAU;IACzB,kGAAkG;IAClG,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,cAAc,CAAC;CACtB;AAID;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,GAAG,UAAU,CAYlH;AAED,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,CAAC;AAErF,wDAAwD;AACxD,eAAO,MAAM,gBAAgB,EAAE,SAAS;IAAE,EAAE,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAO3E,CAAC;AAIF,wGAAwG;AACxG,wBAAgB,aAAa,CAAC,KAAK,EAAE,UAAU,GAAG,aAAa,CAqB9D;AAyBD,qHAAqH;AACrH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAWpD;AAED,kEAAkE;AAClE,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAGhF;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAK5F"}
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/ToolButton-Dd-1T5aX.js";
1
+ import { t as e } from "../../chunks/ToolButton-rzqlFlAc.js";
2
2
  export { e as ToolButton };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/ToolGroup-BBI-W-Gm.js";
1
+ import { t as e } from "../../chunks/ToolGroup-4bUBV5k6.js";
2
2
  export { e as ToolGroup };
@@ -1,4 +1,6 @@
1
1
  import type { ReactNode } from 'react';
2
+ import type { ToolPrefGroup } from '@weasel-js/core';
3
+ import { type PropertyRenderer } from '../SelectionPanel/renderLeaf';
2
4
  /** Props for {@link ToolOptionsBar}. */
3
5
  export interface ToolOptionsBarProps {
4
6
  /**
@@ -12,34 +14,43 @@ export interface ToolOptionsBarProps {
12
14
  * toolbar", then "Text" again when browsing into the visible span).
13
15
  * `aria-labelledby` would avoid the echo at the cost of id plumbing and
14
16
  * an awkward no-`id`-to-point-at case when `label` is omitted. The
15
- * double-announcement is common enough for labelled landmark regions
17
+ * double-announcement is common enough for labeled landmark regions
16
18
  * that it's left as-is — considered, not missed.
17
19
  */
18
20
  label?: string;
21
+ /**
22
+ * The active tool's options. Leaves draw through the same leaf → control
23
+ * mapping `SelectionPanel` uses, so a kind gets its control decided in one
24
+ * place; groups organize without drawing, since the bar is one line.
25
+ */
26
+ schema?: ToolPrefGroup;
27
+ /** Each leaf's value, keyed by dotted path. A path with no entry is unset. */
28
+ values?: Readonly<Record<string, unknown>>;
29
+ /** A leaf edit, as the dotted path it was declared at and its new value. */
30
+ onChange?: (path: string, value: unknown) => void;
31
+ /** Paths whose sources disagree — drawn as the control's mixed state. */
32
+ mixed?: ReadonlySet<string>;
33
+ /** Control overrides, by dotted path or by leaf kind, as the panel takes. */
34
+ renderers?: Record<string, PropertyRenderer>;
19
35
  children?: ReactNode;
20
36
  className?: string;
21
37
  }
22
38
  /**
23
- * Horizontal strip reserved above the workspace for contextual tool
24
- * options — its first tenant is the character controls a text tool
25
- * exposes while a caret range is active. Pure chrome: it renders an
26
- * optional label and a children slot, nothing else. It knows nothing
27
- * about text, or about any specific tool — any tool can fill it.
39
+ * Horizontal strip reserved above the workspace for contextual tool options.
40
+ * Given a `schema` it draws the active tool's options itself; the children
41
+ * slot stays open for a tenant that is not a tool's options at all, such as
42
+ * loupe controls.
28
43
  *
29
- * The row always renders, even with no `label` and no `children`,
30
- * because the app reserves its height permanently rather than mounting
31
- * it on demand — mounting mid-edit would resize the workspace under a
32
- * canvas that's sized to the page.
44
+ * The row always renders, even empty, because the app reserves its height
45
+ * permanently rather than mounting it on demand — mounting mid-edit would
46
+ * resize the workspace under a canvas that's sized to the page.
33
47
  *
34
48
  * `role="toolbar"` without roving tabindex: the ARIA authoring practices
35
- * expect arrow-key roving focus across a toolbar's items, but this
36
- * component doesn't own or know the shape of its children — they're
37
- * arbitrary, possibly compound controls (`NumberField`, `Select`,
38
- * `ColorField`) that already use arrow keys for their own value editing.
39
- * Imposing roving focus here would fight those controls' own key
40
- * handling. Tab order falls back to normal DOM order for now; revisit
41
- * once the first tenant's control set is concrete and a roving-focus
42
- * contract can be designed in coordination with those controls.
49
+ * expect arrow-key roving focus across a toolbar's items, but a bar of
50
+ * compound controls (`NumberField`, `Select`, `ColorField`) must leave the
51
+ * arrow keys to them — they edit their own value with them. That is true of
52
+ * schema-drawn controls as much as of arbitrary children, so the bar keeps
53
+ * plain DOM tab order and `useRovingTabIndex` documents this as its opt-out.
43
54
  */
44
55
  export declare function ToolOptionsBar(props: ToolOptionsBarProps): import("react/jsx-runtime").JSX.Element;
45
56
  //# sourceMappingURL=ToolOptionsBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolOptionsBar.d.ts","sourceRoot":"","sources":["../../../src/components/ToolOptionsBar/ToolOptionsBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,wCAAwC;AACxC,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CASxD"}
1
+ {"version":3,"file":"ToolOptionsBar.d.ts","sourceRoot":"","sources":["../../../src/components/ToolOptionsBar/ToolOptionsBar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,aAAa,EAAgB,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAKL,KAAK,gBAAgB,EACtB,MAAM,8BAA8B,CAAC;AAItC,wCAAwC;AACxC,MAAM,WAAW,mBAAmB;IAClC;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;OAIG;IACH,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3C,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,yEAAyE;IACzE,KAAK,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC5B,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;IAC7C,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CAsBxD"}
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/ToolOptionsBar-B2xPWzJf.js";
1
+ import { t as e } from "../../chunks/ToolOptionsBar-BF3TNXA3.js";
2
2
  export { e as ToolOptionsBar };
@@ -11,10 +11,11 @@ export interface ToolPaletteProps {
11
11
  * omitted, falls back to `tool.keybinding` (legacy path). */
12
12
  lookupShortcut?: (toolId: string) => ShortcutInput | undefined;
13
13
  /**
14
- * Optional mode registry. When provided, tools whose `capabilities` do not
15
- * match the current mode are rendered greyed-out, aria-disabled, and their
16
- * onClick is suppressed. When omitted, all tools are treated as eligible
17
- * (preserves existing behaviour in consumers that haven't wired a registry).
14
+ * Optional mode registry. When provided, tools whose
15
+ * `eligibility.capabilities` do not match the current mode are rendered
16
+ * greyed-out, aria-disabled, and their onClick is suppressed. When omitted,
17
+ * all tools are treated as eligible (preserves existing behavior in
18
+ * consumers that haven't wired a registry).
18
19
  */
19
20
  modeRegistry?: ModeRegistry;
20
21
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ToolPalette.d.ts","sourceRoot":"","sources":["../../../src/components/ToolPalette/ToolPalette.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAW,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAwB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAK3E,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA8CtE,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;kEAE8D;IAC9D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;IAC/D;;;;;OAKG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CA0ElD"}
1
+ {"version":3,"file":"ToolPalette.d.ts","sourceRoot":"","sources":["../../../src/components/ToolPalette/ToolPalette.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAW,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAwB,KAAK,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAK3E,OAAO,EAAkB,KAAK,aAAa,EAAE,MAAM,kBAAkB,CAAC;AA8CtE,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,QAAQ,CAAC;IAChB,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;kEAE8D;IAC9D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,GAAG,SAAS,CAAC;IAC/D;;;;;;OAMG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;;;OAIG;IACH,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAChC;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CA0ElD"}