@refraction-ui/react 0.4.2 → 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 (304) hide show
  1. package/README.md +9 -1
  2. package/dist/chunk-O4453CBF.js +137 -0
  3. package/dist/chunk-O4453CBF.js.map +1 -0
  4. package/dist/chunk-XWP763SH.js +76 -0
  5. package/dist/chunk-XWP763SH.js.map +1 -0
  6. package/dist/faro-engine-47HGRAQH-JKINJPMH.js +3 -0
  7. package/dist/faro-engine-47HGRAQH-JKINJPMH.js.map +1 -0
  8. package/dist/form.cjs +340 -0
  9. package/dist/form.cjs.map +1 -0
  10. package/dist/form.d.cts +1 -0
  11. package/dist/form.d.ts +1 -0
  12. package/dist/form.js +204 -0
  13. package/dist/form.js.map +1 -0
  14. package/dist/index.cjs +1438 -237
  15. package/dist/index.cjs.map +1 -1
  16. package/dist/index.d.cts +76 -76
  17. package/dist/index.d.ts +76 -76
  18. package/dist/index.js +1317 -312
  19. package/dist/index.js.map +1 -1
  20. package/dist/internal/analytics/index.d.cts +448 -0
  21. package/dist/internal/analytics/index.d.ts +448 -0
  22. package/dist/internal/animated-text/index.d.cts +47 -0
  23. package/dist/internal/animated-text/index.d.ts +47 -0
  24. package/dist/internal/app-shell/index.d.cts +128 -0
  25. package/dist/internal/app-shell/index.d.ts +128 -0
  26. package/dist/internal/auth/index.d.cts +74 -0
  27. package/dist/internal/auth/index.d.ts +74 -0
  28. package/dist/internal/avatar/index.d.cts +53 -0
  29. package/dist/internal/avatar/index.d.ts +53 -0
  30. package/dist/internal/avatar-group/index.d.cts +70 -0
  31. package/dist/internal/avatar-group/index.d.ts +70 -0
  32. package/dist/internal/badge/index.d.cts +26 -0
  33. package/dist/internal/badge/index.d.ts +26 -0
  34. package/dist/internal/bottom-nav/index.d.cts +29 -0
  35. package/dist/internal/bottom-nav/index.d.ts +29 -0
  36. package/dist/internal/breadcrumbs/index.d.cts +38 -0
  37. package/dist/internal/breadcrumbs/index.d.ts +38 -0
  38. package/dist/internal/button/index.d.cts +34 -0
  39. package/dist/internal/button/index.d.ts +34 -0
  40. package/dist/internal/calendar/index.d.cts +73 -0
  41. package/dist/internal/calendar/index.d.ts +73 -0
  42. package/dist/internal/card/index.d.cts +62 -0
  43. package/dist/internal/card/index.d.ts +62 -0
  44. package/dist/internal/card-grid/index.d.cts +10 -0
  45. package/dist/internal/card-grid/index.d.ts +10 -0
  46. package/dist/internal/checkbox/index.d.cts +40 -0
  47. package/dist/internal/checkbox/index.d.ts +40 -0
  48. package/dist/internal/code-editor/index.d.cts +47 -0
  49. package/dist/internal/code-editor/index.d.ts +47 -0
  50. package/dist/internal/collapsible/index.d.cts +43 -0
  51. package/dist/internal/collapsible/index.d.ts +43 -0
  52. package/dist/internal/command/index.d.cts +80 -0
  53. package/dist/internal/command/index.d.ts +80 -0
  54. package/dist/internal/content-protection/index.d.cts +47 -0
  55. package/dist/internal/content-protection/index.d.ts +47 -0
  56. package/dist/internal/data-table/index.d.cts +73 -0
  57. package/dist/internal/data-table/index.d.ts +73 -0
  58. package/dist/internal/date-picker/index.d.cts +98 -0
  59. package/dist/internal/date-picker/index.d.ts +98 -0
  60. package/dist/internal/device-frame/index.d.cts +40 -0
  61. package/dist/internal/device-frame/index.d.ts +40 -0
  62. package/dist/internal/dialog/index.d.cts +54 -0
  63. package/dist/internal/dialog/index.d.ts +54 -0
  64. package/dist/internal/dropdown-menu/index.d.cts +55 -0
  65. package/dist/internal/dropdown-menu/index.d.ts +55 -0
  66. package/dist/internal/emoji-picker/index.d.cts +77 -0
  67. package/dist/internal/emoji-picker/index.d.ts +77 -0
  68. package/dist/internal/feedback-dialog/index.d.cts +55 -0
  69. package/dist/internal/feedback-dialog/index.d.ts +55 -0
  70. package/dist/internal/file-upload/index.d.cts +91 -0
  71. package/dist/internal/file-upload/index.d.ts +91 -0
  72. package/dist/internal/footer/index.d.cts +30 -0
  73. package/dist/internal/footer/index.d.ts +30 -0
  74. package/dist/internal/inline-editor/index.d.cts +52 -0
  75. package/dist/internal/inline-editor/index.d.ts +52 -0
  76. package/dist/internal/input/index.d.cts +38 -0
  77. package/dist/internal/input/index.d.ts +38 -0
  78. package/dist/internal/input-group/index.d.cts +35 -0
  79. package/dist/internal/input-group/index.d.ts +35 -0
  80. package/dist/internal/install-prompt/index.d.cts +36 -0
  81. package/dist/internal/install-prompt/index.d.ts +36 -0
  82. package/dist/internal/keyboard-shortcut/index.d.cts +49 -0
  83. package/dist/internal/keyboard-shortcut/index.d.ts +49 -0
  84. package/dist/internal/language-selector/index.d.cts +63 -0
  85. package/dist/internal/language-selector/index.d.ts +63 -0
  86. package/dist/internal/logger/index.d.cts +229 -0
  87. package/dist/internal/logger/index.d.ts +229 -0
  88. package/dist/internal/markdown-renderer/index.d.cts +40 -0
  89. package/dist/internal/markdown-renderer/index.d.ts +40 -0
  90. package/dist/internal/mobile-nav/index.d.cts +45 -0
  91. package/dist/internal/mobile-nav/index.d.ts +45 -0
  92. package/dist/internal/navbar/index.d.cts +30 -0
  93. package/dist/internal/navbar/index.d.ts +30 -0
  94. package/dist/internal/otp-input/index.d.cts +66 -0
  95. package/dist/internal/otp-input/index.d.ts +66 -0
  96. package/dist/internal/payment/index.d.cts +9 -0
  97. package/dist/internal/payment/index.d.ts +9 -0
  98. package/dist/internal/popover/index.d.cts +46 -0
  99. package/dist/internal/popover/index.d.ts +46 -0
  100. package/dist/internal/presence-indicator/index.d.cts +38 -0
  101. package/dist/internal/presence-indicator/index.d.ts +38 -0
  102. package/dist/internal/progress-display/index.d.cts +60 -0
  103. package/dist/internal/progress-display/index.d.ts +60 -0
  104. package/dist/internal/radio/index.d.ts +43 -0
  105. package/dist/internal/react-accordion/index.d.ts +22 -0
  106. package/dist/internal/react-analytics/index.d.cts +44 -0
  107. package/dist/internal/react-analytics/index.d.ts +44 -0
  108. package/dist/internal/react-animated-text/index.d.cts +12 -0
  109. package/dist/internal/react-animated-text/index.d.ts +12 -0
  110. package/dist/internal/react-app-shell/index.d.cts +169 -0
  111. package/dist/internal/react-app-shell/index.d.ts +169 -0
  112. package/dist/internal/react-auth/index.d.cts +59 -0
  113. package/dist/internal/react-auth/index.d.ts +59 -0
  114. package/dist/internal/react-avatar/index.d.cts +20 -0
  115. package/dist/internal/react-avatar/index.d.ts +20 -0
  116. package/dist/internal/react-avatar-group/index.d.cts +33 -0
  117. package/dist/internal/react-avatar-group/index.d.ts +33 -0
  118. package/dist/internal/react-badge/index.d.cts +17 -0
  119. package/dist/internal/react-badge/index.d.ts +17 -0
  120. package/dist/internal/react-bottom-nav/index.d.cts +19 -0
  121. package/dist/internal/react-bottom-nav/index.d.ts +19 -0
  122. package/dist/internal/react-breadcrumbs/index.d.cts +24 -0
  123. package/dist/internal/react-breadcrumbs/index.d.ts +24 -0
  124. package/dist/internal/react-button/index.d.cts +21 -0
  125. package/dist/internal/react-button/index.d.ts +21 -0
  126. package/dist/internal/react-calendar/index.d.cts +44 -0
  127. package/dist/internal/react-calendar/index.d.ts +44 -0
  128. package/dist/internal/react-callout/index.d.cts +12 -0
  129. package/dist/internal/react-callout/index.d.ts +12 -0
  130. package/dist/internal/react-card/index.d.cts +29 -0
  131. package/dist/internal/react-card/index.d.ts +29 -0
  132. package/dist/internal/react-card-grid/index.d.cts +8 -0
  133. package/dist/internal/react-card-grid/index.d.ts +8 -0
  134. package/dist/internal/react-carousel/index.d.ts +22 -0
  135. package/dist/internal/react-checkbox/index.d.cts +18 -0
  136. package/dist/internal/react-checkbox/index.d.ts +18 -0
  137. package/dist/internal/react-code-block/index.d.cts +7 -0
  138. package/dist/internal/react-code-block/index.d.ts +7 -0
  139. package/dist/internal/react-code-editor/index.d.cts +28 -0
  140. package/dist/internal/react-code-editor/index.d.ts +28 -0
  141. package/dist/internal/react-collapsible/index.d.cts +29 -0
  142. package/dist/internal/react-collapsible/index.d.ts +29 -0
  143. package/dist/internal/react-combobox/index.d.cts +94 -0
  144. package/dist/internal/react-combobox/index.d.ts +94 -0
  145. package/dist/internal/react-command/index.d.cts +51 -0
  146. package/dist/internal/react-command/index.d.ts +51 -0
  147. package/dist/internal/react-content-protection/index.d.cts +22 -0
  148. package/dist/internal/react-content-protection/index.d.ts +22 -0
  149. package/dist/internal/react-data-table/index.d.cts +22 -0
  150. package/dist/internal/react-data-table/index.d.ts +22 -0
  151. package/dist/internal/react-date-picker/index.d.cts +23 -0
  152. package/dist/internal/react-date-picker/index.d.ts +23 -0
  153. package/dist/internal/react-device-frame/index.d.cts +37 -0
  154. package/dist/internal/react-device-frame/index.d.ts +37 -0
  155. package/dist/internal/react-dialog/index.d.cts +49 -0
  156. package/dist/internal/react-dialog/index.d.ts +49 -0
  157. package/dist/internal/react-dropdown-menu/index.d.cts +37 -0
  158. package/dist/internal/react-dropdown-menu/index.d.ts +37 -0
  159. package/dist/internal/react-emoji-picker/index.d.cts +32 -0
  160. package/dist/internal/react-emoji-picker/index.d.ts +32 -0
  161. package/dist/internal/react-feedback-dialog/index.d.cts +40 -0
  162. package/dist/internal/react-feedback-dialog/index.d.ts +40 -0
  163. package/dist/internal/react-file-tree/index.d.cts +5 -0
  164. package/dist/internal/react-file-tree/index.d.ts +5 -0
  165. package/dist/internal/react-file-upload/index.d.cts +22 -0
  166. package/dist/internal/react-file-upload/index.d.ts +22 -0
  167. package/dist/internal/react-footer/index.d.cts +20 -0
  168. package/dist/internal/react-footer/index.d.ts +20 -0
  169. package/dist/internal/react-form/index.d.cts +85 -0
  170. package/dist/internal/react-form/index.d.ts +85 -0
  171. package/dist/internal/react-icon-system/index.d.cts +5 -0
  172. package/dist/internal/react-icon-system/index.d.ts +5 -0
  173. package/dist/internal/react-inline-editor/index.d.cts +17 -0
  174. package/dist/internal/react-inline-editor/index.d.ts +17 -0
  175. package/dist/internal/react-input/index.d.cts +31 -0
  176. package/dist/internal/react-input/index.d.ts +31 -0
  177. package/dist/internal/react-input-group/index.d.cts +34 -0
  178. package/dist/internal/react-input-group/index.d.ts +34 -0
  179. package/dist/internal/react-install-prompt/index.d.cts +24 -0
  180. package/dist/internal/react-install-prompt/index.d.ts +24 -0
  181. package/dist/internal/react-keyboard-shortcut/index.d.cts +57 -0
  182. package/dist/internal/react-keyboard-shortcut/index.d.ts +57 -0
  183. package/dist/internal/react-language-selector/index.d.cts +26 -0
  184. package/dist/internal/react-language-selector/index.d.ts +26 -0
  185. package/dist/internal/react-link-card/index.d.cts +5 -0
  186. package/dist/internal/react-link-card/index.d.ts +5 -0
  187. package/dist/internal/react-logger/index.d.cts +107 -0
  188. package/dist/internal/react-logger/index.d.ts +107 -0
  189. package/dist/internal/react-markdown-renderer/index.d.cts +20 -0
  190. package/dist/internal/react-markdown-renderer/index.d.ts +20 -0
  191. package/dist/internal/react-mobile-nav/index.d.cts +33 -0
  192. package/dist/internal/react-mobile-nav/index.d.ts +33 -0
  193. package/dist/internal/react-navbar/index.d.cts +25 -0
  194. package/dist/internal/react-navbar/index.d.ts +25 -0
  195. package/dist/internal/react-otp-input/index.d.cts +21 -0
  196. package/dist/internal/react-otp-input/index.d.ts +21 -0
  197. package/dist/internal/react-pagination/index.d.ts +7 -0
  198. package/dist/internal/react-payment/index.d.cts +9 -0
  199. package/dist/internal/react-payment/index.d.ts +9 -0
  200. package/dist/internal/react-popover/index.d.cts +33 -0
  201. package/dist/internal/react-popover/index.d.ts +33 -0
  202. package/dist/internal/react-presence-indicator/index.d.cts +34 -0
  203. package/dist/internal/react-presence-indicator/index.d.ts +34 -0
  204. package/dist/internal/react-progress-display/index.d.cts +21 -0
  205. package/dist/internal/react-progress-display/index.d.ts +21 -0
  206. package/dist/internal/react-radio/index.d.ts +33 -0
  207. package/dist/internal/react-reaction-bar/index.d.cts +34 -0
  208. package/dist/internal/react-reaction-bar/index.d.ts +34 -0
  209. package/dist/internal/react-resizable-layout/index.d.cts +36 -0
  210. package/dist/internal/react-resizable-layout/index.d.ts +36 -0
  211. package/dist/internal/react-rich-editor/index.d.cts +2 -0
  212. package/dist/internal/react-rich-editor/index.d.ts +2 -0
  213. package/dist/internal/react-search-bar/index.d.cts +32 -0
  214. package/dist/internal/react-search-bar/index.d.ts +32 -0
  215. package/dist/internal/react-select/index.d.cts +30 -0
  216. package/dist/internal/react-select/index.d.ts +30 -0
  217. package/dist/internal/react-sheet/index.d.cts +67 -0
  218. package/dist/internal/react-sheet/index.d.ts +67 -0
  219. package/dist/internal/react-sidebar/index.d.cts +23 -0
  220. package/dist/internal/react-sidebar/index.d.ts +23 -0
  221. package/dist/internal/react-skeleton/index.d.cts +31 -0
  222. package/dist/internal/react-skeleton/index.d.ts +31 -0
  223. package/dist/internal/react-skip-to-content/index.d.cts +9 -0
  224. package/dist/internal/react-skip-to-content/index.d.ts +9 -0
  225. package/dist/internal/react-slide-viewer/index.d.cts +23 -0
  226. package/dist/internal/react-slide-viewer/index.d.ts +23 -0
  227. package/dist/internal/react-slider/index.d.cts +1 -0
  228. package/dist/internal/react-slider/index.d.ts +1 -0
  229. package/dist/internal/react-status-indicator/index.d.cts +34 -0
  230. package/dist/internal/react-status-indicator/index.d.ts +34 -0
  231. package/dist/internal/react-steps/index.d.cts +19 -0
  232. package/dist/internal/react-steps/index.d.ts +19 -0
  233. package/dist/internal/react-switch/index.d.cts +17 -0
  234. package/dist/internal/react-switch/index.d.ts +17 -0
  235. package/dist/internal/react-table-of-contents/index.d.ts +10 -0
  236. package/dist/internal/react-tabs/index.d.cts +31 -0
  237. package/dist/internal/react-tabs/index.d.ts +31 -0
  238. package/dist/internal/react-textarea/index.d.cts +16 -0
  239. package/dist/internal/react-textarea/index.d.ts +16 -0
  240. package/dist/internal/react-theme/index.d.cts +44 -0
  241. package/dist/internal/react-theme/index.d.ts +44 -0
  242. package/dist/internal/react-thread-view/index.d.cts +34 -0
  243. package/dist/internal/react-thread-view/index.d.ts +34 -0
  244. package/dist/internal/react-toast/index.d.cts +36 -0
  245. package/dist/internal/react-toast/index.d.ts +36 -0
  246. package/dist/internal/react-tooltip/index.d.cts +33 -0
  247. package/dist/internal/react-tooltip/index.d.ts +33 -0
  248. package/dist/internal/react-version-selector/index.d.cts +24 -0
  249. package/dist/internal/react-version-selector/index.d.ts +24 -0
  250. package/dist/internal/react-video-player/index.d.cts +9 -0
  251. package/dist/internal/react-video-player/index.d.ts +9 -0
  252. package/dist/internal/react-voice-pill/index.d.cts +10 -0
  253. package/dist/internal/react-voice-pill/index.d.ts +10 -0
  254. package/dist/internal/react-waveform/index.d.cts +9 -0
  255. package/dist/internal/react-waveform/index.d.ts +9 -0
  256. package/dist/internal/reaction-bar/index.d.cts +50 -0
  257. package/dist/internal/reaction-bar/index.d.ts +50 -0
  258. package/dist/internal/resizable-layout/index.d.cts +47 -0
  259. package/dist/internal/resizable-layout/index.d.ts +47 -0
  260. package/dist/internal/search-bar/index.d.cts +51 -0
  261. package/dist/internal/search-bar/index.d.ts +51 -0
  262. package/dist/internal/select/index.d.cts +69 -0
  263. package/dist/internal/select/index.d.ts +69 -0
  264. package/dist/internal/shared/index.d.cts +419 -0
  265. package/dist/internal/shared/index.d.ts +419 -0
  266. package/dist/internal/sidebar/index.d.cts +40 -0
  267. package/dist/internal/sidebar/index.d.ts +40 -0
  268. package/dist/internal/skeleton/index.d.cts +27 -0
  269. package/dist/internal/skeleton/index.d.ts +27 -0
  270. package/dist/internal/slide-viewer/index.d.cts +72 -0
  271. package/dist/internal/slide-viewer/index.d.ts +72 -0
  272. package/dist/internal/slider/index.d.cts +4 -0
  273. package/dist/internal/slider/index.d.ts +4 -0
  274. package/dist/internal/status-indicator/index.d.cts +42 -0
  275. package/dist/internal/status-indicator/index.d.ts +42 -0
  276. package/dist/internal/switch/index.d.cts +41 -0
  277. package/dist/internal/switch/index.d.ts +41 -0
  278. package/dist/internal/tabs/index.d.cts +45 -0
  279. package/dist/internal/tabs/index.d.ts +45 -0
  280. package/dist/internal/textarea/index.d.cts +28 -0
  281. package/dist/internal/textarea/index.d.ts +28 -0
  282. package/dist/internal/theme/index.d.cts +60 -0
  283. package/dist/internal/theme/index.d.ts +60 -0
  284. package/dist/internal/thread-view/index.d.cts +95 -0
  285. package/dist/internal/thread-view/index.d.ts +95 -0
  286. package/dist/internal/toast/index.d.cts +64 -0
  287. package/dist/internal/toast/index.d.ts +64 -0
  288. package/dist/internal/tooltip/index.d.cts +45 -0
  289. package/dist/internal/tooltip/index.d.ts +45 -0
  290. package/dist/internal/version-selector/index.d.cts +68 -0
  291. package/dist/internal/version-selector/index.d.ts +68 -0
  292. package/dist/internal/video-player/index.d.cts +50 -0
  293. package/dist/internal/video-player/index.d.ts +50 -0
  294. package/dist/internal/voice-pill/index.d.cts +86 -0
  295. package/dist/internal/voice-pill/index.d.ts +86 -0
  296. package/dist/internal/waveform/index.d.cts +83 -0
  297. package/dist/internal/waveform/index.d.ts +83 -0
  298. package/dist/theme.cjs +23 -0
  299. package/dist/theme.cjs.map +1 -1
  300. package/dist/theme.d.cts +1 -1
  301. package/dist/theme.d.ts +1 -1
  302. package/dist/theme.js +5 -2
  303. package/dist/theme.js.map +1 -1
  304. package/package.json +10 -7
@@ -0,0 +1,36 @@
1
+ import * as React from 'react';
2
+ import { ToastEntry, ToastManagerAPI, ToastVariant } from '../toast/index.js';
3
+ export { ToastEntry, ToastManagerAPI, ToastVariant, toastVariants } from '../toast/index.js';
4
+
5
+ interface ToastContextValue {
6
+ manager: ToastManagerAPI;
7
+ }
8
+ interface ToastProviderProps {
9
+ children?: React.ReactNode;
10
+ }
11
+ declare function ToastProvider({ children }: ToastProviderProps): React.FunctionComponentElement<React.ProviderProps<ToastContextValue | null>>;
12
+ declare namespace ToastProvider {
13
+ var displayName: string;
14
+ }
15
+ interface UseToastReturn {
16
+ /** Show a new toast */
17
+ toast: (message: string, opts?: {
18
+ variant?: ToastVariant;
19
+ duration?: number;
20
+ }) => string;
21
+ /** Dismiss a toast by id */
22
+ dismiss: (id: string) => void;
23
+ /** Current toast entries */
24
+ toasts: ReadonlyArray<ToastEntry>;
25
+ }
26
+ declare function useToast(): UseToastReturn;
27
+ interface ToastProps extends React.HTMLAttributes<HTMLDivElement> {
28
+ entry: ToastEntry;
29
+ onDismiss?: (id: string) => void;
30
+ }
31
+ declare const Toast: React.ForwardRefExoticComponent<ToastProps & React.RefAttributes<HTMLDivElement>>;
32
+ interface ToasterProps extends React.HTMLAttributes<HTMLDivElement> {
33
+ }
34
+ declare const Toaster: React.ForwardRefExoticComponent<ToasterProps & React.RefAttributes<HTMLDivElement>>;
35
+
36
+ export { Toast, type ToastProps, ToastProvider, type ToastProviderProps, Toaster, type ToasterProps, type UseToastReturn, useToast };
@@ -0,0 +1,33 @@
1
+ import * as React from 'react';
2
+ import { TooltipAPI } from '../tooltip/index.cjs';
3
+ export { tooltipContentVariants } from '../tooltip/index.cjs';
4
+ import { Side } from '../shared/index.cjs';
5
+
6
+ interface TooltipContextValue {
7
+ api: TooltipAPI;
8
+ open: boolean;
9
+ setOpen: (value: boolean) => void;
10
+ openWithDelay: () => void;
11
+ cancelDelay: () => void;
12
+ }
13
+ interface TooltipProps {
14
+ open?: boolean;
15
+ defaultOpen?: boolean;
16
+ onOpenChange?: (open: boolean) => void;
17
+ placement?: Side;
18
+ delayDuration?: number;
19
+ children: React.ReactNode;
20
+ }
21
+ declare function Tooltip({ open: controlledOpen, defaultOpen, onOpenChange, placement, delayDuration, children, }: TooltipProps): React.FunctionComponentElement<React.ProviderProps<TooltipContextValue | null>>;
22
+ declare namespace Tooltip {
23
+ var displayName: string;
24
+ }
25
+ interface TooltipTriggerProps extends React.HTMLAttributes<HTMLSpanElement> {
26
+ }
27
+ declare const TooltipTrigger: React.ForwardRefExoticComponent<TooltipTriggerProps & React.RefAttributes<HTMLSpanElement>>;
28
+ interface TooltipContentProps extends React.HTMLAttributes<HTMLDivElement> {
29
+ side?: Side;
30
+ }
31
+ declare const TooltipContent: React.ForwardRefExoticComponent<TooltipContentProps & React.RefAttributes<HTMLDivElement>>;
32
+
33
+ export { Tooltip, TooltipContent, type TooltipContentProps, type TooltipProps, TooltipTrigger, type TooltipTriggerProps };
@@ -0,0 +1,33 @@
1
+ import * as React from 'react';
2
+ import { TooltipAPI } from '../tooltip/index.js';
3
+ export { tooltipContentVariants } from '../tooltip/index.js';
4
+ import { Side } from '../shared/index.js';
5
+
6
+ interface TooltipContextValue {
7
+ api: TooltipAPI;
8
+ open: boolean;
9
+ setOpen: (value: boolean) => void;
10
+ openWithDelay: () => void;
11
+ cancelDelay: () => void;
12
+ }
13
+ interface TooltipProps {
14
+ open?: boolean;
15
+ defaultOpen?: boolean;
16
+ onOpenChange?: (open: boolean) => void;
17
+ placement?: Side;
18
+ delayDuration?: number;
19
+ children: React.ReactNode;
20
+ }
21
+ declare function Tooltip({ open: controlledOpen, defaultOpen, onOpenChange, placement, delayDuration, children, }: TooltipProps): React.FunctionComponentElement<React.ProviderProps<TooltipContextValue | null>>;
22
+ declare namespace Tooltip {
23
+ var displayName: string;
24
+ }
25
+ interface TooltipTriggerProps extends React.HTMLAttributes<HTMLSpanElement> {
26
+ }
27
+ declare const TooltipTrigger: React.ForwardRefExoticComponent<TooltipTriggerProps & React.RefAttributes<HTMLSpanElement>>;
28
+ interface TooltipContentProps extends React.HTMLAttributes<HTMLDivElement> {
29
+ side?: Side;
30
+ }
31
+ declare const TooltipContent: React.ForwardRefExoticComponent<TooltipContentProps & React.RefAttributes<HTMLDivElement>>;
32
+
33
+ export { Tooltip, TooltipContent, type TooltipContentProps, type TooltipProps, TooltipTrigger, type TooltipTriggerProps };
@@ -0,0 +1,24 @@
1
+ import * as React from 'react';
2
+ import { VersionOption, VersionSelectorAPI } from '../version-selector/index.cjs';
3
+ export { VersionOption, latestBadgeVariants, optionVariants, versionSelectorVariants } from '../version-selector/index.cjs';
4
+
5
+ interface VersionSelectorContextValue {
6
+ api: VersionSelectorAPI;
7
+ isOpen: boolean;
8
+ setOpen: (value: boolean) => void;
9
+ select: (value: string) => void;
10
+ versions: VersionOption[];
11
+ }
12
+ interface VersionSelectorProps {
13
+ value?: string;
14
+ onValueChange?: (value: string) => void;
15
+ versions: VersionOption[];
16
+ placeholder?: string;
17
+ className?: string;
18
+ }
19
+ declare function VersionSelector({ value: controlledValue, onValueChange, versions, placeholder, className, }: VersionSelectorProps): React.FunctionComponentElement<React.ProviderProps<VersionSelectorContextValue | null>>;
20
+ declare namespace VersionSelector {
21
+ var displayName: string;
22
+ }
23
+
24
+ export { VersionSelector, type VersionSelectorProps };
@@ -0,0 +1,24 @@
1
+ import * as React from 'react';
2
+ import { VersionOption, VersionSelectorAPI } from '../version-selector/index.js';
3
+ export { VersionOption, latestBadgeVariants, optionVariants, versionSelectorVariants } from '../version-selector/index.js';
4
+
5
+ interface VersionSelectorContextValue {
6
+ api: VersionSelectorAPI;
7
+ isOpen: boolean;
8
+ setOpen: (value: boolean) => void;
9
+ select: (value: string) => void;
10
+ versions: VersionOption[];
11
+ }
12
+ interface VersionSelectorProps {
13
+ value?: string;
14
+ onValueChange?: (value: string) => void;
15
+ versions: VersionOption[];
16
+ placeholder?: string;
17
+ className?: string;
18
+ }
19
+ declare function VersionSelector({ value: controlledValue, onValueChange, versions, placeholder, className, }: VersionSelectorProps): React.FunctionComponentElement<React.ProviderProps<VersionSelectorContextValue | null>>;
20
+ declare namespace VersionSelector {
21
+ var displayName: string;
22
+ }
23
+
24
+ export { VersionSelector, type VersionSelectorProps };
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import { VideoPlayerProps as VideoPlayerProps$1 } from '../video-player/index.cjs';
3
+ export { VideoPlayerAPI, VideoState, controlsVariants, overlayVariants, playerVariants } from '../video-player/index.cjs';
4
+
5
+ interface VideoPlayerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'src'>, VideoPlayerProps$1 {
6
+ }
7
+ declare const VideoPlayer: React.ForwardRefExoticComponent<VideoPlayerProps & React.RefAttributes<HTMLDivElement>>;
8
+
9
+ export { VideoPlayer, type VideoPlayerProps };
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import { VideoPlayerProps as VideoPlayerProps$1 } from '../video-player/index.js';
3
+ export { VideoPlayerAPI, VideoState, controlsVariants, overlayVariants, playerVariants } from '../video-player/index.js';
4
+
5
+ interface VideoPlayerProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'src'>, VideoPlayerProps$1 {
6
+ }
7
+ declare const VideoPlayer: React.ForwardRefExoticComponent<VideoPlayerProps & React.RefAttributes<HTMLDivElement>>;
8
+
9
+ export { VideoPlayer, type VideoPlayerProps };
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import { VoicePillProps as VoicePillProps$1 } from '../voice-pill/index.cjs';
3
+ export { VoicePillProps as CoreVoicePillProps, DEFAULT_VOICE_PILL_POSITION, DEFAULT_VOICE_PILL_SPEAKER, VoicePillAPI, VoicePillPosition, VoicePillSpeaker, VoicePillStyleVars, clampVoicePillIntensity, createVoicePill, getVoicePillAriaLabel, getVoicePillInitials, getVoicePillPosition, getVoicePillPulseStyle, getVoicePillSpeakerKey, getVoicePillSpeakerLabel, voicePillAvatarStyles, voicePillAvatarWrapStyles, voicePillLabelStyles, voicePillMuteButtonStyles, voicePillPositionVariants, voicePillPulseRingStyles, voicePillRootStyles, voicePillSpeakerStyles, voicePillSubStyles, voicePillTextStyles, voicePillTokens } from '../voice-pill/index.cjs';
4
+
5
+ interface VoicePillProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>, VoicePillProps$1 {
6
+ avatar?: React.ReactNode;
7
+ }
8
+ declare const VoicePill: React.ForwardRefExoticComponent<VoicePillProps & React.RefAttributes<HTMLDivElement>>;
9
+
10
+ export { VoicePill, type VoicePillProps };
@@ -0,0 +1,10 @@
1
+ import * as React from 'react';
2
+ import { VoicePillProps as VoicePillProps$1 } from '../voice-pill/index.js';
3
+ export { VoicePillProps as CoreVoicePillProps, DEFAULT_VOICE_PILL_POSITION, DEFAULT_VOICE_PILL_SPEAKER, VoicePillAPI, VoicePillPosition, VoicePillSpeaker, VoicePillStyleVars, clampVoicePillIntensity, createVoicePill, getVoicePillAriaLabel, getVoicePillInitials, getVoicePillPosition, getVoicePillPulseStyle, getVoicePillSpeakerKey, getVoicePillSpeakerLabel, voicePillAvatarStyles, voicePillAvatarWrapStyles, voicePillLabelStyles, voicePillMuteButtonStyles, voicePillPositionVariants, voicePillPulseRingStyles, voicePillRootStyles, voicePillSpeakerStyles, voicePillSubStyles, voicePillTextStyles, voicePillTokens } from '../voice-pill/index.js';
4
+
5
+ interface VoicePillProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>, VoicePillProps$1 {
6
+ avatar?: React.ReactNode;
7
+ }
8
+ declare const VoicePill: React.ForwardRefExoticComponent<VoicePillProps & React.RefAttributes<HTMLDivElement>>;
9
+
10
+ export { VoicePill, type VoicePillProps };
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import { WaveformProps as WaveformProps$1 } from '../waveform/index.cjs';
3
+ export { WaveformProps as CoreWaveformProps, DEFAULT_WAVEFORM_BAR_COUNT, DEFAULT_WAVEFORM_COLOR, DEFAULT_WAVEFORM_HEIGHT, DEFAULT_WAVEFORM_INTENSITY, DEFAULT_WAVEFORM_SMOOTHING, NormalizedWaveformConfig, WaveformAPI, WaveformCanvasSize, WaveformRenderOptions, WaveformSampleInput, WaveformSource, WaveformVariant, createIntensitySamples, createSilentSamples, createWaveform, drawWaveform, getWaveformPeak, isWaveformSampleInput, normalizeBarCount, normalizeIntensity, normalizeSmoothing, normalizeWaveformConfig, normalizeWaveformSamples, prepareWaveformCanvas, resampleWaveformSamples, scaleWaveformSamples, smoothWaveformSamples, toCssDimension, waveformCanvasVariants, waveformVariants } from '../waveform/index.cjs';
4
+
5
+ interface WaveformProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children' | 'color' | 'height' | 'width'>, WaveformProps$1 {
6
+ }
7
+ declare const Waveform: React.ForwardRefExoticComponent<WaveformProps & React.RefAttributes<HTMLDivElement>>;
8
+
9
+ export { Waveform, type WaveformProps };
@@ -0,0 +1,9 @@
1
+ import * as React from 'react';
2
+ import { WaveformProps as WaveformProps$1 } from '../waveform/index.js';
3
+ export { WaveformProps as CoreWaveformProps, DEFAULT_WAVEFORM_BAR_COUNT, DEFAULT_WAVEFORM_COLOR, DEFAULT_WAVEFORM_HEIGHT, DEFAULT_WAVEFORM_INTENSITY, DEFAULT_WAVEFORM_SMOOTHING, NormalizedWaveformConfig, WaveformAPI, WaveformCanvasSize, WaveformRenderOptions, WaveformSampleInput, WaveformSource, WaveformVariant, createIntensitySamples, createSilentSamples, createWaveform, drawWaveform, getWaveformPeak, isWaveformSampleInput, normalizeBarCount, normalizeIntensity, normalizeSmoothing, normalizeWaveformConfig, normalizeWaveformSamples, prepareWaveformCanvas, resampleWaveformSamples, scaleWaveformSamples, smoothWaveformSamples, toCssDimension, waveformCanvasVariants, waveformVariants } from '../waveform/index.js';
4
+
5
+ interface WaveformProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children' | 'color' | 'height' | 'width'>, WaveformProps$1 {
6
+ }
7
+ declare const Waveform: React.ForwardRefExoticComponent<WaveformProps & React.RefAttributes<HTMLDivElement>>;
8
+
9
+ export { Waveform, type WaveformProps };
@@ -0,0 +1,50 @@
1
+ import { AccessibilityProps } from '../shared/index.cjs';
2
+
3
+ interface Reaction {
4
+ /** The emoji character */
5
+ emoji: string;
6
+ /** Number of users who reacted with this emoji */
7
+ count: number;
8
+ /** Whether the current user has reacted */
9
+ userReacted: boolean;
10
+ }
11
+ interface ReactionBarProps {
12
+ /** Current reactions */
13
+ reactions: Reaction[];
14
+ /** Callback when a reaction is toggled */
15
+ onToggle?: (emoji: string) => void;
16
+ /** Callback when a new reaction is added */
17
+ onAdd?: (emoji: string) => void;
18
+ }
19
+ interface ReactionBarAPI {
20
+ /** Current reactions */
21
+ reactions: Reaction[];
22
+ /** Toggle a reaction */
23
+ toggle(emoji: string): void;
24
+ /** Add a new reaction */
25
+ add(emoji: string): void;
26
+ /** ARIA props for the reaction bar container */
27
+ ariaProps: Partial<AccessibilityProps> & Record<string, unknown>;
28
+ /** Get ARIA props for an individual reaction pill */
29
+ getReactionAriaProps(reaction: Reaction): Record<string, unknown>;
30
+ /** ARIA props for the "add reaction" button */
31
+ addButtonAriaProps: Record<string, unknown>;
32
+ /** Generated IDs */
33
+ ids: {
34
+ container: string;
35
+ label: string;
36
+ };
37
+ }
38
+ declare function createReactionBar(props: ReactionBarProps): ReactionBarAPI;
39
+
40
+ declare const reactionBarStyles = "flex flex-wrap items-center gap-1";
41
+ declare const reactionPillVariants: (props?: ({
42
+ state?: "active" | "inactive" | undefined;
43
+ } & {
44
+ className?: string;
45
+ }) | undefined) => string;
46
+ declare const reactionAddButtonStyles = "inline-flex items-center justify-center h-6 w-6 rounded-full border border-dashed border-muted-foreground/30 text-muted-foreground hover:border-muted-foreground hover:text-foreground cursor-pointer transition-colors text-xs";
47
+ declare const reactionEmojiStyles = "text-sm";
48
+ declare const reactionCountStyles = "text-xs font-medium tabular-nums";
49
+
50
+ export { type Reaction, type ReactionBarAPI, type ReactionBarProps, createReactionBar, reactionAddButtonStyles, reactionBarStyles, reactionCountStyles, reactionEmojiStyles, reactionPillVariants };
@@ -0,0 +1,50 @@
1
+ import { AccessibilityProps } from '../shared/index.js';
2
+
3
+ interface Reaction {
4
+ /** The emoji character */
5
+ emoji: string;
6
+ /** Number of users who reacted with this emoji */
7
+ count: number;
8
+ /** Whether the current user has reacted */
9
+ userReacted: boolean;
10
+ }
11
+ interface ReactionBarProps {
12
+ /** Current reactions */
13
+ reactions: Reaction[];
14
+ /** Callback when a reaction is toggled */
15
+ onToggle?: (emoji: string) => void;
16
+ /** Callback when a new reaction is added */
17
+ onAdd?: (emoji: string) => void;
18
+ }
19
+ interface ReactionBarAPI {
20
+ /** Current reactions */
21
+ reactions: Reaction[];
22
+ /** Toggle a reaction */
23
+ toggle(emoji: string): void;
24
+ /** Add a new reaction */
25
+ add(emoji: string): void;
26
+ /** ARIA props for the reaction bar container */
27
+ ariaProps: Partial<AccessibilityProps> & Record<string, unknown>;
28
+ /** Get ARIA props for an individual reaction pill */
29
+ getReactionAriaProps(reaction: Reaction): Record<string, unknown>;
30
+ /** ARIA props for the "add reaction" button */
31
+ addButtonAriaProps: Record<string, unknown>;
32
+ /** Generated IDs */
33
+ ids: {
34
+ container: string;
35
+ label: string;
36
+ };
37
+ }
38
+ declare function createReactionBar(props: ReactionBarProps): ReactionBarAPI;
39
+
40
+ declare const reactionBarStyles = "flex flex-wrap items-center gap-1";
41
+ declare const reactionPillVariants: (props?: ({
42
+ state?: "active" | "inactive" | undefined;
43
+ } & {
44
+ className?: string;
45
+ }) | undefined) => string;
46
+ declare const reactionAddButtonStyles = "inline-flex items-center justify-center h-6 w-6 rounded-full border border-dashed border-muted-foreground/30 text-muted-foreground hover:border-muted-foreground hover:text-foreground cursor-pointer transition-colors text-xs";
47
+ declare const reactionEmojiStyles = "text-sm";
48
+ declare const reactionCountStyles = "text-xs font-medium tabular-nums";
49
+
50
+ export { type Reaction, type ReactionBarAPI, type ReactionBarProps, createReactionBar, reactionAddButtonStyles, reactionBarStyles, reactionCountStyles, reactionEmojiStyles, reactionPillVariants };
@@ -0,0 +1,47 @@
1
+ import { Orientation, TokenContract } from '../shared/index.cjs';
2
+
3
+ interface ResizableLayoutProps {
4
+ orientation?: Orientation;
5
+ /** Initial sizes as percentages (must sum to 100) */
6
+ defaultSizes?: number[];
7
+ /** Minimum size for each pane (percentage) */
8
+ minSizes?: number[];
9
+ /** Maximum size for each pane (percentage) */
10
+ maxSizes?: number[];
11
+ /** localStorage key for persisting sizes */
12
+ persistKey?: string;
13
+ }
14
+ interface ResizableLayoutAPI {
15
+ /** Current pane sizes as percentages */
16
+ sizes: number[];
17
+ /** Begin a resize operation at divider index */
18
+ startResize: (index: number) => void;
19
+ /** Apply a delta (percentage) during resize */
20
+ onResize: (delta: number) => void;
21
+ /** End the current resize operation */
22
+ endResize: () => void;
23
+ /** Generate CSS custom properties for pane sizes */
24
+ getCSSVariables: () => Record<string, string>;
25
+ /** Current orientation */
26
+ orientation: Orientation;
27
+ }
28
+ declare function createResizableLayout(props?: ResizableLayoutProps): ResizableLayoutAPI;
29
+
30
+ declare const resizableLayoutTokens: TokenContract;
31
+ declare const resizableLayoutVariants: (props?: ({
32
+ orientation?: "horizontal" | "vertical" | undefined;
33
+ } & {
34
+ className?: string;
35
+ }) | undefined) => string;
36
+ declare const resizableDividerVariants: (props?: ({
37
+ orientation?: "horizontal" | "vertical" | undefined;
38
+ } & {
39
+ className?: string;
40
+ }) | undefined) => string;
41
+ declare const resizablePaneVariants: (props?: ({
42
+ orientation?: "horizontal" | "vertical" | undefined;
43
+ } & {
44
+ className?: string;
45
+ }) | undefined) => string;
46
+
47
+ export { type ResizableLayoutAPI, type ResizableLayoutProps, createResizableLayout, resizableDividerVariants, resizableLayoutTokens, resizableLayoutVariants, resizablePaneVariants };
@@ -0,0 +1,47 @@
1
+ import { Orientation, TokenContract } from '../shared/index.js';
2
+
3
+ interface ResizableLayoutProps {
4
+ orientation?: Orientation;
5
+ /** Initial sizes as percentages (must sum to 100) */
6
+ defaultSizes?: number[];
7
+ /** Minimum size for each pane (percentage) */
8
+ minSizes?: number[];
9
+ /** Maximum size for each pane (percentage) */
10
+ maxSizes?: number[];
11
+ /** localStorage key for persisting sizes */
12
+ persistKey?: string;
13
+ }
14
+ interface ResizableLayoutAPI {
15
+ /** Current pane sizes as percentages */
16
+ sizes: number[];
17
+ /** Begin a resize operation at divider index */
18
+ startResize: (index: number) => void;
19
+ /** Apply a delta (percentage) during resize */
20
+ onResize: (delta: number) => void;
21
+ /** End the current resize operation */
22
+ endResize: () => void;
23
+ /** Generate CSS custom properties for pane sizes */
24
+ getCSSVariables: () => Record<string, string>;
25
+ /** Current orientation */
26
+ orientation: Orientation;
27
+ }
28
+ declare function createResizableLayout(props?: ResizableLayoutProps): ResizableLayoutAPI;
29
+
30
+ declare const resizableLayoutTokens: TokenContract;
31
+ declare const resizableLayoutVariants: (props?: ({
32
+ orientation?: "horizontal" | "vertical" | undefined;
33
+ } & {
34
+ className?: string;
35
+ }) | undefined) => string;
36
+ declare const resizableDividerVariants: (props?: ({
37
+ orientation?: "horizontal" | "vertical" | undefined;
38
+ } & {
39
+ className?: string;
40
+ }) | undefined) => string;
41
+ declare const resizablePaneVariants: (props?: ({
42
+ orientation?: "horizontal" | "vertical" | undefined;
43
+ } & {
44
+ className?: string;
45
+ }) | undefined) => string;
46
+
47
+ export { type ResizableLayoutAPI, type ResizableLayoutProps, createResizableLayout, resizableDividerVariants, resizableLayoutTokens, resizableLayoutVariants, resizablePaneVariants };
@@ -0,0 +1,51 @@
1
+ import { KeyboardHandlerMap } from '../shared/index.cjs';
2
+
3
+ interface SearchBarProps {
4
+ value?: string;
5
+ onValueChange?: (value: string) => void;
6
+ onSearch?: (value: string) => void;
7
+ debounceMs?: number;
8
+ placeholder?: string;
9
+ loading?: boolean;
10
+ }
11
+ interface SearchBarAPI {
12
+ /** Current state */
13
+ state: {
14
+ value: string;
15
+ isSearching: boolean;
16
+ };
17
+ /** Props to spread on the input element */
18
+ inputProps: {
19
+ role: 'combobox';
20
+ 'aria-expanded': boolean;
21
+ 'aria-controls': string;
22
+ 'aria-autocomplete': 'list';
23
+ };
24
+ /** Props to spread on the results list element */
25
+ listProps: {
26
+ role: 'listbox';
27
+ id: string;
28
+ };
29
+ /** Set the search value */
30
+ setValue: (value: string) => void;
31
+ /** Clear the search value */
32
+ clear: () => void;
33
+ /** Keyboard handler map */
34
+ keyboardHandlers: KeyboardHandlerMap;
35
+ /** Pre-built keyboard event handler */
36
+ handleKeyDown: (event: KeyboardEvent) => void;
37
+ }
38
+ declare function createSearchBar(props?: SearchBarProps): SearchBarAPI;
39
+
40
+ declare const searchBarVariants: (props?: ({
41
+ size?: "sm" | "md" | "lg" | undefined;
42
+ } & {
43
+ className?: string;
44
+ }) | undefined) => string;
45
+ declare const searchResultVariants: (props?: ({
46
+ size?: "sm" | "md" | "lg" | undefined;
47
+ } & {
48
+ className?: string;
49
+ }) | undefined) => string;
50
+
51
+ export { type SearchBarAPI, type SearchBarProps, createSearchBar, searchBarVariants, searchResultVariants };
@@ -0,0 +1,51 @@
1
+ import { KeyboardHandlerMap } from '../shared/index.js';
2
+
3
+ interface SearchBarProps {
4
+ value?: string;
5
+ onValueChange?: (value: string) => void;
6
+ onSearch?: (value: string) => void;
7
+ debounceMs?: number;
8
+ placeholder?: string;
9
+ loading?: boolean;
10
+ }
11
+ interface SearchBarAPI {
12
+ /** Current state */
13
+ state: {
14
+ value: string;
15
+ isSearching: boolean;
16
+ };
17
+ /** Props to spread on the input element */
18
+ inputProps: {
19
+ role: 'combobox';
20
+ 'aria-expanded': boolean;
21
+ 'aria-controls': string;
22
+ 'aria-autocomplete': 'list';
23
+ };
24
+ /** Props to spread on the results list element */
25
+ listProps: {
26
+ role: 'listbox';
27
+ id: string;
28
+ };
29
+ /** Set the search value */
30
+ setValue: (value: string) => void;
31
+ /** Clear the search value */
32
+ clear: () => void;
33
+ /** Keyboard handler map */
34
+ keyboardHandlers: KeyboardHandlerMap;
35
+ /** Pre-built keyboard event handler */
36
+ handleKeyDown: (event: KeyboardEvent) => void;
37
+ }
38
+ declare function createSearchBar(props?: SearchBarProps): SearchBarAPI;
39
+
40
+ declare const searchBarVariants: (props?: ({
41
+ size?: "sm" | "md" | "lg" | undefined;
42
+ } & {
43
+ className?: string;
44
+ }) | undefined) => string;
45
+ declare const searchResultVariants: (props?: ({
46
+ size?: "sm" | "md" | "lg" | undefined;
47
+ } & {
48
+ className?: string;
49
+ }) | undefined) => string;
50
+
51
+ export { type SearchBarAPI, type SearchBarProps, createSearchBar, searchBarVariants, searchResultVariants };
@@ -0,0 +1,69 @@
1
+ import { AccessibilityProps, KeyboardHandlerMap, TokenContract } from '../shared/index.cjs';
2
+
3
+ interface SelectOption {
4
+ value: string;
5
+ label: string;
6
+ disabled?: boolean;
7
+ }
8
+ interface SelectProps {
9
+ value?: string;
10
+ options?: SelectOption[];
11
+ placeholder?: string;
12
+ disabled?: boolean;
13
+ open?: boolean;
14
+ name?: string;
15
+ }
16
+ interface SelectAPI {
17
+ /** Trigger element ARIA + keyboard props */
18
+ triggerProps: {
19
+ ariaProps: Partial<AccessibilityProps>;
20
+ keyboardHandlers: KeyboardHandlerMap;
21
+ dataAttributes: Record<string, string>;
22
+ };
23
+ /** Content (dropdown) props */
24
+ contentProps: {
25
+ ariaProps: Partial<AccessibilityProps>;
26
+ dataAttributes: Record<string, string>;
27
+ };
28
+ /** Get props for a single option */
29
+ getOptionProps: (option: SelectOption) => {
30
+ ariaProps: Partial<AccessibilityProps>;
31
+ dataAttributes: Record<string, string>;
32
+ isSelected: boolean;
33
+ };
34
+ /** Whether interaction should be blocked */
35
+ isInteractive: boolean;
36
+ /** Current state */
37
+ state: {
38
+ open: boolean;
39
+ selectedValue: string | undefined;
40
+ selectedLabel: string | undefined;
41
+ disabled: boolean;
42
+ placeholder: string;
43
+ };
44
+ /** Generated IDs for trigger/content association */
45
+ ids: {
46
+ trigger: string;
47
+ content: string;
48
+ };
49
+ }
50
+ declare function createSelect(props?: SelectProps): SelectAPI;
51
+
52
+ declare const selectTokens: TokenContract;
53
+ declare const selectTriggerVariants: (props?: ({
54
+ size?: "sm" | "default" | "lg" | undefined;
55
+ } & {
56
+ className?: string;
57
+ }) | undefined) => string;
58
+ declare const selectContentVariants: (props?: ({
59
+ position?: "popper" | "item-aligned" | undefined;
60
+ } & {
61
+ className?: string;
62
+ }) | undefined) => string;
63
+ declare const selectItemVariants: (props?: ({
64
+ selected?: "true" | "false" | undefined;
65
+ } & {
66
+ className?: string;
67
+ }) | undefined) => string;
68
+
69
+ export { type SelectAPI, type SelectOption, type SelectProps, createSelect, selectContentVariants, selectItemVariants, selectTokens, selectTriggerVariants };
@@ -0,0 +1,69 @@
1
+ import { AccessibilityProps, KeyboardHandlerMap, TokenContract } from '../shared/index.js';
2
+
3
+ interface SelectOption {
4
+ value: string;
5
+ label: string;
6
+ disabled?: boolean;
7
+ }
8
+ interface SelectProps {
9
+ value?: string;
10
+ options?: SelectOption[];
11
+ placeholder?: string;
12
+ disabled?: boolean;
13
+ open?: boolean;
14
+ name?: string;
15
+ }
16
+ interface SelectAPI {
17
+ /** Trigger element ARIA + keyboard props */
18
+ triggerProps: {
19
+ ariaProps: Partial<AccessibilityProps>;
20
+ keyboardHandlers: KeyboardHandlerMap;
21
+ dataAttributes: Record<string, string>;
22
+ };
23
+ /** Content (dropdown) props */
24
+ contentProps: {
25
+ ariaProps: Partial<AccessibilityProps>;
26
+ dataAttributes: Record<string, string>;
27
+ };
28
+ /** Get props for a single option */
29
+ getOptionProps: (option: SelectOption) => {
30
+ ariaProps: Partial<AccessibilityProps>;
31
+ dataAttributes: Record<string, string>;
32
+ isSelected: boolean;
33
+ };
34
+ /** Whether interaction should be blocked */
35
+ isInteractive: boolean;
36
+ /** Current state */
37
+ state: {
38
+ open: boolean;
39
+ selectedValue: string | undefined;
40
+ selectedLabel: string | undefined;
41
+ disabled: boolean;
42
+ placeholder: string;
43
+ };
44
+ /** Generated IDs for trigger/content association */
45
+ ids: {
46
+ trigger: string;
47
+ content: string;
48
+ };
49
+ }
50
+ declare function createSelect(props?: SelectProps): SelectAPI;
51
+
52
+ declare const selectTokens: TokenContract;
53
+ declare const selectTriggerVariants: (props?: ({
54
+ size?: "sm" | "default" | "lg" | undefined;
55
+ } & {
56
+ className?: string;
57
+ }) | undefined) => string;
58
+ declare const selectContentVariants: (props?: ({
59
+ position?: "popper" | "item-aligned" | undefined;
60
+ } & {
61
+ className?: string;
62
+ }) | undefined) => string;
63
+ declare const selectItemVariants: (props?: ({
64
+ selected?: "true" | "false" | undefined;
65
+ } & {
66
+ className?: string;
67
+ }) | undefined) => string;
68
+
69
+ export { type SelectAPI, type SelectOption, type SelectProps, createSelect, selectContentVariants, selectItemVariants, selectTokens, selectTriggerVariants };