@godxjp/ui 33.22.1 → 33.24.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/DESIGN.md +1 -1
- package/README.md +4 -4
- package/agent/DESIGN.md +1 -1
- package/agent/START-HERE.md +7 -7
- package/agent/components/AgentBadge.json +43 -0
- package/agent/components/AppShell.json +6 -0
- package/agent/components/Avatar.json +7 -0
- package/agent/components/PageContainer.json +5 -0
- package/agent/components/PageErrorBoundary.json +48 -0
- package/agent/components/Toaster.json +1 -1
- package/agent/components/Toolbar.json +1 -1
- package/agent/components/Topbar.json +1 -1
- package/agent/components-index.json +10 -0
- package/agent/components.json +112 -3
- package/agent/index.json +7 -7
- package/agent/llms.txt +6 -6
- package/agent/tokens.json +84 -0
- package/dist/components/data-display/avatar.d.ts +1 -1
- package/dist/components/data-display/avatar.js +7 -1
- package/dist/components/data-display/badge.d.ts +11 -0
- package/dist/components/data-display/badge.js +20 -0
- package/dist/components/data-display/image.js +1 -1
- package/dist/components/data-display/index.d.ts +2 -2
- package/dist/components/data-display/index.js +2 -1
- package/dist/components/data-entry/record-picker.js +122 -98
- package/dist/components/data-entry/select.js +13 -3
- package/dist/components/layout/app-shell.d.ts +1 -1
- package/dist/components/layout/app-shell.js +3 -1
- package/dist/components/layout/index.d.ts +2 -0
- package/dist/components/layout/index.js +2 -0
- package/dist/components/layout/page-container.d.ts +1 -1
- package/dist/components/layout/page-container.js +6 -3
- package/dist/components/layout/page-error-boundary.d.ts +32 -0
- package/dist/components/layout/page-error-boundary.js +57 -0
- package/dist/components/layout/sidebar.d.ts +1 -1
- package/dist/components/layout/sidebar.js +100 -49
- package/dist/components/layout/topbar.js +108 -21
- package/dist/components/navigation/toolbar.js +2 -1
- package/dist/contracts/measurement.json +1 -1
- package/dist/i18n/messages/en.json +6 -0
- package/dist/i18n/messages/ja.json +6 -0
- package/dist/i18n/messages/vi.json +6 -0
- package/dist/props/components/data-display.prop.d.ts +27 -0
- package/dist/props/components/layout.prop.d.ts +45 -0
- package/dist/props/components/navigation.prop.d.ts +12 -1
- package/dist/props/registry.d.ts +50 -2
- package/dist/props/registry.js +72 -3
- package/dist/styles/alert-layout.css +4 -0
- package/dist/styles/badge-layout.css +14 -0
- package/dist/styles/data-display-layout.css +44 -0
- package/dist/styles/icon-layout.css +3 -0
- package/dist/styles/layers.json +22 -2
- package/dist/styles/layout.css +11 -0
- package/dist/styles/shell-layout.css +17 -1
- package/dist/styles/table-layout.css +1 -1
- package/dist/styles.css +1 -1
- package/dist/tokens/components/badge.css +3 -0
- package/dist/tokens/components/data-display.css +9 -0
- package/dist/tokens/components/shell.css +2 -0
- package/dist/tokens/foundation.css +8 -0
- package/docs/CONSUMER-RULES.md +1 -1
- package/package.json +3 -2
- package/scripts/consumer-rule.md +1 -1
- package/skills/godxjp-ui-navigation/SKILL.md +14 -9
- package/skills/godxjp-ui-navigation/references/principles.md +2 -2
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import type * as React from "react";
|
|
3
3
|
import type { ReactNode } from "react";
|
|
4
4
|
import type { AffixProp, AffixTargetProp, ResponsiveGridColumnsProp, SidebarLinkComponentProp } from "./layout.prop.js";
|
|
5
|
-
import type { ActionsProp, ChildrenProp, ClassNameProp, DisabledProp, ErrorProp, HasActiveFiltersProp, IdProp, LabelProp, OnClearFiltersProp, OnOpenChangeProp, OpenProp, DefaultOpenProp, PendingProp, PlaceholderProp, StickyProp, TextAlignProp } from "../vocabulary/index.js";
|
|
5
|
+
import type { ActionsProp, AllowClearProp, ChildrenProp, ClassNameProp, DisabledProp, ErrorProp, HasActiveFiltersProp, IdProp, LabelProp, OnClearFiltersProp, OnOpenChangeProp, OpenProp, DefaultOpenProp, PendingProp, PlaceholderProp, RequiredProp, StickyProp, TextAlignProp } from "../vocabulary/index.js";
|
|
6
6
|
import type { FormProp, SearchSelectOptionProp } from "./data-entry.prop.js";
|
|
7
7
|
/**
|
|
8
8
|
* Renders the canonical SearchInput as the FIRST control of the strip, with a token-owned
|
|
@@ -41,6 +41,17 @@ export type FilterBarFilterProp = {
|
|
|
41
41
|
onSelectedChange?: (selected: string) => void;
|
|
42
42
|
placeholder?: PlaceholderProp;
|
|
43
43
|
disabled?: DisabledProp;
|
|
44
|
+
/**
|
|
45
|
+
* A SCOPE filter that is never empty — the branch, the month (gh#1495). The filter renders no
|
|
46
|
+
* ✕ and its control is `aria-required`; the bar's clear-all is still the consumer's `onClear`,
|
|
47
|
+
* which should leave a required filter at its value. Implies `allowClear={false}`.
|
|
48
|
+
*/
|
|
49
|
+
required?: RequiredProp;
|
|
50
|
+
/**
|
|
51
|
+
* The per-filter ✕. Default `true`: a filter is optional by nature, "no filter" is its resting
|
|
52
|
+
* state. `false` hides it without marking the filter required (gh#1495).
|
|
53
|
+
*/
|
|
54
|
+
allowClear?: AllowClearProp;
|
|
44
55
|
};
|
|
45
56
|
/**
|
|
46
57
|
* Chips are pure consumer data — the lifecycle is: ADD by including the chip in `chips`, REMOVE
|
package/dist/props/registry.d.ts
CHANGED
|
@@ -847,6 +847,10 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
847
847
|
readonly group: "layout";
|
|
848
848
|
readonly file: "components/layout.prop.ts";
|
|
849
849
|
readonly vocabulary: readonly ["TitleProp", "SubtitleProp", "StatusProp", "ExtraProp", "FooterProp", "BreadcrumbProp", "BreadcrumbCurrentItemProp", "DensityProp", "PageContainerVariantProp", {
|
|
850
|
+
readonly field: "help";
|
|
851
|
+
readonly local: true;
|
|
852
|
+
readonly reason: "The page's ONE Help control (gh#1494), at a fixed place: the last item at the header row's inline end, after the `extra` actions. A single node, not an ActionsProp list.";
|
|
853
|
+
}, {
|
|
850
854
|
readonly field: "toolbar";
|
|
851
855
|
readonly local: true;
|
|
852
856
|
readonly reason: "FIXED chrome band between the page header and the scrolling body (filter strip, status bar, channel workflow rail). Distinct from ExtraProp (header actions, inside the title row) and FooterProp (action bar after the body): it is the only slot that stays OUT of the `fill` scroll viewport while sharing the header/body gutters and measure, so a consumer never hand-lays `position: sticky` page chrome.";
|
|
@@ -1133,7 +1137,11 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
1133
1137
|
readonly AppShellProp: {
|
|
1134
1138
|
readonly group: "layout";
|
|
1135
1139
|
readonly file: "components/layout.prop.ts";
|
|
1136
|
-
readonly vocabulary: readonly ["ChildrenProp",
|
|
1140
|
+
readonly vocabulary: readonly ["ChildrenProp", {
|
|
1141
|
+
readonly field: "errorBoundary";
|
|
1142
|
+
readonly local: true;
|
|
1143
|
+
readonly reason: "Page-level error boundary around `children` (gh#1494): `true` (default) keeps the shell when a page throws, an object configures PageErrorBoundary, `false` opts out.";
|
|
1144
|
+
}, "BreakpointProp", {
|
|
1137
1145
|
readonly field: "logoCompact";
|
|
1138
1146
|
readonly local: true;
|
|
1139
1147
|
readonly reason: "The brand node a narrow bar gets instead of `logo` — the consumer's own mark/viewBox, which a stylesheet cannot produce (gh#728).";
|
|
@@ -2452,6 +2460,32 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
2452
2460
|
readonly reason: "Slot for the host's cover controls (change / reposition / remove), laid out off the focal area — a ReactNode slot, not the ActionsProp item list.";
|
|
2453
2461
|
}];
|
|
2454
2462
|
};
|
|
2463
|
+
readonly PageErrorBoundaryFallbackProp: {
|
|
2464
|
+
readonly group: "layout";
|
|
2465
|
+
readonly file: "components/layout.prop.ts";
|
|
2466
|
+
readonly vocabulary: readonly [{
|
|
2467
|
+
readonly field: "fallback";
|
|
2468
|
+
readonly local: true;
|
|
2469
|
+
readonly reason: "Render-prop form of PageErrorBoundary `fallback`: `({ error, reset }) => node` (gh#1494).";
|
|
2470
|
+
}];
|
|
2471
|
+
};
|
|
2472
|
+
readonly PageErrorBoundaryProp: {
|
|
2473
|
+
readonly group: "layout";
|
|
2474
|
+
readonly file: "components/layout.prop.ts";
|
|
2475
|
+
readonly vocabulary: readonly ["ChildrenProp", {
|
|
2476
|
+
readonly field: "fallback";
|
|
2477
|
+
readonly local: true;
|
|
2478
|
+
readonly reason: "What replaces the page that threw — a node, or `({ error, reset }) => node`. Default: an application ErrorSurface with the kit's localized copy (gh#1494).";
|
|
2479
|
+
}, {
|
|
2480
|
+
readonly field: "resetKey";
|
|
2481
|
+
readonly local: true;
|
|
2482
|
+
readonly reason: "React error-boundary reset key (react-error-boundary's resetKeys, one value): a change draws the page again. The URL change already resets.";
|
|
2483
|
+
}, {
|
|
2484
|
+
readonly field: "onError";
|
|
2485
|
+
readonly local: true;
|
|
2486
|
+
readonly reason: "componentDidCatch reporter `(error, info)` for an error tracker.";
|
|
2487
|
+
}];
|
|
2488
|
+
};
|
|
2455
2489
|
readonly ErrorSurfaceProp: {
|
|
2456
2490
|
readonly group: "layout";
|
|
2457
2491
|
readonly file: "components/layout.prop.ts";
|
|
@@ -3339,6 +3373,20 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
3339
3373
|
readonly file: "components/data-display.prop.ts";
|
|
3340
3374
|
readonly vocabulary: readonly [];
|
|
3341
3375
|
};
|
|
3376
|
+
readonly AvatarKindProp: {
|
|
3377
|
+
readonly group: "data-display";
|
|
3378
|
+
readonly file: "components/data-display.prop.ts";
|
|
3379
|
+
readonly vocabulary: readonly [];
|
|
3380
|
+
};
|
|
3381
|
+
readonly AgentBadgeProp: {
|
|
3382
|
+
readonly group: "data-display";
|
|
3383
|
+
readonly file: "components/data-display.prop.ts";
|
|
3384
|
+
readonly vocabulary: readonly [{
|
|
3385
|
+
readonly field: "as";
|
|
3386
|
+
readonly local: true;
|
|
3387
|
+
readonly reason: "Closed tag seam (div | span), the same one Badge carries, so the label stays valid HTML beside a name inside a link or a <button>.";
|
|
3388
|
+
}, "ChildrenProp", "ClassNameProp"];
|
|
3389
|
+
};
|
|
3342
3390
|
readonly AvatarImageFitProp: {
|
|
3343
3391
|
readonly group: "data-display";
|
|
3344
3392
|
readonly file: "components/data-display.prop.ts";
|
|
@@ -4003,7 +4051,7 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
4003
4051
|
readonly FilterBarFilterProp: {
|
|
4004
4052
|
readonly group: "navigation";
|
|
4005
4053
|
readonly file: "components/navigation.prop.ts";
|
|
4006
|
-
readonly vocabulary: readonly ["LabelProp", "PlaceholderProp", "DisabledProp"];
|
|
4054
|
+
readonly vocabulary: readonly ["LabelProp", "PlaceholderProp", "DisabledProp", "RequiredProp", "AllowClearProp"];
|
|
4007
4055
|
};
|
|
4008
4056
|
readonly FilterBarChipProp: {
|
|
4009
4057
|
readonly group: "navigation";
|
package/dist/props/registry.js
CHANGED
|
@@ -861,6 +861,11 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
861
861
|
"BreadcrumbCurrentItemProp",
|
|
862
862
|
"DensityProp",
|
|
863
863
|
"PageContainerVariantProp",
|
|
864
|
+
{
|
|
865
|
+
field: "help",
|
|
866
|
+
local: true,
|
|
867
|
+
reason: "The page's ONE Help control (gh#1494), at a fixed place: the last item at the header row's inline end, after the `extra` actions. A single node, not an ActionsProp list."
|
|
868
|
+
},
|
|
864
869
|
{
|
|
865
870
|
field: "toolbar",
|
|
866
871
|
local: true,
|
|
@@ -1152,6 +1157,11 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
1152
1157
|
file: "components/layout.prop.ts",
|
|
1153
1158
|
vocabulary: [
|
|
1154
1159
|
"ChildrenProp",
|
|
1160
|
+
{
|
|
1161
|
+
field: "errorBoundary",
|
|
1162
|
+
local: true,
|
|
1163
|
+
reason: "Page-level error boundary around `children` (gh#1494): `true` (default) keeps the shell when a page throws, an object configures PageErrorBoundary, `false` opts out."
|
|
1164
|
+
},
|
|
1155
1165
|
"BreakpointProp",
|
|
1156
1166
|
{
|
|
1157
1167
|
field: "logoCompact",
|
|
@@ -1590,9 +1600,17 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
1590
1600
|
{ field: "variant", local: true, reason: "inset (site search) or inline (collection row)." },
|
|
1591
1601
|
{ field: "count", local: true, reason: "Live count at the end of the inline row." },
|
|
1592
1602
|
{ field: "debounce", local: true, reason: "Settle delay in ms, as SearchInput.debounce." },
|
|
1593
|
-
{
|
|
1603
|
+
{
|
|
1604
|
+
field: "suggestions",
|
|
1605
|
+
local: true,
|
|
1606
|
+
reason: "Grouped suggestion rows under the box (gh#1447)."
|
|
1607
|
+
},
|
|
1594
1608
|
{ field: "suggestionsFooter", local: true, reason: "Last popup row linking to all results." },
|
|
1595
|
-
{
|
|
1609
|
+
{
|
|
1610
|
+
field: "suggestionsLabel",
|
|
1611
|
+
local: true,
|
|
1612
|
+
reason: "Accessible name of the suggestions listbox."
|
|
1613
|
+
},
|
|
1596
1614
|
{
|
|
1597
1615
|
field: "onQueryChange",
|
|
1598
1616
|
local: true,
|
|
@@ -2182,6 +2200,39 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
2182
2200
|
}
|
|
2183
2201
|
]
|
|
2184
2202
|
},
|
|
2203
|
+
PageErrorBoundaryFallbackProp: {
|
|
2204
|
+
group: "layout",
|
|
2205
|
+
file: "components/layout.prop.ts",
|
|
2206
|
+
vocabulary: [
|
|
2207
|
+
{
|
|
2208
|
+
field: "fallback",
|
|
2209
|
+
local: true,
|
|
2210
|
+
reason: "Render-prop form of PageErrorBoundary `fallback`: `({ error, reset }) => node` (gh#1494)."
|
|
2211
|
+
}
|
|
2212
|
+
]
|
|
2213
|
+
},
|
|
2214
|
+
PageErrorBoundaryProp: {
|
|
2215
|
+
group: "layout",
|
|
2216
|
+
file: "components/layout.prop.ts",
|
|
2217
|
+
vocabulary: [
|
|
2218
|
+
"ChildrenProp",
|
|
2219
|
+
{
|
|
2220
|
+
field: "fallback",
|
|
2221
|
+
local: true,
|
|
2222
|
+
reason: "What replaces the page that threw \u2014 a node, or `({ error, reset }) => node`. Default: an application ErrorSurface with the kit's localized copy (gh#1494)."
|
|
2223
|
+
},
|
|
2224
|
+
{
|
|
2225
|
+
field: "resetKey",
|
|
2226
|
+
local: true,
|
|
2227
|
+
reason: "React error-boundary reset key (react-error-boundary's resetKeys, one value): a change draws the page again. The URL change already resets."
|
|
2228
|
+
},
|
|
2229
|
+
{
|
|
2230
|
+
field: "onError",
|
|
2231
|
+
local: true,
|
|
2232
|
+
reason: "componentDidCatch reporter `(error, info)` for an error tracker."
|
|
2233
|
+
}
|
|
2234
|
+
]
|
|
2235
|
+
},
|
|
2185
2236
|
ErrorSurfaceProp: {
|
|
2186
2237
|
group: "layout",
|
|
2187
2238
|
file: "components/layout.prop.ts",
|
|
@@ -3453,6 +3504,24 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
3453
3504
|
file: "components/data-display.prop.ts",
|
|
3454
3505
|
vocabulary: []
|
|
3455
3506
|
},
|
|
3507
|
+
AvatarKindProp: {
|
|
3508
|
+
group: "data-display",
|
|
3509
|
+
file: "components/data-display.prop.ts",
|
|
3510
|
+
vocabulary: []
|
|
3511
|
+
},
|
|
3512
|
+
AgentBadgeProp: {
|
|
3513
|
+
group: "data-display",
|
|
3514
|
+
file: "components/data-display.prop.ts",
|
|
3515
|
+
vocabulary: [
|
|
3516
|
+
{
|
|
3517
|
+
field: "as",
|
|
3518
|
+
local: true,
|
|
3519
|
+
reason: "Closed tag seam (div | span), the same one Badge carries, so the label stays valid HTML beside a name inside a link or a <button>."
|
|
3520
|
+
},
|
|
3521
|
+
"ChildrenProp",
|
|
3522
|
+
"ClassNameProp"
|
|
3523
|
+
]
|
|
3524
|
+
},
|
|
3456
3525
|
AvatarImageFitProp: {
|
|
3457
3526
|
group: "data-display",
|
|
3458
3527
|
file: "components/data-display.prop.ts",
|
|
@@ -4180,7 +4249,7 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
4180
4249
|
FilterBarFilterProp: {
|
|
4181
4250
|
group: "navigation",
|
|
4182
4251
|
file: "components/navigation.prop.ts",
|
|
4183
|
-
vocabulary: ["LabelProp", "PlaceholderProp", "DisabledProp"]
|
|
4252
|
+
vocabulary: ["LabelProp", "PlaceholderProp", "DisabledProp", "RequiredProp", "AllowClearProp"]
|
|
4184
4253
|
},
|
|
4185
4254
|
FilterBarChipProp: {
|
|
4186
4255
|
group: "navigation",
|
|
@@ -243,6 +243,10 @@
|
|
|
243
243
|
visibility: hidden;
|
|
244
244
|
}
|
|
245
245
|
|
|
246
|
+
:root:has(.ui-overlay-modal) [data-sonner-toaster] {
|
|
247
|
+
pointer-events: none;
|
|
248
|
+
}
|
|
249
|
+
|
|
246
250
|
.ui-skeleton-block {
|
|
247
251
|
border-radius: var(--skeleton-radius, var(--radius));
|
|
248
252
|
background: var(--skeleton-background, hsl(var(--muted)));
|
|
@@ -94,4 +94,18 @@
|
|
|
94
94
|
width: var(--badge-remove-icon-size);
|
|
95
95
|
height: var(--badge-remove-icon-size);
|
|
96
96
|
}
|
|
97
|
+
|
|
98
|
+
[data-slot="badge"][data-agent] {
|
|
99
|
+
border-color: hsl(var(--badge-agent-border, var(--agent)));
|
|
100
|
+
background-color: transparent;
|
|
101
|
+
color: hsl(var(--badge-agent-foreground, var(--text-agent)));
|
|
102
|
+
white-space: nowrap;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
@media (forced-colors: active) {
|
|
106
|
+
[data-slot="badge"][data-agent] {
|
|
107
|
+
border-color: CanvasText;
|
|
108
|
+
color: CanvasText;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
97
111
|
}
|
|
@@ -159,6 +159,16 @@
|
|
|
159
159
|
border-radius: inherit;
|
|
160
160
|
}
|
|
161
161
|
|
|
162
|
+
.ui-avatar[data-kind="agent"] {
|
|
163
|
+
overflow: visible;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
.ui-avatar[data-kind="agent"] > .ui-avatar-image,
|
|
167
|
+
.ui-avatar[data-kind="agent"] > .ui-avatar-fallback {
|
|
168
|
+
overflow: hidden;
|
|
169
|
+
border-radius: inherit;
|
|
170
|
+
}
|
|
171
|
+
|
|
162
172
|
[data-slot="avatar-presence"] {
|
|
163
173
|
position: absolute;
|
|
164
174
|
inset-block-end: var(--avatar-presence-inset);
|
|
@@ -234,6 +244,40 @@
|
|
|
234
244
|
}
|
|
235
245
|
}
|
|
236
246
|
|
|
247
|
+
[data-slot="avatar-agent"] {
|
|
248
|
+
position: absolute;
|
|
249
|
+
inset-block-start: var(--avatar-agent-inset, calc(var(--space-1) * -1));
|
|
250
|
+
inset-inline-end: var(--avatar-agent-inset, calc(var(--space-1) * -1));
|
|
251
|
+
display: inline-flex;
|
|
252
|
+
align-items: center;
|
|
253
|
+
justify-content: center;
|
|
254
|
+
padding-inline: var(--avatar-agent-padding-inline, var(--space-1));
|
|
255
|
+
border-radius: var(--radius-pill);
|
|
256
|
+
font-size: var(
|
|
257
|
+
--avatar-agent-font-size,
|
|
258
|
+
var(
|
|
259
|
+
--font-size-2xs,
|
|
260
|
+
calc(var(--font-size-base) / var(--font-size-ratio) / var(--font-size-ratio))
|
|
261
|
+
)
|
|
262
|
+
);
|
|
263
|
+
font-weight: var(--avatar-agent-font-weight, var(--font-weight-bold));
|
|
264
|
+
line-height: var(--line-height-tight);
|
|
265
|
+
white-space: nowrap;
|
|
266
|
+
color: hsl(var(--avatar-agent-foreground, var(--agent-foreground)));
|
|
267
|
+
background-color: hsl(var(--avatar-agent-background, var(--agent)));
|
|
268
|
+
box-shadow: 0 0 0 var(--avatar-agent-ring-width, var(--stroke-md))
|
|
269
|
+
hsl(var(--avatar-agent-ring-color, var(--background)));
|
|
270
|
+
pointer-events: none;
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
@media (forced-colors: active) {
|
|
274
|
+
[data-slot="avatar-agent"] {
|
|
275
|
+
color: Canvas;
|
|
276
|
+
background-color: CanvasText;
|
|
277
|
+
outline: var(--avatar-agent-ring-width, var(--stroke-md)) solid Canvas;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
|
|
237
281
|
.ui-progress {
|
|
238
282
|
display: flex;
|
|
239
283
|
flex-direction: column;
|
package/dist/styles/layers.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "33.
|
|
2
|
+
"version": "33.24.0",
|
|
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",
|
|
@@ -64,6 +64,12 @@
|
|
|
64
64
|
"layout.css"
|
|
65
65
|
]
|
|
66
66
|
},
|
|
67
|
+
"AgentBadge": {
|
|
68
|
+
"layers": [
|
|
69
|
+
"dialog-layout.css",
|
|
70
|
+
"badge-layout.css"
|
|
71
|
+
]
|
|
72
|
+
},
|
|
67
73
|
"Alert": {
|
|
68
74
|
"layers": [
|
|
69
75
|
"layout.css",
|
|
@@ -115,7 +121,11 @@
|
|
|
115
121
|
"AppShell": {
|
|
116
122
|
"layers": [
|
|
117
123
|
"shell-layout.css",
|
|
118
|
-
"
|
|
124
|
+
"layout.css",
|
|
125
|
+
"control.css",
|
|
126
|
+
"text-layout.css",
|
|
127
|
+
"dialog-layout.css",
|
|
128
|
+
"data-display-layout.css"
|
|
119
129
|
]
|
|
120
130
|
},
|
|
121
131
|
"AreaChart": {
|
|
@@ -970,6 +980,16 @@
|
|
|
970
980
|
"layout.css"
|
|
971
981
|
]
|
|
972
982
|
},
|
|
983
|
+
"PageErrorBoundary": {
|
|
984
|
+
"layers": [
|
|
985
|
+
"shell-layout.css",
|
|
986
|
+
"layout.css",
|
|
987
|
+
"control.css",
|
|
988
|
+
"text-layout.css",
|
|
989
|
+
"dialog-layout.css",
|
|
990
|
+
"data-display-layout.css"
|
|
991
|
+
]
|
|
992
|
+
},
|
|
973
993
|
"Pagination": {
|
|
974
994
|
"layers": [
|
|
975
995
|
"layout.css",
|
package/dist/styles/layout.css
CHANGED
|
@@ -907,6 +907,12 @@
|
|
|
907
907
|
max-inline-size: 100%;
|
|
908
908
|
}
|
|
909
909
|
|
|
910
|
+
.ui-page-header-help {
|
|
911
|
+
display: flex;
|
|
912
|
+
flex: none;
|
|
913
|
+
margin-inline-start: auto;
|
|
914
|
+
}
|
|
915
|
+
|
|
910
916
|
.ui-page-header-title-row {
|
|
911
917
|
display: flex;
|
|
912
918
|
flex-wrap: wrap;
|
|
@@ -1124,6 +1130,7 @@
|
|
|
1124
1130
|
}
|
|
1125
1131
|
|
|
1126
1132
|
.ui-page-subtitle {
|
|
1133
|
+
overflow-wrap: anywhere;
|
|
1127
1134
|
font-size: var(--page-subtitle-font-size);
|
|
1128
1135
|
color: hsl(var(--muted-foreground));
|
|
1129
1136
|
margin-top: var(--space-1);
|
|
@@ -1211,6 +1218,8 @@
|
|
|
1211
1218
|
}
|
|
1212
1219
|
|
|
1213
1220
|
.ui-breadcrumb-item {
|
|
1221
|
+
min-inline-size: 0;
|
|
1222
|
+
overflow-wrap: anywhere;
|
|
1214
1223
|
display: inline-flex;
|
|
1215
1224
|
align-items: center;
|
|
1216
1225
|
gap: var(--space-inline-xs);
|
|
@@ -2780,6 +2789,7 @@
|
|
|
2780
2789
|
}
|
|
2781
2790
|
|
|
2782
2791
|
.ui-editorial-page-header-title {
|
|
2792
|
+
overflow-wrap: anywhere;
|
|
2783
2793
|
margin: var(--editorial-page-header-title-space-block-start) 0
|
|
2784
2794
|
var(--editorial-page-header-title-space-block-end);
|
|
2785
2795
|
font-family: var(--font-family-editorial, var(--font-family-display));
|
|
@@ -2828,6 +2838,7 @@
|
|
|
2828
2838
|
}
|
|
2829
2839
|
|
|
2830
2840
|
.ui-editorial-article-title {
|
|
2841
|
+
overflow-wrap: anywhere;
|
|
2831
2842
|
margin: var(--editorial-article-title-space-block) 0;
|
|
2832
2843
|
font-family: var(--font-family-editorial, var(--font-family-display));
|
|
2833
2844
|
font-size: var(--editorial-article-title-font-size);
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
width: 100%;
|
|
7
7
|
max-width: 100vw;
|
|
8
8
|
min-width: 0;
|
|
9
|
+
|
|
10
|
+
overflow-x: clip;
|
|
9
11
|
grid-template-areas:
|
|
10
12
|
"sidebar topbar"
|
|
11
13
|
"sidebar main"
|
|
@@ -784,7 +786,7 @@
|
|
|
784
786
|
flex: 1;
|
|
785
787
|
align-items: center;
|
|
786
788
|
align-self: stretch;
|
|
787
|
-
gap: var(--
|
|
789
|
+
gap: var(--app-shell-rail-gap);
|
|
788
790
|
}
|
|
789
791
|
|
|
790
792
|
.app-topbar-rail:has(> .app-topbar-right) {
|
|
@@ -829,6 +831,10 @@
|
|
|
829
831
|
gap: var(--space-3);
|
|
830
832
|
}
|
|
831
833
|
|
|
834
|
+
.app-topbar-custom:has(> .ui-topbar[data-overflow="menu"]) {
|
|
835
|
+
min-inline-size: var(--topbar-item-min-width);
|
|
836
|
+
}
|
|
837
|
+
|
|
832
838
|
.app-topbar-left,
|
|
833
839
|
.app-topbar-right {
|
|
834
840
|
display: flex;
|
|
@@ -1858,6 +1864,10 @@
|
|
|
1858
1864
|
border-inline-start: var(--stroke-hairline) solid hsl(var(--border));
|
|
1859
1865
|
}
|
|
1860
1866
|
|
|
1867
|
+
.sb-nav-sub .sb-nav-sub {
|
|
1868
|
+
margin-inline-start: calc(var(--sidebar-nav-item-padding-x) + 2px);
|
|
1869
|
+
}
|
|
1870
|
+
|
|
1861
1871
|
.sb-nav-item--sub {
|
|
1862
1872
|
height: 1.75rem;
|
|
1863
1873
|
font-size: var(--sidebar-nav-sub-font-size);
|
|
@@ -1944,6 +1954,12 @@
|
|
|
1944
1954
|
white-space: nowrap;
|
|
1945
1955
|
}
|
|
1946
1956
|
|
|
1957
|
+
.sb-flyout-group {
|
|
1958
|
+
display: flex;
|
|
1959
|
+
flex-direction: column;
|
|
1960
|
+
gap: var(--sidebar-nav-gap);
|
|
1961
|
+
}
|
|
1962
|
+
|
|
1947
1963
|
.sb-user {
|
|
1948
1964
|
display: flex;
|
|
1949
1965
|
width: 100%;
|