@godxjp/ui 18.4.0 → 18.6.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.
Files changed (159) hide show
  1. package/README.md +16 -1
  2. package/dist/app/theme-axes.d.ts +11 -3
  3. package/dist/app/theme-axes.js +2 -1
  4. package/dist/components/charts/chart-frame.d.ts +17 -3
  5. package/dist/components/charts/chart-frame.js +7 -1
  6. package/dist/components/charts/chart-summary.d.ts +21 -0
  7. package/dist/components/charts/chart-summary.js +32 -5
  8. package/dist/components/charts/compact-bar-trend.d.ts +30 -0
  9. package/dist/components/charts/compact-bar-trend.js +74 -0
  10. package/dist/components/charts/index.d.ts +6 -0
  11. package/dist/components/charts/index.js +2 -0
  12. package/dist/components/data-display/badge.d.ts +8 -0
  13. package/dist/components/data-display/badge.js +7 -1
  14. package/dist/components/data-display/data-table.d.ts +40 -4
  15. package/dist/components/data-display/data-table.js +69 -2
  16. package/dist/components/data-display/empty-state.js +1 -1
  17. package/dist/components/data-display/index.d.ts +4 -2
  18. package/dist/components/data-display/index.js +10 -1
  19. package/dist/components/data-display/list-row.d.ts +41 -4
  20. package/dist/components/data-display/list-row.js +23 -3
  21. package/dist/components/data-display/qr-code.d.ts +1 -1
  22. package/dist/components/data-display/service-launcher-card.d.ts +40 -0
  23. package/dist/components/data-display/service-launcher-card.js +97 -0
  24. package/dist/components/data-display/table.d.ts +47 -2
  25. package/dist/components/data-display/table.js +29 -4
  26. package/dist/components/data-entry/command-palette.d.ts +37 -0
  27. package/dist/components/data-entry/command-palette.js +125 -0
  28. package/dist/components/data-entry/command.d.ts +10 -10
  29. package/dist/components/data-entry/index.d.ts +3 -0
  30. package/dist/components/data-entry/index.js +2 -0
  31. package/dist/components/data-entry/input-otp.d.ts +1 -0
  32. package/dist/components/feedback/dialog.d.ts +16 -1
  33. package/dist/components/feedback/dialog.js +46 -33
  34. package/dist/components/feedback/index.d.ts +5 -2
  35. package/dist/components/feedback/index.js +8 -2
  36. package/dist/components/feedback/sheet.d.ts +26 -4
  37. package/dist/components/feedback/sheet.js +54 -7
  38. package/dist/components/feedback/two-factor-setup.d.ts +31 -0
  39. package/dist/components/feedback/two-factor-setup.js +97 -0
  40. package/dist/components/general/index.d.ts +1 -1
  41. package/dist/components/general/logo.d.ts +49 -9
  42. package/dist/components/general/logo.js +67 -14
  43. package/dist/components/layout/app-shell.d.ts +1 -1
  44. package/dist/components/layout/app-shell.js +55 -30
  45. package/dist/components/layout/auth-account-summary.d.ts +5 -0
  46. package/dist/components/layout/auth-account-summary.js +31 -0
  47. package/dist/components/layout/auth-divider.d.ts +7 -0
  48. package/dist/components/layout/auth-divider.js +21 -0
  49. package/dist/components/layout/auth-footer.d.ts +5 -0
  50. package/dist/components/layout/auth-footer.js +24 -0
  51. package/dist/components/layout/auth-identity.d.ts +5 -0
  52. package/dist/components/layout/auth-identity.js +17 -0
  53. package/dist/components/layout/auth-shell.d.ts +9 -1
  54. package/dist/components/layout/auth-shell.js +25 -6
  55. package/dist/components/layout/auth-stack.d.ts +4 -0
  56. package/dist/components/layout/auth-stack.js +8 -0
  57. package/dist/components/layout/centered-shell.d.ts +5 -2
  58. package/dist/components/layout/centered-shell.js +29 -19
  59. package/dist/components/layout/error-surface.d.ts +35 -0
  60. package/dist/components/layout/error-surface.js +155 -0
  61. package/dist/components/layout/flex.d.ts +1 -1
  62. package/dist/components/layout/flex.js +4 -0
  63. package/dist/components/layout/index.d.ts +23 -3
  64. package/dist/components/layout/index.js +21 -2
  65. package/dist/components/layout/legal-document-shell.d.ts +34 -0
  66. package/dist/components/layout/legal-document-shell.js +186 -0
  67. package/dist/components/layout/master-detail.d.ts +24 -0
  68. package/dist/components/layout/master-detail.js +48 -0
  69. package/dist/components/layout/org-switcher.d.ts +9 -0
  70. package/dist/components/layout/org-switcher.js +218 -0
  71. package/dist/components/layout/page-container.d.ts +1 -1
  72. package/dist/components/layout/page-container.js +7 -2
  73. package/dist/components/layout/sidebar-link.d.ts +43 -0
  74. package/dist/components/layout/sidebar-link.js +13 -0
  75. package/dist/components/layout/sidebar.d.ts +42 -5
  76. package/dist/components/layout/sidebar.js +170 -85
  77. package/dist/components/navigation/app-setting-picker.js +17 -6
  78. package/dist/components/navigation/filter-bar.d.ts +12 -3
  79. package/dist/components/navigation/filter-bar.js +8 -2
  80. package/dist/components/navigation/index.d.ts +2 -2
  81. package/dist/components/navigation/index.js +3 -1
  82. package/dist/components/navigation/steps.js +38 -19
  83. package/dist/components/navigation/tabs-scroll.d.ts +70 -0
  84. package/dist/components/navigation/tabs-scroll.js +76 -0
  85. package/dist/components/navigation/tabs.js +47 -23
  86. package/dist/components/ui/avatar.d.ts +2 -1
  87. package/dist/components/ui/avatar.js +2 -1
  88. package/dist/components/ui/input-otp.d.ts +4 -1
  89. package/dist/components/ui/input-otp.js +2 -1
  90. package/dist/components/ui/toggle-group.d.ts +7 -4
  91. package/dist/components/ui/toggle-group.js +32 -21
  92. package/dist/email/brand-mark.d.ts +108 -0
  93. package/dist/email/brand-mark.js +88 -0
  94. package/dist/email/color.d.ts +53 -0
  95. package/dist/email/color.js +37 -0
  96. package/dist/email/geometry.d.ts +120 -0
  97. package/dist/email/geometry.js +90 -0
  98. package/dist/email/index.d.ts +83 -0
  99. package/dist/email/index.js +82 -0
  100. package/dist/email/inline-style.d.ts +27 -0
  101. package/dist/email/inline-style.js +26 -0
  102. package/dist/email/tokens.generated.d.ts +167 -0
  103. package/dist/email/tokens.generated.js +162 -0
  104. package/dist/email/urgency.d.ts +22 -0
  105. package/dist/email/urgency.js +14 -0
  106. package/dist/i18n/messages/en.json +36 -3
  107. package/dist/i18n/messages/ja.json +36 -3
  108. package/dist/i18n/messages/vi.json +36 -3
  109. package/dist/inertia/index.d.ts +50 -0
  110. package/dist/inertia/index.js +5 -0
  111. package/dist/props/components/app.prop.d.ts +11 -1
  112. package/dist/props/components/charts.prop.d.ts +40 -1
  113. package/dist/props/components/data-display.prop.d.ts +75 -1
  114. package/dist/props/components/data-entry.prop.d.ts +6 -0
  115. package/dist/props/components/feedback.prop.d.ts +10 -0
  116. package/dist/props/components/index.d.ts +3 -3
  117. package/dist/props/components/layout.prop.d.ts +560 -10
  118. package/dist/props/components/layout.prop.js +1 -0
  119. package/dist/props/components/navigation.prop.d.ts +24 -2
  120. package/dist/props/registry.d.ts +433 -8
  121. package/dist/props/registry.js +527 -9
  122. package/dist/props/vocabulary/data.prop.d.ts +27 -0
  123. package/dist/props/vocabulary/index.d.ts +3 -3
  124. package/dist/props/vocabulary/interaction.prop.d.ts +10 -1
  125. package/dist/props/vocabulary/layout.prop.d.ts +49 -0
  126. package/dist/styles/base.css +8 -2
  127. package/dist/styles/card-layout.css +161 -7
  128. package/dist/styles/chart-layout.css +97 -0
  129. package/dist/styles/control.css +76 -2
  130. package/dist/styles/data-display-layout.css +78 -6
  131. package/dist/styles/dialog-layout.css +105 -4
  132. package/dist/styles/fonts.css +15 -4
  133. package/dist/styles/index.css +11 -3
  134. package/dist/styles/layout.css +466 -1
  135. package/dist/styles/logo-layout.css +95 -0
  136. package/dist/styles/navigation-layout.css +152 -0
  137. package/dist/styles/shell-layout.css +790 -40
  138. package/dist/styles/table-layout.css +164 -1
  139. package/dist/theme/dxs.canonical.css +77 -0
  140. package/dist/tokens/axes.css +40 -0
  141. package/dist/tokens/base.css +6 -0
  142. package/dist/tokens/components/card.css +48 -0
  143. package/dist/tokens/components/chart.css +47 -0
  144. package/dist/tokens/components/control.css +16 -0
  145. package/dist/tokens/components/data-display.css +13 -0
  146. package/dist/tokens/components/email.css +93 -0
  147. package/dist/tokens/components/error-surface.css +36 -0
  148. package/dist/tokens/components/feedback.css +17 -0
  149. package/dist/tokens/components/legal-document.css +67 -0
  150. package/dist/tokens/components/list-row.css +43 -2
  151. package/dist/tokens/components/logo.css +74 -0
  152. package/dist/tokens/components/navigation.css +28 -0
  153. package/dist/tokens/components/sheet.css +19 -0
  154. package/dist/tokens/components/shell.css +210 -0
  155. package/dist/tokens/components/sidebar.css +33 -0
  156. package/dist/tokens/components/table.css +45 -0
  157. package/dist/tokens/foundation.css +31 -2
  158. package/dist/tokens/semantic/layout.css +69 -2
  159. package/package.json +22 -5
@@ -1,4 +1,47 @@
1
1
  @layer components {
2
+ .ui-app-setting-picker-inline {
3
+ width: auto;
4
+ min-height: 0;
5
+ height: auto;
6
+ border: 0;
7
+ border-radius: 0;
8
+ padding: 0;
9
+ background: transparent;
10
+ box-shadow: none;
11
+ color: inherit;
12
+ font: inherit;
13
+ }
14
+
15
+ [data-slot="auth-legal-footer"] .ui-app-setting-picker-inline {
16
+ width: auto;
17
+ min-height: 0;
18
+ height: auto;
19
+ border-width: 0;
20
+ border-radius: 0;
21
+ padding: 0;
22
+ background: transparent;
23
+ box-shadow: none;
24
+ }
25
+
26
+ .ui-app-setting-picker-inline:hover,
27
+ .ui-app-setting-picker-inline[data-state="open"] {
28
+ background: transparent;
29
+ color: hsl(var(--foreground));
30
+ text-decoration: underline;
31
+ }
32
+
33
+ /*
34
+ * AppSettingPicker `compact` (gh#217) — a small, content-hugging LABELLED trigger for auth /
35
+ * legal footers: it keeps the icon, the readable value and the real control chrome (so it is
36
+ * obviously a switcher), but re-tiers the box to --control-height-sm and drops the picker's owned
37
+ * per-kind width. Every value is a token; the height comes from the official control tier, never
38
+ * a literal or an ad-hoc calc.
39
+ */
40
+ .ui-app-setting-picker-compact {
41
+ --control-height: var(--app-setting-picker-compact-control-height);
42
+ --control-padding-x: var(--app-setting-picker-compact-padding-x);
43
+ --control-font-size: var(--app-setting-picker-compact-font-size);
44
+ }
2
45
  [data-slot="tabs-list"] {
3
46
  max-inline-size: var(--tabs-list-max-inline-size);
4
47
  overflow-x: var(--tabs-list-overflow);
@@ -6,6 +49,45 @@
6
49
  scrollbar-width: thin;
7
50
  }
8
51
 
52
+ /* Tabs `line` — the ACTIVE decoration is a token-owned bar and nothing else (gh#248). It is
53
+ * deliberately painted here (not as an `after:*` utility) so it stays independent of the
54
+ * `:focus-visible` ring utilities: "selected" and "keyboard-focused" are two different states and
55
+ * must remain visually distinct (WCAG 2.4.7). Logical insets keep the vertical rail on the
56
+ * inline-END edge under dir="rtl" too. */
57
+ [data-slot="tabs-list"][data-variant="line"] [data-slot="tabs-trigger"]::after {
58
+ content: "";
59
+ position: absolute;
60
+ background: var(--tabs-indicator-background, hsl(var(--primary)));
61
+ opacity: 0;
62
+ transition: opacity var(--duration-fast) var(--ease-standard);
63
+ pointer-events: none;
64
+ }
65
+
66
+ [data-slot="tabs-list"][data-variant="line"][data-orientation="horizontal"]
67
+ [data-slot="tabs-trigger"]::after {
68
+ inset-inline: 0;
69
+ inset-block-end: calc(-1 * var(--tabs-indicator-offset));
70
+ block-size: var(--tabs-indicator-size);
71
+ }
72
+
73
+ [data-slot="tabs-list"][data-variant="line"][data-orientation="vertical"]
74
+ [data-slot="tabs-trigger"]::after {
75
+ inset-block: 0;
76
+ inset-inline-end: calc(-1 * var(--tabs-indicator-offset));
77
+ inline-size: var(--tabs-indicator-size);
78
+ }
79
+
80
+ [data-slot="tabs-list"][data-variant="line"]
81
+ [data-slot="tabs-trigger"][data-state="active"]::after {
82
+ opacity: 1;
83
+ }
84
+
85
+ @media (prefers-reduced-motion: reduce) {
86
+ [data-slot="tabs-list"][data-variant="line"] [data-slot="tabs-trigger"]::after {
87
+ transition: none;
88
+ }
89
+ }
90
+
9
91
  .ui-context-menu-content {
10
92
  z-index: 50;
11
93
  min-width: 10rem;
@@ -277,3 +359,73 @@
277
359
  transform-origin: center;
278
360
  }
279
361
  }
362
+
363
+ @layer components {
364
+ .ui-steps-inline {
365
+ display: flex;
366
+ width: 100%;
367
+ flex-wrap: wrap;
368
+ align-items: center;
369
+ justify-content: center;
370
+ gap: var(--steps-inline-gap);
371
+ font-size: var(--steps-inline-font-size);
372
+ line-height: var(--line-height-tight);
373
+ }
374
+
375
+ .ui-steps-inline-item {
376
+ display: inline-flex;
377
+ min-width: 0;
378
+ flex: 0 1 auto;
379
+ align-items: center;
380
+ gap: var(--steps-inline-gap);
381
+ text-align: start;
382
+ }
383
+
384
+ .ui-steps-inline-control {
385
+ display: inline-flex;
386
+ min-width: 0;
387
+ align-items: center;
388
+ gap: var(--steps-inline-item-gap);
389
+ border-radius: var(--radius-sm);
390
+ outline: none;
391
+ }
392
+
393
+ button.ui-steps-inline-control:focus-visible {
394
+ box-shadow: 0 0 0 var(--focus-ring-width) hsl(var(--focus-ring-color, var(--ring)));
395
+ }
396
+
397
+ .ui-steps-inline-index {
398
+ flex: none;
399
+ font-variant-numeric: tabular-nums;
400
+ font-weight: var(--font-weight-bold);
401
+ }
402
+
403
+ .ui-steps-inline-title {
404
+ min-width: 0;
405
+ overflow-wrap: anywhere;
406
+ }
407
+
408
+ .ui-steps-inline-item[data-status="finish"] .ui-steps-inline-control {
409
+ color: hsl(var(--primary));
410
+ }
411
+
412
+ .ui-steps-inline-item[data-status="process"] .ui-steps-inline-control {
413
+ color: hsl(var(--foreground));
414
+ font-weight: var(--font-weight-medium);
415
+ }
416
+
417
+ .ui-steps-inline-item[data-status="error"] .ui-steps-inline-control {
418
+ color: hsl(var(--destructive));
419
+ }
420
+
421
+ .ui-steps-inline-item[data-status="wait"] .ui-steps-inline-control,
422
+ .ui-steps-inline-separator {
423
+ color: hsl(var(--muted-foreground));
424
+ }
425
+
426
+ .ui-steps-inline-separator {
427
+ width: var(--steps-inline-separator-size);
428
+ height: var(--steps-inline-separator-size);
429
+ flex: none;
430
+ }
431
+ }