@godxjp/ui 19.2.0 → 19.3.1
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/badge.d.ts +18 -2
- package/dist/components/data-display/badge.js +18 -4
- package/dist/props/components/data-display.prop.d.ts +7 -0
- package/dist/props/registry.d.ts +5 -1
- package/dist/props/registry.js +12 -1
- package/dist/styles/badge-layout.css +15 -0
- package/dist/tokens/components/badge.css +8 -0
- package/docs/data-display/badge.tsx +36 -0
- package/docs/data-display/carousel.tsx +8 -4
- package/docs/data-display/data-table/examples/grid-features.tsx +1 -1
- package/docs/data-display/permission-matrix.tsx +13 -9
- package/docs/data-display/popover.tsx +2 -1
- package/docs/data-display/scroll-area.tsx +107 -75
- package/docs/data-display/table.tsx +1 -1
- package/docs/data-entry/calendar.tsx +1 -1
- package/docs/data-entry/checkbox.tsx +1 -1
- package/docs/data-entry/country-picker-recipe.tsx +11 -6
- package/docs/data-entry/form-field/index.tsx +33 -29
- package/docs/data-entry/form-root.tsx +1 -1
- package/docs/data-entry/password-input.tsx +1 -5
- package/docs/data-entry/select.tsx +7 -7
- package/docs/data-entry/textarea.tsx +2 -2
- package/docs/feedback/sheet.tsx +112 -102
- package/docs/feedback/skeleton.tsx +2 -2
- package/docs/foundation/colors.tsx +8 -6
- package/docs/foundation/email-tokens.tsx +82 -65
- package/docs/foundation/radius-shadow.tsx +13 -11
- package/docs/layout/app-shell.tsx +2 -2
- package/docs/layout/aspect-ratio.tsx +30 -14
- package/docs/layout/flex.tsx +6 -2
- package/docs/layout/page-container.tsx +9 -1
- package/docs/layout/responsive-grid.tsx +10 -2
- package/docs/layout/sidebar.tsx +169 -146
- package/docs/layout/split-pane.tsx +44 -27
- package/docs/layout/topbar.tsx +17 -15
- package/docs/navigation/app-setting-picker.tsx +5 -4
- package/docs/navigation/breadcrumb.tsx +12 -5
- package/docs/navigation/context-menu.tsx +10 -4
- package/docs/navigation/navigation-menu.tsx +89 -96
- package/docs/navigation/steps.tsx +12 -10
- package/docs/navigation/tabs.tsx +26 -20
- package/docs/navigation/toolbar.tsx +15 -15
- package/docs/providers/format-date.tsx +2 -2
- package/docs/showcase/acme-portal.tsx +41 -27
- package/docs/showcase/acme-website.tsx +60 -54
- package/docs/showcase/case1-warehouse-dashboard.tsx +46 -30
- package/docs/showcase/case2-employee-me.tsx +23 -20
- package/docs/showcase/case3-approval-workflow.tsx +34 -32
- package/docs/showcase/case4-login.tsx +119 -113
- package/docs/showcase/case5-shift-calendar.tsx +3 -3
- package/docs/showcase/case6-agency-handy.tsx +340 -299
- package/docs/showcase/futurelastic-web.tsx +23 -21
- package/docs/showcase/org-switcher.tsx +2 -2
- package/docs/showcase/permission-matrix.tsx +7 -4
- package/docs/showcase/table-conditional-format.tsx +8 -8
- package/docs/showcase/table-crud-list.tsx +3 -3
- package/docs/showcase/table-density.tsx +49 -42
- package/docs/showcase/table-expandable-rows.tsx +24 -15
- package/docs/showcase/table-filter-chips.tsx +2 -7
- package/docs/showcase/table-footer-totals.tsx +7 -4
- package/docs/showcase/table-grouped-subtotals.tsx +25 -22
- package/docs/showcase/table-master-detail.tsx +15 -10
- package/docs/showcase/table-pagination.tsx +34 -27
- package/docs/showcase/table-states.tsx +8 -5
- package/docs/showcase/table-sticky-columns.tsx +8 -5
- package/package.json +2 -3
|
@@ -26,6 +26,7 @@ import * as React from "react";
|
|
|
26
26
|
import {
|
|
27
27
|
Badge,
|
|
28
28
|
Card,
|
|
29
|
+
CardAction,
|
|
29
30
|
CardContent,
|
|
30
31
|
CardHeader,
|
|
31
32
|
CardTitle,
|
|
@@ -145,11 +146,13 @@ function NumberedPaginationCard() {
|
|
|
145
146
|
|
|
146
147
|
return (
|
|
147
148
|
<Card>
|
|
148
|
-
<CardHeader
|
|
149
|
+
<CardHeader>
|
|
149
150
|
<CardTitle level={2}>番号付き + 件数選択</CardTitle>
|
|
150
|
-
<
|
|
151
|
-
|
|
152
|
-
|
|
151
|
+
<CardAction>
|
|
152
|
+
<Text size="xs" tone="muted" tabular>
|
|
153
|
+
全 {NUMBERED_DATA.length} 件
|
|
154
|
+
</Text>
|
|
155
|
+
</CardAction>
|
|
153
156
|
</CardHeader>
|
|
154
157
|
<CardContent flush>
|
|
155
158
|
<DataTable data={rows} columns={columns} getRowId={(row) => row.id} density="compact" />
|
|
@@ -198,11 +201,13 @@ function LoadMoreCard() {
|
|
|
198
201
|
|
|
199
202
|
return (
|
|
200
203
|
<Card>
|
|
201
|
-
<CardHeader
|
|
204
|
+
<CardHeader>
|
|
202
205
|
<CardTitle level={2}>もっと読む</CardTitle>
|
|
203
|
-
<
|
|
204
|
-
|
|
205
|
-
|
|
206
|
+
<CardAction>
|
|
207
|
+
<Text size="xs" tone="muted" tabular>
|
|
208
|
+
{rows.length} / {LOADMORE_DATA.length} 件表示
|
|
209
|
+
</Text>
|
|
210
|
+
</CardAction>
|
|
206
211
|
</CardHeader>
|
|
207
212
|
<CardContent flush>
|
|
208
213
|
<DataTable data={rows} columns={columns} getRowId={(row) => row.id} density="compact" />
|
|
@@ -263,26 +268,28 @@ function CursorPeriodCard() {
|
|
|
263
268
|
|
|
264
269
|
return (
|
|
265
270
|
<Card>
|
|
266
|
-
<CardHeader
|
|
271
|
+
<CardHeader>
|
|
267
272
|
<CardTitle level={2}>カーソル / 期間ジャンプ</CardTitle>
|
|
268
|
-
<
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
<
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
{p.
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
273
|
+
<CardAction>
|
|
274
|
+
<Select
|
|
275
|
+
value={period}
|
|
276
|
+
onValueChange={(v: string) => {
|
|
277
|
+
setPeriod(v);
|
|
278
|
+
setCursor(undefined); // jumping period resets the cursor to the first page
|
|
279
|
+
}}
|
|
280
|
+
>
|
|
281
|
+
<SelectTrigger size="sm" aria-label="期間を選択" className="w-36">
|
|
282
|
+
<SelectValue />
|
|
283
|
+
</SelectTrigger>
|
|
284
|
+
<SelectContent>
|
|
285
|
+
{PERIODS.map((p) => (
|
|
286
|
+
<SelectItem key={p.value} value={p.value}>
|
|
287
|
+
{p.label}
|
|
288
|
+
</SelectItem>
|
|
289
|
+
))}
|
|
290
|
+
</SelectContent>
|
|
291
|
+
</Select>
|
|
292
|
+
</CardAction>
|
|
286
293
|
</CardHeader>
|
|
287
294
|
<CardContent flush>
|
|
288
295
|
<DataTable data={rows} columns={columns} getRowId={(row) => row.id} density="compact" />
|
|
@@ -29,12 +29,13 @@ import { Button, Heading, Text } from "@godxjp/ui/general";
|
|
|
29
29
|
import {
|
|
30
30
|
Badge,
|
|
31
31
|
Card,
|
|
32
|
+
CardAction,
|
|
32
33
|
CardContent,
|
|
33
34
|
CardHeader,
|
|
34
35
|
CardTitle,
|
|
35
|
-
type ColumnDef,
|
|
36
36
|
DataTable,
|
|
37
37
|
EmptyState,
|
|
38
|
+
type ColumnDef,
|
|
38
39
|
} from "@godxjp/ui/data-display";
|
|
39
40
|
import {
|
|
40
41
|
Alert,
|
|
@@ -197,11 +198,13 @@ function TableShell({
|
|
|
197
198
|
}) {
|
|
198
199
|
return (
|
|
199
200
|
<Card>
|
|
200
|
-
<CardHeader
|
|
201
|
+
<CardHeader>
|
|
201
202
|
<CardTitle level={2}>本日の打刻</CardTitle>
|
|
202
|
-
<
|
|
203
|
-
|
|
204
|
-
|
|
203
|
+
<CardAction>
|
|
204
|
+
<Text size="xs" tone="muted">
|
|
205
|
+
{caption}
|
|
206
|
+
</Text>
|
|
207
|
+
</CardAction>
|
|
205
208
|
</CardHeader>
|
|
206
209
|
<CardContent flush>{children}</CardContent>
|
|
207
210
|
</Card>
|
|
@@ -22,8 +22,8 @@ import { Check } from "lucide-react";
|
|
|
22
22
|
import { Button, Text } from "@godxjp/ui/general";
|
|
23
23
|
import {
|
|
24
24
|
Badge,
|
|
25
|
-
type BadgeProps,
|
|
26
25
|
Card,
|
|
26
|
+
CardAction,
|
|
27
27
|
CardContent,
|
|
28
28
|
CardHeader,
|
|
29
29
|
CardTitle,
|
|
@@ -33,6 +33,7 @@ import {
|
|
|
33
33
|
TableHead,
|
|
34
34
|
TableHeader,
|
|
35
35
|
TableRow,
|
|
36
|
+
type BadgeProps,
|
|
36
37
|
} from "@godxjp/ui/data-display";
|
|
37
38
|
import { Flex, PageContainer } from "@godxjp/ui/layout";
|
|
38
39
|
|
|
@@ -221,11 +222,13 @@ export default function Demo() {
|
|
|
221
222
|
>
|
|
222
223
|
<Flex direction="col" gap="lg">
|
|
223
224
|
<Card>
|
|
224
|
-
<CardHeader
|
|
225
|
+
<CardHeader>
|
|
225
226
|
<CardTitle level={2}>2026年6月 第1週</CardTitle>
|
|
226
|
-
<
|
|
227
|
-
|
|
228
|
-
|
|
227
|
+
<CardAction>
|
|
228
|
+
<Text size="xs" tone="muted" tabular>
|
|
229
|
+
従業員 {EMPLOYEES.length} 名 · 横スクロールで全日表示
|
|
230
|
+
</Text>
|
|
231
|
+
</CardAction>
|
|
229
232
|
</CardHeader>
|
|
230
233
|
<CardContent flush>
|
|
231
234
|
{/* The scroll container. `overflow-x-auto` clips; the table holds a
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@godxjp/ui",
|
|
3
|
-
"version": "19.
|
|
4
|
-
"godxUiMcp": "19.
|
|
3
|
+
"version": "19.3.1",
|
|
4
|
+
"godxUiMcp": "19.3.1",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
@@ -333,7 +333,6 @@
|
|
|
333
333
|
"check:frame-contracts": "pnpm check:component-api-manifest && pnpm audit:component-cases && pnpm check:frame-coverage && pnpm check:frame-coverage-ledger && pnpm check:screen-reader-evidence && pnpm check:data-entry-owner-source && pnpm check:display-runtime-evidence",
|
|
334
334
|
"check:final-touch-rtl": "node scripts/check-final-touch-rtl.mjs",
|
|
335
335
|
"check:frame-runtime": "pnpm check:data-entry-frame-runtime && pnpm check:data-entry-touch-aria && pnpm check:layout-nav-frames && pnpm check:provider-feedback-query-runtime && pnpm check:layout-nav-closure && pnpm check:final-touch-rtl && pnpm check:data-table-pagination-wrap && pnpm check:button-icon-xs",
|
|
336
|
-
"pretest": "pnpm check:frame-coverage",
|
|
337
336
|
"verify": "pnpm typecheck && pnpm lint && pnpm format && pnpm build && pnpm preview:build && pnpm check:example-imports && pnpm check:core-isolation && pnpm check:no-consumer-coupling && pnpm check:prop-vocabulary && pnpm check:token-tiers && pnpm check:no-external-assets && pnpm check:token-scale-bypass && pnpm check:dist-tokens-resolve && pnpm check:no-hardcoded-geometry && pnpm check:no-hardcoded-css-values && pnpm check:no-inline-magic-numbers && pnpm check:no-tailwind-class-assertions && pnpm check:control-sizing && pnpm check:rtl && pnpm check:typography && pnpm check:mcp-sync && pnpm check:doc-prop-existence && pnpm check:mcp-catalog-coverage && pnpm check:mcp-orphans && pnpm check:mcp-pattern-imports && pnpm check:audit-sync && pnpm check:frame-coverage && pnpm test",
|
|
338
337
|
"verify:static": "pnpm build && pnpm check:packed-public-contract && pnpm typecheck && pnpm typecheck:docs && pnpm lint && pnpm preview:build && pnpm check:example-imports && pnpm check:core-isolation && pnpm check:no-consumer-coupling && pnpm check:use-client && pnpm check:prop-vocabulary && pnpm check:token-tiers && pnpm check:token-scale-bypass && pnpm check:dist-tokens-resolve && pnpm check:no-hardcoded-geometry && pnpm check:no-hardcoded-css-values && pnpm check:no-inline-magic-numbers && pnpm check:no-tailwind-class-assertions && pnpm check:control-sizing && pnpm check:rtl && pnpm check:typography && pnpm check:mcp-sync && pnpm check:doc-prop-existence && pnpm check:mcp-catalog-coverage && pnpm check:mcp-orphans && pnpm check:mcp-pattern-imports && pnpm check:audit-sync && pnpm check:mcp-prop-sync && pnpm check:contrast && pnpm check:visual-audit && pnpm test",
|
|
339
338
|
"verify:ci": "pnpm build && pnpm check:packed-public-contract && pnpm typecheck && pnpm typecheck:docs && pnpm lint && pnpm preview:build && pnpm check:example-imports && pnpm check:core-isolation && pnpm check:no-consumer-coupling && pnpm check:use-client && pnpm check:prop-vocabulary && pnpm check:token-tiers && pnpm check:token-scale-bypass && pnpm check:dist-tokens-resolve && pnpm check:no-hardcoded-geometry && pnpm check:no-hardcoded-css-values && pnpm check:no-inline-magic-numbers && pnpm check:no-tailwind-class-assertions && pnpm check:control-sizing && pnpm check:rtl && pnpm check:typography && pnpm check:mcp-sync && pnpm check:doc-prop-existence && pnpm check:mcp-catalog-coverage && pnpm check:mcp-orphans && pnpm check:mcp-pattern-imports && pnpm check:audit-sync && pnpm check:mcp-prop-sync && pnpm test",
|