@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,30 @@
1
+ interface SocialLink {
2
+ label: string;
3
+ href: string;
4
+ icon?: string;
5
+ }
6
+ interface FooterColumn {
7
+ title: string;
8
+ links: {
9
+ label: string;
10
+ href: string;
11
+ }[];
12
+ }
13
+ interface FooterProps {
14
+ copyright?: string;
15
+ socialLinks?: SocialLink[];
16
+ columns?: FooterColumn[];
17
+ }
18
+ interface FooterAPI {
19
+ ariaProps: Record<string, string>;
20
+ copyrightText: string;
21
+ }
22
+ declare function createFooter(props?: FooterProps): FooterAPI;
23
+
24
+ declare const footerVariants: (props?: ({
25
+ [x: string]: string | undefined;
26
+ } & {
27
+ className?: string;
28
+ }) | undefined) => string;
29
+
30
+ export { type FooterAPI, type FooterColumn, type FooterProps, type SocialLink, createFooter, footerVariants };
@@ -0,0 +1,30 @@
1
+ interface SocialLink {
2
+ label: string;
3
+ href: string;
4
+ icon?: string;
5
+ }
6
+ interface FooterColumn {
7
+ title: string;
8
+ links: {
9
+ label: string;
10
+ href: string;
11
+ }[];
12
+ }
13
+ interface FooterProps {
14
+ copyright?: string;
15
+ socialLinks?: SocialLink[];
16
+ columns?: FooterColumn[];
17
+ }
18
+ interface FooterAPI {
19
+ ariaProps: Record<string, string>;
20
+ copyrightText: string;
21
+ }
22
+ declare function createFooter(props?: FooterProps): FooterAPI;
23
+
24
+ declare const footerVariants: (props?: ({
25
+ [x: string]: string | undefined;
26
+ } & {
27
+ className?: string;
28
+ }) | undefined) => string;
29
+
30
+ export { type FooterAPI, type FooterColumn, type FooterProps, type SocialLink, createFooter, footerVariants };
@@ -0,0 +1,52 @@
1
+ interface InlineEditorProps {
2
+ /** Current value */
3
+ value: string;
4
+ /** Callback when saving */
5
+ onSave?: (value: string) => void;
6
+ /** Callback when cancelling */
7
+ onCancel?: () => void;
8
+ }
9
+ interface ToolbarAction {
10
+ name: string;
11
+ syntax: string;
12
+ }
13
+ interface InlineEditorState {
14
+ isEditing: boolean;
15
+ value: string;
16
+ preview: string;
17
+ }
18
+ interface InlineEditorAPI {
19
+ /** Current editor state */
20
+ state: InlineEditorState;
21
+ /** Enter editing mode */
22
+ startEditing(): void;
23
+ /** Cancel editing, revert to original value */
24
+ cancel(): void;
25
+ /** Save the current value */
26
+ save(): void;
27
+ /** Update the editing value */
28
+ updateValue(value: string): void;
29
+ /** Insert syntax at cursor position */
30
+ insertAtCursor(syntax: string): void;
31
+ /** Available toolbar actions */
32
+ toolbarActions: ToolbarAction[];
33
+ }
34
+ declare function createInlineEditor(props: InlineEditorProps): InlineEditorAPI;
35
+
36
+ declare const editorVariants: (props?: ({
37
+ state?: "viewing" | "editing" | undefined;
38
+ } & {
39
+ className?: string;
40
+ }) | undefined) => string;
41
+ declare const toolbarVariants: (props?: ({
42
+ size?: "sm" | "md" | "lg" | undefined;
43
+ } & {
44
+ className?: string;
45
+ }) | undefined) => string;
46
+ declare const previewVariants: (props?: ({
47
+ size?: "sm" | "md" | "lg" | undefined;
48
+ } & {
49
+ className?: string;
50
+ }) | undefined) => string;
51
+
52
+ export { type InlineEditorAPI, type InlineEditorProps, type InlineEditorState, type ToolbarAction, createInlineEditor, editorVariants, previewVariants, toolbarVariants };
@@ -0,0 +1,52 @@
1
+ interface InlineEditorProps {
2
+ /** Current value */
3
+ value: string;
4
+ /** Callback when saving */
5
+ onSave?: (value: string) => void;
6
+ /** Callback when cancelling */
7
+ onCancel?: () => void;
8
+ }
9
+ interface ToolbarAction {
10
+ name: string;
11
+ syntax: string;
12
+ }
13
+ interface InlineEditorState {
14
+ isEditing: boolean;
15
+ value: string;
16
+ preview: string;
17
+ }
18
+ interface InlineEditorAPI {
19
+ /** Current editor state */
20
+ state: InlineEditorState;
21
+ /** Enter editing mode */
22
+ startEditing(): void;
23
+ /** Cancel editing, revert to original value */
24
+ cancel(): void;
25
+ /** Save the current value */
26
+ save(): void;
27
+ /** Update the editing value */
28
+ updateValue(value: string): void;
29
+ /** Insert syntax at cursor position */
30
+ insertAtCursor(syntax: string): void;
31
+ /** Available toolbar actions */
32
+ toolbarActions: ToolbarAction[];
33
+ }
34
+ declare function createInlineEditor(props: InlineEditorProps): InlineEditorAPI;
35
+
36
+ declare const editorVariants: (props?: ({
37
+ state?: "viewing" | "editing" | undefined;
38
+ } & {
39
+ className?: string;
40
+ }) | undefined) => string;
41
+ declare const toolbarVariants: (props?: ({
42
+ size?: "sm" | "md" | "lg" | undefined;
43
+ } & {
44
+ className?: string;
45
+ }) | undefined) => string;
46
+ declare const previewVariants: (props?: ({
47
+ size?: "sm" | "md" | "lg" | undefined;
48
+ } & {
49
+ className?: string;
50
+ }) | undefined) => string;
51
+
52
+ export { type InlineEditorAPI, type InlineEditorProps, type InlineEditorState, type ToolbarAction, createInlineEditor, editorVariants, previewVariants, toolbarVariants };
@@ -0,0 +1,38 @@
1
+ import { AccessibilityProps } from '../shared/index.cjs';
2
+
3
+ type InputType = 'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search';
4
+ interface InputProps {
5
+ type?: InputType;
6
+ disabled?: boolean;
7
+ readOnly?: boolean;
8
+ required?: boolean;
9
+ placeholder?: string;
10
+ 'aria-invalid'?: boolean;
11
+ }
12
+ interface InputAPI {
13
+ /** ARIA attributes to spread on the element */
14
+ ariaProps: Partial<AccessibilityProps> & {
15
+ 'aria-invalid'?: boolean;
16
+ 'aria-required'?: boolean;
17
+ };
18
+ /** Data attributes for CSS styling hooks */
19
+ dataAttributes: Record<string, string>;
20
+ }
21
+ declare function createInput(props?: InputProps): InputAPI;
22
+ declare function getInputAriaProps(state: {
23
+ disabled?: boolean;
24
+ readOnly?: boolean;
25
+ required?: boolean;
26
+ invalid?: boolean;
27
+ }): Partial<AccessibilityProps> & {
28
+ 'aria-invalid'?: boolean;
29
+ 'aria-required'?: boolean;
30
+ };
31
+
32
+ declare const inputVariants: (props?: ({
33
+ size?: "sm" | "default" | "lg" | undefined;
34
+ } & {
35
+ className?: string;
36
+ }) | undefined) => string;
37
+
38
+ export { type InputAPI, type InputProps, type InputType, createInput, getInputAriaProps, inputVariants };
@@ -0,0 +1,38 @@
1
+ import { AccessibilityProps } from '../shared/index.js';
2
+
3
+ type InputType = 'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search';
4
+ interface InputProps {
5
+ type?: InputType;
6
+ disabled?: boolean;
7
+ readOnly?: boolean;
8
+ required?: boolean;
9
+ placeholder?: string;
10
+ 'aria-invalid'?: boolean;
11
+ }
12
+ interface InputAPI {
13
+ /** ARIA attributes to spread on the element */
14
+ ariaProps: Partial<AccessibilityProps> & {
15
+ 'aria-invalid'?: boolean;
16
+ 'aria-required'?: boolean;
17
+ };
18
+ /** Data attributes for CSS styling hooks */
19
+ dataAttributes: Record<string, string>;
20
+ }
21
+ declare function createInput(props?: InputProps): InputAPI;
22
+ declare function getInputAriaProps(state: {
23
+ disabled?: boolean;
24
+ readOnly?: boolean;
25
+ required?: boolean;
26
+ invalid?: boolean;
27
+ }): Partial<AccessibilityProps> & {
28
+ 'aria-invalid'?: boolean;
29
+ 'aria-required'?: boolean;
30
+ };
31
+
32
+ declare const inputVariants: (props?: ({
33
+ size?: "sm" | "default" | "lg" | undefined;
34
+ } & {
35
+ className?: string;
36
+ }) | undefined) => string;
37
+
38
+ export { type InputAPI, type InputProps, type InputType, createInput, getInputAriaProps, inputVariants };
@@ -0,0 +1,35 @@
1
+ import { AccessibilityProps, TokenContract } from '../shared/index.cjs';
2
+
3
+ type InputGroupOrientation = 'horizontal' | 'vertical';
4
+ interface InputGroupProps {
5
+ orientation?: InputGroupOrientation;
6
+ id?: string;
7
+ 'aria-label'?: string;
8
+ 'aria-labelledby'?: string;
9
+ }
10
+ interface InputGroupAPI {
11
+ /** ARIA attributes to spread on the group container */
12
+ ariaProps: Partial<AccessibilityProps>;
13
+ /** Data attributes for CSS styling hooks */
14
+ dataAttributes: Record<string, string>;
15
+ }
16
+ declare function createInputGroup(props?: InputGroupProps): InputGroupAPI;
17
+
18
+ declare const inputGroupTokens: TokenContract;
19
+ declare const inputGroupVariants: (props?: ({
20
+ orientation?: "horizontal" | "vertical" | undefined;
21
+ } & {
22
+ className?: string;
23
+ }) | undefined) => string;
24
+ declare const inputGroupAddonVariants: (props?: ({
25
+ orientation?: "horizontal" | "vertical" | undefined;
26
+ } & {
27
+ className?: string;
28
+ }) | undefined) => string;
29
+ declare const inputGroupButtonVariants: (props?: ({
30
+ orientation?: "horizontal" | "vertical" | undefined;
31
+ } & {
32
+ className?: string;
33
+ }) | undefined) => string;
34
+
35
+ export { type InputGroupAPI, type InputGroupOrientation, type InputGroupProps, createInputGroup, inputGroupAddonVariants, inputGroupButtonVariants, inputGroupTokens, inputGroupVariants };
@@ -0,0 +1,35 @@
1
+ import { AccessibilityProps, TokenContract } from '../shared/index.js';
2
+
3
+ type InputGroupOrientation = 'horizontal' | 'vertical';
4
+ interface InputGroupProps {
5
+ orientation?: InputGroupOrientation;
6
+ id?: string;
7
+ 'aria-label'?: string;
8
+ 'aria-labelledby'?: string;
9
+ }
10
+ interface InputGroupAPI {
11
+ /** ARIA attributes to spread on the group container */
12
+ ariaProps: Partial<AccessibilityProps>;
13
+ /** Data attributes for CSS styling hooks */
14
+ dataAttributes: Record<string, string>;
15
+ }
16
+ declare function createInputGroup(props?: InputGroupProps): InputGroupAPI;
17
+
18
+ declare const inputGroupTokens: TokenContract;
19
+ declare const inputGroupVariants: (props?: ({
20
+ orientation?: "horizontal" | "vertical" | undefined;
21
+ } & {
22
+ className?: string;
23
+ }) | undefined) => string;
24
+ declare const inputGroupAddonVariants: (props?: ({
25
+ orientation?: "horizontal" | "vertical" | undefined;
26
+ } & {
27
+ className?: string;
28
+ }) | undefined) => string;
29
+ declare const inputGroupButtonVariants: (props?: ({
30
+ orientation?: "horizontal" | "vertical" | undefined;
31
+ } & {
32
+ className?: string;
33
+ }) | undefined) => string;
34
+
35
+ export { type InputGroupAPI, type InputGroupOrientation, type InputGroupProps, createInputGroup, inputGroupAddonVariants, inputGroupButtonVariants, inputGroupTokens, inputGroupVariants };
@@ -0,0 +1,36 @@
1
+ interface StorageAdapter {
2
+ get(key: string): string | null;
3
+ set(key: string, value: string): void;
4
+ }
5
+ interface InstallPromptProps {
6
+ /** Delay in ms before showing prompt. Default: 3000 */
7
+ delay?: number;
8
+ /** Key used to persist dismissed state. Default: 'rfr-install-dismissed' */
9
+ storageKey?: string;
10
+ }
11
+ interface InstallPromptState {
12
+ canShow: boolean;
13
+ isDismissed: boolean;
14
+ }
15
+ interface InstallPromptAPI {
16
+ state: InstallPromptState;
17
+ /** Mark the prompt as showable (call after delay + event fire) */
18
+ show(): void;
19
+ /** Dismiss and persist */
20
+ dismiss(): void;
21
+ /** Trigger the browser install prompt */
22
+ install(promptEvent?: {
23
+ prompt(): void;
24
+ }): void;
25
+ /** ARIA attributes for the banner */
26
+ ariaProps: Record<string, string>;
27
+ }
28
+ declare function createInstallPrompt(props?: InstallPromptProps, storage?: StorageAdapter): InstallPromptAPI;
29
+
30
+ declare const installPromptVariants: (props?: ({
31
+ [x: string]: string | undefined;
32
+ } & {
33
+ className?: string;
34
+ }) | undefined) => string;
35
+
36
+ export { type InstallPromptAPI, type InstallPromptProps, type InstallPromptState, type StorageAdapter, createInstallPrompt, installPromptVariants };
@@ -0,0 +1,36 @@
1
+ interface StorageAdapter {
2
+ get(key: string): string | null;
3
+ set(key: string, value: string): void;
4
+ }
5
+ interface InstallPromptProps {
6
+ /** Delay in ms before showing prompt. Default: 3000 */
7
+ delay?: number;
8
+ /** Key used to persist dismissed state. Default: 'rfr-install-dismissed' */
9
+ storageKey?: string;
10
+ }
11
+ interface InstallPromptState {
12
+ canShow: boolean;
13
+ isDismissed: boolean;
14
+ }
15
+ interface InstallPromptAPI {
16
+ state: InstallPromptState;
17
+ /** Mark the prompt as showable (call after delay + event fire) */
18
+ show(): void;
19
+ /** Dismiss and persist */
20
+ dismiss(): void;
21
+ /** Trigger the browser install prompt */
22
+ install(promptEvent?: {
23
+ prompt(): void;
24
+ }): void;
25
+ /** ARIA attributes for the banner */
26
+ ariaProps: Record<string, string>;
27
+ }
28
+ declare function createInstallPrompt(props?: InstallPromptProps, storage?: StorageAdapter): InstallPromptAPI;
29
+
30
+ declare const installPromptVariants: (props?: ({
31
+ [x: string]: string | undefined;
32
+ } & {
33
+ className?: string;
34
+ }) | undefined) => string;
35
+
36
+ export { type InstallPromptAPI, type InstallPromptProps, type InstallPromptState, type StorageAdapter, createInstallPrompt, installPromptVariants };
@@ -0,0 +1,49 @@
1
+ interface ShortcutProps {
2
+ /** Key combination (e.g., ['Ctrl', 'K'] or ['Meta', 'Shift', 'P']) */
3
+ keys: string[];
4
+ /** Callback when the shortcut is triggered */
5
+ onTrigger: () => void;
6
+ /** Whether the shortcut is enabled */
7
+ enabled?: boolean;
8
+ /** Prevent default browser behavior */
9
+ preventDefault?: boolean;
10
+ }
11
+ interface KeyboardShortcutAPI {
12
+ /** Handle a keyboard event (returns true if it matched) */
13
+ handler(event: KeyboardEvent): boolean;
14
+ /** Human-readable display of the shortcut */
15
+ display: string;
16
+ /** Platform-aware display (uses command symbol on Mac) */
17
+ platformDisplay: string;
18
+ /** Whether the shortcut is currently enabled */
19
+ enabled: boolean;
20
+ /** The key combination */
21
+ keys: string[];
22
+ /** ARIA props for a visual shortcut badge */
23
+ badgeAriaProps: Record<string, unknown>;
24
+ }
25
+ declare function formatShortcut(keys: string[], mac?: boolean): string;
26
+ declare function createKeyboardShortcut(props: ShortcutProps): KeyboardShortcutAPI;
27
+ declare const SANE_DEFAULTS: Record<string, string[]>;
28
+ declare class ShortcutRegistry {
29
+ private shortcuts;
30
+ register(keys: string[], handler: () => void): void;
31
+ unregister(keys: string[]): void;
32
+ }
33
+ declare const globalShortcutRegistry: ShortcutRegistry;
34
+ declare class AltHintState {
35
+ private showHints;
36
+ private listeners;
37
+ private initialized;
38
+ init(): void;
39
+ private setShowHints;
40
+ subscribe(listener: (show: boolean) => void): () => void;
41
+ get snapshot(): boolean;
42
+ }
43
+ declare const altHintState: AltHintState;
44
+
45
+ declare const shortcutBadgeStyles = "inline-flex items-center gap-0.5 rounded border bg-muted px-1.5 py-0.5 text-xs font-mono text-muted-foreground";
46
+ declare const shortcutKeyStyles = "inline-flex items-center justify-center min-w-[1.25rem] rounded bg-background px-1 py-0.5 text-xs font-mono border shadow-sm";
47
+ declare const shortcutSeparatorStyles = "text-muted-foreground text-xs";
48
+
49
+ export { AltHintState, type KeyboardShortcutAPI, SANE_DEFAULTS, type ShortcutProps, ShortcutRegistry, altHintState, createKeyboardShortcut, formatShortcut, globalShortcutRegistry, shortcutBadgeStyles, shortcutKeyStyles, shortcutSeparatorStyles };
@@ -0,0 +1,49 @@
1
+ interface ShortcutProps {
2
+ /** Key combination (e.g., ['Ctrl', 'K'] or ['Meta', 'Shift', 'P']) */
3
+ keys: string[];
4
+ /** Callback when the shortcut is triggered */
5
+ onTrigger: () => void;
6
+ /** Whether the shortcut is enabled */
7
+ enabled?: boolean;
8
+ /** Prevent default browser behavior */
9
+ preventDefault?: boolean;
10
+ }
11
+ interface KeyboardShortcutAPI {
12
+ /** Handle a keyboard event (returns true if it matched) */
13
+ handler(event: KeyboardEvent): boolean;
14
+ /** Human-readable display of the shortcut */
15
+ display: string;
16
+ /** Platform-aware display (uses command symbol on Mac) */
17
+ platformDisplay: string;
18
+ /** Whether the shortcut is currently enabled */
19
+ enabled: boolean;
20
+ /** The key combination */
21
+ keys: string[];
22
+ /** ARIA props for a visual shortcut badge */
23
+ badgeAriaProps: Record<string, unknown>;
24
+ }
25
+ declare function formatShortcut(keys: string[], mac?: boolean): string;
26
+ declare function createKeyboardShortcut(props: ShortcutProps): KeyboardShortcutAPI;
27
+ declare const SANE_DEFAULTS: Record<string, string[]>;
28
+ declare class ShortcutRegistry {
29
+ private shortcuts;
30
+ register(keys: string[], handler: () => void): void;
31
+ unregister(keys: string[]): void;
32
+ }
33
+ declare const globalShortcutRegistry: ShortcutRegistry;
34
+ declare class AltHintState {
35
+ private showHints;
36
+ private listeners;
37
+ private initialized;
38
+ init(): void;
39
+ private setShowHints;
40
+ subscribe(listener: (show: boolean) => void): () => void;
41
+ get snapshot(): boolean;
42
+ }
43
+ declare const altHintState: AltHintState;
44
+
45
+ declare const shortcutBadgeStyles = "inline-flex items-center gap-0.5 rounded border bg-muted px-1.5 py-0.5 text-xs font-mono text-muted-foreground";
46
+ declare const shortcutKeyStyles = "inline-flex items-center justify-center min-w-[1.25rem] rounded bg-background px-1 py-0.5 text-xs font-mono border shadow-sm";
47
+ declare const shortcutSeparatorStyles = "text-muted-foreground text-xs";
48
+
49
+ export { AltHintState, type KeyboardShortcutAPI, SANE_DEFAULTS, type ShortcutProps, ShortcutRegistry, altHintState, createKeyboardShortcut, formatShortcut, globalShortcutRegistry, shortcutBadgeStyles, shortcutKeyStyles, shortcutSeparatorStyles };
@@ -0,0 +1,63 @@
1
+ import { KeyboardHandlerMap } from '../shared/index.cjs';
2
+
3
+ interface LanguageOption {
4
+ value: string;
5
+ label: string;
6
+ group?: string;
7
+ }
8
+ interface LanguageSelectorProps {
9
+ value?: string | string[];
10
+ onValueChange?: (value: string | string[]) => void;
11
+ options: LanguageOption[];
12
+ multiple?: boolean;
13
+ }
14
+ interface LanguageSelectorAPI {
15
+ /** Current state */
16
+ state: {
17
+ selectedValues: string[];
18
+ isOpen: boolean;
19
+ };
20
+ /** Props to spread on the trigger element */
21
+ triggerProps: {
22
+ 'aria-expanded': boolean;
23
+ 'aria-controls': string;
24
+ 'aria-haspopup': 'listbox';
25
+ role: 'combobox';
26
+ };
27
+ /** Props to spread on the content/dropdown element */
28
+ contentProps: {
29
+ role: 'listbox';
30
+ id: string;
31
+ 'aria-multiselectable'?: boolean;
32
+ };
33
+ /** Get props for an individual option */
34
+ getOptionProps: (value: string) => {
35
+ role: 'option';
36
+ 'aria-selected': boolean;
37
+ 'data-value': string;
38
+ };
39
+ /** Toggle an option's selection */
40
+ toggle: (value: string) => void;
41
+ /** Open the dropdown */
42
+ open: () => void;
43
+ /** Close the dropdown */
44
+ close: () => void;
45
+ /** Keyboard handler map */
46
+ keyboardHandlers: KeyboardHandlerMap;
47
+ /** Pre-built keyboard event handler */
48
+ handleKeyDown: (event: KeyboardEvent) => void;
49
+ }
50
+ declare function createLanguageSelector(props: LanguageSelectorProps): LanguageSelectorAPI;
51
+
52
+ declare const selectorVariants: (props?: ({
53
+ size?: "sm" | "md" | "lg" | undefined;
54
+ } & {
55
+ className?: string;
56
+ }) | undefined) => string;
57
+ declare const optionVariants: (props?: ({
58
+ selected?: "true" | "false" | undefined;
59
+ } & {
60
+ className?: string;
61
+ }) | undefined) => string;
62
+
63
+ export { type LanguageOption, type LanguageSelectorAPI, type LanguageSelectorProps, createLanguageSelector, optionVariants, selectorVariants };
@@ -0,0 +1,63 @@
1
+ import { KeyboardHandlerMap } from '../shared/index.js';
2
+
3
+ interface LanguageOption {
4
+ value: string;
5
+ label: string;
6
+ group?: string;
7
+ }
8
+ interface LanguageSelectorProps {
9
+ value?: string | string[];
10
+ onValueChange?: (value: string | string[]) => void;
11
+ options: LanguageOption[];
12
+ multiple?: boolean;
13
+ }
14
+ interface LanguageSelectorAPI {
15
+ /** Current state */
16
+ state: {
17
+ selectedValues: string[];
18
+ isOpen: boolean;
19
+ };
20
+ /** Props to spread on the trigger element */
21
+ triggerProps: {
22
+ 'aria-expanded': boolean;
23
+ 'aria-controls': string;
24
+ 'aria-haspopup': 'listbox';
25
+ role: 'combobox';
26
+ };
27
+ /** Props to spread on the content/dropdown element */
28
+ contentProps: {
29
+ role: 'listbox';
30
+ id: string;
31
+ 'aria-multiselectable'?: boolean;
32
+ };
33
+ /** Get props for an individual option */
34
+ getOptionProps: (value: string) => {
35
+ role: 'option';
36
+ 'aria-selected': boolean;
37
+ 'data-value': string;
38
+ };
39
+ /** Toggle an option's selection */
40
+ toggle: (value: string) => void;
41
+ /** Open the dropdown */
42
+ open: () => void;
43
+ /** Close the dropdown */
44
+ close: () => void;
45
+ /** Keyboard handler map */
46
+ keyboardHandlers: KeyboardHandlerMap;
47
+ /** Pre-built keyboard event handler */
48
+ handleKeyDown: (event: KeyboardEvent) => void;
49
+ }
50
+ declare function createLanguageSelector(props: LanguageSelectorProps): LanguageSelectorAPI;
51
+
52
+ declare const selectorVariants: (props?: ({
53
+ size?: "sm" | "md" | "lg" | undefined;
54
+ } & {
55
+ className?: string;
56
+ }) | undefined) => string;
57
+ declare const optionVariants: (props?: ({
58
+ selected?: "true" | "false" | undefined;
59
+ } & {
60
+ className?: string;
61
+ }) | undefined) => string;
62
+
63
+ export { type LanguageOption, type LanguageSelectorAPI, type LanguageSelectorProps, createLanguageSelector, optionVariants, selectorVariants };