@pgcorp/ui-kit 0.11.0 → 0.13.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/README.md +198 -11
- package/dist/assets/src/components/shared/_internal/SDialogSurface.css_vue_type_style_index_0_src_d1b65adf_scoped_d1b65adf_lang.css +1 -1
- package/dist/assets/src/components/shared/_internal/SMenuItem.css_vue_type_style_index_0_src_af485607_scoped_af485607_lang.css +2 -0
- package/dist/assets/src/components/shared/containers/{SCollapsiblePanel.css_vue_type_style_index_0_src_4882f962_scoped_4882f962_lang.css → SCollapsiblePanel.css_vue_type_style_index_0_src_71824088_scoped_71824088_lang.css} +1 -1
- package/dist/assets/src/components/shared/containers/{SModal.css_vue_type_style_index_0_src_23373daf_scoped_23373daf_lang.css → SModal.css_vue_type_style_index_0_src_0dc51b74_scoped_0dc51b74_lang.css} +1 -1
- package/dist/assets/src/components/shared/controls/SButton.css_vue_type_style_index_0_src_a5d8f7e0_scoped_a5d8f7e0_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/SChoiceCards.css_vue_type_style_index_0_src_af9fa9d1_scoped_af9fa9d1_lang.css +2 -0
- package/dist/assets/src/components/shared/controls/{SDropdownMenu.css_vue_type_style_index_0_src_b854a89e_scoped_b854a89e_lang.css → SDropdownMenu.css_vue_type_style_index_0_src_1ccb9efc_scoped_1ccb9efc_lang.css} +1 -1
- package/dist/assets/src/components/shared/controls/{SInputText.css_vue_type_style_index_0_src_a9c5f1aa_scoped_a9c5f1aa_lang.css → SInputText.css_vue_type_style_index_0_src_023c25d0_scoped_023c25d0_lang.css} +1 -1
- package/dist/assets/src/components/shared/controls/SMenuSurface.css_vue_type_style_index_0_src_ddcc5fbb_scoped_ddcc5fbb_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/{SCodeEditor.css_vue_type_style_index_0_src_124ca461_scoped_124ca461_lang.css → SCodeEditor.css_vue_type_style_index_0_src_3ad533d9_scoped_3ad533d9_lang.css} +1 -1
- package/dist/assets/src/components/shared/data-display/SStatus.css_vue_type_style_index_0_src_3ce41a12_scoped_3ce41a12_lang.css +2 -0
- package/dist/assets/src/components/shared/data-display/SVirtualList.css_vue_type_style_index_0_src_cee8c247_scoped_cee8c247_lang.css +2 -0
- package/dist/src/components/layout/SSideMenuButton.vue.d.ts +1 -1
- package/dist/src/components/shared/_internal/SMenuItem.vue.js +2 -2
- package/dist/src/components/shared/_internal/SMenuItem.vue_vue_type_script_setup_true_lang.js +88 -76
- package/dist/src/components/shared/_internal/dialogSurface.d.ts +1 -1
- package/dist/src/components/shared/_internal/dialogSurface.js +1 -0
- package/dist/src/components/shared/containers/SCollapsiblePanel.vue.d.ts +1 -1
- package/dist/src/components/shared/containers/SCollapsiblePanel.vue.js +2 -2
- package/dist/src/components/shared/containers/SCollapsiblePanel.vue_vue_type_script_setup_true_lang.js +60 -58
- package/dist/src/components/shared/containers/SModal.vue.js +2 -2
- package/dist/src/components/shared/containers/SModal.vue_vue_type_script_setup_true_lang.js +43 -37
- package/dist/src/components/shared/controls/SButton.vue.d.ts +3 -0
- package/dist/src/components/shared/controls/SButton.vue.js +2 -2
- package/dist/src/components/shared/controls/SButton.vue_vue_type_script_setup_true_lang.js +103 -99
- package/dist/src/components/shared/controls/SChoiceCards.vue.d.ts +1 -0
- package/dist/src/components/shared/controls/SChoiceCards.vue.js +2 -2
- package/dist/src/components/shared/controls/SChoiceCards.vue_vue_type_script_setup_true_lang.js +53 -49
- package/dist/src/components/shared/controls/SDropdownMenu.vue.d.ts +15 -4
- package/dist/src/components/shared/controls/SDropdownMenu.vue.js +2 -2
- package/dist/src/components/shared/controls/SDropdownMenu.vue_vue_type_script_setup_true_lang.js +98 -62
- package/dist/src/components/shared/controls/SInputText.vue.d.ts +2 -2
- package/dist/src/components/shared/controls/SInputText.vue.js +2 -2
- package/dist/src/components/shared/controls/SInputText.vue_vue_type_script_setup_true_lang.js +16 -25
- package/dist/src/components/shared/controls/SMenuSurface.vue.d.ts +2 -2
- package/dist/src/components/shared/controls/SMenuSurface.vue.js +2 -2
- package/dist/src/components/shared/controls/SMenuSurface.vue_vue_type_script_setup_true_lang.js +132 -110
- package/dist/src/components/shared/controls/STextarea.vue.d.ts +8 -0
- package/dist/src/components/shared/controls/STextarea.vue_vue_type_script_setup_true_lang.js +156 -145
- package/dist/src/components/shared/controls/menu.d.ts +9 -1
- package/dist/src/components/shared/controls/menu.js +43 -28
- package/dist/src/components/shared/data-display/SCodeEditor.vue.d.ts +90 -7
- package/dist/src/components/shared/data-display/SCodeEditor.vue.js +2 -2
- package/dist/src/components/shared/data-display/SStatus.vue.d.ts +7 -0
- package/dist/src/components/shared/data-display/SStatus.vue.js +2 -2
- package/dist/src/components/shared/data-display/SStatus.vue_vue_type_script_setup_true_lang.js +28 -21
- package/dist/src/components/shared/data-display/SVirtualList.vue.d.ts +2 -0
- package/dist/src/components/shared/data-display/SVirtualList.vue.js +2 -2
- package/dist/src/components/shared/data-display/SVirtualList.vue_vue_type_script_setup_true_lang.js +317 -210
- package/dist/src/composables/useDialogOverlay.d.ts +1 -0
- package/dist/src/composables/useDialogOverlay.js +5 -2
- package/dist/src/internal/textLengthConstraints.d.ts +9 -0
- package/dist/src/internal/textLengthConstraints.js +18 -0
- package/dist/src/internal/useBinaryInput.js +3 -2
- package/dist/src/internal/useMenuLayer.d.ts +2 -1
- package/dist/src/internal/useMenuLayer.js +20 -14
- package/docs/public-api.md +14 -2
- package/package.json +1 -1
- package/src/components/shared/_internal/SDialogSurface.css +4 -0
- package/src/components/shared/_internal/SMenuItem.css +22 -1
- package/src/components/shared/controls/SButton.css +28 -0
- package/src/components/shared/controls/SChoiceCards.css +10 -3
- package/src/components/shared/controls/SMenuSurface.css +20 -0
- package/src/components/shared/data-display/SStatus.css +4 -0
- package/src/components/shared/data-display/SVirtualList.css +12 -0
- package/dist/assets/src/components/shared/_internal/SMenuItem.css_vue_type_style_index_0_src_e5bd192e_scoped_e5bd192e_lang.css +0 -2
- package/dist/assets/src/components/shared/controls/SButton.css_vue_type_style_index_0_src_52ad38b1_scoped_52ad38b1_lang.css +0 -2
- package/dist/assets/src/components/shared/controls/SChoiceCards.css_vue_type_style_index_0_src_627a8628_scoped_627a8628_lang.css +0 -2
- package/dist/assets/src/components/shared/controls/SMenuSurface.css_vue_type_style_index_0_src_bc7c7be4_scoped_bc7c7be4_lang.css +0 -2
- package/dist/assets/src/components/shared/data-display/SStatus.css_vue_type_style_index_0_src_c76fa058_scoped_c76fa058_lang.css +0 -2
- package/dist/assets/src/components/shared/data-display/SVirtualList.css_vue_type_style_index_0_src_1717877d_scoped_1717877d_lang.css +0 -2
|
@@ -11,6 +11,7 @@ export interface DialogOverlayController {
|
|
|
11
11
|
setPanelElement: (element: Element | ComponentPublicInstance | null) => void;
|
|
12
12
|
backdropStyle: Readonly<Ref<Record<string, string>>>;
|
|
13
13
|
surfaceStyle: Readonly<Ref<Record<string, string>>>;
|
|
14
|
+
dispose: () => void;
|
|
14
15
|
}
|
|
15
16
|
/**
|
|
16
17
|
* Владеет modal-регистрацией, focus trap, body lock и восстановлением фокуса.
|
|
@@ -24,6 +24,8 @@ function o(o) {
|
|
|
24
24
|
}), c.value = { zIndex: u.zIndex }, l.value = { zIndex: `calc(${u.zIndex} + var(--s-layer-overlay-surface-offset))` };
|
|
25
25
|
}, m = (e = !0) => {
|
|
26
26
|
u?.unregister({ restoreFocus: e }), u = null, c.value = {}, l.value = {};
|
|
27
|
+
}, h = () => {
|
|
28
|
+
d += 1, m(!1);
|
|
27
29
|
};
|
|
28
30
|
return a(o.open, async (e, t) => {
|
|
29
31
|
d += 1;
|
|
@@ -37,12 +39,13 @@ function o(o) {
|
|
|
37
39
|
}
|
|
38
40
|
m(!!t);
|
|
39
41
|
}, { immediate: !0 }), r(() => {
|
|
40
|
-
|
|
42
|
+
h();
|
|
41
43
|
}), {
|
|
42
44
|
panelRef: s,
|
|
43
45
|
setPanelElement: f,
|
|
44
46
|
backdropStyle: c,
|
|
45
|
-
surfaceStyle: l
|
|
47
|
+
surfaceStyle: l,
|
|
48
|
+
dispose: h
|
|
46
49
|
};
|
|
47
50
|
}
|
|
48
51
|
//#endregion
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface TextLengthConstraints {
|
|
2
|
+
minLength?: number;
|
|
3
|
+
maxLength?: number;
|
|
4
|
+
}
|
|
5
|
+
/**
|
|
6
|
+
* Проверяет общий native text-length contract без coercion и усечения model.
|
|
7
|
+
* Validates the shared native text-length contract without coercing or truncating the model.
|
|
8
|
+
*/
|
|
9
|
+
export declare function resolveTextLengthConstraints(owner: string, minLength: unknown, maxLength: unknown): TextLengthConstraints;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { validateBoundedInteger as e } from "./runtimeContract.js";
|
|
2
|
+
//#region src/internal/textLengthConstraints.ts
|
|
3
|
+
function t(t, n, r) {
|
|
4
|
+
let i = n === void 0 ? void 0 : e(t, "minLength", n, {
|
|
5
|
+
minimum: 0,
|
|
6
|
+
maximum: 2 ** 53 - 1
|
|
7
|
+
}), a = r === void 0 ? void 0 : e(t, "maxLength", r, {
|
|
8
|
+
minimum: 0,
|
|
9
|
+
maximum: 2 ** 53 - 1
|
|
10
|
+
});
|
|
11
|
+
if (i !== void 0 && a !== void 0 && i > a) throw RangeError(`${t}: minLength (${i}) не может превышать maxLength (${a}). / ${t}: minLength (${i}) must not exceed maxLength (${a}).`);
|
|
12
|
+
return {
|
|
13
|
+
minLength: i,
|
|
14
|
+
maxLength: a
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { t as resolveTextLengthConstraints };
|
|
@@ -6,7 +6,7 @@ function o(o) {
|
|
|
6
6
|
if (typeof o.props.modelValue != "boolean") throw TypeError(`${o.owner}: modelValue must be boolean`);
|
|
7
7
|
return o.props.modelValue;
|
|
8
8
|
}), d = () => {
|
|
9
|
-
l.value && (l.value.indeterminate = (o.indeterminate?.() ?? !1) && !u.value);
|
|
9
|
+
l.value && (l.value.checked = u.value, l.value.indeterminate = (o.indeterminate?.() ?? !1) && !u.value);
|
|
10
10
|
};
|
|
11
11
|
return n(d), a([o.indeterminate ?? (() => !1), u], d), {
|
|
12
12
|
checkedValue: u,
|
|
@@ -15,7 +15,8 @@ function o(o) {
|
|
|
15
15
|
if (o.props.readonly) return;
|
|
16
16
|
let t = e.currentTarget;
|
|
17
17
|
if (!(t instanceof HTMLInputElement)) throw TypeError(`${o.owner}: change event owner must be the native ${o.inputName} input`);
|
|
18
|
-
|
|
18
|
+
let n = t.checked;
|
|
19
|
+
d(), o.emitUpdate(n);
|
|
19
20
|
},
|
|
20
21
|
onClick: (e) => {
|
|
21
22
|
if (o.props.readonly) {
|
|
@@ -3,7 +3,7 @@ export type MenuAnchor = {
|
|
|
3
3
|
type: 'element';
|
|
4
4
|
element: HTMLElement;
|
|
5
5
|
align: 'left' | 'right';
|
|
6
|
-
placement?: 'bottom' | 'inline';
|
|
6
|
+
placement?: 'bottom' | 'top' | 'inline';
|
|
7
7
|
} | {
|
|
8
8
|
type: 'point';
|
|
9
9
|
x: number;
|
|
@@ -13,6 +13,7 @@ export type MenuCloseReason = 'escape' | 'outside' | 'programmatic' | 'selection
|
|
|
13
13
|
/** Управляет общей lifecycle/focus границей menu поверх canonical floating geometry. / Owns menu lifecycle and focus over canonical floating geometry. */
|
|
14
14
|
export declare function useMenuLayer(layerRef: Ref<HTMLElement | null>, options?: {
|
|
15
15
|
onDismiss?: (reason: 'escape' | 'outside') => void;
|
|
16
|
+
onRequestDismiss?: (reason: 'escape' | 'outside') => void;
|
|
16
17
|
}): {
|
|
17
18
|
isOpen: Ref<boolean, boolean>;
|
|
18
19
|
position: Ref<import('../composables/useFloatingPosition').FloatingCoordinates, import('../composables/useFloatingPosition').FloatingCoordinates>;
|
|
@@ -23,17 +23,24 @@ function l(l, u = {}) {
|
|
|
23
23
|
(d.value || h) && (d.value = !1, h?.unregister({ restoreFocus: e !== "outside" }), h = null, p = null, m = null, f.value = "var(--s-layer-root-floating)");
|
|
24
24
|
}
|
|
25
25
|
function _(e) {
|
|
26
|
+
if (u.onRequestDismiss) {
|
|
27
|
+
u.onRequestDismiss(e);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
g(e), u.onDismiss?.(e);
|
|
31
|
+
}
|
|
32
|
+
function v(e) {
|
|
26
33
|
let n = m;
|
|
27
34
|
if (!n) {
|
|
28
35
|
g("outside");
|
|
29
36
|
return;
|
|
30
37
|
}
|
|
31
38
|
let r = h?.focusScope() ?? document, a = t(n, r, l.value, e.shiftKey);
|
|
32
|
-
e.preventDefault(),
|
|
39
|
+
e.preventDefault(), _("outside"), a && i(() => a.focus());
|
|
33
40
|
}
|
|
34
|
-
let { coordinates:
|
|
41
|
+
let { coordinates: y, updatePosition: b } = r({
|
|
35
42
|
active: d,
|
|
36
|
-
placement: () => p?.type === "element" && p.placement === "inline" ? p.align === "right" ? "left-start" : "right-start" : p?.type === "element" && p.align === "right" ? "bottom-end" : "bottom-start",
|
|
43
|
+
placement: () => p?.type === "element" && p.placement === "inline" ? p.align === "right" ? "left-start" : "right-start" : p?.type === "element" && p.placement === "top" ? p.align === "right" ? "top-end" : "top-start" : p?.type === "element" && p.align === "right" ? "bottom-end" : "bottom-start",
|
|
37
44
|
anchorElement: () => p?.type === "element" ? p.element : null,
|
|
38
45
|
anchorRect: () => p ? p.type === "point" ? c(p.x, p.y) : p.element.isConnected ? p.element.getBoundingClientRect() : (g("outside"), null) : null,
|
|
39
46
|
panelRef: l,
|
|
@@ -45,7 +52,7 @@ function l(l, u = {}) {
|
|
|
45
52
|
zIndex: () => f.value,
|
|
46
53
|
scrollStrategy: "reposition"
|
|
47
54
|
});
|
|
48
|
-
async function
|
|
55
|
+
async function x(t, r) {
|
|
49
56
|
if (d.value && g("outside"), t.type === "element" && e(t.element) !== t.element) throw Error("useMenuLayer: element anchor must be the canonical focusable owner");
|
|
50
57
|
p = t;
|
|
51
58
|
let a = e(r ?? null) ?? e(document.activeElement);
|
|
@@ -55,26 +62,25 @@ function l(l, u = {}) {
|
|
|
55
62
|
anchor: () => t.type === "element" ? t.element : a,
|
|
56
63
|
restoreTarget: a,
|
|
57
64
|
requestDismiss: (e) => {
|
|
58
|
-
|
|
59
|
-
g(t), u.onDismiss?.(t);
|
|
65
|
+
_(e === "escape" ? "escape" : "outside");
|
|
60
66
|
}
|
|
61
67
|
}), f.value = h.zIndex, await i(), d.value) {
|
|
62
68
|
if (!l.value) throw g("outside"), Error("useMenuLayer: layer element is unavailable after opening");
|
|
63
|
-
|
|
69
|
+
b();
|
|
64
70
|
}
|
|
65
71
|
}
|
|
66
|
-
function
|
|
67
|
-
d.value ? g("trigger") :
|
|
72
|
+
function S(e, t) {
|
|
73
|
+
d.value ? g("trigger") : x(e, t);
|
|
68
74
|
}
|
|
69
75
|
return a(() => g("outside")), {
|
|
70
76
|
isOpen: d,
|
|
71
|
-
position:
|
|
77
|
+
position: y,
|
|
72
78
|
zIndex: f,
|
|
73
|
-
open:
|
|
79
|
+
open: x,
|
|
74
80
|
close: g,
|
|
75
|
-
closeForTab:
|
|
76
|
-
toggle:
|
|
77
|
-
positionLayer:
|
|
81
|
+
closeForTab: v,
|
|
82
|
+
toggle: S,
|
|
83
|
+
positionLayer: b
|
|
78
84
|
};
|
|
79
85
|
}
|
|
80
86
|
//#endregion
|
package/docs/public-api.md
CHANGED
|
@@ -62,12 +62,18 @@ callbacks и trust flags не входят в API.
|
|
|
62
62
|
`sm/md/lg = 32/36/40 px` и label typography `12/14/14 px`; тот же
|
|
63
63
|
`density="compact"` у `SInputText` даёт совместимую геометрию поля без
|
|
64
64
|
consumer CSS.
|
|
65
|
-
`SInputText.minLength` и `
|
|
65
|
+
`SInputText.minLength`/`maxLength` и `STextarea.minLength`/`maxLength` передают строгие
|
|
66
66
|
неотрицательные safe integers нативному textual input; `minLength <= maxLength`
|
|
67
67
|
проверяется до рендера, а numeric/temporal families отвергают этот контракт.
|
|
68
68
|
`SModal.headingLevel` и `SDrawer.headingLevel` принимают только `1 | 2 | 3 | 4 |
|
|
69
69
|
5 | 6`, используют `2` по умолчанию и сохраняют связь видимого заголовка с
|
|
70
70
|
dialog surface через `aria-labelledby`.
|
|
71
|
+
`SModal.size="4xl"` задаёт responsive maximum `56rem`; при ошибке дочернего
|
|
72
|
+
mount modal освобождает body lock, layer registration и owned teleport nodes.
|
|
73
|
+
`SDropdownMenu` публикует controlled `open`, `defaultOpen`, размещение
|
|
74
|
+
`auto | bottom | top`, `closeOnSelect`, semantic group entries и доступные
|
|
75
|
+
описания пунктов. `SCollapsiblePanel` связывает compact/dense density с
|
|
76
|
+
32-пиксельной disclosure geometry через публичный API `SButton`.
|
|
71
77
|
`shared/data-display/SScrollViewport.vue` владеет accessible scroll region,
|
|
72
78
|
разрешёнными осями, semantic block size, root-only keyboard navigation и
|
|
73
79
|
ResizeObserver lifecycle. `shared/data-display/scrollViewport` экспортирует
|
|
@@ -138,12 +144,18 @@ and trust flags are not part of the API.
|
|
|
138
144
|
`sm/md/lg = 32/36/40 px` with `12/14/14 px` label typography. The matching
|
|
139
145
|
`SInputText.density="compact"` exposes the same field geometry without consumer
|
|
140
146
|
CSS.
|
|
141
|
-
`SInputText.minLength` and `
|
|
147
|
+
`SInputText.minLength`/`maxLength` and `STextarea.minLength`/`maxLength` pass strict non-negative safe
|
|
142
148
|
integers to the native textual input. `minLength <= maxLength` is validated
|
|
143
149
|
before rendering, and numeric/temporal families reject this contract.
|
|
144
150
|
`SModal.headingLevel` and `SDrawer.headingLevel` accept `1 | 2 | 3 | 4 | 5 | 6`
|
|
145
151
|
only, default to `2`, and preserve the visible-title relationship with the
|
|
146
152
|
dialog surface through `aria-labelledby`.
|
|
153
|
+
`SModal.size="4xl"` provides a responsive `56rem` maximum; a failed child mount
|
|
154
|
+
releases body lock, layer registration, and owned teleport nodes.
|
|
155
|
+
`SDropdownMenu` exposes controlled `open`, `defaultOpen`,
|
|
156
|
+
`auto | bottom | top` placement, `closeOnSelect`, semantic group entries, and
|
|
157
|
+
accessible item descriptions. `SCollapsiblePanel` maps compact/dense density to
|
|
158
|
+
the 32px disclosure geometry through the public `SButton` API.
|
|
147
159
|
`shared/data-display/SScrollViewport.vue` owns the accessible scroll region,
|
|
148
160
|
enabled axes, semantic block size, root-only keyboard navigation, and
|
|
149
161
|
ResizeObserver lifecycle. `shared/data-display/scrollViewport` exports
|
package/package.json
CHANGED
|
@@ -80,13 +80,34 @@
|
|
|
80
80
|
background: currentColor;
|
|
81
81
|
}
|
|
82
82
|
|
|
83
|
-
.s-menu-
|
|
83
|
+
.s-menu-item__text {
|
|
84
|
+
display: flex;
|
|
85
|
+
min-width: 0;
|
|
86
|
+
flex: 1 1 auto;
|
|
87
|
+
flex-direction: column;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
.s-menu-item__label,
|
|
91
|
+
.s-menu-item__description {
|
|
84
92
|
min-width: 0;
|
|
85
93
|
overflow: hidden;
|
|
86
94
|
text-overflow: ellipsis;
|
|
87
95
|
white-space: nowrap;
|
|
88
96
|
}
|
|
89
97
|
|
|
98
|
+
.s-menu-item__description {
|
|
99
|
+
color: var(--s-menu-item-secondary-foreground);
|
|
100
|
+
font-size: 0.75rem;
|
|
101
|
+
font-weight: 400;
|
|
102
|
+
line-height: 1rem;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.s-menu-item:hover:not([aria-disabled='true']) .s-menu-item__description,
|
|
106
|
+
.s-menu-item:focus-visible .s-menu-item__description,
|
|
107
|
+
.s-menu-item[data-current='true'] .s-menu-item__description {
|
|
108
|
+
color: var(--s-menu-item-state-foreground);
|
|
109
|
+
}
|
|
110
|
+
|
|
90
111
|
.s-menu-item__meta {
|
|
91
112
|
@apply ml-auto inline-flex shrink-0 items-center;
|
|
92
113
|
gap: var(--s-space-control-gap);
|
|
@@ -88,6 +88,21 @@
|
|
|
88
88
|
font-size: 1.125rem;
|
|
89
89
|
}
|
|
90
90
|
|
|
91
|
+
.s-button[data-label-overflow='wrap']:not([data-icon-only='true']) {
|
|
92
|
+
block-size: auto;
|
|
93
|
+
max-inline-size: 100%;
|
|
94
|
+
padding-block: 0.375rem;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.s-button[data-label-overflow='wrap'][data-density='compact']:not([data-icon-only='true']) {
|
|
98
|
+
block-size: auto;
|
|
99
|
+
padding-block: 0.25rem;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.s-button[data-label-overflow='wrap'][data-size='lg']:not([data-icon-only='true']) {
|
|
103
|
+
padding-block: 0.5rem;
|
|
104
|
+
}
|
|
105
|
+
|
|
91
106
|
.s-button[data-icon-only='true'] {
|
|
92
107
|
flex: 0 0 auto;
|
|
93
108
|
padding: 0;
|
|
@@ -299,6 +314,19 @@
|
|
|
299
314
|
white-space: nowrap;
|
|
300
315
|
}
|
|
301
316
|
|
|
317
|
+
.s-button[data-label-overflow='wrap'] .s-button__content {
|
|
318
|
+
max-inline-size: 100%;
|
|
319
|
+
flex: 1 1 auto;
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
.s-button[data-label-overflow='wrap'] .s-button__label {
|
|
323
|
+
flex: 1 1 auto;
|
|
324
|
+
overflow: visible;
|
|
325
|
+
overflow-wrap: anywhere;
|
|
326
|
+
text-overflow: clip;
|
|
327
|
+
white-space: normal;
|
|
328
|
+
}
|
|
329
|
+
|
|
302
330
|
.s-button__badge-slot {
|
|
303
331
|
@apply ml-auto inline-flex;
|
|
304
332
|
}
|
|
@@ -17,13 +17,20 @@
|
|
|
17
17
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
+
.s-choice-cards[data-appearance='rows'] {
|
|
21
|
+
grid-template-columns: minmax(0, 1fr);
|
|
22
|
+
gap: 0.5rem;
|
|
23
|
+
}
|
|
24
|
+
|
|
20
25
|
.s-choice-card { @apply relative flex min-h-28 min-w-0 flex-col items-start gap-2 overflow-hidden rounded-2xl border border-surface-300 bg-surface-0 p-4 text-left text-surface-800 hover:border-primary-300 hover:bg-primary-50/30 disabled:cursor-not-allowed disabled:opacity-50 dark:border-surface-700 dark:bg-surface-900 dark:text-surface-100; }
|
|
21
26
|
.s-choice-card:focus-visible { outline: var(--s-focus-ring-width) solid var(--s-focus-ring-color); outline-offset: var(--s-focus-ring-offset); }
|
|
22
27
|
.s-choice-card[aria-checked='true'] { @apply border-primary-500 ring-1 ring-primary-500/20; }
|
|
23
|
-
.s-choice-card__kicker { @apply text-[0.7rem] font-semibold uppercase tracking-wide text-surface-500; }
|
|
28
|
+
.s-choice-card__kicker { @apply text-[0.7rem] font-semibold uppercase tracking-wide text-surface-500 dark:text-surface-400; }
|
|
24
29
|
.s-choice-card__title { @apply text-sm font-semibold leading-5; }
|
|
25
|
-
.s-choice-card__description { @apply text-xs leading-5 text-surface-500; }
|
|
26
|
-
.s-choice-card__meta { @apply mt-auto text-xs leading-4 text-surface-500; }
|
|
30
|
+
.s-choice-card__description { @apply text-xs leading-5 text-surface-500 dark:text-surface-400; }
|
|
31
|
+
.s-choice-card__meta { @apply mt-auto text-xs leading-4 text-surface-500 dark:text-surface-400; }
|
|
27
32
|
.s-choice-card__mark { @apply absolute right-4 top-4 inline-flex h-6 w-6 items-center justify-center rounded-full bg-primary-100 font-bold text-primary-600; }
|
|
28
33
|
.s-choice-cards[data-density='compact'] .s-choice-card { @apply min-h-24 p-3; }
|
|
34
|
+
.s-choice-cards[data-appearance='rows'] .s-choice-card { @apply min-h-0 gap-0.5 rounded-xl px-3 py-2; }
|
|
35
|
+
.s-choice-cards[data-appearance='rows'] .s-choice-card__meta { @apply mt-1; }
|
|
29
36
|
.s-choice-cards[aria-readonly='true'] .s-choice-card { @apply cursor-default; }
|
|
@@ -18,3 +18,23 @@
|
|
|
18
18
|
.s-menu-surface[data-orientation='horizontal'] {
|
|
19
19
|
@apply flex max-w-full gap-1 overflow-x-auto;
|
|
20
20
|
}
|
|
21
|
+
|
|
22
|
+
.s-menu-group {
|
|
23
|
+
min-width: 0;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.s-menu-group + .s-menu-group {
|
|
27
|
+
margin-top: var(--s-space-control-gap);
|
|
28
|
+
padding-top: var(--s-space-control-gap);
|
|
29
|
+
border-top: 1px solid var(--s-floating-outline);
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.s-menu-group__label {
|
|
33
|
+
padding: 0.25rem var(--s-menu-item-inline-padding);
|
|
34
|
+
color: var(--s-menu-item-secondary-foreground);
|
|
35
|
+
font-size: 0.6875rem;
|
|
36
|
+
font-weight: 700;
|
|
37
|
+
line-height: 1rem;
|
|
38
|
+
letter-spacing: 0.04em;
|
|
39
|
+
text-transform: uppercase;
|
|
40
|
+
}
|
|
@@ -14,6 +14,18 @@
|
|
|
14
14
|
@apply pointer-events-none w-full;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
.s-virtual-list__header,
|
|
18
|
+
.s-virtual-list__footer {
|
|
19
|
+
@apply box-border w-full min-w-0;
|
|
20
|
+
position: absolute;
|
|
21
|
+
right: 0;
|
|
22
|
+
left: 0;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.s-virtual-list__header {
|
|
26
|
+
top: 0;
|
|
27
|
+
}
|
|
28
|
+
|
|
17
29
|
.s-virtual-list__item {
|
|
18
30
|
@apply box-border w-full min-w-0;
|
|
19
31
|
}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-e5bd192e],[data-v-e5bd192e]:before,[data-v-e5bd192e]:after,[data-v-e5bd192e]::backdrop{--tw-font-weight:initial;--tw-leading:initial}}}.s-menu-item[data-v-e5bd192e]{text-align:left;--tw-font-weight:var(--font-weight-medium,500);width:100%;min-width:0;font-weight:var(--font-weight-medium,500);min-height:var(--s-density-row-default);align-items:center;gap:var(--s-space-control-gap);padding:var(--s-menu-item-block-padding) var(--s-menu-item-inline-padding);border-radius:var(--radius-xs);color:var(--s-menu-item-foreground);appearance:none;cursor:pointer;transition:background-color var(--s-motion-fast) ease, color var(--s-motion-fast) ease;background:0 0;border:0;font-family:inherit;font-size:.875rem;line-height:1.25rem;display:flex}.s-menu-item[data-density=compact][data-v-e5bd192e]{min-height:var(--s-density-row-compact);padding:var(--s-menu-item-block-padding-compact) var(--s-menu-item-inline-padding-compact);font-size:.75rem;line-height:1rem}.s-menu-item[data-v-e5bd192e]:hover:not([aria-disabled=true]),.s-menu-item[data-v-e5bd192e]:focus-visible,.s-menu-item[data-current=true][data-v-e5bd192e]{background:var(--s-menu-item-state-background);color:var(--s-menu-item-state-foreground)}.s-menu-item[data-v-e5bd192e]:focus-visible{outline:var(--s-focus-ring-width) solid var(--s-focus-ring-color);outline-offset:var(--s-focus-ring-inset-offset)}.s-menu-item[aria-disabled=true][data-v-e5bd192e]{color:var(--s-menu-item-disabled-foreground);cursor:not-allowed;opacity:.62}.s-menu-item__main[data-v-e5bd192e]{align-items:center;gap:var(--s-space-control-gap);min-width:0;display:flex}.s-menu-item__state[data-v-e5bd192e]{flex:0 0 var(--s-icon-size-xs);justify-content:center;align-items:center;display:inline-flex}.s-menu-item__state[data-v-e5bd192e]:empty{display:none}.s-menu-item__icon[data-v-e5bd192e],.s-menu-item__state-icon[data-v-e5bd192e],.s-menu-item__submenu-icon[data-v-e5bd192e]{width:var(--s-icon-size-xs);height:var(--s-icon-size-xs);flex:none}.s-menu-item__state-icon[data-v-e5bd192e],.s-menu-item__radio-dot[data-v-e5bd192e]{color:var(--s-menu-item-indicator-foreground)}.s-menu-item__radio-dot[data-v-e5bd192e]{width:calc(var(--s-icon-size-xs) / 2);height:calc(var(--s-icon-size-xs) / 2);border-radius:var(--s-radius-pill);background:currentColor}.s-menu-item__label[data-v-e5bd192e]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.s-menu-item__meta[data-v-e5bd192e]{align-items:center;gap:var(--s-space-control-gap);flex-shrink:0;margin-left:auto;display:inline-flex}.s-menu-item__badge[data-v-e5bd192e]{display:inline-flex}.s-menu-item__shortcut[data-v-e5bd192e]{text-align:right;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:calc(var(--spacing,.25rem) * 4);line-height:calc(var(--spacing,.25rem) * 4);white-space:nowrap;color:var(--s-menu-item-secondary-foreground)}.s-menu-item:hover:not([aria-disabled=true]) .s-menu-item__shortcut[data-v-e5bd192e],.s-menu-item:focus-visible .s-menu-item__shortcut[data-v-e5bd192e],.s-menu-item[data-current=true] .s-menu-item__shortcut[data-v-e5bd192e]{color:var(--s-menu-item-state-foreground)}.s-menu-item[data-layout=tile][data-v-e5bd192e]{min-width:5rem}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-52ad38b1],[data-v-52ad38b1]:before,[data-v-52ad38b1]:after,[data-v-52ad38b1]::backdrop{--tw-font-weight:initial;--tw-leading:initial}}}.s-button[data-v-52ad38b1]{--s-button-accent:var(--s-button-primary-accent);--s-button-solid-background:var(--s-button-primary-solid-background);--s-button-solid-background-hover:var(--s-button-primary-solid-background-hover);--s-button-solid-background-active:var(--s-button-primary-solid-background-active);--s-button-on-solid:var(--s-button-primary-solid-foreground);--s-button-foreground:var(--s-button-primary-foreground);--s-button-outline:var(--s-button-accent)}@supports (color:color-mix(in lab, red, red)){.s-button[data-v-52ad38b1]{--s-button-outline:color-mix(in srgb, var(--s-button-accent) 45%, transparent)}}.s-button[data-v-52ad38b1]{--s-button-soft-background:var(--s-button-accent)}@supports (color:color-mix(in lab, red, red)){.s-button[data-v-52ad38b1]{--s-button-soft-background:color-mix(in srgb, var(--s-button-accent) 12%, transparent)}}.s-button[data-v-52ad38b1]{--s-button-hover-background:var(--s-button-accent)}@supports (color:color-mix(in lab, red, red)){.s-button[data-v-52ad38b1]{--s-button-hover-background:color-mix(in srgb, var(--s-button-accent) 10%, transparent)}}.s-button[data-v-52ad38b1]{--tw-font-weight:var(--font-weight-semibold,600);min-width:0;font-weight:var(--font-weight-semibold,600);border-radius:var(--radius-xs);appearance:none;touch-action:manipulation;transition:background-color var(--s-motion-standard) ease, border-color var(--s-motion-standard) ease, box-shadow var(--s-motion-standard) ease, color var(--s-motion-standard) ease, transform var(--s-motion-fast) ease;border:1px solid #0000;justify-content:center;align-items:center;font-family:inherit;line-height:1.25;text-decoration:none;display:inline-flex;position:relative}.s-button[data-size=xs][data-v-52ad38b1]:not([data-icon-only=true]){block-size:var(--s-control-hitbox-xs);min-block-size:var(--s-control-hitbox-xs);padding:0 .5rem;font-size:.75rem}.s-button[data-density=compact][data-size=xs][data-v-52ad38b1]:not([data-icon-only=true]){block-size:var(--s-control-hitbox-2xs);min-block-size:var(--s-control-hitbox-2xs);padding-block:0}.s-button[data-density=compact][data-size=sm][data-v-52ad38b1]:not([data-icon-only=true]){block-size:var(--s-control-hitbox-xs);min-block-size:var(--s-control-hitbox-xs)}.s-button[data-density=compact][data-size=md][data-v-52ad38b1]:not([data-icon-only=true]){block-size:var(--s-control-hitbox-sm);min-block-size:var(--s-control-hitbox-sm)}.s-button[data-density=compact][data-size=lg][data-v-52ad38b1]:not([data-icon-only=true]){block-size:var(--s-control-hitbox-md);min-block-size:var(--s-control-hitbox-md);font-size:.875rem}.s-button[data-size=sm][data-v-52ad38b1]:not([data-icon-only=true]){block-size:var(--s-control-hitbox-sm);min-block-size:var(--s-control-hitbox-sm);padding:0 .625rem;font-size:.75rem}.s-button[data-spacing=tight][data-size=sm][data-v-52ad38b1]:not([data-icon-only=true]){height:var(--s-control-hitbox-sm);min-height:var(--s-control-hitbox-sm);padding-block:0;padding-inline:.25rem}.s-button[data-spacing=tight] .s-button__content[data-v-52ad38b1]{gap:.25rem}.s-button[data-size=md][data-v-52ad38b1]:not([data-icon-only=true]){block-size:var(--s-control-hitbox-md);min-block-size:var(--s-control-hitbox-md);padding:0 1.25rem;font-size:.875rem}.s-button[data-size=lg][data-v-52ad38b1]:not([data-icon-only=true]){block-size:var(--s-control-hitbox-lg);min-block-size:var(--s-control-hitbox-lg);padding:0 1.75rem;font-size:1.125rem}.s-button[data-icon-only=true][data-v-52ad38b1]{flex:none;padding:0}.s-button[data-icon-only=true][data-size=xs][data-v-52ad38b1]{width:var(--s-control-hitbox-xs);height:var(--s-control-hitbox-xs)}.s-button[data-icon-only=true][data-size=sm][data-v-52ad38b1]{width:var(--s-control-hitbox-sm);height:var(--s-control-hitbox-sm)}.s-button[data-icon-only=true][data-size=md][data-v-52ad38b1]{width:var(--s-control-hitbox-md);height:var(--s-control-hitbox-md)}.s-button[data-icon-only=true][data-size=lg][data-v-52ad38b1]{width:var(--s-control-hitbox-lg);height:var(--s-control-hitbox-lg)}.s-button[data-density=compact][data-icon-only=true][data-size=xs][data-v-52ad38b1]{width:var(--s-control-hitbox-2xs);height:var(--s-control-hitbox-2xs)}.s-button[data-density=compact][data-icon-only=true][data-size=sm][data-v-52ad38b1]{width:var(--s-control-hitbox-xs);height:var(--s-control-hitbox-xs)}.s-button[data-density=compact][data-icon-only=true][data-size=md][data-v-52ad38b1]{width:var(--s-control-hitbox-sm);height:var(--s-control-hitbox-sm)}.s-button[data-density=compact][data-icon-only=true][data-size=lg][data-v-52ad38b1]{width:var(--s-control-hitbox-md);height:var(--s-control-hitbox-md)}.s-button[data-s-tone=secondary][data-v-52ad38b1]{--s-button-accent:var(--s-button-secondary-accent);--s-button-solid-background:var(--s-button-secondary-solid-background);--s-button-solid-background-hover:var(--s-button-secondary-solid-background-hover);--s-button-solid-background-active:var(--s-button-secondary-solid-background-active);--s-button-on-solid:var(--s-button-secondary-solid-foreground);--s-button-foreground:var(--s-button-secondary-foreground);--s-button-outline:var(--color-surface-300)}.s-button[data-s-tone=success][data-v-52ad38b1]{--s-button-accent:var(--s-button-success-accent);--s-button-solid-background:var(--s-button-success-solid-background);--s-button-solid-background-hover:var(--s-button-success-solid-background-hover);--s-button-solid-background-active:var(--s-button-success-solid-background-active);--s-button-on-solid:var(--s-button-success-solid-foreground);--s-button-foreground:var(--s-button-success-foreground)}.s-button[data-s-tone=info][data-v-52ad38b1]{--s-button-accent:var(--s-button-info-accent);--s-button-solid-background:var(--s-button-info-solid-background);--s-button-solid-background-hover:var(--s-button-info-solid-background-hover);--s-button-solid-background-active:var(--s-button-info-solid-background-active);--s-button-on-solid:var(--s-button-info-solid-foreground);--s-button-foreground:var(--s-button-info-foreground)}.s-button[data-s-tone=warn][data-v-52ad38b1]{--s-button-accent:var(--s-button-warn-accent);--s-button-solid-background:var(--s-button-warn-solid-background);--s-button-solid-background-hover:var(--s-button-warn-solid-background-hover);--s-button-solid-background-active:var(--s-button-warn-solid-background-active);--s-button-on-solid:var(--s-button-warn-solid-foreground);--s-button-foreground:var(--s-button-warn-foreground)}.s-button[data-s-tone=danger][data-v-52ad38b1]{--s-button-accent:var(--s-button-danger-accent);--s-button-solid-background:var(--s-button-danger-solid-background);--s-button-solid-background-hover:var(--s-button-danger-solid-background-hover);--s-button-solid-background-active:var(--s-button-danger-solid-background-active);--s-button-on-solid:var(--s-button-danger-solid-foreground);--s-button-foreground:var(--s-button-danger-foreground)}.s-button[data-s-tone=contrast][data-v-52ad38b1]{--s-button-accent:var(--s-button-contrast-accent);--s-button-solid-background:var(--s-button-contrast-solid-background);--s-button-solid-background-hover:var(--s-button-contrast-solid-background-hover);--s-button-solid-background-active:var(--s-button-contrast-solid-background-active);--s-button-on-solid:var(--s-button-contrast-solid-foreground);--s-button-foreground:var(--s-button-contrast-foreground);--s-button-outline:var(--color-surface-500)}.s-button[data-appearance=solid][data-v-52ad38b1]{border-color:var(--s-button-solid-background);background:var(--s-button-solid-background);box-shadow:var(--s-elevation-control);color:var(--s-button-on-solid)}.s-button[data-appearance=solid][data-v-52ad38b1]:hover:not(:disabled){border-color:var(--s-button-solid-background-hover);background:var(--s-button-solid-background-hover)}.s-button[aria-disabled=true][data-v-52ad38b1]{pointer-events:none}.s-button[data-appearance=solid][data-v-52ad38b1]:active:not(:disabled){border-color:var(--s-button-solid-background-active);background:var(--s-button-solid-background-active)}.s-button[data-appearance=soft][data-v-52ad38b1]{background:var(--s-button-soft-background);color:var(--s-button-foreground)}.s-button[data-appearance=soft][data-v-52ad38b1]:hover:not(:disabled){background:var(--s-button-accent)}@supports (color:color-mix(in lab, red, red)){.s-button[data-appearance=soft][data-v-52ad38b1]:hover:not(:disabled){background:color-mix(in srgb, var(--s-button-accent) 20%, transparent)}}.s-button[data-appearance=outline][data-v-52ad38b1]{border-color:var(--s-button-outline);color:var(--s-button-foreground);background:0 0}.s-button[data-appearance=outline][data-v-52ad38b1]:hover:not(:disabled),.s-button[data-appearance=ghost][data-v-52ad38b1]:hover:not(:disabled){background:var(--s-button-hover-background)}.s-button[data-hover-surface=parent][data-appearance=ghost][data-v-52ad38b1]:hover:not(:disabled){background:0 0}.s-button[data-appearance=ghost][data-v-52ad38b1],.s-button[data-appearance=text][data-v-52ad38b1]{box-shadow:none;color:var(--s-button-foreground);background:0 0}.s-button[data-appearance=text][data-v-52ad38b1]{padding-inline:.25rem}.s-button[data-appearance=text][data-v-52ad38b1]:hover:not(:disabled){text-decoration:underline}.s-button[data-v-52ad38b1]:focus-visible{z-index:var(--s-layer-focused-control);outline:var(--s-focus-ring-width) solid var(--s-button-accent);outline-offset:var(--s-focus-ring-offset)}.s-button[data-v-52ad38b1]:active:not(:disabled){transform:translateY(1px)}.s-button[aria-pressed=true][data-v-52ad38b1],.s-button[aria-pressed=mixed][data-v-52ad38b1]{box-shadow:0 0 0 2px var(--s-button-accent)}@supports (color:color-mix(in lab, red, red)){.s-button[aria-pressed=true][data-v-52ad38b1],.s-button[aria-pressed=mixed][data-v-52ad38b1]{box-shadow:0 0 0 2px color-mix(in srgb, var(--s-button-accent) 30%, transparent)}}.s-button[data-appearance=ghost][aria-current=page][data-v-52ad38b1],.s-button[data-appearance=soft][aria-current=page][data-v-52ad38b1]{background:var(--s-button-soft-background);color:var(--s-button-foreground)}.s-button[data-v-52ad38b1]:disabled,.s-button[aria-disabled=true][data-v-52ad38b1]{background:var(--s-button-disabled-background);box-shadow:none;color:var(--s-button-disabled-foreground);cursor:not-allowed;border-color:#0000}.s-button[data-appearance=ghost][data-v-52ad38b1]:disabled,.s-button[data-appearance=text][data-v-52ad38b1]:disabled{background:0 0}.s-button[data-loading=true][data-v-52ad38b1]{cursor:wait;opacity:.75}.s-button[data-loading=true] .s-button__content[data-v-52ad38b1]{opacity:0}.s-button__content[data-v-52ad38b1]{justify-content:center;align-items:center;gap:var(--s-space-control-gap);flex-shrink:0;min-width:0;display:inline-flex}.s-button[data-width=full][data-v-52ad38b1]{width:100%;display:flex}.s-button[data-width=fit][data-v-52ad38b1]{width:fit-content}.s-button[data-width=full] .s-button__content[data-v-52ad38b1]{width:100%}.s-button[data-content-align=start] .s-button__content[data-v-52ad38b1]{text-align:left;justify-content:flex-start}.s-button[data-content-align=end] .s-button__content[data-v-52ad38b1]{text-align:right;justify-content:flex-end}.s-button[data-content-align=between] .s-button__content[data-v-52ad38b1]{text-align:left;justify-content:space-between}.s-button[data-shape=pill][data-v-52ad38b1],.s-button[data-shape=circle][data-v-52ad38b1]{border-radius:var(--s-radius-pill)}.s-button[data-shape=square][data-v-52ad38b1],.s-button[data-shape=row][data-v-52ad38b1]{border-radius:var(--radius-xs)}.s-button[data-shape=row][data-v-52ad38b1]{width:100%}.s-button__label[data-v-52ad38b1]{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.s-button__badge-slot[data-v-52ad38b1]{margin-left:auto;display:inline-flex}.s-button__shortcut[data-v-52ad38b1]{text-align:right;font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:calc(var(--spacing,.25rem) * 4);line-height:calc(var(--spacing,.25rem) * 4);white-space:nowrap;color:var(--color-surface-400);margin-left:auto}.dark{color:var(--color-surface-500)}.s-button__icon[data-v-52ad38b1]{width:var(--s-icon-size-xs);height:var(--s-icon-size-xs);flex:none}.s-button[data-size=lg] .s-button__icon[data-v-52ad38b1]{width:var(--s-icon-size-sm);height:var(--s-icon-size-sm)}.s-button[data-icon-size=large] .s-button__icon[data-v-52ad38b1]{width:var(--s-icon-size-md);height:var(--s-icon-size-md)}.s-button__loader[data-v-52ad38b1]{display:inline-flex;position:absolute}.s-button__disclosure-icon[data-v-52ad38b1]{transition:transform var(--s-motion-fast) ease}.s-button__disclosure-icon[data-expanded=true][data-v-52ad38b1]{transform:rotate(90deg)}.s-button__disclosure-icon>svg[data-v-52ad38b1]{width:100%;height:100%}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-627a8628],[data-v-627a8628]:before,[data-v-627a8628]:after,[data-v-627a8628]::backdrop{--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-font-weight:initial;--tw-tracking:initial;--tw-leading:initial}}}.s-choice-cards[data-v-627a8628]{gap:.75rem;display:grid}.s-choice-cards[data-columns=auto][data-v-627a8628]{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.s-choice-cards[data-columns="2"][data-v-627a8628]{grid-template-columns:repeat(2,minmax(0,1fr))}.s-choice-cards[data-columns="3"][data-v-627a8628]{grid-template-columns:repeat(3,minmax(0,1fr))}.s-choice-card[data-v-627a8628]{min-height:calc(var(--spacing,.25rem) * 28);align-items:flex-start;gap:calc(var(--spacing,.25rem) * 2);border-radius:var(--radius-2xl,1rem);border-style:var(--tw-border-style);border-width:1px;border-color:var(--color-surface-300,#cbd5e1);background-color:var(--color-surface-0,#fff);min-width:0;padding:calc(var(--spacing,.25rem) * 4);text-align:left;color:var(--color-surface-800,#1e293b);flex-direction:column;display:flex;position:relative;overflow:hidden}@media (hover:hover){.s-choice-card[data-v-627a8628]:hover{border-color:var(--color-primary-300,#93c5fd);background-color:#eff6ff4d}@supports (color:color-mix(in lab, red, red)){.s-choice-card[data-v-627a8628]:hover{background-color:color-mix(in oklab, var(--color-primary-50,#eff6ff) 30%, transparent)}}}.s-choice-card[data-v-627a8628]:disabled{cursor:not-allowed;opacity:.5}.s-choice-card[data-v-627a8628]:where(.dark,.dark *){border-color:var(--color-surface-700,#334155);background-color:var(--color-surface-900,#0f172a);color:var(--color-surface-100,#f1f5f9)}.s-choice-card[data-v-627a8628]:focus-visible{outline:var(--s-focus-ring-width) solid var(--s-focus-ring-color);outline-offset:var(--s-focus-ring-offset)}.s-choice-card[aria-checked=true][data-v-627a8628]{border-color:var(--color-primary-500,#3b82f6);--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);--tw-ring-color:#3b82f633}@supports (color:color-mix(in lab, red, red)){.s-choice-card[aria-checked=true][data-v-627a8628]{--tw-ring-color:color-mix(in oklab, var(--color-primary-500,#3b82f6) 20%, transparent)}}.s-choice-card__kicker[data-v-627a8628]{--tw-font-weight:var(--font-weight-semibold,600);font-size:.7rem;font-weight:var(--font-weight-semibold,600);--tw-tracking:var(--tracking-wide,.025em);letter-spacing:var(--tracking-wide,.025em);color:var(--color-surface-500,#64748b);text-transform:uppercase}.s-choice-card__title[data-v-627a8628]{font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5);--tw-font-weight:var(--font-weight-semibold,600);font-weight:var(--font-weight-semibold,600)}.s-choice-card__description[data-v-627a8628]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5);color:var(--color-surface-500,#64748b)}.s-choice-card__meta[data-v-627a8628]{font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:calc(var(--spacing,.25rem) * 4);line-height:calc(var(--spacing,.25rem) * 4);color:var(--color-surface-500,#64748b);margin-top:auto}.s-choice-card__mark[data-v-627a8628]{top:calc(var(--spacing,.25rem) * 4);right:calc(var(--spacing,.25rem) * 4);height:calc(var(--spacing,.25rem) * 6);width:calc(var(--spacing,.25rem) * 6);background-color:var(--color-primary-100,#dbeafe);--tw-font-weight:var(--font-weight-bold,700);font-weight:var(--font-weight-bold,700);color:var(--color-primary-600,#2563eb);border-radius:2147483647px;justify-content:center;align-items:center;display:inline-flex;position:absolute}.s-choice-cards[data-density=compact] .s-choice-card[data-v-627a8628]{min-height:calc(var(--spacing,.25rem) * 24);padding:calc(var(--spacing,.25rem) * 3)}.s-choice-cards[aria-readonly=true] .s-choice-card[data-v-627a8628]{cursor:default}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
-
.s-menu-surface[data-v-bc7c7be4]{border-radius:var(--radius-xl,1.5rem);padding:calc(var(--spacing,.25rem) * 1.5);margin:0}.s-menu-surface[data-v-bc7c7be4]:focus{--tw-outline-style:none;outline-style:none}.s-menu-surface[data-v-bc7c7be4]{background:var(--s-floating-surface);color:var(--s-floating-foreground);box-shadow:0 0 0 1px var(--s-floating-outline), var(--s-elevation-floating);width:var(--s-menu-surface-width);min-width:var(--s-menu-surface-min-width);max-width:var(--s-menu-surface-max-width)}.s-menu-surface[data-density=compact][data-v-bc7c7be4]{min-width:calc(var(--spacing,.25rem) * 40);border-radius:var(--radius-md,.75rem);padding:var(--spacing,.25rem)}.s-menu-surface[data-orientation=horizontal][data-v-bc7c7be4]{gap:var(--spacing,.25rem);max-width:100%;display:flex;overflow-x:auto}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){[data-v-c76fa058],[data-v-c76fa058]:before,[data-v-c76fa058]:after,[data-v-c76fa058]::backdrop{--tw-font-weight:initial;--tw-leading:initial;--tw-border-style:solid}}}.s-status[data-v-c76fa058]{--tw-font-weight:var(--font-weight-medium,500);min-width:0;font-weight:var(--font-weight-medium,500);align-items:center;display:inline-flex}.s-status[data-size=xs][data-v-c76fa058]{gap:var(--spacing,.25rem);--tw-leading:calc(var(--spacing,.25rem) * 4);font-size:10px;line-height:calc(var(--spacing,.25rem) * 4)}.s-status[data-size=sm][data-v-c76fa058]{gap:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-xs,.75rem);line-height:var(--tw-leading,var(--text-xs--line-height,calc(1 / .75)));--tw-leading:calc(var(--spacing,.25rem) * 4);line-height:calc(var(--spacing,.25rem) * 4)}.s-status[data-size=md][data-v-c76fa058]{gap:calc(var(--spacing,.25rem) * 1.5);font-size:var(--text-sm,.875rem);line-height:var(--tw-leading,var(--text-sm--line-height,calc(1.25 / .875)));--tw-leading:calc(var(--spacing,.25rem) * 5);line-height:calc(var(--spacing,.25rem) * 5)}.s-status[data-appearance=soft][data-v-c76fa058]{border-style:var(--tw-border-style);padding-inline:calc(var(--spacing,.25rem) * 2);padding-block:calc(var(--spacing,.25rem) * .5);border-width:1px;border-radius:2147483647px}.s-status__icon[data-v-c76fa058]{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.s-status[data-size=xs] .s-status__icon[data-v-c76fa058]{height:calc(var(--spacing,.25rem) * 3);width:calc(var(--spacing,.25rem) * 3)}.s-status[data-size=sm] .s-status__icon[data-v-c76fa058]{height:calc(var(--spacing,.25rem) * 3.5);width:calc(var(--spacing,.25rem) * 3.5)}.s-status[data-size=md] .s-status__icon[data-v-c76fa058]{height:calc(var(--spacing,.25rem) * 4);width:calc(var(--spacing,.25rem) * 4)}.s-status__icon-graphic[data-v-c76fa058]{width:100%;height:100%}.s-status__label[data-v-c76fa058]{overflow-wrap:anywhere;min-width:0}.s-status[data-label-visibility=sr-only] .s-status__label[data-v-c76fa058]{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.s-status[data-s-tone=neutral][data-v-c76fa058]{color:var(--color-surface-500,#64748b)}.s-status[data-s-tone=neutral][data-v-c76fa058]:where(.dark,.dark *){color:var(--color-surface-400,#94a3b8)}.s-status[data-s-tone=info][data-v-c76fa058]{color:var(--color-info-700,#1d4ed8)}.s-status[data-s-tone=info][data-v-c76fa058]:where(.dark,.dark *){color:var(--color-info-300,#93c5fd)}.s-status[data-s-tone=success][data-v-c76fa058]{color:var(--color-success-700,#15803d)}.s-status[data-s-tone=success][data-v-c76fa058]:where(.dark,.dark *){color:var(--color-success-300,#86efac)}.s-status[data-s-tone=warn][data-v-c76fa058]{color:var(--color-warn-700,#c2410c)}.s-status[data-s-tone=warn][data-v-c76fa058]:where(.dark,.dark *){color:var(--color-warn-300,#fdba74)}.s-status[data-s-tone=danger][data-v-c76fa058]{color:var(--color-danger-700,#b91c1c)}.s-status[data-s-tone=danger][data-v-c76fa058]:where(.dark,.dark *){color:var(--color-danger-300,#fca5a5)}.s-status[data-appearance=soft][data-s-tone=neutral][data-v-c76fa058]{border-color:var(--color-surface-200,#e2e8f0);background-color:var(--color-surface-100,#f1f5f9)}.s-status[data-appearance=soft][data-s-tone=neutral][data-v-c76fa058]:where(.dark,.dark *){border-color:var(--color-surface-700,#334155);background-color:var(--color-surface-800,#1e293b)}.s-status[data-appearance=soft][data-s-tone=info][data-v-c76fa058]{border-color:var(--color-info-200,#bfdbfe);background-color:var(--color-info-50,#eff6ff)}.s-status[data-appearance=soft][data-s-tone=info][data-v-c76fa058]:where(.dark,.dark *){border-color:var(--color-info-800,#1e40af);background-color:var(--color-info-950,#172554)}.s-status[data-appearance=soft][data-s-tone=success][data-v-c76fa058]{border-color:var(--color-success-200,#bbf7d0);background-color:var(--color-success-50,#f0fdf4)}.s-status[data-appearance=soft][data-s-tone=success][data-v-c76fa058]:where(.dark,.dark *){border-color:var(--color-success-800,#166534);background-color:var(--color-success-950,#052e16)}.s-status[data-appearance=soft][data-s-tone=warn][data-v-c76fa058]{border-color:var(--color-warn-200,#fed7aa);background-color:var(--color-warn-50,#fff7ed)}.s-status[data-appearance=soft][data-s-tone=warn][data-v-c76fa058]:where(.dark,.dark *){border-color:var(--color-warn-800,#9a3412);background-color:var(--color-warn-950,#431407)}.s-status[data-appearance=soft][data-s-tone=danger][data-v-c76fa058]{border-color:var(--color-danger-200,#fecaca);background-color:var(--color-danger-50,#fef2f2)}.s-status[data-appearance=soft][data-s-tone=danger][data-v-c76fa058]:where(.dark,.dark *){border-color:var(--color-danger-800,#991b1b);background-color:var(--color-danger-950,#450a0a)}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
|
|
2
|
-
.s-virtual-list[data-v-1717877d]{overflow-anchor:none;width:100%;min-width:0}.s-virtual-list[data-v-1717877d]:focus-visible{outline:var(--s-focus-ring-width) solid var(--s-focus-ring-strong-color);outline-offset:var(--s-focus-ring-inset-offset)}.s-virtual-list__spacer[data-v-1717877d]{pointer-events:none;width:100%}.s-virtual-list__item[data-v-1717877d]{box-sizing:border-box;width:100%;min-width:0}.s-virtual-list__item[data-v-1717877d]:focus-visible{outline:var(--s-focus-ring-width) solid var(--s-focus-ring-strong-color);outline-offset:var(--s-focus-ring-inset-offset)}
|