@weasel-js/ui 1.0.2 → 1.0.3

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 (188) hide show
  1. package/dist/chunks/ActionBar-GThu74LC.js.map +1 -1
  2. package/dist/chunks/ActionsBar-9aR5N3lU.js.map +1 -1
  3. package/dist/chunks/Badge-DZQqAV4d.js.map +1 -1
  4. package/dist/chunks/BandEditor-13K91O9M.js +228 -0
  5. package/dist/chunks/BandEditor-13K91O9M.js.map +1 -0
  6. package/dist/chunks/Button-9QNIYugK.js.map +1 -1
  7. package/dist/chunks/Callout-CFqG5xho.js.map +1 -1
  8. package/dist/chunks/Checkbox-KQ5L8APP.js.map +1 -1
  9. package/dist/chunks/ColorField-ykpiD3XU.js.map +1 -1
  10. package/dist/chunks/ComboBox-DpxsFVBy.js.map +1 -1
  11. package/dist/chunks/{CurveEditor-fRctbmoV.js → CurveEditor-CqIt_Xph.js} +3 -3
  12. package/dist/chunks/CurveEditor-CqIt_Xph.js.map +1 -0
  13. package/dist/chunks/DataGrid-BQklXGRl.js.map +1 -1
  14. package/dist/chunks/Dialog-3FCd_gYi.js.map +1 -1
  15. package/dist/chunks/Field-VQwmrIna.js.map +1 -1
  16. package/dist/chunks/{GradientEditor-BL5kg7a_.js → GradientEditor-DeptQpWX.js} +4 -4
  17. package/dist/chunks/GradientEditor-DeptQpWX.js.map +1 -0
  18. package/dist/chunks/Input-DpkwYtUY.js.map +1 -1
  19. package/dist/chunks/Keycaps-CFX7UAj8.js.map +1 -1
  20. package/dist/chunks/NumberField-BbzI0GtU.js.map +1 -1
  21. package/dist/chunks/OptionsBar-CHvH4n4u.js.map +1 -1
  22. package/dist/chunks/Plot2D-CEnhzodm.js.map +1 -1
  23. package/dist/chunks/{PointPlotter-R8hguJPq.js → PointPlotter-DD-bWmRc.js} +2 -2
  24. package/dist/chunks/PointPlotter-DD-bWmRc.js.map +1 -0
  25. package/dist/chunks/Powerline-Dd9Ukhcl.js.map +1 -1
  26. package/dist/chunks/Prefs-lgI4x4jF.js.map +1 -1
  27. package/dist/chunks/RadioGroup-CIpHr3g6.js.map +1 -1
  28. package/dist/chunks/RangeSlider-CaDogGTj.js.map +1 -1
  29. package/dist/chunks/{ResizeHandle-CCQ2y87y.js → ResizeHandle-BOpmtOOj.js} +2 -2
  30. package/dist/chunks/ResizeHandle-BOpmtOOj.js.map +1 -0
  31. package/dist/chunks/Select-BE3Y1NrH.js.map +1 -1
  32. package/dist/chunks/SelectionPanel-Zaw8tYQH.js.map +1 -1
  33. package/dist/chunks/Sidebar-DP_nyJze.js.map +1 -1
  34. package/dist/chunks/SidebarPanel-BpD0ptyg.js.map +1 -1
  35. package/dist/chunks/{Slider-Di2kNqVy.js → Slider-CmPeFJ3x.js} +4 -4
  36. package/dist/chunks/Slider-CmPeFJ3x.js.map +1 -0
  37. package/dist/chunks/StatusBar-DBO0E0Yd.js.map +1 -1
  38. package/dist/chunks/Switch-JyVSSAzC.js.map +1 -1
  39. package/dist/chunks/Tabs-Df0sDomx.js.map +1 -1
  40. package/dist/chunks/Toast-DFw4IrD_.js.map +1 -1
  41. package/dist/chunks/ToggleBar-BP1zFcvg.js.map +1 -1
  42. package/dist/chunks/ToolButton-DpT-mukU.js.map +1 -1
  43. package/dist/chunks/ToolGroup-BTIwd4U4.js.map +1 -1
  44. package/dist/chunks/ToolOptionsBar-JvmY7iNe.js.map +1 -1
  45. package/dist/chunks/ToolPalette-DPn0owno.js.map +1 -1
  46. package/dist/chunks/Tooltip-Clgn4trm.js.map +1 -1
  47. package/dist/chunks/useRovingTabIndex-DBZtq4IH.js.map +1 -1
  48. package/dist/color/oklch.d.ts +12 -0
  49. package/dist/color/oklch.d.ts.map +1 -1
  50. package/dist/components/ActionBar/ActionBar.d.ts +1 -0
  51. package/dist/components/ActionBar/ActionBar.d.ts.map +1 -1
  52. package/dist/components/ActionsBar/ActionsBar.d.ts +15 -0
  53. package/dist/components/ActionsBar/ActionsBar.d.ts.map +1 -1
  54. package/dist/components/Badge/Badge.d.ts +14 -0
  55. package/dist/components/Badge/Badge.d.ts.map +1 -1
  56. package/dist/components/Badge/bases/edgeProfiles.d.ts +8 -0
  57. package/dist/components/Badge/bases/edgeProfiles.d.ts.map +1 -1
  58. package/dist/components/Badge/types.d.ts +11 -0
  59. package/dist/components/Badge/types.d.ts.map +1 -1
  60. package/dist/components/BandEditor/BandEditor.d.ts +56 -0
  61. package/dist/components/BandEditor/BandEditor.d.ts.map +1 -0
  62. package/dist/components/BandEditor/bands.d.ts +45 -0
  63. package/dist/components/BandEditor/bands.d.ts.map +1 -0
  64. package/dist/components/BandEditor/index.d.ts +4 -0
  65. package/dist/components/BandEditor/index.d.ts.map +1 -0
  66. package/dist/components/BandEditor/index.js +2 -0
  67. package/dist/components/BandEditor/scale.d.ts +25 -0
  68. package/dist/components/BandEditor/scale.d.ts.map +1 -0
  69. package/dist/components/Button/Button.d.ts +13 -0
  70. package/dist/components/Button/Button.d.ts.map +1 -1
  71. package/dist/components/Callout/Callout.d.ts +2 -0
  72. package/dist/components/Callout/Callout.d.ts.map +1 -1
  73. package/dist/components/Checkbox/Checkbox.d.ts +4 -0
  74. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  75. package/dist/components/ColorField/ColorField.d.ts +4 -0
  76. package/dist/components/ColorField/ColorField.d.ts.map +1 -1
  77. package/dist/components/ComboBox/ComboBox.d.ts +11 -0
  78. package/dist/components/ComboBox/ComboBox.d.ts.map +1 -1
  79. package/dist/components/CurveEditor/CurveEditor.d.ts +14 -2
  80. package/dist/components/CurveEditor/CurveEditor.d.ts.map +1 -1
  81. package/dist/components/CurveEditor/LayeredCurveEditor.d.ts +15 -0
  82. package/dist/components/CurveEditor/LayeredCurveEditor.d.ts.map +1 -1
  83. package/dist/components/CurveEditor/createFunctionLayer.d.ts +39 -0
  84. package/dist/components/CurveEditor/createFunctionLayer.d.ts.map +1 -1
  85. package/dist/components/CurveEditor/index.js +1 -1
  86. package/dist/components/CurveEditor/layerTypes.d.ts +5 -0
  87. package/dist/components/CurveEditor/layerTypes.d.ts.map +1 -1
  88. package/dist/components/CurveEditor/setCurveOp.d.ts +4 -0
  89. package/dist/components/CurveEditor/setCurveOp.d.ts.map +1 -1
  90. package/dist/components/DataGrid/DataGrid.d.ts +12 -0
  91. package/dist/components/DataGrid/DataGrid.d.ts.map +1 -1
  92. package/dist/components/Dialog/Dialog.d.ts +1 -0
  93. package/dist/components/Dialog/Dialog.d.ts.map +1 -1
  94. package/dist/components/Field/Field.d.ts +9 -0
  95. package/dist/components/Field/Field.d.ts.map +1 -1
  96. package/dist/components/GradientEditor/GradientEditor.d.ts +4 -0
  97. package/dist/components/GradientEditor/GradientEditor.d.ts.map +1 -1
  98. package/dist/components/GradientEditor/GradientHandles.d.ts +4 -0
  99. package/dist/components/GradientEditor/GradientHandles.d.ts.map +1 -1
  100. package/dist/components/GradientEditor/index.js +1 -1
  101. package/dist/components/Input/Input.d.ts +1 -0
  102. package/dist/components/Input/Input.d.ts.map +1 -1
  103. package/dist/components/Keycaps/Keycap.d.ts +10 -0
  104. package/dist/components/Keycaps/Keycap.d.ts.map +1 -1
  105. package/dist/components/Keycaps/Keycaps.d.ts +2 -0
  106. package/dist/components/Keycaps/Keycaps.d.ts.map +1 -1
  107. package/dist/components/Keycaps/keySpecsFromMods.d.ts +2 -0
  108. package/dist/components/Keycaps/keySpecsFromMods.d.ts.map +1 -1
  109. package/dist/components/NumberField/NumberField.d.ts +9 -0
  110. package/dist/components/NumberField/NumberField.d.ts.map +1 -1
  111. package/dist/components/OptionsBar/OptionsBar.d.ts +12 -0
  112. package/dist/components/OptionsBar/OptionsBar.d.ts.map +1 -1
  113. package/dist/components/Plot2D/Plot2D.d.ts +14 -0
  114. package/dist/components/Plot2D/Plot2D.d.ts.map +1 -1
  115. package/dist/components/Plot2D/geometry.d.ts +10 -0
  116. package/dist/components/Plot2D/geometry.d.ts.map +1 -1
  117. package/dist/components/PointPlotter/PointPlotter.d.ts +3 -2
  118. package/dist/components/PointPlotter/PointPlotter.d.ts.map +1 -1
  119. package/dist/components/PointPlotter/index.js +1 -1
  120. package/dist/components/Powerline/Powerline.d.ts +13 -0
  121. package/dist/components/Powerline/Powerline.d.ts.map +1 -1
  122. package/dist/components/Prefs/PrefsDialog.d.ts +4 -0
  123. package/dist/components/Prefs/PrefsDialog.d.ts.map +1 -1
  124. package/dist/components/Prefs/PrefsForm.d.ts +6 -0
  125. package/dist/components/Prefs/PrefsForm.d.ts.map +1 -1
  126. package/dist/components/Prefs/schema.d.ts +17 -0
  127. package/dist/components/Prefs/schema.d.ts.map +1 -1
  128. package/dist/components/RadioGroup/RadioGroup.d.ts +8 -0
  129. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  130. package/dist/components/RangeSlider/RangeSlider.d.ts +1 -0
  131. package/dist/components/RangeSlider/RangeSlider.d.ts.map +1 -1
  132. package/dist/components/ResizeHandle/ResizeHandle.d.ts +7 -3
  133. package/dist/components/ResizeHandle/ResizeHandle.d.ts.map +1 -1
  134. package/dist/components/ResizeHandle/index.js +1 -1
  135. package/dist/components/Select/Select.d.ts +11 -0
  136. package/dist/components/Select/Select.d.ts.map +1 -1
  137. package/dist/components/SelectionPanel/SelectionPanel.d.ts +6 -0
  138. package/dist/components/SelectionPanel/SelectionPanel.d.ts.map +1 -1
  139. package/dist/components/SelectionPanel/model.d.ts +12 -0
  140. package/dist/components/SelectionPanel/model.d.ts.map +1 -1
  141. package/dist/components/Sidebar/Sidebar.d.ts +1 -0
  142. package/dist/components/Sidebar/Sidebar.d.ts.map +1 -1
  143. package/dist/components/SidebarPanel/SidebarPanel.d.ts +1 -0
  144. package/dist/components/SidebarPanel/SidebarPanel.d.ts.map +1 -1
  145. package/dist/components/Slider/Slider.d.ts +43 -2
  146. package/dist/components/Slider/Slider.d.ts.map +1 -1
  147. package/dist/components/Slider/index.js +1 -1
  148. package/dist/components/StatusBar/StatusBar.d.ts +2 -0
  149. package/dist/components/StatusBar/StatusBar.d.ts.map +1 -1
  150. package/dist/components/Switch/Switch.d.ts +11 -0
  151. package/dist/components/Switch/Switch.d.ts.map +1 -1
  152. package/dist/components/Tabs/Tabs.d.ts +11 -0
  153. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  154. package/dist/components/Toast/Toast.d.ts +2 -0
  155. package/dist/components/Toast/Toast.d.ts.map +1 -1
  156. package/dist/components/Toast/queue.d.ts +7 -0
  157. package/dist/components/Toast/queue.d.ts.map +1 -1
  158. package/dist/components/ToggleBar/ToggleBar.d.ts +16 -0
  159. package/dist/components/ToggleBar/ToggleBar.d.ts.map +1 -1
  160. package/dist/components/ToolButton/ToolButton.d.ts +1 -0
  161. package/dist/components/ToolButton/ToolButton.d.ts.map +1 -1
  162. package/dist/components/ToolGroup/ToolGroup.d.ts +1 -0
  163. package/dist/components/ToolGroup/ToolGroup.d.ts.map +1 -1
  164. package/dist/components/ToolOptionsBar/ToolOptionsBar.d.ts +1 -0
  165. package/dist/components/ToolOptionsBar/ToolOptionsBar.d.ts.map +1 -1
  166. package/dist/components/ToolPalette/ToolPalette.d.ts +9 -0
  167. package/dist/components/ToolPalette/ToolPalette.d.ts.map +1 -1
  168. package/dist/components/Tooltip/Tooltip.d.ts +5 -0
  169. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  170. package/dist/format/number.d.ts +4 -0
  171. package/dist/format/number.d.ts.map +1 -1
  172. package/dist/index.d.ts +1 -0
  173. package/dist/index.d.ts.map +1 -1
  174. package/dist/index.js +12 -11
  175. package/dist/index.js.map +1 -1
  176. package/dist/paintGradientTrack.d.ts +13 -0
  177. package/dist/paintGradientTrack.d.ts.map +1 -1
  178. package/dist/style.css +1 -1
  179. package/dist/useReorderDragList.d.ts +23 -0
  180. package/dist/useReorderDragList.d.ts.map +1 -1
  181. package/dist/useRovingTabIndex.d.ts +5 -0
  182. package/dist/useRovingTabIndex.d.ts.map +1 -1
  183. package/package.json +2 -2
  184. package/dist/chunks/CurveEditor-fRctbmoV.js.map +0 -1
  185. package/dist/chunks/GradientEditor-BL5kg7a_.js.map +0 -1
  186. package/dist/chunks/PointPlotter-R8hguJPq.js.map +0 -1
  187. package/dist/chunks/ResizeHandle-CCQ2y87y.js.map +0 -1
  188. package/dist/chunks/Slider-Di2kNqVy.js.map +0 -1
@@ -10,10 +10,14 @@ import type { InterpolationMode } from './interpolation';
10
10
  import { type ControlPoint, type CurveDomain, type EndpointMode, type AddPointMode, type CurveSettings, type FillSettings, type AnchorRenderProps } from './createFunctionLayer';
11
11
  export type { GridSettings, AxesSettings };
12
12
  export type { ControlPoint, CurveDomain, EndpointMode, AddPointMode, CurveSettings, FillSettings, AnchorRenderProps, };
13
+ /**
14
+ * Props for {@link CurveEditor}. `onInput` fires throughout a gesture and
15
+ * `onChange` once at its end, with the pre-gesture points as `prev`.
16
+ */
13
17
  export interface CurveEditorProps {
14
18
  value: readonly ControlPoint[];
15
- onChange: (next: ControlPoint[]) => void;
16
- onChangeCommit?: (next: ControlPoint[], prev: readonly ControlPoint[]) => void;
19
+ onInput: (next: ControlPoint[]) => void;
20
+ onChange?: (next: ControlPoint[], prev: readonly ControlPoint[]) => void;
17
21
  domain?: CurveDomain;
18
22
  interpolation?: InterpolationMode;
19
23
  endpoints?: EndpointMode;
@@ -37,5 +41,13 @@ export interface CurveEditorProps {
37
41
  className?: string;
38
42
  style?: CSSProperties;
39
43
  }
44
+ /**
45
+ * Editable curve through a list of control points: drag anchors, click to
46
+ * insert, right-click to delete, with optional built-in undo.
47
+ *
48
+ * This is the single-curve API, implemented as one `createFunctionLayer` on
49
+ * a `LayeredCurveEditor`. Reach for those directly to stack several curves
50
+ * on one plot.
51
+ */
40
52
  export declare function CurveEditor(props: CurveEditorProps): import("react/jsx-runtime").JSX.Element;
41
53
  //# sourceMappingURL=CurveEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CurveEditor.d.ts","sourceRoot":"","sources":["../../../src/components/CurveEditor/CurveEditor.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AAC3C,YAAY,EACV,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EACrD,aAAa,EAAE,YAAY,EAAE,iBAAiB,GAC/C,CAAC;AAEF,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IACzC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,YAAY,EAAE,KAAK,IAAI,CAAC;IAC/E,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,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,KAAK,CAAC,EAAE,aAAa,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,SAAS,CAAC;IACtD,+DAA+D;IAC/D,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CA4GlD"}
1
+ {"version":3,"file":"CurveEditor.d.ts","sourceRoot":"","sources":["../../../src/components/CurveEditor/CurveEditor.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAEL,KAAK,aAAa,EAElB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EACL,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AACnB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,EACjB,KAAK,iBAAiB,EAEvB,MAAM,uBAAuB,CAAC;AAG/B,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,CAAC;AAC3C,YAAY,EACV,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EACrD,aAAa,EAAE,YAAY,EAAE,iBAAiB,GAC/C,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,YAAY,EAAE,KAAK,IAAI,CAAC;IACzE,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,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,KAAK,CAAC,EAAE,aAAa,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,SAAS,CAAC;IACtD,+DAA+D;IAC/D,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CA4GlD"}
@@ -1,10 +1,15 @@
1
1
  import { type CSSProperties, type ReactNode } from 'react';
2
2
  import { type GridSettings, type AxesSettings } from '../Plot2D';
3
3
  import type { CurveLayer } from './layerTypes';
4
+ /**
5
+ * A layer paired with the state the consumer holds for it. The editor never
6
+ * stores layer state itself.
7
+ */
4
8
  export interface LayerBinding<S = unknown> {
5
9
  layer: CurveLayer<S>;
6
10
  state: S;
7
11
  }
12
+ /** Props for {@link LayeredCurveEditor}. */
8
13
  export interface LayeredCurveEditorProps {
9
14
  /** Bottom-to-top render order: `layers[0]` paints first, `layers[N-1]`
10
15
  * paints on top. Hit-testing runs in reverse (topmost claim wins). */
@@ -36,5 +41,15 @@ export interface LayeredCurveEditorProps {
36
41
  * worth modeling as a layer. */
37
42
  children?: ReactNode;
38
43
  }
44
+ /**
45
+ * A `Plot2D` that hosts a stack of composable curve layers. It owns the
46
+ * pointer gestures and the coordinate mapping; each layer supplies its own
47
+ * drawing, hit testing and gesture behavior.
48
+ *
49
+ * Layer state stays with the consumer: the editor reports changes through
50
+ * `onLayerChange` during a gesture and `onLayerCommit` at its end, and reads
51
+ * the state back from props each frame. That is what lets one layer's drag
52
+ * update another layer's state mid-gesture.
53
+ */
39
54
  export declare function LayeredCurveEditor(props: LayeredCurveEditorProps): import("react/jsx-runtime").JSX.Element;
40
55
  //# sourceMappingURL=LayeredCurveEditor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"LayeredCurveEditor.d.ts","sourceRoot":"","sources":["../../../src/components/CurveEditor/LayeredCurveEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAGlB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AAOnB,OAAO,KAAK,EACV,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,KAAK,EAAE,CAAC,CAAC;CACV;AAED,MAAM,WAAW,uBAAuB;IACtC;2EACuE;IACvE,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzC;+CAC2C;IAC3C,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAE/C;;0CAEsC;IACtC,aAAa,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAE/D,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,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IAEnC;;;mCAG+B;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB;;qCAEiC;IACjC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAmBD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CA0UhE"}
1
+ {"version":3,"file":"LayeredCurveEditor.d.ts","sourceRoot":"","sources":["../../../src/components/CurveEditor/LayeredCurveEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAGlB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAGL,KAAK,YAAY,EACjB,KAAK,YAAY,EAClB,MAAM,WAAW,CAAC;AAOnB,OAAO,KAAK,EACV,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB;;;GAGG;AACH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACrB,KAAK,EAAE,CAAC,CAAC;CACV;AAED,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC;2EACuE;IACvE,MAAM,EAAE,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IAEzC;+CAC2C;IAC3C,aAAa,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAE/C;;0CAEsC;IACtC,aAAa,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IAE/D,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,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IAEnC;;;mCAG+B;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IAEtB;;qCAEiC;IACjC,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAmBD;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,2CA0UhE"}
@@ -8,6 +8,7 @@
8
8
  import type { ReactNode } from 'react';
9
9
  import { type InterpolationMode } from './interpolation';
10
10
  import type { CurveLayer } from './layerTypes';
11
+ /** One anchor of a curve, in model space. */
11
12
  export interface ControlPoint {
12
13
  x: number;
13
14
  y: number;
@@ -15,9 +16,27 @@ export interface ControlPoint {
15
16
  * user. Render as a smaller diamond with locked styling. */
16
17
  locked?: boolean;
17
18
  }
19
+ /**
20
+ * Whether a curve's points keep their x order. In `'1d'` an anchor cannot be
21
+ * dragged past its neighbors and a new point is inserted at its x position;
22
+ * in `'2d'` points are free to move anywhere and keep their list order.
23
+ */
18
24
  export type CurveDomain = '1d' | '2d';
25
+ /**
26
+ * How much of a curve's first and last anchor the user may move: everything,
27
+ * only their y, or nothing.
28
+ */
19
29
  export type EndpointMode = 'free' | 'pinned-x' | 'pinned-both';
30
+ /**
31
+ * Where a click adds a new anchor — on the curve itself, anywhere in the
32
+ * plot, or nowhere.
33
+ */
20
34
  export type AddPointMode = 'click-curve' | 'click-empty' | 'never';
35
+ /**
36
+ * What a `renderAnchor` function is given for one anchor: the point, its
37
+ * index, its position in plot space (`cx`/`cy`), and the states that change
38
+ * how it should look.
39
+ */
21
40
  export interface AnchorRenderProps {
22
41
  point: ControlPoint;
23
42
  index: number;
@@ -28,12 +47,18 @@ export interface AnchorRenderProps {
28
47
  isPinnedEndpoint: boolean;
29
48
  isEndpoint: boolean;
30
49
  }
50
+ /**
51
+ * Per-instance curve-rendering overrides. Currently empty — passing `{}`
52
+ * means "draw the curve", and `false`/`null` means don't.
53
+ */
31
54
  export interface CurveSettings {
32
55
  }
56
+ /** Shades the region between the curve and one edge of the plot. */
33
57
  export interface FillSettings {
34
58
  side: 'below' | 'above';
35
59
  color?: string;
36
60
  }
61
+ /** Configuration for {@link createFunctionLayer}. */
37
62
  export interface FunctionLayerConfig {
38
63
  /** Layer id; default `'function'`. Two instances on the same editor
39
64
  * must have distinct ids. */
@@ -59,6 +84,11 @@ export interface FunctionLayerConfig {
59
84
  * while the editor's xRange is [0, halfWidth]). */
60
85
  xClamp?: readonly [number, number];
61
86
  }
87
+ /**
88
+ * The state a function layer owns. Treat it as opaque and round-trip it
89
+ * through `LayeredCurveEditor`'s `onLayerChange`; `points` is the part worth
90
+ * reading.
91
+ */
62
92
  export interface FunctionLayerState {
63
93
  points: readonly ControlPoint[];
64
94
  /** Layer-internal: the index of the anchor currently being dragged.
@@ -66,6 +96,15 @@ export interface FunctionLayerState {
66
96
  * opaque and round-trip it via onLayerChange. */
67
97
  activeIndex: number | null;
68
98
  }
99
+ /**
100
+ * Builds the built-in curve layer for `LayeredCurveEditor`: it draws the
101
+ * interpolated curve and its anchors, and handles dragging, inserting and
102
+ * deleting them.
103
+ *
104
+ * Several can coexist on one editor as long as their ids differ — plotting a
105
+ * derived read-only curve beside an editable one is the case it is shaped
106
+ * for, via `interactive: false`.
107
+ */
69
108
  export declare function createFunctionLayer(cfg?: FunctionLayerConfig): CurveLayer<FunctionLayerState>;
70
109
  /** Convenience: build a function-layer state from a points array. */
71
110
  export declare function functionLayerState(points: readonly ControlPoint[]): FunctionLayerState;
@@ -1 +1 @@
1
- {"version":3,"file":"createFunctionLayer.d.ts","sourceRoot":"","sources":["../../../src/components/CurveEditor/createFunctionLayer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIhF,OAAO,KAAK,EACV,UAAU,EAEX,MAAM,cAAc,CAAC;AAItB,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV;iEAC6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC;AACtC,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,CAAC;AAC/D,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,aAAa,GAAG,OAAO,CAAC;AAEnE,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;CAE7B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,mBAAmB;IAClC;kCAC8B;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,SAAS,CAAC;IACtD;;qEAEiE;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;wDAGoD;IACpD,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IAChC;;sDAEkD;IAClD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAsDD,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,mBAAwB,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAkQjG;AAED,qEAAqE;AACrE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,kBAAkB,CAEtF"}
1
+ {"version":3,"file":"createFunctionLayer.d.ts","sourceRoot":"","sources":["../../../src/components/CurveEditor/createFunctionLayer.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAyB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAIhF,OAAO,KAAK,EACV,UAAU,EAEX,MAAM,cAAc,CAAC;AAItB,6CAA6C;AAC7C,MAAM,WAAW,YAAY;IAC3B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV;iEAC6D;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC;AACtC;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,UAAU,GAAG,aAAa,CAAC;AAC/D;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,aAAa,GAAG,OAAO,CAAC;AAEnE;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;CAE7B;AAED,oEAAoE;AACpE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,qDAAqD;AACrD,MAAM,WAAW,mBAAmB;IAClC;kCAC8B;IAC9B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAChC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,SAAS,CAAC;IACtD;;qEAEiE;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;wDAGoD;IACpD,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,YAAY,EAAE,CAAC;IAChC;;sDAEkD;IAClD,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAsDD;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,mBAAwB,GAAG,UAAU,CAAC,kBAAkB,CAAC,CAkQjG;AAED,qEAAqE;AACrE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,kBAAkB,CAEtF"}
@@ -1,2 +1,2 @@
1
- import { a as e, i as t, n, o as r, r as i, t as a } from "../../chunks/CurveEditor-fRctbmoV.js";
1
+ import { a as e, i as t, n, o as r, r as i, t as a } from "../../chunks/CurveEditor-CqIt_Xph.js";
2
2
  export { n as CurveEditor, i as LayeredCurveEditor, t as createFunctionLayer, a as createSetCurveOp, e as functionLayerState, r as sampleByInterpolation };
@@ -14,6 +14,7 @@ import type { Point as PlotPoint, ModelRange } from '../Plot2D/geometry';
14
14
  /** Convenience aliases — both are `{ x, y }` but with different units. */
15
15
  export type ModelPoint = PlotPoint;
16
16
  export type { PlotPoint };
17
+ /** Modifier keys held at the moment a layer callback fires. */
17
18
  export interface LayerModifiers {
18
19
  shift: boolean;
19
20
  alt: boolean;
@@ -32,6 +33,10 @@ export interface LayerCtx {
32
33
  toModel(p: PlotPoint): ModelPoint;
33
34
  readonly modifiers: LayerModifiers;
34
35
  }
36
+ /**
37
+ * The {@link LayerCtx} a layer's `render` gets, plus whether this layer owns
38
+ * the gesture currently in flight.
39
+ */
35
40
  export interface LayerRenderCtx extends LayerCtx {
36
41
  /** True when this layer owns the currently-active gesture. Useful for
37
42
  * surfacing "active anchor" visuals without threading the index. */
@@ -1 +1 @@
1
- {"version":3,"file":"layerTypes.d.ts","sourceRoot":"","sources":["../../../src/components/CurveEditor/layerTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layerTypes.d.ts","sourceRoot":"","sources":["../../../src/components/CurveEditor/layerTypes.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,10 @@ import type { ControlPoint } from './CurveEditor';
9
9
  export interface SetCurveAdapter {
10
10
  setValue(id: string, next: readonly ControlPoint[]): void;
11
11
  }
12
+ /**
13
+ * Arguments for {@link createSetCurveOp}. `coalesceKey` merges consecutive
14
+ * edits sharing it into one history entry.
15
+ */
12
16
  export interface CreateSetCurveOpArgs {
13
17
  /** Stable id the consumer uses for this curve. Used so a single
14
18
  * adapter can handle multiple curves; the op's apply routes by id. */
@@ -1 +1 @@
1
- {"version":3,"file":"setCurveOp.d.ts","sourceRoot":"","sources":["../../../src/components/CurveEditor/setCurveOp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI,CAAC;CAC3D;AAED,MAAM,WAAW,oBAAoB;IACnC;2EACuE;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,YAAY,EAAE,CAAC;IAC9B,EAAE,EAAE,SAAS,YAAY,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,EAAE,CAgB/D"}
1
+ {"version":3,"file":"setCurveOp.d.ts","sourceRoot":"","sources":["../../../src/components/CurveEditor/setCurveOp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI,CAAC;CAC3D;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;2EACuE;IACvE,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,SAAS,YAAY,EAAE,CAAC;IAC9B,EAAE,EAAE,SAAS,YAAY,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,EAAE,CAgB/D"}
@@ -1,4 +1,8 @@
1
1
  import type { ReactNode } from 'react';
2
+ /**
3
+ * One column of a {@link DataGrid}. `id` doubles as the default property name
4
+ * read off each row when no `accessor` is given.
5
+ */
2
6
  export interface DataGridColumn<Row> {
3
7
  id: string;
4
8
  header: ReactNode;
@@ -11,6 +15,7 @@ export interface DataGridColumn<Row> {
11
15
  /** Optional CSS class on every <td> in this column. */
12
16
  className?: string;
13
17
  }
18
+ /** Props for {@link DataGrid}. */
14
19
  export interface DataGridProps<Row extends {
15
20
  id: string;
16
21
  }> {
@@ -28,6 +33,13 @@ export interface DataGridProps<Row extends {
28
33
  empty?: ReactNode;
29
34
  className?: string;
30
35
  }
36
+ /**
37
+ * Sortable table for inspector-style data. Rows are keyed by `id`. Clicking a
38
+ * sortable header cycles ascending, descending, unsorted; nullish values sort
39
+ * last regardless of direction. Passing `onReorder` adds a leading drag-handle
40
+ * column — note that the drag indices it reports are into the *sorted* row
41
+ * order, not the input order.
42
+ */
31
43
  export declare function DataGrid<Row extends {
32
44
  id: string;
33
45
  }>(props: DataGridProps<Row>): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../../../src/components/DataGrid/DataGrid.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,cAAc,CAAC,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,CAAC;IAClB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5D,kEAAkE;IAClE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,SAAS,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAa,CAAC,GAAG,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;IACvD,IAAI,EAAE,SAAS,GAAG,EAAE,CAAC;IACrB,OAAO,EAAE,SAAS,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,oEAAoE;IACpE,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC;IAC9D;yEACqE;IACrE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,2CAA2C;IAC3C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID,wBAAgB,QAAQ,CAAC,GAAG,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,2CAmH7E"}
1
+ {"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../../../src/components/DataGrid/DataGrid.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC;;;GAGG;AACH,MAAM,WAAW,cAAc,CAAC,GAAG;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,CAAC;IAClB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC5D,kEAAkE;IAClE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,SAAS,CAAC;IACjC,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,kCAAkC;AAClC,MAAM,WAAW,aAAa,CAAC,GAAG,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE;IACvD,IAAI,EAAE,SAAS,GAAG,EAAE,CAAC;IACrB,OAAO,EAAE,SAAS,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;IACxC,oEAAoE;IACpE,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,KAAK,GAAG,MAAM,CAAA;KAAE,CAAC;IAC9D;yEACqE;IACrE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IACzD,2CAA2C;IAC3C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,GAAG,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,2CAmH7E"}
@@ -1,5 +1,6 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import { type ModalOverlayProps, type DialogProps as RACDialogProps } from 'react-aria-components';
3
+ /** Props for {@link Dialog}, on top of React Aria's `ModalOverlay` props. */
3
4
  export type DialogProps = Omit<ModalOverlayProps, 'children' | 'className'> & {
4
5
  /** Heading rendered in the dialog's default header. Omit when supplying
5
6
  * a custom `header` slot via children. */
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../src/components/Dialog/Dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAKL,KAAK,iBAAiB,EACtB,KAAK,WAAW,IAAI,cAAc,EACnC,MAAM,uBAAuB,CAAC;AAG/B,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,WAAW,CAAC,GAAG;IAC5E;+CAC2C;IAC3C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;oDACgD;IAChD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oBAAoB;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,uEAAuE;IACvE,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9B,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,2CA8CxC"}
1
+ {"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../src/components/Dialog/Dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAKL,KAAK,iBAAiB,EACtB,KAAK,WAAW,IAAI,cAAc,EACnC,MAAM,uBAAuB,CAAC;AAG/B,6EAA6E;AAC7E,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,WAAW,CAAC,GAAG;IAC5E;+CAC2C;IAC3C,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;oDACgD;IAChD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oBAAoB;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,8CAA8C;IAC9C,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,uEAAuE;IACvE,IAAI,CAAC,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9B,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,2CA8CxC"}
@@ -1,5 +1,10 @@
1
1
  import type { ReactNode } from 'react';
2
+ /**
3
+ * Whether a {@link Field} stacks its label above the control or sits them
4
+ * side by side.
5
+ */
2
6
  export type FieldOrientation = 'stacked' | 'row';
7
+ /** Props for {@link Field}. */
3
8
  export type FieldProps = {
4
9
  orientation?: FieldOrientation;
5
10
  className?: string;
@@ -15,6 +20,10 @@ export type FieldProps = {
15
20
  * control to sit in the same visual rhythm.
16
21
  */
17
22
  export declare function Field({ orientation, className, children }: FieldProps): import("react/jsx-runtime").JSX.Element;
23
+ /**
24
+ * The class names {@link Field} paints its slots with, so a control composing
25
+ * its own layout can match the same form-row rhythm.
26
+ */
18
27
  export declare const fieldClasses: {
19
28
  root: string;
20
29
  row: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/components/Field/Field.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,KAAK,CAAC;AAEjD,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,EAAE,WAAuB,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,UAAU,2CAGjF;AAED,eAAO,MAAM,YAAY;;;;;;CAMxB,CAAC"}
1
+ {"version":3,"file":"Field.d.ts","sourceRoot":"","sources":["../../../src/components/Field/Field.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC;;;GAGG;AACH,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,KAAK,CAAC;AAEjD,+BAA+B;AAC/B,MAAM,MAAM,UAAU,GAAG;IACvB,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,KAAK,CAAC,EAAE,WAAuB,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,UAAU,2CAGjF;AAED;;;GAGG;AACH,eAAO,MAAM,YAAY;;;;;;CAMxB,CAAC"}
@@ -1,5 +1,9 @@
1
1
  import { type ReactElement } from 'react';
2
2
  import { type GradientFill } from '@weasel-js/core';
3
+ /**
4
+ * Props for {@link GradientEditor}. `onInput` fires throughout a gesture and
5
+ * `onChange` once at its end.
6
+ */
3
7
  export interface GradientEditorProps {
4
8
  /** The gradient being edited. */
5
9
  value: GradientFill;
@@ -1 +1 @@
1
- {"version":3,"file":"GradientEditor.d.ts","sourceRoot":"","sources":["../../../src/components/GradientEditor/GradientEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAIL,KAAK,YAAY,EAElB,MAAM,iBAAiB,CAAC;AAgBzB,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,KAAK,EAAE,YAAY,CAAC;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC;0BACsB;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC;yDACqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CAoEvE"}
1
+ {"version":3,"file":"GradientEditor.d.ts","sourceRoot":"","sources":["../../../src/components/GradientEditor/GradientEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAIL,KAAK,YAAY,EAElB,MAAM,iBAAiB,CAAC;AAgBzB;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,KAAK,EAAE,YAAY,CAAC;IACpB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC;0BACsB;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC;yDACqD;IACrD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAID;;;;;;;;;;;;GAYG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,GAAG,YAAY,CAoEvE"}
@@ -7,6 +7,10 @@ interface Point {
7
7
  x: number;
8
8
  y: number;
9
9
  }
10
+ /**
11
+ * Props for {@link GradientHandles}. `onInput` fires throughout a drag and
12
+ * `onChange` once at its end.
13
+ */
10
14
  export interface GradientHandlesProps {
11
15
  /**
12
16
  * The gradient whose geometry these handles move, in a **resolved,
@@ -1 +1 @@
1
- {"version":3,"file":"GradientHandles.d.ts","sourceRoot":"","sources":["../../../src/components/GradientEditor/GradientHandles.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAC;AAClE,OAAO,EAAmC,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGrF;;yDAEyD;AACzD,UAAU,KAAK;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;OAUG;IACH,KAAK,EAAE,YAAY,CAAC;IACpB;;;OAGG;IACH,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC;IAC9B,+DAA+D;IAC/D,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC;IAC7B,sEAAsE;IACtE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,mDAAmD;IACnD,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,CAYzE"}
1
+ {"version":3,"file":"GradientHandles.d.ts","sourceRoot":"","sources":["../../../src/components/GradientEditor/GradientHandles.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,YAAY,EAAkB,MAAM,OAAO,CAAC;AAClE,OAAO,EAAmC,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAGrF;;yDAEyD;AACzD,UAAU,KAAK;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;;;;;;;OAUG;IACH,KAAK,EAAE,YAAY,CAAC;IACpB;;;OAGG;IACH,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC;IAC9B,+DAA+D;IAC/D,OAAO,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK,KAAK,CAAC;IAC7B,sEAAsE;IACtE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,mDAAmD;IACnD,QAAQ,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,GAAG,YAAY,CAYzE"}
@@ -1,2 +1,2 @@
1
- import { n as e, t } from "../../chunks/GradientEditor-BL5kg7a_.js";
1
+ import { n as e, t } from "../../chunks/GradientEditor-DeptQpWX.js";
2
2
  export { e as GradientEditor, t as GradientHandles };
@@ -1,5 +1,6 @@
1
1
  import { type ReactNode } from 'react';
2
2
  import { type TextFieldProps as RACTextFieldProps, type ValidationResult } from 'react-aria-components';
3
+ /** Props for {@link Input}, on top of React Aria's `TextField` props. */
3
4
  export type InputProps = Omit<RACTextFieldProps, 'children' | 'className'> & {
4
5
  label?: ReactNode;
5
6
  description?: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAC7D,OAAO,EAML,KAAK,cAAc,IAAI,iBAAiB,EACxC,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAI/B,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,WAAW,CAAC,GAAG;IAC3E,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,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK;YAhBR,SAAS;kBACH,SAAS;mBACR,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,KAAK,SAAS,CAAC;kBACjD,MAAM;uBACD,SAAS;wBACR,SAAS;gBACjB,MAAM;oDAyClB,CAAC"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAC7D,OAAO,EAML,KAAK,cAAc,IAAI,iBAAiB,EACxC,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAI/B,yEAAyE;AACzE,MAAM,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,WAAW,CAAC,GAAG;IAC3E,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,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,KAAK;YAhBR,SAAS;kBACH,SAAS;mBACR,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,KAAK,SAAS,CAAC;kBACjD,MAAM;uBACD,SAAS;wBACR,SAAS;gBACjB,MAAM;oDAyClB,CAAC"}
@@ -1,7 +1,17 @@
1
1
  import type { CSSProperties } from 'react';
2
+ /**
3
+ * Width class of a keycap: a modifier glyph, a multi-character legend that
4
+ * needs a wider chip, or a single character in a square one.
5
+ */
2
6
  export type KeycapKind = 'modifier' | 'wide' | 'square';
7
+ /**
8
+ * Picks the chip width for a legend — modifier glyphs and anything longer
9
+ * than one character get the wider forms.
10
+ */
3
11
  export declare function inferKeycapKind(label: string): KeycapKind;
12
+ /** Visual style of a keycap chip. */
4
13
  export type KeyCapVariant = 'default' | 'minimal';
14
+ /** Props for {@link KeyCap}. */
5
15
  export interface KeyCapProps {
6
16
  /** Glyph rendered in the chip (modifier or key). */
7
17
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"Keycap.d.ts","sourceRoot":"","sources":["../../../src/components/Keycaps/Keycap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM3C,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;AAExD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAKzD;AAED,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAElD,MAAM,WAAW,WAAW;IAC1B,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd;;;+DAG2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;uDAGmD;IACnD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;2DAGuD;IACvD,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;;2EAIuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;+CAC+C;AAC/C,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,QAAgB,EAAE,OAAmB,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,WAAW,2CAa3G"}
1
+ {"version":3,"file":"Keycap.d.ts","sourceRoot":"","sources":["../../../src/components/Keycaps/Keycap.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM3C;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;AAExD;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAKzD;AAED,qCAAqC;AACrC,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAElD,gCAAgC;AAChC,MAAM,WAAW,WAAW;IAC1B,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd;;;+DAG2D;IAC3D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;uDAGmD;IACnD,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;2DAGuD;IACvD,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;;;;2EAIuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;+CAC+C;AAC/C,wBAAgB,MAAM,CAAC,EAAE,KAAK,EAAE,QAAgB,EAAE,OAAmB,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,WAAW,2CAa3G"}
@@ -1,4 +1,5 @@
1
1
  import { type KeyCapVariant } from './Keycap';
2
+ /** One key in a shortcut. */
2
3
  export interface KeySpec {
3
4
  /** Glyph rendered in the chip (modifier or key). */
4
5
  label: string;
@@ -6,6 +7,7 @@ export interface KeySpec {
6
7
  * trigger the action (e.g. an optional modifier). Defaults to false. */
7
8
  optional?: boolean;
8
9
  }
10
+ /** Props for {@link KeySequence}. */
9
11
  export interface KeySequenceProps {
10
12
  /** Keys to render. `undefined` or empty renders a muted em-dash.
11
13
  * Modifiers are always rendered first regardless of input order; relative
@@ -1 +1 @@
1
- {"version":3,"file":"Keycaps.d.ts","sourceRoot":"","sources":["../../../src/components/Keycaps/Keycaps.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAEvE,MAAM,WAAW,OAAO;IACtB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd;6EACyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B;;gDAE4C;IAC5C,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;IACrC;;4CAEwC;IACxC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;mEAC+D;IAC/D,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;6CACyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;mEACmE;AACnE,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,SAAe,EAAE,OAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAwB5G"}
1
+ {"version":3,"file":"Keycaps.d.ts","sourceRoot":"","sources":["../../../src/components/Keycaps/Keycaps.tsx"],"names":[],"mappings":"AAEA,OAAO,EAA2B,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAEvE,6BAA6B;AAC7B,MAAM,WAAW,OAAO;IACtB,oDAAoD;IACpD,KAAK,EAAE,MAAM,CAAC;IACd;6EACyE;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B;;gDAE4C;IAC5C,IAAI,EAAE,SAAS,OAAO,EAAE,GAAG,SAAS,CAAC;IACrC;;4CAEwC;IACxC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B;mEAC+D;IAC/D,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB;6CACyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;mEACmE;AACnE,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,SAAe,EAAE,OAAmB,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAwB5G"}
@@ -17,12 +17,14 @@ export type Platform = 'macos' | 'windows' | 'linux';
17
17
  * back to text.
18
18
  * - `'text'` always spells the label out (Cmd / Option / Esc / Enter). */
19
19
  export type LegendStyle = 'auto' | 'symbol' | 'text';
20
+ /** A modifier to render, named platform-independently. */
20
21
  export interface LogicalModSpec {
21
22
  name: LogicalMod;
22
23
  /** Marks this modifier as optional (may be held but isn't required).
23
24
  * Forwarded as the resulting `KeySpec.optional`. */
24
25
  optional?: boolean;
25
26
  }
27
+ /** Options for {@link keySpecsFromMods}. */
26
28
  export interface KeySpecsFromModsOptions {
27
29
  /** Override OS detection. Defaults to the detected platform, or
28
30
  * `'macos'` when detection is unavailable (e.g. in tests, or when
@@ -1 +1 @@
1
- {"version":3,"file":"keySpecsFromMods.d.ts","sourceRoot":"","sources":["../../../src/components/Keycaps/keySpecsFromMods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;wEACwE;AACxE,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnE;+BAC+B;AAC/B,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAErD;;;;;;;;;;2EAU2E;AAC3E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAErD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB;yDACqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC;;mCAE+B;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;oBAEgB;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAgCD;;;kCAGkC;AAClC,wBAAgB,cAAc,IAAI,QAAQ,CASzC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,cAAc,EAAE,EAC/B,IAAI,GAAE,uBAA4B,GACjC,SAAS,OAAO,EAAE,CAOpB;AAuBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,uBAAuB,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1D,OAAO,CAMT"}
1
+ {"version":3,"file":"keySpecsFromMods.d.ts","sourceRoot":"","sources":["../../../src/components/Keycaps/keySpecsFromMods.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;wEACwE;AACxE,MAAM,MAAM,UAAU,GAAG,KAAK,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,GAAG,MAAM,CAAC;AAEnE;+BAC+B;AAC/B,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAErD;;;;;;;;;;2EAU2E;AAC3E,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAErD,0DAA0D;AAC1D,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,UAAU,CAAC;IACjB;yDACqD;IACrD,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,4CAA4C;AAC5C,MAAM,WAAW,uBAAuB;IACtC;;mCAE+B;IAC/B,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB;;oBAEgB;IAChB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAgCD;;;kCAGkC;AAClC,wBAAgB,cAAc,IAAI,QAAQ,CASzC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,SAAS,cAAc,EAAE,EAC/B,IAAI,GAAE,uBAA4B,GACjC,SAAS,OAAO,EAAE,CAOpB;AAuBD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,uBAAuB,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1D,OAAO,CAMT"}
@@ -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"}