@cellarnode/ui 0.1.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 (378) hide show
  1. package/dist/chat/chat-api.d.ts +14 -0
  2. package/dist/chat/chat-api.d.ts.map +1 -0
  3. package/dist/chat/chat-api.js +36 -0
  4. package/dist/chat/chat-api.js.map +1 -0
  5. package/dist/chat/chat-toggle-button.d.ts +8 -0
  6. package/dist/chat/chat-toggle-button.d.ts.map +1 -0
  7. package/dist/chat/chat-toggle-button.js +8 -0
  8. package/dist/chat/chat-toggle-button.js.map +1 -0
  9. package/dist/chat/chat-ws.d.ts +61 -0
  10. package/dist/chat/chat-ws.d.ts.map +1 -0
  11. package/dist/chat/chat-ws.js +217 -0
  12. package/dist/chat/chat-ws.js.map +1 -0
  13. package/dist/chat/communication-hub-widget.d.ts +21 -0
  14. package/dist/chat/communication-hub-widget.d.ts.map +1 -0
  15. package/dist/chat/communication-hub-widget.js +49 -0
  16. package/dist/chat/communication-hub-widget.js.map +1 -0
  17. package/dist/chat/communication-panel.d.ts +3 -0
  18. package/dist/chat/communication-panel.d.ts.map +1 -0
  19. package/dist/chat/communication-panel.js +34 -0
  20. package/dist/chat/communication-panel.js.map +1 -0
  21. package/dist/chat/index.d.ts +17 -0
  22. package/dist/chat/index.d.ts.map +1 -0
  23. package/dist/chat/index.js +11 -0
  24. package/dist/chat/index.js.map +1 -0
  25. package/dist/chat/messenger-layout.d.ts +25 -0
  26. package/dist/chat/messenger-layout.d.ts.map +1 -0
  27. package/dist/chat/messenger-layout.js +70 -0
  28. package/dist/chat/messenger-layout.js.map +1 -0
  29. package/dist/chat/negotiation-event-card.d.ts +9 -0
  30. package/dist/chat/negotiation-event-card.d.ts.map +1 -0
  31. package/dist/chat/negotiation-event-card.js +39 -0
  32. package/dist/chat/negotiation-event-card.js.map +1 -0
  33. package/dist/chat/timeline-utils.d.ts +7 -0
  34. package/dist/chat/timeline-utils.d.ts.map +1 -0
  35. package/dist/chat/timeline-utils.js +40 -0
  36. package/dist/chat/timeline-utils.js.map +1 -0
  37. package/dist/chat/types.d.ts +132 -0
  38. package/dist/chat/types.d.ts.map +1 -0
  39. package/dist/chat/types.js +3 -0
  40. package/dist/chat/types.js.map +1 -0
  41. package/dist/chat/unified-timeline.d.ts +13 -0
  42. package/dist/chat/unified-timeline.d.ts.map +1 -0
  43. package/dist/chat/unified-timeline.js +97 -0
  44. package/dist/chat/unified-timeline.js.map +1 -0
  45. package/dist/chat/use-chat.d.ts +10 -0
  46. package/dist/chat/use-chat.d.ts.map +1 -0
  47. package/dist/chat/use-chat.js +280 -0
  48. package/dist/chat/use-chat.js.map +1 -0
  49. package/dist/components/accordion.d.ts +8 -0
  50. package/dist/components/accordion.d.ts.map +1 -0
  51. package/dist/components/accordion.js +19 -0
  52. package/dist/components/accordion.js.map +1 -0
  53. package/dist/components/alert.d.ts +29 -0
  54. package/dist/components/alert.d.ts.map +1 -0
  55. package/dist/components/alert.js +31 -0
  56. package/dist/components/alert.js.map +1 -0
  57. package/dist/components/animated-list.d.ts +20 -0
  58. package/dist/components/animated-list.d.ts.map +1 -0
  59. package/dist/components/animated-list.js +50 -0
  60. package/dist/components/animated-list.js.map +1 -0
  61. package/dist/components/avatar.d.ts +19 -0
  62. package/dist/components/avatar.d.ts.map +1 -0
  63. package/dist/components/avatar.js +18 -0
  64. package/dist/components/avatar.js.map +1 -0
  65. package/dist/components/badge.d.ts +39 -0
  66. package/dist/components/badge.d.ts.map +1 -0
  67. package/dist/components/badge.js +35 -0
  68. package/dist/components/badge.js.map +1 -0
  69. package/dist/components/button.d.ts +64 -0
  70. package/dist/components/button.d.ts.map +1 -0
  71. package/dist/components/button.js +174 -0
  72. package/dist/components/button.js.map +1 -0
  73. package/dist/components/button.stories.d.ts +13 -0
  74. package/dist/components/button.stories.d.ts.map +1 -0
  75. package/dist/components/button.stories.js +48 -0
  76. package/dist/components/button.stories.js.map +1 -0
  77. package/dist/components/card.d.ts +9 -0
  78. package/dist/components/card.d.ts.map +1 -0
  79. package/dist/components/card.js +17 -0
  80. package/dist/components/card.js.map +1 -0
  81. package/dist/components/checkbox.d.ts +37 -0
  82. package/dist/components/checkbox.d.ts.map +1 -0
  83. package/dist/components/checkbox.js +84 -0
  84. package/dist/components/checkbox.js.map +1 -0
  85. package/dist/components/combobox.d.ts +20 -0
  86. package/dist/components/combobox.d.ts.map +1 -0
  87. package/dist/components/combobox.js +87 -0
  88. package/dist/components/combobox.js.map +1 -0
  89. package/dist/components/command.d.ts +12 -0
  90. package/dist/components/command.d.ts.map +1 -0
  91. package/dist/components/command.js +31 -0
  92. package/dist/components/command.js.map +1 -0
  93. package/dist/components/description-list.d.ts +4 -0
  94. package/dist/components/description-list.d.ts.map +1 -0
  95. package/dist/components/description-list.js +12 -0
  96. package/dist/components/description-list.js.map +1 -0
  97. package/dist/components/dialog.d.ts +30 -0
  98. package/dist/components/dialog.d.ts.map +1 -0
  99. package/dist/components/dialog.js +32 -0
  100. package/dist/components/dialog.js.map +1 -0
  101. package/dist/components/divider.d.ts +4 -0
  102. package/dist/components/divider.d.ts.map +1 -0
  103. package/dist/components/divider.js +6 -0
  104. package/dist/components/divider.js.map +1 -0
  105. package/dist/components/drawer.d.ts +23 -0
  106. package/dist/components/drawer.d.ts.map +1 -0
  107. package/dist/components/drawer.js +23 -0
  108. package/dist/components/drawer.js.map +1 -0
  109. package/dist/components/dropdown-menu.d.ts +26 -0
  110. package/dist/components/dropdown-menu.d.ts.map +1 -0
  111. package/dist/components/dropdown-menu.js +52 -0
  112. package/dist/components/dropdown-menu.js.map +1 -0
  113. package/dist/components/dropdown.d.ts +37 -0
  114. package/dist/components/dropdown.d.ts.map +1 -0
  115. package/dist/components/dropdown.js +79 -0
  116. package/dist/components/dropdown.js.map +1 -0
  117. package/dist/components/fieldset.d.ts +22 -0
  118. package/dist/components/fieldset.d.ts.map +1 -0
  119. package/dist/components/fieldset.js +25 -0
  120. package/dist/components/fieldset.js.map +1 -0
  121. package/dist/components/form.d.ts +25 -0
  122. package/dist/components/form.d.ts.map +1 -0
  123. package/dist/components/form.js +60 -0
  124. package/dist/components/form.js.map +1 -0
  125. package/dist/components/heading.d.ts +7 -0
  126. package/dist/components/heading.d.ts.map +1 -0
  127. package/dist/components/heading.js +11 -0
  128. package/dist/components/heading.js.map +1 -0
  129. package/dist/components/input.d.ts +11 -0
  130. package/dist/components/input.d.ts.map +1 -0
  131. package/dist/components/input.js +57 -0
  132. package/dist/components/input.js.map +1 -0
  133. package/dist/components/kanban-board.d.ts +78 -0
  134. package/dist/components/kanban-board.d.ts.map +1 -0
  135. package/dist/components/kanban-board.js +18 -0
  136. package/dist/components/kanban-board.js.map +1 -0
  137. package/dist/components/kanban-board.stories.d.ts +10 -0
  138. package/dist/components/kanban-board.stories.d.ts.map +1 -0
  139. package/dist/components/kanban-board.stories.js +125 -0
  140. package/dist/components/kanban-board.stories.js.map +1 -0
  141. package/dist/components/kanban-card.d.ts +8 -0
  142. package/dist/components/kanban-card.d.ts.map +1 -0
  143. package/dist/components/kanban-card.js +13 -0
  144. package/dist/components/kanban-card.js.map +1 -0
  145. package/dist/components/kanban-dnd-board.d.ts +8 -0
  146. package/dist/components/kanban-dnd-board.d.ts.map +1 -0
  147. package/dist/components/kanban-dnd-board.js +104 -0
  148. package/dist/components/kanban-dnd-board.js.map +1 -0
  149. package/dist/components/label.d.ts +5 -0
  150. package/dist/components/label.d.ts.map +1 -0
  151. package/dist/components/label.js +9 -0
  152. package/dist/components/label.js.map +1 -0
  153. package/dist/components/link.d.ts +12 -0
  154. package/dist/components/link.d.ts.map +1 -0
  155. package/dist/components/link.js +14 -0
  156. package/dist/components/link.js.map +1 -0
  157. package/dist/components/listbox.d.ts +16 -0
  158. package/dist/components/listbox.d.ts.map +1 -0
  159. package/dist/components/listbox.js +88 -0
  160. package/dist/components/listbox.js.map +1 -0
  161. package/dist/components/pagination.d.ts +18 -0
  162. package/dist/components/pagination.d.ts.map +1 -0
  163. package/dist/components/pagination.js +22 -0
  164. package/dist/components/pagination.js.map +1 -0
  165. package/dist/components/popover.d.ts +11 -0
  166. package/dist/components/popover.d.ts.map +1 -0
  167. package/dist/components/popover.js +27 -0
  168. package/dist/components/popover.js.map +1 -0
  169. package/dist/components/radio.d.ts +38 -0
  170. package/dist/components/radio.d.ts.map +1 -0
  171. package/dist/components/radio.js +87 -0
  172. package/dist/components/radio.js.map +1 -0
  173. package/dist/components/scroll-area.d.ts +6 -0
  174. package/dist/components/scroll-area.d.ts.map +1 -0
  175. package/dist/components/scroll-area.js +14 -0
  176. package/dist/components/scroll-area.js.map +1 -0
  177. package/dist/components/select.d.ts +6 -0
  178. package/dist/components/select.d.ts.map +1 -0
  179. package/dist/components/select.js +41 -0
  180. package/dist/components/select.js.map +1 -0
  181. package/dist/components/separator.d.ts +5 -0
  182. package/dist/components/separator.d.ts.map +1 -0
  183. package/dist/components/separator.js +9 -0
  184. package/dist/components/separator.js.map +1 -0
  185. package/dist/components/shadcn-badge.d.ts +10 -0
  186. package/dist/components/shadcn-badge.d.ts.map +1 -0
  187. package/dist/components/shadcn-badge.js +25 -0
  188. package/dist/components/shadcn-badge.js.map +1 -0
  189. package/dist/components/shadcn-button.d.ts +11 -0
  190. package/dist/components/shadcn-button.d.ts.map +1 -0
  191. package/dist/components/shadcn-button.js +36 -0
  192. package/dist/components/shadcn-button.js.map +1 -0
  193. package/dist/components/shadcn-dialog.d.ts +18 -0
  194. package/dist/components/shadcn-dialog.d.ts.map +1 -0
  195. package/dist/components/shadcn-dialog.js +37 -0
  196. package/dist/components/shadcn-dialog.js.map +1 -0
  197. package/dist/components/shadcn-input.d.ts +4 -0
  198. package/dist/components/shadcn-input.d.ts.map +1 -0
  199. package/dist/components/shadcn-input.js +7 -0
  200. package/dist/components/shadcn-input.js.map +1 -0
  201. package/dist/components/shadcn-select.d.ts +14 -0
  202. package/dist/components/shadcn-select.d.ts.map +1 -0
  203. package/dist/components/shadcn-select.js +32 -0
  204. package/dist/components/shadcn-select.js.map +1 -0
  205. package/dist/components/shadcn-textarea.d.ts +4 -0
  206. package/dist/components/shadcn-textarea.d.ts.map +1 -0
  207. package/dist/components/shadcn-textarea.js +7 -0
  208. package/dist/components/shadcn-textarea.js.map +1 -0
  209. package/dist/components/sheet.d.ts +26 -0
  210. package/dist/components/sheet.d.ts.map +1 -0
  211. package/dist/components/sheet.js +37 -0
  212. package/dist/components/sheet.js.map +1 -0
  213. package/dist/components/sidebar.d.ts +68 -0
  214. package/dist/components/sidebar.d.ts.map +1 -0
  215. package/dist/components/sidebar.js +208 -0
  216. package/dist/components/sidebar.js.map +1 -0
  217. package/dist/components/skeleton.d.ts +3 -0
  218. package/dist/components/skeleton.d.ts.map +1 -0
  219. package/dist/components/skeleton.js +7 -0
  220. package/dist/components/skeleton.js.map +1 -0
  221. package/dist/components/slider.d.ts +5 -0
  222. package/dist/components/slider.d.ts.map +1 -0
  223. package/dist/components/slider.js +8 -0
  224. package/dist/components/slider.js.map +1 -0
  225. package/dist/components/sonner.d.ts +11 -0
  226. package/dist/components/sonner.d.ts.map +1 -0
  227. package/dist/components/sonner.js +14 -0
  228. package/dist/components/sonner.js.map +1 -0
  229. package/dist/components/switch.d.ts +30 -0
  230. package/dist/components/switch.d.ts.map +1 -0
  231. package/dist/components/switch.js +68 -0
  232. package/dist/components/switch.js.map +1 -0
  233. package/dist/components/table.d.ts +17 -0
  234. package/dist/components/table.d.ts.map +1 -0
  235. package/dist/components/table.js +41 -0
  236. package/dist/components/table.js.map +1 -0
  237. package/dist/components/tabs.d.ts +12 -0
  238. package/dist/components/tabs.d.ts.map +1 -0
  239. package/dist/components/tabs.js +30 -0
  240. package/dist/components/tabs.js.map +1 -0
  241. package/dist/components/text.d.ts +6 -0
  242. package/dist/components/text.d.ts.map +1 -0
  243. package/dist/components/text.js +16 -0
  244. package/dist/components/text.js.map +1 -0
  245. package/dist/components/textarea.d.ts +8 -0
  246. package/dist/components/textarea.d.ts.map +1 -0
  247. package/dist/components/textarea.js +38 -0
  248. package/dist/components/textarea.js.map +1 -0
  249. package/dist/components/toast.d.ts +16 -0
  250. package/dist/components/toast.d.ts.map +1 -0
  251. package/dist/components/toast.js +34 -0
  252. package/dist/components/toast.js.map +1 -0
  253. package/dist/components/toaster.d.ts +2 -0
  254. package/dist/components/toaster.d.ts.map +1 -0
  255. package/dist/components/toaster.js +10 -0
  256. package/dist/components/toaster.js.map +1 -0
  257. package/dist/components/tooltip.d.ts +8 -0
  258. package/dist/components/tooltip.d.ts.map +1 -0
  259. package/dist/components/tooltip.js +11 -0
  260. package/dist/components/tooltip.js.map +1 -0
  261. package/dist/components/use-toast.d.ts +3 -0
  262. package/dist/components/use-toast.d.ts.map +1 -0
  263. package/dist/components/use-toast.js +3 -0
  264. package/dist/components/use-toast.js.map +1 -0
  265. package/dist/globe/data/country-geo.d.ts +15 -0
  266. package/dist/globe/data/country-geo.d.ts.map +1 -0
  267. package/dist/globe/data/country-geo.js +81 -0
  268. package/dist/globe/data/country-geo.js.map +1 -0
  269. package/dist/globe/electron-arc.d.ts +30 -0
  270. package/dist/globe/electron-arc.d.ts.map +1 -0
  271. package/dist/globe/electron-arc.js +119 -0
  272. package/dist/globe/electron-arc.js.map +1 -0
  273. package/dist/globe/globe-theme.d.ts +34 -0
  274. package/dist/globe/globe-theme.d.ts.map +1 -0
  275. package/dist/globe/globe-theme.js +118 -0
  276. package/dist/globe/globe-theme.js.map +1 -0
  277. package/dist/globe/globe-types.d.ts +42 -0
  278. package/dist/globe/globe-types.d.ts.map +1 -0
  279. package/dist/globe/globe-types.js +5 -0
  280. package/dist/globe/globe-types.js.map +1 -0
  281. package/dist/globe/globe-view.d.ts +27 -0
  282. package/dist/globe/globe-view.d.ts.map +1 -0
  283. package/dist/globe/globe-view.js +601 -0
  284. package/dist/globe/globe-view.js.map +1 -0
  285. package/dist/globe/globe-view.stories.d.ts +42 -0
  286. package/dist/globe/globe-view.stories.d.ts.map +1 -0
  287. package/dist/globe/globe-view.stories.js +319 -0
  288. package/dist/globe/globe-view.stories.js.map +1 -0
  289. package/dist/globe/index.d.ts +12 -0
  290. package/dist/globe/index.d.ts.map +1 -0
  291. package/dist/globe/index.js +7 -0
  292. package/dist/globe/index.js.map +1 -0
  293. package/dist/globe/map/country-code-map.d.ts +10 -0
  294. package/dist/globe/map/country-code-map.d.ts.map +1 -0
  295. package/dist/globe/map/country-code-map.js +15 -0
  296. package/dist/globe/map/country-code-map.js.map +1 -0
  297. package/dist/globe/map/map-geometry.d.ts +10 -0
  298. package/dist/globe/map/map-geometry.d.ts.map +1 -0
  299. package/dist/globe/map/map-geometry.js +57 -0
  300. package/dist/globe/map/map-geometry.js.map +1 -0
  301. package/dist/globe/map/map-materials.d.ts +8 -0
  302. package/dist/globe/map/map-materials.d.ts.map +1 -0
  303. package/dist/globe/map/map-materials.js +32 -0
  304. package/dist/globe/map/map-materials.js.map +1 -0
  305. package/dist/globe/map/map-projection.d.ts +11 -0
  306. package/dist/globe/map/map-projection.d.ts.map +1 -0
  307. package/dist/globe/map/map-projection.js +17 -0
  308. package/dist/globe/map/map-projection.js.map +1 -0
  309. package/dist/globe/scene-extras.d.ts +10 -0
  310. package/dist/globe/scene-extras.d.ts.map +1 -0
  311. package/dist/globe/scene-extras.js +69 -0
  312. package/dist/globe/scene-extras.js.map +1 -0
  313. package/dist/hooks/use-kanban-dnd.d.ts +23 -0
  314. package/dist/hooks/use-kanban-dnd.d.ts.map +1 -0
  315. package/dist/hooks/use-kanban-dnd.js +22 -0
  316. package/dist/hooks/use-kanban-dnd.js.map +1 -0
  317. package/dist/hooks/use-mobile.d.ts +2 -0
  318. package/dist/hooks/use-mobile.d.ts.map +1 -0
  319. package/dist/hooks/use-mobile.js +16 -0
  320. package/dist/hooks/use-mobile.js.map +1 -0
  321. package/dist/hooks/use-toast.d.ts +45 -0
  322. package/dist/hooks/use-toast.d.ts.map +1 -0
  323. package/dist/hooks/use-toast.js +125 -0
  324. package/dist/hooks/use-toast.js.map +1 -0
  325. package/dist/index.d.ts +58 -0
  326. package/dist/index.d.ts.map +1 -0
  327. package/dist/index.js +68 -0
  328. package/dist/index.js.map +1 -0
  329. package/dist/lib/currencies.d.ts +33 -0
  330. package/dist/lib/currencies.d.ts.map +1 -0
  331. package/dist/lib/currencies.js +13 -0
  332. package/dist/lib/currencies.js.map +1 -0
  333. package/dist/lib/kanban-transitions.d.ts +12 -0
  334. package/dist/lib/kanban-transitions.d.ts.map +1 -0
  335. package/dist/lib/kanban-transitions.js +13 -0
  336. package/dist/lib/kanban-transitions.js.map +1 -0
  337. package/dist/lib/semantic-tones.d.ts +4 -0
  338. package/dist/lib/semantic-tones.d.ts.map +1 -0
  339. package/dist/lib/semantic-tones.js +35 -0
  340. package/dist/lib/semantic-tones.js.map +1 -0
  341. package/dist/lib/utils.d.ts +3 -0
  342. package/dist/lib/utils.d.ts.map +1 -0
  343. package/dist/lib/utils.js +6 -0
  344. package/dist/lib/utils.js.map +1 -0
  345. package/dist/offer/attachments-folder.d.ts +13 -0
  346. package/dist/offer/attachments-folder.d.ts.map +1 -0
  347. package/dist/offer/attachments-folder.js +20 -0
  348. package/dist/offer/attachments-folder.js.map +1 -0
  349. package/dist/offer/confirm-action-dialog.d.ts +18 -0
  350. package/dist/offer/confirm-action-dialog.d.ts.map +1 -0
  351. package/dist/offer/confirm-action-dialog.js +57 -0
  352. package/dist/offer/confirm-action-dialog.js.map +1 -0
  353. package/dist/offer/index.d.ts +11 -0
  354. package/dist/offer/index.d.ts.map +1 -0
  355. package/dist/offer/index.js +6 -0
  356. package/dist/offer/index.js.map +1 -0
  357. package/dist/offer/inline-counter-form.d.ts +19 -0
  358. package/dist/offer/inline-counter-form.d.ts.map +1 -0
  359. package/dist/offer/inline-counter-form.js +59 -0
  360. package/dist/offer/inline-counter-form.js.map +1 -0
  361. package/dist/offer/negotiation-event-card.d.ts +9 -0
  362. package/dist/offer/negotiation-event-card.d.ts.map +1 -0
  363. package/dist/offer/negotiation-event-card.js +39 -0
  364. package/dist/offer/negotiation-event-card.js.map +1 -0
  365. package/dist/offer/offer-status-badge.d.ts +8 -0
  366. package/dist/offer/offer-status-badge.d.ts.map +1 -0
  367. package/dist/offer/offer-status-badge.js +35 -0
  368. package/dist/offer/offer-status-badge.js.map +1 -0
  369. package/dist/offer/types.d.ts +43 -0
  370. package/dist/offer/types.d.ts.map +1 -0
  371. package/dist/offer/types.js +2 -0
  372. package/dist/offer/types.js.map +1 -0
  373. package/dist/theme/index.d.ts +2 -0
  374. package/dist/theme/index.d.ts.map +1 -0
  375. package/dist/theme/index.js +2 -0
  376. package/dist/theme/index.js.map +1 -0
  377. package/package.json +166 -0
  378. package/src/theme/tokens.css +475 -0
@@ -0,0 +1,87 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import * as Headless from '@headlessui/react';
4
+ import clsx from 'clsx';
5
+ import { useState } from 'react';
6
+ export function Combobox({ options, displayValue, filter, anchor = 'bottom', className, placeholder, autoFocus, 'aria-label': ariaLabel, children, ...props }) {
7
+ const [query, setQuery] = useState('');
8
+ const filteredOptions = query === ''
9
+ ? options
10
+ : options.filter((option) => filter ? filter(option, query) : displayValue(option)?.toLowerCase().includes(query.toLowerCase()));
11
+ return (_jsxs(Headless.Combobox, { ...props, multiple: false, virtual: { options: filteredOptions }, onClose: () => setQuery(''), children: [_jsxs("span", { "data-slot": "control", className: clsx([
12
+ className,
13
+ // Basic layout
14
+ 'relative block w-full',
15
+ // Background color + shadow applied to inset pseudo element, so shadow blends with border in light mode
16
+ 'before:absolute before:inset-px before:rounded-[calc(var(--radius-lg)-1px)] before:bg-white before:shadow-sm',
17
+ // Background color is moved to control and shadow is removed in dark mode so hide `before` pseudo
18
+ 'dark:before:hidden',
19
+ // Focus ring
20
+ 'after:pointer-events-none after:absolute after:inset-0 after:rounded-lg after:ring-transparent after:ring-inset sm:focus-within:after:ring-2 sm:focus-within:after:ring-ring',
21
+ // Disabled state
22
+ 'has-data-disabled:opacity-50 has-data-disabled:before:bg-zinc-950/5 has-data-disabled:before:shadow-none',
23
+ // Invalid state
24
+ 'has-data-invalid:before:shadow-red-500/10',
25
+ ]), children: [_jsx(Headless.ComboboxInput, { autoFocus: autoFocus, "data-slot": "control", "aria-label": ariaLabel, displayValue: (option) => displayValue(option) ?? '', onChange: (event) => setQuery(event.target.value), placeholder: placeholder, className: clsx([
26
+ className,
27
+ // Basic layout
28
+ 'relative block w-full appearance-none rounded-lg py-[calc(--spacing(2.5)-1px)] sm:py-[calc(--spacing(1.5)-1px)]',
29
+ // Horizontal padding
30
+ 'pr-[calc(--spacing(10)-1px)] pl-[calc(--spacing(3.5)-1px)] sm:pr-[calc(--spacing(9)-1px)] sm:pl-[calc(--spacing(3)-1px)]',
31
+ // Typography
32
+ 'text-base/6 text-zinc-950 placeholder:text-zinc-500 sm:text-sm/6 dark:text-white',
33
+ // Border
34
+ 'border border-zinc-950/10 data-hover:border-zinc-950/20 dark:border-white/10 dark:data-hover:border-white/20',
35
+ // Background color
36
+ 'bg-transparent dark:bg-white/5',
37
+ // Hide default focus styles
38
+ 'focus:outline-hidden',
39
+ // Invalid state
40
+ 'data-invalid:border-red-500 data-invalid:data-hover:border-red-500 dark:data-invalid:border-red-500 dark:data-invalid:data-hover:border-red-500',
41
+ // Disabled state
42
+ 'data-disabled:border-zinc-950/20 dark:data-disabled:border-white/15 dark:data-disabled:bg-white/2.5 dark:data-hover:data-disabled:border-white/15',
43
+ // System icons
44
+ 'dark:scheme-dark',
45
+ ]) }), _jsx(Headless.ComboboxButton, { className: "group absolute inset-y-0 right-0 flex items-center px-2", children: _jsxs("svg", { className: "size-5 stroke-zinc-500 group-data-disabled:stroke-zinc-600 group-data-hover:stroke-zinc-700 sm:size-4 dark:stroke-zinc-400 dark:group-data-hover:stroke-zinc-300 forced-colors:stroke-[CanvasText]", viewBox: "0 0 16 16", "aria-hidden": "true", fill: "none", children: [_jsx("path", { d: "M5.75 10.75L8 13L10.25 10.75", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M10.25 5.25L8 3L5.75 5.25", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" })] }) })] }), _jsx(Headless.ComboboxOptions, { transition: true, anchor: anchor, className: clsx(
46
+ // Anchor positioning
47
+ '[--anchor-gap:--spacing(2)] [--anchor-padding:--spacing(4)] sm:data-[anchor~=start]:[--anchor-offset:-4px]',
48
+ // Base styles,
49
+ 'isolate min-w-[calc(var(--input-width)+8px)] scroll-py-1 rounded-xl p-1 select-none empty:invisible',
50
+ // Invisible border that is only visible in `forced-colors` mode for accessibility purposes
51
+ 'outline outline-transparent focus:outline-hidden',
52
+ // Handle scrolling when menu won't fit in viewport
53
+ 'overflow-y-scroll overscroll-contain',
54
+ // Popover background
55
+ 'bg-white/75 backdrop-blur-xl dark:bg-zinc-800/75',
56
+ // Shadows
57
+ 'shadow-lg ring-1 ring-zinc-950/10 dark:ring-white/10 dark:ring-inset',
58
+ // Transitions
59
+ 'transition-opacity duration-100 ease-in data-closed:data-leave:opacity-0 data-transition:pointer-events-none'), children: ({ option }) => children(option) })] }));
60
+ }
61
+ export function ComboboxOption({ children, className, ...props }) {
62
+ const sharedClasses = clsx(
63
+ // Base
64
+ 'flex min-w-0 items-center',
65
+ // Icons
66
+ '*:data-[slot=icon]:size-5 *:data-[slot=icon]:shrink-0 sm:*:data-[slot=icon]:size-4', '*:data-[slot=icon]:text-zinc-500 group-data-focus/option:*:data-[slot=icon]:text-white dark:*:data-[slot=icon]:text-zinc-400', 'forced-colors:*:data-[slot=icon]:text-[CanvasText] forced-colors:group-data-focus/option:*:data-[slot=icon]:text-[Canvas]',
67
+ // Avatars
68
+ '*:data-[slot=avatar]:-mx-0.5 *:data-[slot=avatar]:size-6 sm:*:data-[slot=avatar]:size-5');
69
+ return (_jsxs(Headless.ComboboxOption, { ...props, className: clsx(
70
+ // Basic layout
71
+ 'group/option grid w-full cursor-default grid-cols-[1fr_--spacing(5)] items-baseline gap-x-2 rounded-lg py-2.5 pr-2 pl-3.5 sm:grid-cols-[1fr_--spacing(4)] sm:py-1.5 sm:pr-2 sm:pl-3',
72
+ // Typography
73
+ 'text-base/6 text-zinc-950 sm:text-sm/6 dark:text-white forced-colors:text-[CanvasText]',
74
+ // Focus
75
+ 'outline-hidden data-focus:bg-primary data-focus:text-primary-foreground',
76
+ // Forced colors mode
77
+ 'forced-color-adjust-none forced-colors:data-focus:bg-[Highlight] forced-colors:data-focus:text-[HighlightText]',
78
+ // Disabled
79
+ 'data-disabled:opacity-50'), children: [_jsx("span", { className: clsx(className, sharedClasses), children: children }), _jsx("svg", { className: "relative col-start-2 hidden size-5 self-center stroke-current group-data-selected/option:inline sm:size-4", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true", children: _jsx("path", { d: "M4 8.5l3 3L12 4", strokeWidth: 1.5, strokeLinecap: "round", strokeLinejoin: "round" }) })] }));
80
+ }
81
+ export function ComboboxLabel({ className, ...props }) {
82
+ return _jsx("span", { ...props, className: clsx(className, 'ml-2.5 truncate first:ml-0 sm:ml-2 sm:first:ml-0') });
83
+ }
84
+ export function ComboboxDescription({ className, children, ...props }) {
85
+ return (_jsx("span", { ...props, className: clsx(className, 'flex flex-1 overflow-hidden text-zinc-500 group-data-focus/option:text-white before:w-2 before:min-w-0 before:shrink dark:text-zinc-400'), children: _jsx("span", { className: "flex-1 truncate", children: children }) }));
86
+ }
87
+ //# sourceMappingURL=combobox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"combobox.js","sourceRoot":"","sources":["../../src/components/combobox.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import * as React from "react";
2
+ import { Command as CommandPrimitive } from "cmdk";
3
+ declare function Command({ className, ...props }: React.ComponentProps<typeof CommandPrimitive>): import("react/jsx-runtime").JSX.Element;
4
+ declare function CommandInput({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Input>): import("react/jsx-runtime").JSX.Element;
5
+ declare function CommandList({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.List>): import("react/jsx-runtime").JSX.Element;
6
+ declare function CommandEmpty({ ...props }: React.ComponentProps<typeof CommandPrimitive.Empty>): import("react/jsx-runtime").JSX.Element;
7
+ declare function CommandGroup({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
8
+ declare function CommandSeparator({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
9
+ declare function CommandItem({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
10
+ declare function CommandShortcut({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
11
+ export { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator, };
12
+ //# sourceMappingURL=command.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../../src/components/command.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,MAAM,CAAA;AAKlD,iBAAS,OAAO,CAAC,EACf,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,2CAW/C;AAED,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,2CAiBrD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,2CAWpD;AAED,iBAAS,YAAY,CAAC,EACpB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,2CAQrD;AAED,iBAAS,YAAY,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,KAAK,CAAC,2CAWrD;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,SAAS,CAAC,2CAQzD;AAED,iBAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,gBAAgB,CAAC,IAAI,CAAC,2CAWpD;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,2CAW9B;AAED,OAAO,EACL,OAAO,EACP,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,CAAA"}
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Command as CommandPrimitive } from "cmdk";
4
+ import { SearchIcon } from "lucide-react";
5
+ import { cn } from "../lib/utils";
6
+ function Command({ className, ...props }) {
7
+ return (_jsx(CommandPrimitive, { "data-slot": "command", className: cn("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md", className), ...props }));
8
+ }
9
+ function CommandInput({ className, ...props }) {
10
+ return (_jsxs("div", { className: "flex h-9 items-center gap-2 border-b px-3", "cmdk-input-wrapper": "", children: [_jsx(SearchIcon, { className: "size-4 shrink-0 opacity-50" }), _jsx(CommandPrimitive.Input, { "data-slot": "command-input", className: cn("placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50", className), ...props })] }));
11
+ }
12
+ function CommandList({ className, ...props }) {
13
+ return (_jsx(CommandPrimitive.List, { "data-slot": "command-list", className: cn("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto", className), ...props }));
14
+ }
15
+ function CommandEmpty({ ...props }) {
16
+ return (_jsx(CommandPrimitive.Empty, { "data-slot": "command-empty", className: "py-6 text-center text-sm", ...props }));
17
+ }
18
+ function CommandGroup({ className, ...props }) {
19
+ return (_jsx(CommandPrimitive.Group, { "data-slot": "command-group", className: cn("text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium", className), ...props }));
20
+ }
21
+ function CommandSeparator({ className, ...props }) {
22
+ return (_jsx(CommandPrimitive.Separator, { "data-slot": "command-separator", className: cn("bg-border -mx-1 h-px", className), ...props }));
23
+ }
24
+ function CommandItem({ className, ...props }) {
25
+ return (_jsx(CommandPrimitive.Item, { "data-slot": "command-item", className: cn("data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", className), ...props }));
26
+ }
27
+ function CommandShortcut({ className, ...props }) {
28
+ return (_jsx("span", { "data-slot": "command-shortcut", className: cn("text-muted-foreground ml-auto text-xs tracking-widest", className), ...props }));
29
+ }
30
+ export { Command, CommandInput, CommandList, CommandEmpty, CommandGroup, CommandItem, CommandShortcut, CommandSeparator, };
31
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../src/components/command.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAGZ,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,MAAM,CAAA;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAEzC,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AAEjC,SAAS,OAAO,CAAC,EACf,SAAS,EACT,GAAG,KAAK,EACsC;IAC9C,OAAO,CACL,KAAC,gBAAgB,iBACL,SAAS,EACnB,SAAS,EAAE,EAAE,CACX,2FAA2F,EAC3F,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EAC4C;IACpD,OAAO,CACL,eACE,SAAS,EAAC,2CAA2C,wBAClC,EAAE,aAErB,KAAC,UAAU,IAAC,SAAS,EAAC,4BAA4B,GAAG,EACrD,KAAC,gBAAgB,CAAC,KAAK,iBACX,eAAe,EACzB,SAAS,EAAE,EAAE,CACX,0JAA0J,EAC1J,SAAS,CACV,KACG,KAAK,GACT,IACE,CACP,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EAC2C;IACnD,OAAO,CACL,KAAC,gBAAgB,CAAC,IAAI,iBACV,cAAc,EACxB,SAAS,EAAE,EAAE,CACX,6DAA6D,EAC7D,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,GAAG,KAAK,EAC4C;IACpD,OAAO,CACL,KAAC,gBAAgB,CAAC,KAAK,iBACX,eAAe,EACzB,SAAS,EAAC,0BAA0B,KAChC,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,YAAY,CAAC,EACpB,SAAS,EACT,GAAG,KAAK,EAC4C;IACpD,OAAO,CACL,KAAC,gBAAgB,CAAC,KAAK,iBACX,eAAe,EACzB,SAAS,EAAE,EAAE,CACX,wNAAwN,EACxN,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACgD;IACxD,OAAO,CACL,KAAC,gBAAgB,CAAC,SAAS,iBACf,mBAAmB,EAC7B,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE,SAAS,CAAC,KAC5C,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,WAAW,CAAC,EACnB,SAAS,EACT,GAAG,KAAK,EAC2C;IACnD,OAAO,CACL,KAAC,gBAAgB,CAAC,IAAI,iBACV,cAAc,EACxB,SAAS,EAAE,EAAE,CACX,+WAA+W,EAC/W,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,eAAe,CAAC,EACvB,SAAS,EACT,GAAG,KAAK,EACqB;IAC7B,OAAO,CACL,4BACY,kBAAkB,EAC5B,SAAS,EAAE,EAAE,CACX,uDAAuD,EACvD,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,OAAO,EACL,OAAO,EACP,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,eAAe,EACf,gBAAgB,GACjB,CAAA"}
@@ -0,0 +1,4 @@
1
+ export declare function DescriptionList({ className, ...props }: React.ComponentPropsWithoutRef<'dl'>): import("react/jsx-runtime").JSX.Element;
2
+ export declare function DescriptionTerm({ className, ...props }: React.ComponentPropsWithoutRef<'dt'>): import("react/jsx-runtime").JSX.Element;
3
+ export declare function DescriptionDetails({ className, ...props }: React.ComponentPropsWithoutRef<'dd'>): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=description-list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"description-list.d.ts","sourceRoot":"","sources":["../../src/components/description-list.tsx"],"names":[],"mappings":"AAEA,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,2CAU5F;AAED,wBAAgB,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,2CAU5F;AAED,wBAAgB,kBAAkB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,2CAU/F"}
@@ -0,0 +1,12 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import clsx from 'clsx';
3
+ export function DescriptionList({ className, ...props }) {
4
+ return (_jsx("dl", { ...props, className: clsx(className, 'grid grid-cols-1 text-base/6 sm:grid-cols-[min(50%,--spacing(80))_auto] sm:text-sm/6') }));
5
+ }
6
+ export function DescriptionTerm({ className, ...props }) {
7
+ return (_jsx("dt", { ...props, className: clsx(className, 'col-start-1 border-t border-zinc-950/5 pt-3 text-zinc-500 first:border-none sm:border-t sm:border-zinc-950/5 sm:py-3 dark:border-white/5 dark:text-zinc-400 sm:dark:border-white/5') }));
8
+ }
9
+ export function DescriptionDetails({ className, ...props }) {
10
+ return (_jsx("dd", { ...props, className: clsx(className, 'pt-1 pb-3 text-zinc-950 sm:border-t sm:border-zinc-950/5 sm:py-3 sm:nth-2:border-none dark:text-white dark:sm:border-white/5') }));
11
+ }
12
+ //# sourceMappingURL=description-list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"description-list.js","sourceRoot":"","sources":["../../src/components/description-list.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,UAAU,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAwC;IAC3F,OAAO,CACL,gBACM,KAAK,EACT,SAAS,EAAE,IAAI,CACb,SAAS,EACT,sFAAsF,CACvF,GACD,CACH,CAAA;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAwC;IAC3F,OAAO,CACL,gBACM,KAAK,EACT,SAAS,EAAE,IAAI,CACb,SAAS,EACT,oLAAoL,CACrL,GACD,CACH,CAAA;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAwC;IAC9F,OAAO,CACL,gBACM,KAAK,EACT,SAAS,EAAE,IAAI,CACb,SAAS,EACT,8HAA8H,CAC/H,GACD,CACH,CAAA;AACH,CAAC"}
@@ -0,0 +1,30 @@
1
+ import * as Headless from '@headlessui/react';
2
+ import type React from 'react';
3
+ import { Text } from './text';
4
+ declare const sizes: {
5
+ xs: string;
6
+ sm: string;
7
+ md: string;
8
+ lg: string;
9
+ xl: string;
10
+ '2xl': string;
11
+ '3xl': string;
12
+ '4xl': string;
13
+ '5xl': string;
14
+ '6xl': string;
15
+ };
16
+ export declare function Dialog({ size, className, children, ...props }: {
17
+ size?: keyof typeof sizes;
18
+ className?: string;
19
+ children: React.ReactNode;
20
+ } & Omit<Headless.DialogProps, 'as' | 'className'>): import("react/jsx-runtime").JSX.Element;
21
+ export declare function DialogTitle({ className, ...props }: {
22
+ className?: string;
23
+ } & Omit<Headless.DialogTitleProps, 'as' | 'className'>): import("react/jsx-runtime").JSX.Element;
24
+ export declare function DialogDescription({ className, ...props }: {
25
+ className?: string;
26
+ } & Omit<Headless.DescriptionProps<typeof Text>, 'as' | 'className'>): import("react/jsx-runtime").JSX.Element;
27
+ export declare function DialogBody({ className, ...props }: React.ComponentPropsWithoutRef<'div'>): import("react/jsx-runtime").JSX.Element;
28
+ export declare function DialogActions({ className, ...props }: React.ComponentPropsWithoutRef<'div'>): import("react/jsx-runtime").JSX.Element;
29
+ export {};
30
+ //# sourceMappingURL=dialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.d.ts","sourceRoot":"","sources":["../../src/components/dialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAE7C,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,QAAA,MAAM,KAAK;;;;;;;;;;;CAWV,CAAA;AAED,wBAAgB,MAAM,CAAC,EACrB,IAAW,EACX,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE;IAAE,IAAI,CAAC,EAAE,MAAM,OAAO,KAAK,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,GAAG,IAAI,CACpF,QAAQ,CAAC,WAAW,EACpB,IAAI,GAAG,WAAW,CACnB,2CAyBA;AAED,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE,IAAI,GAAG,WAAW,CAAC,2CAO9E;AAED,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,GAAG,KAAK,EACT,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,IAAI,CAAC,EAAE,IAAI,GAAG,WAAW,CAAC,2CAE3F;AAED,wBAAgB,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,2CAExF;AAED,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,wBAAwB,CAAC,KAAK,CAAC,2CAU3F"}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as Headless from '@headlessui/react';
3
+ import clsx from 'clsx';
4
+ import { Text } from './text';
5
+ const sizes = {
6
+ xs: 'sm:max-w-xs',
7
+ sm: 'sm:max-w-sm',
8
+ md: 'sm:max-w-md',
9
+ lg: 'sm:max-w-lg',
10
+ xl: 'sm:max-w-xl',
11
+ '2xl': 'sm:max-w-2xl',
12
+ '3xl': 'sm:max-w-3xl',
13
+ '4xl': 'sm:max-w-4xl',
14
+ '5xl': 'sm:max-w-5xl',
15
+ '6xl': 'sm:max-w-6xl',
16
+ };
17
+ export function Dialog({ size = 'lg', className, children, ...props }) {
18
+ return (_jsxs(Headless.Dialog, { ...props, children: [_jsx(Headless.DialogBackdrop, { transition: true, className: "fixed inset-0 z-50 flex w-screen justify-center overflow-y-auto bg-zinc-950/40 px-2 py-2 backdrop-blur-sm transition duration-100 focus:outline-0 data-closed:opacity-0 data-enter:ease-out data-leave:ease-in sm:px-6 sm:py-8 lg:px-8 lg:py-16 dark:bg-zinc-950/60" }), _jsx("div", { className: "fixed inset-0 z-50 w-screen overflow-y-auto pt-6 sm:pt-0", children: _jsx("div", { className: "grid min-h-full grid-rows-[1fr_auto] justify-items-center sm:grid-rows-[1fr_auto_3fr] sm:p-4", children: _jsx(Headless.DialogPanel, { transition: true, className: clsx(className, sizes[size], 'row-start-2 w-full min-w-0 rounded-t-3xl bg-white p-(--gutter) shadow-lg ring-1 ring-zinc-950/10 [--gutter:--spacing(8)] sm:mb-auto sm:rounded-2xl dark:bg-zinc-900 dark:ring-white/10 forced-colors:outline', 'transition duration-100 will-change-transform data-closed:translate-y-12 data-closed:opacity-0 data-enter:ease-out data-leave:ease-in sm:data-closed:translate-y-0 sm:data-closed:data-enter:scale-95'), children: children }) }) })] }));
19
+ }
20
+ export function DialogTitle({ className, ...props }) {
21
+ return (_jsx(Headless.DialogTitle, { ...props, className: clsx(className, 'text-lg/6 font-semibold text-balance text-zinc-950 sm:text-base/6 dark:text-white') }));
22
+ }
23
+ export function DialogDescription({ className, ...props }) {
24
+ return _jsx(Headless.Description, { as: Text, ...props, className: clsx(className, 'mt-2 text-pretty') });
25
+ }
26
+ export function DialogBody({ className, ...props }) {
27
+ return _jsx("div", { ...props, className: clsx(className, 'mt-6') });
28
+ }
29
+ export function DialogActions({ className, ...props }) {
30
+ return (_jsx("div", { ...props, className: clsx(className, 'mt-8 flex flex-col-reverse items-center justify-end gap-3 *:w-full sm:flex-row sm:*:w-auto') }));
31
+ }
32
+ //# sourceMappingURL=dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dialog.js","sourceRoot":"","sources":["../../src/components/dialog.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,QAAQ,MAAM,mBAAmB,CAAA;AAC7C,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAE7B,MAAM,KAAK,GAAG;IACZ,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,aAAa;IACjB,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,cAAc;IACrB,KAAK,EAAE,cAAc;CACtB,CAAA;AAED,MAAM,UAAU,MAAM,CAAC,EACrB,IAAI,GAAG,IAAI,EACX,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EAIT;IACC,OAAO,CACL,MAAC,QAAQ,CAAC,MAAM,OAAK,KAAK,aACxB,KAAC,QAAQ,CAAC,cAAc,IACtB,UAAU,QACV,SAAS,EAAC,qQAAqQ,GAC/Q,EAEF,cAAK,SAAS,EAAC,0DAA0D,YACvE,cAAK,SAAS,EAAC,8FAA8F,YAC3G,KAAC,QAAQ,CAAC,WAAW,IACnB,UAAU,QACV,SAAS,EAAE,IAAI,CACb,SAAS,EACT,KAAK,CAAC,IAAI,CAAC,EACX,8MAA8M,EAC9M,uMAAuM,CACxM,YAEA,QAAQ,GACY,GACnB,GACF,IACU,CACnB,CAAA;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACqE;IAC7E,OAAO,CACL,KAAC,QAAQ,CAAC,WAAW,OACf,KAAK,EACT,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,mFAAmF,CAAC,GAC/G,CACH,CAAA;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAChC,SAAS,EACT,GAAG,KAAK,EACkF;IAC1F,OAAO,KAAC,QAAQ,CAAC,WAAW,IAAC,EAAE,EAAE,IAAI,KAAM,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC,GAAI,CAAA;AACtG,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAyC;IACvF,OAAO,iBAAS,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,GAAI,CAAA;AAC/D,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAyC;IAC1F,OAAO,CACL,iBACM,KAAK,EACT,SAAS,EAAE,IAAI,CACb,SAAS,EACT,4FAA4F,CAC7F,GACD,CACH,CAAA;AACH,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function Divider({ soft, className, ...props }: {
2
+ soft?: boolean;
3
+ } & React.ComponentPropsWithoutRef<'hr'>): import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=divider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"divider.d.ts","sourceRoot":"","sources":["../../src/components/divider.tsx"],"names":[],"mappings":"AAEA,wBAAgB,OAAO,CAAC,EACtB,IAAY,EACZ,SAAS,EACT,GAAG,KAAK,EACT,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,2CAa3D"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import clsx from 'clsx';
3
+ export function Divider({ soft = false, className, ...props }) {
4
+ return (_jsx("hr", { role: "presentation", ...props, className: clsx(className, 'w-full border-t', soft && 'border-zinc-950/5 dark:border-white/5', !soft && 'border-zinc-950/10 dark:border-white/10') }));
5
+ }
6
+ //# sourceMappingURL=divider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"divider.js","sourceRoot":"","sources":["../../src/components/divider.tsx"],"names":[],"mappings":";AAAA,OAAO,IAAI,MAAM,MAAM,CAAA;AAEvB,MAAM,UAAU,OAAO,CAAC,EACtB,IAAI,GAAG,KAAK,EACZ,SAAS,EACT,GAAG,KAAK,EACkD;IAC1D,OAAO,CACL,aACE,IAAI,EAAC,cAAc,KACf,KAAK,EACT,SAAS,EAAE,IAAI,CACb,SAAS,EACT,iBAAiB,EACjB,IAAI,IAAI,uCAAuC,EAC/C,CAAC,IAAI,IAAI,yCAAyC,CACnD,GACD,CACH,CAAA;AACH,CAAC"}
@@ -0,0 +1,23 @@
1
+ import * as React from "react";
2
+ import { Drawer as DrawerPrimitive } from "vaul";
3
+ declare const Drawer: {
4
+ ({ shouldScaleBackground, ...props }: React.ComponentProps<typeof DrawerPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
5
+ displayName: string;
6
+ };
7
+ declare const DrawerTrigger: React.ForwardRefExoticComponent<import("@radix-ui/react-dialog").DialogTriggerProps & React.RefAttributes<HTMLButtonElement>>;
8
+ declare const DrawerPortal: typeof import("vaul").Portal;
9
+ declare const DrawerClose: React.ForwardRefExoticComponent<import("@radix-ui/react-dialog").DialogCloseProps & React.RefAttributes<HTMLButtonElement>>;
10
+ declare const DrawerOverlay: React.ForwardRefExoticComponent<Omit<Omit<import("@radix-ui/react-dialog").DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
11
+ declare const DrawerContent: React.ForwardRefExoticComponent<Omit<Omit<import("@radix-ui/react-dialog").DialogContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
12
+ declare const DrawerHeader: {
13
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
14
+ displayName: string;
15
+ };
16
+ declare const DrawerFooter: {
17
+ ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
18
+ displayName: string;
19
+ };
20
+ declare const DrawerTitle: React.ForwardRefExoticComponent<Omit<import("@radix-ui/react-dialog").DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
21
+ declare const DrawerDescription: React.ForwardRefExoticComponent<Omit<import("@radix-ui/react-dialog").DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
22
+ export { Drawer, DrawerPortal, DrawerOverlay, DrawerTrigger, DrawerClose, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription, };
23
+ //# sourceMappingURL=drawer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawer.d.ts","sourceRoot":"","sources":["../../src/components/drawer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,MAAM,IAAI,eAAe,EAAE,MAAM,MAAM,CAAC;AAGjD,QAAA,MAAM,MAAM;0CAGT,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC;;CAKnD,CAAC;AAGF,QAAA,MAAM,aAAa,+HAA0B,CAAC;AAE9C,QAAA,MAAM,YAAY,8BAAyB,CAAC;AAE5C,QAAA,MAAM,WAAW,6HAAwB,CAAC;AAE1C,QAAA,MAAM,aAAa,kOASjB,CAAC;AAGH,QAAA,MAAM,aAAa,kOAmBjB,CAAC;AAGH,QAAA,MAAM,YAAY;8BAGf,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAKtC,CAAC;AAGF,QAAA,MAAM,YAAY;8BAGf,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;;CAQtC,CAAC;AAGF,QAAA,MAAM,WAAW,qLAYf,CAAC;AAGH,QAAA,MAAM,iBAAiB,+LASrB,CAAC;AAGH,OAAO,EACL,MAAM,EACN,YAAY,EACZ,aAAa,EACb,aAAa,EACb,WAAW,EACX,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,GAClB,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { Drawer as DrawerPrimitive } from "vaul";
4
+ import { cn } from "../lib/utils";
5
+ const Drawer = ({ shouldScaleBackground = true, ...props }) => (_jsx(DrawerPrimitive.Root, { shouldScaleBackground: shouldScaleBackground, ...props }));
6
+ Drawer.displayName = "Drawer";
7
+ const DrawerTrigger = DrawerPrimitive.Trigger;
8
+ const DrawerPortal = DrawerPrimitive.Portal;
9
+ const DrawerClose = DrawerPrimitive.Close;
10
+ const DrawerOverlay = React.forwardRef(({ className, ...props }, ref) => (_jsx(DrawerPrimitive.Overlay, { ref: ref, className: cn("fixed inset-0 z-50 bg-black/80", className), ...props })));
11
+ DrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName;
12
+ const DrawerContent = React.forwardRef(({ className, children, ...props }, ref) => (_jsxs(DrawerPortal, { children: [_jsx(DrawerOverlay, {}), _jsxs(DrawerPrimitive.Content, { ref: ref, className: cn("fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto max-h-[96vh] flex-col rounded-t-2xl border border-border bg-background", className), ...props, children: [_jsx("div", { className: "mx-auto mt-4 h-1.5 w-12 shrink-0 rounded-full bg-muted" }), children] })] })));
13
+ DrawerContent.displayName = "DrawerContent";
14
+ const DrawerHeader = ({ className, ...props }) => (_jsx("div", { className: cn("grid gap-1.5 p-4 text-center sm:text-left", className), ...props }));
15
+ DrawerHeader.displayName = "DrawerHeader";
16
+ const DrawerFooter = ({ className, ...props }) => (_jsx("div", { className: cn("mt-auto flex flex-col gap-2 p-4 pb-[calc(1rem+env(safe-area-inset-bottom))]", className), ...props }));
17
+ DrawerFooter.displayName = "DrawerFooter";
18
+ const DrawerTitle = React.forwardRef(({ className, ...props }, ref) => (_jsx(DrawerPrimitive.Title, { ref: ref, className: cn("text-lg font-semibold leading-none tracking-tight", className), ...props })));
19
+ DrawerTitle.displayName = DrawerPrimitive.Title.displayName;
20
+ const DrawerDescription = React.forwardRef(({ className, ...props }, ref) => (_jsx(DrawerPrimitive.Description, { ref: ref, className: cn("text-sm text-muted-foreground", className), ...props })));
21
+ DrawerDescription.displayName = DrawerPrimitive.Description.displayName;
22
+ export { Drawer, DrawerPortal, DrawerOverlay, DrawerTrigger, DrawerClose, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription, };
23
+ //# sourceMappingURL=drawer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawer.js","sourceRoot":"","sources":["../../src/components/drawer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import * as React from "react";
2
+ import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
3
+ declare function DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function DropdownMenuPortal({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
5
+ declare function DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
6
+ declare function DropdownMenuContent({ className, sideOffset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
7
+ declare function DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
8
+ declare function DropdownMenuItem({ className, inset, variant, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {
9
+ inset?: boolean;
10
+ variant?: "default" | "destructive";
11
+ }): import("react/jsx-runtime").JSX.Element;
12
+ declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>): import("react/jsx-runtime").JSX.Element;
13
+ declare function DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>): import("react/jsx-runtime").JSX.Element;
14
+ declare function DropdownMenuRadioItem({ className, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>): import("react/jsx-runtime").JSX.Element;
15
+ declare function DropdownMenuLabel({ className, inset, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {
16
+ inset?: boolean;
17
+ }): import("react/jsx-runtime").JSX.Element;
18
+ declare function DropdownMenuSeparator({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>): import("react/jsx-runtime").JSX.Element;
19
+ declare function DropdownMenuShortcut({ className, ...props }: React.ComponentProps<"span">): import("react/jsx-runtime").JSX.Element;
20
+ declare function DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>): import("react/jsx-runtime").JSX.Element;
21
+ declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {
22
+ inset?: boolean;
23
+ }): import("react/jsx-runtime").JSX.Element;
24
+ declare function DropdownMenuSubContent({ className, ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>): import("react/jsx-runtime").JSX.Element;
25
+ export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };
26
+ //# sourceMappingURL=dropdown-menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu.d.ts","sourceRoot":"","sources":["../../src/components/dropdown-menu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { CheckIcon, ChevronRightIcon, CircleIcon } from "lucide-react";
4
+ import { DropdownMenu as DropdownMenuPrimitive } from "radix-ui";
5
+ import { cn } from "../lib/utils";
6
+ function DropdownMenu({ ...props }) {
7
+ return _jsx(DropdownMenuPrimitive.Root, { "data-slot": "dropdown-menu", ...props });
8
+ }
9
+ function DropdownMenuPortal({ ...props }) {
10
+ return (_jsx(DropdownMenuPrimitive.Portal, { "data-slot": "dropdown-menu-portal", ...props }));
11
+ }
12
+ function DropdownMenuTrigger({ ...props }) {
13
+ return (_jsx(DropdownMenuPrimitive.Trigger, { "data-slot": "dropdown-menu-trigger", ...props }));
14
+ }
15
+ function DropdownMenuContent({ className, sideOffset = 4, ...props }) {
16
+ return (_jsx(DropdownMenuPrimitive.Portal, { children: _jsx(DropdownMenuPrimitive.Content, { "data-slot": "dropdown-menu-content", sideOffset: sideOffset, className: cn("z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95", className), ...props }) }));
17
+ }
18
+ function DropdownMenuGroup({ ...props }) {
19
+ return (_jsx(DropdownMenuPrimitive.Group, { "data-slot": "dropdown-menu-group", ...props }));
20
+ }
21
+ function DropdownMenuItem({ className, inset, variant = "default", ...props }) {
22
+ return (_jsx(DropdownMenuPrimitive.Item, { "data-slot": "dropdown-menu-item", "data-inset": inset, "data-variant": variant, className: cn("relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground data-[variant=destructive]:*:[svg]:text-destructive!", className), ...props }));
23
+ }
24
+ function DropdownMenuCheckboxItem({ className, children, checked, ...props }) {
25
+ return (_jsxs(DropdownMenuPrimitive.CheckboxItem, { "data-slot": "dropdown-menu-checkbox-item", className: cn("relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), checked: checked, ...props, children: [_jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: _jsx(DropdownMenuPrimitive.ItemIndicator, { children: _jsx(CheckIcon, { className: "size-4" }) }) }), children] }));
26
+ }
27
+ function DropdownMenuRadioGroup({ ...props }) {
28
+ return (_jsx(DropdownMenuPrimitive.RadioGroup, { "data-slot": "dropdown-menu-radio-group", ...props }));
29
+ }
30
+ function DropdownMenuRadioItem({ className, children, ...props }) {
31
+ return (_jsxs(DropdownMenuPrimitive.RadioItem, { "data-slot": "dropdown-menu-radio-item", className: cn("relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className), ...props, children: [_jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: _jsx(DropdownMenuPrimitive.ItemIndicator, { children: _jsx(CircleIcon, { className: "size-2 fill-current" }) }) }), children] }));
32
+ }
33
+ function DropdownMenuLabel({ className, inset, ...props }) {
34
+ return (_jsx(DropdownMenuPrimitive.Label, { "data-slot": "dropdown-menu-label", "data-inset": inset, className: cn("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8", className), ...props }));
35
+ }
36
+ function DropdownMenuSeparator({ className, ...props }) {
37
+ return (_jsx(DropdownMenuPrimitive.Separator, { "data-slot": "dropdown-menu-separator", className: cn("-mx-1 my-1 h-px bg-border", className), ...props }));
38
+ }
39
+ function DropdownMenuShortcut({ className, ...props }) {
40
+ return (_jsx("span", { "data-slot": "dropdown-menu-shortcut", className: cn("ml-auto text-xs tracking-widest text-muted-foreground", className), ...props }));
41
+ }
42
+ function DropdownMenuSub({ ...props }) {
43
+ return _jsx(DropdownMenuPrimitive.Sub, { "data-slot": "dropdown-menu-sub", ...props });
44
+ }
45
+ function DropdownMenuSubTrigger({ className, inset, children, ...props }) {
46
+ return (_jsxs(DropdownMenuPrimitive.SubTrigger, { "data-slot": "dropdown-menu-sub-trigger", "data-inset": inset, className: cn("flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-[inset]:pl-8 data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 [&_svg:not([class*='text-'])]:text-muted-foreground", className), ...props, children: [children, _jsx(ChevronRightIcon, { className: "ml-auto size-4" })] }));
47
+ }
48
+ function DropdownMenuSubContent({ className, ...props }) {
49
+ return (_jsx(DropdownMenuPrimitive.SubContent, { "data-slot": "dropdown-menu-sub-content", className: cn("z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95", className), ...props }));
50
+ }
51
+ export { DropdownMenu, DropdownMenuPortal, DropdownMenuTrigger, DropdownMenuContent, DropdownMenuGroup, DropdownMenuLabel, DropdownMenuItem, DropdownMenuCheckboxItem, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubTrigger, DropdownMenuSubContent, };
52
+ //# sourceMappingURL=dropdown-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown-menu.js","sourceRoot":"","sources":["../../src/components/dropdown-menu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import * as Headless from '@headlessui/react';
2
+ import type React from 'react';
3
+ import { Button } from './button';
4
+ import { Link } from './link';
5
+ export declare function Dropdown(props: Omit<Headless.MenuProps, 'as'>): import("react/jsx-runtime").JSX.Element;
6
+ export declare function DropdownButton<T extends React.ElementType = typeof Button>({ as, ...props }: {
7
+ className?: string;
8
+ } & Omit<Headless.MenuButtonProps<T>, 'className'>): import("react/jsx-runtime").JSX.Element;
9
+ export declare function DropdownMenu({ anchor, className, ...props }: {
10
+ className?: string;
11
+ } & Omit<Headless.MenuItemsProps, 'as' | 'className'>): import("react/jsx-runtime").JSX.Element;
12
+ export declare function DropdownItem({ className, ...props }: {
13
+ className?: string;
14
+ } & (({
15
+ href?: never;
16
+ } & Omit<Headless.MenuItemProps<'button'>, 'as' | 'className'>) | ({
17
+ href: string;
18
+ } & Omit<Headless.MenuItemProps<typeof Link>, 'as' | 'className'>))): import("react/jsx-runtime").JSX.Element;
19
+ export declare function DropdownHeader({ className, ...props }: React.ComponentPropsWithoutRef<'div'>): import("react/jsx-runtime").JSX.Element;
20
+ export declare function DropdownSection({ className, ...props }: {
21
+ className?: string;
22
+ } & Omit<Headless.MenuSectionProps, 'as' | 'className'>): import("react/jsx-runtime").JSX.Element;
23
+ export declare function DropdownHeading({ className, ...props }: {
24
+ className?: string;
25
+ } & Omit<Headless.MenuHeadingProps, 'as' | 'className'>): import("react/jsx-runtime").JSX.Element;
26
+ export declare function DropdownDivider({ className, ...props }: {
27
+ className?: string;
28
+ } & Omit<Headless.MenuSeparatorProps, 'as' | 'className'>): import("react/jsx-runtime").JSX.Element;
29
+ export declare function DropdownLabel({ className, ...props }: React.ComponentPropsWithoutRef<'div'>): import("react/jsx-runtime").JSX.Element;
30
+ export declare function DropdownDescription({ className, ...props }: {
31
+ className?: string;
32
+ } & Omit<Headless.DescriptionProps, 'as' | 'className'>): import("react/jsx-runtime").JSX.Element;
33
+ export declare function DropdownShortcut({ keys, className, ...props }: {
34
+ keys: string | string[];
35
+ className?: string;
36
+ } & Omit<Headless.DescriptionProps<'kbd'>, 'as' | 'className'>): import("react/jsx-runtime").JSX.Element;
37
+ //# sourceMappingURL=dropdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown.d.ts","sourceRoot":"","sources":["../../src/components/dropdown.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,79 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as Headless from '@headlessui/react';
4
+ import clsx from 'clsx';
5
+ import { Button } from './button';
6
+ import { Link } from './link';
7
+ export function Dropdown(props) {
8
+ return _jsx(Headless.Menu, { as: "div", ...props });
9
+ }
10
+ export function DropdownButton({ as = Button, ...props }) {
11
+ return _jsx(Headless.MenuButton, { as: as, ...props });
12
+ }
13
+ export function DropdownMenu({ anchor = 'bottom', className, ...props }) {
14
+ return (_jsx(Headless.MenuItems, { ...props, transition: true, anchor: anchor, className: clsx(className,
15
+ // Anchor positioning
16
+ '[--anchor-gap:--spacing(2)] [--anchor-padding:--spacing(1)] data-[anchor~=end]:[--anchor-offset:6px] data-[anchor~=start]:[--anchor-offset:-6px] sm:data-[anchor~=end]:[--anchor-offset:4px] sm:data-[anchor~=start]:[--anchor-offset:-4px]',
17
+ // Base styles
18
+ 'isolate w-max rounded-xl p-1',
19
+ // Invisible border that is only visible in `forced-colors` mode for accessibility purposes
20
+ 'outline outline-transparent focus:outline-hidden',
21
+ // Handle scrolling when menu won't fit in viewport
22
+ 'overflow-y-auto',
23
+ // Popover background
24
+ 'bg-white/75 backdrop-blur-xl dark:bg-zinc-800/75',
25
+ // Shadows
26
+ 'shadow-lg ring-1 ring-zinc-950/10 dark:ring-white/10 dark:ring-inset',
27
+ // Define grid at the menu level if subgrid is supported
28
+ 'supports-[grid-template-columns:subgrid]:grid supports-[grid-template-columns:subgrid]:grid-cols-[auto_1fr_1.5rem_0.5rem_auto]',
29
+ // Transitions
30
+ 'transition data-leave:duration-100 data-leave:ease-in data-closed:data-leave:opacity-0') }));
31
+ }
32
+ export function DropdownItem({ className, ...props }) {
33
+ const classes = clsx(className,
34
+ // Base styles
35
+ 'group cursor-default rounded-lg px-3.5 py-2.5 focus:outline-hidden sm:px-3 sm:py-1.5',
36
+ // Text styles
37
+ 'text-left text-base/6 text-zinc-950 sm:text-sm/6 dark:text-white forced-colors:text-[CanvasText]',
38
+ // Focus
39
+ 'data-focus:bg-blue-500 data-focus:text-white',
40
+ // Disabled state
41
+ 'data-disabled:opacity-50',
42
+ // Forced colors mode
43
+ 'forced-color-adjust-none forced-colors:data-focus:bg-[Highlight] forced-colors:data-focus:text-[HighlightText] forced-colors:data-focus:*:data-[slot=icon]:text-[HighlightText]',
44
+ // Use subgrid when available but fallback to an explicit grid layout if not
45
+ 'col-span-full grid grid-cols-[auto_1fr_1.5rem_0.5rem_auto] items-center supports-[grid-template-columns:subgrid]:grid-cols-subgrid',
46
+ // Icons
47
+ '*:data-[slot=icon]:col-start-1 *:data-[slot=icon]:row-start-1 *:data-[slot=icon]:mr-2.5 *:data-[slot=icon]:-ml-0.5 *:data-[slot=icon]:size-5 sm:*:data-[slot=icon]:mr-2 sm:*:data-[slot=icon]:size-4', '*:data-[slot=icon]:text-zinc-500 data-focus:*:data-[slot=icon]:text-white dark:*:data-[slot=icon]:text-zinc-400 dark:data-focus:*:data-[slot=icon]:text-white',
48
+ // Avatar
49
+ '*:data-[slot=avatar]:mr-2.5 *:data-[slot=avatar]:-ml-1 *:data-[slot=avatar]:size-6 sm:*:data-[slot=avatar]:mr-2 sm:*:data-[slot=avatar]:size-5');
50
+ return typeof props.href === 'string' ? (_jsx(Headless.MenuItem, { as: Link, ...props, className: classes })) : (_jsx(Headless.MenuItem, { as: "button", type: "button", ...props, className: classes }));
51
+ }
52
+ export function DropdownHeader({ className, ...props }) {
53
+ return _jsx("div", { ...props, className: clsx(className, 'col-span-5 px-3.5 pt-2.5 pb-1 sm:px-3') });
54
+ }
55
+ export function DropdownSection({ className, ...props }) {
56
+ return (_jsx(Headless.MenuSection, { ...props, className: clsx(className,
57
+ // Define grid at the section level instead of the item level if subgrid is supported
58
+ 'col-span-full supports-[grid-template-columns:subgrid]:grid supports-[grid-template-columns:subgrid]:grid-cols-[auto_1fr_1.5rem_0.5rem_auto]') }));
59
+ }
60
+ export function DropdownHeading({ className, ...props }) {
61
+ return (_jsx(Headless.MenuHeading, { ...props, className: clsx(className, 'col-span-full grid grid-cols-[1fr_auto] gap-x-12 px-3.5 pt-2 pb-1 text-sm/5 font-medium text-zinc-500 sm:px-3 sm:text-xs/5 dark:text-zinc-400') }));
62
+ }
63
+ export function DropdownDivider({ className, ...props }) {
64
+ return (_jsx(Headless.MenuSeparator, { ...props, className: clsx(className, 'col-span-full mx-3.5 my-1 h-px border-0 bg-zinc-950/5 sm:mx-3 dark:bg-white/10 forced-colors:bg-[CanvasText]') }));
65
+ }
66
+ export function DropdownLabel({ className, ...props }) {
67
+ return _jsx("div", { ...props, "data-slot": "label", className: clsx(className, 'col-start-2 row-start-1'), ...props });
68
+ }
69
+ export function DropdownDescription({ className, ...props }) {
70
+ return (_jsx(Headless.Description, { "data-slot": "description", ...props, className: clsx(className, 'col-span-2 col-start-2 row-start-2 text-sm/5 text-zinc-500 group-data-focus:text-white sm:text-xs/5 dark:text-zinc-400 forced-colors:group-data-focus:text-[HighlightText]') }));
71
+ }
72
+ export function DropdownShortcut({ keys, className, ...props }) {
73
+ return (_jsx(Headless.Description, { as: "kbd", ...props, className: clsx(className, 'col-start-5 row-start-1 flex justify-self-end'), children: (Array.isArray(keys) ? keys : keys.split('')).map((char, index) => (_jsx("kbd", { className: clsx([
74
+ 'min-w-[2ch] text-center font-sans text-zinc-400 capitalize group-data-focus:text-white forced-colors:group-data-focus:text-[HighlightText]',
75
+ // Make sure key names that are longer than one character (like "Tab") have extra space
76
+ index > 0 && char.length > 1 && 'pl-1',
77
+ ]), children: char }, index))) }));
78
+ }
79
+ //# sourceMappingURL=dropdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropdown.js","sourceRoot":"","sources":["../../src/components/dropdown.tsx"],"names":[],"mappings":"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"}