@godxjp/ui 22.0.0 → 23.1.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 +4 -4
- package/dist/app/date-format-labels.d.ts +14 -2
- package/dist/app/date-format-labels.js +1 -1
- package/dist/app/date-formats.d.ts +14 -2
- package/dist/app/date-formats.js +9 -2
- package/dist/components/data-display/data-table.d.ts +8 -1
- package/dist/components/data-display/data-table.js +9 -2
- package/dist/components/data-display/scroll-area.d.ts +24 -4
- package/dist/components/data-display/scroll-area.js +34 -72
- package/dist/components/data-entry/cascader.js +8 -6
- package/dist/components/data-entry/checkbox.js +3 -1
- package/dist/components/data-entry/choice-hit-target.d.ts +24 -0
- package/dist/components/data-entry/choice-hit-target.js +12 -0
- package/dist/components/data-entry/control-surface.d.ts +8 -0
- package/dist/components/data-entry/control-surface.js +10 -1
- package/dist/components/data-entry/form-field.js +5 -4
- package/dist/components/data-entry/input.js +1 -1
- package/dist/components/data-entry/number-input.js +27 -6
- package/dist/components/data-entry/radio.js +4 -3
- package/dist/components/data-entry/search-select.js +225 -95
- package/dist/components/data-entry/select.d.ts +76 -14
- package/dist/components/data-entry/select.js +495 -163
- package/dist/components/data-entry/slider.d.ts +3 -11
- package/dist/components/data-entry/slider.js +582 -93
- package/dist/components/data-entry/switch.js +3 -1
- package/dist/components/feedback/dialog.js +2 -2
- package/dist/components/feedback/sheet.js +2 -22
- package/dist/components/navigation/dropdown-menu.d.ts +11 -3
- package/dist/components/navigation/dropdown-menu.js +190 -15
- package/dist/components/navigation/filter-bar.js +2 -1
- package/dist/components/navigation/index.d.ts +0 -3
- package/dist/components/navigation/index.js +0 -78
- package/dist/components/navigation/tabs.js +16 -4
- package/dist/components/ui/index.d.ts +0 -3
- package/dist/components/ui/index.js +0 -3
- package/dist/components/ui/input-otp.d.ts +1 -1
- package/dist/components/ui/segmented.js +3 -1
- package/dist/components/ui/tag-input.js +3 -5
- package/dist/i18n/messages/en.json +5 -1
- package/dist/i18n/messages/ja.json +5 -1
- package/dist/i18n/messages/vi.json +5 -1
- package/dist/lib/breakpoint-token.d.ts +8 -0
- package/dist/lib/breakpoint-token.js +29 -0
- package/dist/lib/select-options.d.ts +21 -0
- package/dist/lib/select-options.js +46 -0
- package/dist/props/components/data-display.prop.d.ts +17 -7
- package/dist/props/components/data-entry.prop.d.ts +323 -30
- package/dist/props/components/index.d.ts +1 -1
- package/dist/props/components/navigation.prop.d.ts +25 -1
- package/dist/props/registry.d.ts +69 -1
- package/dist/props/registry.js +75 -0
- package/dist/props/vocabulary/data.prop.d.ts +5 -0
- package/dist/props/vocabulary/index.d.ts +1 -1
- package/dist/styles/control.css +246 -28
- package/dist/styles/data-display-layout.css +18 -10
- package/dist/styles/focus-ring.css +28 -0
- package/dist/styles/fonts.css +88 -4
- package/dist/styles/form-layout.css +4 -0
- package/dist/styles/layout.css +2 -1
- package/dist/styles/navigation-layout.css +24 -238
- package/dist/styles/shell-layout.css +148 -139
- package/dist/styles/table-layout.css +12 -5
- package/dist/tokens/components/control.css +12 -3
- package/dist/tokens/components/data-display.css +0 -5
- package/dist/tokens/components/navigation.css +5 -5
- package/dist/tokens/components/scroll-area.css +7 -0
- package/docs/CONSUMER-RULES.md +7 -2
- package/docs/CUSTOMER-THEMING.md +25 -9
- package/docs/DATETIME.md +11 -2
- package/docs/FRAME-COVERAGE-REPORT.md +4 -7
- package/docs/SPACING.md +35 -5
- package/docs/TOKENS.md +1 -1
- package/docs/data-display/data-table/index.tsx +44 -3
- package/docs/data-display/popover.tsx +4 -6
- package/docs/data-display/scroll-area.tsx +51 -45
- package/docs/data-display/table.tsx +1 -1
- package/docs/data-entry/date-picker.tsx +2 -3
- package/docs/data-entry/input-otp.tsx +5 -2
- package/docs/data-entry/segmented-in-filter-row.tsx +77 -0
- package/docs/data-entry/segmented.tsx +40 -1
- package/docs/data-entry/select-matrix.tsx +1 -2
- package/docs/data-entry/select.tsx +108 -3
- package/docs/data-entry/slider.tsx +125 -47
- package/docs/feedback/dialog.tsx +1 -2
- package/docs/feedback/sheet.tsx +1 -2
- package/docs/layout/app-shell-states.tsx +143 -0
- package/docs/navigation/dropdown-menu.tsx +77 -6
- package/docs/navigation/tabs.tsx +72 -0
- package/docs/roadmap/ai-chat-components.md +1 -2
- package/docs/roadmap/parity-audit-data-entry.md +44 -33
- package/docs/roadmap/parity-audit-layout-navigation-general.md +304 -310
- package/docs/roadmap/parity-backlog.md +2 -3
- package/docs/roadmap/tree-components.md +0 -1
- package/package.json +25 -55
- package/scripts/_agent-setup.mjs +18 -0
- package/scripts/guinea-pig-skill.md +12 -6
- package/scripts/ui-audit.mjs +185 -7
- package/scripts/visual-audit-rules.mjs +0 -7
- package/scripts/visual-audit.mjs +6 -27
- package/dist/components/navigation/context-menu.d.ts +0 -21
- package/dist/components/navigation/context-menu.js +0 -149
- package/dist/components/navigation/menubar.d.ts +0 -28
- package/dist/components/navigation/menubar.js +0 -136
- package/dist/components/navigation/navigation-menu.d.ts +0 -10
- package/dist/components/navigation/navigation-menu.js +0 -91
- package/dist/components/ui/context-menu.d.ts +0 -1
- package/dist/components/ui/context-menu.js +0 -2
- package/dist/components/ui/menubar.d.ts +0 -1
- package/dist/components/ui/menubar.js +0 -2
- package/dist/components/ui/navigation-menu.d.ts +0 -1
- package/dist/components/ui/navigation-menu.js +0 -2
- package/docs/FRAME-A11Y-CI.md +0 -349
- package/docs/navigation/context-menu.tsx +0 -128
- package/docs/navigation/menubar.tsx +0 -141
- package/docs/navigation/navigation-menu.tsx +0 -158
package/dist/props/registry.js
CHANGED
|
@@ -585,6 +585,11 @@ const VOCABULARY_REGISTRY = {
|
|
|
585
585
|
category: "data",
|
|
586
586
|
description: "Row ID extractor generic"
|
|
587
587
|
},
|
|
588
|
+
GetRowLabelProp: {
|
|
589
|
+
file: "vocabulary/data.prop.ts",
|
|
590
|
+
category: "data",
|
|
591
|
+
description: "Row label extractor generic \u2014 the accessible name of a row's selection control"
|
|
592
|
+
},
|
|
588
593
|
OnRowClickProp: {
|
|
589
594
|
file: "vocabulary/data.prop.ts",
|
|
590
595
|
category: "data",
|
|
@@ -1420,6 +1425,16 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
1420
1425
|
file: "components/data-entry.prop.ts",
|
|
1421
1426
|
vocabulary: []
|
|
1422
1427
|
},
|
|
1428
|
+
SliderMarkProp: {
|
|
1429
|
+
group: "data-entry",
|
|
1430
|
+
file: "components/data-entry.prop.ts",
|
|
1431
|
+
vocabulary: []
|
|
1432
|
+
},
|
|
1433
|
+
SliderRangeConfigProp: {
|
|
1434
|
+
group: "data-entry",
|
|
1435
|
+
file: "components/data-entry.prop.ts",
|
|
1436
|
+
vocabulary: []
|
|
1437
|
+
},
|
|
1423
1438
|
ControlCountProp: {
|
|
1424
1439
|
group: "data-entry",
|
|
1425
1440
|
file: "components/data-entry.prop.ts",
|
|
@@ -1564,6 +1579,60 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
1564
1579
|
],
|
|
1565
1580
|
note: "Internal \u2014 the searchable engine behind `<Select options showSearch>` (not public API); use Select."
|
|
1566
1581
|
},
|
|
1582
|
+
SelectFieldNamesProp: {
|
|
1583
|
+
group: "data-entry",
|
|
1584
|
+
file: "components/data-entry.prop.ts",
|
|
1585
|
+
vocabulary: ["LabelProp", "ValueProp", "DisabledProp"],
|
|
1586
|
+
note: "antd `fieldNames` for `<Select options>` \u2014 the spelling Cascader and TreeSelect already take."
|
|
1587
|
+
},
|
|
1588
|
+
SelectOptionGroupProp: {
|
|
1589
|
+
group: "data-entry",
|
|
1590
|
+
file: "components/data-entry.prop.ts",
|
|
1591
|
+
vocabulary: ["LabelProp", "DisabledProp"],
|
|
1592
|
+
note: "antd's nested option GROUP (`{ label, options }`); flattens to the `group` a flat row carries."
|
|
1593
|
+
},
|
|
1594
|
+
SelectOptionInputProp: {
|
|
1595
|
+
group: "data-entry",
|
|
1596
|
+
file: "components/data-entry.prop.ts",
|
|
1597
|
+
vocabulary: [],
|
|
1598
|
+
note: "What `<Select options>` accepts: a row, a group, or a foreign row read through `fieldNames`."
|
|
1599
|
+
},
|
|
1600
|
+
SelectLabeledValueProp: {
|
|
1601
|
+
group: "data-entry",
|
|
1602
|
+
file: "components/data-entry.prop.ts",
|
|
1603
|
+
vocabulary: ["ValueProp", "LabelProp"],
|
|
1604
|
+
note: "antd `labelInValue` \u2014 the value carries its own label for a screen with no option list yet."
|
|
1605
|
+
},
|
|
1606
|
+
SelectPlacementProp: {
|
|
1607
|
+
group: "data-entry",
|
|
1608
|
+
file: "components/data-entry.prop.ts",
|
|
1609
|
+
vocabulary: [],
|
|
1610
|
+
note: "antd `placement` on the LOGICAL inline axis, as DropdownMenuPlacementProp already spells it."
|
|
1611
|
+
},
|
|
1612
|
+
SelectShowSearchProp: {
|
|
1613
|
+
group: "data-entry",
|
|
1614
|
+
file: "components/data-entry.prop.ts",
|
|
1615
|
+
vocabulary: ["OnSearchChangeProp"],
|
|
1616
|
+
note: "antd `showSearch`'s object form. `filterOption(input, option)` here takes antd's argument order."
|
|
1617
|
+
},
|
|
1618
|
+
SelectLabelInValueSingleProp: {
|
|
1619
|
+
group: "data-entry",
|
|
1620
|
+
file: "components/data-entry.prop.ts",
|
|
1621
|
+
vocabulary: ["ValueProp", "DefaultValueProp", "OnValueChangeProp"],
|
|
1622
|
+
note: "Internal \u2014 the `labelInValue` single shape of `<Select options>`; use Select."
|
|
1623
|
+
},
|
|
1624
|
+
SelectLabelInValueMultipleProp: {
|
|
1625
|
+
group: "data-entry",
|
|
1626
|
+
file: "components/data-entry.prop.ts",
|
|
1627
|
+
vocabulary: [
|
|
1628
|
+
"ValueProp",
|
|
1629
|
+
"DefaultValueProp",
|
|
1630
|
+
"OnValueChangeProp",
|
|
1631
|
+
"MaxTagCountProp",
|
|
1632
|
+
"MaxTagPlaceholderProp"
|
|
1633
|
+
],
|
|
1634
|
+
note: "Internal \u2014 the `labelInValue` multiple/tags shape of `<Select options>`; use Select."
|
|
1635
|
+
},
|
|
1567
1636
|
SelectDataProp: {
|
|
1568
1637
|
group: "data-entry",
|
|
1569
1638
|
file: "components/data-entry.prop.ts",
|
|
@@ -1769,6 +1838,7 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
1769
1838
|
"DensityProp",
|
|
1770
1839
|
"SortStateProp",
|
|
1771
1840
|
"SelectedIdsProp",
|
|
1841
|
+
"GetRowLabelProp",
|
|
1772
1842
|
"HandlerProp",
|
|
1773
1843
|
"TablePresetProp",
|
|
1774
1844
|
"TableColumnPriorityProp",
|
|
@@ -2224,6 +2294,11 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
2224
2294
|
file: "components/navigation.prop.ts",
|
|
2225
2295
|
vocabulary: []
|
|
2226
2296
|
},
|
|
2297
|
+
DropdownMenuTriggerActionProp: {
|
|
2298
|
+
group: "navigation",
|
|
2299
|
+
file: "components/navigation.prop.ts",
|
|
2300
|
+
vocabulary: []
|
|
2301
|
+
},
|
|
2227
2302
|
PaginationAlignProp: {
|
|
2228
2303
|
group: "navigation",
|
|
2229
2304
|
file: "components/navigation.prop.ts",
|
|
@@ -7,6 +7,11 @@ import type { BreakpointProp, ColumnAlignProp, SortDirectionProp } from "./inter
|
|
|
7
7
|
import type { TableDensityProp } from "./layout.prop.js";
|
|
8
8
|
/** Generic row identifier extractor for tables with selection. */
|
|
9
9
|
export type GetRowIdProp<T> = (row: T) => string;
|
|
10
|
+
/**
|
|
11
|
+
* Human-readable row name — what a row's selection control is announced as. The row id is a KEY,
|
|
12
|
+
* not a name: announced, it reads a UUID aloud.
|
|
13
|
+
*/
|
|
14
|
+
export type GetRowLabelProp<T> = (row: T) => string;
|
|
10
15
|
/** Row click navigation handler. */
|
|
11
16
|
export type OnRowClickProp<T> = (row: T) => void;
|
|
12
17
|
/** Column definition for DataTable. */
|
|
@@ -4,4 +4,4 @@ export type { TitleProp, SubtitleProp, StatusProp, DescriptionProp, ExtraProp, F
|
|
|
4
4
|
export type { PageDensityProp, PageContainerVariantProp, CenteredShellWidthProp, CenteredShellAlignProp, CenteredShellPresetProp, ErrorSurfaceModeProp, ErrorSurfaceStatusProp, AuthShellPresetProp, MobileShellHeightProp, MobileShellWidthProp, OrientationProp, TableDensityProp, DensityProp, GapNameProp, PadProp, PadRawProp, PadSides, GapProp, GapStepProp, } from "./layout.prop.js";
|
|
5
5
|
export type { ButtonVariantProp, ButtonSizeProp, BadgeVariantProp, AppSettingPickerAppearanceProp, AppSettingToggleAppearanceProp, ShapeProp, AvatarShapeProp, TextSizeProp, TextToneProp, FontWeightProp, HeadingLevelProp, TextAlignProp, TextWhitespaceProp, SizeProp, ControlStatusProp, ControlVariantProp, FormLayoutProp, DescriptionsLayoutProp, BreakpointProp, ConfirmVariantProp, ToneProp, AlertVariantProp, SortDirectionProp, ColumnAlignProp, SortStateProp, RevealDelayProp, ActivityVariantProp, ActivityAnnounceProp, } from "./interaction.prop.js";
|
|
6
6
|
export type { BreadcrumbItemProp, BreadcrumbProp, BreadcrumbItemMenuProp, BreadcrumbItemMenuEntryProp, BreadcrumbSeparatorProp, BreadcrumbItemRenderProp, } from "./navigation.prop.js";
|
|
7
|
-
export type { GetRowIdProp, OnRowClickProp, ColumnDefProp, TablePresetProp, TableColumnPriorityProp, TableCellIndentProp, SelectedIdsProp, OnSelectChangeProp, OnTableDensityChangeProp, TableRowToneProp, RowToneProp, OnSortChangeProp, OnSearchChangeProp, OnClearFiltersProp, HasActiveFiltersProp, StickyProp, ColumnFixedProp, ColumnFilterValueProp, ColumnFilterItemProp, ColumnFilterStateProp, OnColumnFilterChangeProp, ColumnCompareProp, ColumnSorterProp, TableSelectionItemProp, TableRowSelectionProp, TableExpandableProp, TableSummaryProp, TableScrollProp, TableStickyProp, OnRowProp, TablePaginationProp, DescriptionsColumnProp, DescriptionsSpanProp, DescriptionsItemsProp, } from "./data.prop.js";
|
|
7
|
+
export type { GetRowIdProp, GetRowLabelProp, OnRowClickProp, ColumnDefProp, TablePresetProp, TableColumnPriorityProp, TableCellIndentProp, SelectedIdsProp, OnSelectChangeProp, OnTableDensityChangeProp, TableRowToneProp, RowToneProp, OnSortChangeProp, OnSearchChangeProp, OnClearFiltersProp, HasActiveFiltersProp, StickyProp, ColumnFixedProp, ColumnFilterValueProp, ColumnFilterItemProp, ColumnFilterStateProp, OnColumnFilterChangeProp, ColumnCompareProp, ColumnSorterProp, TableSelectionItemProp, TableRowSelectionProp, TableExpandableProp, TableSummaryProp, TableScrollProp, TableStickyProp, OnRowProp, TablePaginationProp, DescriptionsColumnProp, DescriptionsSpanProp, DescriptionsItemsProp, } from "./data.prop.js";
|
package/dist/styles/control.css
CHANGED
|
@@ -177,8 +177,8 @@
|
|
|
177
177
|
content: "";
|
|
178
178
|
position: absolute;
|
|
179
179
|
inset: 0;
|
|
180
|
-
min-inline-size: var(--button-bare-target-size);
|
|
181
|
-
min-block-size: var(--button-bare-target-size);
|
|
180
|
+
min-inline-size: var(--button-bare-target-size, var(--control-height-xs));
|
|
181
|
+
min-block-size: var(--button-bare-target-size, var(--control-height-xs));
|
|
182
182
|
margin: auto;
|
|
183
183
|
}
|
|
184
184
|
|
|
@@ -375,6 +375,22 @@
|
|
|
375
375
|
line-height: 0;
|
|
376
376
|
}
|
|
377
377
|
|
|
378
|
+
.ui-choice-input {
|
|
379
|
+
position: absolute;
|
|
380
|
+
inset: 0;
|
|
381
|
+
display: block;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
.ui-choice-input > input {
|
|
385
|
+
position: absolute;
|
|
386
|
+
inset: 0;
|
|
387
|
+
inline-size: 100%;
|
|
388
|
+
block-size: 100%;
|
|
389
|
+
margin: 0;
|
|
390
|
+
cursor: inherit;
|
|
391
|
+
opacity: 0;
|
|
392
|
+
}
|
|
393
|
+
|
|
378
394
|
.ui-choice-content {
|
|
379
395
|
display: grid;
|
|
380
396
|
gap: var(--choice-description-gap);
|
|
@@ -402,6 +418,8 @@
|
|
|
402
418
|
|
|
403
419
|
.ui-checkbox,
|
|
404
420
|
.ui-radio {
|
|
421
|
+
|
|
422
|
+
position: relative;
|
|
405
423
|
width: var(--checkbox-size);
|
|
406
424
|
height: var(--checkbox-size);
|
|
407
425
|
flex-shrink: 0;
|
|
@@ -420,7 +438,7 @@
|
|
|
420
438
|
|
|
421
439
|
.ui-checkbox:disabled,
|
|
422
440
|
.ui-radio:disabled,
|
|
423
|
-
.ui-slider-thumb
|
|
441
|
+
.ui-slider-thumb[data-disabled],
|
|
424
442
|
.ui-switch:disabled,
|
|
425
443
|
.ui-checkbox[data-disabled],
|
|
426
444
|
.ui-radio[data-disabled],
|
|
@@ -463,6 +481,8 @@
|
|
|
463
481
|
}
|
|
464
482
|
|
|
465
483
|
.ui-switch {
|
|
484
|
+
|
|
485
|
+
position: relative;
|
|
466
486
|
display: inline-flex;
|
|
467
487
|
width: var(--switch-width);
|
|
468
488
|
height: var(--switch-height);
|
|
@@ -502,32 +522,80 @@
|
|
|
502
522
|
.ui-slider {
|
|
503
523
|
position: relative;
|
|
504
524
|
display: flex;
|
|
505
|
-
|
|
525
|
+
inline-size: 100%;
|
|
506
526
|
touch-action: none;
|
|
507
527
|
user-select: none;
|
|
508
528
|
align-items: center;
|
|
509
529
|
}
|
|
510
530
|
|
|
531
|
+
.ui-slider[data-orientation="vertical"] {
|
|
532
|
+
|
|
533
|
+
inline-size: fit-content;
|
|
534
|
+
block-size: 100%;
|
|
535
|
+
min-block-size: var(--slider-vertical-min-block-size);
|
|
536
|
+
flex-direction: column;
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
.ui-slider-control {
|
|
540
|
+
position: relative;
|
|
541
|
+
display: flex;
|
|
542
|
+
flex-grow: 1;
|
|
543
|
+
align-self: stretch;
|
|
544
|
+
align-items: center;
|
|
545
|
+
block-size: var(--slider-thumb-size);
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
.ui-slider[data-orientation="vertical"] .ui-slider-control {
|
|
549
|
+
flex-direction: column;
|
|
550
|
+
align-self: center;
|
|
551
|
+
inline-size: var(--slider-thumb-size);
|
|
552
|
+
block-size: auto;
|
|
553
|
+
}
|
|
554
|
+
|
|
511
555
|
.ui-slider-track {
|
|
512
556
|
position: relative;
|
|
513
|
-
height: var(--slider-track-height);
|
|
514
|
-
width: 100%;
|
|
515
557
|
flex-grow: 1;
|
|
516
|
-
|
|
558
|
+
align-self: center;
|
|
559
|
+
block-size: var(--slider-track-height);
|
|
517
560
|
border-radius: var(--radius-pill);
|
|
518
561
|
background: var(--slider-track-background, hsl(var(--primary) / 0.2));
|
|
519
562
|
}
|
|
520
563
|
|
|
564
|
+
.ui-slider[data-orientation="vertical"] .ui-slider-track {
|
|
565
|
+
inline-size: var(--slider-track-height);
|
|
566
|
+
block-size: auto;
|
|
567
|
+
}
|
|
568
|
+
|
|
521
569
|
.ui-slider-range {
|
|
522
570
|
position: absolute;
|
|
523
|
-
|
|
571
|
+
inset-block: 0;
|
|
572
|
+
inset-inline-start: var(--slider-range-start, 0%);
|
|
573
|
+
inline-size: var(--slider-range-size, 0%);
|
|
574
|
+
border-radius: inherit;
|
|
524
575
|
background: var(--slider-range-background, hsl(var(--primary)));
|
|
525
576
|
}
|
|
526
577
|
|
|
578
|
+
.ui-slider[data-orientation="vertical"] .ui-slider-range {
|
|
579
|
+
inset-block-start: auto;
|
|
580
|
+
inset-block-end: var(--slider-range-start, 0%);
|
|
581
|
+
inset-inline: 0;
|
|
582
|
+
inline-size: auto;
|
|
583
|
+
block-size: var(--slider-range-size, 0%);
|
|
584
|
+
}
|
|
585
|
+
|
|
586
|
+
.ui-slider-range[data-draggable="true"] {
|
|
587
|
+
cursor: grab;
|
|
588
|
+
}
|
|
589
|
+
|
|
527
590
|
.ui-slider-thumb {
|
|
591
|
+
position: absolute;
|
|
592
|
+
inset-block-start: 50%;
|
|
593
|
+
inset-inline-start: var(--slider-thumb-offset, 0%);
|
|
528
594
|
display: block;
|
|
529
|
-
|
|
530
|
-
|
|
595
|
+
inline-size: var(--slider-thumb-size);
|
|
596
|
+
block-size: var(--slider-thumb-size);
|
|
597
|
+
margin-block-start: calc(var(--slider-thumb-size) / -2);
|
|
598
|
+
margin-inline-start: calc(var(--slider-thumb-size) / -2);
|
|
531
599
|
border: 1px solid hsl(var(--primary) / 0.5);
|
|
532
600
|
border-radius: var(--radius-pill);
|
|
533
601
|
background: hsl(var(--background));
|
|
@@ -539,6 +607,14 @@
|
|
|
539
607
|
box-shadow 150ms;
|
|
540
608
|
}
|
|
541
609
|
|
|
610
|
+
.ui-slider[data-orientation="vertical"] .ui-slider-thumb {
|
|
611
|
+
inset-block-start: auto;
|
|
612
|
+
inset-block-end: var(--slider-thumb-offset, 0%);
|
|
613
|
+
inset-inline-start: 50%;
|
|
614
|
+
margin-block-start: 0;
|
|
615
|
+
margin-block-end: calc(var(--slider-thumb-size) / -2);
|
|
616
|
+
}
|
|
617
|
+
|
|
542
618
|
.ui-color-picker {
|
|
543
619
|
display: flex;
|
|
544
620
|
align-items: center;
|
|
@@ -992,6 +1068,8 @@
|
|
|
992
1068
|
--segmented-item-height: calc(var(--control-height) - var(--segmented-track-padding) * 2);
|
|
993
1069
|
display: inline-flex;
|
|
994
1070
|
max-width: 100%;
|
|
1071
|
+
|
|
1072
|
+
flex-wrap: wrap;
|
|
995
1073
|
align-items: stretch;
|
|
996
1074
|
padding: var(--segmented-track-padding);
|
|
997
1075
|
border-radius: var(--segmented-track-radius);
|
|
@@ -1001,6 +1079,8 @@
|
|
|
1001
1079
|
}
|
|
1002
1080
|
|
|
1003
1081
|
.ui-segmented-item {
|
|
1082
|
+
|
|
1083
|
+
position: relative;
|
|
1004
1084
|
display: inline-flex;
|
|
1005
1085
|
min-width: 0;
|
|
1006
1086
|
height: var(--segmented-item-height);
|
|
@@ -1093,7 +1173,8 @@
|
|
|
1093
1173
|
background: hsl(var(--secondary));
|
|
1094
1174
|
color: hsl(var(--secondary-foreground));
|
|
1095
1175
|
}
|
|
1096
|
-
.ui-tag-input-remove
|
|
1176
|
+
.ui-tag-input-remove,
|
|
1177
|
+
.ui-search-select-value-remove {
|
|
1097
1178
|
|
|
1098
1179
|
display: inline-flex;
|
|
1099
1180
|
align-items: center;
|
|
@@ -1108,10 +1189,12 @@
|
|
|
1108
1189
|
color: inherit;
|
|
1109
1190
|
opacity: 0.7;
|
|
1110
1191
|
}
|
|
1111
|
-
.ui-tag-input-remove:hover
|
|
1192
|
+
.ui-tag-input-remove:hover,
|
|
1193
|
+
.ui-search-select-value-remove:hover {
|
|
1112
1194
|
opacity: 1;
|
|
1113
1195
|
}
|
|
1114
|
-
.ui-tag-input-remove svg
|
|
1196
|
+
.ui-tag-input-remove svg,
|
|
1197
|
+
.ui-search-select-value-remove svg {
|
|
1115
1198
|
width: 0.75rem;
|
|
1116
1199
|
height: 0.75rem;
|
|
1117
1200
|
}
|
|
@@ -1255,6 +1338,20 @@
|
|
|
1255
1338
|
inline-size: 0.75rem;
|
|
1256
1339
|
block-size: 0.75rem;
|
|
1257
1340
|
}
|
|
1341
|
+
|
|
1342
|
+
@media (pointer: coarse) {
|
|
1343
|
+
.ui-number-input:not([data-size="xs"]):not([data-size="sm"]) {
|
|
1344
|
+
--control-height: var(--number-input-touch-height);
|
|
1345
|
+
}
|
|
1346
|
+
|
|
1347
|
+
.ui-number-input-steppers {
|
|
1348
|
+
gap: 0;
|
|
1349
|
+
}
|
|
1350
|
+
|
|
1351
|
+
.ui-number-input-step {
|
|
1352
|
+
block-size: calc(var(--control-height) / 2);
|
|
1353
|
+
}
|
|
1354
|
+
}
|
|
1258
1355
|
}
|
|
1259
1356
|
|
|
1260
1357
|
@layer components {
|
|
@@ -1349,6 +1446,7 @@
|
|
|
1349
1446
|
}
|
|
1350
1447
|
|
|
1351
1448
|
.ui-search-select-list {
|
|
1449
|
+
max-block-size: var(--search-select-list-max-height);
|
|
1352
1450
|
max-block-size: none;
|
|
1353
1451
|
min-block-size: 0;
|
|
1354
1452
|
flex: 1 1 0%;
|
|
@@ -1545,11 +1643,21 @@
|
|
|
1545
1643
|
|
|
1546
1644
|
@layer components {
|
|
1547
1645
|
|
|
1646
|
+
.ui-select-root {
|
|
1647
|
+
display: contents;
|
|
1648
|
+
}
|
|
1649
|
+
|
|
1548
1650
|
.ui-select-content {
|
|
1549
1651
|
position: relative;
|
|
1550
1652
|
z-index: var(--overlay-z-index);
|
|
1653
|
+
display: flex;
|
|
1654
|
+
flex-direction: column;
|
|
1551
1655
|
max-height: var(--select-content-max-height);
|
|
1552
|
-
|
|
1656
|
+
|
|
1657
|
+
min-width: max(
|
|
1658
|
+
var(--menu-content-min-width),
|
|
1659
|
+
var(--trigger-width, var(--menu-content-min-width))
|
|
1660
|
+
);
|
|
1553
1661
|
overflow: hidden;
|
|
1554
1662
|
border-radius: var(--radius-md);
|
|
1555
1663
|
border: 1px solid hsl(var(--border));
|
|
@@ -1558,13 +1666,21 @@
|
|
|
1558
1666
|
box-shadow: var(--shadow-md);
|
|
1559
1667
|
}
|
|
1560
1668
|
|
|
1669
|
+
.ui-select-content[data-popup-match="content"] {
|
|
1670
|
+
min-width: var(--menu-content-min-width);
|
|
1671
|
+
}
|
|
1672
|
+
|
|
1561
1673
|
.ui-select-content[data-popup-match="fixed"] {
|
|
1562
1674
|
min-width: var(--select-content-inline-size);
|
|
1563
1675
|
width: var(--select-content-inline-size);
|
|
1564
1676
|
}
|
|
1565
1677
|
|
|
1566
1678
|
.ui-select-viewport {
|
|
1679
|
+
min-block-size: 0;
|
|
1680
|
+
max-block-size: var(--select-content-max-height);
|
|
1681
|
+
overflow-y: auto;
|
|
1567
1682
|
padding: var(--menu-content-space-inset);
|
|
1683
|
+
outline: none;
|
|
1568
1684
|
}
|
|
1569
1685
|
|
|
1570
1686
|
.ui-select-empty {
|
|
@@ -1649,6 +1765,19 @@
|
|
|
1649
1765
|
flex-shrink: 0;
|
|
1650
1766
|
opacity: var(--control-affix-rest-alpha);
|
|
1651
1767
|
}
|
|
1768
|
+
|
|
1769
|
+
.ui-select-prefix,
|
|
1770
|
+
.ui-select-suffix {
|
|
1771
|
+
display: inline-flex;
|
|
1772
|
+
flex-shrink: 0;
|
|
1773
|
+
align-items: center;
|
|
1774
|
+
color: hsl(var(--muted-foreground));
|
|
1775
|
+
}
|
|
1776
|
+
|
|
1777
|
+
.ui-select-trigger-prefixed > [data-slot="select-value"] {
|
|
1778
|
+
flex: 1 1 auto;
|
|
1779
|
+
text-align: start;
|
|
1780
|
+
}
|
|
1652
1781
|
}
|
|
1653
1782
|
|
|
1654
1783
|
@layer components {
|
|
@@ -1772,6 +1901,22 @@
|
|
|
1772
1901
|
transition: opacity 150ms ease;
|
|
1773
1902
|
}
|
|
1774
1903
|
|
|
1904
|
+
.ui-control-inline-affix-action {
|
|
1905
|
+
position: relative;
|
|
1906
|
+
}
|
|
1907
|
+
|
|
1908
|
+
.ui-control-inline-affix-action::after {
|
|
1909
|
+
content: "";
|
|
1910
|
+
position: absolute;
|
|
1911
|
+
inset-block-start: 50%;
|
|
1912
|
+
inset-inline-start: 50%;
|
|
1913
|
+
translate: -50% -50%;
|
|
1914
|
+
min-inline-size: var(--touch-target-min);
|
|
1915
|
+
min-block-size: var(--touch-target-min);
|
|
1916
|
+
inline-size: 100%;
|
|
1917
|
+
block-size: 100%;
|
|
1918
|
+
}
|
|
1919
|
+
|
|
1775
1920
|
.ui-control-inline-affix-action:hover,
|
|
1776
1921
|
.ui-control-inline-affix-action:focus-visible {
|
|
1777
1922
|
color: hsl(var(--foreground));
|
|
@@ -1993,6 +2138,8 @@
|
|
|
1993
2138
|
background-color: hsl(var(--muted));
|
|
1994
2139
|
|
|
1995
2140
|
border-radius: 0;
|
|
2141
|
+
|
|
2142
|
+
padding-block: var(--calendar-bordered-weekday-padding-block);
|
|
1996
2143
|
}
|
|
1997
2144
|
|
|
1998
2145
|
.ui-calendar[data-bordered="true"] .ui-calendar-grid {
|
|
@@ -2421,7 +2568,7 @@
|
|
|
2421
2568
|
}
|
|
2422
2569
|
|
|
2423
2570
|
.ui-button--xs {
|
|
2424
|
-
height: var(--button-xs-height);
|
|
2571
|
+
height: var(--button-xs-height, var(--control-height-xs));
|
|
2425
2572
|
gap: var(--button-xs-space-gap);
|
|
2426
2573
|
padding-inline: var(--button-xs-space-inline);
|
|
2427
2574
|
font-size: var(--button-xs-font-size);
|
|
@@ -2527,8 +2674,8 @@
|
|
|
2527
2674
|
|
|
2528
2675
|
.ui-control[data-status="warning"],
|
|
2529
2676
|
.ui-control-multiline[data-status="warning"] {
|
|
2530
|
-
--focus-ring-color: var(--control-status-warning-
|
|
2531
|
-
--focus-outline-color: var(--control-status-warning-
|
|
2677
|
+
--focus-ring-color: var(--control-status-warning-outline-color);
|
|
2678
|
+
--focus-outline-color: var(--control-status-warning-outline-color);
|
|
2532
2679
|
--focus-ring-glow-color: var(--control-status-warning-glow-color);
|
|
2533
2680
|
--focus-ring-glow-alpha: var(--control-status-warning-glow-alpha);
|
|
2534
2681
|
}
|
|
@@ -2668,7 +2815,7 @@
|
|
|
2668
2815
|
order: 1;
|
|
2669
2816
|
}
|
|
2670
2817
|
|
|
2671
|
-
.ui-slider[data-has-marks="true"] {
|
|
2818
|
+
.ui-slider[data-has-marks="true"]:not([data-orientation="vertical"]) {
|
|
2672
2819
|
margin-block-end: calc(var(--slider-mark-space-block-start) + var(--font-size-lg));
|
|
2673
2820
|
}
|
|
2674
2821
|
|
|
@@ -2680,13 +2827,35 @@
|
|
|
2680
2827
|
block-size: 0;
|
|
2681
2828
|
}
|
|
2682
2829
|
|
|
2830
|
+
.ui-slider[data-orientation="vertical"] .ui-slider-marks {
|
|
2831
|
+
inset-block: 0;
|
|
2832
|
+
inset-inline-start: 100%;
|
|
2833
|
+
inset-inline-end: auto;
|
|
2834
|
+
margin-block-start: 0;
|
|
2835
|
+
margin-inline-start: var(--slider-mark-space-block-start);
|
|
2836
|
+
inline-size: 0;
|
|
2837
|
+
block-size: auto;
|
|
2838
|
+
}
|
|
2839
|
+
|
|
2683
2840
|
.ui-slider-mark {
|
|
2684
2841
|
position: absolute;
|
|
2685
2842
|
inset-inline-start: var(--slider-mark-offset-inline, 0%);
|
|
2686
|
-
|
|
2843
|
+
display: flex;
|
|
2844
|
+
justify-content: center;
|
|
2845
|
+
inline-size: 0;
|
|
2687
2846
|
font-size: var(--slider-mark-font-size);
|
|
2688
2847
|
color: hsl(var(--slider-mark-color));
|
|
2689
2848
|
white-space: nowrap;
|
|
2849
|
+
cursor: pointer;
|
|
2850
|
+
}
|
|
2851
|
+
|
|
2852
|
+
.ui-slider[data-orientation="vertical"] .ui-slider-mark {
|
|
2853
|
+
inset-inline-start: 0;
|
|
2854
|
+
inset-block-end: var(--slider-mark-offset-block, 0%);
|
|
2855
|
+
align-items: center;
|
|
2856
|
+
justify-content: flex-start;
|
|
2857
|
+
inline-size: auto;
|
|
2858
|
+
block-size: 0;
|
|
2690
2859
|
}
|
|
2691
2860
|
|
|
2692
2861
|
.ui-slider-dot {
|
|
@@ -2695,35 +2864,78 @@
|
|
|
2695
2864
|
inset-inline-start: var(--slider-mark-offset-inline, 0%);
|
|
2696
2865
|
inline-size: var(--slider-dot-size);
|
|
2697
2866
|
block-size: var(--slider-dot-size);
|
|
2698
|
-
|
|
2867
|
+
margin-block-start: calc(var(--slider-dot-size) / -2);
|
|
2868
|
+
margin-inline-start: calc(var(--slider-dot-size) / -2);
|
|
2699
2869
|
border-radius: var(--radius-pill);
|
|
2700
2870
|
background: hsl(var(--slider-dot-background));
|
|
2701
2871
|
border: var(--control-border-width) solid hsl(var(--slider-dot-border-color));
|
|
2702
2872
|
}
|
|
2703
2873
|
|
|
2874
|
+
.ui-slider[data-orientation="vertical"] .ui-slider-dot {
|
|
2875
|
+
inset-block-start: auto;
|
|
2876
|
+
inset-block-end: var(--slider-mark-offset-block, 0%);
|
|
2877
|
+
inset-inline-start: 50%;
|
|
2878
|
+
margin-block-start: 0;
|
|
2879
|
+
margin-block-end: calc(var(--slider-dot-size) / -2);
|
|
2880
|
+
}
|
|
2881
|
+
|
|
2704
2882
|
.ui-slider-dot[data-active="true"] {
|
|
2705
2883
|
border-color: hsl(var(--slider-dot-active-border-color));
|
|
2706
2884
|
}
|
|
2707
2885
|
|
|
2708
2886
|
.ui-slider-tooltip {
|
|
2709
2887
|
position: absolute;
|
|
2710
|
-
|
|
2888
|
+
display: flex;
|
|
2889
|
+
align-items: center;
|
|
2890
|
+
justify-content: center;
|
|
2891
|
+
pointer-events: none;
|
|
2892
|
+
opacity: 0;
|
|
2893
|
+
transition: opacity 150ms;
|
|
2894
|
+
}
|
|
2895
|
+
|
|
2896
|
+
.ui-slider-tooltip[data-placement="top"],
|
|
2897
|
+
.ui-slider-tooltip[data-placement="bottom"] {
|
|
2711
2898
|
inset-inline-start: 50%;
|
|
2712
|
-
|
|
2713
|
-
|
|
2899
|
+
inline-size: 0;
|
|
2900
|
+
}
|
|
2901
|
+
|
|
2902
|
+
.ui-slider-tooltip[data-placement="top"] {
|
|
2903
|
+
inset-block-end: 100%;
|
|
2904
|
+
padding-block-end: var(--slider-tooltip-offset-block);
|
|
2905
|
+
}
|
|
2906
|
+
|
|
2907
|
+
.ui-slider-tooltip[data-placement="bottom"] {
|
|
2908
|
+
inset-block-start: 100%;
|
|
2909
|
+
padding-block-start: var(--slider-tooltip-offset-block);
|
|
2910
|
+
}
|
|
2911
|
+
|
|
2912
|
+
.ui-slider-tooltip[data-placement="left"],
|
|
2913
|
+
.ui-slider-tooltip[data-placement="right"] {
|
|
2914
|
+
inset-block-start: 50%;
|
|
2915
|
+
block-size: 0;
|
|
2916
|
+
}
|
|
2917
|
+
|
|
2918
|
+
.ui-slider-tooltip[data-placement="left"] {
|
|
2919
|
+
inset-inline-end: 100%;
|
|
2920
|
+
padding-inline-end: var(--slider-tooltip-offset-block);
|
|
2921
|
+
}
|
|
2922
|
+
|
|
2923
|
+
.ui-slider-tooltip[data-placement="right"] {
|
|
2924
|
+
inset-inline-start: 100%;
|
|
2925
|
+
padding-inline-start: var(--slider-tooltip-offset-block);
|
|
2926
|
+
}
|
|
2927
|
+
|
|
2928
|
+
.ui-slider-tooltip-content {
|
|
2714
2929
|
padding-inline: var(--slider-tooltip-padding-inline);
|
|
2715
2930
|
border-radius: var(--slider-tooltip-radius);
|
|
2716
2931
|
background: hsl(var(--slider-tooltip-background));
|
|
2717
2932
|
color: hsl(var(--slider-tooltip-color));
|
|
2718
2933
|
font-size: var(--slider-tooltip-font-size);
|
|
2719
2934
|
white-space: nowrap;
|
|
2720
|
-
opacity: 0;
|
|
2721
|
-
pointer-events: none;
|
|
2722
|
-
transition: opacity 150ms;
|
|
2723
2935
|
}
|
|
2724
2936
|
|
|
2725
|
-
.ui-slider-thumb:
|
|
2726
|
-
|
|
2937
|
+
.ui-slider-thumb:is([data-hovered], [data-focus-visible], [data-dragging])
|
|
2938
|
+
.ui-slider-tooltip:not([data-open="false"]),
|
|
2727
2939
|
.ui-slider-tooltip[data-open="true"] {
|
|
2728
2940
|
opacity: 1;
|
|
2729
2941
|
}
|
|
@@ -2755,6 +2967,8 @@
|
|
|
2755
2967
|
}
|
|
2756
2968
|
|
|
2757
2969
|
.ui-radio-button {
|
|
2970
|
+
|
|
2971
|
+
position: relative;
|
|
2758
2972
|
display: inline-flex;
|
|
2759
2973
|
align-items: center;
|
|
2760
2974
|
justify-content: center;
|
|
@@ -2806,6 +3020,10 @@
|
|
|
2806
3020
|
justify-content: center;
|
|
2807
3021
|
}
|
|
2808
3022
|
|
|
3023
|
+
.ui-segmented:not([data-orientation="vertical"]) {
|
|
3024
|
+
row-gap: var(--segmented-track-padding);
|
|
3025
|
+
}
|
|
3026
|
+
|
|
2809
3027
|
.ui-segmented[data-orientation="vertical"] {
|
|
2810
3028
|
flex-direction: column;
|
|
2811
3029
|
}
|
|
@@ -807,24 +807,32 @@
|
|
|
807
807
|
|
|
808
808
|
@layer components {
|
|
809
809
|
|
|
810
|
-
|
|
811
|
-
|
|
810
|
+
.ui-scroll-area {
|
|
811
|
+
position: relative;
|
|
812
|
+
scrollbar-width: var(--scroll-area-scrollbar-width);
|
|
813
|
+
scrollbar-color: var(--scroll-area-thumb-color, hsl(var(--border)))
|
|
814
|
+
var(--scroll-area-track-color, transparent);
|
|
815
|
+
scrollbar-gutter: var(--scroll-area-scrollbar-space);
|
|
812
816
|
}
|
|
813
817
|
|
|
814
|
-
.ui-scroll-area-
|
|
815
|
-
|
|
818
|
+
.ui-scroll-area[data-orientation="vertical"] {
|
|
819
|
+
overflow-x: hidden;
|
|
820
|
+
overflow-y: auto;
|
|
816
821
|
}
|
|
817
822
|
|
|
818
|
-
.ui-scroll-area-
|
|
819
|
-
|
|
823
|
+
.ui-scroll-area[data-orientation="horizontal"] {
|
|
824
|
+
overflow-x: auto;
|
|
825
|
+
overflow-y: hidden;
|
|
820
826
|
}
|
|
821
827
|
|
|
822
|
-
.ui-scroll-area-
|
|
823
|
-
|
|
828
|
+
.ui-scroll-area[data-orientation="both"] {
|
|
829
|
+
overflow: auto;
|
|
824
830
|
}
|
|
825
831
|
|
|
826
|
-
.ui-scroll-area-
|
|
827
|
-
|
|
832
|
+
.ui-scroll-area:is([data-orientation="horizontal"], [data-orientation="both"])
|
|
833
|
+
> .ui-scroll-area-content {
|
|
834
|
+
inline-size: max-content;
|
|
835
|
+
min-inline-size: 100%;
|
|
828
836
|
}
|
|
829
837
|
}
|
|
830
838
|
|