@questpie/admin 2.0.0 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1091) hide show
  1. package/README.md +119 -122
  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 +7 -8
  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 +4 -5
  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 +17 -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 +50 -40
  518. package/skills/questpie-admin/SKILL.md +397 -0
  519. package/skills/questpie-admin/blocks/SKILL.md +305 -0
  520. package/skills/questpie-admin/custom-ui/SKILL.md +307 -0
  521. package/skills/questpie-admin/views/SKILL.md +442 -0
  522. package/dist/_virtual/rolldown_runtime.mjs +0 -18
  523. package/dist/augmentation.d.mts.map +0 -1
  524. package/dist/client/blocks/block-registry.d.mts +0 -199
  525. package/dist/client/blocks/block-registry.d.mts.map +0 -1
  526. package/dist/client/blocks/block-registry.mjs +0 -88
  527. package/dist/client/blocks/block-registry.mjs.map +0 -1
  528. package/dist/client/blocks/block-renderer.d.mts.map +0 -1
  529. package/dist/client/blocks/block-renderer.mjs.map +0 -1
  530. package/dist/client/blocks/prefetch.d.mts +0 -45
  531. package/dist/client/blocks/prefetch.d.mts.map +0 -1
  532. package/dist/client/blocks/prefetch.mjs +0 -26
  533. package/dist/client/blocks/prefetch.mjs.map +0 -1
  534. package/dist/client/blocks/types.d.mts.map +0 -1
  535. package/dist/client/blocks/types.mjs.map +0 -1
  536. package/dist/client/builder/admin-builder.d.mts +0 -112
  537. package/dist/client/builder/admin-builder.d.mts.map +0 -1
  538. package/dist/client/builder/admin-builder.mjs +0 -185
  539. package/dist/client/builder/admin-builder.mjs.map +0 -1
  540. package/dist/client/builder/admin-types.d.mts.map +0 -1
  541. package/dist/client/builder/admin.d.mts.map +0 -1
  542. package/dist/client/builder/admin.mjs.map +0 -1
  543. package/dist/client/builder/defaults/components.mjs +0 -20
  544. package/dist/client/builder/defaults/components.mjs.map +0 -1
  545. package/dist/client/builder/defaults/core.d.mts +0 -354
  546. package/dist/client/builder/defaults/core.d.mts.map +0 -1
  547. package/dist/client/builder/defaults/core.mjs +0 -49
  548. package/dist/client/builder/defaults/core.mjs.map +0 -1
  549. package/dist/client/builder/defaults/fields.mjs +0 -328
  550. package/dist/client/builder/defaults/fields.mjs.map +0 -1
  551. package/dist/client/builder/defaults/pages.mjs +0 -58
  552. package/dist/client/builder/defaults/pages.mjs.map +0 -1
  553. package/dist/client/builder/defaults/starter.d.mts +0 -351
  554. package/dist/client/builder/defaults/starter.d.mts.map +0 -1
  555. package/dist/client/builder/defaults/starter.mjs +0 -28
  556. package/dist/client/builder/defaults/starter.mjs.map +0 -1
  557. package/dist/client/builder/defaults/views.mjs +0 -27
  558. package/dist/client/builder/defaults/views.mjs.map +0 -1
  559. package/dist/client/builder/defaults/widgets.mjs +0 -31
  560. package/dist/client/builder/defaults/widgets.mjs.map +0 -1
  561. package/dist/client/builder/field/field.d.mts.map +0 -1
  562. package/dist/client/builder/field/field.mjs.map +0 -1
  563. package/dist/client/builder/index.d.mts.map +0 -1
  564. package/dist/client/builder/page/page.d.mts.map +0 -1
  565. package/dist/client/builder/page/page.mjs.map +0 -1
  566. package/dist/client/builder/proxies.d.mts +0 -2
  567. package/dist/client/builder/proxies.mjs +0 -24
  568. package/dist/client/builder/proxies.mjs.map +0 -1
  569. package/dist/client/builder/qa.d.mts +0 -50
  570. package/dist/client/builder/qa.d.mts.map +0 -1
  571. package/dist/client/builder/qa.mjs +0 -42
  572. package/dist/client/builder/qa.mjs.map +0 -1
  573. package/dist/client/builder/registry.d.mts.map +0 -1
  574. package/dist/client/builder/types/action-registry.d.mts +0 -2
  575. package/dist/client/builder/types/action-registry.mjs.map +0 -1
  576. package/dist/client/builder/types/action-types.d.mts.map +0 -1
  577. package/dist/client/builder/types/collection-types.d.mts +0 -199
  578. package/dist/client/builder/types/collection-types.d.mts.map +0 -1
  579. package/dist/client/builder/types/collection-types.mjs.map +0 -1
  580. package/dist/client/builder/types/common.d.mts.map +0 -1
  581. package/dist/client/builder/types/field-types.d.mts.map +0 -1
  582. package/dist/client/builder/types/field-types.mjs.map +0 -1
  583. package/dist/client/builder/types/global-types.d.mts +0 -22
  584. package/dist/client/builder/types/global-types.d.mts.map +0 -1
  585. package/dist/client/builder/types/ui-config.d.mts.map +0 -1
  586. package/dist/client/builder/types/views.d.mts +0 -89
  587. package/dist/client/builder/types/views.d.mts.map +0 -1
  588. package/dist/client/builder/types/widget-types.d.mts.map +0 -1
  589. package/dist/client/builder/validation.mjs.map +0 -1
  590. package/dist/client/builder/view/view.d.mts.map +0 -1
  591. package/dist/client/builder/view/view.mjs.map +0 -1
  592. package/dist/client/builder/widget/widget.d.mts.map +0 -1
  593. package/dist/client/builder/widget/widget.mjs.map +0 -1
  594. package/dist/client/components/actions/action-button.d.mts +0 -2
  595. package/dist/client/components/actions/action-button.mjs.map +0 -1
  596. package/dist/client/components/actions/action-dialog.d.mts +0 -2
  597. package/dist/client/components/actions/action-dialog.mjs.map +0 -1
  598. package/dist/client/components/actions/confirmation-dialog.d.mts +0 -2
  599. package/dist/client/components/actions/confirmation-dialog.mjs.map +0 -1
  600. package/dist/client/components/actions/header-actions.d.mts +0 -2
  601. package/dist/client/components/actions/header-actions.mjs.map +0 -1
  602. package/dist/client/components/actions/index.d.mts +0 -4
  603. package/dist/client/components/admin-link.d.mts.map +0 -1
  604. package/dist/client/components/admin-link.mjs.map +0 -1
  605. package/dist/client/components/auth/auth-guard.d.mts.map +0 -1
  606. package/dist/client/components/auth/auth-guard.mjs.map +0 -1
  607. package/dist/client/components/auth/auth-loading.d.mts.map +0 -1
  608. package/dist/client/components/auth/auth-loading.mjs.map +0 -1
  609. package/dist/client/components/auth/index.d.mts +0 -2
  610. package/dist/client/components/blocks/block-canvas.mjs.map +0 -1
  611. package/dist/client/components/blocks/block-editor-context.mjs.map +0 -1
  612. package/dist/client/components/blocks/block-editor-layout.mjs.map +0 -1
  613. package/dist/client/components/blocks/block-editor-provider.mjs.map +0 -1
  614. package/dist/client/components/blocks/block-fields-renderer.mjs.map +0 -1
  615. package/dist/client/components/blocks/block-insert-button.mjs.map +0 -1
  616. package/dist/client/components/blocks/block-item-menu.mjs.map +0 -1
  617. package/dist/client/components/blocks/block-item.mjs.map +0 -1
  618. package/dist/client/components/blocks/block-library-sidebar.mjs.map +0 -1
  619. package/dist/client/components/blocks/block-tree.mjs.map +0 -1
  620. package/dist/client/components/blocks/block-type-icon.mjs.map +0 -1
  621. package/dist/client/components/blocks/utils/tree-utils.mjs.map +0 -1
  622. package/dist/client/components/component-renderer.d.mts.map +0 -1
  623. package/dist/client/components/component-renderer.mjs.map +0 -1
  624. package/dist/client/components/error-boundary.mjs.map +0 -1
  625. package/dist/client/components/fields/array-field.d.mts +0 -44
  626. package/dist/client/components/fields/array-field.d.mts.map +0 -1
  627. package/dist/client/components/fields/array-field.mjs.map +0 -1
  628. package/dist/client/components/fields/asset-preview-field.d.mts +0 -52
  629. package/dist/client/components/fields/asset-preview-field.d.mts.map +0 -1
  630. package/dist/client/components/fields/asset-preview-field.mjs.map +0 -1
  631. package/dist/client/components/fields/blocks-field/blocks-field.d.mts +0 -41
  632. package/dist/client/components/fields/blocks-field/blocks-field.d.mts.map +0 -1
  633. package/dist/client/components/fields/blocks-field/blocks-field.mjs.map +0 -1
  634. package/dist/client/components/fields/blocks-field/index.d.mts +0 -1
  635. package/dist/client/components/fields/boolean-field.d.mts +0 -30
  636. package/dist/client/components/fields/boolean-field.d.mts.map +0 -1
  637. package/dist/client/components/fields/boolean-field.mjs.map +0 -1
  638. package/dist/client/components/fields/custom-field.d.mts +0 -3
  639. package/dist/client/components/fields/date-field.d.mts +0 -22
  640. package/dist/client/components/fields/date-field.d.mts.map +0 -1
  641. package/dist/client/components/fields/date-field.mjs.map +0 -1
  642. package/dist/client/components/fields/datetime-field.d.mts +0 -23
  643. package/dist/client/components/fields/datetime-field.d.mts.map +0 -1
  644. package/dist/client/components/fields/datetime-field.mjs.map +0 -1
  645. package/dist/client/components/fields/email-field.d.mts +0 -19
  646. package/dist/client/components/fields/email-field.d.mts.map +0 -1
  647. package/dist/client/components/fields/email-field.mjs.map +0 -1
  648. package/dist/client/components/fields/embedded-collection.d.mts +0 -3
  649. package/dist/client/components/fields/field-types.d.mts +0 -571
  650. package/dist/client/components/fields/field-types.d.mts.map +0 -1
  651. package/dist/client/components/fields/field-utils.d.mts +0 -1
  652. package/dist/client/components/fields/field-utils.mjs.map +0 -1
  653. package/dist/client/components/fields/field-wrapper.d.mts +0 -3
  654. package/dist/client/components/fields/field-wrapper.mjs.map +0 -1
  655. package/dist/client/components/fields/index.d.mts +0 -33
  656. package/dist/client/components/fields/json-field.d.mts +0 -84
  657. package/dist/client/components/fields/json-field.d.mts.map +0 -1
  658. package/dist/client/components/fields/json-field.mjs.map +0 -1
  659. package/dist/client/components/fields/locale-badge.d.mts +0 -1
  660. package/dist/client/components/fields/locale-badge.mjs.map +0 -1
  661. package/dist/client/components/fields/number-field.d.mts +0 -23
  662. package/dist/client/components/fields/number-field.d.mts.map +0 -1
  663. package/dist/client/components/fields/number-field.mjs.map +0 -1
  664. package/dist/client/components/fields/object-array-field.d.mts +0 -2
  665. package/dist/client/components/fields/object-array-field.mjs.map +0 -1
  666. package/dist/client/components/fields/object-field.d.mts +0 -32
  667. package/dist/client/components/fields/object-field.d.mts.map +0 -1
  668. package/dist/client/components/fields/object-field.mjs.map +0 -1
  669. package/dist/client/components/fields/relation/displays/cards-display.d.mts +0 -2
  670. package/dist/client/components/fields/relation/displays/cards-display.mjs.map +0 -1
  671. package/dist/client/components/fields/relation/displays/chips-display.d.mts +0 -2
  672. package/dist/client/components/fields/relation/displays/chips-display.mjs.map +0 -1
  673. package/dist/client/components/fields/relation/displays/grid-display.d.mts +0 -2
  674. package/dist/client/components/fields/relation/displays/grid-display.mjs.map +0 -1
  675. package/dist/client/components/fields/relation/displays/index.d.mts +0 -6
  676. package/dist/client/components/fields/relation/displays/list-display.d.mts +0 -2
  677. package/dist/client/components/fields/relation/displays/list-display.mjs.map +0 -1
  678. package/dist/client/components/fields/relation/displays/table-display.d.mts +0 -2
  679. package/dist/client/components/fields/relation/displays/table-display.mjs.map +0 -1
  680. package/dist/client/components/fields/relation/displays/types.d.mts +0 -22
  681. package/dist/client/components/fields/relation/displays/types.d.mts.map +0 -1
  682. package/dist/client/components/fields/relation/displays/types.mjs.map +0 -1
  683. package/dist/client/components/fields/relation/index.d.mts +0 -3
  684. package/dist/client/components/fields/relation/relation-items-display.d.mts +0 -5
  685. package/dist/client/components/fields/relation/relation-items-display.mjs.map +0 -1
  686. package/dist/client/components/fields/relation-field.d.mts +0 -134
  687. package/dist/client/components/fields/relation-field.d.mts.map +0 -1
  688. package/dist/client/components/fields/relation-field.mjs.map +0 -1
  689. package/dist/client/components/fields/relation-picker.d.mts +0 -4
  690. package/dist/client/components/fields/relation-picker.mjs.map +0 -1
  691. package/dist/client/components/fields/relation-select.d.mts +0 -3
  692. package/dist/client/components/fields/relation-select.mjs.map +0 -1
  693. package/dist/client/components/fields/reverse-relation-field.d.mts +0 -2
  694. package/dist/client/components/fields/rich-text-editor/bubble-menu.mjs.map +0 -1
  695. package/dist/client/components/fields/rich-text-editor/extensions.mjs.map +0 -1
  696. package/dist/client/components/fields/rich-text-editor/image-popover.mjs.map +0 -1
  697. package/dist/client/components/fields/rich-text-editor/index.d.mts +0 -4
  698. package/dist/client/components/fields/rich-text-editor/index.mjs.map +0 -1
  699. package/dist/client/components/fields/rich-text-editor/link-popover.mjs.map +0 -1
  700. package/dist/client/components/fields/rich-text-editor/presets.d.mts +0 -11
  701. package/dist/client/components/fields/rich-text-editor/presets.d.mts.map +0 -1
  702. package/dist/client/components/fields/rich-text-editor/presets.mjs.map +0 -1
  703. package/dist/client/components/fields/rich-text-editor/slash-commands.mjs.map +0 -1
  704. package/dist/client/components/fields/rich-text-editor/table-controls.mjs.map +0 -1
  705. package/dist/client/components/fields/rich-text-editor/toolbar.mjs.map +0 -1
  706. package/dist/client/components/fields/rich-text-editor/types.d.mts +0 -78
  707. package/dist/client/components/fields/rich-text-editor/types.d.mts.map +0 -1
  708. package/dist/client/components/fields/rich-text-editor/types.mjs.map +0 -1
  709. package/dist/client/components/fields/rich-text-editor/utils.mjs.map +0 -1
  710. package/dist/client/components/fields/rich-text-editor/variants.d.mts +0 -2
  711. package/dist/client/components/fields/rich-text-field.d.mts +0 -14
  712. package/dist/client/components/fields/rich-text-field.d.mts.map +0 -1
  713. package/dist/client/components/fields/rich-text-field.mjs.map +0 -1
  714. package/dist/client/components/fields/select-field.d.mts +0 -25
  715. package/dist/client/components/fields/select-field.d.mts.map +0 -1
  716. package/dist/client/components/fields/select-field.mjs.map +0 -1
  717. package/dist/client/components/fields/status-field.d.mts +0 -2
  718. package/dist/client/components/fields/text-field.d.mts +0 -22
  719. package/dist/client/components/fields/text-field.d.mts.map +0 -1
  720. package/dist/client/components/fields/text-field.mjs.map +0 -1
  721. package/dist/client/components/fields/textarea-field.d.mts +0 -22
  722. package/dist/client/components/fields/textarea-field.d.mts.map +0 -1
  723. package/dist/client/components/fields/textarea-field.mjs.map +0 -1
  724. package/dist/client/components/fields/time-field.d.mts +0 -20
  725. package/dist/client/components/fields/time-field.d.mts.map +0 -1
  726. package/dist/client/components/fields/time-field.mjs.map +0 -1
  727. package/dist/client/components/fields/upload-field.d.mts +0 -97
  728. package/dist/client/components/fields/upload-field.d.mts.map +0 -1
  729. package/dist/client/components/fields/upload-field.mjs.map +0 -1
  730. package/dist/client/components/filter-builder/columns-tab.d.mts +0 -1
  731. package/dist/client/components/filter-builder/columns-tab.mjs.map +0 -1
  732. package/dist/client/components/filter-builder/filter-builder-sheet.d.mts +0 -1
  733. package/dist/client/components/filter-builder/filter-builder-sheet.mjs.map +0 -1
  734. package/dist/client/components/filter-builder/filters-tab.d.mts +0 -1
  735. package/dist/client/components/filter-builder/filters-tab.mjs.map +0 -1
  736. package/dist/client/components/filter-builder/index.d.mts +0 -5
  737. package/dist/client/components/filter-builder/saved-views-tab.d.mts +0 -1
  738. package/dist/client/components/filter-builder/saved-views-tab.mjs.map +0 -1
  739. package/dist/client/components/index.d.mts +0 -80
  740. package/dist/client/components/locale-switcher.d.mts +0 -2
  741. package/dist/client/components/locale-switcher.mjs.map +0 -1
  742. package/dist/client/components/media/media-grid.mjs.map +0 -1
  743. package/dist/client/components/media/media-picker-dialog.mjs.map +0 -1
  744. package/dist/client/components/preview/live-preview-mode.mjs.map +0 -1
  745. package/dist/client/components/preview/preview-pane.mjs.map +0 -1
  746. package/dist/client/components/primitives/asset-preview.mjs.map +0 -1
  747. package/dist/client/components/primitives/checkbox-input.mjs.map +0 -1
  748. package/dist/client/components/primitives/date-input.mjs.map +0 -1
  749. package/dist/client/components/primitives/dropzone.mjs.map +0 -1
  750. package/dist/client/components/primitives/number-input.mjs.map +0 -1
  751. package/dist/client/components/primitives/select-multi.mjs.map +0 -1
  752. package/dist/client/components/primitives/select-single.mjs.map +0 -1
  753. package/dist/client/components/primitives/text-input.mjs.map +0 -1
  754. package/dist/client/components/primitives/textarea-input.mjs.map +0 -1
  755. package/dist/client/components/primitives/time-input.mjs.map +0 -1
  756. package/dist/client/components/primitives/toggle-input.mjs.map +0 -1
  757. package/dist/client/components/primitives/types.d.mts +0 -14
  758. package/dist/client/components/primitives/types.d.mts.map +0 -1
  759. package/dist/client/components/primitives/types.mjs.map +0 -1
  760. package/dist/client/components/sheets/index.d.mts +0 -1
  761. package/dist/client/components/sheets/resource-sheet.d.mts +0 -1
  762. package/dist/client/components/sheets/resource-sheet.mjs.map +0 -1
  763. package/dist/client/components/ui/accordion.d.mts +0 -2
  764. package/dist/client/components/ui/accordion.mjs.map +0 -1
  765. package/dist/client/components/ui/alert.mjs.map +0 -1
  766. package/dist/client/components/ui/avatar.d.mts +0 -3
  767. package/dist/client/components/ui/badge.d.mts +0 -3
  768. package/dist/client/components/ui/badge.mjs.map +0 -1
  769. package/dist/client/components/ui/button.d.mts +0 -3
  770. package/dist/client/components/ui/button.mjs.map +0 -1
  771. package/dist/client/components/ui/card.d.mts +0 -2
  772. package/dist/client/components/ui/card.mjs.map +0 -1
  773. package/dist/client/components/ui/checkbox.d.mts +0 -2
  774. package/dist/client/components/ui/checkbox.mjs.map +0 -1
  775. package/dist/client/components/ui/combobox.d.mts +0 -3
  776. package/dist/client/components/ui/command.mjs.map +0 -1
  777. package/dist/client/components/ui/dialog.d.mts +0 -3
  778. package/dist/client/components/ui/dialog.mjs.map +0 -1
  779. package/dist/client/components/ui/drawer.mjs.map +0 -1
  780. package/dist/client/components/ui/dropdown-menu.d.mts +0 -3
  781. package/dist/client/components/ui/dropdown-menu.mjs.map +0 -1
  782. package/dist/client/components/ui/empty-state.mjs.map +0 -1
  783. package/dist/client/components/ui/field.d.mts +0 -3
  784. package/dist/client/components/ui/field.mjs.map +0 -1
  785. package/dist/client/components/ui/input-group.d.mts +0 -4
  786. package/dist/client/components/ui/input-group.mjs.map +0 -1
  787. package/dist/client/components/ui/input.d.mts +0 -2
  788. package/dist/client/components/ui/input.mjs.map +0 -1
  789. package/dist/client/components/ui/kbd.mjs.map +0 -1
  790. package/dist/client/components/ui/label.d.mts +0 -2
  791. package/dist/client/components/ui/label.mjs.map +0 -1
  792. package/dist/client/components/ui/popover.d.mts +0 -3
  793. package/dist/client/components/ui/popover.mjs.map +0 -1
  794. package/dist/client/components/ui/responsive-dialog.mjs.map +0 -1
  795. package/dist/client/components/ui/scroll-area.d.mts +0 -2
  796. package/dist/client/components/ui/search-input.mjs.map +0 -1
  797. package/dist/client/components/ui/select.d.mts +0 -3
  798. package/dist/client/components/ui/select.mjs.map +0 -1
  799. package/dist/client/components/ui/separator.d.mts +0 -2
  800. package/dist/client/components/ui/separator.mjs.map +0 -1
  801. package/dist/client/components/ui/sheet.d.mts +0 -3
  802. package/dist/client/components/ui/sheet.mjs.map +0 -1
  803. package/dist/client/components/ui/sidebar.d.mts +0 -8
  804. package/dist/client/components/ui/sidebar.mjs.map +0 -1
  805. package/dist/client/components/ui/skeleton.d.mts +0 -1
  806. package/dist/client/components/ui/skeleton.mjs.map +0 -1
  807. package/dist/client/components/ui/sonner.d.mts.map +0 -1
  808. package/dist/client/components/ui/sonner.mjs.map +0 -1
  809. package/dist/client/components/ui/spinner.d.mts +0 -1
  810. package/dist/client/components/ui/spinner.mjs.map +0 -1
  811. package/dist/client/components/ui/switch.d.mts +0 -2
  812. package/dist/client/components/ui/switch.mjs.map +0 -1
  813. package/dist/client/components/ui/table.d.mts +0 -2
  814. package/dist/client/components/ui/table.mjs.map +0 -1
  815. package/dist/client/components/ui/tabs.d.mts +0 -3
  816. package/dist/client/components/ui/tabs.mjs.map +0 -1
  817. package/dist/client/components/ui/textarea.d.mts +0 -2
  818. package/dist/client/components/ui/textarea.mjs.map +0 -1
  819. package/dist/client/components/ui/toolbar.mjs.map +0 -1
  820. package/dist/client/components/ui/tooltip.d.mts +0 -2
  821. package/dist/client/components/ui/tooltip.mjs.map +0 -1
  822. package/dist/client/components/widgets/chart-widget.d.mts +0 -57
  823. package/dist/client/components/widgets/chart-widget.d.mts.map +0 -1
  824. package/dist/client/components/widgets/chart-widget.mjs.map +0 -1
  825. package/dist/client/components/widgets/progress-widget.d.mts +0 -41
  826. package/dist/client/components/widgets/progress-widget.d.mts.map +0 -1
  827. package/dist/client/components/widgets/progress-widget.mjs.map +0 -1
  828. package/dist/client/components/widgets/quick-actions-widget.d.mts +0 -29
  829. package/dist/client/components/widgets/quick-actions-widget.d.mts.map +0 -1
  830. package/dist/client/components/widgets/quick-actions-widget.mjs.map +0 -1
  831. package/dist/client/components/widgets/recent-items-widget.d.mts +0 -51
  832. package/dist/client/components/widgets/recent-items-widget.d.mts.map +0 -1
  833. package/dist/client/components/widgets/recent-items-widget.mjs.map +0 -1
  834. package/dist/client/components/widgets/stats-widget.d.mts +0 -55
  835. package/dist/client/components/widgets/stats-widget.d.mts.map +0 -1
  836. package/dist/client/components/widgets/stats-widget.mjs.map +0 -1
  837. package/dist/client/components/widgets/table-widget.d.mts +0 -31
  838. package/dist/client/components/widgets/table-widget.d.mts.map +0 -1
  839. package/dist/client/components/widgets/table-widget.mjs.map +0 -1
  840. package/dist/client/components/widgets/timeline-widget.d.mts +0 -51
  841. package/dist/client/components/widgets/timeline-widget.d.mts.map +0 -1
  842. package/dist/client/components/widgets/timeline-widget.mjs.map +0 -1
  843. package/dist/client/components/widgets/value-widget.d.mts +0 -39
  844. package/dist/client/components/widgets/value-widget.d.mts.map +0 -1
  845. package/dist/client/components/widgets/value-widget.mjs.map +0 -1
  846. package/dist/client/components/widgets/widget-skeletons.mjs.map +0 -1
  847. package/dist/client/context/focus-context.d.mts.map +0 -1
  848. package/dist/client/context/focus-context.mjs.map +0 -1
  849. package/dist/client/contexts/breadcrumb-context.mjs.map +0 -1
  850. package/dist/client/hooks/typed-hooks.d.mts.map +0 -1
  851. package/dist/client/hooks/typed-hooks.mjs.map +0 -1
  852. package/dist/client/hooks/use-action.mjs.map +0 -1
  853. package/dist/client/hooks/use-admin-config.mjs.map +0 -1
  854. package/dist/client/hooks/use-admin-preferences.mjs.map +0 -1
  855. package/dist/client/hooks/use-admin-routes.mjs.map +0 -1
  856. package/dist/client/hooks/use-auth.d.mts.map +0 -1
  857. package/dist/client/hooks/use-auth.mjs.map +0 -1
  858. package/dist/client/hooks/use-collection-fields.mjs.map +0 -1
  859. package/dist/client/hooks/use-collection-meta.mjs.map +0 -1
  860. package/dist/client/hooks/use-collection-schema.mjs.map +0 -1
  861. package/dist/client/hooks/use-collection-validation.mjs.map +0 -1
  862. package/dist/client/hooks/use-collection.d.mts.map +0 -1
  863. package/dist/client/hooks/use-collection.mjs.map +0 -1
  864. package/dist/client/hooks/use-current-user.d.mts.map +0 -1
  865. package/dist/client/hooks/use-current-user.mjs.map +0 -1
  866. package/dist/client/hooks/use-field-hooks.mjs.map +0 -1
  867. package/dist/client/hooks/use-field-options.d.mts.map +0 -1
  868. package/dist/client/hooks/use-field-options.mjs.map +0 -1
  869. package/dist/client/hooks/use-global-fields.mjs.map +0 -1
  870. package/dist/client/hooks/use-global-meta.mjs.map +0 -1
  871. package/dist/client/hooks/use-global-schema.mjs.map +0 -1
  872. package/dist/client/hooks/use-global.d.mts.map +0 -1
  873. package/dist/client/hooks/use-global.mjs.map +0 -1
  874. package/dist/client/hooks/use-locks.mjs.map +0 -1
  875. package/dist/client/hooks/use-media-query.d.mts.map +0 -1
  876. package/dist/client/hooks/use-media-query.mjs.map +0 -1
  877. package/dist/client/hooks/use-prefill-params.mjs.map +0 -1
  878. package/dist/client/hooks/use-questpie-query-options.mjs.map +0 -1
  879. package/dist/client/hooks/use-reactive-fields.d.mts.map +0 -1
  880. package/dist/client/hooks/use-reactive-fields.mjs.map +0 -1
  881. package/dist/client/hooks/use-realtime-highlight.mjs.map +0 -1
  882. package/dist/client/hooks/use-saved-views.mjs.map +0 -1
  883. package/dist/client/hooks/use-search.mjs.map +0 -1
  884. package/dist/client/hooks/use-server-validation.mjs.map +0 -1
  885. package/dist/client/hooks/use-server-widget-data.d.mts.map +0 -1
  886. package/dist/client/hooks/use-server-widget-data.mjs.map +0 -1
  887. package/dist/client/hooks/use-setup-status.d.mts.map +0 -1
  888. package/dist/client/hooks/use-setup-status.mjs.map +0 -1
  889. package/dist/client/hooks/use-upload-collection.mjs.map +0 -1
  890. package/dist/client/hooks/use-upload.d.mts +0 -23
  891. package/dist/client/hooks/use-upload.d.mts.map +0 -1
  892. package/dist/client/hooks/use-upload.mjs.map +0 -1
  893. package/dist/client/hooks/use-validation-error-map.mjs.map +0 -1
  894. package/dist/client/hooks/use-view-state.mjs.map +0 -1
  895. package/dist/client/i18n/hooks.mjs.map +0 -1
  896. package/dist/client/i18n/intl-cache.mjs.map +0 -1
  897. package/dist/client/i18n/messages.mjs.map +0 -1
  898. package/dist/client/i18n/simple.d.mts.map +0 -1
  899. package/dist/client/i18n/simple.mjs.map +0 -1
  900. package/dist/client/i18n/types.d.mts.map +0 -1
  901. package/dist/client/lib/utils.d.mts +0 -1
  902. package/dist/client/lib/utils.mjs.map +0 -1
  903. package/dist/client/preview/block-scope-context.d.mts.map +0 -1
  904. package/dist/client/preview/block-scope-context.mjs.map +0 -1
  905. package/dist/client/preview/preview-banner.d.mts.map +0 -1
  906. package/dist/client/preview/preview-banner.mjs.map +0 -1
  907. package/dist/client/preview/preview-field.d.mts.map +0 -1
  908. package/dist/client/preview/preview-field.mjs.map +0 -1
  909. package/dist/client/preview/types.d.mts.map +0 -1
  910. package/dist/client/preview/types.mjs.map +0 -1
  911. package/dist/client/preview/use-collection-preview.d.mts.map +0 -1
  912. package/dist/client/preview/use-collection-preview.mjs.map +0 -1
  913. package/dist/client/runtime/content-locales-provider.mjs.map +0 -1
  914. package/dist/client/runtime/locale-scope.mjs.map +0 -1
  915. package/dist/client/runtime/provider.d.mts.map +0 -1
  916. package/dist/client/runtime/provider.mjs.map +0 -1
  917. package/dist/client/runtime/routes.d.mts.map +0 -1
  918. package/dist/client/runtime/routes.mjs.map +0 -1
  919. package/dist/client/runtime/translations-provider.d.mts +0 -2
  920. package/dist/client/runtime/translations-provider.mjs.map +0 -1
  921. package/dist/client/scope/picker.d.mts.map +0 -1
  922. package/dist/client/scope/picker.mjs.map +0 -1
  923. package/dist/client/scope/provider.d.mts.map +0 -1
  924. package/dist/client/scope/provider.mjs.map +0 -1
  925. package/dist/client/scope/types.d.mts.map +0 -1
  926. package/dist/client/utils/auto-expand-fields.mjs.map +0 -1
  927. package/dist/client/utils/build-field-definitions-from-schema.mjs.map +0 -1
  928. package/dist/client/utils/detect-relations.mjs.map +0 -1
  929. package/dist/client/utils/locale-to-flag.d.mts.map +0 -1
  930. package/dist/client/utils/locale-to-flag.mjs.map +0 -1
  931. package/dist/client/utils/routes.mjs.map +0 -1
  932. package/dist/client/views/auth/accept-invite-form.d.mts.map +0 -1
  933. package/dist/client/views/auth/accept-invite-form.mjs.map +0 -1
  934. package/dist/client/views/auth/auth-layout.d.mts.map +0 -1
  935. package/dist/client/views/auth/auth-layout.mjs.map +0 -1
  936. package/dist/client/views/auth/forgot-password-form.d.mts.map +0 -1
  937. package/dist/client/views/auth/forgot-password-form.mjs.map +0 -1
  938. package/dist/client/views/auth/index.d.mts +0 -7
  939. package/dist/client/views/auth/invite-form.d.mts +0 -1
  940. package/dist/client/views/auth/invite-form.mjs.map +0 -1
  941. package/dist/client/views/auth/login-form.d.mts.map +0 -1
  942. package/dist/client/views/auth/login-form.mjs.map +0 -1
  943. package/dist/client/views/auth/reset-password-form.d.mts.map +0 -1
  944. package/dist/client/views/auth/reset-password-form.mjs.map +0 -1
  945. package/dist/client/views/auth/setup-form.d.mts.map +0 -1
  946. package/dist/client/views/auth/setup-form.mjs.map +0 -1
  947. package/dist/client/views/collection/auto-form-fields.d.mts +0 -4
  948. package/dist/client/views/collection/auto-form-fields.mjs.map +0 -1
  949. package/dist/client/views/collection/bulk-action-toolbar.mjs.map +0 -1
  950. package/dist/client/views/collection/cells/complex-cells.d.mts +0 -46
  951. package/dist/client/views/collection/cells/complex-cells.d.mts.map +0 -1
  952. package/dist/client/views/collection/cells/complex-cells.mjs.map +0 -1
  953. package/dist/client/views/collection/cells/index.d.mts +0 -7
  954. package/dist/client/views/collection/cells/primitive-cells.d.mts +0 -76
  955. package/dist/client/views/collection/cells/primitive-cells.d.mts.map +0 -1
  956. package/dist/client/views/collection/cells/primitive-cells.mjs.map +0 -1
  957. package/dist/client/views/collection/cells/relation-cells.d.mts +0 -21
  958. package/dist/client/views/collection/cells/relation-cells.d.mts.map +0 -1
  959. package/dist/client/views/collection/cells/relation-cells.mjs.map +0 -1
  960. package/dist/client/views/collection/cells/shared/asset-thumbnail.d.mts +0 -1
  961. package/dist/client/views/collection/cells/shared/asset-thumbnail.mjs.map +0 -1
  962. package/dist/client/views/collection/cells/shared/cell-helpers.d.mts +0 -2
  963. package/dist/client/views/collection/cells/shared/cell-helpers.mjs.map +0 -1
  964. package/dist/client/views/collection/cells/shared/relation-chip.d.mts +0 -1
  965. package/dist/client/views/collection/cells/shared/relation-chip.mjs.map +0 -1
  966. package/dist/client/views/collection/cells/upload-cells.d.mts +0 -25
  967. package/dist/client/views/collection/cells/upload-cells.d.mts.map +0 -1
  968. package/dist/client/views/collection/cells/upload-cells.mjs.map +0 -1
  969. package/dist/client/views/collection/columns/build-columns.d.mts +0 -2
  970. package/dist/client/views/collection/columns/build-columns.mjs.map +0 -1
  971. package/dist/client/views/collection/columns/column-defaults.d.mts +0 -2
  972. package/dist/client/views/collection/columns/column-defaults.mjs.map +0 -1
  973. package/dist/client/views/collection/columns/index.d.mts +0 -3
  974. package/dist/client/views/collection/columns/types.d.mts +0 -2
  975. package/dist/client/views/collection/field-context.mjs.map +0 -1
  976. package/dist/client/views/collection/field-renderer.mjs.map +0 -1
  977. package/dist/client/views/collection/form-view.d.mts +0 -112
  978. package/dist/client/views/collection/form-view.d.mts.map +0 -1
  979. package/dist/client/views/collection/form-view.mjs.map +0 -1
  980. package/dist/client/views/collection/index.d.mts +0 -9
  981. package/dist/client/views/collection/table-view.d.mts +0 -102
  982. package/dist/client/views/collection/table-view.d.mts.map +0 -1
  983. package/dist/client/views/collection/table-view.mjs.map +0 -1
  984. package/dist/client/views/collection/view-skeletons.mjs.map +0 -1
  985. package/dist/client/views/common/global-search.d.mts +0 -1
  986. package/dist/client/views/common/global-search.mjs.map +0 -1
  987. package/dist/client/views/common/index.d.mts +0 -1
  988. package/dist/client/views/dashboard/dashboard-grid.mjs.map +0 -1
  989. package/dist/client/views/dashboard/dashboard-widget.mjs.map +0 -1
  990. package/dist/client/views/dashboard/widget-card.mjs.map +0 -1
  991. package/dist/client/views/globals/global-form-view.d.mts +0 -74
  992. package/dist/client/views/globals/global-form-view.d.mts.map +0 -1
  993. package/dist/client/views/globals/global-form-view.mjs.map +0 -1
  994. package/dist/client/views/index.d.mts +0 -28
  995. package/dist/client/views/layout/admin-layout-provider.d.mts.map +0 -1
  996. package/dist/client/views/layout/admin-layout-provider.mjs.map +0 -1
  997. package/dist/client/views/layout/admin-layout.d.mts.map +0 -1
  998. package/dist/client/views/layout/admin-layout.mjs.map +0 -1
  999. package/dist/client/views/layout/admin-root.d.mts +0 -7
  1000. package/dist/client/views/layout/admin-router.d.mts.map +0 -1
  1001. package/dist/client/views/layout/admin-router.mjs.map +0 -1
  1002. package/dist/client/views/layout/admin-sidebar.d.mts.map +0 -1
  1003. package/dist/client/views/layout/admin-sidebar.mjs.map +0 -1
  1004. package/dist/client/views/layout/admin-topbar.mjs.map +0 -1
  1005. package/dist/client/views/layout/index.d.mts +0 -5
  1006. package/dist/client/views/pages/accept-invite-page.d.mts.map +0 -1
  1007. package/dist/client/views/pages/accept-invite-page.mjs.map +0 -1
  1008. package/dist/client/views/pages/dashboard-page.d.mts.map +0 -1
  1009. package/dist/client/views/pages/dashboard-page.mjs.map +0 -1
  1010. package/dist/client/views/pages/forgot-password-page.d.mts.map +0 -1
  1011. package/dist/client/views/pages/forgot-password-page.mjs.map +0 -1
  1012. package/dist/client/views/pages/index.d.mts +0 -7
  1013. package/dist/client/views/pages/invite-page.d.mts.map +0 -1
  1014. package/dist/client/views/pages/invite-page.mjs.map +0 -1
  1015. package/dist/client/views/pages/login-page.d.mts.map +0 -1
  1016. package/dist/client/views/pages/login-page.mjs.map +0 -1
  1017. package/dist/client/views/pages/reset-password-page.d.mts.map +0 -1
  1018. package/dist/client/views/pages/reset-password-page.mjs.map +0 -1
  1019. package/dist/client/views/pages/setup-page.d.mts.map +0 -1
  1020. package/dist/client/views/pages/setup-page.mjs.map +0 -1
  1021. package/dist/client.d.mts.map +0 -1
  1022. package/dist/components/rich-text/rich-text-renderer.d.mts.map +0 -1
  1023. package/dist/components/rich-text/rich-text-renderer.mjs.map +0 -1
  1024. package/dist/server/adapters/nextjs.d.mts.map +0 -1
  1025. package/dist/server/adapters/nextjs.mjs.map +0 -1
  1026. package/dist/server/adapters/tanstack.d.mts.map +0 -1
  1027. package/dist/server/adapters/tanstack.mjs.map +0 -1
  1028. package/dist/server/augmentation.d.mts.map +0 -1
  1029. package/dist/server/auth-helpers.d.mts.map +0 -1
  1030. package/dist/server/auth-helpers.mjs.map +0 -1
  1031. package/dist/server/block/block-builder.d.mts.map +0 -1
  1032. package/dist/server/block/block-builder.mjs.map +0 -1
  1033. package/dist/server/block/introspection.d.mts.map +0 -1
  1034. package/dist/server/block/introspection.mjs.map +0 -1
  1035. package/dist/server/block/prefetch.d.mts.map +0 -1
  1036. package/dist/server/block/prefetch.mjs.map +0 -1
  1037. package/dist/server/fields/blocks.d.mts.map +0 -1
  1038. package/dist/server/fields/blocks.mjs.map +0 -1
  1039. package/dist/server/fields/index.d.mts.map +0 -1
  1040. package/dist/server/fields/index.mjs.map +0 -1
  1041. package/dist/server/fields/rich-text.d.mts.map +0 -1
  1042. package/dist/server/fields/rich-text.mjs.map +0 -1
  1043. package/dist/server/i18n/index.d.mts +0 -16
  1044. package/dist/server/i18n/index.d.mts.map +0 -1
  1045. package/dist/server/i18n/index.mjs.map +0 -1
  1046. package/dist/server/i18n/messages/cs.mjs.map +0 -1
  1047. package/dist/server/i18n/messages/de.mjs.map +0 -1
  1048. package/dist/server/i18n/messages/en.mjs.map +0 -1
  1049. package/dist/server/i18n/messages/es.mjs.map +0 -1
  1050. package/dist/server/i18n/messages/fr.mjs.map +0 -1
  1051. package/dist/server/i18n/messages/index.mjs.map +0 -1
  1052. package/dist/server/i18n/messages/pl.mjs.map +0 -1
  1053. package/dist/server/i18n/messages/pt.mjs.map +0 -1
  1054. package/dist/server/i18n/messages/sk.mjs.map +0 -1
  1055. package/dist/server/index.d.mts +0 -20
  1056. package/dist/server/modules/admin/functions/admin-config.mjs +0 -348
  1057. package/dist/server/modules/admin/functions/admin-config.mjs.map +0 -1
  1058. package/dist/server/modules/admin/functions/execute-action.d.mts.map +0 -1
  1059. package/dist/server/modules/admin/functions/execute-action.mjs.map +0 -1
  1060. package/dist/server/modules/admin/functions/locales.mjs +0 -80
  1061. package/dist/server/modules/admin/functions/locales.mjs.map +0 -1
  1062. package/dist/server/modules/admin/functions/preview.d.mts.map +0 -1
  1063. package/dist/server/modules/admin/functions/preview.mjs.map +0 -1
  1064. package/dist/server/modules/admin/functions/reactive.d.mts.map +0 -1
  1065. package/dist/server/modules/admin/functions/reactive.mjs.map +0 -1
  1066. package/dist/server/modules/admin/functions/setup.d.mts.map +0 -1
  1067. package/dist/server/modules/admin/functions/setup.mjs +0 -131
  1068. package/dist/server/modules/admin/functions/setup.mjs.map +0 -1
  1069. package/dist/server/modules/admin/functions/translations.mjs +0 -125
  1070. package/dist/server/modules/admin/functions/translations.mjs.map +0 -1
  1071. package/dist/server/modules/admin/functions/widget-data.d.mts +0 -33
  1072. package/dist/server/modules/admin/functions/widget-data.d.mts.map +0 -1
  1073. package/dist/server/modules/admin/functions/widget-data.mjs +0 -70
  1074. package/dist/server/modules/admin/functions/widget-data.mjs.map +0 -1
  1075. package/dist/server/modules/admin/index.d.mts.map +0 -1
  1076. package/dist/server/modules/admin/index.mjs.map +0 -1
  1077. package/dist/server/modules/admin-preferences/collections/admin-preferences.collection.d.mts +0 -3
  1078. package/dist/server/modules/admin-preferences/collections/admin-preferences.collection.mjs.map +0 -1
  1079. package/dist/server/modules/admin-preferences/collections/locks.collection.d.mts +0 -3
  1080. package/dist/server/modules/admin-preferences/collections/locks.collection.mjs.map +0 -1
  1081. package/dist/server/modules/admin-preferences/collections/saved-views.collection.d.mts +0 -1490
  1082. package/dist/server/modules/admin-preferences/collections/saved-views.collection.d.mts.map +0 -1
  1083. package/dist/server/modules/admin-preferences/collections/saved-views.collection.mjs +0 -57
  1084. package/dist/server/modules/admin-preferences/collections/saved-views.collection.mjs.map +0 -1
  1085. package/dist/server/patch.d.mts +0 -100
  1086. package/dist/server/patch.d.mts.map +0 -1
  1087. package/dist/server/patch.mjs +0 -1062
  1088. package/dist/server/patch.mjs.map +0 -1
  1089. package/dist/shared/preview-utils.d.mts.map +0 -1
  1090. package/dist/shared/preview-utils.mjs.map +0 -1
  1091. package/dist/shared/types/saved-views.types.d.mts.map +0 -1
@@ -1,88 +0,0 @@
1
- import { jsx } from "react/jsx-runtime";
2
-
3
- //#region src/client/blocks/block-registry.tsx
4
- /**
5
- * Internal class implementing BlockRegistry.
6
- */
7
- var BlockRegistryImpl = class BlockRegistryImpl {
8
- constructor(renderers = {}) {
9
- this.renderers = renderers;
10
- }
11
- register(blockName, definition) {
12
- return new BlockRegistryImpl({
13
- ...this.renderers,
14
- [blockName]: definition
15
- });
16
- }
17
- getRenderer(blockName) {
18
- return this.renderers[blockName];
19
- }
20
- hasRenderer(blockName) {
21
- return blockName in this.renderers;
22
- }
23
- getBlockNames() {
24
- return Object.keys(this.renderers);
25
- }
26
- renderBlock(blockName, props, children) {
27
- const renderer = this.getRenderer(blockName);
28
- if (!renderer) {
29
- console.warn(`No renderer registered for block type: ${blockName}`);
30
- return null;
31
- }
32
- const Component = renderer.component;
33
- return /* @__PURE__ */ jsx(Component, {
34
- ...props,
35
- children
36
- });
37
- }
38
- };
39
- /**
40
- * Create a new type-safe block renderer registry.
41
- *
42
- * The registry infers block value types from the server CMS type,
43
- * ensuring type safety without duplicating schema definitions.
44
- *
45
- * @template TCMS - Server CMS type (e.g., `typeof cms` or `AppCMS`)
46
- *
47
- * @example
48
- * ```ts
49
- * import { createBlockRegistry } from "@questpie/admin/client";
50
- * import type { AppCMS } from "@/server/cms";
51
- *
52
- * // Create typed registry
53
- * export const blockRenderers = createBlockRegistry<AppCMS>()
54
- * .register("hero", {
55
- * // values is typed: { title: string, subtitle?: string, ... }
56
- * // data is typed from prefetch return type
57
- * component: ({ values, data }) => (
58
- * <section>
59
- * <h1>{values.title}</h1>
60
- * {values.subtitle && <p>{values.subtitle}</p>}
61
- * </section>
62
- * ),
63
- * })
64
- * .register("columns", {
65
- * component: ({ values, children }) => (
66
- * <div className={`grid grid-cols-${values.columnCount}`}>
67
- * {children}
68
- * </div>
69
- * ),
70
- * });
71
- *
72
- * // Use in BlockRenderer component
73
- * function BlockRenderer({ block }: { block: BlockNode }) {
74
- * return blockRenderers.renderBlock(
75
- * block.type,
76
- * { id: block.id, values: blockValues[block.id], data: blockData[block.id] },
77
- * block.children.map(child => <BlockRenderer key={child.id} block={child} />)
78
- * );
79
- * }
80
- * ```
81
- */
82
- function createBlockRegistry() {
83
- return new BlockRegistryImpl();
84
- }
85
-
86
- //#endregion
87
- export { createBlockRegistry };
88
- //# sourceMappingURL=block-registry.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"block-registry.mjs","names":["renderers: TRegistered"],"sources":["../../../src/client/blocks/block-registry.tsx"],"sourcesContent":["/**\n * Block Renderer Registry\n *\n * Type-safe registry for client-side block renderers that infers\n * value types from server-defined block schemas.\n *\n * Key design principles:\n * 1. Server defines WHAT (block schema, prefetch) - see @questpie/admin/server\n * 2. Client defines HOW (React components for rendering)\n * 3. Types are inferred from server CMS type - no duplication\n *\n * @example\n * ```ts\n * import { createBlockRegistry } from \"@questpie/admin/client\";\n * import type { AppCMS } from \"@/server/cms\";\n *\n * export const blockRenderers = createBlockRegistry<AppCMS>()\n * .register(\"hero\", {\n * // Props are inferred from server block schema!\n * // values: { title: string, subtitle?: string, alignment: \"left\" | \"center\" | \"right\", ... }\n * // data: Awaited<ReturnType<typeof heroBlock.prefetch>>\n * component: ({ values, data }) => (\n * <section className={`hero hero--${values.alignment}`}>\n * <h1>{values.title}</h1>\n * </section>\n * ),\n * })\n * .register(\"featuredPosts\", {\n * component: ({ values, data }) => (\n * <div className=\"featured-posts\">\n * {data?.posts?.map(post => <PostCard key={post.id} post={post} />)}\n * </div>\n * ),\n * });\n * ```\n */\n\nimport type * as React from \"react\";\n\n// ============================================================================\n// Server Block Type Extraction\n// ============================================================================\n\n/**\n * Extract blocks from CMS type.\n * Handles the state.blocks structure from QuestpieBuilder.\n */\nexport type ExtractServerBlocks<TCMS> = TCMS extends {\n state: { blocks: infer B };\n}\n ? B extends Record<string, any>\n ? B\n : Record<string, never>\n : Record<string, never>;\n\n/**\n * Get block names from CMS type.\n */\nexport type ServerBlockNames<TCMS> = keyof ExtractServerBlocks<TCMS>;\n\n/**\n * Extract field values type from a server block definition.\n * Looks at the block's state.fields and extracts value types.\n */\nexport type ExtractBlockFieldValues<TBlock> = TBlock extends {\n state: { fields: infer TFields };\n}\n ? TFields extends Record<string, { $types: { value: infer V } }>\n ? { [K in keyof TFields]: TFields[K][\"$types\"][\"value\"] }\n : Record<string, unknown>\n : Record<string, unknown>;\n\n/**\n * Extract prefetch data type from a server block definition.\n * Looks at the block's state.prefetch return type.\n */\nexport type ExtractBlockPrefetchData<TBlock> = TBlock extends {\n state: { prefetch: (params: any) => Promise<infer R> };\n}\n ? R\n : TBlock extends { state: { prefetch: (params: any) => infer R } }\n ? R\n : undefined;\n\n/**\n * Block values type for a specific block name in a CMS.\n */\nexport type BlockValues<\n TCMS,\n TBlockName extends keyof ExtractServerBlocks<TCMS>,\n> = ExtractBlockFieldValues<ExtractServerBlocks<TCMS>[TBlockName]>;\n\n/**\n * Block prefetch data type for a specific block name in a CMS.\n */\nexport type BlockPrefetchData<\n TCMS,\n TBlockName extends keyof ExtractServerBlocks<TCMS>,\n> = ExtractBlockPrefetchData<ExtractServerBlocks<TCMS>[TBlockName]>;\n\n// ============================================================================\n// Block Renderer Types\n// ============================================================================\n\n/**\n * Props passed to block renderer components.\n */\nexport interface BlockRendererProps<\n TValues = Record<string, unknown>,\n TData = unknown,\n> {\n /** Block instance ID */\n id: string;\n /** Block field values */\n values: TValues;\n /** Data from server-side prefetch (if block has prefetch defined) */\n data: TData;\n /** Rendered child blocks (for layout blocks) */\n children?: React.ReactNode;\n /** Whether this block is currently selected in the editor */\n isSelected?: boolean;\n /** Whether rendering in preview mode */\n isPreview?: boolean;\n}\n\n/**\n * Block renderer component type.\n */\nexport type BlockRendererComponent<\n TValues = Record<string, unknown>,\n TData = unknown,\n> = React.ComponentType<BlockRendererProps<TValues, TData>>;\n\n/**\n * Block renderer definition.\n */\nexport interface BlockRendererDefinition<\n TValues = Record<string, unknown>,\n TData = unknown,\n> {\n /** React component for rendering the block */\n component: BlockRendererComponent<TValues, TData>;\n}\n\n// ============================================================================\n// Block Registry\n// ============================================================================\n\n/**\n * Type-safe block renderer registry.\n * Tracks which blocks have been registered for type checking.\n */\nexport interface BlockRegistry<\n TCMS,\n TRegistered extends Record<string, BlockRendererDefinition<any, any>> =\n Record<string, never>,\n> {\n /**\n * Register a renderer for a block type.\n *\n * @param blockName - Name of the block (must match server block definition)\n * @param definition - Block renderer definition with component\n * @returns Updated registry with the new block registered\n *\n * @example\n * ```ts\n * registry.register(\"hero\", {\n * component: ({ values, data }) => <HeroSection {...values} data={data} />\n * })\n * ```\n */\n register<TBlockName extends ServerBlockNames<TCMS> & string>(\n blockName: TBlockName,\n definition: BlockRendererDefinition<\n BlockValues<TCMS, TBlockName>,\n BlockPrefetchData<TCMS, TBlockName>\n >,\n ): BlockRegistry<\n TCMS,\n TRegistered & {\n [K in TBlockName]: BlockRendererDefinition<\n BlockValues<TCMS, TBlockName>,\n BlockPrefetchData<TCMS, TBlockName>\n >;\n }\n >;\n\n /**\n * Get the registered renderers.\n */\n readonly renderers: TRegistered;\n\n /**\n * Get a renderer by block name (runtime).\n */\n getRenderer(blockName: string): BlockRendererDefinition<any, any> | undefined;\n\n /**\n * Check if a block has a registered renderer (runtime).\n */\n hasRenderer(blockName: string): boolean;\n\n /**\n * Get all registered block names (runtime).\n */\n getBlockNames(): string[];\n\n /**\n * Render a block by name (runtime helper).\n */\n renderBlock(\n blockName: string,\n props: Omit<BlockRendererProps<any, any>, \"children\">,\n children?: React.ReactNode,\n ): React.ReactNode;\n}\n\n// ============================================================================\n// Registry Implementation\n// ============================================================================\n\n/**\n * Internal class implementing BlockRegistry.\n */\nclass BlockRegistryImpl<\n TCMS,\n TRegistered extends Record<string, BlockRendererDefinition<any, any>>,\n> implements BlockRegistry<TCMS, TRegistered> {\n constructor(public readonly renderers: TRegistered = {} as TRegistered) {}\n\n register<TBlockName extends ServerBlockNames<TCMS> & string>(\n blockName: TBlockName,\n definition: BlockRendererDefinition<\n BlockValues<TCMS, TBlockName>,\n BlockPrefetchData<TCMS, TBlockName>\n >,\n ): BlockRegistry<\n TCMS,\n TRegistered & {\n [K in TBlockName]: BlockRendererDefinition<\n BlockValues<TCMS, TBlockName>,\n BlockPrefetchData<TCMS, TBlockName>\n >;\n }\n > {\n return new BlockRegistryImpl({\n ...this.renderers,\n [blockName]: definition,\n } as any);\n }\n\n getRenderer(\n blockName: string,\n ): BlockRendererDefinition<any, any> | undefined {\n return (\n this.renderers as Record<string, BlockRendererDefinition<any, any>>\n )[blockName];\n }\n\n hasRenderer(blockName: string): boolean {\n return blockName in this.renderers;\n }\n\n getBlockNames(): string[] {\n return Object.keys(this.renderers);\n }\n\n renderBlock(\n blockName: string,\n props: Omit<BlockRendererProps<any, any>, \"children\">,\n children?: React.ReactNode,\n ): React.ReactNode {\n const renderer = this.getRenderer(blockName);\n if (!renderer) {\n console.warn(`No renderer registered for block type: ${blockName}`);\n return null;\n }\n const Component = renderer.component;\n return <Component {...props} children={children} />;\n }\n}\n\n// ============================================================================\n// Factory Function\n// ============================================================================\n\n/**\n * Create a new type-safe block renderer registry.\n *\n * The registry infers block value types from the server CMS type,\n * ensuring type safety without duplicating schema definitions.\n *\n * @template TCMS - Server CMS type (e.g., `typeof cms` or `AppCMS`)\n *\n * @example\n * ```ts\n * import { createBlockRegistry } from \"@questpie/admin/client\";\n * import type { AppCMS } from \"@/server/cms\";\n *\n * // Create typed registry\n * export const blockRenderers = createBlockRegistry<AppCMS>()\n * .register(\"hero\", {\n * // values is typed: { title: string, subtitle?: string, ... }\n * // data is typed from prefetch return type\n * component: ({ values, data }) => (\n * <section>\n * <h1>{values.title}</h1>\n * {values.subtitle && <p>{values.subtitle}</p>}\n * </section>\n * ),\n * })\n * .register(\"columns\", {\n * component: ({ values, children }) => (\n * <div className={`grid grid-cols-${values.columnCount}`}>\n * {children}\n * </div>\n * ),\n * });\n *\n * // Use in BlockRenderer component\n * function BlockRenderer({ block }: { block: BlockNode }) {\n * return blockRenderers.renderBlock(\n * block.type,\n * { id: block.id, values: blockValues[block.id], data: blockData[block.id] },\n * block.children.map(child => <BlockRenderer key={child.id} block={child} />)\n * );\n * }\n * ```\n */\nexport function createBlockRegistry<TCMS>(): BlockRegistry<\n TCMS,\n Record<string, never>\n> {\n return new BlockRegistryImpl<TCMS, Record<string, never>>();\n}\n\n// ============================================================================\n// Utility Types for Advanced Usage\n// ============================================================================\n\n/**\n * Extract the component props type for a registered block.\n * Useful when you need to type component props externally.\n *\n * @example\n * ```ts\n * type HeroProps = BlockComponentProps<AppCMS, \"hero\">;\n * // { id: string; values: HeroValues; data: HeroData; children?: ReactNode; ... }\n * ```\n */\nexport type BlockComponentProps<\n TCMS,\n TBlockName extends ServerBlockNames<TCMS>,\n> = BlockRendererProps<\n BlockValues<TCMS, TBlockName>,\n BlockPrefetchData<TCMS, TBlockName>\n>;\n\n/**\n * Helper type to get all possible block value types from CMS.\n * Useful for union types or discriminated unions.\n *\n * @example\n * ```ts\n * type AnyBlockValues = AllBlockValues<AppCMS>;\n * // { hero: HeroValues; text: TextValues; columns: ColumnsValues; ... }\n * ```\n */\nexport type AllBlockValues<TCMS> = {\n [K in ServerBlockNames<TCMS> & string]: BlockValues<TCMS, K>;\n};\n\n/**\n * Helper type to get all possible block data types from CMS.\n *\n * @example\n * ```ts\n * type AnyBlockData = AllBlockData<AppCMS>;\n * // { hero: HeroData; featuredPosts: { posts: Post[] }; ... }\n * ```\n */\nexport type AllBlockData<TCMS> = {\n [K in ServerBlockNames<TCMS> & string]: BlockPrefetchData<TCMS, K>;\n};\n"],"mappings":";;;;;;AAgOA,IAAM,oBAAN,MAAM,kBAGwC;CAC5C,YAAY,AAAgBA,YAAyB,EAAE,EAAiB;EAA5C;;CAE5B,SACE,WACA,YAYA;AACA,SAAO,IAAI,kBAAkB;GAC3B,GAAG,KAAK;IACP,YAAY;GACd,CAAQ;;CAGX,YACE,WAC+C;AAC/C,SACE,KAAK,UACL;;CAGJ,YAAY,WAA4B;AACtC,SAAO,aAAa,KAAK;;CAG3B,gBAA0B;AACxB,SAAO,OAAO,KAAK,KAAK,UAAU;;CAGpC,YACE,WACA,OACA,UACiB;EACjB,MAAM,WAAW,KAAK,YAAY,UAAU;AAC5C,MAAI,CAAC,UAAU;AACb,WAAQ,KAAK,0CAA0C,YAAY;AACnE,UAAO;;EAET,MAAM,YAAY,SAAS;AAC3B,SAAO,oBAAC;GAAU,GAAI;GAAiB;IAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDvD,SAAgB,sBAGd;AACA,QAAO,IAAI,mBAAgD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"block-renderer.d.mts","names":[],"sources":["../../../src/client/blocks/block-renderer.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;KA8BY,eAAA;;;UAGH;SACD;aACI,OAAA,CAAM;MACZ,OAAA,CAAM;;;;KAKA,kBAAA;;WAEF;;aAEE,eAAe;;SAEnB;;;;;;;;;;;;;;;iBAgBQ,aAAA;;;;;;;GAOb,qBAAkB,mBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"block-renderer.mjs","names":[],"sources":["../../../src/client/blocks/block-renderer.tsx"],"sourcesContent":["/**\n * BlockRenderer Component\n *\n * Renders a tree of blocks using registered block definitions.\n * Each block type has a renderer component that receives the block's values.\n *\n * @example\n * ```tsx\n * import { BlockRenderer } from \"@questpie/admin/client\";\n * import { blocks } from \"~/admin/blocks\";\n *\n * function PageContent({ page }) {\n * return (\n * <BlockRenderer\n * content={page.content}\n * blocks={blocks}\n * />\n * );\n * }\n * ```\n */\n\nimport type * as React from \"react\";\nimport { BlockScopeProvider } from \"../preview/block-scope-context.js\";\nimport type { BlockContent, BlockNode } from \"./types\";\n\n/**\n * Block renderer function type.\n * Consumers provide their own renderers mapped by block type.\n */\nexport type BlockRendererFn = (props: {\n\tid: string;\n\ttype: string;\n\tvalues: Record<string, unknown>;\n\tdata?: Record<string, unknown>;\n\tchildren?: React.ReactNode;\n}) => React.ReactNode;\n\n/**\n * Props for BlockRenderer component.\n */\nexport type BlockRendererProps = {\n\t/** Block content from API (tree + values) */\n\tcontent: BlockContent;\n\t/** Block renderers mapped by type */\n\trenderers: Record<string, BlockRendererFn>;\n\t/** Prefetched data by block ID (optional, for SSR) */\n\tdata?: Record<string, unknown>;\n\t/** Currently selected block ID (for editor mode) */\n\tselectedBlockId?: string | null;\n\t/** Block click handler (for editor mode) */\n\tonBlockClick?: (blockId: string) => void;\n\t/** Custom class name for the container */\n\tclassName?: string;\n};\n\n/**\n * Renders a tree of blocks.\n *\n * Iterates through the block tree and renders each block using its\n * registered renderer component. Layout blocks receive their rendered\n * children as the `children` prop.\n */\nexport function BlockRenderer({\n\tcontent,\n\trenderers,\n\tdata = {},\n\tselectedBlockId,\n\tonBlockClick,\n\tclassName,\n}: BlockRendererProps) {\n\t/**\n\t * Recursively render a block node.\n\t */\n\tfunction renderBlock(node: BlockNode): React.ReactNode {\n\t\tconst renderFn = renderers[node.type];\n\n\t\tif (!renderFn) {\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`[BlockRenderer] No renderer found for block type \"${node.type}\"`,\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\n\t\tconst values = content._values[node.id] || {};\n\t\tconst blockData = data[node.id] as Record<string, unknown> | undefined;\n\t\tconst isSelected = selectedBlockId === node.id;\n\n\t\t// Render children for layout blocks\n\t\tconst renderedChildren =\n\t\t\tnode.children.length > 0 ? node.children.map(renderBlock) : undefined;\n\n\t\tconst handleClick = onBlockClick\n\t\t\t? (e: React.MouseEvent) => {\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tonBlockClick(node.id);\n\t\t\t\t}\n\t\t\t: undefined;\n\n\t\tconst blockElement = (\n\t\t\t<BlockScopeProvider blockId={node.id} basePath=\"content._values\">\n\t\t\t\t{renderFn({\n\t\t\t\t\tid: node.id,\n\t\t\t\t\ttype: node.type,\n\t\t\t\t\tvalues,\n\t\t\t\t\tdata: blockData,\n\t\t\t\t\tchildren: renderedChildren,\n\t\t\t\t})}\n\t\t\t</BlockScopeProvider>\n\t\t);\n\n\t\t// Wrap in interactive container when in editor mode\n\t\tif (handleClick) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tkey={node.id}\n\t\t\t\t\tdata-block-id={node.id}\n\t\t\t\t\tdata-block-type={node.type}\n\t\t\t\t\tonClick={handleClick}\n\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\tif (e.key === \"Enter\" || e.key === \" \") {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tonBlockClick?.(node.id);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\ttabIndex={0}\n\t\t\t\t\tclassName=\"cursor-pointer\"\n\t\t\t\t>\n\t\t\t\t\t{blockElement}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div key={node.id} data-block-id={node.id} data-block-type={node.type}>\n\t\t\t\t{blockElement}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (!content?._tree?.length) {\n\t\treturn null;\n\t}\n\n\treturn <div className={className}>{content._tree.map(renderBlock)}</div>;\n}\n\nexport default BlockRenderer;\n"],"mappings":";;;;;;;;;;;AA+DA,SAAgB,cAAc,EAC7B,SACA,WACA,OAAO,EAAE,EACT,iBACA,cACA,aACsB;;;;CAItB,SAAS,YAAY,MAAkC;EACtD,MAAM,WAAW,UAAU,KAAK;AAEhC,MAAI,CAAC,UAAU;AACd,OAAI,QAAQ,IAAI,aAAa,aAC5B,SAAQ,KACP,qDAAqD,KAAK,KAAK,GAC/D;AAEF,UAAO;;EAGR,MAAM,SAAS,QAAQ,QAAQ,KAAK,OAAO,EAAE;EAC7C,MAAM,YAAY,KAAK,KAAK;AACT,EAAoB,KAAK;EAG5C,MAAM,mBACL,KAAK,SAAS,SAAS,IAAI,KAAK,SAAS,IAAI,YAAY,GAAG;EAE7D,MAAM,cAAc,gBAChB,MAAwB;AACzB,KAAE,iBAAiB;AACnB,gBAAa,KAAK,GAAG;MAErB;EAEH,MAAM,eACL,oBAAC;GAAmB,SAAS,KAAK;GAAI,UAAS;aAC7C,SAAS;IACT,IAAI,KAAK;IACT,MAAM,KAAK;IACX;IACA,MAAM;IACN,UAAU;IACV,CAAC;IACkB;AAItB,MAAI,YACH,QACC,oBAAC;GAEA,iBAAe,KAAK;GACpB,mBAAiB,KAAK;GACtB,SAAS;GACT,YAAY,MAAM;AACjB,QAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACvC,OAAE,gBAAgB;AAClB,oBAAe,KAAK,GAAG;;;GAGzB,MAAK;GACL,UAAU;GACV,WAAU;aAET;KAdI,KAAK,GAeL;AAIR,SACC,oBAAC;GAAkB,iBAAe,KAAK;GAAI,mBAAiB,KAAK;aAC/D;KADQ,KAAK,GAET;;AAIR,KAAI,CAAC,SAAS,OAAO,OACpB,QAAO;AAGR,QAAO,oBAAC;EAAe;YAAY,QAAQ,MAAM,IAAI,YAAY;GAAO"}
@@ -1,45 +0,0 @@
1
- import { BlockContent } from "./types.mjs";
2
-
3
- //#region src/client/blocks/prefetch.d.ts
4
-
5
- /**
6
- * @deprecated No longer needed. Server auto-expands relation/upload fields.
7
- */
8
- type BlockPrefetchContext<TCms = unknown> = {
9
- cms: TCms;
10
- locale: string;
11
- defaultLocale: string;
12
- request?: Request;
13
- };
14
- /**
15
- * @deprecated No longer needed. Server auto-expands relation/upload fields.
16
- */
17
- type BlockPrefetchParams<TCms = unknown> = BlockPrefetchContext<TCms> & {
18
- id: string;
19
- values: Record<string, unknown>;
20
- };
21
- /**
22
- * @deprecated No longer needed. Server auto-expands relation/upload fields.
23
- */
24
- type BlockPrefetchResult = Record<string, unknown>;
25
- /**
26
- * @deprecated No longer needed. Server auto-expands relation/upload fields
27
- * and supports manual prefetch via `.blocks({ name: { block, prefetch } })`.
28
- */
29
- declare function prefetchBlockData<TCms = unknown>(content: BlockContent | null | undefined, _blocks: Record<string, unknown>, _context: BlockPrefetchContext<TCms>): Promise<BlockPrefetchResult>;
30
- /**
31
- * @deprecated No longer needed. Server handles block data fetching.
32
- */
33
- declare class BlockPrefetchError extends Error {
34
- readonly blockId: string;
35
- readonly blockType: string;
36
- readonly cause: unknown;
37
- constructor(blockId: string, blockType: string, cause: unknown);
38
- }
39
- /**
40
- * @deprecated No longer needed. Server handles block data fetching.
41
- */
42
- type TypedBlockPrefetch<TData, TCms = unknown> = (params: BlockPrefetchParams<TCms>) => Promise<TData>;
43
- //#endregion
44
- export { BlockPrefetchContext, BlockPrefetchError, BlockPrefetchParams, BlockPrefetchResult, TypedBlockPrefetch, prefetchBlockData };
45
- //# sourceMappingURL=prefetch.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefetch.d.mts","names":[],"sources":["../../../src/client/blocks/prefetch.ts"],"sourcesContent":[],"mappings":";;;;;;;KA+BY;OACL;;;YAGK;;;;;KAMA,sCAAsC,qBAAqB;;UAE7D;;;;;KAME,mBAAA,GAAsB;;;;;iBAMZ,2CACX,0CACA,mCACC,qBAAqB,QAC9B,QAAQ;;;;cAYE,kBAAA,SAA2B,KAAA;;;;;;;;;KAgB5B,qDACF,oBAAoB,UACzB,QAAQ"}
@@ -1,26 +0,0 @@
1
- //#region src/client/blocks/prefetch.ts
2
- /**
3
- * @deprecated No longer needed. Server auto-expands relation/upload fields
4
- * and supports manual prefetch via `.blocks({ name: { block, prefetch } })`.
5
- */
6
- async function prefetchBlockData(content, _blocks, _context) {
7
- console.warn("[prefetchBlockData] Deprecated: Client-side block prefetch is no longer needed. Block data is now automatically fetched by the server afterRead hook. Remove this call — data is available via the `data` prop in block renderers.");
8
- return {};
9
- }
10
- /**
11
- * @deprecated No longer needed. Server handles block data fetching.
12
- */
13
- var BlockPrefetchError = class extends Error {
14
- constructor(blockId, blockType, cause) {
15
- const message = cause instanceof Error ? cause.message : "Unknown prefetch error";
16
- super(`Block prefetch failed for "${blockType}" (${blockId}): ${message}`);
17
- this.blockId = blockId;
18
- this.blockType = blockType;
19
- this.cause = cause;
20
- this.name = "BlockPrefetchError";
21
- }
22
- };
23
-
24
- //#endregion
25
- export { BlockPrefetchError, prefetchBlockData };
26
- //# sourceMappingURL=prefetch.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"prefetch.mjs","names":["blockId: string","blockType: string","cause: unknown"],"sources":["../../../src/client/blocks/prefetch.ts"],"sourcesContent":["/**\n * Client Block Prefetch Utilities\n *\n * @deprecated Client-side block prefetch is no longer needed.\n * Block data is now automatically handled by the server:\n *\n * 1. **Auto-expansion**: Relation/upload fields are automatically expanded\n * to full records in the afterRead hook. No configuration needed.\n *\n * 2. **Manual prefetch**: For custom data, define prefetch in `.blocks()`:\n * ```ts\n * .blocks({\n * featuredPosts: {\n * block: featuredPostsBlock,\n * prefetch: async ({ values, ctx }) => ({ ... }),\n * },\n * })\n * ```\n *\n * Both populate `_data[blockId]` in the API response, which is\n * automatically available as the `data` prop in block renderers.\n *\n * These exports are kept for backwards compatibility but will be\n * removed in a future version.\n */\n\nimport type { BlockContent, BlockNode } from \"./types.js\";\n\n/**\n * @deprecated No longer needed. Server auto-expands relation/upload fields.\n */\nexport type BlockPrefetchContext<TCms = unknown> = {\n cms: TCms;\n locale: string;\n defaultLocale: string;\n request?: Request;\n};\n\n/**\n * @deprecated No longer needed. Server auto-expands relation/upload fields.\n */\nexport type BlockPrefetchParams<TCms = unknown> = BlockPrefetchContext<TCms> & {\n id: string;\n values: Record<string, unknown>;\n};\n\n/**\n * @deprecated No longer needed. Server auto-expands relation/upload fields.\n */\nexport type BlockPrefetchResult = Record<string, unknown>;\n\n/**\n * @deprecated No longer needed. Server auto-expands relation/upload fields\n * and supports manual prefetch via `.blocks({ name: { block, prefetch } })`.\n */\nexport async function prefetchBlockData<TCms = unknown>(\n content: BlockContent | null | undefined,\n _blocks: Record<string, unknown>,\n _context: BlockPrefetchContext<TCms>,\n): Promise<BlockPrefetchResult> {\n console.warn(\n \"[prefetchBlockData] Deprecated: Client-side block prefetch is no longer needed. \" +\n \"Block data is now automatically fetched by the server afterRead hook. \" +\n \"Remove this call — data is available via the `data` prop in block renderers.\",\n );\n return {};\n}\n\n/**\n * @deprecated No longer needed. Server handles block data fetching.\n */\nexport class BlockPrefetchError extends Error {\n constructor(\n public readonly blockId: string,\n public readonly blockType: string,\n public readonly cause: unknown,\n ) {\n const message =\n cause instanceof Error ? cause.message : \"Unknown prefetch error\";\n super(`Block prefetch failed for \"${blockType}\" (${blockId}): ${message}`);\n this.name = \"BlockPrefetchError\";\n }\n}\n\n/**\n * @deprecated No longer needed. Server handles block data fetching.\n */\nexport type TypedBlockPrefetch<TData, TCms = unknown> = (\n params: BlockPrefetchParams<TCms>,\n) => Promise<TData>;\n"],"mappings":";;;;;AAuDA,eAAsB,kBACpB,SACA,SACA,UAC8B;AAC9B,SAAQ,KACN,qOAGD;AACD,QAAO,EAAE;;;;;AAMX,IAAa,qBAAb,cAAwC,MAAM;CAC5C,YACE,AAAgBA,SAChB,AAAgBC,WAChB,AAAgBC,OAChB;EACA,MAAM,UACJ,iBAAiB,QAAQ,MAAM,UAAU;AAC3C,QAAM,8BAA8B,UAAU,KAAK,QAAQ,KAAK,UAAU;EAN1D;EACA;EACA;AAKhB,OAAK,OAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/client/blocks/types.ts"],"sourcesContent":[],"mappings":";;;;;;;AA4CA;AAeY,KA7CA,SAAA,GA6CA;EACA;EACF,EAAA,EAAA,MAAA;EAKA;EAED,IAAA,EAAA,MAAA;EAEI;EAAe,QAAA,EAlDhB,SAkDgB,EAAA;AAU5B,CAAA;AAQA;;;;;;;;KAzDY,YAAA;;SAEH;;WAEE,eAAe;;UAEhB,eAAe;;;;;;KAOb,aAAA;;;;;;;;KAeA,6BACA,iCACF;;;;UAKA;;SAED;;aAEI,OAAA,CAAM;;;;;;;;;cAUN,qBAAqB;;;;iBAQlB,cAAA,2BAAyC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.mjs","names":["EMPTY_BLOCK_CONTENT: BlockContent"],"sources":["../../../src/client/blocks/types.ts"],"sourcesContent":["/**\n * Block System Types\n *\n * Core types for the visual page building system.\n * Server stores blocks as JSONB with $i18n markers - these types\n * define the client-side structure and rendering.\n */\n\nimport type * as React from \"react\";\n\n/**\n * Block node in the tree structure.\n * Represents a single block instance with its position and children.\n */\nexport type BlockNode = {\n /** Unique block instance ID (UUID) */\n id: string;\n /** Block type name (e.g., \"hero\", \"columns\", \"text\") */\n type: string;\n /** Child blocks (for layout blocks that accept children) */\n children: BlockNode[];\n};\n\n/**\n * Block content structure stored in JSONB.\n * This is the shape of data stored in the database and passed to BlockRenderer.\n *\n * After server-side prefetch (afterRead hook), `_data` is populated with:\n * - Auto-expanded relation/upload fields\n * - Manual prefetch data from `.blocks()` registration\n */\nexport type BlockContent = {\n /** Block tree with hierarchy and order */\n _tree: BlockNode[];\n /** Block values indexed by block ID */\n _values: Record<string, Record<string, unknown>>;\n /** Prefetched data from server (populated by afterRead hook) */\n _data?: Record<string, Record<string, unknown>>;\n};\n\n/**\n * Block category for organization in the block picker.\n * Categories help users find blocks quickly when adding new content.\n */\nexport type BlockCategory =\n | \"layout\" // Columns, Grid, Container, Section\n | \"content\" // Text, Heading, List, Quote\n | \"media\" // Image, Video, Gallery, Audio\n | \"sections\" // Hero, Features, Testimonials, CTA\n | \"interactive\" // Form, Accordion, Tabs, Carousel\n | (string & {}); // Custom categories\n\n/**\n * Props passed to block renderer components.\n * Each block receives these props when being rendered.\n *\n * @template TValues - Block field values type (inferred from `.fields()`)\n * @template TData - Prefetch data type (inferred from `.prefetch()`)\n */\nexport type BlockRendererProps<\n TValues = Record<string, unknown>,\n TData = Record<string, unknown>,\n> = {\n /** Block instance ID */\n id: string;\n /** Block field values (merged with i18n for current locale) */\n values: TValues;\n /** Data from server prefetch (populated via afterRead hook into _data[blockId]) */\n data?: TData;\n /** Rendered child blocks (for layout blocks) */\n children?: React.ReactNode;\n /** Whether this block is currently selected in the editor */\n isSelected?: boolean;\n /** Whether rendering in preview mode */\n isPreview?: boolean;\n};\n\n/**\n * Empty block content for initialization.\n */\nexport const EMPTY_BLOCK_CONTENT: BlockContent = {\n _tree: [],\n _values: {},\n};\n\n/**\n * Check if a value is a valid BlockContent structure.\n */\nexport function isBlockContent(value: unknown): value is BlockContent {\n if (value == null || typeof value !== \"object\") return false;\n const obj = value as Record<string, unknown>;\n return (\n Array.isArray(obj._tree) &&\n typeof obj._values === \"object\" &&\n obj._values !== null\n );\n}\n\n"],"mappings":";;;;AAgFA,MAAaA,sBAAoC;CAC/C,OAAO,EAAE;CACT,SAAS,EAAE;CACZ;;;;AAKD,SAAgB,eAAe,OAAuC;AACpE,KAAI,SAAS,QAAQ,OAAO,UAAU,SAAU,QAAO;CACvD,MAAM,MAAM;AACZ,QACE,MAAM,QAAQ,IAAI,MAAM,IACxB,OAAO,IAAI,YAAY,YACvB,IAAI,YAAY"}
@@ -1,112 +0,0 @@
1
- import { MaybeLazyComponent } from "./types/common.mjs";
2
- import { PageBuilder } from "./page/page.mjs";
3
- import { DefaultViewsConfig } from "./types/views.mjs";
4
- import { WidgetBuilder } from "./widget/widget.mjs";
5
- import { AdminBuilderState, FilterEditViews, FilterListViews } from "./admin-types.mjs";
6
- import { Prettify, SetProperty, TypeMerge, UnsetProperty } from "questpie/shared";
7
-
8
- //#region src/client/builder/admin-builder.d.ts
9
-
10
- declare class AdminBuilder<TState extends AdminBuilderState> {
11
- readonly state: TState;
12
- constructor(state: TState);
13
- static empty<TApp = any>(): AdminBuilder<{
14
- "~app": TApp;
15
- fields: {};
16
- components: {};
17
- listViews: {};
18
- editViews: {};
19
- pages: {};
20
- widgets: {};
21
- blocks: {};
22
- translations: {};
23
- locale: {
24
- default: string;
25
- supported: string[];
26
- };
27
- defaultViews: {};
28
- }>;
29
- /**
30
- * Register field definitions
31
- */
32
- fields<TNewFields extends Record<string, any>>(fields: TNewFields): AdminBuilder<SetProperty<TState, "fields", Prettify<TypeMerge<TState["fields"], TNewFields>>>>;
33
- /**
34
- * Register component implementations
35
- */
36
- components<TNewComponents extends Record<string, any>>(components: TNewComponents): AdminBuilder<SetProperty<TState, "components", Prettify<TypeMerge<TState["components"], TNewComponents>>>>;
37
- /**
38
- * Register view definitions (auto-sorted by kind)
39
- */
40
- views<TNewViews extends Record<string, any>>(views: TNewViews): AdminBuilder<Prettify<TypeMerge<UnsetProperty<TState, "listViews" | "editViews">, {
41
- listViews: Prettify<TypeMerge<TState["listViews"], FilterListViews<TNewViews>>>;
42
- editViews: Prettify<TypeMerge<TState["editViews"], FilterEditViews<TNewViews>>>;
43
- }>>>;
44
- /**
45
- * Register widget definitions
46
- */
47
- widgets<TNewWidgets extends Record<string, any>>(widgets: TNewWidgets): AdminBuilder<SetProperty<TState, "widgets", Prettify<TypeMerge<TState["widgets"], TNewWidgets>>>>;
48
- /**
49
- * Register page definitions
50
- */
51
- pages<TNewPages extends Record<string, any>>(pages: TNewPages): AdminBuilder<SetProperty<TState, "pages", Prettify<TypeMerge<TState["pages"], TNewPages>>>>;
52
- /**
53
- * Compose another builder (merge modules)
54
- */
55
- use<TOther extends AdminBuilder<any>>(other: TOther): AdminBuilder<Prettify<TypeMerge<UnsetProperty<TState, "fields" | "listViews" | "editViews" | "widgets" | "pages" | "components">, {
56
- fields: Prettify<TypeMerge<TState["fields"], TOther["state"]["fields"]>>;
57
- listViews: Prettify<TypeMerge<TState["listViews"], TOther["state"]["listViews"]>>;
58
- editViews: Prettify<TypeMerge<TState["editViews"], TOther["state"]["editViews"]>>;
59
- widgets: Prettify<TypeMerge<TState["widgets"], TOther["state"]["widgets"]>>;
60
- pages: Prettify<TypeMerge<TState["pages"], TOther["state"]["pages"]>>;
61
- components: Prettify<TypeMerge<TState["components"], TOther["state"]["components"]>>;
62
- }>>>;
63
- /**
64
- * Set default views config
65
- */
66
- defaultViews<TDefaultViews extends DefaultViewsConfig>(config: TDefaultViews): AdminBuilder<SetProperty<TState, "defaultViews", Prettify<TypeMerge<TState["defaultViews"], TDefaultViews>>>>;
67
- /**
68
- * Create a page definition
69
- *
70
- * Creates a custom admin page outside of collections/globals.
71
- *
72
- * @example
73
- * ```ts
74
- * const builder = qa<AppCMS>().use(adminModule);
75
- *
76
- * const analyticsPage = builder.page("analytics", {
77
- * component: AnalyticsPage,
78
- * })
79
- * ```
80
- */
81
- page<TName extends string, TComponent extends MaybeLazyComponent>(name: TName, config: {
82
- component: TComponent;
83
- }): PageBuilder<{
84
- name: TName;
85
- component: TComponent;
86
- path: undefined;
87
- }>;
88
- /**
89
- * Create a widget definition
90
- *
91
- * Creates a dashboard widget.
92
- *
93
- * @example
94
- * ```ts
95
- * const builder = qa<AppCMS>().use(adminModule);
96
- *
97
- * const statsWidget = builder.widget("stats", {
98
- * component: StatsWidget,
99
- * })
100
- * ```
101
- */
102
- widget<TName extends string, TComponent extends MaybeLazyComponent>(name: TName, config: {
103
- component: TComponent;
104
- }): WidgetBuilder<{
105
- name: TName;
106
- "~config": any;
107
- component: TComponent;
108
- }>;
109
- }
110
- //#endregion
111
- export { AdminBuilder };
112
- //# sourceMappingURL=admin-builder.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-builder.d.mts","names":[],"sources":["../../../src/client/builder/admin-builder.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AA4BU,cAJG,YAIH,CAAA,eAJ+B,iBAI/B,CAAA,CAAA;EADmB,SAAA,KAAA,EAFO,MAEP;EA+BF,WAAA,CAAA,KAAA,EAjCS,MAiCT;EACjB,OAAA,KAAA,CAAA,OAAA,GAAA,CAAA,CAAA,CAAA,EAhCmB,YAgCnB,CAAA;IAGP,MAAA,EAlCO,IAkCP;IAEmB,MAAA,EAAA,CAAA,CAAA;IAAkB,UAAA,EAAA,CAAA,CAAA;IAA5B,SAAA,EAAA,CAAA,CAAA;IAAT,SAAA,EAAA,CAAA,CAAA;IAHD,KAAA,EAAA,CAAA,CAAA;IADE,OAAA,EAAA,CAAA,CAAA;IAmB+B,MAAA,EAAA,CAAA,CAAA;IACrB,YAAA,EAAA,CAAA,CAAA;IAGX,MAAA,EAAA;MAEmB,OAAA,EAAA,MAAA;MAAsB,SAAA,EAAA,MAAA,EAAA;IAAhC,CAAA;IAAT,YAAA,EAAA,CAAA,CAAA;EAHD,CAAA,CAAA;EADE;;;EAwBc,MAAA,CAAA,mBA/CS,MA+CT,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,MAAA,EA9CR,UA8CQ,CAAA,EA7Cd,YA6Cc,CA5ChB,WA4CgB,CA3Cf,MA2Ce,EAAA,QAAA,EAzCf,QAyCe,CAzCN,SAyCM,CAzCI,MAyCJ,CAAA,QAAA,CAAA,EAzCsB,UAyCtB,CAAA,CAAA,CAAA,CAAA;EAAd;;;EAGiC,UAAA,CAAA,uBA7BF,MA6BE,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,UAAA,EA5BvB,cA4BuB,CAAA,EA3BjC,YA2BiC,CA1BnC,WA0BmC,CAzBlC,MAyBkC,EAAA,YAAA,EAvBlC,QAuBkC,CAvBzB,SAuByB,CAvBf,MAuBe,CAAA,YAAA,CAAA,EAvBO,cAuBP,CAAA,CAAA,CAAA,CAAA;EAA/B;;;EAG+C,KAAA,CAAA,kBAX5B,MAW4B,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,KAAA,EAV5C,SAU4C,CAAA,EATjD,YASiD,CARnD,QAQmD,CAPlD,SAOkD,CANjD,aAMiD,CANnC,MAMmC,EAAA,WAAA,GAAA,WAAA,CAAA,EAAA;IAAhB,SAAA,EAJrB,QAIqB,CAH/B,SAG+B,CAHrB,MAGqB,CAAA,WAAA,CAAA,EAHA,eAGA,CAHgB,SAGhB,CAAA,CAAA,CAAA;IAA/B,SAAA,EADU,QACV,CAAA,SAAA,CAAU,MAAV,CAAA,WAAA,CAAA,EAA+B,eAA/B,CAA+C,SAA/C,CAAA,CAAA,CAAA;EADU,CAAA,CAAA,CAAA,CAAA;EANb;;;EAoC0B,OAAA,CAAA,oBAAA,MAAA,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,OAAA,EAClB,WADkB,CAAA,EAEzB,YAFyB,CAG3B,WAH2B,CAI1B,MAJ0B,EAAA,SAAA,EAM1B,QAN0B,CAMjB,SANiB,CAMP,MANO,CAAA,SAAA,CAAA,EAMY,WANZ,CAAA,CAAA,CAAA,CAAA;EAClB;;;EAK8B,KAAA,CAAA,kBAehB,MAfgB,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA,CAAA,KAAA,EAgBhC,SAhBgC,CAAA,EAiBrC,YAjBqC,CAkBvC,WAlBuC,CAmBtC,MAnBsC,EAAA,OAAA,EAqBtC,QArBsC,CAqB7B,SArB6B,CAqBnB,MArBmB,CAAA,OAAA,CAAA,EAqBF,SArBE,CAAA,CAAA,CAAA,CAAA;EAA7B;;;EAJR,GAAA,CAAA,eAwCgB,YAxChB,CAAA,GAAA,CAAA,CAAA,CAAA,KAAA,EAyCK,MAzCL,CAAA,EA0CA,YA1CA,CA2CF,QA3CE,CA4CD,SA5CC,CA6CA,aA7CA,CA8CC,MA9CD,EAAA,QAAA,GAAA,WAAA,GAAA,WAAA,GAAA,SAAA,GAAA,OAAA,GAAA,YAAA,CAAA,EAAA;IAmBqB,MAAA,EAoCZ,QApCY,CAqCnB,SArCmB,CAqCT,MArCS,CAAA,QAAA,CAAA,EAqCS,MArCT,CAAA,OAAA,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA;IAChB,SAAA,EAsCO,QAtCP,CAuCH,SAvCG,CAuCO,MAvCP,CAAA,WAAA,CAAA,EAuC4B,MAvC5B,CAAA,OAAA,CAAA,CAAA,WAAA,CAAA,CAAA,CAAA;IAGN,SAAA,EAsCa,QAtCb,CAuCG,SAvCH,CAuCa,MAvCb,CAAA,WAAA,CAAA,EAuCkC,MAvClC,CAAA,OAAA,CAAA,CAAA,WAAA,CAAA,CAAA,CAAA;IAEmB,OAAA,EAuCR,QAvCQ,CAwChB,SAxCgB,CAwCN,MAxCM,CAAA,SAAA,CAAA,EAwCa,MAxCb,CAAA,OAAA,CAAA,CAAA,SAAA,CAAA,CAAA,CAAA;IAAiB,KAAA,EA0C3B,QA1C2B,CA0ClB,SA1CkB,CA0CR,MA1CQ,CAAA,OAAA,CAAA,EA0CS,MA1CT,CAAA,OAAA,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA;IAA3B,UAAA,EA2CK,QA3CL,CA4CN,SA5CM,CA4CI,MA5CJ,CAAA,YAAA,CAAA,EA4C0B,MA5C1B,CAAA,OAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;EAAT,CAAA,CAAA,CAAA,CAAA;EAHD;;;EAmBO,YAAA,CAAA,sBAkD2B,kBAlD3B,CAAA,CAAA,MAAA,EAmDC,aAnDD,CAAA,EAoDL,YApDK,CAqDP,WArDO,CAsDN,MAtDM,EAAA,cAAA,EAwDN,QAxDM,CAwDG,SAxDH,CAwDa,MAxDb,CAAA,cAAA,CAAA,EAwDqC,aAxDrC,CAAA,CAAA,CAAA,CAAA;EAKJ;;;;;;;;;;;;;;EAmBW,IAAA,CAAA,cAAA,MAAA,EAAA,mBA0D+B,kBA1D/B,CAAA,CAAA,IAAA,EA2DR,KA3DQ,EAAA,MAAA,EAAA;IAAmB,SAAA,EA4DZ,UA5DY;EAA7B,CAAA,CAAA,EA6DF,WA7DE,CAAA;IADQ,IAAA,EA+DN,KA/DM;IAGiB,SAAA,EA6DlB,UA7DkB;IAAiB,IAAA,EAAA,SAAA;EAA3B,CAAA,CAAA;EAAT;;;;;;;;;;;;;;EA8BT,MAAA,CAAA,cAAA,MAAA,EAAA,mBAmD8C,kBAnD9C,CAAA,CAAA,IAAA,EAoDK,KApDL,EAAA,MAAA,EAAA;IAHD,SAAA,EAwDqB,UAxDrB;EADE,CAAA,CAAA,EA0DA,aA1DA,CAAA;IA8B2C,IAAA,EA6BvC,KA7BuC;IACvC,SAAA,EAAA,GAAA;IACe,SAAA,EA6BV,UA7BU;EAEf,CAAA,CAAA"}
@@ -1,185 +0,0 @@
1
- import { page } from "./page/page.mjs";
2
- import { widget } from "./widget/widget.mjs";
3
- import { DEFAULT_LOCALE_CONFIG } from "questpie/shared";
4
-
5
- //#region src/client/builder/admin-builder.ts
6
- /**
7
- * Admin Builder
8
- *
9
- * Main builder class - same pattern as QuestpieBuilder.
10
- * Single generic TState pattern.
11
- */
12
- var AdminBuilder = class AdminBuilder {
13
- constructor(state) {
14
- this.state = state;
15
- }
16
- static empty() {
17
- return new AdminBuilder({
18
- "~app": void 0,
19
- fields: {},
20
- components: {},
21
- listViews: {},
22
- editViews: {},
23
- pages: {},
24
- widgets: {},
25
- blocks: {},
26
- translations: {},
27
- locale: DEFAULT_LOCALE_CONFIG,
28
- defaultViews: {}
29
- });
30
- }
31
- /**
32
- * Register field definitions
33
- */
34
- fields(fields) {
35
- return new AdminBuilder({
36
- ...this.state,
37
- fields: {
38
- ...this.state.fields,
39
- ...fields
40
- }
41
- });
42
- }
43
- /**
44
- * Register component implementations
45
- */
46
- components(components) {
47
- return new AdminBuilder({
48
- ...this.state,
49
- components: {
50
- ...this.state.components,
51
- ...components
52
- }
53
- });
54
- }
55
- /**
56
- * Register view definitions (auto-sorted by kind)
57
- */
58
- views(views) {
59
- const listViews = {};
60
- const editViews = {};
61
- for (const [name, def] of Object.entries(views)) {
62
- const kind = def.kind;
63
- if (kind === "list") listViews[name] = def;
64
- else if (kind === "edit") editViews[name] = def;
65
- }
66
- return new AdminBuilder({
67
- ...this.state,
68
- listViews: {
69
- ...this.state.listViews,
70
- ...listViews
71
- },
72
- editViews: {
73
- ...this.state.editViews,
74
- ...editViews
75
- }
76
- });
77
- }
78
- /**
79
- * Register widget definitions
80
- */
81
- widgets(widgets) {
82
- return new AdminBuilder({
83
- ...this.state,
84
- widgets: {
85
- ...this.state.widgets,
86
- ...widgets
87
- }
88
- });
89
- }
90
- /**
91
- * Register page definitions
92
- */
93
- pages(pages) {
94
- return new AdminBuilder({
95
- ...this.state,
96
- pages: {
97
- ...this.state.pages,
98
- ...pages
99
- }
100
- });
101
- }
102
- /**
103
- * Compose another builder (merge modules)
104
- */
105
- use(other) {
106
- const otherState = other.state;
107
- return new AdminBuilder({
108
- ...this.state,
109
- fields: {
110
- ...this.state.fields,
111
- ...otherState.fields
112
- },
113
- listViews: {
114
- ...this.state.listViews,
115
- ...otherState.listViews
116
- },
117
- editViews: {
118
- ...this.state.editViews,
119
- ...otherState.editViews
120
- },
121
- widgets: {
122
- ...this.state.widgets,
123
- ...otherState.widgets
124
- },
125
- pages: {
126
- ...this.state.pages,
127
- ...otherState.pages
128
- },
129
- components: {
130
- ...this.state.components,
131
- ...otherState.components
132
- }
133
- });
134
- }
135
- /**
136
- * Set default views config
137
- */
138
- defaultViews(config) {
139
- return new AdminBuilder({
140
- ...this.state,
141
- defaultViews: {
142
- ...this.state.defaultViews || {},
143
- ...config
144
- }
145
- });
146
- }
147
- /**
148
- * Create a page definition
149
- *
150
- * Creates a custom admin page outside of collections/globals.
151
- *
152
- * @example
153
- * ```ts
154
- * const builder = qa<AppCMS>().use(adminModule);
155
- *
156
- * const analyticsPage = builder.page("analytics", {
157
- * component: AnalyticsPage,
158
- * })
159
- * ```
160
- */
161
- page(name, config) {
162
- return page(name, config);
163
- }
164
- /**
165
- * Create a widget definition
166
- *
167
- * Creates a dashboard widget.
168
- *
169
- * @example
170
- * ```ts
171
- * const builder = qa<AppCMS>().use(adminModule);
172
- *
173
- * const statsWidget = builder.widget("stats", {
174
- * component: StatsWidget,
175
- * })
176
- * ```
177
- */
178
- widget(name, config) {
179
- return widget(name, config);
180
- }
181
- };
182
-
183
- //#endregion
184
- export { AdminBuilder };
185
- //# sourceMappingURL=admin-builder.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-builder.mjs","names":["state: TState","listViews: Record<string, any>","editViews: Record<string, any>"],"sources":["../../../src/client/builder/admin-builder.ts"],"sourcesContent":["/**\n * Admin Builder\n *\n * Main builder class - same pattern as QuestpieBuilder.\n * Single generic TState pattern.\n */\n\nimport {\n\tDEFAULT_LOCALE_CONFIG,\n\ttype Prettify,\n\ttype SetProperty,\n\ttype TypeMerge,\n\ttype UnsetProperty,\n} from \"questpie/shared\";\nimport type {\n\tAdminBuilderState,\n\tFilterEditViews,\n\tFilterListViews,\n} from \"./admin-types\";\nimport { type PageBuilder, page } from \"./page/page\";\nimport type { MaybeLazyComponent } from \"./types/common\";\nimport type { DefaultViewsConfig } from \"./types/views\";\nimport { type WidgetBuilder, widget } from \"./widget/widget\";\n\nexport class AdminBuilder<TState extends AdminBuilderState> {\n\tconstructor(public readonly state: TState) {}\n\n\tstatic empty<TApp = any>(): AdminBuilder<{\n\t\t\"~app\": TApp;\n\t\tfields: {};\n\t\tcomponents: {};\n\t\tlistViews: {};\n\t\teditViews: {};\n\t\tpages: {};\n\t\twidgets: {};\n\t\tblocks: {};\n\t\ttranslations: {};\n\t\tlocale: { default: string; supported: string[] };\n\t\tdefaultViews: {};\n\t}> {\n\t\treturn new AdminBuilder({\n\t\t\t\"~app\": undefined as TApp,\n\t\t\tfields: {},\n\t\t\tcomponents: {},\n\t\t\tlistViews: {},\n\t\t\teditViews: {},\n\t\t\tpages: {},\n\t\t\twidgets: {},\n\t\t\tblocks: {},\n\t\t\ttranslations: {},\n\t\t\tlocale: DEFAULT_LOCALE_CONFIG,\n\t\t\tdefaultViews: {},\n\t\t});\n\t}\n\n\t/**\n\t * Register field definitions\n\t */\n\tfields<TNewFields extends Record<string, any>>(\n\t\tfields: TNewFields,\n\t): AdminBuilder<\n\t\tSetProperty<\n\t\t\tTState,\n\t\t\t\"fields\",\n\t\t\tPrettify<TypeMerge<TState[\"fields\"], TNewFields>>\n\t\t>\n\t> {\n\t\treturn new AdminBuilder({\n\t\t\t...this.state,\n\t\t\tfields: {\n\t\t\t\t...this.state.fields,\n\t\t\t\t...fields,\n\t\t\t},\n\t\t} as any);\n\t}\n\n\t/**\n\t * Register component implementations\n\t */\n\tcomponents<TNewComponents extends Record<string, any>>(\n\t\tcomponents: TNewComponents,\n\t): AdminBuilder<\n\t\tSetProperty<\n\t\t\tTState,\n\t\t\t\"components\",\n\t\t\tPrettify<TypeMerge<TState[\"components\"], TNewComponents>>\n\t\t>\n\t> {\n\t\treturn new AdminBuilder({\n\t\t\t...this.state,\n\t\t\tcomponents: {\n\t\t\t\t...this.state.components,\n\t\t\t\t...components,\n\t\t\t},\n\t\t} as any);\n\t}\n\n\t/**\n\t * Register view definitions (auto-sorted by kind)\n\t */\n\tviews<TNewViews extends Record<string, any>>(\n\t\tviews: TNewViews,\n\t): AdminBuilder<\n\t\tPrettify<\n\t\t\tTypeMerge<\n\t\t\t\tUnsetProperty<TState, \"listViews\" | \"editViews\">,\n\t\t\t\t{\n\t\t\t\t\tlistViews: Prettify<\n\t\t\t\t\t\tTypeMerge<TState[\"listViews\"], FilterListViews<TNewViews>>\n\t\t\t\t\t>;\n\t\t\t\t\teditViews: Prettify<\n\t\t\t\t\t\tTypeMerge<TState[\"editViews\"], FilterEditViews<TNewViews>>\n\t\t\t\t\t>;\n\t\t\t\t}\n\t\t\t>\n\t\t>\n\t> {\n\t\tconst listViews: Record<string, any> = {};\n\t\tconst editViews: Record<string, any> = {};\n\n\t\tfor (const [name, def] of Object.entries(views)) {\n\t\t\t// ViewBuilders now implement Definition interface, so kind is directly accessible\n\t\t\tconst kind = (def as any).kind;\n\t\t\tif (kind === \"list\") {\n\t\t\t\tlistViews[name] = def;\n\t\t\t} else if (kind === \"edit\") {\n\t\t\t\teditViews[name] = def;\n\t\t\t}\n\t\t}\n\n\t\treturn new AdminBuilder({\n\t\t\t...this.state,\n\t\t\tlistViews: { ...this.state.listViews, ...listViews },\n\t\t\teditViews: { ...this.state.editViews, ...editViews },\n\t\t} as any);\n\t}\n\n\t/**\n\t * Register widget definitions\n\t */\n\twidgets<TNewWidgets extends Record<string, any>>(\n\t\twidgets: TNewWidgets,\n\t): AdminBuilder<\n\t\tSetProperty<\n\t\t\tTState,\n\t\t\t\"widgets\",\n\t\t\tPrettify<TypeMerge<TState[\"widgets\"], TNewWidgets>>\n\t\t>\n\t> {\n\t\treturn new AdminBuilder({\n\t\t\t...this.state,\n\t\t\twidgets: {\n\t\t\t\t...this.state.widgets,\n\t\t\t\t...widgets,\n\t\t\t},\n\t\t} as any);\n\t}\n\n\t/**\n\t * Register page definitions\n\t */\n\tpages<TNewPages extends Record<string, any>>(\n\t\tpages: TNewPages,\n\t): AdminBuilder<\n\t\tSetProperty<\n\t\t\tTState,\n\t\t\t\"pages\",\n\t\t\tPrettify<TypeMerge<TState[\"pages\"], TNewPages>>\n\t\t>\n\t> {\n\t\treturn new AdminBuilder({\n\t\t\t...this.state,\n\t\t\tpages: {\n\t\t\t\t...this.state.pages,\n\t\t\t\t...pages,\n\t\t\t},\n\t\t} as any);\n\t}\n\n\t/**\n\t * Compose another builder (merge modules)\n\t */\n\tuse<TOther extends AdminBuilder<any>>(\n\t\tother: TOther,\n\t): AdminBuilder<\n\t\tPrettify<\n\t\t\tTypeMerge<\n\t\t\t\tUnsetProperty<\n\t\t\t\t\tTState,\n\t\t\t\t\t| \"fields\"\n\t\t\t\t\t| \"listViews\"\n\t\t\t\t\t| \"editViews\"\n\t\t\t\t\t| \"widgets\"\n\t\t\t\t\t| \"pages\"\n\t\t\t\t\t| \"components\"\n\t\t\t\t>,\n\t\t\t\t{\n\t\t\t\t\tfields: Prettify<\n\t\t\t\t\t\tTypeMerge<TState[\"fields\"], TOther[\"state\"][\"fields\"]>\n\t\t\t\t\t>;\n\t\t\t\t\tlistViews: Prettify<\n\t\t\t\t\t\tTypeMerge<TState[\"listViews\"], TOther[\"state\"][\"listViews\"]>\n\t\t\t\t\t>;\n\t\t\t\t\teditViews: Prettify<\n\t\t\t\t\t\tTypeMerge<TState[\"editViews\"], TOther[\"state\"][\"editViews\"]>\n\t\t\t\t\t>;\n\t\t\t\t\twidgets: Prettify<\n\t\t\t\t\t\tTypeMerge<TState[\"widgets\"], TOther[\"state\"][\"widgets\"]>\n\t\t\t\t\t>;\n\t\t\t\t\tpages: Prettify<TypeMerge<TState[\"pages\"], TOther[\"state\"][\"pages\"]>>;\n\t\t\t\t\tcomponents: Prettify<\n\t\t\t\t\t\tTypeMerge<TState[\"components\"], TOther[\"state\"][\"components\"]>\n\t\t\t\t\t>;\n\t\t\t\t}\n\t\t\t>\n\t\t>\n\t> {\n\t\tconst otherState = (other as any).state;\n\n\t\treturn new AdminBuilder({\n\t\t\t...this.state,\n\t\t\tfields: { ...this.state.fields, ...otherState.fields },\n\t\t\tlistViews: { ...this.state.listViews, ...otherState.listViews },\n\t\t\teditViews: { ...this.state.editViews, ...otherState.editViews },\n\t\t\twidgets: { ...this.state.widgets, ...otherState.widgets },\n\t\t\tpages: { ...this.state.pages, ...otherState.pages },\n\t\t\tcomponents: { ...this.state.components, ...otherState.components },\n\t\t} as any);\n\t}\n\n\t/**\n\t * Set default views config\n\t */\n\tdefaultViews<TDefaultViews extends DefaultViewsConfig>(\n\t\tconfig: TDefaultViews,\n\t): AdminBuilder<\n\t\tSetProperty<\n\t\t\tTState,\n\t\t\t\"defaultViews\",\n\t\t\tPrettify<TypeMerge<TState[\"defaultViews\"], TDefaultViews>>\n\t\t>\n\t> {\n\t\treturn new AdminBuilder({\n\t\t\t...this.state,\n\t\t\tdefaultViews: {\n\t\t\t\t...(this.state.defaultViews || {}),\n\t\t\t\t...config,\n\t\t\t},\n\t\t} as any);\n\t}\n\n\t/**\n\t * Create a page definition\n\t *\n\t * Creates a custom admin page outside of collections/globals.\n\t *\n\t * @example\n\t * ```ts\n\t * const builder = qa<AppCMS>().use(adminModule);\n\t *\n\t * const analyticsPage = builder.page(\"analytics\", {\n\t * component: AnalyticsPage,\n\t * })\n\t * ```\n\t */\n\tpage<TName extends string, TComponent extends MaybeLazyComponent>(\n\t\tname: TName,\n\t\tconfig: { component: TComponent },\n\t): PageBuilder<{\n\t\tname: TName;\n\t\tcomponent: TComponent;\n\t\tpath: undefined;\n\t}> {\n\t\treturn page(name, config);\n\t}\n\n\t/**\n\t * Create a widget definition\n\t *\n\t * Creates a dashboard widget.\n\t *\n\t * @example\n\t * ```ts\n\t * const builder = qa<AppCMS>().use(adminModule);\n\t *\n\t * const statsWidget = builder.widget(\"stats\", {\n\t * component: StatsWidget,\n\t * })\n\t * ```\n\t */\n\twidget<TName extends string, TComponent extends MaybeLazyComponent>(\n\t\tname: TName,\n\t\tconfig: { component: TComponent },\n\t): WidgetBuilder<{\n\t\tname: TName;\n\t\t\"~config\": any;\n\t\tcomponent: TComponent;\n\t}> {\n\t\treturn widget(name, config);\n\t}\n}\n"],"mappings":";;;;;;;;;;;AAwBA,IAAa,eAAb,MAAa,aAA+C;CAC3D,YAAY,AAAgBA,OAAe;EAAf;;CAE5B,OAAO,QAYJ;AACF,SAAO,IAAI,aAAa;GACvB,QAAQ;GACR,QAAQ,EAAE;GACV,YAAY,EAAE;GACd,WAAW,EAAE;GACb,WAAW,EAAE;GACb,OAAO,EAAE;GACT,SAAS,EAAE;GACX,QAAQ,EAAE;GACV,cAAc,EAAE;GAChB,QAAQ;GACR,cAAc,EAAE;GAChB,CAAC;;;;;CAMH,OACC,QAOC;AACD,SAAO,IAAI,aAAa;GACvB,GAAG,KAAK;GACR,QAAQ;IACP,GAAG,KAAK,MAAM;IACd,GAAG;IACH;GACD,CAAQ;;;;;CAMV,WACC,YAOC;AACD,SAAO,IAAI,aAAa;GACvB,GAAG,KAAK;GACR,YAAY;IACX,GAAG,KAAK,MAAM;IACd,GAAG;IACH;GACD,CAAQ;;;;;CAMV,MACC,OAeC;EACD,MAAMC,YAAiC,EAAE;EACzC,MAAMC,YAAiC,EAAE;AAEzC,OAAK,MAAM,CAAC,MAAM,QAAQ,OAAO,QAAQ,MAAM,EAAE;GAEhD,MAAM,OAAQ,IAAY;AAC1B,OAAI,SAAS,OACZ,WAAU,QAAQ;YACR,SAAS,OACnB,WAAU,QAAQ;;AAIpB,SAAO,IAAI,aAAa;GACvB,GAAG,KAAK;GACR,WAAW;IAAE,GAAG,KAAK,MAAM;IAAW,GAAG;IAAW;GACpD,WAAW;IAAE,GAAG,KAAK,MAAM;IAAW,GAAG;IAAW;GACpD,CAAQ;;;;;CAMV,QACC,SAOC;AACD,SAAO,IAAI,aAAa;GACvB,GAAG,KAAK;GACR,SAAS;IACR,GAAG,KAAK,MAAM;IACd,GAAG;IACH;GACD,CAAQ;;;;;CAMV,MACC,OAOC;AACD,SAAO,IAAI,aAAa;GACvB,GAAG,KAAK;GACR,OAAO;IACN,GAAG,KAAK,MAAM;IACd,GAAG;IACH;GACD,CAAQ;;;;;CAMV,IACC,OAiCC;EACD,MAAM,aAAc,MAAc;AAElC,SAAO,IAAI,aAAa;GACvB,GAAG,KAAK;GACR,QAAQ;IAAE,GAAG,KAAK,MAAM;IAAQ,GAAG,WAAW;IAAQ;GACtD,WAAW;IAAE,GAAG,KAAK,MAAM;IAAW,GAAG,WAAW;IAAW;GAC/D,WAAW;IAAE,GAAG,KAAK,MAAM;IAAW,GAAG,WAAW;IAAW;GAC/D,SAAS;IAAE,GAAG,KAAK,MAAM;IAAS,GAAG,WAAW;IAAS;GACzD,OAAO;IAAE,GAAG,KAAK,MAAM;IAAO,GAAG,WAAW;IAAO;GACnD,YAAY;IAAE,GAAG,KAAK,MAAM;IAAY,GAAG,WAAW;IAAY;GAClE,CAAQ;;;;;CAMV,aACC,QAOC;AACD,SAAO,IAAI,aAAa;GACvB,GAAG,KAAK;GACR,cAAc;IACb,GAAI,KAAK,MAAM,gBAAgB,EAAE;IACjC,GAAG;IACH;GACD,CAAQ;;;;;;;;;;;;;;;;CAiBV,KACC,MACA,QAKE;AACF,SAAO,KAAK,MAAM,OAAO;;;;;;;;;;;;;;;;CAiB1B,OACC,MACA,QAKE;AACF,SAAO,OAAO,MAAM,OAAO"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin-types.d.mts","names":[],"sources":["../../../src/client/builder/admin-types.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;AAsCA;AACA;AACA;AACY,KAlBA,eAAA,GAAkB,MAkBA,CAAA,MAAG,EAlBY,cAkBN,CAAA;AAgBtB,KA5BL,kBAAA,GAAqB,MA4BC,CAAA,MAAA,EA5Bc,eA4Bd,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA;AAEjB,KA7BL,qBAAA,GAAwB,MA6BnB,CAAA,MAAA,EA3BhB,kBA2BgB,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA;AAAqB,KAzB1B,qBAAA,GAAwB,MAyBE,CAAA,MAAA,EAvBrC,kBAuBqC,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA;AACjB,KAtBT,iBAAA,GAAoB,MAsBX,CAAA,MAAA,EAtB0B,cAsB1B,CAAA,MAAA,CAAA,CAAA;AAAyB,KArBlC,mBAAA,GAAsB,MAqBY,CAAA,MAAA,EArBG,gBAqBH,CAAA,MAAA,EAAA,GAAA,CAAA,CAAA;AAC1B,KArBR,sBAAA,GAAyB,MAqBjB,CAAA,MAAA,EArBgC,kBAqBhC,CAAA,GAAA,CAAA,CAAA;AAAwB,KApBhC,kBAAA,GAAqB,MAoBW,CAAA,MAAA,EAAA,KAAA,CAAA;;;;;;;;;AAKH,UATxB,iBASwB,CAAA,OAAA,GAAA,EAAA,gBAPxB,kBAOwB,GAPH,kBAOG,EAAA,oBANpB,sBAMoB,GANK,sBAML,EAAA,mBALrB,qBAKqB,GALG,qBAKH,EAAA,mBAJrB,qBAIqB,GAJG,qBAIH,EAAA,eAHzB,iBAGyB,GAHL,iBAGK,EAAA,iBAFvB,mBAEuB,GAFD,mBAEC,EAAA,gBADxB,kBACwB,GADH,kBACG,EAAA,sBAAlB,eAAkB,GAAA,eAAA,CAAA,CAAA;EAGhC,MAAA,EAAA,IAAA;EAGA,MAAA,EAAA,OAAA;EACI,UAAA,EAAA,WAAA;EACD,SAAA,EAAA,UAAA;EACA,SAAA,EAAA,UAAA;EACJ,KAAA,EAAA,MAAA;EACE,OAAA,EAAA,QAAA;EACD,MAAA,EAAA,OAAA;EACM,YAAA,EAAA,aAAA;EAGN,MAAA,EAAA,YAAA;EACM,YAAA,EAAA,kBAAA;;;;;;KA4EH,iBAAiB;;;;QAE1B;;;;;;KAOS,gBAAgB,YAAY;;;;KAK5B,gBAAgB,YAAY;;;;KAK5B,0BAA0B,qCACzB,KAAK,WAAW,EAAE,mBAAmB,YAAY,EAAE;;;;KAMpD,0BAA0B,qCACzB,KAAK,WAAW,EAAE,mBAAmB,YAAY,EAAE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin.d.mts","names":[],"sources":["../../../src/client/builder/admin.ts"],"sourcesContent":[],"mappings":";;;;;;;;;AAqCA;KAZK,mBAYiC,CAAA,CAAA,CAAA,GAZR,CAYQ,SAAA;EAAoB,KAAA,EAAA,KAAA,EAAA;CACzC,GAAA,CAAA,GAbgD,CAahD;;;;KARZ,oBASI,CAAA,CAAA,CAAA,GAAA,QAsBI,MA9BC,CA8BI,GA9BA,mBA8BA,CA9BoB,CA8BpB,CA9BsB,CA8BtB,CAAA,CAAA,EAAgB;;;;AAMA,KA9BtB,UA8BsB,CAAA,iBA9BI,iBA8BJ,GA9BwB,iBA8BxB,CAAA,GA7B9B,YA6B8B,CA7BjB,QA6BiB,CAAA,GA5B9B,KA4B8B,CA5BxB,QA4BwB,CAAA;;;;;;;;;;;;;;;;;AA0KR,cAhLb,KAgLa,CAAA,iBAhLQ,iBAgLR,GAhL4B,iBAgL5B,CAAA,CAAA;EAOR,SAAA,KAAA,EAtLmB,QAsLnB;EAOA,WAAA,CAAA,KAAA,EA7LmB,QA6LnB;EAOF;;AAYhB;EAUY,OAAA,SAAQ,CAAA,iBArNc,iBAqNd,CAAA,CAAA,KAAA,EApNT,UAoNS,CApNE,QAoNF,CAAA,CAAA,EAnNf,KAmNe,CAnNT,QAmNS,CAAA;EAClB;;;;EAEU,QAAA,CAAA,CAAA,EAvME,oBAuMF,CAvMuB,QAuMvB,CAAA,OAAA,CAAA,CAAA;EAAN;;;mBAjLa,qBAAqB;;;;8BAmBnC,oBAAoB;;;;;+BAepB,oBAAoB;;;;qBAiBJ;;;;eAWN;;;;;;;;;;;;;;;;;qBAmDM;;;;eAWN;;;;0BAOW;;;;kBAOR;;;;kBAOA;;;;gBAOF;;;;;KAYJ,wBACV,eAAe;;;;;;KASL,QAAA,GACV,wBAAwB,6BACpB,MAAM,UACN,MAAM"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"admin.mjs","names":["state: TState","result: Record<string, any>"],"sources":["../../../src/client/builder/admin.ts"],"sourcesContent":["/**\n * Admin Runtime Class\n *\n * Wraps AdminBuilder state with runtime methods for accessing configuration.\n * This is what gets passed to AdminProvider and used throughout the admin UI.\n */\n\nimport { DEFAULT_LOCALE, DEFAULT_LOCALE_CONFIG } from \"questpie/shared\";\nimport type { AdminBuilder } from \"./admin-builder\";\nimport type { AdminBuilderState } from \"./admin-types\";\nimport type {\n RegisteredAdmin,\n RegisteredCMS,\n RegisteredCollectionNames,\n RegisteredGlobalNames,\n} from \"./registry\";\n\n// ============================================================================\n// Type Helpers for State Extraction\n// ============================================================================\n\n/**\n * Extract state from a builder or return the value as-is.\n * Builders have a `state` property, plain configs do not.\n */\ntype ExtractBuilderState<T> = T extends { state: infer S } ? S : T;\n\n/**\n * Map over a record and extract state from each builder value.\n */\ntype ExtractBuilderStates<T> = {\n [K in keyof T]: ExtractBuilderState<T[K]>;\n};\n\n/**\n * Input type for Admin - accepts either an AdminBuilder or Admin instance\n */\nexport type AdminInput<TState extends AdminBuilderState = AdminBuilderState> =\n | AdminBuilder<TState>\n | Admin<TState>;\n\n// ============================================================================\n// Admin Class\n// ============================================================================\n\n/**\n * Admin runtime instance\n *\n * Provides methods to access admin configuration at runtime.\n *\n * @example\n * ```ts\n * import { Admin } from \"@questpie/admin/builder\";\n *\n * // Direct usage - pass builder to AdminLayoutProvider\n * <AdminLayoutProvider admin={admin} ... />\n *\n * // Or create Admin instance explicitly if needed\n * const adminInstance = Admin.normalize(adminBuilder);\n * ```\n */\nexport class Admin<TState extends AdminBuilderState = AdminBuilderState> {\n constructor(public readonly state: TState) {}\n\n /**\n * Normalize input to Admin instance (internal helper)\n */\n static normalize<TState extends AdminBuilderState>(\n input: AdminInput<TState>,\n ): Admin<TState> {\n if (input instanceof Admin) {\n return input;\n }\n return new Admin(input.state);\n }\n\n // ============================================================================\n // Page Methods\n // ============================================================================\n\n /**\n * Get all custom page configurations.\n * Automatically extracts `.state` from builders.\n */\n getPages(): ExtractBuilderStates<TState[\"pages\"]> {\n const pages = this.state.pages ?? {};\n const result: Record<string, any> = {};\n\n for (const [name, config] of Object.entries(pages)) {\n // Extract state from builders, pass through plain configs\n result[name] =\n config && typeof config === \"object\" && \"state\" in config\n ? (config as any).state\n : config;\n }\n\n return result as ExtractBuilderStates<TState[\"pages\"]>;\n }\n\n // ============================================================================\n // Component Methods\n // ============================================================================\n\n /**\n * Get all registered component implementations.\n */\n getComponents(): ExtractBuilderStates<TState[\"components\"]> {\n const components = this.state.components ?? {};\n const result: Record<string, any> = {};\n\n for (const [name, config] of Object.entries(components)) {\n result[name] =\n config && typeof config === \"object\" && \"state\" in config\n ? (config as any).state\n : config;\n }\n\n return result as ExtractBuilderStates<TState[\"components\"]>;\n }\n\n /**\n * Get a specific component implementation by name.\n */\n getComponent(\n name: string,\n ): ExtractBuilderState<TState[\"components\"][string]> | undefined {\n const config = (this.state.components as Record<string, any>)?.[name];\n if (!config) return undefined;\n\n return config && typeof config === \"object\" && \"state\" in config\n ? config.state\n : config;\n }\n\n /**\n * Get configuration for a specific page.\n * Automatically extracts `.state` from builder.\n */\n getPageConfig(\n name: string,\n ): ExtractBuilderState<TState[\"pages\"][string]> | undefined {\n const config = (this.state.pages as Record<string, any>)?.[name];\n if (!config) return undefined;\n\n // Extract state from builder, pass through plain config\n return config && typeof config === \"object\" && \"state\" in config\n ? config.state\n : config;\n }\n\n // ============================================================================\n // UI Configuration Methods\n // ============================================================================\n\n /**\n * Get default views configuration\n */\n getDefaultViews(): TState[\"defaultViews\"] {\n return this.state.defaultViews ?? ({} as TState[\"defaultViews\"]);\n }\n\n // ============================================================================\n // Locale Methods\n // ============================================================================\n\n /**\n * Get locale configuration\n */\n getLocale(): TState[\"locale\"] {\n return this.state.locale ?? DEFAULT_LOCALE_CONFIG;\n }\n\n /**\n * Get available locales\n */\n getAvailableLocales(): string[] {\n return this.getLocale().supported ?? [DEFAULT_LOCALE];\n }\n\n /**\n * Get default locale\n */\n getDefaultLocale(): string {\n return this.getLocale().default ?? DEFAULT_LOCALE;\n }\n\n /**\n * Get human-readable label for a locale\n */\n getLocaleLabel(locale: string): string {\n // TODO: Support custom labels from locale config\n const labels: Record<string, string> = {\n en: \"English\",\n sk: \"Slovencina\",\n cs: \"Cestina\",\n de: \"Deutsch\",\n fr: \"Francais\",\n es: \"Espanol\",\n it: \"Italiano\",\n pt: \"Portugues\",\n pl: \"Polski\",\n nl: \"Nederlands\",\n ru: \"Russkij\",\n uk: \"Ukrainska\",\n ja: \"Nihongo\",\n ko: \"Hangugeo\",\n zh: \"Zhongwen\",\n };\n return labels[locale] ?? locale.toUpperCase();\n }\n\n // ============================================================================\n // Translations Methods\n // ============================================================================\n\n /**\n * Get translations map from builder state\n * Used by AdminProvider to initialize i18n\n */\n getTranslations(): TState[\"translations\"] {\n return this.state.translations ?? ({} as TState[\"translations\"]);\n }\n\n // ============================================================================\n // Registry Methods (for field/view lookups)\n // ============================================================================\n\n /**\n * Get all registered field definitions\n */\n getFields(): TState[\"fields\"] {\n return this.state.fields ?? ({} as TState[\"fields\"]);\n }\n\n /**\n * Get a specific field definition\n */\n getField(name: string): TState[\"fields\"][string] | undefined {\n return (this.state.fields as Record<string, any>)?.[name];\n }\n\n /**\n * Get all registered list view definitions\n */\n getListViews(): TState[\"listViews\"] {\n return this.state.listViews ?? ({} as TState[\"listViews\"]);\n }\n\n /**\n * Get all registered edit view definitions\n */\n getEditViews(): TState[\"editViews\"] {\n return this.state.editViews ?? ({} as TState[\"editViews\"]);\n }\n\n /**\n * Get all registered widget definitions\n */\n getWidgets(): TState[\"widgets\"] {\n return this.state.widgets ?? ({} as TState[\"widgets\"]);\n }\n}\n\n// ============================================================================\n// Type Helpers\n// ============================================================================\n\n/**\n * Infer the CMS type from an Admin instance\n */\nexport type InferAdminCMS<TAdmin> =\n TAdmin extends Admin<infer TState>\n ? TState extends { \"~app\": infer TApp }\n ? TApp\n : unknown\n : unknown;\n\n/**\n * Get the registered Admin type (from module augmentation)\n */\nexport type AppAdmin =\n RegisteredAdmin extends AdminBuilder<infer TState>\n ? Admin<TState>\n : Admin<AdminBuilderState>;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AA6DA,IAAa,QAAb,MAAa,MAA4D;CACvE,YAAY,AAAgBA,OAAe;EAAf;;;;;CAK5B,OAAO,UACL,OACe;AACf,MAAI,iBAAiB,MACnB,QAAO;AAET,SAAO,IAAI,MAAM,MAAM,MAAM;;;;;;CAW/B,WAAkD;EAChD,MAAM,QAAQ,KAAK,MAAM,SAAS,EAAE;EACpC,MAAMC,SAA8B,EAAE;AAEtC,OAAK,MAAM,CAAC,MAAM,WAAW,OAAO,QAAQ,MAAM,CAEhD,QAAO,QACL,UAAU,OAAO,WAAW,YAAY,WAAW,SAC9C,OAAe,QAChB;AAGR,SAAO;;;;;CAUT,gBAA4D;EAC1D,MAAM,aAAa,KAAK,MAAM,cAAc,EAAE;EAC9C,MAAMA,SAA8B,EAAE;AAEtC,OAAK,MAAM,CAAC,MAAM,WAAW,OAAO,QAAQ,WAAW,CACrD,QAAO,QACL,UAAU,OAAO,WAAW,YAAY,WAAW,SAC9C,OAAe,QAChB;AAGR,SAAO;;;;;CAMT,aACE,MAC+D;EAC/D,MAAM,SAAU,KAAK,MAAM,aAAqC;AAChE,MAAI,CAAC,OAAQ,QAAO;AAEpB,SAAO,UAAU,OAAO,WAAW,YAAY,WAAW,SACtD,OAAO,QACP;;;;;;CAON,cACE,MAC0D;EAC1D,MAAM,SAAU,KAAK,MAAM,QAAgC;AAC3D,MAAI,CAAC,OAAQ,QAAO;AAGpB,SAAO,UAAU,OAAO,WAAW,YAAY,WAAW,SACtD,OAAO,QACP;;;;;CAUN,kBAA0C;AACxC,SAAO,KAAK,MAAM,gBAAiB,EAAE;;;;;CAUvC,YAA8B;AAC5B,SAAO,KAAK,MAAM,UAAU;;;;;CAM9B,sBAAgC;AAC9B,SAAO,KAAK,WAAW,CAAC,aAAa,CAAC,eAAe;;;;;CAMvD,mBAA2B;AACzB,SAAO,KAAK,WAAW,CAAC,WAAW;;;;;CAMrC,eAAe,QAAwB;AAmBrC,SAjBuC;GACrC,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,IAAI;GACL,CACa,WAAW,OAAO,aAAa;;;;;;CAW/C,kBAA0C;AACxC,SAAO,KAAK,MAAM,gBAAiB,EAAE;;;;;CAUvC,YAA8B;AAC5B,SAAO,KAAK,MAAM,UAAW,EAAE;;;;;CAMjC,SAAS,MAAoD;AAC3D,SAAQ,KAAK,MAAM,SAAiC;;;;;CAMtD,eAAoC;AAClC,SAAO,KAAK,MAAM,aAAc,EAAE;;;;;CAMpC,eAAoC;AAClC,SAAO,KAAK,MAAM,aAAc,EAAE;;;;;CAMpC,aAAgC;AAC9B,SAAO,KAAK,MAAM,WAAY,EAAE"}
@@ -1,20 +0,0 @@
1
- import { Badge, IconifyIcon } from "../../components/component-renderer.mjs";
2
-
3
- //#region src/client/builder/defaults/components.ts
4
- /**
5
- * Built-in Component Registry
6
- *
7
- * Default component implementations used by the admin UI.
8
- * Registered through AdminBuilder.components() so nothing is hardcoded.
9
- */
10
- /**
11
- * Built-in components registry
12
- */
13
- const builtInComponents = {
14
- icon: IconifyIcon,
15
- badge: Badge
16
- };
17
-
18
- //#endregion
19
- export { builtInComponents };
20
- //# sourceMappingURL=components.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"components.mjs","names":[],"sources":["../../../../src/client/builder/defaults/components.ts"],"sourcesContent":["/**\n * Built-in Component Registry\n *\n * Default component implementations used by the admin UI.\n * Registered through AdminBuilder.components() so nothing is hardcoded.\n */\n\nimport { Badge, IconifyIcon } from \"../../components/component-renderer\";\n\n/**\n * Built-in components registry\n */\nexport const builtInComponents = {\n icon: IconifyIcon,\n badge: Badge,\n} as const;\n"],"mappings":";;;;;;;;;;;;AAYA,MAAa,oBAAoB;CAC/B,MAAM;CACN,OAAO;CACR"}