@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,1062 +0,0 @@
1
- import { BlockBuilder } from "./block/block-builder.mjs";
2
- import { createBlocksPrefetchHook } from "./block/prefetch.mjs";
3
- import { CollectionBuilder, GlobalBuilder, QuestpieBuilder, createFieldBuilder, createFieldDefinition } from "questpie";
4
-
5
- //#region src/server/patch.ts
6
- /**
7
- * Runtime Monkey Patching for Admin Builder Methods
8
- *
9
- * This module patches QuestpieBuilder, CollectionBuilder, and GlobalBuilder
10
- * with admin-specific methods when adminModule is used.
11
- *
12
- * The patches add these methods:
13
- * - QuestpieBuilder: listView(), editView(), component(), listViews(), editViews(), components()
14
- * - CollectionBuilder: admin(), list(), form(), preview()
15
- * - GlobalBuilder: admin(), form()
16
- *
17
- * Type augmentation is handled by ./augmentation.ts which extends the builder types.
18
- *
19
- * @internal This module is automatically imported by adminModule.
20
- */
21
- let patchesApplied = false;
22
- /**
23
- * Resolve registry source state.
24
- *
25
- * - Collection/Global builders: registry lives on `state["~questpieApp"].state`
26
- * - QuestpieBuilder: registry lives on `state`
27
- */
28
- function getRegistrySourceState(builderState) {
29
- const questpieApp = builderState["~questpieApp"];
30
- if (questpieApp?.state && typeof questpieApp.state === "object") return questpieApp.state;
31
- return builderState;
32
- }
33
- /**
34
- * Resolve registered component names from builder state.
35
- */
36
- function getRegisteredComponentNames(builderState) {
37
- const components = getRegistrySourceState(builderState).components;
38
- if (!components || typeof components !== "object") return [];
39
- return Object.keys(components);
40
- }
41
- /**
42
- * Normalize component props into a serializable object.
43
- *
44
- * Backward compatibility:
45
- * - `c.icon("ph:users")` => `{ name: "ph:users" }`
46
- */
47
- function normalizeComponentProps(componentType, props) {
48
- if (componentType === "icon" && typeof props === "string") return { name: props };
49
- if (props === null || props === void 0) return {};
50
- if (typeof props === "object") return props;
51
- return { value: props };
52
- }
53
- /**
54
- * Create a component proxy for registered component references.
55
- * Used in admin config functions (`.admin()`, `.actions()`, `.dashboard()`, `.sidebar()`).
56
- *
57
- * @example
58
- * ```ts
59
- * .admin(({ c }) => ({
60
- * icon: c.icon("ph:users"),
61
- * badge: c.badge({ text: "New", color: "green" }),
62
- * }))
63
- * ```
64
- */
65
- function createComponentProxy(builderState) {
66
- const componentNames = getRegisteredComponentNames(builderState);
67
- const registeredComponentSet = new Set(componentNames);
68
- return new Proxy({}, {
69
- get: (_target, prop) => {
70
- if (typeof prop !== "string") return;
71
- if (prop === "then") return;
72
- if (registeredComponentSet.size === 0) throw new Error("No components registered. Register components via .components() or use q.use(adminModule) defaults.");
73
- if (!registeredComponentSet.has(prop)) throw new Error(`Unknown component "${prop}". Register it via .components(). Available components: ${[...registeredComponentSet].sort().join(", ")}`);
74
- return (props) => ({
75
- type: prop,
76
- props: normalizeComponentProps(prop, props)
77
- });
78
- },
79
- has: (_target, prop) => {
80
- if (typeof prop !== "string") return false;
81
- return registeredComponentSet.has(prop);
82
- },
83
- ownKeys: () => [...registeredComponentSet],
84
- getOwnPropertyDescriptor: (_target, prop) => {
85
- if (typeof prop !== "string") return;
86
- if (!registeredComponentSet.has(prop)) return;
87
- return {
88
- configurable: true,
89
- enumerable: true,
90
- writable: false,
91
- value: (props) => ({
92
- type: prop,
93
- props: normalizeComponentProps(prop, props)
94
- })
95
- };
96
- }
97
- });
98
- }
99
- /**
100
- * Create a field proxy for referencing collection fields.
101
- * Returns field names as strings for config objects.
102
- *
103
- * @example
104
- * ```ts
105
- * .list(({ f }) => ({
106
- * columns: [f.title, f.author, f.createdAt],
107
- * }))
108
- * ```
109
- */
110
- function createFieldProxy(fieldNames) {
111
- return new Proxy({}, {
112
- get: (_target, prop) => prop,
113
- has: (_target, prop) => fieldNames.includes(prop),
114
- ownKeys: () => fieldNames,
115
- getOwnPropertyDescriptor: (_target, prop) => {
116
- if (fieldNames.includes(prop)) return {
117
- configurable: true,
118
- enumerable: true,
119
- value: prop
120
- };
121
- }
122
- });
123
- }
124
- /**
125
- * Create a view proxy for defining view configurations.
126
- *
127
- * If the builder is bound to a Questpie app with registered views
128
- * (`.listViews()` / `.editViews()`), the proxy only allows those names.
129
- * If no registry is available (standalone builders), any view name is allowed.
130
- *
131
- * @example
132
- * ```ts
133
- * .list(({ v }) => v.table({
134
- * columns: [...],
135
- * defaultSort: { field: "createdAt", direction: "desc" },
136
- * }))
137
- * ```
138
- */
139
- function createViewProxy(kind, registeredViews = []) {
140
- const registeredViewSet = new Set(registeredViews);
141
- const hasRegistry = registeredViewSet.size > 0;
142
- return new Proxy({}, {
143
- get: (_target, prop) => {
144
- if (typeof prop !== "string") return;
145
- if (prop === "then") return;
146
- const registerMethod = kind === "list" ? "listViews" : "editViews";
147
- if (!hasRegistry) throw new Error(`No ${kind} views registered. Register them via .${registerMethod}() or use q.use(adminModule) defaults.`);
148
- if (!registeredViewSet.has(prop)) {
149
- const available = [...registeredViewSet].sort().join(", ");
150
- throw new Error(`Unknown ${kind} view "${prop}". Register it via .${registerMethod}(). Available ${kind} views: ${available || "(none)"}`);
151
- }
152
- return (config = {}) => ({
153
- view: prop,
154
- ...config
155
- });
156
- },
157
- has: (_target, prop) => {
158
- if (typeof prop !== "string") return false;
159
- return hasRegistry && registeredViewSet.has(prop);
160
- },
161
- ownKeys: () => hasRegistry ? [...registeredViewSet] : [],
162
- getOwnPropertyDescriptor: (_target, prop) => {
163
- if (typeof prop !== "string") return;
164
- if (hasRegistry && !registeredViewSet.has(prop)) return;
165
- return {
166
- configurable: true,
167
- enumerable: hasRegistry,
168
- writable: false,
169
- value: (config = {}) => ({
170
- view: prop,
171
- ...config
172
- })
173
- };
174
- }
175
- });
176
- }
177
- /**
178
- * Resolve registered view names from a builder's parent Questpie app state.
179
- */
180
- function getRegisteredViewNames(builderState, kind) {
181
- const views = getRegistrySourceState(builderState)[kind === "list" ? "listViews" : "editViews"];
182
- if (!views || typeof views !== "object") return [];
183
- return Object.keys(views);
184
- }
185
- /**
186
- * Validate a selected view name against registered view names.
187
- */
188
- function ensureRegisteredView(kind, viewName, registeredViews) {
189
- if (registeredViews.length === 0 || typeof viewName !== "string") return;
190
- if (registeredViews.includes(viewName)) return;
191
- const registerMethod = kind === "list" ? "listViews" : "editViews";
192
- throw new Error(`Unknown ${kind} view "${viewName}". Register it via .${registerMethod}(). Available ${kind} views: ${registeredViews.sort().join(", ")}`);
193
- }
194
- /**
195
- * Create an action proxy for referencing built-in and custom actions.
196
- *
197
- * @example
198
- * ```ts
199
- * .list(({ a }) => ({
200
- * actions: {
201
- * header: { primary: [a.create] },
202
- * bulk: [a.delete, a.export],
203
- * },
204
- * }))
205
- * ```
206
- */
207
- function createActionProxy() {
208
- return {
209
- create: "create",
210
- save: "save",
211
- delete: "delete",
212
- deleteMany: "deleteMany",
213
- duplicate: "duplicate",
214
- export: "export",
215
- custom: (name, config) => ({
216
- type: name,
217
- config
218
- })
219
- };
220
- }
221
- /**
222
- * Create action helpers for dashboard header actions.
223
- */
224
- function createDashboardActionProxy() {
225
- const toCollectionCreatePath = (collection) => `/admin/collections/${collection}/create`;
226
- const toGlobalPath = (global) => `/admin/globals/${global}`;
227
- return {
228
- action: (config) => config,
229
- link: (config) => config,
230
- create: ({ collection, ...config }) => ({
231
- ...config,
232
- href: toCollectionCreatePath(collection)
233
- }),
234
- global: ({ global, ...config }) => ({
235
- ...config,
236
- href: toGlobalPath(global)
237
- })
238
- };
239
- }
240
- /**
241
- * Create an actions config context for the .actions() method.
242
- * Provides builders for both built-in and custom actions.
243
- *
244
- * @example
245
- * ```ts
246
- * .actions(({ a, c, f }) => ({
247
- * builtin: [a.create(), a.delete(), a.deleteMany()],
248
- * custom: [
249
- * a.action({
250
- * id: "send-email",
251
- * label: { en: "Send Email" },
252
- * icon: c.icon("ph:envelope"),
253
- * form: {
254
- * title: { en: "Send Email" },
255
- * fields: {
256
- * subject: f.text({ label: { en: "Subject" }, required: true }),
257
- * message: f.textarea({ label: { en: "Message" } }),
258
- * },
259
- * },
260
- * handler: async ({ data }) => {
261
- * return { type: "success", toast: { message: "Email sent!" } };
262
- * },
263
- * }),
264
- * ],
265
- * }))
266
- * ```
267
- */
268
- function createActionsConfigContext(builderState, fieldRegistry) {
269
- const fieldProxy = new Proxy({}, { get: (_target, prop) => {
270
- const factory = fieldRegistry[prop];
271
- if (!factory) {
272
- const available = Object.keys(fieldRegistry).sort();
273
- if (available.length === 0) throw new Error("No field types registered for action form fields. Register fields on the Questpie builder before using .actions().");
274
- throw new Error(`Unknown field type: "${prop}". Available types: ${available.join(", ")}`);
275
- }
276
- return (config) => factory(config);
277
- } });
278
- return {
279
- a: {
280
- create: () => "create",
281
- save: () => "save",
282
- delete: () => "delete",
283
- deleteMany: () => "deleteMany",
284
- duplicate: () => "duplicate",
285
- action: (def) => ({
286
- ...def,
287
- scope: def.scope ?? "single"
288
- }),
289
- bulkAction: (def) => ({
290
- ...def,
291
- scope: "bulk"
292
- }),
293
- headerAction: (def) => ({
294
- ...def,
295
- scope: "header"
296
- })
297
- },
298
- c: createComponentProxy(builderState),
299
- f: fieldProxy
300
- };
301
- }
302
- /**
303
- * Patch QuestpieBuilder with admin methods
304
- */
305
- function patchQuestpieBuilder() {
306
- const proto = QuestpieBuilder.prototype;
307
- /**
308
- * Create a list view definition.
309
- * Returns a definition object for use in .listViews()
310
- */
311
- proto.listView = (name, config = {}) => ({
312
- type: "listView",
313
- name,
314
- ...config
315
- });
316
- /**
317
- * Create an edit view definition.
318
- * Returns a definition object for use in .editViews()
319
- */
320
- proto.editView = (name, config = {}) => ({
321
- type: "editView",
322
- name,
323
- ...config
324
- });
325
- /**
326
- * Create a component definition.
327
- * Returns a definition object for use in .components()
328
- */
329
- proto.component = (name, config = {}) => ({
330
- type: "component",
331
- name,
332
- ...config
333
- });
334
- /**
335
- * Register list views on the builder.
336
- * Merges with existing list views.
337
- */
338
- proto.listViews = function(views) {
339
- return new QuestpieBuilder({
340
- ...this.state,
341
- listViews: {
342
- ...this.state.listViews || {},
343
- ...views
344
- }
345
- });
346
- };
347
- /**
348
- * Register edit views on the builder.
349
- * Merges with existing edit views.
350
- */
351
- proto.editViews = function(views) {
352
- return new QuestpieBuilder({
353
- ...this.state,
354
- editViews: {
355
- ...this.state.editViews || {},
356
- ...views
357
- }
358
- });
359
- };
360
- /**
361
- * Register components on the builder.
362
- * Merges with existing components.
363
- */
364
- proto.components = function(components) {
365
- return new QuestpieBuilder({
366
- ...this.state,
367
- components: {
368
- ...this.state.components || {},
369
- ...components
370
- }
371
- });
372
- };
373
- /**
374
- * Register block types for the visual block editor.
375
- * Blocks are built and stored on the state for use by blocks fields.
376
- *
377
- * Accepts three input shapes per block:
378
- * - **Server BlockBuilder** (legacy): `block("hero").fields(...).prefetch(...)`
379
- * - **Client BlockDefinition**: `heroBlock` (auto-expansion handles relations)
380
- * - **With manual prefetch**: `{ block: heroBlock, prefetch: async ({ values, ctx }) => ({...}) }`
381
- *
382
- * Relation and upload fields are auto-expanded in the afterRead hook.
383
- * Use the `{ block, prefetch }` shape for custom data that can't be auto-expanded.
384
- *
385
- * @example
386
- * ```ts
387
- * import { heroBlock, textBlock } from "./blocks";
388
- *
389
- * const cms = q({ name: "my-app" })
390
- * .use(adminModule)
391
- * .blocks({
392
- * // Simple block - relations auto-expanded
393
- * hero: heroBlock,
394
- * text: textBlock,
395
- * // Block with manual prefetch for custom data
396
- * featuredPosts: {
397
- * block: featuredPostsBlock,
398
- * prefetch: async ({ values, ctx }) => {
399
- * const posts = await ctx.app.api.collections.posts.find({ limit: values.count });
400
- * return { posts: posts.docs };
401
- * },
402
- * },
403
- * })
404
- * .build({ ... });
405
- * ```
406
- */
407
- proto.blocks = function(blocks) {
408
- const builtBlocks = {};
409
- for (const [name, blockInput] of Object.entries(blocks)) {
410
- if (typeof blockInput.build === "function" && typeof blockInput.state?.name === "string") {
411
- const blockBuilder = blockInput;
412
- const state = blockBuilder.state;
413
- if (state._fieldsFactory && this.state.fields) {
414
- const fieldProxy = createFieldBuilder(this.state.fields);
415
- state.fields = state._fieldsFactory(fieldProxy);
416
- delete state._fieldsFactory;
417
- }
418
- builtBlocks[name] = blockBuilder.build();
419
- continue;
420
- }
421
- let blockDef;
422
- let prefetchFn;
423
- if ("block" in blockInput && typeof blockInput.block === "object" && blockInput.block !== null && "name" in blockInput.block) {
424
- const wrapper = blockInput;
425
- blockDef = wrapper.block;
426
- prefetchFn = wrapper.prefetch;
427
- } else blockDef = blockInput;
428
- builtBlocks[name] = {
429
- name: blockDef.name || name,
430
- state: {
431
- ...blockDef.state,
432
- prefetch: prefetchFn || blockDef.state.prefetch
433
- },
434
- getFieldMetadata: blockDef.getFieldMetadata.bind(blockDef),
435
- executePrefetch: async (values, ctx) => {
436
- if (prefetchFn) return prefetchFn({
437
- values,
438
- ctx
439
- });
440
- return blockDef.executePrefetch(values, ctx);
441
- }
442
- };
443
- }
444
- return new QuestpieBuilder({
445
- ...this.state,
446
- blocks: {
447
- ...this.state.blocks || {},
448
- ...builtBlocks
449
- }
450
- });
451
- };
452
- /**
453
- * Create a block builder bound to this Questpie builder.
454
- * The block has access to all registered field types from `.fields()`.
455
- *
456
- * @example
457
- * ```ts
458
- * const qb = q.use(adminModule);
459
- *
460
- * const heroBlock = qb.block("hero")
461
- * .label({ en: "Hero Section" })
462
- * .icon("ph:image")
463
- * .fields((f) => ({
464
- * title: f.text({ required: true }), // ✅ typed from builder's field registry
465
- * subtitle: f.text(),
466
- * }));
467
- *
468
- * const cms = qb
469
- * .blocks({ hero: heroBlock })
470
- * .build({ ... });
471
- * ```
472
- */
473
- proto.block = function(name) {
474
- const registeredComponents = getRegisteredComponentNames(this.state);
475
- return new BlockBuilder({
476
- name,
477
- "~components": registeredComponents
478
- });
479
- };
480
- /**
481
- * Configure the admin dashboard.
482
- * Widgets that need data (stats, chart, recentItems) are executed on server.
483
- *
484
- * @example
485
- * ```ts
486
- * .dashboard(({ d, c, a }) => d.dashboard({
487
- * title: { en: "Dashboard" },
488
- * actions: [
489
- * a.create({
490
- * id: "new-user",
491
- * collection: "users",
492
- * label: { en: "New User" },
493
- * icon: c.icon("ph:user-plus"),
494
- * }),
495
- * ],
496
- * items: [
497
- * d.section({
498
- * label: { en: "Overview" },
499
- * items: [
500
- * d.stats({ collection: "users", label: { en: "Total Users" } }),
501
- * ],
502
- * }),
503
- * ],
504
- * }))
505
- * ```
506
- */
507
- proto.dashboard = function(configFn) {
508
- const dashboard = configFn({
509
- a: createDashboardActionProxy(),
510
- d: {
511
- dashboard: (config) => config,
512
- section: (config) => ({
513
- type: "section",
514
- ...config
515
- }),
516
- tabs: (config) => ({
517
- type: "tabs",
518
- ...config
519
- }),
520
- stats: (config) => ({
521
- type: "stats",
522
- ...config
523
- }),
524
- chart: (config) => ({
525
- type: "chart",
526
- ...config
527
- }),
528
- recentItems: (config) => ({
529
- type: "recentItems",
530
- ...config
531
- }),
532
- quickActions: (config) => ({
533
- type: "quickActions",
534
- ...config
535
- }),
536
- custom: (config) => ({
537
- type: "custom",
538
- ...config
539
- }),
540
- value: (config) => ({
541
- type: "value",
542
- ...config
543
- }),
544
- table: (config) => ({
545
- type: "table",
546
- ...config
547
- }),
548
- timeline: (config) => ({
549
- type: "timeline",
550
- ...config
551
- }),
552
- progress: (config) => ({
553
- type: "progress",
554
- ...config
555
- })
556
- },
557
- c: createComponentProxy(this.state)
558
- });
559
- return new QuestpieBuilder({
560
- ...this.state,
561
- dashboard
562
- });
563
- };
564
- /**
565
- * Configure the admin sidebar.
566
- * Sections can contain collections, globals, pages, links, and dividers.
567
- *
568
- * @example
569
- * ```ts
570
- * .sidebar(({ s, c }) => s.sidebar({
571
- * sections: [
572
- * s.section({
573
- * id: "content",
574
- * title: { en: "Content" },
575
- * icon: c.icon("ph:files"),
576
- * items: [
577
- * { type: "collection", collection: "posts" },
578
- * { type: "collection", collection: "pages" },
579
- * ],
580
- * }),
581
- * ],
582
- * }))
583
- * ```
584
- */
585
- proto.sidebar = function(configFn) {
586
- const sidebar = configFn({
587
- s: {
588
- sidebar: (config) => config,
589
- section: (config) => ({
590
- items: [],
591
- ...config
592
- })
593
- },
594
- c: createComponentProxy(this.state)
595
- });
596
- return new QuestpieBuilder({
597
- ...this.state,
598
- sidebar
599
- });
600
- };
601
- proto.branding = function(config) {
602
- return new QuestpieBuilder({
603
- ...this.state,
604
- branding: config
605
- });
606
- };
607
- /**
608
- * Configure admin UI locales (separate from content locales).
609
- *
610
- * UI locales control the admin interface language.
611
- * Content locales (set via .locale()) control which languages content can be edited in.
612
- * These don't need to match - you can have 10 content languages but only 2 UI languages.
613
- *
614
- * @example
615
- * ```ts
616
- * const cms = q({ name: "my-app" })
617
- * .use(adminModule)
618
- * // Content can be in many languages
619
- * .locale({
620
- * locales: [{ code: "en" }, { code: "sk" }, { code: "de" }, ...],
621
- * defaultLocale: "en",
622
- * })
623
- * // But admin UI only in 2 languages
624
- * .adminLocale({
625
- * locales: ["en", "sk"],
626
- * defaultLocale: "en",
627
- * })
628
- * .build({ ... });
629
- * ```
630
- */
631
- proto.adminLocale = function(config) {
632
- return new QuestpieBuilder({
633
- ...this.state,
634
- adminLocale: config
635
- });
636
- };
637
- /**
638
- * Patch .use() to propagate admin extension properties.
639
- *
640
- * The core .use() only merges hardcoded properties (collections, globals,
641
- * jobs, emailTemplates, fields, auth, locale, migrations, translations).
642
- * Admin extensions (sidebar, dashboard, branding, listViews, editViews,
643
- * components, blocks, adminLocale) would be lost without this patch.
644
- */
645
- const originalUse = proto.use;
646
- proto.use = function(other) {
647
- const result = originalUse.call(this, other);
648
- const otherState = other.state;
649
- const coreKeys = new Set([
650
- "name",
651
- "collections",
652
- "globals",
653
- "jobs",
654
- "emailTemplates",
655
- "fields",
656
- "auth",
657
- "locale",
658
- "migrations",
659
- "translations",
660
- "~messageKeys"
661
- ]);
662
- const extensionState = {};
663
- for (const key of Object.keys(this.state)) if (!coreKeys.has(key) && this.state[key] !== void 0) extensionState[key] = this.state[key];
664
- for (const key of Object.keys(otherState)) if (!coreKeys.has(key) && otherState[key] !== void 0) extensionState[key] = otherState[key];
665
- if (Object.keys(extensionState).length > 0) return new QuestpieBuilder({
666
- ...result.state,
667
- ...extensionState
668
- });
669
- return result;
670
- };
671
- /**
672
- * Patch .build() to inject block definitions into blocks-type field configs
673
- * before the real build, and to store admin extension state on the built
674
- * Questpie instance so getAdminConfig can read sidebar/dashboard/etc.
675
- */
676
- const originalBuild = proto.build;
677
- proto.build = function(...args) {
678
- const blockDefs = this.state.blocks;
679
- if (blockDefs && Object.keys(blockDefs).length > 0) {
680
- injectBlockDefinitions(this.state, blockDefs);
681
- injectBlocksPrefetchHooks(this.state);
682
- validateAllowedBlocks(this.state, blockDefs);
683
- }
684
- const instance = originalBuild.apply(this, args);
685
- const extensionKeys = [
686
- "sidebar",
687
- "dashboard",
688
- "branding",
689
- "blocks",
690
- "listViews",
691
- "editViews",
692
- "components",
693
- "adminLocale"
694
- ];
695
- const adminState = {};
696
- for (const key of extensionKeys) if (this.state[key] !== void 0) adminState[key] = this.state[key];
697
- instance.state = adminState;
698
- return instance;
699
- };
700
- }
701
- /**
702
- * Inject block definitions into all blocks-type field configs
703
- * in collections and globals. Enables per-block field validation.
704
- * @internal
705
- */
706
- function injectBlockDefinitions(state, blockDefs) {
707
- if (state.collections) for (const collection of Object.values(state.collections)) {
708
- const fields = collection?.state?.fields;
709
- if (!fields) continue;
710
- for (const fieldDef of Object.values(fields)) if (fieldDef?.state?.config?.type === "blocks") fieldDef.state.config._blockDefinitions = blockDefs;
711
- }
712
- if (state.globals) for (const global of Object.values(state.globals)) {
713
- const fields = global?.state?.fields;
714
- if (!fields) continue;
715
- for (const fieldDef of Object.values(fields)) if (fieldDef?.state?.config?.type === "blocks") fieldDef.state.config._blockDefinitions = blockDefs;
716
- }
717
- }
718
- /**
719
- * Auto-inject afterRead hook for blocks prefetch on collections/globals
720
- * that have at least one blocks-type field.
721
- *
722
- * This eliminates the need for manually adding:
723
- * ```ts
724
- * .hooks({ afterRead: createBlocksPrefetchHook() })
725
- * ```
726
- * @internal
727
- */
728
- function injectBlocksPrefetchHooks(state) {
729
- const prefetchHook = createBlocksPrefetchHook();
730
- const injectIfHasBlocksField = (entity, name) => {
731
- const fieldDefinitions = entity?.state?.fieldDefinitions;
732
- if (!fieldDefinitions) return;
733
- if (!Object.values(fieldDefinitions).some((fieldDef) => fieldDef?.state?.type === "blocks")) return;
734
- if (!entity.state.hooks) entity.state.hooks = {};
735
- const existing = entity.state.hooks.afterRead;
736
- if (!existing) entity.state.hooks.afterRead = prefetchHook;
737
- else {
738
- const existingArray = Array.isArray(existing) ? existing : [existing];
739
- entity.state.hooks.afterRead = [...existingArray, prefetchHook];
740
- }
741
- };
742
- if (state.collections) for (const [name, collection] of Object.entries(state.collections)) injectIfHasBlocksField(collection, name);
743
- if (state.globals) for (const [name, global] of Object.entries(state.globals)) injectIfHasBlocksField(global, name);
744
- }
745
- /**
746
- * Validate that all `allowedBlocks` entries reference registered block types.
747
- * Logs warnings in development for unknown block types.
748
- * @internal
749
- */
750
- function validateAllowedBlocks(state, blockDefs) {
751
- const registeredNames = new Set(Object.keys(blockDefs));
752
- const checkFields = (fields, context) => {
753
- if (!fields) return;
754
- for (const [fieldName, fieldDef] of Object.entries(fields)) {
755
- const config = fieldDef?.state?.config;
756
- if (config?.type === "blocks" && Array.isArray(config.allowedBlocks)) {
757
- for (const blockType of config.allowedBlocks) if (!registeredNames.has(blockType)) console.warn(`[admin] Unknown block type "${blockType}" in allowedBlocks for field "${fieldName}" in ${context}. Registered block types: ${[...registeredNames].join(", ")}`);
758
- }
759
- }
760
- };
761
- if (state.collections) for (const [name, collection] of Object.entries(state.collections)) checkFields(collection?.state?.fields, `collection "${name}"`);
762
- if (state.globals) for (const [name, global] of Object.entries(state.globals)) checkFields(global?.state?.fields, `global "${name}"`);
763
- }
764
- /**
765
- * Patch CollectionBuilder with admin methods
766
- */
767
- function patchCollectionBuilder() {
768
- const proto = CollectionBuilder.prototype;
769
- /**
770
- * Set admin metadata for the collection.
771
- * Defines how the collection appears in the admin sidebar and UI.
772
- *
773
- * @example
774
- * ```ts
775
- * .admin(({ c }) => ({
776
- * label: { en: "Posts", sk: "Príspevky" },
777
- * icon: c.icon("ph:article"),
778
- * description: { en: "Blog posts and articles" },
779
- * }))
780
- * ```
781
- */
782
- proto.admin = function(configOrFn) {
783
- const config = typeof configOrFn === "function" ? configOrFn({ c: createComponentProxy(this.state) }) : configOrFn;
784
- const newBuilder = new CollectionBuilder({
785
- ...this.state,
786
- admin: config
787
- });
788
- if (this._indexesFn) newBuilder._indexesFn = this._indexesFn;
789
- return newBuilder;
790
- };
791
- /**
792
- * Configure list view for the collection.
793
- * Defines columns, sorting, filtering, and actions for the list page.
794
- *
795
- * @example
796
- * ```ts
797
- * .list(({ v, f, a }) => v.table({
798
- * columns: [f.title, f.author, f.status, f.createdAt],
799
- * defaultSort: { field: "createdAt", direction: "desc" },
800
- * searchable: ["title", "content"],
801
- * filterable: ["status", "author"],
802
- * actions: {
803
- * header: { primary: [a.create] },
804
- * row: [a.duplicate, a.delete],
805
- * bulk: [a.delete],
806
- * },
807
- * }))
808
- * ```
809
- */
810
- proto.list = function(configFn) {
811
- const fieldNames = Object.keys(this.state.fields || {});
812
- const registeredListViews = getRegisteredViewNames(this.state, "list");
813
- const config = configFn({
814
- v: createViewProxy("list", registeredListViews),
815
- f: createFieldProxy(fieldNames),
816
- a: createActionProxy()
817
- });
818
- ensureRegisteredView("list", config.view, registeredListViews);
819
- const newBuilder = new CollectionBuilder({
820
- ...this.state,
821
- adminList: config
822
- });
823
- if (this._indexesFn) newBuilder._indexesFn = this._indexesFn;
824
- return newBuilder;
825
- };
826
- /**
827
- * Configure form view for the collection.
828
- * Defines field layout, sections, and tabs for create/edit pages.
829
- *
830
- * @example
831
- * ```ts
832
- * .form(({ v, f }) => v.form({
833
- * sections: [
834
- * {
835
- * label: { en: "Basic Info" },
836
- * fields: [f.title, f.slug, f.content],
837
- * },
838
- * {
839
- * label: { en: "Publishing" },
840
- * fields: [f.status, f.publishedAt, f.author],
841
- * collapsible: true,
842
- * },
843
- * ],
844
- * }))
845
- * ```
846
- */
847
- proto.form = function(configFn) {
848
- const fieldNames = Object.keys(this.state.fields || {});
849
- const registeredEditViews = getRegisteredViewNames(this.state, "edit");
850
- const config = configFn({
851
- v: createViewProxy("edit", registeredEditViews),
852
- f: createFieldProxy(fieldNames)
853
- });
854
- ensureRegisteredView("edit", config.view, registeredEditViews);
855
- const newBuilder = new CollectionBuilder({
856
- ...this.state,
857
- adminForm: config
858
- });
859
- if (this._indexesFn) newBuilder._indexesFn = this._indexesFn;
860
- return newBuilder;
861
- };
862
- /**
863
- * Configure preview for the collection.
864
- * Enables live preview panel in the edit page.
865
- *
866
- * @example
867
- * ```ts
868
- * .preview({
869
- * enabled: true,
870
- * url: ({ record, locale }) => `/preview/posts/${record.slug}?locale=${locale}`,
871
- * position: "right",
872
- * defaultWidth: 50,
873
- * })
874
- * ```
875
- */
876
- proto.preview = function(config) {
877
- const newBuilder = new CollectionBuilder({
878
- ...this.state,
879
- adminPreview: config
880
- });
881
- if (this._indexesFn) newBuilder._indexesFn = this._indexesFn;
882
- return newBuilder;
883
- };
884
- /**
885
- * Configure actions for the collection.
886
- * Enables built-in actions (create, delete, etc.) and custom actions with forms.
887
- *
888
- * Form fields use the same field registry as collections. The field proxy `f`
889
- * is resolved at build time when the full field registry is available.
890
- *
891
- * @example
892
- * ```ts
893
- * .actions(({ a, c, f }) => ({
894
- * builtin: [a.create(), a.delete(), a.deleteMany(), a.duplicate()],
895
- * custom: [
896
- * a.action({
897
- * id: "publish",
898
- * label: { en: "Publish" },
899
- * icon: c.icon("ph:check-circle"),
900
- * confirmation: {
901
- * title: { en: "Publish this item?" },
902
- * description: { en: "This will make the item visible to the public." },
903
- * },
904
- * handler: async ({ itemId, app, db }) => {
905
- * // publish logic
906
- * return { type: "success", toast: { message: "Published!" } };
907
- * },
908
- * }),
909
- * a.action({
910
- * id: "send-email",
911
- * label: { en: "Send Email" },
912
- * icon: c.icon("ph:envelope"),
913
- * form: {
914
- * title: { en: "Send Email" },
915
- * fields: {
916
- * subject: f.text({ label: { en: "Subject" }, required: true }),
917
- * message: f.textarea({ label: { en: "Message" } }),
918
- * },
919
- * },
920
- * handler: async ({ data }) => {
921
- * // send email logic - data.subject, data.message are typed
922
- * return { type: "success", toast: { message: "Email sent!" } };
923
- * },
924
- * }),
925
- * a.bulkAction({
926
- * id: "bulk-publish",
927
- * label: { en: "Publish Selected" },
928
- * handler: async ({ itemIds }) => {
929
- * // bulk publish logic
930
- * return { type: "success", toast: { message: `${itemIds?.length} items published!` } };
931
- * },
932
- * }),
933
- * ],
934
- * }))
935
- * ```
936
- */
937
- proto.actions = function(configFn) {
938
- const builderFields = this.state["~questpieApp"]?.state?.fields;
939
- const fieldRegistry = {};
940
- if (builderFields && Object.keys(builderFields).length > 0) for (const [name, fieldDef] of Object.entries(builderFields)) fieldRegistry[name] = (config$1) => createFieldDefinition(fieldDef, config$1);
941
- const config = configFn(createActionsConfigContext(this.state, fieldRegistry));
942
- const newBuilder = new CollectionBuilder({
943
- ...this.state,
944
- adminActions: config
945
- });
946
- if (this._indexesFn) newBuilder._indexesFn = this._indexesFn;
947
- return newBuilder;
948
- };
949
- /**
950
- * Patch .merge() to propagate admin extension properties.
951
- *
952
- * The core .merge() only merges hardcoded collection properties (fields,
953
- * indexes, hooks, access, etc.). Admin extensions (admin, adminList,
954
- * adminForm, adminPreview, adminActions) would be lost without this patch.
955
- */
956
- const originalMerge = proto.merge;
957
- proto.merge = function(other) {
958
- const result = originalMerge.call(this, other);
959
- for (const key of [
960
- "admin",
961
- "adminList",
962
- "adminForm",
963
- "adminPreview",
964
- "adminActions"
965
- ]) {
966
- const thisVal = this.state[key];
967
- const otherVal = other.state[key];
968
- if (otherVal !== void 0) result.state[key] = otherVal;
969
- else if (thisVal !== void 0) result.state[key] = thisVal;
970
- }
971
- return result;
972
- };
973
- }
974
- /**
975
- * Patch GlobalBuilder with admin methods
976
- */
977
- function patchGlobalBuilder() {
978
- const proto = GlobalBuilder.prototype;
979
- /**
980
- * Set admin metadata for the global.
981
- * Defines how the global appears in the admin sidebar and UI.
982
- *
983
- * @example
984
- * ```ts
985
- * .admin(({ c }) => ({
986
- * label: { en: "Site Settings", sk: "Nastavenia stránky" },
987
- * icon: c.icon("ph:gear"),
988
- * }))
989
- * ```
990
- */
991
- proto.admin = function(configOrFn) {
992
- const config = typeof configOrFn === "function" ? configOrFn({ c: createComponentProxy(this.state) }) : configOrFn;
993
- return new GlobalBuilder({
994
- ...this.state,
995
- admin: config
996
- });
997
- };
998
- /**
999
- * Configure form view for the global.
1000
- * Defines field layout, sections, and tabs for the settings page.
1001
- *
1002
- * @example
1003
- * ```ts
1004
- * .form(({ v, f }) => v.form({
1005
- * tabs: [
1006
- * {
1007
- * label: { en: "General" },
1008
- * icon: c.icon("ph:gear"),
1009
- * sections: [
1010
- * { fields: [f.siteName, f.siteDescription, f.logo] },
1011
- * ],
1012
- * },
1013
- * {
1014
- * label: { en: "Social Media" },
1015
- * icon: c.icon("ph:share-network"),
1016
- * sections: [
1017
- * { fields: [f.socialLinks] },
1018
- * ],
1019
- * },
1020
- * ],
1021
- * }))
1022
- * ```
1023
- */
1024
- proto.form = function(configFn) {
1025
- const fieldNames = Object.keys(this.state.fields || {});
1026
- const registeredEditViews = getRegisteredViewNames(this.state, "edit");
1027
- const config = configFn({
1028
- v: createViewProxy("edit", registeredEditViews),
1029
- f: createFieldProxy(fieldNames)
1030
- });
1031
- ensureRegisteredView("edit", config.view, registeredEditViews);
1032
- return new GlobalBuilder({
1033
- ...this.state,
1034
- adminForm: config
1035
- });
1036
- };
1037
- }
1038
- /**
1039
- * Apply all admin patches to builder prototypes.
1040
- * This function is idempotent - calling it multiple times has no effect.
1041
- *
1042
- * Called automatically when adminModule is used via .use()
1043
- */
1044
- function applyAdminPatches() {
1045
- if (patchesApplied) return;
1046
- patchQuestpieBuilder();
1047
- patchCollectionBuilder();
1048
- patchGlobalBuilder();
1049
- patchesApplied = true;
1050
- }
1051
- /**
1052
- * Check if admin patches have been applied.
1053
- * Useful for debugging and testing.
1054
- */
1055
- function arePatchesApplied() {
1056
- return patchesApplied;
1057
- }
1058
- applyAdminPatches();
1059
-
1060
- //#endregion
1061
- export { applyAdminPatches, arePatchesApplied, createActionProxy, createComponentProxy, createFieldProxy, createViewProxy };
1062
- //# sourceMappingURL=patch.mjs.map