@godxjp/ui 27.8.0 → 27.10.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/data-display/range-timeline.d.ts +19 -0
- package/dist/components/data-display/range-timeline.js +2 -0
- package/dist/components/data-display/tree.js +2 -0
- package/dist/components/data-entry/upload.d.ts +1 -1
- package/dist/components/data-entry/upload.js +19 -16
- package/dist/components/general/button.d.ts +1 -0
- package/dist/components/general/button.js +10 -2
- package/dist/components/layout/app-shell.d.ts +1 -1
- package/dist/components/layout/app-shell.js +8 -2
- package/dist/components/layout/page-container.d.ts +1 -1
- package/dist/components/layout/page-container.js +12 -2
- package/dist/components/layout/topbar.d.ts +1 -1
- package/dist/components/layout/topbar.js +2 -0
- package/dist/components/ui/toggle-group.d.ts +4 -0
- package/dist/components/ui/toggle-group.js +10 -2
- package/dist/components/ui/toggle.d.ts +4 -2
- package/dist/components/ui/toggle.js +22 -3
- package/dist/contracts/measurement.json +1 -1
- package/dist/props/components/data-display.prop.d.ts +11 -0
- package/dist/props/components/data-entry.prop.d.ts +22 -3
- package/dist/props/components/general.prop.d.ts +12 -0
- package/dist/props/components/index.d.ts +1 -1
- package/dist/props/components/layout.prop.d.ts +60 -1
- package/dist/props/registry.d.ts +27 -6
- package/dist/props/registry.js +42 -3
- package/dist/styles/control.css +17 -7
- package/dist/styles/data-display-layout.css +25 -7
- package/dist/styles/data-entry-layout.css +13 -0
- package/dist/styles/layout.css +8 -0
- package/dist/styles/shell-layout.css +43 -1
- package/dist/styles/toggle.css +5 -0
- package/dist/tokens/components/control.css +5 -2
- package/dist/tokens/components/data-display.css +10 -1
- package/dist/tokens/components/shell.css +3 -0
- package/dist/tokens/components/toggle.css +7 -0
- package/dist/tokens/components/tree.css +2 -0
- package/docs/DESIGN-AUTHORITY.md +20 -0
- package/docs/FRAME-COVERAGE-REPORT.md +1 -1
- package/docs/data-display/timeline.tsx +77 -1
- package/docs/data-display/tree.tsx +94 -0
- package/docs/data-entry/calendar.tsx +3 -2
- package/docs/data-entry/toggle-count.tsx +51 -0
- package/docs/data-entry/toggle-group.tsx +40 -2
- package/docs/data-entry/toggle.tsx +54 -2
- package/docs/data-entry/upload.tsx +44 -0
- package/docs/general/button/index.tsx +18 -6
- package/docs/general/icon.tsx +3 -1
- package/docs/layout/app-shell-narrow-bar.tsx +205 -0
- package/docs/layout/app-shell.tsx +10 -0
- package/docs/layout/page-container.tsx +67 -1
- package/docs/layout/topbar.tsx +11 -1
- package/package.json +2 -2
- package/scripts/cli.mjs +3 -0
package/dist/props/registry.d.ts
CHANGED
|
@@ -711,6 +711,11 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
711
711
|
readonly file: "components/layout.prop.ts";
|
|
712
712
|
readonly vocabulary: readonly [];
|
|
713
713
|
};
|
|
714
|
+
readonly PageContainerExtraProp: {
|
|
715
|
+
readonly group: "layout";
|
|
716
|
+
readonly file: "components/layout.prop.ts";
|
|
717
|
+
readonly vocabulary: readonly ["ExtraProp"];
|
|
718
|
+
};
|
|
714
719
|
readonly PageContainerMeasureProp: {
|
|
715
720
|
readonly group: "layout";
|
|
716
721
|
readonly file: "components/layout.prop.ts";
|
|
@@ -883,7 +888,15 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
883
888
|
readonly AppShellProp: {
|
|
884
889
|
readonly group: "layout";
|
|
885
890
|
readonly file: "components/layout.prop.ts";
|
|
886
|
-
readonly vocabulary: readonly ["ChildrenProp"
|
|
891
|
+
readonly vocabulary: readonly ["ChildrenProp", "BreakpointProp", {
|
|
892
|
+
readonly field: "logoCompact";
|
|
893
|
+
readonly local: true;
|
|
894
|
+
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).";
|
|
895
|
+
}, {
|
|
896
|
+
readonly field: "logoCompactBelow";
|
|
897
|
+
readonly local: true;
|
|
898
|
+
readonly reason: "Flex `hideBelow` scoped to the brand cell — the step at which `logoCompact` takes over (gh#728).";
|
|
899
|
+
}];
|
|
887
900
|
};
|
|
888
901
|
readonly AuthShellProp: {
|
|
889
902
|
readonly group: "layout";
|
|
@@ -1178,7 +1191,11 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
1178
1191
|
readonly TopbarProp: {
|
|
1179
1192
|
readonly group: "layout";
|
|
1180
1193
|
readonly file: "components/layout.prop.ts";
|
|
1181
|
-
readonly vocabulary: readonly ["ChildrenProp"
|
|
1194
|
+
readonly vocabulary: readonly ["ChildrenProp", {
|
|
1195
|
+
readonly field: "overflow";
|
|
1196
|
+
readonly local: true;
|
|
1197
|
+
readonly reason: "The bar's overflow contract — `scroll` (default) keeps every cell reachable, `clip` is the pre-gh#728 slicing.";
|
|
1198
|
+
}];
|
|
1182
1199
|
};
|
|
1183
1200
|
readonly TopbarItemProp: {
|
|
1184
1201
|
readonly group: "layout";
|
|
@@ -2437,7 +2454,7 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
2437
2454
|
readonly ToggleProp: {
|
|
2438
2455
|
readonly group: "data-entry";
|
|
2439
2456
|
readonly file: "components/ui/toggle.tsx";
|
|
2440
|
-
readonly vocabulary: readonly ["SizeProp", "ClassNameProp", {
|
|
2457
|
+
readonly vocabulary: readonly ["SizeProp", "ShapeProp", "ClassNameProp", {
|
|
2441
2458
|
readonly field: "count";
|
|
2442
2459
|
readonly local: true;
|
|
2443
2460
|
readonly reason: "Counter-pill vocabulary shared VERBATIM with ButtonProp (count/overflowCount/showZero) so a counted filter tab and a counted pressed chip are one vocabulary — gh#312.";
|
|
@@ -2450,7 +2467,7 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
2450
2467
|
readonly ToggleGroupItemProp: {
|
|
2451
2468
|
readonly group: "data-entry";
|
|
2452
2469
|
readonly file: "components/ui/toggle-group.tsx";
|
|
2453
|
-
readonly vocabulary: readonly ["SizeProp", "ClassNameProp", {
|
|
2470
|
+
readonly vocabulary: readonly ["SizeProp", "ShapeProp", "ClassNameProp", {
|
|
2454
2471
|
readonly field: "count";
|
|
2455
2472
|
readonly local: true;
|
|
2456
2473
|
readonly reason: "Per-item counter pill — variant/size come from group context, but the number is per-item data (gh#312).";
|
|
@@ -2816,7 +2833,11 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
2816
2833
|
readonly TreeProp: {
|
|
2817
2834
|
readonly group: "data-display";
|
|
2818
2835
|
readonly file: "components/data-display.prop.ts";
|
|
2819
|
-
readonly vocabulary: readonly ["ValueProp", "DefaultValueProp", "OnValueChangeProp", "DisabledProp", "SizeProp", "ClassNameProp", "IdProp"
|
|
2836
|
+
readonly vocabulary: readonly ["ValueProp", "DefaultValueProp", "OnValueChangeProp", "DisabledProp", "SizeProp", "ClassNameProp", "IdProp", {
|
|
2837
|
+
readonly field: "divided";
|
|
2838
|
+
readonly local: true;
|
|
2839
|
+
readonly reason: "Rules between the rows — a hairline on every node's block-start but the outline's first, full row width at every depth (gh#732). Default false, because chrome defaults quiet here (#44). Not antd's spelling: antd's Tree has no such capability, and `bordered` already means a grid's frame plus column rules on Table / Calendar / RangeTimeline; see docs/DESIGN-AUTHORITY.md.";
|
|
2840
|
+
}];
|
|
2820
2841
|
};
|
|
2821
2842
|
readonly CardProp: {
|
|
2822
2843
|
readonly group: "data-display";
|
|
@@ -2943,7 +2964,7 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
2943
2964
|
readonly RangeTimelineProp: {
|
|
2944
2965
|
readonly group: "data-display";
|
|
2945
2966
|
readonly file: "components/data-display/range-timeline.tsx";
|
|
2946
|
-
readonly vocabulary: readonly ["LabelProp", {
|
|
2967
|
+
readonly vocabulary: readonly ["LabelProp", "DensityProp", {
|
|
2947
2968
|
readonly field: "columns";
|
|
2948
2969
|
readonly local: true;
|
|
2949
2970
|
readonly reason: "Labels, positive numeric unit counts and an optional muted flag (non-working period) define a consumer-supplied axis.";
|
package/dist/props/registry.js
CHANGED
|
@@ -722,6 +722,11 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
722
722
|
file: "components/layout.prop.ts",
|
|
723
723
|
vocabulary: []
|
|
724
724
|
},
|
|
725
|
+
PageContainerExtraProp: {
|
|
726
|
+
group: "layout",
|
|
727
|
+
file: "components/layout.prop.ts",
|
|
728
|
+
vocabulary: ["ExtraProp"]
|
|
729
|
+
},
|
|
725
730
|
PageContainerMeasureProp: {
|
|
726
731
|
group: "layout",
|
|
727
732
|
file: "components/layout.prop.ts",
|
|
@@ -883,7 +888,20 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
883
888
|
AppShellProp: {
|
|
884
889
|
group: "layout",
|
|
885
890
|
file: "components/layout.prop.ts",
|
|
886
|
-
vocabulary: [
|
|
891
|
+
vocabulary: [
|
|
892
|
+
"ChildrenProp",
|
|
893
|
+
"BreakpointProp",
|
|
894
|
+
{
|
|
895
|
+
field: "logoCompact",
|
|
896
|
+
local: true,
|
|
897
|
+
reason: "The brand node a narrow bar gets instead of `logo` \u2014 the consumer's own mark/viewBox, which a stylesheet cannot produce (gh#728)."
|
|
898
|
+
},
|
|
899
|
+
{
|
|
900
|
+
field: "logoCompactBelow",
|
|
901
|
+
local: true,
|
|
902
|
+
reason: "Flex `hideBelow` scoped to the brand cell \u2014 the step at which `logoCompact` takes over (gh#728)."
|
|
903
|
+
}
|
|
904
|
+
]
|
|
887
905
|
},
|
|
888
906
|
AuthShellProp: {
|
|
889
907
|
group: "layout",
|
|
@@ -1276,7 +1294,14 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
1276
1294
|
TopbarProp: {
|
|
1277
1295
|
group: "layout",
|
|
1278
1296
|
file: "components/layout.prop.ts",
|
|
1279
|
-
vocabulary: [
|
|
1297
|
+
vocabulary: [
|
|
1298
|
+
"ChildrenProp",
|
|
1299
|
+
{
|
|
1300
|
+
field: "overflow",
|
|
1301
|
+
local: true,
|
|
1302
|
+
reason: "The bar's overflow contract \u2014 `scroll` (default) keeps every cell reachable, `clip` is the pre-gh#728 slicing."
|
|
1303
|
+
}
|
|
1304
|
+
]
|
|
1280
1305
|
},
|
|
1281
1306
|
TopbarItemProp: {
|
|
1282
1307
|
group: "layout",
|
|
@@ -2822,6 +2847,9 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
2822
2847
|
file: "components/ui/toggle.tsx",
|
|
2823
2848
|
vocabulary: [
|
|
2824
2849
|
"SizeProp",
|
|
2850
|
+
// The control `ShapeProp` verbatim — same three values, same two radius tokens as Button and
|
|
2851
|
+
// Badge, so `shape="pill"` means one thing library-wide (gh#734).
|
|
2852
|
+
"ShapeProp",
|
|
2825
2853
|
"ClassNameProp",
|
|
2826
2854
|
{
|
|
2827
2855
|
field: "count",
|
|
@@ -2840,6 +2868,8 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
2840
2868
|
file: "components/ui/toggle-group.tsx",
|
|
2841
2869
|
vocabulary: [
|
|
2842
2870
|
"SizeProp",
|
|
2871
|
+
// Reaches the item through the group's context, exactly as `variant`/`size` do (gh#734).
|
|
2872
|
+
"ShapeProp",
|
|
2843
2873
|
"ClassNameProp",
|
|
2844
2874
|
{
|
|
2845
2875
|
field: "count",
|
|
@@ -3307,7 +3337,12 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
3307
3337
|
"DisabledProp",
|
|
3308
3338
|
"SizeProp",
|
|
3309
3339
|
"ClassNameProp",
|
|
3310
|
-
"IdProp"
|
|
3340
|
+
"IdProp",
|
|
3341
|
+
{
|
|
3342
|
+
field: "divided",
|
|
3343
|
+
local: true,
|
|
3344
|
+
reason: "Rules between the rows \u2014 a hairline on every node's block-start but the outline's first, full row width at every depth (gh#732). Default false, because chrome defaults quiet here (#44). Not antd's spelling: antd's Tree has no such capability, and `bordered` already means a grid's frame plus column rules on Table / Calendar / RangeTimeline; see docs/DESIGN-AUTHORITY.md."
|
|
3345
|
+
}
|
|
3311
3346
|
]
|
|
3312
3347
|
},
|
|
3313
3348
|
CardProp: {
|
|
@@ -3453,6 +3488,10 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
3453
3488
|
file: "components/data-display/range-timeline.tsx",
|
|
3454
3489
|
vocabulary: [
|
|
3455
3490
|
"LabelProp",
|
|
3491
|
+
// The CANONICAL three-step axis, the same type DataTable takes — not a local subset. It
|
|
3492
|
+
// moves `--range-timeline-unit-width` only (42 / 56 / 70px per day), never the row or bar
|
|
3493
|
+
// height, so a compact Gantt is the same schedule with more days on screen (gh#730).
|
|
3494
|
+
"DensityProp",
|
|
3456
3495
|
{
|
|
3457
3496
|
field: "columns",
|
|
3458
3497
|
local: true,
|
package/dist/styles/control.css
CHANGED
|
@@ -26,6 +26,12 @@
|
|
|
26
26
|
background: hsl(var(--background));
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
+
.ui-toggle-soft {
|
|
30
|
+
border: 1px solid transparent;
|
|
31
|
+
background: var(--toggle-soft-background, hsl(var(--secondary)));
|
|
32
|
+
color: var(--toggle-soft-color, hsl(var(--secondary-foreground)));
|
|
33
|
+
}
|
|
34
|
+
|
|
29
35
|
.ui-toggle-default-size {
|
|
30
36
|
min-height: var(--control-height);
|
|
31
37
|
padding-inline: var(--space-3);
|
|
@@ -53,6 +59,11 @@
|
|
|
53
59
|
color: hsl(var(--accent-foreground));
|
|
54
60
|
}
|
|
55
61
|
|
|
62
|
+
.ui-toggle-soft:hover {
|
|
63
|
+
background: var(--toggle-soft-hover-background, hsl(var(--secondary-hover)));
|
|
64
|
+
color: var(--toggle-soft-color, hsl(var(--secondary-foreground)));
|
|
65
|
+
}
|
|
66
|
+
|
|
56
67
|
.ui-toggle[data-state="on"] {
|
|
57
68
|
background: var(--toggle-on-background, hsl(var(--primary)));
|
|
58
69
|
color: hsl(var(--primary-foreground));
|
|
@@ -2229,13 +2240,13 @@
|
|
|
2229
2240
|
|
|
2230
2241
|
.ui-calendar[data-bordered="true"] .ui-calendar-day,
|
|
2231
2242
|
.ui-calendar[data-bordered="true"] .ui-calendar-weekday {
|
|
2232
|
-
border-inline-start: 1px solid var(--calendar-grid-border-color, hsl(var(--
|
|
2233
|
-
border-block-start: 1px solid var(--calendar-grid-border-color, hsl(var(--
|
|
2243
|
+
border-inline-start: 1px solid var(--calendar-grid-border-color, hsl(var(--border)));
|
|
2244
|
+
border-block-start: 1px solid var(--calendar-grid-border-color, hsl(var(--border)));
|
|
2234
2245
|
}
|
|
2235
2246
|
|
|
2236
2247
|
.ui-calendar[data-bordered="true"] .ui-calendar-week,
|
|
2237
2248
|
.ui-calendar[data-bordered="true"] .ui-calendar-weekdays {
|
|
2238
|
-
border-inline-end: 1px solid var(--calendar-grid-border-color, hsl(var(--
|
|
2249
|
+
border-inline-end: 1px solid var(--calendar-grid-border-color, hsl(var(--border)));
|
|
2239
2250
|
}
|
|
2240
2251
|
|
|
2241
2252
|
.ui-calendar[data-bordered="true"] .ui-calendar-weekday {
|
|
@@ -2247,7 +2258,7 @@
|
|
|
2247
2258
|
}
|
|
2248
2259
|
|
|
2249
2260
|
.ui-calendar[data-bordered="true"] .ui-calendar-grid {
|
|
2250
|
-
border-block-end: 1px solid var(--calendar-grid-border-color, hsl(var(--
|
|
2261
|
+
border-block-end: 1px solid var(--calendar-grid-border-color, hsl(var(--border)));
|
|
2251
2262
|
}
|
|
2252
2263
|
|
|
2253
2264
|
.ui-calendar[data-bordered="true"] .ui-calendar-day.invisible {
|
|
@@ -2268,8 +2279,8 @@
|
|
|
2268
2279
|
|
|
2269
2280
|
.ui-calendar[data-bordered="true"] .ui-calendar-week-number,
|
|
2270
2281
|
.ui-calendar[data-bordered="true"] .ui-calendar-week-number-header {
|
|
2271
|
-
border-inline-start: 1px solid var(--calendar-grid-border-color, hsl(var(--
|
|
2272
|
-
border-block-start: 1px solid var(--calendar-grid-border-color, hsl(var(--
|
|
2282
|
+
border-inline-start: 1px solid var(--calendar-grid-border-color, hsl(var(--border)));
|
|
2283
|
+
border-block-start: 1px solid var(--calendar-grid-border-color, hsl(var(--border)));
|
|
2273
2284
|
}
|
|
2274
2285
|
|
|
2275
2286
|
.ui-calendar[data-bordered="true"] .ui-calendar-day {
|
|
@@ -2317,7 +2328,6 @@
|
|
|
2317
2328
|
position: relative;
|
|
2318
2329
|
display: flex;
|
|
2319
2330
|
flex-direction: column;
|
|
2320
|
-
gap: var(--calendar-month-space-gap);
|
|
2321
2331
|
}
|
|
2322
2332
|
|
|
2323
2333
|
.ui-calendar-caption {
|
|
@@ -464,23 +464,23 @@
|
|
|
464
464
|
place-items: center;
|
|
465
465
|
border: 1px solid transparent;
|
|
466
466
|
border-radius: var(--radius-pill);
|
|
467
|
-
background: var(--timeline-dot-done-background, hsl(var(--
|
|
468
|
-
color: hsl(var(--
|
|
467
|
+
background: var(--timeline-dot-done-background, hsl(var(--primary)));
|
|
468
|
+
color: var(--timeline-dot-done-foreground, hsl(var(--primary-foreground)));
|
|
469
469
|
font-size: var(--timeline-note-font-size);
|
|
470
470
|
font-weight: var(--font-weight-medium);
|
|
471
471
|
line-height: 1;
|
|
472
472
|
}
|
|
473
473
|
|
|
474
474
|
.ui-timeline-dot[data-status="done"] {
|
|
475
|
-
background: var(--timeline-dot-done-background, hsl(var(--
|
|
476
|
-
color: hsl(var(--
|
|
475
|
+
background: var(--timeline-dot-done-background, hsl(var(--primary)));
|
|
476
|
+
color: var(--timeline-dot-done-foreground, hsl(var(--primary-foreground)));
|
|
477
477
|
}
|
|
478
478
|
|
|
479
479
|
.ui-timeline-dot[data-status="current"],
|
|
480
480
|
.ui-timeline-dot[data-current="true"] {
|
|
481
481
|
background: var(--timeline-dot-current-background, hsl(var(--primary)));
|
|
482
482
|
color: hsl(var(--primary-foreground));
|
|
483
|
-
box-shadow: 0 0 0
|
|
483
|
+
box-shadow: 0 0 0 var(--timeline-dot-current-ring-width) hsl(var(--primary) / 0.2);
|
|
484
484
|
}
|
|
485
485
|
|
|
486
486
|
.ui-timeline-dot[data-status="pending"] {
|
|
@@ -1356,10 +1356,13 @@
|
|
|
1356
1356
|
display: grid;
|
|
1357
1357
|
grid-template-columns: repeat(var(--range-timeline-units, 1), minmax(0, 1fr));
|
|
1358
1358
|
}
|
|
1359
|
+
|
|
1359
1360
|
.ui-range-timeline-column {
|
|
1360
1361
|
min-inline-size: 0;
|
|
1361
1362
|
overflow: hidden;
|
|
1362
1363
|
padding: var(--space-2);
|
|
1364
|
+
padding-inline-start: calc(var(--space-2) + var(--range-timeline-grid-width));
|
|
1365
|
+
text-align: center;
|
|
1363
1366
|
border-inline-end: var(--range-timeline-grid-width) solid
|
|
1364
1367
|
hsl(var(--range-timeline-border-color));
|
|
1365
1368
|
}
|
|
@@ -1392,12 +1395,19 @@
|
|
|
1392
1395
|
.ui-range-timeline[data-bordered="true"] .ui-range-timeline-column,
|
|
1393
1396
|
.ui-range-timeline[data-bordered="true"] .ui-range-timeline-label,
|
|
1394
1397
|
.ui-range-timeline[data-bordered="true"] .ui-range-timeline-grid-column {
|
|
1395
|
-
border-inline-end-color: var(--range-timeline-grid-color, hsl(var(--
|
|
1398
|
+
border-inline-end-color: var(--range-timeline-grid-color, hsl(var(--border)));
|
|
1396
1399
|
}
|
|
1397
1400
|
.ui-range-timeline[data-bordered="true"] .ui-range-timeline-header + .ui-range-timeline-header,
|
|
1398
1401
|
.ui-range-timeline[data-bordered="true"] .ui-range-timeline-row {
|
|
1399
1402
|
border-block-start: var(--range-timeline-grid-width) solid
|
|
1400
|
-
var(--range-timeline-grid-color, hsl(var(--
|
|
1403
|
+
var(--range-timeline-grid-color, hsl(var(--border)));
|
|
1404
|
+
}
|
|
1405
|
+
|
|
1406
|
+
.ui-range-timeline[data-density="compact"] {
|
|
1407
|
+
--range-timeline-unit-width: var(--range-timeline-unit-width-compact);
|
|
1408
|
+
}
|
|
1409
|
+
.ui-range-timeline[data-density="comfortable"] {
|
|
1410
|
+
--range-timeline-unit-width: var(--range-timeline-unit-width-comfortable);
|
|
1401
1411
|
}
|
|
1402
1412
|
.ui-range-timeline-outside {
|
|
1403
1413
|
position: absolute;
|
|
@@ -1904,6 +1914,14 @@
|
|
|
1904
1914
|
content: "";
|
|
1905
1915
|
}
|
|
1906
1916
|
|
|
1917
|
+
.ui-tree[data-divided="true"] .ui-tree-node {
|
|
1918
|
+
border-block-start: var(--stroke-hairline) solid var(--tree-divider-color, hsl(var(--border)));
|
|
1919
|
+
}
|
|
1920
|
+
|
|
1921
|
+
.ui-tree[data-divided="true"] > .ui-tree-node:first-child {
|
|
1922
|
+
border-block-start-color: transparent;
|
|
1923
|
+
}
|
|
1924
|
+
|
|
1907
1925
|
.ui-tree-loading {
|
|
1908
1926
|
display: flex;
|
|
1909
1927
|
align-items: center;
|
|
@@ -448,6 +448,7 @@
|
|
|
448
448
|
|
|
449
449
|
.ui-upload-row {
|
|
450
450
|
display: flex;
|
|
451
|
+
flex-wrap: wrap;
|
|
451
452
|
align-items: center;
|
|
452
453
|
gap: var(--upload-row-space-gap);
|
|
453
454
|
padding-inline: var(--upload-row-space-inline);
|
|
@@ -462,6 +463,18 @@
|
|
|
462
463
|
flex: 1 1 0%;
|
|
463
464
|
}
|
|
464
465
|
|
|
466
|
+
.ui-upload-row-actions {
|
|
467
|
+
display: flex;
|
|
468
|
+
flex-wrap: wrap;
|
|
469
|
+
align-items: center;
|
|
470
|
+
gap: var(--upload-row-space-gap);
|
|
471
|
+
margin-inline-start: auto;
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
.ui-upload-row-actions:empty {
|
|
475
|
+
display: none;
|
|
476
|
+
}
|
|
477
|
+
|
|
465
478
|
.ui-upload-row-icon {
|
|
466
479
|
inline-size: var(--upload-row-icon-size);
|
|
467
480
|
block-size: var(--upload-row-icon-size);
|
package/dist/styles/layout.css
CHANGED
|
@@ -1450,6 +1450,7 @@
|
|
|
1450
1450
|
|
|
1451
1451
|
@media (width < 40rem) {
|
|
1452
1452
|
.ui-flex[data-hide-below="sm"],
|
|
1453
|
+
.app-topbar-brand[data-hide-below="sm"],
|
|
1453
1454
|
.ui-topbar-item[data-hide-below="sm"],
|
|
1454
1455
|
[data-slot="table-head"][data-hide-below="sm"],
|
|
1455
1456
|
[data-slot="table-cell"][data-hide-below="sm"] {
|
|
@@ -1459,6 +1460,7 @@
|
|
|
1459
1460
|
|
|
1460
1461
|
@media (width < 48rem) {
|
|
1461
1462
|
.ui-flex[data-hide-below="md"],
|
|
1463
|
+
.app-topbar-brand[data-hide-below="md"],
|
|
1462
1464
|
.ui-topbar-item[data-hide-below="md"],
|
|
1463
1465
|
[data-slot="table-head"][data-hide-below="md"],
|
|
1464
1466
|
[data-slot="table-cell"][data-hide-below="md"] {
|
|
@@ -1468,6 +1470,7 @@
|
|
|
1468
1470
|
|
|
1469
1471
|
@media (width < 64rem) {
|
|
1470
1472
|
.ui-flex[data-hide-below="lg"],
|
|
1473
|
+
.app-topbar-brand[data-hide-below="lg"],
|
|
1471
1474
|
.ui-topbar-item[data-hide-below="lg"],
|
|
1472
1475
|
[data-slot="table-head"][data-hide-below="lg"],
|
|
1473
1476
|
[data-slot="table-cell"][data-hide-below="lg"] {
|
|
@@ -1477,6 +1480,7 @@
|
|
|
1477
1480
|
|
|
1478
1481
|
@media (width < 80rem) {
|
|
1479
1482
|
.ui-flex[data-hide-below="xl"],
|
|
1483
|
+
.app-topbar-brand[data-hide-below="xl"],
|
|
1480
1484
|
.ui-topbar-item[data-hide-below="xl"],
|
|
1481
1485
|
[data-slot="table-head"][data-hide-below="xl"],
|
|
1482
1486
|
[data-slot="table-cell"][data-hide-below="xl"] {
|
|
@@ -1486,6 +1490,7 @@
|
|
|
1486
1490
|
|
|
1487
1491
|
@media (width >= 40rem) {
|
|
1488
1492
|
.ui-flex[data-hide-from="sm"],
|
|
1493
|
+
.app-topbar-brand[data-hide-from="sm"],
|
|
1489
1494
|
.ui-topbar-item-icon[data-hide-from="sm"] {
|
|
1490
1495
|
display: none;
|
|
1491
1496
|
}
|
|
@@ -1493,6 +1498,7 @@
|
|
|
1493
1498
|
|
|
1494
1499
|
@media (width >= 48rem) {
|
|
1495
1500
|
.ui-flex[data-hide-from="md"],
|
|
1501
|
+
.app-topbar-brand[data-hide-from="md"],
|
|
1496
1502
|
.ui-topbar-item-icon[data-hide-from="md"] {
|
|
1497
1503
|
display: none;
|
|
1498
1504
|
}
|
|
@@ -1500,6 +1506,7 @@
|
|
|
1500
1506
|
|
|
1501
1507
|
@media (width >= 64rem) {
|
|
1502
1508
|
.ui-flex[data-hide-from="lg"],
|
|
1509
|
+
.app-topbar-brand[data-hide-from="lg"],
|
|
1503
1510
|
.ui-topbar-item-icon[data-hide-from="lg"] {
|
|
1504
1511
|
display: none;
|
|
1505
1512
|
}
|
|
@@ -1507,6 +1514,7 @@
|
|
|
1507
1514
|
|
|
1508
1515
|
@media (width >= 80rem) {
|
|
1509
1516
|
.ui-flex[data-hide-from="xl"],
|
|
1517
|
+
.app-topbar-brand[data-hide-from="xl"],
|
|
1510
1518
|
.ui-topbar-item-icon[data-hide-from="xl"] {
|
|
1511
1519
|
display: none;
|
|
1512
1520
|
}
|
|
@@ -737,6 +737,28 @@
|
|
|
737
737
|
align-items: center;
|
|
738
738
|
}
|
|
739
739
|
|
|
740
|
+
.app-topbar-logo {
|
|
741
|
+
max-inline-size: var(--app-shell-brand-max-inline-size);
|
|
742
|
+
min-inline-size: 0;
|
|
743
|
+
flex: 0 1 auto;
|
|
744
|
+
overflow: clip;
|
|
745
|
+
overflow-clip-margin: var(--focus-ring-clip-margin);
|
|
746
|
+
}
|
|
747
|
+
|
|
748
|
+
.app-topbar-brand {
|
|
749
|
+
display: contents;
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
@media (width < 40rem) {
|
|
753
|
+
.app-topbar-logo {
|
|
754
|
+
max-inline-size: var(--app-shell-brand-compact-max-inline-size);
|
|
755
|
+
}
|
|
756
|
+
|
|
757
|
+
.app-topbar-logo [data-slot="logo-wordmark"] {
|
|
758
|
+
display: none;
|
|
759
|
+
}
|
|
760
|
+
}
|
|
761
|
+
|
|
740
762
|
.app-topbar-custom {
|
|
741
763
|
display: flex;
|
|
742
764
|
min-width: 0;
|
|
@@ -1997,12 +2019,32 @@
|
|
|
1997
2019
|
flex: 1 1 0%;
|
|
1998
2020
|
justify-content: center;
|
|
1999
2021
|
}
|
|
2022
|
+
|
|
2000
2023
|
.ui-topbar-end {
|
|
2001
2024
|
max-width: 100%;
|
|
2002
|
-
flex: 0
|
|
2025
|
+
flex: 0 1 auto;
|
|
2003
2026
|
margin-inline-start: auto;
|
|
2004
2027
|
}
|
|
2005
2028
|
|
|
2029
|
+
.ui-topbar[data-overflow="scroll"] {
|
|
2030
|
+
overflow-x: auto;
|
|
2031
|
+
overscroll-behavior-inline: contain;
|
|
2032
|
+
scrollbar-width: none;
|
|
2033
|
+
}
|
|
2034
|
+
|
|
2035
|
+
.ui-topbar[data-overflow="scroll"]::-webkit-scrollbar {
|
|
2036
|
+
display: none;
|
|
2037
|
+
}
|
|
2038
|
+
|
|
2039
|
+
.ui-topbar[data-overflow="scroll"] > .ui-topbar-end {
|
|
2040
|
+
max-inline-size: none;
|
|
2041
|
+
min-inline-size: auto;
|
|
2042
|
+
}
|
|
2043
|
+
|
|
2044
|
+
.ui-topbar[data-overflow="scroll"] > .ui-topbar-start {
|
|
2045
|
+
min-inline-size: var(--topbar-item-min-width);
|
|
2046
|
+
}
|
|
2047
|
+
|
|
2006
2048
|
.ui-topbar-item {
|
|
2007
2049
|
display: inline-flex;
|
|
2008
2050
|
min-width: var(--topbar-item-min-width);
|
package/dist/styles/toggle.css
CHANGED
|
@@ -16,6 +16,11 @@
|
|
|
16
16
|
font-variant-numeric: tabular-nums;
|
|
17
17
|
}
|
|
18
18
|
|
|
19
|
+
.ui-toggle-soft .ui-toggle-count {
|
|
20
|
+
background: var(--toggle-soft-count-background, hsl(var(--background)));
|
|
21
|
+
color: var(--toggle-soft-count-color, hsl(var(--foreground)));
|
|
22
|
+
}
|
|
23
|
+
|
|
19
24
|
.ui-toggle[data-state="on"] {
|
|
20
25
|
border-color: var(--toggle-pressed-border-color, hsl(var(--primary)));
|
|
21
26
|
}
|
|
@@ -281,14 +281,17 @@
|
|
|
281
281
|
--tree-select-empty-space-block: var(--space-6);
|
|
282
282
|
|
|
283
283
|
--calendar-space-inset: var(--space-3);
|
|
284
|
+
|
|
284
285
|
--calendar-month-space-gap: var(--space-4);
|
|
285
286
|
--calendar-caption-space-inline: var(--space-8);
|
|
286
287
|
--calendar-caption-font-size: var(--font-size-sm);
|
|
287
288
|
--calendar-nav-space-block-start: var(--space-3);
|
|
288
|
-
|
|
289
|
+
|
|
290
|
+
--calendar-nav-space-inline: var(--calendar-space-inset);
|
|
289
291
|
|
|
290
292
|
--calendar-nav-rest-alpha: 0.7;
|
|
291
|
-
|
|
293
|
+
|
|
294
|
+
--calendar-grid-space-block-start: var(--space-3);
|
|
292
295
|
--calendar-week-space-block-start: var(--space-2);
|
|
293
296
|
--calendar-weekday-font-size: var(--font-size-xs);
|
|
294
297
|
--calendar-weekday-radius: var(--radius-md);
|
|
@@ -132,9 +132,12 @@
|
|
|
132
132
|
--thumbnail-radius: var(--radius);
|
|
133
133
|
|
|
134
134
|
--timeline-dot-done-background: initial;
|
|
135
|
+
--timeline-dot-done-foreground: initial;
|
|
135
136
|
--timeline-dot-current-background: initial;
|
|
136
137
|
--timeline-line-completed-background: initial;
|
|
137
138
|
|
|
139
|
+
--timeline-dot-current-ring-width: var(--stroke-xl);
|
|
140
|
+
|
|
138
141
|
--qr-code-foreground: 0 0% 0%;
|
|
139
142
|
--qr-code-background: 0 0% 100%;
|
|
140
143
|
--qr-code-size-xs: 6rem;
|
|
@@ -173,9 +176,15 @@
|
|
|
173
176
|
|
|
174
177
|
:root {
|
|
175
178
|
--range-timeline-label-width: var(--app-shell-sidebar-width);
|
|
176
|
-
|
|
179
|
+
|
|
180
|
+
--range-timeline-unit-width: var(--range-timeline-unit-width-default);
|
|
181
|
+
|
|
182
|
+
--range-timeline-unit-width-compact: calc(var(--control-height-sm) * 1.5);
|
|
183
|
+
--range-timeline-unit-width-default: calc(var(--control-height-sm) * 2);
|
|
184
|
+
--range-timeline-unit-width-comfortable: calc(var(--control-height-sm) * 2.5);
|
|
177
185
|
--range-timeline-row-height: var(--control-height-lg);
|
|
178
186
|
--range-timeline-bar-height: var(--control-height-sm);
|
|
187
|
+
|
|
179
188
|
--range-timeline-border-color: var(--border);
|
|
180
189
|
|
|
181
190
|
--range-timeline-grid-color: initial;
|
|
@@ -43,6 +43,9 @@
|
|
|
43
43
|
--app-shell-bar-inset-compact: var(--space-page-compact-x);
|
|
44
44
|
--app-shell-bar-gap: var(--space-3);
|
|
45
45
|
|
|
46
|
+
--app-shell-brand-max-inline-size: none;
|
|
47
|
+
--app-shell-brand-compact-max-inline-size: var(--app-shell-bar-height);
|
|
48
|
+
|
|
46
49
|
--app-shell-sidebar-width: 16rem;
|
|
47
50
|
--app-shell-sidebar-collapsed-width: 4rem;
|
|
48
51
|
|
|
@@ -11,6 +11,13 @@
|
|
|
11
11
|
--toggle-count-background: initial;
|
|
12
12
|
--toggle-count-color: initial;
|
|
13
13
|
|
|
14
|
+
--toggle-soft-background: initial;
|
|
15
|
+
--toggle-soft-color: initial;
|
|
16
|
+
--toggle-soft-hover-background: initial;
|
|
17
|
+
|
|
18
|
+
--toggle-soft-count-background: initial;
|
|
19
|
+
--toggle-soft-count-color: initial;
|
|
20
|
+
|
|
14
21
|
--toggle-pressed-count-background: initial;
|
|
15
22
|
--toggle-pressed-count-color: initial;
|
|
16
23
|
|
package/docs/DESIGN-AUTHORITY.md
CHANGED
|
@@ -298,6 +298,26 @@ bottomEnd | none` (`TablePaginationPositionProp`, default `['bottomEnd']`), the
|
|
|
298
298
|
purpose: omitted, `flow="columns"` keeps `start` and `flow="rows"` keeps the grid's stretch, so
|
|
299
299
|
no existing grid moves; antd's `Row` default is `top` in every case.
|
|
300
300
|
|
|
301
|
+
- **`Tree.divided` — a new capability, named from this library, not from antd (gh#732).** antd's
|
|
302
|
+
`Tree` has no horizontal rule between nodes at all (only `showLine`, the VERTICAL parent/child
|
|
303
|
+
rail), so there is no antd spelling to port and nothing to be out of parity with. The name was
|
|
304
|
+
picked from the two the library already uses for the idea, and they are not interchangeable here:
|
|
305
|
+
**`bordered` means a GRID** — `Table` / `DataTable` "outer frame + vertical rules between
|
|
306
|
+
columns", `Descriptions` "bordered table with shaded label cells", `Calendar` "rule the day
|
|
307
|
+
grid", `RangeTimeline` "row rules, header rule, a vertical rule per column" — while the
|
|
308
|
+
horizontal hairline BETWEEN rows of a vertical list is called a **divider** everywhere it exists
|
|
309
|
+
(`--list-row-border` on `ListRow`, `--command-item-divider-color`, `--table-flush-divider-*`,
|
|
310
|
+
`--card-*-divider`). A `Tree` has no columns and no frame, so `bordered` would promise chrome the
|
|
311
|
+
prop does not draw and would collide with a real Tree frame later. `Command.split` is the same
|
|
312
|
+
hairline, but that name is antd `List.split` adopted verbatim (gh#699) and carries a second
|
|
313
|
+
meaning there — zero list padding, rows bled to the panel edge — which `Tree` must not inherit.
|
|
314
|
+
So: `divided`, matching the token `--tree-divider-color`, a positive boolean adjective like
|
|
315
|
+
`striped` (gh#700). It **defaults to `false`**, unlike `RangeTimeline bordered`: a Gantt body is
|
|
316
|
+
unreadable without a grid, whereas `Tree`'s documented chrome default is quiet (cardinal rule
|
|
317
|
+
#44 — `showLine` ships off for the same reason, and the token file states it), and default-on
|
|
318
|
+
would rule every existing tree, including the picker-sized and `size="xs"` outlines where a rule
|
|
319
|
+
every 24px is noise rather than structure. A tree used as page navigation opts in.
|
|
320
|
+
|
|
301
321
|
- **`RangeTimeline` nested rows take `Tree`'s spelling, not antd's (gh#724).** antd has no Gantt;
|
|
302
322
|
the nearest names are `Tree expandedKeys` / `defaultExpandedKeys` / `onExpand` and `Table
|
|
303
323
|
expandable.expandedRowKeys` / `onExpandedRowsChange`. This library already mapped the Tree ones
|
|
@@ -45,7 +45,7 @@ Legend: ✓ covered · N/A reasoned skip · · UNTESTED (blank cell = UNTESTED).
|
|
|
45
45
|
| CardBar | **✗** | N/A | N/A | N/A | · | · | · | · | · | · |
|
|
46
46
|
| TimeRangePicker | ✓ | · | · | · | · | · | · | · | · | · |
|
|
47
47
|
| VisuallyHidden | **✗** | N/A | N/A | N/A | · | · | · | · | · | · |
|
|
48
|
-
| RangeTimeline | **✗** |
|
|
48
|
+
| RangeTimeline | **✗** | · | N/A | N/A | · | · | · | · | · | · |
|
|
49
49
|
| PageContainer | ✓ | ✓ | N/A | N/A | · | · | · | · | · | · |
|
|
50
50
|
| Flex | ✓ | N/A | N/A | N/A | · | · | · | · | · | · |
|
|
51
51
|
| ResponsiveGrid | ✓ | N/A | N/A | N/A | · | · | · | · | · | · |
|