@questpie/admin 2.0.0 → 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +173 -143
- package/dist/augmentation.d.mts +110 -11
- package/dist/client/blocks/block-renderer.d.mts +5 -12
- package/dist/client/blocks/block-renderer.mjs +89 -55
- package/dist/client/blocks/index.d.mts +2 -4
- package/dist/client/blocks/types.d.mts +3 -4
- package/dist/client/blocks/types.mjs +1 -2
- package/dist/client/builder/admin-types.d.mts +11 -44
- package/dist/client/builder/admin.d.mts +34 -45
- package/dist/client/builder/admin.mjs +35 -44
- package/dist/client/builder/field/field.d.mts +27 -205
- package/dist/client/builder/field/field.mjs +22 -68
- package/dist/client/builder/index.d.mts +23 -28
- package/dist/client/builder/page/page.d.mts +15 -27
- package/dist/client/builder/page/page.mjs +21 -17
- package/dist/client/builder/registry.d.mts +14 -34
- package/dist/client/builder/types/action-registry.mjs +148 -14
- package/dist/client/builder/types/action-types.d.mts +8 -35
- package/dist/client/builder/types/collection-types.mjs +1 -2
- package/dist/client/builder/types/common.d.mts +6 -20
- package/dist/client/builder/types/field-types.d.mts +4 -5
- package/dist/client/builder/types/field-types.mjs +1 -2
- package/dist/client/builder/types/ui-config.d.mts +3 -5
- package/dist/client/builder/types/widget-types.d.mts +19 -20
- package/dist/client/builder/validation.d.mts +33 -3
- package/dist/client/builder/validation.mjs +169 -150
- package/dist/client/builder/view/view.d.mts +26 -106
- package/dist/client/builder/view/view.mjs +14 -96
- package/dist/client/builder/widget/widget.d.mts +16 -22
- package/dist/client/builder/widget/widget.mjs +11 -16
- package/dist/client/components/actions/action-button.mjs +207 -97
- package/dist/client/components/actions/action-dialog.mjs +471 -176
- package/dist/client/components/actions/confirmation-dialog.mjs +166 -47
- package/dist/client/components/actions/header-actions.mjs +164 -71
- package/dist/client/components/admin-link.d.mts +8 -9
- package/dist/client/components/admin-link.mjs +127 -48
- package/dist/client/components/auth/auth-guard.d.mts +6 -7
- package/dist/client/components/auth/auth-guard.mjs +9 -9
- package/dist/client/components/auth/auth-loading.d.mts +3 -4
- package/dist/client/components/auth/auth-loading.mjs +38 -10
- package/dist/client/components/blocks/block-canvas.mjs +111 -42
- package/dist/client/components/blocks/block-editor-context.mjs +90 -23
- package/dist/client/components/blocks/block-editor-layout.mjs +176 -59
- package/dist/client/components/blocks/block-editor-provider.mjs +219 -139
- package/dist/client/components/blocks/block-fields-renderer.mjs +212 -42
- package/dist/client/components/blocks/block-insert-button.mjs +168 -51
- package/dist/client/components/blocks/block-item-menu.mjs +312 -110
- package/dist/client/components/blocks/block-item.mjs +372 -125
- package/dist/client/components/blocks/block-library-sidebar.mjs +209 -114
- package/dist/client/components/blocks/block-tree.mjs +73 -15
- package/dist/client/components/blocks/block-type-icon.mjs +65 -20
- package/dist/client/components/blocks/utils/tree-utils.mjs +1 -2
- package/dist/client/components/component-renderer.d.mts +11 -22
- package/dist/client/components/component-renderer.mjs +151 -38
- package/dist/client/components/error-boundary.mjs +77 -25
- package/dist/client/components/fields/array-field.mjs +474 -199
- package/dist/client/components/fields/asset-preview-field.mjs +143 -44
- package/dist/client/components/fields/blocks-field/blocks-field.mjs +143 -35
- package/dist/client/components/fields/boolean-field.mjs +62 -32
- package/dist/client/components/fields/date-field.mjs +46 -12
- package/dist/client/components/fields/datetime-field.mjs +42 -11
- package/dist/client/components/fields/email-field.mjs +57 -28
- package/dist/client/components/fields/field-utils.mjs +1 -2
- package/dist/client/components/fields/field-wrapper.mjs +107 -32
- package/dist/client/components/fields/json-field.mjs +323 -110
- package/dist/client/components/fields/locale-badge.mjs +16 -8
- package/dist/client/components/fields/number-field.mjs +63 -30
- package/dist/client/components/fields/object-array-field.mjs +666 -272
- package/dist/client/components/fields/object-field.mjs +656 -98
- package/dist/client/components/fields/relation/displays/cards-display.mjs +225 -111
- package/dist/client/components/fields/relation/displays/chips-display.mjs +150 -77
- package/dist/client/components/fields/relation/displays/grid-display.mjs +186 -91
- package/dist/client/components/fields/relation/displays/list-display.mjs +230 -111
- package/dist/client/components/fields/relation/displays/table-display.mjs +241 -66
- package/dist/client/components/fields/relation/displays/types.mjs +2 -3
- package/dist/client/components/fields/relation/relation-items-display.mjs +131 -35
- package/dist/client/components/fields/relation-field.mjs +70 -15
- package/dist/client/components/fields/relation-picker.mjs +93 -98
- package/dist/client/components/fields/relation-select.mjs +42 -29
- package/dist/client/components/fields/rich-text-editor/bubble-menu.mjs +90 -41
- package/dist/client/components/fields/rich-text-editor/extensions.mjs +33 -7
- package/dist/client/components/fields/rich-text-editor/image-popover.mjs +48 -23
- package/dist/client/components/fields/rich-text-editor/index.mjs +491 -158
- package/dist/client/components/fields/rich-text-editor/link-popover.mjs +13 -14
- package/dist/client/components/fields/rich-text-editor/presets.mjs +1 -2
- package/dist/client/components/fields/rich-text-editor/slash-commands.mjs +96 -53
- package/dist/client/components/fields/rich-text-editor/table-controls.mjs +416 -107
- package/dist/client/components/fields/rich-text-editor/toolbar.mjs +476 -215
- package/dist/client/components/fields/rich-text-editor/types.mjs +1 -2
- package/dist/client/components/fields/rich-text-editor/utils.mjs +1 -2
- package/dist/client/components/fields/rich-text-field.mjs +55 -17
- package/dist/client/components/fields/select-field.mjs +79 -44
- package/dist/client/components/fields/text-field.mjs +62 -29
- package/dist/client/components/fields/textarea-field.mjs +61 -29
- package/dist/client/components/fields/time-field.mjs +39 -11
- package/dist/client/components/fields/upload-field.mjs +253 -129
- package/dist/client/components/filter-builder/columns-tab.mjs +287 -93
- package/dist/client/components/filter-builder/filter-builder-sheet.mjs +437 -138
- package/dist/client/components/filter-builder/filters-tab.mjs +409 -126
- package/dist/client/components/filter-builder/saved-views-tab.mjs +259 -106
- package/dist/client/components/history-sidebar.mjs +496 -0
- package/dist/client/components/layout/field-layout-renderer.mjs +301 -0
- package/dist/client/components/locale-switcher.mjs +231 -108
- package/dist/client/components/media/media-grid.mjs +259 -84
- package/dist/client/components/media/media-picker-dialog.mjs +500 -192
- package/dist/client/components/preview/live-preview-mode.mjs +416 -124
- package/dist/client/components/preview/preview-pane.mjs +353 -144
- package/dist/client/components/primitives/asset-preview.mjs +665 -257
- package/dist/client/components/primitives/checkbox-input.mjs +37 -11
- package/dist/client/components/primitives/date-input.mjs +392 -149
- package/dist/client/components/primitives/dropzone.mjs +314 -185
- package/dist/client/components/primitives/number-input.mjs +14 -10
- package/dist/client/components/primitives/select-multi.mjs +519 -185
- package/dist/client/components/primitives/select-single.mjs +416 -126
- package/dist/client/components/primitives/text-input.mjs +10 -5
- package/dist/client/components/primitives/textarea-input.mjs +10 -5
- package/dist/client/components/primitives/time-input.mjs +118 -45
- package/dist/client/components/primitives/toggle-input.mjs +31 -11
- package/dist/client/components/primitives/types.mjs +1 -2
- package/dist/client/components/sheets/resource-sheet.mjs +72 -64
- package/dist/client/components/ui/accordion.mjs +156 -37
- package/dist/client/components/ui/alert.mjs +70 -17
- package/dist/client/components/ui/badge.mjs +57 -16
- package/dist/client/components/ui/button.mjs +49 -14
- package/dist/client/components/ui/card.mjs +194 -39
- package/dist/client/components/ui/checkbox.mjs +71 -16
- package/dist/client/components/ui/command.mjs +220 -50
- package/dist/client/components/ui/dialog.mjs +265 -52
- package/dist/client/components/ui/drawer.mjs +260 -57
- package/dist/client/components/ui/dropdown-menu.mjs +293 -67
- package/dist/client/components/ui/empty-state.mjs +72 -26
- package/dist/client/components/ui/field.mjs +332 -56
- package/dist/client/components/ui/input-group.mjs +174 -41
- package/dist/client/components/ui/input.mjs +38 -9
- package/dist/client/components/ui/kbd.mjs +37 -8
- package/dist/client/components/ui/label.mjs +38 -8
- package/dist/client/components/ui/popover.mjs +162 -35
- package/dist/client/components/ui/responsive-dialog.mjs +277 -71
- package/dist/client/components/ui/search-input.mjs +101 -36
- package/dist/client/components/ui/select.mjs +297 -57
- package/dist/client/components/ui/separator.mjs +39 -9
- package/dist/client/components/ui/sheet.mjs +253 -51
- package/dist/client/components/ui/sidebar.mjs +700 -182
- package/dist/client/components/ui/skeleton.mjs +33 -8
- package/dist/client/components/ui/sonner.d.mts +2 -3
- package/dist/client/components/ui/sonner.mjs +45 -15
- package/dist/client/components/ui/spinner.mjs +44 -10
- package/dist/client/components/ui/switch.mjs +47 -12
- package/dist/client/components/ui/table.mjs +260 -50
- package/dist/client/components/ui/tabs.mjs +140 -29
- package/dist/client/components/ui/textarea.mjs +33 -8
- package/dist/client/components/ui/toolbar.mjs +105 -23
- package/dist/client/components/ui/tooltip.mjs +130 -29
- package/dist/client/components/widgets/chart-widget.mjs +456 -156
- package/dist/client/components/widgets/progress-widget.mjs +150 -60
- package/dist/client/components/widgets/quick-actions-widget.mjs +175 -87
- package/dist/client/components/widgets/recent-items-widget.mjs +157 -62
- package/dist/client/components/widgets/stats-widget.mjs +153 -42
- package/dist/client/components/widgets/table-widget.mjs +198 -64
- package/dist/client/components/widgets/timeline-widget.mjs +193 -82
- package/dist/client/components/widgets/value-widget.mjs +257 -56
- package/dist/client/components/widgets/widget-skeletons.mjs +390 -108
- package/dist/client/contexts/breadcrumb-context.mjs +44 -16
- package/dist/client/{context → contexts}/focus-context.d.mts +6 -7
- package/dist/client/{context → contexts}/focus-context.mjs +134 -62
- package/dist/client/hooks/typed-hooks.d.mts +38 -12
- package/dist/client/hooks/typed-hooks.mjs +758 -142
- package/dist/client/hooks/use-action.mjs +197 -69
- package/dist/client/hooks/use-admin-config.mjs +39 -10
- package/dist/client/hooks/use-admin-preferences.mjs +118 -15
- package/dist/client/hooks/use-admin-routes.mjs +60 -27
- package/dist/client/hooks/use-audit-history.mjs +157 -0
- package/dist/client/hooks/use-auth.d.mts +14 -15
- package/dist/client/hooks/use-auth.mjs +8 -9
- package/dist/client/hooks/use-collection-fields.mjs +58 -19
- package/dist/client/hooks/use-collection-meta.mjs +45 -13
- package/dist/client/hooks/use-collection-schema.mjs +34 -11
- package/dist/client/hooks/use-collection-validation.mjs +39 -25
- package/dist/client/hooks/use-collection.d.mts +18 -8
- package/dist/client/hooks/use-collection.mjs +560 -101
- package/dist/client/hooks/use-current-user.d.mts +6 -3
- package/dist/client/hooks/use-current-user.mjs +2 -2
- package/dist/client/hooks/use-field-hooks.mjs +73 -65
- package/dist/client/hooks/use-field-options.d.mts +1 -34
- package/dist/client/hooks/use-field-options.mjs +233 -148
- package/dist/client/hooks/use-global-fields.mjs +47 -16
- package/dist/client/hooks/use-global-meta.mjs +57 -11
- package/dist/client/hooks/use-global-schema.mjs +31 -11
- package/dist/client/hooks/use-global.d.mts +13 -2
- package/dist/client/hooks/use-global.mjs +244 -34
- package/dist/client/hooks/use-locks.mjs +331 -124
- package/dist/client/hooks/use-media-query.d.mts +1 -2
- package/dist/client/hooks/use-media-query.mjs +38 -19
- package/dist/client/hooks/use-prefill-params.mjs +2 -2
- package/dist/client/hooks/use-questpie-query-options.mjs +33 -11
- package/dist/client/hooks/use-reactive-fields.d.mts +6 -3
- package/dist/client/hooks/use-reactive-fields.mjs +130 -93
- package/dist/client/hooks/use-realtime-highlight.mjs +115 -53
- package/dist/client/hooks/use-saved-views.mjs +109 -34
- package/dist/client/hooks/use-search-param-toggle.d.mts +12 -0
- package/dist/client/hooks/use-search-param-toggle.mjs +115 -0
- package/dist/client/hooks/use-search.mjs +147 -36
- package/dist/client/hooks/use-server-actions.mjs +191 -0
- package/dist/client/hooks/use-server-validation.mjs +164 -72
- package/dist/client/hooks/use-server-widget-data.d.mts +2 -3
- package/dist/client/hooks/use-server-widget-data.mjs +36 -11
- package/dist/client/hooks/use-setup-status.d.mts +3 -4
- package/dist/client/hooks/use-setup-status.mjs +28 -16
- package/dist/client/hooks/use-sidebar-search-param.d.mts +9 -0
- package/dist/client/hooks/use-sidebar-search-param.mjs +104 -0
- package/dist/client/hooks/use-transition-stage.mjs +125 -0
- package/dist/client/hooks/use-upload-collection.mjs +1 -2
- package/dist/client/hooks/use-upload.mjs +189 -125
- package/dist/client/hooks/use-validation-error-map.mjs +10 -6
- package/dist/client/hooks/use-view-state.mjs +380 -162
- package/dist/client/i18n/hooks.mjs +191 -67
- package/dist/client/i18n/intl-cache.mjs +1 -2
- package/dist/client/i18n/messages.mjs +1 -2
- package/dist/client/i18n/simple.d.mts +1 -2
- package/dist/client/i18n/simple.mjs +1 -2
- package/dist/client/i18n/types.d.mts +1 -2
- package/dist/client/lib/cookies.mjs +9 -0
- package/dist/client/lib/events.mjs +5 -0
- package/dist/client/lib/render-profiler.mjs +51 -0
- package/dist/client/lib/utils.mjs +1 -6
- package/dist/client/preview/block-scope-context.d.mts +5 -6
- package/dist/client/preview/block-scope-context.mjs +50 -27
- package/dist/client/preview/index.d.mts +2 -2
- package/dist/client/preview/preview-banner.d.mts +3 -4
- package/dist/client/preview/preview-banner.mjs +74 -35
- package/dist/client/preview/preview-field.d.mts +9 -10
- package/dist/client/preview/preview-field.mjs +163 -61
- package/dist/client/preview/types.d.mts +1 -2
- package/dist/client/preview/types.mjs +1 -2
- package/dist/client/preview/use-collection-preview.d.mts +1 -2
- package/dist/client/preview/use-collection-preview.mjs +105 -56
- package/dist/client/runtime/content-locales-provider.mjs +87 -36
- package/dist/client/runtime/index.d.mts +1 -3
- package/dist/client/runtime/index.mjs +1 -3
- package/dist/client/runtime/locale-scope.mjs +69 -29
- package/dist/client/runtime/provider.d.mts +18 -9922
- package/dist/client/runtime/provider.mjs +250 -86
- package/dist/client/runtime/routes.d.mts +7 -7
- package/dist/client/runtime/routes.mjs +4 -20
- package/dist/client/runtime/translations-provider.mjs +114 -53
- package/dist/client/scope/picker.d.mts +3 -4
- package/dist/client/scope/picker.mjs +324 -90
- package/dist/client/scope/provider.d.mts +4 -5
- package/dist/client/scope/provider.mjs +30 -22
- package/dist/client/scope/types.d.mts +1 -2
- package/dist/client/styles/index.css +301 -225
- package/dist/client/utils/auto-expand-fields.mjs +23 -5
- package/dist/client/utils/build-field-definitions-from-schema.mjs +10 -7
- package/dist/client/utils/dependency-tracker.mjs +61 -0
- package/dist/client/utils/detect-relations.mjs +1 -2
- package/dist/client/utils/locale-to-flag.d.mts +8 -7
- package/dist/client/utils/locale-to-flag.mjs +1 -2
- package/dist/client/utils/routes.mjs +1 -2
- package/dist/client/views/auth/accept-invite-form.d.mts +3 -4
- package/dist/client/views/auth/accept-invite-form.mjs +414 -121
- package/dist/client/views/auth/auth-layout.d.mts +5 -6
- package/dist/client/views/auth/auth-layout.mjs +93 -30
- package/dist/client/views/auth/forgot-password-form.d.mts +4 -5
- package/dist/client/views/auth/forgot-password-form.mjs +332 -100
- package/dist/client/views/auth/invite-form.mjs +447 -105
- package/dist/client/views/auth/login-form.d.mts +4 -5
- package/dist/client/views/auth/login-form.mjs +340 -120
- package/dist/client/views/auth/reset-password-form.d.mts +4 -5
- package/dist/client/views/auth/reset-password-form.mjs +458 -131
- package/dist/client/views/auth/setup-form.d.mts +2 -3
- package/dist/client/views/auth/setup-form.mjs +481 -141
- package/dist/client/views/collection/auto-form-fields.mjs +686 -266
- package/dist/client/views/collection/bulk-action-toolbar.mjs +392 -203
- package/dist/client/views/collection/cells/complex-cells.mjs +635 -216
- package/dist/client/views/collection/cells/primitive-cells.mjs +332 -102
- package/dist/client/views/collection/cells/relation-cells.mjs +227 -72
- package/dist/client/views/collection/cells/shared/asset-thumbnail.mjs +456 -136
- package/dist/client/views/collection/cells/shared/cell-helpers.mjs +49 -2
- package/dist/client/views/collection/cells/shared/relation-chip.mjs +109 -25
- package/dist/client/views/collection/cells/upload-cells.mjs +16 -8
- package/dist/client/views/collection/columns/build-columns.mjs +51 -12
- package/dist/client/views/collection/columns/column-defaults.mjs +17 -2
- package/dist/client/views/collection/field-context.mjs +10 -11
- package/dist/client/views/collection/field-renderer.mjs +237 -40
- package/dist/client/views/collection/form-view.mjs +1108 -445
- package/dist/client/views/collection/table-view.mjs +300 -163
- package/dist/client/views/collection/view-skeletons.mjs +181 -87
- package/dist/client/views/common/global-search.mjs +557 -233
- package/dist/client/views/dashboard/dashboard-grid.mjs +707 -211
- package/dist/client/views/dashboard/dashboard-widget.mjs +145 -58
- package/dist/client/views/dashboard/widget-card.mjs +315 -102
- package/dist/client/views/globals/global-form-view.mjs +1256 -131
- package/dist/client/views/layout/admin-layout-provider.d.mts +18 -21
- package/dist/client/views/layout/admin-layout-provider.mjs +135 -32
- package/dist/client/views/layout/admin-layout.d.mts +14 -32
- package/dist/client/views/layout/admin-layout.mjs +254 -96
- package/dist/client/views/layout/admin-router.d.mts +10 -42
- package/dist/client/views/layout/admin-router.mjs +1086 -426
- package/dist/client/views/layout/admin-sidebar.d.mts +10 -16
- package/dist/client/views/layout/admin-sidebar.mjs +1211 -382
- package/dist/client/views/layout/admin-topbar.mjs +220 -112
- package/dist/client/views/pages/accept-invite-page.d.mts +5 -6
- package/dist/client/views/pages/accept-invite-page.mjs +302 -96
- package/dist/client/views/pages/dashboard-page.d.mts +7 -16
- package/dist/client/views/pages/dashboard-page.mjs +62 -23
- package/dist/client/views/pages/forgot-password-page.d.mts +7 -10
- package/dist/client/views/pages/forgot-password-page.mjs +112 -40
- package/dist/client/views/pages/invite-page.d.mts +6 -7
- package/dist/client/views/pages/invite-page.mjs +121 -46
- package/dist/client/views/pages/login-page.d.mts +8 -15
- package/dist/client/views/pages/login-page.mjs +152 -57
- package/dist/client/views/pages/reset-password-page.d.mts +7 -10
- package/dist/client/views/pages/reset-password-page.mjs +209 -57
- package/dist/client/views/pages/setup-page.d.mts +7 -10
- package/dist/client/views/pages/setup-page.mjs +108 -43
- package/dist/client-module.d.mts +3 -0
- package/dist/client-module.mjs +3 -0
- package/dist/client.d.mts +55 -48
- package/dist/client.mjs +26 -28
- package/dist/components/rich-text/rich-text-renderer.d.mts +3 -4
- package/dist/components/rich-text/rich-text-renderer.mjs +97 -70
- package/dist/index.d.mts +36 -39
- package/dist/index.mjs +26 -28
- package/dist/plugin.d.mts +2 -0
- package/dist/plugin.mjs +3 -0
- package/dist/server/adapters/nextjs.d.mts +13 -14
- package/dist/server/adapters/nextjs.mjs +12 -13
- package/dist/server/adapters/tanstack.d.mts +10 -11
- package/dist/server/adapters/tanstack.mjs +11 -12
- package/dist/server/augmentation/actions.d.mts +279 -0
- package/dist/server/augmentation/common.d.mts +76 -0
- package/dist/server/augmentation/dashboard.d.mts +547 -0
- package/dist/server/augmentation/form-layout.d.mts +303 -0
- package/dist/server/augmentation/index.d.mts +44 -0
- package/dist/server/augmentation/index.mjs +10 -0
- package/dist/server/augmentation/sidebar.d.mts +181 -0
- package/dist/server/augmentation/views.d.mts +237 -0
- package/dist/server/augmentation.d.mts +7 -1523
- package/dist/server/block/index.d.mts +4 -3
- package/dist/server/codegen/admin-client-template.mjs +93 -0
- package/dist/server/codegen/projection-validator.mjs +67 -0
- package/dist/server/fields/blocks.d.mts +10 -78
- package/dist/server/fields/blocks.mjs +74 -115
- package/dist/server/fields/index.d.mts +6 -39
- package/dist/server/fields/index.mjs +6 -7
- package/dist/server/fields/rich-text.d.mts +10 -77
- package/dist/server/fields/rich-text.mjs +59 -100
- package/dist/server/i18n/index.mjs +8 -9
- package/dist/server/i18n/messages/cs.mjs +3 -3
- package/dist/server/i18n/messages/de.mjs +3 -3
- package/dist/server/i18n/messages/en.mjs +217 -3
- package/dist/server/i18n/messages/es.mjs +3 -3
- package/dist/server/i18n/messages/fr.mjs +3 -3
- package/dist/server/i18n/messages/index.mjs +1 -2
- package/dist/server/i18n/messages/pl.mjs +3 -3
- package/dist/server/i18n/messages/pt.mjs +3 -3
- package/dist/server/i18n/messages/sk.mjs +202 -3
- package/dist/server/modules/admin/.generated/module.d.mts +52 -0
- package/dist/server/modules/admin/.generated/module.mjs +78 -0
- package/dist/server/modules/admin/.generated/registries.d.mts +22 -0
- package/dist/server/{auth-helpers.d.mts → modules/admin/auth-helpers.d.mts} +13 -14
- package/dist/server/{auth-helpers.mjs → modules/admin/auth-helpers.mjs} +15 -16
- package/dist/server/{block → modules/admin/block}/block-builder.d.mts +96 -32
- package/dist/server/{block → modules/admin/block}/block-builder.mjs +113 -15
- package/dist/server/modules/admin/block/index.d.mts +3 -0
- package/dist/server/{block → modules/admin/block}/introspection.d.mts +10 -5
- package/dist/server/{block → modules/admin/block}/introspection.mjs +18 -7
- package/dist/server/{block → modules/admin/block}/prefetch.d.mts +21 -17
- package/dist/server/{block → modules/admin/block}/prefetch.mjs +17 -16
- package/dist/server/modules/admin/client/.generated/module.d.mts +94 -0
- package/dist/server/modules/admin/client/.generated/module.mjs +91 -0
- package/dist/server/modules/admin/client/components/badge.d.mts +1 -0
- package/dist/server/modules/admin/client/components/icon.d.mts +1 -0
- package/dist/server/modules/admin/client/fields/array.d.mts +6 -0
- package/dist/server/modules/admin/client/fields/array.mjs +12 -0
- package/dist/server/modules/admin/client/fields/assetPreview.d.mts +6 -0
- package/dist/server/modules/admin/client/fields/assetPreview.mjs +18 -0
- package/dist/server/modules/admin/client/fields/blocks.d.mts +6 -0
- package/dist/server/modules/admin/client/fields/blocks.mjs +12 -0
- package/dist/server/modules/admin/client/fields/boolean.d.mts +6 -0
- package/dist/server/modules/admin/client/fields/boolean.mjs +12 -0
- package/dist/server/modules/admin/client/fields/date.d.mts +6 -0
- package/dist/server/modules/admin/client/fields/date.mjs +12 -0
- package/dist/server/modules/admin/client/fields/datetime.d.mts +6 -0
- package/dist/server/modules/admin/client/fields/datetime.mjs +12 -0
- package/dist/server/modules/admin/client/fields/email.d.mts +6 -0
- package/dist/server/modules/admin/client/fields/email.mjs +12 -0
- package/dist/server/modules/admin/client/fields/json.d.mts +6 -0
- package/dist/server/modules/admin/client/fields/json.mjs +11 -0
- package/dist/server/modules/admin/client/fields/number.d.mts +6 -0
- package/dist/server/modules/admin/client/fields/number.mjs +12 -0
- package/dist/server/modules/admin/client/fields/object.d.mts +6 -0
- package/dist/server/modules/admin/client/fields/object.mjs +12 -0
- package/dist/server/modules/admin/client/fields/relation.d.mts +6 -0
- package/dist/server/modules/admin/client/fields/relation.mjs +12 -0
- package/dist/server/modules/admin/client/fields/richText.d.mts +6 -0
- package/dist/server/modules/admin/client/fields/richText.mjs +11 -0
- package/dist/server/modules/admin/client/fields/select.d.mts +6 -0
- package/dist/server/modules/admin/client/fields/select.mjs +12 -0
- package/dist/server/modules/admin/client/fields/text.d.mts +6 -0
- package/dist/server/modules/admin/client/fields/text.mjs +12 -0
- package/dist/server/modules/admin/client/fields/textarea.d.mts +6 -0
- package/dist/server/modules/admin/client/fields/textarea.mjs +12 -0
- package/dist/server/modules/admin/client/fields/time.d.mts +6 -0
- package/dist/server/modules/admin/client/fields/time.mjs +12 -0
- package/dist/server/modules/admin/client/fields/upload.d.mts +6 -0
- package/dist/server/modules/admin/client/fields/upload.mjs +12 -0
- package/dist/server/modules/admin/client/fields/url.d.mts +6 -0
- package/dist/server/modules/admin/client/fields/url.mjs +12 -0
- package/dist/server/modules/admin/client/index.d.mts +1 -0
- package/dist/server/modules/admin/client/pages/dashboard.d.mts +6 -0
- package/dist/server/modules/admin/client/pages/dashboard.mjs +11 -0
- package/dist/server/modules/admin/client/pages/forgotPassword.d.mts +6 -0
- package/dist/server/modules/admin/client/pages/forgotPassword.mjs +11 -0
- package/dist/server/modules/admin/client/pages/login.d.mts +6 -0
- package/dist/server/modules/admin/client/pages/login.mjs +11 -0
- package/dist/server/modules/admin/client/pages/resetPassword.d.mts +6 -0
- package/dist/server/modules/admin/client/pages/resetPassword.mjs +11 -0
- package/dist/server/modules/admin/client/pages/setup.d.mts +6 -0
- package/dist/server/modules/admin/client/pages/setup.mjs +11 -0
- package/dist/server/modules/admin/client/views/collection-form.mjs +10 -0
- package/dist/server/modules/admin/client/views/collection-table.mjs +10 -0
- package/dist/server/modules/admin/client/views/global-form.mjs +10 -0
- package/dist/server/modules/admin/client/widgets/chart.d.mts +6 -0
- package/dist/server/modules/admin/client/widgets/chart.mjs +7 -0
- package/dist/server/modules/admin/client/widgets/progress.d.mts +6 -0
- package/dist/server/modules/admin/client/widgets/progress.mjs +7 -0
- package/dist/server/modules/admin/client/widgets/quickActions.d.mts +6 -0
- package/dist/server/modules/admin/client/widgets/quickActions.mjs +7 -0
- package/dist/server/modules/admin/client/widgets/recentItems.d.mts +6 -0
- package/dist/server/modules/admin/client/widgets/recentItems.mjs +7 -0
- package/dist/server/modules/admin/client/widgets/stats.d.mts +6 -0
- package/dist/server/modules/admin/client/widgets/stats.mjs +7 -0
- package/dist/server/modules/admin/client/widgets/table.d.mts +6 -0
- package/dist/server/modules/admin/client/widgets/table.mjs +7 -0
- package/dist/server/modules/admin/client/widgets/timeline.d.mts +6 -0
- package/dist/server/modules/admin/client/widgets/timeline.mjs +7 -0
- package/dist/server/modules/admin/client/widgets/value.d.mts +6 -0
- package/dist/server/modules/admin/client/widgets/value.mjs +7 -0
- package/dist/server/modules/admin/collections/account.d.mts +77 -0
- package/dist/server/modules/admin/collections/account.mjs +23 -0
- package/dist/server/modules/admin/collections/admin-locks.d.mts +90 -0
- package/dist/server/modules/admin/collections/admin-locks.mjs +16 -0
- package/dist/server/modules/admin/collections/admin-preferences.d.mts +69 -0
- package/dist/server/modules/admin/collections/admin-preferences.mjs +16 -0
- package/dist/server/modules/admin/collections/admin-saved-views.d.mts +83 -0
- package/dist/server/modules/admin/collections/admin-saved-views.mjs +16 -0
- package/dist/server/modules/admin/collections/apikey.d.mts +99 -0
- package/dist/server/modules/admin/collections/apikey.mjs +15 -0
- package/dist/server/modules/admin/collections/assets.d.mts +72 -0
- package/dist/server/modules/admin/collections/assets.mjs +71 -0
- package/dist/server/modules/admin/collections/session.d.mts +69 -0
- package/dist/server/modules/admin/collections/session.mjs +15 -0
- package/dist/server/modules/admin/collections/user.d.mts +85 -0
- package/dist/server/modules/admin/collections/user.mjs +204 -0
- package/dist/server/modules/admin/collections/verification.d.mts +63 -0
- package/dist/server/modules/admin/collections/verification.mjs +15 -0
- package/dist/server/modules/admin/components/badge.d.mts +10 -0
- package/dist/server/modules/admin/components/badge.mjs +10 -0
- package/dist/server/modules/admin/components/icon.d.mts +9 -0
- package/dist/server/modules/admin/components/icon.mjs +11 -0
- package/dist/server/modules/admin/config/admin.mjs +34 -0
- package/dist/server/modules/admin/dto/admin-config.dto.mjs +102 -0
- package/dist/server/modules/admin/factories.mjs +172 -0
- package/dist/server/modules/admin/index.d.mts +1060 -16846
- package/dist/server/modules/admin/index.mjs +17 -240
- package/dist/server/modules/admin/modules.mjs +11 -0
- package/dist/server/modules/admin/plugin.mjs +13 -0
- package/dist/server/modules/admin/routes/admin-config.d.mts +28 -0
- package/dist/server/modules/admin/routes/admin-config.mjs +552 -0
- package/dist/server/modules/admin/{functions → routes}/execute-action.d.mts +17 -32
- package/dist/server/modules/admin/{functions → routes}/execute-action.mjs +146 -44
- package/dist/server/modules/admin/routes/locales.d.mts +18 -0
- package/dist/server/modules/admin/routes/locales.mjs +69 -0
- package/dist/server/modules/admin/{functions → routes}/preview.d.mts +25 -15
- package/dist/server/modules/admin/{functions → routes}/preview.mjs +84 -97
- package/dist/server/modules/admin/{functions → routes}/reactive.d.mts +19 -44
- package/dist/server/modules/admin/{functions → routes}/reactive.mjs +89 -117
- package/dist/server/modules/admin/routes/route-helpers.d.mts +23 -0
- package/dist/server/modules/admin/routes/route-helpers.mjs +76 -0
- package/dist/server/modules/admin/{functions → routes}/setup.d.mts +11 -32
- package/dist/server/modules/admin/routes/setup.mjs +114 -0
- package/dist/server/modules/admin/routes/translations.d.mts +26 -0
- package/dist/server/modules/admin/routes/translations.mjs +114 -0
- package/dist/server/modules/admin/routes/widget-data.d.mts +32 -0
- package/dist/server/modules/admin/routes/widget-data.mjs +62 -0
- package/dist/server/modules/admin/views/form.d.mts +8 -0
- package/dist/server/modules/admin/views/form.mjs +7 -0
- package/dist/server/modules/admin/views/global-form.d.mts +8 -0
- package/dist/server/modules/admin/views/global-form.mjs +7 -0
- package/dist/server/modules/admin/views/table.d.mts +8 -0
- package/dist/server/modules/admin/views/table.mjs +7 -0
- package/dist/server/modules/admin-preferences/collections/{admin-preferences.collection.mjs → admin-preferences.mjs} +13 -24
- package/dist/server/modules/admin-preferences/collections/locks.collection.mjs +18 -42
- package/dist/server/modules/admin-preferences/collections/saved-views.d.mts +99 -0
- package/dist/server/modules/admin-preferences/collections/saved-views.mjs +38 -0
- package/dist/server/modules/audit/.generated/module.d.mts +60 -0
- package/dist/server/modules/audit/.generated/module.mjs +30 -0
- package/dist/server/modules/audit/collections/audit-log.d.mts +214 -0
- package/dist/server/modules/audit/collections/audit-log.mjs +107 -0
- package/dist/server/modules/audit/config/admin.mjs +21 -0
- package/dist/server/modules/audit/config/app.mjs +262 -0
- package/dist/server/modules/audit/index.d.mts +2 -0
- package/dist/server/modules/audit/jobs/audit-cleanup.d.mts +13 -0
- package/dist/server/modules/audit/jobs/audit-cleanup.mjs +28 -0
- package/dist/server/plugin.d.mts +26 -0
- package/dist/server/plugin.mjs +385 -0
- package/dist/server/proxy-factories.d.mts +85 -0
- package/dist/server/proxy-factories.mjs +302 -0
- package/dist/server/registry-helpers.d.mts +83 -0
- package/dist/server/registry-helpers.mjs +104 -0
- package/dist/server.d.mts +30 -18
- package/dist/server.mjs +19 -16
- package/dist/shared/preview-utils.d.mts +2 -3
- package/dist/shared/preview-utils.mjs +2 -3
- package/dist/shared/types/saved-views.types.d.mts +2 -2
- package/package.json +51 -40
- package/dist/_virtual/rolldown_runtime.mjs +0 -18
- package/dist/augmentation.d.mts.map +0 -1
- package/dist/client/blocks/block-registry.d.mts +0 -199
- package/dist/client/blocks/block-registry.d.mts.map +0 -1
- package/dist/client/blocks/block-registry.mjs +0 -88
- package/dist/client/blocks/block-registry.mjs.map +0 -1
- package/dist/client/blocks/block-renderer.d.mts.map +0 -1
- package/dist/client/blocks/block-renderer.mjs.map +0 -1
- package/dist/client/blocks/prefetch.d.mts +0 -45
- package/dist/client/blocks/prefetch.d.mts.map +0 -1
- package/dist/client/blocks/prefetch.mjs +0 -26
- package/dist/client/blocks/prefetch.mjs.map +0 -1
- package/dist/client/blocks/types.d.mts.map +0 -1
- package/dist/client/blocks/types.mjs.map +0 -1
- package/dist/client/builder/admin-builder.d.mts +0 -112
- package/dist/client/builder/admin-builder.d.mts.map +0 -1
- package/dist/client/builder/admin-builder.mjs +0 -185
- package/dist/client/builder/admin-builder.mjs.map +0 -1
- package/dist/client/builder/admin-types.d.mts.map +0 -1
- package/dist/client/builder/admin.d.mts.map +0 -1
- package/dist/client/builder/admin.mjs.map +0 -1
- package/dist/client/builder/defaults/components.mjs +0 -20
- package/dist/client/builder/defaults/components.mjs.map +0 -1
- package/dist/client/builder/defaults/core.d.mts +0 -354
- package/dist/client/builder/defaults/core.d.mts.map +0 -1
- package/dist/client/builder/defaults/core.mjs +0 -49
- package/dist/client/builder/defaults/core.mjs.map +0 -1
- package/dist/client/builder/defaults/fields.mjs +0 -328
- package/dist/client/builder/defaults/fields.mjs.map +0 -1
- package/dist/client/builder/defaults/pages.mjs +0 -58
- package/dist/client/builder/defaults/pages.mjs.map +0 -1
- package/dist/client/builder/defaults/starter.d.mts +0 -351
- package/dist/client/builder/defaults/starter.d.mts.map +0 -1
- package/dist/client/builder/defaults/starter.mjs +0 -28
- package/dist/client/builder/defaults/starter.mjs.map +0 -1
- package/dist/client/builder/defaults/views.mjs +0 -27
- package/dist/client/builder/defaults/views.mjs.map +0 -1
- package/dist/client/builder/defaults/widgets.mjs +0 -31
- package/dist/client/builder/defaults/widgets.mjs.map +0 -1
- package/dist/client/builder/field/field.d.mts.map +0 -1
- package/dist/client/builder/field/field.mjs.map +0 -1
- package/dist/client/builder/index.d.mts.map +0 -1
- package/dist/client/builder/page/page.d.mts.map +0 -1
- package/dist/client/builder/page/page.mjs.map +0 -1
- package/dist/client/builder/proxies.d.mts +0 -2
- package/dist/client/builder/proxies.mjs +0 -24
- package/dist/client/builder/proxies.mjs.map +0 -1
- package/dist/client/builder/qa.d.mts +0 -50
- package/dist/client/builder/qa.d.mts.map +0 -1
- package/dist/client/builder/qa.mjs +0 -42
- package/dist/client/builder/qa.mjs.map +0 -1
- package/dist/client/builder/registry.d.mts.map +0 -1
- package/dist/client/builder/types/action-registry.d.mts +0 -2
- package/dist/client/builder/types/action-registry.mjs.map +0 -1
- package/dist/client/builder/types/action-types.d.mts.map +0 -1
- package/dist/client/builder/types/collection-types.d.mts +0 -199
- package/dist/client/builder/types/collection-types.d.mts.map +0 -1
- package/dist/client/builder/types/collection-types.mjs.map +0 -1
- package/dist/client/builder/types/common.d.mts.map +0 -1
- package/dist/client/builder/types/field-types.d.mts.map +0 -1
- package/dist/client/builder/types/field-types.mjs.map +0 -1
- package/dist/client/builder/types/global-types.d.mts +0 -22
- package/dist/client/builder/types/global-types.d.mts.map +0 -1
- package/dist/client/builder/types/ui-config.d.mts.map +0 -1
- package/dist/client/builder/types/views.d.mts +0 -89
- package/dist/client/builder/types/views.d.mts.map +0 -1
- package/dist/client/builder/types/widget-types.d.mts.map +0 -1
- package/dist/client/builder/validation.mjs.map +0 -1
- package/dist/client/builder/view/view.d.mts.map +0 -1
- package/dist/client/builder/view/view.mjs.map +0 -1
- package/dist/client/builder/widget/widget.d.mts.map +0 -1
- package/dist/client/builder/widget/widget.mjs.map +0 -1
- package/dist/client/components/actions/action-button.d.mts +0 -2
- package/dist/client/components/actions/action-button.mjs.map +0 -1
- package/dist/client/components/actions/action-dialog.d.mts +0 -2
- package/dist/client/components/actions/action-dialog.mjs.map +0 -1
- package/dist/client/components/actions/confirmation-dialog.d.mts +0 -2
- package/dist/client/components/actions/confirmation-dialog.mjs.map +0 -1
- package/dist/client/components/actions/header-actions.d.mts +0 -2
- package/dist/client/components/actions/header-actions.mjs.map +0 -1
- package/dist/client/components/actions/index.d.mts +0 -4
- package/dist/client/components/admin-link.d.mts.map +0 -1
- package/dist/client/components/admin-link.mjs.map +0 -1
- package/dist/client/components/auth/auth-guard.d.mts.map +0 -1
- package/dist/client/components/auth/auth-guard.mjs.map +0 -1
- package/dist/client/components/auth/auth-loading.d.mts.map +0 -1
- package/dist/client/components/auth/auth-loading.mjs.map +0 -1
- package/dist/client/components/auth/index.d.mts +0 -2
- package/dist/client/components/blocks/block-canvas.mjs.map +0 -1
- package/dist/client/components/blocks/block-editor-context.mjs.map +0 -1
- package/dist/client/components/blocks/block-editor-layout.mjs.map +0 -1
- package/dist/client/components/blocks/block-editor-provider.mjs.map +0 -1
- package/dist/client/components/blocks/block-fields-renderer.mjs.map +0 -1
- package/dist/client/components/blocks/block-insert-button.mjs.map +0 -1
- package/dist/client/components/blocks/block-item-menu.mjs.map +0 -1
- package/dist/client/components/blocks/block-item.mjs.map +0 -1
- package/dist/client/components/blocks/block-library-sidebar.mjs.map +0 -1
- package/dist/client/components/blocks/block-tree.mjs.map +0 -1
- package/dist/client/components/blocks/block-type-icon.mjs.map +0 -1
- package/dist/client/components/blocks/utils/tree-utils.mjs.map +0 -1
- package/dist/client/components/component-renderer.d.mts.map +0 -1
- package/dist/client/components/component-renderer.mjs.map +0 -1
- package/dist/client/components/error-boundary.mjs.map +0 -1
- package/dist/client/components/fields/array-field.d.mts +0 -44
- package/dist/client/components/fields/array-field.d.mts.map +0 -1
- package/dist/client/components/fields/array-field.mjs.map +0 -1
- package/dist/client/components/fields/asset-preview-field.d.mts +0 -52
- package/dist/client/components/fields/asset-preview-field.d.mts.map +0 -1
- package/dist/client/components/fields/asset-preview-field.mjs.map +0 -1
- package/dist/client/components/fields/blocks-field/blocks-field.d.mts +0 -41
- package/dist/client/components/fields/blocks-field/blocks-field.d.mts.map +0 -1
- package/dist/client/components/fields/blocks-field/blocks-field.mjs.map +0 -1
- package/dist/client/components/fields/blocks-field/index.d.mts +0 -1
- package/dist/client/components/fields/boolean-field.d.mts +0 -30
- package/dist/client/components/fields/boolean-field.d.mts.map +0 -1
- package/dist/client/components/fields/boolean-field.mjs.map +0 -1
- package/dist/client/components/fields/custom-field.d.mts +0 -3
- package/dist/client/components/fields/date-field.d.mts +0 -22
- package/dist/client/components/fields/date-field.d.mts.map +0 -1
- package/dist/client/components/fields/date-field.mjs.map +0 -1
- package/dist/client/components/fields/datetime-field.d.mts +0 -23
- package/dist/client/components/fields/datetime-field.d.mts.map +0 -1
- package/dist/client/components/fields/datetime-field.mjs.map +0 -1
- package/dist/client/components/fields/email-field.d.mts +0 -19
- package/dist/client/components/fields/email-field.d.mts.map +0 -1
- package/dist/client/components/fields/email-field.mjs.map +0 -1
- package/dist/client/components/fields/embedded-collection.d.mts +0 -3
- package/dist/client/components/fields/field-types.d.mts +0 -571
- package/dist/client/components/fields/field-types.d.mts.map +0 -1
- package/dist/client/components/fields/field-utils.d.mts +0 -1
- package/dist/client/components/fields/field-utils.mjs.map +0 -1
- package/dist/client/components/fields/field-wrapper.d.mts +0 -3
- package/dist/client/components/fields/field-wrapper.mjs.map +0 -1
- package/dist/client/components/fields/index.d.mts +0 -33
- package/dist/client/components/fields/json-field.d.mts +0 -84
- package/dist/client/components/fields/json-field.d.mts.map +0 -1
- package/dist/client/components/fields/json-field.mjs.map +0 -1
- package/dist/client/components/fields/locale-badge.d.mts +0 -1
- package/dist/client/components/fields/locale-badge.mjs.map +0 -1
- package/dist/client/components/fields/number-field.d.mts +0 -23
- package/dist/client/components/fields/number-field.d.mts.map +0 -1
- package/dist/client/components/fields/number-field.mjs.map +0 -1
- package/dist/client/components/fields/object-array-field.d.mts +0 -2
- package/dist/client/components/fields/object-array-field.mjs.map +0 -1
- package/dist/client/components/fields/object-field.d.mts +0 -32
- package/dist/client/components/fields/object-field.d.mts.map +0 -1
- package/dist/client/components/fields/object-field.mjs.map +0 -1
- package/dist/client/components/fields/relation/displays/cards-display.d.mts +0 -2
- package/dist/client/components/fields/relation/displays/cards-display.mjs.map +0 -1
- package/dist/client/components/fields/relation/displays/chips-display.d.mts +0 -2
- package/dist/client/components/fields/relation/displays/chips-display.mjs.map +0 -1
- package/dist/client/components/fields/relation/displays/grid-display.d.mts +0 -2
- package/dist/client/components/fields/relation/displays/grid-display.mjs.map +0 -1
- package/dist/client/components/fields/relation/displays/index.d.mts +0 -6
- package/dist/client/components/fields/relation/displays/list-display.d.mts +0 -2
- package/dist/client/components/fields/relation/displays/list-display.mjs.map +0 -1
- package/dist/client/components/fields/relation/displays/table-display.d.mts +0 -2
- package/dist/client/components/fields/relation/displays/table-display.mjs.map +0 -1
- package/dist/client/components/fields/relation/displays/types.d.mts +0 -22
- package/dist/client/components/fields/relation/displays/types.d.mts.map +0 -1
- package/dist/client/components/fields/relation/displays/types.mjs.map +0 -1
- package/dist/client/components/fields/relation/index.d.mts +0 -3
- package/dist/client/components/fields/relation/relation-items-display.d.mts +0 -5
- package/dist/client/components/fields/relation/relation-items-display.mjs.map +0 -1
- package/dist/client/components/fields/relation-field.d.mts +0 -134
- package/dist/client/components/fields/relation-field.d.mts.map +0 -1
- package/dist/client/components/fields/relation-field.mjs.map +0 -1
- package/dist/client/components/fields/relation-picker.d.mts +0 -4
- package/dist/client/components/fields/relation-picker.mjs.map +0 -1
- package/dist/client/components/fields/relation-select.d.mts +0 -3
- package/dist/client/components/fields/relation-select.mjs.map +0 -1
- package/dist/client/components/fields/reverse-relation-field.d.mts +0 -2
- package/dist/client/components/fields/rich-text-editor/bubble-menu.mjs.map +0 -1
- package/dist/client/components/fields/rich-text-editor/extensions.mjs.map +0 -1
- package/dist/client/components/fields/rich-text-editor/image-popover.mjs.map +0 -1
- package/dist/client/components/fields/rich-text-editor/index.d.mts +0 -4
- package/dist/client/components/fields/rich-text-editor/index.mjs.map +0 -1
- package/dist/client/components/fields/rich-text-editor/link-popover.mjs.map +0 -1
- package/dist/client/components/fields/rich-text-editor/presets.d.mts +0 -11
- package/dist/client/components/fields/rich-text-editor/presets.d.mts.map +0 -1
- package/dist/client/components/fields/rich-text-editor/presets.mjs.map +0 -1
- package/dist/client/components/fields/rich-text-editor/slash-commands.mjs.map +0 -1
- package/dist/client/components/fields/rich-text-editor/table-controls.mjs.map +0 -1
- package/dist/client/components/fields/rich-text-editor/toolbar.mjs.map +0 -1
- package/dist/client/components/fields/rich-text-editor/types.d.mts +0 -78
- package/dist/client/components/fields/rich-text-editor/types.d.mts.map +0 -1
- package/dist/client/components/fields/rich-text-editor/types.mjs.map +0 -1
- package/dist/client/components/fields/rich-text-editor/utils.mjs.map +0 -1
- package/dist/client/components/fields/rich-text-editor/variants.d.mts +0 -2
- package/dist/client/components/fields/rich-text-field.d.mts +0 -14
- package/dist/client/components/fields/rich-text-field.d.mts.map +0 -1
- package/dist/client/components/fields/rich-text-field.mjs.map +0 -1
- package/dist/client/components/fields/select-field.d.mts +0 -25
- package/dist/client/components/fields/select-field.d.mts.map +0 -1
- package/dist/client/components/fields/select-field.mjs.map +0 -1
- package/dist/client/components/fields/status-field.d.mts +0 -2
- package/dist/client/components/fields/text-field.d.mts +0 -22
- package/dist/client/components/fields/text-field.d.mts.map +0 -1
- package/dist/client/components/fields/text-field.mjs.map +0 -1
- package/dist/client/components/fields/textarea-field.d.mts +0 -22
- package/dist/client/components/fields/textarea-field.d.mts.map +0 -1
- package/dist/client/components/fields/textarea-field.mjs.map +0 -1
- package/dist/client/components/fields/time-field.d.mts +0 -20
- package/dist/client/components/fields/time-field.d.mts.map +0 -1
- package/dist/client/components/fields/time-field.mjs.map +0 -1
- package/dist/client/components/fields/upload-field.d.mts +0 -97
- package/dist/client/components/fields/upload-field.d.mts.map +0 -1
- package/dist/client/components/fields/upload-field.mjs.map +0 -1
- package/dist/client/components/filter-builder/columns-tab.d.mts +0 -1
- package/dist/client/components/filter-builder/columns-tab.mjs.map +0 -1
- package/dist/client/components/filter-builder/filter-builder-sheet.d.mts +0 -1
- package/dist/client/components/filter-builder/filter-builder-sheet.mjs.map +0 -1
- package/dist/client/components/filter-builder/filters-tab.d.mts +0 -1
- package/dist/client/components/filter-builder/filters-tab.mjs.map +0 -1
- package/dist/client/components/filter-builder/index.d.mts +0 -5
- package/dist/client/components/filter-builder/saved-views-tab.d.mts +0 -1
- package/dist/client/components/filter-builder/saved-views-tab.mjs.map +0 -1
- package/dist/client/components/index.d.mts +0 -80
- package/dist/client/components/locale-switcher.d.mts +0 -2
- package/dist/client/components/locale-switcher.mjs.map +0 -1
- package/dist/client/components/media/media-grid.mjs.map +0 -1
- package/dist/client/components/media/media-picker-dialog.mjs.map +0 -1
- package/dist/client/components/preview/live-preview-mode.mjs.map +0 -1
- package/dist/client/components/preview/preview-pane.mjs.map +0 -1
- package/dist/client/components/primitives/asset-preview.mjs.map +0 -1
- package/dist/client/components/primitives/checkbox-input.mjs.map +0 -1
- package/dist/client/components/primitives/date-input.mjs.map +0 -1
- package/dist/client/components/primitives/dropzone.mjs.map +0 -1
- package/dist/client/components/primitives/number-input.mjs.map +0 -1
- package/dist/client/components/primitives/select-multi.mjs.map +0 -1
- package/dist/client/components/primitives/select-single.mjs.map +0 -1
- package/dist/client/components/primitives/text-input.mjs.map +0 -1
- package/dist/client/components/primitives/textarea-input.mjs.map +0 -1
- package/dist/client/components/primitives/time-input.mjs.map +0 -1
- package/dist/client/components/primitives/toggle-input.mjs.map +0 -1
- package/dist/client/components/primitives/types.d.mts +0 -14
- package/dist/client/components/primitives/types.d.mts.map +0 -1
- package/dist/client/components/primitives/types.mjs.map +0 -1
- package/dist/client/components/sheets/index.d.mts +0 -1
- package/dist/client/components/sheets/resource-sheet.d.mts +0 -1
- package/dist/client/components/sheets/resource-sheet.mjs.map +0 -1
- package/dist/client/components/ui/accordion.d.mts +0 -2
- package/dist/client/components/ui/accordion.mjs.map +0 -1
- package/dist/client/components/ui/alert.mjs.map +0 -1
- package/dist/client/components/ui/avatar.d.mts +0 -3
- package/dist/client/components/ui/badge.d.mts +0 -3
- package/dist/client/components/ui/badge.mjs.map +0 -1
- package/dist/client/components/ui/button.d.mts +0 -3
- package/dist/client/components/ui/button.mjs.map +0 -1
- package/dist/client/components/ui/card.d.mts +0 -2
- package/dist/client/components/ui/card.mjs.map +0 -1
- package/dist/client/components/ui/checkbox.d.mts +0 -2
- package/dist/client/components/ui/checkbox.mjs.map +0 -1
- package/dist/client/components/ui/combobox.d.mts +0 -3
- package/dist/client/components/ui/command.mjs.map +0 -1
- package/dist/client/components/ui/dialog.d.mts +0 -3
- package/dist/client/components/ui/dialog.mjs.map +0 -1
- package/dist/client/components/ui/drawer.mjs.map +0 -1
- package/dist/client/components/ui/dropdown-menu.d.mts +0 -3
- package/dist/client/components/ui/dropdown-menu.mjs.map +0 -1
- package/dist/client/components/ui/empty-state.mjs.map +0 -1
- package/dist/client/components/ui/field.d.mts +0 -3
- package/dist/client/components/ui/field.mjs.map +0 -1
- package/dist/client/components/ui/input-group.d.mts +0 -4
- package/dist/client/components/ui/input-group.mjs.map +0 -1
- package/dist/client/components/ui/input.d.mts +0 -2
- package/dist/client/components/ui/input.mjs.map +0 -1
- package/dist/client/components/ui/kbd.mjs.map +0 -1
- package/dist/client/components/ui/label.d.mts +0 -2
- package/dist/client/components/ui/label.mjs.map +0 -1
- package/dist/client/components/ui/popover.d.mts +0 -3
- package/dist/client/components/ui/popover.mjs.map +0 -1
- package/dist/client/components/ui/responsive-dialog.mjs.map +0 -1
- package/dist/client/components/ui/scroll-area.d.mts +0 -2
- package/dist/client/components/ui/search-input.mjs.map +0 -1
- package/dist/client/components/ui/select.d.mts +0 -3
- package/dist/client/components/ui/select.mjs.map +0 -1
- package/dist/client/components/ui/separator.d.mts +0 -2
- package/dist/client/components/ui/separator.mjs.map +0 -1
- package/dist/client/components/ui/sheet.d.mts +0 -3
- package/dist/client/components/ui/sheet.mjs.map +0 -1
- package/dist/client/components/ui/sidebar.d.mts +0 -8
- package/dist/client/components/ui/sidebar.mjs.map +0 -1
- package/dist/client/components/ui/skeleton.d.mts +0 -1
- package/dist/client/components/ui/skeleton.mjs.map +0 -1
- package/dist/client/components/ui/sonner.d.mts.map +0 -1
- package/dist/client/components/ui/sonner.mjs.map +0 -1
- package/dist/client/components/ui/spinner.d.mts +0 -1
- package/dist/client/components/ui/spinner.mjs.map +0 -1
- package/dist/client/components/ui/switch.d.mts +0 -2
- package/dist/client/components/ui/switch.mjs.map +0 -1
- package/dist/client/components/ui/table.d.mts +0 -2
- package/dist/client/components/ui/table.mjs.map +0 -1
- package/dist/client/components/ui/tabs.d.mts +0 -3
- package/dist/client/components/ui/tabs.mjs.map +0 -1
- package/dist/client/components/ui/textarea.d.mts +0 -2
- package/dist/client/components/ui/textarea.mjs.map +0 -1
- package/dist/client/components/ui/toolbar.mjs.map +0 -1
- package/dist/client/components/ui/tooltip.d.mts +0 -2
- package/dist/client/components/ui/tooltip.mjs.map +0 -1
- package/dist/client/components/widgets/chart-widget.d.mts +0 -57
- package/dist/client/components/widgets/chart-widget.d.mts.map +0 -1
- package/dist/client/components/widgets/chart-widget.mjs.map +0 -1
- package/dist/client/components/widgets/progress-widget.d.mts +0 -41
- package/dist/client/components/widgets/progress-widget.d.mts.map +0 -1
- package/dist/client/components/widgets/progress-widget.mjs.map +0 -1
- package/dist/client/components/widgets/quick-actions-widget.d.mts +0 -29
- package/dist/client/components/widgets/quick-actions-widget.d.mts.map +0 -1
- package/dist/client/components/widgets/quick-actions-widget.mjs.map +0 -1
- package/dist/client/components/widgets/recent-items-widget.d.mts +0 -51
- package/dist/client/components/widgets/recent-items-widget.d.mts.map +0 -1
- package/dist/client/components/widgets/recent-items-widget.mjs.map +0 -1
- package/dist/client/components/widgets/stats-widget.d.mts +0 -55
- package/dist/client/components/widgets/stats-widget.d.mts.map +0 -1
- package/dist/client/components/widgets/stats-widget.mjs.map +0 -1
- package/dist/client/components/widgets/table-widget.d.mts +0 -31
- package/dist/client/components/widgets/table-widget.d.mts.map +0 -1
- package/dist/client/components/widgets/table-widget.mjs.map +0 -1
- package/dist/client/components/widgets/timeline-widget.d.mts +0 -51
- package/dist/client/components/widgets/timeline-widget.d.mts.map +0 -1
- package/dist/client/components/widgets/timeline-widget.mjs.map +0 -1
- package/dist/client/components/widgets/value-widget.d.mts +0 -39
- package/dist/client/components/widgets/value-widget.d.mts.map +0 -1
- package/dist/client/components/widgets/value-widget.mjs.map +0 -1
- package/dist/client/components/widgets/widget-skeletons.mjs.map +0 -1
- package/dist/client/context/focus-context.d.mts.map +0 -1
- package/dist/client/context/focus-context.mjs.map +0 -1
- package/dist/client/contexts/breadcrumb-context.mjs.map +0 -1
- package/dist/client/hooks/typed-hooks.d.mts.map +0 -1
- package/dist/client/hooks/typed-hooks.mjs.map +0 -1
- package/dist/client/hooks/use-action.mjs.map +0 -1
- package/dist/client/hooks/use-admin-config.mjs.map +0 -1
- package/dist/client/hooks/use-admin-preferences.mjs.map +0 -1
- package/dist/client/hooks/use-admin-routes.mjs.map +0 -1
- package/dist/client/hooks/use-auth.d.mts.map +0 -1
- package/dist/client/hooks/use-auth.mjs.map +0 -1
- package/dist/client/hooks/use-collection-fields.mjs.map +0 -1
- package/dist/client/hooks/use-collection-meta.mjs.map +0 -1
- package/dist/client/hooks/use-collection-schema.mjs.map +0 -1
- package/dist/client/hooks/use-collection-validation.mjs.map +0 -1
- package/dist/client/hooks/use-collection.d.mts.map +0 -1
- package/dist/client/hooks/use-collection.mjs.map +0 -1
- package/dist/client/hooks/use-current-user.d.mts.map +0 -1
- package/dist/client/hooks/use-current-user.mjs.map +0 -1
- package/dist/client/hooks/use-field-hooks.mjs.map +0 -1
- package/dist/client/hooks/use-field-options.d.mts.map +0 -1
- package/dist/client/hooks/use-field-options.mjs.map +0 -1
- package/dist/client/hooks/use-global-fields.mjs.map +0 -1
- package/dist/client/hooks/use-global-meta.mjs.map +0 -1
- package/dist/client/hooks/use-global-schema.mjs.map +0 -1
- package/dist/client/hooks/use-global.d.mts.map +0 -1
- package/dist/client/hooks/use-global.mjs.map +0 -1
- package/dist/client/hooks/use-locks.mjs.map +0 -1
- package/dist/client/hooks/use-media-query.d.mts.map +0 -1
- package/dist/client/hooks/use-media-query.mjs.map +0 -1
- package/dist/client/hooks/use-prefill-params.mjs.map +0 -1
- package/dist/client/hooks/use-questpie-query-options.mjs.map +0 -1
- package/dist/client/hooks/use-reactive-fields.d.mts.map +0 -1
- package/dist/client/hooks/use-reactive-fields.mjs.map +0 -1
- package/dist/client/hooks/use-realtime-highlight.mjs.map +0 -1
- package/dist/client/hooks/use-saved-views.mjs.map +0 -1
- package/dist/client/hooks/use-search.mjs.map +0 -1
- package/dist/client/hooks/use-server-validation.mjs.map +0 -1
- package/dist/client/hooks/use-server-widget-data.d.mts.map +0 -1
- package/dist/client/hooks/use-server-widget-data.mjs.map +0 -1
- package/dist/client/hooks/use-setup-status.d.mts.map +0 -1
- package/dist/client/hooks/use-setup-status.mjs.map +0 -1
- package/dist/client/hooks/use-upload-collection.mjs.map +0 -1
- package/dist/client/hooks/use-upload.d.mts +0 -23
- package/dist/client/hooks/use-upload.d.mts.map +0 -1
- package/dist/client/hooks/use-upload.mjs.map +0 -1
- package/dist/client/hooks/use-validation-error-map.mjs.map +0 -1
- package/dist/client/hooks/use-view-state.mjs.map +0 -1
- package/dist/client/i18n/hooks.mjs.map +0 -1
- package/dist/client/i18n/intl-cache.mjs.map +0 -1
- package/dist/client/i18n/messages.mjs.map +0 -1
- package/dist/client/i18n/simple.d.mts.map +0 -1
- package/dist/client/i18n/simple.mjs.map +0 -1
- package/dist/client/i18n/types.d.mts.map +0 -1
- package/dist/client/lib/utils.d.mts +0 -1
- package/dist/client/lib/utils.mjs.map +0 -1
- package/dist/client/preview/block-scope-context.d.mts.map +0 -1
- package/dist/client/preview/block-scope-context.mjs.map +0 -1
- package/dist/client/preview/preview-banner.d.mts.map +0 -1
- package/dist/client/preview/preview-banner.mjs.map +0 -1
- package/dist/client/preview/preview-field.d.mts.map +0 -1
- package/dist/client/preview/preview-field.mjs.map +0 -1
- package/dist/client/preview/types.d.mts.map +0 -1
- package/dist/client/preview/types.mjs.map +0 -1
- package/dist/client/preview/use-collection-preview.d.mts.map +0 -1
- package/dist/client/preview/use-collection-preview.mjs.map +0 -1
- package/dist/client/runtime/content-locales-provider.mjs.map +0 -1
- package/dist/client/runtime/locale-scope.mjs.map +0 -1
- package/dist/client/runtime/provider.d.mts.map +0 -1
- package/dist/client/runtime/provider.mjs.map +0 -1
- package/dist/client/runtime/routes.d.mts.map +0 -1
- package/dist/client/runtime/routes.mjs.map +0 -1
- package/dist/client/runtime/translations-provider.d.mts +0 -2
- package/dist/client/runtime/translations-provider.mjs.map +0 -1
- package/dist/client/scope/picker.d.mts.map +0 -1
- package/dist/client/scope/picker.mjs.map +0 -1
- package/dist/client/scope/provider.d.mts.map +0 -1
- package/dist/client/scope/provider.mjs.map +0 -1
- package/dist/client/scope/types.d.mts.map +0 -1
- package/dist/client/utils/auto-expand-fields.mjs.map +0 -1
- package/dist/client/utils/build-field-definitions-from-schema.mjs.map +0 -1
- package/dist/client/utils/detect-relations.mjs.map +0 -1
- package/dist/client/utils/locale-to-flag.d.mts.map +0 -1
- package/dist/client/utils/locale-to-flag.mjs.map +0 -1
- package/dist/client/utils/routes.mjs.map +0 -1
- package/dist/client/views/auth/accept-invite-form.d.mts.map +0 -1
- package/dist/client/views/auth/accept-invite-form.mjs.map +0 -1
- package/dist/client/views/auth/auth-layout.d.mts.map +0 -1
- package/dist/client/views/auth/auth-layout.mjs.map +0 -1
- package/dist/client/views/auth/forgot-password-form.d.mts.map +0 -1
- package/dist/client/views/auth/forgot-password-form.mjs.map +0 -1
- package/dist/client/views/auth/index.d.mts +0 -7
- package/dist/client/views/auth/invite-form.d.mts +0 -1
- package/dist/client/views/auth/invite-form.mjs.map +0 -1
- package/dist/client/views/auth/login-form.d.mts.map +0 -1
- package/dist/client/views/auth/login-form.mjs.map +0 -1
- package/dist/client/views/auth/reset-password-form.d.mts.map +0 -1
- package/dist/client/views/auth/reset-password-form.mjs.map +0 -1
- package/dist/client/views/auth/setup-form.d.mts.map +0 -1
- package/dist/client/views/auth/setup-form.mjs.map +0 -1
- package/dist/client/views/collection/auto-form-fields.d.mts +0 -4
- package/dist/client/views/collection/auto-form-fields.mjs.map +0 -1
- package/dist/client/views/collection/bulk-action-toolbar.mjs.map +0 -1
- package/dist/client/views/collection/cells/complex-cells.d.mts +0 -46
- package/dist/client/views/collection/cells/complex-cells.d.mts.map +0 -1
- package/dist/client/views/collection/cells/complex-cells.mjs.map +0 -1
- package/dist/client/views/collection/cells/index.d.mts +0 -7
- package/dist/client/views/collection/cells/primitive-cells.d.mts +0 -76
- package/dist/client/views/collection/cells/primitive-cells.d.mts.map +0 -1
- package/dist/client/views/collection/cells/primitive-cells.mjs.map +0 -1
- package/dist/client/views/collection/cells/relation-cells.d.mts +0 -21
- package/dist/client/views/collection/cells/relation-cells.d.mts.map +0 -1
- package/dist/client/views/collection/cells/relation-cells.mjs.map +0 -1
- package/dist/client/views/collection/cells/shared/asset-thumbnail.d.mts +0 -1
- package/dist/client/views/collection/cells/shared/asset-thumbnail.mjs.map +0 -1
- package/dist/client/views/collection/cells/shared/cell-helpers.d.mts +0 -2
- package/dist/client/views/collection/cells/shared/cell-helpers.mjs.map +0 -1
- package/dist/client/views/collection/cells/shared/relation-chip.d.mts +0 -1
- package/dist/client/views/collection/cells/shared/relation-chip.mjs.map +0 -1
- package/dist/client/views/collection/cells/upload-cells.d.mts +0 -25
- package/dist/client/views/collection/cells/upload-cells.d.mts.map +0 -1
- package/dist/client/views/collection/cells/upload-cells.mjs.map +0 -1
- package/dist/client/views/collection/columns/build-columns.d.mts +0 -2
- package/dist/client/views/collection/columns/build-columns.mjs.map +0 -1
- package/dist/client/views/collection/columns/column-defaults.d.mts +0 -2
- package/dist/client/views/collection/columns/column-defaults.mjs.map +0 -1
- package/dist/client/views/collection/columns/index.d.mts +0 -3
- package/dist/client/views/collection/columns/types.d.mts +0 -2
- package/dist/client/views/collection/field-context.mjs.map +0 -1
- package/dist/client/views/collection/field-renderer.mjs.map +0 -1
- package/dist/client/views/collection/form-view.d.mts +0 -112
- package/dist/client/views/collection/form-view.d.mts.map +0 -1
- package/dist/client/views/collection/form-view.mjs.map +0 -1
- package/dist/client/views/collection/index.d.mts +0 -9
- package/dist/client/views/collection/table-view.d.mts +0 -102
- package/dist/client/views/collection/table-view.d.mts.map +0 -1
- package/dist/client/views/collection/table-view.mjs.map +0 -1
- package/dist/client/views/collection/view-skeletons.mjs.map +0 -1
- package/dist/client/views/common/global-search.d.mts +0 -1
- package/dist/client/views/common/global-search.mjs.map +0 -1
- package/dist/client/views/common/index.d.mts +0 -1
- package/dist/client/views/dashboard/dashboard-grid.mjs.map +0 -1
- package/dist/client/views/dashboard/dashboard-widget.mjs.map +0 -1
- package/dist/client/views/dashboard/widget-card.mjs.map +0 -1
- package/dist/client/views/globals/global-form-view.d.mts +0 -74
- package/dist/client/views/globals/global-form-view.d.mts.map +0 -1
- package/dist/client/views/globals/global-form-view.mjs.map +0 -1
- package/dist/client/views/index.d.mts +0 -28
- package/dist/client/views/layout/admin-layout-provider.d.mts.map +0 -1
- package/dist/client/views/layout/admin-layout-provider.mjs.map +0 -1
- package/dist/client/views/layout/admin-layout.d.mts.map +0 -1
- package/dist/client/views/layout/admin-layout.mjs.map +0 -1
- package/dist/client/views/layout/admin-root.d.mts +0 -7
- package/dist/client/views/layout/admin-router.d.mts.map +0 -1
- package/dist/client/views/layout/admin-router.mjs.map +0 -1
- package/dist/client/views/layout/admin-sidebar.d.mts.map +0 -1
- package/dist/client/views/layout/admin-sidebar.mjs.map +0 -1
- package/dist/client/views/layout/admin-topbar.mjs.map +0 -1
- package/dist/client/views/layout/index.d.mts +0 -5
- package/dist/client/views/pages/accept-invite-page.d.mts.map +0 -1
- package/dist/client/views/pages/accept-invite-page.mjs.map +0 -1
- package/dist/client/views/pages/dashboard-page.d.mts.map +0 -1
- package/dist/client/views/pages/dashboard-page.mjs.map +0 -1
- package/dist/client/views/pages/forgot-password-page.d.mts.map +0 -1
- package/dist/client/views/pages/forgot-password-page.mjs.map +0 -1
- package/dist/client/views/pages/index.d.mts +0 -7
- package/dist/client/views/pages/invite-page.d.mts.map +0 -1
- package/dist/client/views/pages/invite-page.mjs.map +0 -1
- package/dist/client/views/pages/login-page.d.mts.map +0 -1
- package/dist/client/views/pages/login-page.mjs.map +0 -1
- package/dist/client/views/pages/reset-password-page.d.mts.map +0 -1
- package/dist/client/views/pages/reset-password-page.mjs.map +0 -1
- package/dist/client/views/pages/setup-page.d.mts.map +0 -1
- package/dist/client/views/pages/setup-page.mjs.map +0 -1
- package/dist/client.d.mts.map +0 -1
- package/dist/components/rich-text/rich-text-renderer.d.mts.map +0 -1
- package/dist/components/rich-text/rich-text-renderer.mjs.map +0 -1
- package/dist/server/adapters/nextjs.d.mts.map +0 -1
- package/dist/server/adapters/nextjs.mjs.map +0 -1
- package/dist/server/adapters/tanstack.d.mts.map +0 -1
- package/dist/server/adapters/tanstack.mjs.map +0 -1
- package/dist/server/augmentation.d.mts.map +0 -1
- package/dist/server/auth-helpers.d.mts.map +0 -1
- package/dist/server/auth-helpers.mjs.map +0 -1
- package/dist/server/block/block-builder.d.mts.map +0 -1
- package/dist/server/block/block-builder.mjs.map +0 -1
- package/dist/server/block/introspection.d.mts.map +0 -1
- package/dist/server/block/introspection.mjs.map +0 -1
- package/dist/server/block/prefetch.d.mts.map +0 -1
- package/dist/server/block/prefetch.mjs.map +0 -1
- package/dist/server/fields/blocks.d.mts.map +0 -1
- package/dist/server/fields/blocks.mjs.map +0 -1
- package/dist/server/fields/index.d.mts.map +0 -1
- package/dist/server/fields/index.mjs.map +0 -1
- package/dist/server/fields/rich-text.d.mts.map +0 -1
- package/dist/server/fields/rich-text.mjs.map +0 -1
- package/dist/server/i18n/index.d.mts +0 -16
- package/dist/server/i18n/index.d.mts.map +0 -1
- package/dist/server/i18n/index.mjs.map +0 -1
- package/dist/server/i18n/messages/cs.mjs.map +0 -1
- package/dist/server/i18n/messages/de.mjs.map +0 -1
- package/dist/server/i18n/messages/en.mjs.map +0 -1
- package/dist/server/i18n/messages/es.mjs.map +0 -1
- package/dist/server/i18n/messages/fr.mjs.map +0 -1
- package/dist/server/i18n/messages/index.mjs.map +0 -1
- package/dist/server/i18n/messages/pl.mjs.map +0 -1
- package/dist/server/i18n/messages/pt.mjs.map +0 -1
- package/dist/server/i18n/messages/sk.mjs.map +0 -1
- package/dist/server/index.d.mts +0 -20
- package/dist/server/modules/admin/functions/admin-config.mjs +0 -348
- package/dist/server/modules/admin/functions/admin-config.mjs.map +0 -1
- package/dist/server/modules/admin/functions/execute-action.d.mts.map +0 -1
- package/dist/server/modules/admin/functions/execute-action.mjs.map +0 -1
- package/dist/server/modules/admin/functions/locales.mjs +0 -80
- package/dist/server/modules/admin/functions/locales.mjs.map +0 -1
- package/dist/server/modules/admin/functions/preview.d.mts.map +0 -1
- package/dist/server/modules/admin/functions/preview.mjs.map +0 -1
- package/dist/server/modules/admin/functions/reactive.d.mts.map +0 -1
- package/dist/server/modules/admin/functions/reactive.mjs.map +0 -1
- package/dist/server/modules/admin/functions/setup.d.mts.map +0 -1
- package/dist/server/modules/admin/functions/setup.mjs +0 -131
- package/dist/server/modules/admin/functions/setup.mjs.map +0 -1
- package/dist/server/modules/admin/functions/translations.mjs +0 -125
- package/dist/server/modules/admin/functions/translations.mjs.map +0 -1
- package/dist/server/modules/admin/functions/widget-data.d.mts +0 -33
- package/dist/server/modules/admin/functions/widget-data.d.mts.map +0 -1
- package/dist/server/modules/admin/functions/widget-data.mjs +0 -70
- package/dist/server/modules/admin/functions/widget-data.mjs.map +0 -1
- package/dist/server/modules/admin/index.d.mts.map +0 -1
- package/dist/server/modules/admin/index.mjs.map +0 -1
- package/dist/server/modules/admin-preferences/collections/admin-preferences.collection.d.mts +0 -3
- package/dist/server/modules/admin-preferences/collections/admin-preferences.collection.mjs.map +0 -1
- package/dist/server/modules/admin-preferences/collections/locks.collection.d.mts +0 -3
- package/dist/server/modules/admin-preferences/collections/locks.collection.mjs.map +0 -1
- package/dist/server/modules/admin-preferences/collections/saved-views.collection.d.mts +0 -1490
- package/dist/server/modules/admin-preferences/collections/saved-views.collection.d.mts.map +0 -1
- package/dist/server/modules/admin-preferences/collections/saved-views.collection.mjs +0 -57
- package/dist/server/modules/admin-preferences/collections/saved-views.collection.mjs.map +0 -1
- package/dist/server/patch.d.mts +0 -100
- package/dist/server/patch.d.mts.map +0 -1
- package/dist/server/patch.mjs +0 -1062
- package/dist/server/patch.mjs.map +0 -1
- package/dist/shared/preview-utils.d.mts.map +0 -1
- package/dist/shared/preview-utils.mjs.map +0 -1
- package/dist/shared/types/saved-views.types.d.mts.map +0 -1
package/package.json
CHANGED
|
@@ -1,46 +1,66 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@questpie/admin",
|
|
3
|
-
"version": "
|
|
4
|
-
"type": "module",
|
|
3
|
+
"version": "3.0.1",
|
|
5
4
|
"repository": {
|
|
6
5
|
"type": "git",
|
|
7
|
-
"url": "https://github.com/questpie/questpie
|
|
6
|
+
"url": "https://github.com/questpie/questpie.git",
|
|
8
7
|
"directory": "packages/admin"
|
|
9
8
|
},
|
|
10
|
-
"imports": {
|
|
11
|
-
"#questpie/admin/*": "./src/*"
|
|
12
|
-
},
|
|
13
9
|
"files": [
|
|
14
|
-
"dist"
|
|
10
|
+
"dist",
|
|
11
|
+
"skills"
|
|
15
12
|
],
|
|
13
|
+
"type": "module",
|
|
16
14
|
"sideEffects": [
|
|
17
15
|
"**/*.css"
|
|
18
16
|
],
|
|
17
|
+
"main": "./dist/index.mjs",
|
|
18
|
+
"module": "./dist/index.mjs",
|
|
19
|
+
"types": "./dist/index.d.mts",
|
|
20
|
+
"imports": {
|
|
21
|
+
"#questpie/admin/*": "./src/*"
|
|
22
|
+
},
|
|
19
23
|
"exports": {
|
|
20
24
|
".": "./dist/index.mjs",
|
|
21
25
|
"./client": "./dist/client.mjs",
|
|
26
|
+
"./client-module": "./dist/client-module.mjs",
|
|
27
|
+
"./plugin": "./dist/plugin.mjs",
|
|
22
28
|
"./server": "./dist/server.mjs",
|
|
23
29
|
"./shared": "./dist/shared.mjs",
|
|
24
30
|
"./*": "./*",
|
|
25
31
|
"./client/styles/index.css": "./dist/client/styles/index.css"
|
|
26
32
|
},
|
|
33
|
+
"publishConfig": {
|
|
34
|
+
"access": "public",
|
|
35
|
+
"exports": {
|
|
36
|
+
".": "./dist/index.mjs",
|
|
37
|
+
"./client": "./dist/client.mjs",
|
|
38
|
+
"./client-module": "./dist/client-module.mjs",
|
|
39
|
+
"./plugin": "./dist/plugin.mjs",
|
|
40
|
+
"./server": "./dist/server.mjs",
|
|
41
|
+
"./shared": "./dist/shared.mjs",
|
|
42
|
+
"./*": "./*",
|
|
43
|
+
"./client/styles/index.css": "./dist/client/styles/index.css"
|
|
44
|
+
}
|
|
45
|
+
},
|
|
27
46
|
"scripts": {
|
|
28
47
|
"dev": "tsdown --watch",
|
|
29
48
|
"build": "tsdown",
|
|
30
49
|
"check-types": "tsc --noEmit",
|
|
31
50
|
"test": "bun test test/",
|
|
32
|
-
"test:watch": "bun test --watch test/"
|
|
51
|
+
"test:watch": "bun test --watch test/",
|
|
52
|
+
"questpie:generate": "bun x questpie generate --verbose"
|
|
33
53
|
},
|
|
34
54
|
"dependencies": {
|
|
35
55
|
"@base-ui/react": "^1.0.0",
|
|
36
56
|
"@dnd-kit/core": "^6.3.1",
|
|
37
57
|
"@dnd-kit/sortable": "^10.0.0",
|
|
38
58
|
"@dnd-kit/utilities": "^3.2.2",
|
|
39
|
-
"@fontsource-variable/
|
|
59
|
+
"@fontsource-variable/geist": "^5.2.8",
|
|
40
60
|
"@fontsource-variable/jetbrains-mono": "^5.2.8",
|
|
41
61
|
"@hookform/resolvers": "^5.1.0",
|
|
42
62
|
"@iconify/react": "^6.0.2",
|
|
43
|
-
"@questpie/tanstack-query": "^
|
|
63
|
+
"@questpie/tanstack-query": "^3.0.1",
|
|
44
64
|
"@tailwindcss/vite": "^4.0.6",
|
|
45
65
|
"@tiptap/core": "^2.x",
|
|
46
66
|
"@tiptap/extension-character-count": "^2.x",
|
|
@@ -66,12 +86,11 @@
|
|
|
66
86
|
"date-fns": "^4.1.0",
|
|
67
87
|
"lowlight": "^3.x",
|
|
68
88
|
"next-themes": "^0.4.6",
|
|
69
|
-
"questpie": "^
|
|
89
|
+
"questpie": "^3.0.1",
|
|
70
90
|
"react-day-picker": "^9.12.0",
|
|
71
91
|
"react-hook-form": "^7.54.0",
|
|
72
92
|
"react-resizable-panels": "^4.4.2",
|
|
73
93
|
"recharts": "2.15.4",
|
|
74
|
-
"shadcn": "^3.6.1",
|
|
75
94
|
"sonner": "^2.0.7",
|
|
76
95
|
"tailwind-merge": "^3.4.0",
|
|
77
96
|
"tailwindcss": "^4.0.6",
|
|
@@ -80,42 +99,34 @@
|
|
|
80
99
|
"vaul": "^1.1.2",
|
|
81
100
|
"zustand": "^5.0.10"
|
|
82
101
|
},
|
|
102
|
+
"devDependencies": {
|
|
103
|
+
"@rollup/plugin-babel": "^6.1.0",
|
|
104
|
+
"bun-types": "latest",
|
|
105
|
+
"@tanstack/db": "^0.1.1",
|
|
106
|
+
"@types/react": "^19.2.0",
|
|
107
|
+
"@types/react-dom": "^19.2.0",
|
|
108
|
+
"babel-plugin-react-compiler": "^1.0.0",
|
|
109
|
+
"shadcn": "^3.6.1",
|
|
110
|
+
"tinyglobby": "^0.2.15",
|
|
111
|
+
"tsdown": "^0.18.3",
|
|
112
|
+
"typescript": "^5.9.2"
|
|
113
|
+
},
|
|
83
114
|
"peerDependencies": {
|
|
84
|
-
"
|
|
85
|
-
"react-dom": "^19.2.0",
|
|
115
|
+
"@tanstack/db": "^0.x",
|
|
86
116
|
"@tanstack/react-query": "^5.x",
|
|
87
117
|
"@tanstack/react-table": "^8.x",
|
|
88
|
-
"
|
|
89
|
-
"better-auth": "^1.4.0",
|
|
118
|
+
"better-auth": "^1.4.9",
|
|
90
119
|
"drizzle-orm": "1.0.0-beta.6-4414a19",
|
|
120
|
+
"react": "^19.2.0",
|
|
121
|
+
"react-dom": "^19.2.0",
|
|
91
122
|
"zod": "^4.2.1"
|
|
92
123
|
},
|
|
93
124
|
"peerDependenciesMeta": {
|
|
94
125
|
"drizzle-orm": {
|
|
95
126
|
"optional": true
|
|
127
|
+
},
|
|
128
|
+
"@tanstack/db": {
|
|
129
|
+
"optional": true
|
|
96
130
|
}
|
|
97
|
-
}
|
|
98
|
-
"devDependencies": {
|
|
99
|
-
"@tanstack/db": "^0.1.1",
|
|
100
|
-
"drizzle-orm": "1.0.0-beta.6-4414a19",
|
|
101
|
-
"@types/react": "^19.2.0",
|
|
102
|
-
"@types/react-dom": "^19.2.0",
|
|
103
|
-
"tinyglobby": "^0.2.15",
|
|
104
|
-
"tsdown": "^0.18.3",
|
|
105
|
-
"typescript": "^5.9.2"
|
|
106
|
-
},
|
|
107
|
-
"publishConfig": {
|
|
108
|
-
"access": "public",
|
|
109
|
-
"exports": {
|
|
110
|
-
".": "./dist/index.mjs",
|
|
111
|
-
"./client": "./dist/client.mjs",
|
|
112
|
-
"./server": "./dist/server.mjs",
|
|
113
|
-
"./shared": "./dist/shared.mjs",
|
|
114
|
-
"./*": "./*",
|
|
115
|
-
"./client/styles/index.css": "./dist/client/styles/index.css"
|
|
116
|
-
}
|
|
117
|
-
},
|
|
118
|
-
"main": "./dist/index.mjs",
|
|
119
|
-
"module": "./dist/index.mjs",
|
|
120
|
-
"types": "./dist/index.d.mts"
|
|
131
|
+
}
|
|
121
132
|
}
|
|
@@ -1,18 +0,0 @@
|
|
|
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 };
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,199 +0,0 @@
|
|
|
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
|
|
@@ -1 +0,0 @@
|
|
|
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"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
|
|
3
|
-
//#region src/client/blocks/block-registry.tsx
|
|
4
|
-
/**
|
|
5
|
-
* Internal class implementing BlockRegistry.
|
|
6
|
-
*/
|
|
7
|
-
var BlockRegistryImpl = class BlockRegistryImpl {
|
|
8
|
-
constructor(renderers = {}) {
|
|
9
|
-
this.renderers = renderers;
|
|
10
|
-
}
|
|
11
|
-
register(blockName, definition) {
|
|
12
|
-
return new BlockRegistryImpl({
|
|
13
|
-
...this.renderers,
|
|
14
|
-
[blockName]: definition
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
getRenderer(blockName) {
|
|
18
|
-
return this.renderers[blockName];
|
|
19
|
-
}
|
|
20
|
-
hasRenderer(blockName) {
|
|
21
|
-
return blockName in this.renderers;
|
|
22
|
-
}
|
|
23
|
-
getBlockNames() {
|
|
24
|
-
return Object.keys(this.renderers);
|
|
25
|
-
}
|
|
26
|
-
renderBlock(blockName, props, children) {
|
|
27
|
-
const renderer = this.getRenderer(blockName);
|
|
28
|
-
if (!renderer) {
|
|
29
|
-
console.warn(`No renderer registered for block type: ${blockName}`);
|
|
30
|
-
return null;
|
|
31
|
-
}
|
|
32
|
-
const Component = renderer.component;
|
|
33
|
-
return /* @__PURE__ */ jsx(Component, {
|
|
34
|
-
...props,
|
|
35
|
-
children
|
|
36
|
-
});
|
|
37
|
-
}
|
|
38
|
-
};
|
|
39
|
-
/**
|
|
40
|
-
* Create a new type-safe block renderer registry.
|
|
41
|
-
*
|
|
42
|
-
* The registry infers block value types from the server CMS type,
|
|
43
|
-
* ensuring type safety without duplicating schema definitions.
|
|
44
|
-
*
|
|
45
|
-
* @template TCMS - Server CMS type (e.g., `typeof cms` or `AppCMS`)
|
|
46
|
-
*
|
|
47
|
-
* @example
|
|
48
|
-
* ```ts
|
|
49
|
-
* import { createBlockRegistry } from "@questpie/admin/client";
|
|
50
|
-
* import type { AppCMS } from "@/server/cms";
|
|
51
|
-
*
|
|
52
|
-
* // Create typed registry
|
|
53
|
-
* export const blockRenderers = createBlockRegistry<AppCMS>()
|
|
54
|
-
* .register("hero", {
|
|
55
|
-
* // values is typed: { title: string, subtitle?: string, ... }
|
|
56
|
-
* // data is typed from prefetch return type
|
|
57
|
-
* component: ({ values, data }) => (
|
|
58
|
-
* <section>
|
|
59
|
-
* <h1>{values.title}</h1>
|
|
60
|
-
* {values.subtitle && <p>{values.subtitle}</p>}
|
|
61
|
-
* </section>
|
|
62
|
-
* ),
|
|
63
|
-
* })
|
|
64
|
-
* .register("columns", {
|
|
65
|
-
* component: ({ values, children }) => (
|
|
66
|
-
* <div className={`grid grid-cols-${values.columnCount}`}>
|
|
67
|
-
* {children}
|
|
68
|
-
* </div>
|
|
69
|
-
* ),
|
|
70
|
-
* });
|
|
71
|
-
*
|
|
72
|
-
* // Use in BlockRenderer component
|
|
73
|
-
* function BlockRenderer({ block }: { block: BlockNode }) {
|
|
74
|
-
* return blockRenderers.renderBlock(
|
|
75
|
-
* block.type,
|
|
76
|
-
* { id: block.id, values: blockValues[block.id], data: blockData[block.id] },
|
|
77
|
-
* block.children.map(child => <BlockRenderer key={child.id} block={child} />)
|
|
78
|
-
* );
|
|
79
|
-
* }
|
|
80
|
-
* ```
|
|
81
|
-
*/
|
|
82
|
-
function createBlockRegistry() {
|
|
83
|
-
return new BlockRegistryImpl();
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
//#endregion
|
|
87
|
-
export { createBlockRegistry };
|
|
88
|
-
//# sourceMappingURL=block-registry.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"block-registry.mjs","names":["renderers: TRegistered"],"sources":["../../../src/client/blocks/block-registry.tsx"],"sourcesContent":["/**\n * Block Renderer Registry\n *\n * Type-safe registry for client-side block renderers that infers\n * value types from server-defined block schemas.\n *\n * Key design principles:\n * 1. Server defines WHAT (block schema, prefetch) - see @questpie/admin/server\n * 2. Client defines HOW (React components for rendering)\n * 3. Types are inferred from server CMS type - no duplication\n *\n * @example\n * ```ts\n * import { createBlockRegistry } from \"@questpie/admin/client\";\n * import type { AppCMS } from \"@/server/cms\";\n *\n * export const blockRenderers = createBlockRegistry<AppCMS>()\n * .register(\"hero\", {\n * // Props are inferred from server block schema!\n * // values: { title: string, subtitle?: string, alignment: \"left\" | \"center\" | \"right\", ... }\n * // data: Awaited<ReturnType<typeof heroBlock.prefetch>>\n * component: ({ values, data }) => (\n * <section className={`hero hero--${values.alignment}`}>\n * <h1>{values.title}</h1>\n * </section>\n * ),\n * })\n * .register(\"featuredPosts\", {\n * component: ({ values, data }) => (\n * <div className=\"featured-posts\">\n * {data?.posts?.map(post => <PostCard key={post.id} post={post} />)}\n * </div>\n * ),\n * });\n * ```\n */\n\nimport type * as React from \"react\";\n\n// ============================================================================\n// Server Block Type Extraction\n// ============================================================================\n\n/**\n * Extract blocks from CMS type.\n * Handles the state.blocks structure from QuestpieBuilder.\n */\nexport type ExtractServerBlocks<TCMS> = TCMS extends {\n state: { blocks: infer B };\n}\n ? B extends Record<string, any>\n ? B\n : Record<string, never>\n : Record<string, never>;\n\n/**\n * Get block names from CMS type.\n */\nexport type ServerBlockNames<TCMS> = keyof ExtractServerBlocks<TCMS>;\n\n/**\n * Extract field values type from a server block definition.\n * Looks at the block's state.fields and extracts value types.\n */\nexport type ExtractBlockFieldValues<TBlock> = TBlock extends {\n state: { fields: infer TFields };\n}\n ? TFields extends Record<string, { $types: { value: infer V } }>\n ? { [K in keyof TFields]: TFields[K][\"$types\"][\"value\"] }\n : Record<string, unknown>\n : Record<string, unknown>;\n\n/**\n * Extract prefetch data type from a server block definition.\n * Looks at the block's state.prefetch return type.\n */\nexport type ExtractBlockPrefetchData<TBlock> = TBlock extends {\n state: { prefetch: (params: any) => Promise<infer R> };\n}\n ? R\n : TBlock extends { state: { prefetch: (params: any) => infer R } }\n ? R\n : undefined;\n\n/**\n * Block values type for a specific block name in a CMS.\n */\nexport type BlockValues<\n TCMS,\n TBlockName extends keyof ExtractServerBlocks<TCMS>,\n> = ExtractBlockFieldValues<ExtractServerBlocks<TCMS>[TBlockName]>;\n\n/**\n * Block prefetch data type for a specific block name in a CMS.\n */\nexport type BlockPrefetchData<\n TCMS,\n TBlockName extends keyof ExtractServerBlocks<TCMS>,\n> = ExtractBlockPrefetchData<ExtractServerBlocks<TCMS>[TBlockName]>;\n\n// ============================================================================\n// Block Renderer Types\n// ============================================================================\n\n/**\n * Props passed to block renderer components.\n */\nexport interface BlockRendererProps<\n TValues = Record<string, unknown>,\n TData = unknown,\n> {\n /** Block instance ID */\n id: string;\n /** Block field values */\n values: TValues;\n /** Data from server-side prefetch (if block has prefetch defined) */\n data: TData;\n /** Rendered child blocks (for layout blocks) */\n children?: React.ReactNode;\n /** Whether this block is currently selected in the editor */\n isSelected?: boolean;\n /** Whether rendering in preview mode */\n isPreview?: boolean;\n}\n\n/**\n * Block renderer component type.\n */\nexport type BlockRendererComponent<\n TValues = Record<string, unknown>,\n TData = unknown,\n> = React.ComponentType<BlockRendererProps<TValues, TData>>;\n\n/**\n * Block renderer definition.\n */\nexport interface BlockRendererDefinition<\n TValues = Record<string, unknown>,\n TData = unknown,\n> {\n /** React component for rendering the block */\n component: BlockRendererComponent<TValues, TData>;\n}\n\n// ============================================================================\n// Block Registry\n// ============================================================================\n\n/**\n * Type-safe block renderer registry.\n * Tracks which blocks have been registered for type checking.\n */\nexport interface BlockRegistry<\n TCMS,\n TRegistered extends Record<string, BlockRendererDefinition<any, any>> =\n Record<string, never>,\n> {\n /**\n * Register a renderer for a block type.\n *\n * @param blockName - Name of the block (must match server block definition)\n * @param definition - Block renderer definition with component\n * @returns Updated registry with the new block registered\n *\n * @example\n * ```ts\n * registry.register(\"hero\", {\n * component: ({ values, data }) => <HeroSection {...values} data={data} />\n * })\n * ```\n */\n register<TBlockName extends ServerBlockNames<TCMS> & string>(\n blockName: TBlockName,\n definition: BlockRendererDefinition<\n BlockValues<TCMS, TBlockName>,\n BlockPrefetchData<TCMS, TBlockName>\n >,\n ): BlockRegistry<\n TCMS,\n TRegistered & {\n [K in TBlockName]: BlockRendererDefinition<\n BlockValues<TCMS, TBlockName>,\n BlockPrefetchData<TCMS, TBlockName>\n >;\n }\n >;\n\n /**\n * Get the registered renderers.\n */\n readonly renderers: TRegistered;\n\n /**\n * Get a renderer by block name (runtime).\n */\n getRenderer(blockName: string): BlockRendererDefinition<any, any> | undefined;\n\n /**\n * Check if a block has a registered renderer (runtime).\n */\n hasRenderer(blockName: string): boolean;\n\n /**\n * Get all registered block names (runtime).\n */\n getBlockNames(): string[];\n\n /**\n * Render a block by name (runtime helper).\n */\n renderBlock(\n blockName: string,\n props: Omit<BlockRendererProps<any, any>, \"children\">,\n children?: React.ReactNode,\n ): React.ReactNode;\n}\n\n// ============================================================================\n// Registry Implementation\n// ============================================================================\n\n/**\n * Internal class implementing BlockRegistry.\n */\nclass BlockRegistryImpl<\n TCMS,\n TRegistered extends Record<string, BlockRendererDefinition<any, any>>,\n> implements BlockRegistry<TCMS, TRegistered> {\n constructor(public readonly renderers: TRegistered = {} as TRegistered) {}\n\n register<TBlockName extends ServerBlockNames<TCMS> & string>(\n blockName: TBlockName,\n definition: BlockRendererDefinition<\n BlockValues<TCMS, TBlockName>,\n BlockPrefetchData<TCMS, TBlockName>\n >,\n ): BlockRegistry<\n TCMS,\n TRegistered & {\n [K in TBlockName]: BlockRendererDefinition<\n BlockValues<TCMS, TBlockName>,\n BlockPrefetchData<TCMS, TBlockName>\n >;\n }\n > {\n return new BlockRegistryImpl({\n ...this.renderers,\n [blockName]: definition,\n } as any);\n }\n\n getRenderer(\n blockName: string,\n ): BlockRendererDefinition<any, any> | undefined {\n return (\n this.renderers as Record<string, BlockRendererDefinition<any, any>>\n )[blockName];\n }\n\n hasRenderer(blockName: string): boolean {\n return blockName in this.renderers;\n }\n\n getBlockNames(): string[] {\n return Object.keys(this.renderers);\n }\n\n renderBlock(\n blockName: string,\n props: Omit<BlockRendererProps<any, any>, \"children\">,\n children?: React.ReactNode,\n ): React.ReactNode {\n const renderer = this.getRenderer(blockName);\n if (!renderer) {\n console.warn(`No renderer registered for block type: ${blockName}`);\n return null;\n }\n const Component = renderer.component;\n return <Component {...props} children={children} />;\n }\n}\n\n// ============================================================================\n// Factory Function\n// ============================================================================\n\n/**\n * Create a new type-safe block renderer registry.\n *\n * The registry infers block value types from the server CMS type,\n * ensuring type safety without duplicating schema definitions.\n *\n * @template TCMS - Server CMS type (e.g., `typeof cms` or `AppCMS`)\n *\n * @example\n * ```ts\n * import { createBlockRegistry } from \"@questpie/admin/client\";\n * import type { AppCMS } from \"@/server/cms\";\n *\n * // Create typed registry\n * export const blockRenderers = createBlockRegistry<AppCMS>()\n * .register(\"hero\", {\n * // values is typed: { title: string, subtitle?: string, ... }\n * // data is typed from prefetch return type\n * component: ({ values, data }) => (\n * <section>\n * <h1>{values.title}</h1>\n * {values.subtitle && <p>{values.subtitle}</p>}\n * </section>\n * ),\n * })\n * .register(\"columns\", {\n * component: ({ values, children }) => (\n * <div className={`grid grid-cols-${values.columnCount}`}>\n * {children}\n * </div>\n * ),\n * });\n *\n * // Use in BlockRenderer component\n * function BlockRenderer({ block }: { block: BlockNode }) {\n * return blockRenderers.renderBlock(\n * block.type,\n * { id: block.id, values: blockValues[block.id], data: blockData[block.id] },\n * block.children.map(child => <BlockRenderer key={child.id} block={child} />)\n * );\n * }\n * ```\n */\nexport function createBlockRegistry<TCMS>(): BlockRegistry<\n TCMS,\n Record<string, never>\n> {\n return new BlockRegistryImpl<TCMS, Record<string, never>>();\n}\n\n// ============================================================================\n// Utility Types for Advanced Usage\n// ============================================================================\n\n/**\n * Extract the component props type for a registered block.\n * Useful when you need to type component props externally.\n *\n * @example\n * ```ts\n * type HeroProps = BlockComponentProps<AppCMS, \"hero\">;\n * // { id: string; values: HeroValues; data: HeroData; children?: ReactNode; ... }\n * ```\n */\nexport type BlockComponentProps<\n TCMS,\n TBlockName extends ServerBlockNames<TCMS>,\n> = BlockRendererProps<\n BlockValues<TCMS, TBlockName>,\n BlockPrefetchData<TCMS, TBlockName>\n>;\n\n/**\n * Helper type to get all possible block value types from CMS.\n * Useful for union types or discriminated unions.\n *\n * @example\n * ```ts\n * type AnyBlockValues = AllBlockValues<AppCMS>;\n * // { hero: HeroValues; text: TextValues; columns: ColumnsValues; ... }\n * ```\n */\nexport type AllBlockValues<TCMS> = {\n [K in ServerBlockNames<TCMS> & string]: BlockValues<TCMS, K>;\n};\n\n/**\n * Helper type to get all possible block data types from CMS.\n *\n * @example\n * ```ts\n * type AnyBlockData = AllBlockData<AppCMS>;\n * // { hero: HeroData; featuredPosts: { posts: Post[] }; ... }\n * ```\n */\nexport type AllBlockData<TCMS> = {\n [K in ServerBlockNames<TCMS> & string]: BlockPrefetchData<TCMS, K>;\n};\n"],"mappings":";;;;;;AAgOA,IAAM,oBAAN,MAAM,kBAGwC;CAC5C,YAAY,AAAgBA,YAAyB,EAAE,EAAiB;EAA5C;;CAE5B,SACE,WACA,YAYA;AACA,SAAO,IAAI,kBAAkB;GAC3B,GAAG,KAAK;IACP,YAAY;GACd,CAAQ;;CAGX,YACE,WAC+C;AAC/C,SACE,KAAK,UACL;;CAGJ,YAAY,WAA4B;AACtC,SAAO,aAAa,KAAK;;CAG3B,gBAA0B;AACxB,SAAO,OAAO,KAAK,KAAK,UAAU;;CAGpC,YACE,WACA,OACA,UACiB;EACjB,MAAM,WAAW,KAAK,YAAY,UAAU;AAC5C,MAAI,CAAC,UAAU;AACb,WAAQ,KAAK,0CAA0C,YAAY;AACnE,UAAO;;EAET,MAAM,YAAY,SAAS;AAC3B,SAAO,oBAAC;GAAU,GAAI;GAAiB;IAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmDvD,SAAgB,sBAGd;AACA,QAAO,IAAI,mBAAgD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"block-renderer.d.mts","names":[],"sources":["../../../src/client/blocks/block-renderer.tsx"],"sourcesContent":[],"mappings":";;;;;;;;;;KA8BY,eAAA;;;UAGH;SACD;aACI,OAAA,CAAM;MACZ,OAAA,CAAM;;;;KAKA,kBAAA;;WAEF;;aAEE,eAAe;;SAEnB;;;;;;;;;;;;;;;iBAgBQ,aAAA;;;;;;;GAOb,qBAAkB,mBAAA,CAAA,GAAA,CAAA,OAAA"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"block-renderer.mjs","names":[],"sources":["../../../src/client/blocks/block-renderer.tsx"],"sourcesContent":["/**\n * BlockRenderer Component\n *\n * Renders a tree of blocks using registered block definitions.\n * Each block type has a renderer component that receives the block's values.\n *\n * @example\n * ```tsx\n * import { BlockRenderer } from \"@questpie/admin/client\";\n * import { blocks } from \"~/admin/blocks\";\n *\n * function PageContent({ page }) {\n * return (\n * <BlockRenderer\n * content={page.content}\n * blocks={blocks}\n * />\n * );\n * }\n * ```\n */\n\nimport type * as React from \"react\";\nimport { BlockScopeProvider } from \"../preview/block-scope-context.js\";\nimport type { BlockContent, BlockNode } from \"./types\";\n\n/**\n * Block renderer function type.\n * Consumers provide their own renderers mapped by block type.\n */\nexport type BlockRendererFn = (props: {\n\tid: string;\n\ttype: string;\n\tvalues: Record<string, unknown>;\n\tdata?: Record<string, unknown>;\n\tchildren?: React.ReactNode;\n}) => React.ReactNode;\n\n/**\n * Props for BlockRenderer component.\n */\nexport type BlockRendererProps = {\n\t/** Block content from API (tree + values) */\n\tcontent: BlockContent;\n\t/** Block renderers mapped by type */\n\trenderers: Record<string, BlockRendererFn>;\n\t/** Prefetched data by block ID (optional, for SSR) */\n\tdata?: Record<string, unknown>;\n\t/** Currently selected block ID (for editor mode) */\n\tselectedBlockId?: string | null;\n\t/** Block click handler (for editor mode) */\n\tonBlockClick?: (blockId: string) => void;\n\t/** Custom class name for the container */\n\tclassName?: string;\n};\n\n/**\n * Renders a tree of blocks.\n *\n * Iterates through the block tree and renders each block using its\n * registered renderer component. Layout blocks receive their rendered\n * children as the `children` prop.\n */\nexport function BlockRenderer({\n\tcontent,\n\trenderers,\n\tdata = {},\n\tselectedBlockId,\n\tonBlockClick,\n\tclassName,\n}: BlockRendererProps) {\n\t/**\n\t * Recursively render a block node.\n\t */\n\tfunction renderBlock(node: BlockNode): React.ReactNode {\n\t\tconst renderFn = renderers[node.type];\n\n\t\tif (!renderFn) {\n\t\t\tif (process.env.NODE_ENV !== \"production\") {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t`[BlockRenderer] No renderer found for block type \"${node.type}\"`,\n\t\t\t\t);\n\t\t\t}\n\t\t\treturn null;\n\t\t}\n\n\t\tconst values = content._values[node.id] || {};\n\t\tconst blockData = data[node.id] as Record<string, unknown> | undefined;\n\t\tconst isSelected = selectedBlockId === node.id;\n\n\t\t// Render children for layout blocks\n\t\tconst renderedChildren =\n\t\t\tnode.children.length > 0 ? node.children.map(renderBlock) : undefined;\n\n\t\tconst handleClick = onBlockClick\n\t\t\t? (e: React.MouseEvent) => {\n\t\t\t\t\te.stopPropagation();\n\t\t\t\t\tonBlockClick(node.id);\n\t\t\t\t}\n\t\t\t: undefined;\n\n\t\tconst blockElement = (\n\t\t\t<BlockScopeProvider blockId={node.id} basePath=\"content._values\">\n\t\t\t\t{renderFn({\n\t\t\t\t\tid: node.id,\n\t\t\t\t\ttype: node.type,\n\t\t\t\t\tvalues,\n\t\t\t\t\tdata: blockData,\n\t\t\t\t\tchildren: renderedChildren,\n\t\t\t\t})}\n\t\t\t</BlockScopeProvider>\n\t\t);\n\n\t\t// Wrap in interactive container when in editor mode\n\t\tif (handleClick) {\n\t\t\treturn (\n\t\t\t\t<div\n\t\t\t\t\tkey={node.id}\n\t\t\t\t\tdata-block-id={node.id}\n\t\t\t\t\tdata-block-type={node.type}\n\t\t\t\t\tonClick={handleClick}\n\t\t\t\t\tonKeyDown={(e) => {\n\t\t\t\t\t\tif (e.key === \"Enter\" || e.key === \" \") {\n\t\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\t\tonBlockClick?.(node.id);\n\t\t\t\t\t\t}\n\t\t\t\t\t}}\n\t\t\t\t\trole=\"button\"\n\t\t\t\t\ttabIndex={0}\n\t\t\t\t\tclassName=\"cursor-pointer\"\n\t\t\t\t>\n\t\t\t\t\t{blockElement}\n\t\t\t\t</div>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<div key={node.id} data-block-id={node.id} data-block-type={node.type}>\n\t\t\t\t{blockElement}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (!content?._tree?.length) {\n\t\treturn null;\n\t}\n\n\treturn <div className={className}>{content._tree.map(renderBlock)}</div>;\n}\n\nexport default BlockRenderer;\n"],"mappings":";;;;;;;;;;;AA+DA,SAAgB,cAAc,EAC7B,SACA,WACA,OAAO,EAAE,EACT,iBACA,cACA,aACsB;;;;CAItB,SAAS,YAAY,MAAkC;EACtD,MAAM,WAAW,UAAU,KAAK;AAEhC,MAAI,CAAC,UAAU;AACd,OAAI,QAAQ,IAAI,aAAa,aAC5B,SAAQ,KACP,qDAAqD,KAAK,KAAK,GAC/D;AAEF,UAAO;;EAGR,MAAM,SAAS,QAAQ,QAAQ,KAAK,OAAO,EAAE;EAC7C,MAAM,YAAY,KAAK,KAAK;AACT,EAAoB,KAAK;EAG5C,MAAM,mBACL,KAAK,SAAS,SAAS,IAAI,KAAK,SAAS,IAAI,YAAY,GAAG;EAE7D,MAAM,cAAc,gBAChB,MAAwB;AACzB,KAAE,iBAAiB;AACnB,gBAAa,KAAK,GAAG;MAErB;EAEH,MAAM,eACL,oBAAC;GAAmB,SAAS,KAAK;GAAI,UAAS;aAC7C,SAAS;IACT,IAAI,KAAK;IACT,MAAM,KAAK;IACX;IACA,MAAM;IACN,UAAU;IACV,CAAC;IACkB;AAItB,MAAI,YACH,QACC,oBAAC;GAEA,iBAAe,KAAK;GACpB,mBAAiB,KAAK;GACtB,SAAS;GACT,YAAY,MAAM;AACjB,QAAI,EAAE,QAAQ,WAAW,EAAE,QAAQ,KAAK;AACvC,OAAE,gBAAgB;AAClB,oBAAe,KAAK,GAAG;;;GAGzB,MAAK;GACL,UAAU;GACV,WAAU;aAET;KAdI,KAAK,GAeL;AAIR,SACC,oBAAC;GAAkB,iBAAe,KAAK;GAAI,mBAAiB,KAAK;aAC/D;KADQ,KAAK,GAET;;AAIR,KAAI,CAAC,SAAS,OAAO,OACpB,QAAO;AAGR,QAAO,oBAAC;EAAe;YAAY,QAAQ,MAAM,IAAI,YAAY;GAAO"}
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { BlockContent } from "./types.mjs";
|
|
2
|
-
|
|
3
|
-
//#region src/client/blocks/prefetch.d.ts
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* @deprecated No longer needed. Server auto-expands relation/upload fields.
|
|
7
|
-
*/
|
|
8
|
-
type BlockPrefetchContext<TCms = unknown> = {
|
|
9
|
-
cms: TCms;
|
|
10
|
-
locale: string;
|
|
11
|
-
defaultLocale: string;
|
|
12
|
-
request?: Request;
|
|
13
|
-
};
|
|
14
|
-
/**
|
|
15
|
-
* @deprecated No longer needed. Server auto-expands relation/upload fields.
|
|
16
|
-
*/
|
|
17
|
-
type BlockPrefetchParams<TCms = unknown> = BlockPrefetchContext<TCms> & {
|
|
18
|
-
id: string;
|
|
19
|
-
values: Record<string, unknown>;
|
|
20
|
-
};
|
|
21
|
-
/**
|
|
22
|
-
* @deprecated No longer needed. Server auto-expands relation/upload fields.
|
|
23
|
-
*/
|
|
24
|
-
type BlockPrefetchResult = Record<string, unknown>;
|
|
25
|
-
/**
|
|
26
|
-
* @deprecated No longer needed. Server auto-expands relation/upload fields
|
|
27
|
-
* and supports manual prefetch via `.blocks({ name: { block, prefetch } })`.
|
|
28
|
-
*/
|
|
29
|
-
declare function prefetchBlockData<TCms = unknown>(content: BlockContent | null | undefined, _blocks: Record<string, unknown>, _context: BlockPrefetchContext<TCms>): Promise<BlockPrefetchResult>;
|
|
30
|
-
/**
|
|
31
|
-
* @deprecated No longer needed. Server handles block data fetching.
|
|
32
|
-
*/
|
|
33
|
-
declare class BlockPrefetchError extends Error {
|
|
34
|
-
readonly blockId: string;
|
|
35
|
-
readonly blockType: string;
|
|
36
|
-
readonly cause: unknown;
|
|
37
|
-
constructor(blockId: string, blockType: string, cause: unknown);
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* @deprecated No longer needed. Server handles block data fetching.
|
|
41
|
-
*/
|
|
42
|
-
type TypedBlockPrefetch<TData, TCms = unknown> = (params: BlockPrefetchParams<TCms>) => Promise<TData>;
|
|
43
|
-
//#endregion
|
|
44
|
-
export { BlockPrefetchContext, BlockPrefetchError, BlockPrefetchParams, BlockPrefetchResult, TypedBlockPrefetch, prefetchBlockData };
|
|
45
|
-
//# sourceMappingURL=prefetch.d.mts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prefetch.d.mts","names":[],"sources":["../../../src/client/blocks/prefetch.ts"],"sourcesContent":[],"mappings":";;;;;;;KA+BY;OACL;;;YAGK;;;;;KAMA,sCAAsC,qBAAqB;;UAE7D;;;;;KAME,mBAAA,GAAsB;;;;;iBAMZ,2CACX,0CACA,mCACC,qBAAqB,QAC9B,QAAQ;;;;cAYE,kBAAA,SAA2B,KAAA;;;;;;;;;KAgB5B,qDACF,oBAAoB,UACzB,QAAQ"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
//#region src/client/blocks/prefetch.ts
|
|
2
|
-
/**
|
|
3
|
-
* @deprecated No longer needed. Server auto-expands relation/upload fields
|
|
4
|
-
* and supports manual prefetch via `.blocks({ name: { block, prefetch } })`.
|
|
5
|
-
*/
|
|
6
|
-
async function prefetchBlockData(content, _blocks, _context) {
|
|
7
|
-
console.warn("[prefetchBlockData] Deprecated: Client-side block prefetch is no longer needed. Block data is now automatically fetched by the server afterRead hook. Remove this call — data is available via the `data` prop in block renderers.");
|
|
8
|
-
return {};
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* @deprecated No longer needed. Server handles block data fetching.
|
|
12
|
-
*/
|
|
13
|
-
var BlockPrefetchError = class extends Error {
|
|
14
|
-
constructor(blockId, blockType, cause) {
|
|
15
|
-
const message = cause instanceof Error ? cause.message : "Unknown prefetch error";
|
|
16
|
-
super(`Block prefetch failed for "${blockType}" (${blockId}): ${message}`);
|
|
17
|
-
this.blockId = blockId;
|
|
18
|
-
this.blockType = blockType;
|
|
19
|
-
this.cause = cause;
|
|
20
|
-
this.name = "BlockPrefetchError";
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
|
|
24
|
-
//#endregion
|
|
25
|
-
export { BlockPrefetchError, prefetchBlockData };
|
|
26
|
-
//# sourceMappingURL=prefetch.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"prefetch.mjs","names":["blockId: string","blockType: string","cause: unknown"],"sources":["../../../src/client/blocks/prefetch.ts"],"sourcesContent":["/**\n * Client Block Prefetch Utilities\n *\n * @deprecated Client-side block prefetch is no longer needed.\n * Block data is now automatically handled by the server:\n *\n * 1. **Auto-expansion**: Relation/upload fields are automatically expanded\n * to full records in the afterRead hook. No configuration needed.\n *\n * 2. **Manual prefetch**: For custom data, define prefetch in `.blocks()`:\n * ```ts\n * .blocks({\n * featuredPosts: {\n * block: featuredPostsBlock,\n * prefetch: async ({ values, ctx }) => ({ ... }),\n * },\n * })\n * ```\n *\n * Both populate `_data[blockId]` in the API response, which is\n * automatically available as the `data` prop in block renderers.\n *\n * These exports are kept for backwards compatibility but will be\n * removed in a future version.\n */\n\nimport type { BlockContent, BlockNode } from \"./types.js\";\n\n/**\n * @deprecated No longer needed. Server auto-expands relation/upload fields.\n */\nexport type BlockPrefetchContext<TCms = unknown> = {\n cms: TCms;\n locale: string;\n defaultLocale: string;\n request?: Request;\n};\n\n/**\n * @deprecated No longer needed. Server auto-expands relation/upload fields.\n */\nexport type BlockPrefetchParams<TCms = unknown> = BlockPrefetchContext<TCms> & {\n id: string;\n values: Record<string, unknown>;\n};\n\n/**\n * @deprecated No longer needed. Server auto-expands relation/upload fields.\n */\nexport type BlockPrefetchResult = Record<string, unknown>;\n\n/**\n * @deprecated No longer needed. Server auto-expands relation/upload fields\n * and supports manual prefetch via `.blocks({ name: { block, prefetch } })`.\n */\nexport async function prefetchBlockData<TCms = unknown>(\n content: BlockContent | null | undefined,\n _blocks: Record<string, unknown>,\n _context: BlockPrefetchContext<TCms>,\n): Promise<BlockPrefetchResult> {\n console.warn(\n \"[prefetchBlockData] Deprecated: Client-side block prefetch is no longer needed. \" +\n \"Block data is now automatically fetched by the server afterRead hook. \" +\n \"Remove this call — data is available via the `data` prop in block renderers.\",\n );\n return {};\n}\n\n/**\n * @deprecated No longer needed. Server handles block data fetching.\n */\nexport class BlockPrefetchError extends Error {\n constructor(\n public readonly blockId: string,\n public readonly blockType: string,\n public readonly cause: unknown,\n ) {\n const message =\n cause instanceof Error ? cause.message : \"Unknown prefetch error\";\n super(`Block prefetch failed for \"${blockType}\" (${blockId}): ${message}`);\n this.name = \"BlockPrefetchError\";\n }\n}\n\n/**\n * @deprecated No longer needed. Server handles block data fetching.\n */\nexport type TypedBlockPrefetch<TData, TCms = unknown> = (\n params: BlockPrefetchParams<TCms>,\n) => Promise<TData>;\n"],"mappings":";;;;;AAuDA,eAAsB,kBACpB,SACA,SACA,UAC8B;AAC9B,SAAQ,KACN,qOAGD;AACD,QAAO,EAAE;;;;;AAMX,IAAa,qBAAb,cAAwC,MAAM;CAC5C,YACE,AAAgBA,SAChB,AAAgBC,WAChB,AAAgBC,OAChB;EACA,MAAM,UACJ,iBAAiB,QAAQ,MAAM,UAAU;AAC3C,QAAM,8BAA8B,UAAU,KAAK,QAAQ,KAAK,UAAU;EAN1D;EACA;EACA;AAKhB,OAAK,OAAO"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.mts","names":[],"sources":["../../../src/client/blocks/types.ts"],"sourcesContent":[],"mappings":";;;;;;;AA4CA;AAeY,KA7CA,SAAA,GA6CA;EACA;EACF,EAAA,EAAA,MAAA;EAKA;EAED,IAAA,EAAA,MAAA;EAEI;EAAe,QAAA,EAlDhB,SAkDgB,EAAA;AAU5B,CAAA;AAQA;;;;;;;;KAzDY,YAAA;;SAEH;;WAEE,eAAe;;UAEhB,eAAe;;;;;;KAOb,aAAA;;;;;;;;KAeA,6BACA,iCACF;;;;UAKA;;SAED;;aAEI,OAAA,CAAM;;;;;;;;;cAUN,qBAAqB;;;;iBAQlB,cAAA,2BAAyC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","names":["EMPTY_BLOCK_CONTENT: BlockContent"],"sources":["../../../src/client/blocks/types.ts"],"sourcesContent":["/**\n * Block System Types\n *\n * Core types for the visual page building system.\n * Server stores blocks as JSONB with $i18n markers - these types\n * define the client-side structure and rendering.\n */\n\nimport type * as React from \"react\";\n\n/**\n * Block node in the tree structure.\n * Represents a single block instance with its position and children.\n */\nexport type BlockNode = {\n /** Unique block instance ID (UUID) */\n id: string;\n /** Block type name (e.g., \"hero\", \"columns\", \"text\") */\n type: string;\n /** Child blocks (for layout blocks that accept children) */\n children: BlockNode[];\n};\n\n/**\n * Block content structure stored in JSONB.\n * This is the shape of data stored in the database and passed to BlockRenderer.\n *\n * After server-side prefetch (afterRead hook), `_data` is populated with:\n * - Auto-expanded relation/upload fields\n * - Manual prefetch data from `.blocks()` registration\n */\nexport type BlockContent = {\n /** Block tree with hierarchy and order */\n _tree: BlockNode[];\n /** Block values indexed by block ID */\n _values: Record<string, Record<string, unknown>>;\n /** Prefetched data from server (populated by afterRead hook) */\n _data?: Record<string, Record<string, unknown>>;\n};\n\n/**\n * Block category for organization in the block picker.\n * Categories help users find blocks quickly when adding new content.\n */\nexport type BlockCategory =\n | \"layout\" // Columns, Grid, Container, Section\n | \"content\" // Text, Heading, List, Quote\n | \"media\" // Image, Video, Gallery, Audio\n | \"sections\" // Hero, Features, Testimonials, CTA\n | \"interactive\" // Form, Accordion, Tabs, Carousel\n | (string & {}); // Custom categories\n\n/**\n * Props passed to block renderer components.\n * Each block receives these props when being rendered.\n *\n * @template TValues - Block field values type (inferred from `.fields()`)\n * @template TData - Prefetch data type (inferred from `.prefetch()`)\n */\nexport type BlockRendererProps<\n TValues = Record<string, unknown>,\n TData = Record<string, unknown>,\n> = {\n /** Block instance ID */\n id: string;\n /** Block field values (merged with i18n for current locale) */\n values: TValues;\n /** Data from server prefetch (populated via afterRead hook into _data[blockId]) */\n data?: TData;\n /** Rendered child blocks (for layout blocks) */\n children?: React.ReactNode;\n /** Whether this block is currently selected in the editor */\n isSelected?: boolean;\n /** Whether rendering in preview mode */\n isPreview?: boolean;\n};\n\n/**\n * Empty block content for initialization.\n */\nexport const EMPTY_BLOCK_CONTENT: BlockContent = {\n _tree: [],\n _values: {},\n};\n\n/**\n * Check if a value is a valid BlockContent structure.\n */\nexport function isBlockContent(value: unknown): value is BlockContent {\n if (value == null || typeof value !== \"object\") return false;\n const obj = value as Record<string, unknown>;\n return (\n Array.isArray(obj._tree) &&\n typeof obj._values === \"object\" &&\n obj._values !== null\n );\n}\n\n"],"mappings":";;;;AAgFA,MAAaA,sBAAoC;CAC/C,OAAO,EAAE;CACT,SAAS,EAAE;CACZ;;;;AAKD,SAAgB,eAAe,OAAuC;AACpE,KAAI,SAAS,QAAQ,OAAO,UAAU,SAAU,QAAO;CACvD,MAAM,MAAM;AACZ,QACE,MAAM,QAAQ,IAAI,MAAM,IACxB,OAAO,IAAI,YAAY,YACvB,IAAI,YAAY"}
|