@godxjp/ui 33.12.8 → 33.14.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 +8 -4
- package/agent/START-HERE.md +5 -5
- package/agent/components/BranchScopePicker.json +21 -1
- package/agent/components/Breadcrumb.json +8 -2
- package/agent/components/DataTable.json +2 -1
- package/agent/components/MobileShell.json +1 -0
- package/agent/components/PageContainer.json +6 -0
- package/agent/components/Persona.json +66 -0
- package/agent/components/Sidebar.json +1 -0
- package/agent/components/Table.json +1 -1
- package/agent/components-index.json +5 -0
- package/agent/components.json +106 -5
- package/agent/index.json +7 -7
- package/agent/llms.txt +6 -6
- package/agent/tokens.json +62 -2
- package/agent/vocabulary.json +13 -0
- package/dist/components/data-display/data-table.js +51 -10
- package/dist/components/data-display/index.d.ts +2 -0
- package/dist/components/data-display/index.js +2 -0
- package/dist/components/data-display/persona.d.ts +11 -0
- package/dist/components/data-display/persona.js +34 -0
- package/dist/components/data-entry/branch-scope-picker.d.ts +3 -0
- package/dist/components/data-entry/branch-scope-picker.js +65 -11
- package/dist/components/layout/breadcrumb-ellipsis.js +33 -1
- package/dist/components/layout/breadcrumb.d.ts +4 -2
- package/dist/components/layout/breadcrumb.js +13 -3
- package/dist/components/layout/page-container.d.ts +1 -1
- package/dist/components/layout/page-container.js +5 -3
- package/dist/contracts/measurement.json +1 -1
- package/dist/i18n/messages/en.json +2 -1
- package/dist/i18n/messages/ja.json +13 -12
- package/dist/i18n/messages/vi.json +2 -1
- package/dist/props/components/data-display.prop.d.ts +10 -0
- package/dist/props/components/data-entry.prop.d.ts +6 -0
- package/dist/props/components/layout.prop.d.ts +5 -1
- package/dist/props/registry.d.ts +24 -2
- package/dist/props/registry.js +26 -0
- package/dist/props/vocabulary/index.d.ts +1 -1
- package/dist/props/vocabulary/navigation.prop.d.ts +2 -0
- package/dist/styles/control.css +29 -3
- package/dist/styles/data-display-layout.css +58 -0
- package/dist/styles/layers.json +8 -2
- package/dist/styles/table-layout.css +32 -12
- package/dist/styles.css +1 -1
- package/dist/tokens/base.css +2 -0
- package/dist/tokens/components/persona.css +13 -0
- package/dist/tokens/components/table.css +1 -1
- package/docs/TOKENS.md +11 -0
- package/package.json +2 -2
- package/scripts/cli.mjs +8 -2
- package/scripts/visual-audit.mjs +119 -27
|
@@ -155,19 +155,20 @@
|
|
|
155
155
|
"placeholder": "年月を選択"
|
|
156
156
|
},
|
|
157
157
|
"branchScope": {
|
|
158
|
-
"label": "
|
|
159
|
-
"all": "
|
|
160
|
-
"allDescription": "
|
|
161
|
-
"selected": "
|
|
162
|
-
"selectedDescription": "
|
|
163
|
-
"listLabel": "
|
|
164
|
-
"searchPlaceholder": "
|
|
158
|
+
"label": "支店範囲",
|
|
159
|
+
"all": "すべての支店",
|
|
160
|
+
"allDescription": "現在および今後のすべての支店に適用",
|
|
161
|
+
"selected": "選択した支店のみ",
|
|
162
|
+
"selectedDescription": "下で選択した支店にのみ適用",
|
|
163
|
+
"listLabel": "支店",
|
|
164
|
+
"searchPlaceholder": "支店を検索",
|
|
165
165
|
"selectedCount": "{count} 件選択中",
|
|
166
|
-
"empty": "
|
|
167
|
-
"error": "
|
|
168
|
-
"denied": "
|
|
169
|
-
"loading": "
|
|
170
|
-
"noMatches": "
|
|
166
|
+
"empty": "選択できる支店がありません",
|
|
167
|
+
"error": "支店を取得できませんでした",
|
|
168
|
+
"denied": "支店を表示する権限がありません",
|
|
169
|
+
"loading": "支店を読み込み中…",
|
|
170
|
+
"noMatches": "検索に一致する支店がありません",
|
|
171
|
+
"choose": "支店を選択"
|
|
171
172
|
},
|
|
172
173
|
"formErrors": {
|
|
173
174
|
"title": "入力内容にエラーがあります"
|
|
@@ -167,7 +167,8 @@
|
|
|
167
167
|
"error": "Không tải được danh sách chi nhánh",
|
|
168
168
|
"denied": "Bạn không có quyền xem chi nhánh",
|
|
169
169
|
"loading": "Đang tải chi nhánh…",
|
|
170
|
-
"noMatches": "Không có chi nhánh khớp với tìm kiếm"
|
|
170
|
+
"noMatches": "Không có chi nhánh khớp với tìm kiếm",
|
|
171
|
+
"choose": "Chọn chi nhánh"
|
|
171
172
|
},
|
|
172
173
|
"formErrors": {
|
|
173
174
|
"title": "Dữ liệu nhập có lỗi, vui lòng kiểm tra"
|
|
@@ -1424,3 +1424,13 @@ export type TextDiffProp = Omit<React.HTMLAttributes<HTMLDivElement>, "children"
|
|
|
1424
1424
|
lang?: string;
|
|
1425
1425
|
className?: ClassNameProp;
|
|
1426
1426
|
};
|
|
1427
|
+
/** @see Persona — static identity; pass translated labels and badge content from the consumer. */
|
|
1428
|
+
export type PersonaProp = Omit<React.HTMLAttributes<HTMLSpanElement>, "children"> & {
|
|
1429
|
+
name: string;
|
|
1430
|
+
description?: string;
|
|
1431
|
+
avatarSrc?: string;
|
|
1432
|
+
avatarFallback?: React.ReactNode;
|
|
1433
|
+
/** Optional inline badge beside the name, never part of the clipped name. */
|
|
1434
|
+
trailing?: React.ReactNode;
|
|
1435
|
+
size?: Extract<SizeProp, "sm" | "md">;
|
|
1436
|
+
};
|
|
@@ -2216,6 +2216,12 @@ export type BranchScopePickerProp = FieldA11yProps & {
|
|
|
2216
2216
|
defaultValue?: BranchScopeValueProp;
|
|
2217
2217
|
/** Value change handler (fires for mode switches AND branch checks). */
|
|
2218
2218
|
onValueChange?: (value: BranchScopeValueProp) => void;
|
|
2219
|
+
/** Single compact Select for navigation/record fields; multiple preserves the all/subset editor. */
|
|
2220
|
+
selectionMode?: "single" | "multiple";
|
|
2221
|
+
/** Permit organization-wide scope. Set false for record forms; validate one concrete branch on submit. Default true. */
|
|
2222
|
+
allowAll?: boolean;
|
|
2223
|
+
/** Hide after a successful one-branch read, unless disabled branch or validation error. Does not emit or normalize value. Default false. */
|
|
2224
|
+
hideWhenSingle?: boolean;
|
|
2219
2225
|
/** Disable the whole control. */
|
|
2220
2226
|
disabled?: DisabledProp;
|
|
2221
2227
|
/** Render the current value without any editable affordance (locked view). */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** Layout component prop types — @see docs/COMPONENTS.md#layout */
|
|
2
2
|
import type * as React from "react";
|
|
3
3
|
import type { ComponentType, ReactNode, SVGProps } from "react";
|
|
4
|
-
import type { BreadcrumbProp, TitleProp, SubtitleProp, StatusProp, ExtraProp, FooterProp, PageDensityProp, DensityProp, PageContainerVariantProp, CenteredShellWidthProp, CenteredShellAlignProp, CenteredShellPresetProp, ErrorSurfaceModeProp, ErrorSurfaceStatusProp, AuthShellPresetProp, MobileShellHeightProp, MobileShellWidthProp, OrientationProp, TextAlignProp, TextToneProp, BreakpointProp, GapProp, PadProp, PadRawProp, ClassNameProp, ChildrenProp, IdProp, DisabledProp, DescriptionProp, ActionProp, IconProp, HeadingLevelProp, ToneProp, WidthProp, SizeProp } from "../vocabulary/index.js";
|
|
4
|
+
import type { BreadcrumbProp, BreadcrumbCurrentItemProp, TitleProp, SubtitleProp, StatusProp, ExtraProp, FooterProp, PageDensityProp, DensityProp, PageContainerVariantProp, CenteredShellWidthProp, CenteredShellAlignProp, CenteredShellPresetProp, ErrorSurfaceModeProp, ErrorSurfaceStatusProp, AuthShellPresetProp, MobileShellHeightProp, MobileShellWidthProp, OrientationProp, TextAlignProp, TextToneProp, BreakpointProp, GapProp, PadProp, PadRawProp, ClassNameProp, ChildrenProp, IdProp, DisabledProp, DescriptionProp, ActionProp, IconProp, HeadingLevelProp, ToneProp, WidthProp, SizeProp } from "../vocabulary/index.js";
|
|
5
5
|
import type { EmptyStateToneProp } from "./data-display.prop.js";
|
|
6
6
|
import type { SearchInputProp } from "./data-entry.prop.js";
|
|
7
7
|
/**
|
|
@@ -82,6 +82,8 @@ export type PageContainerProp = {
|
|
|
82
82
|
toolbar?: ReactNode;
|
|
83
83
|
footer?: FooterProp;
|
|
84
84
|
breadcrumb?: BreadcrumbProp;
|
|
85
|
+
/** Last item is current by default; none keeps an ancestor-only trail linked. */
|
|
86
|
+
breadcrumbCurrentItem?: BreadcrumbCurrentItemProp;
|
|
85
87
|
/**
|
|
86
88
|
* Override the breadcrumb `<nav>` landmark's accessible name. Defaults to a localized
|
|
87
89
|
* "Breadcrumb".
|
|
@@ -1467,6 +1469,8 @@ export type SidebarProp = {
|
|
|
1467
1469
|
*/
|
|
1468
1470
|
brand?: ReactNode | ((collapsed: boolean) => ReactNode);
|
|
1469
1471
|
/**
|
|
1472
|
+
* Also accepts one app-local scope control (BranchScopePicker selectionMode="single").
|
|
1473
|
+
* This is viewing scope, not an organization/platform switch.
|
|
1470
1474
|
* The rail's ONE primary action ("New issue", "+ Create", "New page"), rendered between `brand`
|
|
1471
1475
|
* and the scrolling nav and never scrolling with it. Put exactly one primary control here: a
|
|
1472
1476
|
* `Button` (variant primary) full width when expanded, icon-only with an `aria-label` + tooltip
|
package/dist/props/registry.d.ts
CHANGED
|
@@ -604,6 +604,11 @@ export declare const VOCABULARY_REGISTRY: {
|
|
|
604
604
|
readonly category: "navigation";
|
|
605
605
|
readonly description: "One-line truncation of a breadcrumb segment, with the full label in a tooltip";
|
|
606
606
|
};
|
|
607
|
+
readonly BreadcrumbCurrentItemProp: {
|
|
608
|
+
readonly file: "vocabulary/navigation.prop.ts";
|
|
609
|
+
readonly category: "navigation";
|
|
610
|
+
readonly description: "Current breadcrumb item: last (default) or none for ancestors only";
|
|
611
|
+
};
|
|
607
612
|
readonly BreadcrumbProp: {
|
|
608
613
|
readonly file: "vocabulary/navigation.prop.ts";
|
|
609
614
|
readonly category: "navigation";
|
|
@@ -778,7 +783,7 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
778
783
|
readonly PageContainerProp: {
|
|
779
784
|
readonly group: "layout";
|
|
780
785
|
readonly file: "components/layout.prop.ts";
|
|
781
|
-
readonly vocabulary: readonly ["TitleProp", "SubtitleProp", "StatusProp", "ExtraProp", "FooterProp", "BreadcrumbProp", "DensityProp", "PageContainerVariantProp", {
|
|
786
|
+
readonly vocabulary: readonly ["TitleProp", "SubtitleProp", "StatusProp", "ExtraProp", "FooterProp", "BreadcrumbProp", "BreadcrumbCurrentItemProp", "DensityProp", "PageContainerVariantProp", {
|
|
782
787
|
readonly field: "toolbar";
|
|
783
788
|
readonly local: true;
|
|
784
789
|
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.";
|
|
@@ -2166,6 +2171,11 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
2166
2171
|
readonly file: "components/data-display.prop.ts";
|
|
2167
2172
|
readonly vocabulary: readonly ["ColumnDefProp", "DensityProp", "SortStateProp", "SelectedIdsProp", "GetRowLabelProp", "HandlerProp", "TablePresetProp", "TableColumnPriorityProp", "BreakpointProp", "ColumnFixedProp", "ColumnFilterItemProp", "ColumnFilterStateProp", "ColumnSorterProp", "TableRowSelectionProp", "TableSelectionBuiltInProp", "TableSelectAllMatchingProp", "TableExpandableProp", "TableSummaryProp", "TableScrollProp", "TableStickyProp", "OnRowProp", "TablePaginationProp", "TablePaginationPositionProp", "SortDirectionProp", "OnColumnFilterChangeProp"];
|
|
2168
2173
|
};
|
|
2174
|
+
readonly PersonaProp: {
|
|
2175
|
+
readonly group: "data-display";
|
|
2176
|
+
readonly file: "components/data-display.prop.ts";
|
|
2177
|
+
readonly vocabulary: readonly ["SizeProp", "ClassNameProp", "DescriptionProp"];
|
|
2178
|
+
};
|
|
2169
2179
|
readonly ListRowDensityProp: {
|
|
2170
2180
|
readonly group: "data-display";
|
|
2171
2181
|
readonly file: "components/data-display.prop.ts";
|
|
@@ -3822,7 +3832,19 @@ export declare const COMPONENT_PROP_REGISTRY: {
|
|
|
3822
3832
|
readonly BranchScopePickerProp: {
|
|
3823
3833
|
readonly group: "data-entry";
|
|
3824
3834
|
readonly file: "components/data-entry.prop.ts";
|
|
3825
|
-
readonly vocabulary: readonly [
|
|
3835
|
+
readonly vocabulary: readonly [{
|
|
3836
|
+
readonly field: "selectionMode";
|
|
3837
|
+
readonly local: true;
|
|
3838
|
+
readonly reason: "Single navigation scope or existing multiple-branch subset editor.";
|
|
3839
|
+
}, {
|
|
3840
|
+
readonly field: "allowAll";
|
|
3841
|
+
readonly local: true;
|
|
3842
|
+
readonly reason: "Whether organization-wide branch scope is selectable.";
|
|
3843
|
+
}, {
|
|
3844
|
+
readonly field: "hideWhenSingle";
|
|
3845
|
+
readonly local: true;
|
|
3846
|
+
readonly reason: "Hide a settled single-branch navigation scope without changing consumer state.";
|
|
3847
|
+
}, "ValueProp", "DefaultValueProp", "OnValueChangeProp", "DisabledProp", "ErrorProp", "NameProp", "IdProp", "ClassNameProp", {
|
|
3826
3848
|
readonly field: "branches";
|
|
3827
3849
|
readonly local: true;
|
|
3828
3850
|
readonly reason: "Consumer-supplied selectable branches (see BranchScopeOptionProp).";
|
package/dist/props/registry.js
CHANGED
|
@@ -604,6 +604,11 @@ const VOCABULARY_REGISTRY = {
|
|
|
604
604
|
category: "navigation",
|
|
605
605
|
description: "One-line truncation of a breadcrumb segment, with the full label in a tooltip"
|
|
606
606
|
},
|
|
607
|
+
BreadcrumbCurrentItemProp: {
|
|
608
|
+
file: "vocabulary/navigation.prop.ts",
|
|
609
|
+
category: "navigation",
|
|
610
|
+
description: "Current breadcrumb item: last (default) or none for ancestors only"
|
|
611
|
+
},
|
|
607
612
|
BreadcrumbProp: {
|
|
608
613
|
file: "vocabulary/navigation.prop.ts",
|
|
609
614
|
category: "navigation",
|
|
@@ -794,6 +799,7 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
794
799
|
"ExtraProp",
|
|
795
800
|
"FooterProp",
|
|
796
801
|
"BreadcrumbProp",
|
|
802
|
+
"BreadcrumbCurrentItemProp",
|
|
797
803
|
"DensityProp",
|
|
798
804
|
"PageContainerVariantProp",
|
|
799
805
|
{
|
|
@@ -2645,6 +2651,11 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
2645
2651
|
"OnColumnFilterChangeProp"
|
|
2646
2652
|
]
|
|
2647
2653
|
},
|
|
2654
|
+
PersonaProp: {
|
|
2655
|
+
group: "data-display",
|
|
2656
|
+
file: "components/data-display.prop.ts",
|
|
2657
|
+
vocabulary: ["SizeProp", "ClassNameProp", "DescriptionProp"]
|
|
2658
|
+
},
|
|
2648
2659
|
ListRowDensityProp: {
|
|
2649
2660
|
group: "data-display",
|
|
2650
2661
|
file: "components/data-display.prop.ts",
|
|
@@ -4579,6 +4590,21 @@ const COMPONENT_PROP_REGISTRY = {
|
|
|
4579
4590
|
group: "data-entry",
|
|
4580
4591
|
file: "components/data-entry.prop.ts",
|
|
4581
4592
|
vocabulary: [
|
|
4593
|
+
{
|
|
4594
|
+
field: "selectionMode",
|
|
4595
|
+
local: true,
|
|
4596
|
+
reason: "Single navigation scope or existing multiple-branch subset editor."
|
|
4597
|
+
},
|
|
4598
|
+
{
|
|
4599
|
+
field: "allowAll",
|
|
4600
|
+
local: true,
|
|
4601
|
+
reason: "Whether organization-wide branch scope is selectable."
|
|
4602
|
+
},
|
|
4603
|
+
{
|
|
4604
|
+
field: "hideWhenSingle",
|
|
4605
|
+
local: true,
|
|
4606
|
+
reason: "Hide a settled single-branch navigation scope without changing consumer state."
|
|
4607
|
+
},
|
|
4582
4608
|
"ValueProp",
|
|
4583
4609
|
"DefaultValueProp",
|
|
4584
4610
|
"OnValueChangeProp",
|
|
@@ -3,5 +3,5 @@ export type { ClassNameProp, ChildrenProp, IdProp, OpenProp, DefaultOpenProp, On
|
|
|
3
3
|
export type { TitleProp, SubtitleProp, StatusProp, DescriptionProp, ExtraProp, FooterProp, ActionProp, IconProp, ConfirmLabelProp, CancelLabelProp, ActionsProp, EmptyMessageProp, } from "./content.prop.js";
|
|
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, AppSettingCycleAppearanceProp, ShapeProp, AvatarShapeProp, TextSizeProp, TextToneProp, FontWeightProp, HeadingLevelProp, TextAlignProp, TextWhitespaceProp, TextBreakProp, TypographyTypeProp, TypographyCopyConfigProp, TypographyEditConfigProp, TypographyEllipsisConfigProp, TypographyActionsConfigProp, SizeProp, ControlStatusProp, ControlVariantProp, FormLayoutProp, DescriptionsLayoutProp, BreakpointProp, ConfirmVariantProp, ToneProp, AlertVariantProp, CalloutKindProp, SortDirectionProp, ColumnAlignProp, SortStateProp, RevealDelayProp, RevealTriggerProp, InViewAmountProp, ActivityVariantProp, ActivityAnnounceProp, IconSizeProp, } from "./interaction.prop.js";
|
|
6
|
-
export type { BreadcrumbItemProp, BreadcrumbProp, BreadcrumbItemMenuProp, BreadcrumbItemEllipsisProp, BreadcrumbItemMenuEntryProp, BreadcrumbSeparatorProp, BreadcrumbItemRenderProp, } from "./navigation.prop.js";
|
|
6
|
+
export type { BreadcrumbItemProp, BreadcrumbProp, BreadcrumbCurrentItemProp, BreadcrumbItemMenuProp, BreadcrumbItemEllipsisProp, BreadcrumbItemMenuEntryProp, BreadcrumbSeparatorProp, BreadcrumbItemRenderProp, } from "./navigation.prop.js";
|
|
7
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, TableSelectionBuiltInProp, TableSelectAllMatchingProp, TableRowSelectionProp, TableExpandableProp, TableSummaryProp, TableScrollProp, TableStickyProp, OnRowProp, TablePaginationProp, TablePaginationPositionProp, DescriptionsColumnProp, DescriptionsSpanProp, DescriptionsItemsProp, } from "./data.prop.js";
|
|
@@ -48,6 +48,8 @@ export type BreadcrumbItemProp = {
|
|
|
48
48
|
export type BreadcrumbItemEllipsisProp = boolean | {
|
|
49
49
|
tooltip?: React.ReactNode;
|
|
50
50
|
};
|
|
51
|
+
/** Which item represents the current page; none is an ancestor-only trail. */
|
|
52
|
+
export type BreadcrumbCurrentItemProp = "last" | "none";
|
|
51
53
|
/** Ordered breadcrumb trail above page title. */
|
|
52
54
|
export type BreadcrumbProp = BreadcrumbItemProp[];
|
|
53
55
|
/**
|
package/dist/styles/control.css
CHANGED
|
@@ -1850,8 +1850,7 @@
|
|
|
1850
1850
|
.ui-number-input-step::after {
|
|
1851
1851
|
content: "";
|
|
1852
1852
|
position: absolute;
|
|
1853
|
-
inset-inline-start:
|
|
1854
|
-
translate: -50% 0;
|
|
1853
|
+
inset-inline-start: calc((100% - var(--touch-target-min)) / 2);
|
|
1855
1854
|
inline-size: var(--touch-target-min);
|
|
1856
1855
|
block-size: var(--touch-target-min);
|
|
1857
1856
|
}
|
|
@@ -2689,6 +2688,7 @@
|
|
|
2689
2688
|
.ui-calendar {
|
|
2690
2689
|
position: relative;
|
|
2691
2690
|
inline-size: fit-content;
|
|
2691
|
+
max-inline-size: 100%;
|
|
2692
2692
|
padding: var(--calendar-space-inset);
|
|
2693
2693
|
}
|
|
2694
2694
|
|
|
@@ -2912,12 +2912,37 @@
|
|
|
2912
2912
|
block-size: var(--calendar-chevron-size);
|
|
2913
2913
|
}
|
|
2914
2914
|
|
|
2915
|
+
.ui-calendar-month {
|
|
2916
|
+
min-inline-size: 0;
|
|
2917
|
+
}
|
|
2918
|
+
|
|
2919
|
+
.ui-calendar-day,
|
|
2920
|
+
.ui-calendar-weekday {
|
|
2921
|
+
flex: 0 1 var(--control-height);
|
|
2922
|
+
min-inline-size: calc(var(--touch-target-min) + var(--stroke-hairline));
|
|
2923
|
+
}
|
|
2924
|
+
|
|
2915
2925
|
.ui-calendar-grid {
|
|
2916
2926
|
margin-block-start: var(--calendar-grid-space-block-start);
|
|
2917
|
-
inline-size:
|
|
2927
|
+
inline-size: calc(7 * var(--control-height));
|
|
2928
|
+
max-inline-size: 100%;
|
|
2929
|
+
table-layout: fixed;
|
|
2918
2930
|
border-collapse: collapse;
|
|
2919
2931
|
}
|
|
2920
2932
|
|
|
2933
|
+
.ui-calendar[data-bordered="true"] .ui-calendar-grid {
|
|
2934
|
+
inline-size: calc(7 * var(--control-height) + var(--stroke-hairline));
|
|
2935
|
+
}
|
|
2936
|
+
|
|
2937
|
+
.ui-calendar .ui-calendar-grid:has(.ui-calendar-week-number) {
|
|
2938
|
+
inline-size: 100%;
|
|
2939
|
+
table-layout: auto;
|
|
2940
|
+
}
|
|
2941
|
+
|
|
2942
|
+
.ui-calendar[data-width="full"] .ui-calendar-grid {
|
|
2943
|
+
inline-size: 100%;
|
|
2944
|
+
}
|
|
2945
|
+
|
|
2921
2946
|
.ui-calendar-weekday {
|
|
2922
2947
|
inline-size: var(--control-height);
|
|
2923
2948
|
border-radius: var(--calendar-weekday-radius, calc(var(--radius) / var(--radius-ratio)));
|
|
@@ -2947,6 +2972,7 @@
|
|
|
2947
2972
|
.ui-calendar .ui-calendar-day-button {
|
|
2948
2973
|
|
|
2949
2974
|
color: inherit;
|
|
2975
|
+
max-inline-size: 100%;
|
|
2950
2976
|
inline-size: var(--control-height);
|
|
2951
2977
|
block-size: var(--control-height);
|
|
2952
2978
|
padding: 0;
|
|
@@ -1,4 +1,62 @@
|
|
|
1
1
|
@layer components {
|
|
2
|
+
.ui-persona {
|
|
3
|
+
display: flex;
|
|
4
|
+
align-items: center;
|
|
5
|
+
flex-wrap: nowrap;
|
|
6
|
+
min-inline-size: 0;
|
|
7
|
+
max-inline-size: 100%;
|
|
8
|
+
gap: var(--persona-avatar-gap, var(--space-2));
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
.ui-persona [data-slot="persona-body"] {
|
|
12
|
+
display: flex;
|
|
13
|
+
flex-direction: column;
|
|
14
|
+
flex: 1;
|
|
15
|
+
min-inline-size: 0;
|
|
16
|
+
gap: var(--persona-label-gap, 0);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.ui-persona [data-slot="persona-name-line"] {
|
|
20
|
+
display: flex;
|
|
21
|
+
align-items: center;
|
|
22
|
+
min-inline-size: 0;
|
|
23
|
+
gap: var(--persona-trailing-gap, var(--space-1));
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.ui-persona [data-slot="persona-name"],
|
|
27
|
+
.ui-persona [data-slot="persona-description"] {
|
|
28
|
+
display: block;
|
|
29
|
+
min-inline-size: 0;
|
|
30
|
+
overflow: hidden;
|
|
31
|
+
text-overflow: ellipsis;
|
|
32
|
+
white-space: nowrap;
|
|
33
|
+
text-align: start;
|
|
34
|
+
line-height: var(--persona-label-line-height);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.ui-persona [data-slot="persona-name"] {
|
|
38
|
+
font-size: var(--persona-name-font-size, var(--font-size-sm));
|
|
39
|
+
font-weight: var(--persona-name-font-weight, var(--font-weight-medium));
|
|
40
|
+
color: var(--persona-name-color, hsl(var(--foreground)));
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.ui-persona[data-size="sm"] [data-slot="persona-name"] {
|
|
44
|
+
font-size: var(--persona-name-font-size-sm, var(--font-size-xs));
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.ui-persona [data-slot="persona-description"] {
|
|
48
|
+
align-self: flex-start;
|
|
49
|
+
max-inline-size: 100%;
|
|
50
|
+
font-size: var(--persona-description-font-size, var(--font-size-xs));
|
|
51
|
+
color: var(--persona-description-color, hsl(var(--muted-foreground)));
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.ui-persona [data-slot="persona-trailing"] {
|
|
55
|
+
flex: none;
|
|
56
|
+
display: inline-flex;
|
|
57
|
+
white-space: nowrap;
|
|
58
|
+
}
|
|
59
|
+
|
|
2
60
|
.ui-avatar {
|
|
3
61
|
position: relative;
|
|
4
62
|
display: inline-flex;
|
package/dist/styles/layers.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "33.
|
|
2
|
+
"version": "33.14.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",
|
|
@@ -215,7 +215,8 @@
|
|
|
215
215
|
"alert-layout.css",
|
|
216
216
|
"badge-layout.css",
|
|
217
217
|
"data-entry-layout.css",
|
|
218
|
-
"form-layout.css"
|
|
218
|
+
"form-layout.css",
|
|
219
|
+
"navigation-layout.css"
|
|
219
220
|
]
|
|
220
221
|
},
|
|
221
222
|
"Breadcrumb": {
|
|
@@ -767,6 +768,11 @@
|
|
|
767
768
|
"form-layout.css"
|
|
768
769
|
]
|
|
769
770
|
},
|
|
771
|
+
"Persona": {
|
|
772
|
+
"layers": [
|
|
773
|
+
"data-display-layout.css"
|
|
774
|
+
]
|
|
775
|
+
},
|
|
770
776
|
"PieChart": {
|
|
771
777
|
"layers": [
|
|
772
778
|
"layout.css",
|
|
@@ -1050,19 +1050,24 @@
|
|
|
1050
1050
|
display: block;
|
|
1051
1051
|
|
|
1052
1052
|
height: auto;
|
|
1053
|
-
|
|
1054
|
-
border
|
|
1053
|
+
|
|
1054
|
+
border: 0;
|
|
1055
|
+
border-block-end: var(--stroke-hairline) solid hsl(var(--border));
|
|
1056
|
+
border-radius: 0;
|
|
1055
1057
|
padding: var(--table-stacked-collection-card-padding-y)
|
|
1056
|
-
var(--table-stacked-collection-card-padding-x);
|
|
1058
|
+
var(--table-stacked-collection-card-padding-x, var(--card-space-inset));
|
|
1057
1059
|
margin-block-end: var(--table-stacked-collection-card-gap);
|
|
1058
1060
|
}
|
|
1059
1061
|
|
|
1060
1062
|
[data-collapse-below="sm"] .ui-table-row:last-child {
|
|
1061
1063
|
margin-block-end: 0;
|
|
1064
|
+
border-block-end-width: 0;
|
|
1062
1065
|
}
|
|
1063
1066
|
|
|
1064
1067
|
[data-collapse-below="sm"] [data-slot="table-cell"] {
|
|
1065
1068
|
display: block;
|
|
1069
|
+
|
|
1070
|
+
inline-size: auto !important;
|
|
1066
1071
|
padding-block: var(--table-stacked-collection-cell-padding-y);
|
|
1067
1072
|
|
|
1068
1073
|
padding-inline: var(--table-stacked-collection-cell-padding-x);
|
|
@@ -1104,19 +1109,24 @@
|
|
|
1104
1109
|
display: block;
|
|
1105
1110
|
|
|
1106
1111
|
height: auto;
|
|
1107
|
-
|
|
1108
|
-
border
|
|
1112
|
+
|
|
1113
|
+
border: 0;
|
|
1114
|
+
border-block-end: var(--stroke-hairline) solid hsl(var(--border));
|
|
1115
|
+
border-radius: 0;
|
|
1109
1116
|
padding: var(--table-stacked-collection-card-padding-y)
|
|
1110
|
-
var(--table-stacked-collection-card-padding-x);
|
|
1117
|
+
var(--table-stacked-collection-card-padding-x, var(--card-space-inset));
|
|
1111
1118
|
margin-block-end: var(--table-stacked-collection-card-gap);
|
|
1112
1119
|
}
|
|
1113
1120
|
|
|
1114
1121
|
[data-collapse-below="md"] .ui-table-row:last-child {
|
|
1115
1122
|
margin-block-end: 0;
|
|
1123
|
+
border-block-end-width: 0;
|
|
1116
1124
|
}
|
|
1117
1125
|
|
|
1118
1126
|
[data-collapse-below="md"] [data-slot="table-cell"] {
|
|
1119
1127
|
display: block;
|
|
1128
|
+
|
|
1129
|
+
inline-size: auto !important;
|
|
1120
1130
|
padding-block: var(--table-stacked-collection-cell-padding-y);
|
|
1121
1131
|
padding-inline: var(--table-stacked-collection-cell-padding-x);
|
|
1122
1132
|
white-space: normal;
|
|
@@ -1156,19 +1166,24 @@
|
|
|
1156
1166
|
display: block;
|
|
1157
1167
|
|
|
1158
1168
|
height: auto;
|
|
1159
|
-
|
|
1160
|
-
border
|
|
1169
|
+
|
|
1170
|
+
border: 0;
|
|
1171
|
+
border-block-end: var(--stroke-hairline) solid hsl(var(--border));
|
|
1172
|
+
border-radius: 0;
|
|
1161
1173
|
padding: var(--table-stacked-collection-card-padding-y)
|
|
1162
|
-
var(--table-stacked-collection-card-padding-x);
|
|
1174
|
+
var(--table-stacked-collection-card-padding-x, var(--card-space-inset));
|
|
1163
1175
|
margin-block-end: var(--table-stacked-collection-card-gap);
|
|
1164
1176
|
}
|
|
1165
1177
|
|
|
1166
1178
|
[data-collapse-below="lg"] .ui-table-row:last-child {
|
|
1167
1179
|
margin-block-end: 0;
|
|
1180
|
+
border-block-end-width: 0;
|
|
1168
1181
|
}
|
|
1169
1182
|
|
|
1170
1183
|
[data-collapse-below="lg"] [data-slot="table-cell"] {
|
|
1171
1184
|
display: block;
|
|
1185
|
+
|
|
1186
|
+
inline-size: auto !important;
|
|
1172
1187
|
padding-block: var(--table-stacked-collection-cell-padding-y);
|
|
1173
1188
|
padding-inline: var(--table-stacked-collection-cell-padding-x);
|
|
1174
1189
|
white-space: normal;
|
|
@@ -1208,19 +1223,24 @@
|
|
|
1208
1223
|
display: block;
|
|
1209
1224
|
|
|
1210
1225
|
height: auto;
|
|
1211
|
-
|
|
1212
|
-
border
|
|
1226
|
+
|
|
1227
|
+
border: 0;
|
|
1228
|
+
border-block-end: var(--stroke-hairline) solid hsl(var(--border));
|
|
1229
|
+
border-radius: 0;
|
|
1213
1230
|
padding: var(--table-stacked-collection-card-padding-y)
|
|
1214
|
-
var(--table-stacked-collection-card-padding-x);
|
|
1231
|
+
var(--table-stacked-collection-card-padding-x, var(--card-space-inset));
|
|
1215
1232
|
margin-block-end: var(--table-stacked-collection-card-gap);
|
|
1216
1233
|
}
|
|
1217
1234
|
|
|
1218
1235
|
[data-collapse-below="xl"] .ui-table-row:last-child {
|
|
1219
1236
|
margin-block-end: 0;
|
|
1237
|
+
border-block-end-width: 0;
|
|
1220
1238
|
}
|
|
1221
1239
|
|
|
1222
1240
|
[data-collapse-below="xl"] [data-slot="table-cell"] {
|
|
1223
1241
|
display: block;
|
|
1242
|
+
|
|
1243
|
+
inline-size: auto !important;
|
|
1224
1244
|
padding-block: var(--table-stacked-collection-cell-padding-y);
|
|
1225
1245
|
padding-inline: var(--table-stacked-collection-cell-padding-x);
|
|
1226
1246
|
white-space: normal;
|