@weasel-js/ui 1.0.2 → 1.0.4

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 (226) hide show
  1. package/dist/chunks/{ActionBar-GThu74LC.js → ActionBar-BvPEd_GW.js} +2 -2
  2. package/dist/chunks/ActionBar-BvPEd_GW.js.map +1 -0
  3. package/dist/chunks/ActionsBar-9aR5N3lU.js.map +1 -1
  4. package/dist/chunks/Badge-DZQqAV4d.js.map +1 -1
  5. package/dist/chunks/BandEditor-D3i6l299.js +248 -0
  6. package/dist/chunks/BandEditor-D3i6l299.js.map +1 -0
  7. package/dist/chunks/Button-9QNIYugK.js.map +1 -1
  8. package/dist/chunks/{Callout-CFqG5xho.js → Callout-NSOjza6G.js} +2 -1
  9. package/dist/chunks/Callout-NSOjza6G.js.map +1 -0
  10. package/dist/chunks/Checkbox-KQ5L8APP.js.map +1 -1
  11. package/dist/chunks/ColorField-ykpiD3XU.js.map +1 -1
  12. package/dist/chunks/{ComboBox-DpxsFVBy.js → ComboBox-ONQISwtI.js} +3 -2
  13. package/dist/chunks/ComboBox-ONQISwtI.js.map +1 -0
  14. package/dist/chunks/{CurveEditor-fRctbmoV.js → CurveEditor-SmwwvrsA.js} +4 -4
  15. package/dist/chunks/CurveEditor-SmwwvrsA.js.map +1 -0
  16. package/dist/chunks/DataGrid-DZQ4Chbd.js +210 -0
  17. package/dist/chunks/DataGrid-DZQ4Chbd.js.map +1 -0
  18. package/dist/chunks/{Dialog-3FCd_gYi.js → Dialog-CqwdJv_t.js} +2 -1
  19. package/dist/chunks/Dialog-CqwdJv_t.js.map +1 -0
  20. package/dist/chunks/Field-VQwmrIna.js.map +1 -1
  21. package/dist/chunks/{GradientEditor-BL5kg7a_.js → GradientEditor-B2x7STav.js} +29 -9
  22. package/dist/chunks/GradientEditor-B2x7STav.js.map +1 -0
  23. package/dist/chunks/Input-DpkwYtUY.js.map +1 -1
  24. package/dist/chunks/Keycaps-CFX7UAj8.js.map +1 -1
  25. package/dist/chunks/NumberField-BbzI0GtU.js.map +1 -1
  26. package/dist/chunks/OptionsBar-CHvH4n4u.js.map +1 -1
  27. package/dist/chunks/Plot2D-CEnhzodm.js.map +1 -1
  28. package/dist/chunks/{PointPlotter-R8hguJPq.js → PointPlotter-BUIse9c4.js} +2 -2
  29. package/dist/chunks/PointPlotter-BUIse9c4.js.map +1 -0
  30. package/dist/chunks/Powerline-Dd9Ukhcl.js.map +1 -1
  31. package/dist/chunks/{Prefs-lgI4x4jF.js → Prefs-BMR9wMiZ.js} +4 -4
  32. package/dist/chunks/Prefs-BMR9wMiZ.js.map +1 -0
  33. package/dist/chunks/RadioGroup-CIpHr3g6.js.map +1 -1
  34. package/dist/chunks/RangeSlider-CaDogGTj.js.map +1 -1
  35. package/dist/chunks/{ResizeHandle-CCQ2y87y.js → ResizeHandle-BOpmtOOj.js} +2 -2
  36. package/dist/chunks/ResizeHandle-BOpmtOOj.js.map +1 -0
  37. package/dist/chunks/{Select-BE3Y1NrH.js → Select-CHsuQCp0.js} +2 -2
  38. package/dist/chunks/Select-CHsuQCp0.js.map +1 -0
  39. package/dist/chunks/{SelectionPanel-Zaw8tYQH.js → SelectionPanel-D_wk_8ZN.js} +2 -2
  40. package/dist/chunks/SelectionPanel-D_wk_8ZN.js.map +1 -0
  41. package/dist/chunks/Sidebar-DP_nyJze.js.map +1 -1
  42. package/dist/chunks/{SidebarPanel-BpD0ptyg.js → SidebarPanel-BVTQ1ZyM.js} +2 -2
  43. package/dist/chunks/SidebarPanel-BVTQ1ZyM.js.map +1 -0
  44. package/dist/chunks/Slider-DcHnSK5g.js +234 -0
  45. package/dist/chunks/Slider-DcHnSK5g.js.map +1 -0
  46. package/dist/chunks/StatusBar-DBO0E0Yd.js.map +1 -1
  47. package/dist/chunks/Switch-JyVSSAzC.js.map +1 -1
  48. package/dist/chunks/Tabs-Df0sDomx.js.map +1 -1
  49. package/dist/chunks/Toast-DFw4IrD_.js.map +1 -1
  50. package/dist/chunks/ToggleBar-BP1zFcvg.js.map +1 -1
  51. package/dist/chunks/{ToolButton-DpT-mukU.js → ToolButton-ClPz5L6j.js} +2 -2
  52. package/dist/chunks/ToolButton-ClPz5L6j.js.map +1 -0
  53. package/dist/chunks/ToolGroup-BTIwd4U4.js.map +1 -1
  54. package/dist/chunks/ToolOptionsBar-JvmY7iNe.js.map +1 -1
  55. package/dist/chunks/{ToolPalette-DPn0owno.js → ToolPalette-DAiVhdtV.js} +2 -2
  56. package/dist/chunks/ToolPalette-DAiVhdtV.js.map +1 -0
  57. package/dist/chunks/{Tooltip-Clgn4trm.js → Tooltip-DXJbdR5B.js} +2 -1
  58. package/dist/chunks/Tooltip-DXJbdR5B.js.map +1 -0
  59. package/dist/chunks/useRovingTabIndex-DBZtq4IH.js.map +1 -1
  60. package/dist/color/oklch.d.ts +12 -0
  61. package/dist/color/oklch.d.ts.map +1 -1
  62. package/dist/components/ActionBar/ActionBar.d.ts +1 -0
  63. package/dist/components/ActionBar/ActionBar.d.ts.map +1 -1
  64. package/dist/components/ActionBar/index.js +1 -1
  65. package/dist/components/ActionsBar/ActionsBar.d.ts +15 -0
  66. package/dist/components/ActionsBar/ActionsBar.d.ts.map +1 -1
  67. package/dist/components/Badge/Badge.d.ts +14 -0
  68. package/dist/components/Badge/Badge.d.ts.map +1 -1
  69. package/dist/components/Badge/bases/edgeProfiles.d.ts +8 -0
  70. package/dist/components/Badge/bases/edgeProfiles.d.ts.map +1 -1
  71. package/dist/components/Badge/types.d.ts +11 -0
  72. package/dist/components/Badge/types.d.ts.map +1 -1
  73. package/dist/components/BandEditor/BandEditor.d.ts +56 -0
  74. package/dist/components/BandEditor/BandEditor.d.ts.map +1 -0
  75. package/dist/components/BandEditor/bands.d.ts +45 -0
  76. package/dist/components/BandEditor/bands.d.ts.map +1 -0
  77. package/dist/components/BandEditor/index.d.ts +4 -0
  78. package/dist/components/BandEditor/index.d.ts.map +1 -0
  79. package/dist/components/BandEditor/index.js +2 -0
  80. package/dist/components/BandEditor/scale.d.ts +25 -0
  81. package/dist/components/BandEditor/scale.d.ts.map +1 -0
  82. package/dist/components/Button/Button.d.ts +13 -0
  83. package/dist/components/Button/Button.d.ts.map +1 -1
  84. package/dist/components/Callout/Callout.d.ts +2 -0
  85. package/dist/components/Callout/Callout.d.ts.map +1 -1
  86. package/dist/components/Callout/index.js +1 -1
  87. package/dist/components/Checkbox/Checkbox.d.ts +4 -0
  88. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  89. package/dist/components/ColorField/ColorField.d.ts +4 -0
  90. package/dist/components/ColorField/ColorField.d.ts.map +1 -1
  91. package/dist/components/ComboBox/ComboBox.d.ts +11 -0
  92. package/dist/components/ComboBox/ComboBox.d.ts.map +1 -1
  93. package/dist/components/ComboBox/index.js +1 -1
  94. package/dist/components/CurveEditor/CurveEditor.d.ts +14 -2
  95. package/dist/components/CurveEditor/CurveEditor.d.ts.map +1 -1
  96. package/dist/components/CurveEditor/LayeredCurveEditor.d.ts +15 -0
  97. package/dist/components/CurveEditor/LayeredCurveEditor.d.ts.map +1 -1
  98. package/dist/components/CurveEditor/createFunctionLayer.d.ts +39 -0
  99. package/dist/components/CurveEditor/createFunctionLayer.d.ts.map +1 -1
  100. package/dist/components/CurveEditor/index.js +1 -1
  101. package/dist/components/CurveEditor/layerTypes.d.ts +5 -0
  102. package/dist/components/CurveEditor/layerTypes.d.ts.map +1 -1
  103. package/dist/components/CurveEditor/setCurveOp.d.ts +4 -0
  104. package/dist/components/CurveEditor/setCurveOp.d.ts.map +1 -1
  105. package/dist/components/DataGrid/DataGrid.d.ts +12 -0
  106. package/dist/components/DataGrid/DataGrid.d.ts.map +1 -1
  107. package/dist/components/DataGrid/index.js +1 -1
  108. package/dist/components/Dialog/Dialog.d.ts +1 -0
  109. package/dist/components/Dialog/Dialog.d.ts.map +1 -1
  110. package/dist/components/Dialog/index.js +1 -1
  111. package/dist/components/Field/Field.d.ts +9 -0
  112. package/dist/components/Field/Field.d.ts.map +1 -1
  113. package/dist/components/GradientEditor/GradientEditor.d.ts +4 -0
  114. package/dist/components/GradientEditor/GradientEditor.d.ts.map +1 -1
  115. package/dist/components/GradientEditor/GradientHandles.d.ts +4 -0
  116. package/dist/components/GradientEditor/GradientHandles.d.ts.map +1 -1
  117. package/dist/components/GradientEditor/index.js +1 -1
  118. package/dist/components/Input/Input.d.ts +1 -0
  119. package/dist/components/Input/Input.d.ts.map +1 -1
  120. package/dist/components/Keycaps/Keycap.d.ts +10 -0
  121. package/dist/components/Keycaps/Keycap.d.ts.map +1 -1
  122. package/dist/components/Keycaps/Keycaps.d.ts +2 -0
  123. package/dist/components/Keycaps/Keycaps.d.ts.map +1 -1
  124. package/dist/components/Keycaps/keySpecsFromMods.d.ts +2 -0
  125. package/dist/components/Keycaps/keySpecsFromMods.d.ts.map +1 -1
  126. package/dist/components/NumberField/NumberField.d.ts +9 -0
  127. package/dist/components/NumberField/NumberField.d.ts.map +1 -1
  128. package/dist/components/OptionsBar/OptionsBar.d.ts +12 -0
  129. package/dist/components/OptionsBar/OptionsBar.d.ts.map +1 -1
  130. package/dist/components/Plot2D/Plot2D.d.ts +14 -0
  131. package/dist/components/Plot2D/Plot2D.d.ts.map +1 -1
  132. package/dist/components/Plot2D/geometry.d.ts +10 -0
  133. package/dist/components/Plot2D/geometry.d.ts.map +1 -1
  134. package/dist/components/PointPlotter/PointPlotter.d.ts +3 -2
  135. package/dist/components/PointPlotter/PointPlotter.d.ts.map +1 -1
  136. package/dist/components/PointPlotter/index.js +1 -1
  137. package/dist/components/Powerline/Powerline.d.ts +13 -0
  138. package/dist/components/Powerline/Powerline.d.ts.map +1 -1
  139. package/dist/components/Prefs/PrefsDialog.d.ts +4 -0
  140. package/dist/components/Prefs/PrefsDialog.d.ts.map +1 -1
  141. package/dist/components/Prefs/PrefsForm.d.ts +6 -0
  142. package/dist/components/Prefs/PrefsForm.d.ts.map +1 -1
  143. package/dist/components/Prefs/index.js +1 -1
  144. package/dist/components/Prefs/schema.d.ts +17 -0
  145. package/dist/components/Prefs/schema.d.ts.map +1 -1
  146. package/dist/components/RadioGroup/RadioGroup.d.ts +8 -0
  147. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  148. package/dist/components/RangeSlider/RangeSlider.d.ts +1 -0
  149. package/dist/components/RangeSlider/RangeSlider.d.ts.map +1 -1
  150. package/dist/components/ResizeHandle/ResizeHandle.d.ts +7 -3
  151. package/dist/components/ResizeHandle/ResizeHandle.d.ts.map +1 -1
  152. package/dist/components/ResizeHandle/index.js +1 -1
  153. package/dist/components/Select/Select.d.ts +11 -0
  154. package/dist/components/Select/Select.d.ts.map +1 -1
  155. package/dist/components/Select/index.js +1 -1
  156. package/dist/components/SelectionPanel/SelectionPanel.d.ts +6 -0
  157. package/dist/components/SelectionPanel/SelectionPanel.d.ts.map +1 -1
  158. package/dist/components/SelectionPanel/index.js +1 -1
  159. package/dist/components/SelectionPanel/model.d.ts +12 -0
  160. package/dist/components/SelectionPanel/model.d.ts.map +1 -1
  161. package/dist/components/Sidebar/Sidebar.d.ts +1 -0
  162. package/dist/components/Sidebar/Sidebar.d.ts.map +1 -1
  163. package/dist/components/SidebarPanel/SidebarPanel.d.ts +1 -0
  164. package/dist/components/SidebarPanel/SidebarPanel.d.ts.map +1 -1
  165. package/dist/components/SidebarPanel/index.js +1 -1
  166. package/dist/components/Slider/Slider.d.ts +43 -2
  167. package/dist/components/Slider/Slider.d.ts.map +1 -1
  168. package/dist/components/Slider/index.js +1 -1
  169. package/dist/components/StatusBar/StatusBar.d.ts +2 -0
  170. package/dist/components/StatusBar/StatusBar.d.ts.map +1 -1
  171. package/dist/components/Switch/Switch.d.ts +11 -0
  172. package/dist/components/Switch/Switch.d.ts.map +1 -1
  173. package/dist/components/Tabs/Tabs.d.ts +11 -0
  174. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  175. package/dist/components/Toast/Toast.d.ts +2 -0
  176. package/dist/components/Toast/Toast.d.ts.map +1 -1
  177. package/dist/components/Toast/queue.d.ts +7 -0
  178. package/dist/components/Toast/queue.d.ts.map +1 -1
  179. package/dist/components/ToggleBar/ToggleBar.d.ts +16 -0
  180. package/dist/components/ToggleBar/ToggleBar.d.ts.map +1 -1
  181. package/dist/components/ToolButton/ToolButton.d.ts +1 -0
  182. package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
  183. package/dist/components/ToolButton/index.js +1 -1
  184. package/dist/components/ToolGroup/ToolGroup.d.ts +1 -0
  185. package/dist/components/ToolGroup/ToolGroup.d.ts.map +1 -1
  186. package/dist/components/ToolOptionsBar/ToolOptionsBar.d.ts +1 -0
  187. package/dist/components/ToolOptionsBar/ToolOptionsBar.d.ts.map +1 -1
  188. package/dist/components/ToolPalette/ToolPalette.d.ts +9 -0
  189. package/dist/components/ToolPalette/ToolPalette.d.ts.map +1 -1
  190. package/dist/components/ToolPalette/index.js +1 -1
  191. package/dist/components/Tooltip/Tooltip.d.ts +5 -0
  192. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  193. package/dist/components/Tooltip/index.js +1 -1
  194. package/dist/format/number.d.ts +4 -0
  195. package/dist/format/number.d.ts.map +1 -1
  196. package/dist/index.d.ts +1 -0
  197. package/dist/index.d.ts.map +1 -1
  198. package/dist/index.js +24 -23
  199. package/dist/index.js.map +1 -1
  200. package/dist/paintGradientTrack.d.ts +13 -0
  201. package/dist/paintGradientTrack.d.ts.map +1 -1
  202. package/dist/style.css +1 -1
  203. package/dist/useReorderDragList.d.ts +23 -0
  204. package/dist/useReorderDragList.d.ts.map +1 -1
  205. package/dist/useRovingTabIndex.d.ts +5 -0
  206. package/dist/useRovingTabIndex.d.ts.map +1 -1
  207. package/package.json +2 -2
  208. package/dist/chunks/ActionBar-GThu74LC.js.map +0 -1
  209. package/dist/chunks/Callout-CFqG5xho.js.map +0 -1
  210. package/dist/chunks/ComboBox-DpxsFVBy.js.map +0 -1
  211. package/dist/chunks/CurveEditor-fRctbmoV.js.map +0 -1
  212. package/dist/chunks/DataGrid-BQklXGRl.js +0 -186
  213. package/dist/chunks/DataGrid-BQklXGRl.js.map +0 -1
  214. package/dist/chunks/Dialog-3FCd_gYi.js.map +0 -1
  215. package/dist/chunks/GradientEditor-BL5kg7a_.js.map +0 -1
  216. package/dist/chunks/PointPlotter-R8hguJPq.js.map +0 -1
  217. package/dist/chunks/Prefs-lgI4x4jF.js.map +0 -1
  218. package/dist/chunks/ResizeHandle-CCQ2y87y.js.map +0 -1
  219. package/dist/chunks/Select-BE3Y1NrH.js.map +0 -1
  220. package/dist/chunks/SelectionPanel-Zaw8tYQH.js.map +0 -1
  221. package/dist/chunks/SidebarPanel-BpD0ptyg.js.map +0 -1
  222. package/dist/chunks/Slider-Di2kNqVy.js +0 -221
  223. package/dist/chunks/Slider-Di2kNqVy.js.map +0 -1
  224. package/dist/chunks/ToolButton-DpT-mukU.js.map +0 -1
  225. package/dist/chunks/ToolPalette-DPn0owno.js.map +0 -1
  226. package/dist/chunks/Tooltip-Clgn4trm.js.map +0 -1
@@ -1,5 +1,6 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import { type NumberFieldProps as RACNumberFieldProps, type ValidationResult } from 'react-aria-components';
3
+ /** Props for {@link NumberField}, on top of React Aria's `NumberField` props. */
3
4
  export type NumberFieldProps = Omit<RACNumberFieldProps, 'children' | 'className'> & {
4
5
  label?: ReactNode;
5
6
  description?: ReactNode;
@@ -11,6 +12,14 @@ export type NumberFieldProps = Omit<RACNumberFieldProps, 'children' | 'className
11
12
  placeholder?: string;
12
13
  className?: string;
13
14
  };
15
+ /**
16
+ * Numeric input with stepper buttons, wrapping React Aria's NumberField and
17
+ * supplying the same label / description / errorMessage slots as `Input`.
18
+ * Arrow keys and scroll step the value; parsing and formatting are React
19
+ * Aria's.
20
+ *
21
+ * `ref` forwards to the underlying `<input>`.
22
+ */
14
23
  export declare const NumberField: import("react").ForwardRefExoticComponent<Omit<RACNumberFieldProps, "children" | "className"> & {
15
24
  label?: ReactNode;
16
25
  description?: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"NumberField.d.ts","sourceRoot":"","sources":["../../../src/components/NumberField/NumberField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAC7D,OAAO,EAQL,KAAK,gBAAgB,IAAI,mBAAmB,EAC5C,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAI/B,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,WAAW,CAAC,GAAG;IACnF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,KAAK,SAAS,CAAC,CAAC;IAChE,2DAA2D;IAC3D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;uCACmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,WAAW;YAXd,SAAS;kBACH,SAAS;mBACR,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,KAAK,SAAS,CAAC;IAC/D,2DAA2D;mBAC5C,OAAO;IACtB;uCACmC;kBACrB,MAAM;gBACR,MAAM;oDA+BlB,CAAC"}
1
+ {"version":3,"file":"NumberField.d.ts","sourceRoot":"","sources":["../../../src/components/NumberField/NumberField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAC7D,OAAO,EAQL,KAAK,gBAAgB,IAAI,mBAAmB,EAC5C,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAI/B,iFAAiF;AACjF,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,UAAU,GAAG,WAAW,CAAC,GAAG;IACnF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,KAAK,SAAS,CAAC,CAAC;IAChE,2DAA2D;IAC3D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;uCACmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW;YAnBd,SAAS;kBACH,SAAS;mBACR,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,KAAK,SAAS,CAAC;IAC/D,2DAA2D;mBAC5C,OAAO;IACtB;uCACmC;kBACrB,MAAM;gBACR,MAAM;oDAuClB,CAAC"}
@@ -1,4 +1,8 @@
1
1
  import { type ReactElement, type ReactNode } from 'react';
2
+ /**
3
+ * One segment of an {@link OptionsBar}. Unlike `ToggleBar`, each item carries
4
+ * its own selected state and its own `onChange`.
5
+ */
2
6
  export type OptionsBarItem<V extends string | number = string> = {
3
7
  value: V;
4
8
  label?: ReactNode;
@@ -7,8 +11,11 @@ export type OptionsBarItem<V extends string | number = string> = {
7
11
  selected: boolean;
8
12
  onChange: (next: boolean) => void;
9
13
  };
14
+ /** Segment height and type scale for an {@link OptionsBar}. */
10
15
  export type OptionsBarSize = 'sm' | 'md';
16
+ /** Visual treatment of an {@link OptionsBar}. */
11
17
  export type OptionsBarVariant = 'default' | 'minimal';
18
+ /** Props for {@link OptionsBar}. */
12
19
  export type OptionsBarProps<V extends string | number = string> = {
13
20
  items: readonly OptionsBarItem<V>[];
14
21
  ariaLabel?: string;
@@ -21,5 +28,10 @@ export type OptionsBarProps<V extends string | number = string> = {
21
28
  * selection becomes a flat accent. For dense diagnostic surfaces. */
22
29
  variant?: OptionsBarVariant;
23
30
  };
31
+ /**
32
+ * Segmented strip of independent on/off options, each owning its own state.
33
+ * Use it when the segments are unrelated booleans; use `ToggleBar` when they
34
+ * are values of one setting.
35
+ */
24
36
  export declare function OptionsBar<V extends string | number = string>(props: OptionsBarProps<V>): ReactElement;
25
37
  //# sourceMappingURL=OptionsBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"OptionsBar.d.ts","sourceRoot":"","sources":["../../../src/components/OptionsBar/OptionsBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI9E,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IAC/D,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;AACzC,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtD,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IAChE,KAAK,EAAE,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;4EACwE;IACxE,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;0EACsE;IACtE,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AAEF,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,YAAY,CAkDtG"}
1
+ {"version":3,"file":"OptionsBar.d.ts","sourceRoot":"","sources":["../../../src/components/OptionsBar/OptionsBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI9E;;;GAGG;AACH,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IAC/D,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CACnC,CAAC;AAEF,+DAA+D;AAC/D,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,CAAC;AACzC,iDAAiD;AACjD,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtD,oCAAoC;AACpC,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,IAAI;IAChE,KAAK,EAAE,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;4EACwE;IACxE,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB;0EACsE;IACtE,OAAO,CAAC,EAAE,iBAAiB,CAAC;CAC7B,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC,GAAG,YAAY,CAkDtG"}
@@ -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
+ /** Background grid configuration for a {@link Plot2D}. */
3
4
  export interface GridSettings {
4
5
  /** Number of evenly-spaced internal grid lines per axis (excluding
5
6
  * the edges). Applied to both x and y. Default 3. */
@@ -7,14 +8,17 @@ export interface GridSettings {
7
8
  /** Stroke color override. When omitted, uses `var(--plot-grid)`. */
8
9
  color?: string;
9
10
  }
11
+ /** Axis-line configuration for a {@link Plot2D}. */
10
12
  export interface AxesSettings {
11
13
  /** Stroke color override. When omitted, uses `var(--plot-axis)`. */
12
14
  color?: string;
13
15
  }
16
+ /** A pointer position given in both of the plot's coordinate systems. */
14
17
  export interface Plot2DCoords {
15
18
  plot: Point;
16
19
  model: Point;
17
20
  }
21
+ /** Props for {@link Plot2D}. */
18
22
  export interface Plot2DProps {
19
23
  width: number;
20
24
  height: number;
@@ -38,6 +42,11 @@ export interface Plot2DProps {
38
42
  onKeyDown?: (e: ReactKeyboardEvent<SVGSVGElement>) => void;
39
43
  children?: ReactNode;
40
44
  }
45
+ /**
46
+ * Imperative handle on a {@link Plot2D}: the SVG element, its size, and the
47
+ * coordinate conversions, including ones that start from a raw DOM event so a
48
+ * drag tracked on `window` can still map back into the plot.
49
+ */
41
50
  export interface Plot2DHandle {
42
51
  readonly svg: SVGSVGElement | null;
43
52
  plotToModel(pt: Point): Point;
@@ -56,5 +65,10 @@ export interface Plot2DHandle {
56
65
  readonly width: number;
57
66
  readonly height: number;
58
67
  }
68
+ /**
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
71
+ * whatever children are passed, positioned in plot space.
72
+ */
59
73
  export declare const Plot2D: import("react").ForwardRefExoticComponent<Plot2DProps & import("react").RefAttributes<Plot2DHandle>>;
60
74
  //# sourceMappingURL=Plot2D.d.ts.map
@@ -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,MAAM,WAAW,YAAY;IAC3B;0DACsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;CACd;AAED,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,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,eAAO,MAAM,MAAM,sGA2HjB,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;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,sGA2HjB,CAAC"}
@@ -9,16 +9,26 @@ export interface Point {
9
9
  x: number;
10
10
  y: number;
11
11
  }
12
+ /**
13
+ * The caller-defined extent of model space, the coordinate system a plot's
14
+ * data lives in.
15
+ */
12
16
  export interface ModelRange {
13
17
  xMin: number;
14
18
  xMax: number;
15
19
  yMin: number;
16
20
  yMax: number;
17
21
  }
22
+ /** The plot's drawing area in CSS pixels. */
18
23
  export interface PlotSize {
19
24
  width: number;
20
25
  height: number;
21
26
  }
27
+ /**
28
+ * Maps a model-space point into plot space, flipping the y axis so model y
29
+ * grows upward while SVG y grows downward.
30
+ */
22
31
  export declare function modelToPlot(p: Point, m: ModelRange, plot: PlotSize): Point;
32
+ /** The inverse of {@link modelToPlot}. */
23
33
  export declare function plotToModel(p: Point, m: ModelRange, plot: PlotSize): Point;
24
34
  //# sourceMappingURL=geometry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../../src/components/Plot2D/geometry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,KAAK,CAQ1E;AAED,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,KAAK,CAO1E"}
1
+ {"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../../src/components/Plot2D/geometry.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,MAAM,WAAW,KAAK;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,6CAA6C;AAC7C,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,KAAK,CAQ1E;AAED,0CAA0C;AAC1C,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,GAAG,KAAK,CAO1E"}
@@ -1,14 +1,15 @@
1
1
  import type { CSSProperties, ReactNode } from 'react';
2
2
  import { type AnchorRenderProps, type ControlPoint } from '../CurveEditor';
3
3
  import type { GridSettings, AxesSettings } from '../Plot2D';
4
+ /** Props for {@link PointPlotter}. */
4
5
  export interface PointPlotterProps {
5
6
  /** Plotted points; caller-owned. */
6
7
  value: readonly ControlPoint[];
7
8
  /** Fires every frame during drag with the live in-flight value. */
8
- onChange: (next: ControlPoint[]) => void;
9
+ onInput: (next: ControlPoint[]) => void;
9
10
  /** Fires once per discrete user action (drag-end, add, delete) with
10
11
  * the new value and the value at gesture start. Wire history here. */
11
- onChangeCommit?: (next: ControlPoint[], prev: readonly ControlPoint[]) => void;
12
+ onChange?: (next: ControlPoint[], prev: readonly ControlPoint[]) => void;
12
13
  /** Model-space x range. Default [0, 1]. */
13
14
  xRange?: readonly [number, number];
14
15
  /** Model-space y range. Default [0, 1]. */
@@ -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,MAAM,WAAW,iBAAiB;IAChC,oCAAoC;IACpC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,mEAAmE;IACnE,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IACzC;2EACuE;IACvE,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,YAAY,EAAE,KAAK,IAAI,CAAC;IAC/E,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,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,2 +1,2 @@
1
- import { t as e } from "../../chunks/PointPlotter-R8hguJPq.js";
1
+ import { t as e } from "../../chunks/PointPlotter-BUIse9c4.js";
2
2
  export { e as PointPlotter };
@@ -1,6 +1,10 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import type { BadgeSize, BadgeTone, BadgeVariant } from '../Badge/types';
3
3
  import type { EdgeCap } from '../Badge/bases/edgeProfiles';
4
+ /**
5
+ * One segment of a {@link Powerline}. Giving it `onClick` or `href` makes it
6
+ * interactive, the same way it does on a `Badge`.
7
+ */
4
8
  export interface PowerlineSegment {
5
9
  text: ReactNode;
6
10
  /** Cap on this segment's right edge. Next segment's left edge adopts the same profile. */
@@ -12,6 +16,7 @@ export interface PowerlineSegment {
12
16
  href?: string;
13
17
  'aria-label'?: string;
14
18
  }
19
+ /** Props for {@link Powerline}. */
15
20
  export interface PowerlineProps {
16
21
  segments: PowerlineSegment[];
17
22
  /** Left edge of the first segment. Defaults to 'flat'. */
@@ -28,5 +33,13 @@ export interface PowerlineProps {
28
33
  className?: string;
29
34
  'aria-label'?: string;
30
35
  }
36
+ /**
37
+ * A row of chevron-linked badge segments, in the style of a shell powerline
38
+ * prompt. Each segment's `endCap` shapes both its own right edge and the next
39
+ * segment's left edge, so the run reads as one continuous chain.
40
+ *
41
+ * Built for showing a path through a sequence of steps — the inspector uses
42
+ * it to display how input routes from tool to gesture to action to target.
43
+ */
31
44
  export declare function Powerline({ segments, startCap, size, variant, depth, gap, className, ...rest }: PowerlineProps): import("react/jsx-runtime").JSX.Element;
32
45
  //# sourceMappingURL=Powerline.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Powerline.d.ts","sourceRoot":"","sources":["../../../src/components/Powerline/Powerline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAG3D,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gEAAgE;IAChE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,sEAAsE;IACtE,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;kFAC8E;IAC9E,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,QAAiB,EACjB,IAAI,EACJ,OAAO,EACP,KAAK,EACL,GAAG,EACH,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,2CA6BhB"}
1
+ {"version":3,"file":"Powerline.d.ts","sourceRoot":"","sources":["../../../src/components/Powerline/Powerline.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,SAAS,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAG3D;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,SAAS,CAAC;IAChB,0FAA0F;IAC1F,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IAC7B,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gEAAgE;IAChE,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,sEAAsE;IACtE,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;kFAC8E;IAC9E,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,EACxB,QAAQ,EACR,QAAiB,EACjB,IAAI,EACJ,OAAO,EACP,KAAK,EACL,GAAG,EACH,SAAS,EACT,GAAG,IAAI,EACR,EAAE,cAAc,2CA6BhB"}
@@ -1,5 +1,9 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import { type PrefsFormProps } from './PrefsForm';
3
+ /**
4
+ * Props for {@link PrefsDialog} — everything {@link PrefsForm} takes, plus
5
+ * the dialog's own open state and chrome.
6
+ */
3
7
  export interface PrefsDialogProps extends PrefsFormProps {
4
8
  isOpen: boolean;
5
9
  onOpenChange: (open: boolean) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"PrefsDialog.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/PrefsDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7D,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,4DAA4D;IAC5D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;iCAC6B;IAC7B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAsBlD"}
1
+ {"version":3,"file":"PrefsDialog.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/PrefsDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAG7D;;;GAGG;AACH,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,4DAA4D;IAC5D,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;iCAC6B;IAC7B,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAsBlD"}
@@ -1,5 +1,6 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import { type PrefGroup, type PrefLeaf } from './schema';
3
+ /** What a {@link PrefRenderer} is given for the leaf it is rendering. */
3
4
  export interface PrefRenderContext {
4
5
  /** Dotted path of the leaf within the schema root. */
5
6
  path: string;
@@ -9,7 +10,12 @@ export interface PrefRenderContext {
9
10
  value: unknown;
10
11
  setValue: (value: unknown) => void;
11
12
  }
13
+ /**
14
+ * Renders the control cell for one preference leaf. Returning `null`
15
+ * collapses the row.
16
+ */
12
17
  export type PrefRenderer = (ctx: PrefRenderContext) => ReactNode;
18
+ /** Props for {@link PrefsForm}. */
13
19
  export interface PrefsFormProps {
14
20
  /** Root of the schema tree. Core `ToolPrefGroup`s assign structurally. */
15
21
  schema: PrefGroup;
@@ -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;AAWhD,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,QAAQ,EAGd,MAAM,UAAU,CAAC;AAGlB,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,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,iBAAiB,KAAK,SAAS,CAAC;AAEjE,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;AAWhD,OAAO,EAOL,KAAK,SAAS,EACd,KAAK,QAAQ,EAGd,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,2 +1,2 @@
1
- import { a as e, i as t, n, r, t as i } from "../../chunks/Prefs-lgI4x4jF.js";
1
+ import { a as e, i as t, n, r, t as i } from "../../chunks/Prefs-BMR9wMiZ.js";
2
2
  export { i as PrefsDialog, n as PrefsForm, r as isPrefLeaf, t as prefValueAtPath, e as visiblePrefSubtree };
@@ -1,8 +1,11 @@
1
1
  /** Control-presentation hints per kind — visually-equivalent renderings
2
2
  * of the same value type. The persisted value is unchanged either way. */
3
3
  export type PrefNumberControl = 'input' | 'slider';
4
+ /** Which control renders a {@link PrefBoolean}. */
4
5
  export type PrefBooleanControl = 'checkbox' | 'switch';
6
+ /** Which control renders a {@link PrefString}. */
5
7
  export type PrefStringControl = 'input' | 'textarea';
8
+ /** Which control renders a {@link PrefEnum}. */
6
9
  export type PrefEnumControl = 'select' | 'radio';
7
10
  interface PrefBase<K extends string, Value> {
8
11
  kind: K;
@@ -31,6 +34,10 @@ export interface PrefNumberUnit {
31
34
  fromDisplay: (display: number) => number;
32
35
  suffix?: string;
33
36
  }
37
+ /**
38
+ * A numeric preference. `unit` lets the stored value stay in a canonical unit
39
+ * while the user edits a converted one.
40
+ */
34
41
  export interface PrefNumber extends PrefBase<'number', number> {
35
42
  min?: number;
36
43
  max?: number;
@@ -38,12 +45,15 @@ export interface PrefNumber extends PrefBase<'number', number> {
38
45
  control?: PrefNumberControl;
39
46
  unit?: PrefNumberUnit;
40
47
  }
48
+ /** A boolean preference. */
41
49
  export interface PrefBoolean extends PrefBase<'boolean', boolean> {
42
50
  control?: PrefBooleanControl;
43
51
  }
52
+ /** A free-text preference. */
44
53
  export interface PrefString extends PrefBase<'string', string> {
45
54
  control?: PrefStringControl;
46
55
  }
56
+ /** A preference chosen from a fixed set of options. */
47
57
  export interface PrefEnum<T extends string = string> extends PrefBase<'enum', T> {
48
58
  options: readonly {
49
59
  value: T;
@@ -51,10 +61,12 @@ export interface PrefEnum<T extends string = string> extends PrefBase<'enum', T>
51
61
  }[];
52
62
  control?: PrefEnumControl;
53
63
  }
64
+ /** A color preference, stored as a hex string. */
54
65
  export interface PrefColor extends PrefBase<'color', string> {
55
66
  /** Value is `#rrggbb`, or `#rrggbbaa` when `alpha` is set. */
56
67
  alpha?: boolean;
57
68
  }
69
+ /** The leaf kinds `PrefsForm` renders without a custom renderer. */
58
70
  export type BuiltinPref = PrefNumber | PrefBoolean | PrefString | PrefEnum | PrefColor;
59
71
  /**
60
72
  * Open leaf: any node with a `kind` the form doesn't know renders via the
@@ -65,6 +77,10 @@ export type BuiltinPref = PrefNumber | PrefBoolean | PrefString | PrefEnum | Pre
65
77
  */
66
78
  export interface PrefCustom extends PrefBase<string, unknown> {
67
79
  }
80
+ /**
81
+ * Any leaf in a preference schema — a built-in kind, or an app-defined one
82
+ * rendered through `PrefsFormProps.renderers`.
83
+ */
68
84
  export type PrefLeaf = BuiltinPref | PrefCustom;
69
85
  /** Nestable group: branch nodes in the schema tree. */
70
86
  export interface PrefGroup {
@@ -72,6 +88,7 @@ export interface PrefGroup {
72
88
  description?: string;
73
89
  children: Record<string, PrefLeaf | PrefGroup>;
74
90
  }
91
+ /** Distinguishes a leaf from a group while walking a schema tree. */
75
92
  export declare function isPrefLeaf(node: PrefLeaf | PrefGroup): node is PrefLeaf;
76
93
  /** Get the value at a dotted path inside a nested value tree. Returns
77
94
  * `undefined` when a segment is missing or hits a non-object. */
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/schema.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import { type RadioGroupProps as RACRadioGroupProps, type RadioProps as RACRadioProps, type ValidationResult } from 'react-aria-components';
3
+ /** Props for {@link RadioGroup}, on top of React Aria's `RadioGroup` props. */
3
4
  export type RadioGroupProps = Omit<RACRadioGroupProps, 'children' | 'className'> & {
4
5
  label?: ReactNode;
5
6
  description?: ReactNode;
@@ -7,10 +8,17 @@ export type RadioGroupProps = Omit<RACRadioGroupProps, 'children' | 'className'>
7
8
  children?: ReactNode;
8
9
  className?: string;
9
10
  };
11
+ /**
12
+ * A set of mutually exclusive choices, wrapping React Aria's RadioGroup and
13
+ * supplying the same label / description / errorMessage slots as `Input`.
14
+ * Holds {@link Radio} children.
15
+ */
10
16
  export declare function RadioGroup(props: RadioGroupProps): import("react/jsx-runtime").JSX.Element;
17
+ /** Props for {@link Radio}, on top of React Aria's `Radio` props. */
11
18
  export type RadioProps = Omit<RACRadioProps, 'className' | 'children'> & {
12
19
  children?: ReactNode;
13
20
  className?: string;
14
21
  };
22
+ /** One choice in a {@link RadioGroup}. The label is passed as children. */
15
23
  export declare function Radio({ children, className, ...rest }: RadioProps): import("react/jsx-runtime").JSX.Element;
16
24
  //# sourceMappingURL=RadioGroup.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../../src/components/RadioGroup/RadioGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAML,KAAK,eAAe,IAAI,kBAAkB,EAC1C,KAAK,UAAU,IAAI,aAAa,EAChC,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAI/B,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,WAAW,CAAC,GAAG;IACjF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,KAAK,SAAS,CAAC,CAAC;IAChE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAiBhD;AAED,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,UAAU,CAAC,GAAG;IACvE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,UAAU,2CAOjE"}
1
+ {"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../../src/components/RadioGroup/RadioGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAML,KAAK,eAAe,IAAI,kBAAkB,EAC1C,KAAK,UAAU,IAAI,aAAa,EAChC,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAI/B,+EAA+E;AAC/E,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,EAAE,UAAU,GAAG,WAAW,CAAC,GAAG;IACjF,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,KAAK,SAAS,CAAC,CAAC;IAChE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CAiBhD;AAED,qEAAqE;AACrE,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,UAAU,CAAC,GAAG;IACvE,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,2EAA2E;AAC3E,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,UAAU,2CAOjE"}
@@ -1,5 +1,6 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import { type SliderProps as RACSliderProps } from 'react-aria-components';
3
+ /** Props for {@link RangeSlider}, on top of React Aria's `Slider` props. */
3
4
  export type RangeSliderProps = Omit<RACSliderProps, 'children' | 'className'> & {
4
5
  label?: ReactNode;
5
6
  /** Show the current value next to the label. Defaults to true when a
@@ -1 +1 @@
1
- {"version":3,"file":"RangeSlider.d.ts","sourceRoot":"","sources":["../../../src/components/RangeSlider/RangeSlider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAML,KAAK,WAAW,IAAI,cAAc,EACnC,MAAM,uBAAuB,CAAC;AAG/B,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,WAAW,CAAC,GAAG;IAC9E,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;6BACyB;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,SAAS,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAuClD"}
1
+ {"version":3,"file":"RangeSlider.d.ts","sourceRoot":"","sources":["../../../src/components/RangeSlider/RangeSlider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAML,KAAK,WAAW,IAAI,cAAc,EACnC,MAAM,uBAAuB,CAAC;AAG/B,4EAA4E;AAC5E,MAAM,MAAM,gBAAgB,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,WAAW,CAAC,GAAG;IAC9E,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;6BACyB;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,SAAS,CAAC;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CAuClD"}
@@ -1,3 +1,7 @@
1
+ /**
2
+ * Props for {@link ResizeHandle}. `onInput` fires throughout the drag and
3
+ * `onChange` once at the end.
4
+ */
1
5
  export interface ResizeHandleProps {
2
6
  /**
3
7
  * Which way the handle *runs*, matching `aria-orientation` on the
@@ -20,13 +24,13 @@ export interface ResizeHandleProps {
20
24
  * Fires continuously while dragging and on each keyboard step, always
21
25
  * clamped to [min, max]. Drive the live size from this.
22
26
  */
23
- onChange(next: number): void;
27
+ onInput(next: number): void;
24
28
  /**
25
29
  * Fires once when a drag ends or a keyboard step settles, with the final
26
- * size. Persist here rather than in `onChange` — one write per gesture
30
+ * size. Persist here rather than in `onInput` — one write per gesture
27
31
  * instead of one per pointer sample.
28
32
  */
29
- onChangeEnd?(next: number): void;
33
+ onChange?(next: number): void;
30
34
  /**
31
35
  * The granularity of `value`. Arrow keys move by one step (Shift by
32
36
  * eight), and pointer drags snap to the same grid — a pointer reports
@@ -1 +1 @@
1
- {"version":3,"file":"ResizeHandle.d.ts","sourceRoot":"","sources":["../../../src/components/ResizeHandle/ResizeHandle.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B;;;;OAIG;IACH,WAAW,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CA4EpD"}
1
+ {"version":3,"file":"ResizeHandle.d.ts","sourceRoot":"","sources":["../../../src/components/ResizeHandle/ResizeHandle.tsx"],"names":[],"mappings":"AAGA;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,yDAAyD;IACzD,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ;;;;OAIG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B;;;;OAIG;IACH,QAAQ,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B;;;;;;OAMG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgBD;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CA4EpD"}
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/ResizeHandle-CCQ2y87y.js";
1
+ import { t as e } from "../../chunks/ResizeHandle-BOpmtOOj.js";
2
2
  export { e as ResizeHandle };
@@ -1,5 +1,6 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import { type SelectProps as RACSelectProps, type ListBoxItemProps as RACListBoxItemProps, type ValidationResult } from 'react-aria-components';
3
+ /** One option in a {@link Select}'s `options` list. */
3
4
  export type SelectOption = {
4
5
  value: string;
5
6
  label: ReactNode;
@@ -13,6 +14,10 @@ export type SelectOption = {
13
14
  textValue?: string;
14
15
  };
15
16
  type Key = string | number;
17
+ /**
18
+ * Props for {@link Select}, on top of React Aria's `Select` props, with the
19
+ * selection key narrowed to the option value type.
20
+ */
16
21
  export type SelectProps<T extends Key = string> = Omit<RACSelectProps<object>, 'children' | 'className' | 'selectedKey' | 'defaultSelectedKey' | 'onSelectionChange'> & {
17
22
  label?: ReactNode;
18
23
  description?: ReactNode;
@@ -37,10 +42,16 @@ export type SelectProps<T extends Key = string> = Omit<RACSelectProps<object>, '
37
42
  * union for `value` (e.g. `'r' | 'g' | 'b'`) get a typed `onSelectionChange`.
38
43
  */
39
44
  export declare function Select<T extends Key = string>(props: SelectProps<T>): import("react/jsx-runtime").JSX.Element;
45
+ /** Props for {@link SelectItem}, on top of React Aria's `ListBoxItem` props. */
40
46
  export type SelectItemProps = Omit<RACListBoxItemProps, 'className' | 'children'> & {
41
47
  children?: ReactNode;
42
48
  className?: string;
43
49
  };
50
+ /**
51
+ * One row in a {@link Select}'s list, with a leading check mark when
52
+ * selected. A string child supplies its own `textValue`; anything richer must
53
+ * pass one so type-to-select and screen readers have something to read.
54
+ */
44
55
  export declare function SelectItem({ children, className, textValue, ...rest }: SelectItemProps): import("react/jsx-runtime").JSX.Element;
45
56
  export {};
46
57
  //# sourceMappingURL=Select.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAUL,KAAK,WAAW,IAAI,cAAc,EAClC,KAAK,gBAAgB,IAAI,mBAAmB,EAC5C,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAI/B,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3B,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,oBAAoB,GAAG,mBAAmB,CAAC,GAAG;IACtK,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,KAAK,SAAS,CAAC,CAAC;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,OAAO,CAAC,EAAE,aAAa,CAAC,YAAY,GAAG;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACvB,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACvB,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,GAAG,GAAG,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,2CAgEnE;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,WAAW,GAAG,UAAU,CAAC,GAAG;IAClF,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAgBF,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,eAAe,2CAatF"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAUL,KAAK,WAAW,IAAI,cAAc,EAClC,KAAK,gBAAgB,IAAI,mBAAmB,EAC5C,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAI/B,uDAAuD;AACvD,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,KAAK,GAAG,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3B;;;GAGG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,aAAa,GAAG,oBAAoB,GAAG,mBAAmB,CAAC,GAAG;IACtK,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,KAAK,SAAS,CAAC,CAAC;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,OAAO,CAAC,EAAE,aAAa,CAAC,YAAY,GAAG;QAAE,KAAK,EAAE,CAAC,CAAA;KAAE,CAAC,CAAC;IACrD,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACvB,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACvB,iBAAiB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,MAAM,CAAC,CAAC,SAAS,GAAG,GAAG,MAAM,EAAE,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,2CAgEnE;AAED,gFAAgF;AAChF,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,mBAAmB,EAAE,WAAW,GAAG,UAAU,CAAC,GAAG;IAClF,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAgBF;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,EAAE,EAAE,eAAe,2CAatF"}
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../../chunks/Select-BE3Y1NrH.js";
1
+ import { n as e, t } from "../../chunks/Select-CHsuQCp0.js";
2
2
  export { t as Select, e as SelectItem };
@@ -1,5 +1,6 @@
1
1
  import { type ReactNode } from 'react';
2
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. */
3
4
  export interface PropertyRenderContext {
4
5
  /** Dotted node path of the leaf (`pose.x`, `data.fill`). */
5
6
  path: string;
@@ -12,7 +13,12 @@ export interface PropertyRenderContext {
12
13
  /** Commit a value — fans out to every selected node in one undo step. */
13
14
  setValue: (value: unknown) => void;
14
15
  }
16
+ /**
17
+ * Renders the control for one property across the whole selection.
18
+ * Returning `null` collapses the leaf.
19
+ */
15
20
  export type PropertyRenderer = (ctx: PropertyRenderContext) => ReactNode;
21
+ /** Props for {@link SelectionPanel}. */
16
22
  export interface SelectionPanelProps<TData, TLayer extends string, TPose> {
17
23
  /** The scene handle (`useScene`). The panel subscribes itself, so it
18
24
  * re-renders on scene mutations regardless of parent renders. */
@@ -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,EAEL,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,KAAK,EACV,KAAK,YAAY,EAGjB,KAAK,YAAY,EAGlB,MAAM,iBAAiB,CAAC;AAkBzB,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,IAAI,EAAE,YAAY,CAAC;IACnB,qEAAqE;IACrE,KAAK,EAAE,OAAO,CAAC;IACf,sDAAsD;IACtD,KAAK,EAAE,OAAO,CAAC;IACf,yEAAyE;IACzE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,qBAAqB,KAAK,SAAS,CAAC;AAEzE,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,2CAuGjD"}
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,EAEL,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EACrB,KAAK,KAAK,EACV,KAAK,YAAY,EAGjB,KAAK,YAAY,EAGlB,MAAM,iBAAiB,CAAC;AAkBzB,iFAAiF;AACjF,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,IAAI,EAAE,YAAY,CAAC;IACnB,qEAAqE;IACrE,KAAK,EAAE,OAAO,CAAC;IACf,sDAAsD;IACtD,KAAK,EAAE,OAAO,CAAC;IACf,yEAAyE;IACzE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;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,2CAuGjD"}
@@ -1,2 +1,2 @@
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-Zaw8tYQH.js";
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-D_wk_8ZN.js";
2
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 };
@@ -2,15 +2,27 @@ import { MIXED, type Mixed, type NodePropertiesEntry, type NodeRoutingEntry, typ
2
2
  export { MIXED };
3
3
  export type { Mixed };
4
4
  export type AnyNode = SceneNode<unknown, string, unknown>;
5
+ /**
6
+ * One editable property in a {@link SelectionPanel}, paired with the dotted
7
+ * node path it reads and writes.
8
+ */
5
9
  export interface PanelLeaf {
6
10
  /** Dotted node path — the leaf's key in the schema. */
7
11
  path: string;
8
12
  leaf: ToolPrefLeaf;
9
13
  }
14
+ /**
15
+ * One labeled row of a panel section. Holds several leaves when the schema
16
+ * paired them.
17
+ */
10
18
  export interface PanelRow {
11
19
  label: string;
12
20
  leaves: PanelLeaf[];
13
21
  }
22
+ /**
23
+ * A titled block of rows, derived from one top-level group of a properties
24
+ * schema. `key` is that group's schema key.
25
+ */
14
26
  export interface PanelSection {
15
27
  key: string;
16
28
  name: string;
@@ -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,MAAM,WAAW,SAAS;IACxB,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,CAAC;CACpB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,EAAE,CAAC;CACrB;AAED,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,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,4 +1,5 @@
1
1
  import type { CSSProperties, ReactNode } from 'react';
2
+ /** Props for {@link Sidebar}. */
2
3
  export interface SidebarProps {
3
4
  /**
4
5
  * Edge the sidebar docks to. Adds a class hook (`s.left` / `s.right`)
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/Sidebar/Sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGtD,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;4EACwE;IACxE,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,2CAS1C"}
1
+ {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/Sidebar/Sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGtD,iCAAiC;AACjC,MAAM,WAAW,YAAY;IAC3B;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB;;;;;OAKG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;4EACwE;IACxE,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,2CAS1C"}
@@ -1,4 +1,5 @@
1
1
  import type { ReactNode } from 'react';
2
+ /** Props for {@link SidebarPanel}. */
2
3
  export interface SidebarPanelProps {
3
4
  /** Title rendered in the panel's header row. */
4
5
  title?: ReactNode;
@@ -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;AAKvC,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
+ {"version":3,"file":"SidebarPanel.d.ts","sourceRoot":"","sources":["../../../src/components/SidebarPanel/SidebarPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvC,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-BpD0ptyg.js";
1
+ import { t as e } from "../../chunks/SidebarPanel-BVTQ1ZyM.js";
2
2
  export { e as SidebarPanel };