@moduix/react 2.3.0 → 2.5.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 (40) hide show
  1. package/dist/components/angle-slider/AngleSlider_module.css +2 -2
  2. package/dist/components/json-tree-view/JsonTreeView.d.ts +8 -0
  3. package/dist/components/json-tree-view/JsonTreeView.js +41 -0
  4. package/dist/components/json-tree-view/JsonTreeView.module.js +6 -0
  5. package/dist/components/json-tree-view/JsonTreeView_module.css +147 -0
  6. package/dist/components/json-tree-view/index.d.ts +1 -0
  7. package/dist/components/json-tree-view/index.js +1 -0
  8. package/dist/components/navigation-menu/NavigationMenu.d.ts +18 -0
  9. package/dist/components/navigation-menu/NavigationMenu.js +139 -0
  10. package/dist/components/navigation-menu/NavigationMenu.module.js +36 -0
  11. package/dist/components/navigation-menu/NavigationMenu_module.css +469 -0
  12. package/dist/components/navigation-menu/index.d.ts +1 -0
  13. package/dist/components/navigation-menu/index.js +1 -0
  14. package/dist/components/sidebar/Sidebar.d.ts +0 -1
  15. package/dist/components/sidebar/Sidebar.js +9 -5
  16. package/dist/components/sidebar/Sidebar_module.css +20 -0
  17. package/dist/components/toc/Toc.d.ts +23 -0
  18. package/dist/components/toc/Toc.js +144 -0
  19. package/dist/components/toc/Toc.module.js +13 -0
  20. package/dist/components/toc/Toc_module.css +184 -0
  21. package/dist/components/toc/index.d.ts +1 -0
  22. package/dist/components/toc/index.js +1 -0
  23. package/dist/presets/contrast.css +63 -129
  24. package/dist/presets/dense.css +63 -129
  25. package/dist/presets/soft.css +62 -128
  26. package/dist/styles/animations.css +5 -7
  27. package/dist/styles/borders.css +2 -2
  28. package/dist/styles/colors.css +79 -163
  29. package/dist/styles/opacity.css +4 -5
  30. package/dist/styles/radius.css +6 -6
  31. package/dist/styles/reset.css +215 -104
  32. package/dist/styles/shadows.css +1 -2
  33. package/dist/styles/sizing.css +5 -2
  34. package/dist/styles/spacing.css +9 -7
  35. package/dist/styles/style.css +12 -12
  36. package/dist/styles/transforms.css +3 -4
  37. package/dist/styles/transitions.css +19 -15
  38. package/dist/styles/typography.css +16 -6
  39. package/dist/styles/z-index.css +2 -2
  40. package/package.json +32 -20
@@ -0,0 +1,469 @@
1
+ @layer moduix.components {
2
+ .root-l1uCDR {
3
+ box-sizing: border-box;
4
+ inline-size: -moz-fit-content;
5
+ inline-size: fit-content;
6
+ min-inline-size: 0;
7
+ max-inline-size: 100%;
8
+ color: var(--moduix-navigation-menu-color, var(--moduix-color-foreground));
9
+ justify-content: center;
10
+ display: flex;
11
+ position: relative;
12
+ }
13
+
14
+ .list-vJ6fy3 {
15
+ box-sizing: border-box;
16
+ align-items: center;
17
+ gap: var(--moduix-navigation-menu-list-gap, var(--moduix-spacing-1));
18
+ max-inline-size: 100%;
19
+ margin: 0;
20
+ padding: 0;
21
+ list-style: none;
22
+ display: flex;
23
+ position: relative;
24
+ }
25
+
26
+ .list-vJ6fy3[data-orientation="vertical"] {
27
+ flex-direction: column;
28
+ align-items: stretch;
29
+ }
30
+
31
+ .item-LmKKOe {
32
+ position: relative;
33
+ }
34
+
35
+ .root-l1uCDR:has( > .viewportPositioner-hUgOWA > .viewport-Gtf85E) .item-LmKKOe {
36
+ position: static;
37
+ }
38
+
39
+ .trigger-Qt8Wrp, .link-HFA7O5 {
40
+ box-sizing: border-box;
41
+ min-block-size: var(--moduix-navigation-menu-trigger-height, var(--moduix-size-md));
42
+ justify-content: center;
43
+ align-items: center;
44
+ gap: var(--moduix-navigation-menu-trigger-gap, var(--moduix-spacing-2));
45
+ border-radius: var(--moduix-navigation-menu-trigger-radius, var(--moduix-radius-md));
46
+ padding: var(--moduix-navigation-menu-trigger-padding-y, var(--moduix-spacing-1))
47
+ var(--moduix-navigation-menu-trigger-padding-x, var(--moduix-spacing-3));
48
+ color: var(--moduix-navigation-menu-trigger-color, currentColor);
49
+ font: inherit;
50
+ font-size: var(--moduix-navigation-menu-trigger-font-size, var(--moduix-text-sm));
51
+ font-weight: var(--moduix-navigation-menu-trigger-font-weight, var(--moduix-weight-medium));
52
+ line-height: var(--moduix-navigation-menu-trigger-line-height, var(--moduix-line-height-text-sm));
53
+ -webkit-user-select: none;
54
+ user-select: none;
55
+ white-space: nowrap;
56
+ transition: background-color var(--moduix-navigation-menu-transition, var(--moduix-transition-default)),
57
+ color var(--moduix-navigation-menu-transition, var(--moduix-transition-default));
58
+ background: none;
59
+ border: 0;
60
+ outline: 0;
61
+ margin: 0;
62
+ text-decoration: none;
63
+ display: inline-flex;
64
+ }
65
+
66
+ :is(.trigger-Qt8Wrp, .link-HFA7O5) > svg {
67
+ inline-size: var(--moduix-navigation-menu-trigger-icon-size, var(--moduix-spacing-4));
68
+ block-size: var(--moduix-navigation-menu-trigger-icon-size, var(--moduix-spacing-4));
69
+ transition: rotate var(--moduix-navigation-menu-transition, var(--moduix-transition-default));
70
+ flex: none;
71
+ }
72
+
73
+ :is(.trigger-Qt8Wrp, .link-HFA7O5):focus-visible {
74
+ outline: var(--moduix-navigation-menu-focus-ring-width, var(--moduix-focus-ring-inset-width, var(--moduix-border-width-sm)))
75
+ solid var(--moduix-navigation-menu-focus-ring-color, var(--moduix-color-ring));
76
+ outline-offset: var(--moduix-navigation-menu-focus-ring-offset, var(--moduix-focus-ring-offset, 0));
77
+ }
78
+
79
+ :is(.trigger-Qt8Wrp, .link-HFA7O5)[data-disabled], :is(.trigger-Qt8Wrp, .link-HFA7O5):disabled {
80
+ cursor: default;
81
+ opacity: var(--moduix-navigation-menu-disabled-opacity, var(--moduix-opacity-disabled));
82
+ pointer-events: none;
83
+ }
84
+
85
+ @media (hover: hover) {
86
+ :is(.trigger-Qt8Wrp, .link-HFA7O5):hover:not([data-disabled], :disabled) {
87
+ background-color: var(--moduix-navigation-menu-trigger-bg-hover, var(--moduix-color-muted));
88
+ }
89
+ }
90
+
91
+ .trigger-Qt8Wrp[data-state="open"] {
92
+ background-color: var(--moduix-navigation-menu-trigger-bg-active, var(--moduix-navigation-menu-trigger-bg-hover, var(--moduix-color-muted)));
93
+ }
94
+
95
+ .trigger-Qt8Wrp[data-state="open"] > svg {
96
+ rotate: 180deg;
97
+ }
98
+
99
+ .link-HFA7O5[data-current] {
100
+ background-color: var(--moduix-navigation-menu-link-current-bg, transparent);
101
+ color: var(--moduix-navigation-menu-link-current-color, var(--moduix-color-primary));
102
+ }
103
+
104
+ .content-dvfEnJ {
105
+ box-sizing: border-box;
106
+ z-index: var(--moduix-navigation-menu-content-z-index, var(--moduix-z-popup));
107
+ inline-size: max-content;
108
+ min-inline-size: min(max(var(--trigger-width, 0px), var(--moduix-navigation-menu-content-min-width, 12rem)),
109
+ calc(100vw - var(--moduix-spacing-6)));
110
+ max-inline-size: min(var(--moduix-navigation-menu-content-max-width, 20rem),
111
+ calc(100vw - var(--moduix-spacing-6)));
112
+ outline: var(--moduix-navigation-menu-content-border-width, var(--moduix-border-width-sm)) solid
113
+ var(--moduix-navigation-menu-content-border-color, var(--moduix-color-border));
114
+ border-radius: var(--moduix-navigation-menu-content-radius, var(--moduix-radius-md));
115
+ padding: var(--moduix-navigation-menu-content-padding, var(--moduix-popup-list-padding-y, var(--moduix-spacing-1)) 0);
116
+ background-color: var(--moduix-navigation-menu-content-bg, var(--moduix-color-popover));
117
+ color: var(--moduix-navigation-menu-content-color, var(--moduix-color-popover-foreground));
118
+ box-shadow: var(--moduix-navigation-menu-content-shadow, var(--moduix-shadow-lg));
119
+ transform-origin: 0 0;
120
+ overscroll-behavior: contain;
121
+ flex-direction: column;
122
+ display: flex;
123
+ position: absolute;
124
+ inset-block-start: calc(100% + var(--moduix-navigation-menu-content-offset, var(--moduix-spacing-2)));
125
+ inset-inline-start: 0;
126
+ overflow: visible;
127
+ }
128
+
129
+ .content-dvfEnJ[dir="rtl"] {
130
+ transform-origin: 100% 0;
131
+ }
132
+
133
+ .content-dvfEnJ[data-state="open"] {
134
+ animation: navigation-menu-content-in-z6oz3S
135
+ var(--moduix-navigation-menu-transition, var(--moduix-popup-motion-duration, var(--moduix-duration-normal))
136
+ var(--moduix-popup-motion-easing, var(--moduix-ease-in-out)))
137
+ both;
138
+ }
139
+
140
+ .content-dvfEnJ[data-state="closed"] {
141
+ animation: navigation-menu-content-out-PRe3xI
142
+ var(--moduix-navigation-menu-transition, var(--moduix-popup-motion-duration, var(--moduix-duration-normal))
143
+ var(--moduix-popup-motion-easing, var(--moduix-ease-in-out)))
144
+ both;
145
+ pointer-events: none;
146
+ }
147
+
148
+ .contentViewport-MCA9d7 {
149
+ z-index: 1;
150
+ max-block-size: min(var(--moduix-navigation-menu-content-max-height, 24rem),
151
+ calc(100dvh - var(--moduix-spacing-6)));
152
+ flex-direction: column;
153
+ display: flex;
154
+ position: relative;
155
+ overflow: auto;
156
+ }
157
+
158
+ .content-dvfEnJ .link-HFA7O5 {
159
+ margin-inline: var(--moduix-popup-highlight-inset-x, var(--moduix-spacing-1));
160
+ border-radius: var(--moduix-navigation-menu-content-link-radius, var(--moduix-radius-sm));
161
+ padding-inline: var(--moduix-navigation-menu-content-link-padding-x, var(--moduix-spacing-2));
162
+ justify-content: flex-start;
163
+ }
164
+
165
+ .indicator-f9Famp {
166
+ inset-block-start: calc(-1 * var(--moduix-navigation-menu-indicator-size, var(--moduix-spacing-2-5)));
167
+ inline-size: var(--trigger-width, 0);
168
+ block-size: var(--moduix-navigation-menu-indicator-size, var(--moduix-spacing-2-5));
169
+ pointer-events: none;
170
+ translate: var(--trigger-x, 0) 0;
171
+ transition: translate var(--moduix-navigation-menu-transition, var(--moduix-transition-default)),
172
+ inline-size var(--moduix-navigation-menu-transition, var(--moduix-transition-default));
173
+ justify-content: center;
174
+ display: flex;
175
+ position: absolute;
176
+ left: 0;
177
+ }
178
+
179
+ .indicator-f9Famp[data-state="open"] {
180
+ animation: navigation-menu-indicator-in-CVxbn2
181
+ var(--moduix-navigation-menu-transition, var(--moduix-transition-default)) both;
182
+ }
183
+
184
+ .indicator-f9Famp[data-state="closed"] {
185
+ animation: navigation-menu-indicator-out-rEIfTV
186
+ var(--moduix-navigation-menu-transition, var(--moduix-transition-default)) both;
187
+ }
188
+
189
+ .list-vJ6fy3 > .indicator-f9Famp {
190
+ inset-block-start: auto;
191
+ inset-block-end: calc(-1 * var(--moduix-navigation-menu-indicator-size, var(--moduix-spacing-2-5)));
192
+ }
193
+
194
+ .arrow-oIu4Ws {
195
+ inline-size: var(--moduix-navigation-menu-arrow-size, var(--moduix-spacing-2-5));
196
+ block-size: var(--moduix-navigation-menu-arrow-size, var(--moduix-spacing-2-5));
197
+ border-block-start: var(--moduix-navigation-menu-content-border-width, var(--moduix-border-width-sm))
198
+ solid
199
+ var(--moduix-navigation-menu-arrow-stroke-color, var(--moduix-navigation-menu-content-border-color, var(--moduix-color-border)));
200
+ border-inline-start: var(--moduix-navigation-menu-content-border-width, var(--moduix-border-width-sm))
201
+ solid
202
+ var(--moduix-navigation-menu-arrow-stroke-color, var(--moduix-navigation-menu-content-border-color, var(--moduix-color-border)));
203
+ background-color: var(--moduix-navigation-menu-content-bg, var(--moduix-color-popover));
204
+ position: relative;
205
+ inset-block-start: var(--moduix-spacing-1);
206
+ rotate: 45deg;
207
+ }
208
+
209
+ .itemIndicator-EcfjBL {
210
+ inset-inline: var(--moduix-navigation-menu-item-indicator-inset, var(--moduix-spacing-2));
211
+ block-size: var(--moduix-navigation-menu-item-indicator-size, var(--moduix-border-width-md));
212
+ border-radius: var(--moduix-radius-full);
213
+ background-color: var(--moduix-navigation-menu-item-indicator-bg, var(--moduix-color-foreground));
214
+ position: absolute;
215
+ inset-block-end: 0;
216
+ }
217
+
218
+ .viewportPositioner-hUgOWA {
219
+ z-index: var(--moduix-navigation-menu-viewport-z-index, var(--moduix-z-popup));
220
+ translate: var(--viewport-x, 0px) 0;
221
+ display: flex;
222
+ position: absolute;
223
+ inset-block-start: 100%;
224
+ inset-inline-start: 0;
225
+ }
226
+
227
+ .viewportPositioner-hUgOWA[data-orientation="vertical"] {
228
+ inset-block-start: var(--viewport-y, 0px);
229
+ inset-inline-start: 100%;
230
+ translate: 0;
231
+ }
232
+
233
+ .viewportPositioner-hUgOWA > .indicator-f9Famp {
234
+ z-index: 1;
235
+ translate: calc(var(--trigger-x, 0px) - var(--viewport-x, 0px)) 0;
236
+ inset-block-start: calc(var(--moduix-navigation-menu-viewport-offset, var(--moduix-spacing-2)) -
237
+ var(--moduix-navigation-menu-indicator-size, var(--moduix-spacing-2-5)));
238
+ }
239
+
240
+ .viewportPositioner-hUgOWA[data-orientation="horizontal"] > .indicator-f9Famp {
241
+ overflow: hidden;
242
+ }
243
+
244
+ .viewport-Gtf85E {
245
+ box-sizing: border-box;
246
+ inline-size: var(--viewport-width);
247
+ max-inline-size: min(var(--moduix-navigation-menu-viewport-max-width, 40rem),
248
+ calc(100vw - var(--moduix-spacing-6)));
249
+ block-size: var(--viewport-height);
250
+ max-block-size: min(var(--moduix-navigation-menu-viewport-max-height, 32rem),
251
+ calc(100dvh - var(--moduix-spacing-6)));
252
+ outline: var(--moduix-navigation-menu-content-border-width, var(--moduix-border-width-sm)) solid
253
+ var(--moduix-navigation-menu-content-border-color, var(--moduix-color-border));
254
+ border-radius: var(--moduix-navigation-menu-viewport-radius, var(--moduix-radius-md));
255
+ background-color: var(--moduix-navigation-menu-content-bg, var(--moduix-color-popover));
256
+ color: var(--moduix-navigation-menu-content-color, var(--moduix-color-popover-foreground));
257
+ box-shadow: var(--moduix-navigation-menu-content-shadow, var(--moduix-shadow-lg));
258
+ transform-origin: top;
259
+ transition: inline-size
260
+ var(--moduix-navigation-menu-viewport-transition, var(--moduix-popup-motion-duration, var(--moduix-duration-normal))
261
+ var(--moduix-popup-motion-easing, var(--moduix-ease-in-out))),
262
+ block-size
263
+ var(--moduix-navigation-menu-viewport-transition, var(--moduix-popup-motion-duration, var(--moduix-duration-normal))
264
+ var(--moduix-popup-motion-easing, var(--moduix-ease-in-out)));
265
+ margin-block-start: var(--moduix-navigation-menu-viewport-offset, var(--moduix-spacing-2));
266
+ position: relative;
267
+ overflow: hidden;
268
+ }
269
+
270
+ .viewport-Gtf85E[data-state="open"] {
271
+ animation: navigation-menu-viewport-in-GyosQZ
272
+ var(--moduix-navigation-menu-transition, var(--moduix-popup-motion-duration, var(--moduix-duration-normal))
273
+ var(--moduix-popup-motion-easing, var(--moduix-ease-in-out)))
274
+ both;
275
+ }
276
+
277
+ .viewport-Gtf85E[data-state="closed"] {
278
+ animation: navigation-menu-viewport-out-Z8eoY1
279
+ var(--moduix-navigation-menu-transition, var(--moduix-popup-motion-duration, var(--moduix-duration-normal))
280
+ var(--moduix-popup-motion-easing, var(--moduix-ease-in-out)))
281
+ both;
282
+ pointer-events: none;
283
+ }
284
+
285
+ .viewportPositioner-hUgOWA[data-orientation="vertical"] .viewport-Gtf85E {
286
+ margin-block-start: 0;
287
+ margin-inline-start: var(--moduix-navigation-menu-viewport-offset, var(--moduix-spacing-2));
288
+ }
289
+
290
+ .viewport-Gtf85E .content-dvfEnJ {
291
+ box-shadow: none;
292
+ transform-origin: center;
293
+ will-change: translate, opacity;
294
+ background: none;
295
+ border-radius: 0;
296
+ outline: 0;
297
+ margin: 0;
298
+ position: absolute;
299
+ inset: 0 auto auto 0;
300
+ }
301
+
302
+ .viewport-Gtf85E .contentViewport-MCA9d7 {
303
+ z-index: 2;
304
+ max-block-size: none;
305
+ }
306
+
307
+ .viewport-Gtf85E .content-dvfEnJ[data-state] {
308
+ animation: none;
309
+ }
310
+
311
+ .viewport-Gtf85E .content-dvfEnJ[data-motion="from-start"] {
312
+ animation: navigation-menu-viewport-content-from-start-pOKtKn
313
+ var(--moduix-navigation-menu-transition, var(--moduix-popup-motion-duration, var(--moduix-duration-normal))
314
+ var(--moduix-popup-motion-easing, var(--moduix-ease-in-out)))
315
+ both;
316
+ }
317
+
318
+ .viewport-Gtf85E .content-dvfEnJ[data-motion="from-end"] {
319
+ animation: navigation-menu-viewport-content-from-end-USOntt
320
+ var(--moduix-navigation-menu-transition, var(--moduix-popup-motion-duration, var(--moduix-duration-normal))
321
+ var(--moduix-popup-motion-easing, var(--moduix-ease-in-out)))
322
+ both;
323
+ }
324
+
325
+ .viewport-Gtf85E .content-dvfEnJ[data-motion="to-start"] {
326
+ animation: navigation-menu-viewport-content-to-start-sbgu7Q
327
+ var(--moduix-navigation-menu-transition, var(--moduix-popup-motion-duration, var(--moduix-duration-normal))
328
+ var(--moduix-popup-motion-easing, var(--moduix-ease-in-out)))
329
+ both;
330
+ }
331
+
332
+ .viewport-Gtf85E .content-dvfEnJ[data-motion="to-end"] {
333
+ animation: navigation-menu-viewport-content-to-end-f0My8W
334
+ var(--moduix-navigation-menu-transition, var(--moduix-popup-motion-duration, var(--moduix-duration-normal))
335
+ var(--moduix-popup-motion-easing, var(--moduix-ease-in-out)))
336
+ both;
337
+ }
338
+
339
+ @keyframes navigation-menu-content-in-z6oz3S {
340
+ from {
341
+ opacity: var(--moduix-navigation-menu-content-starting-opacity, var(--moduix-popup-motion-starting-opacity, 0));
342
+ translate: var(--moduix-navigation-menu-content-starting-translate-x, var(--moduix-popup-motion-starting-translate-x, 0))
343
+ var(--moduix-navigation-menu-content-starting-translate-y, var(--moduix-popup-motion-starting-translate-y, 0));
344
+ transform: scale(var(--moduix-navigation-menu-content-starting-scale, var(--moduix-popup-motion-starting-scale, var(--moduix-scale-popup))));
345
+ }
346
+
347
+ to {
348
+ opacity: 1;
349
+ transform: scale(1);
350
+ }
351
+ }
352
+
353
+ @keyframes navigation-menu-content-out-PRe3xI {
354
+ from {
355
+ opacity: 1;
356
+ transform: scale(1);
357
+ }
358
+
359
+ to {
360
+ opacity: var(--moduix-navigation-menu-content-ending-opacity, var(--moduix-popup-motion-ending-opacity, 0));
361
+ translate: var(--moduix-navigation-menu-content-ending-translate-x, var(--moduix-popup-motion-ending-translate-x, 0))
362
+ var(--moduix-navigation-menu-content-ending-translate-y, var(--moduix-popup-motion-ending-translate-y, 0));
363
+ transform: scale(var(--moduix-navigation-menu-content-ending-scale, var(--moduix-popup-motion-ending-scale, var(--moduix-scale-popup))));
364
+ }
365
+ }
366
+
367
+ @keyframes navigation-menu-indicator-in-CVxbn2 {
368
+ from {
369
+ opacity: 0;
370
+ }
371
+
372
+ to {
373
+ opacity: 1;
374
+ }
375
+ }
376
+
377
+ @keyframes navigation-menu-indicator-out-rEIfTV {
378
+ from {
379
+ opacity: 1;
380
+ }
381
+
382
+ to {
383
+ opacity: 0;
384
+ }
385
+ }
386
+
387
+ @keyframes navigation-menu-viewport-in-GyosQZ {
388
+ from {
389
+ opacity: 0;
390
+ transform: rotateX(-30deg) scale(.9);
391
+ }
392
+
393
+ to {
394
+ opacity: 1;
395
+ transform: scale(1);
396
+ }
397
+ }
398
+
399
+ @keyframes navigation-menu-viewport-out-Z8eoY1 {
400
+ from {
401
+ opacity: 1;
402
+ transform: scale(1);
403
+ }
404
+
405
+ to {
406
+ opacity: 0;
407
+ transform: rotateX(-10deg) scale(.95);
408
+ }
409
+ }
410
+
411
+ @keyframes navigation-menu-viewport-content-from-start-pOKtKn {
412
+ from {
413
+ opacity: 0;
414
+ translate: calc(-1 * var(--moduix-navigation-menu-viewport-motion-distance, 12.5rem)) 0;
415
+ }
416
+
417
+ to {
418
+ opacity: 1;
419
+ translate: 0;
420
+ }
421
+ }
422
+
423
+ @keyframes navigation-menu-viewport-content-from-end-USOntt {
424
+ from {
425
+ opacity: 0;
426
+ translate: var(--moduix-navigation-menu-viewport-motion-distance, 12.5rem) 0;
427
+ }
428
+
429
+ to {
430
+ opacity: 1;
431
+ translate: 0;
432
+ }
433
+ }
434
+
435
+ @keyframes navigation-menu-viewport-content-to-start-sbgu7Q {
436
+ from {
437
+ opacity: 1;
438
+ translate: 0;
439
+ }
440
+
441
+ to {
442
+ opacity: 0;
443
+ translate: calc(-1 * var(--moduix-navigation-menu-viewport-motion-distance, 12.5rem)) 0;
444
+ }
445
+ }
446
+
447
+ @keyframes navigation-menu-viewport-content-to-end-f0My8W {
448
+ from {
449
+ opacity: 1;
450
+ translate: 0;
451
+ }
452
+
453
+ to {
454
+ opacity: 0;
455
+ translate: var(--moduix-navigation-menu-viewport-motion-distance, 12.5rem) 0;
456
+ }
457
+ }
458
+
459
+ @media (prefers-reduced-motion: reduce) {
460
+ .trigger-Qt8Wrp, .link-HFA7O5, .indicator-f9Famp, .viewport-Gtf85E {
461
+ transition: none;
462
+ }
463
+
464
+ .content-dvfEnJ[data-state], .content-dvfEnJ[data-motion], .indicator-f9Famp[data-state], .viewport-Gtf85E[data-state] {
465
+ animation: none;
466
+ }
467
+ }
468
+ }
469
+
@@ -0,0 +1 @@
1
+ export { NavigationMenu, useNavigationMenu, useNavigationMenuContext } from './NavigationMenu.js';
@@ -0,0 +1 @@
1
+ export { NavigationMenu, useNavigationMenu, useNavigationMenuContext } from "./NavigationMenu.js";
@@ -4,7 +4,6 @@ import { Tooltip } from '../tooltip';
4
4
  type SidebarSide = 'left' | 'right';
5
5
  type SidebarRootProps = Omit<ComponentProps<typeof Splitter.Root>, 'orientation' | 'panels'> & {
6
6
  panelId?: string;
7
- panels?: ComponentProps<typeof Splitter.Root>['panels'];
8
7
  side?: SidebarSide;
9
8
  };
10
9
  type SidebarPanelProps = Omit<ComponentProps<typeof Splitter.Panel>, 'id'>;
@@ -53,7 +53,7 @@ function toggleSidebarPanel(splitter, panelId) {
53
53
  if (splitter.isPanelCollapsed(panelId)) return void splitter.expandPanel(panelId);
54
54
  splitter.collapsePanel(panelId);
55
55
  }
56
- const Sidebar_SidebarRoot = /*#__PURE__*/ forwardRef(function({ className, panels, defaultSize, panelId = 'sidebar', side = 'left', ...props }, ref) {
56
+ const Sidebar_SidebarRoot = /*#__PURE__*/ forwardRef(function({ className, defaultSize, panelId = 'sidebar', side = 'left', ...props }, ref) {
57
57
  return /*#__PURE__*/ jsx(SidebarConfigContext.Provider, {
58
58
  value: {
59
59
  panelId,
@@ -62,7 +62,7 @@ const Sidebar_SidebarRoot = /*#__PURE__*/ forwardRef(function({ className, panel
62
62
  children: /*#__PURE__*/ jsx(Splitter.Root, {
63
63
  ...props,
64
64
  ref: ref,
65
- panels: panels ?? getDefaultPanels(side, panelId),
65
+ panels: getDefaultPanels(side, panelId),
66
66
  defaultSize: defaultSize ?? getDefaultSidebarSize(side),
67
67
  orientation: "horizontal",
68
68
  "data-side": side,
@@ -118,7 +118,7 @@ const Sidebar_SidebarResizeTrigger = /*#__PURE__*/ forwardRef(function({ childre
118
118
  "data-side": side,
119
119
  "data-slot": "sidebar-resize-trigger",
120
120
  className: clsx(Sidebar_module.resizeTrigger, normalizeClassName(className)),
121
- children: void 0 === children ? null : children
121
+ children: children
122
122
  });
123
123
  });
124
124
  const Sidebar_SidebarTrigger = /*#__PURE__*/ forwardRef(function({ className, children, onClick, type = 'button', 'aria-label': ariaLabel = 'Toggle sidebar', ...props }, ref) {
@@ -302,7 +302,7 @@ const Sidebar_SidebarMenuSubItem = /*#__PURE__*/ forwardRef(function({ className
302
302
  ...props
303
303
  });
304
304
  });
305
- const Sidebar_SidebarMenuSubButton = /*#__PURE__*/ forwardRef(function({ active = false, className, 'aria-current': ariaCurrent, ...props }, ref) {
305
+ const Sidebar_SidebarMenuSubButton = /*#__PURE__*/ forwardRef(function({ active = false, children, className, 'aria-current': ariaCurrent, ...props }, ref) {
306
306
  return /*#__PURE__*/ jsx(ark.a, {
307
307
  ref: ref,
308
308
  "aria-current": ariaCurrent ?? (active ? 'page' : void 0),
@@ -311,7 +311,11 @@ const Sidebar_SidebarMenuSubButton = /*#__PURE__*/ forwardRef(function({ active
311
311
  "data-slot": "sidebar-menu-sub-button",
312
312
  "data-active": active ? '' : void 0,
313
313
  className: clsx(Sidebar_module.menuSubButton, normalizeClassName(className)),
314
- ...props
314
+ ...props,
315
+ children: 'string' == typeof children ? /*#__PURE__*/ jsx("span", {
316
+ "data-slot": "sidebar-menu-sub-label",
317
+ children: children
318
+ }) : children
315
319
  });
316
320
  });
317
321
  const Sidebar_SidebarTooltip = function({ children, content, openDelay = 200, closeDelay = 0, positioning, ...props }) {
@@ -299,6 +299,8 @@
299
299
  appearance: none;
300
300
  font: inherit;
301
301
  text-align: start;
302
+ text-overflow: ellipsis;
303
+ white-space: nowrap;
302
304
  cursor: pointer;
303
305
  transition: background-color var(--moduix-sidebar-transition, var(--moduix-transition-default)),
304
306
  border-color var(--moduix-sidebar-transition, var(--moduix-transition-default)),
@@ -308,6 +310,7 @@
308
310
  align-items: center;
309
311
  text-decoration: none;
310
312
  display: flex;
313
+ overflow: hidden;
311
314
  }
312
315
 
313
316
  :is(.menuButton-OAl6eQ, .menuSubButton-MjeEfX) > svg {
@@ -444,6 +447,23 @@
444
447
  var(--moduix-sidebar-menu-button-padding-x, var(--moduix-spacing-2)) * 2);
445
448
  }
446
449
 
450
+ :is(.menuItem-ktGhRk:has(.menuAction-_BDfHY) .menuButton-OAl6eQ, .menuItem-ktGhRk:has(.menuBadge-GKf4u4) .menuButton-OAl6eQ) > [data-slot="sidebar-menu-sub-label"] {
451
+ text-overflow: ellipsis;
452
+ min-width: 0;
453
+ overflow: hidden;
454
+ }
455
+
456
+ .menuItem-ktGhRk:has(.menuAction-_BDfHY):has(.menuBadge-GKf4u4) .menuButton-OAl6eQ {
457
+ padding-inline-end: calc(var(--moduix-sidebar-menu-action-size, var(--moduix-size-xs)) +
458
+ var(--moduix-sidebar-menu-badge-min-width, 1.5rem) +
459
+ var(--moduix-sidebar-menu-button-padding-x, var(--moduix-spacing-2)) * 3);
460
+ }
461
+
462
+ .menuItem-ktGhRk:has(.menuAction-_BDfHY):has(.menuBadge-GKf4u4) .menuAction-_BDfHY {
463
+ inset-inline-end: calc(var(--moduix-sidebar-menu-badge-min-width, 1.5rem) +
464
+ var(--moduix-sidebar-menu-button-padding-x, var(--moduix-spacing-2)) * 2);
465
+ }
466
+
447
467
  :is(.panel-l44YAX[data-state="collapsed"] .menuItem-ktGhRk:has(.menuAction-_BDfHY) .menuButton-OAl6eQ, .panel-l44YAX[data-state="collapsed"] .menuItem-ktGhRk:has(.menuBadge-GKf4u4) .menuButton-OAl6eQ) {
448
468
  padding-inline-end: 0;
449
469
  }
@@ -0,0 +1,23 @@
1
+ import { Toc as TocPrimitive, type UseTocProps } from '@ark-ui/react/toc';
2
+ import type { ComponentProps } from 'react';
3
+ declare const useToc: ({ autoScroll, ...props }: UseTocProps) => import("@ark-ui/react/toc").UseTocReturn;
4
+ declare const useTocContext: () => import("@ark-ui/react/toc").UseTocContext;
5
+ type TocRailProps = ComponentProps<'svg'> & {
6
+ depth: number;
7
+ previousDepth?: number;
8
+ nextDepth?: number;
9
+ };
10
+ declare const Toc: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.RootProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>> & {
11
+ Root: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.RootProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
12
+ RootProvider: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.RootProviderProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
13
+ Context: (props: TocPrimitive.ContextProps) => import("react").ReactNode;
14
+ Content: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.ContentProps & import("react").RefAttributes<HTMLElement>, "ref"> & import("react").RefAttributes<HTMLElement>>;
15
+ Nav: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.NavProps & import("react").RefAttributes<HTMLElement>, "ref"> & import("react").RefAttributes<HTMLElement>>;
16
+ Title: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.TitleProps & import("react").RefAttributes<HTMLHeadingElement>, "ref"> & import("react").RefAttributes<HTMLHeadingElement>>;
17
+ List: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.ListProps & import("react").RefAttributes<HTMLUListElement>, "ref"> & import("react").RefAttributes<HTMLUListElement>>;
18
+ Item: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.ItemProps & import("react").RefAttributes<HTMLLIElement>, "ref"> & import("react").RefAttributes<HTMLLIElement>>;
19
+ Link: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.LinkProps & import("react").RefAttributes<HTMLAnchorElement>, "ref"> & import("react").RefAttributes<HTMLAnchorElement>>;
20
+ Indicator: import("react").ForwardRefExoticComponent<Omit<TocPrimitive.IndicatorProps & import("react").RefAttributes<HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
21
+ Rail: import("react").ForwardRefExoticComponent<Omit<TocRailProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
22
+ };
23
+ export { Toc, useToc, useTocContext };