@weasel-js/ui 1.4.4 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/dist/chunks/{BandEditor-CUlbOlJi.js → BandEditor-BeWO56_w.js} +1 -1
  2. package/dist/chunks/{BandEditor-CUlbOlJi.js.map → BandEditor-BeWO56_w.js.map} +1 -1
  3. package/dist/chunks/{Callout-Dvt6lqVn.js → Callout-BPIA2is-.js} +1 -1
  4. package/dist/chunks/{Callout-Dvt6lqVn.js.map → Callout-BPIA2is-.js.map} +1 -1
  5. package/dist/chunks/ComboBox-CPES6Y1i.js +138 -0
  6. package/dist/chunks/ComboBox-CPES6Y1i.js.map +1 -0
  7. package/dist/chunks/CurveEditor-Cj0lLiyR.js +533 -0
  8. package/dist/chunks/CurveEditor-Cj0lLiyR.js.map +1 -0
  9. package/dist/chunks/{DetentSlider-BpD7bgjN.js → DetentSlider-CYicfnKr.js} +2 -2
  10. package/dist/chunks/{DetentSlider-BpD7bgjN.js.map → DetentSlider-CYicfnKr.js.map} +1 -1
  11. package/dist/chunks/{GradientEditor-BLpAtMDK.js → GradientEditor-dBprHbS0.js} +2 -2
  12. package/dist/chunks/{GradientEditor-BLpAtMDK.js.map → GradientEditor-dBprHbS0.js.map} +1 -1
  13. package/dist/chunks/MenuButton-Do8fFUx1.js +60 -0
  14. package/dist/chunks/MenuButton-Do8fFUx1.js.map +1 -0
  15. package/dist/chunks/NumberField-BWzhqS19.js +112 -0
  16. package/dist/chunks/NumberField-BWzhqS19.js.map +1 -0
  17. package/dist/chunks/{PaintInput-B7AScmHN.js → PaintInput-DAevU7fd.js} +2 -2
  18. package/dist/chunks/{PaintInput-B7AScmHN.js.map → PaintInput-DAevU7fd.js.map} +1 -1
  19. package/dist/chunks/Plot2D-CVZwQpWJ.js +292 -0
  20. package/dist/chunks/Plot2D-CVZwQpWJ.js.map +1 -0
  21. package/dist/chunks/{PointPlotter-CbDKVggs.js → PointPlotter-anTHwz8f.js} +2 -2
  22. package/dist/chunks/PointPlotter-anTHwz8f.js.map +1 -0
  23. package/dist/chunks/Prefs-CzIn-hlq.js +302 -0
  24. package/dist/chunks/Prefs-CzIn-hlq.js.map +1 -0
  25. package/dist/chunks/Properties-DJaDEJkT.js +765 -0
  26. package/dist/chunks/Properties-DJaDEJkT.js.map +1 -0
  27. package/dist/chunks/{ResizeHandle-BrCO0JrH.js → ResizeHandle-CiExUWP-.js} +1 -1
  28. package/dist/chunks/{ResizeHandle-BrCO0JrH.js.map → ResizeHandle-CiExUWP-.js.map} +1 -1
  29. package/dist/chunks/{SelectionPanel-C59wavdA.js → SelectionPanel-CbyUT3Dh.js} +204 -194
  30. package/dist/chunks/SelectionPanel-CbyUT3Dh.js.map +1 -0
  31. package/dist/chunks/{Sidebar-BvwjZiFm.js → Sidebar-Cqcfx3_s.js} +1 -1
  32. package/dist/chunks/{Sidebar-BvwjZiFm.js.map → Sidebar-Cqcfx3_s.js.map} +1 -1
  33. package/dist/chunks/{SidebarPanel-D5Ua2vyP.js → SidebarPanel-BLzBo0S2.js} +1 -1
  34. package/dist/chunks/{SidebarPanel-D5Ua2vyP.js.map → SidebarPanel-BLzBo0S2.js.map} +1 -1
  35. package/dist/chunks/{Slider-Bs-KSYgQ.js → Slider--DFRC_hc.js} +2 -2
  36. package/dist/chunks/{Slider-Bs-KSYgQ.js.map → Slider--DFRC_hc.js.map} +1 -1
  37. package/dist/chunks/{StatusBar-Bqv4D0dW.js → StatusBar-B9NQ8atD.js} +1 -1
  38. package/dist/chunks/{StatusBar-Bqv4D0dW.js.map → StatusBar-B9NQ8atD.js.map} +1 -1
  39. package/dist/chunks/{Tabs-BT3CDkoQ.js → Tabs-9sODd2Ut.js} +1 -1
  40. package/dist/chunks/{Tabs-BT3CDkoQ.js.map → Tabs-9sODd2Ut.js.map} +1 -1
  41. package/dist/chunks/Timeline-DOZgb1CG.js +915 -0
  42. package/dist/chunks/Timeline-DOZgb1CG.js.map +1 -0
  43. package/dist/chunks/{Toast-B7ylq7fz.js → Toast-LpN1WK8E.js} +1 -1
  44. package/dist/chunks/{Toast-B7ylq7fz.js.map → Toast-LpN1WK8E.js.map} +1 -1
  45. package/dist/chunks/{ToolButton-CtDkqUIc.js → ToolButton-B81YjdwO.js} +1 -1
  46. package/dist/chunks/{ToolButton-CtDkqUIc.js.map → ToolButton-B81YjdwO.js.map} +1 -1
  47. package/dist/chunks/{ToolGroup-zDtqt0QJ.js → ToolGroup-D7juDOC_.js} +1 -1
  48. package/dist/chunks/{ToolGroup-zDtqt0QJ.js.map → ToolGroup-D7juDOC_.js.map} +1 -1
  49. package/dist/chunks/{ToolPalette-BbrMHfQ9.js → ToolPalette-BSzmRJS7.js} +3 -3
  50. package/dist/chunks/{ToolPalette-BbrMHfQ9.js.map → ToolPalette-BSzmRJS7.js.map} +1 -1
  51. package/dist/chunks/createKeyframeLayer-AL4jP0EX.js +694 -0
  52. package/dist/chunks/createKeyframeLayer-AL4jP0EX.js.map +1 -0
  53. package/dist/chunks/number-f6PydOZK.js +52 -0
  54. package/dist/chunks/number-f6PydOZK.js.map +1 -0
  55. package/dist/chunks/{schema-CtWwGbqJ.js → schema-CPdFNeP6.js} +15 -9
  56. package/dist/chunks/schema-CPdFNeP6.js.map +1 -0
  57. package/dist/components/BandEditor/index.js +1 -1
  58. package/dist/components/Callout/index.js +1 -1
  59. package/dist/components/ComboBox/ComboBox.d.ts +36 -0
  60. package/dist/components/ComboBox/ComboBox.d.ts.map +1 -1
  61. package/dist/components/ComboBox/index.d.ts +1 -1
  62. package/dist/components/ComboBox/index.d.ts.map +1 -1
  63. package/dist/components/ComboBox/index.js +1 -1
  64. package/dist/components/CurveEditor/CurveEditor.d.ts +4 -2
  65. package/dist/components/CurveEditor/CurveEditor.d.ts.map +1 -1
  66. package/dist/components/CurveEditor/LayeredCurveEditor.d.ts +8 -1
  67. package/dist/components/CurveEditor/LayeredCurveEditor.d.ts.map +1 -1
  68. package/dist/components/CurveEditor/createFunctionLayer.d.ts +2 -0
  69. package/dist/components/CurveEditor/createFunctionLayer.d.ts.map +1 -1
  70. package/dist/components/CurveEditor/createKeyframeLayer.d.ts +70 -0
  71. package/dist/components/CurveEditor/createKeyframeLayer.d.ts.map +1 -0
  72. package/dist/components/CurveEditor/index.d.ts +3 -1
  73. package/dist/components/CurveEditor/index.d.ts.map +1 -1
  74. package/dist/components/CurveEditor/index.js +3 -2
  75. package/dist/components/CurveEditor/layerTypes.d.ts +8 -3
  76. package/dist/components/CurveEditor/layerTypes.d.ts.map +1 -1
  77. package/dist/components/CurveEditor/snap.d.ts +3 -0
  78. package/dist/components/CurveEditor/snap.d.ts.map +1 -0
  79. package/dist/components/DetentSlider/index.js +1 -1
  80. package/dist/components/GradientEditor/index.js +1 -1
  81. package/dist/components/MenuButton/MenuButton.d.ts +29 -0
  82. package/dist/components/MenuButton/MenuButton.d.ts.map +1 -0
  83. package/dist/components/MenuButton/index.d.ts +3 -0
  84. package/dist/components/MenuButton/index.d.ts.map +1 -0
  85. package/dist/components/MenuButton/index.js +2 -0
  86. package/dist/components/NumberField/UnitField.d.ts +30 -0
  87. package/dist/components/NumberField/UnitField.d.ts.map +1 -0
  88. package/dist/components/NumberField/index.d.ts +2 -0
  89. package/dist/components/NumberField/index.d.ts.map +1 -1
  90. package/dist/components/NumberField/index.js +2 -2
  91. package/dist/components/PaintInput/index.js +1 -1
  92. package/dist/components/Plot2D/Plot2D.d.ts +38 -2
  93. package/dist/components/Plot2D/Plot2D.d.ts.map +1 -1
  94. package/dist/components/Plot2D/index.d.ts +2 -1
  95. package/dist/components/Plot2D/index.d.ts.map +1 -1
  96. package/dist/components/Plot2D/index.js +2 -2
  97. package/dist/components/Plot2D/ticks.d.ts +43 -0
  98. package/dist/components/Plot2D/ticks.d.ts.map +1 -0
  99. package/dist/components/PointPlotter/PointPlotter.d.ts +3 -1
  100. package/dist/components/PointPlotter/PointPlotter.d.ts.map +1 -1
  101. package/dist/components/PointPlotter/index.js +1 -1
  102. package/dist/components/Prefs/PrefsForm.d.ts.map +1 -1
  103. package/dist/components/Prefs/index.d.ts +1 -1
  104. package/dist/components/Prefs/index.d.ts.map +1 -1
  105. package/dist/components/Prefs/index.js +3 -3
  106. package/dist/components/Prefs/schema.d.ts +5 -2
  107. package/dist/components/Prefs/schema.d.ts.map +1 -1
  108. package/dist/components/Properties/PropertyPanel.d.ts +15 -6
  109. package/dist/components/Properties/PropertyPanel.d.ts.map +1 -1
  110. package/dist/components/Properties/index.js +1 -1
  111. package/dist/components/ResizeHandle/index.js +1 -1
  112. package/dist/components/SelectionPanel/index.js +1 -1
  113. package/dist/components/Sidebar/index.js +1 -1
  114. package/dist/components/SidebarPanel/index.js +1 -1
  115. package/dist/components/Slider/index.js +1 -1
  116. package/dist/components/StatusBar/index.js +1 -1
  117. package/dist/components/Tabs/index.js +1 -1
  118. package/dist/components/Timeline/Lane.d.ts +9 -7
  119. package/dist/components/Timeline/Lane.d.ts.map +1 -1
  120. package/dist/components/Timeline/LaneGraph.d.ts +24 -0
  121. package/dist/components/Timeline/LaneGraph.d.ts.map +1 -0
  122. package/dist/components/Timeline/Ruler.d.ts.map +1 -1
  123. package/dist/components/Timeline/Timeline.d.ts.map +1 -1
  124. package/dist/components/Timeline/index.js +1 -1
  125. package/dist/components/Timeline/keys.d.ts +4 -3
  126. package/dist/components/Timeline/keys.d.ts.map +1 -1
  127. package/dist/components/Timeline/timeScale.d.ts +2 -0
  128. package/dist/components/Timeline/timeScale.d.ts.map +1 -1
  129. package/dist/components/Toast/index.js +1 -1
  130. package/dist/components/ToolButton/index.js +1 -1
  131. package/dist/components/ToolGroup/index.js +1 -1
  132. package/dist/components/ToolPalette/index.js +1 -1
  133. package/dist/format/number.d.ts +16 -0
  134. package/dist/format/number.d.ts.map +1 -1
  135. package/dist/index.d.ts +4 -1
  136. package/dist/index.d.ts.map +1 -1
  137. package/dist/index.js +99 -64
  138. package/dist/index.js.map +1 -1
  139. package/dist/style.css +1 -1
  140. package/dist/useAsyncOptions.d.ts +38 -0
  141. package/dist/useAsyncOptions.d.ts.map +1 -0
  142. package/package.json +7 -6
  143. package/dist/chunks/ComboBox-BBRRWvdc.js +0 -107
  144. package/dist/chunks/ComboBox-BBRRWvdc.js.map +0 -1
  145. package/dist/chunks/CurveEditor-DtjdpJVB.js +0 -784
  146. package/dist/chunks/CurveEditor-DtjdpJVB.js.map +0 -1
  147. package/dist/chunks/NumberField-DBowmOfe.js +0 -62
  148. package/dist/chunks/NumberField-DBowmOfe.js.map +0 -1
  149. package/dist/chunks/Plot2D-C97pO13t.js +0 -134
  150. package/dist/chunks/Plot2D-C97pO13t.js.map +0 -1
  151. package/dist/chunks/PointPlotter-CbDKVggs.js.map +0 -1
  152. package/dist/chunks/Prefs-4JSEtuU-.js +0 -294
  153. package/dist/chunks/Prefs-4JSEtuU-.js.map +0 -1
  154. package/dist/chunks/Properties-BpUYKi7-.js +0 -758
  155. package/dist/chunks/Properties-BpUYKi7-.js.map +0 -1
  156. package/dist/chunks/SelectionPanel-C59wavdA.js.map +0 -1
  157. package/dist/chunks/Timeline-Bz806JbE.js +0 -908
  158. package/dist/chunks/Timeline-Bz806JbE.js.map +0 -1
  159. package/dist/chunks/number-Bv1nbhOJ.js +0 -18
  160. package/dist/chunks/number-Bv1nbhOJ.js.map +0 -1
  161. package/dist/chunks/schema-CtWwGbqJ.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import { n as e, r as t, t as n } from "../../chunks/GradientEditor-BLpAtMDK.js";
1
+ import { n as e, r as t, t as n } from "../../chunks/GradientEditor-dBprHbS0.js";
2
2
  export { t as GradientEditor, e as GradientHandles, n as SceneGradientHandles };
@@ -0,0 +1,29 @@
1
+ import type { ReactNode } from 'react';
2
+ import { type OverlayPortalProps } from '../../overlays/portalHost';
3
+ /** One row in a {@link MenuButton}'s list. */
4
+ export type MenuButtonItem<T extends string = string> = {
5
+ value: T;
6
+ label: ReactNode;
7
+ isDisabled?: boolean;
8
+ /** Plain-text form of `label`, for type-to-select and screen readers. A
9
+ * string label supplies this itself. */
10
+ textValue?: string;
11
+ };
12
+ /** Props for {@link MenuButton}. */
13
+ export type MenuButtonProps<T extends string = string> = {
14
+ /** What the button says. It never changes to show a chosen row. */
15
+ label: ReactNode;
16
+ items: ReadonlyArray<MenuButtonItem<T>>;
17
+ /** Fired with the value of the row chosen. */
18
+ onAction: (value: T) => void;
19
+ isDisabled?: boolean;
20
+ className?: string;
21
+ 'aria-label'?: string;
22
+ } & OverlayPortalProps;
23
+ /**
24
+ * A button that opens a list and acts on the row chosen — "Add trial…",
25
+ * "Load…". Unlike a {@link Select} it holds no value, so it sizes to its own
26
+ * label rather than to its widest row.
27
+ */
28
+ export declare function MenuButton<T extends string = string>({ label, items, onAction, isDisabled, className, 'aria-label': ariaLabel, portalContainer, }: MenuButtonProps<T>): import("react/jsx-runtime").JSX.Element;
29
+ //# sourceMappingURL=MenuButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuButton.d.ts","sourceRoot":"","sources":["../../../src/components/MenuButton/MenuButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQvC,OAAO,EAAoB,KAAK,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAGtF,8CAA8C;AAC9C,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IACtD,KAAK,EAAE,CAAC,CAAC;IACT,KAAK,EAAE,SAAS,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;6CACyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,oCAAoC;AACpC,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IACvD,mEAAmE;IACnE,KAAK,EAAE,SAAS,CAAC;IACjB,KAAK,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;IACxC,8CAA8C;IAC9C,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,GAAG,kBAAkB,CAAC;AAEvB;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,EACpD,KAAK,EACL,KAAK,EACL,QAAQ,EACR,UAAU,EACV,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,eAAe,GAChB,EAAE,eAAe,CAAC,CAAC,CAAC,2CAkCpB"}
@@ -0,0 +1,3 @@
1
+ export { MenuButton } from './MenuButton';
2
+ export type { MenuButtonItem, MenuButtonProps } from './MenuButton';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/MenuButton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { t as e } from "../../chunks/MenuButton-Do8fFUx1.js";
2
+ export { e as MenuButton };
@@ -0,0 +1,30 @@
1
+ /** Props for {@link UnitField}. */
2
+ export interface UnitFieldProps {
3
+ /** The value in the unit the field shows. NaN shows an empty field. */
4
+ value: number;
5
+ /** Fired with a value the field read and clamped, in the unit it shows. */
6
+ onChange: (value: number) => void;
7
+ minValue?: number;
8
+ maxValue?: number;
9
+ /** What an arrow key adds or takes away. Defaults to 1. */
10
+ step?: number;
11
+ /** Units a person may type, each mapped to the factor that turns a number
12
+ * in it into the unit the field shows: `{ mm: 0.1, cm: 1 }`. */
13
+ accepts?: Readonly<Record<string, number>>;
14
+ placeholder?: string;
15
+ /** Render with no box until focused, as {@link NumberField}'s `ghost` does. */
16
+ ghost?: boolean;
17
+ /** As {@link NumberField}'s `width`. */
18
+ width?: 'fill' | 'fit';
19
+ className?: string;
20
+ 'aria-label'?: string;
21
+ }
22
+ /**
23
+ * A number typed as text, so it can carry a unit: `12mm` in a field showing
24
+ * centimeters commits `1.2`. Commits on blur or Enter, reverts on Escape or on
25
+ * text it cannot read, clamps to its bounds, and steps with the arrow keys.
26
+ * React Aria's `NumberField` refuses letters as they are typed, which is why
27
+ * this is not that.
28
+ */
29
+ export declare function UnitField({ value, onChange, minValue, maxValue, step, accepts, placeholder, ghost, width, className, 'aria-label': ariaLabel, }: UnitFieldProps): import("react/jsx-runtime").JSX.Element;
30
+ //# sourceMappingURL=UnitField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UnitField.d.ts","sourceRoot":"","sources":["../../../src/components/NumberField/UnitField.tsx"],"names":[],"mappings":"AAKA,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;qEACiE;IACjE,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,IAAQ,EACR,OAAO,EACP,WAAW,EACX,KAAK,EACL,KAAc,EACd,SAAS,EACT,YAAY,EAAE,SAAS,GACxB,EAAE,cAAc,2CAwDhB"}
@@ -1,3 +1,5 @@
1
1
  export { NumberField } from './NumberField';
2
2
  export type { NumberFieldProps } from './NumberField';
3
+ export { UnitField } from './UnitField';
4
+ export type { UnitFieldProps } from './UnitField';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/NumberField/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/NumberField/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC"}
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/NumberField-DBowmOfe.js";
2
- export { e as NumberField };
1
+ import { n as e, t } from "../../chunks/NumberField-BWzhqS19.js";
2
+ export { e as NumberField, t as UnitField };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/PaintInput-B7AScmHN.js";
1
+ import { t as e } from "../../chunks/PaintInput-DAevU7fd.js";
2
2
  export { e as PaintInput };
@@ -1,5 +1,6 @@
1
1
  import { type CSSProperties, type KeyboardEvent as ReactKeyboardEvent, type PointerEvent as ReactPointerEvent, type ReactNode } from 'react';
2
2
  import { type Point } from './geometry';
3
+ import { type TickFormatter } from './ticks';
3
4
  /** Background grid configuration for a {@link Plot2D}. */
4
5
  export interface GridSettings {
5
6
  /** Number of evenly-spaced internal grid lines per axis (excluding
@@ -13,6 +14,33 @@ export interface AxesSettings {
13
14
  /** Stroke color override. When omitted, uses `var(--plot-axis)`. */
14
15
  color?: string;
15
16
  }
17
+ /**
18
+ * Ticks along one axis of a {@link Plot2D}: a line across the plot at each
19
+ * tick value, and a label naming it. Every label in a column is formatted
20
+ * to the same number of decimal places.
21
+ */
22
+ export interface TickSettings {
23
+ /** Tick values in model space; any outside the range are skipped.
24
+ * Omitted = round 1/2/5 steps, as many as `minSpacing` allows at the
25
+ * plot's current size. */
26
+ values?: readonly number[];
27
+ /** Smallest gap between generated ticks, in px. Default 24 on y, 64 on x. */
28
+ minSpacing?: number;
29
+ /** A generated tick nearer either end of the axis than this is dropped,
30
+ * so its label stays on the plot, in px. Default 4 on y, 16 on x. */
31
+ inset?: number;
32
+ /** Draw a line across the plot at each tick. Default true. */
33
+ lines?: boolean;
34
+ /** Where labels sit: `'inside'` the plot along its left (y) or bottom (x)
35
+ * edge, `'outside'` it past that edge in space the caller leaves free,
36
+ * or `false` for none. Default `'inside'`. */
37
+ labels?: 'inside' | 'outside' | false;
38
+ /** Space between a label and the plot edge it sits against, in px.
39
+ * Default 4. */
40
+ gap?: number;
41
+ /** Label text for a tick. Default {@link formatTick}. */
42
+ format?: TickFormatter;
43
+ }
16
44
  /** A pointer position given in both of the plot's coordinate systems. */
17
45
  export interface Plot2DCoords {
18
46
  plot: Point;
@@ -32,8 +60,16 @@ export interface Plot2DProps {
32
60
  /** Axis lines. `false` / `null` = no axes. Omitted = default-styled
33
61
  * axes (on). Pass AxesSettings to customize. */
34
62
  axes?: AxesSettings | false | null;
63
+ /** Ticks at x values. `false` / `null` / omitted = none; `{}` = defaults. */
64
+ xTicks?: TickSettings | false | null;
65
+ /** Ticks at y values. `false` / `null` / omitted = none; `{}` = defaults. */
66
+ yTicks?: TickSettings | false | null;
35
67
  /** Forwarded to the underlying svg. Consumer opts into focus this way. */
36
68
  tabIndex?: number;
69
+ /** Default `'img'`. A plot holding focusable marks must not be an image,
70
+ * whose children are presentational to assistive technology. */
71
+ role?: string;
72
+ 'aria-label'?: string;
37
73
  className?: string;
38
74
  style?: CSSProperties;
39
75
  /** Pointer down on the SVG. Receives both plot- and model-space coords
@@ -66,8 +102,8 @@ export interface Plot2DHandle {
66
102
  readonly height: number;
67
103
  }
68
104
  /**
69
- * An SVG plotting surface with an optional grid and axes. It draws the frame
70
- * and owns the model-space to plot-space mapping; the plotted content is
105
+ * An SVG plotting surface with an optional grid, axes and ticks. It draws the
106
+ * frame and owns the model-space to plot-space mapping; the plotted content is
71
107
  * whatever children are passed, positioned in plot space.
72
108
  */
73
109
  export declare const Plot2D: import("react").ForwardRefExoticComponent<Plot2DProps & import("react").RefAttributes<Plot2DHandle>>;
@@ -1 +1 @@
1
- {"version":3,"file":"Plot2D.d.ts","sourceRoot":"","sources":["../../../src/components/Plot2D/Plot2D.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,aAAa,IAAI,kBAAkB,EACxC,KAAK,YAAY,IAAI,iBAAiB,EACtC,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAEY,KAAK,KAAK,EAC5B,MAAM,YAAY,CAAC;AAIpB,0DAA0D;AAC1D,MAAM,WAAW,YAAY;IAC3B;0DACsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,oDAAoD;AACpD,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;CACd;AAED,gCAAgC;AAChC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;wEACoE;IACpE,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC;qDACiD;IACjD,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;2EACuE;IACvE,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACpF,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC3D,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC;IAC9B,WAAW,CAAC,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC;IAC9B;kDAC8C;IAC9C,YAAY,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;IAC7D,+CAA+C;IAC/C,aAAa,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,eAAO,MAAM,MAAM,sGA6HjB,CAAC"}
1
+ {"version":3,"file":"Plot2D.d.ts","sourceRoot":"","sources":["../../../src/components/Plot2D/Plot2D.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,aAAa,IAAI,kBAAkB,EACxC,KAAK,YAAY,IAAI,iBAAiB,EACtC,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAEY,KAAK,KAAK,EAC5B,MAAM,YAAY,CAAC;AACpB,OAAO,EAEe,KAAK,aAAa,EACvC,MAAM,SAAS,CAAC;AAIjB,0DAA0D;AAC1D,MAAM,WAAW,YAAY;IAC3B;0DACsD;IACtD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,oDAAoD;AACpD,MAAM,WAAW,YAAY;IAC3B,oEAAoE;IACpE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B;;+BAE2B;IAC3B,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3B,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;0EACsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB;;mDAE+C;IAC/C,MAAM,CAAC,EAAE,QAAQ,GAAG,SAAS,GAAG,KAAK,CAAC;IACtC;qBACiB;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB;AAED,yEAAyE;AACzE,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;CACd;AAED,gCAAgC;AAChC,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC;wEACoE;IACpE,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC;qDACiD;IACjD,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,6EAA6E;IAC7E,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC,6EAA6E;IAC7E,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;qEACiE;IACjE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB;2EACuE;IACvE,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACpF,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;IAC3D,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,GAAG,EAAE,aAAa,GAAG,IAAI,CAAC;IACnC,WAAW,CAAC,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC;IAC9B,WAAW,CAAC,EAAE,EAAE,KAAK,GAAG,KAAK,CAAC;IAC9B;kDAC8C;IAC9C,YAAY,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;IAC7D,+CAA+C;IAC/C,aAAa,CAAC,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,KAAK,CAAC;IAC9D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AA4CD;;;;GAIG;AACH,eAAO,MAAM,MAAM,sGA4NjB,CAAC"}
@@ -1,3 +1,4 @@
1
- export { Plot2D, type Plot2DProps, type Plot2DHandle, type Plot2DCoords, type GridSettings, type AxesSettings, } from './Plot2D';
1
+ export { Plot2D, type Plot2DProps, type Plot2DHandle, type Plot2DCoords, type GridSettings, type AxesSettings, type TickSettings, } from './Plot2D';
2
+ export { niceStep, niceTicks, stepDecimals, tickDecimals, formatTick, type NiceTickOptions, type TickFormatCtx, type TickFormatter, type TickSet, } from './ticks';
2
3
  export { modelToPlot, plotToModel, type Point, type ModelRange, type PlotSize, } from './geometry';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Plot2D/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,WAAW,EACX,WAAW,EACX,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,QAAQ,GACd,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Plot2D/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,KAAK,WAAW,EAChB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,YAAY,GAClB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,OAAO,GACb,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,WAAW,EACX,WAAW,EACX,KAAK,KAAK,EACV,KAAK,UAAU,EACf,KAAK,QAAQ,GACd,MAAM,YAAY,CAAC"}
@@ -1,2 +1,2 @@
1
- import { n as e, r as t, t as n } from "../../chunks/Plot2D-C97pO13t.js";
2
- export { n as Plot2D, e as modelToPlot, t as plotToModel };
1
+ import { a as e, c as t, i as n, n as r, o as i, r as a, s as o, t as s } from "../../chunks/Plot2D-CVZwQpWJ.js";
2
+ export { s as Plot2D, r as formatTick, o as modelToPlot, a as niceStep, n as niceTicks, t as plotToModel, e as stepDecimals, i as tickDecimals };
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Tick placement for a numeric axis. Pure — no DOM, no React.
3
+ */
4
+ /** What a tick label formatter knows about the column it is part of. */
5
+ export interface TickFormatCtx {
6
+ /** Places after the point that every label in the column shares. */
7
+ decimals: number;
8
+ /** Distance between neighboring ticks, or 0 when the ticks were given
9
+ * explicitly and are not evenly spaced. */
10
+ step: number;
11
+ }
12
+ /** Turns a tick value into its label. */
13
+ export type TickFormatter = (value: number, ctx: TickFormatCtx) => string;
14
+ /** A column of ticks and the facts its labels share. */
15
+ export interface TickSet {
16
+ values: number[];
17
+ step: number;
18
+ decimals: number;
19
+ }
20
+ /** Options for {@link niceTicks}. */
21
+ export interface NiceTickOptions {
22
+ /** Smallest gap between neighboring ticks, in px. */
23
+ minSpacing: number;
24
+ /** Ticks closer than this to either end of the axis are dropped, in px.
25
+ * Default 0. */
26
+ inset?: number;
27
+ }
28
+ /** The smallest of 1, 2 or 5 times a power of ten that is at least `rough`. */
29
+ export declare function niceStep(rough: number): number;
30
+ /** Places after the point a multiple of `step` needs, for a 1/2/5 step. */
31
+ export declare function stepDecimals(step: number): number;
32
+ /** The most places after the point any of `values` needs. */
33
+ export declare function tickDecimals(values: readonly number[]): number;
34
+ /**
35
+ * Ticks at round values across `range`, drawn `pixels` long: the finest
36
+ * 1/2/5 step that keeps neighbors `minSpacing` px apart, so a taller plot
37
+ * gets more of them.
38
+ */
39
+ export declare function niceTicks(range: readonly [number, number], pixels: number, options: NiceTickOptions): TickSet;
40
+ /** The default label: `value` fixed to the column's shared decimals, with
41
+ * no negative zero. */
42
+ export declare function formatTick(value: number, ctx: TickFormatCtx): string;
43
+ //# sourceMappingURL=ticks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ticks.d.ts","sourceRoot":"","sources":["../../../src/components/Plot2D/ticks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,wEAAwE;AACxE,MAAM,WAAW,aAAa;IAC5B,oEAAoE;IACpE,QAAQ,EAAE,MAAM,CAAC;IACjB;gDAC4C;IAC5C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,yCAAyC;AACzC,MAAM,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,KAAK,MAAM,CAAC;AAE1E,wDAAwD;AACxD,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qCAAqC;AACrC,MAAM,WAAW,eAAe;IAC9B,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;IACnB;qBACiB;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAID,+EAA+E;AAC/E,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAK9C;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGjD;AAED,6DAA6D;AAC7D,wBAAgB,YAAY,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAS9D;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,EAChC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,eAAe,GACvB,OAAO,CAoBT;AAED;wBACwB;AACxB,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,aAAa,GAAG,MAAM,CAGpE"}
@@ -1,6 +1,6 @@
1
1
  import type { CSSProperties, ReactNode } from 'react';
2
2
  import { type AnchorRenderProps, type ControlPoint } from '../CurveEditor';
3
- import type { GridSettings, AxesSettings } from '../Plot2D';
3
+ import type { GridSettings, AxesSettings, TickSettings } from '../Plot2D';
4
4
  /** Props for {@link PointPlotter}. */
5
5
  export interface PointPlotterProps {
6
6
  /** Plotted points; caller-owned. */
@@ -18,6 +18,8 @@ export interface PointPlotterProps {
18
18
  height: number;
19
19
  grid?: GridSettings | false | null;
20
20
  axes?: AxesSettings | false | null;
21
+ xTicks?: TickSettings | false | null;
22
+ yTicks?: TickSettings | false | null;
21
23
  /** Minimum allowed point count. User-initiated deletion is refused
22
24
  * while `value.length <= minPoints`. */
23
25
  minPoints?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"PointPlotter.d.ts","sourceRoot":"","sources":["../../../src/components/PointPlotter/PointPlotter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAElB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE5D,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,oCAAoC;IACpC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,mEAAmE;IACnE,OAAO,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IACxC;2EACuE;IACvE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,YAAY,EAAE,KAAK,IAAI,CAAC;IACzE,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC;6CACyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;6CACyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;yCACqC;IACrC,YAAY,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IACvC;iEAC6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,SAAS,CAAC;IACtD,4EAA4E;IAC5E,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CASpD"}
1
+ {"version":3,"file":"PointPlotter.d.ts","sourceRoot":"","sources":["../../../src/components/PointPlotter/PointPlotter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACtD,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAElB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE1E,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,oCAAoC;IACpC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IAC/B,mEAAmE;IACnE,OAAO,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,KAAK,IAAI,CAAC;IACxC;2EACuE;IACvE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,SAAS,YAAY,EAAE,KAAK,IAAI,CAAC;IACzE,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,2CAA2C;IAC3C,MAAM,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACnC,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC,MAAM,CAAC,EAAE,YAAY,GAAG,KAAK,GAAG,IAAI,CAAC;IACrC;6CACyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;6CACyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;yCACqC;IACrC,YAAY,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC;IACvC;iEAC6D;IAC7D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kEAAkE;IAClE,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,SAAS,CAAC;IACtD,4EAA4E;IAC5E,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CASpD"}
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/PointPlotter-CbDKVggs.js";
1
+ import { t as e } from "../../chunks/PointPlotter-anTHwz8f.js";
2
2
  export { e as PointPlotter };
@@ -1 +1 @@
1
- {"version":3,"file":"PrefsForm.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/PrefsForm.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAchD,OAAO,EAKL,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,UAAU,CAAC;AAGlB,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,IAAI,EAAE,QAAQ,CAAC;IACf,0EAA0E;IAC1E,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CACpC;AAED;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,GAAG,EAAE,iBAAiB,KAAK,SAAS,CAAC;AAEjE,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,0EAA0E;IAC1E,MAAM,EAAE,SAAS,CAAC;IAClB;8DAC0D;IAC1D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;0CACsC;IACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IACzC,2DAA2D;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CAsB9C"}
1
+ {"version":3,"file":"PrefsForm.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/PrefsForm.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAchD,OAAO,EAML,KAAK,SAAS,EACd,KAAK,QAAQ,EACd,MAAM,UAAU,CAAC;AAGlB,yEAAyE;AACzE,MAAM,WAAW,iBAAiB;IAChC,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,0EAA0E;IAC1E,IAAI,EAAE,QAAQ,CAAC;IACf,0EAA0E;IAC1E,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;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,4 +1,4 @@
1
1
  export { PrefsForm, type PrefsFormProps, type PrefRenderer, type PrefRenderContext } from './PrefsForm';
2
2
  export { PrefsDialog, type PrefsDialogProps } from './PrefsDialog';
3
- export { isPrefLeaf, prefDisplayBounds, prefValueAtPath, visiblePrefSubtree, type BuiltinPref, type PrefBoolean, type PrefBooleanControl, type PrefColor, type PrefCustom, type PrefEnum, type PrefEnumControl, type PrefEnumEncoding, type PrefGroup, type PrefKind, type PrefLeaf, type PrefNumber, type PrefNumberControl, type PrefNumberUnit, type PrefPaint, type PrefObject, type PrefString, type PrefStringControl, } from './schema';
3
+ export { isPrefLeaf, prefDisplayBounds, prefValueAtPath, visiblePrefSubtree, type BuiltinPref, type PrefBoolean, type PrefBooleanControl, type PrefColor, type PrefCustom, type PrefEnum, type PrefEnumControl, type PrefEnumEncoding, type PrefGroup, type PrefKind, type PrefLeaf, type PrefNumber, type PrefNumberControl, type PrefNumberFormat, type PrefNumberUnit, type PrefPaint, type PrefObject, type PrefString, type PrefStringControl, } from './schema';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxG,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,iBAAiB,GACvB,MAAM,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACxG,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,kBAAkB,EAClB,KAAK,WAAW,EAChB,KAAK,WAAW,EAChB,KAAK,kBAAkB,EACvB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,gBAAgB,EACrB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,UAAU,EACf,KAAK,iBAAiB,GACvB,MAAM,UAAU,CAAC"}
@@ -1,3 +1,3 @@
1
- import { n as e, t } from "../../chunks/Prefs-4JSEtuU-.js";
2
- import { i as n, n as r, r as i, t as a } from "../../chunks/schema-CtWwGbqJ.js";
3
- export { t as PrefsDialog, e as PrefsForm, a as isPrefLeaf, r as prefDisplayBounds, i as prefValueAtPath, n as visiblePrefSubtree };
1
+ import { n as e, t } from "../../chunks/Prefs-CzIn-hlq.js";
2
+ import { a as n, i as r, n as i, t as a } from "../../chunks/schema-CPdFNeP6.js";
3
+ export { t as PrefsDialog, e as PrefsForm, a as isPrefLeaf, i as prefDisplayBounds, r as prefValueAtPath, n as visiblePrefSubtree };
@@ -1,5 +1,5 @@
1
- export type { ToolPref as BuiltinPref, ToolPrefBoolean as PrefBoolean, ToolPrefBooleanControl as PrefBooleanControl, ToolPrefColor as PrefColor, ToolPrefCustom as PrefCustom, ToolPrefEnum as PrefEnum, ToolPrefEnumControl as PrefEnumControl, ToolPrefEnumEncoding as PrefEnumEncoding, ToolPrefGroup as PrefGroup, ToolPrefKind as PrefKind, ToolPrefLeaf as PrefLeaf, ToolPrefNumber as PrefNumber, ToolPrefNumberControl as PrefNumberControl, ToolPrefNumberUnit as PrefNumberUnit, ToolPrefObject as PrefObject, ToolPrefPaint as PrefPaint, ToolPrefString as PrefString, ToolPrefStringControl as PrefStringControl, } from '@weasel-js/core';
2
- import type { ToolPrefGroup, ToolPrefLeaf, ToolPrefNumber } from '@weasel-js/core';
1
+ export type { ToolPref as BuiltinPref, ToolPrefBoolean as PrefBoolean, ToolPrefBooleanControl as PrefBooleanControl, ToolPrefColor as PrefColor, ToolPrefCustom as PrefCustom, ToolPrefEnum as PrefEnum, ToolPrefEnumControl as PrefEnumControl, ToolPrefEnumEncoding as PrefEnumEncoding, ToolPrefGroup as PrefGroup, ToolPrefKind as PrefKind, ToolPrefLeaf as PrefLeaf, ToolPrefNumber as PrefNumber, ToolPrefNumberControl as PrefNumberControl, ToolPrefNumberFormat as PrefNumberFormat, ToolPrefNumberUnit as PrefNumberUnit, ToolPrefObject as PrefObject, ToolPrefPaint as PrefPaint, ToolPrefString as PrefString, ToolPrefStringControl as PrefStringControl, } from '@weasel-js/core';
2
+ import type { ToolPrefGroup, ToolPrefLeaf, ToolPrefNumber, ToolPrefNumberUnit as PrefNumberUnitType } from '@weasel-js/core';
3
3
  /**
4
4
  * A number leaf's bounds in the unit it is displayed in.
5
5
  *
@@ -16,6 +16,9 @@ export declare function prefDisplayBounds(p: ToolPrefNumber): {
16
16
  max?: number;
17
17
  step: number;
18
18
  };
19
+ /** What a unit leaf's field reads as typed text: its `accepts` table, and its
20
+ * `suffix` as the display unit itself. */
21
+ export declare function prefUnitAccepts(unit: PrefNumberUnitType): Readonly<Record<string, number>>;
19
22
  /** Distinguishes a leaf from a group while walking a schema tree. */
20
23
  export declare function isPrefLeaf(node: ToolPrefLeaf | ToolPrefGroup): node is ToolPrefLeaf;
21
24
  /** Get the value at a dotted path inside a nested value tree. Returns
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/schema.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,QAAQ,IAAI,WAAW,EACvB,eAAe,IAAI,WAAW,EAC9B,sBAAsB,IAAI,kBAAkB,EAC5C,aAAa,IAAI,SAAS,EAC1B,cAAc,IAAI,UAAU,EAC5B,YAAY,IAAI,QAAQ,EACxB,mBAAmB,IAAI,eAAe,EACtC,oBAAoB,IAAI,gBAAgB,EACxC,aAAa,IAAI,SAAS,EAC1B,YAAY,IAAI,QAAQ,EACxB,YAAY,IAAI,QAAQ,EACxB,cAAc,IAAI,UAAU,EAC5B,qBAAqB,IAAI,iBAAiB,EAC1C,kBAAkB,IAAI,cAAc,EACpC,cAAc,IAAI,UAAU,EAC5B,aAAa,IAAI,SAAS,EAC1B,cAAc,IAAI,UAAU,EAC5B,qBAAqB,IAAI,iBAAiB,GAC3C,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEnF;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,cAAc,GAChB;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAU9C;AAED,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,GAAG,IAAI,IAAI,YAAY,CAEnF;AAED;kEACkE;AAClE,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOtE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,YAAY,GAAG,aAAa,EACvE,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,OAAO,GAClB,CAAC,GAAG,IAAI,CAUV"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/components/Prefs/schema.ts"],"names":[],"mappings":"AAKA,YAAY,EACV,QAAQ,IAAI,WAAW,EACvB,eAAe,IAAI,WAAW,EAC9B,sBAAsB,IAAI,kBAAkB,EAC5C,aAAa,IAAI,SAAS,EAC1B,cAAc,IAAI,UAAU,EAC5B,YAAY,IAAI,QAAQ,EACxB,mBAAmB,IAAI,eAAe,EACtC,oBAAoB,IAAI,gBAAgB,EACxC,aAAa,IAAI,SAAS,EAC1B,YAAY,IAAI,QAAQ,EACxB,YAAY,IAAI,QAAQ,EACxB,cAAc,IAAI,UAAU,EAC5B,qBAAqB,IAAI,iBAAiB,EAC1C,oBAAoB,IAAI,gBAAgB,EACxC,kBAAkB,IAAI,cAAc,EACpC,cAAc,IAAI,UAAU,EAC5B,aAAa,IAAI,SAAS,EAC1B,cAAc,IAAI,UAAU,EAC5B,qBAAqB,IAAI,iBAAiB,GAC3C,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,kBAAkB,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAE7H;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAC/B,CAAC,EAAE,cAAc,GAChB;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAU9C;AAED;2CAC2C;AAC3C,wBAAgB,eAAe,CAAC,IAAI,EAAE,kBAAkB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAE1F;AAED,qEAAqE;AACrE,wBAAgB,UAAU,CAAC,IAAI,EAAE,YAAY,GAAG,aAAa,GAAG,IAAI,IAAI,YAAY,CAEnF;AAED;kEACkE;AAClE,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOtE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,SAAS,YAAY,GAAG,aAAa,EACvE,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,OAAO,GAClB,CAAC,GAAG,IAAI,CAUV"}
@@ -1,4 +1,5 @@
1
1
  import { type ReactNode } from 'react';
2
+ import type { PrefNumberFormat } from '../Prefs/schema';
2
3
  /**
3
4
  * How much room a container gives its rows — gaps, padding, and field height,
4
5
  * moved together. Set on any container in the family; it reaches every
@@ -125,6 +126,8 @@ export interface SliderRowProps extends PropertyMetricProps {
125
126
  onInput?: (next: number) => void;
126
127
  /** Override how the value is rendered next to the label. Defaults to `value.toString()`. */
127
128
  format?: (value: number) => ReactNode;
129
+ /** A named display for the value: `compact` reads `2.0M`. `format` wins when both are given. */
130
+ notation?: PrefNumberFormat;
128
131
  /**
129
132
  * Optional suffix rendered next to the readout. A string becomes a
130
133
  * baseline-aligned dim "word" unit (e.g. "px"); pass JSX like `<sup>°</sup>`
@@ -138,7 +141,7 @@ export interface SliderRowProps extends PropertyMetricProps {
138
141
  }
139
142
  /** A bounded number edited by dragging, with a live readout whose precision
140
143
  * follows `step`. */
141
- export declare function SliderRow({ label, value, min, max, step, onChange, onInput, format, unit, layout, description, span, density, align, }: SliderRowProps): import("react/jsx-runtime").JSX.Element;
144
+ export declare function SliderRow({ label, value, min, max, step, onChange, onInput, format, notation, unit, layout, description, span, density, align, }: SliderRowProps): import("react/jsx-runtime").JSX.Element;
142
145
  /** Props for `<ColorRow>`. */
143
146
  export interface ColorRowProps extends PropertyMetricProps {
144
147
  label: ReactNode;
@@ -177,7 +180,8 @@ export declare function ColorRow({ label, value, onChange, onInput, alpha, onAlp
177
180
  /** Props for `<CheckboxRow>`. */
178
181
  export interface CheckboxRowProps extends PropertyMetricProps {
179
182
  label: ReactNode;
180
- value: boolean;
183
+ /** Absent reads as unchecked. */
184
+ value: boolean | undefined;
181
185
  onChange: (next: boolean) => void;
182
186
  /** Label beside the box (default) or above it. */
183
187
  layout?: PropertyRowLayout;
@@ -190,7 +194,8 @@ export declare function CheckboxRow({ label, value, onChange, layout, span, desc
190
194
  /** Props for `<TextRow>`. */
191
195
  export interface TextRowProps extends PropertyMetricProps {
192
196
  label: ReactNode;
193
- value: string;
197
+ /** Absent reads as an empty field. */
198
+ value: string | null | undefined;
194
199
  onChange: (next: string) => void;
195
200
  placeholder?: string;
196
201
  maxLength?: number;
@@ -204,7 +209,8 @@ export declare function TextRow({ label, value, onChange, placeholder, maxLength
204
209
  /** Props for `<NumberRow>`. */
205
210
  export interface NumberRowProps extends PropertyMetricProps {
206
211
  label: ReactNode;
207
- value: number;
212
+ /** Absent reads as an empty field. */
213
+ value: number | null | undefined;
208
214
  /**
209
215
  * The committed value. Given `onInput` as well, it fires on blur or Enter;
210
216
  * on its own it fires on every keystroke, which is what a row with one
@@ -242,9 +248,12 @@ export interface PropertyOption<T extends string> {
242
248
  /** Props for `<SelectRow>`. */
243
249
  export interface SelectRowProps<T extends string> extends PropertyMetricProps {
244
250
  label: ReactNode;
245
- value: T;
251
+ /** Absent, or not one of `options`, shows a placeholder rather than the first option. */
252
+ value: T | undefined;
246
253
  options: ReadonlyArray<PropertyOption<T>>;
247
254
  onChange: (next: T) => void;
255
+ /** Shown while no option is chosen. Defaults to "Choose option…". */
256
+ placeholder?: string;
248
257
  layout?: PropertyRowLayout;
249
258
  description?: string;
250
259
  /** Take the full width of the enclosing grid — see `<PropertyRow span>`. */
@@ -252,7 +261,7 @@ export interface SelectRowProps<T extends string> extends PropertyMetricProps {
252
261
  }
253
262
  /** A dropdown over a fixed set of choices. Prefer `<ToggleRow>` when there
254
263
  * are only two or three and they should all stay visible. */
255
- export declare function SelectRow<T extends string>({ label, value, options, onChange, layout, description, span, density, align, }: SelectRowProps<T>): import("react/jsx-runtime").JSX.Element;
264
+ export declare function SelectRow<T extends string>({ label, value, options, onChange, placeholder, layout, description, span, density, align, }: SelectRowProps<T>): import("react/jsx-runtime").JSX.Element;
256
265
  /** Props for `<ToggleRow>`. */
257
266
  export interface ToggleRowProps<T extends string> extends PropertyMetricProps {
258
267
  label: ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"PropertyPanel.d.ts","sourceRoot":"","sources":["../../../src/components/Properties/PropertyPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PropertyPanel.d.ts","sourceRoot":"","sources":["../../../src/components/Properties/PropertyPanel.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import { a as e, c as t, d as n, f as r, g as i, h as a, i as o, l as s, m as c, n as l, o as u, p as d, r as f, s as p, t as m, u as h } from "../../chunks/Properties-BpUYKi7-.js";
1
+ import { a as e, c as t, d as n, f as r, g as i, h as a, i as o, l as s, m as c, n as l, o as u, p as d, r as f, s as p, t as m, u as h } from "../../chunks/Properties-DJaDEJkT.js";
2
2
  export { e as CheckboxRow, u as ColorRow, i as CurveField, l as EffectCard, f as EffectCardList, p as NumberRow, m as PropertyGroup, t as PropertyList, s as PropertyPanel, h as PropertyRow, n as PropertySpan, r as SelectRow, d as SliderRow, o as Subpanel, c as TextRow, a as ToggleRow };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/ResizeHandle-BrCO0JrH.js";
1
+ import { t as e } from "../../chunks/ResizeHandle-CiExUWP-.js";
2
2
  export { e as ResizeHandle };
@@ -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-C59wavdA.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-CbyUT3Dh.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 };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/Sidebar-BvwjZiFm.js";
1
+ import { t as e } from "../../chunks/Sidebar-Cqcfx3_s.js";
2
2
  export { e as Sidebar };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/SidebarPanel-D5Ua2vyP.js";
1
+ import { t as e } from "../../chunks/SidebarPanel-BLzBo0S2.js";
2
2
  export { e as SidebarPanel };
@@ -1,2 +1,2 @@
1
- import { t as e } from "../../chunks/Slider-Bs-KSYgQ.js";
1
+ import { t as e } from "../../chunks/Slider--DFRC_hc.js";
2
2
  export { e as Slider };
@@ -1,2 +1,2 @@
1
- import { n as e, r as t, t as n } from "../../chunks/StatusBar-Bqv4D0dW.js";
1
+ import { n as e, r as t, t as n } from "../../chunks/StatusBar-B9NQ8atD.js";
2
2
  export { n as StatusBar, e as StatusBarItem, t as StatusBarSpacer };
@@ -1,2 +1,2 @@
1
- import { i as e, n as t, r as n, t as r } from "../../chunks/Tabs-BT3CDkoQ.js";
1
+ import { i as e, n as t, r as n, t as r } from "../../chunks/Tabs-9sODd2Ut.js";
2
2
  export { r as Tab, t as TabList, n as TabPanel, e as Tabs };
@@ -1,5 +1,5 @@
1
1
  import { type ReactElement } from 'react';
2
- import { type EasingSpec } from '@weasel-js/core';
2
+ import { type Keyframe } from '@weasel-js/core';
3
3
  import { type TimeWindow } from './timeScale';
4
4
  import type { LaneRow } from './lanes';
5
5
  export interface LaneProps {
@@ -9,10 +9,14 @@ export interface LaneProps {
9
9
  /** Index of the selected key on THIS row, or null. */
10
10
  selection: number | null;
11
11
  onSelect: (keyIndex: number) => void;
12
- /** Live during a drag. `value` is set only in graph mode on a numeric row. */
13
- onKeyInput: (keyIndex: number, toMs: number, value?: number) => void;
14
- /** Once, at the end of a gesture. `value` is set only in graph mode on a numeric row. */
15
- onKeyCommit: (keyIndex: number, toMs: number, value?: number) => void;
12
+ /** Live during a dope-sheet drag. */
13
+ onKeyInput: (keyIndex: number, toMs: number) => void;
14
+ /** Once, at the end of a dope-sheet gesture. */
15
+ onKeyCommit: (keyIndex: number, toMs: number) => void;
16
+ /** Live during a graph-mode key drag: the row's whole key list. */
17
+ onKeysInput?: (keys: readonly Keyframe<number>[]) => void;
18
+ /** Once per graph-mode edit: the row's whole key list. */
19
+ onKeysCommit?: (keys: readonly Keyframe<number>[]) => void;
16
20
  onInsert: (atMs: number) => void;
17
21
  onToggleExpand: () => void;
18
22
  expanded: boolean;
@@ -21,8 +25,6 @@ export interface LaneProps {
21
25
  /** Index of the key a selected segment runs INTO, or null. */
22
26
  selectedSegment?: number | null;
23
27
  onSelectSegment?: (keyIndex: number) => void;
24
- /** Once, at the end of a bezier-handle drag. */
25
- onEasingCommit?: (keyIndex: number, easing: EasingSpec) => void;
26
28
  }
27
29
  export declare function Lane(props: LaneProps): ReactElement;
28
30
  //# sourceMappingURL=Lane.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Lane.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/Lane.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiH,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AACzJ,OAAO,EAAyC,KAAK,UAAU,EAA+E,MAAM,iBAAiB,CAAC;AAGtK,OAAO,EAAuD,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAGnG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAevC,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,sDAAsD;IACtD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,8EAA8E;IAC9E,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrE,yFAAyF;IACzF,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,oCAAoC;IACpC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,gDAAgD;IAChD,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,KAAK,IAAI,CAAC;CACjE;AAqBD,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,CAkRnD"}
1
+ {"version":3,"file":"Lane.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/Lane.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAiH,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AACzJ,OAAO,EAAuC,KAAK,QAAQ,EAA8D,MAAM,iBAAiB,CAAC;AAGjJ,OAAO,EAA2C,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAGvF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAQvC,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,OAAO,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,sDAAsD;IACtD,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,qCAAqC;IACrC,UAAU,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrD,gDAAgD;IAChD,WAAW,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,mEAAmE;IACnE,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC1D,0DAA0D;IAC1D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC3D,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,oCAAoC;IACpC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,8DAA8D;IAC9D,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9C;AAQD,wBAAgB,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,YAAY,CAwKnD"}
@@ -0,0 +1,24 @@
1
+ import { type ReactElement } from 'react';
2
+ import type { Keyframe } from '@weasel-js/core';
3
+ import { type TimeWindow } from './timeScale';
4
+ export interface LaneGraphProps {
5
+ keys: readonly Keyframe<number>[];
6
+ label: string;
7
+ window: TimeWindow;
8
+ /** Ruler time of this track's zero. */
9
+ offset: number;
10
+ /** Ruler times a dragged key snaps to. */
11
+ snapTimes: readonly number[];
12
+ selection: number | null;
13
+ selectedSegment: number | null;
14
+ onSelect: (keyIndex: number) => void;
15
+ onSelectSegment?: (keyIndex: number) => void;
16
+ /** Live during a key drag. */
17
+ onKeysInput?: (keys: readonly Keyframe<number>[]) => void;
18
+ /** Once per edit: a drag's end, a handle's release, a key press. */
19
+ onKeysCommit: (keys: readonly Keyframe<number>[]) => void;
20
+ }
21
+ /** A numeric lane's graph: one keyframe layer on a curve editor, sized to the
22
+ * lane and windowed to the ruler. */
23
+ export declare function LaneGraph(props: LaneGraphProps): ReactElement;
24
+ //# sourceMappingURL=LaneGraph.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LaneGraph.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/LaneGraph.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA8C,KAAK,YAAY,EAAE,MAAM,OAAO,CAAC;AACtF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAMhD,OAAO,EAA8B,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAU1E,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,UAAU,CAAC;IACnB,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,eAAe,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7C,8BAA8B;IAC9B,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;IAC1D,oEAAoE;IACpE,YAAY,EAAE,CAAC,IAAI,EAAE,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,IAAI,CAAC;CAC3D;AAaD;sCACsC;AACtC,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,GAAG,YAAY,CA4F7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"Ruler.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/Ruler.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwF,KAAK,YAAY,EAAsC,MAAM,OAAO,CAAC;AAGpK,OAAO,EAAgE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAQ5G,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,mFAAmF;IACnF,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,cAAc,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACzC;AAOD,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,CAmFrD"}
1
+ {"version":3,"file":"Ruler.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/Ruler.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAwF,KAAK,YAAY,EAAsC,MAAM,OAAO,CAAC;AAGpK,OAAO,EAAiF,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAK7H,MAAM,WAAW,UAAU;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,mFAAmF;IACnF,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,cAAc,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;CACzC;AAOD,wBAAgB,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,YAAY,CAmFrD"}