@godxjp/ui 18.3.0 → 18.5.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 +18 -3
- package/dist/app/theme-axes.d.ts +11 -3
- package/dist/app/theme-axes.js +2 -1
- package/dist/components/charts/chart-frame.d.ts +17 -3
- package/dist/components/charts/chart-frame.js +7 -1
- package/dist/components/charts/chart-summary.d.ts +21 -0
- package/dist/components/charts/chart-summary.js +32 -5
- package/dist/components/charts/compact-bar-trend.d.ts +29 -0
- package/dist/components/charts/compact-bar-trend.js +74 -0
- package/dist/components/charts/index.d.ts +3 -0
- package/dist/components/charts/index.js +2 -0
- package/dist/components/data-display/badge.d.ts +8 -0
- package/dist/components/data-display/badge.js +7 -1
- package/dist/components/data-display/data-table.d.ts +16 -1
- package/dist/components/data-display/data-table.js +56 -0
- package/dist/components/data-display/index.d.ts +3 -1
- package/dist/components/data-display/index.js +10 -1
- package/dist/components/data-display/list-row.d.ts +22 -4
- package/dist/components/data-display/list-row.js +21 -3
- package/dist/components/data-display/service-launcher-card.d.ts +40 -0
- package/dist/components/data-display/service-launcher-card.js +97 -0
- package/dist/components/data-entry/command-palette.d.ts +37 -0
- package/dist/components/data-entry/command-palette.js +125 -0
- package/dist/components/data-entry/index.d.ts +2 -0
- package/dist/components/data-entry/index.js +2 -0
- package/dist/components/feedback/dialog.d.ts +2 -0
- package/dist/components/feedback/dialog.js +42 -33
- package/dist/components/feedback/index.d.ts +4 -1
- package/dist/components/feedback/index.js +6 -2
- package/dist/components/feedback/sheet.d.ts +26 -4
- package/dist/components/feedback/sheet.js +54 -7
- package/dist/components/feedback/two-factor-setup.d.ts +31 -0
- package/dist/components/feedback/two-factor-setup.js +97 -0
- package/dist/components/general/index.d.ts +1 -1
- package/dist/components/general/logo.d.ts +42 -8
- package/dist/components/general/logo.js +67 -14
- package/dist/components/layout/app-shell.js +22 -6
- package/dist/components/layout/auth-divider.d.ts +7 -0
- package/dist/components/layout/auth-divider.js +21 -0
- package/dist/components/layout/auth-footer.d.ts +5 -0
- package/dist/components/layout/auth-footer.js +24 -0
- package/dist/components/layout/auth-identity.d.ts +5 -0
- package/dist/components/layout/auth-identity.js +17 -0
- package/dist/components/layout/auth-shell.d.ts +8 -1
- package/dist/components/layout/auth-shell.js +25 -6
- package/dist/components/layout/auth-stack.d.ts +4 -0
- package/dist/components/layout/auth-stack.js +8 -0
- package/dist/components/layout/centered-shell.d.ts +5 -2
- package/dist/components/layout/centered-shell.js +2 -1
- package/dist/components/layout/index.d.ts +18 -3
- package/dist/components/layout/index.js +17 -2
- package/dist/components/layout/legal-document-shell.d.ts +34 -0
- package/dist/components/layout/legal-document-shell.js +186 -0
- package/dist/components/layout/master-detail.d.ts +24 -0
- package/dist/components/layout/master-detail.js +48 -0
- package/dist/components/layout/org-switcher.d.ts +9 -0
- package/dist/components/layout/org-switcher.js +218 -0
- package/dist/components/layout/page-container.d.ts +1 -1
- package/dist/components/layout/page-container.js +3 -2
- package/dist/components/layout/sidebar-link.d.ts +43 -0
- package/dist/components/layout/sidebar-link.js +13 -0
- package/dist/components/layout/sidebar.d.ts +42 -5
- package/dist/components/layout/sidebar.js +170 -85
- package/dist/components/navigation/app-setting-picker.js +17 -6
- package/dist/components/navigation/filter-bar.d.ts +12 -3
- package/dist/components/navigation/filter-bar.js +8 -2
- package/dist/components/navigation/index.d.ts +2 -2
- package/dist/components/navigation/index.js +3 -1
- package/dist/components/navigation/tabs-scroll.d.ts +70 -0
- package/dist/components/navigation/tabs-scroll.js +76 -0
- package/dist/components/navigation/tabs.js +35 -20
- package/dist/email/brand-mark.d.ts +92 -0
- package/dist/email/brand-mark.js +83 -0
- package/dist/email/color.d.ts +52 -0
- package/dist/email/color.js +37 -0
- package/dist/email/geometry.d.ts +112 -0
- package/dist/email/geometry.js +89 -0
- package/dist/email/index.d.ts +78 -0
- package/dist/email/index.js +76 -0
- package/dist/email/inline-style.d.ts +25 -0
- package/dist/email/inline-style.js +21 -0
- package/dist/email/tokens.generated.d.ts +147 -0
- package/dist/email/tokens.generated.js +142 -0
- package/dist/i18n/messages/en.json +21 -2
- package/dist/i18n/messages/ja.json +21 -2
- package/dist/i18n/messages/vi.json +21 -2
- package/dist/inertia/index.d.ts +50 -0
- package/dist/inertia/index.js +5 -0
- package/dist/props/components/app.prop.d.ts +11 -1
- package/dist/props/components/charts.prop.d.ts +40 -1
- package/dist/props/components/data-display.prop.d.ts +13 -1
- package/dist/props/components/feedback.prop.d.ts +10 -0
- package/dist/props/components/index.d.ts +2 -2
- package/dist/props/components/layout.prop.d.ts +374 -11
- package/dist/props/components/layout.prop.js +1 -0
- package/dist/props/components/navigation.prop.d.ts +19 -1
- package/dist/props/registry.d.ts +291 -7
- package/dist/props/registry.js +341 -7
- package/dist/props/vocabulary/index.d.ts +1 -1
- package/dist/props/vocabulary/interaction.prop.d.ts +1 -1
- package/dist/props/vocabulary/layout.prop.d.ts +18 -0
- package/dist/styles/base.css +9 -3
- package/dist/styles/card-layout.css +162 -8
- package/dist/styles/chart-layout.css +97 -0
- package/dist/styles/control.css +48 -2
- package/dist/styles/data-display-layout.css +52 -6
- package/dist/styles/dialog-layout.css +105 -4
- package/dist/styles/fonts.css +29 -20
- package/dist/styles/index.css +11 -3
- package/dist/styles/layout.css +368 -2
- package/dist/styles/logo-layout.css +62 -0
- package/dist/styles/navigation-layout.css +43 -0
- package/dist/styles/shell-layout.css +505 -62
- package/dist/theme/dxs.canonical.css +76 -0
- package/dist/tokens/axes.css +39 -0
- package/dist/tokens/base.css +5 -0
- package/dist/tokens/components/card.css +52 -5
- package/dist/tokens/components/chart.css +47 -0
- package/dist/tokens/components/control.css +16 -0
- package/dist/tokens/components/email.css +66 -0
- package/dist/tokens/components/feedback.css +17 -0
- package/dist/tokens/components/legal-document.css +67 -0
- package/dist/tokens/components/list-row.css +23 -2
- package/dist/tokens/components/logo.css +32 -0
- package/dist/tokens/components/navigation.css +13 -0
- package/dist/tokens/components/sheet.css +19 -0
- package/dist/tokens/components/shell.css +149 -1
- package/dist/tokens/components/sidebar.css +33 -0
- package/dist/tokens/foundation.css +5 -2
- package/dist/tokens/semantic/layout.css +44 -2
- package/package.json +17 -6
|
@@ -145,6 +145,11 @@
|
|
|
145
145
|
"mainLabel": "メインコンテンツ",
|
|
146
146
|
"footerLabel": "フッター"
|
|
147
147
|
},
|
|
148
|
+
"legalDocumentShell": {
|
|
149
|
+
"contents": "目次",
|
|
150
|
+
"version": "バージョン {version}",
|
|
151
|
+
"effectiveDate": "施行日 {date}"
|
|
152
|
+
},
|
|
148
153
|
"topbar": {
|
|
149
154
|
"toggleSidebar": "サイドバーの切り替え",
|
|
150
155
|
"search": "検索",
|
|
@@ -162,6 +167,10 @@
|
|
|
162
167
|
"next": "次へ",
|
|
163
168
|
"dotsLabel": "スライドを選択",
|
|
164
169
|
"goToSlide": "{index} 番目のスライドへ"
|
|
170
|
+
},
|
|
171
|
+
"listRow": {
|
|
172
|
+
"unread": "未読",
|
|
173
|
+
"read": "既読"
|
|
165
174
|
}
|
|
166
175
|
},
|
|
167
176
|
"ui": {
|
|
@@ -289,7 +298,11 @@
|
|
|
289
298
|
"densitySwitch": "{density} 表示に切り替え",
|
|
290
299
|
"rowActions": "行の操作",
|
|
291
300
|
"empty": "データがありません",
|
|
292
|
-
"loading": "読み込み中…"
|
|
301
|
+
"loading": "読み込み中…",
|
|
302
|
+
"error": "一覧を取得できませんでした",
|
|
303
|
+
"errorDescription": "データを取得できませんでした。時間をおいて再試行してください。",
|
|
304
|
+
"denied": "この一覧を表示する権限がありません",
|
|
305
|
+
"deniedDescription": "閲覧するには管理者に権限の付与を依頼してください。"
|
|
293
306
|
},
|
|
294
307
|
"dataGrid": {
|
|
295
308
|
"search": "検索",
|
|
@@ -301,6 +314,10 @@
|
|
|
301
314
|
},
|
|
302
315
|
"status": {
|
|
303
316
|
"active": "有効",
|
|
317
|
+
"trialing": "試用中",
|
|
318
|
+
"past_due": "支払期限超過",
|
|
319
|
+
"incomplete": "未完了",
|
|
320
|
+
"canceled": "解約済み",
|
|
304
321
|
"completed": "完了",
|
|
305
322
|
"delivered": "配達済み",
|
|
306
323
|
"done": "完了",
|
|
@@ -350,6 +367,8 @@
|
|
|
350
367
|
"chart": {
|
|
351
368
|
"empty": "データがありません",
|
|
352
369
|
"summaryCartesian": "{series}系列・{points}データ点のグラフ",
|
|
353
|
-
"summaryPie": "{slices}区分の円グラフ"
|
|
370
|
+
"summaryPie": "{slices}区分の円グラフ",
|
|
371
|
+
"summaryTrend": "{points}データ点の推移棒グラフ",
|
|
372
|
+
"trendCurrent": "現在"
|
|
354
373
|
}
|
|
355
374
|
}
|
|
@@ -145,6 +145,11 @@
|
|
|
145
145
|
"mainLabel": "Nội dung chính",
|
|
146
146
|
"footerLabel": "Chân trang"
|
|
147
147
|
},
|
|
148
|
+
"legalDocumentShell": {
|
|
149
|
+
"contents": "Mục lục",
|
|
150
|
+
"version": "Phiên bản {version}",
|
|
151
|
+
"effectiveDate": "Hiệu lực từ {date}"
|
|
152
|
+
},
|
|
148
153
|
"topbar": {
|
|
149
154
|
"toggleSidebar": "Bật/tắt thanh bên",
|
|
150
155
|
"search": "Tìm kiếm",
|
|
@@ -162,6 +167,10 @@
|
|
|
162
167
|
"next": "Sau",
|
|
163
168
|
"dotsLabel": "Chọn slide",
|
|
164
169
|
"goToSlide": "Đến slide {index}"
|
|
170
|
+
},
|
|
171
|
+
"listRow": {
|
|
172
|
+
"unread": "Chưa đọc",
|
|
173
|
+
"read": "Đã đọc"
|
|
165
174
|
}
|
|
166
175
|
},
|
|
167
176
|
"ui": {
|
|
@@ -289,7 +298,11 @@
|
|
|
289
298
|
"densitySwitch": "Chuyển sang mật độ {density}",
|
|
290
299
|
"rowActions": "Thao tác dòng",
|
|
291
300
|
"empty": "Chưa có dữ liệu",
|
|
292
|
-
"loading": "Đang tải…"
|
|
301
|
+
"loading": "Đang tải…",
|
|
302
|
+
"error": "Không tải được danh sách này",
|
|
303
|
+
"errorDescription": "Không lấy được dữ liệu. Vui lòng thử lại sau giây lát.",
|
|
304
|
+
"denied": "Bạn không có quyền xem danh sách này",
|
|
305
|
+
"deniedDescription": "Hãy đề nghị quản trị viên cấp quyền xem các bản ghi này."
|
|
293
306
|
},
|
|
294
307
|
"dataGrid": {
|
|
295
308
|
"search": "Tìm kiếm",
|
|
@@ -301,6 +314,10 @@
|
|
|
301
314
|
},
|
|
302
315
|
"status": {
|
|
303
316
|
"active": "Đang hoạt động",
|
|
317
|
+
"trialing": "Đang dùng thử",
|
|
318
|
+
"past_due": "Quá hạn thanh toán",
|
|
319
|
+
"incomplete": "Chưa hoàn tất",
|
|
320
|
+
"canceled": "Đã huỷ",
|
|
304
321
|
"completed": "Hoàn thành",
|
|
305
322
|
"delivered": "Đã giao",
|
|
306
323
|
"done": "Xong",
|
|
@@ -350,6 +367,8 @@
|
|
|
350
367
|
"chart": {
|
|
351
368
|
"empty": "Không có dữ liệu",
|
|
352
369
|
"summaryCartesian": "Biểu đồ gồm {series} chuỗi trên {points} điểm dữ liệu",
|
|
353
|
-
"summaryPie": "Biểu đồ tròn gồm {slices} phần"
|
|
370
|
+
"summaryPie": "Biểu đồ tròn gồm {slices} phần",
|
|
371
|
+
"summaryTrend": "Biểu đồ cột xu hướng gồm {points} điểm dữ liệu",
|
|
372
|
+
"trendCurrent": "hiện tại"
|
|
354
373
|
}
|
|
355
374
|
}
|
package/dist/inertia/index.d.ts
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { ComponentType, ReactNode } from "react";
|
|
1
2
|
import type { FormStateAdapter } from "../props/components/form.prop.js";
|
|
3
|
+
import type { SidebarLinkComponentProp } from "../props/components/layout.prop.js";
|
|
2
4
|
/**
|
|
3
5
|
* Structural shape of Inertia's `useForm` return that the adapter needs. Duck-typed on purpose —
|
|
4
6
|
* `@godxjp/ui` keeps ZERO dependency on `@inertiajs/react`; the real `useForm()` object satisfies
|
|
@@ -63,3 +65,51 @@ export declare function useInertiaField<TData extends Record<string, unknown>>(f
|
|
|
63
65
|
};
|
|
64
66
|
}) => void;
|
|
65
67
|
};
|
|
68
|
+
/**
|
|
69
|
+
* Structural shape of Inertia's `<Link>` that the Sidebar adapter needs. Duck-typed on purpose —
|
|
70
|
+
* `@godxjp/ui` keeps ZERO dependency on `@inertiajs/react`; the real `Link` satisfies this shape,
|
|
71
|
+
* so a consumer passes it directly with no import from this package.
|
|
72
|
+
*/
|
|
73
|
+
export interface InertiaLinkLike {
|
|
74
|
+
href: string;
|
|
75
|
+
className?: string;
|
|
76
|
+
children?: ReactNode;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Bind Inertia's `<Link>` as the Sidebar's row element (gh#213).
|
|
80
|
+
*
|
|
81
|
+
* The LIBRARY still composes every row — the 16px icon slot, the label, the badge, `data-active` /
|
|
82
|
+
* `aria-current`, the icon-only collapsed rail and its tooltip name — and hands it to the link as
|
|
83
|
+
* `children`. The consumer supplies ONLY the element, so the class of production regression where a
|
|
84
|
+
* consumer `renderItem` returned `<Link>{item.label}</Link>` and silently dropped every sidebar icon
|
|
85
|
+
* is no longer expressible.
|
|
86
|
+
*
|
|
87
|
+
* A disabled row has no destination; Inertia's `Link` requires a string `href` and would visit `""`,
|
|
88
|
+
* so the adapter renders an inert `<a>` for that case while keeping the canonical row class and
|
|
89
|
+
* `aria-disabled`.
|
|
90
|
+
*
|
|
91
|
+
* React Router / TanStack Router use `to` instead of `href` — use
|
|
92
|
+
* `createSidebarLink(Link, "to")` from `@godxjp/ui/layout` for those.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```tsx
|
|
96
|
+
* import { Link } from "@inertiajs/react";
|
|
97
|
+
* import { Sidebar } from "@godxjp/ui/layout";
|
|
98
|
+
* import { inertiaSidebarLink } from "@godxjp/ui/inertia";
|
|
99
|
+
*
|
|
100
|
+
* const NavLink = inertiaSidebarLink(Link);
|
|
101
|
+
*
|
|
102
|
+
* <Sidebar
|
|
103
|
+
* activeId={page.component}
|
|
104
|
+
* linkComponent={NavLink}
|
|
105
|
+
* sections={[
|
|
106
|
+
* { label: "Operations", items: [
|
|
107
|
+
* { id: "dashboard", label: t("nav.dashboard"), icon: LayoutDashboard, href: "/dashboard" },
|
|
108
|
+
* { id: "invoices", label: t("nav.invoices"), icon: Receipt, href: "/invoices",
|
|
109
|
+
* badge: <Badge tone="info">{unread}</Badge> },
|
|
110
|
+
* ] },
|
|
111
|
+
* ]}
|
|
112
|
+
* />;
|
|
113
|
+
* ```
|
|
114
|
+
*/
|
|
115
|
+
export declare function inertiaSidebarLink<P extends InertiaLinkLike>(Link: ComponentType<P>): SidebarLinkComponentProp;
|
package/dist/inertia/index.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
+
import { createSidebarLink } from "../components/layout/sidebar-link.js";
|
|
2
3
|
function inertiaAdapter(form) {
|
|
3
4
|
return {
|
|
4
5
|
getValue: (name) => form.data[name],
|
|
@@ -16,7 +17,11 @@ function useInertiaField(form, name) {
|
|
|
16
17
|
onChange: (event) => form.setData(name, event?.target?.value)
|
|
17
18
|
};
|
|
18
19
|
}
|
|
20
|
+
function inertiaSidebarLink(Link) {
|
|
21
|
+
return createSidebarLink(Link, "href");
|
|
22
|
+
}
|
|
19
23
|
export {
|
|
20
24
|
inertiaAdapter,
|
|
25
|
+
inertiaSidebarLink,
|
|
21
26
|
useInertiaField
|
|
22
27
|
};
|
|
@@ -73,13 +73,23 @@ export type AppSettingPickerProp = {
|
|
|
73
73
|
* sized to the setting. `"icon"` renders a supported square, icon-only topbar trigger (e.g. a
|
|
74
74
|
* globe language switcher): it structurally drops the value text and the picker's owned width —
|
|
75
75
|
* no descendant-selector CSS overrides needed — while always keeping the localized `aria-label`,
|
|
76
|
-
* so an icon-only trigger can never ship without an accessible name.
|
|
76
|
+
* so an icon-only trigger can never ship without an accessible name. `"inline"` renders the
|
|
77
|
+
* selected value as a compact text trigger for legal/auth footers without a field-like box.
|
|
77
78
|
*
|
|
78
79
|
* Default is kind-dependent: `kind="locale"` defaults to `"icon"` (its product contract is the
|
|
79
80
|
* compact language switcher); every other kind defaults to `"labeled"`. Override explicitly for
|
|
80
81
|
* e.g. a labeled locale row inside a settings form (`appearance="labeled"`).
|
|
81
82
|
*/
|
|
82
83
|
appearance?: AppSettingPickerAppearanceProp;
|
|
84
|
+
/**
|
|
85
|
+
* Compact presentation (gh#217) — re-tiers the trigger box to `--control-height-sm` and drops the
|
|
86
|
+
* picker's owned per-kind width so a LABELLED trigger hugs its value. Use it for an auth/legal
|
|
87
|
+
* footer locale switch (`kind="locale" appearance="labeled" compact`), where the square icon-only
|
|
88
|
+
* default reads as a stray button and the full labelled trigger is too tall. All geometry is
|
|
89
|
+
* tokenized (`--app-setting-picker-compact-*`). No effect on `appearance="inline"`, which is
|
|
90
|
+
* already chrome-less. Default `false`.
|
|
91
|
+
*/
|
|
92
|
+
compact?: boolean;
|
|
83
93
|
className?: ClassNameProp;
|
|
84
94
|
disabled?: DisabledProp;
|
|
85
95
|
id?: IdProp;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** Charts component prop types — @see docs/COMPONENTS.md#charts (tree-shaken `@godxjp/ui/charts`). */
|
|
2
|
-
import type
|
|
2
|
+
import type * as React from "react";
|
|
3
|
+
import type { ClassNameProp, DescriptionProp, EmptyMessageProp, FooterProp, IdProp, LabelProp, SizeProp } from "../vocabulary/index.js";
|
|
3
4
|
/** A single row of chart data — category accessor + one numeric value per series. */
|
|
4
5
|
export type ChartDatum = Record<string, string | number | null | undefined>;
|
|
5
6
|
/** One plotted series — `dataKey` accesses the value, `label` is the already-translated legend text. */
|
|
@@ -50,6 +51,44 @@ export type BarChartProp = ChartCartesianBase & {
|
|
|
50
51
|
/** Lay bars out horizontally (category on the y-axis). */
|
|
51
52
|
horizontal?: boolean;
|
|
52
53
|
};
|
|
54
|
+
/**
|
|
55
|
+
* @see CompactBarTrend
|
|
56
|
+
*
|
|
57
|
+
* Dependency-free (no `recharts`) compact vertical bar trend: N category/value
|
|
58
|
+
* pairs, muted marks plus ONE emphasized "current" mark. Every dimension resolves
|
|
59
|
+
* from `--chart-trend-*` tokens, so a screen never writes CSS or an inline height.
|
|
60
|
+
*/
|
|
61
|
+
export type CompactBarTrendProp = {
|
|
62
|
+
/** Row data — one bar per row. Not limited to seven points. */
|
|
63
|
+
data: ChartDatum[];
|
|
64
|
+
/** Key into each datum holding the category (tick) label. */
|
|
65
|
+
categoryKey: string;
|
|
66
|
+
/** Key into each datum holding the plotted numeric value. */
|
|
67
|
+
valueKey: string;
|
|
68
|
+
/** Accessible name + visible caption for the chart. REQUIRED (role="img" needs a name). */
|
|
69
|
+
label: LabelProp;
|
|
70
|
+
/** Extra context appended to the screen-reader description. */
|
|
71
|
+
description?: DescriptionProp;
|
|
72
|
+
/** Plot-height tier — `xs|sm|md|lg`. Defaults to `xs` (dashboard summary-card density). */
|
|
73
|
+
size?: SizeProp;
|
|
74
|
+
/**
|
|
75
|
+
* Index of the emphasized ("current") bar. Negative counts from the end
|
|
76
|
+
* (`-1` = the latest datum); out of range = no emphasis. Never colour-only —
|
|
77
|
+
* the emphasized row is annotated in the screen-reader text alternative.
|
|
78
|
+
*/
|
|
79
|
+
emphasizedIndex?: number;
|
|
80
|
+
/** Render the category tick labels under the plot. */
|
|
81
|
+
showCategoryLabels?: boolean;
|
|
82
|
+
/** `Intl.NumberFormat` options for the values in the text alternative (locale is automatic). */
|
|
83
|
+
numberFormat?: Intl.NumberFormatOptions;
|
|
84
|
+
/** Activity footer slot rendered below the plot, outside the `role="img"` graphic. */
|
|
85
|
+
footer?: FooterProp;
|
|
86
|
+
/** Message shown when `data` is empty. Defaults to a localized "no data". */
|
|
87
|
+
emptyMessage?: EmptyMessageProp;
|
|
88
|
+
className?: ClassNameProp;
|
|
89
|
+
id?: IdProp;
|
|
90
|
+
ref?: React.Ref<HTMLElement>;
|
|
91
|
+
};
|
|
53
92
|
/** @see AreaChart */
|
|
54
93
|
export type AreaChartProp = ChartCartesianBase & {
|
|
55
94
|
/** Stack series areas instead of overlaying them. */
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/** Data Display component prop types — @see docs/COMPONENTS.md#data-display */
|
|
2
2
|
import type * as React from "react";
|
|
3
|
-
import type { ActionProp, ClassNameProp, DescriptionProp, IconProp, TitleProp, ColumnDefProp, GetRowIdProp, OnRowClickProp, OnSelectChangeProp, OnSortChangeProp, OnTableDensityChangeProp, SelectedIdsProp, SortStateProp, TableDensityProp, ChildrenProp, ToneProp, HeadingLevelProp, SizeProp, LabelProp, IdProp } from "../vocabulary/index.js";
|
|
3
|
+
import type { ActionProp, ClassNameProp, DescriptionProp, IconProp, TitleProp, ColumnDefProp, GetRowIdProp, OnRowClickProp, OnSelectChangeProp, OnSortChangeProp, OnTableDensityChangeProp, SelectedIdsProp, SortStateProp, TableDensityProp, ChildrenProp, ToneProp, HeadingLevelProp, HandlerProp, SizeProp, LabelProp, IdProp } from "../vocabulary/index.js";
|
|
4
4
|
/** @see EmptyState */
|
|
5
5
|
/**
|
|
6
6
|
* Semantic intent of the EmptyState icon medallion — a subset of the shared `ToneProp` vocabulary
|
|
@@ -136,6 +136,18 @@ export type DataTableProp<T> = {
|
|
|
136
136
|
onSortChange?: OnSortChangeProp;
|
|
137
137
|
loading?: boolean;
|
|
138
138
|
empty?: React.ReactNode;
|
|
139
|
+
/**
|
|
140
|
+
* Failure state (#216). `true` = built-in localized message (with a retry when `onRetry` is
|
|
141
|
+
* given); any other node replaces it. `false`/`undefined` = the read succeeded.
|
|
142
|
+
*/
|
|
143
|
+
error?: React.ReactNode;
|
|
144
|
+
/**
|
|
145
|
+
* Permission-denied state (#216) — refused, not failed. `true` = built-in localized message
|
|
146
|
+
* with NO retry. Takes precedence over `error`.
|
|
147
|
+
*/
|
|
148
|
+
denied?: React.ReactNode;
|
|
149
|
+
/** Retry handler surfaced by the built-in `error` state. */
|
|
150
|
+
onRetry?: HandlerProp;
|
|
139
151
|
className?: ClassNameProp;
|
|
140
152
|
children?: ChildrenProp;
|
|
141
153
|
};
|
|
@@ -62,6 +62,16 @@ export type AlertActionsProp = React.HTMLAttributes<HTMLDivElement> & {
|
|
|
62
62
|
className?: ClassNameProp;
|
|
63
63
|
children?: ChildrenProp;
|
|
64
64
|
};
|
|
65
|
+
/**
|
|
66
|
+
* @see SheetContent — responsive drawer / detail-panel presentation contract.
|
|
67
|
+
*
|
|
68
|
+
* - `"side"` (default) — always the physical `side` panel the consumer named. Today's behaviour.
|
|
69
|
+
* - `"auto"` — desktop side panel above `--sheet-responsive-breakpoint-width`, mobile bottom sheet
|
|
70
|
+
* at and below it. The breakpoint is a token, so a service moves the line once for every overlay.
|
|
71
|
+
* - `"bottom"` — always the mobile bottom-sheet presentation (deterministic embedded surfaces,
|
|
72
|
+
* component tests, and composites that already decided they are on a compact viewport).
|
|
73
|
+
*/
|
|
74
|
+
export type SheetResponsiveProp = "auto" | "side" | "bottom";
|
|
65
75
|
/** @see SkeletonRows */
|
|
66
76
|
export type SkeletonRowsProp = {
|
|
67
77
|
rows?: number;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
export type { AppShellProp, PageContainerProp, PageInsetProp, SidebarItemProp, SidebarProductProp, SidebarProp, SidebarSectionProp, TopbarProp, } from "./layout.prop.js";
|
|
1
|
+
export type { AppShellProp, AuthFooterProp, AuthIdentityProp, OrgSwitcherLabels, OrgSwitcherOrganization, OrgSwitcherProp, PageContainerProp, PageInsetProp, SidebarItemProp, SidebarProductProp, SidebarProp, SidebarSectionProp, TopbarProp, } from "./layout.prop.js";
|
|
2
2
|
export type { ButtonProp } from "./general.prop.js";
|
|
3
3
|
export type { InputProp, TextareaProp, FormFieldProp, SearchInputProp, CheckboxProp, CheckboxGroupProp, ChoiceOptionProp, RadioProp, RadioGroupProp, SwitchProp, SliderProp, CalendarProp, DatePickerProp, DateRangePickerProp, TimePickerProp, ColorPickerProp, UploadProp, UploadFileItemProp, UploadVariantProp, TreeOptionProp, TreeFieldNamesProp, CascaderProp, TreeSelectProp, ShowCheckedStrategyProp, TransferProp, TransferItemProp, } from "./data-entry.prop.js";
|
|
4
4
|
export type { EmptyStateProp, DescriptionsProp, DescriptionsItemProp, BadgeProp, DataTableProp, QrCodeProp, } from "./data-display.prop.js";
|
|
5
5
|
export type { ChartDatum, ChartSeriesProp, LineChartProp, BarChartProp, AreaChartProp, PieChartProp, } from "./charts.prop.js";
|
|
6
|
-
export type { AlertQueryErrorProp, AlertProp, AlertTitleProp, AlertContentProp, AlertDescriptionProp, AlertActionsProp, SkeletonRowsProp, } from "./feedback.prop.js";
|
|
6
|
+
export type { AlertQueryErrorProp, AlertProp, AlertTitleProp, AlertContentProp, AlertDescriptionProp, AlertActionsProp, SheetResponsiveProp, SkeletonRowsProp, } from "./feedback.prop.js";
|
|
7
7
|
export type { DataStateProp, InfiniteQueryStateProp, InfiniteQueryHelpers, PrefetchLinkProp, } from "./query.prop.js";
|
|
8
8
|
export type { PaginationProp, StepsProp, StepItemProp, StepStatusProp, TabsProp, TabItemProp, } from "./navigation.prop.js";
|
|
9
9
|
export type { AppProviderProp, AppContextValue, AppSettingKind, AppSettingPickerProp, } from "./app.prop.js";
|