@airdraft/react-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 (390) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/AcceptInviteForm.d.ts +22 -0
  3. package/dist/AcceptInviteForm.d.ts.map +1 -0
  4. package/dist/AcceptInviteForm.js +52 -0
  5. package/dist/AcceptInviteForm.js.map +1 -0
  6. package/dist/AuditLogViewer.d.ts +42 -0
  7. package/dist/AuditLogViewer.d.ts.map +1 -0
  8. package/dist/AuditLogViewer.js +95 -0
  9. package/dist/AuditLogViewer.js.map +1 -0
  10. package/dist/CollectionManager.d.ts +26 -0
  11. package/dist/CollectionManager.d.ts.map +1 -0
  12. package/dist/CollectionManager.js +100 -0
  13. package/dist/CollectionManager.js.map +1 -0
  14. package/dist/CollectionsIndex.d.ts +25 -0
  15. package/dist/CollectionsIndex.d.ts.map +1 -0
  16. package/dist/CollectionsIndex.js +42 -0
  17. package/dist/CollectionsIndex.js.map +1 -0
  18. package/dist/ContentManager.d.ts +26 -0
  19. package/dist/ContentManager.d.ts.map +1 -0
  20. package/dist/ContentManager.js +110 -0
  21. package/dist/ContentManager.js.map +1 -0
  22. package/dist/EntryEditor.d.ts +25 -0
  23. package/dist/EntryEditor.d.ts.map +1 -0
  24. package/dist/EntryEditor.js +190 -0
  25. package/dist/EntryEditor.js.map +1 -0
  26. package/dist/LoginForm.d.ts +18 -0
  27. package/dist/LoginForm.d.ts.map +1 -0
  28. package/dist/LoginForm.js +41 -0
  29. package/dist/LoginForm.js.map +1 -0
  30. package/dist/MediaManager.d.ts +21 -0
  31. package/dist/MediaManager.d.ts.map +1 -0
  32. package/dist/MediaManager.js +59 -0
  33. package/dist/MediaManager.js.map +1 -0
  34. package/dist/SchemaEditor.d.ts +22 -0
  35. package/dist/SchemaEditor.d.ts.map +1 -0
  36. package/dist/SchemaEditor.js +35 -0
  37. package/dist/SchemaEditor.js.map +1 -0
  38. package/dist/SchemaEditorContent.d.ts +4 -0
  39. package/dist/SchemaEditorContent.d.ts.map +1 -0
  40. package/dist/SchemaEditorContent.js +82 -0
  41. package/dist/SchemaEditorContent.js.map +1 -0
  42. package/dist/SchemaEditorFieldDrawer.d.ts +2 -0
  43. package/dist/SchemaEditorFieldDrawer.d.ts.map +1 -0
  44. package/dist/SchemaEditorFieldDrawer.js +126 -0
  45. package/dist/SchemaEditorFieldDrawer.js.map +1 -0
  46. package/dist/SchemaEditorRoot.d.ts +59 -0
  47. package/dist/SchemaEditorRoot.d.ts.map +1 -0
  48. package/dist/SchemaEditorRoot.js +71 -0
  49. package/dist/SchemaEditorRoot.js.map +1 -0
  50. package/dist/SchemaEditorSidebar.d.ts +4 -0
  51. package/dist/SchemaEditorSidebar.d.ts.map +1 -0
  52. package/dist/SchemaEditorSidebar.js +67 -0
  53. package/dist/SchemaEditorSidebar.js.map +1 -0
  54. package/dist/TeamManager.d.ts +18 -0
  55. package/dist/TeamManager.d.ts.map +1 -0
  56. package/dist/TeamManager.js +90 -0
  57. package/dist/TeamManager.js.map +1 -0
  58. package/dist/components/CmsAdminHeader.d.ts +11 -0
  59. package/dist/components/CmsAdminHeader.d.ts.map +1 -0
  60. package/dist/components/CmsAdminHeader.js +119 -0
  61. package/dist/components/CmsAdminHeader.js.map +1 -0
  62. package/dist/components/ConfirmDialog.d.ts +19 -0
  63. package/dist/components/ConfirmDialog.d.ts.map +1 -0
  64. package/dist/components/ConfirmDialog.js +12 -0
  65. package/dist/components/ConfirmDialog.js.map +1 -0
  66. package/dist/components/EmptyState.d.ts +9 -0
  67. package/dist/components/EmptyState.d.ts.map +1 -0
  68. package/dist/components/EmptyState.js +7 -0
  69. package/dist/components/EmptyState.js.map +1 -0
  70. package/dist/components/EntryRow.d.ts +12 -0
  71. package/dist/components/EntryRow.d.ts.map +1 -0
  72. package/dist/components/EntryRow.js +20 -0
  73. package/dist/components/EntryRow.js.map +1 -0
  74. package/dist/components/ErrorAlert.d.ts +32 -0
  75. package/dist/components/ErrorAlert.d.ts.map +1 -0
  76. package/dist/components/ErrorAlert.js +40 -0
  77. package/dist/components/ErrorAlert.js.map +1 -0
  78. package/dist/components/InviteRow.d.ts +18 -0
  79. package/dist/components/InviteRow.d.ts.map +1 -0
  80. package/dist/components/InviteRow.js +28 -0
  81. package/dist/components/InviteRow.js.map +1 -0
  82. package/dist/components/MediaCard.d.ts +10 -0
  83. package/dist/components/MediaCard.d.ts.map +1 -0
  84. package/dist/components/MediaCard.js +29 -0
  85. package/dist/components/MediaCard.js.map +1 -0
  86. package/dist/components/MemberRow.d.ts +19 -0
  87. package/dist/components/MemberRow.d.ts.map +1 -0
  88. package/dist/components/MemberRow.js +19 -0
  89. package/dist/components/MemberRow.js.map +1 -0
  90. package/dist/components/PageHeader.d.ts +8 -0
  91. package/dist/components/PageHeader.d.ts.map +1 -0
  92. package/dist/components/PageHeader.js +7 -0
  93. package/dist/components/PageHeader.js.map +1 -0
  94. package/dist/components/RoleBadge.d.ts +7 -0
  95. package/dist/components/RoleBadge.d.ts.map +1 -0
  96. package/dist/components/RoleBadge.js +12 -0
  97. package/dist/components/RoleBadge.js.map +1 -0
  98. package/dist/components/StatusBadge.d.ts +8 -0
  99. package/dist/components/StatusBadge.d.ts.map +1 -0
  100. package/dist/components/StatusBadge.js +16 -0
  101. package/dist/components/StatusBadge.js.map +1 -0
  102. package/dist/components/TagInput.d.ts +12 -0
  103. package/dist/components/TagInput.d.ts.map +1 -0
  104. package/dist/components/TagInput.js +76 -0
  105. package/dist/components/TagInput.js.map +1 -0
  106. package/dist/components/UploadZone.d.ts +9 -0
  107. package/dist/components/UploadZone.d.ts.map +1 -0
  108. package/dist/components/UploadZone.js +21 -0
  109. package/dist/components/UploadZone.js.map +1 -0
  110. package/dist/components/index.d.ts +27 -0
  111. package/dist/components/index.d.ts.map +1 -0
  112. package/dist/components/index.js +15 -0
  113. package/dist/components/index.js.map +1 -0
  114. package/dist/hooks/use-mobile.d.ts +2 -0
  115. package/dist/hooks/use-mobile.d.ts.map +1 -0
  116. package/dist/hooks/use-mobile.js +16 -0
  117. package/dist/hooks/use-mobile.js.map +1 -0
  118. package/dist/hooks/useMediaQuery.d.ts +2 -0
  119. package/dist/hooks/useMediaQuery.d.ts.map +1 -0
  120. package/dist/hooks/useMediaQuery.js +16 -0
  121. package/dist/hooks/useMediaQuery.js.map +1 -0
  122. package/dist/index.d.ts +29 -0
  123. package/dist/index.d.ts.map +1 -0
  124. package/dist/index.js +23 -0
  125. package/dist/index.js.map +1 -0
  126. package/dist/lib/utils.d.ts +3 -0
  127. package/dist/lib/utils.d.ts.map +1 -0
  128. package/dist/lib/utils.js +6 -0
  129. package/dist/lib/utils.js.map +1 -0
  130. package/dist/ui/accordion.d.ts +8 -0
  131. package/dist/ui/accordion.d.ts.map +1 -0
  132. package/dist/ui/accordion.js +19 -0
  133. package/dist/ui/accordion.js.map +1 -0
  134. package/dist/ui/aevr/aevr/activity-item.d.ts +107 -0
  135. package/dist/ui/aevr/aevr/activity-item.d.ts.map +1 -0
  136. package/dist/ui/aevr/aevr/activity-item.js +154 -0
  137. package/dist/ui/aevr/aevr/activity-item.js.map +1 -0
  138. package/dist/ui/aevr/aevr/blurred-background.d.ts +10 -0
  139. package/dist/ui/aevr/aevr/blurred-background.d.ts.map +1 -0
  140. package/dist/ui/aevr/aevr/blurred-background.js +31 -0
  141. package/dist/ui/aevr/aevr/blurred-background.js.map +1 -0
  142. package/dist/ui/aevr/aevr/button.d.ts +11 -0
  143. package/dist/ui/aevr/aevr/button.d.ts.map +1 -0
  144. package/dist/ui/aevr/aevr/button.js +37 -0
  145. package/dist/ui/aevr/aevr/button.js.map +1 -0
  146. package/dist/ui/aevr/aevr/country-dropdown.d.ts +25 -0
  147. package/dist/ui/aevr/aevr/country-dropdown.d.ts.map +1 -0
  148. package/dist/ui/aevr/aevr/country-dropdown.js +38 -0
  149. package/dist/ui/aevr/aevr/country-dropdown.js.map +1 -0
  150. package/dist/ui/aevr/aevr/currency-amount-input.d.ts +19 -0
  151. package/dist/ui/aevr/aevr/currency-amount-input.d.ts.map +1 -0
  152. package/dist/ui/aevr/aevr/currency-amount-input.js +89 -0
  153. package/dist/ui/aevr/aevr/currency-amount-input.js.map +1 -0
  154. package/dist/ui/aevr/aevr/currency-select.d.ts +16 -0
  155. package/dist/ui/aevr/aevr/currency-select.d.ts.map +1 -0
  156. package/dist/ui/aevr/aevr/currency-select.js +38 -0
  157. package/dist/ui/aevr/aevr/currency-select.js.map +1 -0
  158. package/dist/ui/aevr/aevr/file-upload.d.ts +70 -0
  159. package/dist/ui/aevr/aevr/file-upload.d.ts.map +1 -0
  160. package/dist/ui/aevr/aevr/file-upload.js +388 -0
  161. package/dist/ui/aevr/aevr/file-upload.js.map +1 -0
  162. package/dist/ui/aevr/aevr/info-box.d.ts +32 -0
  163. package/dist/ui/aevr/aevr/info-box.d.ts.map +1 -0
  164. package/dist/ui/aevr/aevr/info-box.js +248 -0
  165. package/dist/ui/aevr/aevr/info-box.js.map +1 -0
  166. package/dist/ui/aevr/aevr/loader.d.ts +6 -0
  167. package/dist/ui/aevr/aevr/loader.d.ts.map +1 -0
  168. package/dist/ui/aevr/aevr/loader.js +14 -0
  169. package/dist/ui/aevr/aevr/loader.js.map +1 -0
  170. package/dist/ui/aevr/aevr/mini-wallet-card.d.ts +29 -0
  171. package/dist/ui/aevr/aevr/mini-wallet-card.d.ts.map +1 -0
  172. package/dist/ui/aevr/aevr/mini-wallet-card.js +31 -0
  173. package/dist/ui/aevr/aevr/mini-wallet-card.js.map +1 -0
  174. package/dist/ui/aevr/aevr/multistep.d.ts +40 -0
  175. package/dist/ui/aevr/aevr/multistep.d.ts.map +1 -0
  176. package/dist/ui/aevr/aevr/multistep.js +95 -0
  177. package/dist/ui/aevr/aevr/multistep.js.map +1 -0
  178. package/dist/ui/aevr/aevr/nav-user.d.ts +35 -0
  179. package/dist/ui/aevr/aevr/nav-user.d.ts.map +1 -0
  180. package/dist/ui/aevr/aevr/nav-user.js +47 -0
  181. package/dist/ui/aevr/aevr/nav-user.js.map +1 -0
  182. package/dist/ui/aevr/aevr/page-header.d.ts +46 -0
  183. package/dist/ui/aevr/aevr/page-header.d.ts.map +1 -0
  184. package/dist/ui/aevr/aevr/page-header.js +68 -0
  185. package/dist/ui/aevr/aevr/page-header.js.map +1 -0
  186. package/dist/ui/aevr/aevr/phone-input.d.ts +8 -0
  187. package/dist/ui/aevr/aevr/phone-input.d.ts.map +1 -0
  188. package/dist/ui/aevr/aevr/phone-input.js +60 -0
  189. package/dist/ui/aevr/aevr/phone-input.js.map +1 -0
  190. package/dist/ui/aevr/aevr/progress.d.ts +38 -0
  191. package/dist/ui/aevr/aevr/progress.d.ts.map +1 -0
  192. package/dist/ui/aevr/aevr/progress.js +65 -0
  193. package/dist/ui/aevr/aevr/progress.js.map +1 -0
  194. package/dist/ui/aevr/aevr/responsive-breadcrumb.d.ts +14 -0
  195. package/dist/ui/aevr/aevr/responsive-breadcrumb.d.ts.map +1 -0
  196. package/dist/ui/aevr/aevr/responsive-breadcrumb.js +17 -0
  197. package/dist/ui/aevr/aevr/responsive-breadcrumb.js.map +1 -0
  198. package/dist/ui/aevr/aevr/responsive-dialog.d.ts +16 -0
  199. package/dist/ui/aevr/aevr/responsive-dialog.d.ts.map +1 -0
  200. package/dist/ui/aevr/aevr/responsive-dialog.js +29 -0
  201. package/dist/ui/aevr/aevr/responsive-dialog.js.map +1 -0
  202. package/dist/ui/aevr/aevr/search-command.d.ts +31 -0
  203. package/dist/ui/aevr/aevr/search-command.d.ts.map +1 -0
  204. package/dist/ui/aevr/aevr/search-command.js +129 -0
  205. package/dist/ui/aevr/aevr/search-command.js.map +1 -0
  206. package/dist/ui/aevr/aevr/settings-card.d.ts +15 -0
  207. package/dist/ui/aevr/aevr/settings-card.d.ts.map +1 -0
  208. package/dist/ui/aevr/aevr/settings-card.js +29 -0
  209. package/dist/ui/aevr/aevr/settings-card.js.map +1 -0
  210. package/dist/ui/aevr/aevr/settings-header.d.ts +8 -0
  211. package/dist/ui/aevr/aevr/settings-header.d.ts.map +1 -0
  212. package/dist/ui/aevr/aevr/settings-header.js +9 -0
  213. package/dist/ui/aevr/aevr/settings-header.js.map +1 -0
  214. package/dist/ui/aevr/aevr/stat-card.d.ts +55 -0
  215. package/dist/ui/aevr/aevr/stat-card.d.ts.map +1 -0
  216. package/dist/ui/aevr/aevr/stat-card.js +86 -0
  217. package/dist/ui/aevr/aevr/stat-card.js.map +1 -0
  218. package/dist/ui/aevr/aevr/summary-card.d.ts +20 -0
  219. package/dist/ui/aevr/aevr/summary-card.d.ts.map +1 -0
  220. package/dist/ui/aevr/aevr/summary-card.js +29 -0
  221. package/dist/ui/aevr/aevr/summary-card.js.map +1 -0
  222. package/dist/ui/aevr/aevr/tag.d.ts +15 -0
  223. package/dist/ui/aevr/aevr/tag.d.ts.map +1 -0
  224. package/dist/ui/aevr/aevr/tag.js +42 -0
  225. package/dist/ui/aevr/aevr/tag.js.map +1 -0
  226. package/dist/ui/aevr/aevr/theme-toggle.d.ts +2 -0
  227. package/dist/ui/aevr/aevr/theme-toggle.d.ts.map +1 -0
  228. package/dist/ui/aevr/aevr/theme-toggle.js +20 -0
  229. package/dist/ui/aevr/aevr/theme-toggle.js.map +1 -0
  230. package/dist/ui/aevr/aevr/transaction-pin-confirm.d.ts +21 -0
  231. package/dist/ui/aevr/aevr/transaction-pin-confirm.d.ts.map +1 -0
  232. package/dist/ui/aevr/aevr/transaction-pin-confirm.js +65 -0
  233. package/dist/ui/aevr/aevr/transaction-pin-confirm.js.map +1 -0
  234. package/dist/ui/aevr/aevr/wallet-activity-item.d.ts +36 -0
  235. package/dist/ui/aevr/aevr/wallet-activity-item.d.ts.map +1 -0
  236. package/dist/ui/aevr/aevr/wallet-activity-item.js +288 -0
  237. package/dist/ui/aevr/aevr/wallet-activity-item.js.map +1 -0
  238. package/dist/ui/aevr/aevr/wallet-topup-form.d.ts +26 -0
  239. package/dist/ui/aevr/aevr/wallet-topup-form.d.ts.map +1 -0
  240. package/dist/ui/aevr/aevr/wallet-topup-form.js +13 -0
  241. package/dist/ui/aevr/aevr/wallet-topup-form.js.map +1 -0
  242. package/dist/ui/aevr/blurred-background.d.ts +10 -0
  243. package/dist/ui/aevr/blurred-background.d.ts.map +1 -0
  244. package/dist/ui/aevr/blurred-background.js +31 -0
  245. package/dist/ui/aevr/blurred-background.js.map +1 -0
  246. package/dist/ui/aevr/loader.d.ts +7 -0
  247. package/dist/ui/aevr/loader.d.ts.map +1 -0
  248. package/dist/ui/aevr/loader.js +15 -0
  249. package/dist/ui/aevr/loader.js.map +1 -0
  250. package/dist/ui/aevr/nav-user.d.ts +35 -0
  251. package/dist/ui/aevr/nav-user.d.ts.map +1 -0
  252. package/dist/ui/aevr/nav-user.js +38 -0
  253. package/dist/ui/aevr/nav-user.js.map +1 -0
  254. package/dist/ui/aevr/page-header.d.ts +46 -0
  255. package/dist/ui/aevr/page-header.d.ts.map +1 -0
  256. package/dist/ui/aevr/page-header.js +72 -0
  257. package/dist/ui/aevr/page-header.js.map +1 -0
  258. package/dist/ui/aevr/progress.d.ts +38 -0
  259. package/dist/ui/aevr/progress.d.ts.map +1 -0
  260. package/dist/ui/aevr/progress.js +65 -0
  261. package/dist/ui/aevr/progress.js.map +1 -0
  262. package/dist/ui/aevr/responsive-breadcrumb.d.ts +14 -0
  263. package/dist/ui/aevr/responsive-breadcrumb.d.ts.map +1 -0
  264. package/dist/ui/aevr/responsive-breadcrumb.js +17 -0
  265. package/dist/ui/aevr/responsive-breadcrumb.js.map +1 -0
  266. package/dist/ui/aevr/search-command.d.ts +31 -0
  267. package/dist/ui/aevr/search-command.d.ts.map +1 -0
  268. package/dist/ui/aevr/search-command.js +129 -0
  269. package/dist/ui/aevr/search-command.js.map +1 -0
  270. package/dist/ui/aevr/theme-toggle.d.ts +2 -0
  271. package/dist/ui/aevr/theme-toggle.d.ts.map +1 -0
  272. package/dist/ui/aevr/theme-toggle.js +20 -0
  273. package/dist/ui/aevr/theme-toggle.js.map +1 -0
  274. package/dist/ui/alert-dialog.d.ts +19 -0
  275. package/dist/ui/alert-dialog.d.ts.map +1 -0
  276. package/dist/ui/alert-dialog.js +42 -0
  277. package/dist/ui/alert-dialog.js.map +1 -0
  278. package/dist/ui/alert.d.ts +11 -0
  279. package/dist/ui/alert.d.ts.map +1 -0
  280. package/dist/ui/alert.js +28 -0
  281. package/dist/ui/alert.js.map +1 -0
  282. package/dist/ui/avatar.d.ts +12 -0
  283. package/dist/ui/avatar.d.ts.map +1 -0
  284. package/dist/ui/avatar.js +24 -0
  285. package/dist/ui/avatar.js.map +1 -0
  286. package/dist/ui/badge.d.ts +10 -0
  287. package/dist/ui/badge.d.ts.map +1 -0
  288. package/dist/ui/badge.js +25 -0
  289. package/dist/ui/badge.js.map +1 -0
  290. package/dist/ui/breadcrumb.d.ts +12 -0
  291. package/dist/ui/breadcrumb.d.ts.map +1 -0
  292. package/dist/ui/breadcrumb.js +28 -0
  293. package/dist/ui/breadcrumb.js.map +1 -0
  294. package/dist/ui/button.d.ts +11 -0
  295. package/dist/ui/button.d.ts.map +1 -0
  296. package/dist/ui/button.js +36 -0
  297. package/dist/ui/button.js.map +1 -0
  298. package/dist/ui/checkbox.d.ts +5 -0
  299. package/dist/ui/checkbox.d.ts.map +1 -0
  300. package/dist/ui/checkbox.js +9 -0
  301. package/dist/ui/checkbox.js.map +1 -0
  302. package/dist/ui/command.d.ts +19 -0
  303. package/dist/ui/command.d.ts.map +1 -0
  304. package/dist/ui/command.js +35 -0
  305. package/dist/ui/command.js.map +1 -0
  306. package/dist/ui/dialog.d.ts +18 -0
  307. package/dist/ui/dialog.d.ts.map +1 -0
  308. package/dist/ui/dialog.js +37 -0
  309. package/dist/ui/dialog.js.map +1 -0
  310. package/dist/ui/drawer.d.ts +14 -0
  311. package/dist/ui/drawer.d.ts.map +1 -0
  312. package/dist/ui/drawer.js +35 -0
  313. package/dist/ui/drawer.js.map +1 -0
  314. package/dist/ui/dropdown-menu.d.ts +30 -0
  315. package/dist/ui/dropdown-menu.d.ts.map +1 -0
  316. package/dist/ui/dropdown-menu.js +52 -0
  317. package/dist/ui/dropdown-menu.js.map +1 -0
  318. package/dist/ui/field.d.ts +25 -0
  319. package/dist/ui/field.d.ts.map +1 -0
  320. package/dist/ui/field.js +68 -0
  321. package/dist/ui/field.js.map +1 -0
  322. package/dist/ui/hover-card.d.ts +7 -0
  323. package/dist/ui/hover-card.d.ts.map +1 -0
  324. package/dist/ui/hover-card.js +14 -0
  325. package/dist/ui/hover-card.js.map +1 -0
  326. package/dist/ui/input-group.d.ts +17 -0
  327. package/dist/ui/input-group.d.ts.map +1 -0
  328. package/dist/ui/input-group.js +57 -0
  329. package/dist/ui/input-group.js.map +1 -0
  330. package/dist/ui/input.d.ts +4 -0
  331. package/dist/ui/input.d.ts.map +1 -0
  332. package/dist/ui/input.js +7 -0
  333. package/dist/ui/input.js.map +1 -0
  334. package/dist/ui/item.d.ts +24 -0
  335. package/dist/ui/item.d.ts.map +1 -0
  336. package/dist/ui/item.js +68 -0
  337. package/dist/ui/item.js.map +1 -0
  338. package/dist/ui/label.d.ts +5 -0
  339. package/dist/ui/label.d.ts.map +1 -0
  340. package/dist/ui/label.js +8 -0
  341. package/dist/ui/label.js.map +1 -0
  342. package/dist/ui/radio-group.d.ts +6 -0
  343. package/dist/ui/radio-group.d.ts.map +1 -0
  344. package/dist/ui/radio-group.js +11 -0
  345. package/dist/ui/radio-group.js.map +1 -0
  346. package/dist/ui/select.d.ts +16 -0
  347. package/dist/ui/select.d.ts.map +1 -0
  348. package/dist/ui/select.js +36 -0
  349. package/dist/ui/select.js.map +1 -0
  350. package/dist/ui/separator.d.ts +5 -0
  351. package/dist/ui/separator.d.ts.map +1 -0
  352. package/dist/ui/separator.js +9 -0
  353. package/dist/ui/separator.js.map +1 -0
  354. package/dist/ui/sheet.d.ts +15 -0
  355. package/dist/ui/sheet.d.ts.map +1 -0
  356. package/dist/ui/sheet.js +37 -0
  357. package/dist/ui/sheet.js.map +1 -0
  358. package/dist/ui/sidebar.d.ts +70 -0
  359. package/dist/ui/sidebar.d.ts.map +1 -0
  360. package/dist/ui/sidebar.js +207 -0
  361. package/dist/ui/sidebar.js.map +1 -0
  362. package/dist/ui/skeleton.d.ts +3 -0
  363. package/dist/ui/skeleton.d.ts.map +1 -0
  364. package/dist/ui/skeleton.js +7 -0
  365. package/dist/ui/skeleton.js.map +1 -0
  366. package/dist/ui/switch.d.ts +7 -0
  367. package/dist/ui/switch.d.ts.map +1 -0
  368. package/dist/ui/switch.js +8 -0
  369. package/dist/ui/switch.js.map +1 -0
  370. package/dist/ui/table.d.ts +11 -0
  371. package/dist/ui/table.d.ts.map +1 -0
  372. package/dist/ui/table.js +28 -0
  373. package/dist/ui/table.js.map +1 -0
  374. package/dist/ui/textarea.d.ts +4 -0
  375. package/dist/ui/textarea.d.ts.map +1 -0
  376. package/dist/ui/textarea.js +7 -0
  377. package/dist/ui/textarea.js.map +1 -0
  378. package/dist/ui/toggle-group.d.ts +11 -0
  379. package/dist/ui/toggle-group.d.ts.map +1 -0
  380. package/dist/ui/toggle-group.js +24 -0
  381. package/dist/ui/toggle-group.js.map +1 -0
  382. package/dist/ui/toggle.d.ts +10 -0
  383. package/dist/ui/toggle.d.ts.map +1 -0
  384. package/dist/ui/toggle.js +26 -0
  385. package/dist/ui/toggle.js.map +1 -0
  386. package/dist/ui/tooltip.d.ts +8 -0
  387. package/dist/ui/tooltip.d.ts.map +1 -0
  388. package/dist/ui/tooltip.js +17 -0
  389. package/dist/ui/tooltip.js.map +1 -0
  390. package/package.json +57 -0
@@ -0,0 +1,19 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState } from 'react';
4
+ import { TableCell, TableRow } from '../ui/table.js';
5
+ import { Button } from '../ui/button.js';
6
+ import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '../ui/select.js';
7
+ import { RoleBadge } from './RoleBadge.js';
8
+ import { ConfirmDialog } from './ConfirmDialog.js';
9
+ import { UserX } from 'lucide-react';
10
+ export function MemberRow({ user, currentUserEmail, canManage, onRoleChange, onRemove, removing, }) {
11
+ const [confirmOpen, setConfirmOpen] = useState(false);
12
+ const isSelf = user.email.toLowerCase() === currentUserEmail?.toLowerCase();
13
+ const initials = (user.name ?? user.email).slice(0, 2).toUpperCase();
14
+ return (_jsxs(TableRow, { children: [_jsx(TableCell, { children: _jsxs("div", { className: "flex items-center gap-3", children: [_jsx("div", { className: "flex h-8 w-8 shrink-0 items-center justify-center rounded-full bg-muted text-xs font-semibold", children: initials }), _jsxs("div", { className: "min-w-0", children: [user.name && _jsx("p", { className: "truncate text-sm font-medium", children: user.name }), _jsx("p", { className: "truncate text-xs text-muted-foreground", children: user.email })] })] }) }), _jsx(TableCell, { children: canManage && !isSelf && onRoleChange ? (_jsxs(Select, { defaultValue: user.role, onValueChange: (v) => onRoleChange(user.id, v), children: [_jsx(SelectTrigger, { className: "h-7 w-28 text-xs", children: _jsx(SelectValue, {}) }), _jsxs(SelectContent, { children: [_jsx(SelectItem, { value: "admin", children: "Admin" }), _jsx(SelectItem, { value: "publisher", children: "Publisher" }), _jsx(SelectItem, { value: "editor", children: "Editor" })] })] })) : (_jsx(RoleBadge, { role: user.role })) }), _jsx(TableCell, { className: "text-xs text-muted-foreground", children: new Date(user.createdAt * 1000).toLocaleDateString() }), _jsx(TableCell, { className: "text-right", children: canManage && !isSelf && onRemove && (_jsx(ConfirmDialog, { trigger: _jsx(Button, { variant: "ghost", size: "icon", className: "h-7 w-7 text-muted-foreground hover:text-destructive", children: _jsx(UserX, { className: "h-3.5 w-3.5" }) }), open: confirmOpen, onOpenChange: setConfirmOpen, title: "Remove member", description: `Remove ${user.name ?? user.email} from the team?`, confirmLabel: "Remove", loading: removing, onConfirm: () => {
15
+ onRemove(user.id);
16
+ setConfirmOpen(false);
17
+ } })) })] }));
18
+ }
19
+ //# sourceMappingURL=MemberRow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MemberRow.js","sourceRoot":"","sources":["../../src/components/MemberRow.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export interface PageHeaderProps {
2
+ title: string;
3
+ description?: string;
4
+ actions?: React.ReactNode;
5
+ className?: string;
6
+ }
7
+ export declare function PageHeader({ title, description, actions, className }: PageHeaderProps): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=PageHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageHeader.d.ts","sourceRoot":"","sources":["../../src/components/PageHeader.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,eAAe,2CAUrF"}
@@ -0,0 +1,7 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { cn } from '../lib/utils.js';
4
+ export function PageHeader({ title, description, actions, className }) {
5
+ return (_jsxs("div", { className: cn('flex items-start justify-between gap-4', className), children: [_jsxs("div", { className: "space-y-0.5", children: [_jsx("h2", { className: "text-base font-semibold leading-tight", children: title }), description && _jsx("p", { className: "text-sm text-muted-foreground", children: description })] }), actions && _jsx("div", { className: "flex shrink-0 items-center gap-2", children: actions })] }));
6
+ }
7
+ //# sourceMappingURL=PageHeader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PageHeader.js","sourceRoot":"","sources":["../../src/components/PageHeader.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAA;AASpC,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,SAAS,EAAmB;IACpF,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,wCAAwC,EAAE,SAAS,CAAC,aACrE,eAAK,SAAS,EAAC,aAAa,aAC1B,aAAI,SAAS,EAAC,uCAAuC,YAAE,KAAK,GAAM,EACjE,WAAW,IAAI,YAAG,SAAS,EAAC,+BAA+B,YAAE,WAAW,GAAK,IAC1E,EACL,OAAO,IAAI,cAAK,SAAS,EAAC,kCAAkC,YAAE,OAAO,GAAO,IACzE,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ export type CmsRole = 'admin' | 'publisher' | 'editor';
2
+ export interface RoleBadgeProps {
3
+ role: CmsRole;
4
+ className?: string;
5
+ }
6
+ export declare function RoleBadge({ role, className }: RoleBadgeProps): import("react/jsx-runtime").JSX.Element;
7
+ //# sourceMappingURL=RoleBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoleBadge.d.ts","sourceRoot":"","sources":["../../src/components/RoleBadge.tsx"],"names":[],"mappings":"AAIA,MAAM,MAAM,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,QAAQ,CAAA;AAQtD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,OAAO,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,cAAc,2CAY5D"}
@@ -0,0 +1,12 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { cn } from '../lib/utils.js';
4
+ const ROLE_STYLES = {
5
+ admin: 'bg-violet-100 text-violet-800 dark:bg-violet-900/30 dark:text-violet-300',
6
+ publisher: 'bg-blue-100 text-blue-800 dark:bg-blue-900/30 dark:text-blue-300',
7
+ editor: 'bg-slate-100 text-slate-700 dark:bg-slate-800 dark:text-slate-300',
8
+ };
9
+ export function RoleBadge({ role, className }) {
10
+ return (_jsx("span", { className: cn('inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium capitalize', ROLE_STYLES[role], className), children: role }));
11
+ }
12
+ //# sourceMappingURL=RoleBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RoleBadge.js","sourceRoot":"","sources":["../../src/components/RoleBadge.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAA;AAIpC,MAAM,WAAW,GAA4B;IAC3C,KAAK,EAAM,0EAA0E;IACrF,SAAS,EAAE,kEAAkE;IAC7E,MAAM,EAAK,mEAAmE;CAC/E,CAAA;AAOD,MAAM,UAAU,SAAS,CAAC,EAAE,IAAI,EAAE,SAAS,EAAkB;IAC3D,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,kFAAkF,EAClF,WAAW,CAAC,IAAI,CAAC,EACjB,SAAS,CACV,YAEA,IAAI,GACA,CACR,CAAA;AACH,CAAC"}
@@ -0,0 +1,8 @@
1
+ export interface StatusBadgeProps {
2
+ published: boolean;
3
+ /** ISO string or Date — when set and in future, shows "Scheduled" */
4
+ publishedAt?: string | Date | null;
5
+ className?: string;
6
+ }
7
+ export declare function StatusBadge({ published, publishedAt, className }: StatusBadgeProps): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=StatusBadge.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBadge.d.ts","sourceRoot":"","sources":["../../src/components/StatusBadge.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAA;IAClB,qEAAqE;IACrE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,CAAA;IAClC,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,WAAW,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAwBlF"}
@@ -0,0 +1,16 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { cn } from '../lib/utils.js';
4
+ export function StatusBadge({ published, publishedAt, className }) {
5
+ const isScheduled = published &&
6
+ publishedAt != null &&
7
+ new Date(publishedAt).getTime() > Date.now();
8
+ const label = !published ? 'Draft' : isScheduled ? 'Scheduled' : 'Published';
9
+ const styles = !published
10
+ ? 'bg-slate-100 text-slate-600 dark:bg-slate-800 dark:text-slate-400'
11
+ : isScheduled
12
+ ? 'bg-amber-100 text-amber-800 dark:bg-amber-900/30 dark:text-amber-300'
13
+ : 'bg-emerald-100 text-emerald-800 dark:bg-emerald-900/30 dark:text-emerald-300';
14
+ return (_jsx("span", { className: cn('inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium', styles, className), children: label }));
15
+ }
16
+ //# sourceMappingURL=StatusBadge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StatusBadge.js","sourceRoot":"","sources":["../../src/components/StatusBadge.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAA;AASpC,MAAM,UAAU,WAAW,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAoB;IACjF,MAAM,WAAW,GACf,SAAS;QACT,WAAW,IAAI,IAAI;QACnB,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;IAE9C,MAAM,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAA;IAC5E,MAAM,MAAM,GAAG,CAAC,SAAS;QACvB,CAAC,CAAC,mEAAmE;QACrE,CAAC,CAAC,WAAW;YACX,CAAC,CAAC,sEAAsE;YACxE,CAAC,CAAC,8EAA8E,CAAA;IAEpF,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,uEAAuE,EACvE,MAAM,EACN,SAAS,CACV,YAEA,KAAK,GACD,CACR,CAAA;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ export interface TagInputProps {
2
+ id?: string;
3
+ value: string[];
4
+ onChange: (value: string[]) => void;
5
+ placeholder?: string;
6
+ /** Restrict choices to these options (multiselect). Omit for free-form (list). */
7
+ options?: string[];
8
+ disabled?: boolean;
9
+ className?: string;
10
+ }
11
+ export declare function TagInput({ id, value, onChange, placeholder, options, disabled, className, }: TagInputProps): import("react/jsx-runtime").JSX.Element;
12
+ //# sourceMappingURL=TagInput.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagInput.d.ts","sourceRoot":"","sources":["../../src/components/TagInput.tsx"],"names":[],"mappings":"AAmBA,MAAM,WAAW,aAAa;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IACnC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kFAAkF;IAClF,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,QAAQ,CAAC,EACvB,EAAE,EACF,KAAK,EACL,QAAQ,EACR,WAAoB,EACpB,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,aAAa,2CA6If"}
@@ -0,0 +1,76 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState, useRef } from 'react';
4
+ import { X } from 'lucide-react';
5
+ import { cn } from '../lib/utils.js';
6
+ export function TagInput({ id, value, onChange, placeholder = 'Add…', options, disabled, className, }) {
7
+ const [input, setInput] = useState('');
8
+ const [open, setOpen] = useState(false);
9
+ const inputRef = useRef(null);
10
+ const containerRef = useRef(null);
11
+ const isFreeForm = !options;
12
+ const suggestions = options
13
+ ? options.filter((o) => !value.includes(o) &&
14
+ (input === '' || o.toLowerCase().includes(input.toLowerCase())))
15
+ : [];
16
+ function add(tag) {
17
+ const trimmed = tag.trim();
18
+ if (!trimmed)
19
+ return;
20
+ if (options && !options.includes(trimmed))
21
+ return; // strict match for multiselect
22
+ if (value.includes(trimmed))
23
+ return;
24
+ onChange([...value, trimmed]);
25
+ setInput('');
26
+ setOpen(true);
27
+ inputRef.current?.focus();
28
+ }
29
+ function remove(tag) {
30
+ onChange(value.filter((v) => v !== tag));
31
+ }
32
+ function handleKeyDown(e) {
33
+ if (e.key === 'Enter' || e.key === 'Tab') {
34
+ if (input) {
35
+ e.preventDefault();
36
+ if (isFreeForm) {
37
+ add(input);
38
+ }
39
+ else if (suggestions.length > 0) {
40
+ // Pick the first exact match or first suggestion
41
+ const exact = suggestions.find((s) => s.toLowerCase() === input.toLowerCase());
42
+ add(exact ?? suggestions[0]);
43
+ }
44
+ }
45
+ }
46
+ else if (e.key === ',') {
47
+ if (isFreeForm && input) {
48
+ e.preventDefault();
49
+ add(input);
50
+ }
51
+ }
52
+ else if (e.key === 'Backspace' && input === '' && value.length > 0) {
53
+ onChange(value.slice(0, -1));
54
+ }
55
+ else if (e.key === 'Escape') {
56
+ setOpen(false);
57
+ }
58
+ }
59
+ function handleInputChange(text) {
60
+ setInput(text);
61
+ setOpen(true);
62
+ // Free-form: handle inline comma-pasting (e.g. paste "a, b, c")
63
+ if (isFreeForm && text.includes(',')) {
64
+ const parts = text.split(',').map((s) => s.trim()).filter(Boolean);
65
+ const last = parts.pop() ?? '';
66
+ const newTags = parts.filter((p) => !value.includes(p));
67
+ if (newTags.length)
68
+ onChange([...value, ...newTags]);
69
+ setInput(last);
70
+ return;
71
+ }
72
+ }
73
+ const showDropdown = !isFreeForm && open && suggestions.length > 0;
74
+ return (_jsxs("div", { className: "relative", ref: containerRef, children: [_jsxs("div", { className: cn('flex flex-wrap gap-1.5 min-h-9 w-full rounded-3xl border border-transparent bg-input/50', 'px-3 py-1.5 transition-[color,box-shadow,background-color]', 'focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/30', disabled && 'opacity-50 pointer-events-none', className), onClick: () => inputRef.current?.focus(), children: [value.map((tag) => (_jsxs("span", { className: "inline-flex items-center gap-1 rounded-full border bg-muted pl-2.5 pr-1.5 py-0.5 text-xs font-medium leading-none", children: [tag, _jsx("button", { type: "button", tabIndex: -1, onClick: (e) => { e.stopPropagation(); remove(tag); }, className: "flex items-center justify-center rounded-full text-muted-foreground hover:text-foreground hover:bg-foreground/10 transition-colors h-3.5 w-3.5", "aria-label": `Remove ${tag}`, children: _jsx(X, { className: "h-2.5 w-2.5" }) })] }, tag))), _jsx("input", { ref: inputRef, id: id, type: "text", value: input, onChange: (e) => handleInputChange(e.target.value), onKeyDown: handleKeyDown, onFocus: () => setOpen(true), onBlur: () => setTimeout(() => setOpen(false), 150), placeholder: value.length === 0 ? placeholder : '', disabled: disabled, className: "flex-1 min-w-[6rem] bg-transparent text-sm outline-none placeholder:text-muted-foreground", autoComplete: "off" })] }), showDropdown && (_jsx("div", { className: "absolute z-10 mt-1 w-full rounded-xl border bg-popover shadow-md overflow-hidden", children: _jsx("ul", { className: "max-h-48 overflow-y-auto py-1", children: suggestions.map((opt) => (_jsx("li", { children: _jsx("button", { type: "button", onMouseDown: (e) => { e.preventDefault(); add(opt); }, className: cn('w-full text-left px-3 py-1.5 text-sm hover:bg-accent hover:text-accent-foreground transition-colors', input && opt.toLowerCase() === input.toLowerCase() && 'bg-accent/50'), children: opt }) }, opt))) }) }))] }));
75
+ }
76
+ //# sourceMappingURL=TagInput.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TagInput.js","sourceRoot":"","sources":["../../src/components/TagInput.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export interface UploadZoneProps {
2
+ onFiles: (files: File[]) => void;
3
+ accept?: string;
4
+ multiple?: boolean;
5
+ uploading?: boolean;
6
+ className?: string;
7
+ }
8
+ export declare function UploadZone({ onFiles, accept, multiple, uploading, className, }: UploadZoneProps): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=UploadZone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadZone.d.ts","sourceRoot":"","sources":["../../src/components/UploadZone.tsx"],"names":[],"mappings":"AAOA,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,IAAI,CAAA;IAChC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,UAAU,CAAC,EACzB,OAAO,EACP,MAAkB,EAClB,QAAe,EACf,SAAS,EACT,SAAS,GACV,EAAE,eAAe,2CAgDjB"}
@@ -0,0 +1,21 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useRef, useState } from 'react';
4
+ import { Upload } from 'lucide-react';
5
+ import { Button } from '../ui/button.js';
6
+ import { cn } from '../lib/utils.js';
7
+ export function UploadZone({ onFiles, accept = 'image/*', multiple = true, uploading, className, }) {
8
+ const inputRef = useRef(null);
9
+ const [dragging, setDragging] = useState(false);
10
+ function handleFiles(fileList) {
11
+ if (!fileList)
12
+ return;
13
+ onFiles(Array.from(fileList));
14
+ }
15
+ return (_jsxs("div", { className: cn('relative flex flex-col items-center justify-center gap-2 rounded-lg border-2 border-dashed p-8 transition-colors', dragging ? 'border-primary bg-primary/5' : 'border-muted-foreground/25 hover:border-muted-foreground/50', uploading && 'pointer-events-none opacity-50', className), onDragOver: (e) => { e.preventDefault(); setDragging(true); }, onDragLeave: () => setDragging(false), onDrop: (e) => {
16
+ e.preventDefault();
17
+ setDragging(false);
18
+ handleFiles(e.dataTransfer.files);
19
+ }, children: [_jsx(Upload, { className: "h-8 w-8 text-muted-foreground" }), _jsx("p", { className: "text-sm text-muted-foreground text-center", children: uploading ? 'Uploading…' : 'Drag & drop files here, or' }), !uploading && (_jsx(Button, { variant: "outline", size: "sm", onClick: () => inputRef.current?.click(), children: "Browse files" })), _jsx("input", { ref: inputRef, type: "file", accept: accept, multiple: multiple, className: "sr-only", onChange: (e) => handleFiles(e.target.files) })] }));
20
+ }
21
+ //# sourceMappingURL=UploadZone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UploadZone.js","sourceRoot":"","sources":["../../src/components/UploadZone.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAEZ,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAA;AAUpC,MAAM,UAAU,UAAU,CAAC,EACzB,OAAO,EACP,MAAM,GAAG,SAAS,EAClB,QAAQ,GAAG,IAAI,EACf,SAAS,EACT,SAAS,GACO;IAChB,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAA;IAC/C,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE/C,SAAS,WAAW,CAAC,QAAyB;QAC5C,IAAI,CAAC,QAAQ;YAAE,OAAM;QACrB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC/B,CAAC;IAED,OAAO,CACL,eACE,SAAS,EAAE,EAAE,CACX,kHAAkH,EAClH,QAAQ,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,6DAA6D,EACxG,SAAS,IAAI,gCAAgC,EAC7C,SAAS,CACV,EACD,UAAU,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,cAAc,EAAE,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC,EAC5D,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,EACrC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;YACZ,CAAC,CAAC,cAAc,EAAE,CAAA;YAClB,WAAW,CAAC,KAAK,CAAC,CAAA;YAClB,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAA;QACnC,CAAC,aAED,KAAC,MAAM,IAAC,SAAS,EAAC,+BAA+B,GAAG,EACpD,YAAG,SAAS,EAAC,2CAA2C,YACrD,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,4BAA4B,GACtD,EACH,CAAC,SAAS,IAAI,CACb,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,6BAGjC,CACV,EACD,gBACE,GAAG,EAAE,QAAQ,EACb,IAAI,EAAC,MAAM,EACX,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAC,SAAS,EACnB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAC5C,IACE,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,27 @@
1
+ export { ConfirmDialog } from './ConfirmDialog.js';
2
+ export type { ConfirmDialogProps } from './ConfirmDialog.js';
3
+ export { EmptyState } from './EmptyState.js';
4
+ export type { EmptyStateProps } from './EmptyState.js';
5
+ export { PageHeader } from './PageHeader.js';
6
+ export type { PageHeaderProps } from './PageHeader.js';
7
+ export { RoleBadge } from './RoleBadge.js';
8
+ export type { RoleBadgeProps, CmsRole } from './RoleBadge.js';
9
+ export { StatusBadge } from './StatusBadge.js';
10
+ export type { StatusBadgeProps } from './StatusBadge.js';
11
+ export { EntryRow } from './EntryRow.js';
12
+ export type { EntryRowProps } from './EntryRow.js';
13
+ export { MediaCard } from './MediaCard.js';
14
+ export type { MediaCardProps } from './MediaCard.js';
15
+ export { UploadZone } from './UploadZone.js';
16
+ export type { UploadZoneProps } from './UploadZone.js';
17
+ export { MemberRow } from './MemberRow.js';
18
+ export type { MemberRowProps, CmsUser } from './MemberRow.js';
19
+ export { InviteRow } from './InviteRow.js';
20
+ export type { InviteRowProps, CmsInvite } from './InviteRow.js';
21
+ export { ErrorAlert } from './ErrorAlert.js';
22
+ export type { ErrorAlertProps } from './ErrorAlert.js';
23
+ export { TagInput } from './TagInput.js';
24
+ export type { TagInputProps } from './TagInput.js';
25
+ export { CmsAdminHeader } from './CmsAdminHeader.js';
26
+ export type { CmsAdminHeaderProps } from './CmsAdminHeader.js';
27
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,YAAY,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAE5D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAE7D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAE7D,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,YAAY,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAC5C,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAEtD,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AACxC,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,15 @@
1
+ // Tier 2 — Airdraft-specific composed components
2
+ export { ConfirmDialog } from './ConfirmDialog.js';
3
+ export { EmptyState } from './EmptyState.js';
4
+ export { PageHeader } from './PageHeader.js';
5
+ export { RoleBadge } from './RoleBadge.js';
6
+ export { StatusBadge } from './StatusBadge.js';
7
+ export { EntryRow } from './EntryRow.js';
8
+ export { MediaCard } from './MediaCard.js';
9
+ export { UploadZone } from './UploadZone.js';
10
+ export { MemberRow } from './MemberRow.js';
11
+ export { InviteRow } from './InviteRow.js';
12
+ export { ErrorAlert } from './ErrorAlert.js';
13
+ export { TagInput } from './TagInput.js';
14
+ export { CmsAdminHeader } from './CmsAdminHeader.js';
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAGlD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG1C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG1C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG1C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG1C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG5C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAGxC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export declare function useIsMobile(): boolean;
2
+ //# sourceMappingURL=use-mobile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-mobile.d.ts","sourceRoot":"","sources":["../../src/hooks/use-mobile.ts"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,YAc1B"}
@@ -0,0 +1,16 @@
1
+ import * as React from "react";
2
+ const MOBILE_BREAKPOINT = 768;
3
+ export function useIsMobile() {
4
+ const [isMobile, setIsMobile] = React.useState(undefined);
5
+ React.useEffect(() => {
6
+ const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
7
+ const onChange = () => {
8
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
9
+ };
10
+ mql.addEventListener("change", onChange);
11
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
12
+ return () => mql.removeEventListener("change", onChange);
13
+ }, []);
14
+ return !!isMobile;
15
+ }
16
+ //# sourceMappingURL=use-mobile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-mobile.js","sourceRoot":"","sources":["../../src/hooks/use-mobile.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,MAAM,iBAAiB,GAAG,GAAG,CAAA;AAE7B,MAAM,UAAU,WAAW;IACzB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAsB,SAAS,CAAC,CAAA;IAE9E,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,eAAe,iBAAiB,GAAG,CAAC,KAAK,CAAC,CAAA;QACxE,MAAM,QAAQ,GAAG,GAAG,EAAE;YACpB,WAAW,CAAC,MAAM,CAAC,UAAU,GAAG,iBAAiB,CAAC,CAAA;QACpD,CAAC,CAAA;QACD,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACxC,WAAW,CAAC,MAAM,CAAC,UAAU,GAAG,iBAAiB,CAAC,CAAA;QAClD,OAAO,GAAG,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IAC1D,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CAAC,CAAC,QAAQ,CAAA;AACnB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function useMediaQuery(query: string): boolean;
2
+ //# sourceMappingURL=useMediaQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMediaQuery.d.ts","sourceRoot":"","sources":["../../src/hooks/useMediaQuery.ts"],"names":[],"mappings":"AAIA,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAapD"}
@@ -0,0 +1,16 @@
1
+ 'use client';
2
+ import { useEffect, useState } from 'react';
3
+ export function useMediaQuery(query) {
4
+ const [matches, setMatches] = useState(false);
5
+ useEffect(() => {
6
+ if (typeof window === 'undefined')
7
+ return;
8
+ const mq = window.matchMedia(query);
9
+ setMatches(mq.matches);
10
+ const listener = (e) => setMatches(e.matches);
11
+ mq.addEventListener('change', listener);
12
+ return () => mq.removeEventListener('change', listener);
13
+ }, [query]);
14
+ return matches;
15
+ }
16
+ //# sourceMappingURL=useMediaQuery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useMediaQuery.js","sourceRoot":"","sources":["../../src/hooks/useMediaQuery.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAE3C,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,MAAM,KAAK,WAAW;YAAE,OAAM;QACzC,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;QACnC,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,CAAA;QACtB,MAAM,QAAQ,GAAG,CAAC,CAAsB,EAAE,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAClE,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;QACvC,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAA;IACzD,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAA;IAEX,OAAO,OAAO,CAAA;AAChB,CAAC"}
@@ -0,0 +1,29 @@
1
+ export { SchemaEditor } from './SchemaEditor.js';
2
+ export type { SchemaEditorProps } from './SchemaEditor.js';
3
+ export { SchemaEditorRoot, useSchemaEditorContext } from './SchemaEditorRoot.js';
4
+ export type { SchemaEditorRootProps, SchemaEditorLabels } from './SchemaEditorRoot.js';
5
+ export { SchemaEditorSidebar } from './SchemaEditorSidebar.js';
6
+ export { SchemaEditorContent } from './SchemaEditorContent.js';
7
+ export { SchemaEditorFieldDrawer } from './SchemaEditorFieldDrawer.js';
8
+ export { AuditLogViewer } from './AuditLogViewer.js';
9
+ export type { AuditLogViewerProps, AuditEventRecord } from './AuditLogViewer.js';
10
+ export { CollectionsIndex } from './CollectionsIndex.js';
11
+ export type { CollectionsIndexProps } from './CollectionsIndex.js';
12
+ export { ContentManager } from './ContentManager.js';
13
+ export type { ContentManagerProps } from './ContentManager.js';
14
+ export { EntryEditor } from './EntryEditor.js';
15
+ export type { EntryEditorProps } from './EntryEditor.js';
16
+ export { MediaManager } from './MediaManager.js';
17
+ export type { MediaManagerProps } from './MediaManager.js';
18
+ export { TeamManager } from './TeamManager.js';
19
+ export type { TeamManagerProps } from './TeamManager.js';
20
+ export { LoginForm } from './LoginForm.js';
21
+ export type { LoginFormProps } from './LoginForm.js';
22
+ export { AcceptInviteForm } from './AcceptInviteForm.js';
23
+ export type { AcceptInviteFormProps } from './AcceptInviteForm.js';
24
+ export { ConfirmDialog, EmptyState, PageHeader, RoleBadge, StatusBadge, EntryRow, MediaCard, UploadZone, MemberRow, InviteRow, ErrorAlert, CmsAdminHeader, } from './components/index.js';
25
+ export type { ConfirmDialogProps, EmptyStateProps, PageHeaderProps, RoleBadgeProps, CmsRole, StatusBadgeProps, EntryRowProps, MediaCardProps, UploadZoneProps, MemberRowProps, CmsUser, InviteRowProps, CmsInvite, ErrorAlertProps, TagInput, TagInputProps, CmsAdminHeaderProps, } from './components/index.js';
26
+ export { useMediaQuery } from './hooks/useMediaQuery.js';
27
+ export { FIELD_TYPE_META, RESERVED_COLLECTION_NAMES, validateFieldKey, generateFieldKey, validateCollectionName, applyFieldUpdate, applyFieldDelete, buildDefaultPath, } from '@airdraft/ui-core';
28
+ export type { FieldTypeMeta } from '@airdraft/ui-core';
29
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAG1D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAChF,YAAY,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAEtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AAGhF,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAElE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,YAAY,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAA;AAE9D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAE1D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AACxD,YAAY,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAGlE,OAAO,EACL,aAAa,EACb,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,EACV,cAAc,GACf,MAAM,uBAAuB,CAAA;AAC9B,YAAY,EACV,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,cAAc,EACd,OAAO,EACP,gBAAgB,EAChB,aAAa,EACb,cAAc,EACd,eAAe,EACf,cAAc,EACd,OAAO,EACP,cAAc,EACd,SAAS,EACT,eAAe,EACf,QAAQ,EACR,aAAa,EACb,mBAAmB,GACpB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAGxD,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAA;AAC1B,YAAY,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA"}
package/dist/index.js ADDED
@@ -0,0 +1,23 @@
1
+ // Schema editor — Tier 3 drop-in
2
+ export { SchemaEditor } from './SchemaEditor.js';
3
+ // Schema editor — Tier 2 composable slots
4
+ export { SchemaEditorRoot, useSchemaEditorContext } from './SchemaEditorRoot.js';
5
+ export { SchemaEditorSidebar } from './SchemaEditorSidebar.js';
6
+ export { SchemaEditorContent } from './SchemaEditorContent.js';
7
+ export { SchemaEditorFieldDrawer } from './SchemaEditorFieldDrawer.js';
8
+ export { AuditLogViewer } from './AuditLogViewer.js';
9
+ // Tier 3 drop-in compounds
10
+ export { CollectionsIndex } from './CollectionsIndex.js';
11
+ export { ContentManager } from './ContentManager.js';
12
+ export { EntryEditor } from './EntryEditor.js';
13
+ export { MediaManager } from './MediaManager.js';
14
+ export { TeamManager } from './TeamManager.js';
15
+ export { LoginForm } from './LoginForm.js';
16
+ export { AcceptInviteForm } from './AcceptInviteForm.js';
17
+ // Tier 2 shared components
18
+ export { ConfirmDialog, EmptyState, PageHeader, RoleBadge, StatusBadge, EntryRow, MediaCard, UploadZone, MemberRow, InviteRow, ErrorAlert, CmsAdminHeader, } from './components/index.js';
19
+ // Hooks
20
+ export { useMediaQuery } from './hooks/useMediaQuery.js';
21
+ // Re-export ui-core utilities so consumers can do: import { FIELD_TYPE_META } from '@airdraft/react-ui'
22
+ export { FIELD_TYPE_META, RESERVED_COLLECTION_NAMES, validateFieldKey, generateFieldKey, validateCollectionName, applyFieldUpdate, applyFieldDelete, buildDefaultPath, } from '@airdraft/ui-core';
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,0CAA0C;AAC1C,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAGhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAA;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpD,2BAA2B;AAC3B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAGpD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAG1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAGxD,2BAA2B;AAC3B,OAAO,EACL,aAAa,EACb,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,QAAQ,EACR,SAAS,EACT,UAAU,EACV,SAAS,EACT,SAAS,EACT,UAAU,EACV,cAAc,GACf,MAAM,uBAAuB,CAAA;AAqB9B,QAAQ;AACR,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAExD,wGAAwG;AACxG,OAAO,EACL,eAAe,EACf,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,mBAAmB,CAAA"}
@@ -0,0 +1,3 @@
1
+ import { type ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
3
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAA;AAG5C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC"}
@@ -0,0 +1,6 @@
1
+ import { clsx } from 'clsx';
2
+ import { twMerge } from 'tailwind-merge';
3
+ export function cn(...inputs) {
4
+ return twMerge(clsx(inputs));
5
+ }
6
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAmB,MAAM,MAAM,CAAA;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;AAC9B,CAAC"}
@@ -0,0 +1,8 @@
1
+ import * as React from "react";
2
+ import { Accordion as AccordionPrimitive } from "radix-ui";
3
+ declare function Accordion({ className, ...props }: React.ComponentProps<typeof AccordionPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ declare function AccordionItem({ className, ...props }: React.ComponentProps<typeof AccordionPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
5
+ declare function AccordionTrigger({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
6
+ declare function AccordionContent({ className, children, ...props }: React.ComponentProps<typeof AccordionPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
7
+ export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
8
+ //# sourceMappingURL=accordion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../../src/ui/accordion.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAK1D,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,2CAWtD;AAED,iBAAS,aAAa,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,2CAQtD;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC,2CAgBzD;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,OAAO,CAAC,2CAiBzD;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAA"}
@@ -0,0 +1,19 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Accordion as AccordionPrimitive } from "radix-ui";
4
+ import { cn } from "../lib/utils";
5
+ import { ChevronDownIcon } from "lucide-react";
6
+ function Accordion({ className, ...props }) {
7
+ return (_jsx(AccordionPrimitive.Root, { "data-slot": "accordion", className: cn("flex w-full flex-col overflow-hidden rounded-2xl border", className), ...props }));
8
+ }
9
+ function AccordionItem({ className, ...props }) {
10
+ return (_jsx(AccordionPrimitive.Item, { "data-slot": "accordion-item", className: cn("not-last:border-b data-open:bg-muted/50", className), ...props }));
11
+ }
12
+ function AccordionTrigger({ className, children, ...props }) {
13
+ return (_jsx(AccordionPrimitive.Header, { className: "flex", children: _jsxs(AccordionPrimitive.Trigger, { "data-slot": "accordion-trigger", className: cn("group/accordion-trigger relative flex flex-1 items-start justify-between gap-6 border border-transparent p-4 text-left text-sm font-medium transition-all outline-none hover:underline disabled:pointer-events-none disabled:opacity-50 **:data-[slot=accordion-trigger-icon]:ml-auto **:data-[slot=accordion-trigger-icon]:size-4 **:data-[slot=accordion-trigger-icon]:text-muted-foreground", className), ...props, children: [children, _jsx(ChevronDownIcon, { "data-slot": "accordion-trigger-icon", className: "pointer-events-none shrink-0 transition-transform duration-200 group-data-[state=open]/accordion-trigger:rotate-180" })] }) }));
14
+ }
15
+ function AccordionContent({ className, children, ...props }) {
16
+ return (_jsx(AccordionPrimitive.Content, { "data-slot": "accordion-content", className: "overflow-hidden px-4 text-sm data-open:animate-accordion-down data-closed:animate-accordion-up", ...props, children: _jsx("div", { className: cn("h-(--radix-accordion-content-height) pt-0 pb-4 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4", className), children: children }) }));
17
+ }
18
+ export { Accordion, AccordionItem, AccordionTrigger, AccordionContent };
19
+ //# sourceMappingURL=accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accordion.js","sourceRoot":"","sources":["../../src/ui/accordion.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AAGZ,OAAO,EAAE,SAAS,IAAI,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAE1D,OAAO,EAAE,EAAE,EAAE,MAAM,cAAc,CAAA;AACjC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAE9C,SAAS,SAAS,CAAC,EACjB,SAAS,EACT,GAAG,KAAK,EAC6C;IACrD,OAAO,CACL,KAAC,kBAAkB,CAAC,IAAI,iBACZ,WAAW,EACrB,SAAS,EAAE,EAAE,CACX,yDAAyD,EACzD,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,aAAa,CAAC,EACrB,SAAS,EACT,GAAG,KAAK,EAC6C;IACrD,OAAO,CACL,KAAC,kBAAkB,CAAC,IAAI,iBACZ,gBAAgB,EAC1B,SAAS,EAAE,EAAE,CAAC,yCAAyC,EAAE,SAAS,CAAC,KAC/D,KAAK,GACT,CACH,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACgD;IACxD,OAAO,CACL,KAAC,kBAAkB,CAAC,MAAM,IAAC,SAAS,EAAC,MAAM,YACzC,MAAC,kBAAkB,CAAC,OAAO,iBACf,mBAAmB,EAC7B,SAAS,EAAE,EAAE,CACX,gYAAgY,EAChY,SAAS,CACV,KACG,KAAK,aAER,QAAQ,EACT,KAAC,eAAe,iBAAW,wBAAwB,EAAC,SAAS,EAAC,qHAAqH,GAAG,IAC3J,GACH,CAC7B,CAAA;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACgD;IACxD,OAAO,CACL,KAAC,kBAAkB,CAAC,OAAO,iBACf,mBAAmB,EAC7B,SAAS,EAAC,gGAAgG,KACtG,KAAK,YAET,cACE,SAAS,EAAE,EAAE,CACX,iJAAiJ,EACjJ,SAAS,CACV,YAEA,QAAQ,GACL,GACqB,CAC9B,CAAA;AACH,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAA"}