@godxjp/ui 32.0.5 → 32.1.1
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 +2 -2
- package/agent/START-HERE.md +7 -7
- package/agent/components/Calendar.json +1 -1
- package/agent/components/Checkbox.json +1 -1
- package/agent/components/CheckboxGroup.json +6 -0
- package/agent/components/CommandPalette.json +6 -0
- package/agent/components/DatePicker.json +6 -0
- package/agent/components/DropdownMenu.json +5 -0
- package/agent/components/ListRow.json +2 -1
- package/agent/components/PasswordStrength.json +3 -3
- package/agent/components/SearchInput.json +6 -0
- package/agent/components/Select.json +8 -2
- package/agent/components/Toaster.json +15 -4
- package/agent/components/Toggle.json +3 -2
- package/agent/components/ToggleGroup.json +1 -1
- package/agent/components-index.json +1 -1
- package/agent/components.json +63 -15
- package/agent/index.json +6 -6
- package/agent/llms.txt +6 -6
- package/agent/patterns/card-grid-selection.json +21 -0
- package/agent/patterns/dependent-selects.json +20 -0
- package/agent/patterns-index.json +39 -0
- package/agent/patterns.json +41 -0
- package/agent/tokens.json +60 -0
- package/dist/components/data-entry/checkbox-group.d.ts +1 -1
- package/dist/components/data-entry/checkbox-group.js +58 -19
- package/dist/components/data-entry/command-palette.d.ts +21 -1
- package/dist/components/data-entry/command-palette.js +34 -34
- package/dist/components/data-entry/date-picker.js +21 -1
- package/dist/components/data-entry/index.d.ts +1 -1
- package/dist/components/data-entry/password-strength.d.ts +2 -0
- package/dist/components/data-entry/password-strength.js +8 -7
- package/dist/components/data-entry/search-input.d.ts +1 -1
- package/dist/components/data-entry/search-input.js +22 -2
- package/dist/components/data-entry/search-select.js +68 -13
- package/dist/components/data-entry/toggle.d.ts +2 -2
- package/dist/components/data-entry/toggle.js +5 -1
- package/dist/components/feedback/sonner.d.ts +7 -1
- package/dist/components/feedback/sonner.js +22 -2
- package/dist/components/feedback/use-toast.d.ts +3 -1
- package/dist/components/feedback/use-toast.js +10 -1
- package/dist/components/navigation/dropdown-menu.d.ts +7 -1
- package/dist/components/navigation/dropdown-menu.js +18 -2
- package/dist/contracts/measurement.json +1 -1
- package/dist/i18n/messages/en.json +19 -1
- package/dist/i18n/messages/ja.json +18 -1
- package/dist/i18n/messages/vi.json +18 -1
- package/dist/lib/shortcut.d.ts +17 -0
- package/dist/lib/shortcut.js +37 -0
- package/dist/props/components/data-entry.prop.d.ts +36 -0
- package/dist/styles/control.css +35 -3
- package/dist/styles/data-display-layout.css +7 -0
- package/dist/styles/layers.json +6 -1
- package/dist/styles/navigation-layout.css +26 -0
- package/dist/styles/table-layout.css +14 -0
- package/dist/styles/toggle.css +14 -0
- package/dist/styles.css +1 -1
- package/dist/tokens/components/control.css +10 -0
- package/dist/tokens/components/navigation.css +6 -0
- package/dist/tokens/foundation.css +2 -0
- package/package.json +2 -2
- package/scripts/ui-audit.mjs +4 -1
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
"previous": "前へ",
|
|
15
15
|
"next": "次へ",
|
|
16
16
|
"selectedCount": "{count} 件選択",
|
|
17
|
+
"selectedOfTotal": "{total} 件中 {count} 件選択",
|
|
17
18
|
"typeToConfirm": "確認のため {phrase} と入力"
|
|
18
19
|
},
|
|
19
20
|
"dataEntry": {
|
|
@@ -32,7 +33,12 @@
|
|
|
32
33
|
"placeholder": "期間を選択",
|
|
33
34
|
"from": "開始",
|
|
34
35
|
"to": "終了",
|
|
35
|
-
"openCalendar": "カレンダーを開く"
|
|
36
|
+
"openCalendar": "カレンダーを開く",
|
|
37
|
+
"selectEnd": "終了日を選択",
|
|
38
|
+
"days": {
|
|
39
|
+
"other": "{count}日間"
|
|
40
|
+
},
|
|
41
|
+
"summary": "{range}({days})"
|
|
36
42
|
},
|
|
37
43
|
"timePicker": {
|
|
38
44
|
"placeholder": "時刻を選択",
|
|
@@ -50,6 +56,10 @@
|
|
|
50
56
|
"searchInput": {
|
|
51
57
|
"placeholder": "検索…"
|
|
52
58
|
},
|
|
59
|
+
"commandPalette": {
|
|
60
|
+
"recent": "最近の検索",
|
|
61
|
+
"clearRecent": "検索履歴を消去"
|
|
62
|
+
},
|
|
53
63
|
"autocomplete": {
|
|
54
64
|
"placeholder": "検索または選択…",
|
|
55
65
|
"empty": "結果が見つかりません"
|
|
@@ -237,10 +247,14 @@
|
|
|
237
247
|
"dropped": "{label} を {count} 件中 {position} 番目に置きました。",
|
|
238
248
|
"cancelled": "移動を取り消しました。{label} は {count} 件中 {position} 番目に戻りました。"
|
|
239
249
|
},
|
|
250
|
+
"checkboxGroup": {
|
|
251
|
+
"selectAll": "すべて選択"
|
|
252
|
+
},
|
|
240
253
|
"passwordStrength": {
|
|
241
254
|
"weak": "弱い",
|
|
242
255
|
"fair": "普通",
|
|
243
256
|
"strong": "強い",
|
|
257
|
+
"empty": "パスワードを入力",
|
|
244
258
|
"meter": "パスワードの強度 4 段階中 {score}",
|
|
245
259
|
"passed": "達成: ",
|
|
246
260
|
"failed": "未達成: ",
|
|
@@ -263,6 +277,9 @@
|
|
|
263
277
|
"dismiss": "閉じる",
|
|
264
278
|
"verifying": "確認中…",
|
|
265
279
|
"stepUpFailed": "再認証に失敗しました。もう一度お試しください。"
|
|
280
|
+
},
|
|
281
|
+
"toast": {
|
|
282
|
+
"close": "通知を閉じる"
|
|
266
283
|
}
|
|
267
284
|
},
|
|
268
285
|
"layout": {
|
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
"previous": "Trước",
|
|
15
15
|
"next": "Tiếp",
|
|
16
16
|
"selectedCount": "{count} đã chọn",
|
|
17
|
+
"selectedOfTotal": "Đã chọn {count}/{total}",
|
|
17
18
|
"typeToConfirm": "Nhập {phrase} để xác nhận"
|
|
18
19
|
},
|
|
19
20
|
"dataEntry": {
|
|
@@ -32,7 +33,12 @@
|
|
|
32
33
|
"placeholder": "Chọn khoảng ngày",
|
|
33
34
|
"from": "Từ",
|
|
34
35
|
"to": "Đến",
|
|
35
|
-
"openCalendar": "Mở lịch"
|
|
36
|
+
"openCalendar": "Mở lịch",
|
|
37
|
+
"selectEnd": "Chọn ngày kết thúc",
|
|
38
|
+
"days": {
|
|
39
|
+
"other": "{count} ngày"
|
|
40
|
+
},
|
|
41
|
+
"summary": "{range} · {days}"
|
|
36
42
|
},
|
|
37
43
|
"timePicker": {
|
|
38
44
|
"placeholder": "Chọn giờ",
|
|
@@ -50,6 +56,10 @@
|
|
|
50
56
|
"searchInput": {
|
|
51
57
|
"placeholder": "Tìm kiếm…"
|
|
52
58
|
},
|
|
59
|
+
"commandPalette": {
|
|
60
|
+
"recent": "Tìm kiếm gần đây",
|
|
61
|
+
"clearRecent": "Xóa lịch sử tìm kiếm"
|
|
62
|
+
},
|
|
53
63
|
"autocomplete": {
|
|
54
64
|
"placeholder": "Tìm hoặc chọn…",
|
|
55
65
|
"empty": "Không tìm thấy kết quả"
|
|
@@ -238,10 +248,14 @@
|
|
|
238
248
|
"dropped": "Đã thả {label} ở vị trí {position}/{count}.",
|
|
239
249
|
"cancelled": "Đã huỷ di chuyển. {label} trở lại vị trí {position}/{count}."
|
|
240
250
|
},
|
|
251
|
+
"checkboxGroup": {
|
|
252
|
+
"selectAll": "Chọn tất cả"
|
|
253
|
+
},
|
|
241
254
|
"passwordStrength": {
|
|
242
255
|
"weak": "Yếu",
|
|
243
256
|
"fair": "Trung bình",
|
|
244
257
|
"strong": "Mạnh",
|
|
258
|
+
"empty": "Nhập mật khẩu",
|
|
245
259
|
"meter": "Độ mạnh mật khẩu {score} trên 4",
|
|
246
260
|
"passed": "Đạt: ",
|
|
247
261
|
"failed": "Chưa đạt: ",
|
|
@@ -264,6 +278,9 @@
|
|
|
264
278
|
"dismiss": "Đóng",
|
|
265
279
|
"verifying": "Đang xác minh…",
|
|
266
280
|
"stepUpFailed": "Xác thực lại thất bại. Vui lòng thử lại."
|
|
281
|
+
},
|
|
282
|
+
"toast": {
|
|
283
|
+
"close": "Đóng thông báo"
|
|
267
284
|
}
|
|
268
285
|
},
|
|
269
286
|
"layout": {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A global keyboard shortcut, parsed from a combo string. Shared by `CommandPalette` (toggles the
|
|
3
|
+
* dialog) and `SearchInput` (focuses the field) so both read `"mod+k"` the same way (gh#1250).
|
|
4
|
+
*/
|
|
5
|
+
export type ShortcutSpec = {
|
|
6
|
+
key: string;
|
|
7
|
+
mod: boolean;
|
|
8
|
+
shift: boolean;
|
|
9
|
+
alt: boolean;
|
|
10
|
+
meta: boolean;
|
|
11
|
+
ctrl: boolean;
|
|
12
|
+
};
|
|
13
|
+
/** `"mod+shift+p"` → its parts. `true` is `mod+k`. */
|
|
14
|
+
export declare function parseShortcut(shortcut: boolean | string): ShortcutSpec | null;
|
|
15
|
+
export declare function shortcutMatches(spec: ShortcutSpec, event: KeyboardEvent): boolean;
|
|
16
|
+
/** The hint a trigger shows: `mod+shift+p` → `⌘⇧P`. */
|
|
17
|
+
export declare function shortcutHint(spec: ShortcutSpec): string;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { isApplePlatform } from "./platform.js";
|
|
2
|
+
function parseShortcut(shortcut) {
|
|
3
|
+
if (shortcut === false) return null;
|
|
4
|
+
const parts = (shortcut === true ? "mod+k" : shortcut).toLowerCase().split("+").map((p) => p.trim());
|
|
5
|
+
const key = parts.pop() ?? "";
|
|
6
|
+
if (!key) return null;
|
|
7
|
+
return {
|
|
8
|
+
key,
|
|
9
|
+
mod: parts.includes("mod"),
|
|
10
|
+
meta: parts.includes("meta") || parts.includes("cmd"),
|
|
11
|
+
ctrl: parts.includes("ctrl"),
|
|
12
|
+
shift: parts.includes("shift"),
|
|
13
|
+
alt: parts.includes("alt") || parts.includes("option")
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
function shortcutMatches(spec, event) {
|
|
17
|
+
const keyMatches = event.key.toLowerCase() === spec.key || /^[a-z]$/.test(spec.key) && event.code === `Key${spec.key.toUpperCase()}`;
|
|
18
|
+
if (!keyMatches) return false;
|
|
19
|
+
if (spec.mod && !(isApplePlatform() ? event.metaKey : event.ctrlKey)) return false;
|
|
20
|
+
if (spec.meta && !event.metaKey) return false;
|
|
21
|
+
if (spec.ctrl && !event.ctrlKey) return false;
|
|
22
|
+
return event.shiftKey === spec.shift && event.altKey === spec.alt;
|
|
23
|
+
}
|
|
24
|
+
function shortcutHint(spec) {
|
|
25
|
+
return [
|
|
26
|
+
spec.meta || spec.mod && isApplePlatform() ? "\u2318" : "",
|
|
27
|
+
spec.ctrl || spec.mod && !isApplePlatform() ? "Ctrl+" : "",
|
|
28
|
+
spec.alt ? "\u2325" : "",
|
|
29
|
+
spec.shift ? "\u21E7" : "",
|
|
30
|
+
spec.key.length === 1 ? spec.key.toUpperCase() : spec.key
|
|
31
|
+
].join("");
|
|
32
|
+
}
|
|
33
|
+
export {
|
|
34
|
+
parseShortcut,
|
|
35
|
+
shortcutHint,
|
|
36
|
+
shortcutMatches
|
|
37
|
+
};
|
|
@@ -468,6 +468,13 @@ export type SearchInputProp = FieldA11yProps & {
|
|
|
468
468
|
status?: ControlStatusProp;
|
|
469
469
|
/** Chrome level — antd `variant`. Default `outlined`. */
|
|
470
470
|
variant?: ControlVariantProp;
|
|
471
|
+
/**
|
|
472
|
+
* A global shortcut that FOCUSES the field (gh#1250). `false` (default) binds none; `true` is
|
|
473
|
+
* ⌘K on Apple platforms and Ctrl+K elsewhere; a combo string (`"mod+/"`, `"mod+shift+f"`) binds
|
|
474
|
+
* that, read exactly as `CommandPalette.shortcut`. Shows a trailing key-cap hint while the field
|
|
475
|
+
* is empty. Never fires during IME composition, nor while `disabled`.
|
|
476
|
+
*/
|
|
477
|
+
shortcut?: boolean | string;
|
|
471
478
|
};
|
|
472
479
|
/**
|
|
473
480
|
* @see Checkbox
|
|
@@ -510,6 +517,16 @@ export type CheckboxGroupProp = FieldA11yProps & {
|
|
|
510
517
|
id?: IdProp;
|
|
511
518
|
className?: ClassNameProp;
|
|
512
519
|
children?: React.ReactNode;
|
|
520
|
+
/**
|
|
521
|
+
* A leading "select all" box (gh#1245), `options` form only. Its state is derived from the group
|
|
522
|
+
* value — checked when every enabled option is selected, mixed on a partial selection, clear
|
|
523
|
+
* otherwise — and it is followed by a muted "{n} of {m} selected" count and a separator. One
|
|
524
|
+
* click is one `onValueChange`. Disabled options are outside it in both directions: neither
|
|
525
|
+
* counted nor added nor removed. `{ label }` replaces the default "Select all" text.
|
|
526
|
+
*/
|
|
527
|
+
selectAll?: boolean | {
|
|
528
|
+
label?: React.ReactNode;
|
|
529
|
+
};
|
|
513
530
|
};
|
|
514
531
|
/** @see Radio.Group */
|
|
515
532
|
export type RadioGroupProp = FieldA11yProps & {
|
|
@@ -1014,6 +1031,15 @@ export type DatePickerProp = DatePickerBaseProp & ({
|
|
|
1014
1031
|
showTime?: false;
|
|
1015
1032
|
/** Which endpoints may stay empty (antd `allowEmpty`), as `[from, to]`. */
|
|
1016
1033
|
allowEmpty?: [boolean, boolean];
|
|
1034
|
+
/**
|
|
1035
|
+
* A polite live summary under the day grid: the start date while only the start is
|
|
1036
|
+
* held, then `Intl.DateTimeFormat#formatRange` of both edges and the INCLUSIVE day count,
|
|
1037
|
+
* plural-aware (en "7 days", ja 「7日間」). Default `true`. Day grid only — the
|
|
1038
|
+
* month / quarter / year period grids have no day count to report and ignore it. The
|
|
1039
|
+
* `to` edge's "Select end date" prompt while only the start is held is independent of
|
|
1040
|
+
* this flag.
|
|
1041
|
+
*/
|
|
1042
|
+
showSummary?: boolean;
|
|
1017
1043
|
presets?: {
|
|
1018
1044
|
label: React.ReactNode;
|
|
1019
1045
|
value: DateRange | (() => DateRange);
|
|
@@ -1623,6 +1649,14 @@ export type SearchSelectMultipleProp = {
|
|
|
1623
1649
|
* a token only counts when it matches a row; in `mode="tags"` it is accepted as it stands.
|
|
1624
1650
|
*/
|
|
1625
1651
|
tokenSeparators?: string[];
|
|
1652
|
+
/**
|
|
1653
|
+
* Hold the panel's picks as a DRAFT until OK commits them (antd's `needConfirm`, the same word
|
|
1654
|
+
* `TimePicker` / `DatePicker` use). Row toggles move a pending set; the footer's OK fires ONE
|
|
1655
|
+
* `onValueChange` with the whole set and closes; its Clear empties the pending set; Escape or an
|
|
1656
|
+
* outside click discards it, so the trigger keeps the committed values. `onSelect` /
|
|
1657
|
+
* `onDeselect` do not fire for draft toggles. Default `false` (commit on every toggle).
|
|
1658
|
+
*/
|
|
1659
|
+
needConfirm?: boolean;
|
|
1626
1660
|
} & SelectTagsCreateProp;
|
|
1627
1661
|
/**
|
|
1628
1662
|
* antd `labelInValue`, single. The value carries its own label, so a screen that never sees the
|
|
@@ -1650,6 +1684,8 @@ export type SelectLabelInValueMultipleProp = {
|
|
|
1650
1684
|
maxTagPlaceholder?: MaxTagPlaceholderProp;
|
|
1651
1685
|
maxTagTextLength?: number;
|
|
1652
1686
|
tokenSeparators?: string[];
|
|
1687
|
+
/** @see SearchSelectMultipleProp.needConfirm */
|
|
1688
|
+
needConfirm?: boolean;
|
|
1653
1689
|
tagRender?: (props: {
|
|
1654
1690
|
value: string;
|
|
1655
1691
|
label: React.ReactNode;
|
package/dist/styles/control.css
CHANGED
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
|
|
70
70
|
.ui-toggle[data-state="on"] {
|
|
71
71
|
background: var(--toggle-on-background, hsl(var(--primary)));
|
|
72
|
-
color: hsl(var(--primary-foreground));
|
|
72
|
+
color: var(--toggle-on-color, hsl(var(--primary-foreground)));
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
.ui-toggle:disabled,
|
|
@@ -527,6 +527,17 @@
|
|
|
527
527
|
border: var(--checkbox-border-width, var(--stroke-hairline)) solid hsl(var(--primary));
|
|
528
528
|
color: hsl(var(--text-brand, var(--primary)));
|
|
529
529
|
background: transparent;
|
|
530
|
+
|
|
531
|
+
transition-property: background-color, border-color, color;
|
|
532
|
+
transition-duration: var(--duration-fast);
|
|
533
|
+
transition-timing-function: var(--ease-standard);
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
@media (prefers-reduced-motion: reduce) {
|
|
537
|
+
.ui-checkbox,
|
|
538
|
+
.ui-radio {
|
|
539
|
+
transition: none;
|
|
540
|
+
}
|
|
530
541
|
}
|
|
531
542
|
|
|
532
543
|
.ui-checkbox {
|
|
@@ -1137,6 +1148,10 @@
|
|
|
1137
1148
|
font-size: var(--font-size-xs, calc(var(--font-size-base) / var(--font-size-ratio)));
|
|
1138
1149
|
}
|
|
1139
1150
|
|
|
1151
|
+
.ui-command-palette-recent-clear:not([aria-selected="true"]) {
|
|
1152
|
+
color: hsl(var(--muted-foreground));
|
|
1153
|
+
}
|
|
1154
|
+
|
|
1140
1155
|
.ui-command-palette-state {
|
|
1141
1156
|
padding-block: var(--space-6);
|
|
1142
1157
|
padding-inline: var(--space-4);
|
|
@@ -1199,6 +1214,14 @@
|
|
|
1199
1214
|
transform: translateY(-50%);
|
|
1200
1215
|
}
|
|
1201
1216
|
|
|
1217
|
+
.ui-search-input-shortcut {
|
|
1218
|
+
position: absolute;
|
|
1219
|
+
inset-inline-end: var(--search-input-edge-inset);
|
|
1220
|
+
top: 50%;
|
|
1221
|
+
pointer-events: none;
|
|
1222
|
+
transform: translateY(-50%);
|
|
1223
|
+
}
|
|
1224
|
+
|
|
1202
1225
|
.ui-search-input-clear:hover {
|
|
1203
1226
|
color: hsl(var(--foreground));
|
|
1204
1227
|
}
|
|
@@ -1947,11 +1970,17 @@
|
|
|
1947
1970
|
display: flex;
|
|
1948
1971
|
min-inline-size: 0;
|
|
1949
1972
|
flex: 1 1 0%;
|
|
1973
|
+
flex-wrap: wrap;
|
|
1950
1974
|
align-items: center;
|
|
1951
1975
|
gap: var(--search-select-option-space-gap);
|
|
1952
1976
|
overflow: hidden;
|
|
1953
1977
|
}
|
|
1954
1978
|
|
|
1979
|
+
.ui-control-trigger[data-mode="multiple"]:has(.ui-search-select-values) {
|
|
1980
|
+
block-size: auto;
|
|
1981
|
+
min-block-size: var(--control-height);
|
|
1982
|
+
}
|
|
1983
|
+
|
|
1955
1984
|
.ui-search-select-value {
|
|
1956
1985
|
display: inline-flex;
|
|
1957
1986
|
max-inline-size: 100%;
|
|
@@ -2736,6 +2765,9 @@
|
|
|
2736
2765
|
justify-content: flex-start;
|
|
2737
2766
|
text-align: start;
|
|
2738
2767
|
white-space: normal;
|
|
2768
|
+
|
|
2769
|
+
padding-inline: var(--calendar-full-day-padding-inline, var(--space-2));
|
|
2770
|
+
padding-block: var(--calendar-full-day-padding-block, var(--space-1));
|
|
2739
2771
|
}
|
|
2740
2772
|
|
|
2741
2773
|
.ui-calendar-month {
|
|
@@ -3157,8 +3189,8 @@
|
|
|
3157
3189
|
}
|
|
3158
3190
|
|
|
3159
3191
|
.ui-button--secondary .ui-button-count {
|
|
3160
|
-
background: var(--button-count-secondary-background, hsl(var(--
|
|
3161
|
-
color: var(--button-count-secondary-color, hsl(var(--
|
|
3192
|
+
background: var(--button-count-secondary-background, hsl(var(--background)));
|
|
3193
|
+
color: var(--button-count-secondary-color, hsl(var(--foreground)));
|
|
3162
3194
|
}
|
|
3163
3195
|
}
|
|
3164
3196
|
|
|
@@ -905,6 +905,13 @@
|
|
|
905
905
|
padding: var(--list-row-compact-padding-y, var(--space-2))
|
|
906
906
|
var(--list-row-compact-padding-x, var(--list-row-padding-x));
|
|
907
907
|
}
|
|
908
|
+
|
|
909
|
+
[data-slot="card-content"]:not([data-flush]) > [data-slot="list-row"],
|
|
910
|
+
[data-slot="card-content"]:not([data-flush])
|
|
911
|
+
> :is(ul, ol, [role="list"])
|
|
912
|
+
> [data-slot="list-row"] {
|
|
913
|
+
padding-inline: 0;
|
|
914
|
+
}
|
|
908
915
|
[data-slot="list-row"][data-density="compact"] [data-slot="list-row-body"] {
|
|
909
916
|
min-inline-size: min(var(--list-row-compact-body-min-width, 6rem), 100%);
|
|
910
917
|
flex-basis: var(--list-row-compact-body-min-width, 6rem);
|
package/dist/styles/layers.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "32.
|
|
2
|
+
"version": "32.1.1",
|
|
3
3
|
"generatedBy": "scripts/gen-style-layers.mjs — do not edit by hand; run `pnpm gen:style-layers`",
|
|
4
4
|
"base": "base.css",
|
|
5
5
|
"fonts": "fonts.css",
|
|
@@ -105,6 +105,7 @@
|
|
|
105
105
|
"AppSettingPicker": {
|
|
106
106
|
"layers": [
|
|
107
107
|
"shell-layout.css",
|
|
108
|
+
"layout.css",
|
|
108
109
|
"control.css",
|
|
109
110
|
"dialog-layout.css",
|
|
110
111
|
"navigation-layout.css"
|
|
@@ -330,12 +331,14 @@
|
|
|
330
331
|
},
|
|
331
332
|
"Checkbox": {
|
|
332
333
|
"layers": [
|
|
334
|
+
"layout.css",
|
|
333
335
|
"control.css",
|
|
334
336
|
"form-layout.css"
|
|
335
337
|
]
|
|
336
338
|
},
|
|
337
339
|
"CheckboxGroup": {
|
|
338
340
|
"layers": [
|
|
341
|
+
"layout.css",
|
|
339
342
|
"control.css",
|
|
340
343
|
"form-layout.css"
|
|
341
344
|
]
|
|
@@ -424,6 +427,7 @@
|
|
|
424
427
|
"layers": [
|
|
425
428
|
"layout.css",
|
|
426
429
|
"control.css",
|
|
430
|
+
"text-layout.css",
|
|
427
431
|
"dialog-layout.css"
|
|
428
432
|
],
|
|
429
433
|
"vendor": [
|
|
@@ -854,6 +858,7 @@
|
|
|
854
858
|
},
|
|
855
859
|
"Select": {
|
|
856
860
|
"layers": [
|
|
861
|
+
"layout.css",
|
|
857
862
|
"control.css",
|
|
858
863
|
"dialog-layout.css",
|
|
859
864
|
"navigation-layout.css"
|
|
@@ -627,6 +627,32 @@
|
|
|
627
627
|
font-weight: var(--font-weight-medium);
|
|
628
628
|
}
|
|
629
629
|
|
|
630
|
+
.ui-dropdown-menu-item[data-description] {
|
|
631
|
+
height: auto;
|
|
632
|
+
min-height: var(--menu-item-height);
|
|
633
|
+
padding-block: var(--menu-item-description-space-block);
|
|
634
|
+
}
|
|
635
|
+
|
|
636
|
+
.ui-dropdown-menu-item-text {
|
|
637
|
+
display: flex;
|
|
638
|
+
flex: 1 1 auto;
|
|
639
|
+
flex-direction: column;
|
|
640
|
+
min-inline-size: 0;
|
|
641
|
+
overflow-wrap: anywhere;
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
.ui-dropdown-menu-item-label {
|
|
645
|
+
display: flex;
|
|
646
|
+
align-items: center;
|
|
647
|
+
gap: var(--menu-item-space-gap);
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
.ui-dropdown-menu-item-description {
|
|
651
|
+
color: hsl(var(--muted-foreground));
|
|
652
|
+
font-size: var(--menu-item-description-font-size);
|
|
653
|
+
font-weight: var(--font-weight-normal);
|
|
654
|
+
}
|
|
655
|
+
|
|
630
656
|
.ui-dropdown-menu-shortcut {
|
|
631
657
|
margin-inline-start: auto;
|
|
632
658
|
text-align: end;
|
|
@@ -235,6 +235,20 @@
|
|
|
235
235
|
align-items: center;
|
|
236
236
|
gap: var(--space-inline-sm);
|
|
237
237
|
font-size: var(--font-size-base);
|
|
238
|
+
|
|
239
|
+
transition: opacity var(--duration-fast) var(--ease-standard);
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
@starting-style {
|
|
243
|
+
.ui-data-table-bulk {
|
|
244
|
+
opacity: 0;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
@media (prefers-reduced-motion: reduce) {
|
|
249
|
+
.ui-data-table-bulk {
|
|
250
|
+
transition: none;
|
|
251
|
+
}
|
|
238
252
|
}
|
|
239
253
|
|
|
240
254
|
.ui-data-table-bulk-actions {
|
package/dist/styles/toggle.css
CHANGED
|
@@ -36,6 +36,20 @@
|
|
|
36
36
|
color: var(--toggle-pressed-count-color, hsl(var(--primary)));
|
|
37
37
|
}
|
|
38
38
|
|
|
39
|
+
.ui-toggle-quiet {
|
|
40
|
+
border: var(--stroke-hairline) solid transparent;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.ui-toggle.ui-toggle-quiet[data-state="on"] {
|
|
44
|
+
background: var(--toggle-quiet-on-background, hsl(var(--secondary)));
|
|
45
|
+
color: var(--toggle-quiet-on-color, hsl(var(--foreground)));
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.ui-toggle.ui-toggle-quiet[data-state="on"] .ui-toggle-count {
|
|
49
|
+
background: var(--toggle-quiet-on-count-background, hsl(var(--background)));
|
|
50
|
+
color: var(--toggle-quiet-on-count-color, hsl(var(--foreground)));
|
|
51
|
+
}
|
|
52
|
+
|
|
39
53
|
@media (forced-colors: active) {
|
|
40
54
|
.ui-toggle[data-state="on"] {
|
|
41
55
|
border-color: Highlight;
|