@lssm/lib.ui-kit-web 0.0.0-canary-20251120170226

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 (426) hide show
  1. package/README.md +73 -0
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.js +0 -0
  4. package/dist/node_modules/sonner/dist/index.js +912 -0
  5. package/dist/node_modules/sonner/dist/index.js.map +1 -0
  6. package/dist/tsconfig.tsbuildinfo +1 -0
  7. package/dist/ui/accordion.d.ts +25 -0
  8. package/dist/ui/accordion.d.ts.map +1 -0
  9. package/dist/ui/accordion.js +49 -0
  10. package/dist/ui/accordion.js.map +1 -0
  11. package/dist/ui/alert-dialog.d.ts +49 -0
  12. package/dist/ui/alert-dialog.d.ts.map +1 -0
  13. package/dist/ui/alert-dialog.js +86 -0
  14. package/dist/ui/alert-dialog.js.map +1 -0
  15. package/dist/ui/alert.d.ts +25 -0
  16. package/dist/ui/alert.d.ts.map +1 -0
  17. package/dist/ui/alert.js +39 -0
  18. package/dist/ui/alert.js.map +1 -0
  19. package/dist/ui/aspect-ratio.d.ts +8 -0
  20. package/dist/ui/aspect-ratio.d.ts.map +1 -0
  21. package/dist/ui/aspect-ratio.js +11 -0
  22. package/dist/ui/aspect-ratio.js.map +1 -0
  23. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts +8 -0
  24. package/dist/ui/atoms/FilterSelect/FilterSelect.d.ts.map +1 -0
  25. package/dist/ui/atoms/FilterSelect/FilterSelect.js +53 -0
  26. package/dist/ui/atoms/FilterSelect/FilterSelect.js.map +1 -0
  27. package/dist/ui/atoms/FilterSelect/index.d.ts +3 -0
  28. package/dist/ui/atoms/FilterSelect/index.js +3 -0
  29. package/dist/ui/atoms/FilterSelect/types.d.ts +19 -0
  30. package/dist/ui/atoms/FilterSelect/types.d.ts.map +1 -0
  31. package/dist/ui/atoms/FilterSelect/types.js +0 -0
  32. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts +23 -0
  33. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.d.ts.map +1 -0
  34. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js +46 -0
  35. package/dist/ui/atoms/LoadingSpinner/LoadingSpinner.js.map +1 -0
  36. package/dist/ui/atoms/LoadingSpinner/index.d.ts +2 -0
  37. package/dist/ui/atoms/LoadingSpinner/index.js +3 -0
  38. package/dist/ui/atoms/Pagination/Pagination.d.ts +8 -0
  39. package/dist/ui/atoms/Pagination/Pagination.d.ts.map +1 -0
  40. package/dist/ui/atoms/Pagination/Pagination.js +157 -0
  41. package/dist/ui/atoms/Pagination/Pagination.js.map +1 -0
  42. package/dist/ui/atoms/Pagination/index.d.ts +3 -0
  43. package/dist/ui/atoms/Pagination/index.js +3 -0
  44. package/dist/ui/atoms/Pagination/types.d.ts +16 -0
  45. package/dist/ui/atoms/Pagination/types.d.ts.map +1 -0
  46. package/dist/ui/atoms/Pagination/types.js +0 -0
  47. package/dist/ui/atoms/SearchInput/SearchInput.d.ts +8 -0
  48. package/dist/ui/atoms/SearchInput/SearchInput.d.ts.map +1 -0
  49. package/dist/ui/atoms/SearchInput/SearchInput.js +50 -0
  50. package/dist/ui/atoms/SearchInput/SearchInput.js.map +1 -0
  51. package/dist/ui/atoms/SearchInput/index.d.ts +3 -0
  52. package/dist/ui/atoms/SearchInput/index.js +3 -0
  53. package/dist/ui/atoms/SearchInput/types.d.ts +13 -0
  54. package/dist/ui/atoms/SearchInput/types.d.ts.map +1 -0
  55. package/dist/ui/atoms/SearchInput/types.js +0 -0
  56. package/dist/ui/avatar.d.ts +20 -0
  57. package/dist/ui/avatar.d.ts.map +1 -0
  58. package/dist/ui/avatar.js +34 -0
  59. package/dist/ui/avatar.js.map +1 -0
  60. package/dist/ui/badge.d.ts +20 -0
  61. package/dist/ui/badge.d.ts.map +1 -0
  62. package/dist/ui/badge.js +27 -0
  63. package/dist/ui/badge.js.map +1 -0
  64. package/dist/ui/breadcrumb.d.ts +38 -0
  65. package/dist/ui/breadcrumb.d.ts.map +1 -0
  66. package/dist/ui/breadcrumb.js +72 -0
  67. package/dist/ui/breadcrumb.js.map +1 -0
  68. package/dist/ui/button.d.ts +23 -0
  69. package/dist/ui/button.d.ts.map +1 -0
  70. package/dist/ui/button.js +44 -0
  71. package/dist/ui/button.js.map +1 -0
  72. package/dist/ui/calendar.d.ts +27 -0
  73. package/dist/ui/calendar.d.ts.map +1 -0
  74. package/dist/ui/calendar.js +110 -0
  75. package/dist/ui/calendar.js.map +1 -0
  76. package/dist/ui/card.d.ts +35 -0
  77. package/dist/ui/card.d.ts.map +1 -0
  78. package/dist/ui/card.js +58 -0
  79. package/dist/ui/card.js.map +1 -0
  80. package/dist/ui/carousel.d.ts +48 -0
  81. package/dist/ui/carousel.d.ts.map +1 -0
  82. package/dist/ui/carousel.js +137 -0
  83. package/dist/ui/carousel.js.map +1 -0
  84. package/dist/ui/checkbox.d.ts +12 -0
  85. package/dist/ui/checkbox.d.ts.map +1 -0
  86. package/dist/ui/checkbox.js +26 -0
  87. package/dist/ui/checkbox.js.map +1 -0
  88. package/dist/ui/collapsible.d.ts +16 -0
  89. package/dist/ui/collapsible.d.ts.map +1 -0
  90. package/dist/ui/collapsible.js +29 -0
  91. package/dist/ui/collapsible.js.map +1 -0
  92. package/dist/ui/command.d.ts +53 -0
  93. package/dist/ui/command.d.ts.map +1 -0
  94. package/dist/ui/command.js +91 -0
  95. package/dist/ui/command.js.map +1 -0
  96. package/dist/ui/confirm-dialog.d.ts +31 -0
  97. package/dist/ui/confirm-dialog.d.ts.map +1 -0
  98. package/dist/ui/confirm-dialog.js +34 -0
  99. package/dist/ui/confirm-dialog.js.map +1 -0
  100. package/dist/ui/context-menu.d.ts +35 -0
  101. package/dist/ui/context-menu.d.ts.map +1 -0
  102. package/dist/ui/context-menu.js +85 -0
  103. package/dist/ui/context-menu.js.map +1 -0
  104. package/dist/ui/cta.d.ts +15 -0
  105. package/dist/ui/cta.d.ts.map +1 -0
  106. package/dist/ui/cta.js +39 -0
  107. package/dist/ui/cta.js.map +1 -0
  108. package/dist/ui/date-picker.d.ts +26 -0
  109. package/dist/ui/date-picker.d.ts.map +1 -0
  110. package/dist/ui/date-picker.js +102 -0
  111. package/dist/ui/date-picker.js.map +1 -0
  112. package/dist/ui/date-range-picker.d.ts +26 -0
  113. package/dist/ui/date-range-picker.d.ts.map +1 -0
  114. package/dist/ui/date-range-picker.js +55 -0
  115. package/dist/ui/date-range-picker.js.map +1 -0
  116. package/dist/ui/datetime-picker.d.ts +28 -0
  117. package/dist/ui/datetime-picker.d.ts.map +1 -0
  118. package/dist/ui/datetime-picker.js +45 -0
  119. package/dist/ui/datetime-picker.js.map +1 -0
  120. package/dist/ui/dialog.d.ts +48 -0
  121. package/dist/ui/dialog.d.ts.map +1 -0
  122. package/dist/ui/dialog.js +91 -0
  123. package/dist/ui/dialog.js.map +1 -0
  124. package/dist/ui/drawer.d.ts +45 -0
  125. package/dist/ui/drawer.d.ts.map +1 -0
  126. package/dist/ui/drawer.js +83 -0
  127. package/dist/ui/drawer.js.map +1 -0
  128. package/dist/ui/dropdown-menu.d.ts +78 -0
  129. package/dist/ui/dropdown-menu.d.ts.map +1 -0
  130. package/dist/ui/dropdown-menu.js +128 -0
  131. package/dist/ui/dropdown-menu.js.map +1 -0
  132. package/dist/ui/empty-state.d.ts +29 -0
  133. package/dist/ui/empty-state.d.ts.map +1 -0
  134. package/dist/ui/empty-state.js +43 -0
  135. package/dist/ui/empty-state.js.map +1 -0
  136. package/dist/ui/empty.d.ts +36 -0
  137. package/dist/ui/empty.d.ts.map +1 -0
  138. package/dist/ui/empty.js +62 -0
  139. package/dist/ui/empty.js.map +1 -0
  140. package/dist/ui/field.d.ts +65 -0
  141. package/dist/ui/field.d.ts.map +1 -0
  142. package/dist/ui/field.js +122 -0
  143. package/dist/ui/field.js.map +1 -0
  144. package/dist/ui/focus-on-route-change.d.ts +9 -0
  145. package/dist/ui/focus-on-route-change.d.ts.map +1 -0
  146. package/dist/ui/focus-on-route-change.js +17 -0
  147. package/dist/ui/focus-on-route-change.js.map +1 -0
  148. package/dist/ui/form.d.ts +47 -0
  149. package/dist/ui/form.d.ts.map +1 -0
  150. package/dist/ui/form.js +95 -0
  151. package/dist/ui/form.js.map +1 -0
  152. package/dist/ui/hover-card.d.ts +20 -0
  153. package/dist/ui/hover-card.d.ts.map +1 -0
  154. package/dist/ui/hover-card.js +37 -0
  155. package/dist/ui/hover-card.js.map +1 -0
  156. package/dist/ui/input-group.d.ts +44 -0
  157. package/dist/ui/input-group.d.ts.map +1 -0
  158. package/dist/ui/input-group.js +84 -0
  159. package/dist/ui/input-group.js.map +1 -0
  160. package/dist/ui/input-otp.d.ts +39 -0
  161. package/dist/ui/input-otp.d.ts.map +1 -0
  162. package/dist/ui/input-otp.js +47 -0
  163. package/dist/ui/input-otp.js.map +1 -0
  164. package/dist/ui/input.d.ts +13 -0
  165. package/dist/ui/input.d.ts.map +1 -0
  166. package/dist/ui/input.js +17 -0
  167. package/dist/ui/input.js.map +1 -0
  168. package/dist/ui/label.d.ts +12 -0
  169. package/dist/ui/label.d.ts.map +1 -0
  170. package/dist/ui/label.js +20 -0
  171. package/dist/ui/label.js.map +1 -0
  172. package/dist/ui/link.d.ts +9 -0
  173. package/dist/ui/link.d.ts.map +1 -0
  174. package/dist/ui/link.js +18 -0
  175. package/dist/ui/link.js.map +1 -0
  176. package/dist/ui/live-region.d.ts +17 -0
  177. package/dist/ui/live-region.d.ts.map +1 -0
  178. package/dist/ui/live-region.js +48 -0
  179. package/dist/ui/live-region.js.map +1 -0
  180. package/dist/ui/loading-button.d.ts +20 -0
  181. package/dist/ui/loading-button.d.ts.map +1 -0
  182. package/dist/ui/loading-button.js +21 -0
  183. package/dist/ui/loading-button.js.map +1 -0
  184. package/dist/ui/map/MapBase.d.ts +29 -0
  185. package/dist/ui/map/MapBase.d.ts.map +1 -0
  186. package/dist/ui/map/MapBase.js +48 -0
  187. package/dist/ui/map/MapBase.js.map +1 -0
  188. package/dist/ui/map/MapGeoJsonOverlay.d.ts +16 -0
  189. package/dist/ui/map/MapGeoJsonOverlay.d.ts.map +1 -0
  190. package/dist/ui/map/MapGeoJsonOverlay.js +39 -0
  191. package/dist/ui/map/MapGeoJsonOverlay.js.map +1 -0
  192. package/dist/ui/map/MapHeatmapH3.d.ts +18 -0
  193. package/dist/ui/map/MapHeatmapH3.d.ts.map +1 -0
  194. package/dist/ui/map/MapHeatmapH3.js +52 -0
  195. package/dist/ui/map/MapHeatmapH3.js.map +1 -0
  196. package/dist/ui/map/MapMarkers.d.ts +20 -0
  197. package/dist/ui/map/MapMarkers.d.ts.map +1 -0
  198. package/dist/ui/map/MapMarkers.js +35 -0
  199. package/dist/ui/map/MapMarkers.js.map +1 -0
  200. package/dist/ui/map/index.d.ts +5 -0
  201. package/dist/ui/map/index.js +6 -0
  202. package/dist/ui/marketing/FeatureGrid.d.ts +21 -0
  203. package/dist/ui/marketing/FeatureGrid.d.ts.map +1 -0
  204. package/dist/ui/marketing/FeatureGrid.js +35 -0
  205. package/dist/ui/marketing/FeatureGrid.js.map +1 -0
  206. package/dist/ui/marketing/Hero.d.ts +28 -0
  207. package/dist/ui/marketing/Hero.d.ts.map +1 -0
  208. package/dist/ui/marketing/Hero.js +53 -0
  209. package/dist/ui/marketing/Hero.js.map +1 -0
  210. package/dist/ui/marketing/PricingTable.d.ts +25 -0
  211. package/dist/ui/marketing/PricingTable.d.ts.map +1 -0
  212. package/dist/ui/marketing/PricingTable.js +60 -0
  213. package/dist/ui/marketing/PricingTable.js.map +1 -0
  214. package/dist/ui/marketing/index.d.ts +4 -0
  215. package/dist/ui/marketing/index.js +5 -0
  216. package/dist/ui/menubar.d.ts +85 -0
  217. package/dist/ui/menubar.d.ts.map +1 -0
  218. package/dist/ui/menubar.js +138 -0
  219. package/dist/ui/menubar.js.map +1 -0
  220. package/dist/ui/molecules/Autocomplete/index.d.ts +7 -0
  221. package/dist/ui/molecules/Autocomplete/index.d.ts.map +1 -0
  222. package/dist/ui/molecules/Autocomplete/index.js +86 -0
  223. package/dist/ui/molecules/Autocomplete/index.js.map +1 -0
  224. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts +8 -0
  225. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.d.ts.map +1 -0
  226. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js +103 -0
  227. package/dist/ui/molecules/SearchAndFilter/SearchAndFilter.js.map +1 -0
  228. package/dist/ui/molecules/SearchAndFilter/index.d.ts +3 -0
  229. package/dist/ui/molecules/SearchAndFilter/index.js +3 -0
  230. package/dist/ui/molecules/SearchAndFilter/types.d.ts +24 -0
  231. package/dist/ui/molecules/SearchAndFilter/types.d.ts.map +1 -0
  232. package/dist/ui/molecules/SearchAndFilter/types.js +0 -0
  233. package/dist/ui/molecules/SkeletonList.d.ts +16 -0
  234. package/dist/ui/molecules/SkeletonList.d.ts.map +1 -0
  235. package/dist/ui/molecules/SkeletonList.js +15 -0
  236. package/dist/ui/molecules/SkeletonList.js.map +1 -0
  237. package/dist/ui/nav-layout.d.ts +71 -0
  238. package/dist/ui/nav-layout.d.ts.map +1 -0
  239. package/dist/ui/nav-layout.js +133 -0
  240. package/dist/ui/nav-layout.js.map +1 -0
  241. package/dist/ui/navigation-menu.d.ts +47 -0
  242. package/dist/ui/navigation-menu.d.ts.map +1 -0
  243. package/dist/ui/navigation-menu.js +83 -0
  244. package/dist/ui/navigation-menu.js.map +1 -0
  245. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts +30 -0
  246. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.d.ts.map +1 -0
  247. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js +108 -0
  248. package/dist/ui/organisms/ErrorBoundary/ErrorBoundary.js.map +1 -0
  249. package/dist/ui/organisms/ErrorBoundary/index.d.ts +2 -0
  250. package/dist/ui/organisms/ErrorBoundary/index.js +3 -0
  251. package/dist/ui/organisms/ListPage/ListPage.d.ts +29 -0
  252. package/dist/ui/organisms/ListPage/ListPage.d.ts.map +1 -0
  253. package/dist/ui/organisms/ListPage/ListPage.js +198 -0
  254. package/dist/ui/organisms/ListPage/ListPage.js.map +1 -0
  255. package/dist/ui/organisms/ListPage/index.d.ts +3 -0
  256. package/dist/ui/organisms/ListPage/index.js +3 -0
  257. package/dist/ui/organisms/ListPage/types.d.ts +41 -0
  258. package/dist/ui/organisms/ListPage/types.d.ts.map +1 -0
  259. package/dist/ui/organisms/ListPage/types.js +0 -0
  260. package/dist/ui/page-header.d.ts +27 -0
  261. package/dist/ui/page-header.d.ts.map +1 -0
  262. package/dist/ui/page-header.js +40 -0
  263. package/dist/ui/page-header.js.map +1 -0
  264. package/dist/ui/pagination.d.ts +50 -0
  265. package/dist/ui/pagination.d.ts.map +1 -0
  266. package/dist/ui/pagination.js +65 -0
  267. package/dist/ui/pagination.js.map +1 -0
  268. package/dist/ui/popover.d.ts +23 -0
  269. package/dist/ui/popover.d.ts.map +1 -0
  270. package/dist/ui/popover.js +40 -0
  271. package/dist/ui/popover.js.map +1 -0
  272. package/dist/ui/progress.d.ts +13 -0
  273. package/dist/ui/progress.d.ts.map +1 -0
  274. package/dist/ui/progress.js +25 -0
  275. package/dist/ui/progress.js.map +1 -0
  276. package/dist/ui/radio-group.d.ts +16 -0
  277. package/dist/ui/radio-group.d.ts.map +1 -0
  278. package/dist/ui/radio-group.js +33 -0
  279. package/dist/ui/radio-group.js.map +1 -0
  280. package/dist/ui/resizable.d.ts +36 -0
  281. package/dist/ui/resizable.d.ts.map +1 -0
  282. package/dist/ui/resizable.js +26 -0
  283. package/dist/ui/resizable.js.map +1 -0
  284. package/dist/ui/route-announcer.d.ts +11 -0
  285. package/dist/ui/route-announcer.d.ts.map +1 -0
  286. package/dist/ui/route-announcer.js +23 -0
  287. package/dist/ui/route-announcer.js.map +1 -0
  288. package/dist/ui/scroll-area.d.ts +18 -0
  289. package/dist/ui/scroll-area.d.ts.map +1 -0
  290. package/dist/ui/scroll-area.js +41 -0
  291. package/dist/ui/scroll-area.js.map +1 -0
  292. package/dist/ui/section.d.ts +27 -0
  293. package/dist/ui/section.d.ts.map +1 -0
  294. package/dist/ui/section.js +63 -0
  295. package/dist/ui/section.js.map +1 -0
  296. package/dist/ui/select.d.ts +52 -0
  297. package/dist/ui/select.d.ts.map +1 -0
  298. package/dist/ui/select.js +101 -0
  299. package/dist/ui/select.js.map +1 -0
  300. package/dist/ui/separator.d.ts +14 -0
  301. package/dist/ui/separator.d.ts.map +1 -0
  302. package/dist/ui/separator.js +22 -0
  303. package/dist/ui/separator.js.map +1 -0
  304. package/dist/ui/sheet.d.ts +41 -0
  305. package/dist/ui/sheet.d.ts.map +1 -0
  306. package/dist/ui/sheet.js +87 -0
  307. package/dist/ui/sheet.js.map +1 -0
  308. package/dist/ui/sidebar.d.ts +167 -0
  309. package/dist/ui/sidebar.d.ts.map +1 -0
  310. package/dist/ui/sidebar.js +380 -0
  311. package/dist/ui/sidebar.js.map +1 -0
  312. package/dist/ui/skeleton.d.ts +10 -0
  313. package/dist/ui/skeleton.d.ts.map +1 -0
  314. package/dist/ui/skeleton.js +15 -0
  315. package/dist/ui/skeleton.js.map +1 -0
  316. package/dist/ui/skip-link.d.ts +17 -0
  317. package/dist/ui/skip-link.d.ts.map +1 -0
  318. package/dist/ui/skip-link.js +17 -0
  319. package/dist/ui/skip-link.js.map +1 -0
  320. package/dist/ui/slider.d.ts +16 -0
  321. package/dist/ui/slider.d.ts.map +1 -0
  322. package/dist/ui/slider.js +41 -0
  323. package/dist/ui/slider.js.map +1 -0
  324. package/dist/ui/sonner.d.ts +10 -0
  325. package/dist/ui/sonner.d.ts.map +1 -0
  326. package/dist/ui/sonner.js +25 -0
  327. package/dist/ui/sonner.js.map +1 -0
  328. package/dist/ui/stack.d.ts +48 -0
  329. package/dist/ui/stack.d.ts.map +1 -0
  330. package/dist/ui/stack.js +158 -0
  331. package/dist/ui/stack.js.map +1 -0
  332. package/dist/ui/stat-card-group.d.ts +19 -0
  333. package/dist/ui/stat-card-group.d.ts.map +1 -0
  334. package/dist/ui/stat-card-group.js +39 -0
  335. package/dist/ui/stat-card-group.js.map +1 -0
  336. package/dist/ui/stepper.d.ts +23 -0
  337. package/dist/ui/stepper.d.ts.map +1 -0
  338. package/dist/ui/stepper.js +37 -0
  339. package/dist/ui/stepper.js.map +1 -0
  340. package/dist/ui/switch.d.ts +12 -0
  341. package/dist/ui/switch.d.ts.map +1 -0
  342. package/dist/ui/switch.js +24 -0
  343. package/dist/ui/switch.js.map +1 -0
  344. package/dist/ui/table.d.ts +39 -0
  345. package/dist/ui/table.d.ts.map +1 -0
  346. package/dist/ui/table.js +72 -0
  347. package/dist/ui/table.js.map +1 -0
  348. package/dist/ui/tabs.d.ts +24 -0
  349. package/dist/ui/tabs.d.ts.map +1 -0
  350. package/dist/ui/tabs.js +41 -0
  351. package/dist/ui/tabs.js.map +1 -0
  352. package/dist/ui/text.d.ts +16 -0
  353. package/dist/ui/text.d.ts.map +1 -0
  354. package/dist/ui/text.js +16 -0
  355. package/dist/ui/text.js.map +1 -0
  356. package/dist/ui/textarea.d.ts +12 -0
  357. package/dist/ui/textarea.d.ts.map +1 -0
  358. package/dist/ui/textarea.js +16 -0
  359. package/dist/ui/textarea.js.map +1 -0
  360. package/dist/ui/time-picker.d.ts +22 -0
  361. package/dist/ui/time-picker.d.ts.map +1 -0
  362. package/dist/ui/time-picker.js +82 -0
  363. package/dist/ui/time-picker.js.map +1 -0
  364. package/dist/ui/toast.d.ts +20 -0
  365. package/dist/ui/toast.d.ts.map +1 -0
  366. package/dist/ui/toast.js +63 -0
  367. package/dist/ui/toast.js.map +1 -0
  368. package/dist/ui/toaster.d.ts +7 -0
  369. package/dist/ui/toaster.d.ts.map +1 -0
  370. package/dist/ui/toaster.js +28 -0
  371. package/dist/ui/toaster.js.map +1 -0
  372. package/dist/ui/toggle-group.d.ts +24 -0
  373. package/dist/ui/toggle-group.d.ts.map +1 -0
  374. package/dist/ui/toggle-group.js +49 -0
  375. package/dist/ui/toggle-group.js.map +1 -0
  376. package/dist/ui/toggle.d.ts +20 -0
  377. package/dist/ui/toggle.d.ts.map +1 -0
  378. package/dist/ui/toggle.js +42 -0
  379. package/dist/ui/toggle.js.map +1 -0
  380. package/dist/ui/tooltip.d.ts +24 -0
  381. package/dist/ui/tooltip.d.ts.map +1 -0
  382. package/dist/ui/tooltip.js +41 -0
  383. package/dist/ui/tooltip.js.map +1 -0
  384. package/dist/ui/typography.d.ts +65 -0
  385. package/dist/ui/typography.d.ts.map +1 -0
  386. package/dist/ui/typography.js +87 -0
  387. package/dist/ui/typography.js.map +1 -0
  388. package/dist/ui/use-media-query.d.ts +5 -0
  389. package/dist/ui/use-media-query.d.ts.map +1 -0
  390. package/dist/ui/use-media-query.js +20 -0
  391. package/dist/ui/use-media-query.js.map +1 -0
  392. package/dist/ui/use-mobile.d.ts +5 -0
  393. package/dist/ui/use-mobile.d.ts.map +1 -0
  394. package/dist/ui/use-mobile.js +21 -0
  395. package/dist/ui/use-mobile.js.map +1 -0
  396. package/dist/ui/use-reduced-motion.d.ts +5 -0
  397. package/dist/ui/use-reduced-motion.d.ts.map +1 -0
  398. package/dist/ui/use-reduced-motion.js +18 -0
  399. package/dist/ui/use-reduced-motion.js.map +1 -0
  400. package/dist/ui/use-toast.d.ts +50 -0
  401. package/dist/ui/use-toast.d.ts.map +1 -0
  402. package/dist/ui/use-toast.js +123 -0
  403. package/dist/ui/use-toast.js.map +1 -0
  404. package/dist/ui/useListState.d.ts +34 -0
  405. package/dist/ui/useListState.d.ts.map +1 -0
  406. package/dist/ui/useListState.js +75 -0
  407. package/dist/ui/useListState.js.map +1 -0
  408. package/dist/ui/usecases/UseCaseCard.d.ts +19 -0
  409. package/dist/ui/usecases/UseCaseCard.d.ts.map +1 -0
  410. package/dist/ui/usecases/UseCaseCard.js +35 -0
  411. package/dist/ui/usecases/UseCaseCard.js.map +1 -0
  412. package/dist/ui/usecases/UserStoryCard.d.ts +15 -0
  413. package/dist/ui/usecases/UserStoryCard.d.ts.map +1 -0
  414. package/dist/ui/usecases/UserStoryCard.js +36 -0
  415. package/dist/ui/usecases/UserStoryCard.js.map +1 -0
  416. package/dist/ui/usecases/index.d.ts +3 -0
  417. package/dist/ui/usecases/index.js +4 -0
  418. package/dist/ui/utils.d.ts +7 -0
  419. package/dist/ui/utils.d.ts.map +1 -0
  420. package/dist/ui/utils.js +11 -0
  421. package/dist/ui/utils.js.map +1 -0
  422. package/dist/ui/visually-hidden.d.ts +10 -0
  423. package/dist/ui/visually-hidden.d.ts.map +1 -0
  424. package/dist/ui/visually-hidden.js +31 -0
  425. package/dist/ui/visually-hidden.js.map +1 -0
  426. package/package.json +222 -0
@@ -0,0 +1,47 @@
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime148 from "react/jsx-runtime";
3
+ import { Slot } from "@radix-ui/react-slot";
4
+ import * as LabelPrimitive from "@radix-ui/react-label";
5
+ import * as react_hook_form0 from "react-hook-form";
6
+ import { ControllerProps, FieldPath, FieldValues, UseFormReturn, useFieldArray, useForm } from "react-hook-form";
7
+ import { zodResolver } from "@hookform/resolvers/zod";
8
+
9
+ //#region ui/form.d.ts
10
+ declare const Form: <TFieldValues extends FieldValues, TContext = any, TTransformedValues = TFieldValues>(props: react_hook_form0.FormProviderProps<TFieldValues, TContext, TTransformedValues>) => React$1.JSX.Element;
11
+ declare const FormField: <TFieldValues extends FieldValues = FieldValues, TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({
12
+ ...props
13
+ }: ControllerProps<TFieldValues, TName>) => react_jsx_runtime148.JSX.Element;
14
+ declare const useFormField: () => {
15
+ invalid: boolean;
16
+ isDirty: boolean;
17
+ isTouched: boolean;
18
+ isValidating: boolean;
19
+ error?: react_hook_form0.FieldError;
20
+ id: string;
21
+ name: string;
22
+ formItemId: string;
23
+ formDescriptionId: string;
24
+ formMessageId: string;
25
+ };
26
+ declare function FormItem({
27
+ className,
28
+ ...props
29
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime148.JSX.Element;
30
+ declare function FormLabel({
31
+ className,
32
+ ...props
33
+ }: React$1.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime148.JSX.Element;
34
+ declare function FormControl({
35
+ ...props
36
+ }: React$1.ComponentProps<typeof Slot>): react_jsx_runtime148.JSX.Element;
37
+ declare function FormDescription({
38
+ className,
39
+ ...props
40
+ }: React$1.ComponentProps<'p'>): react_jsx_runtime148.JSX.Element;
41
+ declare function FormMessage({
42
+ className,
43
+ ...props
44
+ }: React$1.ComponentProps<'p'>): react_jsx_runtime148.JSX.Element | null;
45
+ //#endregion
46
+ export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, type UseFormReturn, useFieldArray, useForm, useFormField, zodResolver };
47
+ //# sourceMappingURL=form.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.d.ts","names":[],"sources":["../../ui/form.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;cAqBM,4BAAI,kDAAA,qBAAA,gBAAA,CAAA,kBAAA,cAAA,UAAA,wBAAA,OAAA,CAAA,GAAA,CAAA;cAaJ,iCACiB,cAAc,2BACrB,UAAU,gBAAgB,UAAU;;GAGjD,gBAAgB,cAAc,WAAM,oBAAA,CAAA,GAAA,CAAA;cAQjC;EA1BA,OAAmB,EAAA,OAAA;EAAf,OAAA,EAAA,OAAA;EAAA,SAAA,EAAA,OAAA;EAAA,YAAA,EAAA,OAAA;EAAA,KAAA,CAAA,EA+CT,gBAAA,CAAA,UA/CS;EAAA,EAAA,EAAA,MAAA;EAAA,IAAA,EAAA,MAAA;EAAA,UAAA,EAAA,MAAA;EAAe,iBAAA,EAAA,MAAA;EAanB,aAWL,EAAA,MAAA;CAVsB;iBA2Cd,QAAA,CA3C4B;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2CM,OAAA,CAAM,cA3CZ,CAAA,KAAA,CAAA,CAAA,EA2CiC,oBAAA,CAAA,GAAA,CAAA,OA3CjC;iBAyD5B,SAAA,CAxDiB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2DvB,OAAA,CAAM,cA3DiB,CAAA,OA2DK,cAAA,CAAe,IA3DpB,CAAA,CAAA,EA2DyB,oBAAA,CAAA,GAAA,CAAA,OA3DzB;iBAyEjB,WAAA,CAzEO;EAAA,GAAA;AAAA,CAAA,EAyEmB,OAAA,CAAM,cAzEzB,CAAA,OAyE+C,IAzE/C,CAAA,CAAA,EAyEoD,oBAAA,CAAA,GAAA,CAAA,OAzEpD;iBA4FP,eAAA,CA5F2C;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA4FF,OAAA,CAAM,cA5FJ,CAAA,GAAA,CAAA,CAAA,EA4FuB,oBAAA,CAAA,GAAA,CAAA,OA5FvB;iBAyG3C,WAAA,CAzGiC;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyGI,OAAA,CAAM,cAzGV,CAAA,GAAA,CAAA,CAAA,EAyG6B,oBAAA,CAAA,GAAA,CAAA,OAAA,GAzG7B,IAAA"}
@@ -0,0 +1,95 @@
1
+ 'use client';
2
+
3
+
4
+ import { cn } from "./utils.js";
5
+ import { Label } from "./label.js";
6
+ import * as React$1 from "react";
7
+ import { jsx } from "react/jsx-runtime";
8
+ import { Slot } from "@radix-ui/react-slot";
9
+ import "@radix-ui/react-label";
10
+ import { Controller, FormProvider, useFieldArray, useForm, useFormContext, useFormState } from "react-hook-form";
11
+ import { zodResolver } from "@hookform/resolvers/zod";
12
+
13
+ //#region ui/form.tsx
14
+ const Form = FormProvider;
15
+ const FormFieldContext = React$1.createContext({});
16
+ const FormField = ({ ...props }) => {
17
+ return /* @__PURE__ */ jsx(FormFieldContext.Provider, {
18
+ value: { name: props.name },
19
+ children: /* @__PURE__ */ jsx(Controller, { ...props })
20
+ });
21
+ };
22
+ const useFormField = () => {
23
+ const fieldContext = React$1.useContext(FormFieldContext);
24
+ const itemContext = React$1.useContext(FormItemContext);
25
+ const { getFieldState } = useFormContext();
26
+ const formState = useFormState({ name: fieldContext.name });
27
+ const fieldState = getFieldState(fieldContext.name, formState);
28
+ if (!fieldContext) throw new Error("useFormField should be used within <FormField>");
29
+ const { id } = itemContext;
30
+ return {
31
+ id,
32
+ name: fieldContext.name,
33
+ formItemId: `${id}-form-item`,
34
+ formDescriptionId: `${id}-form-item-description`,
35
+ formMessageId: `${id}-form-item-message`,
36
+ ...fieldState
37
+ };
38
+ };
39
+ const FormItemContext = React$1.createContext({});
40
+ function FormItem({ className,...props }) {
41
+ const id = React$1.useId();
42
+ return /* @__PURE__ */ jsx(FormItemContext.Provider, {
43
+ value: { id },
44
+ children: /* @__PURE__ */ jsx("div", {
45
+ "data-slot": "form-item",
46
+ className: cn("grid gap-2", className),
47
+ ...props
48
+ })
49
+ });
50
+ }
51
+ function FormLabel({ className,...props }) {
52
+ const { error, formItemId } = useFormField();
53
+ return /* @__PURE__ */ jsx(Label, {
54
+ "data-slot": "form-label",
55
+ "data-error": !!error,
56
+ className: cn("data-[error=true]:text-destructive", className),
57
+ htmlFor: formItemId,
58
+ ...props
59
+ });
60
+ }
61
+ function FormControl({ ...props }) {
62
+ const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
63
+ return /* @__PURE__ */ jsx(Slot, {
64
+ "data-slot": "form-control",
65
+ id: formItemId,
66
+ "aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
67
+ "aria-invalid": !!error,
68
+ ...props
69
+ });
70
+ }
71
+ function FormDescription({ className,...props }) {
72
+ const { formDescriptionId } = useFormField();
73
+ return /* @__PURE__ */ jsx("p", {
74
+ "data-slot": "form-description",
75
+ id: formDescriptionId,
76
+ className: cn("text-muted-foreground text-sm", className),
77
+ ...props
78
+ });
79
+ }
80
+ function FormMessage({ className,...props }) {
81
+ const { error, formMessageId } = useFormField();
82
+ const body = error ? String(error?.message ?? "") : props.children;
83
+ if (!body) return null;
84
+ return /* @__PURE__ */ jsx("p", {
85
+ "data-slot": "form-message",
86
+ id: formMessageId,
87
+ className: cn("text-destructive text-sm", className),
88
+ ...props,
89
+ children: body
90
+ });
91
+ }
92
+
93
+ //#endregion
94
+ export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFieldArray, useForm, useFormField, zodResolver };
95
+ //# sourceMappingURL=form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form.js","names":["React"],"sources":["../../ui/form.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as LabelPrimitive from '@radix-ui/react-label';\nimport { Slot } from '@radix-ui/react-slot';\nimport {\n Controller,\n type ControllerProps,\n type FieldPath,\n type FieldValues,\n FormProvider,\n useFormContext,\n useFormState,\n} from 'react-hook-form';\n\nimport { cn } from './utils';\nimport { Label } from './label';\n\nexport { zodResolver } from '@hookform/resolvers/zod';\nexport { useForm, type UseFormReturn, useFieldArray } from 'react-hook-form';\n\nconst Form = FormProvider;\n\ninterface FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n> {\n name: TName;\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n);\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>,\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState } = useFormContext();\n const formState = useFormState({ name: fieldContext.name });\n const fieldState = getFieldState(fieldContext.name, formState);\n\n if (!fieldContext) {\n throw new Error('useFormField should be used within <FormField>');\n }\n\n const { id } = itemContext;\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ninterface FormItemContextValue {\n id: string;\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue\n);\n\nfunction FormItem({ className, ...props }: React.ComponentProps<'div'>) {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div\n data-slot=\"form-item\"\n className={cn('grid gap-2', className)}\n {...props}\n />\n </FormItemContext.Provider>\n );\n}\n\nfunction FormLabel({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n const { error, formItemId } = useFormField();\n\n return (\n <Label\n data-slot=\"form-label\"\n data-error={!!error}\n className={cn('data-[error=true]:text-destructive', className)}\n htmlFor={formItemId}\n {...props}\n />\n );\n}\n\nfunction FormControl({ ...props }: React.ComponentProps<typeof Slot>) {\n const { error, formItemId, formDescriptionId, formMessageId } =\n useFormField();\n\n return (\n <Slot\n data-slot=\"form-control\"\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n}\n\nfunction FormDescription({ className, ...props }: React.ComponentProps<'p'>) {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n data-slot=\"form-description\"\n id={formDescriptionId}\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nfunction FormMessage({ className, ...props }: React.ComponentProps<'p'>) {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error?.message ?? '') : props.children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n data-slot=\"form-message\"\n id={formMessageId}\n className={cn('text-destructive text-sm', className)}\n {...props}\n >\n {body}\n </p>\n );\n}\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n};\n"],"mappings":";;;;;;;;;;;;;AAqBA,MAAM,OAAO;AASb,MAAM,mBAAmBA,QAAM,cAC7B,EAAE,CACH;AAED,MAAM,aAGJ,EACA,GAAG,YACuC;AAC1C,QACE,oBAAC,iBAAiB;EAAS,OAAO,EAAE,MAAM,MAAM,MAAM;YACpD,oBAAC,cAAW,GAAI,QAAS;GACC;;AAIhC,MAAM,qBAAqB;CACzB,MAAM,eAAeA,QAAM,WAAW,iBAAiB;CACvD,MAAM,cAAcA,QAAM,WAAW,gBAAgB;CACrD,MAAM,EAAE,kBAAkB,gBAAgB;CAC1C,MAAM,YAAY,aAAa,EAAE,MAAM,aAAa,MAAM,CAAC;CAC3D,MAAM,aAAa,cAAc,aAAa,MAAM,UAAU;AAE9D,KAAI,CAAC,aACH,OAAM,IAAI,MAAM,iDAAiD;CAGnE,MAAM,EAAE,OAAO;AAEf,QAAO;EACL;EACA,MAAM,aAAa;EACnB,YAAY,GAAG,GAAG;EAClB,mBAAmB,GAAG,GAAG;EACzB,eAAe,GAAG,GAAG;EACrB,GAAG;EACJ;;AAOH,MAAM,kBAAkBA,QAAM,cAC5B,EAAE,CACH;AAED,SAAS,SAAS,EAAE,UAAW,GAAG,SAAsC;CACtE,MAAM,KAAKA,QAAM,OAAO;AAExB,QACE,oBAAC,gBAAgB;EAAS,OAAO,EAAE,IAAI;YACrC,oBAAC;GACC,aAAU;GACV,WAAW,GAAG,cAAc,UAAU;GACtC,GAAI;IACJ;GACuB;;AAI/B,SAAS,UAAU,EACjB,UACA,GAAG,SACgD;CACnD,MAAM,EAAE,OAAO,eAAe,cAAc;AAE5C,QACE,oBAAC;EACC,aAAU;EACV,cAAY,CAAC,CAAC;EACd,WAAW,GAAG,sCAAsC,UAAU;EAC9D,SAAS;EACT,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,GAAG,SAA4C;CACpE,MAAM,EAAE,OAAO,YAAY,mBAAmB,kBAC5C,cAAc;AAEhB,QACE,oBAAC;EACC,aAAU;EACV,IAAI;EACJ,oBACE,CAAC,QACG,GAAG,sBACH,GAAG,kBAAkB,GAAG;EAE9B,gBAAc,CAAC,CAAC;EAChB,GAAI;GACJ;;AAIN,SAAS,gBAAgB,EAAE,UAAW,GAAG,SAAoC;CAC3E,MAAM,EAAE,sBAAsB,cAAc;AAE5C,QACE,oBAAC;EACC,aAAU;EACV,IAAI;EACJ,WAAW,GAAG,iCAAiC,UAAU;EACzD,GAAI;GACJ;;AAIN,SAAS,YAAY,EAAE,UAAW,GAAG,SAAoC;CACvE,MAAM,EAAE,OAAO,kBAAkB,cAAc;CAC/C,MAAM,OAAO,QAAQ,OAAO,OAAO,WAAW,GAAG,GAAG,MAAM;AAE1D,KAAI,CAAC,KACH,QAAO;AAGT,QACE,oBAAC;EACC,aAAU;EACV,IAAI;EACJ,WAAW,GAAG,4BAA4B,UAAU;EACpD,GAAI;YAEH;GACC"}
@@ -0,0 +1,20 @@
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime160 from "react/jsx-runtime";
3
+ import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
4
+
5
+ //#region ui/hover-card.d.ts
6
+ declare function HoverCard({
7
+ ...props
8
+ }: React$1.ComponentProps<typeof HoverCardPrimitive.Root>): react_jsx_runtime160.JSX.Element;
9
+ declare function HoverCardTrigger({
10
+ ...props
11
+ }: React$1.ComponentProps<typeof HoverCardPrimitive.Trigger>): react_jsx_runtime160.JSX.Element;
12
+ declare function HoverCardContent({
13
+ className,
14
+ align,
15
+ sideOffset,
16
+ ...props
17
+ }: React$1.ComponentProps<typeof HoverCardPrimitive.Content>): react_jsx_runtime160.JSX.Element;
18
+ //#endregion
19
+ export { HoverCard, HoverCardContent, HoverCardTrigger };
20
+ //# sourceMappingURL=hover-card.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hover-card.d.ts","names":[],"sources":["../../ui/hover-card.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOS,SAAA;;GAEN,OAAA,CAAM,sBAAsB,kBAAA,CAAmB,QAAK,oBAAA,CAAA,GAAA,CAAA;iBAI9C,gBAAA;;GAEN,OAAA,CAAM,sBAAsB,kBAAA,CAAmB,WAAQ,oBAAA,CAAA,GAAA,CAAA;iBAMjD,gBAAA;;;;;GAKN,OAAA,CAAM,sBAAsB,kBAAA,CAAmB,WAAQ,oBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,37 @@
1
+ 'use client';
2
+
3
+
4
+ import { cn } from "./utils.js";
5
+ import "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
8
+
9
+ //#region ui/hover-card.tsx
10
+ function HoverCard({ ...props }) {
11
+ return /* @__PURE__ */ jsx(HoverCardPrimitive.Root, {
12
+ "data-slot": "hover-card",
13
+ ...props
14
+ });
15
+ }
16
+ function HoverCardTrigger({ ...props }) {
17
+ return /* @__PURE__ */ jsx(HoverCardPrimitive.Trigger, {
18
+ "data-slot": "hover-card-trigger",
19
+ ...props
20
+ });
21
+ }
22
+ function HoverCardContent({ className, align = "center", sideOffset = 4,...props }) {
23
+ return /* @__PURE__ */ jsx(HoverCardPrimitive.Portal, {
24
+ "data-slot": "hover-card-portal",
25
+ children: /* @__PURE__ */ jsx(HoverCardPrimitive.Content, {
26
+ "data-slot": "hover-card-content",
27
+ align,
28
+ sideOffset,
29
+ className: cn("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden", className),
30
+ ...props
31
+ })
32
+ });
33
+ }
34
+
35
+ //#endregion
36
+ export { HoverCard, HoverCardContent, HoverCardTrigger };
37
+ //# sourceMappingURL=hover-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hover-card.js","names":[],"sources":["../../ui/hover-card.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as HoverCardPrimitive from '@radix-ui/react-hover-card';\n\nimport { cn } from './utils';\n\nfunction HoverCard({\n ...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Root>) {\n return <HoverCardPrimitive.Root data-slot=\"hover-card\" {...props} />;\n}\n\nfunction HoverCardTrigger({\n ...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Trigger>) {\n return (\n <HoverCardPrimitive.Trigger data-slot=\"hover-card-trigger\" {...props} />\n );\n}\n\nfunction HoverCardContent({\n className,\n align = 'center',\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof HoverCardPrimitive.Content>) {\n return (\n <HoverCardPrimitive.Portal data-slot=\"hover-card-portal\">\n <HoverCardPrimitive.Content\n data-slot=\"hover-card-content\"\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 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 z-50 w-64 origin-(--radix-hover-card-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden',\n className\n )}\n {...props}\n />\n </HoverCardPrimitive.Portal>\n );\n}\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n"],"mappings":";;;;;;;;;AAOA,SAAS,UAAU,EACjB,GAAG,SACoD;AACvD,QAAO,oBAAC,mBAAmB;EAAK,aAAU;EAAa,GAAI;GAAS;;AAGtE,SAAS,iBAAiB,EACxB,GAAG,SACuD;AAC1D,QACE,oBAAC,mBAAmB;EAAQ,aAAU;EAAqB,GAAI;GAAS;;AAI5E,SAAS,iBAAiB,EACxB,WACA,QAAQ,UACR,aAAa,EACb,GAAG,SACuD;AAC1D,QACE,oBAAC,mBAAmB;EAAO,aAAU;YACnC,oBAAC,mBAAmB;GAClB,aAAU;GACH;GACK;GACZ,WAAW,GACT,qeACA,UACD;GACD,GAAI;IACJ;GACwB"}
@@ -0,0 +1,44 @@
1
+ import { Button } from "./button.js";
2
+ import * as React$1 from "react";
3
+ import * as react_jsx_runtime268 from "react/jsx-runtime";
4
+ import { VariantProps } from "class-variance-authority";
5
+ import * as class_variance_authority_types20 from "class-variance-authority/types";
6
+
7
+ //#region ui/input-group.d.ts
8
+ declare function InputGroup({
9
+ className,
10
+ ...props
11
+ }: React$1.ComponentProps<'div'>): react_jsx_runtime268.JSX.Element;
12
+ declare const inputGroupAddonVariants: (props?: ({
13
+ align?: "inline-start" | "inline-end" | "block-start" | "block-end" | null | undefined;
14
+ } & class_variance_authority_types20.ClassProp) | undefined) => string;
15
+ declare function InputGroupAddon({
16
+ className,
17
+ align,
18
+ ...props
19
+ }: React$1.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>): react_jsx_runtime268.JSX.Element;
20
+ declare const inputGroupButtonVariants: (props?: ({
21
+ size?: "sm" | "xs" | "icon-xs" | "icon-sm" | null | undefined;
22
+ } & class_variance_authority_types20.ClassProp) | undefined) => string;
23
+ declare function InputGroupButton({
24
+ className,
25
+ type,
26
+ variant,
27
+ size,
28
+ ...props
29
+ }: Omit<React$1.ComponentProps<typeof Button>, 'size'> & VariantProps<typeof inputGroupButtonVariants>): react_jsx_runtime268.JSX.Element;
30
+ declare function InputGroupText({
31
+ className,
32
+ ...props
33
+ }: React$1.ComponentProps<'span'>): react_jsx_runtime268.JSX.Element;
34
+ declare function InputGroupInput({
35
+ className,
36
+ ...props
37
+ }: React$1.ComponentProps<'input'>): react_jsx_runtime268.JSX.Element;
38
+ declare function InputGroupTextarea({
39
+ className,
40
+ ...props
41
+ }: React$1.ComponentProps<'textarea'>): react_jsx_runtime268.JSX.Element;
42
+ //#endregion
43
+ export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea };
44
+ //# sourceMappingURL=input-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-group.d.ts","names":[],"sources":["../../ui/input-group.tsx"],"sourcesContent":[],"mappings":";;;;;;;iBAUS,UAAA;;;GAAoC,OAAA,CAAM,wBAAqB,oBAAA,CAAA,GAAA,CAAA;cA4BlE;;IAmBL,gCAAA,CAAA;AAnDiC,iBAqDzB,eAAA,CAjDU;EAAA,SAAA;EAAA,KAAA;EAAA,GAAA;AAAA,CAAA,EAqDhB,OAAA,CAAM,cArDU,CAAA,KAAA,CAAA,GAqDc,YArDd,CAAA,OAqDkC,uBArDlC,CAAA,CAAA,EAqD0D,oBAAA,CAAA,GAAA,CAAA,OArD1D;cAuEb,wBAvEgB,EAAA,CAAA,KAAkD,CAAlD,EAAA,CAAA;EAAuB,IAAA,CAAM,EAAA,IAAA,GAAA,IAAA,GAAA,SAAA,GAAA,SAAA,GAAA,IAAA,GAAA,SAAA;CAAqB,GAuFvE,gCAAA,CAAA,SAvFuE,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;iBAyF/D,gBAAA,CAzF+D;EAAA,SAAA;EAAA,IAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EA+FrE,IA/FqE,CA+FhE,OAAA,CAAM,cA/F0D,CAAA,OA+FpC,MA/FoC,CAAA,EAAA,MAAA,CAAA,GAgGtE,YAhGsE,CAAA,OAgGlD,wBAhGkD,CAAA,CAAA,EAgGzB,oBAAA,CAAA,GAAA,CAAA,OAhGyB;AAAA,iBA4G/D,cAAA,CA7DR;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6DgD,OAAA,CAAM,cA7DtD,CAAA,MAAA,CAAA,CAAA,EA6D4E,oBAAA,CAAA,GAAA,CAAA,OA7D5E;iBAyEQ,eAAA,CAvEe;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA0ErB,OAAA,CAAM,cA1Ee,CAAA,OAAA,CAAA,CAAA,EA0EQ,oBAAA,CAAA,GAAA,CAAA,OA1ER;iBAuFf,kBAAA,CAtFP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyFC,OAAA,CAAM,cAzFP,CAAA,UAAA,CAAA,CAAA,EAyFiC,oBAAA,CAAA,GAAA,CAAA,OAzFjC"}
@@ -0,0 +1,84 @@
1
+ 'use client';
2
+
3
+
4
+ import { cn } from "./utils.js";
5
+ import { Button } from "./button.js";
6
+ import { Input } from "./input.js";
7
+ import { Textarea } from "./textarea.js";
8
+ import "react";
9
+ import { jsx } from "react/jsx-runtime";
10
+ import { cva } from "class-variance-authority";
11
+
12
+ //#region ui/input-group.tsx
13
+ function InputGroup({ className,...props }) {
14
+ return /* @__PURE__ */ jsx("div", {
15
+ "data-slot": "input-group",
16
+ role: "group",
17
+ className: cn("group/input-group border-input dark:bg-input/30 relative flex w-full items-center rounded-md border shadow-xs transition-[color,box-shadow] outline-none", "h-9 min-w-0 has-[>textarea]:h-auto", "has-[>[data-align=inline-start]]:[&>input]:pl-2", "has-[>[data-align=inline-end]]:[&>input]:pr-2", "has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3", "has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3", "has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]", "has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40", className),
18
+ ...props
19
+ });
20
+ }
21
+ const inputGroupAddonVariants = cva("text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium select-none [&>svg:not([class*='size-'])]:size-4 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[disabled=true]/input-group:opacity-50", {
22
+ variants: { align: {
23
+ "inline-start": "order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]",
24
+ "inline-end": "order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]",
25
+ "block-start": "order-first w-full justify-start px-3 pt-3 [.border-b]:pb-3 group-has-[>input]/input-group:pt-2.5",
26
+ "block-end": "order-last w-full justify-start px-3 pb-3 [.border-t]:pt-3 group-has-[>input]/input-group:pb-2.5"
27
+ } },
28
+ defaultVariants: { align: "inline-start" }
29
+ });
30
+ function InputGroupAddon({ className, align = "inline-start",...props }) {
31
+ return /* @__PURE__ */ jsx("div", {
32
+ role: "group",
33
+ "data-slot": "input-group-addon",
34
+ "data-align": align,
35
+ className: cn(inputGroupAddonVariants({ align }), className),
36
+ onClick: (e) => {
37
+ if (e.target.closest("button")) return;
38
+ e.currentTarget.parentElement?.querySelector("input")?.focus();
39
+ },
40
+ ...props
41
+ });
42
+ }
43
+ const inputGroupButtonVariants = cva("text-sm shadow-none flex gap-2 items-center", {
44
+ variants: { size: {
45
+ xs: "h-6 gap-1 px-2 rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-3.5 has-[>svg]:px-2",
46
+ sm: "h-8 px-2.5 gap-1.5 rounded-md has-[>svg]:px-2.5",
47
+ "icon-xs": "size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0",
48
+ "icon-sm": "size-8 p-0 has-[>svg]:p-0"
49
+ } },
50
+ defaultVariants: { size: "xs" }
51
+ });
52
+ function InputGroupButton({ className, type = "button", variant = "ghost", size = "xs",...props }) {
53
+ return /* @__PURE__ */ jsx(Button, {
54
+ type,
55
+ "data-size": size,
56
+ variant,
57
+ className: cn(inputGroupButtonVariants({ size }), className),
58
+ ...props
59
+ });
60
+ }
61
+ function InputGroupText({ className,...props }) {
62
+ return /* @__PURE__ */ jsx("span", {
63
+ className: cn("text-muted-foreground flex items-center gap-2 text-sm [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4", className),
64
+ ...props
65
+ });
66
+ }
67
+ function InputGroupInput({ className,...props }) {
68
+ return /* @__PURE__ */ jsx(Input, {
69
+ "data-slot": "input-group-control",
70
+ className: cn("flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent", className),
71
+ ...props
72
+ });
73
+ }
74
+ function InputGroupTextarea({ className,...props }) {
75
+ return /* @__PURE__ */ jsx(Textarea, {
76
+ "data-slot": "input-group-control",
77
+ className: cn("flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent", className),
78
+ ...props
79
+ });
80
+ }
81
+
82
+ //#endregion
83
+ export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea };
84
+ //# sourceMappingURL=input-group.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-group.js","names":[],"sources":["../../ui/input-group.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from './utils';\nimport { Button } from './button';\nimport { Input } from './input';\nimport { Textarea } from './textarea';\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n 'group/input-group border-input dark:bg-input/30 relative flex w-full items-center rounded-md border shadow-xs transition-[color,box-shadow] outline-none',\n 'h-9 min-w-0 has-[>textarea]:h-auto',\n\n // Variants based on alignment.\n 'has-[>[data-align=inline-start]]:[&>input]:pl-2',\n 'has-[>[data-align=inline-end]]:[&>input]:pr-2',\n 'has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-start]]:[&>input]:pb-3',\n 'has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3',\n\n // Focus state.\n 'has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot=input-group-control]:focus-visible]:ring-[3px]',\n\n // Error state.\n 'has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40',\n\n className\n )}\n {...props}\n />\n );\n}\n\nconst inputGroupAddonVariants = cva(\n \"text-muted-foreground flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium select-none [&>svg:not([class*='size-'])]:size-4 [&>kbd]:rounded-[calc(var(--radius)-5px)] group-data-[disabled=true]/input-group:opacity-50\",\n {\n variants: {\n align: {\n 'inline-start':\n 'order-first pl-3 has-[>button]:ml-[-0.45rem] has-[>kbd]:ml-[-0.35rem]',\n 'inline-end':\n 'order-last pr-3 has-[>button]:mr-[-0.45rem] has-[>kbd]:mr-[-0.35rem]',\n 'block-start':\n 'order-first w-full justify-start px-3 pt-3 [.border-b]:pb-3 group-has-[>input]/input-group:pt-2.5',\n 'block-end':\n 'order-last w-full justify-start px-3 pb-3 [.border-t]:pt-3 group-has-[>input]/input-group:pb-2.5',\n },\n },\n defaultVariants: {\n align: 'inline-start',\n },\n }\n);\n\nfunction InputGroupAddon({\n className,\n align = 'inline-start',\n ...props\n}: React.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest('button')) {\n return;\n }\n e.currentTarget.parentElement?.querySelector('input')?.focus();\n }}\n {...props}\n />\n );\n}\n\nconst inputGroupButtonVariants = cva(\n 'text-sm shadow-none flex gap-2 items-center',\n {\n variants: {\n size: {\n xs: \"h-6 gap-1 px-2 rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-3.5 has-[>svg]:px-2\",\n sm: 'h-8 px-2.5 gap-1.5 rounded-md has-[>svg]:px-2.5',\n 'icon-xs':\n 'size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0',\n 'icon-sm': 'size-8 p-0 has-[>svg]:p-0',\n },\n },\n defaultVariants: {\n size: 'xs',\n },\n }\n);\n\nfunction InputGroupButton({\n className,\n type = 'button',\n variant = 'ghost',\n size = 'xs',\n ...props\n}: Omit<React.ComponentProps<typeof Button>, 'size'> &\n VariantProps<typeof inputGroupButtonVariants>) {\n return (\n <Button\n type={type}\n data-size={size}\n variant={variant}\n className={cn(inputGroupButtonVariants({ size }), className)}\n {...props}\n />\n );\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n className={cn(\n \"text-muted-foreground flex items-center gap-2 text-sm [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupInput({\n className,\n ...props\n}: React.ComponentProps<'input'>) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\n 'flex-1 rounded-none border-0 bg-transparent shadow-none focus-visible:ring-0 dark:bg-transparent',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupTextarea({\n className,\n ...props\n}: React.ComponentProps<'textarea'>) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\n 'flex-1 resize-none rounded-none border-0 bg-transparent py-3 shadow-none focus-visible:ring-0 dark:bg-transparent',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n};\n"],"mappings":";;;;;;;;;;;;AAUA,SAAS,WAAW,EAAE,UAAW,GAAG,SAAsC;AACxE,QACE,oBAAC;EACC,aAAU;EACV,MAAK;EACL,WAAW,GACT,4JACA,sCAGA,mDACA,iDACA,kIACA,4HAGA,mMAGA,kLAEA,UACD;EACD,GAAI;GACJ;;AAIN,MAAM,0BAA0B,IAC9B,2PACA;CACE,UAAU,EACR,OAAO;EACL,gBACE;EACF,cACE;EACF,eACE;EACF,aACE;EACH,EACF;CACD,iBAAiB,EACf,OAAO,gBACR;CACF,CACF;AAED,SAAS,gBAAgB,EACvB,WACA,QAAQ,eACR,GAAG,SAC0E;AAC7E,QACE,oBAAC;EACC,MAAK;EACL,aAAU;EACV,cAAY;EACZ,WAAW,GAAG,wBAAwB,EAAE,OAAO,CAAC,EAAE,UAAU;EAC5D,UAAU,MAAM;AACd,OAAK,EAAE,OAAuB,QAAQ,SAAS,CAC7C;AAEF,KAAE,cAAc,eAAe,cAAc,QAAQ,EAAE,OAAO;;EAEhE,GAAI;GACJ;;AAIN,MAAM,2BAA2B,IAC/B,+CACA;CACE,UAAU,EACR,MAAM;EACJ,IAAI;EACJ,IAAI;EACJ,WACE;EACF,WAAW;EACZ,EACF;CACD,iBAAiB,EACf,MAAM,MACP;CACF,CACF;AAED,SAAS,iBAAiB,EACxB,WACA,OAAO,UACP,UAAU,SACV,OAAO,KACP,GAAG,SAE4C;AAC/C,QACE,oBAAC;EACO;EACN,aAAW;EACF;EACT,WAAW,GAAG,yBAAyB,EAAE,MAAM,CAAC,EAAE,UAAU;EAC5D,GAAI;GACJ;;AAIN,SAAS,eAAe,EAAE,UAAW,GAAG,SAAuC;AAC7E,QACE,oBAAC;EACC,WAAW,GACT,0HACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,gBAAgB,EACvB,UACA,GAAG,SAC6B;AAChC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,oGACA,UACD;EACD,GAAI;GACJ;;AAIN,SAAS,mBAAmB,EAC1B,UACA,GAAG,SACgC;AACnC,QACE,oBAAC;EACC,aAAU;EACV,WAAW,GACT,qHACA,UACD;EACD,GAAI;GACJ"}
@@ -0,0 +1,39 @@
1
+ import * as React$1 from "react";
2
+ import * as input_otp0 from "input-otp";
3
+
4
+ //#region ui/input-otp.d.ts
5
+ declare const InputOTP: React$1.ForwardRefExoticComponent<(Omit<Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "onChange" | "value" | "maxLength" | "textAlign" | "onComplete" | "pushPasswordManagerStrategy" | "pasteTransformer" | "containerClassName" | "noScriptCSSFallback"> & {
6
+ value?: string;
7
+ onChange?: (newValue: string) => unknown;
8
+ maxLength: number;
9
+ textAlign?: "left" | "center" | "right";
10
+ onComplete?: (...args: any[]) => unknown;
11
+ pushPasswordManagerStrategy?: "increase-width" | "none";
12
+ pasteTransformer?: (pasted: string) => string;
13
+ containerClassName?: string;
14
+ noScriptCSSFallback?: string | null;
15
+ } & {
16
+ render: (props: input_otp0.RenderProps) => React$1.ReactNode;
17
+ children?: never;
18
+ } & React$1.RefAttributes<HTMLInputElement>, "ref"> | Omit<Omit<React$1.InputHTMLAttributes<HTMLInputElement>, "onChange" | "value" | "maxLength" | "textAlign" | "onComplete" | "pushPasswordManagerStrategy" | "pasteTransformer" | "containerClassName" | "noScriptCSSFallback"> & {
19
+ value?: string;
20
+ onChange?: (newValue: string) => unknown;
21
+ maxLength: number;
22
+ textAlign?: "left" | "center" | "right";
23
+ onComplete?: (...args: any[]) => unknown;
24
+ pushPasswordManagerStrategy?: "increase-width" | "none";
25
+ pasteTransformer?: (pasted: string) => string;
26
+ containerClassName?: string;
27
+ noScriptCSSFallback?: string | null;
28
+ } & {
29
+ render?: never;
30
+ children: React$1.ReactNode;
31
+ } & React$1.RefAttributes<HTMLInputElement>, "ref">) & React$1.RefAttributes<HTMLInputElement>>;
32
+ declare const InputOTPGroup: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
33
+ declare const InputOTPSlot: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & {
34
+ index: number;
35
+ } & React$1.RefAttributes<HTMLDivElement>>;
36
+ declare const InputOTPSeparator: React$1.ForwardRefExoticComponent<Omit<React$1.DetailedHTMLProps<React$1.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
37
+ //#endregion
38
+ export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot };
39
+ //# sourceMappingURL=input-otp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-otp.d.ts","names":[],"sources":["../../ui/input-otp.tsx"],"sourcesContent":[],"mappings":";;;;cAQM,UAAQ,OAAA,CAAA,2BAAA,KAAA,KAAA,OAAA,CAAA,oBAAA;;;EAAR,SAAA,EAaJ,MAAA;EAbY,SAAA,CAAA,EAAA,MAAA,GAAA,QAAA,GAAA,OAAA;EAAA,UAAA,CAAA,EAAA,CAAA,GAAA,IAAA,EAAA,GAAA,EAAA,EAAA,GAAA,OAAA;EAAA,2BAAA,CAAA,EAAA,gBAAA,GAAA,MAAA;EAAA,gBAAA,CAAA,EAAA,CAAA,MAAA,EAAA,MAAA,EAAA,GAAA,MAAA;;;;EAAA,MAAA,EAAA,CAAA,KAAA,EAAA,UAAA,CAAA,WAAA,EAAA,oBAAA;;;;;;;;;;EAAA,kBAAA,CAAA,EAAA,MAAA;EAAA,mBAAA,CAAA,EAAA,MAAA,GAAA,IAAA;AAAA,CAAA,GAgBR;EAAa,MAAA,CAAA,EAAA,KAAA;EAAA,QAAA,mBAAA;CAAA,wBAAA,iBAAA,CAAA,EAAA,KAAA,CAAA,CAAA,wBAAA,iBAAA,CAAA,CAAA;cAAb,aAAa,EAAA,OAAA,CAAA,yBAAA,CAAA,IAAA,CAAA,OAAA,CAAA,iBAAA,CAAA,OAAA,CAAA,cAAA,CAAA,cAAA,CAAA,EAAA,cAAA,CAAA,EAAA,KAAA,CAAA,GAAA,OAAA,CAAA,aAAA,CAAA,cAAA,CAAA,CAAA;cAQb,YARa,EAQD,OAAA,CAAA,yBARC,CAQD,IARC,CAQD,OAAA,CAAA,iBARC,CAQD,OAAA,CAAA,cARC,CAQD,cARC,CAAA,EAQD,cARC,CAAA,EAAA,KAAA,CAAA,GAAA;EAAA,KAAA,EAAA,MAAA;CAAA,wBAAA,eAAA,CAAA,CAAA;cAoCb,iBApCa,EAoCI,OAAA,CAAA,yBApCJ,CAoCI,IApCJ,CAoCI,OAAA,CAAA,iBApCJ,CAoCI,OAAA,CAAA,cApCJ,CAoCI,cApCJ,CAAA,EAoCI,cApCJ,CAAA,EAAA,KAAA,CAAA,GAoCI,OAAA,CAAA,aApCJ,CAoCI,cApCJ,CAAA,CAAA"}
@@ -0,0 +1,47 @@
1
+ 'use client';
2
+
3
+
4
+ import { cn } from "./utils.js";
5
+ import * as React$1 from "react";
6
+ import { Dot } from "lucide-react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ import { OTPInput, OTPInputContext } from "input-otp";
9
+
10
+ //#region ui/input-otp.tsx
11
+ const InputOTP = React$1.forwardRef(({ className, containerClassName,...props }, ref) => /* @__PURE__ */ jsx(OTPInput, {
12
+ ref,
13
+ containerClassName: cn("flex items-center gap-2 has-disabled:opacity-50", containerClassName),
14
+ className: cn("disabled:cursor-not-allowed", className),
15
+ ...props
16
+ }));
17
+ InputOTP.displayName = "InputOTP";
18
+ const InputOTPGroup = React$1.forwardRef(({ className,...props }, ref) => /* @__PURE__ */ jsx("div", {
19
+ ref,
20
+ className: cn("flex items-center", className),
21
+ ...props
22
+ }));
23
+ InputOTPGroup.displayName = "InputOTPGroup";
24
+ const InputOTPSlot = React$1.forwardRef(({ index, className,...props }, ref) => {
25
+ const { char, hasFakeCaret, isActive } = React$1.useContext(OTPInputContext).slots[index] || {};
26
+ return /* @__PURE__ */ jsxs("div", {
27
+ ref,
28
+ className: cn("border-input relative flex h-10 w-10 items-center justify-center border-y border-r text-base transition-all first:rounded-l-md first:border-l last:rounded-r-md", isActive && "ring-ring ring-offset-background z-10 ring-2", className),
29
+ ...props,
30
+ children: [char, hasFakeCaret && /* @__PURE__ */ jsx("div", {
31
+ className: "pointer-events-none absolute inset-0 flex items-center justify-center",
32
+ children: /* @__PURE__ */ jsx("div", { className: "animate-caret-blink bg-foreground h-4 w-px duration-1000" })
33
+ })]
34
+ });
35
+ });
36
+ InputOTPSlot.displayName = "InputOTPSlot";
37
+ const InputOTPSeparator = React$1.forwardRef(({ ...props }, ref) => /* @__PURE__ */ jsx("div", {
38
+ ref,
39
+ role: "separator",
40
+ ...props,
41
+ children: /* @__PURE__ */ jsx(Dot, {})
42
+ }));
43
+ InputOTPSeparator.displayName = "InputOTPSeparator";
44
+
45
+ //#endregion
46
+ export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot };
47
+ //# sourceMappingURL=input-otp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-otp.js","names":["React"],"sources":["../../ui/input-otp.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { OTPInput, OTPInputContext } from 'input-otp';\nimport { Dot } from 'lucide-react';\n\nimport { cn } from './utils';\n\nconst InputOTP = React.forwardRef<\n React.ElementRef<typeof OTPInput>,\n React.ComponentPropsWithoutRef<typeof OTPInput>\n>(({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn(\n 'flex items-center gap-2 has-disabled:opacity-50',\n containerClassName\n )}\n className={cn('disabled:cursor-not-allowed', className)}\n {...props}\n />\n));\nInputOTP.displayName = 'InputOTP';\n\nconst InputOTPGroup = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex items-center', className)} {...props} />\n));\nInputOTPGroup.displayName = 'InputOTPGroup';\n\nconst InputOTPSlot = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'> & { index: number }\n>(({ index, className, ...props }, ref) => {\n const inputOTPContext = React.useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index] || {};\n\n return (\n <div\n ref={ref}\n className={cn(\n 'border-input relative flex h-10 w-10 items-center justify-center border-y border-r text-base transition-all first:rounded-l-md first:border-l last:rounded-r-md',\n isActive && 'ring-ring ring-offset-background z-10 ring-2',\n className\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"animate-caret-blink bg-foreground h-4 w-px duration-1000\" />\n </div>\n )}\n </div>\n );\n});\nInputOTPSlot.displayName = 'InputOTPSlot';\n\nconst InputOTPSeparator = React.forwardRef<\n React.ElementRef<'div'>,\n React.ComponentPropsWithoutRef<'div'>\n>(({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <Dot />\n </div>\n));\nInputOTPSeparator.displayName = 'InputOTPSeparator';\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n"],"mappings":";;;;;;;;;;AAQA,MAAM,WAAWA,QAAM,YAGpB,EAAE,WAAW,mBAAoB,GAAG,SAAS,QAC9C,oBAAC;CACM;CACL,oBAAoB,GAClB,mDACA,mBACD;CACD,WAAW,GAAG,+BAA+B,UAAU;CACvD,GAAI;EACJ,CACF;AACF,SAAS,cAAc;AAEvB,MAAM,gBAAgBA,QAAM,YAGzB,EAAE,UAAW,GAAG,SAAS,QAC1B,oBAAC;CAAS;CAAK,WAAW,GAAG,qBAAqB,UAAU;CAAE,GAAI;EAAS,CAC3E;AACF,cAAc,cAAc;AAE5B,MAAM,eAAeA,QAAM,YAGxB,EAAE,OAAO,UAAW,GAAG,SAAS,QAAQ;CAEzC,MAAM,EAAE,MAAM,cAAc,aADJA,QAAM,WAAW,gBAAgB,CACA,MAAM,UAAU,EAAE;AAE3E,QACE,qBAAC;EACM;EACL,WAAW,GACT,mKACA,YAAY,gDACZ,UACD;EACD,GAAI;aAEH,MACA,gBACC,oBAAC;GAAI,WAAU;aACb,oBAAC,SAAI,WAAU,6DAA6D;IACxE;GAEJ;EAER;AACF,aAAa,cAAc;AAE3B,MAAM,oBAAoBA,QAAM,YAG7B,EAAE,GAAG,SAAS,QACf,oBAAC;CAAS;CAAK,MAAK;CAAY,GAAI;WAClC,oBAAC,QAAM;EACH,CACN;AACF,kBAAkB,cAAc"}
@@ -0,0 +1,13 @@
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime265 from "react/jsx-runtime";
3
+
4
+ //#region ui/input.d.ts
5
+ type InputProps = React$1.ComponentProps<'input'>;
6
+ declare function Input({
7
+ className,
8
+ type,
9
+ ...props
10
+ }: InputProps): react_jsx_runtime265.JSX.Element;
11
+ //#endregion
12
+ export { Input, InputProps };
13
+ //# sourceMappingURL=input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.d.ts","names":[],"sources":["../../ui/input.tsx"],"sourcesContent":[],"mappings":";;;;KAIY,UAAA,GAAa,OAAA,CAAM;iBAEtB,KAAA;;;;GAAqC,aAAU,oBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,17 @@
1
+ import { cn } from "./utils.js";
2
+ import "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+
5
+ //#region ui/input.tsx
6
+ function Input({ className, type,...props }) {
7
+ return /* @__PURE__ */ jsx("input", {
8
+ type,
9
+ "data-slot": "input",
10
+ className: cn("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm", "focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]", "aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", className),
11
+ ...props
12
+ });
13
+ }
14
+
15
+ //#endregion
16
+ export { Input };
17
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input.js","names":[],"sources":["../../ui/input.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { cn } from './utils';\n\nexport type InputProps = React.ComponentProps<'input'>;\n\nfunction Input({ className, type, ...props }: InputProps) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n"],"mappings":";;;;;AAMA,SAAS,MAAM,EAAE,WAAW,KAAM,GAAG,SAAqB;AACxD,QACE,oBAAC;EACO;EACN,aAAU;EACV,WAAW,GACT,8bACA,iFACA,0GACA,UACD;EACD,GAAI;GACJ"}
@@ -0,0 +1,12 @@
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime264 from "react/jsx-runtime";
3
+ import * as LabelPrimitive from "@radix-ui/react-label";
4
+
5
+ //#region ui/label.d.ts
6
+ declare function Label({
7
+ className,
8
+ ...props
9
+ }: React$1.ComponentProps<typeof LabelPrimitive.Root>): react_jsx_runtime264.JSX.Element;
10
+ //#endregion
11
+ export { Label };
12
+ //# sourceMappingURL=label.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.d.ts","names":[],"sources":["../../ui/label.tsx"],"sourcesContent":[],"mappings":";;;;;iBAOS,KAAA;;;GAGN,OAAA,CAAM,sBAAsB,cAAA,CAAe,QAAK,oBAAA,CAAA,GAAA,CAAA"}
@@ -0,0 +1,20 @@
1
+ 'use client';
2
+
3
+
4
+ import { cn } from "./utils.js";
5
+ import "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ import * as LabelPrimitive from "@radix-ui/react-label";
8
+
9
+ //#region ui/label.tsx
10
+ function Label({ className,...props }) {
11
+ return /* @__PURE__ */ jsx(LabelPrimitive.Root, {
12
+ "data-slot": "label",
13
+ className: cn("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className),
14
+ ...props
15
+ });
16
+ }
17
+
18
+ //#endregion
19
+ export { Label };
20
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"label.js","names":[],"sources":["../../ui/label.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport * as LabelPrimitive from '@radix-ui/react-label';\n\nimport { cn } from './utils';\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n 'flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Label };\n"],"mappings":";;;;;;;;;AAOA,SAAS,MAAM,EACb,UACA,GAAG,SACgD;AACnD,QACE,oBAAC,eAAe;EACd,aAAU;EACV,WAAW,GACT,uNACA,UACD;EACD,GAAI;GACJ"}
@@ -0,0 +1,9 @@
1
+ import * as react5 from "react";
2
+
3
+ //#region ui/link.d.ts
4
+ declare const Link: react5.ForwardRefExoticComponent<Omit<react5.HTMLProps<HTMLAnchorElement> & {
5
+ href: string;
6
+ }, "ref"> & react5.RefAttributes<HTMLAnchorElement>>;
7
+ //#endregion
8
+ export { Link };
9
+ //# sourceMappingURL=link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.d.ts","names":[],"sources":["../../ui/link.tsx"],"sourcesContent":[],"mappings":";;;cAIM,aAAI,0BAAA,KAAA,MAAA,CAAA,UAAA"}
@@ -0,0 +1,18 @@
1
+ import { cn } from "./utils.js";
2
+ import { forwardRef } from "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+ import NextLink from "next/link";
5
+
6
+ //#region ui/link.tsx
7
+ const Link = forwardRef(({ className,...props }, ref) => {
8
+ return /* @__PURE__ */ jsx(NextLink, {
9
+ ref,
10
+ className: cn("className=\"text-primary underline\"", className),
11
+ ...props
12
+ });
13
+ });
14
+ Link.displayName = "Link";
15
+
16
+ //#endregion
17
+ export { Link };
18
+ //# sourceMappingURL=link.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.js","names":[],"sources":["../../ui/link.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { cn } from './utils';\nimport NextLink from 'next/link';\n\nconst Link = forwardRef<\n HTMLAnchorElement,\n React.HTMLProps<HTMLAnchorElement> & { href: string }\n>(({ className, ...props }, ref) => {\n return (\n <NextLink\n ref={ref}\n className={cn('className=\"text-primary underline\"', className)}\n {...props}\n />\n );\n});\nLink.displayName = 'Link';\n\nexport { Link };\n"],"mappings":";;;;;;AAIA,MAAM,OAAO,YAGV,EAAE,UAAW,GAAG,SAAS,QAAQ;AAClC,QACE,oBAAC;EACM;EACL,WAAW,GAAG,wCAAsC,UAAU;EAC9D,GAAI;GACJ;EAEJ;AACF,KAAK,cAAc"}
@@ -0,0 +1,17 @@
1
+ import * as React$1 from "react";
2
+ import * as react_jsx_runtime266 from "react/jsx-runtime";
3
+
4
+ //#region ui/live-region.d.ts
5
+ type LiveRegionPoliteness = 'polite' | 'assertive';
6
+ interface SRLiveRegionContextValue {
7
+ announce: (text: string, politeness?: LiveRegionPoliteness) => void;
8
+ }
9
+ declare function useSRLiveRegion(): SRLiveRegionContextValue;
10
+ declare function SRLiveRegionProvider({
11
+ children
12
+ }: {
13
+ children: React$1.ReactNode;
14
+ }): react_jsx_runtime266.JSX.Element;
15
+ //#endregion
16
+ export { LiveRegionPoliteness, SRLiveRegionProvider, useSRLiveRegion };
17
+ //# sourceMappingURL=live-region.d.ts.map