@5voltfx/design-system 0.1.1 → 0.2.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/chunk-2KHDM6UP.js +58 -0
- package/dist/chunk-2KHDM6UP.js.map +1 -0
- package/dist/chunk-45346SXP.js +65 -0
- package/dist/chunk-45346SXP.js.map +1 -0
- package/dist/chunk-BAISLPWP.js +14 -0
- package/dist/chunk-BAISLPWP.js.map +1 -0
- package/dist/chunk-CT2TMR44.js +1 -0
- package/dist/chunk-CT2TMR44.js.map +1 -0
- package/dist/chunk-DD5VKG3L.js +22 -0
- package/dist/chunk-DD5VKG3L.js.map +1 -0
- package/dist/chunk-HLP2MPQ6.js +110 -0
- package/dist/chunk-HLP2MPQ6.js.map +1 -0
- package/dist/chunk-HPOL5NKF.js +22 -0
- package/dist/chunk-HPOL5NKF.js.map +1 -0
- package/dist/chunk-I3NS5MAC.js +23 -0
- package/dist/chunk-I3NS5MAC.js.map +1 -0
- package/dist/chunk-LPEUQ2DE.js +48 -0
- package/dist/chunk-LPEUQ2DE.js.map +1 -0
- package/dist/chunk-LY5MPGW2.js +129 -0
- package/dist/chunk-LY5MPGW2.js.map +1 -0
- package/dist/chunk-R42A3ZCY.js +16 -0
- package/dist/chunk-R42A3ZCY.js.map +1 -0
- package/dist/chunk-SUYKOWXJ.js +1219 -0
- package/dist/chunk-SUYKOWXJ.js.map +1 -0
- package/dist/chunk-VRGTUKSJ.js +20 -0
- package/dist/chunk-VRGTUKSJ.js.map +1 -0
- package/dist/chunk-ZVUDPTFZ.js +76 -0
- package/dist/chunk-ZVUDPTFZ.js.map +1 -0
- package/dist/components/Accordion/Accordion.d.ts +29 -0
- package/dist/components/Accordion/Accordion.d.ts.map +1 -0
- package/dist/components/Accordion/index.css +58 -0
- package/dist/components/Accordion/index.css.map +1 -0
- package/dist/components/Accordion/index.d.ts +2 -0
- package/dist/components/Accordion/index.d.ts.map +1 -0
- package/dist/components/Accordion/index.js +7 -0
- package/dist/components/Accordion/index.js.map +1 -0
- package/dist/components/Button/Button.d.ts +8 -0
- package/dist/components/Button/Button.d.ts.map +1 -0
- package/dist/components/Button/index.d.ts +2 -0
- package/dist/components/Button/index.d.ts.map +1 -0
- package/dist/components/Card/Card.d.ts +6 -0
- package/dist/components/Card/Card.d.ts.map +1 -0
- package/dist/components/Card/index.d.ts +2 -0
- package/dist/components/Card/index.d.ts.map +1 -0
- package/dist/components/Checkbox/Checkbox.d.ts +15 -0
- package/dist/components/Checkbox/Checkbox.d.ts.map +1 -0
- package/dist/components/Checkbox/index.css +57 -0
- package/dist/components/Checkbox/index.css.map +1 -0
- package/dist/components/Checkbox/index.d.ts +2 -0
- package/dist/components/Checkbox/index.d.ts.map +1 -0
- package/dist/components/Checkbox/index.js +7 -0
- package/dist/components/Checkbox/index.js.map +1 -0
- package/dist/components/Footer/Footer.d.ts +15 -0
- package/dist/components/Footer/Footer.d.ts.map +1 -0
- package/dist/components/Footer/index.d.ts +2 -0
- package/dist/components/Footer/index.d.ts.map +1 -0
- package/dist/components/FormField/FormField.d.ts +27 -0
- package/dist/components/FormField/FormField.d.ts.map +1 -0
- package/dist/components/FormField/index.css +31 -0
- package/dist/components/FormField/index.css.map +1 -0
- package/dist/components/FormField/index.d.ts +2 -0
- package/dist/components/FormField/index.d.ts.map +1 -0
- package/dist/components/FormField/index.js +8 -0
- package/dist/components/FormField/index.js.map +1 -0
- package/dist/components/Header/Header.d.ts +15 -0
- package/dist/components/Header/Header.d.ts.map +1 -0
- package/dist/components/Header/index.d.ts +2 -0
- package/dist/components/Header/index.d.ts.map +1 -0
- package/dist/components/Input/Input.d.ts +16 -0
- package/dist/components/Input/Input.d.ts.map +1 -0
- package/dist/components/Input/index.css +45 -0
- package/dist/components/Input/index.css.map +1 -0
- package/dist/components/Input/index.d.ts +2 -0
- package/dist/components/Input/index.d.ts.map +1 -0
- package/dist/components/Input/index.js +7 -0
- package/dist/components/Input/index.js.map +1 -0
- package/dist/components/Label/Label.d.ts +15 -0
- package/dist/components/Label/Label.d.ts.map +1 -0
- package/dist/components/Label/index.css +14 -0
- package/dist/components/Label/index.css.map +1 -0
- package/dist/components/Label/index.d.ts +2 -0
- package/dist/components/Label/index.d.ts.map +1 -0
- package/dist/components/Label/index.js +8 -0
- package/dist/components/Label/index.js.map +1 -0
- package/dist/components/Layout/Container.d.ts +6 -0
- package/dist/components/Layout/Container.d.ts.map +1 -0
- package/dist/components/Layout/Grid.d.ts +9 -0
- package/dist/components/Layout/Grid.d.ts.map +1 -0
- package/dist/components/Layout/Stack.d.ts +10 -0
- package/dist/components/Layout/Stack.d.ts.map +1 -0
- package/dist/components/Layout/index.d.ts +4 -0
- package/dist/components/Layout/index.d.ts.map +1 -0
- package/dist/components/Menu/Menu.d.ts +30 -0
- package/dist/components/Menu/Menu.d.ts.map +1 -0
- package/dist/components/Menu/index.css +77 -0
- package/dist/components/Menu/index.css.map +1 -0
- package/dist/components/Menu/index.d.ts +2 -0
- package/dist/components/Menu/index.d.ts.map +1 -0
- package/dist/components/Menu/index.js +7 -0
- package/dist/components/Menu/index.js.map +1 -0
- package/dist/components/Modal/Modal.d.ts +24 -0
- package/dist/components/Modal/Modal.d.ts.map +1 -0
- package/dist/components/Modal/index.css +101 -0
- package/dist/components/Modal/index.css.map +1 -0
- package/dist/components/Modal/index.d.ts +2 -0
- package/dist/components/Modal/index.d.ts.map +1 -0
- package/dist/components/Modal/index.js +7 -0
- package/dist/components/Modal/index.js.map +1 -0
- package/dist/components/Nav/Nav.d.ts +10 -0
- package/dist/components/Nav/Nav.d.ts.map +1 -0
- package/dist/components/Nav/index.d.ts +2 -0
- package/dist/components/Nav/index.d.ts.map +1 -0
- package/dist/components/Radio/Radio.d.ts +17 -0
- package/dist/components/Radio/Radio.d.ts.map +1 -0
- package/dist/components/Radio/RadioGroup.d.ts +25 -0
- package/dist/components/Radio/RadioGroup.d.ts.map +1 -0
- package/dist/components/Radio/RadioGroupContext.d.ts +7 -0
- package/dist/components/Radio/RadioGroupContext.d.ts.map +1 -0
- package/dist/components/Radio/index.css +57 -0
- package/dist/components/Radio/index.css.map +1 -0
- package/dist/components/Radio/index.d.ts +3 -0
- package/dist/components/Radio/index.d.ts.map +1 -0
- package/dist/components/Radio/index.js +9 -0
- package/dist/components/Radio/index.js.map +1 -0
- package/dist/components/Select/Select.d.ts +18 -0
- package/dist/components/Select/Select.d.ts.map +1 -0
- package/dist/components/Select/index.css +52 -0
- package/dist/components/Select/index.css.map +1 -0
- package/dist/components/Select/index.d.ts +2 -0
- package/dist/components/Select/index.d.ts.map +1 -0
- package/dist/components/Select/index.js +7 -0
- package/dist/components/Select/index.js.map +1 -0
- package/dist/components/SlideRuleNav/SlideRuleNav.d.ts +54 -0
- package/dist/components/SlideRuleNav/SlideRuleNav.d.ts.map +1 -0
- package/dist/components/SlideRuleNav/geometry.d.ts +168 -0
- package/dist/components/SlideRuleNav/geometry.d.ts.map +1 -0
- package/dist/components/SlideRuleNav/index.css +196 -0
- package/dist/components/SlideRuleNav/index.css.map +1 -0
- package/dist/components/SlideRuleNav/index.d.ts +2 -0
- package/dist/components/SlideRuleNav/index.d.ts.map +1 -0
- package/dist/components/SlideRuleNav/index.js +7 -0
- package/dist/components/SlideRuleNav/index.js.map +1 -0
- package/dist/components/SlideRuleNav/variants/CursorRule.d.ts +11 -0
- package/dist/components/SlideRuleNav/variants/CursorRule.d.ts.map +1 -0
- package/dist/components/SlideRuleNav/variants/SlideStator.d.ts +13 -0
- package/dist/components/SlideRuleNav/variants/SlideStator.d.ts.map +1 -0
- package/dist/components/SlideRuleNav/variants/VernierCarriage.d.ts +13 -0
- package/dist/components/SlideRuleNav/variants/VernierCarriage.d.ts.map +1 -0
- package/dist/components/Switch/Switch.d.ts +15 -0
- package/dist/components/Switch/Switch.d.ts.map +1 -0
- package/dist/components/Switch/index.css +49 -0
- package/dist/components/Switch/index.css.map +1 -0
- package/dist/components/Switch/index.d.ts +2 -0
- package/dist/components/Switch/index.d.ts.map +1 -0
- package/dist/components/Switch/index.js +7 -0
- package/dist/components/Switch/index.js.map +1 -0
- package/dist/components/Tabs/Tabs.d.ts +34 -0
- package/dist/components/Tabs/Tabs.d.ts.map +1 -0
- package/dist/components/Tabs/index.css +54 -0
- package/dist/components/Tabs/index.css.map +1 -0
- package/dist/components/Tabs/index.d.ts +2 -0
- package/dist/components/Tabs/index.d.ts.map +1 -0
- package/dist/components/Tabs/index.js +7 -0
- package/dist/components/Tabs/index.js.map +1 -0
- package/dist/components/Textarea/Textarea.d.ts +16 -0
- package/dist/components/Textarea/Textarea.d.ts.map +1 -0
- package/dist/components/Textarea/index.css +36 -0
- package/dist/components/Textarea/index.css.map +1 -0
- package/dist/components/Textarea/index.d.ts +2 -0
- package/dist/components/Textarea/index.d.ts.map +1 -0
- package/dist/components/Textarea/index.js +7 -0
- package/dist/components/Textarea/index.js.map +1 -0
- package/dist/components/ThemeSwitcher/ThemeSwitcher.d.ts +4 -0
- package/dist/components/ThemeSwitcher/ThemeSwitcher.d.ts.map +1 -0
- package/dist/components/ThemeSwitcher/index.d.ts +2 -0
- package/dist/components/ThemeSwitcher/index.d.ts.map +1 -0
- package/dist/components/Typography/Heading.d.ts +9 -0
- package/dist/components/Typography/Heading.d.ts.map +1 -0
- package/dist/components/Typography/Text.d.ts +9 -0
- package/dist/components/Typography/Text.d.ts.map +1 -0
- package/dist/components/Typography/index.d.ts +3 -0
- package/dist/components/Typography/index.d.ts.map +1 -0
- package/dist/components/_shared/useDetentTravel.d.ts +87 -0
- package/dist/components/_shared/useDetentTravel.d.ts.map +1 -0
- package/dist/components/_shared/usePointerDrag.d.ts +24 -0
- package/dist/components/_shared/usePointerDrag.d.ts.map +1 -0
- package/dist/components/_shared/useReducedMotion.d.ts +7 -0
- package/dist/components/_shared/useReducedMotion.d.ts.map +1 -0
- package/dist/components/_shared/validateStationCount.d.ts +13 -0
- package/dist/components/_shared/validateStationCount.d.ts.map +1 -0
- package/dist/index.css +854 -0
- package/dist/index.css.map +1 -1
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +67 -12
- package/dist/index.js.map +1 -1
- package/dist/theme/ThemeContext.d.ts +2 -0
- package/dist/theme/ThemeContext.d.ts.map +1 -0
- package/dist/theme/ThemeProvider.d.ts +12 -0
- package/dist/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/theme/themeConstants.d.ts +8 -0
- package/dist/theme/themeConstants.d.ts.map +1 -0
- package/dist/theme/useTheme.d.ts +2 -0
- package/dist/theme/useTheme.d.ts.map +1 -0
- package/package.json +21 -5
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Ease-out-back with a deliberately low overshoot. The small bounce is what
|
|
3
|
+
* reads as *mechanical* — a cursor dropping into a notch — rather than bouncy.
|
|
4
|
+
* Copied from the design artboards; do not retune without redrawing them.
|
|
5
|
+
*
|
|
6
|
+
* @param {number} x - Normalized time, 0…1.
|
|
7
|
+
* @returns {number}
|
|
8
|
+
*/
|
|
9
|
+
export function easeBack(x: number): number;
|
|
10
|
+
/**
|
|
11
|
+
* @typedef {object} DetentTravel
|
|
12
|
+
* @property {number} pos - Continuous travel, 0…count-1. Quantized to
|
|
13
|
+
* quarter detents while dragging.
|
|
14
|
+
* @property {number} station - Committed integer station index.
|
|
15
|
+
* @property {boolean} dragging
|
|
16
|
+
* @property {boolean} settling - True while the release animation runs.
|
|
17
|
+
* @property {(i: number, ms?: number) => void} goTo - Animate to a station.
|
|
18
|
+
* @property {(delta: number) => void} step - Move by whole stations.
|
|
19
|
+
* @property {(raw: number) => void} track - Feed raw travel during a drag.
|
|
20
|
+
* @property {() => void} begin - Start a drag.
|
|
21
|
+
* @property {() => void} release - Settle to the nearest station.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* The detent state machine shared by every slide-rule navigation.
|
|
25
|
+
*
|
|
26
|
+
* Travel is quantized to quarter-pitch detents *while dragging*, so the
|
|
27
|
+
* mechanism visibly ratchets between stations, but releasing always settles
|
|
28
|
+
* onto a station — navigation never rests in a null state. `onChange` fires
|
|
29
|
+
* once, on arrival, and never mid-drag.
|
|
30
|
+
*
|
|
31
|
+
* @param {object} options
|
|
32
|
+
* @param {number} options.count - Number of stations.
|
|
33
|
+
* @param {number} [options.value] - Controlled station index.
|
|
34
|
+
* @param {number} [options.defaultValue] - Initial station (uncontrolled).
|
|
35
|
+
* @param {(station: number) => void} [options.onChange] - Fires on commit.
|
|
36
|
+
* @param {number} [options.subdivisions] - Detents per station gap.
|
|
37
|
+
* @param {number} [options.settleMs] - Release animation duration.
|
|
38
|
+
* @param {() => void} [options.onDetentCross] - Fires per detent crossed
|
|
39
|
+
* while dragging; drives the pawl kick and any tick feedback.
|
|
40
|
+
* @returns {DetentTravel}
|
|
41
|
+
*/
|
|
42
|
+
export function useDetentTravel({ count, value, defaultValue, onChange, subdivisions, settleMs, onDetentCross, }?: {
|
|
43
|
+
count: number;
|
|
44
|
+
value?: number | undefined;
|
|
45
|
+
defaultValue?: number | undefined;
|
|
46
|
+
onChange?: ((station: number) => void) | undefined;
|
|
47
|
+
subdivisions?: number | undefined;
|
|
48
|
+
settleMs?: number | undefined;
|
|
49
|
+
onDetentCross?: (() => void) | undefined;
|
|
50
|
+
}): DetentTravel;
|
|
51
|
+
export type DetentTravel = {
|
|
52
|
+
/**
|
|
53
|
+
* - Continuous travel, 0…count-1. Quantized to
|
|
54
|
+
* quarter detents while dragging.
|
|
55
|
+
*/
|
|
56
|
+
pos: number;
|
|
57
|
+
/**
|
|
58
|
+
* - Committed integer station index.
|
|
59
|
+
*/
|
|
60
|
+
station: number;
|
|
61
|
+
dragging: boolean;
|
|
62
|
+
/**
|
|
63
|
+
* - True while the release animation runs.
|
|
64
|
+
*/
|
|
65
|
+
settling: boolean;
|
|
66
|
+
/**
|
|
67
|
+
* - Animate to a station.
|
|
68
|
+
*/
|
|
69
|
+
goTo: (i: number, ms?: number) => void;
|
|
70
|
+
/**
|
|
71
|
+
* - Move by whole stations.
|
|
72
|
+
*/
|
|
73
|
+
step: (delta: number) => void;
|
|
74
|
+
/**
|
|
75
|
+
* - Feed raw travel during a drag.
|
|
76
|
+
*/
|
|
77
|
+
track: (raw: number) => void;
|
|
78
|
+
/**
|
|
79
|
+
* - Start a drag.
|
|
80
|
+
*/
|
|
81
|
+
begin: () => void;
|
|
82
|
+
/**
|
|
83
|
+
* - Settle to the nearest station.
|
|
84
|
+
*/
|
|
85
|
+
release: () => void;
|
|
86
|
+
};
|
|
87
|
+
//# sourceMappingURL=useDetentTravel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDetentTravel.d.ts","sourceRoot":"","sources":["../../../src/components/_shared/useDetentTravel.js"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,4BAHW,MAAM,GACJ,MAAM,CAMlB;AAID;;;;;;;;;;;;GAYG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AACH,mHAVG;IAAwB,KAAK,EAArB,MAAM;IACW,KAAK;IACL,YAAY;IACO,QAAQ,cAAlC,MAAM,KAAK,IAAI;IACR,YAAY;IACZ,QAAQ;IACJ,aAAa,UAA5B,IAAI;CAElB,GAAU,YAAY,CA4IxB;;;;;;SAzKa,MAAM;;;;aAEN,MAAM;cACN,OAAO;;;;cACP,OAAO;;;;UACP,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,KAAK,IAAI;;;;UAChC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;;;;WACvB,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;;;;WACrB,MAAM,IAAI;;;;aACV,MAAM,IAAI"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pointer dragging that does not break clicks on nested elements.
|
|
3
|
+
*
|
|
4
|
+
* Deliberately avoids `setPointerCapture`: capturing on a container (the
|
|
5
|
+
* slide, the disc) redirects the subsequent `click` away from the station link
|
|
6
|
+
* inside it, so nav items stop responding. Window-level listeners plus a small
|
|
7
|
+
* movement threshold give the same drag behaviour and leave `click` intact.
|
|
8
|
+
* `pointerdown` is likewise never `preventDefault`ed, because that suppresses
|
|
9
|
+
* focus.
|
|
10
|
+
*
|
|
11
|
+
* @param {import("react").RefObject<Element>} ref - The drag handle.
|
|
12
|
+
* @param {object} handlers
|
|
13
|
+
* @param {(e: PointerEvent) => void} [handlers.onBegin]
|
|
14
|
+
* @param {(e: PointerEvent) => void} [handlers.onMove] - Only after threshold.
|
|
15
|
+
* @param {(e: PointerEvent, wasTap: boolean) => void} [handlers.onEnd]
|
|
16
|
+
* @param {number} [handlers.threshold] - Pixels of travel before a drag starts.
|
|
17
|
+
*/
|
|
18
|
+
export function usePointerDrag(ref: import("react").RefObject<Element>, { onBegin, onMove, onEnd, threshold }?: {
|
|
19
|
+
onBegin?: ((e: PointerEvent) => void) | undefined;
|
|
20
|
+
onMove?: ((e: PointerEvent) => void) | undefined;
|
|
21
|
+
onEnd?: ((e: PointerEvent, wasTap: boolean) => void) | undefined;
|
|
22
|
+
threshold?: number | undefined;
|
|
23
|
+
}): void;
|
|
24
|
+
//# sourceMappingURL=usePointerDrag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"usePointerDrag.d.ts","sourceRoot":"","sources":["../../../src/components/_shared/usePointerDrag.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;GAgBG;AACH,oCAPW,OAAO,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,0CAE1C;IAA6C,OAAO,QAAxC,YAAY,KAAK,IAAI;IACY,MAAM,QAAvC,YAAY,KAAK,IAAI;IAC6B,KAAK,QAAvD,YAAY,UAAU,OAAO,KAAK,IAAI;IACxB,SAAS;CACrC,QA4CA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useReducedMotion.d.ts","sourceRoot":"","sources":["../../../src/components/_shared/useReducedMotion.js"],"names":[],"mappings":"AAcA;;;;GAIG;AACH,oCAFa,OAAO,CAInB"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Clamps a station count to the range the slide-rule navigations stay legible
|
|
3
|
+
* in, warning once per render in development. Never throws — a nav that
|
|
4
|
+
* renders too many items is a design problem, not a crash.
|
|
5
|
+
*
|
|
6
|
+
* @param {number} n - Requested station count.
|
|
7
|
+
* @param {string} component - Component name, for the warning.
|
|
8
|
+
* @returns {number} The count to actually render.
|
|
9
|
+
*/
|
|
10
|
+
export function validateStationCount(n: number, component: string): number;
|
|
11
|
+
export const MIN_STATIONS: 2;
|
|
12
|
+
export const MAX_STATIONS: 8;
|
|
13
|
+
//# sourceMappingURL=validateStationCount.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateStationCount.d.ts","sourceRoot":"","sources":["../../../src/components/_shared/validateStationCount.js"],"names":[],"mappings":"AAOA;;;;;;;;GAQG;AACH,wCAJW,MAAM,aACN,MAAM,GACJ,MAAM,CAmBlB;AAjCD,2BAA4B,CAAC,CAAC;AAC9B,2BAA4B,CAAC,CAAC"}
|