@nxds/claude-design 0.0.0-stage → 0.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 (153) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +21 -2
  3. package/coverage.md +174 -0
  4. package/files.json +594 -0
  5. package/package.json +18 -3
  6. package/project/README.md +97 -0
  7. package/project/components/Accordion/README.md +84 -0
  8. package/project/components/Accordion/preview.html +16 -0
  9. package/project/components/Alert/README.md +97 -0
  10. package/project/components/Alert/preview.html +16 -0
  11. package/project/components/AlertDialog/README.md +170 -0
  12. package/project/components/AlertDialog/preview.html +16 -0
  13. package/project/components/AspectRatio/README.md +23 -0
  14. package/project/components/AspectRatio/preview.html +16 -0
  15. package/project/components/Attachment/README.md +127 -0
  16. package/project/components/Attachment/preview.html +16 -0
  17. package/project/components/Avatar/README.md +73 -0
  18. package/project/components/Avatar/preview.html +16 -0
  19. package/project/components/Badge/README.md +27 -0
  20. package/project/components/Badge/preview.html +16 -0
  21. package/project/components/Breadcrumb/README.md +117 -0
  22. package/project/components/Breadcrumb/preview.html +16 -0
  23. package/project/components/Bubble/README.md +57 -0
  24. package/project/components/Bubble/preview.html +16 -0
  25. package/project/components/Button/README.md +35 -0
  26. package/project/components/Button/preview.html +16 -0
  27. package/project/components/ButtonGroup/README.md +54 -0
  28. package/project/components/ButtonGroup/preview.html +16 -0
  29. package/project/components/Card/README.md +92 -0
  30. package/project/components/Card/preview.html +16 -0
  31. package/project/components/Carousel/README.md +85 -0
  32. package/project/components/Carousel/preview.html +16 -0
  33. package/project/components/Chart/README.md +124 -0
  34. package/project/components/Chart/preview.html +16 -0
  35. package/project/components/Checkbox/README.md +30 -0
  36. package/project/components/Checkbox/preview.html +16 -0
  37. package/project/components/ChoiceCard/README.md +61 -0
  38. package/project/components/ChoiceCard/preview.html +16 -0
  39. package/project/components/ChoiceRow/README.md +58 -0
  40. package/project/components/ChoiceRow/preview.html +16 -0
  41. package/project/components/Collapsible/README.md +73 -0
  42. package/project/components/Collapsible/preview.html +16 -0
  43. package/project/components/Combobox/README.md +158 -0
  44. package/project/components/Combobox/preview.html +16 -0
  45. package/project/components/Command/README.md +152 -0
  46. package/project/components/Command/preview.html +16 -0
  47. package/project/components/ContextMenu/README.md +215 -0
  48. package/project/components/ContextMenu/preview.html +16 -0
  49. package/project/components/Cover/preview.html +101 -0
  50. package/project/components/DatePicker/README.md +104 -0
  51. package/project/components/DatePicker/preview.html +16 -0
  52. package/project/components/DescriptionList/README.md +57 -0
  53. package/project/components/DescriptionList/preview.html +16 -0
  54. package/project/components/Dialog/README.md +166 -0
  55. package/project/components/Dialog/preview.html +16 -0
  56. package/project/components/Drawer/README.md +188 -0
  57. package/project/components/Drawer/preview.html +16 -0
  58. package/project/components/DropdownMenu/README.md +250 -0
  59. package/project/components/DropdownMenu/preview.html +16 -0
  60. package/project/components/EmptyState/README.md +84 -0
  61. package/project/components/EmptyState/preview.html +16 -0
  62. package/project/components/Field/README.md +129 -0
  63. package/project/components/Field/preview.html +16 -0
  64. package/project/components/FilterBuilder/README.md +34 -0
  65. package/project/components/FilterBuilder/preview.html +16 -0
  66. package/project/components/FilterChip/README.md +31 -0
  67. package/project/components/FilterChip/preview.html +16 -0
  68. package/project/components/FilterCondition/README.md +66 -0
  69. package/project/components/FilterCondition/preview.html +16 -0
  70. package/project/components/Hide/README.md +26 -0
  71. package/project/components/Hide/preview.html +16 -0
  72. package/project/components/HoverCard/README.md +77 -0
  73. package/project/components/HoverCard/preview.html +16 -0
  74. package/project/components/Input/README.md +37 -0
  75. package/project/components/Input/preview.html +16 -0
  76. package/project/components/InputGroup/README.md +109 -0
  77. package/project/components/InputGroup/preview.html +16 -0
  78. package/project/components/InputOTP/README.md +72 -0
  79. package/project/components/InputOTP/preview.html +16 -0
  80. package/project/components/Item/README.md +124 -0
  81. package/project/components/Item/preview.html +16 -0
  82. package/project/components/Kbd/README.md +40 -0
  83. package/project/components/Kbd/preview.html +16 -0
  84. package/project/components/Label/README.md +25 -0
  85. package/project/components/Label/preview.html +16 -0
  86. package/project/components/Marker/README.md +48 -0
  87. package/project/components/Marker/preview.html +16 -0
  88. package/project/components/Menubar/README.md +266 -0
  89. package/project/components/Menubar/preview.html +16 -0
  90. package/project/components/Message/README.md +78 -0
  91. package/project/components/Message/preview.html +16 -0
  92. package/project/components/MessageScroller/README.md +84 -0
  93. package/project/components/MessageScroller/preview.html +16 -0
  94. package/project/components/MultiSelect/README.md +122 -0
  95. package/project/components/MultiSelect/preview.html +16 -0
  96. package/project/components/NativeSelect/README.md +56 -0
  97. package/project/components/NativeSelect/preview.html +16 -0
  98. package/project/components/NavigationMenu/README.md +153 -0
  99. package/project/components/NavigationMenu/preview.html +16 -0
  100. package/project/components/PageHeader/README.md +86 -0
  101. package/project/components/PageHeader/preview.html +16 -0
  102. package/project/components/Pagination/README.md +123 -0
  103. package/project/components/Pagination/preview.html +16 -0
  104. package/project/components/Popover/README.md +87 -0
  105. package/project/components/Popover/preview.html +16 -0
  106. package/project/components/Progress/README.md +27 -0
  107. package/project/components/Progress/preview.html +16 -0
  108. package/project/components/RadioGroup/README.md +67 -0
  109. package/project/components/RadioGroup/preview.html +16 -0
  110. package/project/components/Resizable/README.md +65 -0
  111. package/project/components/Resizable/preview.html +16 -0
  112. package/project/components/ScrollArea/README.md +42 -0
  113. package/project/components/ScrollArea/preview.html +16 -0
  114. package/project/components/Select/README.md +161 -0
  115. package/project/components/Select/preview.html +16 -0
  116. package/project/components/Separator/README.md +37 -0
  117. package/project/components/Separator/preview.html +16 -0
  118. package/project/components/Sheet/README.md +160 -0
  119. package/project/components/Sheet/preview.html +16 -0
  120. package/project/components/Show/README.md +26 -0
  121. package/project/components/Show/preview.html +16 -0
  122. package/project/components/Sidebar/README.md +290 -0
  123. package/project/components/Sidebar/preview.html +16 -0
  124. package/project/components/Skeleton/README.md +30 -0
  125. package/project/components/Skeleton/preview.html +16 -0
  126. package/project/components/Slider/README.md +38 -0
  127. package/project/components/Slider/preview.html +16 -0
  128. package/project/components/Sonner/README.md +37 -0
  129. package/project/components/Sonner/preview.html +16 -0
  130. package/project/components/Spinner/README.md +27 -0
  131. package/project/components/Spinner/preview.html +16 -0
  132. package/project/components/Switch/README.md +31 -0
  133. package/project/components/Switch/preview.html +16 -0
  134. package/project/components/Table/README.md +120 -0
  135. package/project/components/Table/preview.html +16 -0
  136. package/project/components/Tabs/README.md +81 -0
  137. package/project/components/Tabs/preview.html +16 -0
  138. package/project/components/Textarea/README.md +32 -0
  139. package/project/components/Textarea/preview.html +16 -0
  140. package/project/components/Toggle/README.md +33 -0
  141. package/project/components/Toggle/preview.html +16 -0
  142. package/project/components/ToggleGroup/README.md +64 -0
  143. package/project/components/ToggleGroup/preview.html +16 -0
  144. package/project/components/Toolbar/README.md +123 -0
  145. package/project/components/Toolbar/preview.html +16 -0
  146. package/project/components/Tooltip/README.md +84 -0
  147. package/project/components/Tooltip/preview.html +16 -0
  148. package/project/components/bundle.css +8329 -0
  149. package/project/components/bundle.js +346 -0
  150. package/project/components/index.d.ts +7902 -0
  151. package/project/design-system.json +34 -0
  152. package/project/tokens.css +702 -0
  153. package/project/tokens.json +2998 -0
@@ -0,0 +1,160 @@
1
+ # Sheet
2
+
3
+ Sheet slides a panel in from one edge of the viewport. Use it for settings, filters, navigation or supporting forms. For a centered task use Dialog, for a forced choice use AlertDialog, and for drag-to-dismiss use Drawer.
4
+
5
+ ## On the canvas
6
+
7
+ ```html
8
+ <x-import component-from-global-scope="Nxds.Sheet">
9
+ <x-import component-from-global-scope="Nxds.SheetTrigger" as-child>
10
+ <x-import component-from-global-scope="Nxds.Button" variant="outline">Open Sheet</x-import>
11
+ </x-import>
12
+ <x-import component-from-global-scope="Nxds.SheetContent">
13
+ <x-import component-from-global-scope="Nxds.SheetHeader">
14
+ <x-import component-from-global-scope="Nxds.SheetTitle">Sheet Title</x-import>
15
+ <x-import component-from-global-scope="Nxds.SheetDescription">This panel slides in from the right edge by default.</x-import>
16
+ </x-import>
17
+ <x-import component-from-global-scope="Nxds.SheetBody">
18
+ <p class="nx:typography-body-default nx:text-foreground">Sheet content goes here. You can add any content you need.</p>
19
+ </x-import>
20
+ <x-import component-from-global-scope="Nxds.SheetFooter">
21
+ <x-import component-from-global-scope="Nxds.SheetClose" as-child>
22
+ <x-import component-from-global-scope="Nxds.Button" variant="outline">Cancel</x-import>
23
+ </x-import>
24
+ <x-import component-from-global-scope="Nxds.Button">Save</x-import>
25
+ </x-import>
26
+ </x-import>
27
+ </x-import>
28
+ ```
29
+
30
+ Attributes set props, kebab-case to camelCase. Element content becomes `children`. An attribute holds text, so a prop that takes an element, a function or an object has no attribute.
31
+
32
+ ## Parts
33
+
34
+ - `Nxds.Sheet` — Root of a panel that slides in from an edge of the viewport.
35
+ - `Nxds.SheetBody` — Main content between the header and footer.
36
+ - `Nxds.SheetClose` — Closes the sheet.
37
+ - `Nxds.SheetContent` — The sliding panel, rendered in a portal with an overlay.
38
+ - `Nxds.SheetDescription` — Supporting text under the title.
39
+ - `Nxds.SheetFooter` — Holds the action buttons, pinned to the bottom of the panel.
40
+ - `Nxds.SheetHeader` — Holds the title and description.
41
+ - `Nxds.SheetOverlay` — Dimmed layer behind the sheet.
42
+ - `Nxds.SheetPortal` — Renders the sheet content into `document.body`.
43
+ - `Nxds.SheetTitle` — Title of the sheet.
44
+ - `Nxds.SheetTrigger` — Opens the sheet.
45
+
46
+ ## Props
47
+
48
+ ### Sheet
49
+
50
+ | Prop | Type | Default | Control |
51
+ | --- | --- | --- | --- |
52
+ | `children` | `React.ReactNode` | | content |
53
+ | `open` | `boolean` | | toggle |
54
+ | `defaultOpen` | `boolean` | | toggle |
55
+ | `onOpenChange` | `(open: boolean) => void` | | none (function) |
56
+ | `modal` | `boolean` | | toggle |
57
+
58
+ ### SheetBody
59
+
60
+ | Prop | Type | Default | Control |
61
+ | --- | --- | --- | --- |
62
+ | `className` | `string` | | text |
63
+ | `id` | `string` | | text |
64
+ | `children` | `React.ReactNode` | | content |
65
+
66
+ ### SheetClose
67
+
68
+ | Prop | Type | Default | Control |
69
+ | --- | --- | --- | --- |
70
+ | `children` | `React.ReactNode` | | content |
71
+ | `className` | `string` | | text |
72
+ | `id` | `string` | | text |
73
+ | `name` | `string` | | text |
74
+ | `type` | `"button" \| "submit" \| "reset"` | | dropdown |
75
+ | `asChild` | `boolean` | | toggle |
76
+ | `disabled` | `boolean` | | toggle |
77
+ | `value` | `string \| number \| readonly string[]` | | none (object) |
78
+
79
+ ### SheetContent
80
+
81
+ | Prop | Type | Default | Control |
82
+ | --- | --- | --- | --- |
83
+ | `showCloseButton` | `boolean` | `true` | toggle |
84
+ | `forceMount` | `true` | | toggle |
85
+ | `children` | `React.ReactNode` | | content |
86
+ | `className` | `string` | | text |
87
+ | `id` | `string` | | text |
88
+ | `asChild` | `boolean` | | toggle |
89
+ | `onEscapeKeyDown` | `(event: KeyboardEvent) => void` | | none (function) |
90
+ | `onPointerDownOutside` | `(event: PointerDownOutsideEvent) => void` | | none (function) |
91
+ | `onFocusOutside` | `(event: FocusOutsideEvent) => void` | | none (function) |
92
+ | `onInteractOutside` | `(event: FocusOutsideEvent \| PointerDownOutsideEvent) => void` | | none (function) |
93
+ | `onOpenAutoFocus` | `(event: Event) => void` | | none (function) |
94
+ | `onCloseAutoFocus` | `(event: Event) => void` | | none (function) |
95
+ | `side` | `"top" \| "bottom" \| "left" \| "right"` | `"right"` | dropdown |
96
+
97
+ ### SheetDescription
98
+
99
+ | Prop | Type | Default | Control |
100
+ | --- | --- | --- | --- |
101
+ | `children` | `React.ReactNode` | | content |
102
+ | `className` | `string` | | text |
103
+ | `id` | `string` | | text |
104
+ | `asChild` | `boolean` | | toggle |
105
+
106
+ ### SheetFooter
107
+
108
+ | Prop | Type | Default | Control |
109
+ | --- | --- | --- | --- |
110
+ | `className` | `string` | | text |
111
+ | `id` | `string` | | text |
112
+ | `children` | `React.ReactNode` | | content |
113
+
114
+ ### SheetHeader
115
+
116
+ | Prop | Type | Default | Control |
117
+ | --- | --- | --- | --- |
118
+ | `className` | `string` | | text |
119
+ | `id` | `string` | | text |
120
+ | `children` | `React.ReactNode` | | content |
121
+
122
+ ### SheetOverlay
123
+
124
+ | Prop | Type | Default | Control |
125
+ | --- | --- | --- | --- |
126
+ | `forceMount` | `true` | | toggle |
127
+ | `children` | `React.ReactNode` | | content |
128
+ | `className` | `string` | | text |
129
+ | `id` | `string` | | text |
130
+ | `asChild` | `boolean` | | toggle |
131
+
132
+ ### SheetPortal
133
+
134
+ | Prop | Type | Default | Control |
135
+ | --- | --- | --- | --- |
136
+ | `children` | `React.ReactNode` | | content |
137
+ | `container` | `Element \| DocumentFragment` | | none (object) |
138
+ | `forceMount` | `true` | | toggle |
139
+
140
+ ### SheetTitle
141
+
142
+ | Prop | Type | Default | Control |
143
+ | --- | --- | --- | --- |
144
+ | `children` | `React.ReactNode` | | content |
145
+ | `className` | `string` | | text |
146
+ | `id` | `string` | | text |
147
+ | `asChild` | `boolean` | | toggle |
148
+
149
+ ### SheetTrigger
150
+
151
+ | Prop | Type | Default | Control |
152
+ | --- | --- | --- | --- |
153
+ | `children` | `React.ReactNode` | | content |
154
+ | `className` | `string` | | text |
155
+ | `id` | `string` | | text |
156
+ | `name` | `string` | | text |
157
+ | `type` | `"button" \| "submit" \| "reset"` | | dropdown |
158
+ | `asChild` | `boolean` | | toggle |
159
+ | `disabled` | `boolean` | | toggle |
160
+ | `value` | `string \| number \| readonly string[]` | | none (object) |
@@ -0,0 +1,16 @@
1
+ <!-- @dsCard group="Overlays" height=120 -->
2
+ <!doctype html>
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="utf-8">
6
+ <title>Sheet</title>
7
+ <style>
8
+ body { margin: 0; background: var(--nx-color-background); color: var(--nx-color-foreground); font-family: var(--font-sans); }
9
+ #root { padding: var(--nx-spacing-6); }
10
+ </style>
11
+ </head>
12
+ <body>
13
+ <div id="root"></div>
14
+ <script>(()=>{var B=Object.create;var m=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,K=Object.prototype.hasOwnProperty;var l=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(n){throw e=0,n}};var P=(t,e,n,d)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of R(e))!K.call(t,i)&&i!==n&&m(t,i,{get:()=>e[i],enumerable:!(d=C(e,i))||d.enumerable});return t};var a=(t,e,n)=>(n=t!=null?B(D(t)):{},P(e||!t||!t.__esModule?m(n,"default",{value:t,enumerable:!0}):n,t));var u=l((F,y)=>{y.exports=window.Nxds});var c=l((b,f)=>{f.exports=window.React});var w=l((O,g)=>{g.exports={createRoot:window.ReactDOM.createRoot}});var s=a(u()),o=a(u());var p=a(c());function x(t,e){return e===void 0?t:{...t,key:e}}function r(t,e,n){return(0,p.createElement)(t,x(e,n))}function h(t,e,n){let{children:d,...i}=e;return(0,p.createElement)(t,x(i,n),...d)}function S(){return h(o.Sheet,{children:[r(o.SheetTrigger,{asChild:!0,children:r(s.Button,{variant:"outline",children:"Open Sheet"})}),h(o.SheetContent,{children:[h(o.SheetHeader,{children:[r(o.SheetTitle,{children:"Sheet Title"}),r(o.SheetDescription,{children:"This panel slides in from the right edge by default."})]}),r(o.SheetBody,{children:r("p",{className:"nx:typography-body-default nx:text-foreground",children:"Sheet content goes here. You can add any content you need."})}),h(o.SheetFooter,{children:[r(o.SheetClose,{asChild:!0,children:r(s.Button,{variant:"outline",children:"Cancel"})}),r(s.Button,{children:"Save"})]})]})]})}var T=a(c()),E=a(w());(0,E.createRoot)(document.getElementById("root")).render((0,T.createElement)(S));})();</script>
15
+ </body>
16
+ </html>
@@ -0,0 +1,26 @@
1
+ # Show
2
+
3
+ Show displays its children only above or below a viewport or container width. Use it for responsive visibility instead of toggling `nx:hidden` classes. To hide content at a width, use Hide.
4
+
5
+ ## On the canvas
6
+
7
+ ```html
8
+ <x-import component-from-global-scope="Nxds.Show" as="div" above="sm">Show</x-import>
9
+ ```
10
+
11
+ Attributes set props, kebab-case to camelCase. Element content becomes `children`. An attribute holds text, so a prop that takes an element, a function or an object has no attribute.
12
+
13
+ ## Props
14
+
15
+ ### Show
16
+
17
+ | Prop | Type | Default | Control |
18
+ | --- | --- | --- | --- |
19
+ | `className` | `string` | | text |
20
+ | `id` | `string` | | text |
21
+ | `children` | `React.ReactNode` | | content |
22
+ | `as` | `"div" \| "span"` | `"span"` | dropdown |
23
+ | `above` | `"sm" \| "lg" \| "md" \| "xl" \| "2xl"` | | dropdown |
24
+ | `below` | `"sm" \| "lg" \| "md" \| "xl" \| "2xl"` | | dropdown |
25
+ | `containerAbove` | `"sm" \| "lg" \| "md" \| "xl" \| "2xl"` | | dropdown |
26
+ | `containerBelow` | `"sm" \| "lg" \| "md" \| "xl" \| "2xl"` | | dropdown |
@@ -0,0 +1,16 @@
1
+ <!-- @dsCard group="Layout" height=120 -->
2
+ <!doctype html>
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="utf-8">
6
+ <title>Show</title>
7
+ <style>
8
+ body { margin: 0; background: var(--nx-color-background); color: var(--nx-color-foreground); font-family: var(--font-sans); }
9
+ #root { padding: var(--nx-spacing-6); }
10
+ </style>
11
+ </head>
12
+ <body>
13
+ <div id="root"></div>
14
+ <script>(()=>{var R=Object.create;var x=Object.defineProperty;var K=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var S=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var l=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(o){throw e=0,o}};var D=(t,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of P(e))!N.call(t,r)&&r!==o&&x(t,r,{get:()=>e[r],enumerable:!(i=K(e,r))||i.enumerable});return t};var s=(t,e,o)=>(o=t!=null?R(S(t)):{},D(e||!t||!t.__esModule?x(o,"default",{value:t,enumerable:!0}):o,t));var f=l((V,w)=>{w.exports=window.Nxds});var p=l((j,u)=>{u.exports=window.React});var v=l((I,h)=>{h.exports={createRoot:window.ReactDOM.createRoot}});var m=s(f());var d=s(p());function g(t,e){return e===void 0?t:{...t,key:e}}function n(t,e,o){return(0,d.createElement)(t,g(e,o))}function a(t,e,o){let{children:i,...r}=e;return(0,d.createElement)(t,g(r,o),...i)}var y="nx:rounded-md nx:border-default nx:border-border-default nx:p-3 nx:text-foreground";function c(){return a("div",{className:"nx:flex nx:flex-col nx:gap-2",children:[n(m.Show,{above:"lg",as:"div",children:a("div",{className:y,children:["Visible when the viewport is ",n("strong",{children:"lg"})," (≥ 64rem) or wider."]})}),n(m.Show,{below:"lg",as:"div",children:a("div",{className:y,children:["Visible when the viewport is narrower than ",n("strong",{children:"lg"}),"."]})})]})}var b=s(p()),E=s(v());(0,E.createRoot)(document.getElementById("root")).render((0,b.createElement)(c));})();</script>
15
+ </body>
16
+ </html>
@@ -0,0 +1,290 @@
1
+ # Sidebar
2
+
3
+ Sidebar is the app's main navigation panel. It collapses to an icon rail or off screen, and opens as a Sheet on narrow screens. Wrap the app shell in `SidebarProvider` and put the page content in `SidebarInset`.
4
+
5
+ ## On the canvas
6
+
7
+ ```html
8
+ <x-import component-from-global-scope="Nxds.Sidebar" side="right" variant="floating">Sidebar</x-import>
9
+ ```
10
+
11
+ Attributes set props, kebab-case to camelCase. Element content becomes `children`. An attribute holds text, so a prop that takes an element, a function or an object has no attribute.
12
+
13
+ ## Parts
14
+
15
+ - `Nxds.Sidebar` — The sidebar panel.
16
+ - `Nxds.SidebarContent` — Scrollable `<nav>` landmark that holds the groups and menus.
17
+ - `Nxds.SidebarFooter` — Bottom of the sidebar, for a user menu or sign-out button.
18
+ - `Nxds.SidebarGroup` — Labelled section that groups related menu items.
19
+ - `Nxds.SidebarGroupAction` — Small button at a group's top-right, such as "Add".
20
+ - `Nxds.SidebarGroupContent` — Body of a `SidebarGroup`, usually a `SidebarMenu`.
21
+ - `Nxds.SidebarGroupLabel` — Heading of a `SidebarGroup`.
22
+ - `Nxds.SidebarHeader` — Top of the sidebar, for a logo or a workspace switcher.
23
+ - `Nxds.SidebarInput` — `Input` styled for the sidebar, such as a filter field.
24
+ - `Nxds.SidebarInset` — Main content region beside the sidebar.
25
+ - `Nxds.SidebarMenu` — `<ul>` that holds a group's nav items.
26
+ - `Nxds.SidebarMenuAction` — Secondary button on a menu item's right edge, such as "More".
27
+ - `Nxds.SidebarMenuBadge` — Count or status pill on a menu item's right edge.
28
+ - `Nxds.SidebarMenuButton` — Main clickable nav item.
29
+ - `Nxds.SidebarMenuItem` — One `<li>` in a `SidebarMenu`.
30
+ - `Nxds.SidebarMenuSkeleton` — Placeholder for a menu row while nav data loads.
31
+ - `Nxds.SidebarMenuSub` — `<ul>` for a nested submenu, with a guide line on the left.
32
+ - `Nxds.SidebarMenuSubButton` — Clickable item in a submenu.
33
+ - `Nxds.SidebarMenuSubItem` — One `<li>` in a `SidebarMenuSub`.
34
+ - `Nxds.SidebarProvider` — Holds the open state and the `Ctrl/Cmd+B` shortcut.
35
+ - `Nxds.SidebarRail` — Thin strip on the sidebar's inner edge that toggles the sidebar on click.
36
+ - `Nxds.SidebarSeparator` — `Separator` inset to line up with the sidebar's content.
37
+ - `Nxds.SidebarTrigger` — Icon button that opens and closes the sidebar.
38
+
39
+ ## Props
40
+
41
+ ### Sidebar
42
+
43
+ | Prop | Type | Default | Control |
44
+ | --- | --- | --- | --- |
45
+ | `side` | `"left" \| "right"` | `"left"` | dropdown |
46
+ | `variant` | `"floating" \| "inset" \| "sidebar"` | `"sidebar"` | dropdown |
47
+ | `collapsible` | `"none" \| "icon" \| "offcanvas"` | `"offcanvas"` | dropdown |
48
+ | `className` | `string` | | text |
49
+ | `id` | `string` | | text |
50
+ | `children` | `React.ReactNode` | | content |
51
+
52
+ ### SidebarContent
53
+
54
+ | Prop | Type | Default | Control |
55
+ | --- | --- | --- | --- |
56
+ | `className` | `string` | | text |
57
+ | `id` | `string` | | text |
58
+ | `children` | `React.ReactNode` | | content |
59
+
60
+ ### SidebarFooter
61
+
62
+ | Prop | Type | Default | Control |
63
+ | --- | --- | --- | --- |
64
+ | `className` | `string` | | text |
65
+ | `id` | `string` | | text |
66
+ | `children` | `React.ReactNode` | | content |
67
+
68
+ ### SidebarGroup
69
+
70
+ | Prop | Type | Default | Control |
71
+ | --- | --- | --- | --- |
72
+ | `className` | `string` | | text |
73
+ | `id` | `string` | | text |
74
+ | `children` | `React.ReactNode` | | content |
75
+
76
+ ### SidebarGroupAction
77
+
78
+ | Prop | Type | Default | Control |
79
+ | --- | --- | --- | --- |
80
+ | `asChild` | `boolean` | `false` | toggle |
81
+ | `disabled` | `boolean` | | toggle |
82
+ | `name` | `string` | | text |
83
+ | `type` | `"button" \| "submit" \| "reset"` | | dropdown |
84
+ | `value` | `string \| number \| readonly string[]` | | none (object) |
85
+ | `className` | `string` | | text |
86
+ | `id` | `string` | | text |
87
+ | `children` | `React.ReactNode` | | content |
88
+
89
+ ### SidebarGroupContent
90
+
91
+ | Prop | Type | Default | Control |
92
+ | --- | --- | --- | --- |
93
+ | `className` | `string` | | text |
94
+ | `id` | `string` | | text |
95
+ | `children` | `React.ReactNode` | | content |
96
+
97
+ ### SidebarGroupLabel
98
+
99
+ | Prop | Type | Default | Control |
100
+ | --- | --- | --- | --- |
101
+ | `asChild` | `boolean` | `false` | toggle |
102
+ | `className` | `string` | | text |
103
+ | `id` | `string` | | text |
104
+ | `children` | `React.ReactNode` | | content |
105
+
106
+ ### SidebarHeader
107
+
108
+ | Prop | Type | Default | Control |
109
+ | --- | --- | --- | --- |
110
+ | `className` | `string` | | text |
111
+ | `id` | `string` | | text |
112
+ | `children` | `React.ReactNode` | | content |
113
+
114
+ ### SidebarInput
115
+
116
+ | Prop | Type | Default | Control |
117
+ | --- | --- | --- | --- |
118
+ | `children` | `React.ReactNode` | | content |
119
+ | `className` | `string` | | text |
120
+ | `id` | `string` | | text |
121
+ | `max` | `string \| number` | | none (object) |
122
+ | `min` | `string \| number` | | none (object) |
123
+ | `name` | `string` | | text |
124
+ | `type` | `HTMLInputTypeAttribute` | | none (object) |
125
+ | `step` | `string \| number` | | none (object) |
126
+ | `disabled` | `boolean` | | toggle |
127
+ | `value` | `string \| number \| readonly string[]` | | none (object) |
128
+ | `checked` | `boolean` | | toggle |
129
+ | `maxLength` | `number` | | number |
130
+ | `placeholder` | `string` | | text |
131
+ | `readOnly` | `boolean` | | toggle |
132
+ | `required` | `boolean` | | toggle |
133
+ | `variant` | `"ghost" \| "bordered" \| "borderless"` | `"bordered"` | dropdown |
134
+ | `size` | `"default" \| "sm" \| "lg"` | `"default"` | dropdown |
135
+
136
+ ### SidebarInset
137
+
138
+ | Prop | Type | Default | Control |
139
+ | --- | --- | --- | --- |
140
+ | `className` | `string` | | text |
141
+ | `id` | `string` | | text |
142
+ | `children` | `React.ReactNode` | | content |
143
+
144
+ ### SidebarMenu
145
+
146
+ | Prop | Type | Default | Control |
147
+ | --- | --- | --- | --- |
148
+ | `className` | `string` | | text |
149
+ | `id` | `string` | | text |
150
+ | `children` | `React.ReactNode` | | content |
151
+
152
+ ### SidebarMenuAction
153
+
154
+ | Prop | Type | Default | Control |
155
+ | --- | --- | --- | --- |
156
+ | `asChild` | `boolean` | `false` | toggle |
157
+ | `showOnHover` | `boolean` | `false` | toggle |
158
+ | `disabled` | `boolean` | | toggle |
159
+ | `name` | `string` | | text |
160
+ | `type` | `"button" \| "submit" \| "reset"` | | dropdown |
161
+ | `value` | `string \| number \| readonly string[]` | | none (object) |
162
+ | `className` | `string` | | text |
163
+ | `id` | `string` | | text |
164
+ | `children` | `React.ReactNode` | | content |
165
+
166
+ ### SidebarMenuBadge
167
+
168
+ | Prop | Type | Default | Control |
169
+ | --- | --- | --- | --- |
170
+ | `className` | `string` | | text |
171
+ | `id` | `string` | | text |
172
+ | `children` | `React.ReactNode` | | content |
173
+
174
+ ### SidebarMenuButton
175
+
176
+ | Prop | Type | Default | Control |
177
+ | --- | --- | --- | --- |
178
+ | `asChild` | `boolean` | `false` | toggle |
179
+ | `isActive` | `boolean` | `false` | toggle |
180
+ | `tooltip` | `string \| (TooltipContentProps & RefAttributes<HTMLDivElement>)` | | none (object) |
181
+ | `disabled` | `boolean` | | toggle |
182
+ | `name` | `string` | | text |
183
+ | `type` | `"button" \| "submit" \| "reset"` | | dropdown |
184
+ | `value` | `string \| number \| readonly string[]` | | none (object) |
185
+ | `className` | `string` | | text |
186
+ | `id` | `string` | | text |
187
+ | `children` | `React.ReactNode` | | content |
188
+ | `variant` | `"default" \| "outline"` | `"default"` | dropdown |
189
+ | `size` | `"default" \| "sm" \| "lg"` | `"default"` | dropdown |
190
+
191
+ ### SidebarMenuItem
192
+
193
+ | Prop | Type | Default | Control |
194
+ | --- | --- | --- | --- |
195
+ | `value` | `string \| number \| readonly string[]` | | none (object) |
196
+ | `className` | `string` | | text |
197
+ | `id` | `string` | | text |
198
+ | `children` | `React.ReactNode` | | content |
199
+
200
+ ### SidebarMenuSkeleton
201
+
202
+ | Prop | Type | Default | Control |
203
+ | --- | --- | --- | --- |
204
+ | `showIcon` | `boolean` | `false` | toggle |
205
+ | `className` | `string` | | text |
206
+ | `id` | `string` | | text |
207
+ | `children` | `React.ReactNode` | | content |
208
+
209
+ ### SidebarMenuSub
210
+
211
+ | Prop | Type | Default | Control |
212
+ | --- | --- | --- | --- |
213
+ | `className` | `string` | | text |
214
+ | `id` | `string` | | text |
215
+ | `children` | `React.ReactNode` | | content |
216
+
217
+ ### SidebarMenuSubButton
218
+
219
+ | Prop | Type | Default | Control |
220
+ | --- | --- | --- | --- |
221
+ | `asChild` | `boolean` | `false` | toggle |
222
+ | `size` | `"sm" \| "md"` | `"md"` | dropdown |
223
+ | `isActive` | `boolean` | `false` | toggle |
224
+ | `href` | `string` | | text |
225
+ | `target` | `HTMLAttributeAnchorTarget` | | none (object) |
226
+ | `type` | `string` | | text |
227
+ | `className` | `string` | | text |
228
+ | `id` | `string` | | text |
229
+ | `children` | `React.ReactNode` | | content |
230
+
231
+ ### SidebarMenuSubItem
232
+
233
+ | Prop | Type | Default | Control |
234
+ | --- | --- | --- | --- |
235
+ | `value` | `string \| number \| readonly string[]` | | none (object) |
236
+ | `className` | `string` | | text |
237
+ | `id` | `string` | | text |
238
+ | `children` | `React.ReactNode` | | content |
239
+
240
+ ### SidebarProvider
241
+
242
+ | Prop | Type | Default | Control |
243
+ | --- | --- | --- | --- |
244
+ | `defaultOpen` | `boolean` | `true` | toggle |
245
+ | `open` | `boolean` | | toggle |
246
+ | `onOpenChange` | `(open: boolean) => void` | | none (function) |
247
+ | `className` | `string` | | text |
248
+ | `id` | `string` | | text |
249
+ | `children` | `React.ReactNode` | | content |
250
+
251
+ ### SidebarRail
252
+
253
+ | Prop | Type | Default | Control |
254
+ | --- | --- | --- | --- |
255
+ | `disabled` | `boolean` | | toggle |
256
+ | `name` | `string` | | text |
257
+ | `type` | `"button" \| "submit" \| "reset"` | | dropdown |
258
+ | `value` | `string \| number \| readonly string[]` | | none (object) |
259
+ | `className` | `string` | | text |
260
+ | `id` | `string` | | text |
261
+ | `children` | `React.ReactNode` | | content |
262
+
263
+ ### SidebarSeparator
264
+
265
+ | Prop | Type | Default | Control |
266
+ | --- | --- | --- | --- |
267
+ | `orientation` | `"horizontal" \| "vertical"` | `"horizontal"` | dropdown |
268
+ | `decorative` | `boolean` | `true` | toggle |
269
+ | `children` | `React.ReactNode` | | content |
270
+ | `className` | `string` | | text |
271
+ | `id` | `string` | | text |
272
+ | `asChild` | `boolean` | | toggle |
273
+
274
+ ### SidebarTrigger
275
+
276
+ | Prop | Type | Default | Control |
277
+ | --- | --- | --- | --- |
278
+ | `asChild` | `boolean` | `false` | toggle |
279
+ | `loading` | `boolean` | `false` | toggle |
280
+ | `startIcon` | `React.ReactNode` | | none (element) |
281
+ | `endIcon` | `React.ReactNode` | | none (element) |
282
+ | `disabled` | `boolean` | | toggle |
283
+ | `name` | `string` | | text |
284
+ | `type` | `"button" \| "submit" \| "reset"` | `"button"` | dropdown |
285
+ | `value` | `string \| number \| readonly string[]` | | none (object) |
286
+ | `className` | `string` | | text |
287
+ | `id` | `string` | | text |
288
+ | `children` | `React.ReactNode` | | content |
289
+ | `variant` | `"link" \| "default" \| "destructive" \| "error" \| "outline" \| "dashed" \| "secondary" \| "ghost"` | `"ghost"` | dropdown |
290
+ | `size` | `"default" \| "sm" \| "lg" \| "icon-sm" \| "icon" \| "icon-lg"` | `"icon"` | dropdown |
@@ -0,0 +1,16 @@
1
+ <!-- @dsCard group="Navigation" height=420 -->
2
+ <!doctype html>
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="utf-8">
6
+ <title>Sidebar</title>
7
+ <style>
8
+ body { margin: 0; background: var(--nx-color-background); color: var(--nx-color-foreground); font-family: var(--font-sans); }
9
+ #root { padding: var(--nx-spacing-6); }
10
+ </style>
11
+ </head>
12
+ <body>
13
+ <div id="root"></div>
14
+ <script>(()=>{var R=Object.create;var c=Object.defineProperty;var E=Object.getOwnPropertyDescriptor;var B=Object.getOwnPropertyNames;var G=Object.getPrototypeOf,N=Object.prototype.hasOwnProperty;var p=(r,t)=>()=>{try{return t||r((t={exports:{}}).exports,t),t.exports}catch(o){throw t=0,o}};var P=(r,t,o,u)=>{if(t&&typeof t=="object"||typeof t=="function")for(let d of B(t))!N.call(r,d)&&d!==o&&c(r,d,{get:()=>t[d],enumerable:!(u=E(t,d))||u.enumerable});return r};var s=(r,t,o)=>(o=r!=null?R(G(r)):{},P(t||!r||!r.__esModule?c(o,"default",{value:r,enumerable:!0}):o,r));var x=p((K,S)=>{S.exports=window.Nxds.Icons});var h=p((D,f)=>{f.exports=window.Nxds});var b=p((H,y)=>{y.exports=window.React});var g=p((j,M)=>{M.exports={createRoot:window.ReactDOM.createRoot}});var i=s(x()),e=s(h());var l=s(b());function I(r,t){return t===void 0?r:{...r,key:t}}function n(r,t,o){return(0,l.createElement)(r,I(t,o))}function a(r,t,o){let{children:u,...d}=t;return(0,l.createElement)(r,I(d,o),...u)}function C({children:r}){return a(e.SidebarInset,{children:[a("header",{className:"nx:flex nx:h-16 nx:items-center nx:gap-2 nx:border-b-default nx:border-border-default nx:px-4",children:[n(e.SidebarTrigger,{}),n("span",{className:"nx:typography-label-default",children:"Dashboard"})]}),n("div",{className:"nx:min-h-[20rem] nx:p-4 nx:typography-label-default nx:text-muted-foreground",children:r??"Main content area."})]})}function m(){return n("div",{className:"nx:h-96 nx:w-full nx:overflow-hidden nx:rounded-lg nx:border-default nx:border-border-default",children:a(e.SidebarProvider,{style:{minHeight:"unset",height:"100%"},children:[a(e.Sidebar,{collapsible:"none",children:[n(e.SidebarHeader,{children:n(e.SidebarMenu,{children:n(e.SidebarMenuItem,{children:a(e.SidebarMenuButton,{size:"lg",children:[n(i.IconLayoutGrid,{}),n("span",{children:"Acme Inc"})]})})})}),n(e.SidebarContent,{children:a(e.SidebarGroup,{children:[n(e.SidebarGroupLabel,{children:"Variants"}),n(e.SidebarGroupContent,{children:a(e.SidebarMenu,{children:[n(e.SidebarMenuItem,{children:a(e.SidebarMenuButton,{isActive:!0,children:[n(i.IconHome,{}),n("span",{children:"Active"})]})}),n(e.SidebarMenuItem,{children:a(e.SidebarMenuButton,{variant:"outline",children:[n(i.IconInbox,{}),n("span",{children:"Outline"})]})}),n(e.SidebarMenuItem,{children:a(e.SidebarMenuButton,{size:"sm",children:[n(i.IconCalendar,{}),n("span",{children:"Small"})]})}),n(e.SidebarMenuItem,{children:n(e.SidebarMenuButton,{asChild:!0,children:a("a",{href:"https://example.com",children:[n(i.IconSettings,{}),n("span",{children:"As link"})]})})})]})})]})})]}),n(C,{})]})})}var w=s(b()),v=s(g());(0,v.createRoot)(document.getElementById("root")).render((0,w.createElement)(m));})();</script>
15
+ </body>
16
+ </html>
@@ -0,0 +1,30 @@
1
+ # Skeleton
2
+
3
+ Skeleton shows a pulsing placeholder where content is still loading. Use it to keep the layout steady until data arrives. For a short wait with no known layout, use Spinner.
4
+
5
+ ## On the canvas
6
+
7
+ ```html
8
+ <div class="nx:flex nx:w-80 nx:flex-col nx:gap-4">
9
+ <x-import component-from-global-scope="Nxds.Skeleton" class-name="nx:h-40 nx:w-full nx:rounded-lg"></x-import>
10
+ <div class="nx:flex nx:items-center nx:gap-3">
11
+ <x-import component-from-global-scope="Nxds.Skeleton" class-name="nx:size-10 nx:rounded-full"></x-import>
12
+ <div class="nx:flex nx:flex-1 nx:flex-col nx:gap-2">
13
+ <x-import component-from-global-scope="Nxds.Skeleton" class-name="nx:h-4 nx:w-1/2"></x-import>
14
+ <x-import component-from-global-scope="Nxds.Skeleton" class-name="nx:h-3 nx:w-3/4"></x-import>
15
+ </div>
16
+ </div>
17
+ </div>
18
+ ```
19
+
20
+ Attributes set props, kebab-case to camelCase. Element content becomes `children`. An attribute holds text, so a prop that takes an element, a function or an object has no attribute.
21
+
22
+ ## Props
23
+
24
+ ### Skeleton
25
+
26
+ | Prop | Type | Default | Control |
27
+ | --- | --- | --- | --- |
28
+ | `className` | `string` | | text |
29
+ | `id` | `string` | | text |
30
+ | `children` | `React.ReactNode` | | content |
@@ -0,0 +1,16 @@
1
+ <!-- @dsCard group="Feedback" height=120 -->
2
+ <!doctype html>
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="utf-8">
6
+ <title>Skeleton</title>
7
+ <style>
8
+ body { margin: 0; background: var(--nx-color-background); color: var(--nx-color-foreground); font-family: var(--font-sans); }
9
+ #root { padding: var(--nx-spacing-6); }
10
+ </style>
11
+ </head>
12
+ <body>
13
+ <div id="root"></div>
14
+ <script>(()=>{var v=Object.create;var p=Object.defineProperty;var R=Object.getOwnPropertyDescriptor;var K=Object.getOwnPropertyNames;var P=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var m=(n,e)=>()=>{try{return e||n((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}};var S=(n,e,t,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of K(e))!k.call(n,o)&&o!==t&&p(n,o,{get:()=>e[o],enumerable:!(l=R(e,o))||l.enumerable});return n};var s=(n,e,t)=>(t=n!=null?v(P(n)):{},S(e||!n||!n.__esModule?p(t,"default",{value:n,enumerable:!0}):t,n));var u=m((j,f)=>{f.exports=window.Nxds});var d=m((D,w)=>{w.exports=window.React});var N=m((F,E)=>{E.exports={createRoot:window.ReactDOM.createRoot}});var x=s(u());var a=s(d());function y(n,e){return e===void 0?n:{...n,key:e}}function r(n,e,t){return(0,a.createElement)(n,y(e,t))}function c(n,e,t){let{children:l,...o}=e;return(0,a.createElement)(n,y(o,t),...l)}function i(){return c("div",{className:"nx:flex nx:w-80 nx:flex-col nx:gap-4",children:[r(x.Skeleton,{className:"nx:h-40 nx:w-full nx:rounded-lg"}),c("div",{className:"nx:flex nx:items-center nx:gap-3",children:[r(x.Skeleton,{className:"nx:size-10 nx:rounded-full"}),c("div",{className:"nx:flex nx:flex-1 nx:flex-col nx:gap-2",children:[r(x.Skeleton,{className:"nx:h-4 nx:w-1/2"}),r(x.Skeleton,{className:"nx:h-3 nx:w-3/4"})]})]})]})}var g=s(d()),h=s(N());(0,h.createRoot)(document.getElementById("root")).render((0,g.createElement)(i));})();</script>
15
+ </body>
16
+ </html>
@@ -0,0 +1,38 @@
1
+ # Slider
2
+
3
+ Slider sets a number, or a range with two thumbs, by dragging along a track or with the arrow keys. Use it for settings such as volume or brightness. Give each slider an `aria-label` or `aria-labelledby`.
4
+
5
+ ## On the canvas
6
+
7
+ ```html
8
+ <x-import component-from-global-scope="Nxds.Slider" size="comfortable" orientation="vertical">Slider</x-import>
9
+ ```
10
+
11
+ Attributes set props, kebab-case to camelCase. Element content becomes `children`. An attribute holds text, so a prop that takes an element, a function or an object has no attribute.
12
+
13
+ ## Props
14
+
15
+ ### Slider
16
+
17
+ | Prop | Type | Default | Control |
18
+ | --- | --- | --- | --- |
19
+ | `size` | `"standard" \| "comfortable"` | `"standard"` | dropdown |
20
+ | `markers` | `SliderMarkers` | | none (object) |
21
+ | `name` | `string` | | text |
22
+ | `disabled` | `boolean` | | toggle |
23
+ | `orientation` | `"horizontal" \| "vertical"` | `"horizontal"` | dropdown |
24
+ | `dir` | `"ltr" \| "rtl"` | | dropdown |
25
+ | `min` | `number` | `0` | number |
26
+ | `max` | `number` | `100` | number |
27
+ | `step` | `number` | `1` | number |
28
+ | `minStepsBetweenThumbs` | `number` | | number |
29
+ | `value` | `number[]` | | none (object) |
30
+ | `defaultValue` | `number[]` | | none (object) |
31
+ | `onValueChange` | `(value: number[]) => void` | | none (function) |
32
+ | `onValueCommit` | `(value: number[]) => void` | | none (function) |
33
+ | `inverted` | `boolean` | | toggle |
34
+ | `form` | `string` | | text |
35
+ | `children` | `React.ReactNode` | | content |
36
+ | `className` | `string` | | text |
37
+ | `id` | `string` | | text |
38
+ | `asChild` | `boolean` | | toggle |
@@ -0,0 +1,16 @@
1
+ <!-- @dsCard group="Forms" height=120 -->
2
+ <!doctype html>
3
+ <html lang="en">
4
+ <head>
5
+ <meta charset="utf-8">
6
+ <title>Slider</title>
7
+ <style>
8
+ body { margin: 0; background: var(--nx-color-background); color: var(--nx-color-foreground); font-family: var(--font-sans); }
9
+ #root { padding: var(--nx-spacing-6); }
10
+ </style>
11
+ </head>
12
+ <body>
13
+ <div id="root"></div>
14
+ <script>(()=>{var K=Object.create;var s=Object.defineProperty;var P=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var h=Object.getPrototypeOf,D=Object.prototype.hasOwnProperty;var i=(t,e)=>()=>{try{return e||t((e={exports:{}}).exports,e),e.exports}catch(r){throw e=0,r}};var S=(t,e,r,l)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of g(e))!D.call(t,o)&&o!==r&&s(t,o,{get:()=>e[o],enumerable:!(l=P(e,o))||l.enumerable});return t};var n=(t,e,r)=>(r=t!=null?K(h(t)):{},S(e||!t||!t.__esModule?s(r,"default",{value:t,enumerable:!0}):r,t));var u=i((j,c)=>{c.exports=window.Nxds});var a=i((v,f)=>{f.exports=window.React});var w=i((B,x)=>{x.exports={createRoot:window.ReactDOM.createRoot}});var y=n(u());var m=n(a());function T(t,e){return e===void 0?t:{...t,key:e}}function p(t,e,r){return(0,m.createElement)(t,T(e,r))}function d(){return p("div",{className:"nx:w-96",children:p(y.Slider,{defaultValue:[50],max:100,step:1,"aria-label":"Volume"})})}var E=n(a()),R=n(w());(0,R.createRoot)(document.getElementById("root")).render((0,E.createElement)(d));})();</script>
15
+ </body>
16
+ </html>