@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,80 @@
1
+ import { KeyboardHandlerMap } from '../shared/index.cjs';
2
+
3
+ interface CommandProps {
4
+ /** Whether the command palette is open (controlled) */
5
+ open?: boolean;
6
+ /** Callback when open state changes */
7
+ onOpenChange?: (open: boolean) => void;
8
+ /** Custom filter function — receives item value and search query, returns true to include */
9
+ filter?: (value: string, search: string) => boolean;
10
+ }
11
+ interface CommandItemData {
12
+ /** Unique identifier for the item */
13
+ id: string;
14
+ /** Display label */
15
+ label: string;
16
+ /** Searchable value */
17
+ value: string;
18
+ /** Whether the item is disabled */
19
+ disabled?: boolean;
20
+ /** Optional group the item belongs to */
21
+ group?: string;
22
+ }
23
+ interface CommandState {
24
+ /** Current search query */
25
+ search: string;
26
+ /** Items after filtering */
27
+ filteredItems: CommandItemData[];
28
+ /** Index of the currently highlighted item in filteredItems */
29
+ selectedIndex: number;
30
+ /** Whether the palette is open */
31
+ open: boolean;
32
+ }
33
+ interface CommandAPI {
34
+ /** Current command state */
35
+ state: CommandState;
36
+ /** Update the search query and re-filter items */
37
+ search(query: string): void;
38
+ /** Select the item at the given index (or the currently highlighted item) */
39
+ select(index?: number): CommandItemData | undefined;
40
+ /** Keyboard handlers for the command palette */
41
+ keyboardHandlers: KeyboardHandlerMap;
42
+ /** ARIA attributes for the command root */
43
+ ariaProps: Record<string, unknown>;
44
+ /** ARIA attributes for the input */
45
+ inputAriaProps: Record<string, unknown>;
46
+ /** ARIA attributes for the list */
47
+ listAriaProps: Record<string, unknown>;
48
+ /** Get ARIA attributes for a specific item */
49
+ getItemAriaProps(item: CommandItemData, index: number): Record<string, unknown>;
50
+ /** Generated IDs */
51
+ ids: {
52
+ root: string;
53
+ input: string;
54
+ list: string;
55
+ };
56
+ }
57
+ declare function createCommand(props?: CommandProps, items?: CommandItemData[]): CommandAPI;
58
+
59
+ declare const commandVariants: (props?: ({
60
+ [x: string]: string | undefined;
61
+ } & {
62
+ className?: string;
63
+ }) | undefined) => string;
64
+ declare const commandInputVariants: (props?: ({
65
+ [x: string]: string | undefined;
66
+ } & {
67
+ className?: string;
68
+ }) | undefined) => string;
69
+ declare const commandItemVariants: (props?: ({
70
+ state?: "default" | "selected" | "disabled" | undefined;
71
+ } & {
72
+ className?: string;
73
+ }) | undefined) => string;
74
+ declare const commandGroupVariants: (props?: ({
75
+ [x: string]: string | undefined;
76
+ } & {
77
+ className?: string;
78
+ }) | undefined) => string;
79
+
80
+ export { type CommandAPI, type CommandItemData, type CommandProps, type CommandState, commandGroupVariants, commandInputVariants, commandItemVariants, commandVariants, createCommand };
@@ -0,0 +1,80 @@
1
+ import { KeyboardHandlerMap } from '../shared/index.js';
2
+
3
+ interface CommandProps {
4
+ /** Whether the command palette is open (controlled) */
5
+ open?: boolean;
6
+ /** Callback when open state changes */
7
+ onOpenChange?: (open: boolean) => void;
8
+ /** Custom filter function — receives item value and search query, returns true to include */
9
+ filter?: (value: string, search: string) => boolean;
10
+ }
11
+ interface CommandItemData {
12
+ /** Unique identifier for the item */
13
+ id: string;
14
+ /** Display label */
15
+ label: string;
16
+ /** Searchable value */
17
+ value: string;
18
+ /** Whether the item is disabled */
19
+ disabled?: boolean;
20
+ /** Optional group the item belongs to */
21
+ group?: string;
22
+ }
23
+ interface CommandState {
24
+ /** Current search query */
25
+ search: string;
26
+ /** Items after filtering */
27
+ filteredItems: CommandItemData[];
28
+ /** Index of the currently highlighted item in filteredItems */
29
+ selectedIndex: number;
30
+ /** Whether the palette is open */
31
+ open: boolean;
32
+ }
33
+ interface CommandAPI {
34
+ /** Current command state */
35
+ state: CommandState;
36
+ /** Update the search query and re-filter items */
37
+ search(query: string): void;
38
+ /** Select the item at the given index (or the currently highlighted item) */
39
+ select(index?: number): CommandItemData | undefined;
40
+ /** Keyboard handlers for the command palette */
41
+ keyboardHandlers: KeyboardHandlerMap;
42
+ /** ARIA attributes for the command root */
43
+ ariaProps: Record<string, unknown>;
44
+ /** ARIA attributes for the input */
45
+ inputAriaProps: Record<string, unknown>;
46
+ /** ARIA attributes for the list */
47
+ listAriaProps: Record<string, unknown>;
48
+ /** Get ARIA attributes for a specific item */
49
+ getItemAriaProps(item: CommandItemData, index: number): Record<string, unknown>;
50
+ /** Generated IDs */
51
+ ids: {
52
+ root: string;
53
+ input: string;
54
+ list: string;
55
+ };
56
+ }
57
+ declare function createCommand(props?: CommandProps, items?: CommandItemData[]): CommandAPI;
58
+
59
+ declare const commandVariants: (props?: ({
60
+ [x: string]: string | undefined;
61
+ } & {
62
+ className?: string;
63
+ }) | undefined) => string;
64
+ declare const commandInputVariants: (props?: ({
65
+ [x: string]: string | undefined;
66
+ } & {
67
+ className?: string;
68
+ }) | undefined) => string;
69
+ declare const commandItemVariants: (props?: ({
70
+ state?: "default" | "selected" | "disabled" | undefined;
71
+ } & {
72
+ className?: string;
73
+ }) | undefined) => string;
74
+ declare const commandGroupVariants: (props?: ({
75
+ [x: string]: string | undefined;
76
+ } & {
77
+ className?: string;
78
+ }) | undefined) => string;
79
+
80
+ export { type CommandAPI, type CommandItemData, type CommandProps, type CommandState, commandGroupVariants, commandInputVariants, commandItemVariants, commandVariants, createCommand };
@@ -0,0 +1,47 @@
1
+ interface ContentProtectionProps {
2
+ /** Enable content protection. Default: true */
3
+ enabled?: boolean;
4
+ /** Disable copy/cut. Default: true */
5
+ disableCopy?: boolean;
6
+ /** Disable right-click context menu. Default: true */
7
+ disableContextMenu?: boolean;
8
+ /** Watermark text overlay */
9
+ watermarkText?: string;
10
+ }
11
+ interface WatermarkConfig {
12
+ text: string;
13
+ opacity: number;
14
+ angle: number;
15
+ }
16
+ interface ContentProtectionAPI {
17
+ eventHandlers: {
18
+ onCopy?: (e: {
19
+ preventDefault(): void;
20
+ }) => void;
21
+ onCut?: (e: {
22
+ preventDefault(): void;
23
+ }) => void;
24
+ onContextMenu?: (e: {
25
+ preventDefault(): void;
26
+ }) => void;
27
+ onSelectStart?: (e: {
28
+ preventDefault(): void;
29
+ }) => void;
30
+ };
31
+ watermarkConfig: WatermarkConfig | null;
32
+ dataAttributes: Record<string, string>;
33
+ }
34
+ declare function createContentProtection(props?: ContentProtectionProps): ContentProtectionAPI;
35
+
36
+ declare const contentProtectionVariants: (props?: ({
37
+ [x: string]: string | undefined;
38
+ } & {
39
+ className?: string;
40
+ }) | undefined) => string;
41
+ declare const watermarkVariants: (props?: ({
42
+ [x: string]: string | undefined;
43
+ } & {
44
+ className?: string;
45
+ }) | undefined) => string;
46
+
47
+ export { type ContentProtectionAPI, type ContentProtectionProps, type WatermarkConfig, contentProtectionVariants, createContentProtection, watermarkVariants };
@@ -0,0 +1,47 @@
1
+ interface ContentProtectionProps {
2
+ /** Enable content protection. Default: true */
3
+ enabled?: boolean;
4
+ /** Disable copy/cut. Default: true */
5
+ disableCopy?: boolean;
6
+ /** Disable right-click context menu. Default: true */
7
+ disableContextMenu?: boolean;
8
+ /** Watermark text overlay */
9
+ watermarkText?: string;
10
+ }
11
+ interface WatermarkConfig {
12
+ text: string;
13
+ opacity: number;
14
+ angle: number;
15
+ }
16
+ interface ContentProtectionAPI {
17
+ eventHandlers: {
18
+ onCopy?: (e: {
19
+ preventDefault(): void;
20
+ }) => void;
21
+ onCut?: (e: {
22
+ preventDefault(): void;
23
+ }) => void;
24
+ onContextMenu?: (e: {
25
+ preventDefault(): void;
26
+ }) => void;
27
+ onSelectStart?: (e: {
28
+ preventDefault(): void;
29
+ }) => void;
30
+ };
31
+ watermarkConfig: WatermarkConfig | null;
32
+ dataAttributes: Record<string, string>;
33
+ }
34
+ declare function createContentProtection(props?: ContentProtectionProps): ContentProtectionAPI;
35
+
36
+ declare const contentProtectionVariants: (props?: ({
37
+ [x: string]: string | undefined;
38
+ } & {
39
+ className?: string;
40
+ }) | undefined) => string;
41
+ declare const watermarkVariants: (props?: ({
42
+ [x: string]: string | undefined;
43
+ } & {
44
+ className?: string;
45
+ }) | undefined) => string;
46
+
47
+ export { type ContentProtectionAPI, type ContentProtectionProps, type WatermarkConfig, contentProtectionVariants, createContentProtection, watermarkVariants };
@@ -0,0 +1,73 @@
1
+ import { AccessibilityProps } from '../shared/index.cjs';
2
+
3
+ interface ColumnDef<T = Record<string, unknown>> {
4
+ /** Unique column identifier */
5
+ id: string;
6
+ /** Column header text */
7
+ header: string;
8
+ /** Accessor function to get cell value from row */
9
+ accessor: (row: T) => unknown;
10
+ /** Whether this column is sortable */
11
+ sortable?: boolean;
12
+ /** Whether this column is filterable */
13
+ filterable?: boolean;
14
+ }
15
+ type SortDirection = 'asc' | 'desc';
16
+ interface DataTableProps<T = Record<string, unknown>> {
17
+ /** Column definitions */
18
+ columns: ColumnDef<T>[];
19
+ /** Data rows */
20
+ data: T[];
21
+ /** Current sort column */
22
+ sortBy?: string;
23
+ /** Current sort direction */
24
+ sortDir?: SortDirection;
25
+ /** Callback when sort changes */
26
+ onSort?: (columnId: string, direction: SortDirection) => void;
27
+ /** Active filters: columnId -> filter value */
28
+ filters?: Record<string, string>;
29
+ }
30
+ interface DataTableState<T = Record<string, unknown>> {
31
+ sortedData: T[];
32
+ sortBy: string | null;
33
+ sortDir: SortDirection;
34
+ filters: Record<string, string>;
35
+ }
36
+ interface DataTableAPI<T = Record<string, unknown>> {
37
+ /** Current table state */
38
+ state: DataTableState<T>;
39
+ /** Toggle sort for a column */
40
+ sort(columnId: string): void;
41
+ /** Set a filter value for a column */
42
+ setFilter(columnId: string, value: string): void;
43
+ /** Get ARIA and role props for a header cell */
44
+ getHeaderProps(col: ColumnDef<T>): Partial<AccessibilityProps> & Record<string, unknown>;
45
+ /** Get props for a data cell */
46
+ getCellProps(col: ColumnDef<T>, row: T): Record<string, unknown>;
47
+ /** Get props for a data row */
48
+ getRowProps(row: T, index: number): Record<string, unknown>;
49
+ }
50
+ declare function createDataTable<T = Record<string, unknown>>(props: DataTableProps<T>): DataTableAPI<T>;
51
+
52
+ declare const tableVariants: (props?: ({
53
+ size?: "sm" | "md" | "lg" | undefined;
54
+ } & {
55
+ className?: string;
56
+ }) | undefined) => string;
57
+ declare const headerVariants: (props?: ({
58
+ sortable?: "true" | "false" | undefined;
59
+ } & {
60
+ className?: string;
61
+ }) | undefined) => string;
62
+ declare const cellVariants: (props?: ({
63
+ size?: "sm" | "md" | "lg" | undefined;
64
+ } & {
65
+ className?: string;
66
+ }) | undefined) => string;
67
+ declare const rowVariants: (props?: ({
68
+ selected?: "true" | "false" | undefined;
69
+ } & {
70
+ className?: string;
71
+ }) | undefined) => string;
72
+
73
+ export { type ColumnDef, type DataTableAPI, type DataTableProps, type DataTableState, type SortDirection, cellVariants, createDataTable, headerVariants, rowVariants, tableVariants };
@@ -0,0 +1,73 @@
1
+ import { AccessibilityProps } from '../shared/index.js';
2
+
3
+ interface ColumnDef<T = Record<string, unknown>> {
4
+ /** Unique column identifier */
5
+ id: string;
6
+ /** Column header text */
7
+ header: string;
8
+ /** Accessor function to get cell value from row */
9
+ accessor: (row: T) => unknown;
10
+ /** Whether this column is sortable */
11
+ sortable?: boolean;
12
+ /** Whether this column is filterable */
13
+ filterable?: boolean;
14
+ }
15
+ type SortDirection = 'asc' | 'desc';
16
+ interface DataTableProps<T = Record<string, unknown>> {
17
+ /** Column definitions */
18
+ columns: ColumnDef<T>[];
19
+ /** Data rows */
20
+ data: T[];
21
+ /** Current sort column */
22
+ sortBy?: string;
23
+ /** Current sort direction */
24
+ sortDir?: SortDirection;
25
+ /** Callback when sort changes */
26
+ onSort?: (columnId: string, direction: SortDirection) => void;
27
+ /** Active filters: columnId -> filter value */
28
+ filters?: Record<string, string>;
29
+ }
30
+ interface DataTableState<T = Record<string, unknown>> {
31
+ sortedData: T[];
32
+ sortBy: string | null;
33
+ sortDir: SortDirection;
34
+ filters: Record<string, string>;
35
+ }
36
+ interface DataTableAPI<T = Record<string, unknown>> {
37
+ /** Current table state */
38
+ state: DataTableState<T>;
39
+ /** Toggle sort for a column */
40
+ sort(columnId: string): void;
41
+ /** Set a filter value for a column */
42
+ setFilter(columnId: string, value: string): void;
43
+ /** Get ARIA and role props for a header cell */
44
+ getHeaderProps(col: ColumnDef<T>): Partial<AccessibilityProps> & Record<string, unknown>;
45
+ /** Get props for a data cell */
46
+ getCellProps(col: ColumnDef<T>, row: T): Record<string, unknown>;
47
+ /** Get props for a data row */
48
+ getRowProps(row: T, index: number): Record<string, unknown>;
49
+ }
50
+ declare function createDataTable<T = Record<string, unknown>>(props: DataTableProps<T>): DataTableAPI<T>;
51
+
52
+ declare const tableVariants: (props?: ({
53
+ size?: "sm" | "md" | "lg" | undefined;
54
+ } & {
55
+ className?: string;
56
+ }) | undefined) => string;
57
+ declare const headerVariants: (props?: ({
58
+ sortable?: "true" | "false" | undefined;
59
+ } & {
60
+ className?: string;
61
+ }) | undefined) => string;
62
+ declare const cellVariants: (props?: ({
63
+ size?: "sm" | "md" | "lg" | undefined;
64
+ } & {
65
+ className?: string;
66
+ }) | undefined) => string;
67
+ declare const rowVariants: (props?: ({
68
+ selected?: "true" | "false" | undefined;
69
+ } & {
70
+ className?: string;
71
+ }) | undefined) => string;
72
+
73
+ export { type ColumnDef, type DataTableAPI, type DataTableProps, type DataTableState, type SortDirection, cellVariants, createDataTable, headerVariants, rowVariants, tableVariants };
@@ -0,0 +1,98 @@
1
+ import { AccessibilityProps, KeyboardHandlerMap } from '../shared/index.cjs';
2
+
3
+ type DatePickerView = 'calendar' | 'time';
4
+ interface DatePickerProps {
5
+ /** Selected date (controlled) */
6
+ value?: Date;
7
+ /** Callback when value changes */
8
+ onChange?: (date: Date) => void;
9
+ /** Minimum selectable date */
10
+ minDate?: Date;
11
+ /** Maximum selectable date */
12
+ maxDate?: Date;
13
+ /** Show time selection */
14
+ showTime?: boolean;
15
+ /** Display format string */
16
+ format?: string;
17
+ /** Placeholder text */
18
+ placeholder?: string;
19
+ /** Whether the picker is open (controlled) */
20
+ open?: boolean;
21
+ /** Default open state */
22
+ defaultOpen?: boolean;
23
+ /** Callback when open changes */
24
+ onOpenChange?: (open: boolean) => void;
25
+ }
26
+ interface DatePickerState {
27
+ open: boolean;
28
+ selectedDate: Date | undefined;
29
+ view: DatePickerView;
30
+ hours: number;
31
+ minutes: number;
32
+ currentMonth: Date;
33
+ }
34
+ interface CalendarDay {
35
+ date: Date;
36
+ isToday: boolean;
37
+ isSelected: boolean;
38
+ isCurrentMonth: boolean;
39
+ isDisabled: boolean;
40
+ }
41
+ interface DatePickerAPI {
42
+ /** Current state */
43
+ state: DatePickerState;
44
+ /** Calendar days grid (42 cells) */
45
+ days: CalendarDay[];
46
+ /** Open the picker */
47
+ openPicker(): void;
48
+ /** Close the picker */
49
+ closePicker(): void;
50
+ /** Toggle the picker */
51
+ togglePicker(): void;
52
+ /** Select a date from calendar */
53
+ selectDate(date: Date): void;
54
+ /** Set hours */
55
+ setHours(hours: number): void;
56
+ /** Set minutes */
57
+ setMinutes(minutes: number): void;
58
+ /** Navigate to previous month */
59
+ prevMonth(): void;
60
+ /** Navigate to next month */
61
+ nextMonth(): void;
62
+ /** Switch between calendar and time views */
63
+ setView(view: DatePickerView): void;
64
+ /** Format the selected date for display */
65
+ formatDisplay(): string;
66
+ /** ARIA attributes for the trigger input */
67
+ triggerProps: Partial<AccessibilityProps> & Record<string, unknown>;
68
+ /** ARIA attributes for the dropdown */
69
+ dropdownProps: Partial<AccessibilityProps> & Record<string, unknown>;
70
+ /** ARIA props for the calendar grid */
71
+ gridProps: Partial<AccessibilityProps> & Record<string, unknown>;
72
+ /** Get ARIA props for a day cell */
73
+ getDayAriaProps(day: CalendarDay): Partial<AccessibilityProps> & Record<string, unknown>;
74
+ /** Keyboard handlers */
75
+ keyboardHandlers: KeyboardHandlerMap;
76
+ /** Generated IDs */
77
+ ids: {
78
+ trigger: string;
79
+ dropdown: string;
80
+ grid: string;
81
+ label: string;
82
+ };
83
+ }
84
+ declare function formatDate(date: Date | undefined, format: string, showTime: boolean): string;
85
+ declare function createDatePicker(props?: DatePickerProps): DatePickerAPI;
86
+
87
+ declare const datePickerTriggerStyles = "inline-flex items-center gap-2 rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring cursor-pointer";
88
+ declare const datePickerDropdownStyles = "absolute z-50 mt-1 rounded-md border bg-popover p-4 text-popover-foreground shadow-md";
89
+ declare const datePickerGridStyles = "w-full border-collapse";
90
+ declare const datePickerDayVariants: (props?: ({
91
+ state?: "default" | "selected" | "today" | "disabled" | "outside" | undefined;
92
+ } & {
93
+ className?: string;
94
+ }) | undefined) => string;
95
+ declare const datePickerTimeStyles = "flex items-center gap-2 mt-3 pt-3 border-t";
96
+ declare const datePickerTimeInputStyles = "w-14 rounded-md border border-input bg-background px-2 py-1 text-sm text-center";
97
+
98
+ export { type CalendarDay, type DatePickerAPI, type DatePickerProps, type DatePickerState, type DatePickerView, createDatePicker, datePickerDayVariants, datePickerDropdownStyles, datePickerGridStyles, datePickerTimeInputStyles, datePickerTimeStyles, datePickerTriggerStyles, formatDate };
@@ -0,0 +1,98 @@
1
+ import { AccessibilityProps, KeyboardHandlerMap } from '../shared/index.js';
2
+
3
+ type DatePickerView = 'calendar' | 'time';
4
+ interface DatePickerProps {
5
+ /** Selected date (controlled) */
6
+ value?: Date;
7
+ /** Callback when value changes */
8
+ onChange?: (date: Date) => void;
9
+ /** Minimum selectable date */
10
+ minDate?: Date;
11
+ /** Maximum selectable date */
12
+ maxDate?: Date;
13
+ /** Show time selection */
14
+ showTime?: boolean;
15
+ /** Display format string */
16
+ format?: string;
17
+ /** Placeholder text */
18
+ placeholder?: string;
19
+ /** Whether the picker is open (controlled) */
20
+ open?: boolean;
21
+ /** Default open state */
22
+ defaultOpen?: boolean;
23
+ /** Callback when open changes */
24
+ onOpenChange?: (open: boolean) => void;
25
+ }
26
+ interface DatePickerState {
27
+ open: boolean;
28
+ selectedDate: Date | undefined;
29
+ view: DatePickerView;
30
+ hours: number;
31
+ minutes: number;
32
+ currentMonth: Date;
33
+ }
34
+ interface CalendarDay {
35
+ date: Date;
36
+ isToday: boolean;
37
+ isSelected: boolean;
38
+ isCurrentMonth: boolean;
39
+ isDisabled: boolean;
40
+ }
41
+ interface DatePickerAPI {
42
+ /** Current state */
43
+ state: DatePickerState;
44
+ /** Calendar days grid (42 cells) */
45
+ days: CalendarDay[];
46
+ /** Open the picker */
47
+ openPicker(): void;
48
+ /** Close the picker */
49
+ closePicker(): void;
50
+ /** Toggle the picker */
51
+ togglePicker(): void;
52
+ /** Select a date from calendar */
53
+ selectDate(date: Date): void;
54
+ /** Set hours */
55
+ setHours(hours: number): void;
56
+ /** Set minutes */
57
+ setMinutes(minutes: number): void;
58
+ /** Navigate to previous month */
59
+ prevMonth(): void;
60
+ /** Navigate to next month */
61
+ nextMonth(): void;
62
+ /** Switch between calendar and time views */
63
+ setView(view: DatePickerView): void;
64
+ /** Format the selected date for display */
65
+ formatDisplay(): string;
66
+ /** ARIA attributes for the trigger input */
67
+ triggerProps: Partial<AccessibilityProps> & Record<string, unknown>;
68
+ /** ARIA attributes for the dropdown */
69
+ dropdownProps: Partial<AccessibilityProps> & Record<string, unknown>;
70
+ /** ARIA props for the calendar grid */
71
+ gridProps: Partial<AccessibilityProps> & Record<string, unknown>;
72
+ /** Get ARIA props for a day cell */
73
+ getDayAriaProps(day: CalendarDay): Partial<AccessibilityProps> & Record<string, unknown>;
74
+ /** Keyboard handlers */
75
+ keyboardHandlers: KeyboardHandlerMap;
76
+ /** Generated IDs */
77
+ ids: {
78
+ trigger: string;
79
+ dropdown: string;
80
+ grid: string;
81
+ label: string;
82
+ };
83
+ }
84
+ declare function formatDate(date: Date | undefined, format: string, showTime: boolean): string;
85
+ declare function createDatePicker(props?: DatePickerProps): DatePickerAPI;
86
+
87
+ declare const datePickerTriggerStyles = "inline-flex items-center gap-2 rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring cursor-pointer";
88
+ declare const datePickerDropdownStyles = "absolute z-50 mt-1 rounded-md border bg-popover p-4 text-popover-foreground shadow-md";
89
+ declare const datePickerGridStyles = "w-full border-collapse";
90
+ declare const datePickerDayVariants: (props?: ({
91
+ state?: "default" | "selected" | "today" | "disabled" | "outside" | undefined;
92
+ } & {
93
+ className?: string;
94
+ }) | undefined) => string;
95
+ declare const datePickerTimeStyles = "flex items-center gap-2 mt-3 pt-3 border-t";
96
+ declare const datePickerTimeInputStyles = "w-14 rounded-md border border-input bg-background px-2 py-1 text-sm text-center";
97
+
98
+ export { type CalendarDay, type DatePickerAPI, type DatePickerProps, type DatePickerState, type DatePickerView, createDatePicker, datePickerDayVariants, datePickerDropdownStyles, datePickerGridStyles, datePickerTimeInputStyles, datePickerTimeStyles, datePickerTriggerStyles, formatDate };
@@ -0,0 +1,40 @@
1
+ import { AccessibilityProps } from '../shared/index.cjs';
2
+
3
+ type DeviceType = 'iphone' | 'ipad' | 'android-phone' | 'android-tablet';
4
+ type DeviceOrientation = 'portrait' | 'landscape';
5
+ interface DeviceFrameProps {
6
+ /** The type of device to display */
7
+ device: DeviceType;
8
+ /** The orientation of the device */
9
+ orientation?: DeviceOrientation;
10
+ }
11
+ interface DeviceDimensions {
12
+ /** Width in pixels */
13
+ width: number;
14
+ /** Height in pixels */
15
+ height: number;
16
+ /** Border radius in pixels */
17
+ radius: number;
18
+ /** Whether the device has a notch */
19
+ notch: boolean;
20
+ /** Whether the device has a home indicator bar */
21
+ homeIndicator: boolean;
22
+ }
23
+ interface DeviceFrameAPI {
24
+ /** Computed dimensions for the device */
25
+ dimensions: DeviceDimensions;
26
+ /** ARIA attributes for the device frame */
27
+ ariaProps: Partial<AccessibilityProps> & Record<string, unknown>;
28
+ /** Data attributes for styling hooks */
29
+ dataAttributes: Record<string, string>;
30
+ }
31
+ declare function createDeviceFrame(props: DeviceFrameProps): DeviceFrameAPI;
32
+
33
+ declare const deviceFrameVariants: (props?: ({
34
+ device?: "iphone" | "ipad" | "android-phone" | "android-tablet" | undefined;
35
+ orientation?: "portrait" | "landscape" | undefined;
36
+ } & {
37
+ className?: string;
38
+ }) | undefined) => string;
39
+
40
+ export { type DeviceDimensions, type DeviceFrameAPI, type DeviceFrameProps, type DeviceOrientation, type DeviceType, createDeviceFrame, deviceFrameVariants };
@@ -0,0 +1,40 @@
1
+ import { AccessibilityProps } from '../shared/index.js';
2
+
3
+ type DeviceType = 'iphone' | 'ipad' | 'android-phone' | 'android-tablet';
4
+ type DeviceOrientation = 'portrait' | 'landscape';
5
+ interface DeviceFrameProps {
6
+ /** The type of device to display */
7
+ device: DeviceType;
8
+ /** The orientation of the device */
9
+ orientation?: DeviceOrientation;
10
+ }
11
+ interface DeviceDimensions {
12
+ /** Width in pixels */
13
+ width: number;
14
+ /** Height in pixels */
15
+ height: number;
16
+ /** Border radius in pixels */
17
+ radius: number;
18
+ /** Whether the device has a notch */
19
+ notch: boolean;
20
+ /** Whether the device has a home indicator bar */
21
+ homeIndicator: boolean;
22
+ }
23
+ interface DeviceFrameAPI {
24
+ /** Computed dimensions for the device */
25
+ dimensions: DeviceDimensions;
26
+ /** ARIA attributes for the device frame */
27
+ ariaProps: Partial<AccessibilityProps> & Record<string, unknown>;
28
+ /** Data attributes for styling hooks */
29
+ dataAttributes: Record<string, string>;
30
+ }
31
+ declare function createDeviceFrame(props: DeviceFrameProps): DeviceFrameAPI;
32
+
33
+ declare const deviceFrameVariants: (props?: ({
34
+ device?: "iphone" | "ipad" | "android-phone" | "android-tablet" | undefined;
35
+ orientation?: "portrait" | "landscape" | undefined;
36
+ } & {
37
+ className?: string;
38
+ }) | undefined) => string;
39
+
40
+ export { type DeviceDimensions, type DeviceFrameAPI, type DeviceFrameProps, type DeviceOrientation, type DeviceType, createDeviceFrame, deviceFrameVariants };