@questpie/admin 1.1.0 → 2.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 (965) hide show
  1. package/README.md +245 -474
  2. package/dist/_virtual/rolldown_runtime.mjs +18 -0
  3. package/dist/augmentation.d.mts +315 -0
  4. package/dist/augmentation.d.mts.map +1 -0
  5. package/dist/client/blocks/block-registry.d.mts +199 -0
  6. package/dist/client/blocks/block-registry.d.mts.map +1 -0
  7. package/dist/client/blocks/block-registry.mjs +88 -0
  8. package/dist/client/blocks/block-registry.mjs.map +1 -0
  9. package/dist/client/blocks/block-renderer.d.mts +52 -0
  10. package/dist/client/blocks/block-renderer.d.mts.map +1 -0
  11. package/dist/client/blocks/block-renderer.mjs +71 -0
  12. package/dist/client/blocks/block-renderer.mjs.map +1 -0
  13. package/dist/client/blocks/index.d.mts +4 -0
  14. package/dist/client/blocks/prefetch.d.mts +45 -0
  15. package/dist/client/blocks/prefetch.d.mts.map +1 -0
  16. package/dist/client/blocks/prefetch.mjs +26 -0
  17. package/dist/client/blocks/prefetch.mjs.map +1 -0
  18. package/dist/client/blocks/types.d.mts +69 -0
  19. package/dist/client/blocks/types.d.mts.map +1 -0
  20. package/dist/client/blocks/types.mjs +20 -0
  21. package/dist/client/blocks/types.mjs.map +1 -0
  22. package/dist/client/builder/admin-builder.d.mts +112 -0
  23. package/dist/client/builder/admin-builder.d.mts.map +1 -0
  24. package/dist/client/builder/admin-builder.mjs +185 -0
  25. package/dist/client/builder/admin-builder.mjs.map +1 -0
  26. package/dist/client/builder/admin-types.d.mts +73 -0
  27. package/dist/client/builder/admin-types.d.mts.map +1 -0
  28. package/dist/client/builder/admin.d.mts +121 -0
  29. package/dist/client/builder/admin.d.mts.map +1 -0
  30. package/dist/client/builder/admin.mjs +160 -0
  31. package/dist/client/builder/admin.mjs.map +1 -0
  32. package/dist/client/builder/defaults/components.mjs +20 -0
  33. package/dist/client/builder/defaults/components.mjs.map +1 -0
  34. package/dist/client/builder/defaults/core.d.mts +354 -0
  35. package/dist/client/builder/defaults/core.d.mts.map +1 -0
  36. package/dist/client/builder/defaults/core.mjs +49 -0
  37. package/dist/client/builder/defaults/core.mjs.map +1 -0
  38. package/dist/client/builder/defaults/fields.mjs +328 -0
  39. package/dist/client/builder/defaults/fields.mjs.map +1 -0
  40. package/dist/client/builder/defaults/pages.mjs +58 -0
  41. package/dist/client/builder/defaults/pages.mjs.map +1 -0
  42. package/dist/client/builder/defaults/starter.d.mts +351 -0
  43. package/dist/client/builder/defaults/starter.d.mts.map +1 -0
  44. package/dist/client/builder/defaults/starter.mjs +28 -0
  45. package/dist/client/builder/defaults/starter.mjs.map +1 -0
  46. package/dist/client/builder/defaults/views.mjs +27 -0
  47. package/dist/client/builder/defaults/views.mjs.map +1 -0
  48. package/dist/client/builder/defaults/widgets.mjs +31 -0
  49. package/dist/client/builder/defaults/widgets.mjs.map +1 -0
  50. package/dist/client/builder/field/field.d.mts +229 -0
  51. package/dist/client/builder/field/field.d.mts.map +1 -0
  52. package/dist/client/builder/field/field.mjs +83 -0
  53. package/dist/client/builder/field/field.mjs.map +1 -0
  54. package/dist/client/builder/index.d.mts +36 -0
  55. package/dist/client/builder/index.d.mts.map +1 -0
  56. package/dist/client/builder/page/page.d.mts +36 -0
  57. package/dist/client/builder/page/page.d.mts.map +1 -0
  58. package/dist/client/builder/page/page.mjs +27 -0
  59. package/dist/client/builder/page/page.mjs.map +1 -0
  60. package/dist/client/builder/proxies.d.mts +2 -0
  61. package/dist/client/builder/proxies.mjs +24 -0
  62. package/dist/client/builder/proxies.mjs.map +1 -0
  63. package/dist/client/builder/qa.d.mts +50 -0
  64. package/dist/client/builder/qa.d.mts.map +1 -0
  65. package/dist/client/builder/qa.mjs +42 -0
  66. package/dist/client/builder/qa.mjs.map +1 -0
  67. package/dist/client/builder/registry.d.mts +70 -0
  68. package/dist/client/builder/registry.d.mts.map +1 -0
  69. package/dist/client/builder/types/action-registry.d.mts +2 -0
  70. package/dist/client/builder/types/action-registry.mjs +142 -0
  71. package/dist/client/builder/types/action-registry.mjs.map +1 -0
  72. package/dist/client/builder/types/action-types.d.mts +253 -0
  73. package/dist/client/builder/types/action-types.d.mts.map +1 -0
  74. package/dist/client/builder/types/collection-types.d.mts +199 -0
  75. package/dist/client/builder/types/collection-types.d.mts.map +1 -0
  76. package/dist/client/builder/types/collection-types.mjs +11 -0
  77. package/dist/client/builder/types/collection-types.mjs.map +1 -0
  78. package/dist/client/builder/types/common.d.mts +60 -0
  79. package/dist/client/builder/types/common.d.mts.map +1 -0
  80. package/dist/client/builder/types/field-types.d.mts +593 -0
  81. package/dist/client/builder/types/field-types.d.mts.map +1 -0
  82. package/dist/client/builder/types/field-types.mjs +19 -0
  83. package/dist/client/builder/types/field-types.mjs.map +1 -0
  84. package/dist/client/builder/types/global-types.d.mts +22 -0
  85. package/dist/client/builder/types/global-types.d.mts.map +1 -0
  86. package/dist/client/builder/types/ui-config.d.mts +160 -0
  87. package/dist/client/builder/types/ui-config.d.mts.map +1 -0
  88. package/dist/client/builder/types/views.d.mts +89 -0
  89. package/dist/client/builder/types/views.d.mts.map +1 -0
  90. package/dist/client/builder/types/widget-types.d.mts +563 -0
  91. package/dist/client/builder/types/widget-types.d.mts.map +1 -0
  92. package/dist/client/builder/validation.d.mts +3 -0
  93. package/dist/client/builder/validation.mjs +208 -0
  94. package/dist/client/builder/validation.mjs.map +1 -0
  95. package/dist/client/builder/view/view.d.mts +129 -0
  96. package/dist/client/builder/view/view.d.mts.map +1 -0
  97. package/dist/client/builder/view/view.mjs +109 -0
  98. package/dist/client/builder/view/view.mjs.map +1 -0
  99. package/dist/client/builder/widget/widget.d.mts +33 -0
  100. package/dist/client/builder/widget/widget.d.mts.map +1 -0
  101. package/dist/client/builder/widget/widget.mjs +26 -0
  102. package/dist/client/builder/widget/widget.mjs.map +1 -0
  103. package/dist/client/components/actions/action-button.d.mts +2 -0
  104. package/dist/client/components/actions/action-button.mjs +135 -0
  105. package/dist/client/components/actions/action-button.mjs.map +1 -0
  106. package/dist/client/components/actions/action-dialog.d.mts +2 -0
  107. package/dist/client/components/actions/action-dialog.mjs +264 -0
  108. package/dist/client/components/actions/action-dialog.mjs.map +1 -0
  109. package/dist/client/components/actions/confirmation-dialog.d.mts +2 -0
  110. package/dist/client/components/actions/confirmation-dialog.mjs +82 -0
  111. package/dist/client/components/actions/confirmation-dialog.mjs.map +1 -0
  112. package/dist/client/components/actions/header-actions.d.mts +2 -0
  113. package/dist/client/components/actions/header-actions.mjs +117 -0
  114. package/dist/client/components/actions/header-actions.mjs.map +1 -0
  115. package/dist/client/components/actions/index.d.mts +4 -0
  116. package/dist/client/components/admin-link.d.mts +67 -0
  117. package/dist/client/components/admin-link.d.mts.map +1 -0
  118. package/dist/client/components/admin-link.mjs +92 -0
  119. package/dist/client/components/admin-link.mjs.map +1 -0
  120. package/dist/client/components/auth/auth-guard.d.mts +51 -0
  121. package/dist/client/components/auth/auth-guard.d.mts.map +1 -0
  122. package/dist/client/components/auth/auth-guard.mjs +60 -0
  123. package/dist/client/components/auth/auth-guard.mjs.map +1 -0
  124. package/dist/client/components/auth/auth-loading.d.mts +36 -0
  125. package/dist/client/components/auth/auth-loading.d.mts.map +1 -0
  126. package/dist/client/components/auth/auth-loading.mjs +27 -0
  127. package/dist/client/components/auth/auth-loading.mjs.map +1 -0
  128. package/dist/client/components/auth/index.d.mts +2 -0
  129. package/dist/client/components/blocks/block-canvas.mjs +90 -0
  130. package/dist/client/components/blocks/block-canvas.mjs.map +1 -0
  131. package/dist/client/components/blocks/block-editor-context.mjs +58 -0
  132. package/dist/client/components/blocks/block-editor-context.mjs.map +1 -0
  133. package/dist/client/components/blocks/block-editor-layout.mjs +82 -0
  134. package/dist/client/components/blocks/block-editor-layout.mjs.map +1 -0
  135. package/dist/client/components/blocks/block-editor-provider.mjs +155 -0
  136. package/dist/client/components/blocks/block-editor-provider.mjs.map +1 -0
  137. package/dist/client/components/blocks/block-fields-renderer.mjs +70 -0
  138. package/dist/client/components/blocks/block-fields-renderer.mjs.map +1 -0
  139. package/dist/client/components/blocks/block-insert-button.mjs +72 -0
  140. package/dist/client/components/blocks/block-insert-button.mjs.map +1 -0
  141. package/dist/client/components/blocks/block-item-menu.mjs +161 -0
  142. package/dist/client/components/blocks/block-item-menu.mjs.map +1 -0
  143. package/dist/client/components/blocks/block-item.mjs +187 -0
  144. package/dist/client/components/blocks/block-item.mjs.map +1 -0
  145. package/dist/client/components/blocks/block-library-sidebar.mjs +190 -0
  146. package/dist/client/components/blocks/block-library-sidebar.mjs.map +1 -0
  147. package/dist/client/components/blocks/block-tree.mjs +45 -0
  148. package/dist/client/components/blocks/block-tree.mjs.map +1 -0
  149. package/dist/client/components/blocks/block-type-icon.mjs +50 -0
  150. package/dist/client/components/blocks/block-type-icon.mjs.map +1 -0
  151. package/dist/client/components/blocks/utils/tree-utils.mjs +186 -0
  152. package/dist/client/components/blocks/utils/tree-utils.mjs.map +1 -0
  153. package/dist/client/components/component-renderer.d.mts +125 -0
  154. package/dist/client/components/component-renderer.d.mts.map +1 -0
  155. package/dist/client/components/component-renderer.mjs +145 -0
  156. package/dist/client/components/component-renderer.mjs.map +1 -0
  157. package/dist/client/components/error-boundary.mjs +92 -0
  158. package/dist/client/components/error-boundary.mjs.map +1 -0
  159. package/dist/client/components/fields/array-field.d.mts +44 -0
  160. package/dist/client/components/fields/array-field.d.mts.map +1 -0
  161. package/dist/client/components/fields/array-field.mjs +231 -0
  162. package/dist/client/components/fields/array-field.mjs.map +1 -0
  163. package/dist/client/components/fields/asset-preview-field.d.mts +52 -0
  164. package/dist/client/components/fields/asset-preview-field.d.mts.map +1 -0
  165. package/dist/client/components/fields/asset-preview-field.mjs +60 -0
  166. package/dist/client/components/fields/asset-preview-field.mjs.map +1 -0
  167. package/dist/client/components/fields/blocks-field/blocks-field.d.mts +41 -0
  168. package/dist/client/components/fields/blocks-field/blocks-field.d.mts.map +1 -0
  169. package/dist/client/components/fields/blocks-field/blocks-field.mjs +101 -0
  170. package/dist/client/components/fields/blocks-field/blocks-field.mjs.map +1 -0
  171. package/dist/client/components/fields/blocks-field/index.d.mts +1 -0
  172. package/dist/client/components/fields/boolean-field.d.mts +30 -0
  173. package/dist/client/components/fields/boolean-field.d.mts.map +1 -0
  174. package/dist/client/components/fields/boolean-field.mjs +47 -0
  175. package/dist/client/components/fields/boolean-field.mjs.map +1 -0
  176. package/dist/client/components/fields/custom-field.d.mts +3 -0
  177. package/dist/client/components/fields/date-field.d.mts +22 -0
  178. package/dist/client/components/fields/date-field.d.mts.map +1 -0
  179. package/dist/client/components/fields/date-field.mjs +42 -0
  180. package/dist/client/components/fields/date-field.mjs.map +1 -0
  181. package/dist/client/components/fields/datetime-field.d.mts +23 -0
  182. package/dist/client/components/fields/datetime-field.d.mts.map +1 -0
  183. package/dist/client/components/fields/datetime-field.mjs +43 -0
  184. package/dist/client/components/fields/datetime-field.mjs.map +1 -0
  185. package/dist/client/components/fields/email-field.d.mts +19 -0
  186. package/dist/client/components/fields/email-field.d.mts.map +1 -0
  187. package/dist/client/components/fields/email-field.mjs +38 -0
  188. package/dist/client/components/fields/email-field.mjs.map +1 -0
  189. package/dist/client/components/fields/embedded-collection.d.mts +3 -0
  190. package/dist/client/components/fields/field-types.d.mts +571 -0
  191. package/dist/client/components/fields/field-types.d.mts.map +1 -0
  192. package/dist/client/components/fields/field-utils.d.mts +1 -0
  193. package/dist/client/components/fields/field-utils.mjs +65 -0
  194. package/dist/client/components/fields/field-utils.mjs.map +1 -0
  195. package/dist/client/components/fields/field-wrapper.d.mts +3 -0
  196. package/dist/client/components/fields/field-wrapper.mjs +49 -0
  197. package/dist/client/components/fields/field-wrapper.mjs.map +1 -0
  198. package/dist/client/components/fields/index.d.mts +33 -0
  199. package/dist/client/components/fields/json-field.d.mts +84 -0
  200. package/dist/client/components/fields/json-field.d.mts.map +1 -0
  201. package/dist/client/components/fields/json-field.mjs +248 -0
  202. package/dist/client/components/fields/json-field.mjs.map +1 -0
  203. package/dist/client/components/fields/locale-badge.d.mts +1 -0
  204. package/dist/client/components/fields/locale-badge.mjs +17 -0
  205. package/dist/client/components/fields/locale-badge.mjs.map +1 -0
  206. package/dist/client/components/fields/number-field.d.mts +23 -0
  207. package/dist/client/components/fields/number-field.d.mts.map +1 -0
  208. package/dist/client/components/fields/number-field.mjs +40 -0
  209. package/dist/client/components/fields/number-field.mjs.map +1 -0
  210. package/dist/client/components/fields/object-array-field.d.mts +2 -0
  211. package/dist/client/components/fields/object-array-field.mjs +313 -0
  212. package/dist/client/components/fields/object-array-field.mjs.map +1 -0
  213. package/dist/client/components/fields/object-field.d.mts +32 -0
  214. package/dist/client/components/fields/object-field.d.mts.map +1 -0
  215. package/dist/client/components/fields/object-field.mjs +128 -0
  216. package/dist/client/components/fields/object-field.mjs.map +1 -0
  217. package/dist/client/components/fields/relation/displays/cards-display.d.mts +2 -0
  218. package/dist/client/components/fields/relation/displays/cards-display.mjs +140 -0
  219. package/dist/client/components/fields/relation/displays/cards-display.mjs.map +1 -0
  220. package/dist/client/components/fields/relation/displays/chips-display.d.mts +2 -0
  221. package/dist/client/components/fields/relation/displays/chips-display.mjs +100 -0
  222. package/dist/client/components/fields/relation/displays/chips-display.mjs.map +1 -0
  223. package/dist/client/components/fields/relation/displays/grid-display.d.mts +2 -0
  224. package/dist/client/components/fields/relation/displays/grid-display.mjs +114 -0
  225. package/dist/client/components/fields/relation/displays/grid-display.mjs.map +1 -0
  226. package/dist/client/components/fields/relation/displays/index.d.mts +6 -0
  227. package/dist/client/components/fields/relation/displays/list-display.d.mts +2 -0
  228. package/dist/client/components/fields/relation/displays/list-display.mjs +128 -0
  229. package/dist/client/components/fields/relation/displays/list-display.mjs.map +1 -0
  230. package/dist/client/components/fields/relation/displays/table-display.d.mts +2 -0
  231. package/dist/client/components/fields/relation/displays/table-display.mjs +134 -0
  232. package/dist/client/components/fields/relation/displays/table-display.mjs.map +1 -0
  233. package/dist/client/components/fields/relation/displays/types.d.mts +22 -0
  234. package/dist/client/components/fields/relation/displays/types.d.mts.map +1 -0
  235. package/dist/client/components/fields/relation/displays/types.mjs +73 -0
  236. package/dist/client/components/fields/relation/displays/types.mjs.map +1 -0
  237. package/dist/client/components/fields/relation/index.d.mts +3 -0
  238. package/dist/client/components/fields/relation/relation-items-display.d.mts +5 -0
  239. package/dist/client/components/fields/relation/relation-items-display.mjs +47 -0
  240. package/dist/client/components/fields/relation/relation-items-display.mjs.map +1 -0
  241. package/dist/client/components/fields/relation-field.d.mts +134 -0
  242. package/dist/client/components/fields/relation-field.d.mts.map +1 -0
  243. package/dist/client/components/fields/relation-field.mjs +106 -0
  244. package/dist/client/components/fields/relation-field.mjs.map +1 -0
  245. package/dist/client/components/fields/relation-picker.d.mts +4 -0
  246. package/dist/client/components/fields/relation-picker.mjs +301 -0
  247. package/dist/client/components/fields/relation-picker.mjs.map +1 -0
  248. package/dist/client/components/fields/relation-select.d.mts +3 -0
  249. package/dist/client/components/fields/relation-select.mjs +219 -0
  250. package/dist/client/components/fields/relation-select.mjs.map +1 -0
  251. package/dist/client/components/fields/reverse-relation-field.d.mts +2 -0
  252. package/dist/client/components/fields/rich-text-editor/bubble-menu.mjs +56 -0
  253. package/dist/client/components/fields/rich-text-editor/bubble-menu.mjs.map +1 -0
  254. package/dist/client/components/fields/rich-text-editor/extensions.mjs +118 -0
  255. package/dist/client/components/fields/rich-text-editor/extensions.mjs.map +1 -0
  256. package/dist/client/components/fields/rich-text-editor/image-popover.mjs +196 -0
  257. package/dist/client/components/fields/rich-text-editor/image-popover.mjs.map +1 -0
  258. package/dist/client/components/fields/rich-text-editor/index.d.mts +4 -0
  259. package/dist/client/components/fields/rich-text-editor/index.mjs +187 -0
  260. package/dist/client/components/fields/rich-text-editor/index.mjs.map +1 -0
  261. package/dist/client/components/fields/rich-text-editor/link-popover.mjs +86 -0
  262. package/dist/client/components/fields/rich-text-editor/link-popover.mjs.map +1 -0
  263. package/dist/client/components/fields/rich-text-editor/presets.d.mts +11 -0
  264. package/dist/client/components/fields/rich-text-editor/presets.d.mts.map +1 -0
  265. package/dist/client/components/fields/rich-text-editor/presets.mjs +124 -0
  266. package/dist/client/components/fields/rich-text-editor/presets.mjs.map +1 -0
  267. package/dist/client/components/fields/rich-text-editor/slash-commands.mjs +145 -0
  268. package/dist/client/components/fields/rich-text-editor/slash-commands.mjs.map +1 -0
  269. package/dist/client/components/fields/rich-text-editor/table-controls.mjs +124 -0
  270. package/dist/client/components/fields/rich-text-editor/table-controls.mjs.map +1 -0
  271. package/dist/client/components/fields/rich-text-editor/toolbar.mjs +280 -0
  272. package/dist/client/components/fields/rich-text-editor/toolbar.mjs.map +1 -0
  273. package/dist/client/components/fields/rich-text-editor/types.d.mts +78 -0
  274. package/dist/client/components/fields/rich-text-editor/types.d.mts.map +1 -0
  275. package/dist/client/components/fields/rich-text-editor/types.mjs +31 -0
  276. package/dist/client/components/fields/rich-text-editor/types.mjs.map +1 -0
  277. package/dist/client/components/fields/rich-text-editor/utils.mjs +51 -0
  278. package/dist/client/components/fields/rich-text-editor/utils.mjs.map +1 -0
  279. package/dist/client/components/fields/rich-text-editor/variants.d.mts +2 -0
  280. package/dist/client/components/fields/rich-text-field.d.mts +14 -0
  281. package/dist/client/components/fields/rich-text-field.d.mts.map +1 -0
  282. package/dist/client/components/fields/rich-text-field.mjs +26 -0
  283. package/dist/client/components/fields/rich-text-field.mjs.map +1 -0
  284. package/dist/client/components/fields/select-field.d.mts +25 -0
  285. package/dist/client/components/fields/select-field.d.mts.map +1 -0
  286. package/dist/client/components/fields/select-field.mjs +53 -0
  287. package/dist/client/components/fields/select-field.mjs.map +1 -0
  288. package/dist/client/components/fields/status-field.d.mts +2 -0
  289. package/dist/client/components/fields/text-field.d.mts +22 -0
  290. package/dist/client/components/fields/text-field.d.mts.map +1 -0
  291. package/dist/client/components/fields/text-field.mjs +39 -0
  292. package/dist/client/components/fields/text-field.mjs.map +1 -0
  293. package/dist/client/components/fields/textarea-field.d.mts +22 -0
  294. package/dist/client/components/fields/textarea-field.d.mts.map +1 -0
  295. package/dist/client/components/fields/textarea-field.mjs +39 -0
  296. package/dist/client/components/fields/textarea-field.mjs.map +1 -0
  297. package/dist/client/components/fields/time-field.d.mts +20 -0
  298. package/dist/client/components/fields/time-field.d.mts.map +1 -0
  299. package/dist/client/components/fields/time-field.mjs +39 -0
  300. package/dist/client/components/fields/time-field.mjs.map +1 -0
  301. package/dist/client/components/fields/upload-field.d.mts +97 -0
  302. package/dist/client/components/fields/upload-field.d.mts.map +1 -0
  303. package/dist/client/components/fields/upload-field.mjs +497 -0
  304. package/dist/client/components/fields/upload-field.mjs.map +1 -0
  305. package/dist/client/components/filter-builder/columns-tab.d.mts +1 -0
  306. package/dist/client/components/filter-builder/columns-tab.mjs +131 -0
  307. package/dist/client/components/filter-builder/columns-tab.mjs.map +1 -0
  308. package/dist/client/components/filter-builder/filter-builder-sheet.d.mts +1 -0
  309. package/dist/client/components/filter-builder/filter-builder-sheet.mjs +157 -0
  310. package/dist/client/components/filter-builder/filter-builder-sheet.mjs.map +1 -0
  311. package/dist/client/components/filter-builder/filters-tab.d.mts +1 -0
  312. package/dist/client/components/filter-builder/filters-tab.mjs +380 -0
  313. package/dist/client/components/filter-builder/filters-tab.mjs.map +1 -0
  314. package/dist/client/components/filter-builder/index.d.mts +5 -0
  315. package/dist/client/components/filter-builder/saved-views-tab.d.mts +1 -0
  316. package/dist/client/components/filter-builder/saved-views-tab.mjs +125 -0
  317. package/dist/client/components/filter-builder/saved-views-tab.mjs.map +1 -0
  318. package/dist/client/components/index.d.mts +80 -0
  319. package/dist/client/components/locale-switcher.d.mts +2 -0
  320. package/dist/client/components/locale-switcher.mjs +128 -0
  321. package/dist/client/components/locale-switcher.mjs.map +1 -0
  322. package/dist/client/components/media/media-grid.mjs +139 -0
  323. package/dist/client/components/media/media-grid.mjs.map +1 -0
  324. package/dist/client/components/media/media-picker-dialog.mjs +255 -0
  325. package/dist/client/components/media/media-picker-dialog.mjs.map +1 -0
  326. package/dist/client/components/preview/live-preview-mode.mjs +211 -0
  327. package/dist/client/components/preview/live-preview-mode.mjs.map +1 -0
  328. package/dist/client/components/preview/preview-pane.mjs +179 -0
  329. package/dist/client/components/preview/preview-pane.mjs.map +1 -0
  330. package/dist/client/components/primitives/asset-preview.mjs +363 -0
  331. package/dist/client/components/primitives/asset-preview.mjs.map +1 -0
  332. package/dist/client/components/primitives/checkbox-input.mjs +33 -0
  333. package/dist/client/components/primitives/checkbox-input.mjs.map +1 -0
  334. package/dist/client/components/primitives/date-input.mjs +218 -0
  335. package/dist/client/components/primitives/date-input.mjs.map +1 -0
  336. package/dist/client/components/primitives/dropzone.mjs +239 -0
  337. package/dist/client/components/primitives/dropzone.mjs.map +1 -0
  338. package/dist/client/components/primitives/number-input.mjs +113 -0
  339. package/dist/client/components/primitives/number-input.mjs.map +1 -0
  340. package/dist/client/components/primitives/select-multi.mjs +256 -0
  341. package/dist/client/components/primitives/select-multi.mjs.map +1 -0
  342. package/dist/client/components/primitives/select-single.mjs +183 -0
  343. package/dist/client/components/primitives/select-single.mjs.map +1 -0
  344. package/dist/client/components/primitives/text-input.mjs +40 -0
  345. package/dist/client/components/primitives/text-input.mjs.map +1 -0
  346. package/dist/client/components/primitives/textarea-input.mjs +38 -0
  347. package/dist/client/components/primitives/textarea-input.mjs.map +1 -0
  348. package/dist/client/components/primitives/time-input.mjs +72 -0
  349. package/dist/client/components/primitives/time-input.mjs.map +1 -0
  350. package/dist/client/components/primitives/toggle-input.mjs +31 -0
  351. package/dist/client/components/primitives/toggle-input.mjs.map +1 -0
  352. package/dist/client/components/primitives/types.d.mts +14 -0
  353. package/dist/client/components/primitives/types.d.mts.map +1 -0
  354. package/dist/client/components/primitives/types.mjs +13 -0
  355. package/dist/client/components/primitives/types.mjs.map +1 -0
  356. package/dist/client/components/sheets/index.d.mts +1 -0
  357. package/dist/client/components/sheets/resource-sheet.d.mts +1 -0
  358. package/dist/client/components/sheets/resource-sheet.mjs +78 -0
  359. package/dist/client/components/sheets/resource-sheet.mjs.map +1 -0
  360. package/dist/client/components/ui/accordion.d.mts +2 -0
  361. package/dist/client/components/ui/accordion.mjs +50 -0
  362. package/dist/client/components/ui/accordion.mjs.map +1 -0
  363. package/dist/client/components/ui/alert.mjs +32 -0
  364. package/dist/client/components/ui/alert.mjs.map +1 -0
  365. package/dist/client/components/ui/avatar.d.mts +3 -0
  366. package/dist/client/components/ui/badge.d.mts +3 -0
  367. package/dist/client/components/ui/badge.mjs +35 -0
  368. package/dist/client/components/ui/badge.mjs.map +1 -0
  369. package/dist/client/components/ui/button.d.mts +3 -0
  370. package/dist/client/components/ui/button.mjs +49 -0
  371. package/dist/client/components/ui/button.mjs.map +1 -0
  372. package/dist/client/components/ui/card.d.mts +2 -0
  373. package/dist/{card-BKHjBQfw.mjs → client/components/ui/card.mjs} +3 -10
  374. package/dist/{card-BKHjBQfw.mjs.map → client/components/ui/card.mjs.map} +1 -1
  375. package/dist/client/components/ui/checkbox.d.mts +2 -0
  376. package/dist/client/components/ui/checkbox.mjs +27 -0
  377. package/dist/client/components/ui/checkbox.mjs.map +1 -0
  378. package/dist/client/components/ui/combobox.d.mts +3 -0
  379. package/dist/client/components/ui/command.mjs +69 -0
  380. package/dist/client/components/ui/command.mjs.map +1 -0
  381. package/dist/client/components/ui/dialog.d.mts +3 -0
  382. package/dist/client/components/ui/dialog.mjs +83 -0
  383. package/dist/client/components/ui/dialog.mjs.map +1 -0
  384. package/dist/client/components/ui/drawer.mjs +75 -0
  385. package/dist/client/components/ui/drawer.mjs.map +1 -0
  386. package/dist/client/components/ui/dropdown-menu.d.mts +3 -0
  387. package/dist/client/components/ui/dropdown-menu.mjs +89 -0
  388. package/dist/client/components/ui/dropdown-menu.mjs.map +1 -0
  389. package/dist/client/components/ui/empty-state.mjs +53 -0
  390. package/dist/client/components/ui/empty-state.mjs.map +1 -0
  391. package/dist/client/components/ui/field.d.mts +3 -0
  392. package/dist/client/components/ui/field.mjs +78 -0
  393. package/dist/client/components/ui/field.mjs.map +1 -0
  394. package/dist/client/components/ui/input-group.d.mts +4 -0
  395. package/dist/client/components/ui/input-group.mjs +68 -0
  396. package/dist/client/components/ui/input-group.mjs.map +1 -0
  397. package/dist/client/components/ui/input.d.mts +2 -0
  398. package/dist/client/components/ui/input.mjs +17 -0
  399. package/dist/client/components/ui/input.mjs.map +1 -0
  400. package/dist/client/components/ui/kbd.mjs +24 -0
  401. package/dist/client/components/ui/kbd.mjs.map +1 -0
  402. package/dist/client/components/ui/label.d.mts +2 -0
  403. package/dist/client/components/ui/label.mjs +15 -0
  404. package/dist/client/components/ui/label.mjs.map +1 -0
  405. package/dist/client/components/ui/popover.d.mts +3 -0
  406. package/dist/client/components/ui/popover.mjs +49 -0
  407. package/dist/client/components/ui/popover.mjs.map +1 -0
  408. package/dist/client/components/ui/responsive-dialog.mjs +102 -0
  409. package/dist/client/components/ui/responsive-dialog.mjs.map +1 -0
  410. package/dist/client/components/ui/scroll-area.d.mts +2 -0
  411. package/dist/client/components/ui/search-input.mjs +74 -0
  412. package/dist/client/components/ui/search-input.mjs.map +1 -0
  413. package/dist/client/components/ui/select.d.mts +3 -0
  414. package/dist/client/components/ui/select.mjs +85 -0
  415. package/dist/client/components/ui/select.mjs.map +1 -0
  416. package/dist/client/components/ui/separator.d.mts +2 -0
  417. package/dist/client/components/ui/separator.mjs +17 -0
  418. package/dist/client/components/ui/separator.mjs.map +1 -0
  419. package/dist/client/components/ui/sheet.d.mts +3 -0
  420. package/dist/client/components/ui/sheet.mjs +78 -0
  421. package/dist/client/components/ui/sheet.mjs.map +1 -0
  422. package/dist/client/components/ui/sidebar.d.mts +8 -0
  423. package/dist/client/components/ui/sidebar.mjs +256 -0
  424. package/dist/client/components/ui/sidebar.mjs.map +1 -0
  425. package/dist/client/components/ui/skeleton.d.mts +1 -0
  426. package/dist/client/components/ui/skeleton.mjs +15 -0
  427. package/dist/client/components/ui/skeleton.mjs.map +1 -0
  428. package/dist/client/components/ui/sonner.d.mts +14 -0
  429. package/dist/client/components/ui/sonner.d.mts.map +1 -0
  430. package/dist/client/components/ui/sonner.mjs +55 -0
  431. package/dist/client/components/ui/sonner.mjs.map +1 -0
  432. package/dist/client/components/ui/spinner.d.mts +1 -0
  433. package/dist/client/components/ui/spinner.mjs +18 -0
  434. package/dist/client/components/ui/spinner.mjs.map +1 -0
  435. package/dist/client/components/ui/switch.d.mts +2 -0
  436. package/dist/client/components/ui/switch.mjs +23 -0
  437. package/dist/client/components/ui/switch.mjs.map +1 -0
  438. package/dist/client/components/ui/table.d.mts +2 -0
  439. package/dist/client/components/ui/table.mjs +66 -0
  440. package/dist/client/components/ui/table.mjs.map +1 -0
  441. package/dist/client/components/ui/tabs.d.mts +3 -0
  442. package/dist/client/components/ui/tabs.mjs +49 -0
  443. package/dist/client/components/ui/tabs.mjs.map +1 -0
  444. package/dist/client/components/ui/textarea.d.mts +2 -0
  445. package/dist/client/components/ui/textarea.mjs +15 -0
  446. package/dist/client/components/ui/textarea.mjs.map +1 -0
  447. package/dist/client/components/ui/toolbar.mjs +54 -0
  448. package/dist/client/components/ui/toolbar.mjs.map +1 -0
  449. package/dist/client/components/ui/tooltip.d.mts +2 -0
  450. package/dist/client/components/ui/tooltip.mjs +45 -0
  451. package/dist/client/components/ui/tooltip.mjs.map +1 -0
  452. package/dist/client/components/widgets/chart-widget.d.mts +57 -0
  453. package/dist/client/components/widgets/chart-widget.d.mts.map +1 -0
  454. package/dist/client/components/widgets/chart-widget.mjs +282 -0
  455. package/dist/client/components/widgets/chart-widget.mjs.map +1 -0
  456. package/dist/client/components/widgets/progress-widget.d.mts +41 -0
  457. package/dist/client/components/widgets/progress-widget.d.mts.map +1 -0
  458. package/dist/client/components/widgets/progress-widget.mjs +110 -0
  459. package/dist/client/components/widgets/progress-widget.mjs.map +1 -0
  460. package/dist/client/components/widgets/quick-actions-widget.d.mts +29 -0
  461. package/dist/client/components/widgets/quick-actions-widget.d.mts.map +1 -0
  462. package/dist/client/components/widgets/quick-actions-widget.mjs +121 -0
  463. package/dist/client/components/widgets/quick-actions-widget.mjs.map +1 -0
  464. package/dist/client/components/widgets/recent-items-widget.d.mts +51 -0
  465. package/dist/client/components/widgets/recent-items-widget.d.mts.map +1 -0
  466. package/dist/client/components/widgets/recent-items-widget.mjs +101 -0
  467. package/dist/client/components/widgets/recent-items-widget.mjs.map +1 -0
  468. package/dist/client/components/widgets/stats-widget.d.mts +55 -0
  469. package/dist/client/components/widgets/stats-widget.d.mts.map +1 -0
  470. package/dist/client/components/widgets/stats-widget.mjs +150 -0
  471. package/dist/client/components/widgets/stats-widget.mjs.map +1 -0
  472. package/dist/client/components/widgets/table-widget.d.mts +31 -0
  473. package/dist/client/components/widgets/table-widget.d.mts.map +1 -0
  474. package/dist/client/components/widgets/table-widget.mjs +139 -0
  475. package/dist/client/components/widgets/table-widget.mjs.map +1 -0
  476. package/dist/client/components/widgets/timeline-widget.d.mts +51 -0
  477. package/dist/client/components/widgets/timeline-widget.d.mts.map +1 -0
  478. package/dist/client/components/widgets/timeline-widget.mjs +168 -0
  479. package/dist/client/components/widgets/timeline-widget.mjs.map +1 -0
  480. package/dist/client/components/widgets/value-widget.d.mts +39 -0
  481. package/dist/client/components/widgets/value-widget.d.mts.map +1 -0
  482. package/dist/client/components/widgets/value-widget.mjs +111 -0
  483. package/dist/client/components/widgets/value-widget.mjs.map +1 -0
  484. package/dist/client/components/widgets/widget-skeletons.mjs +145 -0
  485. package/dist/client/components/widgets/widget-skeletons.mjs.map +1 -0
  486. package/dist/client/context/focus-context.d.mts +88 -0
  487. package/dist/client/context/focus-context.d.mts.map +1 -0
  488. package/dist/client/context/focus-context.mjs +178 -0
  489. package/dist/client/context/focus-context.mjs.map +1 -0
  490. package/dist/client/contexts/breadcrumb-context.mjs +32 -0
  491. package/dist/client/contexts/breadcrumb-context.mjs.map +1 -0
  492. package/dist/client/hooks/typed-hooks.d.mts +84 -0
  493. package/dist/client/hooks/typed-hooks.d.mts.map +1 -0
  494. package/dist/client/hooks/typed-hooks.mjs +272 -0
  495. package/dist/client/hooks/typed-hooks.mjs.map +1 -0
  496. package/dist/client/hooks/use-action.mjs +201 -0
  497. package/dist/client/hooks/use-action.mjs.map +1 -0
  498. package/dist/client/hooks/use-admin-config.mjs +40 -0
  499. package/dist/client/hooks/use-admin-config.mjs.map +1 -0
  500. package/dist/client/hooks/use-admin-preferences.mjs +68 -0
  501. package/dist/client/hooks/use-admin-preferences.mjs.map +1 -0
  502. package/dist/client/hooks/use-admin-routes.mjs +97 -0
  503. package/dist/client/hooks/use-admin-routes.mjs.map +1 -0
  504. package/dist/client/hooks/use-auth.d.mts +98 -0
  505. package/dist/client/hooks/use-auth.d.mts.map +1 -0
  506. package/dist/{use-auth-BoLmWtmU.mjs → client/hooks/use-auth.mjs} +3 -3
  507. package/dist/client/hooks/use-auth.mjs.map +1 -0
  508. package/dist/client/hooks/use-collection-fields.mjs +32 -0
  509. package/dist/client/hooks/use-collection-fields.mjs.map +1 -0
  510. package/dist/client/hooks/use-collection-meta.mjs +121 -0
  511. package/dist/client/hooks/use-collection-meta.mjs.map +1 -0
  512. package/dist/client/hooks/use-collection-schema.mjs +67 -0
  513. package/dist/client/hooks/use-collection-schema.mjs.map +1 -0
  514. package/dist/client/hooks/use-collection-validation.mjs +74 -0
  515. package/dist/client/hooks/use-collection-validation.mjs.map +1 -0
  516. package/dist/client/hooks/use-collection.d.mts +86 -0
  517. package/dist/client/hooks/use-collection.d.mts.map +1 -0
  518. package/dist/client/hooks/use-collection.mjs +214 -0
  519. package/dist/client/hooks/use-collection.mjs.map +1 -0
  520. package/dist/client/hooks/use-current-user.d.mts +57 -0
  521. package/dist/client/hooks/use-current-user.d.mts.map +1 -0
  522. package/dist/client/hooks/use-current-user.mjs +79 -0
  523. package/dist/client/hooks/use-current-user.mjs.map +1 -0
  524. package/dist/client/hooks/use-field-hooks.mjs +191 -0
  525. package/dist/client/hooks/use-field-hooks.mjs.map +1 -0
  526. package/dist/client/hooks/use-field-options.d.mts +90 -0
  527. package/dist/client/hooks/use-field-options.d.mts.map +1 -0
  528. package/dist/client/hooks/use-field-options.mjs +184 -0
  529. package/dist/client/hooks/use-field-options.mjs.map +1 -0
  530. package/dist/client/hooks/use-global-fields.mjs +27 -0
  531. package/dist/client/hooks/use-global-fields.mjs.map +1 -0
  532. package/dist/client/hooks/use-global-meta.mjs +59 -0
  533. package/dist/client/hooks/use-global-meta.mjs.map +1 -0
  534. package/dist/client/hooks/use-global-schema.mjs +33 -0
  535. package/dist/client/hooks/use-global-schema.mjs.map +1 -0
  536. package/dist/client/hooks/use-global.d.mts +40 -0
  537. package/dist/client/hooks/use-global.d.mts.map +1 -0
  538. package/dist/client/hooks/use-global.mjs +74 -0
  539. package/dist/client/hooks/use-global.mjs.map +1 -0
  540. package/dist/client/hooks/use-locks.mjs +245 -0
  541. package/dist/client/hooks/use-locks.mjs.map +1 -0
  542. package/dist/client/hooks/use-media-query.d.mts +23 -0
  543. package/dist/client/hooks/use-media-query.d.mts.map +1 -0
  544. package/dist/client/hooks/use-media-query.mjs +62 -0
  545. package/dist/client/hooks/use-media-query.mjs.map +1 -0
  546. package/dist/client/hooks/use-prefill-params.mjs +47 -0
  547. package/dist/client/hooks/use-prefill-params.mjs.map +1 -0
  548. package/dist/client/hooks/use-questpie-query-options.mjs +28 -0
  549. package/dist/client/hooks/use-questpie-query-options.mjs.map +1 -0
  550. package/dist/client/hooks/use-reactive-fields.d.mts +75 -0
  551. package/dist/client/hooks/use-reactive-fields.d.mts.map +1 -0
  552. package/dist/client/hooks/use-reactive-fields.mjs +164 -0
  553. package/dist/client/hooks/use-reactive-fields.mjs.map +1 -0
  554. package/dist/client/hooks/use-realtime-highlight.mjs +96 -0
  555. package/dist/client/hooks/use-realtime-highlight.mjs.map +1 -0
  556. package/dist/client/hooks/use-saved-views.mjs +65 -0
  557. package/dist/client/hooks/use-saved-views.mjs.map +1 -0
  558. package/dist/client/hooks/use-search.mjs +147 -0
  559. package/dist/client/hooks/use-search.mjs.map +1 -0
  560. package/dist/client/hooks/use-server-validation.mjs +199 -0
  561. package/dist/client/hooks/use-server-validation.mjs.map +1 -0
  562. package/dist/client/hooks/use-server-widget-data.d.mts +26 -0
  563. package/dist/client/hooks/use-server-widget-data.d.mts.map +1 -0
  564. package/dist/client/hooks/use-server-widget-data.mjs +40 -0
  565. package/dist/client/hooks/use-server-widget-data.mjs.map +1 -0
  566. package/dist/client/hooks/use-setup-status.d.mts +39 -0
  567. package/dist/client/hooks/use-setup-status.d.mts.map +1 -0
  568. package/dist/client/hooks/use-setup-status.mjs +50 -0
  569. package/dist/client/hooks/use-setup-status.mjs.map +1 -0
  570. package/dist/client/hooks/use-upload-collection.mjs +32 -0
  571. package/dist/client/hooks/use-upload-collection.mjs.map +1 -0
  572. package/dist/client/hooks/use-upload.d.mts +23 -0
  573. package/dist/client/hooks/use-upload.d.mts.map +1 -0
  574. package/dist/client/hooks/use-upload.mjs +145 -0
  575. package/dist/client/hooks/use-upload.mjs.map +1 -0
  576. package/dist/client/hooks/use-validation-error-map.mjs +53 -0
  577. package/dist/client/hooks/use-validation-error-map.mjs.map +1 -0
  578. package/dist/client/hooks/use-view-state.mjs +261 -0
  579. package/dist/client/hooks/use-view-state.mjs.map +1 -0
  580. package/dist/client/i18n/hooks.mjs +160 -0
  581. package/dist/client/i18n/hooks.mjs.map +1 -0
  582. package/dist/client/i18n/intl-cache.mjs +65 -0
  583. package/dist/client/i18n/intl-cache.mjs.map +1 -0
  584. package/dist/client/i18n/messages.mjs +7 -0
  585. package/dist/client/i18n/messages.mjs.map +1 -0
  586. package/dist/client/i18n/simple.d.mts +22 -0
  587. package/dist/client/i18n/simple.d.mts.map +1 -0
  588. package/dist/client/i18n/simple.mjs +157 -0
  589. package/dist/client/i18n/simple.mjs.map +1 -0
  590. package/dist/client/i18n/types.d.mts +110 -0
  591. package/dist/client/i18n/types.d.mts.map +1 -0
  592. package/dist/client/lib/utils.d.mts +1 -0
  593. package/dist/client/lib/utils.mjs +28 -0
  594. package/dist/client/lib/utils.mjs.map +1 -0
  595. package/dist/client/preview/block-scope-context.d.mts +74 -0
  596. package/dist/client/preview/block-scope-context.d.mts.map +1 -0
  597. package/dist/client/preview/block-scope-context.mjs +93 -0
  598. package/dist/client/preview/block-scope-context.mjs.map +1 -0
  599. package/dist/client/preview/index.d.mts +5 -0
  600. package/dist/client/preview/preview-banner.d.mts +46 -0
  601. package/dist/client/preview/preview-banner.d.mts.map +1 -0
  602. package/dist/client/preview/preview-banner.mjs +95 -0
  603. package/dist/client/preview/preview-banner.mjs.map +1 -0
  604. package/dist/client/preview/preview-field.d.mts +108 -0
  605. package/dist/client/preview/preview-field.d.mts.map +1 -0
  606. package/dist/client/preview/preview-field.mjs +125 -0
  607. package/dist/client/preview/preview-field.mjs.map +1 -0
  608. package/dist/client/preview/types.d.mts +115 -0
  609. package/dist/client/preview/types.d.mts.map +1 -0
  610. package/dist/client/preview/types.mjs +21 -0
  611. package/dist/client/preview/types.mjs.map +1 -0
  612. package/dist/client/preview/use-collection-preview.d.mts +71 -0
  613. package/dist/client/preview/use-collection-preview.d.mts.map +1 -0
  614. package/dist/client/preview/use-collection-preview.mjs +114 -0
  615. package/dist/client/preview/use-collection-preview.mjs.map +1 -0
  616. package/dist/client/runtime/content-locales-provider.d.mts +1 -0
  617. package/dist/client/runtime/content-locales-provider.mjs +85 -0
  618. package/dist/client/runtime/content-locales-provider.mjs.map +1 -0
  619. package/dist/client/runtime/index.d.mts +7 -0
  620. package/dist/client/runtime/index.mjs +8 -0
  621. package/dist/client/runtime/locale-scope.d.mts +2 -0
  622. package/dist/{runtime-6VZM878K.mjs → client/runtime/locale-scope.mjs} +3 -4
  623. package/dist/client/runtime/locale-scope.mjs.map +1 -0
  624. package/dist/client/runtime/provider.d.mts +10107 -0
  625. package/dist/client/runtime/provider.d.mts.map +1 -0
  626. package/dist/client/runtime/provider.mjs +229 -0
  627. package/dist/client/runtime/provider.mjs.map +1 -0
  628. package/dist/client/runtime/routes.d.mts +49 -0
  629. package/dist/client/runtime/routes.d.mts.map +1 -0
  630. package/dist/client/runtime/routes.mjs +107 -0
  631. package/dist/client/runtime/routes.mjs.map +1 -0
  632. package/dist/client/runtime/translations-provider.d.mts +2 -0
  633. package/dist/client/runtime/translations-provider.mjs +181 -0
  634. package/dist/client/runtime/translations-provider.mjs.map +1 -0
  635. package/dist/client/scope/index.d.mts +3 -0
  636. package/dist/client/scope/picker.d.mts +54 -0
  637. package/dist/client/scope/picker.d.mts.map +1 -0
  638. package/dist/client/scope/picker.mjs +161 -0
  639. package/dist/client/scope/picker.mjs.map +1 -0
  640. package/dist/client/scope/provider.d.mts +104 -0
  641. package/dist/client/scope/provider.d.mts.map +1 -0
  642. package/dist/client/scope/provider.mjs +159 -0
  643. package/dist/client/scope/provider.mjs.map +1 -0
  644. package/dist/client/scope/types.d.mts +112 -0
  645. package/dist/client/scope/types.d.mts.map +1 -0
  646. package/dist/client/styles/index.css +80 -0
  647. package/dist/client/utils/auto-expand-fields.mjs +65 -0
  648. package/dist/client/utils/auto-expand-fields.mjs.map +1 -0
  649. package/dist/client/utils/build-field-definitions-from-schema.mjs +256 -0
  650. package/dist/client/utils/build-field-definitions-from-schema.mjs.map +1 -0
  651. package/dist/client/utils/detect-relations.mjs +46 -0
  652. package/dist/client/utils/detect-relations.mjs.map +1 -0
  653. package/dist/client/utils/locale-to-flag.d.mts +118 -0
  654. package/dist/client/utils/locale-to-flag.d.mts.map +1 -0
  655. package/dist/client/utils/locale-to-flag.mjs +130 -0
  656. package/dist/client/utils/locale-to-flag.mjs.map +1 -0
  657. package/dist/client/utils/routes.mjs +196 -0
  658. package/dist/client/utils/routes.mjs.map +1 -0
  659. package/dist/client/views/auth/accept-invite-form.d.mts +73 -0
  660. package/dist/client/views/auth/accept-invite-form.d.mts.map +1 -0
  661. package/dist/client/views/auth/accept-invite-form.mjs +180 -0
  662. package/dist/client/views/auth/accept-invite-form.mjs.map +1 -0
  663. package/dist/client/views/auth/auth-layout.d.mts +44 -0
  664. package/dist/client/views/auth/auth-layout.d.mts.map +1 -0
  665. package/dist/client/views/auth/auth-layout.mjs +53 -0
  666. package/dist/client/views/auth/auth-layout.mjs.map +1 -0
  667. package/dist/client/views/auth/forgot-password-form.d.mts +59 -0
  668. package/dist/client/views/auth/forgot-password-form.d.mts.map +1 -0
  669. package/dist/{forgot-password-page-Bcp-An4Y.mjs → client/views/auth/forgot-password-form.mjs} +22 -89
  670. package/dist/client/views/auth/forgot-password-form.mjs.map +1 -0
  671. package/dist/client/views/auth/index.d.mts +7 -0
  672. package/dist/client/views/auth/invite-form.d.mts +1 -0
  673. package/dist/client/views/auth/invite-form.mjs +155 -0
  674. package/dist/client/views/auth/invite-form.mjs.map +1 -0
  675. package/dist/client/views/auth/login-form.d.mts +76 -0
  676. package/dist/client/views/auth/login-form.d.mts.map +1 -0
  677. package/dist/client/views/auth/login-form.mjs +167 -0
  678. package/dist/client/views/auth/login-form.mjs.map +1 -0
  679. package/dist/client/views/auth/reset-password-form.d.mts +66 -0
  680. package/dist/client/views/auth/reset-password-form.d.mts.map +1 -0
  681. package/dist/client/views/auth/reset-password-form.mjs +188 -0
  682. package/dist/client/views/auth/reset-password-form.mjs.map +1 -0
  683. package/dist/client/views/auth/setup-form.d.mts +61 -0
  684. package/dist/client/views/auth/setup-form.d.mts.map +1 -0
  685. package/dist/{setup-page-YAP_fzqh.mjs → client/views/auth/setup-form.mjs} +46 -124
  686. package/dist/client/views/auth/setup-form.mjs.map +1 -0
  687. package/dist/client/views/collection/auto-form-fields.d.mts +4 -0
  688. package/dist/client/views/collection/auto-form-fields.mjs +453 -0
  689. package/dist/client/views/collection/auto-form-fields.mjs.map +1 -0
  690. package/dist/client/views/collection/bulk-action-toolbar.mjs +291 -0
  691. package/dist/client/views/collection/bulk-action-toolbar.mjs.map +1 -0
  692. package/dist/client/views/collection/cells/complex-cells.d.mts +46 -0
  693. package/dist/client/views/collection/cells/complex-cells.d.mts.map +1 -0
  694. package/dist/client/views/collection/cells/complex-cells.mjs +327 -0
  695. package/dist/client/views/collection/cells/complex-cells.mjs.map +1 -0
  696. package/dist/client/views/collection/cells/index.d.mts +7 -0
  697. package/dist/client/views/collection/cells/primitive-cells.d.mts +76 -0
  698. package/dist/client/views/collection/cells/primitive-cells.d.mts.map +1 -0
  699. package/dist/client/views/collection/cells/primitive-cells.mjs +165 -0
  700. package/dist/client/views/collection/cells/primitive-cells.mjs.map +1 -0
  701. package/dist/client/views/collection/cells/relation-cells.d.mts +21 -0
  702. package/dist/client/views/collection/cells/relation-cells.d.mts.map +1 -0
  703. package/dist/client/views/collection/cells/relation-cells.mjs +105 -0
  704. package/dist/client/views/collection/cells/relation-cells.mjs.map +1 -0
  705. package/dist/client/views/collection/cells/shared/asset-thumbnail.d.mts +1 -0
  706. package/dist/client/views/collection/cells/shared/asset-thumbnail.mjs +189 -0
  707. package/dist/client/views/collection/cells/shared/asset-thumbnail.mjs.map +1 -0
  708. package/dist/client/views/collection/cells/shared/cell-helpers.d.mts +2 -0
  709. package/dist/client/views/collection/cells/shared/cell-helpers.mjs +78 -0
  710. package/dist/client/views/collection/cells/shared/cell-helpers.mjs.map +1 -0
  711. package/dist/client/views/collection/cells/shared/relation-chip.d.mts +1 -0
  712. package/dist/client/views/collection/cells/shared/relation-chip.mjs +37 -0
  713. package/dist/client/views/collection/cells/shared/relation-chip.mjs.map +1 -0
  714. package/dist/client/views/collection/cells/upload-cells.d.mts +25 -0
  715. package/dist/client/views/collection/cells/upload-cells.d.mts.map +1 -0
  716. package/dist/client/views/collection/cells/upload-cells.mjs +20 -0
  717. package/dist/client/views/collection/cells/upload-cells.mjs.map +1 -0
  718. package/dist/client/views/collection/columns/build-columns.d.mts +2 -0
  719. package/dist/client/views/collection/columns/build-columns.mjs +156 -0
  720. package/dist/client/views/collection/columns/build-columns.mjs.map +1 -0
  721. package/dist/client/views/collection/columns/column-defaults.d.mts +2 -0
  722. package/dist/client/views/collection/columns/column-defaults.mjs +108 -0
  723. package/dist/client/views/collection/columns/column-defaults.mjs.map +1 -0
  724. package/dist/client/views/collection/columns/index.d.mts +3 -0
  725. package/dist/client/views/collection/columns/types.d.mts +2 -0
  726. package/dist/client/views/collection/field-context.mjs +127 -0
  727. package/dist/client/views/collection/field-context.mjs.map +1 -0
  728. package/dist/client/views/collection/field-renderer.mjs +171 -0
  729. package/dist/client/views/collection/field-renderer.mjs.map +1 -0
  730. package/dist/client/views/collection/form-view.d.mts +112 -0
  731. package/dist/client/views/collection/form-view.d.mts.map +1 -0
  732. package/dist/client/views/collection/form-view.mjs +903 -0
  733. package/dist/client/views/collection/form-view.mjs.map +1 -0
  734. package/dist/client/views/collection/index.d.mts +9 -0
  735. package/dist/client/views/collection/table-view.d.mts +102 -0
  736. package/dist/client/views/collection/table-view.d.mts.map +1 -0
  737. package/dist/client/views/collection/table-view.mjs +695 -0
  738. package/dist/client/views/collection/table-view.mjs.map +1 -0
  739. package/dist/client/views/collection/view-skeletons.mjs +121 -0
  740. package/dist/client/views/collection/view-skeletons.mjs.map +1 -0
  741. package/dist/client/views/common/global-search.d.mts +1 -0
  742. package/dist/client/views/common/global-search.mjs +376 -0
  743. package/dist/client/views/common/global-search.mjs.map +1 -0
  744. package/dist/client/views/common/index.d.mts +1 -0
  745. package/dist/client/views/dashboard/dashboard-grid.mjs +385 -0
  746. package/dist/client/views/dashboard/dashboard-grid.mjs.map +1 -0
  747. package/dist/client/views/dashboard/dashboard-widget.mjs +178 -0
  748. package/dist/client/views/dashboard/dashboard-widget.mjs.map +1 -0
  749. package/dist/client/views/dashboard/widget-card.mjs +159 -0
  750. package/dist/client/views/dashboard/widget-card.mjs.map +1 -0
  751. package/dist/client/views/globals/global-form-view.d.mts +74 -0
  752. package/dist/client/views/globals/global-form-view.d.mts.map +1 -0
  753. package/dist/client/views/globals/global-form-view.mjs +181 -0
  754. package/dist/client/views/globals/global-form-view.mjs.map +1 -0
  755. package/dist/client/views/index.d.mts +28 -0
  756. package/dist/client/views/layout/admin-layout-provider.d.mts +140 -0
  757. package/dist/client/views/layout/admin-layout-provider.d.mts.map +1 -0
  758. package/dist/client/views/layout/admin-layout-provider.mjs +90 -0
  759. package/dist/client/views/layout/admin-layout-provider.mjs.map +1 -0
  760. package/dist/client/views/layout/admin-layout.d.mts +151 -0
  761. package/dist/client/views/layout/admin-layout.d.mts.map +1 -0
  762. package/dist/client/views/layout/admin-layout.mjs +144 -0
  763. package/dist/client/views/layout/admin-layout.mjs.map +1 -0
  764. package/dist/client/views/layout/admin-root.d.mts +7 -0
  765. package/dist/client/views/layout/admin-router.d.mts +125 -0
  766. package/dist/client/views/layout/admin-router.d.mts.map +1 -0
  767. package/dist/client/views/layout/admin-router.mjs +594 -0
  768. package/dist/client/views/layout/admin-router.mjs.map +1 -0
  769. package/dist/client/views/layout/admin-sidebar.d.mts +105 -0
  770. package/dist/client/views/layout/admin-sidebar.d.mts.map +1 -0
  771. package/dist/client/views/layout/admin-sidebar.mjs +550 -0
  772. package/dist/client/views/layout/admin-sidebar.mjs.map +1 -0
  773. package/dist/client/views/layout/admin-topbar.mjs +128 -0
  774. package/dist/client/views/layout/admin-topbar.mjs.map +1 -0
  775. package/dist/client/views/layout/index.d.mts +5 -0
  776. package/dist/client/views/pages/accept-invite-page.d.mts +67 -0
  777. package/dist/client/views/pages/accept-invite-page.d.mts.map +1 -0
  778. package/dist/client/views/pages/accept-invite-page.mjs +143 -0
  779. package/dist/client/views/pages/accept-invite-page.mjs.map +1 -0
  780. package/dist/client/views/pages/dashboard-page.d.mts +52 -0
  781. package/dist/client/views/pages/dashboard-page.d.mts.map +1 -0
  782. package/dist/client/views/pages/dashboard-page.mjs +45 -0
  783. package/dist/client/views/pages/dashboard-page.mjs.map +1 -0
  784. package/dist/client/views/pages/forgot-password-page.d.mts +59 -0
  785. package/dist/client/views/pages/forgot-password-page.d.mts.map +1 -0
  786. package/dist/client/views/pages/forgot-password-page.mjs +80 -0
  787. package/dist/client/views/pages/forgot-password-page.mjs.map +1 -0
  788. package/dist/client/views/pages/index.d.mts +7 -0
  789. package/dist/client/views/pages/invite-page.d.mts +71 -0
  790. package/dist/client/views/pages/invite-page.d.mts.map +1 -0
  791. package/dist/client/views/pages/invite-page.mjs +86 -0
  792. package/dist/client/views/pages/invite-page.mjs.map +1 -0
  793. package/dist/client/views/pages/login-page.d.mts +76 -0
  794. package/dist/client/views/pages/login-page.d.mts.map +1 -0
  795. package/dist/client/views/pages/login-page.mjs +98 -0
  796. package/dist/client/views/pages/login-page.mjs.map +1 -0
  797. package/dist/client/views/pages/reset-password-page.d.mts +66 -0
  798. package/dist/client/views/pages/reset-password-page.d.mts.map +1 -0
  799. package/dist/client/views/pages/reset-password-page.mjs +105 -0
  800. package/dist/client/views/pages/reset-password-page.mjs.map +1 -0
  801. package/dist/client/views/pages/setup-page.d.mts +64 -0
  802. package/dist/client/views/pages/setup-page.d.mts.map +1 -0
  803. package/dist/client/views/pages/setup-page.mjs +91 -0
  804. package/dist/client/views/pages/setup-page.mjs.map +1 -0
  805. package/dist/client.d.mts +92 -3
  806. package/dist/client.d.mts.map +1 -0
  807. package/dist/client.mjs +54 -12
  808. package/dist/components/rich-text/index.d.mts +1 -0
  809. package/dist/components/rich-text/rich-text-renderer.d.mts +104 -0
  810. package/dist/components/rich-text/rich-text-renderer.d.mts.map +1 -0
  811. package/dist/components/rich-text/rich-text-renderer.mjs +210 -0
  812. package/dist/components/rich-text/rich-text-renderer.mjs.map +1 -0
  813. package/dist/index.d.mts +62 -3
  814. package/dist/index.mjs +54 -12
  815. package/dist/server/adapters/nextjs.d.mts +121 -0
  816. package/dist/server/adapters/nextjs.d.mts.map +1 -0
  817. package/dist/server/adapters/nextjs.mjs +111 -0
  818. package/dist/server/adapters/nextjs.mjs.map +1 -0
  819. package/dist/server/adapters/tanstack.d.mts +133 -0
  820. package/dist/server/adapters/tanstack.d.mts.map +1 -0
  821. package/dist/server/adapters/tanstack.mjs +90 -0
  822. package/dist/server/adapters/tanstack.mjs.map +1 -0
  823. package/dist/server/augmentation.d.mts +1523 -0
  824. package/dist/server/augmentation.d.mts.map +1 -0
  825. package/dist/server/auth-helpers.d.mts +143 -0
  826. package/dist/server/auth-helpers.d.mts.map +1 -0
  827. package/dist/server/auth-helpers.mjs +108 -0
  828. package/dist/server/auth-helpers.mjs.map +1 -0
  829. package/dist/server/block/block-builder.d.mts +319 -0
  830. package/dist/server/block/block-builder.d.mts.map +1 -0
  831. package/dist/server/block/block-builder.mjs +217 -0
  832. package/dist/server/block/block-builder.mjs.map +1 -0
  833. package/dist/server/block/index.d.mts +3 -0
  834. package/dist/server/block/introspection.d.mts +84 -0
  835. package/dist/server/block/introspection.d.mts.map +1 -0
  836. package/dist/server/block/introspection.mjs +89 -0
  837. package/dist/server/block/introspection.mjs.map +1 -0
  838. package/dist/server/block/prefetch.d.mts +78 -0
  839. package/dist/server/block/prefetch.d.mts.map +1 -0
  840. package/dist/server/block/prefetch.mjs +240 -0
  841. package/dist/server/block/prefetch.mjs.map +1 -0
  842. package/dist/server/fields/blocks.d.mts +139 -0
  843. package/dist/server/fields/blocks.d.mts.map +1 -0
  844. package/dist/server/fields/blocks.mjs +192 -0
  845. package/dist/server/fields/blocks.mjs.map +1 -0
  846. package/dist/server/fields/index.d.mts +48 -0
  847. package/dist/server/fields/index.d.mts.map +1 -0
  848. package/dist/server/fields/index.mjs +16 -0
  849. package/dist/server/fields/index.mjs.map +1 -0
  850. package/dist/server/fields/rich-text.d.mts +135 -0
  851. package/dist/server/fields/rich-text.d.mts.map +1 -0
  852. package/dist/server/fields/rich-text.mjs +188 -0
  853. package/dist/server/fields/rich-text.mjs.map +1 -0
  854. package/dist/server/i18n/index.d.mts +16 -0
  855. package/dist/server/i18n/index.d.mts.map +1 -0
  856. package/dist/server/i18n/index.mjs +44 -0
  857. package/dist/server/i18n/index.mjs.map +1 -0
  858. package/dist/server/i18n/messages/cs.mjs +461 -0
  859. package/dist/server/i18n/messages/cs.mjs.map +1 -0
  860. package/dist/server/i18n/messages/de.mjs +461 -0
  861. package/dist/server/i18n/messages/de.mjs.map +1 -0
  862. package/dist/server/i18n/messages/en.mjs +493 -0
  863. package/dist/server/i18n/messages/en.mjs.map +1 -0
  864. package/dist/server/i18n/messages/es.mjs +461 -0
  865. package/dist/server/i18n/messages/es.mjs.map +1 -0
  866. package/dist/server/i18n/messages/fr.mjs +461 -0
  867. package/dist/server/i18n/messages/fr.mjs.map +1 -0
  868. package/dist/server/i18n/messages/index.mjs +24 -0
  869. package/dist/server/i18n/messages/index.mjs.map +1 -0
  870. package/dist/server/i18n/messages/pl.mjs +461 -0
  871. package/dist/server/i18n/messages/pl.mjs.map +1 -0
  872. package/dist/server/i18n/messages/pt.mjs +464 -0
  873. package/dist/server/i18n/messages/pt.mjs.map +1 -0
  874. package/dist/server/i18n/messages/sk.mjs +490 -0
  875. package/dist/server/i18n/messages/sk.mjs.map +1 -0
  876. package/dist/server/index.d.mts +20 -0
  877. package/dist/server/modules/admin/functions/admin-config.mjs +348 -0
  878. package/dist/server/modules/admin/functions/admin-config.mjs.map +1 -0
  879. package/dist/server/modules/admin/functions/execute-action.d.mts +107 -0
  880. package/dist/server/modules/admin/functions/execute-action.d.mts.map +1 -0
  881. package/dist/server/modules/admin/functions/execute-action.mjs +331 -0
  882. package/dist/server/modules/admin/functions/execute-action.mjs.map +1 -0
  883. package/dist/server/modules/admin/functions/locales.mjs +80 -0
  884. package/dist/server/modules/admin/functions/locales.mjs.map +1 -0
  885. package/dist/server/modules/admin/functions/preview.d.mts +70 -0
  886. package/dist/server/modules/admin/functions/preview.d.mts.map +1 -0
  887. package/dist/server/modules/admin/functions/preview.mjs +243 -0
  888. package/dist/server/modules/admin/functions/preview.mjs.map +1 -0
  889. package/dist/server/modules/admin/functions/reactive.d.mts +99 -0
  890. package/dist/server/modules/admin/functions/reactive.d.mts.map +1 -0
  891. package/dist/server/modules/admin/functions/reactive.mjs +378 -0
  892. package/dist/server/modules/admin/functions/reactive.mjs.map +1 -0
  893. package/dist/server/modules/admin/functions/setup.d.mts +84 -0
  894. package/dist/server/modules/admin/functions/setup.d.mts.map +1 -0
  895. package/dist/server/modules/admin/functions/setup.mjs +131 -0
  896. package/dist/server/modules/admin/functions/setup.mjs.map +1 -0
  897. package/dist/server/modules/admin/functions/translations.mjs +125 -0
  898. package/dist/server/modules/admin/functions/translations.mjs.map +1 -0
  899. package/dist/server/modules/admin/functions/widget-data.d.mts +33 -0
  900. package/dist/server/modules/admin/functions/widget-data.d.mts.map +1 -0
  901. package/dist/server/modules/admin/functions/widget-data.mjs +70 -0
  902. package/dist/server/modules/admin/functions/widget-data.mjs.map +1 -0
  903. package/dist/server/modules/admin/index.d.mts +16879 -0
  904. package/dist/server/modules/admin/index.d.mts.map +1 -0
  905. package/dist/server/modules/admin/index.mjs +249 -0
  906. package/dist/server/modules/admin/index.mjs.map +1 -0
  907. package/dist/server/modules/admin-preferences/collections/admin-preferences.collection.d.mts +3 -0
  908. package/dist/server/modules/admin-preferences/collections/admin-preferences.collection.mjs +48 -0
  909. package/dist/server/modules/admin-preferences/collections/admin-preferences.collection.mjs.map +1 -0
  910. package/dist/server/modules/admin-preferences/collections/locks.collection.d.mts +3 -0
  911. package/dist/server/modules/admin-preferences/collections/locks.collection.mjs +79 -0
  912. package/dist/server/modules/admin-preferences/collections/locks.collection.mjs.map +1 -0
  913. package/dist/server/modules/admin-preferences/collections/saved-views.collection.d.mts +1490 -0
  914. package/dist/server/modules/admin-preferences/collections/saved-views.collection.d.mts.map +1 -0
  915. package/dist/server/modules/admin-preferences/collections/saved-views.collection.mjs +57 -0
  916. package/dist/server/modules/admin-preferences/collections/saved-views.collection.mjs.map +1 -0
  917. package/dist/server/patch.d.mts +100 -0
  918. package/dist/server/patch.d.mts.map +1 -0
  919. package/dist/server/patch.mjs +1062 -0
  920. package/dist/server/patch.mjs.map +1 -0
  921. package/dist/server.d.mts +21 -250
  922. package/dist/server.mjs +19 -832
  923. package/dist/shared/preview-utils.d.mts +54 -0
  924. package/dist/shared/preview-utils.d.mts.map +1 -0
  925. package/dist/{preview-utils-BKQ9-TMa.mjs → shared/preview-utils.mjs} +2 -2
  926. package/dist/shared/preview-utils.mjs.map +1 -0
  927. package/dist/{saved-views.types-BMsz5mCy.d.mts → shared/types/saved-views.types.d.mts} +7 -2
  928. package/dist/shared/types/saved-views.types.d.mts.map +1 -0
  929. package/dist/shared.d.mts +3 -57
  930. package/dist/shared.mjs +1 -1
  931. package/package.json +12 -17
  932. package/dist/auth-layout-M8K8_q5R.mjs +0 -181
  933. package/dist/auth-layout-M8K8_q5R.mjs.map +0 -1
  934. package/dist/bulk-upload-dialog-D7w7W1Hl.mjs +0 -273
  935. package/dist/bulk-upload-dialog-D7w7W1Hl.mjs.map +0 -1
  936. package/dist/client-B7r47hEd.d.mts +0 -13403
  937. package/dist/client-B7r47hEd.d.mts.map +0 -1
  938. package/dist/client-njX1rZmi.mjs +0 -22612
  939. package/dist/client-njX1rZmi.mjs.map +0 -1
  940. package/dist/content-locales-provider-BXvuIgfg.mjs +0 -1650
  941. package/dist/content-locales-provider-BXvuIgfg.mjs.map +0 -1
  942. package/dist/dashboard-page-B4PGEdc2.mjs +0 -2500
  943. package/dist/dashboard-page-B4PGEdc2.mjs.map +0 -1
  944. package/dist/dashboard-page-mCY0pgZv.mjs +0 -3
  945. package/dist/dropzone-Do3awXKd.mjs +0 -634
  946. package/dist/dropzone-Do3awXKd.mjs.map +0 -1
  947. package/dist/forgot-password-page-Bcp-An4Y.mjs.map +0 -1
  948. package/dist/forgot-password-page-CEwsdLwn.mjs +0 -3
  949. package/dist/index-BYyqkWtn.d.mts +0 -2753
  950. package/dist/index-BYyqkWtn.d.mts.map +0 -1
  951. package/dist/login-page-BUnpCbCa.mjs +0 -3
  952. package/dist/login-page-CP4gA-dl.mjs +0 -298
  953. package/dist/login-page-CP4gA-dl.mjs.map +0 -1
  954. package/dist/preview-utils-BKQ9-TMa.mjs.map +0 -1
  955. package/dist/reset-password-page-BqfDmLxA.mjs +0 -281
  956. package/dist/reset-password-page-BqfDmLxA.mjs.map +0 -1
  957. package/dist/reset-password-page-CufHz3h3.mjs +0 -3
  958. package/dist/runtime-6VZM878K.mjs.map +0 -1
  959. package/dist/saved-views.types-BMsz5mCy.d.mts.map +0 -1
  960. package/dist/server.d.mts.map +0 -1
  961. package/dist/server.mjs.map +0 -1
  962. package/dist/setup-page-BNNzt_Z6.mjs +0 -3
  963. package/dist/setup-page-YAP_fzqh.mjs.map +0 -1
  964. package/dist/shared.d.mts.map +0 -1
  965. package/dist/use-auth-BoLmWtmU.mjs.map +0 -1
@@ -0,0 +1,18 @@
1
+ //#region rolldown:runtime
2
+ var __defProp = Object.defineProperty;
3
+ var __exportAll = (all, symbols) => {
4
+ let target = {};
5
+ for (var name in all) {
6
+ __defProp(target, name, {
7
+ get: all[name],
8
+ enumerable: true
9
+ });
10
+ }
11
+ if (symbols) {
12
+ __defProp(target, Symbol.toStringTag, { value: "Module" });
13
+ }
14
+ return target;
15
+ };
16
+
17
+ //#endregion
18
+ export { __exportAll };
@@ -0,0 +1,315 @@
1
+ import { ReactiveConfig } from "questpie";
2
+
3
+ //#region src/augmentation.d.ts
4
+
5
+ /**
6
+ * Common admin options shared by all fields.
7
+ * Each field-specific admin meta extends this.
8
+ *
9
+ * Supports reactive configurations for dynamic field states:
10
+ * - `hidden`, `readOnly`, `disabled` can be boolean or reactive function
11
+ * - `compute` can auto-generate field values based on other fields
12
+ */
13
+ interface BaseAdminMeta {
14
+ /**
15
+ * Field width in form (CSS value or number for pixels).
16
+ * @example "100%" | 400 | "50%"
17
+ */
18
+ width?: string | number;
19
+ /**
20
+ * Column span in grid layout (1-12).
21
+ * @default 12
22
+ */
23
+ colspan?: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12;
24
+ /**
25
+ * Field group for form organization.
26
+ */
27
+ group?: string;
28
+ /**
29
+ * Display order within group.
30
+ */
31
+ order?: number;
32
+ /**
33
+ * Hide the field conditionally.
34
+ * - `true`: Always hidden
35
+ * - Function/config: Evaluated on server based on form data
36
+ *
37
+ * @example Static
38
+ * ```ts
39
+ * hidden: true
40
+ * ```
41
+ *
42
+ * @example Reactive (short syntax)
43
+ * ```ts
44
+ * hidden: ({ data }) => !data.showAdvanced
45
+ * ```
46
+ *
47
+ * @example Reactive (full syntax with deps)
48
+ * ```ts
49
+ * hidden: {
50
+ * handler: ({ data }) => !data.showAdvanced,
51
+ * deps: ['showAdvanced'],
52
+ * }
53
+ * ```
54
+ */
55
+ hidden?: boolean | ReactiveConfig<boolean>;
56
+ /**
57
+ * Make field read-only conditionally.
58
+ * - `true`: Always read-only
59
+ * - Function/config: Evaluated on server based on form data
60
+ *
61
+ * @example Reactive
62
+ * ```ts
63
+ * readOnly: ({ data }) => data.status === 'published'
64
+ * ```
65
+ */
66
+ readOnly?: boolean | ReactiveConfig<boolean>;
67
+ /**
68
+ * Disable the field conditionally.
69
+ * - `true`: Always disabled
70
+ * - Function/config: Evaluated on server based on form data
71
+ *
72
+ * @example Reactive
73
+ * ```ts
74
+ * disabled: ({ data }) => data.isLocked
75
+ * ```
76
+ */
77
+ disabled?: boolean | ReactiveConfig<boolean>;
78
+ /**
79
+ * Compute field value automatically based on other fields.
80
+ * Handler should return the computed value or undefined to keep current.
81
+ * Return null to reset field to null/default.
82
+ *
83
+ * @example Auto-generate slug from title
84
+ * ```ts
85
+ * compute: ({ data }) => slugify(data.title)
86
+ * ```
87
+ *
88
+ * @example With debounce and explicit deps
89
+ * ```ts
90
+ * compute: {
91
+ * handler: ({ data }) => slugify(data.title),
92
+ * deps: ['title'],
93
+ * debounce: 300,
94
+ * }
95
+ * ```
96
+ *
97
+ * @example Reset on parent change
98
+ * ```ts
99
+ * compute: ({ data, prev }) => {
100
+ * if (data.category !== prev.data.category) {
101
+ * return null; // Reset when category changes
102
+ * }
103
+ * }
104
+ * ```
105
+ */
106
+ compute?: ReactiveConfig<any>;
107
+ /**
108
+ * Show this field in list view columns.
109
+ */
110
+ showInList?: boolean;
111
+ /**
112
+ * Column width in list view.
113
+ */
114
+ listWidth?: string | number;
115
+ /**
116
+ * Enable sorting by this field.
117
+ */
118
+ sortable?: boolean;
119
+ /**
120
+ * Enable filtering by this field.
121
+ */
122
+ filterable?: boolean;
123
+ }
124
+ /**
125
+ * Text field admin options
126
+ */
127
+ interface TextFieldAdminMeta extends BaseAdminMeta {
128
+ placeholder?: string;
129
+ showCounter?: boolean;
130
+ prefix?: string;
131
+ suffix?: string;
132
+ inputType?: "text" | "email" | "url" | "tel" | "search" | "password";
133
+ }
134
+ /**
135
+ * Email field admin options
136
+ */
137
+ interface EmailFieldAdminMeta extends BaseAdminMeta {
138
+ placeholder?: string;
139
+ /** Show domain hint (e.g., "@company.com") */
140
+ domainHint?: string;
141
+ }
142
+ /**
143
+ * URL field admin options
144
+ */
145
+ interface UrlFieldAdminMeta extends BaseAdminMeta {
146
+ placeholder?: string;
147
+ /** Show protocol dropdown (http/https) */
148
+ showProtocolDropdown?: boolean;
149
+ /** Default protocol if not provided */
150
+ defaultProtocol?: "http" | "https";
151
+ }
152
+ /**
153
+ * Textarea field admin options
154
+ */
155
+ interface TextareaFieldAdminMeta extends BaseAdminMeta {
156
+ placeholder?: string;
157
+ rows?: number;
158
+ autoResize?: boolean;
159
+ richText?: boolean;
160
+ showCounter?: boolean;
161
+ }
162
+ /**
163
+ * Number field admin options
164
+ */
165
+ interface NumberFieldAdminMeta extends BaseAdminMeta {
166
+ placeholder?: string;
167
+ showButtons?: boolean;
168
+ step?: number;
169
+ }
170
+ /**
171
+ * Boolean field admin options
172
+ */
173
+ interface BooleanFieldAdminMeta extends BaseAdminMeta {
174
+ displayAs?: "checkbox" | "switch";
175
+ }
176
+ /**
177
+ * Date field admin options
178
+ */
179
+ interface DateFieldAdminMeta extends BaseAdminMeta {
180
+ placeholder?: string;
181
+ }
182
+ /**
183
+ * Time field admin options
184
+ */
185
+ interface TimeFieldAdminMeta extends BaseAdminMeta {
186
+ placeholder?: string;
187
+ }
188
+ /**
189
+ * Select field admin options
190
+ */
191
+ interface SelectFieldAdminMeta extends BaseAdminMeta {
192
+ displayAs?: "dropdown" | "radio" | "checkbox" | "buttons";
193
+ searchable?: boolean;
194
+ creatable?: boolean;
195
+ clearable?: boolean;
196
+ }
197
+ /**
198
+ * Relation field admin options
199
+ */
200
+ interface RelationFieldAdminMeta extends BaseAdminMeta {
201
+ displayAs?: "select" | "table" | "cards" | "list";
202
+ displayFields?: string[];
203
+ titleField?: string;
204
+ allowCreate?: boolean;
205
+ allowEdit?: boolean;
206
+ preload?: boolean;
207
+ maxItems?: number;
208
+ }
209
+ /**
210
+ * Object field admin options
211
+ */
212
+ interface ObjectFieldAdminMeta extends BaseAdminMeta {
213
+ displayAs?: "card" | "section" | "inline";
214
+ collapsible?: boolean;
215
+ defaultCollapsed?: boolean;
216
+ }
217
+ /**
218
+ * Array field admin options
219
+ */
220
+ interface ArrayFieldAdminMeta extends BaseAdminMeta {
221
+ displayAs?: "list" | "table" | "cards";
222
+ collapsible?: boolean;
223
+ defaultCollapsed?: boolean;
224
+ addLabel?: string;
225
+ emptyMessage?: string;
226
+ maxItems?: number;
227
+ }
228
+ /**
229
+ * JSON field admin options
230
+ */
231
+ interface JsonFieldAdminMeta extends BaseAdminMeta {
232
+ /** Show as code editor */
233
+ codeEditor?: boolean;
234
+ }
235
+ /**
236
+ * Upload field admin options
237
+ */
238
+ interface UploadFieldAdminMeta extends BaseAdminMeta {
239
+ accept?: string;
240
+ dropzoneText?: string;
241
+ }
242
+ /**
243
+ * Rich text field admin options
244
+ */
245
+ interface RichTextFieldAdminMeta extends BaseAdminMeta {
246
+ /** Placeholder text when editor is empty */
247
+ placeholder?: string;
248
+ /** Show character count */
249
+ showCharacterCount?: boolean;
250
+ /** Maximum characters allowed */
251
+ maxCharacters?: number;
252
+ /** Minimum characters required */
253
+ minCharacters?: number;
254
+ /** Enable image uploads within editor */
255
+ enableImages?: boolean;
256
+ /** Collection to use for image uploads */
257
+ imageCollection?: string;
258
+ /** Enable media library integration */
259
+ enableMediaLibrary?: boolean;
260
+ }
261
+ /**
262
+ * Blocks field admin options
263
+ */
264
+ interface BlocksFieldAdminMeta extends BaseAdminMeta {
265
+ /** Label for add block button */
266
+ addLabel?: string;
267
+ /** Message shown when no blocks present */
268
+ emptyMessage?: string;
269
+ /** Maximum number of blocks allowed */
270
+ maxBlocks?: number;
271
+ /** Minimum number of blocks required */
272
+ minBlocks?: number;
273
+ /** Enable drag & drop reordering */
274
+ sortable?: boolean;
275
+ /** Show block type selector as dropdown or grid */
276
+ selectorDisplayAs?: "dropdown" | "grid";
277
+ /** Default collapsed state for blocks */
278
+ defaultCollapsed?: boolean;
279
+ }
280
+ type AnyAdminMeta = TextFieldAdminMeta | TextareaFieldAdminMeta | EmailFieldAdminMeta | UrlFieldAdminMeta | NumberFieldAdminMeta | BooleanFieldAdminMeta | DateFieldAdminMeta | TimeFieldAdminMeta | SelectFieldAdminMeta | RelationFieldAdminMeta | ObjectFieldAdminMeta | ArrayFieldAdminMeta | JsonFieldAdminMeta | UploadFieldAdminMeta | RichTextFieldAdminMeta | BlocksFieldAdminMeta;
281
+ /**
282
+ * Base widget admin meta (common options for all widgets)
283
+ */
284
+ interface BaseWidgetAdminMeta {
285
+ /** Default grid span */
286
+ span?: number;
287
+ /** Default refresh interval */
288
+ refreshInterval?: number;
289
+ }
290
+ /**
291
+ * Registry interface for widget types.
292
+ * Users can augment this to add custom widget type configs.
293
+ *
294
+ * @example
295
+ * ```ts
296
+ * declare module "@questpie/admin" {
297
+ * interface WidgetTypeRegistry {
298
+ * myCustomWidget: { fetchFn: (client: any) => Promise<MyData> };
299
+ * }
300
+ * }
301
+ * ```
302
+ */
303
+ interface WidgetTypeRegistry {
304
+ stats: {};
305
+ chart: {};
306
+ recentItems: {};
307
+ quickActions: {};
308
+ value: {};
309
+ table: {};
310
+ timeline: {};
311
+ progress: {};
312
+ }
313
+ //#endregion
314
+ export { AnyAdminMeta, ArrayFieldAdminMeta, BaseAdminMeta, BaseWidgetAdminMeta, BooleanFieldAdminMeta, DateFieldAdminMeta, JsonFieldAdminMeta, NumberFieldAdminMeta, ObjectFieldAdminMeta, RelationFieldAdminMeta, SelectFieldAdminMeta, TextFieldAdminMeta, TextareaFieldAdminMeta, TimeFieldAdminMeta, UploadFieldAdminMeta, WidgetTypeRegistry };
315
+ //# sourceMappingURL=augmentation.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"augmentation.d.mts","names":[],"sources":["../src/augmentation.ts"],"sourcesContent":[],"mappings":";;;;;;;;;;;;UAoEiB,aAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA8CG;;;;;;;;;;;uBAYE;;;;;;;;;;;uBAYA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YA8BX;;;;;;;;;;;;;;;;;;;;;UA8BM,kBAAA,SAA2B;;;;;;;;;;UAW3B,mBAAA,SAA4B;;;;;;;;UAS5B,iBAAA,SAA0B;;;;;;;;;;UAW1B,sBAAA,SAA+B;;;;;;;;;;UAW/B,oBAAA,SAA6B;;;;;;;;UAS7B,qBAAA,SAA8B;;;;;;UAO9B,kBAAA,SAA2B;;;;;;UAO3B,kBAAA,SAA2B;;;;;;UAO3B,oBAAA,SAA6B;;;;;;;;;UAU7B,sBAAA,SAA+B;;;;;;;;;;;;UAa/B,oBAAA,SAA6B;;;;;;;;UAS7B,mBAAA,SAA4B;;;;;;;;;;;UAY5B,kBAAA,SAA2B;;;;;;;UAQ3B,oBAAA,SAA6B;;;;;;;UAQ7B,sBAAA,SAA+B;;;;;;;;;;;;;;;;;;;UAoB/B,oBAAA,SAA6B;;;;;;;;;;;;;;;;KAqBlC,YAAA,GACT,qBACA,yBACA,sBACA,oBACA,uBACA,wBACA,qBACA,qBACA,uBACA,yBACA,uBACA,sBACA,qBACA,uBACA,yBACA;;;;UASc,mBAAA;;;;;;;;;;;;;;;;;;;UAoBA,kBAAA"}
@@ -0,0 +1,199 @@
1
+ import * as React$1 from "react";
2
+
3
+ //#region src/client/blocks/block-registry.d.ts
4
+
5
+ /**
6
+ * Extract blocks from CMS type.
7
+ * Handles the state.blocks structure from QuestpieBuilder.
8
+ */
9
+ type ExtractServerBlocks<TCMS> = TCMS extends {
10
+ state: {
11
+ blocks: infer B;
12
+ };
13
+ } ? B extends Record<string, any> ? B : Record<string, never> : Record<string, never>;
14
+ /**
15
+ * Get block names from CMS type.
16
+ */
17
+ type ServerBlockNames<TCMS> = keyof ExtractServerBlocks<TCMS>;
18
+ /**
19
+ * Extract field values type from a server block definition.
20
+ * Looks at the block's state.fields and extracts value types.
21
+ */
22
+ type ExtractBlockFieldValues<TBlock> = TBlock extends {
23
+ state: {
24
+ fields: infer TFields;
25
+ };
26
+ } ? TFields extends Record<string, {
27
+ $types: {
28
+ value: infer V;
29
+ };
30
+ }> ? { [K in keyof TFields]: TFields[K]["$types"]["value"] } : Record<string, unknown> : Record<string, unknown>;
31
+ /**
32
+ * Extract prefetch data type from a server block definition.
33
+ * Looks at the block's state.prefetch return type.
34
+ */
35
+ type ExtractBlockPrefetchData<TBlock> = TBlock extends {
36
+ state: {
37
+ prefetch: (params: any) => Promise<infer R>;
38
+ };
39
+ } ? R : TBlock extends {
40
+ state: {
41
+ prefetch: (params: any) => infer R;
42
+ };
43
+ } ? R : undefined;
44
+ /**
45
+ * Block values type for a specific block name in a CMS.
46
+ */
47
+ type BlockValues<TCMS, TBlockName extends keyof ExtractServerBlocks<TCMS>> = ExtractBlockFieldValues<ExtractServerBlocks<TCMS>[TBlockName]>;
48
+ /**
49
+ * Block prefetch data type for a specific block name in a CMS.
50
+ */
51
+ type BlockPrefetchData<TCMS, TBlockName extends keyof ExtractServerBlocks<TCMS>> = ExtractBlockPrefetchData<ExtractServerBlocks<TCMS>[TBlockName]>;
52
+ /**
53
+ * Props passed to block renderer components.
54
+ */
55
+ interface BlockRendererProps<TValues = Record<string, unknown>, TData = unknown> {
56
+ /** Block instance ID */
57
+ id: string;
58
+ /** Block field values */
59
+ values: TValues;
60
+ /** Data from server-side prefetch (if block has prefetch defined) */
61
+ data: TData;
62
+ /** Rendered child blocks (for layout blocks) */
63
+ children?: React$1.ReactNode;
64
+ /** Whether this block is currently selected in the editor */
65
+ isSelected?: boolean;
66
+ /** Whether rendering in preview mode */
67
+ isPreview?: boolean;
68
+ }
69
+ /**
70
+ * Block renderer component type.
71
+ */
72
+ type BlockRendererComponent<TValues = Record<string, unknown>, TData = unknown> = React$1.ComponentType<BlockRendererProps<TValues, TData>>;
73
+ /**
74
+ * Block renderer definition.
75
+ */
76
+ interface BlockRendererDefinition<TValues = Record<string, unknown>, TData = unknown> {
77
+ /** React component for rendering the block */
78
+ component: BlockRendererComponent<TValues, TData>;
79
+ }
80
+ /**
81
+ * Type-safe block renderer registry.
82
+ * Tracks which blocks have been registered for type checking.
83
+ */
84
+ interface BlockRegistry<TCMS, TRegistered extends Record<string, BlockRendererDefinition<any, any>> = Record<string, never>> {
85
+ /**
86
+ * Register a renderer for a block type.
87
+ *
88
+ * @param blockName - Name of the block (must match server block definition)
89
+ * @param definition - Block renderer definition with component
90
+ * @returns Updated registry with the new block registered
91
+ *
92
+ * @example
93
+ * ```ts
94
+ * registry.register("hero", {
95
+ * component: ({ values, data }) => <HeroSection {...values} data={data} />
96
+ * })
97
+ * ```
98
+ */
99
+ register<TBlockName extends ServerBlockNames<TCMS> & string>(blockName: TBlockName, definition: BlockRendererDefinition<BlockValues<TCMS, TBlockName>, BlockPrefetchData<TCMS, TBlockName>>): BlockRegistry<TCMS, TRegistered & { [K in TBlockName]: BlockRendererDefinition<BlockValues<TCMS, TBlockName>, BlockPrefetchData<TCMS, TBlockName>> }>;
100
+ /**
101
+ * Get the registered renderers.
102
+ */
103
+ readonly renderers: TRegistered;
104
+ /**
105
+ * Get a renderer by block name (runtime).
106
+ */
107
+ getRenderer(blockName: string): BlockRendererDefinition<any, any> | undefined;
108
+ /**
109
+ * Check if a block has a registered renderer (runtime).
110
+ */
111
+ hasRenderer(blockName: string): boolean;
112
+ /**
113
+ * Get all registered block names (runtime).
114
+ */
115
+ getBlockNames(): string[];
116
+ /**
117
+ * Render a block by name (runtime helper).
118
+ */
119
+ renderBlock(blockName: string, props: Omit<BlockRendererProps<any, any>, "children">, children?: React$1.ReactNode): React$1.ReactNode;
120
+ }
121
+ /**
122
+ * Create a new type-safe block renderer registry.
123
+ *
124
+ * The registry infers block value types from the server CMS type,
125
+ * ensuring type safety without duplicating schema definitions.
126
+ *
127
+ * @template TCMS - Server CMS type (e.g., `typeof cms` or `AppCMS`)
128
+ *
129
+ * @example
130
+ * ```ts
131
+ * import { createBlockRegistry } from "@questpie/admin/client";
132
+ * import type { AppCMS } from "@/server/cms";
133
+ *
134
+ * // Create typed registry
135
+ * export const blockRenderers = createBlockRegistry<AppCMS>()
136
+ * .register("hero", {
137
+ * // values is typed: { title: string, subtitle?: string, ... }
138
+ * // data is typed from prefetch return type
139
+ * component: ({ values, data }) => (
140
+ * <section>
141
+ * <h1>{values.title}</h1>
142
+ * {values.subtitle && <p>{values.subtitle}</p>}
143
+ * </section>
144
+ * ),
145
+ * })
146
+ * .register("columns", {
147
+ * component: ({ values, children }) => (
148
+ * <div className={`grid grid-cols-${values.columnCount}`}>
149
+ * {children}
150
+ * </div>
151
+ * ),
152
+ * });
153
+ *
154
+ * // Use in BlockRenderer component
155
+ * function BlockRenderer({ block }: { block: BlockNode }) {
156
+ * return blockRenderers.renderBlock(
157
+ * block.type,
158
+ * { id: block.id, values: blockValues[block.id], data: blockData[block.id] },
159
+ * block.children.map(child => <BlockRenderer key={child.id} block={child} />)
160
+ * );
161
+ * }
162
+ * ```
163
+ */
164
+ declare function createBlockRegistry<TCMS>(): BlockRegistry<TCMS, Record<string, never>>;
165
+ /**
166
+ * Extract the component props type for a registered block.
167
+ * Useful when you need to type component props externally.
168
+ *
169
+ * @example
170
+ * ```ts
171
+ * type HeroProps = BlockComponentProps<AppCMS, "hero">;
172
+ * // { id: string; values: HeroValues; data: HeroData; children?: ReactNode; ... }
173
+ * ```
174
+ */
175
+ type BlockComponentProps<TCMS, TBlockName extends ServerBlockNames<TCMS>> = BlockRendererProps<BlockValues<TCMS, TBlockName>, BlockPrefetchData<TCMS, TBlockName>>;
176
+ /**
177
+ * Helper type to get all possible block value types from CMS.
178
+ * Useful for union types or discriminated unions.
179
+ *
180
+ * @example
181
+ * ```ts
182
+ * type AnyBlockValues = AllBlockValues<AppCMS>;
183
+ * // { hero: HeroValues; text: TextValues; columns: ColumnsValues; ... }
184
+ * ```
185
+ */
186
+ type AllBlockValues<TCMS> = { [K in ServerBlockNames<TCMS> & string]: BlockValues<TCMS, K> };
187
+ /**
188
+ * Helper type to get all possible block data types from CMS.
189
+ *
190
+ * @example
191
+ * ```ts
192
+ * type AnyBlockData = AllBlockData<AppCMS>;
193
+ * // { hero: HeroData; featuredPosts: { posts: Post[] }; ... }
194
+ * ```
195
+ */
196
+ type AllBlockData<TCMS> = { [K in ServerBlockNames<TCMS> & string]: BlockPrefetchData<TCMS, K> };
197
+ //#endregion
198
+ export { AllBlockData, AllBlockValues, BlockComponentProps, BlockPrefetchData, BlockRegistry, BlockRendererComponent, BlockRendererDefinition, BlockRendererProps, BlockValues, ExtractBlockFieldValues, ExtractBlockPrefetchData, ExtractServerBlocks, ServerBlockNames, createBlockRegistry };
199
+ //# sourceMappingURL=block-registry.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-registry.d.mts","names":[],"sources":["../../../src/client/blocks/block-registry.tsx"],"sourcesContent":[],"mappings":";;;;;;;AA2GA;AACY,KA7DA,mBA6DA,CAAA,IAAA,CAAA,GA7D4B,IA6D5B,SAAA;EAMF,KAAA,EAAA;IAEF,MAAA,EAAA,KAAA,EAAA;EAEK,CAAA;CAAe,GAAA,CAAA,SApEd,MAoEc,CAAA,MAAA,EAAA,GAAA,CAAA,GAAA,CAAA,GAlEtB,MAkEsB,CAAA,MAAA,EAAA,KAAA,CAAA,GAjExB,MAiEwB,CAAA,MAAA,EAAA,KAAA,CAAA;AAU5B;;;AAGoD,KAzExC,gBAyEwC,CAAA,IAAA,CAAA,GAAA,MAzET,mBAyES,CAzEW,IAyEX,CAAA;;;;AAKpD;AACY,KAzEA,uBAyEA,CAAA,MAAA,CAAA,GAzEkC,MAyElC,SAAA;EAIwB,KAAA,EAAA;IAAS,MAAA,EAAA,KAAA,QAAA;EAAhC,CAAA;CAAsB,GAAA,OAAA,SA1Ef,MA0Ee,CAAA,MAAA,EAAA;EAWlB,MAAA,EAAA;IAEoB,KAAA,EAAA,KAAA,EAAA;EAAf,CAAA;CAClB,CAAA,GAAA,QAgB2C,MAvG3B,OAuG2B,GAvGjB,OAuGiB,CAvGT,CAuGS,CAAA,CAAA,QAAA,CAAA,CAAA,OAAA,CAAA,EAAjB,GAtGxB,MAsGwB,CAAA,MAAA,EAAA,OAAA,CAAA,GArG1B,MAqG0B,CAAA,MAAA,EAAA,OAAA,CAAA;;;;;AAIN,KAnGZ,wBAmGY,CAAA,MAAA,CAAA,GAnGuB,MAmGvB,SAAA;EAAM,KAAA,EAAA;IAAxB,QAAA,EAAA,CAAA,MAAA,EAAA,GAAA,EAAA,GAlGgC,OAkGhC,CAAA,KAAA,EAAA,CAAA;EAFU,CAAA;CAKZ,GAAA,CAAA,GAlGA,MAkGA,SAAA;EACA,KAAA,EAAA;IACQ,QAAA,EAAA,CAAA,MAAA,EAAA,GAAA,EAAA,GAAA,KAAA,EAAA;EACQ,CAAA;CAAM,GAAA,CAAA,GAAA,SAAA;;;;AAClB,KA/FI,WA+FJ,CAAA,IAAA,EAAA,mBAAA,MA7FmB,mBA6FnB,CA7FuC,IA6FvC,CAAA,CAAA,GA5FJ,uBA4FI,CA5FoB,mBA4FpB,CA5FwC,IA4FxC,CAAA,CA5F8C,UA4F9C,CAAA,CAAA;;;;AAa0B,KApGtB,iBAoGsB,CAAA,IAAA,EAAA,mBAAA,MAlGP,mBAkGO,CAlGa,IAkGb,CAAA,CAAA,GAjG9B,wBAiG8B,CAjGL,mBAiGK,CAjGe,IAiGf,CAAA,CAjGqB,UAiGrB,CAAA,CAAA;;;;AAmB7B,UA3GY,kBA2GN,CAAA,UA1GC,MA0GD,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,QAAA,OAAA,CAAA,CAAA;EAAS;EAmHJ,EAAA,EAAA,MAAA;EACd;EACA,MAAA,EAzNQ,OAyNR;EAF2C;EAAa,IAAA,EArNlD,KAqNkD;EAqB9C;EAE0B,QAAA,CAAA,EA1OzB,OAAA,CAAM,SA0OmB;EAAjB;EAEP,UAAA,CAAA,EAAA,OAAA;EAAM;EAAlB,SAAA,CAAA,EAAA,OAAA;;;;;AADoB,KAjOV,sBAiOU,CAAA,UAhOV,MAgOU,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,QAAA,OAAA,CAAA,GA9NlB,OAAA,CAAM,aA8NY,CA9NE,kBA8NF,CA9NqB,OA8NrB,EA9N8B,KA8N9B,CAAA,CAAA;AAetB;;;AACsD,UAzOrC,uBAyOqC,CAAA,UAxO1C,MAwO0C,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,QAAA,OAAA,CAAA,CAAA;EAAM;EAAlB,SAAA,EApO7B,sBAoO6B,CApON,OAoOM,EApOG,KAoOH,CAAA;;AAY1C;;;;AACkE,UAtOjD,aAsOiD,CAAA,IAAA,EAAA,oBApO5C,MAoO4C,CAAA,MAAA,EApO7B,uBAoO6B,CAAA,GAAA,EAAA,GAAA,CAAA,CAAA,GAnO9D,MAmO8D,CAAA,MAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAAxB;;;;;;;;;;;;;;8BAnNZ,iBAAiB,2BAChC,wBACC,wBACV,YAAY,MAAM,aAClB,kBAAkB,MAAM,eAEzB,cACD,MACA,sBACQ,aAAa,wBACjB,YAAY,MAAM,aAClB,kBAAkB,MAAM;;;;sBAQV;;;;kCAKY;;;;;;;;;;;;wCAiBvB,KAAK,sDACD,OAAA,CAAM,YAChB,OAAA,CAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAmHK,6BAA6B,cAC3C,MACA;;;;;;;;;;;KAmBU,6CAES,iBAAiB,SAClC,mBACF,YAAY,MAAM,aAClB,kBAAkB,MAAM;;;;;;;;;;;KAad,+BACJ,iBAAiB,iBAAiB,YAAY,MAAM;;;;;;;;;;KAYhD,6BACJ,iBAAiB,iBAAiB,kBAAkB,MAAM"}
@@ -0,0 +1,88 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+
3
+ //#region src/client/blocks/block-registry.tsx
4
+ /**
5
+ * Internal class implementing BlockRegistry.
6
+ */
7
+ var BlockRegistryImpl = class BlockRegistryImpl {
8
+ constructor(renderers = {}) {
9
+ this.renderers = renderers;
10
+ }
11
+ register(blockName, definition) {
12
+ return new BlockRegistryImpl({
13
+ ...this.renderers,
14
+ [blockName]: definition
15
+ });
16
+ }
17
+ getRenderer(blockName) {
18
+ return this.renderers[blockName];
19
+ }
20
+ hasRenderer(blockName) {
21
+ return blockName in this.renderers;
22
+ }
23
+ getBlockNames() {
24
+ return Object.keys(this.renderers);
25
+ }
26
+ renderBlock(blockName, props, children) {
27
+ const renderer = this.getRenderer(blockName);
28
+ if (!renderer) {
29
+ console.warn(`No renderer registered for block type: ${blockName}`);
30
+ return null;
31
+ }
32
+ const Component = renderer.component;
33
+ return /* @__PURE__ */ jsx(Component, {
34
+ ...props,
35
+ children
36
+ });
37
+ }
38
+ };
39
+ /**
40
+ * Create a new type-safe block renderer registry.
41
+ *
42
+ * The registry infers block value types from the server CMS type,
43
+ * ensuring type safety without duplicating schema definitions.
44
+ *
45
+ * @template TCMS - Server CMS type (e.g., `typeof cms` or `AppCMS`)
46
+ *
47
+ * @example
48
+ * ```ts
49
+ * import { createBlockRegistry } from "@questpie/admin/client";
50
+ * import type { AppCMS } from "@/server/cms";
51
+ *
52
+ * // Create typed registry
53
+ * export const blockRenderers = createBlockRegistry<AppCMS>()
54
+ * .register("hero", {
55
+ * // values is typed: { title: string, subtitle?: string, ... }
56
+ * // data is typed from prefetch return type
57
+ * component: ({ values, data }) => (
58
+ * <section>
59
+ * <h1>{values.title}</h1>
60
+ * {values.subtitle && <p>{values.subtitle}</p>}
61
+ * </section>
62
+ * ),
63
+ * })
64
+ * .register("columns", {
65
+ * component: ({ values, children }) => (
66
+ * <div className={`grid grid-cols-${values.columnCount}`}>
67
+ * {children}
68
+ * </div>
69
+ * ),
70
+ * });
71
+ *
72
+ * // Use in BlockRenderer component
73
+ * function BlockRenderer({ block }: { block: BlockNode }) {
74
+ * return blockRenderers.renderBlock(
75
+ * block.type,
76
+ * { id: block.id, values: blockValues[block.id], data: blockData[block.id] },
77
+ * block.children.map(child => <BlockRenderer key={child.id} block={child} />)
78
+ * );
79
+ * }
80
+ * ```
81
+ */
82
+ function createBlockRegistry() {
83
+ return new BlockRegistryImpl();
84
+ }
85
+
86
+ //#endregion
87
+ export { createBlockRegistry };
88
+ //# sourceMappingURL=block-registry.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"block-registry.mjs","names":["renderers: TRegistered"],"sources":["../../../src/client/blocks/block-registry.tsx"],"sourcesContent":["/**\n * Block Renderer Registry\n *\n * Type-safe registry for client-side block renderers that infers\n * value types from server-defined block schemas.\n *\n * Key design principles:\n * 1. Server defines WHAT (block schema, prefetch) - see @questpie/admin/server\n * 2. Client defines HOW (React components for rendering)\n * 3. Types are inferred from server CMS type - no duplication\n *\n * @example\n * ```ts\n * import { createBlockRegistry } from \"@questpie/admin/client\";\n * import type { AppCMS } from \"@/server/cms\";\n *\n * export const blockRenderers = createBlockRegistry<AppCMS>()\n * .register(\"hero\", {\n * // Props are inferred from server block schema!\n * // values: { title: string, subtitle?: string, alignment: \"left\" | \"center\" | \"right\", ... }\n * // data: Awaited<ReturnType<typeof heroBlock.prefetch>>\n * component: ({ values, data }) => (\n * <section className={`hero hero--${values.alignment}`}>\n * <h1>{values.title}</h1>\n * </section>\n * ),\n * })\n * .register(\"featuredPosts\", {\n * component: ({ values, data }) => (\n * <div className=\"featured-posts\">\n * {data?.posts?.map(post => <PostCard key={post.id} post={post} />)}\n * </div>\n * ),\n * });\n * ```\n */\n\nimport type * as React from \"react\";\n\n// ============================================================================\n// Server Block Type Extraction\n// ============================================================================\n\n/**\n * Extract blocks from CMS type.\n * Handles the state.blocks structure from QuestpieBuilder.\n */\nexport type ExtractServerBlocks<TCMS> = TCMS extends {\n state: { blocks: infer B };\n}\n ? B extends Record<string, any>\n ? B\n : Record<string, never>\n : Record<string, never>;\n\n/**\n * Get block names from CMS type.\n */\nexport type ServerBlockNames<TCMS> = keyof ExtractServerBlocks<TCMS>;\n\n/**\n * Extract field values type from a server block definition.\n * Looks at the block's state.fields and extracts value types.\n */\nexport type ExtractBlockFieldValues<TBlock> = TBlock extends {\n state: { fields: infer TFields };\n}\n ? TFields extends Record<string, { $types: { value: infer V } }>\n ? { [K in keyof TFields]: TFields[K][\"$types\"][\"value\"] }\n : Record<string, unknown>\n : Record<string, unknown>;\n\n/**\n * Extract prefetch data type from a server block definition.\n * Looks at the block's state.prefetch return type.\n */\nexport type ExtractBlockPrefetchData<TBlock> = TBlock extends {\n state: { prefetch: (params: any) => Promise<infer R> };\n}\n ? R\n : TBlock extends { state: { prefetch: (params: any) => infer R } }\n ? R\n : undefined;\n\n/**\n * Block values type for a specific block name in a CMS.\n */\nexport type BlockValues<\n TCMS,\n TBlockName extends keyof ExtractServerBlocks<TCMS>,\n> = ExtractBlockFieldValues<ExtractServerBlocks<TCMS>[TBlockName]>;\n\n/**\n * Block prefetch data type for a specific block name in a CMS.\n */\nexport type BlockPrefetchData<\n TCMS,\n TBlockName extends keyof ExtractServerBlocks<TCMS>,\n> = ExtractBlockPrefetchData<ExtractServerBlocks<TCMS>[TBlockName]>;\n\n// ============================================================================\n// Block Renderer Types\n// ============================================================================\n\n/**\n * Props passed to block renderer components.\n */\nexport interface BlockRendererProps<\n TValues = Record<string, unknown>,\n TData = unknown,\n> {\n /** Block instance ID */\n id: string;\n /** Block field values */\n values: TValues;\n /** Data from server-side prefetch (if block has prefetch defined) */\n data: TData;\n /** Rendered child blocks (for layout blocks) */\n children?: React.ReactNode;\n /** Whether this block is currently selected in the editor */\n isSelected?: boolean;\n /** Whether rendering in preview mode */\n isPreview?: boolean;\n}\n\n/**\n * Block renderer component type.\n */\nexport type BlockRendererComponent<\n TValues = Record<string, unknown>,\n TData = unknown,\n> = React.ComponentType<BlockRendererProps<TValues, TData>>;\n\n/**\n * Block renderer definition.\n */\nexport interface BlockRendererDefinition<\n TValues = Record<string, unknown>,\n TData = unknown,\n> {\n /** React component for rendering the block */\n component: BlockRendererComponent<TValues, TData>;\n}\n\n// ============================================================================\n// Block Registry\n// ============================================================================\n\n/**\n * Type-safe block renderer registry.\n * Tracks which blocks have been registered for type checking.\n */\nexport interface BlockRegistry<\n TCMS,\n TRegistered extends Record<string, BlockRendererDefinition<any, any>> =\n Record<string, never>,\n> {\n /**\n * Register a renderer for a block type.\n *\n * @param blockName - Name of the block (must match server block definition)\n * @param definition - Block renderer definition with component\n * @returns Updated registry with the new block registered\n *\n * @example\n * ```ts\n * registry.register(\"hero\", {\n * component: ({ values, data }) => <HeroSection {...values} data={data} />\n * })\n * ```\n */\n register<TBlockName extends ServerBlockNames<TCMS> & string>(\n blockName: TBlockName,\n definition: BlockRendererDefinition<\n BlockValues<TCMS, TBlockName>,\n BlockPrefetchData<TCMS, TBlockName>\n >,\n ): BlockRegistry<\n TCMS,\n TRegistered & {\n [K in TBlockName]: BlockRendererDefinition<\n BlockValues<TCMS, TBlockName>,\n BlockPrefetchData<TCMS, TBlockName>\n >;\n }\n >;\n\n /**\n * Get the registered renderers.\n */\n readonly renderers: TRegistered;\n\n /**\n * Get a renderer by block name (runtime).\n */\n getRenderer(blockName: string): BlockRendererDefinition<any, any> | undefined;\n\n /**\n * Check if a block has a registered renderer (runtime).\n */\n hasRenderer(blockName: string): boolean;\n\n /**\n * Get all registered block names (runtime).\n */\n getBlockNames(): string[];\n\n /**\n * Render a block by name (runtime helper).\n */\n renderBlock(\n blockName: string,\n props: Omit<BlockRendererProps<any, any>, \"children\">,\n children?: React.ReactNode,\n ): React.ReactNode;\n}\n\n// ============================================================================\n// Registry Implementation\n// ============================================================================\n\n/**\n * Internal class implementing BlockRegistry.\n */\nclass BlockRegistryImpl<\n TCMS,\n TRegistered extends Record<string, BlockRendererDefinition<any, any>>,\n> implements BlockRegistry<TCMS, TRegistered> {\n constructor(public readonly renderers: TRegistered = {} as TRegistered) {}\n\n register<TBlockName extends ServerBlockNames<TCMS> & string>(\n blockName: TBlockName,\n definition: BlockRendererDefinition<\n BlockValues<TCMS, TBlockName>,\n BlockPrefetchData<TCMS, TBlockName>\n >,\n ): BlockRegistry<\n TCMS,\n TRegistered & {\n [K in TBlockName]: BlockRendererDefinition<\n BlockValues<TCMS, TBlockName>,\n BlockPrefetchData<TCMS, TBlockName>\n >;\n }\n > {\n return new BlockRegistryImpl({\n ...this.renderers,\n [blockName]: definition,\n } as any);\n }\n\n getRenderer(\n blockName: string,\n ): BlockRendererDefinition<any, any> | undefined {\n return (\n this.renderers as Record<string, BlockRendererDefinition<any, any>>\n )[blockName];\n }\n\n hasRenderer(blockName: string): boolean {\n return blockName in this.renderers;\n }\n\n getBlockNames(): string[] {\n return Object.keys(this.renderers);\n }\n\n renderBlock(\n blockName: string,\n props: Omit<BlockRendererProps<any, any>, \"children\">,\n children?: React.ReactNode,\n ): React.ReactNode {\n const renderer = this.getRenderer(blockName);\n if (!renderer) {\n console.warn(`No renderer registered for block type: ${blockName}`);\n return null;\n }\n const Component = renderer.component;\n return <Component {...props} children={children} />;\n }\n}\n\n// ============================================================================\n// Factory Function\n// ============================================================================\n\n/**\n * Create a new type-safe block renderer registry.\n *\n * The registry infers block value types from the server CMS type,\n * ensuring type safety without duplicating schema definitions.\n *\n * @template TCMS - Server CMS type (e.g., `typeof cms` or `AppCMS`)\n *\n * @example\n * ```ts\n * import { createBlockRegistry } from \"@questpie/admin/client\";\n * import type { AppCMS } from \"@/server/cms\";\n *\n * // Create typed registry\n * export const blockRenderers = createBlockRegistry<AppCMS>()\n * .register(\"hero\", {\n * // values is typed: { title: string, subtitle?: string, ... }\n * // data is typed from prefetch return type\n * component: ({ values, data }) => (\n * <section>\n * <h1>{values.title}</h1>\n * {values.subtitle && <p>{values.subtitle}</p>}\n * </section>\n * ),\n * })\n * .register(\"columns\", {\n * component: ({ values, children }) => (\n * <div className={`grid grid-cols-${values.columnCount}`}>\n * {children}\n * </div>\n * ),\n * });\n *\n * // Use in BlockRenderer component\n * function BlockRenderer({ block }: { block: BlockNode }) {\n * return blockRenderers.renderBlock(\n * block.type,\n * { id: block.id, values: blockValues[block.id], data: blockData[block.id] },\n * block.children.map(child => <BlockRenderer key={child.id} block={child} />)\n * );\n * }\n * ```\n */\nexport function createBlockRegistry<TCMS>(): BlockRegistry<\n TCMS,\n Record<string, never>\n> {\n return new BlockRegistryImpl<TCMS, Record<string, never>>();\n}\n\n// ============================================================================\n// Utility Types for Advanced Usage\n// ============================================================================\n\n/**\n * Extract the component props type for a registered block.\n * Useful when you need to type component props externally.\n *\n * @example\n * ```ts\n * type HeroProps = BlockComponentProps<AppCMS, \"hero\">;\n * // { id: string; values: HeroValues; data: HeroData; children?: ReactNode; ... }\n * ```\n */\nexport type BlockComponentProps<\n TCMS,\n TBlockName extends ServerBlockNames<TCMS>,\n> = BlockRendererProps<\n BlockValues<TCMS, TBlockName>,\n BlockPrefetchData<TCMS, TBlockName>\n>;\n\n/**\n * Helper type to get all possible block value types from CMS.\n * Useful for union types or discriminated unions.\n *\n * @example\n * ```ts\n * type AnyBlockValues = AllBlockValues<AppCMS>;\n * // { hero: HeroValues; text: TextValues; columns: ColumnsValues; ... }\n * ```\n */\nexport type AllBlockValues<TCMS> = {\n [K in ServerBlockNames<TCMS> & string]: BlockValues<TCMS, K>;\n};\n\n/**\n * Helper type to get all possible block data types from CMS.\n *\n * @example\n * ```ts\n * type AnyBlockData = AllBlockData<AppCMS>;\n * // { hero: HeroData; featuredPosts: { posts: Post[] }; ... }\n * ```\n */\nexport type AllBlockData<TCMS> = {\n [K in ServerBlockNames<TCMS> & string]: BlockPrefetchData<TCMS, K>;\n};\n"],"mappings":";;;;;;AAgOA,IAAM,oBAAN,MAAM,kBAGwC;CAC5C,YAAY,AAAgBA,YAAyB,EAAE,EAAiB;EAA5C;;CAE5B,SACE,WACA,YAYA;AACA,SAAO,IAAI,kBAAkB;GAC3B,GAAG,KAAK;IACP,YAAY;GACd,CAAQ;;CAGX,YACE,WAC+C;AAC/C,SACE,KAAK,UACL;;CAGJ,YAAY,WAA4B;AACtC,SAAO,aAAa,KAAK;;CAG3B,gBAA0B;AACxB,SAAO,OAAO,KAAK,KAAK,UAAU;;CAGpC,YACE,WACA,OACA,UACiB;EACjB,MAAM,WAAW,KAAK,YAAY,UAAU;AAC5C,MAAI,CAAC,UAAU;AACb,WAAQ,KAAK,0CAA0C,YAAY;AACnE,UAAO;;EAET,MAAM,YAAY,SAAS;AAC3B,SAAO,oBAAC;GAAU,GAAI;GAAiB;IAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDvD,SAAgB,sBAGd;AACA,QAAO,IAAI,mBAAgD"}