@questpie/admin 1.1.1 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +256 -488
- package/dist/augmentation.d.mts +414 -0
- package/dist/client/blocks/block-renderer.d.mts +45 -0
- package/dist/client/blocks/block-renderer.mjs +105 -0
- package/dist/client/blocks/index.d.mts +2 -0
- package/dist/client/blocks/types.d.mts +68 -0
- package/dist/client/blocks/types.mjs +19 -0
- package/dist/client/builder/admin-types.d.mts +40 -0
- package/dist/client/builder/admin.d.mts +110 -0
- package/dist/client/builder/admin.mjs +151 -0
- package/dist/client/builder/field/field.d.mts +51 -0
- package/dist/client/builder/field/field.mjs +37 -0
- package/dist/client/builder/index.d.mts +31 -0
- package/dist/client/builder/page/page.d.mts +24 -0
- package/dist/client/builder/page/page.mjs +31 -0
- package/dist/client/builder/registry.d.mts +50 -0
- package/dist/client/builder/types/action-registry.mjs +276 -0
- package/dist/client/builder/types/action-types.d.mts +226 -0
- package/dist/client/builder/types/collection-types.mjs +10 -0
- package/dist/client/builder/types/common.d.mts +46 -0
- package/dist/client/builder/types/field-types.d.mts +592 -0
- package/dist/client/builder/types/field-types.mjs +18 -0
- package/dist/client/builder/types/ui-config.d.mts +158 -0
- package/dist/client/builder/types/widget-types.d.mts +562 -0
- package/dist/client/builder/validation.d.mts +33 -0
- package/dist/client/builder/validation.mjs +227 -0
- package/dist/client/builder/view/view.d.mts +49 -0
- package/dist/client/builder/view/view.mjs +27 -0
- package/dist/client/builder/widget/widget.d.mts +27 -0
- package/dist/client/builder/widget/widget.mjs +21 -0
- package/dist/client/components/actions/action-button.mjs +245 -0
- package/dist/client/components/actions/action-dialog.mjs +559 -0
- package/dist/client/components/actions/confirmation-dialog.mjs +201 -0
- package/dist/client/components/actions/header-actions.mjs +210 -0
- package/dist/client/components/admin-link.d.mts +66 -0
- package/dist/client/components/admin-link.mjs +171 -0
- package/dist/client/components/auth/auth-guard.d.mts +50 -0
- package/dist/client/components/auth/auth-guard.mjs +60 -0
- package/dist/client/components/auth/auth-loading.d.mts +35 -0
- package/dist/client/components/auth/auth-loading.mjs +55 -0
- package/dist/client/components/blocks/block-canvas.mjs +159 -0
- package/dist/client/components/blocks/block-editor-context.mjs +125 -0
- package/dist/client/components/blocks/block-editor-layout.mjs +199 -0
- package/dist/client/components/blocks/block-editor-provider.mjs +235 -0
- package/dist/client/components/blocks/block-fields-renderer.mjs +240 -0
- package/dist/client/components/blocks/block-insert-button.mjs +189 -0
- package/dist/client/components/blocks/block-item-menu.mjs +363 -0
- package/dist/client/components/blocks/block-item.mjs +434 -0
- package/dist/client/components/blocks/block-library-sidebar.mjs +285 -0
- package/dist/client/components/blocks/block-tree.mjs +103 -0
- package/dist/client/components/blocks/block-type-icon.mjs +95 -0
- package/dist/client/components/blocks/utils/tree-utils.mjs +185 -0
- package/dist/client/components/component-renderer.d.mts +114 -0
- package/dist/client/components/component-renderer.mjs +258 -0
- package/dist/client/components/error-boundary.mjs +144 -0
- package/dist/client/components/fields/array-field.mjs +506 -0
- package/dist/client/components/fields/asset-preview-field.mjs +159 -0
- package/dist/client/components/fields/blocks-field/blocks-field.mjs +209 -0
- package/dist/client/components/fields/boolean-field.mjs +77 -0
- package/dist/client/components/fields/date-field.mjs +76 -0
- package/dist/client/components/fields/datetime-field.mjs +74 -0
- package/dist/client/components/fields/email-field.mjs +67 -0
- package/dist/client/components/fields/field-utils.mjs +64 -0
- package/dist/client/components/fields/field-wrapper.mjs +124 -0
- package/dist/client/components/fields/json-field.mjs +461 -0
- package/dist/client/components/fields/locale-badge.mjs +25 -0
- package/dist/client/components/fields/number-field.mjs +73 -0
- package/dist/client/components/fields/object-array-field.mjs +707 -0
- package/dist/client/components/fields/object-field.mjs +686 -0
- package/dist/client/components/fields/relation/displays/cards-display.mjs +254 -0
- package/dist/client/components/fields/relation/displays/chips-display.mjs +173 -0
- package/dist/client/components/fields/relation/displays/grid-display.mjs +209 -0
- package/dist/client/components/fields/relation/displays/list-display.mjs +247 -0
- package/dist/client/components/fields/relation/displays/table-display.mjs +309 -0
- package/dist/client/components/fields/relation/displays/types.mjs +72 -0
- package/dist/client/components/fields/relation/relation-items-display.mjs +143 -0
- package/dist/client/components/fields/relation-field.mjs +161 -0
- package/dist/client/components/fields/relation-picker.mjs +296 -0
- package/dist/client/components/fields/relation-select.mjs +232 -0
- package/dist/client/components/fields/rich-text-editor/bubble-menu.mjs +105 -0
- package/dist/client/components/fields/rich-text-editor/extensions.mjs +144 -0
- package/dist/client/components/fields/rich-text-editor/image-popover.mjs +221 -0
- package/dist/client/components/fields/rich-text-editor/index.mjs +520 -0
- package/dist/client/components/fields/rich-text-editor/link-popover.mjs +85 -0
- package/dist/client/components/fields/rich-text-editor/presets.mjs +123 -0
- package/dist/client/components/fields/rich-text-editor/slash-commands.mjs +188 -0
- package/dist/client/components/fields/rich-text-editor/table-controls.mjs +433 -0
- package/dist/client/components/fields/rich-text-editor/toolbar.mjs +541 -0
- package/dist/client/components/fields/rich-text-editor/types.mjs +30 -0
- package/dist/client/components/fields/rich-text-editor/utils.mjs +50 -0
- package/dist/client/components/fields/rich-text-field.mjs +64 -0
- package/dist/client/components/fields/select-field.mjs +88 -0
- package/dist/client/components/fields/text-field.mjs +72 -0
- package/dist/client/components/fields/textarea-field.mjs +71 -0
- package/dist/client/components/fields/time-field.mjs +67 -0
- package/dist/client/components/fields/upload-field.mjs +621 -0
- package/dist/client/components/filter-builder/columns-tab.mjs +325 -0
- package/dist/client/components/filter-builder/filter-builder-sheet.mjs +456 -0
- package/dist/client/components/filter-builder/filters-tab.mjs +663 -0
- package/dist/client/components/filter-builder/saved-views-tab.mjs +278 -0
- 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 +251 -0
- package/dist/client/components/media/media-grid.mjs +314 -0
- package/dist/client/components/media/media-picker-dialog.mjs +563 -0
- package/dist/client/components/preview/live-preview-mode.mjs +503 -0
- package/dist/client/components/preview/preview-pane.mjs +388 -0
- package/dist/client/components/primitives/asset-preview.mjs +771 -0
- package/dist/client/components/primitives/checkbox-input.mjs +59 -0
- package/dist/client/components/primitives/date-input.mjs +461 -0
- package/dist/client/components/primitives/dropzone.mjs +368 -0
- package/dist/client/components/primitives/number-input.mjs +117 -0
- package/dist/client/components/primitives/select-multi.mjs +590 -0
- package/dist/client/components/primitives/select-single.mjs +473 -0
- package/dist/client/components/primitives/text-input.mjs +45 -0
- package/dist/client/components/primitives/textarea-input.mjs +43 -0
- package/dist/client/components/primitives/time-input.mjs +145 -0
- package/dist/client/components/primitives/toggle-input.mjs +51 -0
- package/dist/client/components/primitives/types.mjs +12 -0
- package/dist/client/components/sheets/resource-sheet.mjs +86 -0
- package/dist/client/components/ui/accordion.mjs +169 -0
- package/dist/client/components/ui/alert.mjs +85 -0
- package/dist/client/components/ui/badge.mjs +76 -0
- package/dist/client/components/ui/button.mjs +84 -0
- package/dist/client/components/ui/card.mjs +206 -0
- package/dist/client/components/ui/checkbox.mjs +82 -0
- package/dist/client/components/ui/command.mjs +239 -0
- package/dist/client/components/ui/dialog.mjs +296 -0
- package/dist/client/components/ui/drawer.mjs +278 -0
- package/dist/client/components/ui/dropdown-menu.mjs +315 -0
- package/dist/client/components/ui/empty-state.mjs +99 -0
- package/dist/client/components/ui/field.mjs +354 -0
- package/dist/client/components/ui/input-group.mjs +201 -0
- package/dist/client/components/ui/input.mjs +46 -0
- package/dist/client/components/ui/kbd.mjs +53 -0
- package/dist/client/components/ui/label.mjs +45 -0
- package/dist/client/components/ui/popover.mjs +176 -0
- package/dist/client/components/ui/responsive-dialog.mjs +308 -0
- package/dist/client/components/ui/search-input.mjs +139 -0
- package/dist/client/components/ui/select.mjs +325 -0
- package/dist/client/components/ui/separator.mjs +47 -0
- package/dist/client/components/ui/sheet.mjs +280 -0
- package/dist/client/components/ui/sidebar.mjs +774 -0
- package/dist/client/components/ui/skeleton.mjs +40 -0
- package/dist/client/components/ui/sonner.d.mts +13 -0
- package/dist/client/components/ui/sonner.mjs +85 -0
- package/dist/client/components/ui/spinner.mjs +52 -0
- package/dist/client/components/ui/switch.mjs +58 -0
- package/dist/client/components/ui/table.mjs +276 -0
- package/dist/client/components/ui/tabs.mjs +160 -0
- package/dist/client/components/ui/textarea.mjs +40 -0
- package/dist/client/components/ui/toolbar.mjs +136 -0
- package/dist/client/components/ui/tooltip.mjs +146 -0
- package/dist/client/components/widgets/chart-widget.mjs +582 -0
- package/dist/client/components/widgets/progress-widget.mjs +200 -0
- package/dist/client/components/widgets/quick-actions-widget.mjs +209 -0
- package/dist/client/components/widgets/recent-items-widget.mjs +196 -0
- package/dist/client/components/widgets/stats-widget.mjs +261 -0
- package/dist/client/components/widgets/table-widget.mjs +273 -0
- package/dist/client/components/widgets/timeline-widget.mjs +279 -0
- package/dist/client/components/widgets/value-widget.mjs +312 -0
- package/dist/client/components/widgets/widget-skeletons.mjs +427 -0
- package/dist/client/contexts/breadcrumb-context.mjs +60 -0
- package/dist/client/contexts/focus-context.d.mts +87 -0
- package/dist/client/contexts/focus-context.mjs +250 -0
- package/dist/client/hooks/typed-hooks.d.mts +110 -0
- package/dist/client/hooks/typed-hooks.mjs +888 -0
- package/dist/client/hooks/use-action.mjs +329 -0
- package/dist/client/hooks/use-admin-config.mjs +69 -0
- package/dist/client/hooks/use-admin-preferences.mjs +171 -0
- package/dist/client/hooks/use-admin-routes.mjs +130 -0
- package/dist/client/hooks/use-audit-history.mjs +157 -0
- package/dist/client/hooks/use-auth.d.mts +97 -0
- package/dist/{use-auth-BoLmWtmU.mjs → client/hooks/use-auth.mjs} +9 -10
- package/dist/client/hooks/use-collection-fields.mjs +71 -0
- package/dist/client/hooks/use-collection-meta.mjs +153 -0
- package/dist/client/hooks/use-collection-schema.mjs +90 -0
- package/dist/client/hooks/use-collection-validation.mjs +88 -0
- package/dist/client/hooks/use-collection.d.mts +96 -0
- package/dist/client/hooks/use-collection.mjs +673 -0
- package/dist/client/hooks/use-current-user.d.mts +60 -0
- package/dist/client/hooks/use-current-user.mjs +79 -0
- package/dist/client/hooks/use-field-hooks.mjs +199 -0
- package/dist/client/hooks/use-field-options.d.mts +57 -0
- package/dist/client/hooks/use-field-options.mjs +269 -0
- package/dist/client/hooks/use-global-fields.mjs +58 -0
- package/dist/client/hooks/use-global-meta.mjs +105 -0
- package/dist/client/hooks/use-global-schema.mjs +53 -0
- package/dist/client/hooks/use-global.d.mts +51 -0
- package/dist/client/hooks/use-global.mjs +284 -0
- package/dist/client/hooks/use-locks.mjs +452 -0
- package/dist/client/hooks/use-media-query.d.mts +22 -0
- package/dist/client/hooks/use-media-query.mjs +81 -0
- package/dist/client/hooks/use-prefill-params.mjs +47 -0
- package/dist/client/hooks/use-questpie-query-options.mjs +50 -0
- package/dist/client/hooks/use-reactive-fields.d.mts +78 -0
- package/dist/client/hooks/use-reactive-fields.mjs +201 -0
- package/dist/client/hooks/use-realtime-highlight.mjs +158 -0
- package/dist/client/hooks/use-saved-views.mjs +140 -0
- 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 +258 -0
- package/dist/client/hooks/use-server-actions.mjs +191 -0
- package/dist/client/hooks/use-server-validation.mjs +291 -0
- package/dist/client/hooks/use-server-widget-data.d.mts +25 -0
- package/dist/client/hooks/use-server-widget-data.mjs +65 -0
- package/dist/client/hooks/use-setup-status.d.mts +38 -0
- package/dist/client/hooks/use-setup-status.mjs +62 -0
- 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 +31 -0
- package/dist/client/hooks/use-upload.mjs +209 -0
- package/dist/client/hooks/use-validation-error-map.mjs +57 -0
- package/dist/client/hooks/use-view-state.mjs +479 -0
- package/dist/client/i18n/hooks.mjs +284 -0
- package/dist/client/i18n/intl-cache.mjs +64 -0
- package/dist/client/i18n/messages.mjs +6 -0
- package/dist/client/i18n/simple.d.mts +21 -0
- package/dist/client/i18n/simple.mjs +156 -0
- package/dist/client/i18n/types.d.mts +109 -0
- 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 +23 -0
- package/dist/client/preview/block-scope-context.d.mts +73 -0
- package/dist/client/preview/block-scope-context.mjs +116 -0
- package/dist/client/preview/index.d.mts +5 -0
- package/dist/client/preview/preview-banner.d.mts +45 -0
- package/dist/client/preview/preview-banner.mjs +134 -0
- package/dist/client/preview/preview-field.d.mts +107 -0
- package/dist/client/preview/preview-field.mjs +227 -0
- package/dist/client/preview/types.d.mts +114 -0
- package/dist/client/preview/types.mjs +20 -0
- package/dist/client/preview/use-collection-preview.d.mts +70 -0
- package/dist/client/preview/use-collection-preview.mjs +163 -0
- package/dist/client/runtime/content-locales-provider.d.mts +1 -0
- package/dist/client/runtime/content-locales-provider.mjs +136 -0
- package/dist/client/runtime/index.d.mts +5 -0
- package/dist/client/runtime/index.mjs +6 -0
- package/dist/client/runtime/locale-scope.d.mts +2 -0
- package/dist/client/runtime/locale-scope.mjs +108 -0
- package/dist/client/runtime/provider.d.mts +203 -0
- package/dist/client/runtime/provider.mjs +393 -0
- package/dist/client/runtime/routes.d.mts +49 -0
- package/dist/client/runtime/routes.mjs +91 -0
- package/dist/client/runtime/translations-provider.mjs +242 -0
- package/dist/client/scope/index.d.mts +3 -0
- package/dist/client/scope/picker.d.mts +53 -0
- package/dist/client/scope/picker.mjs +395 -0
- package/dist/client/scope/provider.d.mts +103 -0
- package/dist/client/scope/provider.mjs +167 -0
- package/dist/client/scope/types.d.mts +111 -0
- package/dist/client/styles/index.css +344 -188
- package/dist/client/utils/auto-expand-fields.mjs +83 -0
- package/dist/client/utils/build-field-definitions-from-schema.mjs +259 -0
- package/dist/client/utils/dependency-tracker.mjs +61 -0
- package/dist/client/utils/detect-relations.mjs +45 -0
- package/dist/client/utils/locale-to-flag.d.mts +119 -0
- package/dist/client/utils/locale-to-flag.mjs +129 -0
- package/dist/client/utils/routes.mjs +195 -0
- package/dist/client/views/auth/accept-invite-form.d.mts +72 -0
- package/dist/client/views/auth/accept-invite-form.mjs +473 -0
- package/dist/client/views/auth/auth-layout.d.mts +43 -0
- package/dist/client/views/auth/auth-layout.mjs +116 -0
- package/dist/client/views/auth/forgot-password-form.d.mts +58 -0
- package/dist/client/views/auth/forgot-password-form.mjs +386 -0
- package/dist/client/views/auth/invite-form.mjs +497 -0
- package/dist/client/views/auth/login-form.d.mts +75 -0
- package/dist/client/views/auth/login-form.mjs +387 -0
- package/dist/client/views/auth/reset-password-form.d.mts +65 -0
- package/dist/client/views/auth/reset-password-form.mjs +515 -0
- package/dist/client/views/auth/setup-form.d.mts +60 -0
- package/dist/client/views/auth/setup-form.mjs +526 -0
- package/dist/client/views/collection/auto-form-fields.mjs +873 -0
- package/dist/client/views/collection/bulk-action-toolbar.mjs +480 -0
- package/dist/client/views/collection/cells/complex-cells.mjs +746 -0
- package/dist/client/views/collection/cells/primitive-cells.mjs +395 -0
- package/dist/client/views/collection/cells/relation-cells.mjs +260 -0
- package/dist/client/views/collection/cells/shared/asset-thumbnail.mjs +509 -0
- package/dist/client/views/collection/cells/shared/cell-helpers.mjs +125 -0
- package/dist/client/views/collection/cells/shared/relation-chip.mjs +121 -0
- package/dist/client/views/collection/cells/upload-cells.mjs +28 -0
- package/dist/client/views/collection/columns/build-columns.mjs +195 -0
- package/dist/client/views/collection/columns/column-defaults.mjs +123 -0
- package/dist/client/views/collection/field-context.mjs +126 -0
- package/dist/client/views/collection/field-renderer.mjs +368 -0
- package/dist/client/views/collection/form-view.mjs +1566 -0
- package/dist/client/views/collection/table-view.mjs +832 -0
- package/dist/client/views/collection/view-skeletons.mjs +215 -0
- package/dist/client/views/common/global-search.mjs +700 -0
- package/dist/client/views/dashboard/dashboard-grid.mjs +881 -0
- package/dist/client/views/dashboard/dashboard-widget.mjs +265 -0
- package/dist/client/views/dashboard/widget-card.mjs +372 -0
- package/dist/client/views/globals/global-form-view.mjs +1306 -0
- package/dist/client/views/layout/admin-layout-provider.d.mts +137 -0
- package/dist/client/views/layout/admin-layout-provider.mjs +193 -0
- package/dist/client/views/layout/admin-layout.d.mts +133 -0
- package/dist/client/views/layout/admin-layout.mjs +302 -0
- package/dist/client/views/layout/admin-router.d.mts +93 -0
- package/dist/client/views/layout/admin-router.mjs +1254 -0
- package/dist/client/views/layout/admin-sidebar.d.mts +99 -0
- package/dist/client/views/layout/admin-sidebar.mjs +1379 -0
- package/dist/client/views/layout/admin-topbar.mjs +236 -0
- package/dist/client/views/pages/accept-invite-page.d.mts +66 -0
- package/dist/client/views/pages/accept-invite-page.mjs +349 -0
- package/dist/client/views/pages/dashboard-page.d.mts +43 -0
- package/dist/client/views/pages/dashboard-page.mjs +84 -0
- package/dist/client/views/pages/forgot-password-page.d.mts +56 -0
- package/dist/client/views/pages/forgot-password-page.mjs +152 -0
- package/dist/client/views/pages/invite-page.d.mts +70 -0
- package/dist/client/views/pages/invite-page.mjs +161 -0
- package/dist/client/views/pages/login-page.d.mts +69 -0
- package/dist/client/views/pages/login-page.mjs +193 -0
- package/dist/client/views/pages/reset-password-page.d.mts +63 -0
- package/dist/client/views/pages/reset-password-page.mjs +257 -0
- package/dist/client/views/pages/setup-page.d.mts +61 -0
- package/dist/client/views/pages/setup-page.mjs +156 -0
- package/dist/client-module.d.mts +3 -0
- package/dist/client-module.mjs +3 -0
- package/dist/client.d.mts +99 -3
- package/dist/client.mjs +52 -12
- package/dist/components/rich-text/index.d.mts +1 -0
- package/dist/components/rich-text/rich-text-renderer.d.mts +103 -0
- package/dist/components/rich-text/rich-text-renderer.mjs +237 -0
- package/dist/index.d.mts +59 -3
- package/dist/index.mjs +52 -12
- package/dist/plugin.d.mts +2 -0
- package/dist/plugin.mjs +3 -0
- package/dist/server/adapters/nextjs.d.mts +120 -0
- package/dist/server/adapters/nextjs.mjs +110 -0
- package/dist/server/adapters/tanstack.d.mts +132 -0
- package/dist/server/adapters/tanstack.mjs +89 -0
- 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 -0
- package/dist/server/block/index.d.mts +4 -0
- 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 +71 -0
- package/dist/server/fields/blocks.mjs +151 -0
- package/dist/server/fields/index.d.mts +15 -0
- package/dist/server/fields/index.mjs +15 -0
- package/dist/server/fields/rich-text.d.mts +68 -0
- package/dist/server/fields/rich-text.mjs +147 -0
- package/dist/server/i18n/index.mjs +43 -0
- package/dist/server/i18n/messages/cs.mjs +461 -0
- package/dist/server/i18n/messages/de.mjs +461 -0
- package/dist/server/i18n/messages/en.mjs +707 -0
- package/dist/server/i18n/messages/es.mjs +461 -0
- package/dist/server/i18n/messages/fr.mjs +461 -0
- package/dist/server/i18n/messages/index.mjs +23 -0
- package/dist/server/i18n/messages/pl.mjs +461 -0
- package/dist/server/i18n/messages/pt.mjs +464 -0
- package/dist/server/i18n/messages/sk.mjs +689 -0
- 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/modules/admin/auth-helpers.d.mts +142 -0
- package/dist/server/modules/admin/auth-helpers.mjs +107 -0
- package/dist/server/modules/admin/block/block-builder.d.mts +383 -0
- package/dist/server/modules/admin/block/block-builder.mjs +315 -0
- package/dist/server/modules/admin/block/index.d.mts +3 -0
- package/dist/server/modules/admin/block/introspection.d.mts +89 -0
- package/dist/server/modules/admin/block/introspection.mjs +100 -0
- package/dist/server/modules/admin/block/prefetch.d.mts +78 -0
- package/dist/server/modules/admin/block/prefetch.mjs +241 -0
- 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 +1093 -0
- package/dist/server/modules/admin/index.mjs +26 -0
- 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/routes/execute-action.d.mts +92 -0
- package/dist/server/modules/admin/routes/execute-action.mjs +433 -0
- 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/routes/preview.d.mts +80 -0
- package/dist/server/modules/admin/routes/preview.mjs +230 -0
- package/dist/server/modules/admin/routes/reactive.d.mts +74 -0
- package/dist/server/modules/admin/routes/reactive.mjs +350 -0
- 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/routes/setup.d.mts +63 -0
- 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.mjs +37 -0
- package/dist/server/modules/admin-preferences/collections/locks.collection.mjs +55 -0
- 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 +33 -250
- package/dist/server.mjs +22 -832
- package/dist/shared/preview-utils.d.mts +53 -0
- package/dist/{preview-utils-BKQ9-TMa.mjs → shared/preview-utils.mjs} +2 -3
- package/dist/{saved-views.types-BMsz5mCy.d.mts → shared/types/saved-views.types.d.mts} +7 -2
- package/dist/shared.d.mts +3 -57
- package/dist/shared.mjs +1 -1
- package/package.json +56 -51
- package/skills/questpie-admin/SKILL.md +397 -0
- package/skills/questpie-admin/blocks/SKILL.md +305 -0
- package/skills/questpie-admin/custom-ui/SKILL.md +307 -0
- package/skills/questpie-admin/views/SKILL.md +442 -0
- package/dist/auth-layout-M8K8_q5R.mjs +0 -181
- package/dist/auth-layout-M8K8_q5R.mjs.map +0 -1
- package/dist/bulk-upload-dialog-D7w7W1Hl.mjs +0 -273
- package/dist/bulk-upload-dialog-D7w7W1Hl.mjs.map +0 -1
- package/dist/card-BKHjBQfw.mjs +0 -58
- package/dist/card-BKHjBQfw.mjs.map +0 -1
- package/dist/client-D1DqawtP.d.mts +0 -13403
- package/dist/client-D1DqawtP.d.mts.map +0 -1
- package/dist/client-njX1rZmi.mjs +0 -22612
- package/dist/client-njX1rZmi.mjs.map +0 -1
- package/dist/content-locales-provider-BXvuIgfg.mjs +0 -1650
- package/dist/content-locales-provider-BXvuIgfg.mjs.map +0 -1
- package/dist/dashboard-page-B4PGEdc2.mjs +0 -2500
- package/dist/dashboard-page-B4PGEdc2.mjs.map +0 -1
- package/dist/dashboard-page-mCY0pgZv.mjs +0 -3
- package/dist/dropzone-Do3awXKd.mjs +0 -634
- package/dist/dropzone-Do3awXKd.mjs.map +0 -1
- package/dist/forgot-password-page-Bcp-An4Y.mjs +0 -221
- package/dist/forgot-password-page-Bcp-An4Y.mjs.map +0 -1
- package/dist/forgot-password-page-CEwsdLwn.mjs +0 -3
- package/dist/index-B4H3amCD.d.mts +0 -2753
- package/dist/index-B4H3amCD.d.mts.map +0 -1
- package/dist/login-page-BUnpCbCa.mjs +0 -3
- package/dist/login-page-CP4gA-dl.mjs +0 -298
- package/dist/login-page-CP4gA-dl.mjs.map +0 -1
- package/dist/preview-utils-BKQ9-TMa.mjs.map +0 -1
- package/dist/reset-password-page-BqfDmLxA.mjs +0 -281
- package/dist/reset-password-page-BqfDmLxA.mjs.map +0 -1
- package/dist/reset-password-page-CufHz3h3.mjs +0 -3
- package/dist/runtime-6VZM878K.mjs +0 -69
- package/dist/runtime-6VZM878K.mjs.map +0 -1
- package/dist/saved-views.types-BMsz5mCy.d.mts.map +0 -1
- package/dist/server.d.mts.map +0 -1
- package/dist/server.mjs.map +0 -1
- package/dist/setup-page-BNNzt_Z6.mjs +0 -3
- package/dist/setup-page-YAP_fzqh.mjs +0 -264
- package/dist/setup-page-YAP_fzqh.mjs.map +0 -1
- package/dist/shared.d.mts.map +0 -1
- package/dist/use-auth-BoLmWtmU.mjs.map +0 -1
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
import { ActionReference, ComponentReference } from "./common.mjs";
|
|
2
|
+
import { I18nText } from "questpie/shared";
|
|
3
|
+
|
|
4
|
+
//#region src/server/augmentation/form-layout.d.ts
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Admin metadata for a collection.
|
|
8
|
+
* Defines how the collection appears in the admin sidebar and UI.
|
|
9
|
+
*/
|
|
10
|
+
interface AdminCollectionConfig {
|
|
11
|
+
/** Display label for the collection */
|
|
12
|
+
label?: I18nText;
|
|
13
|
+
/** Description shown in tooltips/help text */
|
|
14
|
+
description?: I18nText;
|
|
15
|
+
/** Icon reference (resolved by client's icon component) */
|
|
16
|
+
icon?: ComponentReference;
|
|
17
|
+
/** Hide from admin sidebar */
|
|
18
|
+
hidden?: boolean;
|
|
19
|
+
/** Group in sidebar */
|
|
20
|
+
group?: string;
|
|
21
|
+
/** Order within group */
|
|
22
|
+
order?: number;
|
|
23
|
+
/**
|
|
24
|
+
* Whether this collection should be included in audit logging.
|
|
25
|
+
* Requires the audit module to be registered via `runtimeConfig({ modules: [auditModule] })`.
|
|
26
|
+
*
|
|
27
|
+
* - `true` or `undefined` (default): audited when audit module is active
|
|
28
|
+
* - `false`: never audited, even when audit module is active
|
|
29
|
+
*/
|
|
30
|
+
audit?: boolean;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Block category configuration.
|
|
34
|
+
* Defines how blocks are grouped in the block picker.
|
|
35
|
+
*/
|
|
36
|
+
interface BlockCategoryConfig {
|
|
37
|
+
/** Display label for the category */
|
|
38
|
+
label: I18nText;
|
|
39
|
+
/** Icon for the category */
|
|
40
|
+
icon?: ComponentReference;
|
|
41
|
+
/** Order in block picker (lower = first) */
|
|
42
|
+
order?: number;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Admin metadata for a block.
|
|
46
|
+
* Defines how the block appears in the block picker and editor.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```ts
|
|
50
|
+
* block("hero")
|
|
51
|
+
* .admin(({ c }) => ({
|
|
52
|
+
* label: { en: "Hero Section", sk: "Hero sekcia" },
|
|
53
|
+
* icon: c.icon("ph:image"),
|
|
54
|
+
* category: {
|
|
55
|
+
* label: { en: "Sections", sk: "Sekcie" },
|
|
56
|
+
* icon: c.icon("ph:layout"),
|
|
57
|
+
* },
|
|
58
|
+
* }))
|
|
59
|
+
* ```
|
|
60
|
+
*/
|
|
61
|
+
interface AdminBlockConfig {
|
|
62
|
+
/** Display label for the block */
|
|
63
|
+
label?: I18nText;
|
|
64
|
+
/** Description shown in tooltips/help text */
|
|
65
|
+
description?: I18nText;
|
|
66
|
+
/** Icon reference (resolved by client's icon component) */
|
|
67
|
+
icon?: ComponentReference;
|
|
68
|
+
/** Category for grouping in block picker */
|
|
69
|
+
category?: BlockCategoryConfig;
|
|
70
|
+
/** Order within category in block picker (lower = first) */
|
|
71
|
+
order?: number;
|
|
72
|
+
/** Hide from block picker (useful for deprecated blocks) */
|
|
73
|
+
hidden?: boolean;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* List view configuration for a collection.
|
|
77
|
+
* Defines columns, sorting, filtering, and actions.
|
|
78
|
+
*/
|
|
79
|
+
interface ListViewConfig {
|
|
80
|
+
/** View type to use (e.g., "table", "cards") */
|
|
81
|
+
view?: string;
|
|
82
|
+
/** Columns to display */
|
|
83
|
+
columns?: string[];
|
|
84
|
+
/** Default sort configuration */
|
|
85
|
+
defaultSort?: {
|
|
86
|
+
field: string;
|
|
87
|
+
direction: "asc" | "desc";
|
|
88
|
+
};
|
|
89
|
+
/** Searchable fields */
|
|
90
|
+
searchable?: string[];
|
|
91
|
+
/** Filterable fields */
|
|
92
|
+
filterable?: string[];
|
|
93
|
+
/** Actions configuration */
|
|
94
|
+
actions?: {
|
|
95
|
+
header?: {
|
|
96
|
+
primary?: ActionReference[];
|
|
97
|
+
secondary?: ActionReference[];
|
|
98
|
+
};
|
|
99
|
+
row?: ActionReference[];
|
|
100
|
+
bulk?: ActionReference[];
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Context passed to form reactive handlers.
|
|
105
|
+
*/
|
|
106
|
+
interface FormReactiveContext<TData = Record<string, unknown>> {
|
|
107
|
+
data: TData;
|
|
108
|
+
sibling: Record<string, unknown>;
|
|
109
|
+
ctx: {
|
|
110
|
+
db: any;
|
|
111
|
+
user?: any;
|
|
112
|
+
locale?: string;
|
|
113
|
+
};
|
|
114
|
+
prev?: {
|
|
115
|
+
data: TData;
|
|
116
|
+
sibling: Record<string, unknown>;
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* Reactive config for field-level form behavior.
|
|
121
|
+
*/
|
|
122
|
+
type FormReactiveConfig<TData = any, TReturn = any> = ((ctx: FormReactiveContext<TData>) => TReturn | Promise<TReturn>) | {
|
|
123
|
+
handler: (ctx: FormReactiveContext<TData>) => TReturn | Promise<TReturn>;
|
|
124
|
+
deps?: string[] | ((ctx: FormReactiveContext<TData>) => any[]);
|
|
125
|
+
debounce?: number;
|
|
126
|
+
} | {
|
|
127
|
+
deps: string[];
|
|
128
|
+
debounce?: number;
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Section layout for form views.
|
|
132
|
+
* Groups fields with optional visual wrapper and layout mode.
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```ts
|
|
136
|
+
* {
|
|
137
|
+
* type: "section",
|
|
138
|
+
* label: { en: "Contact Information" },
|
|
139
|
+
* layout: "grid",
|
|
140
|
+
* columns: 2,
|
|
141
|
+
* fields: [f.name, f.email, f.phone],
|
|
142
|
+
* }
|
|
143
|
+
* ```
|
|
144
|
+
*/
|
|
145
|
+
interface FormSectionLayout {
|
|
146
|
+
type: "section";
|
|
147
|
+
/** Section label */
|
|
148
|
+
label?: I18nText;
|
|
149
|
+
/** Section description */
|
|
150
|
+
description?: I18nText;
|
|
151
|
+
/** Visual wrapper mode */
|
|
152
|
+
wrapper?: "flat" | "collapsible";
|
|
153
|
+
/** Default collapsed state (for collapsible wrapper) */
|
|
154
|
+
defaultCollapsed?: boolean;
|
|
155
|
+
/** Field arrangement mode */
|
|
156
|
+
layout?: "stack" | "inline" | "grid";
|
|
157
|
+
/** Number of columns (for grid layout) */
|
|
158
|
+
columns?: number;
|
|
159
|
+
/** Custom gap (in quarter rems) */
|
|
160
|
+
gap?: number;
|
|
161
|
+
/** Fields in this section */
|
|
162
|
+
fields: FieldLayoutItem[];
|
|
163
|
+
/** Conditional visibility */
|
|
164
|
+
hidden?: boolean;
|
|
165
|
+
/** Custom CSS class */
|
|
166
|
+
className?: string;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Tab configuration for tabbed form views.
|
|
170
|
+
*/
|
|
171
|
+
interface FormTabConfig {
|
|
172
|
+
/** Unique tab identifier */
|
|
173
|
+
id: string;
|
|
174
|
+
/** Tab label */
|
|
175
|
+
label: I18nText;
|
|
176
|
+
/** Tab icon */
|
|
177
|
+
icon?: ComponentReference;
|
|
178
|
+
/** Fields in this tab */
|
|
179
|
+
fields: FieldLayoutItem[];
|
|
180
|
+
/** Conditional visibility */
|
|
181
|
+
hidden?: boolean;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Tabs layout for form views.
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* ```ts
|
|
188
|
+
* {
|
|
189
|
+
* type: "tabs",
|
|
190
|
+
* tabs: [
|
|
191
|
+
* { id: "basic", label: { en: "Basic" }, fields: [f.name, f.email] },
|
|
192
|
+
* { id: "advanced", label: { en: "Advanced" }, fields: [f.settings] },
|
|
193
|
+
* ],
|
|
194
|
+
* }
|
|
195
|
+
* ```
|
|
196
|
+
*/
|
|
197
|
+
interface FormTabsLayout {
|
|
198
|
+
type: "tabs";
|
|
199
|
+
tabs: FormTabConfig[];
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Field entry with optional reactive form behavior.
|
|
203
|
+
*/
|
|
204
|
+
interface FormFieldLayoutItem<TData = any> {
|
|
205
|
+
field: string;
|
|
206
|
+
className?: string;
|
|
207
|
+
hidden?: boolean | FormReactiveConfig<TData, boolean>;
|
|
208
|
+
readOnly?: boolean | FormReactiveConfig<TData, boolean>;
|
|
209
|
+
disabled?: boolean | FormReactiveConfig<TData, boolean>;
|
|
210
|
+
compute?: FormReactiveConfig<TData, any>;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Field layout item - union of field reference or layout container.
|
|
214
|
+
*
|
|
215
|
+
* Can be:
|
|
216
|
+
* - Field name string: `f.name`
|
|
217
|
+
* - Field with className: `{ field: "name", className: "col-span-2" }`
|
|
218
|
+
* - Section layout: `{ type: "section", ... }`
|
|
219
|
+
* - Tabs layout: `{ type: "tabs", ... }`
|
|
220
|
+
*/
|
|
221
|
+
type FieldLayoutItem = string | FormFieldLayoutItem | FormSectionLayout | FormTabsLayout;
|
|
222
|
+
/**
|
|
223
|
+
* Form sidebar configuration.
|
|
224
|
+
* Places fields in a fixed sidebar alongside the main content.
|
|
225
|
+
*
|
|
226
|
+
* @example
|
|
227
|
+
* ```ts
|
|
228
|
+
* sidebar: {
|
|
229
|
+
* position: "right",
|
|
230
|
+
* fields: [f.isActive, f.avatar],
|
|
231
|
+
* }
|
|
232
|
+
* ```
|
|
233
|
+
*/
|
|
234
|
+
interface FormSidebarConfig {
|
|
235
|
+
/** Sidebar position (default: "right") */
|
|
236
|
+
position?: "left" | "right";
|
|
237
|
+
/** Fields in the sidebar */
|
|
238
|
+
fields: FieldLayoutItem[];
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Form view configuration for a collection.
|
|
242
|
+
* Defines field layout with sections, tabs, and optional sidebar.
|
|
243
|
+
*
|
|
244
|
+
* @example
|
|
245
|
+
* ```ts
|
|
246
|
+
* v.collectionForm({
|
|
247
|
+
* sidebar: { position: "right", fields: [f.status] },
|
|
248
|
+
* fields: [
|
|
249
|
+
* { type: "section", label: { en: "Details" }, layout: "grid", columns: 2, fields: [f.name, f.email] },
|
|
250
|
+
* { type: "section", label: { en: "Content" }, fields: [f.body] },
|
|
251
|
+
* ],
|
|
252
|
+
* })
|
|
253
|
+
* ```
|
|
254
|
+
*/
|
|
255
|
+
interface FormViewConfig {
|
|
256
|
+
/** View type to use (e.g., "form", "wizard") */
|
|
257
|
+
view?: string;
|
|
258
|
+
/** Main content fields */
|
|
259
|
+
fields: FieldLayoutItem[];
|
|
260
|
+
/** Sidebar configuration */
|
|
261
|
+
sidebar?: FormSidebarConfig;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Preview configuration for a collection.
|
|
265
|
+
* Enables live preview of content.
|
|
266
|
+
*/
|
|
267
|
+
interface PreviewConfig {
|
|
268
|
+
/** Enable preview panel */
|
|
269
|
+
enabled?: boolean;
|
|
270
|
+
/** Preview URL builder (runs on server) */
|
|
271
|
+
url?: (ctx: {
|
|
272
|
+
record: Record<string, unknown>;
|
|
273
|
+
locale?: string;
|
|
274
|
+
}) => string;
|
|
275
|
+
/** Preview panel position */
|
|
276
|
+
position?: "left" | "right" | "bottom";
|
|
277
|
+
/** Default panel width (percentage) */
|
|
278
|
+
defaultWidth?: number;
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Admin metadata for a global.
|
|
282
|
+
*/
|
|
283
|
+
interface AdminGlobalConfig {
|
|
284
|
+
/** Display label */
|
|
285
|
+
label?: I18nText;
|
|
286
|
+
/** Description */
|
|
287
|
+
description?: I18nText;
|
|
288
|
+
/** Icon reference */
|
|
289
|
+
icon?: ComponentReference;
|
|
290
|
+
/** Hide from admin */
|
|
291
|
+
hidden?: boolean;
|
|
292
|
+
/** Group in sidebar */
|
|
293
|
+
group?: string;
|
|
294
|
+
/** Order within group */
|
|
295
|
+
order?: number;
|
|
296
|
+
/**
|
|
297
|
+
* Whether this global should be included in audit logging.
|
|
298
|
+
* @see AdminCollectionConfig.audit
|
|
299
|
+
*/
|
|
300
|
+
audit?: boolean;
|
|
301
|
+
}
|
|
302
|
+
//#endregion
|
|
303
|
+
export { AdminBlockConfig, AdminCollectionConfig, AdminGlobalConfig, BlockCategoryConfig, FieldLayoutItem, FormFieldLayoutItem, FormReactiveConfig, FormReactiveContext, FormSectionLayout, FormSidebarConfig, FormTabConfig, FormTabsLayout, FormViewConfig, ListViewConfig, PreviewConfig };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ActionReference, AdminLocaleConfig, ComponentReference, ComponentType, ComponentTypeRegistry } from "./common.mjs";
|
|
2
|
+
import { AdminBlockConfig, AdminCollectionConfig, AdminGlobalConfig, BlockCategoryConfig, FieldLayoutItem, FormFieldLayoutItem, FormReactiveConfig, FormReactiveContext, FormSectionLayout, FormSidebarConfig, FormTabConfig, FormTabsLayout, FormViewConfig, ListViewConfig, PreviewConfig } from "./form-layout.mjs";
|
|
3
|
+
import { AdminConfigContext, ComponentDefinition, ComponentFactory, EditViewDefinition, EditViewFactory, FilterViewsByKind, FormViewConfigContext, ListViewConfigContext, ListViewDefinition, ListViewFactory, ViewDefinition, ViewKind, ViewKindRegistry } from "./views.mjs";
|
|
4
|
+
import { DashboardActionFactory, DashboardActionProxy, DashboardCallback, DashboardCallbackContext, DashboardConfigContext, DashboardContribution, DashboardItemDef, DashboardProxy, DashboardSectionDef, ServerBrandingConfig, ServerChartWidget, ServerCustomWidget, ServerDashboardAction, ServerDashboardConfig, ServerDashboardItem, ServerDashboardSection, ServerDashboardTab, ServerDashboardTabs, ServerDashboardWidget, ServerProgressWidget, ServerQuickAction, ServerQuickActionsWidget, ServerRecentItemsWidget, ServerStatsWidget, ServerTableWidget, ServerTimelineWidget, ServerValueWidget, WidgetAccessRule, WidgetFetchContext } from "./dashboard.mjs";
|
|
5
|
+
import { ServerSidebarCollectionItem, ServerSidebarConfig, ServerSidebarDividerItem, ServerSidebarGlobalItem, ServerSidebarItem, ServerSidebarLinkItem, ServerSidebarPageItem, ServerSidebarSection, SidebarCallback, SidebarCallbackContext, SidebarConfigContext, SidebarContribution, SidebarItemDef, SidebarProxy, SidebarSectionDef } from "./sidebar.mjs";
|
|
6
|
+
import { ActionsConfigContext, BuiltinActionType, ServerActionContext, ServerActionDefinition, ServerActionDownload, ServerActionEffects, ServerActionError, ServerActionForm, ServerActionFormField, ServerActionFormFieldConfig, ServerActionFormFieldDefinition, ServerActionHandler, ServerActionRedirect, ServerActionResult, ServerActionSuccess, ServerActionsConfig } from "./actions.mjs";
|
|
7
|
+
|
|
8
|
+
//#region src/server/augmentation/index.d.ts
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Input type for `config/admin.ts` — a composite config file that consolidates
|
|
12
|
+
* sidebar, dashboard, branding, and locale into a single file.
|
|
13
|
+
*
|
|
14
|
+
* Used with `adminConfig()` factory for type inference.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```ts
|
|
18
|
+
* // config/admin.ts
|
|
19
|
+
* import { adminConfig } from "@questpie/admin/server";
|
|
20
|
+
*
|
|
21
|
+
* export default adminConfig({
|
|
22
|
+
* sidebar: [s.section({ ... }), s.item({ ... })],
|
|
23
|
+
* branding: { name: "My Admin" },
|
|
24
|
+
* locale: { defaultLocale: "en" },
|
|
25
|
+
* });
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
interface AdminConfigInput {
|
|
29
|
+
sidebar?: SidebarContribution;
|
|
30
|
+
dashboard?: DashboardContribution;
|
|
31
|
+
branding?: ServerBrandingConfig;
|
|
32
|
+
locale?: AdminLocaleConfig;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Identity factory for `config/admin.ts` — provides type inference.
|
|
36
|
+
*/
|
|
37
|
+
declare function adminConfig<T extends AdminConfigInput>(config: T): T;
|
|
38
|
+
declare module "questpie" {
|
|
39
|
+
interface AppStateConfig {
|
|
40
|
+
admin?: AdminConfigInput;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
//#endregion
|
|
44
|
+
export { AdminConfigInput, adminConfig };
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { ComponentReference } from "./common.mjs";
|
|
2
|
+
import { ComponentFactory } from "./views.mjs";
|
|
3
|
+
import { I18nText } from "questpie/shared";
|
|
4
|
+
|
|
5
|
+
//#region src/server/augmentation/sidebar.d.ts
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Server-side sidebar item types
|
|
9
|
+
*/
|
|
10
|
+
type ServerSidebarItem = ServerSidebarCollectionItem | ServerSidebarGlobalItem | ServerSidebarPageItem | ServerSidebarLinkItem | ServerSidebarDividerItem;
|
|
11
|
+
/**
|
|
12
|
+
* Collection item in sidebar
|
|
13
|
+
*/
|
|
14
|
+
interface ServerSidebarCollectionItem {
|
|
15
|
+
type: "collection";
|
|
16
|
+
/** Collection name (validated against registered collections) */
|
|
17
|
+
collection: string;
|
|
18
|
+
/** Override display label */
|
|
19
|
+
label?: I18nText;
|
|
20
|
+
/** Override icon */
|
|
21
|
+
icon?: ComponentReference;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Global item in sidebar
|
|
25
|
+
*/
|
|
26
|
+
interface ServerSidebarGlobalItem {
|
|
27
|
+
type: "global";
|
|
28
|
+
/** Global name (validated against registered globals) */
|
|
29
|
+
global: string;
|
|
30
|
+
/** Override display label */
|
|
31
|
+
label?: I18nText;
|
|
32
|
+
/** Override icon */
|
|
33
|
+
icon?: ComponentReference;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Custom page item in sidebar
|
|
37
|
+
*/
|
|
38
|
+
interface ServerSidebarPageItem {
|
|
39
|
+
type: "page";
|
|
40
|
+
/** Page ID (resolved by client) */
|
|
41
|
+
pageId: string;
|
|
42
|
+
/** Display label */
|
|
43
|
+
label?: I18nText;
|
|
44
|
+
/** Icon */
|
|
45
|
+
icon?: ComponentReference;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* External link item in sidebar
|
|
49
|
+
*/
|
|
50
|
+
interface ServerSidebarLinkItem {
|
|
51
|
+
type: "link";
|
|
52
|
+
/** Display label */
|
|
53
|
+
label: I18nText;
|
|
54
|
+
/** Link URL */
|
|
55
|
+
href: string;
|
|
56
|
+
/** Icon */
|
|
57
|
+
icon?: ComponentReference;
|
|
58
|
+
/** Open in new tab */
|
|
59
|
+
external?: boolean;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Divider item in sidebar
|
|
63
|
+
*/
|
|
64
|
+
interface ServerSidebarDividerItem {
|
|
65
|
+
type: "divider";
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Sidebar section
|
|
69
|
+
*/
|
|
70
|
+
interface ServerSidebarSection {
|
|
71
|
+
/** Section ID (for targeting/extending) */
|
|
72
|
+
id: string;
|
|
73
|
+
/** Section title */
|
|
74
|
+
title?: I18nText;
|
|
75
|
+
/** Section icon */
|
|
76
|
+
icon?: ComponentReference;
|
|
77
|
+
/** Whether this section can be collapsed/expanded by the user */
|
|
78
|
+
collapsible?: boolean;
|
|
79
|
+
/** Section items */
|
|
80
|
+
items?: ServerSidebarItem[];
|
|
81
|
+
/** Nested subsections */
|
|
82
|
+
sections?: ServerSidebarSection[];
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Server-side sidebar configuration (final merged output)
|
|
86
|
+
*/
|
|
87
|
+
interface ServerSidebarConfig {
|
|
88
|
+
/** Sidebar sections */
|
|
89
|
+
sections: ServerSidebarSection[];
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Sidebar contribution — what a module or user config contributes.
|
|
93
|
+
* Multiple contributions are merged by createApp() (§5.8.3).
|
|
94
|
+
* Resolved from callback: `sidebar: ({ s, c }) => ({ sections: [...], items: [...] })`
|
|
95
|
+
*/
|
|
96
|
+
interface SidebarContribution {
|
|
97
|
+
/** Section definitions — merged by id across modules. Later wins for title/icon. */
|
|
98
|
+
sections?: SidebarSectionDef[];
|
|
99
|
+
/** Items — appended to sections by sectionId. Module resolution order. */
|
|
100
|
+
items?: SidebarItemDef[];
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Sidebar section definition for contributions.
|
|
104
|
+
*/
|
|
105
|
+
interface SidebarSectionDef {
|
|
106
|
+
/** Unique section ID — used for targeting from other modules. */
|
|
107
|
+
id: string;
|
|
108
|
+
/** Section title. */
|
|
109
|
+
title?: I18nText;
|
|
110
|
+
/** Section icon. */
|
|
111
|
+
icon?: ComponentReference;
|
|
112
|
+
/** Whether section is collapsible. */
|
|
113
|
+
collapsible?: boolean;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Sidebar item definition for contributions.
|
|
117
|
+
* Each item references a sectionId to indicate which section it belongs to.
|
|
118
|
+
*/
|
|
119
|
+
interface SidebarItemDef extends Omit<ServerSidebarItem, "type"> {
|
|
120
|
+
/** Which section this item belongs to. */
|
|
121
|
+
sectionId: string;
|
|
122
|
+
/** 'start' to prepend, default is 'end' (append). */
|
|
123
|
+
position?: "start" | "end";
|
|
124
|
+
/** Item type. */
|
|
125
|
+
type: "collection" | "global" | "page" | "link" | "divider";
|
|
126
|
+
/** Collection slug (when type = "collection"). */
|
|
127
|
+
collection?: string;
|
|
128
|
+
/** Global slug (when type = "global"). */
|
|
129
|
+
global?: string;
|
|
130
|
+
/** Page ID (when type = "page"). */
|
|
131
|
+
pageId?: string;
|
|
132
|
+
/** Display label (for links, overrides). */
|
|
133
|
+
label?: I18nText;
|
|
134
|
+
/** URL (for links). */
|
|
135
|
+
href?: string;
|
|
136
|
+
/** Icon reference. */
|
|
137
|
+
icon?: ComponentReference;
|
|
138
|
+
/** Open in new tab (for links). */
|
|
139
|
+
external?: boolean;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Sidebar proxy — provided in sidebar callbacks as `s`.
|
|
143
|
+
* Creates serializable contribution objects.
|
|
144
|
+
*/
|
|
145
|
+
interface SidebarProxy {
|
|
146
|
+
/** Define a sidebar section. */
|
|
147
|
+
section(def: SidebarSectionDef): SidebarSectionDef;
|
|
148
|
+
/** Define a sidebar item. */
|
|
149
|
+
item(def: SidebarItemDef): SidebarItemDef;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Context for sidebar callbacks on module() and config().
|
|
153
|
+
*/
|
|
154
|
+
interface SidebarCallbackContext {
|
|
155
|
+
/** Sidebar builder proxy. */
|
|
156
|
+
s: SidebarProxy;
|
|
157
|
+
/** Component proxy (scoped to registered components). */
|
|
158
|
+
c: ComponentFactory;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Sidebar callback type for module() and config().
|
|
162
|
+
*/
|
|
163
|
+
type SidebarCallback = (ctx: SidebarCallbackContext) => SidebarContribution;
|
|
164
|
+
/**
|
|
165
|
+
* Context for sidebar config function
|
|
166
|
+
*/
|
|
167
|
+
interface SidebarConfigContext<TComponents extends Record<string, any> | string = string> {
|
|
168
|
+
/** Sidebar builder helpers */
|
|
169
|
+
s: {
|
|
170
|
+
/** Create sidebar config */
|
|
171
|
+
sidebar: (config: ServerSidebarConfig) => ServerSidebarConfig;
|
|
172
|
+
/** Create a section */
|
|
173
|
+
section: (config: Omit<ServerSidebarSection, "items"> & {
|
|
174
|
+
items?: ServerSidebarItem[];
|
|
175
|
+
}) => ServerSidebarSection;
|
|
176
|
+
};
|
|
177
|
+
/** Component helpers (from registered component registry) */
|
|
178
|
+
c: ComponentFactory<TComponents>;
|
|
179
|
+
}
|
|
180
|
+
//#endregion
|
|
181
|
+
export { ServerSidebarCollectionItem, ServerSidebarConfig, ServerSidebarDividerItem, ServerSidebarGlobalItem, ServerSidebarItem, ServerSidebarLinkItem, ServerSidebarPageItem, ServerSidebarSection, SidebarCallback, SidebarCallbackContext, SidebarConfigContext, SidebarContribution, SidebarItemDef, SidebarProxy, SidebarSectionDef };
|