@questpie/admin 2.0.0 → 3.0.1

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 (1087) hide show
  1. package/README.md +173 -143
  2. package/dist/augmentation.d.mts +110 -11
  3. package/dist/client/blocks/block-renderer.d.mts +5 -12
  4. package/dist/client/blocks/block-renderer.mjs +89 -55
  5. package/dist/client/blocks/index.d.mts +2 -4
  6. package/dist/client/blocks/types.d.mts +3 -4
  7. package/dist/client/blocks/types.mjs +1 -2
  8. package/dist/client/builder/admin-types.d.mts +11 -44
  9. package/dist/client/builder/admin.d.mts +34 -45
  10. package/dist/client/builder/admin.mjs +35 -44
  11. package/dist/client/builder/field/field.d.mts +27 -205
  12. package/dist/client/builder/field/field.mjs +22 -68
  13. package/dist/client/builder/index.d.mts +23 -28
  14. package/dist/client/builder/page/page.d.mts +15 -27
  15. package/dist/client/builder/page/page.mjs +21 -17
  16. package/dist/client/builder/registry.d.mts +14 -34
  17. package/dist/client/builder/types/action-registry.mjs +148 -14
  18. package/dist/client/builder/types/action-types.d.mts +8 -35
  19. package/dist/client/builder/types/collection-types.mjs +1 -2
  20. package/dist/client/builder/types/common.d.mts +6 -20
  21. package/dist/client/builder/types/field-types.d.mts +4 -5
  22. package/dist/client/builder/types/field-types.mjs +1 -2
  23. package/dist/client/builder/types/ui-config.d.mts +3 -5
  24. package/dist/client/builder/types/widget-types.d.mts +19 -20
  25. package/dist/client/builder/validation.d.mts +33 -3
  26. package/dist/client/builder/validation.mjs +169 -150
  27. package/dist/client/builder/view/view.d.mts +26 -106
  28. package/dist/client/builder/view/view.mjs +14 -96
  29. package/dist/client/builder/widget/widget.d.mts +16 -22
  30. package/dist/client/builder/widget/widget.mjs +11 -16
  31. package/dist/client/components/actions/action-button.mjs +207 -97
  32. package/dist/client/components/actions/action-dialog.mjs +471 -176
  33. package/dist/client/components/actions/confirmation-dialog.mjs +166 -47
  34. package/dist/client/components/actions/header-actions.mjs +164 -71
  35. package/dist/client/components/admin-link.d.mts +8 -9
  36. package/dist/client/components/admin-link.mjs +127 -48
  37. package/dist/client/components/auth/auth-guard.d.mts +6 -7
  38. package/dist/client/components/auth/auth-guard.mjs +9 -9
  39. package/dist/client/components/auth/auth-loading.d.mts +3 -4
  40. package/dist/client/components/auth/auth-loading.mjs +38 -10
  41. package/dist/client/components/blocks/block-canvas.mjs +111 -42
  42. package/dist/client/components/blocks/block-editor-context.mjs +90 -23
  43. package/dist/client/components/blocks/block-editor-layout.mjs +176 -59
  44. package/dist/client/components/blocks/block-editor-provider.mjs +219 -139
  45. package/dist/client/components/blocks/block-fields-renderer.mjs +212 -42
  46. package/dist/client/components/blocks/block-insert-button.mjs +168 -51
  47. package/dist/client/components/blocks/block-item-menu.mjs +312 -110
  48. package/dist/client/components/blocks/block-item.mjs +372 -125
  49. package/dist/client/components/blocks/block-library-sidebar.mjs +209 -114
  50. package/dist/client/components/blocks/block-tree.mjs +73 -15
  51. package/dist/client/components/blocks/block-type-icon.mjs +65 -20
  52. package/dist/client/components/blocks/utils/tree-utils.mjs +1 -2
  53. package/dist/client/components/component-renderer.d.mts +11 -22
  54. package/dist/client/components/component-renderer.mjs +151 -38
  55. package/dist/client/components/error-boundary.mjs +77 -25
  56. package/dist/client/components/fields/array-field.mjs +474 -199
  57. package/dist/client/components/fields/asset-preview-field.mjs +143 -44
  58. package/dist/client/components/fields/blocks-field/blocks-field.mjs +143 -35
  59. package/dist/client/components/fields/boolean-field.mjs +62 -32
  60. package/dist/client/components/fields/date-field.mjs +46 -12
  61. package/dist/client/components/fields/datetime-field.mjs +42 -11
  62. package/dist/client/components/fields/email-field.mjs +57 -28
  63. package/dist/client/components/fields/field-utils.mjs +1 -2
  64. package/dist/client/components/fields/field-wrapper.mjs +107 -32
  65. package/dist/client/components/fields/json-field.mjs +323 -110
  66. package/dist/client/components/fields/locale-badge.mjs +16 -8
  67. package/dist/client/components/fields/number-field.mjs +63 -30
  68. package/dist/client/components/fields/object-array-field.mjs +666 -272
  69. package/dist/client/components/fields/object-field.mjs +656 -98
  70. package/dist/client/components/fields/relation/displays/cards-display.mjs +225 -111
  71. package/dist/client/components/fields/relation/displays/chips-display.mjs +150 -77
  72. package/dist/client/components/fields/relation/displays/grid-display.mjs +186 -91
  73. package/dist/client/components/fields/relation/displays/list-display.mjs +230 -111
  74. package/dist/client/components/fields/relation/displays/table-display.mjs +241 -66
  75. package/dist/client/components/fields/relation/displays/types.mjs +2 -3
  76. package/dist/client/components/fields/relation/relation-items-display.mjs +131 -35
  77. package/dist/client/components/fields/relation-field.mjs +70 -15
  78. package/dist/client/components/fields/relation-picker.mjs +93 -98
  79. package/dist/client/components/fields/relation-select.mjs +42 -29
  80. package/dist/client/components/fields/rich-text-editor/bubble-menu.mjs +90 -41
  81. package/dist/client/components/fields/rich-text-editor/extensions.mjs +33 -7
  82. package/dist/client/components/fields/rich-text-editor/image-popover.mjs +48 -23
  83. package/dist/client/components/fields/rich-text-editor/index.mjs +491 -158
  84. package/dist/client/components/fields/rich-text-editor/link-popover.mjs +13 -14
  85. package/dist/client/components/fields/rich-text-editor/presets.mjs +1 -2
  86. package/dist/client/components/fields/rich-text-editor/slash-commands.mjs +96 -53
  87. package/dist/client/components/fields/rich-text-editor/table-controls.mjs +416 -107
  88. package/dist/client/components/fields/rich-text-editor/toolbar.mjs +476 -215
  89. package/dist/client/components/fields/rich-text-editor/types.mjs +1 -2
  90. package/dist/client/components/fields/rich-text-editor/utils.mjs +1 -2
  91. package/dist/client/components/fields/rich-text-field.mjs +55 -17
  92. package/dist/client/components/fields/select-field.mjs +79 -44
  93. package/dist/client/components/fields/text-field.mjs +62 -29
  94. package/dist/client/components/fields/textarea-field.mjs +61 -29
  95. package/dist/client/components/fields/time-field.mjs +39 -11
  96. package/dist/client/components/fields/upload-field.mjs +253 -129
  97. package/dist/client/components/filter-builder/columns-tab.mjs +287 -93
  98. package/dist/client/components/filter-builder/filter-builder-sheet.mjs +437 -138
  99. package/dist/client/components/filter-builder/filters-tab.mjs +409 -126
  100. package/dist/client/components/filter-builder/saved-views-tab.mjs +259 -106
  101. package/dist/client/components/history-sidebar.mjs +496 -0
  102. package/dist/client/components/layout/field-layout-renderer.mjs +301 -0
  103. package/dist/client/components/locale-switcher.mjs +231 -108
  104. package/dist/client/components/media/media-grid.mjs +259 -84
  105. package/dist/client/components/media/media-picker-dialog.mjs +500 -192
  106. package/dist/client/components/preview/live-preview-mode.mjs +416 -124
  107. package/dist/client/components/preview/preview-pane.mjs +353 -144
  108. package/dist/client/components/primitives/asset-preview.mjs +665 -257
  109. package/dist/client/components/primitives/checkbox-input.mjs +37 -11
  110. package/dist/client/components/primitives/date-input.mjs +392 -149
  111. package/dist/client/components/primitives/dropzone.mjs +314 -185
  112. package/dist/client/components/primitives/number-input.mjs +14 -10
  113. package/dist/client/components/primitives/select-multi.mjs +519 -185
  114. package/dist/client/components/primitives/select-single.mjs +416 -126
  115. package/dist/client/components/primitives/text-input.mjs +10 -5
  116. package/dist/client/components/primitives/textarea-input.mjs +10 -5
  117. package/dist/client/components/primitives/time-input.mjs +118 -45
  118. package/dist/client/components/primitives/toggle-input.mjs +31 -11
  119. package/dist/client/components/primitives/types.mjs +1 -2
  120. package/dist/client/components/sheets/resource-sheet.mjs +72 -64
  121. package/dist/client/components/ui/accordion.mjs +156 -37
  122. package/dist/client/components/ui/alert.mjs +70 -17
  123. package/dist/client/components/ui/badge.mjs +57 -16
  124. package/dist/client/components/ui/button.mjs +49 -14
  125. package/dist/client/components/ui/card.mjs +194 -39
  126. package/dist/client/components/ui/checkbox.mjs +71 -16
  127. package/dist/client/components/ui/command.mjs +220 -50
  128. package/dist/client/components/ui/dialog.mjs +265 -52
  129. package/dist/client/components/ui/drawer.mjs +260 -57
  130. package/dist/client/components/ui/dropdown-menu.mjs +293 -67
  131. package/dist/client/components/ui/empty-state.mjs +72 -26
  132. package/dist/client/components/ui/field.mjs +332 -56
  133. package/dist/client/components/ui/input-group.mjs +174 -41
  134. package/dist/client/components/ui/input.mjs +38 -9
  135. package/dist/client/components/ui/kbd.mjs +37 -8
  136. package/dist/client/components/ui/label.mjs +38 -8
  137. package/dist/client/components/ui/popover.mjs +162 -35
  138. package/dist/client/components/ui/responsive-dialog.mjs +277 -71
  139. package/dist/client/components/ui/search-input.mjs +101 -36
  140. package/dist/client/components/ui/select.mjs +297 -57
  141. package/dist/client/components/ui/separator.mjs +39 -9
  142. package/dist/client/components/ui/sheet.mjs +253 -51
  143. package/dist/client/components/ui/sidebar.mjs +700 -182
  144. package/dist/client/components/ui/skeleton.mjs +33 -8
  145. package/dist/client/components/ui/sonner.d.mts +2 -3
  146. package/dist/client/components/ui/sonner.mjs +45 -15
  147. package/dist/client/components/ui/spinner.mjs +44 -10
  148. package/dist/client/components/ui/switch.mjs +47 -12
  149. package/dist/client/components/ui/table.mjs +260 -50
  150. package/dist/client/components/ui/tabs.mjs +140 -29
  151. package/dist/client/components/ui/textarea.mjs +33 -8
  152. package/dist/client/components/ui/toolbar.mjs +105 -23
  153. package/dist/client/components/ui/tooltip.mjs +130 -29
  154. package/dist/client/components/widgets/chart-widget.mjs +456 -156
  155. package/dist/client/components/widgets/progress-widget.mjs +150 -60
  156. package/dist/client/components/widgets/quick-actions-widget.mjs +175 -87
  157. package/dist/client/components/widgets/recent-items-widget.mjs +157 -62
  158. package/dist/client/components/widgets/stats-widget.mjs +153 -42
  159. package/dist/client/components/widgets/table-widget.mjs +198 -64
  160. package/dist/client/components/widgets/timeline-widget.mjs +193 -82
  161. package/dist/client/components/widgets/value-widget.mjs +257 -56
  162. package/dist/client/components/widgets/widget-skeletons.mjs +390 -108
  163. package/dist/client/contexts/breadcrumb-context.mjs +44 -16
  164. package/dist/client/{context → contexts}/focus-context.d.mts +6 -7
  165. package/dist/client/{context → contexts}/focus-context.mjs +134 -62
  166. package/dist/client/hooks/typed-hooks.d.mts +38 -12
  167. package/dist/client/hooks/typed-hooks.mjs +758 -142
  168. package/dist/client/hooks/use-action.mjs +197 -69
  169. package/dist/client/hooks/use-admin-config.mjs +39 -10
  170. package/dist/client/hooks/use-admin-preferences.mjs +118 -15
  171. package/dist/client/hooks/use-admin-routes.mjs +60 -27
  172. package/dist/client/hooks/use-audit-history.mjs +157 -0
  173. package/dist/client/hooks/use-auth.d.mts +14 -15
  174. package/dist/client/hooks/use-auth.mjs +8 -9
  175. package/dist/client/hooks/use-collection-fields.mjs +58 -19
  176. package/dist/client/hooks/use-collection-meta.mjs +45 -13
  177. package/dist/client/hooks/use-collection-schema.mjs +34 -11
  178. package/dist/client/hooks/use-collection-validation.mjs +39 -25
  179. package/dist/client/hooks/use-collection.d.mts +18 -8
  180. package/dist/client/hooks/use-collection.mjs +560 -101
  181. package/dist/client/hooks/use-current-user.d.mts +6 -3
  182. package/dist/client/hooks/use-current-user.mjs +2 -2
  183. package/dist/client/hooks/use-field-hooks.mjs +73 -65
  184. package/dist/client/hooks/use-field-options.d.mts +1 -34
  185. package/dist/client/hooks/use-field-options.mjs +233 -148
  186. package/dist/client/hooks/use-global-fields.mjs +47 -16
  187. package/dist/client/hooks/use-global-meta.mjs +57 -11
  188. package/dist/client/hooks/use-global-schema.mjs +31 -11
  189. package/dist/client/hooks/use-global.d.mts +13 -2
  190. package/dist/client/hooks/use-global.mjs +244 -34
  191. package/dist/client/hooks/use-locks.mjs +331 -124
  192. package/dist/client/hooks/use-media-query.d.mts +1 -2
  193. package/dist/client/hooks/use-media-query.mjs +38 -19
  194. package/dist/client/hooks/use-prefill-params.mjs +2 -2
  195. package/dist/client/hooks/use-questpie-query-options.mjs +33 -11
  196. package/dist/client/hooks/use-reactive-fields.d.mts +6 -3
  197. package/dist/client/hooks/use-reactive-fields.mjs +130 -93
  198. package/dist/client/hooks/use-realtime-highlight.mjs +115 -53
  199. package/dist/client/hooks/use-saved-views.mjs +109 -34
  200. package/dist/client/hooks/use-search-param-toggle.d.mts +12 -0
  201. package/dist/client/hooks/use-search-param-toggle.mjs +115 -0
  202. package/dist/client/hooks/use-search.mjs +147 -36
  203. package/dist/client/hooks/use-server-actions.mjs +191 -0
  204. package/dist/client/hooks/use-server-validation.mjs +164 -72
  205. package/dist/client/hooks/use-server-widget-data.d.mts +2 -3
  206. package/dist/client/hooks/use-server-widget-data.mjs +36 -11
  207. package/dist/client/hooks/use-setup-status.d.mts +3 -4
  208. package/dist/client/hooks/use-setup-status.mjs +28 -16
  209. package/dist/client/hooks/use-sidebar-search-param.d.mts +9 -0
  210. package/dist/client/hooks/use-sidebar-search-param.mjs +104 -0
  211. package/dist/client/hooks/use-transition-stage.mjs +125 -0
  212. package/dist/client/hooks/use-upload-collection.mjs +1 -2
  213. package/dist/client/hooks/use-upload.mjs +189 -125
  214. package/dist/client/hooks/use-validation-error-map.mjs +10 -6
  215. package/dist/client/hooks/use-view-state.mjs +380 -162
  216. package/dist/client/i18n/hooks.mjs +191 -67
  217. package/dist/client/i18n/intl-cache.mjs +1 -2
  218. package/dist/client/i18n/messages.mjs +1 -2
  219. package/dist/client/i18n/simple.d.mts +1 -2
  220. package/dist/client/i18n/simple.mjs +1 -2
  221. package/dist/client/i18n/types.d.mts +1 -2
  222. package/dist/client/lib/cookies.mjs +9 -0
  223. package/dist/client/lib/events.mjs +5 -0
  224. package/dist/client/lib/render-profiler.mjs +51 -0
  225. package/dist/client/lib/utils.mjs +1 -6
  226. package/dist/client/preview/block-scope-context.d.mts +5 -6
  227. package/dist/client/preview/block-scope-context.mjs +50 -27
  228. package/dist/client/preview/index.d.mts +2 -2
  229. package/dist/client/preview/preview-banner.d.mts +3 -4
  230. package/dist/client/preview/preview-banner.mjs +74 -35
  231. package/dist/client/preview/preview-field.d.mts +9 -10
  232. package/dist/client/preview/preview-field.mjs +163 -61
  233. package/dist/client/preview/types.d.mts +1 -2
  234. package/dist/client/preview/types.mjs +1 -2
  235. package/dist/client/preview/use-collection-preview.d.mts +1 -2
  236. package/dist/client/preview/use-collection-preview.mjs +105 -56
  237. package/dist/client/runtime/content-locales-provider.mjs +87 -36
  238. package/dist/client/runtime/index.d.mts +1 -3
  239. package/dist/client/runtime/index.mjs +1 -3
  240. package/dist/client/runtime/locale-scope.mjs +69 -29
  241. package/dist/client/runtime/provider.d.mts +18 -9922
  242. package/dist/client/runtime/provider.mjs +250 -86
  243. package/dist/client/runtime/routes.d.mts +7 -7
  244. package/dist/client/runtime/routes.mjs +4 -20
  245. package/dist/client/runtime/translations-provider.mjs +114 -53
  246. package/dist/client/scope/picker.d.mts +3 -4
  247. package/dist/client/scope/picker.mjs +324 -90
  248. package/dist/client/scope/provider.d.mts +4 -5
  249. package/dist/client/scope/provider.mjs +30 -22
  250. package/dist/client/scope/types.d.mts +1 -2
  251. package/dist/client/styles/index.css +301 -225
  252. package/dist/client/utils/auto-expand-fields.mjs +23 -5
  253. package/dist/client/utils/build-field-definitions-from-schema.mjs +10 -7
  254. package/dist/client/utils/dependency-tracker.mjs +61 -0
  255. package/dist/client/utils/detect-relations.mjs +1 -2
  256. package/dist/client/utils/locale-to-flag.d.mts +8 -7
  257. package/dist/client/utils/locale-to-flag.mjs +1 -2
  258. package/dist/client/utils/routes.mjs +1 -2
  259. package/dist/client/views/auth/accept-invite-form.d.mts +3 -4
  260. package/dist/client/views/auth/accept-invite-form.mjs +414 -121
  261. package/dist/client/views/auth/auth-layout.d.mts +5 -6
  262. package/dist/client/views/auth/auth-layout.mjs +93 -30
  263. package/dist/client/views/auth/forgot-password-form.d.mts +4 -5
  264. package/dist/client/views/auth/forgot-password-form.mjs +332 -100
  265. package/dist/client/views/auth/invite-form.mjs +447 -105
  266. package/dist/client/views/auth/login-form.d.mts +4 -5
  267. package/dist/client/views/auth/login-form.mjs +340 -120
  268. package/dist/client/views/auth/reset-password-form.d.mts +4 -5
  269. package/dist/client/views/auth/reset-password-form.mjs +458 -131
  270. package/dist/client/views/auth/setup-form.d.mts +2 -3
  271. package/dist/client/views/auth/setup-form.mjs +481 -141
  272. package/dist/client/views/collection/auto-form-fields.mjs +686 -266
  273. package/dist/client/views/collection/bulk-action-toolbar.mjs +392 -203
  274. package/dist/client/views/collection/cells/complex-cells.mjs +635 -216
  275. package/dist/client/views/collection/cells/primitive-cells.mjs +332 -102
  276. package/dist/client/views/collection/cells/relation-cells.mjs +227 -72
  277. package/dist/client/views/collection/cells/shared/asset-thumbnail.mjs +456 -136
  278. package/dist/client/views/collection/cells/shared/cell-helpers.mjs +49 -2
  279. package/dist/client/views/collection/cells/shared/relation-chip.mjs +109 -25
  280. package/dist/client/views/collection/cells/upload-cells.mjs +16 -8
  281. package/dist/client/views/collection/columns/build-columns.mjs +51 -12
  282. package/dist/client/views/collection/columns/column-defaults.mjs +17 -2
  283. package/dist/client/views/collection/field-context.mjs +10 -11
  284. package/dist/client/views/collection/field-renderer.mjs +237 -40
  285. package/dist/client/views/collection/form-view.mjs +1108 -445
  286. package/dist/client/views/collection/table-view.mjs +300 -163
  287. package/dist/client/views/collection/view-skeletons.mjs +181 -87
  288. package/dist/client/views/common/global-search.mjs +557 -233
  289. package/dist/client/views/dashboard/dashboard-grid.mjs +707 -211
  290. package/dist/client/views/dashboard/dashboard-widget.mjs +145 -58
  291. package/dist/client/views/dashboard/widget-card.mjs +315 -102
  292. package/dist/client/views/globals/global-form-view.mjs +1256 -131
  293. package/dist/client/views/layout/admin-layout-provider.d.mts +18 -21
  294. package/dist/client/views/layout/admin-layout-provider.mjs +135 -32
  295. package/dist/client/views/layout/admin-layout.d.mts +14 -32
  296. package/dist/client/views/layout/admin-layout.mjs +254 -96
  297. package/dist/client/views/layout/admin-router.d.mts +10 -42
  298. package/dist/client/views/layout/admin-router.mjs +1086 -426
  299. package/dist/client/views/layout/admin-sidebar.d.mts +10 -16
  300. package/dist/client/views/layout/admin-sidebar.mjs +1211 -382
  301. package/dist/client/views/layout/admin-topbar.mjs +220 -112
  302. package/dist/client/views/pages/accept-invite-page.d.mts +5 -6
  303. package/dist/client/views/pages/accept-invite-page.mjs +302 -96
  304. package/dist/client/views/pages/dashboard-page.d.mts +7 -16
  305. package/dist/client/views/pages/dashboard-page.mjs +62 -23
  306. package/dist/client/views/pages/forgot-password-page.d.mts +7 -10
  307. package/dist/client/views/pages/forgot-password-page.mjs +112 -40
  308. package/dist/client/views/pages/invite-page.d.mts +6 -7
  309. package/dist/client/views/pages/invite-page.mjs +121 -46
  310. package/dist/client/views/pages/login-page.d.mts +8 -15
  311. package/dist/client/views/pages/login-page.mjs +152 -57
  312. package/dist/client/views/pages/reset-password-page.d.mts +7 -10
  313. package/dist/client/views/pages/reset-password-page.mjs +209 -57
  314. package/dist/client/views/pages/setup-page.d.mts +7 -10
  315. package/dist/client/views/pages/setup-page.mjs +108 -43
  316. package/dist/client-module.d.mts +3 -0
  317. package/dist/client-module.mjs +3 -0
  318. package/dist/client.d.mts +55 -48
  319. package/dist/client.mjs +26 -28
  320. package/dist/components/rich-text/rich-text-renderer.d.mts +3 -4
  321. package/dist/components/rich-text/rich-text-renderer.mjs +97 -70
  322. package/dist/index.d.mts +36 -39
  323. package/dist/index.mjs +26 -28
  324. package/dist/plugin.d.mts +2 -0
  325. package/dist/plugin.mjs +3 -0
  326. package/dist/server/adapters/nextjs.d.mts +13 -14
  327. package/dist/server/adapters/nextjs.mjs +12 -13
  328. package/dist/server/adapters/tanstack.d.mts +10 -11
  329. package/dist/server/adapters/tanstack.mjs +11 -12
  330. package/dist/server/augmentation/actions.d.mts +279 -0
  331. package/dist/server/augmentation/common.d.mts +76 -0
  332. package/dist/server/augmentation/dashboard.d.mts +547 -0
  333. package/dist/server/augmentation/form-layout.d.mts +303 -0
  334. package/dist/server/augmentation/index.d.mts +44 -0
  335. package/dist/server/augmentation/index.mjs +10 -0
  336. package/dist/server/augmentation/sidebar.d.mts +181 -0
  337. package/dist/server/augmentation/views.d.mts +237 -0
  338. package/dist/server/augmentation.d.mts +7 -1523
  339. package/dist/server/block/index.d.mts +4 -3
  340. package/dist/server/codegen/admin-client-template.mjs +93 -0
  341. package/dist/server/codegen/projection-validator.mjs +67 -0
  342. package/dist/server/fields/blocks.d.mts +10 -78
  343. package/dist/server/fields/blocks.mjs +74 -115
  344. package/dist/server/fields/index.d.mts +6 -39
  345. package/dist/server/fields/index.mjs +6 -7
  346. package/dist/server/fields/rich-text.d.mts +10 -77
  347. package/dist/server/fields/rich-text.mjs +59 -100
  348. package/dist/server/i18n/index.mjs +8 -9
  349. package/dist/server/i18n/messages/cs.mjs +3 -3
  350. package/dist/server/i18n/messages/de.mjs +3 -3
  351. package/dist/server/i18n/messages/en.mjs +217 -3
  352. package/dist/server/i18n/messages/es.mjs +3 -3
  353. package/dist/server/i18n/messages/fr.mjs +3 -3
  354. package/dist/server/i18n/messages/index.mjs +1 -2
  355. package/dist/server/i18n/messages/pl.mjs +3 -3
  356. package/dist/server/i18n/messages/pt.mjs +3 -3
  357. package/dist/server/i18n/messages/sk.mjs +202 -3
  358. package/dist/server/modules/admin/.generated/module.d.mts +52 -0
  359. package/dist/server/modules/admin/.generated/module.mjs +78 -0
  360. package/dist/server/modules/admin/.generated/registries.d.mts +22 -0
  361. package/dist/server/{auth-helpers.d.mts → modules/admin/auth-helpers.d.mts} +13 -14
  362. package/dist/server/{auth-helpers.mjs → modules/admin/auth-helpers.mjs} +15 -16
  363. package/dist/server/{block → modules/admin/block}/block-builder.d.mts +96 -32
  364. package/dist/server/{block → modules/admin/block}/block-builder.mjs +113 -15
  365. package/dist/server/modules/admin/block/index.d.mts +3 -0
  366. package/dist/server/{block → modules/admin/block}/introspection.d.mts +10 -5
  367. package/dist/server/{block → modules/admin/block}/introspection.mjs +18 -7
  368. package/dist/server/{block → modules/admin/block}/prefetch.d.mts +21 -17
  369. package/dist/server/{block → modules/admin/block}/prefetch.mjs +17 -16
  370. package/dist/server/modules/admin/client/.generated/module.d.mts +94 -0
  371. package/dist/server/modules/admin/client/.generated/module.mjs +91 -0
  372. package/dist/server/modules/admin/client/components/badge.d.mts +1 -0
  373. package/dist/server/modules/admin/client/components/icon.d.mts +1 -0
  374. package/dist/server/modules/admin/client/fields/array.d.mts +6 -0
  375. package/dist/server/modules/admin/client/fields/array.mjs +12 -0
  376. package/dist/server/modules/admin/client/fields/assetPreview.d.mts +6 -0
  377. package/dist/server/modules/admin/client/fields/assetPreview.mjs +18 -0
  378. package/dist/server/modules/admin/client/fields/blocks.d.mts +6 -0
  379. package/dist/server/modules/admin/client/fields/blocks.mjs +12 -0
  380. package/dist/server/modules/admin/client/fields/boolean.d.mts +6 -0
  381. package/dist/server/modules/admin/client/fields/boolean.mjs +12 -0
  382. package/dist/server/modules/admin/client/fields/date.d.mts +6 -0
  383. package/dist/server/modules/admin/client/fields/date.mjs +12 -0
  384. package/dist/server/modules/admin/client/fields/datetime.d.mts +6 -0
  385. package/dist/server/modules/admin/client/fields/datetime.mjs +12 -0
  386. package/dist/server/modules/admin/client/fields/email.d.mts +6 -0
  387. package/dist/server/modules/admin/client/fields/email.mjs +12 -0
  388. package/dist/server/modules/admin/client/fields/json.d.mts +6 -0
  389. package/dist/server/modules/admin/client/fields/json.mjs +11 -0
  390. package/dist/server/modules/admin/client/fields/number.d.mts +6 -0
  391. package/dist/server/modules/admin/client/fields/number.mjs +12 -0
  392. package/dist/server/modules/admin/client/fields/object.d.mts +6 -0
  393. package/dist/server/modules/admin/client/fields/object.mjs +12 -0
  394. package/dist/server/modules/admin/client/fields/relation.d.mts +6 -0
  395. package/dist/server/modules/admin/client/fields/relation.mjs +12 -0
  396. package/dist/server/modules/admin/client/fields/richText.d.mts +6 -0
  397. package/dist/server/modules/admin/client/fields/richText.mjs +11 -0
  398. package/dist/server/modules/admin/client/fields/select.d.mts +6 -0
  399. package/dist/server/modules/admin/client/fields/select.mjs +12 -0
  400. package/dist/server/modules/admin/client/fields/text.d.mts +6 -0
  401. package/dist/server/modules/admin/client/fields/text.mjs +12 -0
  402. package/dist/server/modules/admin/client/fields/textarea.d.mts +6 -0
  403. package/dist/server/modules/admin/client/fields/textarea.mjs +12 -0
  404. package/dist/server/modules/admin/client/fields/time.d.mts +6 -0
  405. package/dist/server/modules/admin/client/fields/time.mjs +12 -0
  406. package/dist/server/modules/admin/client/fields/upload.d.mts +6 -0
  407. package/dist/server/modules/admin/client/fields/upload.mjs +12 -0
  408. package/dist/server/modules/admin/client/fields/url.d.mts +6 -0
  409. package/dist/server/modules/admin/client/fields/url.mjs +12 -0
  410. package/dist/server/modules/admin/client/index.d.mts +1 -0
  411. package/dist/server/modules/admin/client/pages/dashboard.d.mts +6 -0
  412. package/dist/server/modules/admin/client/pages/dashboard.mjs +11 -0
  413. package/dist/server/modules/admin/client/pages/forgotPassword.d.mts +6 -0
  414. package/dist/server/modules/admin/client/pages/forgotPassword.mjs +11 -0
  415. package/dist/server/modules/admin/client/pages/login.d.mts +6 -0
  416. package/dist/server/modules/admin/client/pages/login.mjs +11 -0
  417. package/dist/server/modules/admin/client/pages/resetPassword.d.mts +6 -0
  418. package/dist/server/modules/admin/client/pages/resetPassword.mjs +11 -0
  419. package/dist/server/modules/admin/client/pages/setup.d.mts +6 -0
  420. package/dist/server/modules/admin/client/pages/setup.mjs +11 -0
  421. package/dist/server/modules/admin/client/views/collection-form.mjs +10 -0
  422. package/dist/server/modules/admin/client/views/collection-table.mjs +10 -0
  423. package/dist/server/modules/admin/client/views/global-form.mjs +10 -0
  424. package/dist/server/modules/admin/client/widgets/chart.d.mts +6 -0
  425. package/dist/server/modules/admin/client/widgets/chart.mjs +7 -0
  426. package/dist/server/modules/admin/client/widgets/progress.d.mts +6 -0
  427. package/dist/server/modules/admin/client/widgets/progress.mjs +7 -0
  428. package/dist/server/modules/admin/client/widgets/quickActions.d.mts +6 -0
  429. package/dist/server/modules/admin/client/widgets/quickActions.mjs +7 -0
  430. package/dist/server/modules/admin/client/widgets/recentItems.d.mts +6 -0
  431. package/dist/server/modules/admin/client/widgets/recentItems.mjs +7 -0
  432. package/dist/server/modules/admin/client/widgets/stats.d.mts +6 -0
  433. package/dist/server/modules/admin/client/widgets/stats.mjs +7 -0
  434. package/dist/server/modules/admin/client/widgets/table.d.mts +6 -0
  435. package/dist/server/modules/admin/client/widgets/table.mjs +7 -0
  436. package/dist/server/modules/admin/client/widgets/timeline.d.mts +6 -0
  437. package/dist/server/modules/admin/client/widgets/timeline.mjs +7 -0
  438. package/dist/server/modules/admin/client/widgets/value.d.mts +6 -0
  439. package/dist/server/modules/admin/client/widgets/value.mjs +7 -0
  440. package/dist/server/modules/admin/collections/account.d.mts +77 -0
  441. package/dist/server/modules/admin/collections/account.mjs +23 -0
  442. package/dist/server/modules/admin/collections/admin-locks.d.mts +90 -0
  443. package/dist/server/modules/admin/collections/admin-locks.mjs +16 -0
  444. package/dist/server/modules/admin/collections/admin-preferences.d.mts +69 -0
  445. package/dist/server/modules/admin/collections/admin-preferences.mjs +16 -0
  446. package/dist/server/modules/admin/collections/admin-saved-views.d.mts +83 -0
  447. package/dist/server/modules/admin/collections/admin-saved-views.mjs +16 -0
  448. package/dist/server/modules/admin/collections/apikey.d.mts +99 -0
  449. package/dist/server/modules/admin/collections/apikey.mjs +15 -0
  450. package/dist/server/modules/admin/collections/assets.d.mts +72 -0
  451. package/dist/server/modules/admin/collections/assets.mjs +71 -0
  452. package/dist/server/modules/admin/collections/session.d.mts +69 -0
  453. package/dist/server/modules/admin/collections/session.mjs +15 -0
  454. package/dist/server/modules/admin/collections/user.d.mts +85 -0
  455. package/dist/server/modules/admin/collections/user.mjs +204 -0
  456. package/dist/server/modules/admin/collections/verification.d.mts +63 -0
  457. package/dist/server/modules/admin/collections/verification.mjs +15 -0
  458. package/dist/server/modules/admin/components/badge.d.mts +10 -0
  459. package/dist/server/modules/admin/components/badge.mjs +10 -0
  460. package/dist/server/modules/admin/components/icon.d.mts +9 -0
  461. package/dist/server/modules/admin/components/icon.mjs +11 -0
  462. package/dist/server/modules/admin/config/admin.mjs +34 -0
  463. package/dist/server/modules/admin/dto/admin-config.dto.mjs +102 -0
  464. package/dist/server/modules/admin/factories.mjs +172 -0
  465. package/dist/server/modules/admin/index.d.mts +1060 -16846
  466. package/dist/server/modules/admin/index.mjs +17 -240
  467. package/dist/server/modules/admin/modules.mjs +11 -0
  468. package/dist/server/modules/admin/plugin.mjs +13 -0
  469. package/dist/server/modules/admin/routes/admin-config.d.mts +28 -0
  470. package/dist/server/modules/admin/routes/admin-config.mjs +552 -0
  471. package/dist/server/modules/admin/{functions → routes}/execute-action.d.mts +17 -32
  472. package/dist/server/modules/admin/{functions → routes}/execute-action.mjs +146 -44
  473. package/dist/server/modules/admin/routes/locales.d.mts +18 -0
  474. package/dist/server/modules/admin/routes/locales.mjs +69 -0
  475. package/dist/server/modules/admin/{functions → routes}/preview.d.mts +25 -15
  476. package/dist/server/modules/admin/{functions → routes}/preview.mjs +84 -97
  477. package/dist/server/modules/admin/{functions → routes}/reactive.d.mts +19 -44
  478. package/dist/server/modules/admin/{functions → routes}/reactive.mjs +89 -117
  479. package/dist/server/modules/admin/routes/route-helpers.d.mts +23 -0
  480. package/dist/server/modules/admin/routes/route-helpers.mjs +76 -0
  481. package/dist/server/modules/admin/{functions → routes}/setup.d.mts +11 -32
  482. package/dist/server/modules/admin/routes/setup.mjs +114 -0
  483. package/dist/server/modules/admin/routes/translations.d.mts +26 -0
  484. package/dist/server/modules/admin/routes/translations.mjs +114 -0
  485. package/dist/server/modules/admin/routes/widget-data.d.mts +32 -0
  486. package/dist/server/modules/admin/routes/widget-data.mjs +62 -0
  487. package/dist/server/modules/admin/views/form.d.mts +8 -0
  488. package/dist/server/modules/admin/views/form.mjs +7 -0
  489. package/dist/server/modules/admin/views/global-form.d.mts +8 -0
  490. package/dist/server/modules/admin/views/global-form.mjs +7 -0
  491. package/dist/server/modules/admin/views/table.d.mts +8 -0
  492. package/dist/server/modules/admin/views/table.mjs +7 -0
  493. package/dist/server/modules/admin-preferences/collections/{admin-preferences.collection.mjs → admin-preferences.mjs} +13 -24
  494. package/dist/server/modules/admin-preferences/collections/locks.collection.mjs +18 -42
  495. package/dist/server/modules/admin-preferences/collections/saved-views.d.mts +99 -0
  496. package/dist/server/modules/admin-preferences/collections/saved-views.mjs +38 -0
  497. package/dist/server/modules/audit/.generated/module.d.mts +60 -0
  498. package/dist/server/modules/audit/.generated/module.mjs +30 -0
  499. package/dist/server/modules/audit/collections/audit-log.d.mts +214 -0
  500. package/dist/server/modules/audit/collections/audit-log.mjs +107 -0
  501. package/dist/server/modules/audit/config/admin.mjs +21 -0
  502. package/dist/server/modules/audit/config/app.mjs +262 -0
  503. package/dist/server/modules/audit/index.d.mts +2 -0
  504. package/dist/server/modules/audit/jobs/audit-cleanup.d.mts +13 -0
  505. package/dist/server/modules/audit/jobs/audit-cleanup.mjs +28 -0
  506. package/dist/server/plugin.d.mts +26 -0
  507. package/dist/server/plugin.mjs +385 -0
  508. package/dist/server/proxy-factories.d.mts +85 -0
  509. package/dist/server/proxy-factories.mjs +302 -0
  510. package/dist/server/registry-helpers.d.mts +83 -0
  511. package/dist/server/registry-helpers.mjs +104 -0
  512. package/dist/server.d.mts +30 -18
  513. package/dist/server.mjs +19 -16
  514. package/dist/shared/preview-utils.d.mts +2 -3
  515. package/dist/shared/preview-utils.mjs +2 -3
  516. package/dist/shared/types/saved-views.types.d.mts +2 -2
  517. package/package.json +51 -40
  518. package/dist/_virtual/rolldown_runtime.mjs +0 -18
  519. package/dist/augmentation.d.mts.map +0 -1
  520. package/dist/client/blocks/block-registry.d.mts +0 -199
  521. package/dist/client/blocks/block-registry.d.mts.map +0 -1
  522. package/dist/client/blocks/block-registry.mjs +0 -88
  523. package/dist/client/blocks/block-registry.mjs.map +0 -1
  524. package/dist/client/blocks/block-renderer.d.mts.map +0 -1
  525. package/dist/client/blocks/block-renderer.mjs.map +0 -1
  526. package/dist/client/blocks/prefetch.d.mts +0 -45
  527. package/dist/client/blocks/prefetch.d.mts.map +0 -1
  528. package/dist/client/blocks/prefetch.mjs +0 -26
  529. package/dist/client/blocks/prefetch.mjs.map +0 -1
  530. package/dist/client/blocks/types.d.mts.map +0 -1
  531. package/dist/client/blocks/types.mjs.map +0 -1
  532. package/dist/client/builder/admin-builder.d.mts +0 -112
  533. package/dist/client/builder/admin-builder.d.mts.map +0 -1
  534. package/dist/client/builder/admin-builder.mjs +0 -185
  535. package/dist/client/builder/admin-builder.mjs.map +0 -1
  536. package/dist/client/builder/admin-types.d.mts.map +0 -1
  537. package/dist/client/builder/admin.d.mts.map +0 -1
  538. package/dist/client/builder/admin.mjs.map +0 -1
  539. package/dist/client/builder/defaults/components.mjs +0 -20
  540. package/dist/client/builder/defaults/components.mjs.map +0 -1
  541. package/dist/client/builder/defaults/core.d.mts +0 -354
  542. package/dist/client/builder/defaults/core.d.mts.map +0 -1
  543. package/dist/client/builder/defaults/core.mjs +0 -49
  544. package/dist/client/builder/defaults/core.mjs.map +0 -1
  545. package/dist/client/builder/defaults/fields.mjs +0 -328
  546. package/dist/client/builder/defaults/fields.mjs.map +0 -1
  547. package/dist/client/builder/defaults/pages.mjs +0 -58
  548. package/dist/client/builder/defaults/pages.mjs.map +0 -1
  549. package/dist/client/builder/defaults/starter.d.mts +0 -351
  550. package/dist/client/builder/defaults/starter.d.mts.map +0 -1
  551. package/dist/client/builder/defaults/starter.mjs +0 -28
  552. package/dist/client/builder/defaults/starter.mjs.map +0 -1
  553. package/dist/client/builder/defaults/views.mjs +0 -27
  554. package/dist/client/builder/defaults/views.mjs.map +0 -1
  555. package/dist/client/builder/defaults/widgets.mjs +0 -31
  556. package/dist/client/builder/defaults/widgets.mjs.map +0 -1
  557. package/dist/client/builder/field/field.d.mts.map +0 -1
  558. package/dist/client/builder/field/field.mjs.map +0 -1
  559. package/dist/client/builder/index.d.mts.map +0 -1
  560. package/dist/client/builder/page/page.d.mts.map +0 -1
  561. package/dist/client/builder/page/page.mjs.map +0 -1
  562. package/dist/client/builder/proxies.d.mts +0 -2
  563. package/dist/client/builder/proxies.mjs +0 -24
  564. package/dist/client/builder/proxies.mjs.map +0 -1
  565. package/dist/client/builder/qa.d.mts +0 -50
  566. package/dist/client/builder/qa.d.mts.map +0 -1
  567. package/dist/client/builder/qa.mjs +0 -42
  568. package/dist/client/builder/qa.mjs.map +0 -1
  569. package/dist/client/builder/registry.d.mts.map +0 -1
  570. package/dist/client/builder/types/action-registry.d.mts +0 -2
  571. package/dist/client/builder/types/action-registry.mjs.map +0 -1
  572. package/dist/client/builder/types/action-types.d.mts.map +0 -1
  573. package/dist/client/builder/types/collection-types.d.mts +0 -199
  574. package/dist/client/builder/types/collection-types.d.mts.map +0 -1
  575. package/dist/client/builder/types/collection-types.mjs.map +0 -1
  576. package/dist/client/builder/types/common.d.mts.map +0 -1
  577. package/dist/client/builder/types/field-types.d.mts.map +0 -1
  578. package/dist/client/builder/types/field-types.mjs.map +0 -1
  579. package/dist/client/builder/types/global-types.d.mts +0 -22
  580. package/dist/client/builder/types/global-types.d.mts.map +0 -1
  581. package/dist/client/builder/types/ui-config.d.mts.map +0 -1
  582. package/dist/client/builder/types/views.d.mts +0 -89
  583. package/dist/client/builder/types/views.d.mts.map +0 -1
  584. package/dist/client/builder/types/widget-types.d.mts.map +0 -1
  585. package/dist/client/builder/validation.mjs.map +0 -1
  586. package/dist/client/builder/view/view.d.mts.map +0 -1
  587. package/dist/client/builder/view/view.mjs.map +0 -1
  588. package/dist/client/builder/widget/widget.d.mts.map +0 -1
  589. package/dist/client/builder/widget/widget.mjs.map +0 -1
  590. package/dist/client/components/actions/action-button.d.mts +0 -2
  591. package/dist/client/components/actions/action-button.mjs.map +0 -1
  592. package/dist/client/components/actions/action-dialog.d.mts +0 -2
  593. package/dist/client/components/actions/action-dialog.mjs.map +0 -1
  594. package/dist/client/components/actions/confirmation-dialog.d.mts +0 -2
  595. package/dist/client/components/actions/confirmation-dialog.mjs.map +0 -1
  596. package/dist/client/components/actions/header-actions.d.mts +0 -2
  597. package/dist/client/components/actions/header-actions.mjs.map +0 -1
  598. package/dist/client/components/actions/index.d.mts +0 -4
  599. package/dist/client/components/admin-link.d.mts.map +0 -1
  600. package/dist/client/components/admin-link.mjs.map +0 -1
  601. package/dist/client/components/auth/auth-guard.d.mts.map +0 -1
  602. package/dist/client/components/auth/auth-guard.mjs.map +0 -1
  603. package/dist/client/components/auth/auth-loading.d.mts.map +0 -1
  604. package/dist/client/components/auth/auth-loading.mjs.map +0 -1
  605. package/dist/client/components/auth/index.d.mts +0 -2
  606. package/dist/client/components/blocks/block-canvas.mjs.map +0 -1
  607. package/dist/client/components/blocks/block-editor-context.mjs.map +0 -1
  608. package/dist/client/components/blocks/block-editor-layout.mjs.map +0 -1
  609. package/dist/client/components/blocks/block-editor-provider.mjs.map +0 -1
  610. package/dist/client/components/blocks/block-fields-renderer.mjs.map +0 -1
  611. package/dist/client/components/blocks/block-insert-button.mjs.map +0 -1
  612. package/dist/client/components/blocks/block-item-menu.mjs.map +0 -1
  613. package/dist/client/components/blocks/block-item.mjs.map +0 -1
  614. package/dist/client/components/blocks/block-library-sidebar.mjs.map +0 -1
  615. package/dist/client/components/blocks/block-tree.mjs.map +0 -1
  616. package/dist/client/components/blocks/block-type-icon.mjs.map +0 -1
  617. package/dist/client/components/blocks/utils/tree-utils.mjs.map +0 -1
  618. package/dist/client/components/component-renderer.d.mts.map +0 -1
  619. package/dist/client/components/component-renderer.mjs.map +0 -1
  620. package/dist/client/components/error-boundary.mjs.map +0 -1
  621. package/dist/client/components/fields/array-field.d.mts +0 -44
  622. package/dist/client/components/fields/array-field.d.mts.map +0 -1
  623. package/dist/client/components/fields/array-field.mjs.map +0 -1
  624. package/dist/client/components/fields/asset-preview-field.d.mts +0 -52
  625. package/dist/client/components/fields/asset-preview-field.d.mts.map +0 -1
  626. package/dist/client/components/fields/asset-preview-field.mjs.map +0 -1
  627. package/dist/client/components/fields/blocks-field/blocks-field.d.mts +0 -41
  628. package/dist/client/components/fields/blocks-field/blocks-field.d.mts.map +0 -1
  629. package/dist/client/components/fields/blocks-field/blocks-field.mjs.map +0 -1
  630. package/dist/client/components/fields/blocks-field/index.d.mts +0 -1
  631. package/dist/client/components/fields/boolean-field.d.mts +0 -30
  632. package/dist/client/components/fields/boolean-field.d.mts.map +0 -1
  633. package/dist/client/components/fields/boolean-field.mjs.map +0 -1
  634. package/dist/client/components/fields/custom-field.d.mts +0 -3
  635. package/dist/client/components/fields/date-field.d.mts +0 -22
  636. package/dist/client/components/fields/date-field.d.mts.map +0 -1
  637. package/dist/client/components/fields/date-field.mjs.map +0 -1
  638. package/dist/client/components/fields/datetime-field.d.mts +0 -23
  639. package/dist/client/components/fields/datetime-field.d.mts.map +0 -1
  640. package/dist/client/components/fields/datetime-field.mjs.map +0 -1
  641. package/dist/client/components/fields/email-field.d.mts +0 -19
  642. package/dist/client/components/fields/email-field.d.mts.map +0 -1
  643. package/dist/client/components/fields/email-field.mjs.map +0 -1
  644. package/dist/client/components/fields/embedded-collection.d.mts +0 -3
  645. package/dist/client/components/fields/field-types.d.mts +0 -571
  646. package/dist/client/components/fields/field-types.d.mts.map +0 -1
  647. package/dist/client/components/fields/field-utils.d.mts +0 -1
  648. package/dist/client/components/fields/field-utils.mjs.map +0 -1
  649. package/dist/client/components/fields/field-wrapper.d.mts +0 -3
  650. package/dist/client/components/fields/field-wrapper.mjs.map +0 -1
  651. package/dist/client/components/fields/index.d.mts +0 -33
  652. package/dist/client/components/fields/json-field.d.mts +0 -84
  653. package/dist/client/components/fields/json-field.d.mts.map +0 -1
  654. package/dist/client/components/fields/json-field.mjs.map +0 -1
  655. package/dist/client/components/fields/locale-badge.d.mts +0 -1
  656. package/dist/client/components/fields/locale-badge.mjs.map +0 -1
  657. package/dist/client/components/fields/number-field.d.mts +0 -23
  658. package/dist/client/components/fields/number-field.d.mts.map +0 -1
  659. package/dist/client/components/fields/number-field.mjs.map +0 -1
  660. package/dist/client/components/fields/object-array-field.d.mts +0 -2
  661. package/dist/client/components/fields/object-array-field.mjs.map +0 -1
  662. package/dist/client/components/fields/object-field.d.mts +0 -32
  663. package/dist/client/components/fields/object-field.d.mts.map +0 -1
  664. package/dist/client/components/fields/object-field.mjs.map +0 -1
  665. package/dist/client/components/fields/relation/displays/cards-display.d.mts +0 -2
  666. package/dist/client/components/fields/relation/displays/cards-display.mjs.map +0 -1
  667. package/dist/client/components/fields/relation/displays/chips-display.d.mts +0 -2
  668. package/dist/client/components/fields/relation/displays/chips-display.mjs.map +0 -1
  669. package/dist/client/components/fields/relation/displays/grid-display.d.mts +0 -2
  670. package/dist/client/components/fields/relation/displays/grid-display.mjs.map +0 -1
  671. package/dist/client/components/fields/relation/displays/index.d.mts +0 -6
  672. package/dist/client/components/fields/relation/displays/list-display.d.mts +0 -2
  673. package/dist/client/components/fields/relation/displays/list-display.mjs.map +0 -1
  674. package/dist/client/components/fields/relation/displays/table-display.d.mts +0 -2
  675. package/dist/client/components/fields/relation/displays/table-display.mjs.map +0 -1
  676. package/dist/client/components/fields/relation/displays/types.d.mts +0 -22
  677. package/dist/client/components/fields/relation/displays/types.d.mts.map +0 -1
  678. package/dist/client/components/fields/relation/displays/types.mjs.map +0 -1
  679. package/dist/client/components/fields/relation/index.d.mts +0 -3
  680. package/dist/client/components/fields/relation/relation-items-display.d.mts +0 -5
  681. package/dist/client/components/fields/relation/relation-items-display.mjs.map +0 -1
  682. package/dist/client/components/fields/relation-field.d.mts +0 -134
  683. package/dist/client/components/fields/relation-field.d.mts.map +0 -1
  684. package/dist/client/components/fields/relation-field.mjs.map +0 -1
  685. package/dist/client/components/fields/relation-picker.d.mts +0 -4
  686. package/dist/client/components/fields/relation-picker.mjs.map +0 -1
  687. package/dist/client/components/fields/relation-select.d.mts +0 -3
  688. package/dist/client/components/fields/relation-select.mjs.map +0 -1
  689. package/dist/client/components/fields/reverse-relation-field.d.mts +0 -2
  690. package/dist/client/components/fields/rich-text-editor/bubble-menu.mjs.map +0 -1
  691. package/dist/client/components/fields/rich-text-editor/extensions.mjs.map +0 -1
  692. package/dist/client/components/fields/rich-text-editor/image-popover.mjs.map +0 -1
  693. package/dist/client/components/fields/rich-text-editor/index.d.mts +0 -4
  694. package/dist/client/components/fields/rich-text-editor/index.mjs.map +0 -1
  695. package/dist/client/components/fields/rich-text-editor/link-popover.mjs.map +0 -1
  696. package/dist/client/components/fields/rich-text-editor/presets.d.mts +0 -11
  697. package/dist/client/components/fields/rich-text-editor/presets.d.mts.map +0 -1
  698. package/dist/client/components/fields/rich-text-editor/presets.mjs.map +0 -1
  699. package/dist/client/components/fields/rich-text-editor/slash-commands.mjs.map +0 -1
  700. package/dist/client/components/fields/rich-text-editor/table-controls.mjs.map +0 -1
  701. package/dist/client/components/fields/rich-text-editor/toolbar.mjs.map +0 -1
  702. package/dist/client/components/fields/rich-text-editor/types.d.mts +0 -78
  703. package/dist/client/components/fields/rich-text-editor/types.d.mts.map +0 -1
  704. package/dist/client/components/fields/rich-text-editor/types.mjs.map +0 -1
  705. package/dist/client/components/fields/rich-text-editor/utils.mjs.map +0 -1
  706. package/dist/client/components/fields/rich-text-editor/variants.d.mts +0 -2
  707. package/dist/client/components/fields/rich-text-field.d.mts +0 -14
  708. package/dist/client/components/fields/rich-text-field.d.mts.map +0 -1
  709. package/dist/client/components/fields/rich-text-field.mjs.map +0 -1
  710. package/dist/client/components/fields/select-field.d.mts +0 -25
  711. package/dist/client/components/fields/select-field.d.mts.map +0 -1
  712. package/dist/client/components/fields/select-field.mjs.map +0 -1
  713. package/dist/client/components/fields/status-field.d.mts +0 -2
  714. package/dist/client/components/fields/text-field.d.mts +0 -22
  715. package/dist/client/components/fields/text-field.d.mts.map +0 -1
  716. package/dist/client/components/fields/text-field.mjs.map +0 -1
  717. package/dist/client/components/fields/textarea-field.d.mts +0 -22
  718. package/dist/client/components/fields/textarea-field.d.mts.map +0 -1
  719. package/dist/client/components/fields/textarea-field.mjs.map +0 -1
  720. package/dist/client/components/fields/time-field.d.mts +0 -20
  721. package/dist/client/components/fields/time-field.d.mts.map +0 -1
  722. package/dist/client/components/fields/time-field.mjs.map +0 -1
  723. package/dist/client/components/fields/upload-field.d.mts +0 -97
  724. package/dist/client/components/fields/upload-field.d.mts.map +0 -1
  725. package/dist/client/components/fields/upload-field.mjs.map +0 -1
  726. package/dist/client/components/filter-builder/columns-tab.d.mts +0 -1
  727. package/dist/client/components/filter-builder/columns-tab.mjs.map +0 -1
  728. package/dist/client/components/filter-builder/filter-builder-sheet.d.mts +0 -1
  729. package/dist/client/components/filter-builder/filter-builder-sheet.mjs.map +0 -1
  730. package/dist/client/components/filter-builder/filters-tab.d.mts +0 -1
  731. package/dist/client/components/filter-builder/filters-tab.mjs.map +0 -1
  732. package/dist/client/components/filter-builder/index.d.mts +0 -5
  733. package/dist/client/components/filter-builder/saved-views-tab.d.mts +0 -1
  734. package/dist/client/components/filter-builder/saved-views-tab.mjs.map +0 -1
  735. package/dist/client/components/index.d.mts +0 -80
  736. package/dist/client/components/locale-switcher.d.mts +0 -2
  737. package/dist/client/components/locale-switcher.mjs.map +0 -1
  738. package/dist/client/components/media/media-grid.mjs.map +0 -1
  739. package/dist/client/components/media/media-picker-dialog.mjs.map +0 -1
  740. package/dist/client/components/preview/live-preview-mode.mjs.map +0 -1
  741. package/dist/client/components/preview/preview-pane.mjs.map +0 -1
  742. package/dist/client/components/primitives/asset-preview.mjs.map +0 -1
  743. package/dist/client/components/primitives/checkbox-input.mjs.map +0 -1
  744. package/dist/client/components/primitives/date-input.mjs.map +0 -1
  745. package/dist/client/components/primitives/dropzone.mjs.map +0 -1
  746. package/dist/client/components/primitives/number-input.mjs.map +0 -1
  747. package/dist/client/components/primitives/select-multi.mjs.map +0 -1
  748. package/dist/client/components/primitives/select-single.mjs.map +0 -1
  749. package/dist/client/components/primitives/text-input.mjs.map +0 -1
  750. package/dist/client/components/primitives/textarea-input.mjs.map +0 -1
  751. package/dist/client/components/primitives/time-input.mjs.map +0 -1
  752. package/dist/client/components/primitives/toggle-input.mjs.map +0 -1
  753. package/dist/client/components/primitives/types.d.mts +0 -14
  754. package/dist/client/components/primitives/types.d.mts.map +0 -1
  755. package/dist/client/components/primitives/types.mjs.map +0 -1
  756. package/dist/client/components/sheets/index.d.mts +0 -1
  757. package/dist/client/components/sheets/resource-sheet.d.mts +0 -1
  758. package/dist/client/components/sheets/resource-sheet.mjs.map +0 -1
  759. package/dist/client/components/ui/accordion.d.mts +0 -2
  760. package/dist/client/components/ui/accordion.mjs.map +0 -1
  761. package/dist/client/components/ui/alert.mjs.map +0 -1
  762. package/dist/client/components/ui/avatar.d.mts +0 -3
  763. package/dist/client/components/ui/badge.d.mts +0 -3
  764. package/dist/client/components/ui/badge.mjs.map +0 -1
  765. package/dist/client/components/ui/button.d.mts +0 -3
  766. package/dist/client/components/ui/button.mjs.map +0 -1
  767. package/dist/client/components/ui/card.d.mts +0 -2
  768. package/dist/client/components/ui/card.mjs.map +0 -1
  769. package/dist/client/components/ui/checkbox.d.mts +0 -2
  770. package/dist/client/components/ui/checkbox.mjs.map +0 -1
  771. package/dist/client/components/ui/combobox.d.mts +0 -3
  772. package/dist/client/components/ui/command.mjs.map +0 -1
  773. package/dist/client/components/ui/dialog.d.mts +0 -3
  774. package/dist/client/components/ui/dialog.mjs.map +0 -1
  775. package/dist/client/components/ui/drawer.mjs.map +0 -1
  776. package/dist/client/components/ui/dropdown-menu.d.mts +0 -3
  777. package/dist/client/components/ui/dropdown-menu.mjs.map +0 -1
  778. package/dist/client/components/ui/empty-state.mjs.map +0 -1
  779. package/dist/client/components/ui/field.d.mts +0 -3
  780. package/dist/client/components/ui/field.mjs.map +0 -1
  781. package/dist/client/components/ui/input-group.d.mts +0 -4
  782. package/dist/client/components/ui/input-group.mjs.map +0 -1
  783. package/dist/client/components/ui/input.d.mts +0 -2
  784. package/dist/client/components/ui/input.mjs.map +0 -1
  785. package/dist/client/components/ui/kbd.mjs.map +0 -1
  786. package/dist/client/components/ui/label.d.mts +0 -2
  787. package/dist/client/components/ui/label.mjs.map +0 -1
  788. package/dist/client/components/ui/popover.d.mts +0 -3
  789. package/dist/client/components/ui/popover.mjs.map +0 -1
  790. package/dist/client/components/ui/responsive-dialog.mjs.map +0 -1
  791. package/dist/client/components/ui/scroll-area.d.mts +0 -2
  792. package/dist/client/components/ui/search-input.mjs.map +0 -1
  793. package/dist/client/components/ui/select.d.mts +0 -3
  794. package/dist/client/components/ui/select.mjs.map +0 -1
  795. package/dist/client/components/ui/separator.d.mts +0 -2
  796. package/dist/client/components/ui/separator.mjs.map +0 -1
  797. package/dist/client/components/ui/sheet.d.mts +0 -3
  798. package/dist/client/components/ui/sheet.mjs.map +0 -1
  799. package/dist/client/components/ui/sidebar.d.mts +0 -8
  800. package/dist/client/components/ui/sidebar.mjs.map +0 -1
  801. package/dist/client/components/ui/skeleton.d.mts +0 -1
  802. package/dist/client/components/ui/skeleton.mjs.map +0 -1
  803. package/dist/client/components/ui/sonner.d.mts.map +0 -1
  804. package/dist/client/components/ui/sonner.mjs.map +0 -1
  805. package/dist/client/components/ui/spinner.d.mts +0 -1
  806. package/dist/client/components/ui/spinner.mjs.map +0 -1
  807. package/dist/client/components/ui/switch.d.mts +0 -2
  808. package/dist/client/components/ui/switch.mjs.map +0 -1
  809. package/dist/client/components/ui/table.d.mts +0 -2
  810. package/dist/client/components/ui/table.mjs.map +0 -1
  811. package/dist/client/components/ui/tabs.d.mts +0 -3
  812. package/dist/client/components/ui/tabs.mjs.map +0 -1
  813. package/dist/client/components/ui/textarea.d.mts +0 -2
  814. package/dist/client/components/ui/textarea.mjs.map +0 -1
  815. package/dist/client/components/ui/toolbar.mjs.map +0 -1
  816. package/dist/client/components/ui/tooltip.d.mts +0 -2
  817. package/dist/client/components/ui/tooltip.mjs.map +0 -1
  818. package/dist/client/components/widgets/chart-widget.d.mts +0 -57
  819. package/dist/client/components/widgets/chart-widget.d.mts.map +0 -1
  820. package/dist/client/components/widgets/chart-widget.mjs.map +0 -1
  821. package/dist/client/components/widgets/progress-widget.d.mts +0 -41
  822. package/dist/client/components/widgets/progress-widget.d.mts.map +0 -1
  823. package/dist/client/components/widgets/progress-widget.mjs.map +0 -1
  824. package/dist/client/components/widgets/quick-actions-widget.d.mts +0 -29
  825. package/dist/client/components/widgets/quick-actions-widget.d.mts.map +0 -1
  826. package/dist/client/components/widgets/quick-actions-widget.mjs.map +0 -1
  827. package/dist/client/components/widgets/recent-items-widget.d.mts +0 -51
  828. package/dist/client/components/widgets/recent-items-widget.d.mts.map +0 -1
  829. package/dist/client/components/widgets/recent-items-widget.mjs.map +0 -1
  830. package/dist/client/components/widgets/stats-widget.d.mts +0 -55
  831. package/dist/client/components/widgets/stats-widget.d.mts.map +0 -1
  832. package/dist/client/components/widgets/stats-widget.mjs.map +0 -1
  833. package/dist/client/components/widgets/table-widget.d.mts +0 -31
  834. package/dist/client/components/widgets/table-widget.d.mts.map +0 -1
  835. package/dist/client/components/widgets/table-widget.mjs.map +0 -1
  836. package/dist/client/components/widgets/timeline-widget.d.mts +0 -51
  837. package/dist/client/components/widgets/timeline-widget.d.mts.map +0 -1
  838. package/dist/client/components/widgets/timeline-widget.mjs.map +0 -1
  839. package/dist/client/components/widgets/value-widget.d.mts +0 -39
  840. package/dist/client/components/widgets/value-widget.d.mts.map +0 -1
  841. package/dist/client/components/widgets/value-widget.mjs.map +0 -1
  842. package/dist/client/components/widgets/widget-skeletons.mjs.map +0 -1
  843. package/dist/client/context/focus-context.d.mts.map +0 -1
  844. package/dist/client/context/focus-context.mjs.map +0 -1
  845. package/dist/client/contexts/breadcrumb-context.mjs.map +0 -1
  846. package/dist/client/hooks/typed-hooks.d.mts.map +0 -1
  847. package/dist/client/hooks/typed-hooks.mjs.map +0 -1
  848. package/dist/client/hooks/use-action.mjs.map +0 -1
  849. package/dist/client/hooks/use-admin-config.mjs.map +0 -1
  850. package/dist/client/hooks/use-admin-preferences.mjs.map +0 -1
  851. package/dist/client/hooks/use-admin-routes.mjs.map +0 -1
  852. package/dist/client/hooks/use-auth.d.mts.map +0 -1
  853. package/dist/client/hooks/use-auth.mjs.map +0 -1
  854. package/dist/client/hooks/use-collection-fields.mjs.map +0 -1
  855. package/dist/client/hooks/use-collection-meta.mjs.map +0 -1
  856. package/dist/client/hooks/use-collection-schema.mjs.map +0 -1
  857. package/dist/client/hooks/use-collection-validation.mjs.map +0 -1
  858. package/dist/client/hooks/use-collection.d.mts.map +0 -1
  859. package/dist/client/hooks/use-collection.mjs.map +0 -1
  860. package/dist/client/hooks/use-current-user.d.mts.map +0 -1
  861. package/dist/client/hooks/use-current-user.mjs.map +0 -1
  862. package/dist/client/hooks/use-field-hooks.mjs.map +0 -1
  863. package/dist/client/hooks/use-field-options.d.mts.map +0 -1
  864. package/dist/client/hooks/use-field-options.mjs.map +0 -1
  865. package/dist/client/hooks/use-global-fields.mjs.map +0 -1
  866. package/dist/client/hooks/use-global-meta.mjs.map +0 -1
  867. package/dist/client/hooks/use-global-schema.mjs.map +0 -1
  868. package/dist/client/hooks/use-global.d.mts.map +0 -1
  869. package/dist/client/hooks/use-global.mjs.map +0 -1
  870. package/dist/client/hooks/use-locks.mjs.map +0 -1
  871. package/dist/client/hooks/use-media-query.d.mts.map +0 -1
  872. package/dist/client/hooks/use-media-query.mjs.map +0 -1
  873. package/dist/client/hooks/use-prefill-params.mjs.map +0 -1
  874. package/dist/client/hooks/use-questpie-query-options.mjs.map +0 -1
  875. package/dist/client/hooks/use-reactive-fields.d.mts.map +0 -1
  876. package/dist/client/hooks/use-reactive-fields.mjs.map +0 -1
  877. package/dist/client/hooks/use-realtime-highlight.mjs.map +0 -1
  878. package/dist/client/hooks/use-saved-views.mjs.map +0 -1
  879. package/dist/client/hooks/use-search.mjs.map +0 -1
  880. package/dist/client/hooks/use-server-validation.mjs.map +0 -1
  881. package/dist/client/hooks/use-server-widget-data.d.mts.map +0 -1
  882. package/dist/client/hooks/use-server-widget-data.mjs.map +0 -1
  883. package/dist/client/hooks/use-setup-status.d.mts.map +0 -1
  884. package/dist/client/hooks/use-setup-status.mjs.map +0 -1
  885. package/dist/client/hooks/use-upload-collection.mjs.map +0 -1
  886. package/dist/client/hooks/use-upload.d.mts +0 -23
  887. package/dist/client/hooks/use-upload.d.mts.map +0 -1
  888. package/dist/client/hooks/use-upload.mjs.map +0 -1
  889. package/dist/client/hooks/use-validation-error-map.mjs.map +0 -1
  890. package/dist/client/hooks/use-view-state.mjs.map +0 -1
  891. package/dist/client/i18n/hooks.mjs.map +0 -1
  892. package/dist/client/i18n/intl-cache.mjs.map +0 -1
  893. package/dist/client/i18n/messages.mjs.map +0 -1
  894. package/dist/client/i18n/simple.d.mts.map +0 -1
  895. package/dist/client/i18n/simple.mjs.map +0 -1
  896. package/dist/client/i18n/types.d.mts.map +0 -1
  897. package/dist/client/lib/utils.d.mts +0 -1
  898. package/dist/client/lib/utils.mjs.map +0 -1
  899. package/dist/client/preview/block-scope-context.d.mts.map +0 -1
  900. package/dist/client/preview/block-scope-context.mjs.map +0 -1
  901. package/dist/client/preview/preview-banner.d.mts.map +0 -1
  902. package/dist/client/preview/preview-banner.mjs.map +0 -1
  903. package/dist/client/preview/preview-field.d.mts.map +0 -1
  904. package/dist/client/preview/preview-field.mjs.map +0 -1
  905. package/dist/client/preview/types.d.mts.map +0 -1
  906. package/dist/client/preview/types.mjs.map +0 -1
  907. package/dist/client/preview/use-collection-preview.d.mts.map +0 -1
  908. package/dist/client/preview/use-collection-preview.mjs.map +0 -1
  909. package/dist/client/runtime/content-locales-provider.mjs.map +0 -1
  910. package/dist/client/runtime/locale-scope.mjs.map +0 -1
  911. package/dist/client/runtime/provider.d.mts.map +0 -1
  912. package/dist/client/runtime/provider.mjs.map +0 -1
  913. package/dist/client/runtime/routes.d.mts.map +0 -1
  914. package/dist/client/runtime/routes.mjs.map +0 -1
  915. package/dist/client/runtime/translations-provider.d.mts +0 -2
  916. package/dist/client/runtime/translations-provider.mjs.map +0 -1
  917. package/dist/client/scope/picker.d.mts.map +0 -1
  918. package/dist/client/scope/picker.mjs.map +0 -1
  919. package/dist/client/scope/provider.d.mts.map +0 -1
  920. package/dist/client/scope/provider.mjs.map +0 -1
  921. package/dist/client/scope/types.d.mts.map +0 -1
  922. package/dist/client/utils/auto-expand-fields.mjs.map +0 -1
  923. package/dist/client/utils/build-field-definitions-from-schema.mjs.map +0 -1
  924. package/dist/client/utils/detect-relations.mjs.map +0 -1
  925. package/dist/client/utils/locale-to-flag.d.mts.map +0 -1
  926. package/dist/client/utils/locale-to-flag.mjs.map +0 -1
  927. package/dist/client/utils/routes.mjs.map +0 -1
  928. package/dist/client/views/auth/accept-invite-form.d.mts.map +0 -1
  929. package/dist/client/views/auth/accept-invite-form.mjs.map +0 -1
  930. package/dist/client/views/auth/auth-layout.d.mts.map +0 -1
  931. package/dist/client/views/auth/auth-layout.mjs.map +0 -1
  932. package/dist/client/views/auth/forgot-password-form.d.mts.map +0 -1
  933. package/dist/client/views/auth/forgot-password-form.mjs.map +0 -1
  934. package/dist/client/views/auth/index.d.mts +0 -7
  935. package/dist/client/views/auth/invite-form.d.mts +0 -1
  936. package/dist/client/views/auth/invite-form.mjs.map +0 -1
  937. package/dist/client/views/auth/login-form.d.mts.map +0 -1
  938. package/dist/client/views/auth/login-form.mjs.map +0 -1
  939. package/dist/client/views/auth/reset-password-form.d.mts.map +0 -1
  940. package/dist/client/views/auth/reset-password-form.mjs.map +0 -1
  941. package/dist/client/views/auth/setup-form.d.mts.map +0 -1
  942. package/dist/client/views/auth/setup-form.mjs.map +0 -1
  943. package/dist/client/views/collection/auto-form-fields.d.mts +0 -4
  944. package/dist/client/views/collection/auto-form-fields.mjs.map +0 -1
  945. package/dist/client/views/collection/bulk-action-toolbar.mjs.map +0 -1
  946. package/dist/client/views/collection/cells/complex-cells.d.mts +0 -46
  947. package/dist/client/views/collection/cells/complex-cells.d.mts.map +0 -1
  948. package/dist/client/views/collection/cells/complex-cells.mjs.map +0 -1
  949. package/dist/client/views/collection/cells/index.d.mts +0 -7
  950. package/dist/client/views/collection/cells/primitive-cells.d.mts +0 -76
  951. package/dist/client/views/collection/cells/primitive-cells.d.mts.map +0 -1
  952. package/dist/client/views/collection/cells/primitive-cells.mjs.map +0 -1
  953. package/dist/client/views/collection/cells/relation-cells.d.mts +0 -21
  954. package/dist/client/views/collection/cells/relation-cells.d.mts.map +0 -1
  955. package/dist/client/views/collection/cells/relation-cells.mjs.map +0 -1
  956. package/dist/client/views/collection/cells/shared/asset-thumbnail.d.mts +0 -1
  957. package/dist/client/views/collection/cells/shared/asset-thumbnail.mjs.map +0 -1
  958. package/dist/client/views/collection/cells/shared/cell-helpers.d.mts +0 -2
  959. package/dist/client/views/collection/cells/shared/cell-helpers.mjs.map +0 -1
  960. package/dist/client/views/collection/cells/shared/relation-chip.d.mts +0 -1
  961. package/dist/client/views/collection/cells/shared/relation-chip.mjs.map +0 -1
  962. package/dist/client/views/collection/cells/upload-cells.d.mts +0 -25
  963. package/dist/client/views/collection/cells/upload-cells.d.mts.map +0 -1
  964. package/dist/client/views/collection/cells/upload-cells.mjs.map +0 -1
  965. package/dist/client/views/collection/columns/build-columns.d.mts +0 -2
  966. package/dist/client/views/collection/columns/build-columns.mjs.map +0 -1
  967. package/dist/client/views/collection/columns/column-defaults.d.mts +0 -2
  968. package/dist/client/views/collection/columns/column-defaults.mjs.map +0 -1
  969. package/dist/client/views/collection/columns/index.d.mts +0 -3
  970. package/dist/client/views/collection/columns/types.d.mts +0 -2
  971. package/dist/client/views/collection/field-context.mjs.map +0 -1
  972. package/dist/client/views/collection/field-renderer.mjs.map +0 -1
  973. package/dist/client/views/collection/form-view.d.mts +0 -112
  974. package/dist/client/views/collection/form-view.d.mts.map +0 -1
  975. package/dist/client/views/collection/form-view.mjs.map +0 -1
  976. package/dist/client/views/collection/index.d.mts +0 -9
  977. package/dist/client/views/collection/table-view.d.mts +0 -102
  978. package/dist/client/views/collection/table-view.d.mts.map +0 -1
  979. package/dist/client/views/collection/table-view.mjs.map +0 -1
  980. package/dist/client/views/collection/view-skeletons.mjs.map +0 -1
  981. package/dist/client/views/common/global-search.d.mts +0 -1
  982. package/dist/client/views/common/global-search.mjs.map +0 -1
  983. package/dist/client/views/common/index.d.mts +0 -1
  984. package/dist/client/views/dashboard/dashboard-grid.mjs.map +0 -1
  985. package/dist/client/views/dashboard/dashboard-widget.mjs.map +0 -1
  986. package/dist/client/views/dashboard/widget-card.mjs.map +0 -1
  987. package/dist/client/views/globals/global-form-view.d.mts +0 -74
  988. package/dist/client/views/globals/global-form-view.d.mts.map +0 -1
  989. package/dist/client/views/globals/global-form-view.mjs.map +0 -1
  990. package/dist/client/views/index.d.mts +0 -28
  991. package/dist/client/views/layout/admin-layout-provider.d.mts.map +0 -1
  992. package/dist/client/views/layout/admin-layout-provider.mjs.map +0 -1
  993. package/dist/client/views/layout/admin-layout.d.mts.map +0 -1
  994. package/dist/client/views/layout/admin-layout.mjs.map +0 -1
  995. package/dist/client/views/layout/admin-root.d.mts +0 -7
  996. package/dist/client/views/layout/admin-router.d.mts.map +0 -1
  997. package/dist/client/views/layout/admin-router.mjs.map +0 -1
  998. package/dist/client/views/layout/admin-sidebar.d.mts.map +0 -1
  999. package/dist/client/views/layout/admin-sidebar.mjs.map +0 -1
  1000. package/dist/client/views/layout/admin-topbar.mjs.map +0 -1
  1001. package/dist/client/views/layout/index.d.mts +0 -5
  1002. package/dist/client/views/pages/accept-invite-page.d.mts.map +0 -1
  1003. package/dist/client/views/pages/accept-invite-page.mjs.map +0 -1
  1004. package/dist/client/views/pages/dashboard-page.d.mts.map +0 -1
  1005. package/dist/client/views/pages/dashboard-page.mjs.map +0 -1
  1006. package/dist/client/views/pages/forgot-password-page.d.mts.map +0 -1
  1007. package/dist/client/views/pages/forgot-password-page.mjs.map +0 -1
  1008. package/dist/client/views/pages/index.d.mts +0 -7
  1009. package/dist/client/views/pages/invite-page.d.mts.map +0 -1
  1010. package/dist/client/views/pages/invite-page.mjs.map +0 -1
  1011. package/dist/client/views/pages/login-page.d.mts.map +0 -1
  1012. package/dist/client/views/pages/login-page.mjs.map +0 -1
  1013. package/dist/client/views/pages/reset-password-page.d.mts.map +0 -1
  1014. package/dist/client/views/pages/reset-password-page.mjs.map +0 -1
  1015. package/dist/client/views/pages/setup-page.d.mts.map +0 -1
  1016. package/dist/client/views/pages/setup-page.mjs.map +0 -1
  1017. package/dist/client.d.mts.map +0 -1
  1018. package/dist/components/rich-text/rich-text-renderer.d.mts.map +0 -1
  1019. package/dist/components/rich-text/rich-text-renderer.mjs.map +0 -1
  1020. package/dist/server/adapters/nextjs.d.mts.map +0 -1
  1021. package/dist/server/adapters/nextjs.mjs.map +0 -1
  1022. package/dist/server/adapters/tanstack.d.mts.map +0 -1
  1023. package/dist/server/adapters/tanstack.mjs.map +0 -1
  1024. package/dist/server/augmentation.d.mts.map +0 -1
  1025. package/dist/server/auth-helpers.d.mts.map +0 -1
  1026. package/dist/server/auth-helpers.mjs.map +0 -1
  1027. package/dist/server/block/block-builder.d.mts.map +0 -1
  1028. package/dist/server/block/block-builder.mjs.map +0 -1
  1029. package/dist/server/block/introspection.d.mts.map +0 -1
  1030. package/dist/server/block/introspection.mjs.map +0 -1
  1031. package/dist/server/block/prefetch.d.mts.map +0 -1
  1032. package/dist/server/block/prefetch.mjs.map +0 -1
  1033. package/dist/server/fields/blocks.d.mts.map +0 -1
  1034. package/dist/server/fields/blocks.mjs.map +0 -1
  1035. package/dist/server/fields/index.d.mts.map +0 -1
  1036. package/dist/server/fields/index.mjs.map +0 -1
  1037. package/dist/server/fields/rich-text.d.mts.map +0 -1
  1038. package/dist/server/fields/rich-text.mjs.map +0 -1
  1039. package/dist/server/i18n/index.d.mts +0 -16
  1040. package/dist/server/i18n/index.d.mts.map +0 -1
  1041. package/dist/server/i18n/index.mjs.map +0 -1
  1042. package/dist/server/i18n/messages/cs.mjs.map +0 -1
  1043. package/dist/server/i18n/messages/de.mjs.map +0 -1
  1044. package/dist/server/i18n/messages/en.mjs.map +0 -1
  1045. package/dist/server/i18n/messages/es.mjs.map +0 -1
  1046. package/dist/server/i18n/messages/fr.mjs.map +0 -1
  1047. package/dist/server/i18n/messages/index.mjs.map +0 -1
  1048. package/dist/server/i18n/messages/pl.mjs.map +0 -1
  1049. package/dist/server/i18n/messages/pt.mjs.map +0 -1
  1050. package/dist/server/i18n/messages/sk.mjs.map +0 -1
  1051. package/dist/server/index.d.mts +0 -20
  1052. package/dist/server/modules/admin/functions/admin-config.mjs +0 -348
  1053. package/dist/server/modules/admin/functions/admin-config.mjs.map +0 -1
  1054. package/dist/server/modules/admin/functions/execute-action.d.mts.map +0 -1
  1055. package/dist/server/modules/admin/functions/execute-action.mjs.map +0 -1
  1056. package/dist/server/modules/admin/functions/locales.mjs +0 -80
  1057. package/dist/server/modules/admin/functions/locales.mjs.map +0 -1
  1058. package/dist/server/modules/admin/functions/preview.d.mts.map +0 -1
  1059. package/dist/server/modules/admin/functions/preview.mjs.map +0 -1
  1060. package/dist/server/modules/admin/functions/reactive.d.mts.map +0 -1
  1061. package/dist/server/modules/admin/functions/reactive.mjs.map +0 -1
  1062. package/dist/server/modules/admin/functions/setup.d.mts.map +0 -1
  1063. package/dist/server/modules/admin/functions/setup.mjs +0 -131
  1064. package/dist/server/modules/admin/functions/setup.mjs.map +0 -1
  1065. package/dist/server/modules/admin/functions/translations.mjs +0 -125
  1066. package/dist/server/modules/admin/functions/translations.mjs.map +0 -1
  1067. package/dist/server/modules/admin/functions/widget-data.d.mts +0 -33
  1068. package/dist/server/modules/admin/functions/widget-data.d.mts.map +0 -1
  1069. package/dist/server/modules/admin/functions/widget-data.mjs +0 -70
  1070. package/dist/server/modules/admin/functions/widget-data.mjs.map +0 -1
  1071. package/dist/server/modules/admin/index.d.mts.map +0 -1
  1072. package/dist/server/modules/admin/index.mjs.map +0 -1
  1073. package/dist/server/modules/admin-preferences/collections/admin-preferences.collection.d.mts +0 -3
  1074. package/dist/server/modules/admin-preferences/collections/admin-preferences.collection.mjs.map +0 -1
  1075. package/dist/server/modules/admin-preferences/collections/locks.collection.d.mts +0 -3
  1076. package/dist/server/modules/admin-preferences/collections/locks.collection.mjs.map +0 -1
  1077. package/dist/server/modules/admin-preferences/collections/saved-views.collection.d.mts +0 -1490
  1078. package/dist/server/modules/admin-preferences/collections/saved-views.collection.d.mts.map +0 -1
  1079. package/dist/server/modules/admin-preferences/collections/saved-views.collection.mjs +0 -57
  1080. package/dist/server/modules/admin-preferences/collections/saved-views.collection.mjs.map +0 -1
  1081. package/dist/server/patch.d.mts +0 -100
  1082. package/dist/server/patch.d.mts.map +0 -1
  1083. package/dist/server/patch.mjs +0 -1062
  1084. package/dist/server/patch.mjs.map +0 -1
  1085. package/dist/shared/preview-utils.d.mts.map +0 -1
  1086. package/dist/shared/preview-utils.mjs.map +0 -1
  1087. package/dist/shared/types/saved-views.types.d.mts.map +0 -1
@@ -1,42 +0,0 @@
1
- import { page } from "./page/page.mjs";
2
- import { widget } from "./widget/widget.mjs";
3
- import { AdminBuilder } from "./admin-builder.mjs";
4
- import { field } from "./field/field.mjs";
5
- import { editView, listView } from "./view/view.mjs";
6
-
7
- //#region src/client/builder/qa.ts
8
- /**
9
- * QA Namespace
10
- *
11
- * Main entry point for admin builder API.
12
- */
13
- /**
14
- * Create admin builder (starts empty)
15
- *
16
- * @example
17
- * ```ts
18
- * // Without backend types
19
- * const admin = qa().use(coreAdminModule);
20
- *
21
- * // With backend types for autocomplete
22
- * import type { AppCMS } from './server/cms';
23
- * const admin = qa<AppCMS>().use(coreAdminModule);
24
- * ```
25
- */
26
- function qaFactory() {
27
- return AdminBuilder.empty();
28
- }
29
- /**
30
- * QA namespace with helpers
31
- */
32
- const qa = Object.assign(qaFactory, {
33
- field,
34
- listView,
35
- editView,
36
- widget,
37
- page
38
- });
39
-
40
- //#endregion
41
- export { qa };
42
- //# sourceMappingURL=qa.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"qa.mjs","names":[],"sources":["../../../src/client/builder/qa.ts"],"sourcesContent":["/**\n * QA Namespace\n *\n * Main entry point for admin builder API.\n */\n\nimport { AdminBuilder } from \"./admin-builder\";\nimport { field } from \"./field/field\";\nimport { page } from \"./page/page\";\nimport { editView, listView } from \"./view/view\";\nimport { widget } from \"./widget/widget\";\n\n/**\n * Create admin builder (starts empty)\n *\n * @example\n * ```ts\n * // Without backend types\n * const admin = qa().use(coreAdminModule);\n *\n * // With backend types for autocomplete\n * import type { AppCMS } from './server/cms';\n * const admin = qa<AppCMS>().use(coreAdminModule);\n * ```\n */\nfunction qaFactory<TApp = any>() {\n\treturn AdminBuilder.empty<TApp>();\n}\n\n/**\n * QA namespace with helpers\n */\nexport const qa = Object.assign(qaFactory, {\n\t// Primitive definition helpers (for advanced use)\n\tfield,\n\tlistView,\n\teditView,\n\twidget,\n\tpage,\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAyBA,SAAS,YAAwB;AAChC,QAAO,aAAa,OAAa;;;;;AAMlC,MAAa,KAAK,OAAO,OAAO,WAAW;CAE1C;CACA;CACA;CACA;CACA;CACA,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry.d.mts","names":[],"sources":["../../../src/client/builder/registry.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;UAmEiB,iBAAA;;;;KAoBL,aAAA,GAAgB;;cACd;;;;KAQF,eAAA,GAAkB;;cAChB;;;;;KASF,yBAAA,GACV,sBAAsB,gCACZ;;;;;KAOA,qBAAA,GACV,sBAAsB,gCACZ;;;;KAMA,YAAA,GAAe,gCACvB,sBAAsB"}
@@ -1,2 +0,0 @@
1
- import "./action-types.mjs";
2
- import "./field-types.mjs";
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-registry.mjs","names":[],"sources":["../../../../src/client/builder/types/action-registry.ts"],"sourcesContent":["/**\n * Action Registry\n *\n * Provides built-in action factories and the action registry proxy\n * for type-safe action configuration in collection builders.\n */\n\nimport type { ComponentReference } from \"#questpie/admin/server\";\nimport { buildPrefillUrl } from \"../../hooks/use-prefill-params\";\nimport type { FormViewActionsConfig } from \"./field-types\";\nimport type {\n ActionContext,\n ActionDefinition,\n ActionsConfig,\n HeaderActionsConfig,\n} from \"./action-types\";\n\n// ============================================================================\n// Action Registry Proxy Type\n// ============================================================================\n\n/**\n * Proxy type for building actions with autocomplete\n */\nexport interface ActionRegistryProxy<TItem = any> {\n /**\n * Create action - navigates to create page (header action)\n */\n create(opts?: Partial<ActionDefinition<TItem>>): ActionDefinition<TItem>;\n\n /**\n * Duplicate action - creates a copy of the selected item\n * For bulk: shows only when 1 item selected\n * For form: always visible\n */\n duplicate(opts?: Partial<ActionDefinition<TItem>>): ActionDefinition<TItem>;\n\n /**\n * Delete action - deletes single item with confirmation (form action)\n */\n delete(opts?: Partial<ActionDefinition<TItem>>): ActionDefinition<TItem>;\n\n /**\n * Delete many action - bulk delete selected items\n */\n deleteMany(opts?: Partial<ActionDefinition<TItem>>): ActionDefinition<TItem>;\n\n /**\n * Custom action - define a fully custom action\n */\n action(def: ActionDefinition<TItem>): ActionDefinition<TItem>;\n}\n\n// ============================================================================\n// Built-in Action Factories\n// ============================================================================\n\n/**\n * Create a \"Create\" action\n */\nfunction createCreateAction<TItem>(\n opts?: Partial<ActionDefinition<TItem>>,\n): ActionDefinition<TItem> {\n return {\n id: \"create\",\n label: \"Create\",\n icon: {\n type: \"icon\",\n props: { name: \"ph:plus\" },\n } satisfies ComponentReference,\n variant: \"default\",\n handler: {\n type: \"navigate\",\n path: \"create\",\n },\n ...opts,\n };\n}\n\n/**\n * Create a \"Duplicate\" action (bulk action, shows only when 1 item selected)\n */\nfunction createDuplicateAction<TItem>(\n opts?: Partial<ActionDefinition<TItem>>,\n): ActionDefinition<TItem> {\n return {\n id: \"duplicate\",\n label: \"Duplicate\",\n icon: {\n type: \"icon\",\n props: { name: \"ph:copy\" },\n } satisfies ComponentReference,\n variant: \"ghost\",\n // Default visibility: only show when exactly 1 item selected\n visible: (ctx) => {\n // For bulk context, ctx.item is an array\n if (Array.isArray(ctx.item)) {\n return ctx.item.length === 1;\n }\n // For form context, ctx.item is a single item\n return !!ctx.item;\n },\n handler: {\n type: \"custom\",\n fn: async (ctx: ActionContext<TItem>) => {\n // Get the item - either single item or first from array\n const item = Array.isArray(ctx.item) ? ctx.item[0] : ctx.item;\n if (!item) return;\n\n // Clone the item, removing id and timestamps\n const { id, createdAt, updatedAt, ...data } = item as any;\n\n // Navigate to create page with prefilled data\n const createPath = `${ctx.helpers.basePath}/collections/${ctx.collection}/create`;\n const prefillUrl = buildPrefillUrl(createPath, data);\n ctx.helpers.navigate(prefillUrl);\n },\n },\n ...opts,\n };\n}\n\n/**\n * Create a \"Delete Many\" (bulk delete) action\n *\n * Note: The actual deletion is handled by BulkActionToolbar via onBulkDelete callback.\n * This action definition just configures the UI and confirmation.\n */\nfunction createDeleteManyAction<TItem>(\n opts?: Partial<ActionDefinition<TItem>>,\n): ActionDefinition<TItem> {\n return {\n id: \"deleteMany\",\n label: \"Delete Selected\",\n icon: {\n type: \"icon\",\n props: { name: \"ph:trash\" },\n } satisfies ComponentReference,\n variant: \"destructive\",\n confirmation: {\n title: \"Delete selected items?\",\n description:\n \"This action cannot be undone. All selected items will be permanently deleted.\",\n confirmLabel: \"Delete All\",\n destructive: true,\n },\n handler: {\n // Handler is a no-op as deletion is handled by BulkActionToolbar\n // when it detects action.id === \"deleteMany\" and calls onBulkDelete\n type: \"custom\",\n fn: async () => {\n // No-op: actual deletion handled by BulkActionToolbar.onBulkDelete\n },\n },\n ...opts,\n };\n}\n\n/**\n * Create a \"Delete\" action for single item (form view)\n */\nfunction createDeleteAction<TItem>(\n opts?: Partial<ActionDefinition<TItem>>,\n): ActionDefinition<TItem> {\n return {\n id: \"delete\",\n label: \"Delete\",\n icon: {\n type: \"icon\",\n props: { name: \"ph:trash\" },\n } satisfies ComponentReference,\n variant: \"destructive\",\n confirmation: {\n title: \"Delete item?\",\n description:\n \"This action cannot be undone. The item will be permanently deleted.\",\n confirmLabel: \"Delete\",\n destructive: true,\n },\n handler: {\n type: \"api\",\n endpoint: \"{id}\",\n method: \"DELETE\",\n },\n ...opts,\n };\n}\n\n// ============================================================================\n// Create Action Registry Proxy\n// ============================================================================\n\n/**\n * Creates an action registry proxy for type-safe action building\n */\nexport function createActionRegistryProxy<\n TItem = any,\n>(): ActionRegistryProxy<TItem> {\n return {\n create: (opts) => createCreateAction<TItem>(opts),\n duplicate: (opts) => createDuplicateAction<TItem>(opts),\n delete: (opts) => createDeleteAction<TItem>(opts),\n deleteMany: (opts) => createDeleteManyAction<TItem>(opts),\n action: (def) => def,\n };\n}\n\n// ============================================================================\n// Default Actions\n// ============================================================================\n\n/**\n * Get default header actions for a collection\n */\nexport function getDefaultHeaderActions<\n TItem = any,\n>(): HeaderActionsConfig<TItem> {\n return {\n primary: [createCreateAction<TItem>()],\n secondary: [],\n };\n}\n\n/**\n * Get default bulk actions for a collection\n */\nexport function getDefaultBulkActions<\n TItem = any,\n>(): ActionDefinition<TItem>[] {\n return [createDeleteManyAction<TItem>(), createDuplicateAction<TItem>()];\n}\n\n/**\n * Get default form actions for a collection (edit view)\n */\nexport function getDefaultFormActions<\n TItem = any,\n>(): FormViewActionsConfig<TItem> {\n return {\n primary: [],\n secondary: [createDuplicateAction<TItem>(), createDeleteAction<TItem>()],\n };\n}\n\n/**\n * Get complete default actions config\n */\nexport function getDefaultActionsConfig<TItem = any>(): ActionsConfig<TItem> {\n return {\n header: getDefaultHeaderActions<TItem>(),\n bulk: getDefaultBulkActions<TItem>(),\n };\n}\n"],"mappings":";;;;;;AA4DA,SAAS,mBACP,MACyB;AACzB,QAAO;EACL,IAAI;EACJ,OAAO;EACP,MAAM;GACJ,MAAM;GACN,OAAO,EAAE,MAAM,WAAW;GAC3B;EACD,SAAS;EACT,SAAS;GACP,MAAM;GACN,MAAM;GACP;EACD,GAAG;EACJ;;;;;AAMH,SAAS,sBACP,MACyB;AACzB,QAAO;EACL,IAAI;EACJ,OAAO;EACP,MAAM;GACJ,MAAM;GACN,OAAO,EAAE,MAAM,WAAW;GAC3B;EACD,SAAS;EAET,UAAU,QAAQ;AAEhB,OAAI,MAAM,QAAQ,IAAI,KAAK,CACzB,QAAO,IAAI,KAAK,WAAW;AAG7B,UAAO,CAAC,CAAC,IAAI;;EAEf,SAAS;GACP,MAAM;GACN,IAAI,OAAO,QAA8B;IAEvC,MAAM,OAAO,MAAM,QAAQ,IAAI,KAAK,GAAG,IAAI,KAAK,KAAK,IAAI;AACzD,QAAI,CAAC,KAAM;IAGX,MAAM,EAAE,IAAI,WAAW,WAAW,GAAG,SAAS;IAI9C,MAAM,aAAa,gBADA,GAAG,IAAI,QAAQ,SAAS,eAAe,IAAI,WAAW,UAC1B,KAAK;AACpD,QAAI,QAAQ,SAAS,WAAW;;GAEnC;EACD,GAAG;EACJ;;;;;;;;AASH,SAAS,uBACP,MACyB;AACzB,QAAO;EACL,IAAI;EACJ,OAAO;EACP,MAAM;GACJ,MAAM;GACN,OAAO,EAAE,MAAM,YAAY;GAC5B;EACD,SAAS;EACT,cAAc;GACZ,OAAO;GACP,aACE;GACF,cAAc;GACd,aAAa;GACd;EACD,SAAS;GAGP,MAAM;GACN,IAAI,YAAY;GAGjB;EACD,GAAG;EACJ;;;;;AAMH,SAAS,mBACP,MACyB;AACzB,QAAO;EACL,IAAI;EACJ,OAAO;EACP,MAAM;GACJ,MAAM;GACN,OAAO,EAAE,MAAM,YAAY;GAC5B;EACD,SAAS;EACT,cAAc;GACZ,OAAO;GACP,aACE;GACF,cAAc;GACd,aAAa;GACd;EACD,SAAS;GACP,MAAM;GACN,UAAU;GACV,QAAQ;GACT;EACD,GAAG;EACJ;;;;;AA6BH,SAAgB,0BAEgB;AAC9B,QAAO;EACL,SAAS,CAAC,oBAA2B,CAAC;EACtC,WAAW,EAAE;EACd;;;;;AAMH,SAAgB,wBAEe;AAC7B,QAAO,CAAC,wBAA+B,EAAE,uBAA8B,CAAC;;;;;AAM1E,SAAgB,wBAEkB;AAChC,QAAO;EACL,SAAS,EAAE;EACX,WAAW,CAAC,uBAA8B,EAAE,oBAA2B,CAAC;EACzE;;;;;AAMH,SAAgB,0BAA6D;AAC3E,QAAO;EACL,QAAQ,yBAAgC;EACxC,MAAM,uBAA8B;EACrC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-types.d.mts","names":[],"sources":["../../../../src/client/builder/types/action-types.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAoEA;;;AAQgE,UArD/C,aAAA,CAqD+C;EAAO;EAMtD,QAAA,EAAA,CAAA,IAAA,EAAa,MAAA,EAAA,GAAA,IAAA;EAErB;EAEC,KAAA,EAAA;IAIC,OAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,IAAA;IAEI,KAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,IAAA;IAAiB,IAAA,EAAA,CAAA,OAAA,EAAA,MAAA,EAAA,GAAA,IAAA;IAYf,OAAA,EAAA,CAAA,OAAe,EAAA,MAAA,EAAA,GAAA,IAGP;EAMR,CAAA;EAgBA;;;;;EAYA,CAAA,EAAA,CAAA,GAAA,EAAA,MAAA,EAAA,MAAgB,CAAA,EAvGL,MAuGK,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,GAAA,MAAA;EAExB;;;;EAMS,oBAAA,EAAA,CAAA,UAAA,CAAA,EAAA,MAAA,EAAA,GA1G+B,OA0G/B,CAAA,IAAA,CAAA;EAGR;;;;;EAMM,cAAA,EAAA,CAAA,EAAA,EAAA,MAAA,EAAA,UAAA,CAAA,EAAA,MAAA,EAAA,GA7GuC,OA6GvC,CAAA,IAAA,CAAA;EAAQ;AAQxB;AASA;EAaiB,aAAA,EAAA,GAAa,GAvIP,OAuIO,CAAA,IAAA,CAAA;EAGJ;;;;EAOT,OAAA,EAAA,GAAA,GAAA,IAAa;EAWlB;EACQ,WAAA,EAAA,GAAA,GAAA,IAAA;EAAhB;EACc,QAAA,EAAA,MAAA;;;;;AAGA,UAlJD,iBAAA,CAkJC;EAAd;EACA,iBAAA,EAAA,CAAA,OAAA,EAAA;IAAa,QAAA,CAAA,EAAA,SAAA,OAAA,EAAA;EASA,CAAA,EAAA,GAxJT,OAwJS,CAAA,IAAA,CAAA;EAoBL;EAWK,cAAA,EAAA,CAAA,OAAgB,EAAA;IAIxB,QAAA,CAAA,EAAA,SAAA,OAAA,EAAA;EAEA,CAAA,EAAA,GA3LyD,OA2LzD,CAAA,IAAA,CAAA;EAAgB;EAEb,YAAA,EAAA,CAAA,OAAA,EAAA;IAE+B,QAAA,CAAA,EAAA,SAAA,OAAA,EAAA;EAAd,CAAA,EAAA,GA7LmC,OA6LnC,CAAA,IAAA,CAAA;;;;;AAMZ,UA7LA,aA6LA,CAAA,QAAA,GAAA,CAAA,CAAA;EAAkB;EAkBlB,IAAA,CAAA,EA7MR,KA6MQ;EAEY;EAAjB,KAAA,CAAA,EA7MF,KA6ME,EAAA;EAEmB;EAAjB,UAAA,EAAA,MAAA;EAAgB;EAMb,OAAA,EAjNN,aAiNmB;EAEC;EAApB,WAAA,EAjNI,iBAiNJ;EAEe;EAAjB,UAAA,CAAA,EAAA,GAAA,GAAA,IAAA;;;;;UAvMQ;;;yBAGQ;;;;;UAMR;;SAER;;UAEC;;;;;;;;;;;UAYO;;;aAGJ,mBAAmB,kBAAkB;;;;;;;;UASjC;;SAER;;gBAEO;;UAEN,eAAe;;kBAEP;;mBAGR,0BACD,cAAc,kBACT;;gBAEE;;gBAEA;;;;;;;UAQC;;;UAGP,iBAAiB;;;;;UAMV,UAAA;;;;;;;eAOF,kBAAkB;;;;;UAMhB;;;YAGL,cAAc,kBAAkB;;;;;;UAO3B,aAAA;;;;;;;;;;KAWL,6BACR,gBAAgB,SAChB,cAAc,SACd,YAAY,SACZ,aACA,cAAc,SACd;;;;UASa,kBAAA;;;;;;;;;;;;;;;KAoBL,aAAA;;;;UAWK;;;;SAIR;;SAEA,gBAAgB;;YAEb;;6BAEiB,cAAc;;8BAEb,cAAc;;WAEjC,cAAc;;iBAER;;;;;;;;;;;;;UAkBA;;YAEL,iBAAiB;;cAEf,iBAAiB;;;;;UAMd;;WAEN,oBAAoB;;SAEtB,iBAAiB"}
@@ -1,199 +0,0 @@
1
- import { I18nText } from "../../i18n/types.mjs";
2
- import { IconComponent, MaybeLazyComponent } from "./common.mjs";
3
- import { ComponentReference } from "../../../server/augmentation.mjs";
4
- import "../../../server/index.mjs";
5
- import { ActionsConfig } from "./action-types.mjs";
6
- import "./field-types.mjs";
7
- import { FieldDefinition } from "../field/field.mjs";
8
- import { AdminBuilder } from "../admin-builder.mjs";
9
-
10
- //#region src/client/builder/types/collection-types.d.ts
11
-
12
- /**
13
- * Column configuration for list views
14
- * Can be a simple field name or detailed config object
15
- */
16
- type ColumnConfig<TFieldNames extends string = string> = TFieldNames | ColumnConfigObject<TFieldNames>;
17
- /**
18
- * Detailed column configuration object
19
- */
20
- interface ColumnConfigObject<TFieldNames extends string = string> {
21
- /**
22
- * Field name to display
23
- */
24
- field: TFieldNames;
25
- /**
26
- * Custom header label (defaults to field label)
27
- */
28
- header?: string;
29
- /**
30
- * Column width (CSS value like "200px", "20%", etc.)
31
- */
32
- width?: string | number;
33
- /**
34
- * Minimum column width
35
- */
36
- minWidth?: string | number;
37
- /**
38
- * Maximum column width
39
- */
40
- maxWidth?: string | number;
41
- /**
42
- * Enable sorting for this column
43
- * @default true
44
- */
45
- sortable?: boolean;
46
- /**
47
- * Custom cell renderer component
48
- * Overrides the field's default cell component
49
- */
50
- cell?: MaybeLazyComponent;
51
- /**
52
- * Column visibility
53
- * Can be a boolean or function for conditional visibility
54
- */
55
- visible?: boolean | ((row: any) => boolean);
56
- /**
57
- * Custom CSS class for column cells
58
- */
59
- className?: string;
60
- /**
61
- * Text alignment
62
- */
63
- align?: "left" | "center" | "right";
64
- }
65
- /**
66
- * List view configuration
67
- */
68
- interface ListViewConfig<TFieldNames extends string = string> {
69
- /**
70
- * Columns to display (field names or column configs)
71
- */
72
- columns?: ColumnConfig<TFieldNames>[];
73
- /**
74
- * Relations to include in query
75
- */
76
- with?: string[];
77
- /**
78
- * Default sort
79
- */
80
- defaultSort?: {
81
- field: TFieldNames;
82
- direction: "asc" | "desc";
83
- };
84
- /**
85
- * Enable search
86
- * @default true
87
- */
88
- searchable?: boolean;
89
- /**
90
- * Searchable fields (defaults to all text-like fields)
91
- */
92
- searchFields?: TFieldNames[];
93
- /**
94
- * Enable row selection
95
- * @default false
96
- */
97
- selectable?: boolean;
98
- /**
99
- * Enable pagination
100
- * @default true
101
- */
102
- paginated?: boolean;
103
- /**
104
- * Enable realtime invalidation for list queries.
105
- * Falls back to AdminProvider realtime config when undefined.
106
- */
107
- realtime?: boolean;
108
- /**
109
- * Default page size
110
- * @default 25
111
- */
112
- pageSize?: number;
113
- /**
114
- * Available page size options
115
- * @default [10, 25, 50, 100]
116
- */
117
- pageSizeOptions?: number[];
118
- /**
119
- * Actions configuration for list view
120
- */
121
- actions?: ActionsConfig;
122
- }
123
- /**
124
- * Preview configuration for live preview in form view
125
- */
126
- interface PreviewConfig {
127
- /**
128
- * URL builder function that returns preview URL for current form values
129
- * @param values - Current form values
130
- * @param locale - Current content locale
131
- * @returns Preview URL string
132
- */
133
- url: (values: Record<string, unknown>, locale: string) => string;
134
- /**
135
- * Whether preview is enabled (default: true)
136
- */
137
- enabled?: boolean;
138
- /**
139
- * Position of the preview panel (default: "right")
140
- */
141
- position?: "right" | "bottom";
142
- /**
143
- * Default width/height percentage of preview panel (default: 50)
144
- */
145
- defaultWidth?: number;
146
- /**
147
- * Minimum width/height percentage (default: 30)
148
- */
149
- minWidth?: number;
150
- /**
151
- * Maximum width/height percentage (default: 70)
152
- */
153
- maxWidth?: number;
154
- }
155
- /**
156
- * Autosave configuration for form view
157
- */
158
- interface AutoSaveConfig {
159
- /**
160
- * Whether autosave is enabled
161
- * @default false
162
- */
163
- enabled?: boolean;
164
- /**
165
- * Debounce delay in milliseconds before autosave triggers
166
- * @default 500 (0.5s as specified)
167
- */
168
- debounce?: number;
169
- /**
170
- * Show autosave status indicator in form header
171
- * @default true
172
- */
173
- indicator?: boolean;
174
- /**
175
- * Warn user before navigating away with unsaved changes
176
- * @default true
177
- */
178
- preventNavigation?: boolean;
179
- }
180
- /**
181
- * Collection builder state - internal state during building
182
- */
183
- interface CollectionBuilderState<TAdminApp extends AdminBuilder<any> = AdminBuilder<any>> {
184
- readonly name: string;
185
- readonly "~adminApp": TAdminApp;
186
- /** Display label - supports inline translations */
187
- readonly label?: I18nText;
188
- /** Description - supports inline translations */
189
- readonly description?: I18nText;
190
- readonly icon?: IconComponent | ComponentReference;
191
- readonly fields?: Record<string, FieldDefinition<any, any>>;
192
- readonly list?: any;
193
- readonly form?: any;
194
- readonly preview?: PreviewConfig;
195
- readonly autoSave?: AutoSaveConfig;
196
- }
197
- //#endregion
198
- export { AutoSaveConfig, CollectionBuilderState, ColumnConfig, ColumnConfigObject, ListViewConfig, PreviewConfig };
199
- //# sourceMappingURL=collection-types.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"collection-types.d.mts","names":[],"sources":["../../../../src/client/builder/types/collection-types.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;;AA8PA;AAiCA;AA0BiB,KAzRL,YAyRK,CAAA,oBAAsB,MAAA,GAAA,MAAA,CAAA,GAxRnC,WAwRmC,GAvRnC,kBAuRmC,CAvRhB,WAuRgB,CAAA;;;;AAMpB,UAxRF,kBAwRE,CAAA,oBAAA,MAAA,GAAA,MAAA,CAAA,CAAA;EAEM;;;EAEU,KAAA,EAxR1B,WAwR0B;EAAf;;;EAIgB,MAAA,CAAA,EAAA,MAAA;;;;;;;;;;;;;;;;;;;;;;SA5P3B;;;;;;;;;;;;;;;;;;UA4CQ;;;;YAIL,aAAa;;;;;;;;;WAWd;;;;;;;;;;;iBAaM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAmCL;;;;;UAwEK,aAAA;;;;;;;gBAOD;;;;;;;;;;;;;;;;;;;;;;;;;UA0BC,cAAA;;;;;;;;;;;;;;;;;;;;;;;;;UA0BA,yCACG,oBAAoB;;wBAGhB;;mBAEL;;yBAEM;kBACP,gBAAgB;oBACd,eAAe;;;qBAGd;sBACC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"collection-types.mjs","names":[],"sources":["../../../../src/client/builder/types/collection-types.ts"],"sourcesContent":["/**\n * Collection Builder Types\n */\n\nimport type { ComponentReference } from \"#questpie/admin/server\";\nimport type { I18nText } from \"../../i18n/types.js\";\nimport type { AdminBuilder } from \"../admin-builder\";\nimport type { FieldDefinition } from \"../field/field\";\nimport type { IconComponent, MaybeLazyComponent } from \"./common\";\nimport type { FormViewConfig } from \"./field-types\";\nimport type { ActionsConfig } from \"./action-types\";\n\n/**\n * Collection metadata for navigation and display\n */\nexport interface CollectionMeta {\n /** Display label - supports inline translations */\n label?: I18nText;\n icon?: IconComponent | ComponentReference | string;\n group?: string;\n order?: number;\n hidden?: boolean;\n}\n\n// ============================================================================\n// Column Configuration\n// ============================================================================\n\n/**\n * Column configuration for list views\n * Can be a simple field name or detailed config object\n */\nexport type ColumnConfig<TFieldNames extends string = string> =\n | TFieldNames\n | ColumnConfigObject<TFieldNames>;\n\n/**\n * Detailed column configuration object\n */\nexport interface ColumnConfigObject<TFieldNames extends string = string> {\n /**\n * Field name to display\n */\n field: TFieldNames;\n\n /**\n * Custom header label (defaults to field label)\n */\n header?: string;\n\n /**\n * Column width (CSS value like \"200px\", \"20%\", etc.)\n */\n width?: string | number;\n\n /**\n * Minimum column width\n */\n minWidth?: string | number;\n\n /**\n * Maximum column width\n */\n maxWidth?: string | number;\n\n /**\n * Enable sorting for this column\n * @default true\n */\n sortable?: boolean;\n\n /**\n * Custom cell renderer component\n * Overrides the field's default cell component\n */\n cell?: MaybeLazyComponent;\n\n /**\n * Column visibility\n * Can be a boolean or function for conditional visibility\n */\n visible?: boolean | ((row: any) => boolean);\n\n /**\n * Custom CSS class for column cells\n */\n className?: string;\n\n /**\n * Text alignment\n */\n align?: \"left\" | \"center\" | \"right\";\n}\n\n/**\n * Helper to normalize column config to field name\n */\nexport function getColumnFieldName<T extends string>(\n column: ColumnConfig<T>,\n): T {\n return typeof column === \"string\" ? column : column.field;\n}\n\n/**\n * Helper to get column config object (normalizes string to object)\n */\nexport function normalizeColumnConfig<T extends string>(\n column: ColumnConfig<T>,\n): ColumnConfigObject<T> {\n return typeof column === \"string\" ? { field: column } : column;\n}\n\n// ============================================================================\n// List View Configuration\n// ============================================================================\n\n/**\n * List view configuration\n */\nexport interface ListViewConfig<TFieldNames extends string = string> {\n /**\n * Columns to display (field names or column configs)\n */\n columns?: ColumnConfig<TFieldNames>[];\n\n /**\n * Relations to include in query\n */\n with?: string[];\n\n /**\n * Default sort\n */\n defaultSort?: {\n field: TFieldNames;\n direction: \"asc\" | \"desc\";\n };\n\n /**\n * Enable search\n * @default true\n */\n searchable?: boolean;\n\n /**\n * Searchable fields (defaults to all text-like fields)\n */\n searchFields?: TFieldNames[];\n\n /**\n * Enable row selection\n * @default false\n */\n selectable?: boolean;\n\n /**\n * Enable pagination\n * @default true\n */\n paginated?: boolean;\n\n /**\n * Enable realtime invalidation for list queries.\n * Falls back to AdminProvider realtime config when undefined.\n */\n realtime?: boolean;\n\n /**\n * Default page size\n * @default 25\n */\n pageSize?: number;\n\n /**\n * Available page size options\n * @default [10, 25, 50, 100]\n */\n pageSizeOptions?: number[];\n\n /**\n * Actions configuration for list view\n */\n actions?: ActionsConfig;\n}\n\n/**\n * Collection configuration - runtime config object\n */\nexport interface CollectionConfig<TFieldNames extends string = string> {\n /**\n * Collection name\n */\n name: string;\n\n /**\n * Collection metadata (for navigation/display)\n */\n meta?: CollectionMeta;\n\n /**\n * Display label - supports inline translations\n */\n label?: I18nText;\n\n /**\n * Icon\n */\n icon?: IconComponent | ComponentReference | string;\n\n /**\n * Description - supports inline translations\n */\n description?: I18nText;\n\n /**\n * Field configurations (FieldDefinition objects)\n *\n * @deprecated Admin UI is schema-driven. Prefer server-side schema fields.\n */\n fields?: Record<string, FieldDefinition>;\n\n /**\n * List view configuration\n *\n * @deprecated Admin UI is schema-driven. Prefer server-side schema config.\n */\n list?: ListViewConfig<TFieldNames>;\n\n /**\n * Form view configuration\n *\n * @deprecated Admin UI is schema-driven. Prefer server-side schema config.\n */\n form?: FormViewConfig;\n\n /**\n * Navigation group\n */\n group?: string;\n\n /**\n * Sort order\n */\n order?: number;\n\n /**\n * Hide from navigation\n */\n hidden?: boolean;\n}\n\n/**\n * Preview configuration for live preview in form view\n */\nexport interface PreviewConfig {\n /**\n * URL builder function that returns preview URL for current form values\n * @param values - Current form values\n * @param locale - Current content locale\n * @returns Preview URL string\n */\n url: (values: Record<string, unknown>, locale: string) => string;\n /**\n * Whether preview is enabled (default: true)\n */\n enabled?: boolean;\n /**\n * Position of the preview panel (default: \"right\")\n */\n position?: \"right\" | \"bottom\";\n /**\n * Default width/height percentage of preview panel (default: 50)\n */\n defaultWidth?: number;\n /**\n * Minimum width/height percentage (default: 30)\n */\n minWidth?: number;\n /**\n * Maximum width/height percentage (default: 70)\n */\n maxWidth?: number;\n}\n\n/**\n * Autosave configuration for form view\n */\nexport interface AutoSaveConfig {\n /**\n * Whether autosave is enabled\n * @default false\n */\n enabled?: boolean;\n /**\n * Debounce delay in milliseconds before autosave triggers\n * @default 500 (0.5s as specified)\n */\n debounce?: number;\n /**\n * Show autosave status indicator in form header\n * @default true\n */\n indicator?: boolean;\n /**\n * Warn user before navigating away with unsaved changes\n * @default true\n */\n preventNavigation?: boolean;\n}\n\n/**\n * Collection builder state - internal state during building\n */\nexport interface CollectionBuilderState<\n TAdminApp extends AdminBuilder<any> = AdminBuilder<any>,\n> {\n readonly name: string;\n readonly \"~adminApp\": TAdminApp;\n /** Display label - supports inline translations */\n readonly label?: I18nText;\n /** Description - supports inline translations */\n readonly description?: I18nText;\n readonly icon?: IconComponent | ComponentReference;\n readonly fields?: Record<string, FieldDefinition<any, any>>;\n readonly list?: any; // View result from .list() callback\n readonly form?: any; // View result from .form() callback\n readonly preview?: PreviewConfig; // Preview configuration\n readonly autoSave?: AutoSaveConfig; // Autosave configuration\n}\n"],"mappings":";;;;AA0GA,SAAgB,sBACd,QACuB;AACvB,QAAO,OAAO,WAAW,WAAW,EAAE,OAAO,QAAQ,GAAG"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"common.d.mts","names":[],"sources":["../../../../src/client/builder/types/common.ts"],"sourcesContent":[],"mappings":";;;;;;;;AAY8C,KAFlC,eAAA,GACR,QAC0C,GAAA,CAAA,CAAA,MAAA,EAAhC,MAAgC,CAAA,MAAA,EAAA,GAAA,CAAA,EAAA,GAAR,QAAQ,CAAA;AAM9C;;;;AAEkD,KAFtC,kBAEsC,CAAA,SAAA,GAAA,CAAA,GAD9C,OAAA,CAAM,mBACwC,CADpB,OAAA,CAAM,aACc,CADA,MACA,CAAA,CAAA,GAAA,CAAA,GAAA,GAAvC,OAAuC,CAAA;EAApB,OAAM,EAAN,OAAA,CAAM,aAAA,CAAc,MAAd,CAAA;CAAzB,CAAA,CAAA,GACP,OAAA,CAAM,aADC,CACa,MADb,CAAA;;;;AAOX;AACiB,KADL,aAAA,GAAgB,OAAA,CAAM,aACjB,CAAf,OAAA,CAAM,QAAS,CAAA,aAAA,CAAA,GAAA;EAAf,SAAM,CAAA,EAAA,MAAA;CADoB,CAAA;;AAQ5B;AAsBA;;AAIgB,KA1BJ,cAAA,GA0BI;EAEA,IAAA,EAAA,MAAA;EAAe,KAAA,EAAA,GAAA;;;;;;;;;;;;;;;;;;;KANnB,oBAAA;;UAEF;;gBAEM;;gBAEA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"field-types.d.mts","names":[],"sources":["../../../../src/client/builder/types/field-types.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"field-types.mjs","names":[],"sources":["../../../../src/client/builder/types/field-types.ts"],"sourcesContent":["/**\n * Field Component Types\n *\n * Types for field components, form views, and field configuration.\n */\n\nimport type { z } from \"zod\";\nimport type { ComponentReference } from \"#questpie/admin/server\";\nimport type { I18nText } from \"../../i18n/types.js\";\nimport type { ActionDefinition } from \"./action-types\";\nimport type {\n\tBaseFieldProps,\n\tDynamicI18nText,\n\tIconComponent,\n\tMaybeLazyComponent,\n} from \"./common\";\n\n// ============================================================================\n// Validation Configuration\n// ============================================================================\n\n/**\n * Validation configuration for fields\n *\n * These options are used to generate Zod schemas for client-side validation.\n */\nexport interface FieldValidationConfig {\n\t/**\n\t * Minimum length for strings\n\t */\n\tminLength?: number;\n\n\t/**\n\t * Maximum length for strings\n\t */\n\tmaxLength?: number;\n\n\t/**\n\t * Minimum value for numbers\n\t */\n\tmin?: number;\n\n\t/**\n\t * Maximum value for numbers\n\t */\n\tmax?: number;\n\n\t/**\n\t * Regex pattern for strings\n\t */\n\tpattern?: RegExp | string;\n\n\t/**\n\t * Custom error message for pattern validation\n\t */\n\tpatternMessage?: string;\n\n\t/**\n\t * Email validation (for text fields)\n\t */\n\temail?: boolean;\n\n\t/**\n\t * URL validation (for text fields)\n\t */\n\turl?: boolean;\n\n\t/**\n\t * Custom validation function\n\t * @returns Error message if invalid, undefined if valid\n\t */\n\tvalidate?: (\n\t\tvalue: any,\n\t\tformValues: Record<string, any>,\n\t) => string | undefined;\n\n\t/**\n\t * Custom Zod refinement\n\t */\n\trefine?: (schema: z.ZodTypeAny) => z.ZodTypeAny;\n}\n\n// ============================================================================\n// Field Component Props\n// ============================================================================\n\n/**\n * Props passed to field components\n *\n * @typeParam TValue - Type of the field value\n */\nexport interface FieldComponentProps<TValue = any> extends BaseFieldProps {\n\t/**\n\t * Field value (typed)\n\t */\n\tvalue: TValue;\n\n\t/**\n\t * Change handler (typed)\n\t * Optional to support read-only/preview modes\n\t */\n\tonChange?: (value: TValue) => void;\n\n\t/**\n\t * Field configuration options\n\t */\n\tconfig?: FieldUIConfig;\n}\n\n/**\n * Props for embedded collection fields\n */\nexport interface EmbeddedCollectionProps extends BaseFieldProps {\n\t/**\n\t * Target collection name\n\t */\n\tcollection: string;\n\n\t/**\n\t * Display mode\n\t */\n\tmode?: \"inline\" | \"modal\" | \"drawer\";\n\n\t/**\n\t * Whether items can be reordered\n\t */\n\torderable?: boolean;\n\n\t/**\n\t * Function to generate row labels\n\t */\n\trowLabel?: (item: any) => string;\n}\n\n// ============================================================================\n// Field Hooks Context\n// ============================================================================\n\n/**\n * Context provided to field hooks (onChange, etc.)\n */\nexport interface FieldHookContext {\n\t/**\n\t * Set value of any field in the form\n\t */\n\tsetValue: (name: string, value: any) => void;\n\n\t/**\n\t * Get current values of all fields\n\t */\n\tgetValues: () => Record<string, any>;\n\n\t/**\n\t * Get value of a specific field\n\t */\n\tgetValue: (name: string) => any;\n\n\t/**\n\t * Current field name\n\t */\n\tfieldName: string;\n\n\t/**\n\t * Current locale (for localized fields)\n\t */\n\tlocale?: string;\n}\n\n// ============================================================================\n// Field UI Configuration\n// ============================================================================\n\n/**\n * Field UI configuration (per-field overrides in collection config)\n */\nexport interface FieldUIConfig {\n\t/**\n\t * Display label\n\t */\n\tlabel?: DynamicI18nText;\n\n\t/**\n\t * Description text\n\t */\n\tdescription?: DynamicI18nText;\n\n\t/**\n\t * Placeholder text\n\t */\n\tplaceholder?: DynamicI18nText;\n\n\t/**\n\t * Field type override\n\t */\n\ttype?: string;\n\n\t/**\n\t * Whether field is required\n\t */\n\trequired?: boolean | ((values: Record<string, any>) => boolean);\n\n\t/**\n\t * Whether field is read-only\n\t */\n\treadOnly?: boolean | ((values: Record<string, any>) => boolean);\n\n\t/**\n\t * Whether field is disabled (grayed out, can be dynamic)\n\t */\n\tdisabled?: boolean | ((values: Record<string, any>) => boolean);\n\n\t/**\n\t * Whether field is hidden (can be dynamic based on form values).\n\t * Hidden fields are not rendered. Default is false (visible).\n\t *\n\t * Note: undefined/false = visible, true = hidden.\n\t * This follows JavaScript falsy semantics for better DX.\n\t */\n\thidden?: boolean | ((values: Record<string, any>) => boolean);\n\n\t/**\n\t * Whether field is localized\n\t */\n\tlocalized?: boolean;\n\n\t/**\n\t * Validation configuration for client-side validation\n\t */\n\tvalidation?: FieldValidationConfig;\n\n\t/**\n\t * Custom field component\n\t */\n\tcomponent?: MaybeLazyComponent<FieldComponentProps>;\n\n\t/**\n\t * Additional options for field type\n\t */\n\toptions?: SelectOption[] | ((values: Record<string, any>) => SelectOption[]);\n\n\t/**\n\t * Relation configuration\n\t */\n\trelation?: RelationFieldConfig;\n\n\t/**\n\t * Embedded collection configuration\n\t */\n\tembedded?: EmbeddedFieldConfig;\n\n\t/**\n\t * Rich text configuration\n\t */\n\trichText?: RichTextConfig;\n\n\t/**\n\t * Array field configuration\n\t */\n\tarray?: ArrayFieldConfig;\n\n\t// ========================================================================\n\t// Field Hooks\n\t// ========================================================================\n\n\t/**\n\t * Compute field value from other fields (proxy-tracked dependencies).\n\t * Makes the field read-only and virtual (not submitted to backend).\n\t *\n\t * Dependencies are automatically detected via Proxy tracking.\n\t * Works in both forms (reactive) and tables (static).\n\t *\n\t * @example\n\t * ```ts\n\t * pricePerMinute: r.number({\n\t * label: \"Price/Minute\",\n\t * compute: (values) => values.price / values.duration,\n\t * })\n\t *\n\t * fullName: r.text({\n\t * compute: (values) => `${values.firstName} ${values.lastName}`,\n\t * })\n\t * ```\n\t */\n\tcompute?: (values: Record<string, any>) => any;\n\n\t/**\n\t * Called when field value changes.\n\t * Use for side effects like updating other fields.\n\t * Can be async for API calls.\n\t *\n\t * @example\n\t * ```ts\n\t * onChange: async (value, { setValue }) => {\n\t * // Auto-generate slug from title\n\t * setValue('slug', slugify(value));\n\t * }\n\t * ```\n\t */\n\tonChange?: (value: any, ctx: FieldHookContext) => void | Promise<void>;\n\n\t/**\n\t * Dynamic default value for new records.\n\t * Can be a static value, sync function, or async function.\n\t * Only evaluated when creating new records (not on edit).\n\t *\n\t * @example\n\t * ```ts\n\t * // Static\n\t * defaultValue: \"draft\"\n\t *\n\t * // Based on other fields\n\t * defaultValue: (values) => values.type === \"post\" ? \"draft\" : \"published\"\n\t *\n\t * // Async (fetch from API)\n\t * defaultValue: async (values) => {\n\t * const settings = await fetchSettings();\n\t * return settings.defaultStatus;\n\t * }\n\t * ```\n\t */\n\tdefaultValue?:\n\t\t| any\n\t\t| ((values: Record<string, any>) => any)\n\t\t| ((values: Record<string, any>) => Promise<any>);\n\n\t/**\n\t * Async options loader for select-type fields.\n\t * Dependencies are automatically detected via Proxy tracking.\n\t *\n\t * @example\n\t * ```ts\n\t * subcategory: r.select({\n\t * loadOptions: async (values) => {\n\t * // Automatically re-fetches when values.category changes\n\t * return fetchSubcategories(values.category);\n\t * },\n\t * })\n\t * ```\n\t */\n\tloadOptions?: (values: Record<string, any>) => Promise<SelectOption[]>;\n}\n\n/**\n * Select field option\n */\nexport interface SelectOption {\n\tlabel: I18nText;\n\tvalue: string | number | boolean;\n\tdisabled?: boolean;\n}\n\n/**\n * Relation field configuration\n */\nexport interface RelationFieldConfig {\n\t/**\n\t * Target collection name\n\t */\n\ttargetCollection: string;\n\n\t/**\n\t * Display mode\n\t */\n\tmode?: \"inline\" | \"picker\" | \"create\";\n\n\t/**\n\t * Whether multiple items can be selected\n\t */\n\tmultiple?: boolean;\n\n\t/**\n\t * Whether items can be reordered\n\t */\n\torderable?: boolean;\n\n\t/**\n\t * Filter for relation options\n\t */\n\tfilter?: (values: Record<string, any>) => Record<string, any>;\n}\n\n/**\n * Embedded collection configuration\n */\nexport interface EmbeddedFieldConfig {\n\t/**\n\t * Target collection name\n\t */\n\tcollection: string;\n\n\t/**\n\t * Display mode\n\t */\n\tmode?: \"inline\" | \"modal\" | \"drawer\";\n\n\t/**\n\t * Whether items can be reordered\n\t */\n\torderable?: boolean;\n\n\t/**\n\t * Function to generate row labels\n\t */\n\trowLabel?: (item: any) => string;\n}\n\n/**\n * Rich text editor configuration\n */\nexport interface RichTextConfig {\n\t/**\n\t * Enable image uploads\n\t */\n\tenableImages?: boolean;\n\n\t/**\n\t * Show character count\n\t */\n\tshowCharacterCount?: boolean;\n\n\t/**\n\t * Maximum characters\n\t */\n\tmaxCharacters?: number;\n\n\t/**\n\t * Feature toggles\n\t */\n\tfeatures?: {\n\t\tslashCommands?: boolean;\n\t\ttableControls?: boolean;\n\t\tbubbleMenu?: boolean;\n\t};\n\n\t/**\n\t * Image upload handler\n\t */\n\tonImageUpload?: (file: File) => Promise<string>;\n}\n\n/**\n * Array field configuration\n */\nexport interface ArrayFieldConfig {\n\t/**\n\t * Placeholder text for items\n\t */\n\tplaceholder?: string;\n\n\t/**\n\t * Type of items in array\n\t */\n\titemType?: string;\n\n\t/**\n\t * Options for select-type items\n\t */\n\toptions?: SelectOption[];\n\n\t/**\n\t * Whether items can be reordered\n\t */\n\torderable?: boolean;\n\n\t/**\n\t * Minimum items\n\t */\n\tminItems?: number;\n\n\t/**\n\t * Maximum items\n\t */\n\tmaxItems?: number;\n}\n\n// ============================================================================\n// Field Layout Configuration - Mirrors Object Field API\n// ============================================================================\n\n/**\n * Layout mode - controls spatial arrangement of fields\n * Mirrors ObjectFieldLayout from field components\n *\n * - `\"stack\"` - Vertical layout, each field on its own line\n * - `\"inline\"` - Horizontal flexbox, fields side-by-side with wrapping\n * - `\"grid\"` - CSS Grid with configurable columns\n *\n * @see ObjectFieldLayout in field-types.ts for detailed visual examples\n */\nexport type LayoutMode = \"stack\" | \"inline\" | \"grid\";\n\n/**\n * Wrapper mode - controls container visual appearance\n * Mirrors ObjectFieldWrapper from field components\n *\n * - `\"flat\"` - No visual container, fields render directly\n * - `\"collapsible\"` - Accordion-style expandable container\n *\n * @see ObjectFieldWrapper in field-types.ts for detailed visual examples\n */\nexport type WrapperMode = \"flat\" | \"collapsible\";\n\n/**\n * Section layout - universal container for grouping fields\n *\n * Mirrors object field API exactly:\n * - wrapper: visual container style (flat | collapsible)\n * - layout: field arrangement (stack | inline | grid)\n * - columns: for grid layout\n * - defaultCollapsed: for collapsible wrapper\n *\n * @example Simple section with label\n * ```ts\n * {\n * type: 'section',\n * label: 'Contact Information',\n * fields: [f.name, f.email, f.phone]\n * }\n * ```\n *\n * @example Grid layout (acts as \"row\")\n * ```ts\n * {\n * type: 'section',\n * layout: 'grid',\n * columns: 2,\n * fields: [f.firstName, f.lastName]\n * }\n * ```\n *\n * @example Collapsible section\n * ```ts\n * {\n * type: 'section',\n * label: 'Advanced Settings',\n * wrapper: 'collapsible',\n * defaultCollapsed: true,\n * fields: [f.apiKey, f.webhookUrl]\n * }\n * ```\n *\n * @example Collapsible + Grid\n * ```ts\n * {\n * type: 'section',\n * label: 'Address',\n * wrapper: 'collapsible',\n * layout: 'grid',\n * columns: 2,\n * fields: [f.street, f.city, f.zip, f.country]\n * }\n * ```\n */\nexport interface SectionLayout<TData = any> {\n\ttype: \"section\";\n\n\t// Visual grouping\n\tlabel?: DynamicI18nText;\n\tdescription?: DynamicI18nText;\n\n\t// Wrapper (mirrors object field)\n\twrapper?: WrapperMode;\n\tdefaultCollapsed?: boolean;\n\n\t// Layout (mirrors object field)\n\tlayout?: LayoutMode;\n\tcolumns?: number;\n\tgap?: number;\n\n\t// Content\n\tfields: FieldLayoutItem<TData>[];\n\n\t// Conditional visibility (hidden: false/undefined = visible, true = hidden)\n\thidden?: boolean | ((values: Record<string, any>) => boolean);\n\n\t// Custom styling\n\tclassName?: string;\n}\n\n/**\n * Tab configuration for tabbed forms\n */\nexport interface TabConfig<TData = any> {\n\tid: string;\n\tlabel: DynamicI18nText;\n\ticon?: IconComponent | ComponentReference;\n\tfields: FieldLayoutItem<TData>[];\n\t// Conditional visibility (hidden: false/undefined = visible, true = hidden)\n\thidden?: boolean | ((values: Record<string, any>) => boolean);\n}\n\n/**\n * Tabs layout container for tabbed forms.\n */\nexport interface TabsLayout<TData = any> {\n\ttype: \"tabs\";\n\ttabs: TabConfig<TData>[];\n}\n\n/**\n * Context passed to reactive handlers.\n */\nexport interface FieldReactiveContext<TData = any> {\n\tdata: TData;\n\tsibling: Record<string, any>;\n\tctx?: Record<string, any>;\n\tprev?: {\n\t\tdata: TData;\n\t\tsibling: Record<string, any>;\n\t};\n}\n\n/**\n * Reactive handler config (short function form or object form).\n */\nexport type FieldReactiveHandlerConfig<TData = any, TReturn = any> =\n\t| ((ctx: FieldReactiveContext<TData>) => TReturn | Promise<TReturn>)\n\t| {\n\t\t\thandler: (ctx: FieldReactiveContext<TData>) => TReturn | Promise<TReturn>;\n\t\t\tdeps?: string[] | ((ctx: { data: TData }) => any[]);\n\t\t\tdebounce?: number;\n\t };\n\n/**\n * Serialized reactive config from server introspection.\n */\nexport interface SerializedReactiveDepsConfig {\n\tdeps: string[];\n\tdebounce?: number;\n}\n\n/**\n * Reactive field config for form layout.\n * Handlers are executed server-side; deps tracked for client reactivity.\n */\nexport interface FieldReactiveConfig<TData = any> {\n\t/** Hide field conditionally */\n\thidden?:\n\t\t| boolean\n\t\t| FieldReactiveHandlerConfig<TData, boolean>\n\t\t| SerializedReactiveDepsConfig;\n\t/** Make field read-only conditionally */\n\treadOnly?:\n\t\t| boolean\n\t\t| FieldReactiveHandlerConfig<TData, boolean>\n\t\t| SerializedReactiveDepsConfig;\n\t/** Disable field conditionally */\n\tdisabled?:\n\t\t| boolean\n\t\t| FieldReactiveHandlerConfig<TData, boolean>\n\t\t| SerializedReactiveDepsConfig;\n\t/** Auto-compute field value */\n\tcompute?:\n\t\t| FieldReactiveHandlerConfig<TData, any>\n\t\t| SerializedReactiveDepsConfig;\n}\n\n/**\n * Field layout item with optional reactive config\n */\nexport interface FieldLayoutItemWithReactive<TData = any>\n\textends FieldReactiveConfig<TData> {\n\tfield: string;\n\tclassName?: string;\n}\n\n/**\n * Field layout item - can be a simple field name, field with config, section, or tabs\n *\n * @example\n * ```ts\n * fields: [\n * f.name, // simple field reference\n * { field: f.email, className: 'col-span-2' }, // with className\n * { field: f.slug, compute: { handler: ({ data }) => slugify(data.name), deps: ['name'] } }, // with compute\n * { field: f.reason, hidden: ({ data }) => data.status !== 'cancelled' }, // with hidden\n * { type: 'section', layout: 'grid', columns: 2, fields: [...] }, // section\n * { type: 'tabs', tabs: [...] } // tabs\n * ]\n * ```\n */\nexport type FieldLayoutItem<TData = any> =\n\t| string\n\t| FieldLayoutItemWithReactive<TData>\n\t| SectionLayout<TData>\n\t| TabsLayout<TData>;\n\n/**\n * Helper to check if item is a field reference (string or object with field)\n */\nexport function isFieldReference<TData = any>(\n\titem: FieldLayoutItem<TData>,\n): item is string | FieldLayoutItemWithReactive<TData> {\n\treturn typeof item === \"string\" || (\"field\" in item && !(\"type\" in item));\n}\n\n/**\n * Helper to get field name from layout item\n */\nexport function getFieldName<TData = any>(\n\titem: FieldLayoutItem<TData>,\n): string | null {\n\tif (typeof item === \"string\") return item;\n\tif (\"field\" in item && typeof item.field === \"string\") return item.field;\n\treturn null;\n}\n\n/**\n * Helper to get className from field layout item\n */\nexport function getFieldClassName<TData = any>(\n\titem: FieldLayoutItem<TData>,\n): string | undefined {\n\treturn typeof item === \"string\"\n\t\t? undefined\n\t\t: \"className\" in item\n\t\t\t? item.className\n\t\t\t: undefined;\n}\n\n// ============================================================================\n// Form View Configuration\n// ============================================================================\n\n/**\n * Form sidebar configuration\n * Uses `fields` array (same structure as main form)\n */\nexport interface FormSidebarConfig<TData = any> {\n\tposition?: \"left\" | \"right\";\n\tfields: FieldLayoutItem<TData>[];\n}\n\n/**\n * Form view configuration\n * Uses `fields` array for main content\n *\n * @example\n * ```ts\n * .form(({ v, f }) => v.form({\n * sidebar: {\n * position: 'right',\n * fields: [f.status, f.publishedAt]\n * },\n * fields: [\n * { type: 'section', layout: 'grid', columns: 2, fields: [f.name, f.email] },\n * { type: 'section', label: 'Content', fields: [f.body] }\n * ]\n * }))\n * ```\n */\nexport interface FormViewConfig<TData = any> {\n\tfields: FieldLayoutItem<TData>[];\n\tsidebar?: FormSidebarConfig<TData>;\n\tactions?: FormViewActionsConfig;\n}\n\n/**\n * Actions configuration for form views\n *\n * @example\n * ```ts\n * actions: {\n * primary: [a.action({ id: \"publish\", label: \"Publish\" })], // Buttons next to Save\n * secondary: [a.action({ id: \"delete\", label: \"Delete\" })], // In dropdown menu (...)\n * }\n * ```\n */\nexport interface FormViewActionsConfig<TItem = any> {\n\t/** Actions shown as buttons (next to Save) */\n\tprimary?: ActionDefinition<TItem>[];\n\t/** Actions shown in dropdown menu (...) */\n\tsecondary?: ActionDefinition<TItem>[];\n}\n\n// ============================================================================\n// Component Registry\n// ============================================================================\n\n/**\n * Registry for custom field and widget components\n */\nexport interface ComponentRegistry {\n\t/**\n\t * Custom field components by type\n\t */\n\tfields?: Record<string, MaybeLazyComponent<FieldComponentProps>>;\n\n\t/**\n\t * Custom widget components by type\n\t */\n\twidgets?: Record<string, MaybeLazyComponent<any>>;\n\n\t/**\n\t * Custom named components (for component prop on fields)\n\t */\n\tcustom?: Record<string, MaybeLazyComponent<any>>;\n}\n"],"mappings":";;;;AAkrBA,SAAgB,iBACf,MACsD;AACtD,QAAO,OAAO,SAAS,YAAa,WAAW,QAAQ,EAAE,UAAU;;;;;AAMpE,SAAgB,aACf,MACgB;AAChB,KAAI,OAAO,SAAS,SAAU,QAAO;AACrC,KAAI,WAAW,QAAQ,OAAO,KAAK,UAAU,SAAU,QAAO,KAAK;AACnE,QAAO"}
@@ -1,22 +0,0 @@
1
- import { I18nText } from "../../i18n/types.mjs";
2
- import { IconComponent } from "./common.mjs";
3
- import { ComponentReference } from "../../../server/augmentation.mjs";
4
- import "../../../server/index.mjs";
5
- import { AdminBuilder } from "../admin-builder.mjs";
6
-
7
- //#region src/client/builder/types/global-types.d.ts
8
-
9
- interface GlobalBuilderState<TAdminApp extends AdminBuilder<any> = AdminBuilder<any>> {
10
- readonly name: string;
11
- readonly "~adminApp": TAdminApp;
12
- /** Display label - supports inline translations */
13
- readonly label?: I18nText;
14
- /** Description - supports inline translations */
15
- readonly description?: I18nText;
16
- readonly icon?: IconComponent | ComponentReference;
17
- readonly fields?: Record<string, any>;
18
- readonly form?: any;
19
- }
20
- //#endregion
21
- export { GlobalBuilderState };
22
- //# sourceMappingURL=global-types.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"global-types.d.mts","names":[],"sources":["../../../../src/client/builder/types/global-types.ts"],"sourcesContent":[],"mappings":";;;;;;;;UAsEiB,qCACG,oBAAoB;;wBAGhB;;mBAEL;;yBAEM;kBACP,gBAAgB;oBACd"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui-config.d.mts","names":[],"sources":["../../../../src/client/builder/types/ui-config.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;AAwCY,UAtBK,eAAA,CAsBY;EAKjB;EACT,EAAA,EAAA,MAAA;EACA;EACA,KAAA,EA1BK,eA0BL;EAAa;EAmBC,IAAA,CAAA,EA3CT,aA2CyB,GA3CT,kBA2CS;EAGxB;EAEM,IAAA,CAAA,EAAA,MAAA;EAEP;EAAgB,OAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EAYhB;EAAmB,OAAA,CAAA,EAAA,SAAA,GAAA,SAAA,GAAA,WAAA,GAAA,SAAA,GAAA,OAAA;AA2B3B;AAaA;;;AAMwB,KA5FZ,iBAAA,GA4FY,SAAA,GAAA,SAAA,GAAA,UAAA;;;AAUxB;AAIS,KArGG,mBAAA,GACT,YAoGM,GAnGN,gBAmGM,GAlGN,aAkGM;;;;;;;AA4HT;;;;;;;;;;;UA3MiB,gBAAA;;;UAGR;;gBAEM;;SAEP,gBAAgB;;;;;;;;;;;;SAYhB;;;;;;;;;;;;;;;;;;;;;;;;;;UA2BS,aAAA;;;QAGV;;;;;;;;;UAUU,kBAAA;;;;SAIT;;SAEA,gBAAgB;;SAEhB;;;;;;;UAQS,eAAA;;;;UAIR;;gBAEM;;;;;;UAMN;;;;YAIE;;uBAEW;;;;;;;;YAQX;;;;;UAsGM,YAAA"}
@@ -1,89 +0,0 @@
1
- import { ComponentRegistry, FormViewConfig } from "./field-types.mjs";
2
- import { ListViewConfig } from "./collection-types.mjs";
3
- import * as React$1 from "react";
4
-
5
- //#region src/client/builder/types/views.d.ts
6
- type ViewBaseProps = {
7
- navigate: (path: string) => void;
8
- basePath?: string;
9
- config?: Record<string, any>;
10
- viewConfig?: ListViewConfig | FormViewConfig;
11
- registry?: ComponentRegistry;
12
- };
13
- interface CollectionListViewProps {
14
- collection: string;
15
- baseFindOptions?: any;
16
- realtime?: boolean;
17
- headerActions?: React$1.ReactNode;
18
- onRowClick?: (item: any) => void;
19
- config?: ViewBaseProps["config"];
20
- viewConfig?: ListViewConfig;
21
- navigate: ViewBaseProps["navigate"];
22
- basePath?: ViewBaseProps["basePath"];
23
- }
24
- interface CollectionFormViewProps {
25
- collection: string;
26
- id?: string;
27
- title?: string;
28
- headerActions?: React$1.ReactNode;
29
- onSuccess?: (data?: any) => void;
30
- onCancel?: () => void;
31
- onError?: (error: Error) => void;
32
- defaultValues?: Record<string, any>;
33
- allCollectionsConfig?: Record<string, any>;
34
- config?: ViewBaseProps["config"];
35
- viewConfig?: FormViewConfig;
36
- navigate: ViewBaseProps["navigate"];
37
- basePath?: ViewBaseProps["basePath"];
38
- registry?: ViewBaseProps["registry"];
39
- children?: React$1.ReactNode;
40
- }
41
- interface GlobalFormViewProps {
42
- global: string;
43
- title?: string;
44
- description?: string;
45
- headerActions?: React$1.ReactNode;
46
- onSuccess?: (data?: any) => void;
47
- onError?: (error: Error) => void;
48
- allGlobalsConfig?: Record<string, any>;
49
- config?: ViewBaseProps["config"];
50
- viewConfig?: FormViewConfig;
51
- navigate: ViewBaseProps["navigate"];
52
- basePath?: ViewBaseProps["basePath"];
53
- registry?: ViewBaseProps["registry"];
54
- children?: React$1.ReactNode;
55
- }
56
- interface DefaultViewsConfig {
57
- dashboard?: {
58
- component?: React$1.ComponentType;
59
- header?: {
60
- title?: string;
61
- showDate?: boolean;
62
- };
63
- welcomeCard?: {
64
- title?: string;
65
- description?: string;
66
- };
67
- };
68
- collectionList?: {
69
- component?: React$1.ComponentType<CollectionListViewProps>;
70
- showSearch?: boolean;
71
- showFilters?: boolean;
72
- showToolbar?: boolean;
73
- realtime?: boolean;
74
- emptyState?: React$1.ComponentType;
75
- };
76
- collectionForm?: {
77
- component?: React$1.ComponentType<CollectionFormViewProps>;
78
- showMeta?: boolean;
79
- showStatus?: boolean;
80
- sidebarFields?: string[];
81
- };
82
- globalForm?: {
83
- component?: React$1.ComponentType<GlobalFormViewProps>;
84
- layout?: "single" | "sidebar";
85
- };
86
- }
87
- //#endregion
88
- export { DefaultViewsConfig };
89
- //# sourceMappingURL=views.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"views.d.mts","names":[],"sources":["../../../../src/client/builder/types/views.ts"],"sourcesContent":[],"mappings":";;;;;KAIK,aAAA;;EAAA,QAAA,CAAA,EAAA,MAAa;EAGR,MAAA,CAAA,EAAA,MAAA,CAAA,MAAA,EAAA,GAAA,CAAA;EACI,UAAA,CAAA,EAAA,cAAA,GAAiB,cAAjB;EAAiB,QAAA,CAAA,EACnB,iBADmB;CACnB;AAAiB,UAGZ,uBAAA,CAHY;EAGZ,UAAA,EAAA,MAAA;EAIA,eAAM,CAAA,EAAA,GAAA;EAEb,QAAA,CAAA,EAAA,OAAA;EACI,aAAA,CAAA,EAHG,OAAA,CAAM,SAGT;EACH,UAAA,CAAA,EAAA,CAAA,IAAA,EAAA,GAAA,EAAA,GAAA,IAAA;EACC,MAAA,CAAA,EAHF,aAGE,CAAA,QAAA,CAAA;EAAa,UAAA,CAAA,EAFX,cAEW;EAGR,QAAA,EAJN,aAIM,CAAA,UAAuB,CAAA;EAIvB,QAAM,CAAA,EAPX,aAOW,CAAA,UAAA,CAAA;;AAIN,UARA,uBAAA,CAQA;EACO,UAAA,EAAA,MAAA;EACd,EAAA,CAAA,EAAA,MAAA;EACI,KAAA,CAAA,EAAA,MAAA;EACH,aAAA,CAAA,EARM,OAAA,CAAM,SAQZ;EACC,SAAA,CAAA,EAAA,CAAA,IAAA,CAAA,EAAA,GAAA,EAAA,GAAA,IAAA;EACA,QAAA,CAAA,EAAA,GAAA,GAAA,IAAA;EACA,OAAM,CAAA,EAAA,CAAA,KAAA,EARC,KAQD,EAAA,GAAA,IAAA;EAAS,aAAA,CAAA,EAPV,MAOU,CAAA,MAAA,EAAA,GAAA,CAAA;EAGV,oBAAA,CAAA,EATO,MASY,CAAA,MAAA,EAAA,GAAA,CAAA;EAInB,MAAM,CAAA,EAZb,aAYa,CAAA,QAAA,CAAA;EAEJ,UAAA,CAAA,EAbL,cAaK;EACC,QAAA,EAbT,aAaS,CAAA,UAAA,CAAA;EACV,QAAA,CAAA,EAbE,aAaF,CAAA,UAAA,CAAA;EACI,QAAA,CAAA,EAbF,aAaE,CAAA,UAAA,CAAA;EACH,QAAA,CAAA,EAbC,OAAA,CAAM,SAaP;;AAEC,UAZK,mBAAA,CAYL;EACA,MAAM,EAAA,MAAA;EAAS,KAAA,CAAA,EAAA,MAAA;EAGV,WAAA,CAAA,EAAA,MAAA;EAEH,aAAM,CAAA,EAdH,OAAA,CAAM,SAcH;EAYc,SAAA,CAAA,EAAA,CAAA,IAAA,CAAA,EAAA,GAAA,EAAA,GAAA,IAAA;EAApB,OAAM,CAAA,EAAA,CAAA,KAAA,EAxBD,KAwBC,EAAA,GAAA,IAAA;EAKL,gBAAM,CAAA,EA5BD,MA4BC,CAAA,MAAA,EAAA,GAAA,CAAA;EAIa,MAAA,CAAA,EA/BxB,aA+BwB,CAAA,QAAA,CAAA;EAApB,UAAM,CAAA,EA9BN,cA8BM;EAOc,QAAA,EApCvB,aAoCuB,CAAA,UAAA,CAAA;EAApB,QAAM,CAAA,EAnCR,aAmCQ,CAAA,UAAA,CAAA;EAAa,QAAA,CAAA,EAlCrB,aAkCqB,CAAA,UAAA,CAAA;aAjCrB,OAAA,CAAM;;UAGD,kBAAA;;gBAEH,OAAA,CAAM;;;;;;;;;;;gBAYN,OAAA,CAAM,cAAc;;;;;iBAKnB,OAAA,CAAM;;;gBAIP,OAAA,CAAM,cAAc;;;;;;gBAOpB,OAAA,CAAM,cAAc"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"widget-types.d.mts","names":[],"sources":["../../../../src/client/builder/types/widget-types.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.mjs","names":["schema: z.ZodTypeAny","ctx: ZodBuildContext","shape: Record<string, z.ZodTypeAny>","customValidators: Array<{\n name: string;\n validate: NonNullable<FieldValidationConfig[\"validate\"]>;\n }>"],"sources":["../../../src/client/builder/validation.ts"],"sourcesContent":["/**\n * Client-side Validation Schema Builder\n *\n * Generates Zod schemas from admin field configurations.\n * Uses createZod from field definitions for automatic schema generation.\n * Supports nested fields (object, array) via recursive schema building.\n */\n\nimport { z } from \"zod\";\nimport type { FieldDefinition, ZodBuildContext } from \"./field/field\";\nimport type { FieldValidationConfig } from \"./types/field-types\";\n\n// ============================================================================\n// Types\n// ============================================================================\n\n/**\n * Collection fields map (from admin config)\n */\ntype FieldsMap = Record<string, FieldDefinition>;\n\n/**\n * Field registry type\n */\ntype FieldRegistry = Record<string, any>;\n\n// ============================================================================\n// Fallback Schema Builders (for fields without createZod)\n// ============================================================================\n\n/**\n * Build a string schema with validations (fallback)\n */\nfunction buildStringSchema(validation?: FieldValidationConfig): z.ZodString {\n let schema = z.string();\n\n if (validation) {\n if (validation.minLength !== undefined) {\n schema = schema.min(\n validation.minLength,\n `Must be at least ${validation.minLength} characters`,\n );\n }\n if (validation.maxLength !== undefined) {\n schema = schema.max(\n validation.maxLength,\n `Must be at most ${validation.maxLength} characters`,\n );\n }\n if (validation.email) {\n schema = schema.email(\"Invalid email address\");\n }\n if (validation.url) {\n schema = schema.url(\"Invalid URL\");\n }\n if (validation.pattern) {\n const regex =\n typeof validation.pattern === \"string\"\n ? new RegExp(validation.pattern)\n : validation.pattern;\n schema = schema.regex(\n regex,\n validation.patternMessage || \"Invalid format\",\n );\n }\n }\n\n return schema;\n}\n\n/**\n * Build a number schema with validations (fallback)\n */\nfunction buildNumberSchema(validation?: FieldValidationConfig): z.ZodNumber {\n let schema = z.number();\n\n if (validation) {\n if (validation.min !== undefined) {\n schema = schema.min(validation.min, `Must be at least ${validation.min}`);\n }\n if (validation.max !== undefined) {\n schema = schema.max(validation.max, `Must be at most ${validation.max}`);\n }\n }\n\n return schema;\n}\n\n/**\n * Fallback schema builder for fields without createZod\n */\nfunction buildFallbackSchema(\n fieldType: string,\n required?: boolean,\n validation?: FieldValidationConfig,\n): z.ZodTypeAny {\n let schema: z.ZodTypeAny;\n\n switch (fieldType) {\n case \"text\":\n case \"textarea\":\n case \"email\":\n case \"password\":\n case \"slug\":\n case \"code\":\n case \"time\":\n schema = buildStringSchema(validation);\n break;\n\n case \"number\":\n case \"currency\":\n schema = buildNumberSchema(validation);\n break;\n\n case \"switch\":\n case \"checkbox\":\n schema = z.boolean();\n break;\n\n case \"date\":\n case \"datetime\":\n schema = z.date().or(z.string());\n break;\n\n case \"select\":\n schema = z.string().or(z.number());\n break;\n\n case \"relation\":\n schema = z.string().or(z.array(z.string()));\n break;\n\n case \"upload\":\n schema = z.string();\n break;\n\n case \"uploadMany\":\n schema = z.array(z.string());\n break;\n\n case \"array\":\n schema = z.array(z.any());\n break;\n\n case \"object\":\n schema = z.record(z.string(), z.any());\n break;\n\n case \"json\":\n case \"richText\":\n schema = z.any();\n break;\n\n default:\n schema = z.any();\n }\n\n // Apply custom refinement from validation config\n if (validation?.refine) {\n schema = validation.refine(schema);\n }\n\n // Handle required/optional\n if (!required) {\n schema = schema.optional().nullable();\n }\n\n return schema;\n}\n\n// ============================================================================\n// Main Schema Builder\n// ============================================================================\n\n/**\n * Creates the ZodBuildContext for recursive schema building\n */\nfunction createBuildContext(registry: FieldRegistry): ZodBuildContext {\n const ctx: ZodBuildContext = {\n registry,\n buildSchema: (fieldDef: FieldDefinition): z.ZodTypeAny => {\n const opts = fieldDef[\"~options\"] || {};\n\n // If field has createZod, use it\n if (fieldDef.createZod) {\n return fieldDef.createZod(opts, ctx);\n }\n\n // Fallback to generic schema based on field type name\n return buildFallbackSchema(fieldDef.name, opts.required, opts.validation);\n },\n };\n\n return ctx;\n}\n\n/**\n * Build a Zod schema from admin field definitions\n *\n * Uses createZod from each field definition if available,\n * otherwise falls back to generic schema based on field type.\n *\n * @param fields - Field definitions from admin collection config\n * @param registry - Field registry from admin builder\n * @returns Zod object schema for the collection\n *\n * @example\n * ```ts\n * const schema = buildValidationSchema(collectionConfig.fields, admin.getFields());\n *\n * // Use with react-hook-form\n * const form = useForm({\n * resolver: zodResolver(schema),\n * });\n * ```\n */\nexport function buildValidationSchema(\n fields: FieldsMap,\n registry: FieldRegistry,\n): z.ZodObject<Record<string, z.ZodTypeAny>> {\n const ctx = createBuildContext(registry);\n const shape: Record<string, z.ZodTypeAny> = {};\n\n for (const [name, fieldDef] of Object.entries(fields)) {\n shape[name] = ctx.buildSchema(fieldDef);\n }\n\n return z.object(shape);\n}\n\n/**\n * Build validation schema with custom validation functions\n *\n * This version supports the `validate` callback in FieldValidationConfig\n * which receives form values for cross-field validation.\n *\n * @param fields - Field definitions from admin collection config\n * @param registry - Field registry from admin builder\n * @returns Zod schema with superRefine for custom validators\n */\nexport function buildValidationSchemaWithCustom(\n fields: FieldsMap,\n registry: FieldRegistry,\n): z.ZodTypeAny {\n const baseSchema = buildValidationSchema(fields, registry);\n\n // Collect fields with custom validate functions\n const customValidators: Array<{\n name: string;\n validate: NonNullable<FieldValidationConfig[\"validate\"]>;\n }> = [];\n\n for (const [name, fieldDef] of Object.entries(fields)) {\n const options = fieldDef[\"~options\"] || {};\n if (options.validation?.validate) {\n customValidators.push({\n name,\n validate: options.validation.validate,\n });\n }\n }\n\n // If no custom validators, return base schema\n if (customValidators.length === 0) {\n return baseSchema;\n }\n\n // Apply custom validators via superRefine\n return baseSchema.superRefine((data, ctx) => {\n for (const { name, validate } of customValidators) {\n const error = validate(data[name], data);\n if (error) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: error,\n path: [name],\n });\n }\n }\n });\n}\n\n/**\n * Create a Zod validation schema from admin field config\n *\n * Use with @hookform/resolvers/zod for react-hook-form integration.\n *\n * @param fields - Field definitions from admin collection config\n * @param registry - Field registry from admin builder\n * @returns Zod schema for form validation\n *\n * @example\n * ```tsx\n * import { zodResolver } from \"@hookform/resolvers/zod\";\n * import { createFormSchema } from \"@questpie/admin/builder\";\n *\n * // From collection config\n * const schema = createFormSchema(collectionConfig.fields, admin.getFields());\n *\n * function MyForm() {\n * const form = useForm({\n * resolver: zodResolver(schema),\n * });\n * // ...\n * }\n *\n * // Or use the hook\n * import { useCollectionValidation } from \"@questpie/admin/hooks\";\n *\n * function MyCollectionForm() {\n * const schema = useCollectionValidation(\"posts\");\n * const form = useForm({\n * resolver: schema ? zodResolver(schema) : undefined,\n * });\n * }\n * ```\n */\nexport function createFormSchema(\n fields: FieldsMap,\n registry: FieldRegistry,\n): z.ZodTypeAny {\n return buildValidationSchemaWithCustom(fields, registry);\n}\n\n// ============================================================================\n// Re-exports for convenience\n// ============================================================================\n\nexport type { ZodBuildContext } from \"./field/field\";\nexport { createFieldRegistryProxy as createRegistryProxy } from \"./proxies\";\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"view.d.mts","names":[],"sources":["../../../../src/client/builder/view/view.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"view.mjs","names":["state: TState"],"sources":["../../../../src/client/builder/view/view.ts"],"sourcesContent":["/**\n * View Builders (List & Edit)\n *\n * Defines reusable view components for collections.\n */\n\nimport type { SetProperty } from \"questpie/shared\";\nimport type { MaybeLazyComponent } from \"../types/common\";\n\n// ============================================================================\n// Config Extraction Types\n// ============================================================================\n\n/**\n * Extract viewConfig type from a view component's props.\n *\n * Looks for `viewConfig?: T` prop and extracts T.\n * Returns `unknown` if not found (will be refined by $config).\n */\ntype ExtractViewConfigFromComponent<TComponent> =\n TComponent extends React.ComponentType<infer P>\n ? P extends { viewConfig?: infer C }\n ? C\n : unknown\n : unknown;\n\n/**\n * Extract config from lazy component: () => Promise<{ default: Component }>\n */\ntype ExtractViewConfigFromLazy<TComponent> = TComponent extends () => Promise<{\n default: infer C;\n}>\n ? ExtractViewConfigFromComponent<C>\n : ExtractViewConfigFromComponent<TComponent>;\n\n// ============================================================================\n// View Definitions\n// ============================================================================\n\n/**\n * List view definition\n */\nexport interface ListViewDefinition<\n TName extends string = string,\n TConfig = unknown,\n> {\n readonly name: TName;\n readonly kind: \"list\";\n readonly \"~config\": TConfig;\n readonly component: MaybeLazyComponent;\n}\n\n/**\n * Edit view definition\n */\nexport interface EditViewDefinition<\n TName extends string = string,\n TConfig = unknown,\n> {\n readonly name: TName;\n readonly kind: \"edit\";\n readonly \"~config\": TConfig;\n readonly component: MaybeLazyComponent;\n}\n\n// ============================================================================\n// Builder State Types\n// ============================================================================\n\nexport interface ListViewBuilderState<TConfig = unknown> {\n readonly name: string;\n readonly kind: \"list\";\n readonly \"~config\": TConfig;\n readonly component: MaybeLazyComponent;\n}\n\nexport interface EditViewBuilderState<TConfig = unknown> {\n readonly name: string;\n readonly kind: \"edit\";\n readonly \"~config\": TConfig;\n readonly component: MaybeLazyComponent;\n}\n\n// ============================================================================\n// View Builders\n// ============================================================================\n\n/**\n * List view builder - implements ListViewDefinition for unified type handling\n */\nexport class ListViewBuilder<\n TState extends ListViewBuilderState,\n> implements ListViewDefinition<TState[\"name\"], TState[\"~config\"]> {\n constructor(public readonly state: TState) {}\n\n get name(): TState[\"name\"] {\n return this.state.name;\n }\n\n get kind(): \"list\" {\n return \"list\";\n }\n\n get \"~config\"(): TState[\"~config\"] {\n return this.state[\"~config\"];\n }\n\n get component(): TState[\"component\"] {\n return this.state.component;\n }\n\n /**\n * Set or override config value and type.\n *\n * @param config - Optional config value (for runtime) or omit for type-only override\n */\n $config<TNewConfig>(\n config?: TNewConfig,\n ): ListViewBuilder<SetProperty<TState, \"~config\", TNewConfig>> {\n return new ListViewBuilder({\n ...this.state,\n \"~config\": config ?? this.state[\"~config\"],\n } as SetProperty<TState, \"~config\", TNewConfig>);\n }\n}\n\n/**\n * Edit view builder - implements EditViewDefinition for unified type handling\n */\nexport class EditViewBuilder<\n TState extends EditViewBuilderState,\n> implements EditViewDefinition<TState[\"name\"], TState[\"~config\"]> {\n constructor(public readonly state: TState) {}\n\n get name(): TState[\"name\"] {\n return this.state.name;\n }\n\n get kind(): \"edit\" {\n return \"edit\";\n }\n\n get \"~config\"(): TState[\"~config\"] {\n return this.state[\"~config\"];\n }\n\n get component(): TState[\"component\"] {\n return this.state.component;\n }\n\n /**\n * Set or override config value and type.\n *\n * @param config - Optional config value (for runtime) or omit for type-only override\n */\n $config<TNewConfig>(\n config?: TNewConfig,\n ): EditViewBuilder<SetProperty<TState, \"~config\", TNewConfig>> {\n return new EditViewBuilder({\n ...this.state,\n \"~config\": config ?? this.state[\"~config\"],\n } as SetProperty<TState, \"~config\", TNewConfig>);\n }\n}\n\n// ============================================================================\n// Factory Functions\n// ============================================================================\n\n/**\n * Create a list view with automatic config type extraction.\n *\n * The config type is extracted from the component's `viewConfig` prop.\n * If extraction fails, use `.$config<MyConfigType>()` to set it manually.\n *\n * @example\n * ```ts\n * // Auto-extraction from component props\n * const tableView = listView(\"table\", { component: TableView });\n * // ^? ListViewBuilder<{ ~config: TableViewConfig }>\n *\n * // Manual config type for lazy imports\n * const lazyTable = listView(\"table\", { component: () => import('./TableView') })\n * .$config<TableViewConfig>();\n * ```\n */\nexport function listView<\n TName extends string,\n TComponent extends MaybeLazyComponent,\n>(\n name: TName,\n config: { component: TComponent },\n): ListViewBuilder<{\n name: TName;\n kind: \"list\";\n \"~config\": ExtractViewConfigFromLazy<TComponent>;\n component: TComponent;\n}> {\n return new ListViewBuilder({\n name,\n kind: \"list\",\n \"~config\": {} as ExtractViewConfigFromLazy<TComponent>,\n component: config.component,\n });\n}\n\n/**\n * Create an edit view with automatic config type extraction.\n *\n * @example\n * ```ts\n * const formView = editView(\"form\", { component: FormView });\n * // ^? EditViewBuilder<{ ~config: FormViewRegistryConfig }>\n * ```\n */\nexport function editView<\n TName extends string,\n TComponent extends MaybeLazyComponent,\n>(\n name: TName,\n config: { component: TComponent },\n): EditViewBuilder<{\n name: TName;\n kind: \"edit\";\n \"~config\": ExtractViewConfigFromLazy<TComponent>;\n component: TComponent;\n}> {\n return new EditViewBuilder({\n name,\n kind: \"edit\",\n \"~config\": {} as ExtractViewConfigFromLazy<TComponent>,\n component: config.component,\n });\n}\n"],"mappings":";;;;AA0FA,IAAa,kBAAb,MAAa,gBAEsD;CACjE,YAAY,AAAgBA,OAAe;EAAf;;CAE5B,IAAI,OAAuB;AACzB,SAAO,KAAK,MAAM;;CAGpB,IAAI,OAAe;AACjB,SAAO;;CAGT,IAAI,YAA+B;AACjC,SAAO,KAAK,MAAM;;CAGpB,IAAI,YAAiC;AACnC,SAAO,KAAK,MAAM;;;;;;;CAQpB,QACE,QAC6D;AAC7D,SAAO,IAAI,gBAAgB;GACzB,GAAG,KAAK;GACR,WAAW,UAAU,KAAK,MAAM;GACjC,CAA+C;;;;;;AAOpD,IAAa,kBAAb,MAAa,gBAEsD;CACjE,YAAY,AAAgBA,OAAe;EAAf;;CAE5B,IAAI,OAAuB;AACzB,SAAO,KAAK,MAAM;;CAGpB,IAAI,OAAe;AACjB,SAAO;;CAGT,IAAI,YAA+B;AACjC,SAAO,KAAK,MAAM;;CAGpB,IAAI,YAAiC;AACnC,SAAO,KAAK,MAAM;;;;;;;CAQpB,QACE,QAC6D;AAC7D,SAAO,IAAI,gBAAgB;GACzB,GAAG,KAAK;GACR,WAAW,UAAU,KAAK,MAAM;GACjC,CAA+C;;;;;;;;;;;;;;;;;;;;AAyBpD,SAAgB,SAId,MACA,QAMC;AACD,QAAO,IAAI,gBAAgB;EACzB;EACA,MAAM;EACN,WAAW,EAAE;EACb,WAAW,OAAO;EACnB,CAAC;;;;;;;;;;;AAYJ,SAAgB,SAId,MACA,QAMC;AACD,QAAO,IAAI,gBAAgB;EACzB;EACA,MAAM;EACN,WAAW,EAAE;EACb,WAAW,OAAO;EACnB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"widget.d.mts","names":[],"sources":["../../../../src/client/builder/widget/widget.ts"],"sourcesContent":[],"mappings":";;;;;AAwB0C,UAfzB,gBAeyB,CAAA,cAAA,MAAA,GAAA,MAAA,EAAA,UAAA,GAAA,CAAA,CAAA;EACL,SAAA,IAAA,EAZpB,KAYoB;EAAA,SAAA,SAAA,EAAA,GAAA;EAGzB,SAAA,SAAA,CAAA,EAbW,OAaX;;AACsC,UAXjC,kBAAA,CAWiC;EAA/B,SAAA,IAAA,EAAA,MAAA;EAAd,SAAA,SAAA,EAAA,GAAA;EAAa,SAAA,SAAA,EAAA,GAAA;AAWlB;AAEqB,cAlBR,aAkBQ,CAAA,eAlBqB,kBAkBrB,CAAA,CAAA;EAEb,SAAA,KAAA,EAnB6B,MAmB7B;EACe,WAAA,CAAA,KAAA,EApBc,MAoBd;EAEf,OAAA,CAAA,UAAA,CAAA,CAAA,MAAA,EAnBI,UAmBJ,CAAA,EAlBH,aAkBG,CAlBW,WAkBX,CAlBuB,MAkBvB,EAAA,SAAA,EAlB0C,UAkB1C,CAAA,CAAA;;;;;iBAPQ,gDAEK,0BAEb;aACe;IACpB;QACK;;aAEK"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"widget.mjs","names":["state: TState"],"sources":["../../../../src/client/builder/widget/widget.ts"],"sourcesContent":["/**\n * Widget Builder\n *\n * Defines dashboard widgets.\n */\n\nimport type { SetProperty } from \"questpie/shared\";\nimport type { MaybeLazyComponent } from \"../types/common\";\n\nexport interface WidgetDefinition<\n TName extends string = string,\n TConfig = any,\n> {\n readonly name: TName;\n readonly component: any;\n readonly \"~config\"?: TConfig;\n}\n\nexport interface WidgetBuilderState {\n readonly name: string;\n readonly \"~config\": any;\n readonly component: any;\n}\n\nexport class WidgetBuilder<TState extends WidgetBuilderState> {\n constructor(public readonly state: TState) {}\n\n $config<TNewConfig>(\n config: TNewConfig,\n ): WidgetBuilder<SetProperty<TState, \"~config\", TNewConfig>> {\n return new WidgetBuilder({\n ...this.state,\n \"~config\": config,\n } as any);\n }\n}\n\n/**\n * Create a dashboard widget\n */\nexport function widget<\n TName extends string,\n TComponent extends MaybeLazyComponent,\n>(\n name: TName,\n config: { component: TComponent },\n): WidgetBuilder<{\n name: TName;\n \"~config\": any;\n component: TComponent;\n}> {\n return new WidgetBuilder({\n name,\n \"~config\": {},\n component: config.component,\n } as any);\n}\n"],"mappings":";AAwBA,IAAa,gBAAb,MAAa,cAAiD;CAC5D,YAAY,AAAgBA,OAAe;EAAf;;CAE5B,QACE,QAC2D;AAC3D,SAAO,IAAI,cAAc;GACvB,GAAG,KAAK;GACR,WAAW;GACZ,CAAQ;;;;;;AAOb,SAAgB,OAId,MACA,QAKC;AACD,QAAO,IAAI,cAAc;EACvB;EACA,WAAW,EAAE;EACb,WAAW,OAAO;EACnB,CAAQ"}
@@ -1,2 +0,0 @@
1
- import "../../builder/types/action-types.mjs";
2
- import "react";
@@ -1 +0,0 @@
1
- {"version":3,"file":"action-button.mjs","names":["React","actionQueryClient: ActionQueryClient","ctx: ActionContext<TItem>"],"sources":["../../../../src/client/components/actions/action-button.tsx"],"sourcesContent":["/**\n * Action Button\n *\n * A button component that renders an action with optional confirmation dialog.\n * Handles different action types (navigate, api, custom, dialog, form).\n */\n\n\"use client\";\n\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport * as React from \"react\";\nimport type {\n ActionContext,\n ActionDefinition,\n ActionHelpers,\n ActionQueryClient,\n} from \"../../builder/types/action-types\";\nimport { resolveIconElement } from \"../../components/component-renderer\";\nimport { useResolveText } from \"../../i18n/hooks\";\nimport { selectAuthClient, useAdminStore } from \"../../runtime/provider\";\nimport { Button } from \"../ui/button\";\nimport { ConfirmationDialog } from \"./confirmation-dialog\";\n\nexport interface ActionButtonProps<TItem = any> {\n /** Action definition */\n action: ActionDefinition<TItem>;\n /** Collection name */\n collection: string;\n /** Item for row actions */\n item?: TItem;\n /** Items for bulk actions */\n items?: TItem[];\n /** Action helpers */\n helpers: ActionHelpers;\n /** Button size */\n size?: \"default\" | \"sm\" | \"lg\" | \"icon\" | \"icon-sm\" | \"icon-lg\" | \"xs\";\n /** Additional class names */\n className?: string;\n /** Show icon only */\n iconOnly?: boolean;\n /** Callback when action dialog should open */\n onOpenDialog?: (action: ActionDefinition<TItem>) => void;\n}\n\n/**\n * ActionButton - Renders an action button with confirmation support\n *\n * @example\n * ```tsx\n * <ActionButton\n * action={deleteAction}\n * collection=\"posts\"\n * item={post}\n * helpers={actionHelpers}\n * />\n * ```\n */\nexport function ActionButton<TItem = any>({\n action,\n collection,\n item,\n items,\n helpers,\n size = \"default\",\n className,\n iconOnly = false,\n onOpenDialog,\n}: ActionButtonProps<TItem>): React.ReactElement | null {\n const resolveText = useResolveText();\n const authClient = useAdminStore(selectAuthClient);\n const queryClient = useQueryClient();\n const [showConfirm, setShowConfirm] = React.useState(false);\n const [isLoading, setIsLoading] = React.useState(false);\n\n // Wrapped query client for action context\n const actionQueryClient: ActionQueryClient = React.useMemo(\n () => ({\n invalidateQueries: (filters) => queryClient.invalidateQueries(filters),\n refetchQueries: (filters) => queryClient.refetchQueries(filters),\n resetQueries: (filters) => queryClient.resetQueries(filters),\n }),\n [queryClient],\n );\n\n // Build action context\n const ctx: ActionContext<TItem> = React.useMemo(\n () => ({\n item,\n items,\n collection,\n helpers,\n queryClient: actionQueryClient,\n authClient,\n }),\n [item, items, collection, helpers, actionQueryClient, authClient],\n );\n\n // Check visibility\n const isVisible = React.useMemo(() => {\n if (action.visible === undefined) return true;\n if (typeof action.visible === \"function\") {\n return action.visible(ctx);\n }\n return action.visible;\n }, [action.visible, ctx]);\n\n // Check disabled state\n const isDisabled = React.useMemo(() => {\n if (action.disabled === undefined) return false;\n if (typeof action.disabled === \"function\") {\n return action.disabled(ctx);\n }\n return action.disabled;\n }, [action.disabled, ctx]);\n\n if (!isVisible) return null;\n\n // Handle action execution\n const executeAction = async () => {\n const { handler } = action;\n\n switch (handler.type) {\n case \"navigate\": {\n const path =\n typeof handler.path === \"function\"\n ? handler.path(item!)\n : handler.path;\n helpers.navigate(\n `${helpers.basePath}/collections/${collection}/${path}`,\n );\n break;\n }\n\n case \"api\": {\n setIsLoading(true);\n try {\n // Build endpoint - replace {id} placeholder\n const endpoint = handler.endpoint.replace(\n \"{id}\",\n String((item as any)?.id || \"\"),\n );\n\n // This would need actual API implementation\n // For now, we'll show a placeholder\n helpers.toast.info(\n `API call: ${handler.method || \"POST\"} ${endpoint}`,\n );\n helpers.refresh();\n } catch (error) {\n helpers.toast.error(\"Action failed\");\n } finally {\n setIsLoading(false);\n }\n break;\n }\n\n case \"custom\": {\n setIsLoading(true);\n try {\n await handler.fn(ctx);\n } catch (error) {\n helpers.toast.error(\"Action failed\");\n } finally {\n setIsLoading(false);\n }\n break;\n }\n\n case \"dialog\":\n case \"form\": {\n // Open dialog through parent component\n onOpenDialog?.(action);\n break;\n }\n\n case \"server\": {\n // Server actions are handled as form/dialog if they have a form config,\n // otherwise execute directly via the action execution hook\n onOpenDialog?.(action);\n break;\n }\n }\n };\n\n // Handle button click\n const handleClick = (e: React.MouseEvent) => {\n e.stopPropagation(); // Prevent row click propagation\n\n if (action.confirmation) {\n setShowConfirm(true);\n } else {\n executeAction();\n }\n };\n\n // Handle confirmation\n const handleConfirm = async () => {\n await executeAction();\n };\n\n const iconElement = resolveIconElement(action.icon, {\n \"data-icon\": \"inline-start\",\n });\n\n return (\n <>\n <Button\n variant={action.variant || \"default\"}\n size={iconOnly ? \"icon-sm\" : size}\n onClick={handleClick}\n disabled={isDisabled || isLoading}\n className={className}\n >\n {iconElement}\n {!iconOnly && resolveText(action.label)}\n </Button>\n\n {action.confirmation && (\n <ConfirmationDialog\n open={showConfirm}\n onOpenChange={setShowConfirm}\n config={action.confirmation}\n onConfirm={handleConfirm}\n loading={isLoading}\n />\n )}\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyDA,SAAgB,aAA0B,EACxC,QACA,YACA,MACA,OACA,SACA,OAAO,WACP,WACA,WAAW,OACX,gBACsD;CACtD,MAAM,cAAc,gBAAgB;CACpC,MAAM,aAAa,cAAc,iBAAiB;CAClD,MAAM,cAAc,gBAAgB;CACpC,MAAM,CAAC,aAAa,kBAAkBA,QAAM,SAAS,MAAM;CAC3D,MAAM,CAAC,WAAW,gBAAgBA,QAAM,SAAS,MAAM;CAGvD,MAAMC,oBAAuCD,QAAM,eAC1C;EACL,oBAAoB,YAAY,YAAY,kBAAkB,QAAQ;EACtE,iBAAiB,YAAY,YAAY,eAAe,QAAQ;EAChE,eAAe,YAAY,YAAY,aAAa,QAAQ;EAC7D,GACD,CAAC,YAAY,CACd;CAGD,MAAME,MAA4BF,QAAM,eAC/B;EACL;EACA;EACA;EACA;EACA,aAAa;EACb;EACD,GACD;EAAC;EAAM;EAAO;EAAY;EAAS;EAAmB;EAAW,CAClE;CAGD,MAAM,YAAYA,QAAM,cAAc;AACpC,MAAI,OAAO,YAAY,OAAW,QAAO;AACzC,MAAI,OAAO,OAAO,YAAY,WAC5B,QAAO,OAAO,QAAQ,IAAI;AAE5B,SAAO,OAAO;IACb,CAAC,OAAO,SAAS,IAAI,CAAC;CAGzB,MAAM,aAAaA,QAAM,cAAc;AACrC,MAAI,OAAO,aAAa,OAAW,QAAO;AAC1C,MAAI,OAAO,OAAO,aAAa,WAC7B,QAAO,OAAO,SAAS,IAAI;AAE7B,SAAO,OAAO;IACb,CAAC,OAAO,UAAU,IAAI,CAAC;AAE1B,KAAI,CAAC,UAAW,QAAO;CAGvB,MAAM,gBAAgB,YAAY;EAChC,MAAM,EAAE,YAAY;AAEpB,UAAQ,QAAQ,MAAhB;GACE,KAAK,YAAY;IACf,MAAM,OACJ,OAAO,QAAQ,SAAS,aACpB,QAAQ,KAAK,KAAM,GACnB,QAAQ;AACd,YAAQ,SACN,GAAG,QAAQ,SAAS,eAAe,WAAW,GAAG,OAClD;AACD;;GAGF,KAAK;AACH,iBAAa,KAAK;AAClB,QAAI;KAEF,MAAM,WAAW,QAAQ,SAAS,QAChC,QACA,OAAQ,MAAc,MAAM,GAAG,CAChC;AAID,aAAQ,MAAM,KACZ,aAAa,QAAQ,UAAU,OAAO,GAAG,WAC1C;AACD,aAAQ,SAAS;aACV,OAAO;AACd,aAAQ,MAAM,MAAM,gBAAgB;cAC5B;AACR,kBAAa,MAAM;;AAErB;GAGF,KAAK;AACH,iBAAa,KAAK;AAClB,QAAI;AACF,WAAM,QAAQ,GAAG,IAAI;aACd,OAAO;AACd,aAAQ,MAAM,MAAM,gBAAgB;cAC5B;AACR,kBAAa,MAAM;;AAErB;GAGF,KAAK;GACL,KAAK;AAEH,mBAAe,OAAO;AACtB;GAGF,KAAK;AAGH,mBAAe,OAAO;AACtB;;;CAMN,MAAM,eAAe,MAAwB;AAC3C,IAAE,iBAAiB;AAEnB,MAAI,OAAO,aACT,gBAAe,KAAK;MAEpB,gBAAe;;CAKnB,MAAM,gBAAgB,YAAY;AAChC,QAAM,eAAe;;CAGvB,MAAM,cAAc,mBAAmB,OAAO,MAAM,EAClD,aAAa,gBACd,CAAC;AAEF,QACE,4CACE,qBAAC;EACC,SAAS,OAAO,WAAW;EAC3B,MAAM,WAAW,YAAY;EAC7B,SAAS;EACT,UAAU,cAAc;EACb;aAEV,aACA,CAAC,YAAY,YAAY,OAAO,MAAM;GAChC,EAER,OAAO,gBACN,oBAAC;EACC,MAAM;EACN,cAAc;EACd,QAAQ,OAAO;EACf,WAAW;EACX,SAAS;GACT,IAEH"}
@@ -1,2 +0,0 @@
1
- import "../../builder/types/action-types.mjs";
2
- import "react";