@auvyx/ui 0.0.0-stage → 0.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 (143) hide show
  1. package/LICENSE +48 -0
  2. package/README.md +43 -2
  3. package/dist/auvyx.bundle.css +5941 -0
  4. package/dist/auvyx.chart.min.js +2 -0
  5. package/dist/auvyx.corners.min.js +2 -0
  6. package/dist/auvyx.css +10880 -0
  7. package/dist/auvyx.js +3222 -0
  8. package/dist/auvyx.min.css +2 -0
  9. package/dist/auvyx.min.js +19 -0
  10. package/dist/custom-elements.json +948 -0
  11. package/dist/elements/calendar.min.js +2 -0
  12. package/dist/elements/context-menu.min.js +2 -0
  13. package/dist/elements/data-table.min.js +2 -0
  14. package/dist/elements/date-picker.min.js +2 -0
  15. package/dist/elements/index.min.js +2 -0
  16. package/dist/elements/menu.min.js +2 -0
  17. package/dist/elements/resizable.min.js +2 -0
  18. package/dist/js/accordion.min.js +2 -0
  19. package/dist/js/calendar.min.js +2 -0
  20. package/dist/js/combobox.min.js +2 -0
  21. package/dist/js/command.min.js +2 -0
  22. package/dist/js/context-menu.min.js +2 -0
  23. package/dist/js/copy.min.js +2 -0
  24. package/dist/js/data-table.min.js +2 -0
  25. package/dist/js/date-picker.min.js +2 -0
  26. package/dist/js/drawer.min.js +2 -0
  27. package/dist/js/dropdown-menu.min.js +2 -0
  28. package/dist/js/manifest.json +114 -0
  29. package/dist/js/menu.min.js +2 -0
  30. package/dist/js/popover.min.js +2 -0
  31. package/dist/js/resizable.min.js +2 -0
  32. package/dist/js/select.min.js +2 -0
  33. package/dist/js/sidebar.min.js +2 -0
  34. package/dist/js/slider.min.js +2 -0
  35. package/dist/js/tabs.min.js +2 -0
  36. package/dist/js/toast.min.js +19 -0
  37. package/dist/styles/auvyx-luma.min.css +3 -0
  38. package/dist/styles/auvyx-lyra.min.css +3 -0
  39. package/dist/styles/auvyx-maia.min.css +3 -0
  40. package/dist/styles/auvyx-mira.min.css +3 -0
  41. package/dist/styles/auvyx-nova.min.css +3 -0
  42. package/dist/styles/auvyx-rhea.min.css +3 -0
  43. package/dist/styles/auvyx-sera.min.css +3 -0
  44. package/dist/styles/auvyx-vega.min.css +3 -0
  45. package/dist/types/elements.d.ts +262 -0
  46. package/dist/types/react.d.ts +181 -0
  47. package/dist/types/vue.d.ts +155 -0
  48. package/dist/ui/accordion.css +91 -0
  49. package/dist/ui/accordion.js +249 -0
  50. package/dist/ui/accordion.native.css +24 -0
  51. package/dist/ui/alert.css +119 -0
  52. package/dist/ui/aspect-ratio.css +38 -0
  53. package/dist/ui/attachment.css +211 -0
  54. package/dist/ui/avatar.css +204 -0
  55. package/dist/ui/badge.css +183 -0
  56. package/dist/ui/base.css +1200 -0
  57. package/dist/ui/breadcrumb.css +90 -0
  58. package/dist/ui/bubble.css +171 -0
  59. package/dist/ui/button-group.css +110 -0
  60. package/dist/ui/button.css +328 -0
  61. package/dist/ui/calendar.css +260 -0
  62. package/dist/ui/calendar.js +317 -0
  63. package/dist/ui/card.css +126 -0
  64. package/dist/ui/carousel.css +172 -0
  65. package/dist/ui/chart.css +130 -0
  66. package/dist/ui/checkbox.css +119 -0
  67. package/dist/ui/code-block.css +235 -0
  68. package/dist/ui/combobox.css +500 -0
  69. package/dist/ui/combobox.js +757 -0
  70. package/dist/ui/command.css +366 -0
  71. package/dist/ui/command.js +382 -0
  72. package/dist/ui/context-menu.css +17 -0
  73. package/dist/ui/context-menu.js +52 -0
  74. package/dist/ui/copy.js +56 -0
  75. package/dist/ui/data-table.css +114 -0
  76. package/dist/ui/data-table.js +140 -0
  77. package/dist/ui/date-picker.css +14 -0
  78. package/dist/ui/date-picker.js +101 -0
  79. package/dist/ui/dialog.css +363 -0
  80. package/dist/ui/dialog.native.css +6 -0
  81. package/dist/ui/drawer.css +238 -0
  82. package/dist/ui/drawer.js +265 -0
  83. package/dist/ui/dropdown-menu.css +193 -0
  84. package/dist/ui/dropdown-menu.js +388 -0
  85. package/dist/ui/empty.css +111 -0
  86. package/dist/ui/field.css +293 -0
  87. package/dist/ui/hover-card.css +85 -0
  88. package/dist/ui/input-group.css +269 -0
  89. package/dist/ui/input-otp.css +101 -0
  90. package/dist/ui/input.css +117 -0
  91. package/dist/ui/item.css +223 -0
  92. package/dist/ui/kbd.css +50 -0
  93. package/dist/ui/label.css +48 -0
  94. package/dist/ui/manifest.json +667 -0
  95. package/dist/ui/marker.css +66 -0
  96. package/dist/ui/menu.js +161 -0
  97. package/dist/ui/menubar.css +55 -0
  98. package/dist/ui/message-scroller.css +83 -0
  99. package/dist/ui/message.css +69 -0
  100. package/dist/ui/native-select.css +130 -0
  101. package/dist/ui/navigation-menu.css +166 -0
  102. package/dist/ui/popover.css +154 -0
  103. package/dist/ui/popover.js +268 -0
  104. package/dist/ui/popover.native.css +84 -0
  105. package/dist/ui/progress.css +29 -0
  106. package/dist/ui/questionnaire.css +188 -0
  107. package/dist/ui/radio-group.css +115 -0
  108. package/dist/ui/resizable.css +94 -0
  109. package/dist/ui/resizable.js +95 -0
  110. package/dist/ui/scroll-area.css +43 -0
  111. package/dist/ui/select.css +289 -0
  112. package/dist/ui/select.js +646 -0
  113. package/dist/ui/sheet.css +219 -0
  114. package/dist/ui/sidebar.css +716 -0
  115. package/dist/ui/sidebar.js +287 -0
  116. package/dist/ui/skeleton.css +13 -0
  117. package/dist/ui/slider.css +184 -0
  118. package/dist/ui/slider.js +206 -0
  119. package/dist/ui/switch.css +156 -0
  120. package/dist/ui/table.css +157 -0
  121. package/dist/ui/tabs.css +240 -0
  122. package/dist/ui/tabs.js +288 -0
  123. package/dist/ui/textarea.css +91 -0
  124. package/dist/ui/toast.css +110 -0
  125. package/dist/ui/toast.js +378 -0
  126. package/dist/ui/toggle-group.css +42 -0
  127. package/dist/ui/toggle.css +150 -0
  128. package/dist/ui/tooltip.css +319 -0
  129. package/dist/ui/trace.css +142 -0
  130. package/dist/ui/typography.css +184 -0
  131. package/dist/wc/accordion.min.js +2 -0
  132. package/dist/wc/combobox.min.js +2 -0
  133. package/dist/wc/command.min.js +2 -0
  134. package/dist/wc/drawer.min.js +2 -0
  135. package/dist/wc/dropdown-menu.min.js +2 -0
  136. package/dist/wc/manifest.json +154 -0
  137. package/dist/wc/popover.min.js +2 -0
  138. package/dist/wc/select.min.js +2 -0
  139. package/dist/wc/sidebar.min.js +2 -0
  140. package/dist/wc/slider.min.js +2 -0
  141. package/dist/wc/tabs.min.js +2 -0
  142. package/dist/wc/toast.min.js +19 -0
  143. package/package.json +62 -4
@@ -0,0 +1,716 @@
1
+ /* @auvyx/ui sidebar | order 28 */
2
+ @layer components {
3
+ .sidebar {
4
+ &:not([data-sidebar-initialized]) {
5
+ @media (width < 48rem) {
6
+ display: none;
7
+ }
8
+ }
9
+ &:not([aria-hidden]), &[aria-hidden=false] {
10
+ @media (width < 48rem) {
11
+ position: fixed;
12
+ }
13
+ @media (width < 48rem) {
14
+ inset: 0;
15
+ }
16
+ @media (width < 48rem) {
17
+ z-index: 40;
18
+ }
19
+ @media (width < 48rem) {
20
+ background-color: color-mix(in srgb, #000 50%, transparent);
21
+ @supports (color: color-mix(in lab, red, red)) {
22
+ background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
23
+ }
24
+ }
25
+ }
26
+ > nav {
27
+ position: fixed;
28
+ inset-block: 0;
29
+ z-index: 50;
30
+ display: flex;
31
+ width: var(--sidebar-mobile-width);
32
+ flex-direction: column;
33
+ transition-property: transform, translate, scale, rotate;
34
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
35
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
36
+ --tw-duration: 300ms;
37
+ transition-duration: 300ms;
38
+ --tw-ease: var(--ease-in-out);
39
+ transition-timing-function: var(--ease-in-out);
40
+ @media (width >= 48rem) {
41
+ width: var(--sidebar-width);
42
+ }
43
+ }
44
+ & + * {
45
+ transition-property: margin;
46
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
47
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
48
+ --tw-duration: 300ms;
49
+ transition-duration: 300ms;
50
+ --tw-ease: var(--ease-in-out);
51
+ transition-timing-function: var(--ease-in-out);
52
+ }
53
+ &:not([data-side]), &[data-side=left] {
54
+ > nav {
55
+ left: 0;
56
+ border-right-style: var(--tw-border-style);
57
+ border-right-width: 1px;
58
+ }
59
+ & + * {
60
+ position: relative;
61
+ @media (width >= 48rem) {
62
+ margin-left: var(--sidebar-width);
63
+ }
64
+ }
65
+ &[aria-hidden=true] {
66
+ > nav {
67
+ --tw-translate-x: -100%;
68
+ translate: var(--tw-translate-x) var(--tw-translate-y);
69
+ }
70
+ & + * {
71
+ @media (width >= 48rem) {
72
+ margin-left: 0;
73
+ }
74
+ }
75
+ }
76
+ }
77
+ &[data-side=right] {
78
+ > nav {
79
+ right: 0;
80
+ border-left-style: var(--tw-border-style);
81
+ border-left-width: 1px;
82
+ }
83
+ & + * {
84
+ position: relative;
85
+ @media (width >= 48rem) {
86
+ margin-right: var(--sidebar-width);
87
+ }
88
+ }
89
+ &[aria-hidden=true] {
90
+ > nav {
91
+ --tw-translate-x: 100%;
92
+ translate: var(--tw-translate-x) var(--tw-translate-y);
93
+ }
94
+ & + * {
95
+ @media (width >= 48rem) {
96
+ margin-right: 0;
97
+ }
98
+ }
99
+ }
100
+ }
101
+ > nav {
102
+ > header, > footer {
103
+ display: flex;
104
+ flex-direction: column;
105
+ }
106
+ [role=separator] {
107
+ width: auto;
108
+ }
109
+ > section {
110
+ display: flex;
111
+ min-height: 0;
112
+ flex: 1;
113
+ flex-direction: column;
114
+ overflow-y: auto;
115
+ > [role=group] {
116
+ position: relative;
117
+ display: flex;
118
+ width: 100%;
119
+ min-width: 0;
120
+ flex-direction: column;
121
+ }
122
+ h3 {
123
+ display: flex;
124
+ flex-shrink: 0;
125
+ align-items: center;
126
+ --tw-outline-style: none;
127
+ outline-style: none;
128
+ @media (forced-colors: active) {
129
+ outline: 2px solid transparent;
130
+ outline-offset: 2px;
131
+ }
132
+ transition-property: margin,opacity;
133
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
134
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
135
+ --tw-duration: 200ms;
136
+ transition-duration: 200ms;
137
+ --tw-ease: linear;
138
+ transition-timing-function: linear;
139
+ &>svg {
140
+ flex-shrink: 0;
141
+ }
142
+ }
143
+ ul {
144
+ display: flex;
145
+ width: 100%;
146
+ min-width: 0;
147
+ flex-direction: column;
148
+ li {
149
+ position: relative;
150
+ > a, > button, > details > summary {
151
+ display: flex;
152
+ width: 100%;
153
+ align-items: center;
154
+ overflow: hidden;
155
+ text-align: left;
156
+ --tw-outline-style: none;
157
+ outline-style: none;
158
+ @media (forced-colors: active) {
159
+ outline: 2px solid transparent;
160
+ outline-offset: 2px;
161
+ }
162
+ transition-property: width,height,padding;
163
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
164
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
165
+ &:disabled {
166
+ pointer-events: none;
167
+ }
168
+ &:disabled {
169
+ opacity: 50%;
170
+ }
171
+ &[aria-disabled="true"] {
172
+ pointer-events: none;
173
+ }
174
+ &[aria-disabled="true"] {
175
+ opacity: 50%;
176
+ }
177
+ &>span:last-child {
178
+ overflow: hidden;
179
+ text-overflow: ellipsis;
180
+ white-space: nowrap;
181
+ }
182
+ &>svg {
183
+ flex-shrink: 0;
184
+ }
185
+ }
186
+ > details {
187
+ &:not([open]) {
188
+ > summary {
189
+ &::after {
190
+ rotate: calc(90deg * -1);
191
+ }
192
+ &:where(:dir(rtl), [dir='rtl'], [dir='rtl'] *)::after {
193
+ rotate: 90deg;
194
+ }
195
+ }
196
+ }
197
+ > summary {
198
+ &::after {
199
+ margin-inline-start: auto;
200
+ display: block;
201
+ width: calc(var(--spacing) * 3.5);
202
+ height: calc(var(--spacing) * 3.5);
203
+ background-color: currentcolor;
204
+ transition-property: transform, translate, scale, rotate;
205
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
206
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
207
+ --tw-ease: linear;
208
+ transition-timing-function: linear;
209
+ --tw-content: '';
210
+ content: var(--tw-content);
211
+ mask-image: var(--chevron-down-icon);
212
+ mask-size: 1rem;
213
+ mask-position: center;
214
+ mask-repeat: no-repeat;
215
+ }
216
+ }
217
+ }
218
+ }
219
+ ul {
220
+ display: flex;
221
+ min-width: 0;
222
+ flex-direction: column;
223
+ }
224
+ }
225
+ }
226
+ }
227
+ }
228
+ }
229
+
230
+ @layer components {
231
+ .sidebar > nav {
232
+ background-color: var(--color-sidebar);
233
+ color: var(--color-sidebar-foreground);
234
+ }
235
+ .sidebar > nav > header, .sidebar > nav > footer {
236
+ gap: calc(var(--spacing) * 2);
237
+ padding: calc(var(--spacing) * 2);
238
+ }
239
+ .sidebar > nav > section {
240
+ gap: calc(var(--spacing) * 2);
241
+ }
242
+ .sidebar > nav [role=separator] {
243
+ margin-inline: calc(var(--spacing) * 2);
244
+ border-color: var(--color-sidebar-border);
245
+ }
246
+ .sidebar > nav > section > [role=group] {
247
+ padding: calc(var(--spacing) * 2);
248
+ }
249
+ .sidebar > nav h3 {
250
+ height: calc(var(--spacing) * 8);
251
+ border-radius: var(--radius-md);
252
+ padding-inline: calc(var(--spacing) * 2);
253
+ font-size: var(--text-xs);
254
+ line-height: var(--tw-leading, var(--text-xs--line-height));
255
+ --tw-font-weight: var(--font-weight-medium);
256
+ font-weight: var(--font-weight-medium);
257
+ color: var(--color-sidebar-foreground);
258
+ @supports (color: color-mix(in lab, red, red)) {
259
+ color: color-mix(in oklab, var(--color-sidebar-foreground) 70%, transparent);
260
+ }
261
+ --tw-ring-color: var(--color-sidebar-ring);
262
+ transition-property: margin,opacity;
263
+ transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
264
+ transition-duration: var(--tw-duration, var(--default-transition-duration));
265
+ --tw-duration: 200ms;
266
+ transition-duration: 200ms;
267
+ --tw-ease: linear;
268
+ transition-timing-function: linear;
269
+ &:focus-visible {
270
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
271
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
272
+ }
273
+ &>svg {
274
+ width: calc(var(--spacing) * 4);
275
+ height: calc(var(--spacing) * 4);
276
+ }
277
+ }
278
+ .sidebar > nav > section > [role=group] > ul {
279
+ gap: var(--spacing);
280
+ }
281
+ .sidebar > nav > section > [role=group] {
282
+ font-size: var(--text-sm);
283
+ line-height: var(--tw-leading, var(--text-sm--line-height));
284
+ }
285
+ .sidebar > nav li > :is(a, button), .sidebar > nav li > details > summary {
286
+ gap: calc(var(--spacing) * 2);
287
+ border-radius: var(--radius-md);
288
+ padding: calc(var(--spacing) * 2);
289
+ text-align: left;
290
+ font-size: var(--text-sm);
291
+ line-height: var(--tw-leading, var(--text-sm--line-height));
292
+ --tw-ring-color: var(--color-sidebar-ring);
293
+ &:hover {
294
+ @media (hover: hover) {
295
+ background-color: var(--color-sidebar-accent);
296
+ }
297
+ }
298
+ &:hover {
299
+ @media (hover: hover) {
300
+ color: var(--color-sidebar-accent-foreground);
301
+ }
302
+ }
303
+ &:focus-visible {
304
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
305
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
306
+ }
307
+ &:focus-visible {
308
+ --tw-outline-style: none;
309
+ outline-style: none;
310
+ @media (forced-colors: active) {
311
+ outline: 2px solid transparent;
312
+ outline-offset: 2px;
313
+ }
314
+ }
315
+ &:active {
316
+ background-color: var(--color-sidebar-accent);
317
+ }
318
+ &:active {
319
+ color: var(--color-sidebar-accent-foreground);
320
+ }
321
+ &[data-open] {
322
+ &:hover {
323
+ @media (hover: hover) {
324
+ background-color: var(--color-sidebar-accent);
325
+ }
326
+ }
327
+ }
328
+ &[data-open] {
329
+ &:hover {
330
+ @media (hover: hover) {
331
+ color: var(--color-sidebar-accent-foreground);
332
+ }
333
+ }
334
+ }
335
+ &>svg {
336
+ width: calc(var(--spacing) * 4);
337
+ height: calc(var(--spacing) * 4);
338
+ }
339
+ &>svg {
340
+ flex-shrink: 0;
341
+ }
342
+ }
343
+ .sidebar > nav li > :is(a, button):is([aria-current=page], [data-active=true]), .sidebar > nav li > details > summary:is([aria-current=page], [data-active=true]) {
344
+ background-color: var(--color-sidebar-accent);
345
+ --tw-font-weight: var(--font-weight-medium);
346
+ font-weight: var(--font-weight-medium);
347
+ color: var(--color-sidebar-accent-foreground);
348
+ }
349
+ .sidebar > nav li > :is(a, button):not([data-variant]), .sidebar > nav li > details > summary:not([data-variant]), .sidebar > nav li > :is(a, button)[data-variant=default], .sidebar > nav li > details > summary[data-variant=default] {
350
+ &:hover {
351
+ @media (hover: hover) {
352
+ background-color: var(--color-sidebar-accent);
353
+ }
354
+ }
355
+ &:hover {
356
+ @media (hover: hover) {
357
+ color: var(--color-sidebar-accent-foreground);
358
+ }
359
+ }
360
+ }
361
+ .sidebar > nav li > :is(a, button)[data-variant=outline], .sidebar > nav li > details > summary[data-variant=outline] {
362
+ background-color: var(--color-background);
363
+ --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-border));
364
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
365
+ &:hover {
366
+ @media (hover: hover) {
367
+ background-color: var(--color-sidebar-accent);
368
+ }
369
+ }
370
+ &:hover {
371
+ @media (hover: hover) {
372
+ color: var(--color-sidebar-accent-foreground);
373
+ }
374
+ }
375
+ &:hover {
376
+ @media (hover: hover) {
377
+ --tw-shadow: 0 0 0 1px var(--tw-shadow-color, var(--sidebar-accent));
378
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
379
+ }
380
+ }
381
+ }
382
+ .sidebar > nav li > :is(a, button):not([data-size]), .sidebar > nav li > details > summary:not([data-size]), .sidebar > nav li > :is(a, button)[data-size=default], .sidebar > nav li > details > summary[data-size=default] {
383
+ height: calc(var(--spacing) * 8);
384
+ font-size: var(--text-sm);
385
+ line-height: var(--tw-leading, var(--text-sm--line-height));
386
+ }
387
+ .sidebar > nav li > :is(a, button)[data-size=sm], .sidebar > nav li > details > summary[data-size=sm] {
388
+ height: calc(var(--spacing) * 7);
389
+ font-size: var(--text-xs);
390
+ line-height: var(--tw-leading, var(--text-xs--line-height));
391
+ }
392
+ .sidebar > nav li > :is(a, button)[data-size=lg], .sidebar > nav li > details > summary[data-size=lg] {
393
+ height: calc(var(--spacing) * 12);
394
+ font-size: var(--text-sm);
395
+ line-height: var(--tw-leading, var(--text-sm--line-height));
396
+ }
397
+ .sidebar > nav li > details > summary::after {
398
+ width: calc(var(--spacing) * 4);
399
+ height: calc(var(--spacing) * 4);
400
+ }
401
+ .sidebar > nav li > details::details-content {
402
+ padding-inline: calc(var(--spacing) * 3.5);
403
+ }
404
+ .sidebar > nav ul ul {
405
+ --tw-translate-x: 1px;
406
+ translate: var(--tw-translate-x) var(--tw-translate-y);
407
+ gap: var(--spacing);
408
+ border-inline-start-style: var(--tw-border-style);
409
+ border-inline-start-width: 1px;
410
+ border-color: var(--color-sidebar-border);
411
+ padding-inline: calc(var(--spacing) * 2.5);
412
+ padding-block: calc(var(--spacing) * 0.5);
413
+ &:where(:dir(rtl), [dir="rtl"], [dir="rtl"] *) {
414
+ --tw-translate-x: -1px;
415
+ translate: var(--tw-translate-x) var(--tw-translate-y);
416
+ }
417
+ }
418
+ .sidebar > nav ul ul > li > :is(a, button), .sidebar > nav ul ul > li > details > summary {
419
+ height: calc(var(--spacing) * 7);
420
+ gap: calc(var(--spacing) * 2);
421
+ border-radius: var(--radius-md);
422
+ padding-inline: calc(var(--spacing) * 2);
423
+ font-size: var(--text-sm);
424
+ line-height: var(--tw-leading, var(--text-sm--line-height));
425
+ color: var(--color-sidebar-foreground);
426
+ --tw-ring-color: var(--color-sidebar-ring);
427
+ &:hover {
428
+ @media (hover: hover) {
429
+ background-color: var(--color-sidebar-accent);
430
+ }
431
+ }
432
+ &:hover {
433
+ @media (hover: hover) {
434
+ color: var(--color-sidebar-accent-foreground);
435
+ }
436
+ }
437
+ &:focus-visible {
438
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
439
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
440
+ }
441
+ &:active {
442
+ background-color: var(--color-sidebar-accent);
443
+ }
444
+ &:active {
445
+ color: var(--color-sidebar-accent-foreground);
446
+ }
447
+ &>svg {
448
+ width: calc(var(--spacing) * 4);
449
+ height: calc(var(--spacing) * 4);
450
+ }
451
+ }
452
+ }
453
+
454
+ @layer components {
455
+ :root {
456
+ --sidebar-width-icon: 3rem;
457
+ }
458
+ .sidebar {
459
+ --sidebar-gap: 0px;
460
+ > nav {
461
+ top: var(--sidebar-top, 0px);
462
+ transition-property: translate, width, inset;
463
+ }
464
+ &:not([data-collapsible='icon'][data-state='collapsed']) [data-tooltip]::before {
465
+ display: none;
466
+ }
467
+ }
468
+ .sidebar:is([data-variant='floating'], [data-variant='inset']) {
469
+ --sidebar-gap: 0.5rem;
470
+ }
471
+ @media (width >= 48rem) {
472
+ .sidebar[data-variant='floating'] > nav {
473
+ inset-block: calc(var(--sidebar-top, 0px) + var(--sidebar-gap)) var(--sidebar-gap);
474
+ inline-size: calc(var(--sidebar-width) - var(--sidebar-gap) * 2);
475
+ block-size: auto;
476
+ }
477
+ .sidebar[data-variant='floating']:is(:not([data-side]), [data-side='left']) > nav {
478
+ left: var(--sidebar-gap);
479
+ }
480
+ .sidebar[data-variant='floating'][data-side='right'] > nav {
481
+ right: var(--sidebar-gap);
482
+ }
483
+ .sidebar[data-variant='inset'] > nav {
484
+ border-inline-width: 0;
485
+ }
486
+ .sidebar[data-variant='inset'] + * {
487
+ margin-block: 0.5rem;
488
+ min-block-size: calc(100svh - 1rem);
489
+ overflow: hidden;
490
+ }
491
+ .sidebar[data-variant='inset']:is(:not([data-side]), [data-side='left']) + * {
492
+ margin-right: 0.5rem;
493
+ }
494
+ .sidebar[data-variant='inset'][aria-hidden='true'] + * {
495
+ margin-left: 0.5rem;
496
+ }
497
+ .sidebar[data-collapsible='icon'][data-state='collapsed'] {
498
+ > nav {
499
+ translate: none;
500
+ inline-size: var(--sidebar-width-icon);
501
+ overflow: hidden;
502
+ }
503
+ &:is(:not([data-side]), [data-side='left']) + * {
504
+ margin-left: var(--sidebar-width-icon);
505
+ }
506
+ &[data-side='right'] + * {
507
+ margin-right: var(--sidebar-width-icon);
508
+ }
509
+ &[data-variant='floating']:is(:not([data-side]), [data-side='left']) + * {
510
+ margin-left: calc(var(--sidebar-width-icon) + 1rem);
511
+ }
512
+ &[data-variant='floating'][data-side='right'] + * {
513
+ margin-right: calc(var(--sidebar-width-icon) + 1rem);
514
+ }
515
+ nav h3, nav ul ul, nav details::details-content, nav summary::after, nav [data-sidebar-hide-collapsed]:not([data-popover] *), nav :is(header, footer, section) :is(a, button, summary):not([data-popover] *) > :not(:first-child) {
516
+ display: none;
517
+ }
518
+ nav :is(header, footer, section) :is(li > a, li > button, li > details > summary, [data-sidebar-item]):not([data-popover] *) {
519
+ inline-size: 2rem;
520
+ block-size: 2rem;
521
+ padding: 0.5rem;
522
+ justify-content: center;
523
+ overflow: visible;
524
+ }
525
+ nav :is(header, footer) :is(li > a, li > button, [data-sidebar-item])[data-size='lg'] {
526
+ padding: 0;
527
+ }
528
+ }
529
+ @supports (anchor-name: --a) {
530
+ .sidebar[data-collapsible='icon'][data-state='collapsed'] > nav li {
531
+ anchor-scope: --bc-sidebar-item;
532
+ > :is(a, button)[data-tooltip], > details > summary[data-tooltip] {
533
+ anchor-name: --bc-sidebar-item;
534
+ &::before {
535
+ position: fixed;
536
+ inset: auto;
537
+ position-anchor: --bc-sidebar-item;
538
+ position-area: inline-end;
539
+ margin-inline-start: 0.5rem;
540
+ translate: none;
541
+ }
542
+ }
543
+ }
544
+ }
545
+ .sidebar:is(:not([data-side]), [data-side='left']):not([aria-hidden='true']) ~ .sidebar[data-side='right'] + * {
546
+ margin-left: var(--sidebar-width);
547
+ }
548
+ .sidebar:is(:not([data-side]), [data-side='left'])[data-collapsible='icon'][data-state='collapsed'] ~ .sidebar[data-side='right'] + * {
549
+ margin-left: var(--sidebar-width-icon);
550
+ }
551
+ }
552
+ .sidebar[data-position='static'] {
553
+ display: flex;
554
+ min-block-size: 0;
555
+ block-size: 100%;
556
+ background: none;
557
+ position: static;
558
+ inset: auto;
559
+ > nav {
560
+ position: relative;
561
+ inset: auto;
562
+ translate: none;
563
+ inline-size: var(--sidebar-width);
564
+ block-size: 100%;
565
+ z-index: auto;
566
+ }
567
+ & + * {
568
+ margin: 0;
569
+ }
570
+ }
571
+ @media (width < 48rem) {
572
+ .sidebar[data-position='static'] {
573
+ display: flex !important;
574
+ }
575
+ }
576
+ @media (width >= 48rem) {
577
+ body:has(> .sidebar[data-variant='inset']) {
578
+ background: var(--sidebar);
579
+ }
580
+ }
581
+ .sidebar > nav :is(li > a, li > button, [data-sidebar-item]) {
582
+ > span:has(> strong, > small) {
583
+ display: grid;
584
+ flex: 1;
585
+ min-inline-size: 0;
586
+ text-align: start;
587
+ line-height: 1.25;
588
+ > :is(strong, small) {
589
+ overflow: hidden;
590
+ text-overflow: ellipsis;
591
+ white-space: nowrap;
592
+ }
593
+ }
594
+ > svg:last-child:not(:first-child) {
595
+ margin-inline-start: auto;
596
+ }
597
+ }
598
+ .sidebar > nav [data-sidebar-item] {
599
+ display: flex;
600
+ inline-size: 100%;
601
+ align-items: center;
602
+ overflow: hidden;
603
+ text-align: start;
604
+ outline: none;
605
+ }
606
+ .sidebar > nav li > :is(a, button) > [data-badge] {
607
+ margin-inline-start: auto;
608
+ font-variant-numeric: tabular-nums;
609
+ }
610
+ .sidebar > nav > :is(header, footer) ul {
611
+ display: flex;
612
+ inline-size: 100%;
613
+ min-inline-size: 0;
614
+ flex-direction: column;
615
+ margin: 0;
616
+ padding: 0;
617
+ list-style: none;
618
+ > li {
619
+ position: relative;
620
+ > :is(a, button) {
621
+ display: flex;
622
+ inline-size: 100%;
623
+ align-items: center;
624
+ overflow: hidden;
625
+ text-align: start;
626
+ outline: none;
627
+ > svg {
628
+ flex-shrink: 0;
629
+ }
630
+ > span:last-child:not(:has(> strong, > small)) {
631
+ overflow: hidden;
632
+ text-overflow: ellipsis;
633
+ white-space: nowrap;
634
+ }
635
+ }
636
+ }
637
+ }
638
+ }
639
+
640
+ @layer components {
641
+ @media (width >= 48rem) {
642
+ .sidebar[data-variant='floating'] > nav {
643
+ border-radius: var(--auvyx-r-surface);
644
+ border-style: var(--tw-border-style);
645
+ border-width: 1px;
646
+ border-color: var(--color-sidebar-border);
647
+ --tw-shadow: var(--shadow-sm, 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)));
648
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
649
+ }
650
+ .sidebar[data-variant='inset'] + * {
651
+ border-radius: var(--auvyx-r-card);
652
+ background-color: var(--color-background);
653
+ --tw-shadow: var(--shadow-sm, 0 1px 3px 0 var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 1px 2px -1px var(--tw-shadow-color, rgb(0 0 0 / 0.1)));
654
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
655
+ }
656
+ }
657
+ .sidebar > nav [data-sidebar-item] {
658
+ gap: calc(var(--spacing) * 2);
659
+ border-radius: var(--auvyx-r-control);
660
+ padding: calc(var(--spacing) * 2);
661
+ font-size: var(--text-sm);
662
+ line-height: var(--tw-leading, var(--text-sm--line-height));
663
+ --tw-ring-color: var(--color-sidebar-ring);
664
+ &:hover {
665
+ @media (hover: hover) {
666
+ background-color: var(--color-sidebar-accent);
667
+ }
668
+ }
669
+ &:hover {
670
+ @media (hover: hover) {
671
+ color: var(--color-sidebar-accent-foreground);
672
+ }
673
+ }
674
+ &:focus-visible {
675
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
676
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
677
+ }
678
+ &>svg {
679
+ width: calc(var(--spacing) * 4);
680
+ height: calc(var(--spacing) * 4);
681
+ }
682
+ &>svg {
683
+ flex-shrink: 0;
684
+ }
685
+ }
686
+ .sidebar > nav [data-sidebar-item][data-size='lg'] {
687
+ height: calc(var(--spacing) * 12);
688
+ }
689
+ .sidebar > nav :is(li > a, li > button, [data-sidebar-item]) > span:has(> strong, > small) > strong {
690
+ --tw-font-weight: var(--font-weight-medium);
691
+ font-weight: var(--font-weight-medium);
692
+ }
693
+ .sidebar > nav :is(li > a, li > button, [data-sidebar-item]) > span:has(> strong, > small) > small {
694
+ font-size: var(--text-xs);
695
+ line-height: var(--tw-leading, var(--text-xs--line-height));
696
+ opacity: 70%;
697
+ }
698
+ .sidebar > nav li > :is(a, button) > [data-badge] {
699
+ font-size: var(--text-xs);
700
+ line-height: var(--tw-leading, var(--text-xs--line-height));
701
+ --tw-font-weight: var(--font-weight-medium);
702
+ font-weight: var(--font-weight-medium);
703
+ color: var(--color-sidebar-foreground);
704
+ }
705
+ .sidebar[data-position='static'] > nav {
706
+ border-inline-end-style: var(--tw-border-style);
707
+ border-inline-end-width: 1px;
708
+ }
709
+ .sidebar > nav > :is(header, footer) ul {
710
+ gap: var(--spacing);
711
+ }
712
+ .sidebar > nav .dropdown-menu:has(> [data-sidebar-item]) {
713
+ display: flex;
714
+ width: 100%;
715
+ }
716
+ }