@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.
- package/dist/chunks/{BandEditor-CUlbOlJi.js → BandEditor-BeWO56_w.js} +1 -1
- package/dist/chunks/{BandEditor-CUlbOlJi.js.map → BandEditor-BeWO56_w.js.map} +1 -1
- package/dist/chunks/{Callout-Dvt6lqVn.js → Callout-BPIA2is-.js} +1 -1
- package/dist/chunks/{Callout-Dvt6lqVn.js.map → Callout-BPIA2is-.js.map} +1 -1
- package/dist/chunks/ComboBox-CPES6Y1i.js +138 -0
- package/dist/chunks/ComboBox-CPES6Y1i.js.map +1 -0
- package/dist/chunks/CurveEditor-Cj0lLiyR.js +533 -0
- package/dist/chunks/CurveEditor-Cj0lLiyR.js.map +1 -0
- package/dist/chunks/{DetentSlider-BpD7bgjN.js → DetentSlider-CYicfnKr.js} +2 -2
- package/dist/chunks/{DetentSlider-BpD7bgjN.js.map → DetentSlider-CYicfnKr.js.map} +1 -1
- package/dist/chunks/{GradientEditor-BLpAtMDK.js → GradientEditor-dBprHbS0.js} +2 -2
- package/dist/chunks/{GradientEditor-BLpAtMDK.js.map → GradientEditor-dBprHbS0.js.map} +1 -1
- package/dist/chunks/MenuButton-Do8fFUx1.js +60 -0
- package/dist/chunks/MenuButton-Do8fFUx1.js.map +1 -0
- package/dist/chunks/NumberField-BWzhqS19.js +112 -0
- package/dist/chunks/NumberField-BWzhqS19.js.map +1 -0
- package/dist/chunks/{PaintInput-B7AScmHN.js → PaintInput-DAevU7fd.js} +2 -2
- package/dist/chunks/{PaintInput-B7AScmHN.js.map → PaintInput-DAevU7fd.js.map} +1 -1
- package/dist/chunks/Plot2D-CVZwQpWJ.js +292 -0
- package/dist/chunks/Plot2D-CVZwQpWJ.js.map +1 -0
- package/dist/chunks/{PointPlotter-CbDKVggs.js → PointPlotter-anTHwz8f.js} +2 -2
- package/dist/chunks/PointPlotter-anTHwz8f.js.map +1 -0
- package/dist/chunks/Prefs-CzIn-hlq.js +302 -0
- package/dist/chunks/Prefs-CzIn-hlq.js.map +1 -0
- package/dist/chunks/Properties-DJaDEJkT.js +765 -0
- package/dist/chunks/Properties-DJaDEJkT.js.map +1 -0
- package/dist/chunks/{ResizeHandle-BrCO0JrH.js → ResizeHandle-CiExUWP-.js} +1 -1
- package/dist/chunks/{ResizeHandle-BrCO0JrH.js.map → ResizeHandle-CiExUWP-.js.map} +1 -1
- package/dist/chunks/{SelectionPanel-C59wavdA.js → SelectionPanel-CbyUT3Dh.js} +204 -194
- package/dist/chunks/SelectionPanel-CbyUT3Dh.js.map +1 -0
- package/dist/chunks/{Sidebar-BvwjZiFm.js → Sidebar-Cqcfx3_s.js} +1 -1
- package/dist/chunks/{Sidebar-BvwjZiFm.js.map → Sidebar-Cqcfx3_s.js.map} +1 -1
- package/dist/chunks/{SidebarPanel-D5Ua2vyP.js → SidebarPanel-BLzBo0S2.js} +1 -1
- package/dist/chunks/{SidebarPanel-D5Ua2vyP.js.map → SidebarPanel-BLzBo0S2.js.map} +1 -1
- package/dist/chunks/{Slider-Bs-KSYgQ.js → Slider--DFRC_hc.js} +2 -2
- package/dist/chunks/{Slider-Bs-KSYgQ.js.map → Slider--DFRC_hc.js.map} +1 -1
- package/dist/chunks/{StatusBar-Bqv4D0dW.js → StatusBar-B9NQ8atD.js} +1 -1
- package/dist/chunks/{StatusBar-Bqv4D0dW.js.map → StatusBar-B9NQ8atD.js.map} +1 -1
- package/dist/chunks/{Tabs-BT3CDkoQ.js → Tabs-9sODd2Ut.js} +1 -1
- package/dist/chunks/{Tabs-BT3CDkoQ.js.map → Tabs-9sODd2Ut.js.map} +1 -1
- package/dist/chunks/Timeline-DOZgb1CG.js +915 -0
- package/dist/chunks/Timeline-DOZgb1CG.js.map +1 -0
- package/dist/chunks/{Toast-B7ylq7fz.js → Toast-LpN1WK8E.js} +1 -1
- package/dist/chunks/{Toast-B7ylq7fz.js.map → Toast-LpN1WK8E.js.map} +1 -1
- package/dist/chunks/{ToolButton-CtDkqUIc.js → ToolButton-B81YjdwO.js} +1 -1
- package/dist/chunks/{ToolButton-CtDkqUIc.js.map → ToolButton-B81YjdwO.js.map} +1 -1
- package/dist/chunks/{ToolGroup-zDtqt0QJ.js → ToolGroup-D7juDOC_.js} +1 -1
- package/dist/chunks/{ToolGroup-zDtqt0QJ.js.map → ToolGroup-D7juDOC_.js.map} +1 -1
- package/dist/chunks/{ToolPalette-BbrMHfQ9.js → ToolPalette-BSzmRJS7.js} +3 -3
- package/dist/chunks/{ToolPalette-BbrMHfQ9.js.map → ToolPalette-BSzmRJS7.js.map} +1 -1
- package/dist/chunks/createKeyframeLayer-AL4jP0EX.js +694 -0
- package/dist/chunks/createKeyframeLayer-AL4jP0EX.js.map +1 -0
- package/dist/chunks/number-f6PydOZK.js +52 -0
- package/dist/chunks/number-f6PydOZK.js.map +1 -0
- package/dist/chunks/{schema-CtWwGbqJ.js → schema-CPdFNeP6.js} +15 -9
- package/dist/chunks/schema-CPdFNeP6.js.map +1 -0
- package/dist/components/BandEditor/index.js +1 -1
- package/dist/components/Callout/index.js +1 -1
- package/dist/components/ComboBox/ComboBox.d.ts +36 -0
- package/dist/components/ComboBox/ComboBox.d.ts.map +1 -1
- package/dist/components/ComboBox/index.d.ts +1 -1
- package/dist/components/ComboBox/index.d.ts.map +1 -1
- package/dist/components/ComboBox/index.js +1 -1
- package/dist/components/CurveEditor/CurveEditor.d.ts +4 -2
- package/dist/components/CurveEditor/CurveEditor.d.ts.map +1 -1
- package/dist/components/CurveEditor/LayeredCurveEditor.d.ts +8 -1
- package/dist/components/CurveEditor/LayeredCurveEditor.d.ts.map +1 -1
- package/dist/components/CurveEditor/createFunctionLayer.d.ts +2 -0
- package/dist/components/CurveEditor/createFunctionLayer.d.ts.map +1 -1
- package/dist/components/CurveEditor/createKeyframeLayer.d.ts +70 -0
- package/dist/components/CurveEditor/createKeyframeLayer.d.ts.map +1 -0
- package/dist/components/CurveEditor/index.d.ts +3 -1
- package/dist/components/CurveEditor/index.d.ts.map +1 -1
- package/dist/components/CurveEditor/index.js +3 -2
- package/dist/components/CurveEditor/layerTypes.d.ts +8 -3
- package/dist/components/CurveEditor/layerTypes.d.ts.map +1 -1
- package/dist/components/CurveEditor/snap.d.ts +3 -0
- package/dist/components/CurveEditor/snap.d.ts.map +1 -0
- package/dist/components/DetentSlider/index.js +1 -1
- package/dist/components/GradientEditor/index.js +1 -1
- package/dist/components/MenuButton/MenuButton.d.ts +29 -0
- package/dist/components/MenuButton/MenuButton.d.ts.map +1 -0
- package/dist/components/MenuButton/index.d.ts +3 -0
- package/dist/components/MenuButton/index.d.ts.map +1 -0
- package/dist/components/MenuButton/index.js +2 -0
- package/dist/components/NumberField/UnitField.d.ts +30 -0
- package/dist/components/NumberField/UnitField.d.ts.map +1 -0
- package/dist/components/NumberField/index.d.ts +2 -0
- package/dist/components/NumberField/index.d.ts.map +1 -1
- package/dist/components/NumberField/index.js +2 -2
- package/dist/components/PaintInput/index.js +1 -1
- package/dist/components/Plot2D/Plot2D.d.ts +38 -2
- package/dist/components/Plot2D/Plot2D.d.ts.map +1 -1
- package/dist/components/Plot2D/index.d.ts +2 -1
- package/dist/components/Plot2D/index.d.ts.map +1 -1
- package/dist/components/Plot2D/index.js +2 -2
- package/dist/components/Plot2D/ticks.d.ts +43 -0
- package/dist/components/Plot2D/ticks.d.ts.map +1 -0
- package/dist/components/PointPlotter/PointPlotter.d.ts +3 -1
- package/dist/components/PointPlotter/PointPlotter.d.ts.map +1 -1
- package/dist/components/PointPlotter/index.js +1 -1
- package/dist/components/Prefs/PrefsForm.d.ts.map +1 -1
- package/dist/components/Prefs/index.d.ts +1 -1
- package/dist/components/Prefs/index.d.ts.map +1 -1
- package/dist/components/Prefs/index.js +3 -3
- package/dist/components/Prefs/schema.d.ts +5 -2
- package/dist/components/Prefs/schema.d.ts.map +1 -1
- package/dist/components/Properties/PropertyPanel.d.ts +15 -6
- package/dist/components/Properties/PropertyPanel.d.ts.map +1 -1
- package/dist/components/Properties/index.js +1 -1
- package/dist/components/ResizeHandle/index.js +1 -1
- package/dist/components/SelectionPanel/index.js +1 -1
- package/dist/components/Sidebar/index.js +1 -1
- package/dist/components/SidebarPanel/index.js +1 -1
- package/dist/components/Slider/index.js +1 -1
- package/dist/components/StatusBar/index.js +1 -1
- package/dist/components/Tabs/index.js +1 -1
- package/dist/components/Timeline/Lane.d.ts +9 -7
- package/dist/components/Timeline/Lane.d.ts.map +1 -1
- package/dist/components/Timeline/LaneGraph.d.ts +24 -0
- package/dist/components/Timeline/LaneGraph.d.ts.map +1 -0
- package/dist/components/Timeline/Ruler.d.ts.map +1 -1
- package/dist/components/Timeline/Timeline.d.ts.map +1 -1
- package/dist/components/Timeline/index.js +1 -1
- package/dist/components/Timeline/keys.d.ts +4 -3
- package/dist/components/Timeline/keys.d.ts.map +1 -1
- package/dist/components/Timeline/timeScale.d.ts +2 -0
- package/dist/components/Timeline/timeScale.d.ts.map +1 -1
- package/dist/components/Toast/index.js +1 -1
- package/dist/components/ToolButton/index.js +1 -1
- package/dist/components/ToolGroup/index.js +1 -1
- package/dist/components/ToolPalette/index.js +1 -1
- package/dist/format/number.d.ts +16 -0
- package/dist/format/number.d.ts.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +99 -64
- package/dist/index.js.map +1 -1
- package/dist/style.css +1 -1
- package/dist/useAsyncOptions.d.ts +38 -0
- package/dist/useAsyncOptions.d.ts.map +1 -0
- package/package.json +7 -6
- package/dist/chunks/ComboBox-BBRRWvdc.js +0 -107
- package/dist/chunks/ComboBox-BBRRWvdc.js.map +0 -1
- package/dist/chunks/CurveEditor-DtjdpJVB.js +0 -784
- package/dist/chunks/CurveEditor-DtjdpJVB.js.map +0 -1
- package/dist/chunks/NumberField-DBowmOfe.js +0 -62
- package/dist/chunks/NumberField-DBowmOfe.js.map +0 -1
- package/dist/chunks/Plot2D-C97pO13t.js +0 -134
- package/dist/chunks/Plot2D-C97pO13t.js.map +0 -1
- package/dist/chunks/PointPlotter-CbDKVggs.js.map +0 -1
- package/dist/chunks/Prefs-4JSEtuU-.js +0 -294
- package/dist/chunks/Prefs-4JSEtuU-.js.map +0 -1
- package/dist/chunks/Properties-BpUYKi7-.js +0 -758
- package/dist/chunks/Properties-BpUYKi7-.js.map +0 -1
- package/dist/chunks/SelectionPanel-C59wavdA.js.map +0 -1
- package/dist/chunks/Timeline-Bz806JbE.js +0 -908
- package/dist/chunks/Timeline-Bz806JbE.js.map +0 -1
- package/dist/chunks/number-Bv1nbhOJ.js +0 -18
- package/dist/chunks/number-Bv1nbhOJ.js.map +0 -1
- package/dist/chunks/schema-CtWwGbqJ.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/Timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+D,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAKjF,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,
|
|
1
|
+
{"version":3,"file":"Timeline.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/Timeline.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+D,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAKjF,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7D,OAAO,EAA+E,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AACxH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,YAAY,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IACvB,SAAS,EAAE,YAAY,CAAC;IACxB,4EAA4E;IAC5E,MAAM,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACpC,yDAAyD;IACzD,SAAS,EAAE,CAAC,MAAM,EAAE,UAAU,GAAG,SAAS,KAAK,IAAI,CAAC;CACrD;AAED,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IAEjB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,KAAK,IAAI,CAAC;IAEhD,sEAAsE;IACtE,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IAClC,sDAAsD;IACtD,QAAQ,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,IAAI,CAAC;IAClC,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAE7B,mCAAmC;IACnC,SAAS,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,UAAU,CAAC,GAAG,KAAK,CAAC;IAClE,SAAS,CAAC,EAAE,YAAY,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,SAAS,CAAC;IAEnD,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,cAAc,CAAC,EAAE,CAAC,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAEzC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,CAgK3D"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "../../chunks/Timeline-
|
|
1
|
+
import { a as e, c as t, i as n, l as r, n as i, o as a, r as o, s, t as c } from "../../chunks/Timeline-DOZgb1CG.js";
|
|
2
2
|
export { c as AnimatedTimeline, a as EASING_NAMES, e as EasingPicker, i as Timeline, o as Transport, s as easingBezier, t as easingLabel, n as samePath, r as sampleEasing };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type EasingSpec, type Track } from '@weasel-js/core';
|
|
1
|
+
import { type EasingSpec, type Keyframe, type Track } from '@weasel-js/core';
|
|
2
2
|
export interface KeySelection {
|
|
3
3
|
/** Index path into the track tree, outermost first — a `LaneRow.path`. A
|
|
4
4
|
* top-level track is `[i]`; a track inside the nested timeline at `i` is
|
|
@@ -27,8 +27,9 @@ export declare function insertKey(tracks: readonly Track[], trackPath: readonly
|
|
|
27
27
|
export declare function deleteKey(tracks: readonly Track[], sel: KeySelection): KeyEdit;
|
|
28
28
|
/** Set the easing shaping the approach INTO the selected key. */
|
|
29
29
|
export declare function setKeyEasing(tracks: readonly Track[], sel: KeySelection, easing: EasingSpec | undefined): Track[];
|
|
30
|
+
/** Replace a sampled track's whole key list, keeping its callbacks. */
|
|
31
|
+
export declare function setKeys(tracks: readonly Track[], trackPath: readonly number[], keys: readonly Keyframe<unknown>[]): Track[];
|
|
30
32
|
/** Set the selected key's value, leaving its time alone. */
|
|
31
33
|
export declare function setKeyValue(tracks: readonly Track[], sel: KeySelection, value: unknown): Track[];
|
|
32
|
-
|
|
33
|
-
export declare function snapTime(ms: number, candidates: readonly number[], toleranceMs: number): number;
|
|
34
|
+
export { snapToNearest as snapTime } from '../CurveEditor/snap';
|
|
34
35
|
//# sourceMappingURL=keys.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,UAAU,
|
|
1
|
+
{"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/keys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,KAAK,UAAU,EAAmB,KAAK,QAAQ,EAAyC,KAAK,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGlJ,MAAM,WAAW,YAAY;IAC3B;;oBAEgB;IAChB,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,KAAK,EAAE,CAAC;IAChB,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;CAChC;AAED,wDAAwD;AACxD,wBAAgB,QAAQ,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,EAAE,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAE5E;AAgCD;;;;;;iEAMiE;AACjE,wBAAgB,OAAO,CACrB,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GACxD,OAAO,CA+BT;AAED;mDACmD;AACnD,wBAAgB,SAAS,CACvB,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,GACnE,OAAO,CAeT;AAED,iDAAiD;AACjD,wBAAgB,SAAS,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAY9E;AAED,iEAAiE;AACjE,wBAAgB,YAAY,CAC1B,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,EAAE,UAAU,GAAG,SAAS,GAC1E,KAAK,EAAE,CAST;AAED,uEAAuE;AACvE,wBAAgB,OAAO,CACrB,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,SAAS,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,QAAQ,CAAC,OAAO,CAAC,EAAE,GACzF,KAAK,EAAE,CAIT;AAED,4DAA4D;AAC5D,wBAAgB,WAAW,CACzB,MAAM,EAAE,SAAS,KAAK,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,OAAO,GAC1D,KAAK,EAAE,CAQT;AAED,OAAO,EAAE,aAAa,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -26,6 +26,8 @@ export declare function spanPercent(window: TimeWindow, ms: number): string;
|
|
|
26
26
|
export declare function zoomWindow(w: TimeWindow, atMs: number, factor: number, bounds: TimeWindow): TimeWindow;
|
|
27
27
|
/** Shift the window by `byMs`, preserving its span. */
|
|
28
28
|
export declare function panWindow(w: TimeWindow, byMs: number, bounds: TimeWindow): TimeWindow;
|
|
29
|
+
/** Minimum gap between time ticks, in px — the ruler's and the graph grid's. */
|
|
30
|
+
export declare const TICK_SPACING_PX = 64;
|
|
29
31
|
/** Ruler tick times inside `w`, spaced at least `minSpacingPx` apart. */
|
|
30
32
|
export declare function tickTimes(w: TimeWindow, widthPx: number, minSpacingPx: number): number[];
|
|
31
33
|
//# sourceMappingURL=timeScale.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeScale.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/timeScale.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"timeScale.d.ts","sourceRoot":"","sources":["../../../src/components/Timeline/timeScale.ts"],"names":[],"mappings":"AAEA,8CAA8C;AAC9C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CAC1B;AAMD,wBAAgB,eAAe,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAU9E;AAED;;iFAEiF;AACjF,wBAAgB,UAAU,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED,wCAAwC;AACxC,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED;0DAC0D;AAC1D,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAGnE;AAED,mDAAmD;AACnD,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAElE;AAUD;2CAC2C;AAC3C,wBAAgB,UAAU,CACxB,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAC9D,UAAU,CAMZ;AAED,uDAAuD;AACvD,wBAAgB,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,CAErF;AAED,gFAAgF;AAChF,eAAO,MAAM,eAAe,KAAK,CAAC;AAElC,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,CAAC,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,EAAE,CASxF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { a as e, i as t, n, r, t as i } from "../../chunks/Toast-
|
|
1
|
+
import { a as e, i as t, n, r, t as i } from "../../chunks/Toast-LpN1WK8E.js";
|
|
2
2
|
export { n as ToastQueue, i as ToastRegion, r as createToastQueue, t as defaultToastQueue, e as toast };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../chunks/ToolButton-
|
|
1
|
+
import { t as e } from "../../chunks/ToolButton-B81YjdwO.js";
|
|
2
2
|
export { e as ToolButton };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { t as e } from "../../chunks/ToolGroup-
|
|
1
|
+
import { t as e } from "../../chunks/ToolGroup-D7juDOC_.js";
|
|
2
2
|
export { e as ToolGroup };
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { n as e, r as t, t as n } from "../../chunks/ToolPalette-
|
|
1
|
+
import { n as e, r as t, t as n } from "../../chunks/ToolPalette-BSzmRJS7.js";
|
|
2
2
|
export { n as ToolPalette, e as formatShortcut, t as formatShortcutParts };
|
package/dist/format/number.d.ts
CHANGED
|
@@ -20,6 +20,22 @@ export declare function formatNumber(value: number, options?: Intl.NumberFormatO
|
|
|
20
20
|
* renders its value through it and reads the edited text back.
|
|
21
21
|
*/
|
|
22
22
|
export declare function parseSignedNumber(text: string): number;
|
|
23
|
+
/**
|
|
24
|
+
* Formats a number the way a `compact` readout shows it: below 1,000 at
|
|
25
|
+
* `decimals` places, from 1,000 up at one decimal with a magnitude suffix
|
|
26
|
+
* (`40.0K`, `2.0M`). Always `en-US`, so {@link parseNumber} reads it back.
|
|
27
|
+
*/
|
|
28
|
+
export declare function formatCompact(value: number, decimals?: number): string;
|
|
29
|
+
/**
|
|
30
|
+
* Reads a typed number: anything {@link parseSignedNumber} reads, plus
|
|
31
|
+
* thousands commas in the `40,000` shape and a `k`/`m`/`b`/`t` suffix in either
|
|
32
|
+
* case (`2.5m` is 2,500,000). Empty text is NaN rather than zero.
|
|
33
|
+
*
|
|
34
|
+
* Given `units` — a suffix mapped to the factor it scales by — a trailing unit
|
|
35
|
+
* name is read first: the longest match wins, exact case before any case, and
|
|
36
|
+
* a unit beats a magnitude suffix, so with `m` accepted `2m` is `2 * units.m`.
|
|
37
|
+
*/
|
|
38
|
+
export declare function parseNumber(text: string, units?: Readonly<Record<string, number>>): number;
|
|
23
39
|
/**
|
|
24
40
|
* Formats a zoom factor for display. Below 2x a percentage reads naturally;
|
|
25
41
|
* past it the numbers get long and a multiplier is what people say out loud,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../src/format/number.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,WAAM,CAAC;AAE9B;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAKtF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;
|
|
1
|
+
{"version":3,"file":"number.d.ts","sourceRoot":"","sources":["../../src/format/number.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,eAAO,MAAM,UAAU,WAAM,CAAC;AAE9B;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAKtF;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAKD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,CAOjE;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,MAAM,CAkB1F;AAeD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAK/C"}
|
package/dist/index.d.ts
CHANGED
|
@@ -37,6 +37,7 @@ export * from './components/Tabs';
|
|
|
37
37
|
export * from './components/RadioGroup';
|
|
38
38
|
export * from './components/NumberField';
|
|
39
39
|
export * from './components/Select';
|
|
40
|
+
export * from './components/MenuButton';
|
|
40
41
|
export * from './components/ComboBox';
|
|
41
42
|
export * from './components/RangeSlider';
|
|
42
43
|
export * from './components/DetentSlider';
|
|
@@ -57,9 +58,11 @@ export { paintGradientTrack } from './paintGradientTrack';
|
|
|
57
58
|
export type { GradientTrackOpts } from './paintGradientTrack';
|
|
58
59
|
export { oklchToHex, chromaAt } from './color/oklch';
|
|
59
60
|
export type { ChromaCurve, ChromaCurvePoint } from './color/oklch';
|
|
61
|
+
export { useAsyncOptions } from './useAsyncOptions';
|
|
62
|
+
export type { AsyncOption, AsyncOptionsResult, UseAsyncOptionsProps } from './useAsyncOptions';
|
|
60
63
|
export { useReorderDragList } from './useReorderDragList';
|
|
61
64
|
export { useRovingTabIndex } from './useRovingTabIndex';
|
|
62
65
|
export type { RovingItem, RovingTabIndex, UseRovingTabIndexOptions } from './useRovingTabIndex';
|
|
63
|
-
export { formatNumber, formatZoom, MINUS_SIGN, parseSignedNumber } from './format/number';
|
|
66
|
+
export { formatCompact, formatNumber, formatZoom, MINUS_SIGN, parseNumber, parseSignedNumber, } from './format/number';
|
|
64
67
|
export type { LayerListItem, UseReorderDragListOptions, ReorderDragState, ReorderDragHandlers, } from './useReorderDragList';
|
|
65
68
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC9C,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACtE,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAC9C,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACtE,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,qBAAqB,CAAC;AACpC,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrD,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAC/F,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EACL,aAAa,EACb,YAAY,EACZ,UAAU,EACV,UAAU,EACV,WAAW,EACX,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EACV,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,sBAAsB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,80 +1,115 @@
|
|
|
1
1
|
import { n as e, t } from "./chunks/dlog-CMYiRF3Q.js";
|
|
2
2
|
import { n, t as r } from "./chunks/Icon-DBXtBB1f.js";
|
|
3
|
-
import { $ as i, A as a, B as o, C as s, D as c, E as
|
|
4
|
-
import { i as
|
|
5
|
-
import { n as
|
|
6
|
-
import { n as
|
|
7
|
-
import { t as
|
|
8
|
-
import { n as
|
|
3
|
+
import { $ as i, A as a, B as o, C as s, D as c, E as l, F as u, G as d, H as f, I as p, J as m, K as ee, L as te, M as ne, N as re, O as ie, P as h, Q as g, R as _, S as v, T as y, U as b, V as x, W as S, X as C, Y as w, Z as T, _ as E, a as D, at as O, b as k, c as A, ct as j, d as M, dt as N, et as P, f as F, ft as I, g as L, h as R, i as z, it as B, j as V, k as H, l as U, lt as W, m as G, n as K, nt as q, o as J, ot as Y, p as ae, q as oe, r as se, rt as ce, s as le, st as ue, t as de, tt as fe, u as pe, ut as me, v as he, w as ge, x as _e, y as ve, z as ye } from "./chunks/icons-BV27dhKB.js";
|
|
4
|
+
import { i as be, n as xe, r as Se, t as Ce } from "./chunks/Prefs-CzIn-hlq.js";
|
|
5
|
+
import { n as we, r as Te, t as Ee } from "./chunks/portalHost-CjpCnuGU.js";
|
|
6
|
+
import { n as De, t as Oe } from "./chunks/Tooltip-BHre_vbI.js";
|
|
7
|
+
import { t as ke } from "./chunks/ActionBar-DxGp3WuZ.js";
|
|
8
|
+
import { n as Ae, t as je } from "./chunks/Badge-Bf8Rd1R6.js";
|
|
9
9
|
import "./components/Badge/index.js";
|
|
10
|
-
import { t as
|
|
11
|
-
import { t as
|
|
12
|
-
import { t as
|
|
13
|
-
import { n as
|
|
14
|
-
import { t as
|
|
15
|
-
import { a as
|
|
16
|
-
import { t as
|
|
17
|
-
import { t as
|
|
18
|
-
import { t as
|
|
19
|
-
import { i as
|
|
20
|
-
import { t as
|
|
21
|
-
import { t as
|
|
22
|
-
import { t as
|
|
23
|
-
import { t as
|
|
24
|
-
import { t as
|
|
25
|
-
import { t as
|
|
26
|
-
import { t as
|
|
27
|
-
import { t as
|
|
28
|
-
import { i as
|
|
29
|
-
import { n as
|
|
30
|
-
import { t as
|
|
31
|
-
import { t as
|
|
32
|
-
import { t as
|
|
33
|
-
import { n as
|
|
34
|
-
import { n as
|
|
35
|
-
import { t as
|
|
36
|
-
import { t as
|
|
37
|
-
import { t as
|
|
38
|
-
import { n as
|
|
39
|
-
import { t as
|
|
40
|
-
import { t as
|
|
41
|
-
import {
|
|
42
|
-
import { t as
|
|
43
|
-
import { n as
|
|
44
|
-
import { a as
|
|
45
|
-
import { a as
|
|
46
|
-
import { a as Zt, c as Qt,
|
|
47
|
-
import { t as
|
|
48
|
-
import { t as
|
|
49
|
-
import { t as
|
|
50
|
-
import {
|
|
51
|
-
import { t as
|
|
52
|
-
import { t as
|
|
53
|
-
import {
|
|
10
|
+
import { t as Me } from "./chunks/Button-CExdkQcU.js";
|
|
11
|
+
import { t as Ne } from "./chunks/useReorderDragList-CSQGd7zQ.js";
|
|
12
|
+
import { t as Pe } from "./chunks/DataGrid-BVdDMZkQ.js";
|
|
13
|
+
import { n as Fe, t as Ie } from "./chunks/Disclosure-DiA6UKdM.js";
|
|
14
|
+
import { t as Le } from "./chunks/DragHandleGlyph-CppAz4_8.js";
|
|
15
|
+
import { a as Re, i as ze, n as Be, o as Ve, r as He, t as Ue } from "./chunks/Keycaps-DSeq6QWH.js";
|
|
16
|
+
import { t as We } from "./chunks/keyGlyph-Bp0wnLHn.js";
|
|
17
|
+
import { t as Ge } from "./chunks/LayerStack-DOylrQcm.js";
|
|
18
|
+
import { t as Ke } from "./chunks/Slider--DFRC_hc.js";
|
|
19
|
+
import { a as qe, i as Je, n as Ye, o as Xe, r as Ze, t as Qe } from "./chunks/number-f6PydOZK.js";
|
|
20
|
+
import { t as $e } from "./chunks/ItemList-BZJQReXD.js";
|
|
21
|
+
import { t as et } from "./chunks/ToggleBar-Bxwv6xvj.js";
|
|
22
|
+
import { t as tt } from "./chunks/useRovingTabIndex-Dkpf_KhN.js";
|
|
23
|
+
import { t as nt } from "./chunks/OptionsBar-D_Cd3ZYs.js";
|
|
24
|
+
import { t as rt } from "./chunks/ActionsBar-D1VFreoj.js";
|
|
25
|
+
import { t as it } from "./chunks/ToolOptionsBar-B2xPWzJf.js";
|
|
26
|
+
import { t as at } from "./chunks/InlineRange-CcfzY80y.js";
|
|
27
|
+
import { t as ot } from "./chunks/ColorField-C20aRvCg.js";
|
|
28
|
+
import { i as st, n as ct, r as lt, t as ut } from "./chunks/GradientEditor-dBprHbS0.js";
|
|
29
|
+
import { n as dt, t as ft } from "./chunks/PatternPicker-Ba22Bf4L.js";
|
|
30
|
+
import { t as pt } from "./chunks/PaintInput-DAevU7fd.js";
|
|
31
|
+
import { t as mt } from "./chunks/Powerline-BaHDJlcO.js";
|
|
32
|
+
import { t as ht } from "./chunks/Checkbox-D-pVpobU.js";
|
|
33
|
+
import { n as gt, t as _t } from "./chunks/Field-dzlxOGxT.js";
|
|
34
|
+
import { n as vt, t as yt } from "./chunks/Select-CacMfs4v.js";
|
|
35
|
+
import { t as bt } from "./chunks/FontFamilySelect-DIJ4phXz.js";
|
|
36
|
+
import { t as xt } from "./chunks/Input-CoKOtyD0.js";
|
|
37
|
+
import { n as St, t as Ct } from "./chunks/NumberField-BWzhqS19.js";
|
|
38
|
+
import { n as wt, t as Tt } from "./chunks/RadioGroup-B2_LUgDp.js";
|
|
39
|
+
import { t as Et } from "./chunks/RangeSlider-S2R3zA8N.js";
|
|
40
|
+
import { t as Dt } from "./chunks/Switch-C4NU-me1.js";
|
|
41
|
+
import { a as Ot, i as kt, n as At, t as jt } from "./chunks/schema-CPdFNeP6.js";
|
|
42
|
+
import { t as Mt } from "./chunks/Dialog-CYBLjwbd.js";
|
|
43
|
+
import { a as Nt, c as Pt, i as Ft, n as It, o as Lt, r as Rt, s as zt, t as Bt } from "./chunks/Plot2D-CVZwQpWJ.js";
|
|
44
|
+
import { a as Vt, i as Ht, n as Ut, r as Wt, t as Gt } from "./chunks/CurveEditor-Cj0lLiyR.js";
|
|
45
|
+
import { a as Kt, i as qt, n as Jt, r as Yt, t as Xt } from "./chunks/createKeyframeLayer-AL4jP0EX.js";
|
|
46
|
+
import { a as Zt, c as Qt, d as $t, f as en, g as tn, h as nn, i as rn, l as an, m as on, n as sn, o as cn, p as ln, r as un, s as dn, t as fn, u as pn } from "./chunks/Properties-DJaDEJkT.js";
|
|
47
|
+
import { a as mn, c as hn, i as gn, n as _n, o as vn, r as yn, s as bn, t as xn } from "./chunks/SelectionPanel-CbyUT3Dh.js";
|
|
48
|
+
import { t as Sn } from "./chunks/ResizeHandle-CiExUWP-.js";
|
|
49
|
+
import { t as Cn } from "./chunks/Sidebar-Cqcfx3_s.js";
|
|
50
|
+
import { t as wn } from "./chunks/SidebarPanel-BLzBo0S2.js";
|
|
51
|
+
import { n as Tn, r as En, t as Dn } from "./chunks/StatusBar-B9NQ8atD.js";
|
|
52
|
+
import { t as On } from "./chunks/ToolButton-B81YjdwO.js";
|
|
53
|
+
import { t as kn } from "./chunks/ToolGroup-D7juDOC_.js";
|
|
54
|
+
import { n as An, r as jn, t as Mn } from "./chunks/ToolPalette-BSzmRJS7.js";
|
|
54
55
|
import "./components/Field/index.js";
|
|
55
|
-
import { i as
|
|
56
|
-
import {
|
|
57
|
-
import { t as
|
|
58
|
-
import {
|
|
59
|
-
import {
|
|
60
|
-
import { t as
|
|
61
|
-
import {
|
|
62
|
-
import {
|
|
63
|
-
import {
|
|
56
|
+
import { i as Nn, n as Pn, r as Fn, t as In } from "./chunks/Tabs-9sODd2Ut.js";
|
|
57
|
+
import { t as Ln } from "./chunks/MenuButton-Do8fFUx1.js";
|
|
58
|
+
import { n as Rn, t as zn } from "./chunks/ComboBox-CPES6Y1i.js";
|
|
59
|
+
import { t as Bn } from "./chunks/DetentSlider-CYicfnKr.js";
|
|
60
|
+
import { n as Vn, t as Hn } from "./chunks/Callout-BPIA2is-.js";
|
|
61
|
+
import { a as Un, i as Wn, n as Gn, r as Kn, t as qn } from "./chunks/Toast-LpN1WK8E.js";
|
|
62
|
+
import { t as Jn } from "./chunks/PointPlotter-anTHwz8f.js";
|
|
63
|
+
import { n as Yn, r as Xn, t as X } from "./chunks/BandEditor-BeWO56_w.js";
|
|
64
|
+
import { a as Zn, c as Qn, i as $n, l as er, n as tr, o as nr, r as rr, s as ir, t as ar } from "./chunks/Timeline-DOZgb1CG.js";
|
|
65
|
+
import { oklabToSrgbU8 as or, oklchToOklab as sr, rgbaToHex as cr } from "@weasel-js/core";
|
|
66
|
+
import { useCallback as lr, useEffect as Z, useRef as Q, useState as $ } from "react";
|
|
64
67
|
//#region src/color/oklch.ts
|
|
65
|
-
function
|
|
66
|
-
let [r, i, a] =
|
|
67
|
-
return
|
|
68
|
+
function ur(e, t, n) {
|
|
69
|
+
let [r, i, a] = sr(e, t, n * Math.PI / 180), [o, s, c] = or(r, i, a);
|
|
70
|
+
return cr([
|
|
68
71
|
o / 255,
|
|
69
72
|
s / 255,
|
|
70
73
|
c / 255
|
|
71
74
|
]);
|
|
72
75
|
}
|
|
73
|
-
function
|
|
76
|
+
function dr(e, t) {
|
|
74
77
|
let [n, r] = t.lRange;
|
|
75
78
|
return e <= n ? t.cBot : e >= r ? t.cTop : e <= t.midL ? t.cBot + (t.cPeak - t.cBot) * ((e - n) / (t.midL - n)) : t.cPeak + (t.cTop - t.cPeak) * ((e - t.midL) / (r - t.midL));
|
|
76
79
|
}
|
|
77
80
|
//#endregion
|
|
78
|
-
|
|
81
|
+
//#region src/useAsyncOptions.ts
|
|
82
|
+
function fr({ load: e, debounceMs: t = 150, minLength: n = 0 }) {
|
|
83
|
+
let [r, i] = $(""), [a, o] = $([]), [s, c] = $(!1), [l, u] = $(null), d = Q(e);
|
|
84
|
+
d.current = e;
|
|
85
|
+
let f = Q(0), p = Q(0), m = Q(null);
|
|
86
|
+
return Z(() => {
|
|
87
|
+
if (r.length < n) {
|
|
88
|
+
m.current?.abort(), m.current = null, p.current = f.current, o([]), c(!1), u(null);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
let e = setTimeout(() => {
|
|
92
|
+
let e = ++f.current, t = new AbortController();
|
|
93
|
+
m.current?.abort(), m.current = t, c(!0), d.current(r, t.signal).then((t) => {
|
|
94
|
+
e <= p.current || (p.current = e, o(t), u(null), c(!1));
|
|
95
|
+
}, (n) => {
|
|
96
|
+
t.signal.aborted || e <= p.current || (p.current = e, u(n), c(!1));
|
|
97
|
+
});
|
|
98
|
+
}, t);
|
|
99
|
+
return () => clearTimeout(e);
|
|
100
|
+
}, [
|
|
101
|
+
r,
|
|
102
|
+
t,
|
|
103
|
+
n
|
|
104
|
+
]), Z(() => () => m.current?.abort(), []), {
|
|
105
|
+
options: a,
|
|
106
|
+
isLoading: s,
|
|
107
|
+
loadError: l,
|
|
108
|
+
inputValue: r,
|
|
109
|
+
onInputChange: lr((e) => i(e), [])
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
//#endregion
|
|
113
|
+
export { ke as ActionBar, rt as ActionsBar, de as AddIcon, ar as AnimatedTimeline, K as ArrowIcon, je as Badge, X as BandEditor, se as BusyIcon, Me as Button, Hn as Callout, Vn as CalloutTrigger, ht as Checkbox, Zt as CheckboxRow, z as ChevronIcon, D as CloneIcon, J as CloseIcon, le as CollapseIcon, ot as ColorField, cn as ColorRow, zn as ComboBox, Rn as ComboBoxItem, A as CompareIcon, U as CrosshairIcon, Ut as CurveEditor, tn as CurveField, Pe as DataGrid, pe as DeleteIcon, Bn as DetentSlider, Mt as Dialog, Ie as Disclosure, Fe as DisclosureRow, Le as DragHandleGlyph, nr as EASING_NAMES, Ae as EDGE_PROFILES, Zn as EasingPicker, sn as EffectCard, un as EffectCardList, M as EllipseIcon, F as ErrorIcon, ae as ExpandIcon, G as ExportIcon, R as EyedropperIcon, _t as Field, L as FilterIcon, E as FitIcon, bt as FontFamilySelect, he as FullscreenIcon, lt as GradientEditor, ct as GradientHandles, ve as GridIcon, k as HandIcon, _e as HiddenIcon, n as ICON_PATHS, r as Icon, v as ImageIcon, s as InfoIcon, at as InlineRange, xt as Input, $e as ItemList, Re as KeyCap, ze as KeySequence, ge as LassoIcon, Ge as LayerStack, Kt as LayeredCurveEditor, y as LayersIcon, l as LayoutColumnsIcon, c as LayoutGridIcon, ie as LayoutRowsIcon, H as LineIcon, a as LinkIcon, V as LockIcon, ne as LoupeIcon, Qe as MINUS_SIGN, _n as MIXED, re as MeasureIcon, Ln as MenuButton, h as ModeAutoIcon, u as ModeDarkIcon, p as ModeLightIcon, St as NumberField, dn as NumberRow, nt as OptionsBar, Ee as OverlayPortalProvider, pt as PaintInput, te as PanIcon, ft as PatternPicker, _ as PauseIcon, ye as PenIcon, o as PencilIcon, x as PinIcon, f as PlayIcon, Bt as Plot2D, Jn as PointPlotter, b as PolygonIcon, mt as Powerline, Ce as PrefsDialog, xe as PrefsForm, fn as PropertyGroup, Qt as PropertyList, an as PropertyPanel, pn as PropertyRow, $t as PropertySpan, Tt as Radio, wt as RadioGroup, S as RandomizeIcon, Et as RangeSlider, d as RectIcon, ee as RedoIcon, oe as RefreshIcon, m as RemoveIcon, w as ResetIcon, Sn as ResizeHandle, ut as SceneGradientHandles, C as SearchIcon, yt as Select, T as SelectIcon, vt as SelectItem, en as SelectRow, xn as SelectionPanel, Cn as Sidebar, wn as SidebarPanel, Ke as Slider, ln as SliderRow, g as SnapIcon, i as SnapshotIcon, P as SortIcon, fe as StarIcon, Dn as StatusBar, Tn as StatusBarItem, En as StatusBarSpacer, q as StepIcon, ce as StopIcon, rn as Subpanel, Dt as Switch, In as Tab, Pn as TabList, Fn as TabPanel, Nn as Tabs, B as TextIcon, on as TextRow, tr as Timeline, Gn as ToastQueue, qn as ToastRegion, et as ToggleBar, nn as ToggleRow, On as ToolButton, kn as ToolGroup, it as ToolOptionsBar, Mn as ToolPalette, Oe as Tooltip, De as TooltipTrigger, rr as Transport, O as TuneIcon, Y as UndoIcon, Ct as UnitField, ue as UnknownIcon, j as UnlockIcon, W as VisibleIcon, me as WarningIcon, N as ZoomInIcon, I as ZoomOutIcon, yn as aggregateValue, Xt as applyKeyframeDrag, dr as chromaAt, gn as classifyKind, Wt as createFunctionLayer, Jt as createKeyframeLayer, Gt as createSetCurveOp, Kn as createToastQueue, Wn as defaultToastQueue, Ue as detectPlatform, t as dlog, ir as easingBezier, Qn as easingLabel, mn as effectiveSections, gt as fieldClasses, Ye as formatCompact, Ze as formatNumber, An as formatShortcut, jn as formatShortcutParts, It as formatTick, Je as formatZoom, Ht as functionLayerState, Ve as inferKeycapKind, e as isDebugEnabled, jt as isPrefLeaf, We as keyGlyph, Be as keySpecFromKey, He as keySpecsFromMods, Yt as keyframeLayerState, vn as kindBreakdown, Yn as linearScale, Xn as logScale, zt as modelToPlot, we as nearestPortalHost, Rt as niceStep, Ft as niceTicks, bn as nodeValueAt, ur as oklchToHex, st as paintGradientTrack, qe as parseNumber, Xe as parseSignedNumber, Pt as plotToModel, At as prefDisplayBounds, kt as prefValueAtPath, $n as samePath, Vt as sampleByInterpolation, er as sampleEasing, dt as seedPattern, hn as setAtPath, qt as snapToNearest, Se as solidColorOf, Nt as stepDecimals, be as strokeColorOf, Lt as tickDecimals, Un as toast, fr as useAsyncOptions, Te as useOverlayPortal, Ne as useReorderDragList, tt as useRovingTabIndex, Ot as visiblePrefSubtree };
|
|
79
114
|
|
|
80
115
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../src/color/oklch.ts"],"sourcesContent":["// OKLCH math from Björn Ottosson: https://bottosson.github.io/posts/oklab/\nimport { oklchToOklab, oklabToSrgbU8, rgbaToHex } from '@weasel-js/core';\n\n/**\n * A chroma envelope over lightness, as three linear segments: flat at `cBot`\n * below `lRange[0]`, rising to `cPeak` at `midL`, falling to `cTop` at\n * `lRange[1]`, flat beyond. Keeps a color ramp inside gamut at the light and\n * dark ends while staying saturated through the middle.\n */\nexport type ChromaCurve = {\n lRange: [number, number];\n midL: number;\n cBot: number;\n cPeak: number;\n cTop: number;\n};\n\n/** A single lightness/chroma sample. */\nexport type ChromaCurvePoint = { L: number; C: number };\n\n/**\n * Converts an OKLCH color to a gamut-clipped `#rrggbb` string. Hue is in\n * degrees, unlike the kit's OKLab helpers which take radians.\n */\nexport function oklchToHex(L: number, C: number, Hdeg: number): string {\n // Delegate to the kit's OKLab pipeline (kit angle unit is radians) →\n // gamut-clipped u8 sRGB → `#rrggbb`.\n const [l, a, b] = oklchToOklab(L, C, (Hdeg * Math.PI) / 180);\n const [r, g, bl] = oklabToSrgbU8(l, a, b);\n return rgbaToHex([r / 255, g / 255, bl / 255]);\n}\n\n/** Evaluates a {@link ChromaCurve} at a lightness, clamping outside its range. */\nexport function chromaAt(L: number, curve: ChromaCurve): number {\n const [lo, hi] = curve.lRange;\n if (L <= lo) return curve.cBot;\n if (L >= hi) return curve.cTop;\n if (L <= curve.midL) return curve.cBot + (curve.cPeak - curve.cBot) * ((L - lo) / (curve.midL - lo));\n return curve.cPeak + (curve.cTop - curve.cPeak) * ((L - curve.midL) / (hi - curve.midL));\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../src/color/oklch.ts","../src/useAsyncOptions.ts"],"sourcesContent":["// OKLCH math from Björn Ottosson: https://bottosson.github.io/posts/oklab/\nimport { oklchToOklab, oklabToSrgbU8, rgbaToHex } from '@weasel-js/core';\n\n/**\n * A chroma envelope over lightness, as three linear segments: flat at `cBot`\n * below `lRange[0]`, rising to `cPeak` at `midL`, falling to `cTop` at\n * `lRange[1]`, flat beyond. Keeps a color ramp inside gamut at the light and\n * dark ends while staying saturated through the middle.\n */\nexport type ChromaCurve = {\n lRange: [number, number];\n midL: number;\n cBot: number;\n cPeak: number;\n cTop: number;\n};\n\n/** A single lightness/chroma sample. */\nexport type ChromaCurvePoint = { L: number; C: number };\n\n/**\n * Converts an OKLCH color to a gamut-clipped `#rrggbb` string. Hue is in\n * degrees, unlike the kit's OKLab helpers which take radians.\n */\nexport function oklchToHex(L: number, C: number, Hdeg: number): string {\n // Delegate to the kit's OKLab pipeline (kit angle unit is radians) →\n // gamut-clipped u8 sRGB → `#rrggbb`.\n const [l, a, b] = oklchToOklab(L, C, (Hdeg * Math.PI) / 180);\n const [r, g, bl] = oklabToSrgbU8(l, a, b);\n return rgbaToHex([r / 255, g / 255, bl / 255]);\n}\n\n/** Evaluates a {@link ChromaCurve} at a lightness, clamping outside its range. */\nexport function chromaAt(L: number, curve: ChromaCurve): number {\n const [lo, hi] = curve.lRange;\n if (L <= lo) return curve.cBot;\n if (L >= hi) return curve.cTop;\n if (L <= curve.midL) return curve.cBot + (curve.cPeak - curve.cBot) * ((L - lo) / (curve.midL - lo));\n return curve.cPeak + (curve.cTop - curve.cPeak) * ((L - curve.midL) / (hi - curve.midL));\n}\n","import { useCallback, useEffect, useRef, useState } from 'react';\nimport type { ComboBoxOption } from './components/ComboBox/ComboBox';\n\ntype Key = string | number;\n\n/** An option list keyed to the value type its combo box commits. */\nexport type AsyncOption<T extends Key> = ComboBoxOption & { value: T };\n\n/** Options for {@link useAsyncOptions}. */\nexport type UseAsyncOptionsProps<T extends Key> = {\n /**\n * Fetches the options for a query. The signal aborts when a later keystroke\n * supersedes this call, so a `fetch` should forward it.\n */\n load: (query: string, signal: AbortSignal) => Promise<ReadonlyArray<AsyncOption<T>>>;\n /** Quiet period before a query is sent. */\n debounceMs?: number;\n /** Shorter queries are not sent, and empty the options. */\n minLength?: number;\n};\n\n/** What {@link useAsyncOptions} returns, shaped to spread into a `ComboBox`. */\nexport type AsyncOptionsResult<T extends Key> = {\n options: ReadonlyArray<AsyncOption<T>>;\n isLoading: boolean;\n loadError: unknown | null;\n inputValue: string;\n onInputChange: (next: string) => void;\n};\n\n/**\n * Drives a combo box whose options come from a server: debounces the query,\n * discards responses overtaken by a later one, and reports a failed load\n * separately from an empty result.\n *\n * `options` holds the last *resolved* list and is never emptied to mean\n * \"working\", so the previous results stay on screen — and stay arrowable —\n * while the next request is in flight.\n */\nexport function useAsyncOptions<T extends Key = string>({\n load,\n debounceMs = 150,\n minLength = 0,\n}: UseAsyncOptionsProps<T>): AsyncOptionsResult<T> {\n const [inputValue, setInputValue] = useState('');\n const [options, setOptions] = useState<ReadonlyArray<AsyncOption<T>>>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [loadError, setLoadError] = useState<unknown | null>(null);\n\n // Read through a ref: a consumer passing an inline arrow re-creates `load`\n // every render, and depending on it directly would refire the request.\n const loadRef = useRef(load);\n loadRef.current = load;\n\n // A monotonic id per request, and the highest one whose result has been\n // applied. A liveness flag cannot do this job: two requests from adjacent\n // keystrokes are both live, so the slower one overwrites the newer result\n // if it lands second.\n const issued = useRef(0);\n const applied = useRef(0);\n const inFlight = useRef<AbortController | null>(null);\n\n useEffect(() => {\n if (inputValue.length < minLength) {\n inFlight.current?.abort();\n inFlight.current = null;\n applied.current = issued.current;\n setOptions([]);\n setIsLoading(false);\n setLoadError(null);\n return;\n }\n\n const timer = setTimeout(() => {\n const mine = ++issued.current;\n const controller = new AbortController();\n inFlight.current?.abort();\n inFlight.current = controller;\n setIsLoading(true);\n\n loadRef.current(inputValue, controller.signal).then(\n (next) => {\n if (mine <= applied.current) return;\n applied.current = mine;\n setOptions(next);\n setLoadError(null);\n setIsLoading(false);\n },\n (error: unknown) => {\n if (controller.signal.aborted || mine <= applied.current) return;\n applied.current = mine;\n setLoadError(error);\n setIsLoading(false);\n },\n );\n }, debounceMs);\n\n return () => clearTimeout(timer);\n }, [inputValue, debounceMs, minLength]);\n\n useEffect(() => () => inFlight.current?.abort(), []);\n\n const onInputChange = useCallback((next: string) => setInputValue(next), []);\n\n return { options, isLoading, loadError, inputValue, onInputChange };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,SAAgB,GAAW,GAAW,GAAW,GAAsB;CAGrE,IAAM,CAAC,GAAG,GAAG,KAAK,GAAa,GAAG,GAAI,IAAO,KAAK,KAAM,IAAI,EACtD,CAAC,GAAG,GAAG,KAAM,GAAc,GAAG,GAAG,EAAE;AACzC,QAAO,GAAU;EAAC,IAAI;EAAK,IAAI;EAAK,IAAK;EAAI,CAAC;;AAIhD,SAAgB,GAAS,GAAW,GAA4B;CAC9D,IAAM,CAAC,GAAI,KAAM,EAAM;AAIvB,QAHI,KAAK,IAAW,EAAM,OACtB,KAAK,IAAW,EAAM,OACtB,KAAK,EAAM,OAAa,EAAM,QAAQ,EAAM,QAAQ,EAAM,UAAU,IAAI,MAAO,EAAM,OAAO,MACzF,EAAM,SAAS,EAAM,OAAO,EAAM,WAAW,IAAI,EAAM,SAAS,IAAK,EAAM;;;;ACCpF,SAAgB,GAAwC,EACtD,SACA,gBAAa,KACb,eAAY,KACqC;CACjD,IAAM,CAAC,GAAY,KAAiB,EAAS,GAAG,EAC1C,CAAC,GAAS,KAAc,EAAwC,EAAE,CAAC,EACnE,CAAC,GAAW,KAAgB,EAAS,GAAM,EAC3C,CAAC,GAAW,KAAgB,EAAyB,KAAK,EAI1D,IAAU,EAAO,EAAK;AAC5B,GAAQ,UAAU;CAMlB,IAAM,IAAS,EAAO,EAAE,EAClB,IAAU,EAAO,EAAE,EACnB,IAAW,EAA+B,KAAK;AA4CrD,QA1CA,QAAgB;AACd,MAAI,EAAW,SAAS,GAAW;AAMjC,GALA,EAAS,SAAS,OAAO,EACzB,EAAS,UAAU,MACnB,EAAQ,UAAU,EAAO,SACzB,EAAW,EAAE,CAAC,EACd,EAAa,GAAM,EACnB,EAAa,KAAK;AAClB;;EAGF,IAAM,IAAQ,iBAAiB;GAC7B,IAAM,IAAO,EAAE,EAAO,SAChB,IAAa,IAAI,iBAAiB;AAKxC,GAJA,EAAS,SAAS,OAAO,EACzB,EAAS,UAAU,GACnB,EAAa,GAAK,EAElB,EAAQ,QAAQ,GAAY,EAAW,OAAO,CAAC,MAC5C,MAAS;AACJ,SAAQ,EAAQ,YACpB,EAAQ,UAAU,GAClB,EAAW,EAAK,EAChB,EAAa,KAAK,EAClB,EAAa,GAAM;OAEpB,MAAmB;AACd,MAAW,OAAO,WAAW,KAAQ,EAAQ,YACjD,EAAQ,UAAU,GAClB,EAAa,EAAM,EACnB,EAAa,GAAM;KAEtB;KACA,EAAW;AAEd,eAAa,aAAa,EAAM;IAC/B;EAAC;EAAY;EAAY;EAAU,CAAC,EAEvC,cAAsB,EAAS,SAAS,OAAO,EAAE,EAAE,CAAC,EAI7C;EAAE;EAAS;EAAW;EAAW;EAAY,eAF9B,IAAa,MAAiB,EAAc,EAAK,EAAE,EAAE,CAEvB;EAAe"}
|