@godxjp/ui 18.1.0 → 18.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app/app-provider.d.ts +2 -1
- package/dist/components/charts/area-chart.d.ts +1 -1
- package/dist/components/charts/bar-chart.d.ts +1 -1
- package/dist/components/charts/chart-cartesian.d.ts +1 -1
- package/dist/components/charts/chart-frame.d.ts +1 -1
- package/dist/components/charts/line-chart.d.ts +1 -1
- package/dist/components/charts/pie-chart.d.ts +1 -1
- package/dist/components/data-display/badge.d.ts +1 -1
- package/dist/components/data-display/card.d.ts +1 -1
- package/dist/components/data-display/credential-reveal.d.ts +2 -0
- package/dist/components/data-display/credential-reveal.js +5 -0
- package/dist/components/data-display/data-table.d.ts +10 -10
- package/dist/components/data-display/descriptions.d.ts +2 -2
- package/dist/components/data-display/empty-state.d.ts +1 -1
- package/dist/components/data-display/index.d.ts +2 -0
- package/dist/components/data-display/index.js +2 -0
- package/dist/components/data-display/popover.d.ts +6 -6
- package/dist/components/data-display/progress.d.ts +2 -1
- package/dist/components/data-display/timeline.d.ts +1 -1
- package/dist/components/data-display/tree-list.d.ts +1 -1
- package/dist/components/data-entry/calendar.d.ts +1 -1
- package/dist/components/data-entry/cascader.d.ts +2 -1
- package/dist/components/data-entry/checkbox-group.d.ts +2 -1
- package/dist/components/data-entry/color-picker.d.ts +2 -1
- package/dist/components/data-entry/date-picker.d.ts +2 -1
- package/dist/components/data-entry/date-range-picker.d.ts +2 -1
- package/dist/components/data-entry/field.d.ts +2 -1
- package/dist/components/data-entry/form-field.d.ts +2 -1
- package/dist/components/data-entry/month-picker.d.ts +2 -1
- package/dist/components/data-entry/month-range-picker.d.ts +2 -1
- package/dist/components/data-entry/password-strength.d.ts +1 -1
- package/dist/components/data-entry/radio.d.ts +1 -1
- package/dist/components/data-entry/search-input.d.ts +1 -1
- package/dist/components/data-entry/search-select.d.ts +2 -1
- package/dist/components/data-entry/select.d.ts +3 -3
- package/dist/components/data-entry/time-picker.d.ts +2 -1
- package/dist/components/data-entry/transfer.d.ts +2 -1
- package/dist/components/data-entry/tree-select.d.ts +2 -1
- package/dist/components/data-entry/upload-crop-dialog.d.ts +2 -1
- package/dist/components/data-entry/upload.d.ts +2 -1
- package/dist/components/feedback/alert.d.ts +1 -1
- package/dist/components/feedback/dialog.d.ts +21 -14
- package/dist/components/feedback/dialog.js +43 -11
- package/dist/components/feedback/sheet.d.ts +7 -7
- package/dist/components/feedback/skeleton.d.ts +5 -5
- package/dist/components/feedback/sonner.d.ts +2 -1
- package/dist/components/feedback/tooltip.d.ts +2 -2
- package/dist/components/general/button.js +1 -1
- package/dist/components/general/reveal.d.ts +1 -1
- package/dist/components/layout/app-shell.d.ts +2 -1
- package/dist/components/layout/app-shell.js +1 -1
- package/dist/components/layout/auth-shell.d.ts +1 -1
- package/dist/components/layout/breadcrumb.d.ts +1 -1
- package/dist/components/layout/centered-shell.d.ts +1 -1
- package/dist/components/layout/flex.d.ts +1 -1
- package/dist/components/layout/page-container.d.ts +2 -2
- package/dist/components/layout/resizable.d.ts +3 -3
- package/dist/components/layout/responsive-grid.d.ts +1 -1
- package/dist/components/layout/sidebar.d.ts +4 -4
- package/dist/components/layout/split-pane.d.ts +1 -1
- package/dist/components/layout/topbar.d.ts +1 -1
- package/dist/components/navigation/context-menu.d.ts +2 -2
- package/dist/components/navigation/dropdown-menu.d.ts +7 -7
- package/dist/components/navigation/filter-bar.d.ts +2 -2
- package/dist/components/navigation/filter-bar.js +8 -2
- package/dist/components/navigation/menubar.d.ts +3 -3
- package/dist/components/navigation/pagination.d.ts +2 -2
- package/dist/components/navigation/steps.d.ts +2 -1
- package/dist/components/navigation/tabs.d.ts +1 -1
- package/dist/components/query/data-state.d.ts +2 -1
- package/dist/components/query/infinite-query-state.d.ts +2 -1
- package/dist/components/query/mutation-feedback.d.ts +1 -1
- package/dist/components/query/prefetch-link.d.ts +2 -1
- package/dist/components/query/query-refetch-button.d.ts +1 -1
- package/dist/components/ui/credential-reveal.d.ts +12 -0
- package/dist/components/ui/credential-reveal.js +160 -0
- package/dist/components/ui/hover-card.d.ts +1 -1
- package/dist/form/form-field-control.d.ts +1 -1
- package/dist/form/form-root.d.ts +1 -1
- package/dist/i18n/messages/en.json +14 -1
- package/dist/i18n/messages/ja.json +14 -1
- package/dist/i18n/messages/vi.json +14 -1
- package/dist/lib/permission-grid.d.ts +59 -0
- package/dist/lib/permission-grid.js +32 -0
- package/dist/props/components/data-display.prop.d.ts +49 -1
- package/dist/props/components/feedback.prop.d.ts +4 -0
- package/dist/props/components/navigation.prop.d.ts +8 -1
- package/dist/props/registry.d.ts +19 -1
- package/dist/props/registry.js +35 -1
- package/dist/props/vocabulary/data.prop.d.ts +6 -0
- package/dist/props/vocabulary/index.d.ts +1 -1
- package/dist/styles/control.css +9 -1
- package/dist/styles/data-display-layout.css +50 -0
- package/dist/styles/layout.css +10 -0
- package/dist/styles/shell-layout.css +19 -11
- package/dist/tokens/components/navigation.css +7 -0
- package/dist/tokens/foundation.css +8 -4
- package/package.json +55 -46
|
@@ -484,4 +484,54 @@
|
|
|
484
484
|
gap: var(--space-2);
|
|
485
485
|
margin-inline-start: auto;
|
|
486
486
|
}
|
|
487
|
+
|
|
488
|
+
/* CredentialReveal — one-time secret surface: caution banner, masked/revealed value row with
|
|
489
|
+
* copy/reveal/download actions, and an optional acknowledge footer. Density-aware via the
|
|
490
|
+
* --control-height tier; colours/spacing read semantic role tokens only. */
|
|
491
|
+
.ui-credential-reveal {
|
|
492
|
+
display: flex;
|
|
493
|
+
flex-direction: column;
|
|
494
|
+
gap: var(--space-stack-sm);
|
|
495
|
+
}
|
|
496
|
+
.ui-credential-reveal-warning {
|
|
497
|
+
margin-block-end: var(--space-1);
|
|
498
|
+
}
|
|
499
|
+
.ui-credential-reveal-surface {
|
|
500
|
+
display: flex;
|
|
501
|
+
flex-direction: column;
|
|
502
|
+
gap: var(--space-1);
|
|
503
|
+
}
|
|
504
|
+
.ui-credential-reveal-label {
|
|
505
|
+
display: inline-block;
|
|
506
|
+
}
|
|
507
|
+
.ui-credential-reveal-row {
|
|
508
|
+
display: flex;
|
|
509
|
+
align-items: center;
|
|
510
|
+
gap: var(--space-inline-sm);
|
|
511
|
+
min-height: var(--control-height);
|
|
512
|
+
padding-block: var(--space-1);
|
|
513
|
+
padding-inline: var(--space-3);
|
|
514
|
+
border: 1px solid hsl(var(--border));
|
|
515
|
+
border-radius: var(--control-radius);
|
|
516
|
+
background: hsl(var(--muted) / 0.4);
|
|
517
|
+
}
|
|
518
|
+
.ui-credential-reveal-secret {
|
|
519
|
+
flex: 1 1 auto;
|
|
520
|
+
min-width: 0;
|
|
521
|
+
letter-spacing: 0.02em;
|
|
522
|
+
word-break: break-all;
|
|
523
|
+
}
|
|
524
|
+
.ui-credential-reveal-secret[data-state="masked"] {
|
|
525
|
+
color: hsl(var(--muted-foreground));
|
|
526
|
+
}
|
|
527
|
+
.ui-credential-reveal-actions {
|
|
528
|
+
display: inline-flex;
|
|
529
|
+
flex-shrink: 0;
|
|
530
|
+
align-items: center;
|
|
531
|
+
gap: var(--space-inline-xs);
|
|
532
|
+
}
|
|
533
|
+
.ui-credential-reveal-footer {
|
|
534
|
+
display: flex;
|
|
535
|
+
justify-content: flex-end;
|
|
536
|
+
}
|
|
487
537
|
}
|
package/dist/styles/layout.css
CHANGED
|
@@ -717,6 +717,16 @@
|
|
|
717
717
|
}
|
|
718
718
|
}
|
|
719
719
|
|
|
720
|
+
/* Toolbar `sticky` (#197): pin the filter strip while the list scrolls beneath it.
|
|
721
|
+
* `inset-block-start` (not `top`) keeps it RTL/vertical-writing-mode safe; the fill only
|
|
722
|
+
* paints in this pinned variant so a non-sticky toolbar stays transparent chrome. */
|
|
723
|
+
.ui-toolbar-sticky {
|
|
724
|
+
position: sticky;
|
|
725
|
+
inset-block-start: var(--filter-bar-sticky-offset);
|
|
726
|
+
z-index: 20;
|
|
727
|
+
background: hsl(var(--filter-bar-sticky-background, var(--background)));
|
|
728
|
+
}
|
|
729
|
+
|
|
720
730
|
.ui-toolbar-clear {
|
|
721
731
|
width: 100%;
|
|
722
732
|
}
|
|
@@ -235,7 +235,7 @@
|
|
|
235
235
|
font-size: var(--font-size-base);
|
|
236
236
|
}
|
|
237
237
|
|
|
238
|
-
@media (
|
|
238
|
+
@media (width < 64rem) {
|
|
239
239
|
.app-root,
|
|
240
240
|
.app-root[data-collapsed="true"] {
|
|
241
241
|
grid-template-areas:
|
|
@@ -602,26 +602,34 @@
|
|
|
602
602
|
color: hsl(var(--muted-foreground));
|
|
603
603
|
}
|
|
604
604
|
|
|
605
|
-
[data-collapsed="true"] .sb-
|
|
606
|
-
|
|
605
|
+
:is(.app-root[data-collapsed="true"] > .app-sidebar, .sb-root[data-collapsed="true"])
|
|
606
|
+
.sb-user-meta,
|
|
607
|
+
:is(.app-root[data-collapsed="true"] > .app-sidebar, .sb-root[data-collapsed="true"])
|
|
608
|
+
.sb-user-menu {
|
|
607
609
|
display: none;
|
|
608
610
|
}
|
|
609
611
|
|
|
610
|
-
[data-collapsed="true"] .sb-
|
|
611
|
-
|
|
612
|
-
[data-collapsed="true"] .sb-
|
|
613
|
-
|
|
614
|
-
[data-collapsed="true"] .sb-
|
|
615
|
-
|
|
612
|
+
:is(.app-root[data-collapsed="true"] > .app-sidebar, .sb-root[data-collapsed="true"])
|
|
613
|
+
.sb-product-name,
|
|
614
|
+
:is(.app-root[data-collapsed="true"] > .app-sidebar, .sb-root[data-collapsed="true"])
|
|
615
|
+
.sb-product-tenant,
|
|
616
|
+
:is(.app-root[data-collapsed="true"] > .app-sidebar, .sb-root[data-collapsed="true"])
|
|
617
|
+
.sb-product-caret,
|
|
618
|
+
:is(.app-root[data-collapsed="true"] > .app-sidebar, .sb-root[data-collapsed="true"])
|
|
619
|
+
.sb-section-label,
|
|
620
|
+
:is(.app-root[data-collapsed="true"] > .app-sidebar, .sb-root[data-collapsed="true"]) .sb-label,
|
|
621
|
+
:is(.app-root[data-collapsed="true"] > .app-sidebar, .sb-root[data-collapsed="true"]) .sb-badge {
|
|
616
622
|
display: none;
|
|
617
623
|
}
|
|
618
624
|
|
|
619
|
-
[data-collapsed="true"] .sb-
|
|
625
|
+
:is(.app-root[data-collapsed="true"] > .app-sidebar, .sb-root[data-collapsed="true"])
|
|
626
|
+
.sb-product {
|
|
620
627
|
justify-content: center;
|
|
621
628
|
padding: 0;
|
|
622
629
|
}
|
|
623
630
|
|
|
624
|
-
[data-collapsed="true"] .sb-
|
|
631
|
+
:is(.app-root[data-collapsed="true"] > .app-sidebar, .sb-root[data-collapsed="true"])
|
|
632
|
+
.sb-nav-item {
|
|
625
633
|
width: var(--control-height);
|
|
626
634
|
justify-content: center;
|
|
627
635
|
margin-inline: auto;
|
|
@@ -20,4 +20,11 @@
|
|
|
20
20
|
* Defaults = hsl(var(--accent)) fill · hsl(var(--accent-foreground)) text. */
|
|
21
21
|
--menubar-item-hover-background: initial;
|
|
22
22
|
--menubar-item-hover-foreground: initial;
|
|
23
|
+
|
|
24
|
+
/* Sticky offset for the pinned filter strip (Toolbar `sticky`, #197). Default 0 (chrome,
|
|
25
|
+
* rule #44); raise it so the strip parks below a fixed topbar. */
|
|
26
|
+
--filter-bar-sticky-offset: 0px;
|
|
27
|
+
/* Fill painted only when the filter strip is pinned. Role-mirror knob (rule #45): `initial`
|
|
28
|
+
* so --background re-resolves at the call site under a scoped [data-tenant]/.dark theme. */
|
|
29
|
+
--filter-bar-sticky-background: initial;
|
|
23
30
|
}
|
|
@@ -359,8 +359,12 @@
|
|
|
359
359
|
--muted-foreground: 44 6% 64%;
|
|
360
360
|
--accent: 45 7% 22%;
|
|
361
361
|
--accent-foreground: 60 20% 96%;
|
|
362
|
-
|
|
363
|
-
|
|
362
|
+
/* Filled destructive surfaces (button/badge/step) must clear WCAG AA (4.5:1) with comfortable
|
|
363
|
+
* margin, not sit on the floor (gh#199 — dark default was 4.54:1). Base darkened 52%→48% and the
|
|
364
|
+
* on-fill text lifted to pure white → ~5.5:1; states go DARKER (never lighter, which cut contrast
|
|
365
|
+
* against the light label). Error TEXT on dark surfaces uses --text-error, not this fill token. */
|
|
366
|
+
--destructive: 357 55% 48%;
|
|
367
|
+
--destructive-foreground: 0 0% 100%;
|
|
364
368
|
--border: 45 6% 22%;
|
|
365
369
|
--input: 45 6% 22%;
|
|
366
370
|
--ring: 204 90% 60%;
|
|
@@ -388,6 +392,6 @@
|
|
|
388
392
|
--primary-active: 204 90% 72%;
|
|
389
393
|
--secondary-hover: 45 6% 22%;
|
|
390
394
|
--secondary-active: 45 6% 26%;
|
|
391
|
-
--destructive-hover: 357 55%
|
|
392
|
-
--destructive-active: 357 55%
|
|
395
|
+
--destructive-hover: 357 55% 43%;
|
|
396
|
+
--destructive-active: 357 55% 38%;
|
|
393
397
|
}
|
package/package.json
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@godxjp/ui",
|
|
3
|
-
"version": "18.
|
|
4
|
-
"godxUiMcp": "18.0
|
|
3
|
+
"version": "18.2.0",
|
|
4
|
+
"godxUiMcp": "18.2.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "pnpm@10.29.1",
|
|
7
|
+
"pnpm": {
|
|
8
|
+
"overrides": {
|
|
9
|
+
"esbuild": ">=0.28.1"
|
|
10
|
+
}
|
|
11
|
+
},
|
|
7
12
|
"sideEffects": false,
|
|
8
13
|
"description": "@godxjp/ui — shared React UI framework (shadcn + Radix + Tailwind v4).",
|
|
9
14
|
"files": [
|
|
@@ -108,6 +113,10 @@
|
|
|
108
113
|
"types": "./dist/lib/utils.d.ts",
|
|
109
114
|
"import": "./dist/lib/utils.js"
|
|
110
115
|
},
|
|
116
|
+
"./lib/permission-grid": {
|
|
117
|
+
"types": "./dist/lib/permission-grid.d.ts",
|
|
118
|
+
"import": "./dist/lib/permission-grid.js"
|
|
119
|
+
},
|
|
111
120
|
"./hooks": {
|
|
112
121
|
"types": "./dist/lib/hooks.d.ts",
|
|
113
122
|
"import": "./dist/lib/hooks.js"
|
|
@@ -367,32 +376,32 @@
|
|
|
367
376
|
"@date-fns/tz": "^1.5.0",
|
|
368
377
|
"@fontsource/montserrat": "^5.2.8",
|
|
369
378
|
"@fontsource/noto-sans-jp": "^5.2.9",
|
|
370
|
-
"@radix-ui/react-accordion": "^1.2.
|
|
371
|
-
"@radix-ui/react-alert-dialog": "^1.1.
|
|
372
|
-
"@radix-ui/react-aspect-ratio": "^1.1.
|
|
373
|
-
"@radix-ui/react-avatar": "^1.
|
|
374
|
-
"@radix-ui/react-checkbox": "^1.3.
|
|
375
|
-
"@radix-ui/react-collapsible": "^1.1.
|
|
376
|
-
"@radix-ui/react-context": "^1.
|
|
377
|
-
"@radix-ui/react-context-menu": "^2.
|
|
378
|
-
"@radix-ui/react-dialog": "^1.1.
|
|
379
|
-
"@radix-ui/react-dropdown-menu": "^2.1.
|
|
380
|
-
"@radix-ui/react-hover-card": "^1.1.
|
|
381
|
-
"@radix-ui/react-label": "^2.1.
|
|
382
|
-
"@radix-ui/react-menubar": "^1.1.
|
|
383
|
-
"@radix-ui/react-navigation-menu": "^1.2.
|
|
384
|
-
"@radix-ui/react-popover": "^1.1.
|
|
385
|
-
"@radix-ui/react-radio-group": "^1.3
|
|
386
|
-
"@radix-ui/react-scroll-area": "^1.2.
|
|
387
|
-
"@radix-ui/react-select": "^2.
|
|
388
|
-
"@radix-ui/react-separator": "^1.1.
|
|
389
|
-
"@radix-ui/react-slider": "^1.3
|
|
390
|
-
"@radix-ui/react-slot": "^1.
|
|
391
|
-
"@radix-ui/react-switch": "^1.
|
|
392
|
-
"@radix-ui/react-tabs": "^1.1.
|
|
393
|
-
"@radix-ui/react-toggle": "^1.1.
|
|
394
|
-
"@radix-ui/react-toggle-group": "^1.1.
|
|
395
|
-
"@radix-ui/react-tooltip": "^1.2.
|
|
379
|
+
"@radix-ui/react-accordion": "^1.2.16",
|
|
380
|
+
"@radix-ui/react-alert-dialog": "^1.1.19",
|
|
381
|
+
"@radix-ui/react-aspect-ratio": "^1.1.11",
|
|
382
|
+
"@radix-ui/react-avatar": "^1.2.2",
|
|
383
|
+
"@radix-ui/react-checkbox": "^1.3.7",
|
|
384
|
+
"@radix-ui/react-collapsible": "^1.1.16",
|
|
385
|
+
"@radix-ui/react-context": "^1.2.0",
|
|
386
|
+
"@radix-ui/react-context-menu": "^2.3.3",
|
|
387
|
+
"@radix-ui/react-dialog": "^1.1.19",
|
|
388
|
+
"@radix-ui/react-dropdown-menu": "^2.1.20",
|
|
389
|
+
"@radix-ui/react-hover-card": "^1.1.19",
|
|
390
|
+
"@radix-ui/react-label": "^2.1.11",
|
|
391
|
+
"@radix-ui/react-menubar": "^1.1.20",
|
|
392
|
+
"@radix-ui/react-navigation-menu": "^1.2.18",
|
|
393
|
+
"@radix-ui/react-popover": "^1.1.19",
|
|
394
|
+
"@radix-ui/react-radio-group": "^1.4.3",
|
|
395
|
+
"@radix-ui/react-scroll-area": "^1.2.14",
|
|
396
|
+
"@radix-ui/react-select": "^2.3.3",
|
|
397
|
+
"@radix-ui/react-separator": "^1.1.11",
|
|
398
|
+
"@radix-ui/react-slider": "^1.4.3",
|
|
399
|
+
"@radix-ui/react-slot": "^1.3.0",
|
|
400
|
+
"@radix-ui/react-switch": "^1.3.3",
|
|
401
|
+
"@radix-ui/react-tabs": "^1.1.17",
|
|
402
|
+
"@radix-ui/react-toggle": "^1.1.14",
|
|
403
|
+
"@radix-ui/react-toggle-group": "^1.1.15",
|
|
404
|
+
"@radix-ui/react-tooltip": "^1.2.12",
|
|
396
405
|
"@tanstack/react-table": "^8.21.3",
|
|
397
406
|
"class-variance-authority": "^0.7.1",
|
|
398
407
|
"clsx": "^2.1.1",
|
|
@@ -400,9 +409,9 @@
|
|
|
400
409
|
"date-fns": "^4.1.0",
|
|
401
410
|
"embla-carousel-react": "^8.6.0",
|
|
402
411
|
"input-otp": "^1.4.2",
|
|
403
|
-
"lucide-react": "^1.
|
|
412
|
+
"lucide-react": "^1.25.0",
|
|
404
413
|
"react-day-picker": "^10.0.1",
|
|
405
|
-
"react-resizable-panels": "^4.
|
|
414
|
+
"react-resizable-panels": "^4.12.2",
|
|
406
415
|
"sonner": "^2.0.7",
|
|
407
416
|
"tailwind-merge": "^3.5.0",
|
|
408
417
|
"tailwindcss-animate": "^1.0.7",
|
|
@@ -411,17 +420,17 @@
|
|
|
411
420
|
"devDependencies": {
|
|
412
421
|
"@axe-core/playwright": "^4.12.1",
|
|
413
422
|
"@eslint/js": "^9.39.4",
|
|
414
|
-
"@hookform/resolvers": "^5.
|
|
415
|
-
"@tailwindcss/vite": "^4.
|
|
416
|
-
"@tanstack/react-query": "^5.
|
|
423
|
+
"@hookform/resolvers": "^5.4.0",
|
|
424
|
+
"@tailwindcss/vite": "^4.3.3",
|
|
425
|
+
"@tanstack/react-query": "^5.101.2",
|
|
417
426
|
"@testing-library/jest-dom": "^6.9.1",
|
|
418
427
|
"@testing-library/react": "^16.3.2",
|
|
419
428
|
"@testing-library/user-event": "^14.6.1",
|
|
420
429
|
"@types/node": "^22.19.19",
|
|
421
|
-
"@types/react": "^19.2.
|
|
430
|
+
"@types/react": "^19.2.17",
|
|
422
431
|
"@types/react-dom": "^19.2.3",
|
|
423
|
-
"@vitejs/plugin-react": "^6.0.
|
|
424
|
-
"@vitest/coverage-v8": "^4.1.
|
|
432
|
+
"@vitejs/plugin-react": "^6.0.3",
|
|
433
|
+
"@vitest/coverage-v8": "^4.1.10",
|
|
425
434
|
"axe-core": "^4.12.1",
|
|
426
435
|
"eslint": "^9.39.2",
|
|
427
436
|
"eslint-plugin-react": "^7.37.5",
|
|
@@ -429,19 +438,19 @@
|
|
|
429
438
|
"globals": "^15.15.0",
|
|
430
439
|
"jsdom": "^29.1.1",
|
|
431
440
|
"playwright": "^1.61.1",
|
|
432
|
-
"prettier": "^3.
|
|
441
|
+
"prettier": "^3.9.5",
|
|
433
442
|
"prettier-plugin-tailwindcss": "^0.6.14",
|
|
434
|
-
"react": "^19.2.
|
|
435
|
-
"react-dom": "^19.2.
|
|
436
|
-
"react-hook-form": "^7.
|
|
437
|
-
"react-router-dom": "^7.
|
|
438
|
-
"recharts": "^3.
|
|
439
|
-
"tailwindcss": "^4.
|
|
443
|
+
"react": "^19.2.7",
|
|
444
|
+
"react-dom": "^19.2.7",
|
|
445
|
+
"react-hook-form": "^7.81.0",
|
|
446
|
+
"react-router-dom": "^7.18.1",
|
|
447
|
+
"recharts": "^3.9.2",
|
|
448
|
+
"tailwindcss": "^4.3.3",
|
|
440
449
|
"tsup": "^8.5.1",
|
|
441
450
|
"typescript": "^6.0.3",
|
|
442
|
-
"typescript-eslint": "^8.
|
|
443
|
-
"vite": "^8.
|
|
444
|
-
"vitest": "^4.1.
|
|
451
|
+
"typescript-eslint": "^8.64.0",
|
|
452
|
+
"vite": "^8.1.5",
|
|
453
|
+
"vitest": "^4.1.10",
|
|
445
454
|
"vitest-axe": "1.0.0-pre.5",
|
|
446
455
|
"zod": "^4.4.3"
|
|
447
456
|
},
|