@ui-sdk/react 0.0.0-stage → 0.1.0-beta.1

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 (247) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +10 -2
  3. package/dist/accordion.d.ts +331 -0
  4. package/dist/accordion.js +25 -0
  5. package/dist/agent.d.ts +2 -0
  6. package/dist/agent.js +8 -0
  7. package/dist/alert-dialog.d.ts +56 -0
  8. package/dist/alert-dialog.js +45 -0
  9. package/dist/async-options.d.ts +22 -0
  10. package/dist/async-options.js +56 -0
  11. package/dist/autocomplete.d.ts +102 -0
  12. package/dist/autocomplete.js +195 -0
  13. package/dist/avatar.d.ts +301 -0
  14. package/dist/avatar.js +17 -0
  15. package/dist/button.d.ts +21 -0
  16. package/dist/button.js +45 -0
  17. package/dist/calendar-context.d.ts +10 -0
  18. package/dist/calendar-context.js +9 -0
  19. package/dist/calendar.d.ts +80 -0
  20. package/dist/calendar.js +257 -0
  21. package/dist/carousel.d.ts +52 -0
  22. package/dist/carousel.js +151 -0
  23. package/dist/checkbox.d.ts +24 -0
  24. package/dist/checkbox.js +98 -0
  25. package/dist/children.d.ts +38 -0
  26. package/dist/children.js +63 -0
  27. package/dist/collapsible.d.ts +302 -0
  28. package/dist/collapsible.js +19 -0
  29. package/dist/color-picker.d.ts +72 -0
  30. package/dist/color-picker.js +133 -0
  31. package/dist/color.d.ts +2 -0
  32. package/dist/color.js +22 -0
  33. package/dist/combobox.d.ts +152 -0
  34. package/dist/combobox.js +338 -0
  35. package/dist/command.d.ts +88 -0
  36. package/dist/command.js +233 -0
  37. package/dist/controller-target.d.ts +3 -0
  38. package/dist/controller-target.js +59 -0
  39. package/dist/date-input.d.ts +19 -0
  40. package/dist/date-input.js +58 -0
  41. package/dist/date-picker.d.ts +47 -0
  42. package/dist/date-picker.js +310 -0
  43. package/dist/date.d.ts +2 -0
  44. package/dist/date.js +60 -0
  45. package/dist/dialog-parts.d.ts +23 -0
  46. package/dist/dialog-parts.js +142 -0
  47. package/dist/dialog.d.ts +57 -0
  48. package/dist/dialog.js +32 -0
  49. package/dist/drawer.d.ts +70 -0
  50. package/dist/drawer.js +158 -0
  51. package/dist/editor-context.d.ts +4 -0
  52. package/dist/editor-context.js +9 -0
  53. package/dist/field-context.d.ts +47 -0
  54. package/dist/field-context.js +87 -0
  55. package/dist/field.d.ts +49 -0
  56. package/dist/field.js +169 -0
  57. package/dist/file-input.d.ts +46 -0
  58. package/dist/file-input.js +170 -0
  59. package/dist/form-inputs.d.ts +5 -0
  60. package/dist/form-inputs.js +22 -0
  61. package/dist/gesture.d.ts +1 -0
  62. package/dist/gesture.js +16 -0
  63. package/dist/history.d.ts +2 -0
  64. package/dist/history.js +12 -0
  65. package/dist/hover-card.d.ts +33 -0
  66. package/dist/hover-card.js +84 -0
  67. package/dist/image-cropper.d.ts +333 -0
  68. package/dist/image-cropper.js +37 -0
  69. package/dist/image.d.ts +2 -0
  70. package/dist/image.js +6 -0
  71. package/dist/input.d.ts +22 -0
  72. package/dist/input.js +51 -0
  73. package/dist/label.d.ts +294 -0
  74. package/dist/label.js +9 -0
  75. package/dist/list-items.d.ts +15 -0
  76. package/dist/list-items.js +39 -0
  77. package/dist/list-text.d.ts +4 -0
  78. package/dist/list-text.js +15 -0
  79. package/dist/listbox.d.ts +56 -0
  80. package/dist/listbox.js +122 -0
  81. package/dist/menu.d.ts +116 -0
  82. package/dist/menu.js +426 -0
  83. package/dist/menubar-context.d.ts +4 -0
  84. package/dist/menubar-context.js +7 -0
  85. package/dist/menubar.d.ts +11 -0
  86. package/dist/menubar.js +32 -0
  87. package/dist/meter.d.ts +312 -0
  88. package/dist/meter.js +30 -0
  89. package/dist/navigation-menu.d.ts +61 -0
  90. package/dist/navigation-menu.js +169 -0
  91. package/dist/number-input.d.ts +44 -0
  92. package/dist/number-input.js +185 -0
  93. package/dist/number.d.ts +2 -0
  94. package/dist/number.js +40 -0
  95. package/dist/observe.d.ts +2 -0
  96. package/dist/observe.js +8 -0
  97. package/dist/otp-input.d.ts +29 -0
  98. package/dist/otp-input.js +94 -0
  99. package/dist/overlays.d.ts +26 -0
  100. package/dist/overlays.js +82 -0
  101. package/dist/pagination.d.ts +336 -0
  102. package/dist/pagination.js +71 -0
  103. package/dist/password-input.d.ts +23 -0
  104. package/dist/password-input.js +65 -0
  105. package/dist/popover.d.ts +54 -0
  106. package/dist/popover.js +151 -0
  107. package/dist/popup.d.ts +41 -0
  108. package/dist/popup.js +180 -0
  109. package/dist/preferences.d.ts +35 -0
  110. package/dist/preferences.js +93 -0
  111. package/dist/primitive.d.ts +2 -0
  112. package/dist/primitive.js +14 -0
  113. package/dist/progress.d.ts +312 -0
  114. package/dist/progress.js +30 -0
  115. package/dist/radio.d.ts +22 -0
  116. package/dist/radio.js +86 -0
  117. package/dist/rating.d.ts +20 -0
  118. package/dist/rating.js +94 -0
  119. package/dist/render-element.d.ts +35 -0
  120. package/dist/render-element.js +103 -0
  121. package/dist/resizable.d.ts +302 -0
  122. package/dist/resizable.js +23 -0
  123. package/dist/scroll-area.d.ts +324 -0
  124. package/dist/scroll-area.js +49 -0
  125. package/dist/segmented-control.d.ts +24 -0
  126. package/dist/segmented-control.js +78 -0
  127. package/dist/segmented-input.d.ts +15 -0
  128. package/dist/segmented-input.js +48 -0
  129. package/dist/select.d.ts +125 -0
  130. package/dist/select.js +330 -0
  131. package/dist/separator.d.ts +290 -0
  132. package/dist/separator.js +9 -0
  133. package/dist/shortcuts.d.ts +32 -0
  134. package/dist/shortcuts.js +61 -0
  135. package/dist/slider.d.ts +38 -0
  136. package/dist/slider.js +163 -0
  137. package/dist/switch.d.ts +15 -0
  138. package/dist/switch.js +39 -0
  139. package/dist/tabs.d.ts +331 -0
  140. package/dist/tabs.js +28 -0
  141. package/dist/text-control.d.ts +22 -0
  142. package/dist/text-control.js +24 -0
  143. package/dist/text-match.d.ts +2 -0
  144. package/dist/text-match.js +8 -0
  145. package/dist/textarea.d.ts +10 -0
  146. package/dist/textarea.js +48 -0
  147. package/dist/time-input.d.ts +19 -0
  148. package/dist/time-input.js +63 -0
  149. package/dist/timeline.d.ts +327 -0
  150. package/dist/timeline.js +31 -0
  151. package/dist/toast-parts.d.ts +63 -0
  152. package/dist/toast-parts.js +144 -0
  153. package/dist/toast.d.ts +2 -0
  154. package/dist/toast.js +22 -0
  155. package/dist/toggle.d.ts +23 -0
  156. package/dist/toggle.js +76 -0
  157. package/dist/token-input.d.ts +35 -0
  158. package/dist/token-input.js +100 -0
  159. package/dist/toolbar-context.d.ts +6 -0
  160. package/dist/toolbar-context.js +16 -0
  161. package/dist/toolbar.d.ts +38 -0
  162. package/dist/toolbar.js +63 -0
  163. package/dist/tooltip.d.ts +39 -0
  164. package/dist/tooltip.js +108 -0
  165. package/dist/tree.d.ts +51 -0
  166. package/dist/tree.js +150 -0
  167. package/dist/trigger-menu.d.ts +83 -0
  168. package/dist/trigger-menu.js +167 -0
  169. package/dist/use-primitive.d.ts +178 -0
  170. package/dist/use-primitive.js +674 -0
  171. package/dist/waterfall.d.ts +80 -0
  172. package/dist/waterfall.js +108 -0
  173. package/docs/README.md +89 -0
  174. package/docs/agents.md +1523 -0
  175. package/docs/components/accordion.md +1391 -0
  176. package/docs/components/alert-dialog.md +850 -0
  177. package/docs/components/autocomplete.md +1963 -0
  178. package/docs/components/avatar.md +252 -0
  179. package/docs/components/button.md +444 -0
  180. package/docs/components/calendar.md +1687 -0
  181. package/docs/components/carousel.md +1244 -0
  182. package/docs/components/checkbox.md +1069 -0
  183. package/docs/components/collapsible.md +567 -0
  184. package/docs/components/color-picker.md +736 -0
  185. package/docs/components/combobox.md +3647 -0
  186. package/docs/components/command.md +1573 -0
  187. package/docs/components/date-input.md +608 -0
  188. package/docs/components/date-picker.md +1266 -0
  189. package/docs/components/dialog.md +1469 -0
  190. package/docs/components/drawer.md +1197 -0
  191. package/docs/components/field.md +549 -0
  192. package/docs/components/file-input.md +609 -0
  193. package/docs/components/hover-card.md +514 -0
  194. package/docs/components/image-cropper.md +579 -0
  195. package/docs/components/input.md +301 -0
  196. package/docs/components/label.md +217 -0
  197. package/docs/components/listbox.md +1130 -0
  198. package/docs/components/menu.md +1286 -0
  199. package/docs/components/menubar.md +455 -0
  200. package/docs/components/meter.md +304 -0
  201. package/docs/components/navigation-menu.md +1581 -0
  202. package/docs/components/number-input.md +1086 -0
  203. package/docs/components/otp-input.md +565 -0
  204. package/docs/components/pagination.md +648 -0
  205. package/docs/components/password-input.md +737 -0
  206. package/docs/components/popover.md +1552 -0
  207. package/docs/components/preferences.md +220 -0
  208. package/docs/components/progress.md +443 -0
  209. package/docs/components/radio.md +846 -0
  210. package/docs/components/rating.md +458 -0
  211. package/docs/components/resizable.md +982 -0
  212. package/docs/components/scroll-area.md +980 -0
  213. package/docs/components/segmented-control.md +465 -0
  214. package/docs/components/select.md +2133 -0
  215. package/docs/components/separator.md +243 -0
  216. package/docs/components/slider.md +1169 -0
  217. package/docs/components/switch.md +613 -0
  218. package/docs/components/tabs.md +1014 -0
  219. package/docs/components/textarea.md +318 -0
  220. package/docs/components/time-input.md +231 -0
  221. package/docs/components/timeline.md +677 -0
  222. package/docs/components/toast.md +1395 -0
  223. package/docs/components/toggle.md +541 -0
  224. package/docs/components/token-input.md +1007 -0
  225. package/docs/components/toolbar.md +787 -0
  226. package/docs/components/tooltip.md +884 -0
  227. package/docs/components/tree.md +1346 -0
  228. package/docs/components/trigger-menu.md +1257 -0
  229. package/docs/components/waterfall.md +754 -0
  230. package/docs/controllers.md +89 -0
  231. package/docs/core.md +8027 -0
  232. package/docs/custom-parts.md +120 -0
  233. package/docs/first-component.md +83 -0
  234. package/docs/forms.md +148 -0
  235. package/docs/hooks/async-options.md +366 -0
  236. package/docs/hooks/shortcuts.md +221 -0
  237. package/docs/installation.md +45 -0
  238. package/docs/introduction.md +32 -0
  239. package/docs/lists-and-menus.md +170 -0
  240. package/docs/llms.txt +1844 -0
  241. package/docs/parts-and-composition.md +93 -0
  242. package/docs/popups.md +117 -0
  243. package/docs/rendering.md +121 -0
  244. package/docs/server-rendering.md +253 -0
  245. package/docs/state-and-events.md +105 -0
  246. package/docs/styling-and-animation.md +176 -0
  247. package/package.json +333 -3
@@ -0,0 +1,176 @@
1
+ # Styling and Animation
2
+
3
+ Style parts and their state, then add entry and exit transitions.
4
+
5
+ Parts render without styles. The component demos use plain CSS, and the same state attributes and CSS variables work with Tailwind CSS or any other stylesheet.
6
+
7
+ ## Style a Part
8
+
9
+ Every part has a `data-slot` attribute. State adds attributes such as `data-open`, `data-pressed`, or `data-disabled`:
10
+
11
+ ```tsx
12
+ import { Toggle } from "@ui-sdk/react/toggle"
13
+
14
+ function Example() {
15
+ return (
16
+ <Toggle className="rounded-md border border-neutral-300 px-2.5 py-1.5 text-sm data-pressed:bg-neutral-100 data-disabled:opacity-50">
17
+ Bold
18
+ </Toggle>
19
+ )
20
+ }
21
+
22
+ export { Example }
23
+ ```
24
+
25
+ Most state attributes are present or absent. Others have values, such as `data-side="top"` or `data-orientation="vertical"`. Each component's Styling section lists its attributes and CSS variables. Use these rather than generated IDs, which can change.
26
+
27
+ ## CSS Modules
28
+
29
+ Import a CSS Module and pass its class to the part. State selectors work the same way:
30
+
31
+ ```tsx
32
+ import { Toggle } from "@ui-sdk/react/toggle"
33
+ import styles from "./toggle.module.css"
34
+
35
+ function Example() {
36
+ return <Toggle className={styles.toggle}>Bold</Toggle>
37
+ }
38
+
39
+ export { Example }
40
+ ```
41
+
42
+ ```css title="toggle.module.css"
43
+ .toggle {
44
+ cursor: default;
45
+ border: 1px solid var(--input, #e5e5e5);
46
+ border-radius: 1.125rem;
47
+ background: transparent;
48
+ padding: 0.375rem 0.625rem;
49
+ color: inherit;
50
+ font: inherit;
51
+ font-size: 0.875rem;
52
+ }
53
+
54
+ .toggle[data-pressed] {
55
+ background: var(--muted, #f5f5f5);
56
+ }
57
+
58
+ .toggle[data-disabled] {
59
+ opacity: 0.5;
60
+ }
61
+
62
+ .toggle:focus-visible {
63
+ outline: 2px solid var(--ring, #a3a3a3);
64
+ outline-offset: 2px;
65
+ }
66
+ ```
67
+
68
+ ## Use State in React
69
+
70
+ `className` and `style` can be functions of the part's state:
71
+
72
+ ```tsx
73
+ "use client"
74
+
75
+ import { Toggle } from "@ui-sdk/react/toggle"
76
+
77
+ function Example() {
78
+ return (
79
+ <Toggle
80
+ className={(state) => (state.pressed ? "font-bold" : "font-normal")}
81
+ >
82
+ Bold
83
+ </Toggle>
84
+ )
85
+ }
86
+
87
+ export { Example }
88
+ ```
89
+
90
+ With Tailwind, you can also use attribute variants, such as `data-pressed:font-bold`.
91
+
92
+ ## Animate Opening and Closing
93
+
94
+ Popup content gets `data-starting-style` before it enters and `data-ending-style` while it exits. The content stays mounted until its exit transition or animation finishes.
95
+
96
+ ```tsx
97
+ import { Popover, PopoverContent, PopoverTrigger } from "@ui-sdk/react/popover"
98
+
99
+ function Example() {
100
+ return (
101
+ <Popover>
102
+ <PopoverTrigger>Details</PopoverTrigger>
103
+ <PopoverContent
104
+ aria-label="Project details"
105
+ className="origin-(--transform-origin) transition-[opacity,scale] duration-150 data-starting-style:scale-96 data-starting-style:opacity-0 data-ending-style:scale-96 data-ending-style:opacity-0 motion-reduce:transition-none"
106
+ >
107
+ Last updated today.
108
+ </PopoverContent>
109
+ </Popover>
110
+ )
111
+ }
112
+
113
+ export { Example }
114
+ ```
115
+
116
+ Put exit styles on `data-ending-style`. `data-closed` describes the state, but doesn't keep the element around for an exit.
117
+
118
+ Popups also provide `--anchor-width` and `--available-height` for sizing. If an animation library needs closed content to stay mounted, use `keepMounted`. See [Popups](./popups.md) for placement and mounting options.
119
+
120
+ ## The ui-sdk Layer
121
+
122
+ A few behaviors need a little CSS, like keeping a closed popup hidden or dimming the page behind a sheet, so ui-sdk adds it to the page in a cascade layer named `ui-sdk`. Declare that layer at the top of your global stylesheet, the one your app's entry or root layout imports, so your own styles win over it wherever the page puts them. With Tailwind, put it above `@import "tailwindcss"`:
123
+
124
+ ```css
125
+ @layer ui-sdk;
126
+ ```
127
+
128
+ A CSS Module loads with its component, too late to come first, so keep the line in the global stylesheet.
129
+
130
+ ui-sdk adds this CSS once a component mounts, so HTML rendered on the server doesn't have it until the page hydrates. Closed content kept in the page, like a tooltip's, carries `hidden`, and a class that sets `display` shows it until then. Tailwind's base styles already hide `hidden` elements. With other CSS, add the same rule to your global stylesheet:
131
+
132
+ ```css
133
+ @layer ui-sdk {
134
+ :where([data-slot][hidden]:not([hidden="until-found"])) {
135
+ display: none !important;
136
+ }
137
+ }
138
+ ```
139
+
140
+ It leaves `hidden="until-found"` alone, so find in page can still open a closed panel.
141
+
142
+ ## Content Security Policy
143
+
144
+ A Content Security Policy without `'unsafe-inline'` in `style-src` blocks the CSS ui-sdk adds. Give ui-sdk your policy's nonce with a meta tag in the page's `<head>`:
145
+
146
+ ```html
147
+ <meta property="csp-nonce" nonce="your-nonce" />
148
+ ```
149
+
150
+ With Vite, set `html.cspNonce` in your Vite config to a placeholder, and Vite writes this tag for you. Your server replaces the placeholder with a new nonce on each request.
151
+
152
+ In Next.js, render the tag in the root layout's `<head>`, with the nonce your middleware passes in a request header:
153
+
154
+ ```tsx
155
+ import { headers } from "next/headers"
156
+
157
+ export default async function RootLayout({
158
+ children,
159
+ }: {
160
+ children: React.ReactNode
161
+ }) {
162
+ const nonce = (await headers()).get("x-nonce") ?? undefined
163
+ return (
164
+ <html lang="en">
165
+ <head>
166
+ <meta property="csp-nonce" nonce={nonce} />
167
+ </head>
168
+ <body>{children}</body>
169
+ </html>
170
+ )
171
+ }
172
+ ```
173
+
174
+ Pages rendered on the server also carry a few `style` attributes, like the one that hides a select's native input, so the policy needs `style-src-attr 'unsafe-inline'` too.
175
+
176
+ If your policy has no nonce for styles, add the tag without the `nonce` attribute. ui-sdk then adds its CSS as constructed style sheets, which no policy blocks. If your code replaces `document.adoptedStyleSheets`, ui-sdk adds its sheets back the next time a component mounts.
package/package.json CHANGED
@@ -1,6 +1,336 @@
1
1
  {
2
2
  "name": "@ui-sdk/react",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
3
+ "version": "0.1.0-beta.1",
4
+ "description": "UI SDK for React.",
5
+ "keywords": [
6
+ "react",
7
+ "ui",
8
+ "ui-sdk",
9
+ "shadcn",
10
+ "behaviors",
11
+ "accessibility",
12
+ "a11y",
13
+ "aria",
14
+ "keyboard",
15
+ "focus",
16
+ "headless",
17
+ "unstyled",
18
+ "components",
19
+ "agents"
20
+ ],
21
+ "type": "module",
22
+ "license": "Apache-2.0",
23
+ "homepage": "https://ui-sdk.dev",
24
+ "repository": {
25
+ "type": "git",
26
+ "url": "git+https://github.com/vercel-labs/ui.git",
27
+ "directory": "packages/react"
28
+ },
29
+ "bugs": "https://github.com/vercel-labs/ui/issues",
30
+ "exports": {
31
+ "./accordion": {
32
+ "types": "./dist/accordion.d.ts",
33
+ "default": "./dist/accordion.js"
34
+ },
35
+ "./alert-dialog": {
36
+ "types": "./dist/alert-dialog.d.ts",
37
+ "default": "./dist/alert-dialog.js"
38
+ },
39
+ "./async-options": {
40
+ "types": "./dist/async-options.d.ts",
41
+ "default": "./dist/async-options.js"
42
+ },
43
+ "./autocomplete": {
44
+ "types": "./dist/autocomplete.d.ts",
45
+ "default": "./dist/autocomplete.js"
46
+ },
47
+ "./avatar": {
48
+ "types": "./dist/avatar.d.ts",
49
+ "default": "./dist/avatar.js"
50
+ },
51
+ "./button": {
52
+ "types": "./dist/button.d.ts",
53
+ "default": "./dist/button.js"
54
+ },
55
+ "./calendar": {
56
+ "types": "./dist/calendar.d.ts",
57
+ "default": "./dist/calendar.js"
58
+ },
59
+ "./carousel": {
60
+ "types": "./dist/carousel.d.ts",
61
+ "default": "./dist/carousel.js"
62
+ },
63
+ "./checkbox": {
64
+ "types": "./dist/checkbox.d.ts",
65
+ "default": "./dist/checkbox.js"
66
+ },
67
+ "./collapsible": {
68
+ "types": "./dist/collapsible.d.ts",
69
+ "default": "./dist/collapsible.js"
70
+ },
71
+ "./color": {
72
+ "types": "./dist/color.d.ts",
73
+ "default": "./dist/color.js"
74
+ },
75
+ "./color-picker": {
76
+ "types": "./dist/color-picker.d.ts",
77
+ "default": "./dist/color-picker.js"
78
+ },
79
+ "./combobox": {
80
+ "types": "./dist/combobox.d.ts",
81
+ "default": "./dist/combobox.js"
82
+ },
83
+ "./command": {
84
+ "types": "./dist/command.d.ts",
85
+ "default": "./dist/command.js"
86
+ },
87
+ "./date": {
88
+ "types": "./dist/date.d.ts",
89
+ "default": "./dist/date.js"
90
+ },
91
+ "./date-input": {
92
+ "types": "./dist/date-input.d.ts",
93
+ "default": "./dist/date-input.js"
94
+ },
95
+ "./date-picker": {
96
+ "types": "./dist/date-picker.d.ts",
97
+ "default": "./dist/date-picker.js"
98
+ },
99
+ "./dialog": {
100
+ "types": "./dist/dialog.d.ts",
101
+ "default": "./dist/dialog.js"
102
+ },
103
+ "./drawer": {
104
+ "types": "./dist/drawer.d.ts",
105
+ "default": "./dist/drawer.js"
106
+ },
107
+ "./field": {
108
+ "types": "./dist/field.d.ts",
109
+ "default": "./dist/field.js"
110
+ },
111
+ "./file-input": {
112
+ "types": "./dist/file-input.d.ts",
113
+ "default": "./dist/file-input.js"
114
+ },
115
+ "./gesture": {
116
+ "types": "./dist/gesture.d.ts",
117
+ "default": "./dist/gesture.js"
118
+ },
119
+ "./hover-card": {
120
+ "types": "./dist/hover-card.d.ts",
121
+ "default": "./dist/hover-card.js"
122
+ },
123
+ "./image": {
124
+ "types": "./dist/image.d.ts",
125
+ "default": "./dist/image.js"
126
+ },
127
+ "./image-cropper": {
128
+ "types": "./dist/image-cropper.d.ts",
129
+ "default": "./dist/image-cropper.js"
130
+ },
131
+ "./input": {
132
+ "types": "./dist/input.d.ts",
133
+ "default": "./dist/input.js"
134
+ },
135
+ "./label": {
136
+ "types": "./dist/label.d.ts",
137
+ "default": "./dist/label.js"
138
+ },
139
+ "./listbox": {
140
+ "types": "./dist/listbox.d.ts",
141
+ "default": "./dist/listbox.js"
142
+ },
143
+ "./menu": {
144
+ "types": "./dist/menu.d.ts",
145
+ "default": "./dist/menu.js"
146
+ },
147
+ "./menubar": {
148
+ "types": "./dist/menubar.d.ts",
149
+ "default": "./dist/menubar.js"
150
+ },
151
+ "./meter": {
152
+ "types": "./dist/meter.d.ts",
153
+ "default": "./dist/meter.js"
154
+ },
155
+ "./navigation-menu": {
156
+ "types": "./dist/navigation-menu.d.ts",
157
+ "default": "./dist/navigation-menu.js"
158
+ },
159
+ "./number": {
160
+ "types": "./dist/number.d.ts",
161
+ "default": "./dist/number.js"
162
+ },
163
+ "./number-input": {
164
+ "types": "./dist/number-input.d.ts",
165
+ "default": "./dist/number-input.js"
166
+ },
167
+ "./otp-input": {
168
+ "types": "./dist/otp-input.d.ts",
169
+ "default": "./dist/otp-input.js"
170
+ },
171
+ "./overlays": {
172
+ "types": "./dist/overlays.d.ts",
173
+ "default": "./dist/overlays.js"
174
+ },
175
+ "./pagination": {
176
+ "types": "./dist/pagination.d.ts",
177
+ "default": "./dist/pagination.js"
178
+ },
179
+ "./password-input": {
180
+ "types": "./dist/password-input.d.ts",
181
+ "default": "./dist/password-input.js"
182
+ },
183
+ "./popover": {
184
+ "types": "./dist/popover.d.ts",
185
+ "default": "./dist/popover.js"
186
+ },
187
+ "./primitive": {
188
+ "types": "./dist/primitive.d.ts",
189
+ "default": "./dist/primitive.js"
190
+ },
191
+ "./preferences": {
192
+ "types": "./dist/preferences.d.ts",
193
+ "default": "./dist/preferences.js"
194
+ },
195
+ "./progress": {
196
+ "types": "./dist/progress.d.ts",
197
+ "default": "./dist/progress.js"
198
+ },
199
+ "./radio": {
200
+ "types": "./dist/radio.d.ts",
201
+ "default": "./dist/radio.js"
202
+ },
203
+ "./rating": {
204
+ "types": "./dist/rating.d.ts",
205
+ "default": "./dist/rating.js"
206
+ },
207
+ "./resizable": {
208
+ "types": "./dist/resizable.d.ts",
209
+ "default": "./dist/resizable.js"
210
+ },
211
+ "./scroll-area": {
212
+ "types": "./dist/scroll-area.d.ts",
213
+ "default": "./dist/scroll-area.js"
214
+ },
215
+ "./segmented-control": {
216
+ "types": "./dist/segmented-control.d.ts",
217
+ "default": "./dist/segmented-control.js"
218
+ },
219
+ "./select": {
220
+ "types": "./dist/select.d.ts",
221
+ "default": "./dist/select.js"
222
+ },
223
+ "./separator": {
224
+ "types": "./dist/separator.d.ts",
225
+ "default": "./dist/separator.js"
226
+ },
227
+ "./shortcuts": {
228
+ "types": "./dist/shortcuts.d.ts",
229
+ "default": "./dist/shortcuts.js"
230
+ },
231
+ "./slider": {
232
+ "types": "./dist/slider.d.ts",
233
+ "default": "./dist/slider.js"
234
+ },
235
+ "./switch": {
236
+ "types": "./dist/switch.d.ts",
237
+ "default": "./dist/switch.js"
238
+ },
239
+ "./tabs": {
240
+ "types": "./dist/tabs.d.ts",
241
+ "default": "./dist/tabs.js"
242
+ },
243
+ "./text-match": {
244
+ "types": "./dist/text-match.d.ts",
245
+ "default": "./dist/text-match.js"
246
+ },
247
+ "./agent": {
248
+ "types": "./dist/agent.d.ts",
249
+ "default": "./dist/agent.js"
250
+ },
251
+ "./observe": {
252
+ "types": "./dist/observe.d.ts",
253
+ "default": "./dist/observe.js"
254
+ },
255
+ "./history": {
256
+ "types": "./dist/history.d.ts",
257
+ "default": "./dist/history.js"
258
+ },
259
+ "./textarea": {
260
+ "types": "./dist/textarea.d.ts",
261
+ "default": "./dist/textarea.js"
262
+ },
263
+ "./time-input": {
264
+ "types": "./dist/time-input.d.ts",
265
+ "default": "./dist/time-input.js"
266
+ },
267
+ "./timeline": {
268
+ "types": "./dist/timeline.d.ts",
269
+ "default": "./dist/timeline.js"
270
+ },
271
+ "./toast": {
272
+ "types": "./dist/toast.d.ts",
273
+ "default": "./dist/toast.js"
274
+ },
275
+ "./toggle": {
276
+ "types": "./dist/toggle.d.ts",
277
+ "default": "./dist/toggle.js"
278
+ },
279
+ "./token-input": {
280
+ "types": "./dist/token-input.d.ts",
281
+ "default": "./dist/token-input.js"
282
+ },
283
+ "./toolbar": {
284
+ "types": "./dist/toolbar.d.ts",
285
+ "default": "./dist/toolbar.js"
286
+ },
287
+ "./tooltip": {
288
+ "types": "./dist/tooltip.d.ts",
289
+ "default": "./dist/tooltip.js"
290
+ },
291
+ "./tree": {
292
+ "types": "./dist/tree.d.ts",
293
+ "default": "./dist/tree.js"
294
+ },
295
+ "./trigger-menu": {
296
+ "types": "./dist/trigger-menu.d.ts",
297
+ "default": "./dist/trigger-menu.js"
298
+ },
299
+ "./waterfall": {
300
+ "types": "./dist/waterfall.d.ts",
301
+ "default": "./dist/waterfall.js"
302
+ },
303
+ "./package.json": "./package.json"
304
+ },
305
+ "sideEffects": false,
306
+ "files": [
307
+ "dist",
308
+ "docs"
309
+ ],
310
+ "peerDependencies": {
311
+ "@types/react": ">=19.2.10",
312
+ "react": ">=19",
313
+ "react-dom": ">=19",
314
+ "@ui-sdk/core": "^0.1.0-beta.1"
315
+ },
316
+ "peerDependenciesMeta": {
317
+ "@types/react": {
318
+ "optional": true
319
+ }
320
+ },
321
+ "devDependencies": {
322
+ "@types/react": "~19.2.2",
323
+ "@types/react-dom": "~19.2.2",
324
+ "jsdom": "^30.1.2",
325
+ "react": "19.2.3",
326
+ "react-dom": "19.2.3",
327
+ "typescript": "~5.9.3",
328
+ "vitest": "^5.0.3",
329
+ "@ui-sdk/core": "0.1.0-beta.1"
330
+ },
331
+ "scripts": {
332
+ "build": "node ../../scripts/build/build-package.mjs --use-client --server primitive.ts --server render-element.ts",
333
+ "typecheck": "node ../../scripts/tsgo.mjs --noEmit && node ../../scripts/tsgo.mjs --noEmit -p tsconfig.test.json",
334
+ "test": "vitest run"
335
+ }
6
336
  }