@weasel-js/ui 1.4.4 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/dist/chunks/{ActionBar-DxGp3WuZ.js → ActionBar-GZdcfdQL.js} +1 -2
  2. package/dist/chunks/{ActionBar-DxGp3WuZ.js.map → ActionBar-GZdcfdQL.js.map} +1 -1
  3. package/dist/chunks/{ActionsBar-D1VFreoj.js → ActionsBar-Fhx_40iP.js} +2 -2
  4. package/dist/chunks/{ActionsBar-D1VFreoj.js.map → ActionsBar-Fhx_40iP.js.map} +1 -1
  5. package/dist/chunks/{BandEditor-CUlbOlJi.js → BandEditor-D8I5Uun-.js} +93 -98
  6. package/dist/chunks/BandEditor-D8I5Uun-.js.map +1 -0
  7. package/dist/chunks/{Callout-Dvt6lqVn.js → Callout-cx5_CWcW.js} +1 -1
  8. package/dist/chunks/{Callout-Dvt6lqVn.js.map → Callout-cx5_CWcW.js.map} +1 -1
  9. package/dist/chunks/{Checkbox-D-pVpobU.js → Checkbox-BZZsPaVF.js} +1 -1
  10. package/dist/chunks/{Checkbox-D-pVpobU.js.map → Checkbox-BZZsPaVF.js.map} +1 -1
  11. package/dist/chunks/{ColorField-C20aRvCg.js → ColorField-YVf8irfr.js} +2 -2
  12. package/dist/chunks/{ColorField-C20aRvCg.js.map → ColorField-YVf8irfr.js.map} +1 -1
  13. package/dist/chunks/ComboBox-D57tNYDD.js +138 -0
  14. package/dist/chunks/ComboBox-D57tNYDD.js.map +1 -0
  15. package/dist/chunks/CurveEditor-BXiMoN9d.js +533 -0
  16. package/dist/chunks/CurveEditor-BXiMoN9d.js.map +1 -0
  17. package/dist/chunks/DetentSlider-BWNSv07Z.js +72 -0
  18. package/dist/chunks/DetentSlider-BWNSv07Z.js.map +1 -0
  19. package/dist/chunks/{Dialog-CYBLjwbd.js → Dialog-DuOzsR2g.js} +1 -1
  20. package/dist/chunks/{Dialog-CYBLjwbd.js.map → Dialog-DuOzsR2g.js.map} +1 -1
  21. package/dist/chunks/{Disclosure-DiA6UKdM.js → Disclosure-9UgDzc7Z.js} +6 -6
  22. package/dist/chunks/{Disclosure-DiA6UKdM.js.map → Disclosure-9UgDzc7Z.js.map} +1 -1
  23. package/dist/chunks/{Field-dzlxOGxT.js → Field-BNqvUJfg.js} +1 -1
  24. package/dist/chunks/{Field-dzlxOGxT.js.map → Field-BNqvUJfg.js.map} +1 -1
  25. package/dist/chunks/{FontFamilySelect-DIJ4phXz.js → FontFamilySelect-CO19kyOO.js} +2 -2
  26. package/dist/chunks/{FontFamilySelect-DIJ4phXz.js.map → FontFamilySelect-CO19kyOO.js.map} +1 -1
  27. package/dist/chunks/{GradientEditor-BLpAtMDK.js → GradientEditor-B_ymIr4Q.js} +74 -51
  28. package/dist/chunks/GradientEditor-B_ymIr4Q.js.map +1 -0
  29. package/dist/chunks/Icon-QhLhaGFe.js +498 -0
  30. package/dist/chunks/Icon-QhLhaGFe.js.map +1 -0
  31. package/dist/chunks/{InlineRange-CcfzY80y.js → InlineRange-DdIlfGqG.js} +2 -2
  32. package/dist/chunks/{InlineRange-CcfzY80y.js.map → InlineRange-DdIlfGqG.js.map} +1 -1
  33. package/dist/chunks/{Input-CoKOtyD0.js → Input-B9Vh7ASP.js} +2 -2
  34. package/dist/chunks/{Input-CoKOtyD0.js.map → Input-B9Vh7ASP.js.map} +1 -1
  35. package/dist/chunks/Jog-BYrxbAQU.js +81 -0
  36. package/dist/chunks/Jog-BYrxbAQU.js.map +1 -0
  37. package/dist/chunks/{Keycaps-DSeq6QWH.js → Keycaps-CGNQV2Pz.js} +5 -5
  38. package/dist/chunks/Keycaps-CGNQV2Pz.js.map +1 -0
  39. package/dist/chunks/MenuButton-DGE-0DP0.js +60 -0
  40. package/dist/chunks/MenuButton-DGE-0DP0.js.map +1 -0
  41. package/dist/chunks/MeshEditor-CHoGQ9K8.js +123 -0
  42. package/dist/chunks/MeshEditor-CHoGQ9K8.js.map +1 -0
  43. package/dist/chunks/NumberField-CQzS6TjF.js +112 -0
  44. package/dist/chunks/NumberField-CQzS6TjF.js.map +1 -0
  45. package/dist/chunks/{OptionsBar-D_Cd3ZYs.js → OptionsBar-BWaYG_OH.js} +2 -2
  46. package/dist/chunks/{OptionsBar-D_Cd3ZYs.js.map → OptionsBar-BWaYG_OH.js.map} +1 -1
  47. package/dist/chunks/PaintField-BVYMu3OI.js +62 -0
  48. package/dist/chunks/PaintField-BVYMu3OI.js.map +1 -0
  49. package/dist/chunks/PaintInput-BzAHCKro.js +131 -0
  50. package/dist/chunks/PaintInput-BzAHCKro.js.map +1 -0
  51. package/dist/chunks/{PatternPicker-Ba22Bf4L.js → PatternPicker-C4OryrYi.js} +2 -2
  52. package/dist/chunks/{PatternPicker-Ba22Bf4L.js.map → PatternPicker-C4OryrYi.js.map} +1 -1
  53. package/dist/chunks/Plot2D-Czvyt_vG.js +292 -0
  54. package/dist/chunks/Plot2D-Czvyt_vG.js.map +1 -0
  55. package/dist/chunks/{PointPlotter-CbDKVggs.js → PointPlotter-Xvb98GwB.js} +2 -2
  56. package/dist/chunks/PointPlotter-Xvb98GwB.js.map +1 -0
  57. package/dist/chunks/{Powerline-BaHDJlcO.js → Powerline-B_EH-7Z-.js} +1 -1
  58. package/dist/chunks/{Powerline-BaHDJlcO.js.map → Powerline-B_EH-7Z-.js.map} +1 -1
  59. package/dist/chunks/Prefs-FuaJBs3t.js +308 -0
  60. package/dist/chunks/Prefs-FuaJBs3t.js.map +1 -0
  61. package/dist/chunks/Properties-B3KU69NI.js +874 -0
  62. package/dist/chunks/Properties-B3KU69NI.js.map +1 -0
  63. package/dist/chunks/{RadioGroup-B2_LUgDp.js → RadioGroup-C6xpdQNg.js} +2 -2
  64. package/dist/chunks/{RadioGroup-B2_LUgDp.js.map → RadioGroup-C6xpdQNg.js.map} +1 -1
  65. package/dist/chunks/{RangeSlider-S2R3zA8N.js → RangeSlider-CzgeGLVS.js} +1 -1
  66. package/dist/chunks/{RangeSlider-S2R3zA8N.js.map → RangeSlider-CzgeGLVS.js.map} +1 -1
  67. package/dist/chunks/{ResizeHandle-BrCO0JrH.js → ResizeHandle-1Ey8AOij.js} +1 -1
  68. package/dist/chunks/{ResizeHandle-BrCO0JrH.js.map → ResizeHandle-1Ey8AOij.js.map} +1 -1
  69. package/dist/chunks/{Select-CacMfs4v.js → Select-BMYVh10x.js} +20 -17
  70. package/dist/chunks/Select-BMYVh10x.js.map +1 -0
  71. package/dist/chunks/{SelectionPanel-C59wavdA.js → SelectionPanel-DTpcQidl.js} +211 -201
  72. package/dist/chunks/SelectionPanel-DTpcQidl.js.map +1 -0
  73. package/dist/chunks/{Sidebar-BvwjZiFm.js → Sidebar-BlUjn8lD.js} +1 -1
  74. package/dist/chunks/{Sidebar-BvwjZiFm.js.map → Sidebar-BlUjn8lD.js.map} +1 -1
  75. package/dist/chunks/{SidebarPanel-D5Ua2vyP.js → SidebarPanel-BqHfz6VK.js} +2 -2
  76. package/dist/chunks/{SidebarPanel-D5Ua2vyP.js.map → SidebarPanel-BqHfz6VK.js.map} +1 -1
  77. package/dist/chunks/Slider-B2ywUZH6.js +381 -0
  78. package/dist/chunks/Slider-B2ywUZH6.js.map +1 -0
  79. package/dist/chunks/{StatusBar-Bqv4D0dW.js → StatusBar-BFt7Yw5O.js} +1 -1
  80. package/dist/chunks/{StatusBar-Bqv4D0dW.js.map → StatusBar-BFt7Yw5O.js.map} +1 -1
  81. package/dist/chunks/{Switch-C4NU-me1.js → Switch-Om3t3ASc.js} +1 -1
  82. package/dist/chunks/{Switch-C4NU-me1.js.map → Switch-Om3t3ASc.js.map} +1 -1
  83. package/dist/chunks/{Tabs-BT3CDkoQ.js → Tabs-EAvYywil.js} +1 -1
  84. package/dist/chunks/{Tabs-BT3CDkoQ.js.map → Tabs-EAvYywil.js.map} +1 -1
  85. package/dist/chunks/Timeline-BEyKaBXl.js +916 -0
  86. package/dist/chunks/Timeline-BEyKaBXl.js.map +1 -0
  87. package/dist/chunks/{Toast-B7ylq7fz.js → Toast-iqLDD_XZ.js} +1 -1
  88. package/dist/chunks/{Toast-B7ylq7fz.js.map → Toast-iqLDD_XZ.js.map} +1 -1
  89. package/dist/chunks/{ToggleBar-Bxwv6xvj.js → ToggleBar--9As2PWG.js} +8 -8
  90. package/dist/chunks/ToggleBar--9As2PWG.js.map +1 -0
  91. package/dist/chunks/TokenPanel-BL9hlq7x.js +374 -0
  92. package/dist/chunks/TokenPanel-BL9hlq7x.js.map +1 -0
  93. package/dist/chunks/{ToolButton-CtDkqUIc.js → ToolButton-Dd-1T5aX.js} +1 -1
  94. package/dist/chunks/{ToolButton-CtDkqUIc.js.map → ToolButton-Dd-1T5aX.js.map} +1 -1
  95. package/dist/chunks/{ToolGroup-zDtqt0QJ.js → ToolGroup-BBI-W-Gm.js} +1 -1
  96. package/dist/chunks/{ToolGroup-zDtqt0QJ.js.map → ToolGroup-BBI-W-Gm.js.map} +1 -1
  97. package/dist/chunks/{ToolPalette-BbrMHfQ9.js → ToolPalette-BmTDDpmz.js} +3 -3
  98. package/dist/chunks/{ToolPalette-BbrMHfQ9.js.map → ToolPalette-BmTDDpmz.js.map} +1 -1
  99. package/dist/chunks/createKeyframeLayer-7j7ukrSx.js +699 -0
  100. package/dist/chunks/createKeyframeLayer-7j7ukrSx.js.map +1 -0
  101. package/dist/chunks/{icons-BV27dhKB.js → icons-Btrs-JD7.js} +35 -32
  102. package/dist/chunks/icons-Btrs-JD7.js.map +1 -0
  103. package/dist/chunks/number-f6PydOZK.js +52 -0
  104. package/dist/chunks/number-f6PydOZK.js.map +1 -0
  105. package/dist/chunks/range.module-DSsOIq1R.js +8 -0
  106. package/dist/chunks/range.module-DSsOIq1R.js.map +1 -0
  107. package/dist/chunks/{schema-CtWwGbqJ.js → schema-MCVT1MLv.js} +15 -9
  108. package/dist/chunks/schema-MCVT1MLv.js.map +1 -0
  109. package/dist/chunks/segmentedControl.module-DmeUMYe3.js +11 -0
  110. package/dist/chunks/segmentedControl.module-DmeUMYe3.js.map +1 -0
  111. package/dist/chunks/snap-B0WQwetQ.js +13 -0
  112. package/dist/chunks/snap-B0WQwetQ.js.map +1 -0
  113. package/dist/components/ActionBar/ActionBar.d.ts.map +1 -1
  114. package/dist/components/ActionBar/index.js +1 -1
  115. package/dist/components/ActionsBar/index.js +1 -1
  116. package/dist/components/BandEditor/BandEditor.d.ts.map +1 -1
  117. package/dist/components/BandEditor/index.js +1 -1
  118. package/dist/components/BandEditor/scale.d.ts +1 -8
  119. package/dist/components/BandEditor/scale.d.ts.map +1 -1
  120. package/dist/components/Callout/index.js +1 -1
  121. package/dist/components/Checkbox/index.js +1 -1
  122. package/dist/components/ColorField/index.js +1 -1
  123. package/dist/components/ComboBox/ComboBox.d.ts +36 -0
  124. package/dist/components/ComboBox/ComboBox.d.ts.map +1 -1
  125. package/dist/components/ComboBox/index.d.ts +1 -1
  126. package/dist/components/ComboBox/index.d.ts.map +1 -1
  127. package/dist/components/ComboBox/index.js +1 -1
  128. package/dist/components/CurveEditor/CurveEditor.d.ts +4 -2
  129. package/dist/components/CurveEditor/CurveEditor.d.ts.map +1 -1
  130. package/dist/components/CurveEditor/LayeredCurveEditor.d.ts +8 -1
  131. package/dist/components/CurveEditor/LayeredCurveEditor.d.ts.map +1 -1
  132. package/dist/components/CurveEditor/createFunctionLayer.d.ts +2 -0
  133. package/dist/components/CurveEditor/createFunctionLayer.d.ts.map +1 -1
  134. package/dist/components/CurveEditor/createKeyframeLayer.d.ts +70 -0
  135. package/dist/components/CurveEditor/createKeyframeLayer.d.ts.map +1 -0
  136. package/dist/components/CurveEditor/index.d.ts +3 -1
  137. package/dist/components/CurveEditor/index.d.ts.map +1 -1
  138. package/dist/components/CurveEditor/index.js +4 -2
  139. package/dist/components/CurveEditor/layerTypes.d.ts +8 -3
  140. package/dist/components/CurveEditor/layerTypes.d.ts.map +1 -1
  141. package/dist/components/DetentSlider/DetentSlider.d.ts +9 -10
  142. package/dist/components/DetentSlider/DetentSlider.d.ts.map +1 -1
  143. package/dist/components/DetentSlider/index.js +1 -1
  144. package/dist/components/Dialog/index.js +1 -1
  145. package/dist/components/Disclosure/index.js +1 -1
  146. package/dist/components/Field/index.js +1 -1
  147. package/dist/components/FontFamilySelect/index.js +1 -1
  148. package/dist/components/GradientEditor/GradientEditor.d.ts +3 -0
  149. package/dist/components/GradientEditor/GradientEditor.d.ts.map +1 -1
  150. package/dist/components/GradientEditor/index.js +1 -1
  151. package/dist/components/InlineRange/index.js +1 -1
  152. package/dist/components/Input/index.js +1 -1
  153. package/dist/components/Jog/Jog.d.ts +28 -0
  154. package/dist/components/Jog/Jog.d.ts.map +1 -0
  155. package/dist/components/Jog/index.d.ts +3 -0
  156. package/dist/components/Jog/index.d.ts.map +1 -0
  157. package/dist/components/Jog/index.js +2 -0
  158. package/dist/components/Keycaps/index.js +1 -1
  159. package/dist/components/MenuButton/MenuButton.d.ts +29 -0
  160. package/dist/components/MenuButton/MenuButton.d.ts.map +1 -0
  161. package/dist/components/MenuButton/index.d.ts +3 -0
  162. package/dist/components/MenuButton/index.d.ts.map +1 -0
  163. package/dist/components/MenuButton/index.js +2 -0
  164. package/dist/components/MeshEditor/MeshEditor.d.ts +30 -0
  165. package/dist/components/MeshEditor/MeshEditor.d.ts.map +1 -0
  166. package/dist/components/MeshEditor/index.d.ts +3 -0
  167. package/dist/components/MeshEditor/index.d.ts.map +1 -0
  168. package/dist/components/MeshEditor/index.js +2 -0
  169. package/dist/components/NumberField/UnitField.d.ts +30 -0
  170. package/dist/components/NumberField/UnitField.d.ts.map +1 -0
  171. package/dist/components/NumberField/index.d.ts +2 -0
  172. package/dist/components/NumberField/index.d.ts.map +1 -1
  173. package/dist/components/NumberField/index.js +2 -2
  174. package/dist/components/OptionsBar/index.js +1 -1
  175. package/dist/components/PaintField/PaintField.d.ts +36 -0
  176. package/dist/components/PaintField/PaintField.d.ts.map +1 -0
  177. package/dist/components/PaintField/index.d.ts +3 -0
  178. package/dist/components/PaintField/index.d.ts.map +1 -0
  179. package/dist/components/PaintField/index.js +2 -0
  180. package/dist/components/PaintInput/PaintInput.d.ts.map +1 -1
  181. package/dist/components/PaintInput/index.js +1 -1
  182. package/dist/components/PatternPicker/index.js +1 -1
  183. package/dist/components/Plot2D/Plot2D.d.ts +38 -2
  184. package/dist/components/Plot2D/Plot2D.d.ts.map +1 -1
  185. package/dist/components/Plot2D/index.d.ts +2 -1
  186. package/dist/components/Plot2D/index.d.ts.map +1 -1
  187. package/dist/components/Plot2D/index.js +2 -2
  188. package/dist/components/Plot2D/ticks.d.ts +43 -0
  189. package/dist/components/Plot2D/ticks.d.ts.map +1 -0
  190. package/dist/components/PointPlotter/PointPlotter.d.ts +3 -1
  191. package/dist/components/PointPlotter/PointPlotter.d.ts.map +1 -1
  192. package/dist/components/PointPlotter/index.js +1 -1
  193. package/dist/components/Powerline/index.js +1 -1
  194. package/dist/components/Prefs/PrefsForm.d.ts +4 -0
  195. package/dist/components/Prefs/PrefsForm.d.ts.map +1 -1
  196. package/dist/components/Prefs/index.d.ts +1 -1
  197. package/dist/components/Prefs/index.d.ts.map +1 -1
  198. package/dist/components/Prefs/index.js +3 -3
  199. package/dist/components/Prefs/schema.d.ts +5 -2
  200. package/dist/components/Prefs/schema.d.ts.map +1 -1
  201. package/dist/components/Properties/PinDot.d.ts +18 -0
  202. package/dist/components/Properties/PinDot.d.ts.map +1 -0
  203. package/dist/components/Properties/PropertyPanel.d.ts +106 -12
  204. package/dist/components/Properties/PropertyPanel.d.ts.map +1 -1
  205. package/dist/components/Properties/index.d.ts +4 -2
  206. package/dist/components/Properties/index.d.ts.map +1 -1
  207. package/dist/components/Properties/index.js +2 -2
  208. package/dist/components/Properties/storyLayouts.d.ts +1 -1
  209. package/dist/components/RadioGroup/index.js +1 -1
  210. package/dist/components/RangeSlider/index.js +1 -1
  211. package/dist/components/ResizeHandle/index.js +1 -1
  212. package/dist/components/Select/Select.d.ts +8 -0
  213. package/dist/components/Select/Select.d.ts.map +1 -1
  214. package/dist/components/Select/index.js +1 -1
  215. package/dist/components/SelectionPanel/index.js +1 -1
  216. package/dist/components/Sidebar/index.js +1 -1
  217. package/dist/components/SidebarPanel/index.js +1 -1
  218. package/dist/components/Slider/Slider.d.ts +19 -1
  219. package/dist/components/Slider/Slider.d.ts.map +1 -1
  220. package/dist/components/Slider/index.d.ts +1 -1
  221. package/dist/components/Slider/index.d.ts.map +1 -1
  222. package/dist/components/Slider/index.js +1 -1
  223. package/dist/components/StatusBar/index.js +1 -1
  224. package/dist/components/Switch/index.js +1 -1
  225. package/dist/components/Tabs/index.js +1 -1
  226. package/dist/components/Timeline/Lane.d.ts +9 -7
  227. package/dist/components/Timeline/Lane.d.ts.map +1 -1
  228. package/dist/components/Timeline/LaneGraph.d.ts +24 -0
  229. package/dist/components/Timeline/LaneGraph.d.ts.map +1 -0
  230. package/dist/components/Timeline/Ruler.d.ts.map +1 -1
  231. package/dist/components/Timeline/Timeline.d.ts.map +1 -1
  232. package/dist/components/Timeline/index.js +2 -2
  233. package/dist/components/Timeline/keys.d.ts +4 -3
  234. package/dist/components/Timeline/keys.d.ts.map +1 -1
  235. package/dist/components/Timeline/timeScale.d.ts +2 -0
  236. package/dist/components/Timeline/timeScale.d.ts.map +1 -1
  237. package/dist/components/Toast/index.js +1 -1
  238. package/dist/components/ToggleBar/index.js +1 -1
  239. package/dist/components/TokenPanel/TokenPanel.d.ts +33 -0
  240. package/dist/components/TokenPanel/TokenPanel.d.ts.map +1 -0
  241. package/dist/components/TokenPanel/color.d.ts +7 -0
  242. package/dist/components/TokenPanel/color.d.ts.map +1 -0
  243. package/dist/components/TokenPanel/index.d.ts +5 -0
  244. package/dist/components/TokenPanel/index.d.ts.map +1 -0
  245. package/dist/components/TokenPanel/index.js +2 -0
  246. package/dist/components/TokenPanel/tokenTypes.d.ts +31 -0
  247. package/dist/components/TokenPanel/tokenTypes.d.ts.map +1 -0
  248. package/dist/components/ToolButton/index.js +1 -1
  249. package/dist/components/ToolGroup/index.js +1 -1
  250. package/dist/components/ToolPalette/index.js +1 -1
  251. package/dist/components/paintValue.d.ts +8 -0
  252. package/dist/components/paintValue.d.ts.map +1 -1
  253. package/dist/format/number.d.ts +16 -0
  254. package/dist/format/number.d.ts.map +1 -1
  255. package/dist/handles.d.ts +20 -0
  256. package/dist/handles.d.ts.map +1 -0
  257. package/dist/icons/Icon.d.ts +10 -2
  258. package/dist/icons/Icon.d.ts.map +1 -1
  259. package/dist/icons/index.d.ts +6 -3
  260. package/dist/icons/index.d.ts.map +1 -1
  261. package/dist/icons/paths.d.ts +270 -16
  262. package/dist/icons/paths.d.ts.map +1 -1
  263. package/dist/index.d.ts +11 -1
  264. package/dist/index.d.ts.map +1 -1
  265. package/dist/index.js +105 -65
  266. package/dist/index.js.map +1 -1
  267. package/dist/paintPreview.d.ts +13 -0
  268. package/dist/paintPreview.d.ts.map +1 -0
  269. package/dist/snap.d.ts +5 -0
  270. package/dist/snap.d.ts.map +1 -0
  271. package/dist/style.css +1 -1
  272. package/dist/useAsyncOptions.d.ts +38 -0
  273. package/dist/useAsyncOptions.d.ts.map +1 -0
  274. package/package.json +8 -6
  275. package/dist/chunks/BandEditor-CUlbOlJi.js.map +0 -1
  276. package/dist/chunks/ComboBox-BBRRWvdc.js +0 -107
  277. package/dist/chunks/ComboBox-BBRRWvdc.js.map +0 -1
  278. package/dist/chunks/CurveEditor-DtjdpJVB.js +0 -784
  279. package/dist/chunks/CurveEditor-DtjdpJVB.js.map +0 -1
  280. package/dist/chunks/DetentSlider-BpD7bgjN.js +0 -83
  281. package/dist/chunks/DetentSlider-BpD7bgjN.js.map +0 -1
  282. package/dist/chunks/GradientEditor-BLpAtMDK.js.map +0 -1
  283. package/dist/chunks/Icon-DBXtBB1f.js +0 -101
  284. package/dist/chunks/Icon-DBXtBB1f.js.map +0 -1
  285. package/dist/chunks/Keycaps-DSeq6QWH.js.map +0 -1
  286. package/dist/chunks/NumberField-DBowmOfe.js +0 -62
  287. package/dist/chunks/NumberField-DBowmOfe.js.map +0 -1
  288. package/dist/chunks/PaintInput-B7AScmHN.js +0 -118
  289. package/dist/chunks/PaintInput-B7AScmHN.js.map +0 -1
  290. package/dist/chunks/Plot2D-C97pO13t.js +0 -134
  291. package/dist/chunks/Plot2D-C97pO13t.js.map +0 -1
  292. package/dist/chunks/PointPlotter-CbDKVggs.js.map +0 -1
  293. package/dist/chunks/Prefs-4JSEtuU-.js +0 -294
  294. package/dist/chunks/Prefs-4JSEtuU-.js.map +0 -1
  295. package/dist/chunks/Properties-BpUYKi7-.js +0 -758
  296. package/dist/chunks/Properties-BpUYKi7-.js.map +0 -1
  297. package/dist/chunks/Select-CacMfs4v.js.map +0 -1
  298. package/dist/chunks/SelectionPanel-C59wavdA.js.map +0 -1
  299. package/dist/chunks/Slider-Bs-KSYgQ.js +0 -303
  300. package/dist/chunks/Slider-Bs-KSYgQ.js.map +0 -1
  301. package/dist/chunks/Timeline-Bz806JbE.js +0 -908
  302. package/dist/chunks/Timeline-Bz806JbE.js.map +0 -1
  303. package/dist/chunks/ToggleBar-Bxwv6xvj.js.map +0 -1
  304. package/dist/chunks/icons-BV27dhKB.js.map +0 -1
  305. package/dist/chunks/number-Bv1nbhOJ.js +0 -18
  306. package/dist/chunks/number-Bv1nbhOJ.js.map +0 -1
  307. package/dist/chunks/range.module-CvSfABmu.js +0 -8
  308. package/dist/chunks/range.module-CvSfABmu.js.map +0 -1
  309. package/dist/chunks/schema-CtWwGbqJ.js.map +0 -1
  310. package/dist/chunks/segmentedControl.module-BgvAPkSZ.js +0 -11
  311. package/dist/chunks/segmentedControl.module-BgvAPkSZ.js.map +0 -1
@@ -1,3 +1,5 @@
1
1
  export { NumberField } from './NumberField';
2
2
  export type { NumberFieldProps } from './NumberField';
3
+ export { UnitField } from './UnitField';
4
+ export type { UnitFieldProps } from './UnitField';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/NumberField/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/NumberField/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/NumberField-DBowmOfe.js";
2
- export { e as NumberField };
1
+ import { n as e, t } from "../../chunks/NumberField-CQzS6TjF.js";
2
+ export { e as NumberField, t as UnitField };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/OptionsBar-D_Cd3ZYs.js";
1
+ import { t as e } from "../../chunks/OptionsBar-BWaYG_OH.js";
2
2
  export { e as OptionsBar };
@@ -0,0 +1,36 @@
1
+ import { type ReactElement } from 'react';
2
+ import { type FillStyle, type PaintKind } from '@weasel-js/core';
3
+ import { type OverlayPortalProps } from '../../overlays/portalHost';
4
+ /** Props for {@link PaintField}. `onInput` fires throughout a gesture inside
5
+ * the popover and `onChange` once at its end. */
6
+ export interface PaintFieldProps extends OverlayPortalProps {
7
+ /** The paint being edited. `null` is an explicit "no paint"; `undefined` is
8
+ * no value to show. */
9
+ value: FillStyle | null | undefined;
10
+ /** Indeterminate presentation: the trigger says "Mixed" and the editor
11
+ * lights no kind. */
12
+ mixed?: boolean;
13
+ /** Dim the trigger — a value is in effect but was never chosen. */
14
+ unset?: boolean;
15
+ /** Restrict the editor's kind bar. Default: every registered kind. */
16
+ kinds?: readonly PaintKind[];
17
+ /** Offer "None" in the editor. Default `true`. */
18
+ allowNone?: boolean;
19
+ onInput?: (next: FillStyle | null) => void;
20
+ onChange: (next: FillStyle | null) => void;
21
+ /** Names the paint this field edits — `Fill`, `Color`. */
22
+ 'aria-label'?: string;
23
+ className?: string;
24
+ }
25
+ /**
26
+ * A whole `FillStyle` in one control slot: a swatch that says which kind it
27
+ * holds, and a popover holding {@link PaintInput}.
28
+ *
29
+ * `PaintInput` itself is a kind bar over a body — six segments and a stop
30
+ * editor — which a property row's control column cannot hold. This is the
31
+ * shape for a narrow slot, and the difference that matters is fidelity: a
32
+ * `ColorField` in that slot reads a gradient's first stop and writes a solid
33
+ * back, so touching the control loses the paint.
34
+ */
35
+ export declare function PaintField(props: PaintFieldProps): ReactElement;
36
+ //# sourceMappingURL=PaintField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PaintField.d.ts","sourceRoot":"","sources":["../../../src/components/PaintField/PaintField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAO1C,OAAO,EAAgB,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC/E,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAKtF;kDACkD;AAClD,MAAM,WAAW,eAAgB,SAAQ,kBAAkB;IACzD;4BACwB;IACxB,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC;0BACsB;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mEAAmE;IACnE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,sEAAsE;IACtE,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7B,kDAAkD;IAClD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAUD;;;;;;;;;GASG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,CA2C/D"}
@@ -0,0 +1,3 @@
1
+ export { PaintField } from './PaintField';
2
+ export type { PaintFieldProps } from './PaintField';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/PaintField/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { t as e } from "../../chunks/PaintField-BVYMu3OI.js";
2
+ export { e as PaintField };
@@ -1 +1 @@
1
- {"version":3,"file":"PaintInput.d.ts","sourceRoot":"","sources":["../../../src/components/PaintInput/PaintInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAIL,KAAK,SAAS,EAGd,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AAuCzB;kCACkC;AAClC,MAAM,WAAW,eAAe;IAC9B;+BAC2B;IAC3B,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC;4CACwC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mEAAmE;IACnE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7B;;kCAE8B;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C;2EACuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,CAoH/D"}
1
+ {"version":3,"file":"PaintInput.d.ts","sourceRoot":"","sources":["../../../src/components/PaintInput/PaintInput.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AAC/D,OAAO,EAIL,KAAK,SAAS,EAGd,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AAwCzB;kCACkC;AAClC,MAAM,WAAW,eAAe;IAC9B;+BAC2B;IAC3B,KAAK,EAAE,SAAS,GAAG,IAAI,GAAG,SAAS,CAAC;IACpC;4CACwC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mEAAmE;IACnE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,SAAS,SAAS,EAAE,CAAC;IAC7B;;kCAE8B;IAC9B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C,QAAQ,EAAE,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IAC3C;2EACuE;IACvE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,YAAY,CA6H/D"}
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/PaintInput-B7AScmHN.js";
1
+ import { t as e } from "../../chunks/PaintInput-BzAHCKro.js";
2
2
  export { e as PaintInput };
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../../chunks/PatternPicker-Ba22Bf4L.js";
1
+ import { n as e, t } from "../../chunks/PatternPicker-C4OryrYi.js";
2
2
  export { t as PatternPicker, e as seedPattern };
@@ -1,5 +1,6 @@
1
1
  import { type CSSProperties, type KeyboardEvent as ReactKeyboardEvent, type PointerEvent as ReactPointerEvent, type ReactNode } from 'react';
2
2
  import { type Point } from './geometry';
3
+ import { type TickFormatter } from './ticks';
3
4
  /** Background grid configuration for a {@link Plot2D}. */
4
5
  export interface GridSettings {
5
6
  /** Number of evenly-spaced internal grid lines per axis (excluding
@@ -13,6 +14,33 @@ export interface AxesSettings {
13
14
  /** Stroke color override. When omitted, uses `var(--plot-axis)`. */
14
15
  color?: string;
15
16
  }
17
+ /**
18
+ * Ticks along one axis of a {@link Plot2D}: a line across the plot at each
19
+ * tick value, and a label naming it. Every label in a column is formatted
20
+ * to the same number of decimal places.
21
+ */
22
+ export interface TickSettings {
23
+ /** Tick values in model space; any outside the range are skipped.
24
+ * Omitted = round 1/2/5 steps, as many as `minSpacing` allows at the
25
+ * plot's current size. */
26
+ values?: readonly number[];
27
+ /** Smallest gap between generated ticks, in px. Default 24 on y, 64 on x. */
28
+ minSpacing?: number;
29
+ /** A generated tick nearer either end of the axis than this is dropped,
30
+ * so its label stays on the plot, in px. Default 4 on y, 16 on x. */
31
+ inset?: number;
32
+ /** Draw a line across the plot at each tick. Default true. */
33
+ lines?: boolean;
34
+ /** Where labels sit: `'inside'` the plot along its left (y) or bottom (x)
35
+ * edge, `'outside'` it past that edge in space the caller leaves free,
36
+ * or `false` for none. Default `'inside'`. */
37
+ labels?: 'inside' | 'outside' | false;
38
+ /** Space between a label and the plot edge it sits against, in px.
39
+ * Default 4. */
40
+ gap?: number;
41
+ /** Label text for a tick. Default {@link formatTick}. */
42
+ format?: TickFormatter;
43
+ }
16
44
  /** A pointer position given in both of the plot's coordinate systems. */
17
45
  export interface Plot2DCoords {
18
46
  plot: Point;
@@ -32,8 +60,16 @@ export interface Plot2DProps {
32
60
  /** Axis lines. `false` / `null` = no axes. Omitted = default-styled
33
61
  * axes (on). Pass AxesSettings to customize. */
34
62
  axes?: AxesSettings | false | null;
63
+ /** Ticks at x values. `false` / `null` / omitted = none; `{}` = defaults. */
64
+ xTicks?: TickSettings | false | null;
65
+ /** Ticks at y values. `false` / `null` / omitted = none; `{}` = defaults. */
66
+ yTicks?: TickSettings | false | null;
35
67
  /** Forwarded to the underlying svg. Consumer opts into focus this way. */
36
68
  tabIndex?: number;
69
+ /** Default `'img'`. A plot holding focusable marks must not be an image,
70
+ * whose children are presentational to assistive technology. */
71
+ role?: string;
72
+ 'aria-label'?: string;
37
73
  className?: string;
38
74
  style?: CSSProperties;
39
75
  /** Pointer down on the SVG. Receives both plot- and model-space coords
@@ -66,8 +102,8 @@ export interface Plot2DHandle {
66
102
  readonly height: number;
67
103
  }
68
104
  /**
69
- * An SVG plotting surface with an optional grid and axes. It draws the frame
70
- * and owns the model-space to plot-space mapping; the plotted content is
105
+ * An SVG plotting surface with an optional grid, axes and ticks. It draws the
106
+ * frame and owns the model-space to plot-space mapping; the plotted content is
71
107
  * whatever children are passed, positioned in plot space.
72
108
  */
73
109
  export declare const Plot2D: import("react").ForwardRefExoticComponent<Plot2DProps & import("react").RefAttributes<Plot2DHandle>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Plot2D.d.ts","sourceRoot":"","sources":["../../../src/components/Plot2D/Plot2D.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,aAAa,IAAI,kBAAkB,EACxC,KAAK,YAAY,IAAI,iBAAiB,EACtC,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAEY,KAAK,KAAK,EAC5B,MAAM,YAAY,CAAC;AAIpB,0DAA0D;AAC1D,MAAM,WAAW,YAAY;IAC3B;0DACsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,oDAAoD;AACpD,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;CACd;AAED,gCAAgC;AAChC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;wEACoE;IACpE,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC;qDACiD;IACjD,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;2EACuE;IACvE,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACpF,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC3D,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC;IAC9B,WAAW,CAAC,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC;IAC9B;kDAC8C;IAC9C,YAAY,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;IAC7D,+CAA+C;IAC/C,aAAa,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,MAAM,sGA6HjB,CAAC"}
1
+ {"version":3,"file":"Plot2D.d.ts","sourceRoot":"","sources":["../../../src/components/Plot2D/Plot2D.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,aAAa,IAAI,kBAAkB,EACxC,KAAK,YAAY,IAAI,iBAAiB,EACtC,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAEY,KAAK,KAAK,EAC5B,MAAM,YAAY,CAAC;AACpB,OAAO,EAEe,KAAK,aAAa,EACvC,MAAM,SAAS,CAAC;AAIjB,0DAA0D;AAC1D,MAAM,WAAW,YAAY;IAC3B;0DACsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,oDAAoD;AACpD,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B;;+BAE2B;IAC3B,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;0EACsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;mDAE+C;IAC/C,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;IACtC;qBACiB;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;CACd;AAED,gCAAgC;AAChC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;wEACoE;IACpE,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC;qDACiD;IACjD,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,6EAA6E;IAC7E,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC,6EAA6E;IAC7E,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;qEACiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;2EACuE;IACvE,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACpF,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC3D,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC;IAC9B,WAAW,CAAC,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC;IAC9B;kDAC8C;IAC9C,YAAY,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;IAC7D,+CAA+C;IAC/C,aAAa,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AA4CD;;;;GAIG;AACH,eAAO,MAAM,MAAM,sGA4NjB,CAAC"}
@@ -1,3 +1,4 @@
1
- export { Plot2D, type Plot2DProps, type Plot2DHandle, type Plot2DCoords, type GridSettings, type AxesSettings, } from './Plot2D';
1
+ export { Plot2D, type Plot2DProps, type Plot2DHandle, type Plot2DCoords, type GridSettings, type AxesSettings, type TickSettings, } from './Plot2D';
2
+ export { niceStep, niceTicks, stepDecimals, tickDecimals, formatTick, type NiceTickOptions, type TickFormatCtx, type TickFormatter, type TickSet, } from './ticks';
2
3
  export { modelToPlot, plotToModel, type Point, type ModelRange, type PlotSize, } from './geometry';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Plot2D/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,WAAW,EACX,WAAW,EACX,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,QAAQ,GACd,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Plot2D/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,OAAO,GACb,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,WAAW,EACX,WAAW,EACX,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,QAAQ,GACd,MAAM,YAAY,CAAC"}
@@ -1,2 +1,2 @@
1
- import { n as e, r as t, t as n } from "../../chunks/Plot2D-C97pO13t.js";
2
- export { n as Plot2D, e as modelToPlot, t as plotToModel };
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/Plot2D-Czvyt_vG.js";
2
+ export { s as Plot2D, r as formatTick, o as modelToPlot, a as niceStep, n as niceTicks, t as plotToModel, e as stepDecimals, i as tickDecimals };
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Tick placement for a numeric axis. Pure — no DOM, no React.
3
+ */
4
+ /** What a tick label formatter knows about the column it is part of. */
5
+ export interface TickFormatCtx {
6
+ /** Places after the point that every label in the column shares. */
7
+ decimals: number;
8
+ /** Distance between neighboring ticks, or 0 when the ticks were given
9
+ * explicitly and are not evenly spaced. */
10
+ step: number;
11
+ }
12
+ /** Turns a tick value into its label. */
13
+ export type TickFormatter = (value: number, ctx: TickFormatCtx) => string;
14
+ /** A column of ticks and the facts its labels share. */
15
+ export interface TickSet {
16
+ values: number[];
17
+ step: number;
18
+ decimals: number;
19
+ }
20
+ /** Options for {@link niceTicks}. */
21
+ export interface NiceTickOptions {
22
+ /** Smallest gap between neighboring ticks, in px. */
23
+ minSpacing: number;
24
+ /** Ticks closer than this to either end of the axis are dropped, in px.
25
+ * Default 0. */
26
+ inset?: number;
27
+ }
28
+ /** The smallest of 1, 2 or 5 times a power of ten that is at least `rough`. */
29
+ export declare function niceStep(rough: number): number;
30
+ /** Places after the point a multiple of `step` needs, for a 1/2/5 step. */
31
+ export declare function stepDecimals(step: number): number;
32
+ /** The most places after the point any of `values` needs. */
33
+ export declare function tickDecimals(values: readonly number[]): number;
34
+ /**
35
+ * Ticks at round values across `range`, drawn `pixels` long: the finest
36
+ * 1/2/5 step that keeps neighbors `minSpacing` px apart, so a taller plot
37
+ * gets more of them.
38
+ */
39
+ export declare function niceTicks(range: readonly [number, number], pixels: number, options: NiceTickOptions): TickSet;
40
+ /** The default label: `value` fixed to the column's shared decimals, with
41
+ * no negative zero. */
42
+ export declare function formatTick(value: number, ctx: TickFormatCtx): string;
43
+ //# sourceMappingURL=ticks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticks.d.ts","sourceRoot":"","sources":["../../../src/components/Plot2D/ticks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wEAAwE;AACxE,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB;gDAC4C;IAC5C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,yCAAyC;AACzC,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,MAAM,CAAC;AAE1E,wDAAwD;AACxD,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB;qBACiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,+EAA+E;AAC/E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK9C;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,6DAA6D;AAC7D,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAS9D;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,eAAe,GACvB,OAAO,CAoBT;AAED;wBACwB;AACxB,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM,CAGpE"}
@@ -1,6 +1,6 @@
1
1
  import type { CSSProperties, ReactNode } from 'react';
2
2
  import { type AnchorRenderProps, type ControlPoint } from '../CurveEditor';
3
- import type { GridSettings, AxesSettings } from '../Plot2D';
3
+ import type { GridSettings, AxesSettings, TickSettings } from '../Plot2D';
4
4
  /** Props for {@link PointPlotter}. */
5
5
  export interface PointPlotterProps {
6
6
  /** Plotted points; caller-owned. */
@@ -18,6 +18,8 @@ export interface PointPlotterProps {
18
18
  height: number;
19
19
  grid?: GridSettings | false | null;
20
20
  axes?: AxesSettings | false | null;
21
+ xTicks?: TickSettings | false | null;
22
+ yTicks?: TickSettings | false | null;
21
23
  /** Minimum allowed point count. User-initiated deletion is refused
22
24
  * while `value.length <= minPoints`. */
23
25
  minPoints?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"PointPlotter.d.ts","sourceRoot":"","sources":["../../../src/components/PointPlotter/PointPlotter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAElB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE5D,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,oCAAoC;IACpC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,mEAAmE;IACnE,OAAO,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IACxC;2EACuE;IACvE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,YAAY,EAAE,KAAK,IAAI,CAAC;IACzE,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC;6CACyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;6CACyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;yCACqC;IACrC,YAAY,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IACvC;iEAC6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,SAAS,CAAC;IACtD,4EAA4E;IAC5E,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CASpD"}
1
+ {"version":3,"file":"PointPlotter.d.ts","sourceRoot":"","sources":["../../../src/components/PointPlotter/PointPlotter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAElB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE1E,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,oCAAoC;IACpC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,mEAAmE;IACnE,OAAO,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IACxC;2EACuE;IACvE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,YAAY,EAAE,KAAK,IAAI,CAAC;IACzE,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC;6CACyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;6CACyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;yCACqC;IACrC,YAAY,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IACvC;iEAC6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,SAAS,CAAC;IACtD,4EAA4E;IAC5E,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CASpD"}
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/PointPlotter-CbDKVggs.js";
1
+ import { t as e } from "../../chunks/PointPlotter-Xvb98GwB.js";
2
2
  export { e as PointPlotter };
@@ -1,3 +1,3 @@
1
1
  import { n as e } from "../../chunks/Badge-Bf8Rd1R6.js";
2
- import { t } from "../../chunks/Powerline-BaHDJlcO.js";
2
+ import { t } from "../../chunks/Powerline-B_EH-7Z-.js";
3
3
  export { e as EDGE_PROFILES, t as Powerline };
@@ -9,6 +9,10 @@ export interface PrefRenderContext {
9
9
  /** Current value — `values` at `path`, falling back to `pref.default`. */
10
10
  value: unknown;
11
11
  setValue: (value: unknown) => void;
12
+ /** Whether this leaf is currently auto — not pinned, computed by the owner. */
13
+ auto: boolean;
14
+ /** Toggle this leaf's auto state. */
15
+ setAuto: (next: boolean) => void;
12
16
  }
13
17
  /**
14
18
  * Renders the control cell for one preference leaf. Returning `null`
@@ -1 +1 @@
1
- {"version":3,"file":"PrefsForm.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/PrefsForm.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAchD,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,UAAU,CAAC;AAGlB,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,IAAI,EAAE,QAAQ,CAAC;IACf,0EAA0E;IAC1E,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,iBAAiB,KAAK,SAAS,CAAC;AAEjE,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,MAAM,EAAE,SAAS,CAAC;IAClB;8DAC0D;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;0CACsC;IACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CAsB9C"}
1
+ {"version":3,"file":"PrefsForm.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/PrefsForm.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAehD,OAAO,EAML,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,UAAU,CAAC;AAGlB,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,IAAI,EAAE,QAAQ,CAAC;IACf,0EAA0E;IAC1E,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,+EAA+E;IAC/E,IAAI,EAAE,OAAO,CAAC;IACd,qCAAqC;IACrC,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,iBAAiB,KAAK,SAAS,CAAC;AAEjE,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,MAAM,EAAE,SAAS,CAAC;IAClB;8DAC0D;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;0CACsC;IACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CAsB9C"}
@@ -1,4 +1,4 @@
1
1
  export { PrefsForm, type PrefsFormProps, type PrefRenderer, type PrefRenderContext } from './PrefsForm';
2
2
  export { PrefsDialog, type PrefsDialogProps } from './PrefsDialog';
3
- export { isPrefLeaf, prefDisplayBounds, prefValueAtPath, visiblePrefSubtree, type BuiltinPref, type PrefBoolean, type PrefBooleanControl, type PrefColor, type PrefCustom, type PrefEnum, type PrefEnumControl, type PrefEnumEncoding, type PrefGroup, type PrefKind, type PrefLeaf, type PrefNumber, type PrefNumberControl, type PrefNumberUnit, type PrefPaint, type PrefObject, type PrefString, type PrefStringControl, } from './schema';
3
+ export { isPrefLeaf, prefDisplayBounds, prefValueAtPath, visiblePrefSubtree, type BuiltinPref, type PrefBoolean, type PrefBooleanControl, type PrefColor, type PrefCustom, type PrefEnum, type PrefEnumControl, type PrefEnumEncoding, type PrefGroup, type PrefKind, type PrefLeaf, type PrefNumber, type PrefNumberControl, type PrefNumberFormat, type PrefNumberUnit, type PrefPaint, type PrefObject, type PrefString, type PrefStringControl, } from './schema';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxG,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,iBAAiB,GACvB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxG,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,iBAAiB,GACvB,MAAM,UAAU,CAAC"}
@@ -1,3 +1,3 @@
1
- import { n as e, t } from "../../chunks/Prefs-4JSEtuU-.js";
2
- import { i as n, n as r, r as i, t as a } from "../../chunks/schema-CtWwGbqJ.js";
3
- export { t as PrefsDialog, e as PrefsForm, a as isPrefLeaf, r as prefDisplayBounds, i as prefValueAtPath, n as visiblePrefSubtree };
1
+ import { n as e, t } from "../../chunks/Prefs-FuaJBs3t.js";
2
+ import { a as n, i as r, n as i, t as a } from "../../chunks/schema-MCVT1MLv.js";
3
+ export { t as PrefsDialog, e as PrefsForm, a as isPrefLeaf, i as prefDisplayBounds, r as prefValueAtPath, n as visiblePrefSubtree };
@@ -1,5 +1,5 @@
1
- export type { ToolPref as BuiltinPref, ToolPrefBoolean as PrefBoolean, ToolPrefBooleanControl as PrefBooleanControl, ToolPrefColor as PrefColor, ToolPrefCustom as PrefCustom, ToolPrefEnum as PrefEnum, ToolPrefEnumControl as PrefEnumControl, ToolPrefEnumEncoding as PrefEnumEncoding, ToolPrefGroup as PrefGroup, ToolPrefKind as PrefKind, ToolPrefLeaf as PrefLeaf, ToolPrefNumber as PrefNumber, ToolPrefNumberControl as PrefNumberControl, ToolPrefNumberUnit as PrefNumberUnit, ToolPrefObject as PrefObject, ToolPrefPaint as PrefPaint, ToolPrefString as PrefString, ToolPrefStringControl as PrefStringControl, } from '@weasel-js/core';
2
- import type { ToolPrefGroup, ToolPrefLeaf, ToolPrefNumber } from '@weasel-js/core';
1
+ export type { ToolPref as BuiltinPref, ToolPrefBoolean as PrefBoolean, ToolPrefBooleanControl as PrefBooleanControl, ToolPrefColor as PrefColor, ToolPrefCustom as PrefCustom, ToolPrefEnum as PrefEnum, ToolPrefEnumControl as PrefEnumControl, ToolPrefEnumEncoding as PrefEnumEncoding, ToolPrefGroup as PrefGroup, ToolPrefKind as PrefKind, ToolPrefLeaf as PrefLeaf, ToolPrefNumber as PrefNumber, ToolPrefNumberControl as PrefNumberControl, ToolPrefNumberFormat as PrefNumberFormat, ToolPrefNumberUnit as PrefNumberUnit, ToolPrefObject as PrefObject, ToolPrefPaint as PrefPaint, ToolPrefString as PrefString, ToolPrefStringControl as PrefStringControl, } from '@weasel-js/core';
2
+ import type { ToolPrefGroup, ToolPrefLeaf, ToolPrefNumber, ToolPrefNumberUnit as PrefNumberUnitType } from '@weasel-js/core';
3
3
  /**
4
4
  * A number leaf's bounds in the unit it is displayed in.
5
5
  *
@@ -16,6 +16,9 @@ export declare function prefDisplayBounds(p: ToolPrefNumber): {
16
16
  max?: number;
17
17
  step: number;
18
18
  };
19
+ /** What a unit leaf's field reads as typed text: its `accepts` table, and its
20
+ * `suffix` as the display unit itself. */
21
+ export declare function prefUnitAccepts(unit: PrefNumberUnitType): Readonly<Record<string, number>>;
19
22
  /** Distinguishes a leaf from a group while walking a schema tree. */
20
23
  export declare function isPrefLeaf(node: ToolPrefLeaf | ToolPrefGroup): node is ToolPrefLeaf;
21
24
  /** Get the value at a dotted path inside a nested value tree. Returns
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/schema.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,QAAQ,IAAI,WAAW,EACvB,eAAe,IAAI,WAAW,EAC9B,sBAAsB,IAAI,kBAAkB,EAC5C,aAAa,IAAI,SAAS,EAC1B,cAAc,IAAI,UAAU,EAC5B,YAAY,IAAI,QAAQ,EACxB,mBAAmB,IAAI,eAAe,EACtC,oBAAoB,IAAI,gBAAgB,EACxC,aAAa,IAAI,SAAS,EAC1B,YAAY,IAAI,QAAQ,EACxB,YAAY,IAAI,QAAQ,EACxB,cAAc,IAAI,UAAU,EAC5B,qBAAqB,IAAI,iBAAiB,EAC1C,kBAAkB,IAAI,cAAc,EACpC,cAAc,IAAI,UAAU,EAC5B,aAAa,IAAI,SAAS,EAC1B,cAAc,IAAI,UAAU,EAC5B,qBAAqB,IAAI,iBAAiB,GAC3C,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEnF;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,cAAc,GAChB;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAU9C;AAED,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,GAAG,IAAI,IAAI,YAAY,CAEnF;AAED;kEACkE;AAClE,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOtE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,YAAY,GAAG,aAAa,EACvE,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,OAAO,GAClB,CAAC,GAAG,IAAI,CAUV"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/schema.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,QAAQ,IAAI,WAAW,EACvB,eAAe,IAAI,WAAW,EAC9B,sBAAsB,IAAI,kBAAkB,EAC5C,aAAa,IAAI,SAAS,EAC1B,cAAc,IAAI,UAAU,EAC5B,YAAY,IAAI,QAAQ,EACxB,mBAAmB,IAAI,eAAe,EACtC,oBAAoB,IAAI,gBAAgB,EACxC,aAAa,IAAI,SAAS,EAC1B,YAAY,IAAI,QAAQ,EACxB,YAAY,IAAI,QAAQ,EACxB,cAAc,IAAI,UAAU,EAC5B,qBAAqB,IAAI,iBAAiB,EAC1C,oBAAoB,IAAI,gBAAgB,EACxC,kBAAkB,IAAI,cAAc,EACpC,cAAc,IAAI,UAAU,EAC5B,aAAa,IAAI,SAAS,EAC1B,cAAc,IAAI,UAAU,EAC5B,qBAAqB,IAAI,iBAAiB,GAC3C,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE7H;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,cAAc,GAChB;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAU9C;AAED;2CAC2C;AAC3C,wBAAgB,eAAe,CAAC,IAAI,EAAE,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAE1F;AAED,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,GAAG,IAAI,IAAI,YAAY,CAEnF;AAED;kEACkE;AAClE,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOtE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,YAAY,GAAG,aAAa,EACvE,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,OAAO,GAClB,CAAC,GAAG,IAAI,CAUV"}
@@ -0,0 +1,18 @@
1
+ import type { ReactNode } from 'react';
2
+ export interface PinDotProps {
3
+ /** Whether the row is currently auto. */
4
+ auto: boolean;
5
+ /** The row's label, used to name the control. */
6
+ label: ReactNode;
7
+ onChange: (next: boolean) => void;
8
+ }
9
+ /**
10
+ * Pinned/auto affordance for a property row. Filled means the row holds a
11
+ * pinned value; hollow means it is auto and the owner decides.
12
+ *
13
+ * Invisible at rest and revealed by the row's `:hover` / `:focus-within` — so
14
+ * tabbing to the row's control brings it into view and into reach, which is
15
+ * the whole keyboard path for going auto.
16
+ */
17
+ export declare function PinDot({ auto, label, onChange }: PinDotProps): import("react/jsx-runtime").JSX.Element;
18
+ //# sourceMappingURL=PinDot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PinDot.d.ts","sourceRoot":"","sources":["../../../src/components/Properties/PinDot.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,IAAI,EAAE,OAAO,CAAC;IACd,iDAAiD;IACjD,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,WAAW,2CA6B5D"}
@@ -1,4 +1,5 @@
1
1
  import { type ReactNode } from 'react';
2
+ import type { PrefNumberFormat } from '../Prefs/schema';
2
3
  /**
3
4
  * How much room a container gives its rows — gaps, padding, and field height,
4
5
  * moved together. Set on any container in the family; it reaches every
@@ -99,11 +100,25 @@ export interface PropertyRowProps extends PropertyMetricProps {
99
100
  span?: boolean;
100
101
  children: ReactNode;
101
102
  htmlFor?: string;
103
+ /** The control is a group of several (a segmented toggle), not one element.
104
+ * The row then renders as a `<div>`: a `<label>` hands a click on its text to
105
+ * its first control, which in a group means selecting the first option. Each
106
+ * member has to carry its own name. */
107
+ group?: boolean;
102
108
  className?: string;
109
+ /** The row is auto: its value is not pinned and the owner computes it. Draws
110
+ * the control ghosted and colorless. */
111
+ auto?: boolean;
112
+ /** Given, the row carries a pin dot that toggles `auto`. Omitted, the row can
113
+ * show an auto state but not change it. */
114
+ onAutoChange?: (next: boolean) => void;
115
+ /** Marks the row's element for a panel-level gesture handler. `PropertyRow`
116
+ * does not spread unknown props, so this is declared rather than inherited. */
117
+ 'data-auto-path'?: string;
103
118
  }
104
119
  /** The label-plus-control frame every typed row below is built from. Use it
105
120
  * directly for a control this module does not cover. */
106
- export declare function PropertyRow({ label, readout, description, variant, layout, span, children, htmlFor, className, density, align, }: PropertyRowProps): import("react/jsx-runtime").JSX.Element;
121
+ export declare function PropertyRow({ label, readout, description, variant, layout, span, children, htmlFor, group, className, density, align, auto, onAutoChange, 'data-auto-path': autoPath, }: PropertyRowProps): import("react/jsx-runtime").JSX.Element;
107
122
  /** Props for `<SliderRow>`. */
108
123
  export interface SliderRowProps extends PropertyMetricProps {
109
124
  label: ReactNode;
@@ -125,6 +140,14 @@ export interface SliderRowProps extends PropertyMetricProps {
125
140
  onInput?: (next: number) => void;
126
141
  /** Override how the value is rendered next to the label. Defaults to `value.toString()`. */
127
142
  format?: (value: number) => ReactNode;
143
+ /**
144
+ * Static text in place of the editable readout. Use it when the row is not
145
+ * showing a number a caller could type back — an auto row's `auto · 18`, say,
146
+ * which an editable field would seed a draft with and then fail to parse.
147
+ */
148
+ readout?: ReactNode;
149
+ /** A named display for the value: `compact` reads `2.0M`. `format` wins when both are given. */
150
+ notation?: PrefNumberFormat;
128
151
  /**
129
152
  * Optional suffix rendered next to the readout. A string becomes a
130
153
  * baseline-aligned dim "word" unit (e.g. "px"); pass JSX like `<sup>°</sup>`
@@ -135,10 +158,16 @@ export interface SliderRowProps extends PropertyMetricProps {
135
158
  description?: string;
136
159
  /** Take the full width of the enclosing grid — see `<PropertyRow span>`. */
137
160
  span?: boolean;
161
+ /** The row is auto — see `<PropertyRow auto>`. */
162
+ auto?: boolean;
163
+ /** Toggles `auto` from a pin dot — see `<PropertyRow onAutoChange>`. */
164
+ onAutoChange?: (next: boolean) => void;
165
+ /** Marks the row for a panel-level gesture handler — see `<PropertyRow data-auto-path>`. */
166
+ 'data-auto-path'?: string;
138
167
  }
139
168
  /** A bounded number edited by dragging, with a live readout whose precision
140
169
  * follows `step`. */
141
- export declare function SliderRow({ label, value, min, max, step, onChange, onInput, format, unit, layout, description, span, density, align, }: SliderRowProps): import("react/jsx-runtime").JSX.Element;
170
+ export declare function SliderRow({ label, value, min, max, step, onChange, onInput, format, readout, notation, unit, layout, description, span, density, align, auto, onAutoChange, 'data-auto-path': autoPath, }: SliderRowProps): import("react/jsx-runtime").JSX.Element;
142
171
  /** Props for `<ColorRow>`. */
143
172
  export interface ColorRowProps extends PropertyMetricProps {
144
173
  label: ReactNode;
@@ -169,42 +198,80 @@ export interface ColorRowProps extends PropertyMetricProps {
169
198
  /** Label beside the swatch (default) or above it. */
170
199
  layout?: PropertyRowLayout;
171
200
  description?: string;
201
+ /** Right-aligned readout shown next to the label — see `<PropertyRow readout>`. */
202
+ readout?: ReactNode;
172
203
  /** Take the full width of the enclosing grid — see `<PropertyRow span>`. */
173
204
  span?: boolean;
205
+ /** The row is auto — see `<PropertyRow auto>`. */
206
+ auto?: boolean;
207
+ /** Toggles `auto` from a pin dot — see `<PropertyRow onAutoChange>`. */
208
+ onAutoChange?: (next: boolean) => void;
209
+ /** Marks the row for a panel-level gesture handler — see `<PropertyRow data-auto-path>`. */
210
+ 'data-auto-path'?: string;
174
211
  }
175
212
  /** A color swatch, optionally with an alpha slider beneath it. */
176
- export declare function ColorRow({ label, value, onChange, onInput, alpha, onAlphaChange, onAlphaInput, alphaDisabled, layout, description, span, density, align, }: ColorRowProps): import("react/jsx-runtime").JSX.Element;
213
+ export declare function ColorRow({ label, readout, value, onChange, onInput, alpha, onAlphaChange, onAlphaInput, alphaDisabled, layout, description, span, density, align, auto, onAutoChange, 'data-auto-path': autoPath, }: ColorRowProps): import("react/jsx-runtime").JSX.Element;
177
214
  /** Props for `<CheckboxRow>`. */
178
215
  export interface CheckboxRowProps extends PropertyMetricProps {
179
216
  label: ReactNode;
180
- value: boolean;
217
+ /** Absent reads as unchecked. */
218
+ value: boolean | undefined;
181
219
  onChange: (next: boolean) => void;
182
220
  /** Label beside the box (default) or above it. */
183
221
  layout?: PropertyRowLayout;
184
222
  description?: string;
223
+ /** Right-aligned readout shown next to the label — see `<PropertyRow readout>`. */
224
+ readout?: ReactNode;
185
225
  /** Take the full width of the enclosing grid — see `<PropertyRow span>`. */
186
226
  span?: boolean;
227
+ /** The row is auto — see `<PropertyRow auto>`. */
228
+ auto?: boolean;
229
+ /** Toggles `auto` from a pin dot — see `<PropertyRow onAutoChange>`. */
230
+ onAutoChange?: (next: boolean) => void;
231
+ /** Marks the row for a panel-level gesture handler — see `<PropertyRow data-auto-path>`. */
232
+ 'data-auto-path'?: string;
187
233
  }
188
234
  /** A boolean checkbox. */
189
- export declare function CheckboxRow({ label, value, onChange, layout, span, description, density, align, }: CheckboxRowProps): import("react/jsx-runtime").JSX.Element;
235
+ export declare function CheckboxRow({ label, readout, value, onChange, layout, span, description, density, align, auto, onAutoChange, 'data-auto-path': autoPath, }: CheckboxRowProps): import("react/jsx-runtime").JSX.Element;
236
+ /** Props for `<SwitchRow>`. */
237
+ export interface SwitchRowProps extends Omit<CheckboxRowProps, 'value'> {
238
+ /** Absent reads as off. */
239
+ value: boolean | undefined;
240
+ }
241
+ /**
242
+ * A boolean switch — the same row as `<CheckboxRow>`, drawn as an on/off
243
+ * toggle. Reach for it where the change takes effect immediately, and for
244
+ * a checkbox where it is submitted with a form.
245
+ */
246
+ export declare function SwitchRow({ label, readout, value, onChange, layout, span, description, density, align, auto, onAutoChange, 'data-auto-path': autoPath, }: SwitchRowProps): import("react/jsx-runtime").JSX.Element;
190
247
  /** Props for `<TextRow>`. */
191
248
  export interface TextRowProps extends PropertyMetricProps {
192
249
  label: ReactNode;
193
- value: string;
250
+ /** Absent reads as an empty field. */
251
+ value: string | null | undefined;
194
252
  onChange: (next: string) => void;
195
253
  placeholder?: string;
196
254
  maxLength?: number;
197
255
  layout?: PropertyRowLayout;
198
256
  description?: string;
257
+ /** Right-aligned readout shown next to the label — see `<PropertyRow readout>`. */
258
+ readout?: ReactNode;
199
259
  /** Take the full width of the enclosing grid — see `<PropertyRow span>`. */
200
260
  span?: boolean;
261
+ /** The row is auto — see `<PropertyRow auto>`. */
262
+ auto?: boolean;
263
+ /** Toggles `auto` from a pin dot — see `<PropertyRow onAutoChange>`. */
264
+ onAutoChange?: (next: boolean) => void;
265
+ /** Marks the row for a panel-level gesture handler — see `<PropertyRow data-auto-path>`. */
266
+ 'data-auto-path'?: string;
201
267
  }
202
268
  /** A single-line text input. */
203
- export declare function TextRow({ label, value, onChange, placeholder, maxLength, layout, description, span, density, align, }: TextRowProps): import("react/jsx-runtime").JSX.Element;
269
+ export declare function TextRow({ label, readout, value, onChange, placeholder, maxLength, layout, description, span, density, align, auto, onAutoChange, 'data-auto-path': autoPath, }: TextRowProps): import("react/jsx-runtime").JSX.Element;
204
270
  /** Props for `<NumberRow>`. */
205
271
  export interface NumberRowProps extends PropertyMetricProps {
206
272
  label: ReactNode;
207
- value: number;
273
+ /** Absent reads as an empty field. */
274
+ value: number | null | undefined;
208
275
  /**
209
276
  * The committed value. Given `onInput` as well, it fires on blur or Enter;
210
277
  * on its own it fires on every keystroke, which is what a row with one
@@ -229,12 +296,20 @@ export interface NumberRowProps extends PropertyMetricProps {
229
296
  unit?: ReactNode;
230
297
  layout?: PropertyRowLayout;
231
298
  description?: string;
299
+ /** Right-aligned readout shown next to the label — see `<PropertyRow readout>`. */
300
+ readout?: ReactNode;
232
301
  /** Take the full width of the enclosing grid — see `<PropertyRow span>`. */
233
302
  span?: boolean;
303
+ /** The row is auto — see `<PropertyRow auto>`. */
304
+ auto?: boolean;
305
+ /** Toggles `auto` from a pin dot — see `<PropertyRow onAutoChange>`. */
306
+ onAutoChange?: (next: boolean) => void;
307
+ /** Marks the row for a panel-level gesture handler — see `<PropertyRow data-auto-path>`. */
308
+ 'data-auto-path'?: string;
234
309
  }
235
310
  /** A number typed directly. Reach for `<SliderRow>` when the range matters
236
311
  * more than the exact value. */
237
- export declare function NumberRow({ label, value, onChange, onInput, min, max, step, placeholder, unit, layout, description, span, density, align, }: NumberRowProps): import("react/jsx-runtime").JSX.Element;
312
+ export declare function NumberRow({ label, readout, value, onChange, onInput, min, max, step, placeholder, unit, layout, description, span, density, align, auto, onAutoChange, 'data-auto-path': autoPath, }: NumberRowProps): import("react/jsx-runtime").JSX.Element;
238
313
  export interface PropertyOption<T extends string> {
239
314
  value: T;
240
315
  label: ReactNode;
@@ -242,17 +317,28 @@ export interface PropertyOption<T extends string> {
242
317
  /** Props for `<SelectRow>`. */
243
318
  export interface SelectRowProps<T extends string> extends PropertyMetricProps {
244
319
  label: ReactNode;
245
- value: T;
320
+ /** Absent, or not one of `options`, shows a placeholder rather than the first option. */
321
+ value: T | undefined;
246
322
  options: ReadonlyArray<PropertyOption<T>>;
247
323
  onChange: (next: T) => void;
324
+ /** Shown while no option is chosen. Defaults to "Choose option…". */
325
+ placeholder?: string;
248
326
  layout?: PropertyRowLayout;
249
327
  description?: string;
328
+ /** Right-aligned readout shown next to the label — see `<PropertyRow readout>`. */
329
+ readout?: ReactNode;
250
330
  /** Take the full width of the enclosing grid — see `<PropertyRow span>`. */
251
331
  span?: boolean;
332
+ /** The row is auto — see `<PropertyRow auto>`. */
333
+ auto?: boolean;
334
+ /** Toggles `auto` from a pin dot — see `<PropertyRow onAutoChange>`. */
335
+ onAutoChange?: (next: boolean) => void;
336
+ /** Marks the row for a panel-level gesture handler — see `<PropertyRow data-auto-path>`. */
337
+ 'data-auto-path'?: string;
252
338
  }
253
339
  /** A dropdown over a fixed set of choices. Prefer `<ToggleRow>` when there
254
340
  * are only two or three and they should all stay visible. */
255
- export declare function SelectRow<T extends string>({ label, value, options, onChange, layout, description, span, density, align, }: SelectRowProps<T>): import("react/jsx-runtime").JSX.Element;
341
+ export declare function SelectRow<T extends string>({ label, readout, value, options, onChange, placeholder, layout, description, span, density, align, auto, onAutoChange, 'data-auto-path': autoPath, }: SelectRowProps<T>): import("react/jsx-runtime").JSX.Element;
256
342
  /** Props for `<ToggleRow>`. */
257
343
  export interface ToggleRowProps<T extends string> extends PropertyMetricProps {
258
344
  label: ReactNode;
@@ -261,10 +347,18 @@ export interface ToggleRowProps<T extends string> extends PropertyMetricProps {
261
347
  onChange: (next: T) => void;
262
348
  layout?: PropertyRowLayout;
263
349
  description?: string;
350
+ /** Right-aligned readout shown next to the label — see `<PropertyRow readout>`. */
351
+ readout?: ReactNode;
264
352
  /** Take the full width of the enclosing grid — see `<PropertyRow span>`. */
265
353
  span?: boolean;
354
+ /** The row is auto — see `<PropertyRow auto>`. */
355
+ auto?: boolean;
356
+ /** Toggles `auto` from a pin dot — see `<PropertyRow onAutoChange>`. */
357
+ onAutoChange?: (next: boolean) => void;
358
+ /** Marks the row for a panel-level gesture handler — see `<PropertyRow data-auto-path>`. */
359
+ 'data-auto-path'?: string;
266
360
  }
267
361
  /** A segmented control: the same choice as a select, with every option
268
362
  * visible at once. */
269
- export declare function ToggleRow<T extends string>({ label, value, options, onChange, layout, description, span, density, align, }: ToggleRowProps<T>): import("react/jsx-runtime").JSX.Element;
363
+ export declare function ToggleRow<T extends string>({ label, readout, value, options, onChange, layout, description, span, density, align, auto, onAutoChange, 'data-auto-path': autoPath, }: ToggleRowProps<T>): import("react/jsx-runtime").JSX.Element;
270
364
  //# sourceMappingURL=PropertyPanel.d.ts.map