@godxjp/ui 20.0.0 → 20.1.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 (250) hide show
  1. package/README.md +8 -2
  2. package/dist/app/theme-axes.d.ts +2 -0
  3. package/dist/app/theme-axes.js +45 -0
  4. package/dist/components/charts/chart-cartesian.d.ts +2 -1
  5. package/dist/components/charts/chart-cartesian.js +52 -3
  6. package/dist/components/charts/chart-category-axis.d.ts +55 -0
  7. package/dist/components/charts/chart-category-axis.js +93 -0
  8. package/dist/components/charts/chart-frame.d.ts +10 -1
  9. package/dist/components/charts/chart-frame.js +19 -3
  10. package/dist/components/charts/compact-bar-trend.d.ts +1 -1
  11. package/dist/components/charts/compact-bar-trend.js +2 -0
  12. package/dist/components/charts/pie-chart.d.ts +1 -1
  13. package/dist/components/charts/pie-chart.js +12 -1
  14. package/dist/components/charts/recharts-peer.d.ts +49 -0
  15. package/dist/components/charts/recharts-peer.js +45 -0
  16. package/dist/components/data-display/card.d.ts +12 -1
  17. package/dist/components/data-display/card.js +22 -4
  18. package/dist/components/data-display/code-block.js +6 -2
  19. package/dist/components/data-display/data-table.d.ts +39 -4
  20. package/dist/components/data-display/data-table.js +802 -270
  21. package/dist/components/data-display/descriptions.d.ts +27 -6
  22. package/dist/components/data-display/descriptions.js +58 -17
  23. package/dist/components/data-display/index.d.ts +2 -0
  24. package/dist/components/data-display/index.js +2 -0
  25. package/dist/components/data-display/list-row.d.ts +10 -1
  26. package/dist/components/data-display/list-row.js +7 -1
  27. package/dist/components/data-display/popover.d.ts +2 -2
  28. package/dist/components/data-display/popover.js +61 -11
  29. package/dist/components/data-display/range-timeline.d.ts +38 -0
  30. package/dist/components/data-display/range-timeline.js +161 -0
  31. package/dist/components/data-display/scroll-area.js +13 -2
  32. package/dist/components/data-display/service-launcher-card.js +10 -10
  33. package/dist/components/data-display/table.d.ts +11 -3
  34. package/dist/components/data-display/table.js +48 -18
  35. package/dist/components/data-display/tree-list.js +4 -9
  36. package/dist/components/data-entry/calendar.d.ts +2 -2
  37. package/dist/components/data-entry/calendar.js +12 -1
  38. package/dist/components/data-entry/cascader.d.ts +1 -1
  39. package/dist/components/data-entry/cascader.js +188 -24
  40. package/dist/components/data-entry/color-picker.d.ts +1 -1
  41. package/dist/components/data-entry/color-picker.js +17 -5
  42. package/dist/components/data-entry/control-appearance.d.ts +64 -0
  43. package/dist/components/data-entry/control-appearance.js +39 -0
  44. package/dist/components/data-entry/control-surface.d.ts +61 -0
  45. package/dist/components/data-entry/control-surface.js +39 -0
  46. package/dist/components/data-entry/date-picker.d.ts +1 -1
  47. package/dist/components/data-entry/date-picker.js +344 -113
  48. package/dist/components/data-entry/date-range-picker.d.ts +1 -1
  49. package/dist/components/data-entry/date-range-picker.js +278 -140
  50. package/dist/components/data-entry/form-field.d.ts +1 -1
  51. package/dist/components/data-entry/form-field.js +39 -4
  52. package/dist/components/data-entry/form.d.ts +4 -0
  53. package/dist/components/data-entry/form.js +4 -2
  54. package/dist/components/data-entry/index.d.ts +7 -3
  55. package/dist/components/data-entry/index.js +10 -1
  56. package/dist/components/data-entry/input-otp.d.ts +1 -1
  57. package/dist/components/data-entry/input.d.ts +12 -34
  58. package/dist/components/data-entry/input.js +92 -24
  59. package/dist/components/data-entry/month-picker.d.ts +1 -1
  60. package/dist/components/data-entry/month-picker.js +47 -10
  61. package/dist/components/data-entry/month-range-picker.d.ts +1 -1
  62. package/dist/components/data-entry/month-range-picker.js +51 -11
  63. package/dist/components/data-entry/number-input.d.ts +7 -0
  64. package/dist/components/data-entry/number-input.js +147 -98
  65. package/dist/components/data-entry/password-input.d.ts +1 -1
  66. package/dist/components/data-entry/radio.d.ts +1 -1
  67. package/dist/components/data-entry/radio.js +61 -13
  68. package/dist/components/data-entry/search-input.d.ts +1 -1
  69. package/dist/components/data-entry/search-input.js +16 -2
  70. package/dist/components/data-entry/search-select.d.ts +2 -2
  71. package/dist/components/data-entry/search-select.js +209 -78
  72. package/dist/components/data-entry/select.d.ts +22 -4
  73. package/dist/components/data-entry/select.js +215 -163
  74. package/dist/components/data-entry/slider.d.ts +9 -1
  75. package/dist/components/data-entry/slider.js +87 -9
  76. package/dist/components/data-entry/switch.d.ts +3 -0
  77. package/dist/components/data-entry/switch.js +29 -3
  78. package/dist/components/data-entry/textarea.d.ts +14 -56
  79. package/dist/components/data-entry/textarea.js +80 -33
  80. package/dist/components/data-entry/time-picker.d.ts +2 -2
  81. package/dist/components/data-entry/time-picker.js +333 -109
  82. package/dist/components/data-entry/time-range-picker.d.ts +5 -0
  83. package/dist/components/data-entry/time-range-picker.js +89 -0
  84. package/dist/components/data-entry/transfer.d.ts +1 -1
  85. package/dist/components/data-entry/transfer.js +86 -28
  86. package/dist/components/data-entry/tree-select.d.ts +1 -1
  87. package/dist/components/data-entry/tree-select.js +201 -113
  88. package/dist/components/data-entry/tree-utils.js +7 -14
  89. package/dist/components/data-entry/upload-files.d.ts +2 -0
  90. package/dist/components/data-entry/upload-files.js +31 -0
  91. package/dist/components/data-entry/upload-request.d.ts +4 -0
  92. package/dist/components/data-entry/upload-request.js +53 -0
  93. package/dist/components/data-entry/upload-types.d.ts +28 -0
  94. package/dist/components/data-entry/upload-types.js +2 -0
  95. package/dist/components/data-entry/upload.d.ts +2 -2
  96. package/dist/components/data-entry/upload.js +475 -115
  97. package/dist/components/feedback/dialog.js +16 -19
  98. package/dist/components/general/button.d.ts +1 -1
  99. package/dist/components/general/button.js +5 -1
  100. package/dist/components/general/index.d.ts +1 -0
  101. package/dist/components/general/index.js +2 -0
  102. package/dist/components/general/typography.d.ts +3 -0
  103. package/dist/components/general/typography.js +15 -1
  104. package/dist/components/general/visually-hidden.d.ts +3 -0
  105. package/dist/components/general/visually-hidden.js +9 -0
  106. package/dist/components/layout/app-launcher.d.ts +34 -0
  107. package/dist/components/layout/app-launcher.js +228 -0
  108. package/dist/components/layout/app-shell.d.ts +2 -0
  109. package/dist/components/layout/app-shell.js +20 -7
  110. package/dist/components/layout/breadcrumb.d.ts +14 -2
  111. package/dist/components/layout/breadcrumb.js +46 -4
  112. package/dist/components/layout/flex.d.ts +1 -1
  113. package/dist/components/layout/flex.js +23 -2
  114. package/dist/components/layout/index.d.ts +3 -0
  115. package/dist/components/layout/index.js +5 -1
  116. package/dist/components/layout/org-switcher.js +20 -1
  117. package/dist/components/layout/page-container.d.ts +1 -1
  118. package/dist/components/layout/page-container.js +5 -3
  119. package/dist/components/layout/responsive-grid.d.ts +16 -2
  120. package/dist/components/layout/responsive-grid.js +29 -2
  121. package/dist/components/layout/topbar-item.d.ts +3 -0
  122. package/dist/components/layout/topbar-item.js +18 -3
  123. package/dist/components/layout/topbar.d.ts +1 -1
  124. package/dist/components/layout/topbar.js +27 -6
  125. package/dist/components/navigation/dropdown-menu.d.ts +30 -2
  126. package/dist/components/navigation/dropdown-menu.js +68 -11
  127. package/dist/components/navigation/pagination.d.ts +2 -2
  128. package/dist/components/navigation/pagination.js +155 -83
  129. package/dist/components/navigation/steps.d.ts +2 -2
  130. package/dist/components/navigation/steps.js +29 -4
  131. package/dist/components/navigation/tabs.d.ts +5 -33
  132. package/dist/components/navigation/tabs.js +232 -64
  133. package/dist/components/ui/input-otp.d.ts +26 -28
  134. package/dist/components/ui/input-otp.js +50 -7
  135. package/dist/components/ui/password-input.d.ts +36 -2
  136. package/dist/components/ui/password-input.js +27 -7
  137. package/dist/components/ui/rating.d.ts +25 -0
  138. package/dist/components/ui/rating.js +67 -27
  139. package/dist/components/ui/segmented.d.ts +9 -0
  140. package/dist/components/ui/segmented.js +17 -2
  141. package/dist/components/ui/separator.d.ts +4 -0
  142. package/dist/components/ui/separator.js +13 -0
  143. package/dist/components/ui/tag-input.d.ts +45 -0
  144. package/dist/components/ui/tag-input.js +109 -27
  145. package/dist/form/form-context.d.ts +29 -0
  146. package/dist/form/form-context.js +44 -4
  147. package/dist/form/form-field-array.d.ts +22 -0
  148. package/dist/form/form-field-array.js +50 -0
  149. package/dist/form/form-field-control.d.ts +2 -1
  150. package/dist/form/form-field-control.js +116 -40
  151. package/dist/form/form-root.d.ts +2 -1
  152. package/dist/form/form-root.js +142 -23
  153. package/dist/form/index.d.ts +3 -1
  154. package/dist/form/index.js +12 -1
  155. package/dist/i18n/messages/en.json +56 -5
  156. package/dist/i18n/messages/ja.json +56 -5
  157. package/dist/i18n/messages/vi.json +56 -5
  158. package/dist/inertia/index.d.ts +20 -0
  159. package/dist/inertia/index.js +60 -1
  160. package/dist/lib/control-styles.d.ts +25 -3
  161. package/dist/lib/control-styles.js +9 -3
  162. package/dist/lib/datetime/picker-format.d.ts +8 -0
  163. package/dist/lib/datetime/picker-format.js +54 -0
  164. package/dist/props/components/charts.prop.d.ts +21 -0
  165. package/dist/props/components/data-display.prop.d.ts +55 -4
  166. package/dist/props/components/data-entry.prop.d.ts +687 -43
  167. package/dist/props/components/form.prop.d.ts +142 -4
  168. package/dist/props/components/general.prop.d.ts +17 -1
  169. package/dist/props/components/index.d.ts +2 -2
  170. package/dist/props/components/layout.prop.d.ts +163 -6
  171. package/dist/props/components/navigation.prop.d.ts +113 -3
  172. package/dist/props/registry.d.ts +376 -10
  173. package/dist/props/registry.js +493 -9
  174. package/dist/props/vocabulary/data.prop.d.ts +179 -1
  175. package/dist/props/vocabulary/index.d.ts +4 -4
  176. package/dist/props/vocabulary/interaction.prop.d.ts +51 -2
  177. package/dist/props/vocabulary/navigation.prop.d.ts +40 -0
  178. package/dist/props/vocabulary/shared.prop.d.ts +33 -0
  179. package/dist/styles/badge-layout.css +2 -1
  180. package/dist/styles/card-layout.css +26 -4
  181. package/dist/styles/chart-layout.css +15 -0
  182. package/dist/styles/control.css +515 -14
  183. package/dist/styles/data-display-layout.css +241 -6
  184. package/dist/styles/data-entry-layout.css +13 -0
  185. package/dist/styles/layout.css +221 -4
  186. package/dist/styles/navigation-layout.css +227 -0
  187. package/dist/styles/shell-layout.css +229 -5
  188. package/dist/styles/table-layout.css +95 -6
  189. package/dist/styles/text-layout.css +5 -0
  190. package/dist/tokens/base.css +1 -0
  191. package/dist/tokens/components/badge.css +1 -0
  192. package/dist/tokens/components/chart.css +6 -0
  193. package/dist/tokens/components/control.css +79 -2
  194. package/dist/tokens/components/data-display.css +9 -0
  195. package/dist/tokens/components/descriptions.css +11 -0
  196. package/dist/tokens/components/flex.css +8 -0
  197. package/dist/tokens/components/navigation.css +55 -0
  198. package/dist/tokens/components/shell.css +50 -2
  199. package/dist/tokens/components/table.css +14 -0
  200. package/dist/tokens/semantic/layout.css +9 -0
  201. package/docs/CONSUMER-RULES.md +13 -0
  202. package/docs/DESIGN-AUTHORITY.md +43 -6
  203. package/docs/DEVELOPMENT.md +4 -3
  204. package/docs/FORMS.md +151 -6
  205. package/docs/FRAME-COVERAGE-REPORT.md +29 -16
  206. package/docs/README.md +1 -1
  207. package/docs/STANDARDS-vocabulary-tokens.md +1 -1
  208. package/docs/TESTING.md +15 -6
  209. package/docs/charts/cjk-category-axis.tsx +81 -0
  210. package/docs/data-display/card/index.tsx +22 -0
  211. package/docs/data-display/data-table/examples/antd-parity.tsx +257 -0
  212. package/docs/data-display/data-table/index.tsx +23 -0
  213. package/docs/data-display/descriptions.tsx +41 -0
  214. package/docs/data-display/scroll-area.tsx +31 -25
  215. package/docs/data-display/table.tsx +104 -45
  216. package/docs/data-display/timeline.tsx +41 -0
  217. package/docs/data-entry/date-picker.tsx +85 -0
  218. package/docs/data-entry/date-range-picker.tsx +26 -0
  219. package/docs/data-entry/form-dynamic-fields.tsx +199 -0
  220. package/docs/data-entry/form.tsx +74 -4
  221. package/docs/data-entry/input-otp.tsx +24 -0
  222. package/docs/data-entry/input.tsx +46 -1
  223. package/docs/data-entry/month-range-picker.tsx +1 -1
  224. package/docs/data-entry/select.tsx +27 -0
  225. package/docs/data-entry/switch.tsx +41 -0
  226. package/docs/data-entry/textarea.tsx +38 -0
  227. package/docs/data-entry/time-picker.tsx +85 -1
  228. package/docs/data-entry/time-range-picker.tsx +55 -0
  229. package/docs/data-entry/transfer.tsx +17 -0
  230. package/docs/data-entry/upload.tsx +56 -12
  231. package/docs/feedback/tooltip.tsx +1 -1
  232. package/docs/general/activity.tsx +2 -2
  233. package/docs/general/button/index.tsx +14 -1
  234. package/docs/general/typography.tsx +14 -1
  235. package/docs/layout/app-launcher.tsx +151 -0
  236. package/docs/layout/app-shell.tsx +11 -0
  237. package/docs/layout/flex.tsx +50 -0
  238. package/docs/layout/responsive-grid.tsx +21 -1
  239. package/docs/layout/topbar.tsx +5 -9
  240. package/docs/navigation/app-setting-picker.tsx +11 -0
  241. package/docs/navigation/breadcrumb.tsx +48 -0
  242. package/docs/navigation/dropdown-menu.tsx +21 -0
  243. package/docs/navigation/pagination.tsx +52 -0
  244. package/docs/navigation/steps.tsx +37 -0
  245. package/docs/navigation/tabs.tsx +97 -1
  246. package/docs/query/button-refetch.tsx +1 -0
  247. package/package.json +19 -2
  248. package/scripts/_agent-setup.mjs +19 -2
  249. package/scripts/init-guinea-pig.mjs +26 -4
  250. package/scripts/ui-audit.mjs +243 -30
@@ -82,12 +82,132 @@
82
82
  }
83
83
  }
84
84
 
85
+ .ui-tabs-bar {
86
+ display: flex;
87
+ min-inline-size: 0;
88
+ align-items: center;
89
+ gap: var(--tabs-bar-gap);
90
+ }
91
+
92
+ [data-slot="tabs"][data-orientation="vertical"] .ui-tabs-bar {
93
+ flex-direction: column;
94
+ align-items: stretch;
95
+ }
96
+
97
+ .ui-tabs-bar > [data-slot="tabs-list"] {
98
+ min-inline-size: 0;
99
+ flex: 1 1 auto;
100
+ }
101
+
102
+ .ui-tabs-extra {
103
+ display: flex;
104
+ flex: 0 0 auto;
105
+ align-items: center;
106
+ gap: var(--tabs-extra-gap);
107
+ }
108
+
109
+ .ui-tabs-trigger-icon {
110
+ display: inline-flex;
111
+ align-items: center;
112
+ justify-content: center;
113
+ }
114
+
115
+ .ui-tabs-trigger-icon svg {
116
+ inline-size: var(--tabs-trigger-icon-size);
117
+ block-size: var(--tabs-trigger-icon-size);
118
+ }
119
+
120
+ [data-slot="tabs"][data-variant="card"] [data-slot="tabs-list"],
121
+ [data-slot="tabs"][data-variant="editable-card"] [data-slot="tabs-list"] {
122
+ box-shadow: inset 0 calc(-1 * var(--tabs-card-rail-border-width)) 0 hsl(var(--border));
123
+ }
124
+
125
+ .ui-tabs-tab-remove {
126
+ display: inline-flex;
127
+ flex: 0 0 auto;
128
+ inline-size: var(--tabs-tab-remove-size);
129
+ block-size: var(--tabs-tab-remove-size);
130
+ align-items: center;
131
+ justify-content: center;
132
+ border-radius: var(--tabs-tab-remove-radius);
133
+ margin-inline-start: var(--tabs-tab-remove-space-inline-end);
134
+ margin-inline-end: calc(-1 * var(--tabs-tab-remove-space-inline-end));
135
+ color: hsl(var(--muted-foreground));
136
+ cursor: pointer;
137
+ }
138
+
139
+ .ui-tabs-tab-remove:hover {
140
+ background: hsl(var(--accent));
141
+ color: hsl(var(--accent-foreground));
142
+ }
143
+
144
+ .ui-tabs-tab-remove-icon {
145
+ inline-size: var(--tabs-tab-remove-icon-size);
146
+ block-size: var(--tabs-tab-remove-icon-size);
147
+ }
148
+
149
+ .ui-tabs-add {
150
+ display: inline-flex;
151
+ flex: 0 0 auto;
152
+ inline-size: var(--tabs-add-size);
153
+ block-size: var(--tabs-add-size);
154
+ align-items: center;
155
+ justify-content: center;
156
+ border: var(--tabs-card-rail-border-width) solid hsl(var(--border));
157
+ border-radius: var(--tabs-add-radius);
158
+ background: hsl(var(--tabs-card-background, var(--muted)));
159
+ color: hsl(var(--muted-foreground));
160
+ }
161
+
162
+ .ui-tabs-add:hover {
163
+ background: hsl(var(--accent));
164
+ color: hsl(var(--accent-foreground));
165
+ }
166
+
167
+ .ui-tabs-add-icon {
168
+ inline-size: var(--tabs-add-icon-size);
169
+ block-size: var(--tabs-add-icon-size);
170
+ }
171
+
85
172
  .ui-pagination .ui-button svg,
86
173
  .ui-pagination .ui-pagination-link svg {
87
174
  inline-size: var(--pagination-icon-size);
88
175
  block-size: var(--pagination-icon-size);
89
176
  }
90
177
 
178
+ .ui-pagination[data-align="start"] {
179
+ justify-content: flex-start;
180
+ }
181
+
182
+ .ui-pagination[data-align="center"] {
183
+ justify-content: center;
184
+ }
185
+
186
+ .ui-pagination[data-align="end"] {
187
+ justify-content: flex-end;
188
+ }
189
+
190
+ .ui-pagination[data-size="sm"] {
191
+ --control-height: var(--pagination-control-height-sm);
192
+ }
193
+
194
+ .ui-pagination-jumper {
195
+ display: inline-flex;
196
+ flex: 0 0 auto;
197
+ align-items: center;
198
+ gap: var(--pagination-jumper-gap);
199
+ }
200
+
201
+ .ui-pagination-jumper-label {
202
+ color: hsl(var(--muted-foreground));
203
+ font-size: var(--pagination-jumper-font-size);
204
+ white-space: nowrap;
205
+ }
206
+
207
+ .ui-pagination-jumper-input {
208
+ text-align: center;
209
+ }
210
+
91
211
  .ui-context-menu-content {
92
212
  z-index: var(--overlay-z-index);
93
213
  min-width: var(--menu-content-min-width);
@@ -485,16 +605,67 @@
485
605
  box-shadow: var(--shadow-md), var(--shadow-glow);
486
606
  }
487
607
 
608
+ .ui-dropdown-menu-content [role="menu"],
609
+ .ui-dropdown-menu-sub-content [role="menu"] {
610
+ outline: none;
611
+ }
612
+
488
613
  .ui-dropdown-menu-content {
489
614
  max-height: var(--radix-dropdown-menu-content-available-height);
490
615
  overflow-x: hidden;
491
616
  overflow-y: auto;
492
617
  }
493
618
 
619
+ .ui-dropdown-menu-content[data-width="auto"] {
620
+ --menu-content-min-width: 0;
621
+ }
622
+
623
+ .ui-dropdown-menu-content[data-width="trigger"] {
624
+ --menu-content-min-width: var(--trigger-width, var(--dropdown-content-min-width));
625
+ }
626
+
627
+ .ui-dropdown-menu-content[data-width="sm"] {
628
+ --menu-content-min-width: var(--menu-content-width-sm);
629
+ }
630
+
631
+ .ui-dropdown-menu-content[data-width="md"] {
632
+ --menu-content-min-width: var(--menu-content-width-md);
633
+ }
634
+
635
+ .ui-dropdown-menu-content[data-width="lg"] {
636
+ --menu-content-min-width: var(--menu-content-width-lg);
637
+ }
638
+
494
639
  .ui-dropdown-menu-sub-content {
495
640
  overflow: hidden;
496
641
  }
497
642
 
643
+ .ui-breadcrumb-separator {
644
+ display: inline-flex;
645
+ flex: 0 0 auto;
646
+ align-items: center;
647
+ }
648
+
649
+ .ui-breadcrumb-menu-trigger {
650
+ display: inline-flex;
651
+ align-items: center;
652
+ gap: var(--breadcrumb-menu-trigger-gap);
653
+ border-radius: var(--radius-sm);
654
+ background: transparent;
655
+ color: inherit;
656
+ font: inherit;
657
+ }
658
+
659
+ .ui-breadcrumb-menu-trigger:hover {
660
+ color: hsl(var(--foreground));
661
+ }
662
+
663
+ .ui-dropdown-menu-arrow {
664
+ inline-size: var(--dropdown-arrow-width);
665
+ block-size: var(--dropdown-arrow-height);
666
+ fill: hsl(var(--dropdown-arrow-background, var(--popover)));
667
+ }
668
+
498
669
  .ui-dropdown-menu-indicator-slot {
499
670
  pointer-events: none;
500
671
  position: absolute;
@@ -729,6 +900,57 @@
729
900
  background: hsl(var(--border));
730
901
  }
731
902
 
903
+ .ui-steps-progress {
904
+ display: inline-flex;
905
+ align-items: center;
906
+ justify-content: center;
907
+ border-radius: var(--radius-pill);
908
+ padding: var(--steps-progress-ring-width);
909
+ background: conic-gradient(
910
+ hsl(var(--primary)) calc(var(--steps-progress-ratio, 0) * 360deg),
911
+ hsl(var(--steps-progress-track-color, var(--muted))) 0
912
+ );
913
+ }
914
+
915
+ .ui-steps-list[data-type="navigation"] .ui-steps-item[data-direction="horizontal"] {
916
+ flex-direction: row;
917
+ align-items: center;
918
+ gap: var(--steps-nav-space-gap);
919
+ text-align: start;
920
+ }
921
+
922
+ .ui-steps-list[data-type="navigation"] .ui-steps-control[data-direction="horizontal"] {
923
+ flex: 1 1 auto;
924
+ flex-direction: row;
925
+ align-items: center;
926
+ gap: var(--steps-nav-space-gap);
927
+ padding-inline: var(--steps-nav-space-inline);
928
+ padding-block: var(--steps-nav-space-block);
929
+ border-radius: var(--steps-nav-radius);
930
+ background: hsl(var(--muted));
931
+ }
932
+
933
+ .ui-steps-list[data-type="navigation"]
934
+ .ui-steps-item[data-status="process"]
935
+ .ui-steps-control[data-direction="horizontal"] {
936
+ background: hsl(var(--accent));
937
+ }
938
+
939
+ .ui-steps-list[data-type="navigation"]
940
+ .ui-steps-item[data-direction="horizontal"]
941
+ .ui-steps-text {
942
+ margin-block-start: 0;
943
+ padding-inline: 0;
944
+ text-align: start;
945
+ }
946
+
947
+ .ui-steps-nav-separator {
948
+ flex: 0 0 auto;
949
+ inline-size: var(--steps-nav-separator-size);
950
+ block-size: var(--steps-nav-separator-size);
951
+ color: hsl(var(--muted-foreground));
952
+ }
953
+
732
954
  .ui-app-setting-picker-icon {
733
955
  inline-size: var(--control-height);
734
956
  justify-content: center;
@@ -738,6 +960,11 @@
738
960
  box-shadow: none;
739
961
  }
740
962
 
963
+ .ui-app-setting-picker-icon[data-appearance="bar"] {
964
+ border-width: var(--app-setting-picker-bar-border-width);
965
+ box-shadow: var(--app-setting-picker-bar-shadow);
966
+ }
967
+
741
968
  .ui-app-setting-picker-glyph {
742
969
  inline-size: var(--app-setting-picker-icon-size);
743
970
  block-size: var(--app-setting-picker-icon-size);
@@ -120,7 +120,7 @@
120
120
  background-image: var(--gradient-glow);
121
121
 
122
122
  contain: paint;
123
- background-color: var(--app-shell-main-background);
123
+ background-color: var(--app-shell-main-background, var(--surface-recessed));
124
124
  }
125
125
 
126
126
  .app-main:focus-visible {
@@ -544,6 +544,12 @@
544
544
  gap: var(--space-3);
545
545
  }
546
546
 
547
+ .app-topbar-logo,
548
+ .app-topbar-logo > a {
549
+ display: flex;
550
+ align-items: center;
551
+ }
552
+
547
553
  .app-topbar-custom {
548
554
  display: flex;
549
555
  min-width: 0;
@@ -633,6 +639,14 @@
633
639
  font-size: var(--font-size-base);
634
640
  }
635
641
 
642
+ .app-root:where([data-sidebar="none"])[data-nav-rail] {
643
+ grid-template-columns: var(--app-shell-nav-rail-width) minmax(0, 1fr);
644
+ grid-template-areas: "navrail topbar" "navrail main" "navrail footer";
645
+ }
646
+ .app-root:where([data-sidebar="none"])[data-nav-rail][data-topbar-span="full"] {
647
+ grid-template-areas: "topbar topbar" "navrail main" "navrail footer";
648
+ }
649
+
636
650
  @media (width <= 56.25rem) {
637
651
  .app-root,
638
652
  .app-root[data-collapsed="true"],
@@ -712,6 +726,14 @@
712
726
  display: flex;
713
727
  }
714
728
 
729
+ .app-root[data-sidebar="none"][data-nav-rail][data-responsive-navigation="docked"] {
730
+ grid-template-columns: var(--app-shell-nav-rail-width) minmax(0, 1fr);
731
+ grid-template-areas: "navrail topbar" "navrail main" "navrail footer";
732
+ }
733
+ .app-root[data-sidebar="none"][data-nav-rail][data-responsive-navigation="docked"][data-topbar-span="full"] {
734
+ grid-template-areas: "topbar topbar" "navrail main" "navrail footer";
735
+ }
736
+
715
737
  .app-root[data-responsive-navigation="docked"] .app-mobile-nav-trigger {
716
738
  display: none;
717
739
  }
@@ -780,7 +802,8 @@
780
802
  .ui-org-switcher-name,
781
803
  .ui-org-switcher-meta {
782
804
  overflow: hidden;
783
- line-height: 1.25;
805
+
806
+ line-height: var(--line-height-tight);
784
807
  text-overflow: ellipsis;
785
808
  white-space: nowrap;
786
809
  }
@@ -798,8 +821,8 @@
798
821
  .ui-org-switcher-chevron,
799
822
  .ui-org-switcher-check,
800
823
  .ui-org-switcher-spinner {
801
- width: 1rem;
802
- height: 1rem;
824
+ width: var(--icon-size-md);
825
+ height: var(--icon-size-md);
803
826
  flex: 0 0 auto;
804
827
  }
805
828
 
@@ -820,7 +843,17 @@
820
843
  --popover-space-inset: 0;
821
844
  }
822
845
 
823
- .ui-org-switcher-sheet {
846
+ [data-slot="dialog-content"].ui-org-switcher-dialog {
847
+
848
+ --dialog-space-inset: var(--dialog-space-y) var(--org-switcher-sheet-inset);
849
+ --org-switcher-list-offset: var(--org-switcher-sheet-inset);
850
+ max-inline-size: var(--org-switcher-dialog-width);
851
+ }
852
+
853
+ [data-slot="sheet-content"].ui-org-switcher-sheet {
854
+ --sheet-pad-x: var(--org-switcher-sheet-inset);
855
+
856
+ --org-switcher-list-offset: var(--org-switcher-sheet-inset);
824
857
  max-height: var(--org-switcher-sheet-max-height);
825
858
  border-start-start-radius: var(--radius-lg);
826
859
  border-start-end-radius: var(--radius-lg);
@@ -828,6 +861,31 @@
828
861
 
829
862
  .ui-org-switcher-command {
830
863
  width: 100%;
864
+ padding-inline: calc(var(--org-switcher-list-inset) - var(--org-switcher-list-offset));
865
+ }
866
+
867
+ .ui-org-switcher-command .ui-command-group {
868
+ padding: 0;
869
+ }
870
+
871
+ .ui-org-switcher-command .ui-command-input-wrapper {
872
+
873
+ border: 1px solid hsl(var(--input));
874
+ border-radius: var(--control-radius);
875
+
876
+ margin-block: var(--org-switcher-search-space-block);
877
+ margin-inline: 0;
878
+ background: hsl(var(--background));
879
+ }
880
+
881
+ .ui-org-switcher-command .ui-command-item {
882
+ border-radius: 0;
883
+ margin-inline: 0;
884
+ padding-inline: var(--command-input-padding-x);
885
+ }
886
+
887
+ .ui-org-switcher-command .ui-command-item + .ui-command-item {
888
+ border-block-start: 1px solid hsl(var(--border));
831
889
  }
832
890
 
833
891
  .ui-org-switcher-state {
@@ -846,6 +904,130 @@
846
904
  animation: spin 1s linear infinite;
847
905
  }
848
906
 
907
+ .ui-app-launcher-popover {
908
+
909
+ --popover-surface-inline-size: min(
910
+ var(--app-launcher-panel-width),
911
+ calc(100vw - var(--space-4))
912
+ );
913
+ --popover-space-inset: var(--space-2);
914
+ }
915
+
916
+ .ui-app-launcher-sheet {
917
+ max-height: var(--app-launcher-sheet-max-height);
918
+ border-start-start-radius: var(--radius-lg);
919
+ border-start-end-radius: var(--radius-lg);
920
+ }
921
+
922
+ .ui-app-launcher-panel {
923
+
924
+ --app-launcher-columns: 3;
925
+
926
+ display: grid;
927
+ max-height: var(--app-launcher-panel-max-height);
928
+ gap: var(--app-launcher-panel-gap);
929
+ overflow-y: auto;
930
+ }
931
+
932
+ .ui-app-launcher-grid {
933
+ display: grid;
934
+
935
+ grid-template-columns: repeat(var(--app-launcher-columns), minmax(0, 1fr));
936
+ margin: 0;
937
+ padding: 0;
938
+ gap: var(--app-launcher-grid-gap);
939
+ list-style: none;
940
+ }
941
+
942
+ .ui-app-launcher-cell {
943
+ display: flex;
944
+ }
945
+
946
+ .ui-app-launcher-tile {
947
+ display: flex;
948
+ min-width: 0;
949
+ min-height: var(--app-launcher-tile-min-height);
950
+ flex: 1;
951
+ flex-direction: column;
952
+ align-items: center;
953
+ justify-content: center;
954
+ gap: var(--app-launcher-tile-gap);
955
+ padding: var(--app-launcher-tile-padding);
956
+ border-radius: var(--app-launcher-tile-radius);
957
+ color: hsl(var(--app-launcher-tile-color));
958
+ text-align: center;
959
+ text-decoration: none;
960
+ transition:
961
+ background-color var(--duration-fast),
962
+ color var(--duration-fast);
963
+ }
964
+
965
+ .ui-app-launcher-tile:hover {
966
+ background: hsl(var(--app-launcher-tile-hover-background));
967
+ color: hsl(var(--app-launcher-tile-hover-color));
968
+ }
969
+
970
+ .ui-app-launcher-tile[aria-current="page"] {
971
+ background: var(--app-launcher-tile-current-background, hsl(var(--secondary)));
972
+ }
973
+
974
+ .ui-app-launcher-mark {
975
+ display: grid;
976
+ width: var(--app-launcher-mark-size);
977
+ height: var(--app-launcher-mark-size);
978
+ flex: 0 0 auto;
979
+ place-items: center;
980
+ overflow: hidden;
981
+ border-radius: var(--app-launcher-mark-radius);
982
+ background: hsl(var(--app-launcher-mark-background));
983
+ color: hsl(var(--app-launcher-mark-foreground));
984
+ font-size: var(--app-launcher-mark-font-size);
985
+ font-weight: var(--font-weight-semibold);
986
+ }
987
+
988
+ .ui-app-launcher-mark > * {
989
+ width: 100%;
990
+ height: 100%;
991
+ }
992
+
993
+ .ui-app-launcher-name {
994
+ max-width: 100%;
995
+ font-size: var(--app-launcher-name-font-size);
996
+ line-height: var(--line-height-tight);
997
+ overflow-wrap: anywhere;
998
+ }
999
+
1000
+ .ui-app-launcher-group {
1001
+ display: grid;
1002
+ gap: var(--app-launcher-grid-gap);
1003
+ }
1004
+
1005
+ .ui-app-launcher-group-label {
1006
+ padding-inline: var(--app-launcher-tile-padding);
1007
+ color: hsl(var(--app-launcher-group-label-color));
1008
+ font-size: var(--app-launcher-group-label-font-size);
1009
+ font-weight: var(--font-weight-medium);
1010
+ }
1011
+
1012
+ .ui-app-launcher-state {
1013
+ display: flex;
1014
+ min-height: var(--app-launcher-state-min-height);
1015
+ flex-direction: column;
1016
+ align-items: center;
1017
+ justify-content: center;
1018
+ gap: var(--space-3);
1019
+ padding: var(--space-5);
1020
+ color: hsl(var(--muted-foreground));
1021
+ text-align: center;
1022
+ }
1023
+
1024
+ .ui-app-launcher-spinner {
1025
+ width: var(--icon-size-md);
1026
+ height: var(--icon-size-md);
1027
+ flex: 0 0 auto;
1028
+ animation: spin 1s linear infinite;
1029
+ }
1030
+
849
1031
  .sb-product,
850
1032
  .sb-brand {
851
1033
  display: flex;
@@ -1374,6 +1556,40 @@
1374
1556
  cursor: not-allowed;
1375
1557
  }
1376
1558
 
1559
+ .ui-topbar-item:has(> [data-slot="topbar-item-badge"]) {
1560
+ position: relative;
1561
+ }
1562
+
1563
+ .ui-topbar-item-badge {
1564
+ position: absolute;
1565
+
1566
+ inset-block-start: calc(
1567
+ 50% - var(--topbar-icon-size) / 2 - var(--topbar-item-badge-offset-block)
1568
+ );
1569
+ inset-inline-end: calc(
1570
+ 50% - var(--topbar-icon-size) / 2 - var(--topbar-item-badge-offset-inline)
1571
+ );
1572
+ display: inline-flex;
1573
+ min-inline-size: var(--topbar-item-badge-size);
1574
+ block-size: var(--topbar-item-badge-size);
1575
+ align-items: center;
1576
+ justify-content: center;
1577
+ padding-inline: var(--topbar-item-badge-padding-inline);
1578
+ border-radius: var(--radius-pill);
1579
+ background: var(--topbar-item-badge-background, hsl(var(--secondary)));
1580
+ color: var(--topbar-item-badge-foreground, hsl(var(--muted-foreground)));
1581
+ font-size: var(--topbar-item-badge-font-size);
1582
+ font-weight: var(--font-weight-medium);
1583
+ line-height: 1;
1584
+
1585
+ pointer-events: none;
1586
+ }
1587
+
1588
+ .ui-topbar-item-badge[data-tone="destructive"] {
1589
+ background: var(--topbar-item-badge-destructive-background, hsl(var(--destructive)));
1590
+ color: var(--topbar-item-badge-destructive-foreground, hsl(var(--destructive-foreground)));
1591
+ }
1592
+
1377
1593
  .ui-topbar-item > svg {
1378
1594
  width: var(--topbar-icon-size);
1379
1595
  height: var(--topbar-icon-size);
@@ -1793,3 +2009,11 @@
1793
2009
  }
1794
2010
  }
1795
2011
  }
2012
+
2013
+ @layer components {
2014
+
2015
+ .app-root[data-sidebar="none"]:not([data-nav-rail]) {
2016
+ grid-template-columns: minmax(0, 1fr);
2017
+ grid-template-areas: "topbar" "main" "footer";
2018
+ }
2019
+ }