@refraction-ui/react 0.19.1 → 0.20.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 (342) hide show
  1. package/dist/chunk-533MCMSU.js +2355 -0
  2. package/dist/chunk-533MCMSU.js.map +7 -0
  3. package/dist/chunk-AMK4VCBG.js +250 -0
  4. package/dist/chunk-AMK4VCBG.js.map +7 -0
  5. package/dist/chunk-BOLFYVI6.js +90 -0
  6. package/dist/chunk-BOLFYVI6.js.map +7 -0
  7. package/dist/chunk-F7B64KT3.js +187 -0
  8. package/dist/chunk-F7B64KT3.js.map +7 -0
  9. package/dist/chunk-FD37DFCC.js +77 -0
  10. package/dist/chunk-FD37DFCC.js.map +7 -0
  11. package/dist/chunk-H54FLNAF.js +132 -0
  12. package/dist/chunk-H54FLNAF.js.map +7 -0
  13. package/dist/chunk-INP46354.js +664 -0
  14. package/dist/chunk-INP46354.js.map +7 -0
  15. package/dist/chunk-ONACRMG4.js +116 -0
  16. package/dist/chunk-ONACRMG4.js.map +7 -0
  17. package/dist/chunk-SDZ3LROZ.js +7 -0
  18. package/dist/chunk-SDZ3LROZ.js.map +7 -0
  19. package/dist/chunk-TOZBR4GL.js +154 -0
  20. package/dist/chunk-TOZBR4GL.js.map +7 -0
  21. package/dist/chunk-UNEM2TRI.js +225 -0
  22. package/dist/chunk-UNEM2TRI.js.map +7 -0
  23. package/dist/chunk-VK3EQ34F.js +92 -0
  24. package/dist/chunk-VK3EQ34F.js.map +7 -0
  25. package/dist/chunk-WK2IIUFO.js +316 -0
  26. package/dist/chunk-WK2IIUFO.js.map +7 -0
  27. package/dist/chunk-WSPJTQAV.js +59 -0
  28. package/dist/chunk-WSPJTQAV.js.map +7 -0
  29. package/dist/chunk-XWP763SH.js +3 -2
  30. package/dist/chunk-XWP763SH.js.map +7 -1
  31. package/dist/chunk-Y2FNNAIL.js +80 -0
  32. package/dist/chunk-Y2FNNAIL.js.map +1 -0
  33. package/dist/{chunk-4A4BW3GR.js → chunk-ZF3OHCGV.js} +28 -5
  34. package/dist/chunk-ZF3OHCGV.js.map +7 -0
  35. package/dist/form.cjs +5 -11
  36. package/dist/form.cjs.map +1 -1
  37. package/dist/form.js +6 -12
  38. package/dist/form.js.map +1 -1
  39. package/dist/index.cjs +2879 -33936
  40. package/dist/index.cjs.map +1 -1
  41. package/dist/index.d.cts +1 -0
  42. package/dist/index.d.ts +1 -0
  43. package/dist/index.js +126 -28780
  44. package/dist/internal/react-app-shell/index.d.cts +2 -22
  45. package/dist/internal/react-app-shell/index.d.ts +2 -22
  46. package/dist/internal/react-badge/index.d.cts +5 -0
  47. package/dist/internal/react-badge/index.d.ts +5 -0
  48. package/dist/internal/react-callout/index.d.cts +4 -0
  49. package/dist/internal/react-callout/index.d.ts +4 -0
  50. package/dist/internal/react-card/index.d.cts +8 -1
  51. package/dist/internal/react-card/index.d.ts +8 -1
  52. package/dist/internal/react-collapsible/index.d.cts +0 -3
  53. package/dist/internal/react-collapsible/index.d.ts +0 -3
  54. package/dist/internal/react-combobox/index.d.cts +0 -3
  55. package/dist/internal/react-combobox/index.d.ts +0 -3
  56. package/dist/internal/react-command/index.d.cts +0 -3
  57. package/dist/internal/react-command/index.d.ts +0 -3
  58. package/dist/internal/react-data-table/index.d.cts +0 -3
  59. package/dist/internal/react-data-table/index.d.ts +0 -3
  60. package/dist/internal/react-dialog/index.d.cts +0 -3
  61. package/dist/internal/react-dialog/index.d.ts +0 -3
  62. package/dist/internal/react-dropdown-menu/index.d.cts +0 -3
  63. package/dist/internal/react-dropdown-menu/index.d.ts +0 -3
  64. package/dist/internal/react-feedback-dialog/index.d.cts +0 -3
  65. package/dist/internal/react-feedback-dialog/index.d.ts +0 -3
  66. package/dist/internal/react-form/index.d.cts +2 -21
  67. package/dist/internal/react-form/index.d.ts +2 -21
  68. package/dist/internal/react-keyboard-shortcut/index.d.cts +0 -6
  69. package/dist/internal/react-keyboard-shortcut/index.d.ts +0 -6
  70. package/dist/internal/react-link-card/index.d.cts +8 -2
  71. package/dist/internal/react-link-card/index.d.ts +8 -2
  72. package/dist/internal/react-popover/index.d.cts +0 -3
  73. package/dist/internal/react-popover/index.d.ts +0 -3
  74. package/dist/internal/react-sheet/index.d.cts +0 -3
  75. package/dist/internal/react-sheet/index.d.ts +0 -3
  76. package/dist/internal/react-slot/index.d.cts +23 -0
  77. package/dist/internal/react-slot/index.d.ts +23 -0
  78. package/dist/internal/react-toast/index.d.cts +0 -3
  79. package/dist/internal/react-toast/index.d.ts +0 -3
  80. package/dist/internal/react-tooltip/index.d.cts +0 -3
  81. package/dist/internal/react-tooltip/index.d.ts +0 -3
  82. package/dist/react-accordion.js +125 -0
  83. package/dist/react-accordion.js.map +7 -0
  84. package/dist/react-ai.js +257 -0
  85. package/dist/react-ai.js.map +7 -0
  86. package/dist/react-analytics.js +1698 -0
  87. package/dist/react-analytics.js.map +7 -0
  88. package/dist/react-animated-text.js +164 -0
  89. package/dist/react-animated-text.js.map +7 -0
  90. package/dist/react-app-shell.js +631 -0
  91. package/dist/react-app-shell.js.map +7 -0
  92. package/dist/react-audience-feature-card.js +53 -0
  93. package/dist/react-audience-feature-card.js.map +7 -0
  94. package/dist/react-audio-room.js +166 -0
  95. package/dist/react-audio-room.js.map +7 -0
  96. package/dist/react-auth.js +211 -0
  97. package/dist/react-auth.js.map +7 -0
  98. package/dist/react-avatar-group.js +154 -0
  99. package/dist/react-avatar-group.js.map +7 -0
  100. package/dist/react-avatar.js +168 -0
  101. package/dist/react-avatar.js.map +7 -0
  102. package/dist/react-badge.js +86 -0
  103. package/dist/react-badge.js.map +7 -0
  104. package/dist/react-bottom-nav.js +67 -0
  105. package/dist/react-bottom-nav.js.map +7 -0
  106. package/dist/react-brand-network-cell.js +92 -0
  107. package/dist/react-brand-network-cell.js.map +7 -0
  108. package/dist/react-breadcrumbs.js +104 -0
  109. package/dist/react-breadcrumbs.js.map +7 -0
  110. package/dist/react-browser-chrome-mock.js +89 -0
  111. package/dist/react-browser-chrome-mock.js.map +7 -0
  112. package/dist/react-button.js +13 -0
  113. package/dist/react-button.js.map +7 -0
  114. package/dist/react-calendar.js +301 -0
  115. package/dist/react-calendar.js.map +7 -0
  116. package/dist/react-call-controls.js +113 -0
  117. package/dist/react-call-controls.js.map +7 -0
  118. package/dist/react-callout.js +152 -0
  119. package/dist/react-callout.js.map +7 -0
  120. package/dist/react-card-grid.js +34 -0
  121. package/dist/react-card-grid.js.map +7 -0
  122. package/dist/react-card.js +200 -0
  123. package/dist/react-card.js.map +7 -0
  124. package/dist/react-carousel.js +132 -0
  125. package/dist/react-carousel.js.map +7 -0
  126. package/dist/react-charts.js +509 -0
  127. package/dist/react-charts.js.map +7 -0
  128. package/dist/react-checkbox.js +156 -0
  129. package/dist/react-checkbox.js.map +7 -0
  130. package/dist/react-checklist.js +168 -0
  131. package/dist/react-checklist.js.map +7 -0
  132. package/dist/react-code-block.js +78 -0
  133. package/dist/react-code-block.js.map +7 -0
  134. package/dist/react-code-editor.js +184 -0
  135. package/dist/react-code-editor.js.map +7 -0
  136. package/dist/react-collapsible.js +192 -0
  137. package/dist/react-collapsible.js.map +7 -0
  138. package/dist/react-combobox.js +609 -0
  139. package/dist/react-combobox.js.map +7 -0
  140. package/dist/react-command-input.js +202 -0
  141. package/dist/react-command-input.js.map +7 -0
  142. package/dist/react-command.js +364 -0
  143. package/dist/react-command.js.map +7 -0
  144. package/dist/react-composer.js +2036 -0
  145. package/dist/react-composer.js.map +7 -0
  146. package/dist/react-content-protection.js +133 -0
  147. package/dist/react-content-protection.js.map +7 -0
  148. package/dist/react-conversation.js +1226 -0
  149. package/dist/react-conversation.js.map +7 -0
  150. package/dist/react-cookie-consent.js +291 -0
  151. package/dist/react-cookie-consent.js.map +7 -0
  152. package/dist/react-data-table.js +310 -0
  153. package/dist/react-data-table.js.map +7 -0
  154. package/dist/react-date-picker.js +95 -0
  155. package/dist/react-date-picker.js.map +7 -0
  156. package/dist/react-device-frame.js +137 -0
  157. package/dist/react-device-frame.js.map +7 -0
  158. package/dist/react-dialog.js +218 -0
  159. package/dist/react-dialog.js.map +7 -0
  160. package/dist/react-diff-viewer.js +460 -0
  161. package/dist/react-diff-viewer.js.map +7 -0
  162. package/dist/react-dropdown-menu.js +292 -0
  163. package/dist/react-dropdown-menu.js.map +7 -0
  164. package/dist/react-editor-status-bar.js +148 -0
  165. package/dist/react-editor-status-bar.js.map +7 -0
  166. package/dist/react-editor-tabs.js +159 -0
  167. package/dist/react-editor-tabs.js.map +7 -0
  168. package/dist/react-emoji-picker.js +238 -0
  169. package/dist/react-emoji-picker.js.map +7 -0
  170. package/dist/react-empty-state.js +90 -0
  171. package/dist/react-empty-state.js.map +7 -0
  172. package/dist/react-feedback-dialog.js +275 -0
  173. package/dist/react-feedback-dialog.js.map +7 -0
  174. package/dist/react-file-tree.js +376 -0
  175. package/dist/react-file-tree.js.map +7 -0
  176. package/dist/react-file-upload.js +360 -0
  177. package/dist/react-file-upload.js.map +7 -0
  178. package/dist/react-floating-reactions.js +124 -0
  179. package/dist/react-floating-reactions.js.map +7 -0
  180. package/dist/react-flow-editor.js +198 -0
  181. package/dist/react-flow-editor.js.map +7 -0
  182. package/dist/react-footer.js +67 -0
  183. package/dist/react-footer.js.map +7 -0
  184. package/dist/react-graph-view.js +197 -0
  185. package/dist/react-graph-view.js.map +7 -0
  186. package/dist/react-icon-system.js +9 -0
  187. package/dist/react-icon-system.js.map +7 -0
  188. package/dist/react-infinite-canvas.js +8 -0
  189. package/dist/react-infinite-canvas.js.map +7 -0
  190. package/dist/react-inline-editor.js +216 -0
  191. package/dist/react-inline-editor.js.map +7 -0
  192. package/dist/react-input-group.js +150 -0
  193. package/dist/react-input-group.js.map +7 -0
  194. package/dist/react-input.js +10 -0
  195. package/dist/react-input.js.map +7 -0
  196. package/dist/react-install-prompt.js +132 -0
  197. package/dist/react-install-prompt.js.map +7 -0
  198. package/dist/react-kanban-board.js +198 -0
  199. package/dist/react-kanban-board.js.map +7 -0
  200. package/dist/react-keyboard-shortcut.js +36 -0
  201. package/dist/react-keyboard-shortcut.js.map +7 -0
  202. package/dist/react-language-selector.js +311 -0
  203. package/dist/react-language-selector.js.map +7 -0
  204. package/dist/react-link-card.js +48 -0
  205. package/dist/react-link-card.js.map +7 -0
  206. package/dist/react-live-captions.js +92 -0
  207. package/dist/react-live-captions.js.map +7 -0
  208. package/dist/react-live-cursors.js +145 -0
  209. package/dist/react-live-cursors.js.map +7 -0
  210. package/dist/react-live-transcript.js +117 -0
  211. package/dist/react-live-transcript.js.map +7 -0
  212. package/dist/react-location-selector.js +252 -0
  213. package/dist/react-location-selector.js.map +7 -0
  214. package/dist/react-logger.js +415 -0
  215. package/dist/react-logger.js.map +7 -0
  216. package/dist/react-markdown-renderer.js +12 -0
  217. package/dist/react-markdown-renderer.js.map +7 -0
  218. package/dist/react-marquee-strip.js +62 -0
  219. package/dist/react-marquee-strip.js.map +7 -0
  220. package/dist/react-mascot.js +367 -0
  221. package/dist/react-mascot.js.map +7 -0
  222. package/dist/react-mastery-bar.js +97 -0
  223. package/dist/react-mastery-bar.js.map +7 -0
  224. package/dist/react-mini-map.js +207 -0
  225. package/dist/react-mini-map.js.map +7 -0
  226. package/dist/react-mobile-nav.js +216 -0
  227. package/dist/react-mobile-nav.js.map +7 -0
  228. package/dist/react-navbar.js +96 -0
  229. package/dist/react-navbar.js.map +7 -0
  230. package/dist/react-numbered-steps.js +67 -0
  231. package/dist/react-numbered-steps.js.map +7 -0
  232. package/dist/react-otp-input.js +318 -0
  233. package/dist/react-otp-input.js.map +7 -0
  234. package/dist/react-pagination.js +199 -0
  235. package/dist/react-pagination.js.map +7 -0
  236. package/dist/react-password-input.js +104 -0
  237. package/dist/react-password-input.js.map +7 -0
  238. package/dist/react-payment.js +81 -0
  239. package/dist/react-payment.js.map +7 -0
  240. package/dist/react-popover.js +176 -0
  241. package/dist/react-popover.js.map +7 -0
  242. package/dist/react-pre-call-lobby.js +309 -0
  243. package/dist/react-pre-call-lobby.js.map +7 -0
  244. package/dist/react-presence-indicator.js +86 -0
  245. package/dist/react-presence-indicator.js.map +7 -0
  246. package/dist/react-pricing-card.js +142 -0
  247. package/dist/react-pricing-card.js.map +7 -0
  248. package/dist/react-progress-display.js +188 -0
  249. package/dist/react-progress-display.js.map +7 -0
  250. package/dist/react-radial-gauge.js +193 -0
  251. package/dist/react-radial-gauge.js.map +7 -0
  252. package/dist/react-radio.js +169 -0
  253. package/dist/react-radio.js.map +7 -0
  254. package/dist/react-rating-scale.js +171 -0
  255. package/dist/react-rating-scale.js.map +7 -0
  256. package/dist/react-reaction-bar.js +111 -0
  257. package/dist/react-reaction-bar.js.map +7 -0
  258. package/dist/react-resizable-layout.js +298 -0
  259. package/dist/react-resizable-layout.js.map +7 -0
  260. package/dist/react-rich-editor.js +1 -0
  261. package/dist/react-rich-editor.js.map +7 -0
  262. package/dist/react-search-bar.js +285 -0
  263. package/dist/react-search-bar.js.map +7 -0
  264. package/dist/react-section-head.js +65 -0
  265. package/dist/react-section-head.js.map +7 -0
  266. package/dist/react-segmented-control.js +215 -0
  267. package/dist/react-segmented-control.js.map +7 -0
  268. package/dist/react-select.js +389 -0
  269. package/dist/react-select.js.map +7 -0
  270. package/dist/react-separator.js +86 -0
  271. package/dist/react-separator.js.map +7 -0
  272. package/dist/react-sheet.js +310 -0
  273. package/dist/react-sheet.js.map +7 -0
  274. package/dist/react-sidebar.js +100 -0
  275. package/dist/react-sidebar.js.map +7 -0
  276. package/dist/react-skeleton.js +91 -0
  277. package/dist/react-skeleton.js.map +7 -0
  278. package/dist/react-skip-to-content.js +38 -0
  279. package/dist/react-skip-to-content.js.map +7 -0
  280. package/dist/react-slide-viewer.js +264 -0
  281. package/dist/react-slide-viewer.js.map +7 -0
  282. package/dist/react-slider.js +105 -0
  283. package/dist/react-slider.js.map +7 -0
  284. package/dist/react-slot-picker.js +184 -0
  285. package/dist/react-slot-picker.js.map +7 -0
  286. package/dist/react-slot.js +7 -0
  287. package/dist/react-slot.js.map +7 -0
  288. package/dist/react-social-auth-button.js +169 -0
  289. package/dist/react-social-auth-button.js.map +7 -0
  290. package/dist/react-sortable-list.js +204 -0
  291. package/dist/react-sortable-list.js.map +7 -0
  292. package/dist/react-stat-grid.js +69 -0
  293. package/dist/react-stat-grid.js.map +7 -0
  294. package/dist/react-status-indicator.js +117 -0
  295. package/dist/react-status-indicator.js.map +7 -0
  296. package/dist/react-steps.js +167 -0
  297. package/dist/react-steps.js.map +7 -0
  298. package/dist/react-sticky-note.js +131 -0
  299. package/dist/react-sticky-note.js.map +7 -0
  300. package/dist/react-switch.js +139 -0
  301. package/dist/react-switch.js.map +7 -0
  302. package/dist/react-table-of-contents.js +80 -0
  303. package/dist/react-table-of-contents.js.map +7 -0
  304. package/dist/react-tabs.js +230 -0
  305. package/dist/react-tabs.js.map +7 -0
  306. package/dist/react-terminal.js +101 -0
  307. package/dist/react-terminal.js.map +7 -0
  308. package/dist/react-test-results.js +158 -0
  309. package/dist/react-test-results.js.map +7 -0
  310. package/dist/react-textarea.js +89 -0
  311. package/dist/react-textarea.js.map +7 -0
  312. package/dist/react-thread-view.js +139 -0
  313. package/dist/react-thread-view.js.map +7 -0
  314. package/dist/react-timeline.js +153 -0
  315. package/dist/react-timeline.js.map +7 -0
  316. package/dist/react-toast.js +253 -0
  317. package/dist/react-toast.js.map +7 -0
  318. package/dist/react-tooltip.js +221 -0
  319. package/dist/react-tooltip.js.map +7 -0
  320. package/dist/react-version-selector.js +270 -0
  321. package/dist/react-version-selector.js.map +7 -0
  322. package/dist/react-video-grid.js +129 -0
  323. package/dist/react-video-grid.js.map +7 -0
  324. package/dist/react-video-player.js +206 -0
  325. package/dist/react-video-player.js.map +7 -0
  326. package/dist/react-video-tile.js +8 -0
  327. package/dist/react-video-tile.js.map +7 -0
  328. package/dist/react-voice-pill.js +314 -0
  329. package/dist/react-voice-pill.js.map +7 -0
  330. package/dist/react-waveform.js +558 -0
  331. package/dist/react-waveform.js.map +7 -0
  332. package/dist/react-wizard.js +337 -0
  333. package/dist/react-wizard.js.map +7 -0
  334. package/dist/styles.css +7 -0
  335. package/dist/theme.js +1 -1
  336. package/package.json +3 -2
  337. package/dist/applicationinsights-web-H7OBLIVJ.js +0 -23393
  338. package/dist/applicationinsights-web-H7OBLIVJ.js.map +0 -1
  339. package/dist/chunk-4A4BW3GR.js.map +0 -1
  340. package/dist/index.js.map +0 -1
  341. package/dist/module-X3HTTRQK.js +0 -6438
  342. package/dist/module-X3HTTRQK.js.map +0 -1
@@ -0,0 +1,364 @@
1
+ import {
2
+ Keys,
3
+ cn,
4
+ createKeyboardHandler,
5
+ cva,
6
+ devWarn,
7
+ generateId
8
+ } from "./chunk-ZF3OHCGV.js";
9
+
10
+ // ../react-command/dist/index.js
11
+ import * as React from "react";
12
+
13
+ // ../command/dist/index.js
14
+ function defaultFilter(value, search) {
15
+ return value.toLowerCase().includes(search.toLowerCase());
16
+ }
17
+ function createCommand(props = {}, items = []) {
18
+ const {
19
+ open: controlledOpen,
20
+ onOpenChange,
21
+ filter = defaultFilter
22
+ } = props;
23
+ const rootId = generateId("rfr-cmd");
24
+ const inputId = generateId("rfr-cmd-input");
25
+ const listId = generateId("rfr-cmd-list");
26
+ let searchQuery = "";
27
+ let selectedIndex = 0;
28
+ let filteredItems = [...items];
29
+ const isOpen = controlledOpen ?? true;
30
+ function applyFilter(query) {
31
+ if (!query) return [...items];
32
+ return items.filter((item) => filter(item.value, query));
33
+ }
34
+ function doSearch(query) {
35
+ searchQuery = query;
36
+ filteredItems = applyFilter(query);
37
+ selectedIndex = 0;
38
+ }
39
+ function doSelect(index) {
40
+ const idx = index ?? selectedIndex;
41
+ const item = filteredItems[idx];
42
+ if (!item || item.disabled) return void 0;
43
+ return item;
44
+ }
45
+ const keyboardHandlers = {
46
+ [Keys.ArrowDown]: (e) => {
47
+ e.preventDefault();
48
+ if (filteredItems.length > 0) {
49
+ selectedIndex = (selectedIndex + 1) % filteredItems.length;
50
+ }
51
+ },
52
+ [Keys.ArrowUp]: (e) => {
53
+ e.preventDefault();
54
+ if (filteredItems.length > 0) {
55
+ selectedIndex = (selectedIndex - 1 + filteredItems.length) % filteredItems.length;
56
+ }
57
+ },
58
+ [Keys.Enter]: (e) => {
59
+ e.preventDefault();
60
+ doSelect();
61
+ },
62
+ [Keys.Escape]: (e) => {
63
+ e.preventDefault();
64
+ onOpenChange?.(false);
65
+ }
66
+ };
67
+ const ariaProps = {
68
+ role: "combobox",
69
+ "aria-expanded": isOpen,
70
+ "aria-haspopup": "listbox",
71
+ "aria-owns": listId,
72
+ id: rootId
73
+ };
74
+ const inputAriaProps = {
75
+ role: "searchbox",
76
+ "aria-autocomplete": "list",
77
+ "aria-controls": listId,
78
+ id: inputId
79
+ };
80
+ const listAriaProps = {
81
+ role: "listbox",
82
+ id: listId,
83
+ "aria-label": "Command suggestions"
84
+ };
85
+ function getItemAriaProps(item, index) {
86
+ return {
87
+ role: "option",
88
+ "aria-selected": index === selectedIndex,
89
+ "aria-disabled": item.disabled ?? false,
90
+ id: `${listId}-item-${item.id}`
91
+ };
92
+ }
93
+ return {
94
+ get state() {
95
+ return {
96
+ search: searchQuery,
97
+ filteredItems,
98
+ selectedIndex,
99
+ open: isOpen
100
+ };
101
+ },
102
+ search: doSearch,
103
+ select: doSelect,
104
+ keyboardHandlers,
105
+ ariaProps,
106
+ inputAriaProps,
107
+ listAriaProps,
108
+ getItemAriaProps,
109
+ ids: {
110
+ root: rootId,
111
+ input: inputId,
112
+ list: listId
113
+ }
114
+ };
115
+ }
116
+ var commandVariants = cva({
117
+ base: "flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground"
118
+ });
119
+ var commandInputVariants = cva({
120
+ base: "flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50"
121
+ });
122
+ var commandItemVariants = cva({
123
+ base: "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none",
124
+ variants: {
125
+ state: {
126
+ default: "",
127
+ selected: "bg-accent text-accent-foreground",
128
+ disabled: "pointer-events-none opacity-50"
129
+ }
130
+ },
131
+ defaultVariants: {
132
+ state: "default"
133
+ }
134
+ });
135
+ var commandGroupVariants = cva({
136
+ base: "overflow-hidden p-1 text-foreground"
137
+ });
138
+
139
+ // ../react-command/dist/index.js
140
+ var CommandContext = React.createContext(null);
141
+ function useCommandContext() {
142
+ const ctx = React.useContext(CommandContext);
143
+ if (!ctx) {
144
+ devWarn(
145
+ "react-command/context-outside-provider",
146
+ "Command compound components (CommandInput/CommandList/CommandItem/CommandGroup/etc.) must be rendered inside a <Command>. The missing CommandContext makes this throw."
147
+ );
148
+ throw new Error("Command compound components must be used within <Command>");
149
+ }
150
+ return ctx;
151
+ }
152
+ function Command({
153
+ open,
154
+ onOpenChange,
155
+ filter,
156
+ className,
157
+ children
158
+ }) {
159
+ const [items, setItems] = React.useState([]);
160
+ const [search, setSearch] = React.useState("");
161
+ const [selectedIndex, setSelectedIndex] = React.useState(0);
162
+ const apiRef = React.useRef(null);
163
+ const api = React.useMemo(() => {
164
+ const instance = createCommand({ open, onOpenChange, filter }, items);
165
+ if (search) {
166
+ instance.search(search);
167
+ }
168
+ apiRef.current = instance;
169
+ return instance;
170
+ }, [open, onOpenChange, filter, items, search]);
171
+ const filteredItems = api.state.filteredItems;
172
+ const handleSearch = React.useCallback((query) => {
173
+ setSearch(query);
174
+ setSelectedIndex(0);
175
+ }, []);
176
+ const handleSelect = React.useCallback((index) => {
177
+ setSelectedIndex(index);
178
+ }, []);
179
+ const registerItem = React.useCallback((item) => {
180
+ setItems((prev) => {
181
+ if (prev.some((i) => i.id === item.id)) return prev;
182
+ return [...prev, item];
183
+ });
184
+ }, []);
185
+ const unregisterItem = React.useCallback((id) => {
186
+ setItems((prev) => prev.filter((i) => i.id !== id));
187
+ }, []);
188
+ const handleKeyDown = React.useCallback(
189
+ (e) => {
190
+ const handler = createKeyboardHandler({
191
+ [Keys.ArrowDown]: (ev) => {
192
+ ev.preventDefault();
193
+ if (filteredItems.length > 0) {
194
+ setSelectedIndex((prev) => (prev + 1) % filteredItems.length);
195
+ }
196
+ },
197
+ [Keys.ArrowUp]: (ev) => {
198
+ ev.preventDefault();
199
+ if (filteredItems.length > 0) {
200
+ setSelectedIndex((prev) => (prev - 1 + filteredItems.length) % filteredItems.length);
201
+ }
202
+ },
203
+ [Keys.Enter]: (ev) => {
204
+ ev.preventDefault();
205
+ },
206
+ [Keys.Escape]: (ev) => {
207
+ ev.preventDefault();
208
+ onOpenChange?.(false);
209
+ }
210
+ });
211
+ handler(e.nativeEvent);
212
+ },
213
+ [filteredItems.length, onOpenChange]
214
+ );
215
+ const ctx = React.useMemo(
216
+ () => ({
217
+ search,
218
+ onSearch: handleSearch,
219
+ selectedIndex,
220
+ onSelect: handleSelect,
221
+ items,
222
+ filteredItems,
223
+ registerItem,
224
+ unregisterItem,
225
+ listId: api.ids.list,
226
+ inputId: api.ids.input
227
+ }),
228
+ [search, handleSearch, selectedIndex, handleSelect, items, filteredItems, registerItem, unregisterItem, api.ids.list, api.ids.input]
229
+ );
230
+ return React.createElement(
231
+ CommandContext.Provider,
232
+ { value: ctx },
233
+ React.createElement(
234
+ "div",
235
+ {
236
+ className: cn(commandVariants(), className),
237
+ ...api.ariaProps,
238
+ onKeyDown: handleKeyDown
239
+ },
240
+ children
241
+ )
242
+ );
243
+ }
244
+ var CommandInput = React.forwardRef(
245
+ function CommandInput2({ className, onChange, ...props }, ref) {
246
+ const { search, onSearch, inputId, listId } = useCommandContext();
247
+ const handleChange = (e) => {
248
+ onSearch(e.target.value);
249
+ onChange?.(e);
250
+ };
251
+ return React.createElement("input", {
252
+ ref,
253
+ id: inputId,
254
+ type: "text",
255
+ role: "searchbox",
256
+ "aria-autocomplete": "list",
257
+ "aria-controls": listId,
258
+ value: search,
259
+ onChange: handleChange,
260
+ className: cn(commandInputVariants(), className),
261
+ ...props
262
+ });
263
+ }
264
+ );
265
+ var CommandList = React.forwardRef(
266
+ function CommandList2({ className, children, ...props }, ref) {
267
+ const { listId } = useCommandContext();
268
+ return React.createElement(
269
+ "div",
270
+ {
271
+ ref,
272
+ id: listId,
273
+ role: "listbox",
274
+ "aria-label": "Command suggestions",
275
+ className: cn("max-h-[300px] overflow-y-auto overflow-x-hidden", className),
276
+ ...props
277
+ },
278
+ children
279
+ );
280
+ }
281
+ );
282
+ var CommandEmpty = React.forwardRef(
283
+ function CommandEmpty2({ className, children, ...props }, ref) {
284
+ const { filteredItems } = useCommandContext();
285
+ if (filteredItems.length > 0) return null;
286
+ return React.createElement(
287
+ "div",
288
+ {
289
+ ref,
290
+ className: cn("py-6 text-center text-sm", className),
291
+ role: "presentation",
292
+ ...props
293
+ },
294
+ children
295
+ );
296
+ }
297
+ );
298
+ var CommandGroup = React.forwardRef(
299
+ function CommandGroup2({ className, heading, children, ...props }, ref) {
300
+ return React.createElement(
301
+ "div",
302
+ {
303
+ ref,
304
+ className: cn(commandGroupVariants(), className),
305
+ role: "group",
306
+ "aria-label": heading,
307
+ ...props
308
+ },
309
+ heading ? React.createElement(
310
+ "div",
311
+ { className: "px-2 py-1.5 text-xs font-medium text-muted-foreground" },
312
+ heading
313
+ ) : null,
314
+ children
315
+ );
316
+ }
317
+ );
318
+ var CommandItem = React.forwardRef(
319
+ function CommandItem2({ className, value, disabled, onSelect: onItemSelect, children, ...props }, ref) {
320
+ const state = disabled ? "disabled" : "default";
321
+ return React.createElement(
322
+ "div",
323
+ {
324
+ ref,
325
+ role: "option",
326
+ "aria-selected": false,
327
+ "aria-disabled": disabled ?? false,
328
+ "data-value": value,
329
+ className: cn(commandItemVariants({ state }), className),
330
+ onClick: () => {
331
+ if (!disabled) {
332
+ onItemSelect?.();
333
+ }
334
+ },
335
+ ...props
336
+ },
337
+ children
338
+ );
339
+ }
340
+ );
341
+ var CommandSeparator = React.forwardRef(
342
+ function CommandSeparator2({ className, ...props }, ref) {
343
+ return React.createElement("div", {
344
+ ref,
345
+ role: "separator",
346
+ className: cn("-mx-1 h-px bg-border", className),
347
+ ...props
348
+ });
349
+ }
350
+ );
351
+ export {
352
+ Command,
353
+ CommandEmpty,
354
+ CommandGroup,
355
+ CommandInput,
356
+ CommandItem,
357
+ CommandList,
358
+ CommandSeparator,
359
+ commandGroupVariants,
360
+ commandInputVariants,
361
+ commandItemVariants,
362
+ commandVariants
363
+ };
364
+ //# sourceMappingURL=react-command.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../command/src/command.ts", "../../command/src/command.styles.ts", "../../react-command/src/command.tsx"],
4
+ "sourcesContent": ["import type { KeyboardHandlerMap } from '@refraction-ui/shared'\nimport { Keys, generateId } from '@refraction-ui/shared'\n\nexport interface CommandProps {\n /** Whether the command palette is open (controlled) */\n open?: boolean\n /** Callback when open state changes */\n onOpenChange?: (open: boolean) => void\n /** Custom filter function — receives item value and search query, returns true to include */\n filter?: (value: string, search: string) => boolean\n}\n\nexport interface CommandItemData {\n /** Unique identifier for the item */\n id: string\n /** Display label */\n label: string\n /** Searchable value */\n value: string\n /** Whether the item is disabled */\n disabled?: boolean\n /** Optional group the item belongs to */\n group?: string\n}\n\nexport interface CommandState {\n /** Current search query */\n search: string\n /** Items after filtering */\n filteredItems: CommandItemData[]\n /** Index of the currently highlighted item in filteredItems */\n selectedIndex: number\n /** Whether the palette is open */\n open: boolean\n}\n\nexport interface CommandAPI {\n /** Current command state */\n state: CommandState\n /** Update the search query and re-filter items */\n search(query: string): void\n /** Select the item at the given index (or the currently highlighted item) */\n select(index?: number): CommandItemData | undefined\n /** Keyboard handlers for the command palette */\n keyboardHandlers: KeyboardHandlerMap\n /** ARIA attributes for the command root */\n ariaProps: Record<string, unknown>\n /** ARIA attributes for the input */\n inputAriaProps: Record<string, unknown>\n /** ARIA attributes for the list */\n listAriaProps: Record<string, unknown>\n /** Get ARIA attributes for a specific item */\n getItemAriaProps(item: CommandItemData, index: number): Record<string, unknown>\n /** Generated IDs */\n ids: {\n root: string\n input: string\n list: string\n }\n}\n\n/** Default filter: case-insensitive includes */\nfunction defaultFilter(value: string, search: string): boolean {\n return value.toLowerCase().includes(search.toLowerCase())\n}\n\nexport function createCommand(\n props: CommandProps = {},\n items: CommandItemData[] = [],\n): CommandAPI {\n const {\n open: controlledOpen,\n onOpenChange,\n filter = defaultFilter,\n } = props\n\n const rootId = generateId('rfr-cmd')\n const inputId = generateId('rfr-cmd-input')\n const listId = generateId('rfr-cmd-list')\n\n let searchQuery = ''\n let selectedIndex = 0\n let filteredItems = [...items]\n const isOpen = controlledOpen ?? true\n\n function applyFilter(query: string): CommandItemData[] {\n if (!query) return [...items]\n return items.filter((item) => filter(item.value, query))\n }\n\n function doSearch(query: string): void {\n searchQuery = query\n filteredItems = applyFilter(query)\n selectedIndex = 0\n }\n\n function doSelect(index?: number): CommandItemData | undefined {\n const idx = index ?? selectedIndex\n const item = filteredItems[idx]\n if (!item || item.disabled) return undefined\n return item\n }\n\n const keyboardHandlers: KeyboardHandlerMap = {\n [Keys.ArrowDown]: (e) => {\n e.preventDefault()\n if (filteredItems.length > 0) {\n selectedIndex = (selectedIndex + 1) % filteredItems.length\n }\n },\n [Keys.ArrowUp]: (e) => {\n e.preventDefault()\n if (filteredItems.length > 0) {\n selectedIndex = (selectedIndex - 1 + filteredItems.length) % filteredItems.length\n }\n },\n [Keys.Enter]: (e) => {\n e.preventDefault()\n doSelect()\n },\n [Keys.Escape]: (e) => {\n e.preventDefault()\n onOpenChange?.(false)\n },\n }\n\n const ariaProps: Record<string, unknown> = {\n role: 'combobox',\n 'aria-expanded': isOpen,\n 'aria-haspopup': 'listbox',\n 'aria-owns': listId,\n id: rootId,\n }\n\n const inputAriaProps: Record<string, unknown> = {\n role: 'searchbox',\n 'aria-autocomplete': 'list',\n 'aria-controls': listId,\n id: inputId,\n }\n\n const listAriaProps: Record<string, unknown> = {\n role: 'listbox',\n id: listId,\n 'aria-label': 'Command suggestions',\n }\n\n function getItemAriaProps(item: CommandItemData, index: number): Record<string, unknown> {\n return {\n role: 'option',\n 'aria-selected': index === selectedIndex,\n 'aria-disabled': item.disabled ?? false,\n id: `${listId}-item-${item.id}`,\n }\n }\n\n return {\n get state(): CommandState {\n return {\n search: searchQuery,\n filteredItems,\n selectedIndex,\n open: isOpen,\n }\n },\n search: doSearch,\n select: doSelect,\n keyboardHandlers,\n ariaProps,\n inputAriaProps,\n listAriaProps,\n getItemAriaProps,\n ids: {\n root: rootId,\n input: inputId,\n list: listId,\n },\n }\n}\n", "import { cva } from '@refraction-ui/shared'\n\nexport const commandVariants = cva({\n base: 'flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground',\n})\n\nexport const commandInputVariants = cva({\n base: 'flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50',\n})\n\nexport const commandItemVariants = cva({\n base: 'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none',\n variants: {\n state: {\n default: '',\n selected: 'bg-accent text-accent-foreground',\n disabled: 'pointer-events-none opacity-50',\n },\n },\n defaultVariants: {\n state: 'default',\n },\n})\n\nexport const commandGroupVariants = cva({\n base: 'overflow-hidden p-1 text-foreground',\n})\n", "import * as React from 'react'\nimport {\n createCommand,\n commandVariants,\n commandInputVariants,\n commandItemVariants,\n commandGroupVariants,\n type CommandProps as CoreCommandProps,\n type CommandItemData,\n} from '@refraction-ui/command'\nimport { cn, createKeyboardHandler, Keys, devWarn } from '@refraction-ui/shared'\n\n// ---------------------------------------------------------------------------\n// Context\n// ---------------------------------------------------------------------------\n\ninterface CommandContextValue {\n search: string\n onSearch: (query: string) => void\n selectedIndex: number\n onSelect: (index: number) => void\n items: CommandItemData[]\n filteredItems: CommandItemData[]\n registerItem: (item: CommandItemData) => void\n unregisterItem: (id: string) => void\n listId: string\n inputId: string\n}\n\nconst CommandContext = React.createContext<CommandContextValue | null>(null)\n\nfunction useCommandContext(): CommandContextValue {\n const ctx = React.useContext(CommandContext)\n if (!ctx) {\n devWarn(\n 'react-command/context-outside-provider',\n 'Command compound components (CommandInput/CommandList/CommandItem/CommandGroup/etc.) must be rendered inside a <Command>. The missing CommandContext makes this throw.',\n )\n throw new Error('Command compound components must be used within <Command>')\n }\n return ctx\n}\n\n// ---------------------------------------------------------------------------\n// Command (root provider)\n// ---------------------------------------------------------------------------\n\nexport interface CommandProps {\n open?: boolean\n onOpenChange?: (open: boolean) => void\n filter?: (value: string, search: string) => boolean\n className?: string\n children?: React.ReactNode\n}\n\nexport function Command({\n open,\n onOpenChange,\n filter,\n className,\n children,\n}: CommandProps) {\n const [items, setItems] = React.useState<CommandItemData[]>([])\n const [search, setSearch] = React.useState('')\n const [selectedIndex, setSelectedIndex] = React.useState(0)\n\n const apiRef = React.useRef<ReturnType<typeof createCommand> | null>(null)\n\n // Recompute the API when items or search change\n const api = React.useMemo(() => {\n const instance = createCommand({ open, onOpenChange, filter }, items)\n if (search) {\n instance.search(search)\n }\n apiRef.current = instance\n return instance\n }, [open, onOpenChange, filter, items, search])\n\n const filteredItems = api.state.filteredItems\n\n const handleSearch = React.useCallback((query: string) => {\n setSearch(query)\n setSelectedIndex(0)\n }, [])\n\n const handleSelect = React.useCallback((index: number) => {\n setSelectedIndex(index)\n }, [])\n\n const registerItem = React.useCallback((item: CommandItemData) => {\n setItems((prev) => {\n if (prev.some((i) => i.id === item.id)) return prev\n return [...prev, item]\n })\n }, [])\n\n const unregisterItem = React.useCallback((id: string) => {\n setItems((prev) => prev.filter((i) => i.id !== id))\n }, [])\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent) => {\n const handler = createKeyboardHandler({\n [Keys.ArrowDown]: (ev) => {\n ev.preventDefault()\n if (filteredItems.length > 0) {\n setSelectedIndex((prev) => (prev + 1) % filteredItems.length)\n }\n },\n [Keys.ArrowUp]: (ev) => {\n ev.preventDefault()\n if (filteredItems.length > 0) {\n setSelectedIndex((prev) => (prev - 1 + filteredItems.length) % filteredItems.length)\n }\n },\n [Keys.Enter]: (ev) => {\n ev.preventDefault()\n },\n [Keys.Escape]: (ev) => {\n ev.preventDefault()\n onOpenChange?.(false)\n },\n })\n handler(e.nativeEvent)\n },\n [filteredItems.length, onOpenChange],\n )\n\n const ctx = React.useMemo<CommandContextValue>(\n () => ({\n search,\n onSearch: handleSearch,\n selectedIndex,\n onSelect: handleSelect,\n items,\n filteredItems,\n registerItem,\n unregisterItem,\n listId: api.ids.list,\n inputId: api.ids.input,\n }),\n [search, handleSearch, selectedIndex, handleSelect, items, filteredItems, registerItem, unregisterItem, api.ids.list, api.ids.input],\n )\n\n return React.createElement(\n CommandContext.Provider,\n { value: ctx },\n React.createElement(\n 'div',\n {\n className: cn(commandVariants(), className),\n ...api.ariaProps,\n onKeyDown: handleKeyDown,\n },\n children,\n ),\n )\n}\n\n// ---------------------------------------------------------------------------\n// CommandInput\n// ---------------------------------------------------------------------------\n\nexport interface CommandInputProps extends React.InputHTMLAttributes<HTMLInputElement> {}\n\nexport const CommandInput = React.forwardRef<HTMLInputElement, CommandInputProps>(\n function CommandInput({ className, onChange, ...props }, ref) {\n const { search, onSearch, inputId, listId } = useCommandContext()\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onSearch(e.target.value)\n onChange?.(e)\n }\n\n return React.createElement('input', {\n ref,\n id: inputId,\n type: 'text',\n role: 'searchbox',\n 'aria-autocomplete': 'list',\n 'aria-controls': listId,\n value: search,\n onChange: handleChange,\n className: cn(commandInputVariants(), className),\n ...props,\n })\n },\n)\n\n// ---------------------------------------------------------------------------\n// CommandList\n// ---------------------------------------------------------------------------\n\nexport interface CommandListProps extends React.HTMLAttributes<HTMLDivElement> {}\n\nexport const CommandList = React.forwardRef<HTMLDivElement, CommandListProps>(\n function CommandList({ className, children, ...props }, ref) {\n const { listId } = useCommandContext()\n\n return React.createElement(\n 'div',\n {\n ref,\n id: listId,\n role: 'listbox',\n 'aria-label': 'Command suggestions',\n className: cn('max-h-[300px] overflow-y-auto overflow-x-hidden', className),\n ...props,\n },\n children,\n )\n },\n)\n\n// ---------------------------------------------------------------------------\n// CommandEmpty\n// ---------------------------------------------------------------------------\n\nexport interface CommandEmptyProps extends React.HTMLAttributes<HTMLDivElement> {}\n\nexport const CommandEmpty = React.forwardRef<HTMLDivElement, CommandEmptyProps>(\n function CommandEmpty({ className, children, ...props }, ref) {\n const { filteredItems } = useCommandContext()\n\n if (filteredItems.length > 0) return null\n\n return React.createElement(\n 'div',\n {\n ref,\n className: cn('py-6 text-center text-sm', className),\n role: 'presentation',\n ...props,\n },\n children,\n )\n },\n)\n\n// ---------------------------------------------------------------------------\n// CommandGroup\n// ---------------------------------------------------------------------------\n\nexport interface CommandGroupProps extends React.HTMLAttributes<HTMLDivElement> {\n heading?: string\n}\n\nexport const CommandGroup = React.forwardRef<HTMLDivElement, CommandGroupProps>(\n function CommandGroup({ className, heading, children, ...props }, ref) {\n return React.createElement(\n 'div',\n {\n ref,\n className: cn(commandGroupVariants(), className),\n role: 'group',\n 'aria-label': heading,\n ...props,\n },\n heading\n ? React.createElement(\n 'div',\n { className: 'px-2 py-1.5 text-xs font-medium text-muted-foreground' },\n heading,\n )\n : null,\n children,\n )\n },\n)\n\n// ---------------------------------------------------------------------------\n// CommandItem\n// ---------------------------------------------------------------------------\n\nexport interface CommandItemProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> {\n value?: string\n disabled?: boolean\n onSelect?: () => void\n}\n\nexport const CommandItem = React.forwardRef<HTMLDivElement, CommandItemProps>(\n function CommandItem({ className, value, disabled, onSelect: onItemSelect, children, ...props }, ref) {\n const state = disabled ? 'disabled' : 'default'\n\n return React.createElement(\n 'div',\n {\n ref,\n role: 'option',\n 'aria-selected': false,\n 'aria-disabled': disabled ?? false,\n 'data-value': value,\n className: cn(commandItemVariants({ state }), className),\n onClick: () => {\n if (!disabled) {\n onItemSelect?.()\n }\n },\n ...props,\n },\n children,\n )\n },\n)\n\n// ---------------------------------------------------------------------------\n// CommandSeparator\n// ---------------------------------------------------------------------------\n\nexport interface CommandSeparatorProps extends React.HTMLAttributes<HTMLDivElement> {}\n\nexport const CommandSeparator = React.forwardRef<HTMLDivElement, CommandSeparatorProps>(\n function CommandSeparator({ className, ...props }, ref) {\n return React.createElement('div', {\n ref,\n role: 'separator',\n className: cn('-mx-1 h-px bg-border', className),\n ...props,\n })\n },\n)\n"],
5
+ "mappings": "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",
6
+ "names": ["CommandInput", "CommandList", "CommandEmpty", "CommandGroup", "CommandItem", "CommandSeparator"]
7
+ }