sherick-ui 2.3.0 → 2.4.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/cjs/components/Checkbox.cjs +3 -1
- package/dist/cjs/components/Checkbox.cjs.map +1 -1
- package/dist/cjs/components/Combobox.cjs +1 -1
- package/dist/cjs/components/Combobox.cjs.map +1 -1
- package/dist/cjs/components/Command.cjs +1 -1
- package/dist/cjs/components/Command.cjs.map +1 -1
- package/dist/cjs/components/FileUpload.cjs +1 -1
- package/dist/cjs/components/FileUpload.cjs.map +1 -1
- package/dist/cjs/components/Input.cjs +1 -1
- package/dist/cjs/components/Input.cjs.map +1 -1
- package/dist/cjs/components/NumberField.cjs +2 -2
- package/dist/cjs/components/NumberField.cjs.map +1 -1
- package/dist/cjs/components/RadioGroup.cjs +1 -1
- package/dist/cjs/components/RadioGroup.cjs.map +1 -1
- package/dist/cjs/components/Search.cjs +4 -1
- package/dist/cjs/components/Search.cjs.map +1 -1
- package/dist/cjs/components/Select.cjs +1 -1
- package/dist/cjs/components/Select.cjs.map +1 -1
- package/dist/cjs/components/Textarea.cjs +1 -1
- package/dist/cjs/components/Textarea.cjs.map +1 -1
- package/dist/cjs/components/date-field.cjs +2 -2
- package/dist/cjs/components/date-field.cjs.map +1 -1
- package/dist/cjs/components/ui.common.cjs +97 -43
- package/dist/cjs/components/ui.common.cjs.map +1 -1
- package/dist/cjs/components/ui.motion.cjs +6 -1
- package/dist/cjs/components/ui.motion.cjs.map +1 -1
- package/dist/cjs/dev.cjs +2 -0
- package/dist/cjs/dev.cjs.map +1 -1
- package/dist/esm/components/Checkbox.js +3 -1
- package/dist/esm/components/Checkbox.js.map +1 -1
- package/dist/esm/components/Combobox.js +2 -2
- package/dist/esm/components/Combobox.js.map +1 -1
- package/dist/esm/components/Command.js +2 -2
- package/dist/esm/components/Command.js.map +1 -1
- package/dist/esm/components/FileUpload.js +2 -2
- package/dist/esm/components/FileUpload.js.map +1 -1
- package/dist/esm/components/Input.js +2 -2
- package/dist/esm/components/Input.js.map +1 -1
- package/dist/esm/components/NumberField.js +3 -3
- package/dist/esm/components/NumberField.js.map +1 -1
- package/dist/esm/components/RadioGroup.js +2 -2
- package/dist/esm/components/RadioGroup.js.map +1 -1
- package/dist/esm/components/Search.js +5 -2
- package/dist/esm/components/Search.js.map +1 -1
- package/dist/esm/components/Select.js +2 -2
- package/dist/esm/components/Select.js.map +1 -1
- package/dist/esm/components/Textarea.js +2 -2
- package/dist/esm/components/Textarea.js.map +1 -1
- package/dist/esm/components/date-field.js +3 -3
- package/dist/esm/components/date-field.js.map +1 -1
- package/dist/esm/components/ui.common.js +98 -45
- package/dist/esm/components/ui.common.js.map +1 -1
- package/dist/esm/components/ui.motion.js +6 -2
- package/dist/esm/components/ui.motion.js.map +1 -1
- package/dist/esm/dev.js +2 -2
- package/dist/styles.css +191 -49
- package/dist/theme.css +7 -3
- package/dist/types/dev.d.cts +34 -21
- package/dist/types/dev.d.ts +34 -21
- package/package.json +1 -1
package/dist/theme.css
CHANGED
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
--sui-ink: 0.245 0.018 260;
|
|
12
12
|
--sui-ink-muted: 0.480 0.018 260;
|
|
13
13
|
--sui-detail: 0.600 0.016 258;
|
|
14
|
+
--sui-rim: 0.630 0.016 258;
|
|
14
15
|
--sui-primary: 0.422 0.139 255;
|
|
15
16
|
--sui-primary-strong: 0.402 0.143 257;
|
|
16
17
|
--sui-primary-soft: 0.920 0.035 255;
|
|
@@ -41,7 +42,7 @@
|
|
|
41
42
|
--sui-elevation-control: 0 1px 2px oklch(var(--sui-light-bottom) / 0.19), inset 0 1px 0 oklch(var(--sui-light-top) / 0.55);
|
|
42
43
|
--sui-elevation-recessed: inset 0 1px 3px oklch(var(--sui-light-bottom) / 0.22), inset 0 -1px 0 oklch(var(--sui-light-top) / 0.50);
|
|
43
44
|
--sui-elevation-recessed-top: inset 0 5px 8px -5px oklch(var(--sui-light-bottom) / 0.21);
|
|
44
|
-
--sui-elevation-well: inset 0
|
|
45
|
+
--sui-elevation-well: inset 0 2px 4px oklch(var(--sui-light-bottom) / 0.40), inset 0 -1px 0 oklch(var(--sui-light-top) / 0.50);
|
|
45
46
|
--sui-glass-fill: 0.98;
|
|
46
47
|
--sui-glass-blur: 28px;
|
|
47
48
|
--sui-glass-saturation: 1.06;
|
|
@@ -78,6 +79,7 @@
|
|
|
78
79
|
--sui-ink: 0.94 0.008 255;
|
|
79
80
|
--sui-ink-muted: 0.76 0.014 255;
|
|
80
81
|
--sui-detail: 0.600 0.014 256;
|
|
82
|
+
--sui-rim: 0.555 0.014 256;
|
|
81
83
|
--sui-primary: 0.809 0.098 255;
|
|
82
84
|
--sui-primary-strong: 0.734 0.139 257;
|
|
83
85
|
--sui-primary-soft: 0.325 0.050 257;
|
|
@@ -108,7 +110,7 @@
|
|
|
108
110
|
--sui-elevation-control: 0 1px 2px oklch(var(--sui-light-bottom) / 0.30), inset 0 1px 0 oklch(var(--sui-light-top) / 0.08);
|
|
109
111
|
--sui-elevation-recessed: inset 0 1px 3px oklch(var(--sui-light-bottom) / 0.38), inset 0 -1px 0 oklch(var(--sui-light-top) / 0.06);
|
|
110
112
|
--sui-elevation-recessed-top: inset 0 5px 8px -5px oklch(var(--sui-light-bottom) / 0.36);
|
|
111
|
-
--sui-elevation-well: inset 0
|
|
113
|
+
--sui-elevation-well: inset 0 2px 4px oklch(var(--sui-light-bottom) / 0.60), inset 0 -1px 0 oklch(var(--sui-light-top) / 0.06);
|
|
112
114
|
--sui-glass-fill: 0.98;
|
|
113
115
|
--sui-glass-blur: 32px;
|
|
114
116
|
--sui-glass-saturation: 1.10;
|
|
@@ -146,6 +148,7 @@
|
|
|
146
148
|
--sui-ink: 0.94 0.008 255;
|
|
147
149
|
--sui-ink-muted: 0.76 0.014 255;
|
|
148
150
|
--sui-detail: 0.600 0.014 256;
|
|
151
|
+
--sui-rim: 0.555 0.014 256;
|
|
149
152
|
--sui-primary: 0.809 0.098 255;
|
|
150
153
|
--sui-primary-strong: 0.734 0.139 257;
|
|
151
154
|
--sui-primary-soft: 0.325 0.050 257;
|
|
@@ -176,7 +179,7 @@
|
|
|
176
179
|
--sui-elevation-control: 0 1px 2px oklch(var(--sui-light-bottom) / 0.30), inset 0 1px 0 oklch(var(--sui-light-top) / 0.08);
|
|
177
180
|
--sui-elevation-recessed: inset 0 1px 3px oklch(var(--sui-light-bottom) / 0.38), inset 0 -1px 0 oklch(var(--sui-light-top) / 0.06);
|
|
178
181
|
--sui-elevation-recessed-top: inset 0 5px 8px -5px oklch(var(--sui-light-bottom) / 0.36);
|
|
179
|
-
--sui-elevation-well: inset 0
|
|
182
|
+
--sui-elevation-well: inset 0 2px 4px oklch(var(--sui-light-bottom) / 0.60), inset 0 -1px 0 oklch(var(--sui-light-top) / 0.06);
|
|
180
183
|
--sui-glass-fill: 0.98;
|
|
181
184
|
--sui-glass-blur: 32px;
|
|
182
185
|
--sui-glass-saturation: 1.10;
|
|
@@ -206,6 +209,7 @@
|
|
|
206
209
|
|
|
207
210
|
:root {
|
|
208
211
|
--sui-font-mono: ui-monospace, "SF Mono", SFMono-Regular, "Cascadia Code", "JetBrains Mono", Menlo, Consolas, "Liberation Mono", monospace;
|
|
212
|
+
--sui-rim-dashed: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Crect width='100%25' height='100%25' rx='16' fill='none' stroke='%23000' stroke-width='3' stroke-dasharray='7' stroke-linecap='round'/%3E%3C/svg%3E");
|
|
209
213
|
--sui-duration-press: 150ms;
|
|
210
214
|
--sui-duration-release: 200ms;
|
|
211
215
|
--sui-duration-tactile: 80ms;
|
package/dist/types/dev.d.cts
CHANGED
|
@@ -18,7 +18,7 @@ declare const elevation: {
|
|
|
18
18
|
declare const recessedTop = "shadow-sherick-recessed-top";
|
|
19
19
|
declare const shape: {
|
|
20
20
|
readonly control: "rounded-[1rem]";
|
|
21
|
-
readonly mark: "rounded-[0.
|
|
21
|
+
readonly mark: "rounded-[0.375rem]";
|
|
22
22
|
readonly row: "rounded-[0.75rem]";
|
|
23
23
|
readonly prominent: "rounded-[1.25rem]";
|
|
24
24
|
readonly surface: "rounded-[1.5rem]";
|
|
@@ -32,6 +32,13 @@ declare const edgeTone: {
|
|
|
32
32
|
readonly header: "border-sherick-edge/[0.10]";
|
|
33
33
|
readonly rule: "border-sherick-edge/[0.075]";
|
|
34
34
|
};
|
|
35
|
+
declare const rim: {
|
|
36
|
+
readonly field: "border-[1.5px] border-sherick-rim";
|
|
37
|
+
readonly fieldError: "border-[1.5px] border-sherick-danger";
|
|
38
|
+
readonly dashed: string;
|
|
39
|
+
readonly dashedHover: "hover:after:bg-sherick-ink-muted";
|
|
40
|
+
readonly dashedDragging: "data-[dragging]:after:bg-sherick-primary";
|
|
41
|
+
};
|
|
35
42
|
declare const edge: {
|
|
36
43
|
readonly row: string;
|
|
37
44
|
readonly header: string;
|
|
@@ -49,17 +56,17 @@ declare const state: {
|
|
|
49
56
|
readonly text: "cursor-text";
|
|
50
57
|
readonly rowHover: "hover:bg-sherick-ink/[0.05]";
|
|
51
58
|
readonly field: {
|
|
52
|
-
readonly hover: "hover:bg-sherick-
|
|
53
|
-
readonly focus: "focus:bg-sherick-
|
|
54
|
-
readonly focusWithin: "[&&]:focus-within:bg-sherick-
|
|
55
|
-
readonly engaged: "bg-sherick-
|
|
56
|
-
readonly errorHover: "hover:bg-sherick-
|
|
57
|
-
readonly errorFocus: "focus:bg-sherick-
|
|
58
|
-
readonly errorEngaged: "bg-sherick-
|
|
59
|
-
readonly invalid: "data-[invalid]:
|
|
60
|
-
readonly invalidHover: "data-[invalid]:hover:
|
|
61
|
-
readonly invalidEngaged: "data-[invalid]:
|
|
62
|
-
readonly invalidFocusWithin: "[&&]:data-[invalid]:focus-within:
|
|
59
|
+
readonly hover: "hover:bg-sherick-canvas/[0.85] hover:border-sherick-ink-muted";
|
|
60
|
+
readonly focus: "focus:bg-sherick-canvas focus:border-sherick-ink-muted";
|
|
61
|
+
readonly focusWithin: "[&&]:focus-within:bg-sherick-canvas [&&]:focus-within:border-sherick-ink-muted";
|
|
62
|
+
readonly engaged: "bg-sherick-canvas border-sherick-ink-muted";
|
|
63
|
+
readonly errorHover: "hover:bg-sherick-canvas/[0.85]";
|
|
64
|
+
readonly errorFocus: "focus:bg-sherick-canvas";
|
|
65
|
+
readonly errorEngaged: "bg-sherick-canvas";
|
|
66
|
+
readonly invalid: "data-[invalid]:border-sherick-danger";
|
|
67
|
+
readonly invalidHover: "data-[invalid]:hover:border-sherick-danger";
|
|
68
|
+
readonly invalidEngaged: "data-[invalid]:border-sherick-danger";
|
|
69
|
+
readonly invalidFocusWithin: "[&&]:data-[invalid]:focus-within:border-sherick-danger";
|
|
63
70
|
};
|
|
64
71
|
};
|
|
65
72
|
declare const stateLayerQuietComposite: string;
|
|
@@ -69,6 +76,7 @@ declare const stateLayer: {
|
|
|
69
76
|
readonly tonalNeutral: string;
|
|
70
77
|
readonly filled: string;
|
|
71
78
|
readonly track: string;
|
|
79
|
+
readonly mark: string;
|
|
72
80
|
readonly activeRow: "data-[highlighted]:before:opacity-[0.05]";
|
|
73
81
|
};
|
|
74
82
|
declare const hitArea = "relative after:pointer-events-auto after:absolute after:inset-[min(0px,calc((100%-2.75rem)/2))] after:content-['']";
|
|
@@ -77,8 +85,8 @@ declare const material: {
|
|
|
77
85
|
readonly matteQuiet: "bg-sherick-surface/[0.42] text-sherick-ink";
|
|
78
86
|
readonly matte: "bg-sherick-surface/[0.78] text-sherick-ink";
|
|
79
87
|
readonly matteHigh: "bg-sherick-surface-high/[0.72] text-sherick-ink";
|
|
80
|
-
readonly control: "bg-sherick-
|
|
81
|
-
readonly controlError: "bg-sherick-
|
|
88
|
+
readonly control: "bg-sherick-canvas/[0.7] text-sherick-ink placeholder:text-sherick-ink-muted";
|
|
89
|
+
readonly controlError: "bg-sherick-canvas/[0.7] text-sherick-ink placeholder:text-sherick-danger";
|
|
82
90
|
readonly handle: "bg-sherick-ink-muted text-sherick-canvas";
|
|
83
91
|
readonly acrylic: "bg-sherick-surface-float/[var(--sui-glass-fill)] bg-[image:var(--sui-glass-gradient)] text-sherick-ink backdrop-blur-[var(--sui-glass-blur)] backdrop-saturate-[var(--sui-glass-saturation)] backdrop-brightness-[var(--sui-glass-brightness)]";
|
|
84
92
|
readonly acrylicDense: "bg-sherick-surface-float/[var(--sui-glass-dense-fill)] bg-[image:var(--sui-glass-gradient-dense)] text-sherick-ink backdrop-blur-[var(--sui-glass-dense-blur)] backdrop-saturate-[var(--sui-glass-dense-saturation)] backdrop-brightness-[var(--sui-glass-dense-brightness)]";
|
|
@@ -194,8 +202,9 @@ declare const selectable: {
|
|
|
194
202
|
readonly markSurface: string;
|
|
195
203
|
readonly rest: string;
|
|
196
204
|
readonly mark: string;
|
|
197
|
-
readonly selected: "group-data-[checked]:bg-sherick-primary-strong group-data-[checked]:text-sherick-on-primary";
|
|
198
|
-
readonly indeterminate: "group-data-[indeterminate]:bg-sherick-primary-strong group-data-[indeterminate]:text-sherick-on-primary";
|
|
205
|
+
readonly selected: "group-data-[checked]:bg-sherick-primary-strong group-data-[checked]:text-sherick-on-primary group-data-[checked]:shadow-sherick-flat group-data-[checked]:after:opacity-0";
|
|
206
|
+
readonly indeterminate: "group-data-[indeterminate]:bg-sherick-primary-strong group-data-[indeterminate]:text-sherick-on-primary group-data-[indeterminate]:shadow-sherick-flat group-data-[indeterminate]:after:opacity-0";
|
|
207
|
+
readonly thumb: "bg-current";
|
|
199
208
|
};
|
|
200
209
|
declare const recipeAlphas: {
|
|
201
210
|
readonly state: {
|
|
@@ -215,6 +224,9 @@ declare const recipeAlphas: {
|
|
|
215
224
|
readonly hover: number;
|
|
216
225
|
readonly press: number;
|
|
217
226
|
};
|
|
227
|
+
readonly mark: {
|
|
228
|
+
readonly hover: number;
|
|
229
|
+
};
|
|
218
230
|
};
|
|
219
231
|
readonly tint: {
|
|
220
232
|
readonly neutralSoft: number;
|
|
@@ -227,9 +239,6 @@ declare const recipeAlphas: {
|
|
|
227
239
|
readonly control: number;
|
|
228
240
|
readonly hover: number;
|
|
229
241
|
readonly engaged: number;
|
|
230
|
-
readonly invalid: number;
|
|
231
|
-
readonly invalidHover: number;
|
|
232
|
-
readonly invalidFocus: number;
|
|
233
242
|
};
|
|
234
243
|
};
|
|
235
244
|
declare const fieldLayout = "flex min-w-0 w-full flex-col [overflow-wrap:anywhere]";
|
|
@@ -242,7 +251,7 @@ type MotionIntent = "feedback" | "tactile" | "arrive" | "orient" | "relocate" |
|
|
|
242
251
|
/** Non-spatial feedback: hover, focus, field tone, a highlighted row, a filled surface.
|
|
243
252
|
* It never translates, scales or resizes; reduced motion simply drops the interpolation
|
|
244
253
|
* and the state still arrives. */
|
|
245
|
-
declare const motionFeedback = "transition-[background-color,color,box-shadow,opacity] duration-press ease-press motion-reduce:transition-none";
|
|
254
|
+
declare const motionFeedback = "transition-[background-color,border-color,color,box-shadow,opacity] duration-press ease-press motion-reduce:transition-none";
|
|
246
255
|
declare const motionTactile: string;
|
|
247
256
|
declare const motionTactileWide: string;
|
|
248
257
|
declare const motionTactileField: string;
|
|
@@ -318,6 +327,10 @@ declare const motionActivityIndeterminate = "animate-sherick-indeterminate [[dir
|
|
|
318
327
|
* is, and arrowing through a list with a soft fade on every row leaves a smear of half-lit rows.
|
|
319
328
|
* The row's layer therefore changes in one step, for the pointer and the keyboard alike. */
|
|
320
329
|
declare const motionRowLayer = "before:transition-none";
|
|
330
|
+
/** A rim drawn as an overlay of its own — an empty selection mark's lip, a drop target's dashes —
|
|
331
|
+
* carries its own feedback timing: it steps up on hover and fades as a selection fill arrives,
|
|
332
|
+
* on the same press curve as the surface beneath it. */
|
|
333
|
+
declare const motionRim = "after:transition-[background-color,border-color,opacity] after:duration-press after:ease-press motion-reduce:after:transition-none";
|
|
321
334
|
declare const motionStateLayer = "before:transition-opacity before:duration-release before:ease-release active:before:duration-tactile active:before:ease-press group-active:before:duration-tactile group-active:before:ease-press motion-reduce:before:transition-none";
|
|
322
335
|
declare const motionDisclose = "transition-[height] duration-release ease-release data-[starting-style]:h-0 data-[ending-style]:h-0 data-[ending-style]:duration-overlay-exit data-[ending-style]:ease-exit motion-reduce:transition-none";
|
|
323
336
|
declare const motionPresenceSheet: string;
|
|
@@ -330,5 +343,5 @@ declare const motionPresenceToast: string;
|
|
|
330
343
|
*/
|
|
331
344
|
declare const cn: (...inputs: ClassValue[]) => string;
|
|
332
345
|
|
|
333
|
-
export { cn, currentDestination, density, detail, disclosure, edge, edgeTone, elevation, fieldLayout, fieldMessage, focusRing, focusRingDrag, focusRingHeld, focusRingInset, focusRingWithin, groupFocusRing, hitArea, iconSlot, list, material, matteInset, mediaCanvas, motionActivityIndeterminate, motionActivityPulse, motionActivitySpin, motionArrive, motionDirect, motionDisclose, motionFeedback, motionInkPress, motionOrient, motionPresenceAnchored, motionPresenceModal, motionPresenceScrim, motionPresenceSheet, motionPresenceToast, motionPresenceTooltip, motionRelocate, motionRelocateLong, motionRowLayer, motionStateLayer, motionTactile, motionTactileField, motionTactileWide, overlay, parentFocusRingInset, recessedTop, recipeAlphas, selectable, selectableRowSurface, shape, stacking, state, stateLayer, stateLayerQuietComposite, text, tone, type };
|
|
346
|
+
export { cn, currentDestination, density, detail, disclosure, edge, edgeTone, elevation, fieldLayout, fieldMessage, focusRing, focusRingDrag, focusRingHeld, focusRingInset, focusRingWithin, groupFocusRing, hitArea, iconSlot, list, material, matteInset, mediaCanvas, motionActivityIndeterminate, motionActivityPulse, motionActivitySpin, motionArrive, motionDirect, motionDisclose, motionFeedback, motionInkPress, motionOrient, motionPresenceAnchored, motionPresenceModal, motionPresenceScrim, motionPresenceSheet, motionPresenceToast, motionPresenceTooltip, motionRelocate, motionRelocateLong, motionRim, motionRowLayer, motionStateLayer, motionTactile, motionTactileField, motionTactileWide, overlay, parentFocusRingInset, recessedTop, recipeAlphas, rim, selectable, selectableRowSurface, shape, stacking, state, stateLayer, stateLayerQuietComposite, text, tone, type };
|
|
334
347
|
export type { MotionIntent };
|
package/dist/types/dev.d.ts
CHANGED
|
@@ -18,7 +18,7 @@ declare const elevation: {
|
|
|
18
18
|
declare const recessedTop = "shadow-sherick-recessed-top";
|
|
19
19
|
declare const shape: {
|
|
20
20
|
readonly control: "rounded-[1rem]";
|
|
21
|
-
readonly mark: "rounded-[0.
|
|
21
|
+
readonly mark: "rounded-[0.375rem]";
|
|
22
22
|
readonly row: "rounded-[0.75rem]";
|
|
23
23
|
readonly prominent: "rounded-[1.25rem]";
|
|
24
24
|
readonly surface: "rounded-[1.5rem]";
|
|
@@ -32,6 +32,13 @@ declare const edgeTone: {
|
|
|
32
32
|
readonly header: "border-sherick-edge/[0.10]";
|
|
33
33
|
readonly rule: "border-sherick-edge/[0.075]";
|
|
34
34
|
};
|
|
35
|
+
declare const rim: {
|
|
36
|
+
readonly field: "border-[1.5px] border-sherick-rim";
|
|
37
|
+
readonly fieldError: "border-[1.5px] border-sherick-danger";
|
|
38
|
+
readonly dashed: string;
|
|
39
|
+
readonly dashedHover: "hover:after:bg-sherick-ink-muted";
|
|
40
|
+
readonly dashedDragging: "data-[dragging]:after:bg-sherick-primary";
|
|
41
|
+
};
|
|
35
42
|
declare const edge: {
|
|
36
43
|
readonly row: string;
|
|
37
44
|
readonly header: string;
|
|
@@ -49,17 +56,17 @@ declare const state: {
|
|
|
49
56
|
readonly text: "cursor-text";
|
|
50
57
|
readonly rowHover: "hover:bg-sherick-ink/[0.05]";
|
|
51
58
|
readonly field: {
|
|
52
|
-
readonly hover: "hover:bg-sherick-
|
|
53
|
-
readonly focus: "focus:bg-sherick-
|
|
54
|
-
readonly focusWithin: "[&&]:focus-within:bg-sherick-
|
|
55
|
-
readonly engaged: "bg-sherick-
|
|
56
|
-
readonly errorHover: "hover:bg-sherick-
|
|
57
|
-
readonly errorFocus: "focus:bg-sherick-
|
|
58
|
-
readonly errorEngaged: "bg-sherick-
|
|
59
|
-
readonly invalid: "data-[invalid]:
|
|
60
|
-
readonly invalidHover: "data-[invalid]:hover:
|
|
61
|
-
readonly invalidEngaged: "data-[invalid]:
|
|
62
|
-
readonly invalidFocusWithin: "[&&]:data-[invalid]:focus-within:
|
|
59
|
+
readonly hover: "hover:bg-sherick-canvas/[0.85] hover:border-sherick-ink-muted";
|
|
60
|
+
readonly focus: "focus:bg-sherick-canvas focus:border-sherick-ink-muted";
|
|
61
|
+
readonly focusWithin: "[&&]:focus-within:bg-sherick-canvas [&&]:focus-within:border-sherick-ink-muted";
|
|
62
|
+
readonly engaged: "bg-sherick-canvas border-sherick-ink-muted";
|
|
63
|
+
readonly errorHover: "hover:bg-sherick-canvas/[0.85]";
|
|
64
|
+
readonly errorFocus: "focus:bg-sherick-canvas";
|
|
65
|
+
readonly errorEngaged: "bg-sherick-canvas";
|
|
66
|
+
readonly invalid: "data-[invalid]:border-sherick-danger";
|
|
67
|
+
readonly invalidHover: "data-[invalid]:hover:border-sherick-danger";
|
|
68
|
+
readonly invalidEngaged: "data-[invalid]:border-sherick-danger";
|
|
69
|
+
readonly invalidFocusWithin: "[&&]:data-[invalid]:focus-within:border-sherick-danger";
|
|
63
70
|
};
|
|
64
71
|
};
|
|
65
72
|
declare const stateLayerQuietComposite: string;
|
|
@@ -69,6 +76,7 @@ declare const stateLayer: {
|
|
|
69
76
|
readonly tonalNeutral: string;
|
|
70
77
|
readonly filled: string;
|
|
71
78
|
readonly track: string;
|
|
79
|
+
readonly mark: string;
|
|
72
80
|
readonly activeRow: "data-[highlighted]:before:opacity-[0.05]";
|
|
73
81
|
};
|
|
74
82
|
declare const hitArea = "relative after:pointer-events-auto after:absolute after:inset-[min(0px,calc((100%-2.75rem)/2))] after:content-['']";
|
|
@@ -77,8 +85,8 @@ declare const material: {
|
|
|
77
85
|
readonly matteQuiet: "bg-sherick-surface/[0.42] text-sherick-ink";
|
|
78
86
|
readonly matte: "bg-sherick-surface/[0.78] text-sherick-ink";
|
|
79
87
|
readonly matteHigh: "bg-sherick-surface-high/[0.72] text-sherick-ink";
|
|
80
|
-
readonly control: "bg-sherick-
|
|
81
|
-
readonly controlError: "bg-sherick-
|
|
88
|
+
readonly control: "bg-sherick-canvas/[0.7] text-sherick-ink placeholder:text-sherick-ink-muted";
|
|
89
|
+
readonly controlError: "bg-sherick-canvas/[0.7] text-sherick-ink placeholder:text-sherick-danger";
|
|
82
90
|
readonly handle: "bg-sherick-ink-muted text-sherick-canvas";
|
|
83
91
|
readonly acrylic: "bg-sherick-surface-float/[var(--sui-glass-fill)] bg-[image:var(--sui-glass-gradient)] text-sherick-ink backdrop-blur-[var(--sui-glass-blur)] backdrop-saturate-[var(--sui-glass-saturation)] backdrop-brightness-[var(--sui-glass-brightness)]";
|
|
84
92
|
readonly acrylicDense: "bg-sherick-surface-float/[var(--sui-glass-dense-fill)] bg-[image:var(--sui-glass-gradient-dense)] text-sherick-ink backdrop-blur-[var(--sui-glass-dense-blur)] backdrop-saturate-[var(--sui-glass-dense-saturation)] backdrop-brightness-[var(--sui-glass-dense-brightness)]";
|
|
@@ -194,8 +202,9 @@ declare const selectable: {
|
|
|
194
202
|
readonly markSurface: string;
|
|
195
203
|
readonly rest: string;
|
|
196
204
|
readonly mark: string;
|
|
197
|
-
readonly selected: "group-data-[checked]:bg-sherick-primary-strong group-data-[checked]:text-sherick-on-primary";
|
|
198
|
-
readonly indeterminate: "group-data-[indeterminate]:bg-sherick-primary-strong group-data-[indeterminate]:text-sherick-on-primary";
|
|
205
|
+
readonly selected: "group-data-[checked]:bg-sherick-primary-strong group-data-[checked]:text-sherick-on-primary group-data-[checked]:shadow-sherick-flat group-data-[checked]:after:opacity-0";
|
|
206
|
+
readonly indeterminate: "group-data-[indeterminate]:bg-sherick-primary-strong group-data-[indeterminate]:text-sherick-on-primary group-data-[indeterminate]:shadow-sherick-flat group-data-[indeterminate]:after:opacity-0";
|
|
207
|
+
readonly thumb: "bg-current";
|
|
199
208
|
};
|
|
200
209
|
declare const recipeAlphas: {
|
|
201
210
|
readonly state: {
|
|
@@ -215,6 +224,9 @@ declare const recipeAlphas: {
|
|
|
215
224
|
readonly hover: number;
|
|
216
225
|
readonly press: number;
|
|
217
226
|
};
|
|
227
|
+
readonly mark: {
|
|
228
|
+
readonly hover: number;
|
|
229
|
+
};
|
|
218
230
|
};
|
|
219
231
|
readonly tint: {
|
|
220
232
|
readonly neutralSoft: number;
|
|
@@ -227,9 +239,6 @@ declare const recipeAlphas: {
|
|
|
227
239
|
readonly control: number;
|
|
228
240
|
readonly hover: number;
|
|
229
241
|
readonly engaged: number;
|
|
230
|
-
readonly invalid: number;
|
|
231
|
-
readonly invalidHover: number;
|
|
232
|
-
readonly invalidFocus: number;
|
|
233
242
|
};
|
|
234
243
|
};
|
|
235
244
|
declare const fieldLayout = "flex min-w-0 w-full flex-col [overflow-wrap:anywhere]";
|
|
@@ -242,7 +251,7 @@ type MotionIntent = "feedback" | "tactile" | "arrive" | "orient" | "relocate" |
|
|
|
242
251
|
/** Non-spatial feedback: hover, focus, field tone, a highlighted row, a filled surface.
|
|
243
252
|
* It never translates, scales or resizes; reduced motion simply drops the interpolation
|
|
244
253
|
* and the state still arrives. */
|
|
245
|
-
declare const motionFeedback = "transition-[background-color,color,box-shadow,opacity] duration-press ease-press motion-reduce:transition-none";
|
|
254
|
+
declare const motionFeedback = "transition-[background-color,border-color,color,box-shadow,opacity] duration-press ease-press motion-reduce:transition-none";
|
|
246
255
|
declare const motionTactile: string;
|
|
247
256
|
declare const motionTactileWide: string;
|
|
248
257
|
declare const motionTactileField: string;
|
|
@@ -318,6 +327,10 @@ declare const motionActivityIndeterminate = "animate-sherick-indeterminate [[dir
|
|
|
318
327
|
* is, and arrowing through a list with a soft fade on every row leaves a smear of half-lit rows.
|
|
319
328
|
* The row's layer therefore changes in one step, for the pointer and the keyboard alike. */
|
|
320
329
|
declare const motionRowLayer = "before:transition-none";
|
|
330
|
+
/** A rim drawn as an overlay of its own — an empty selection mark's lip, a drop target's dashes —
|
|
331
|
+
* carries its own feedback timing: it steps up on hover and fades as a selection fill arrives,
|
|
332
|
+
* on the same press curve as the surface beneath it. */
|
|
333
|
+
declare const motionRim = "after:transition-[background-color,border-color,opacity] after:duration-press after:ease-press motion-reduce:after:transition-none";
|
|
321
334
|
declare const motionStateLayer = "before:transition-opacity before:duration-release before:ease-release active:before:duration-tactile active:before:ease-press group-active:before:duration-tactile group-active:before:ease-press motion-reduce:before:transition-none";
|
|
322
335
|
declare const motionDisclose = "transition-[height] duration-release ease-release data-[starting-style]:h-0 data-[ending-style]:h-0 data-[ending-style]:duration-overlay-exit data-[ending-style]:ease-exit motion-reduce:transition-none";
|
|
323
336
|
declare const motionPresenceSheet: string;
|
|
@@ -330,5 +343,5 @@ declare const motionPresenceToast: string;
|
|
|
330
343
|
*/
|
|
331
344
|
declare const cn: (...inputs: ClassValue[]) => string;
|
|
332
345
|
|
|
333
|
-
export { cn, currentDestination, density, detail, disclosure, edge, edgeTone, elevation, fieldLayout, fieldMessage, focusRing, focusRingDrag, focusRingHeld, focusRingInset, focusRingWithin, groupFocusRing, hitArea, iconSlot, list, material, matteInset, mediaCanvas, motionActivityIndeterminate, motionActivityPulse, motionActivitySpin, motionArrive, motionDirect, motionDisclose, motionFeedback, motionInkPress, motionOrient, motionPresenceAnchored, motionPresenceModal, motionPresenceScrim, motionPresenceSheet, motionPresenceToast, motionPresenceTooltip, motionRelocate, motionRelocateLong, motionRowLayer, motionStateLayer, motionTactile, motionTactileField, motionTactileWide, overlay, parentFocusRingInset, recessedTop, recipeAlphas, selectable, selectableRowSurface, shape, stacking, state, stateLayer, stateLayerQuietComposite, text, tone, type };
|
|
346
|
+
export { cn, currentDestination, density, detail, disclosure, edge, edgeTone, elevation, fieldLayout, fieldMessage, focusRing, focusRingDrag, focusRingHeld, focusRingInset, focusRingWithin, groupFocusRing, hitArea, iconSlot, list, material, matteInset, mediaCanvas, motionActivityIndeterminate, motionActivityPulse, motionActivitySpin, motionArrive, motionDirect, motionDisclose, motionFeedback, motionInkPress, motionOrient, motionPresenceAnchored, motionPresenceModal, motionPresenceScrim, motionPresenceSheet, motionPresenceToast, motionPresenceTooltip, motionRelocate, motionRelocateLong, motionRim, motionRowLayer, motionStateLayer, motionTactile, motionTactileField, motionTactileWide, overlay, parentFocusRingInset, recessedTop, recipeAlphas, rim, selectable, selectableRowSurface, shape, stacking, state, stateLayer, stateLayerQuietComposite, text, tone, type };
|
|
334
347
|
export type { MotionIntent };
|