@antelopejs/interface-dms 0.3.4 → 0.3.6
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/CHANGELOG.md +43 -0
- package/README.md +2 -2
- package/dist/attachments.d.ts +19 -10
- package/dist/attachments.js +15 -0
- package/dist/attachments.js.map +1 -1
- package/dist/auth/db/internal/sessions.model.d.ts +9 -0
- package/dist/auth/db/internal/sessions.model.js +31 -0
- package/dist/auth/db/internal/sessions.model.js.map +1 -0
- package/dist/auth/db/models/sessions.model.d.ts +16 -2
- package/dist/auth/db/models/sessions.model.js +33 -41
- package/dist/auth/db/models/sessions.model.js.map +1 -1
- package/dist/auth/db/models/userExternalIdentities.model.d.ts +11 -0
- package/dist/auth/db/models/userExternalIdentities.model.js +11 -0
- package/dist/auth/db/models/userExternalIdentities.model.js.map +1 -1
- package/dist/auth/db/models/users.model.d.ts +13 -0
- package/dist/auth/db/models/users.model.js +13 -0
- package/dist/auth/db/models/users.model.js.map +1 -1
- package/dist/auth/db/tables/sessions.table.d.ts +6 -1
- package/dist/auth/db/tables/sessions.table.js +0 -4
- package/dist/auth/db/tables/sessions.table.js.map +1 -1
- package/dist/auth/db/tables/userExternalIdentities.table.d.ts +24 -0
- package/dist/auth/db/tables/userExternalIdentities.table.js +13 -0
- package/dist/auth/db/tables/userExternalIdentities.table.js.map +1 -1
- package/dist/auth/db/tables/users.table.d.ts +60 -0
- package/dist/auth/db/tables/users.table.js +32 -0
- package/dist/auth/db/tables/users.table.js.map +1 -1
- package/dist/auth/index.d.ts +114 -10
- package/dist/auth/index.js +110 -17
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/internal/request-authenticators.d.ts +6 -0
- package/dist/auth/internal/request-authenticators.js +82 -0
- package/dist/auth/internal/request-authenticators.js.map +1 -0
- package/dist/auth/internal/request-principal.d.ts +10 -0
- package/dist/auth/internal/request-principal.js +27 -0
- package/dist/auth/internal/request-principal.js.map +1 -0
- package/dist/auth/internal/user-agent.d.ts +10 -0
- package/dist/auth/internal/user-agent.js +3 -0
- package/dist/auth/internal/user-agent.js.map +1 -0
- package/dist/auth/password.d.ts +19 -0
- package/dist/auth/password.js +23 -0
- package/dist/auth/password.js.map +1 -1
- package/dist/auth/request-authenticators.d.ts +4 -3
- package/dist/auth/request-authenticators.js +0 -77
- package/dist/auth/request-authenticators.js.map +1 -1
- package/dist/base/activity-feed.d.ts +210 -0
- package/dist/base/activity-feed.js +104 -0
- package/dist/base/activity-feed.js.map +1 -0
- package/dist/base/banner.d.ts +111 -0
- package/dist/base/banner.js +93 -0
- package/dist/base/banner.js.map +1 -0
- package/dist/base/block-registry/helpers.d.ts +26 -0
- package/dist/base/block-registry/helpers.js +27 -1
- package/dist/base/block-registry/helpers.js.map +1 -1
- package/dist/base/block-registry/internal/describe.d.ts +35 -0
- package/dist/base/block-registry/{describe.js → internal/describe.js} +50 -0
- package/dist/base/block-registry/internal/describe.js.map +1 -0
- package/dist/base/block-registry/internal/ui.d.ts +23 -0
- package/dist/base/block-registry/internal/ui.js +35 -0
- package/dist/base/block-registry/internal/ui.js.map +1 -0
- package/dist/base/block-registry/registry.d.ts +24 -0
- package/dist/base/block-registry/registry.js +30 -1
- package/dist/base/block-registry/registry.js.map +1 -1
- package/dist/base/block-registry/types.d.ts +149 -0
- package/dist/base/block-types.d.ts +22 -2
- package/dist/base/block-types.js +24 -2
- package/dist/base/block-types.js.map +1 -1
- package/dist/base/card.d.ts +100 -0
- package/dist/base/card.js +91 -0
- package/dist/base/card.js.map +1 -0
- package/dist/base/chart-card.d.ts +9 -2
- package/dist/base/chart-card.js +14 -1
- package/dist/base/chart-card.js.map +1 -1
- package/dist/base/chart-schemas.d.ts +127 -115
- package/dist/base/chart-schemas.js +18 -56
- package/dist/base/chart-schemas.js.map +1 -1
- package/dist/base/chart-type.d.ts +15 -0
- package/dist/base/chart-type.js +20 -0
- package/dist/base/chart-type.js.map +1 -0
- package/dist/base/chart.d.ts +31 -22
- package/dist/base/chart.js +27 -54
- package/dist/base/chart.js.map +1 -1
- package/dist/base/confirm-dialog.d.ts +6 -0
- package/dist/base/confirm-dialog.js +18 -0
- package/dist/base/confirm-dialog.js.map +1 -0
- package/dist/base/data-sources.d.ts +38 -0
- package/dist/base/data-sources.js +13 -0
- package/dist/base/data-sources.js.map +1 -1
- package/dist/base/data-types/compare-types.d.ts +0 -2
- package/dist/base/data-types/compare-types.js +18 -13
- package/dist/base/data-types/compare-types.js.map +1 -1
- package/dist/base/data-types/core.d.ts +55 -0
- package/dist/base/data-types/core.js +42 -0
- package/dist/base/data-types/core.js.map +1 -1
- package/dist/base/data-types/default-types.d.ts +241 -62
- package/dist/base/data-types/default-types.js +257 -135
- package/dist/base/data-types/default-types.js.map +1 -1
- package/dist/base/data-types/field-types.d.ts +164 -0
- package/dist/base/data-types/field-types.js +236 -0
- package/dist/base/data-types/field-types.js.map +1 -0
- package/dist/base/data-types/index.d.ts +1 -0
- package/dist/base/data-types/index.js +21 -0
- package/dist/base/data-types/index.js.map +1 -1
- package/dist/base/data-types/internal/compare-types.d.ts +3 -0
- package/dist/base/data-types/internal/compare-types.js +15 -0
- package/dist/base/data-types/internal/compare-types.js.map +1 -0
- package/dist/base/data-types/status-type.d.ts +2 -1
- package/dist/base/data-types/status-type.js +6 -0
- package/dist/base/data-types/status-type.js.map +1 -1
- package/dist/base/display.d.ts +124 -0
- package/dist/base/display.js +95 -0
- package/dist/base/display.js.map +1 -0
- package/dist/base/empty-state.d.ts +106 -0
- package/dist/base/empty-state.js +109 -0
- package/dist/base/empty-state.js.map +1 -0
- package/dist/base/export-jobs.d.ts +39 -1
- package/dist/base/export-jobs.js +12 -3
- package/dist/base/export-jobs.js.map +1 -1
- package/dist/base/form-block-schema.d.ts +345 -28
- package/dist/base/form-block-schema.js +83 -12
- package/dist/base/form-block-schema.js.map +1 -1
- package/dist/base/form-schema.d.ts +137 -22
- package/dist/base/form-schema.js +139 -42
- package/dist/base/form-schema.js.map +1 -1
- package/dist/base/form-types.d.ts +139 -4
- package/dist/base/form-types.js +7 -1
- package/dist/base/form-types.js.map +1 -1
- package/dist/base/form.js +7 -0
- package/dist/base/form.js.map +1 -1
- package/dist/base/grid.d.ts +57 -0
- package/dist/base/grid.js +43 -0
- package/dist/base/grid.js.map +1 -1
- package/dist/base/helpers/file-refs.js +5 -1
- package/dist/base/helpers/file-refs.js.map +1 -1
- package/dist/base/index.d.ts +11 -1
- package/dist/base/index.js +16 -1
- package/dist/base/index.js.map +1 -1
- package/dist/base/internal/button-availability.d.ts +17 -0
- package/dist/base/internal/button-availability.js +31 -0
- package/dist/base/internal/button-availability.js.map +1 -0
- package/dist/base/internal/chart-schemas.d.ts +6 -0
- package/dist/base/internal/chart-schemas.js +70 -0
- package/dist/base/internal/chart-schemas.js.map +1 -0
- package/dist/base/internal/chart.d.ts +22 -0
- package/dist/base/internal/chart.js +37 -0
- package/dist/base/internal/chart.js.map +1 -0
- package/dist/base/internal/confirm-dialog.d.ts +13 -0
- package/dist/base/internal/confirm-dialog.js +24 -0
- package/dist/base/internal/confirm-dialog.js.map +1 -0
- package/dist/base/internal/display.d.ts +13 -0
- package/dist/base/internal/display.js +18 -0
- package/dist/base/internal/display.js.map +1 -0
- package/dist/base/internal/export-jobs.d.ts +2 -0
- package/dist/base/internal/export-jobs.js +6 -0
- package/dist/base/internal/export-jobs.js.map +1 -0
- package/dist/base/internal/form-block-schema.d.ts +6 -0
- package/dist/base/internal/form-block-schema.js +10 -0
- package/dist/base/internal/form-block-schema.js.map +1 -0
- package/dist/base/internal/form-schema.d.ts +7 -0
- package/dist/base/internal/form-schema.js +26 -0
- package/dist/base/internal/form-schema.js.map +1 -0
- package/dist/base/internal/layouts.d.ts +39 -0
- package/dist/base/internal/layouts.js +3 -0
- package/dist/base/internal/layouts.js.map +1 -0
- package/dist/base/internal/query-response.d.ts +24 -0
- package/dist/base/internal/query-response.js +47 -0
- package/dist/base/internal/query-response.js.map +1 -0
- package/dist/base/internal/searchable.d.ts +6 -0
- package/dist/base/internal/searchable.js +15 -0
- package/dist/base/internal/searchable.js.map +1 -0
- package/dist/base/key-value-list.d.ts +160 -0
- package/dist/base/key-value-list.js +107 -0
- package/dist/base/key-value-list.js.map +1 -0
- package/dist/base/kpi-card.d.ts +12 -4
- package/dist/base/kpi-card.js +7 -0
- package/dist/base/kpi-card.js.map +1 -1
- package/dist/base/layouts.d.ts +35 -0
- package/dist/base/layouts.js +41 -7
- package/dist/base/layouts.js.map +1 -1
- package/dist/base/meter.d.ts +186 -0
- package/dist/base/meter.js +134 -0
- package/dist/base/meter.js.map +1 -0
- package/dist/base/nav-card-grid.d.ts +173 -0
- package/dist/base/nav-card-grid.js +89 -0
- package/dist/base/nav-card-grid.js.map +1 -0
- package/dist/base/period-selector.d.ts +20 -0
- package/dist/base/period-selector.js +23 -0
- package/dist/base/period-selector.js.map +1 -1
- package/dist/base/placeholder.d.ts +26 -0
- package/dist/base/placeholder.js +12 -0
- package/dist/base/placeholder.js.map +1 -1
- package/dist/base/query-response.d.ts +51 -1
- package/dist/base/query-response.js +43 -26
- package/dist/base/query-response.js.map +1 -1
- package/dist/base/resource-form-schema.d.ts +18 -0
- package/dist/base/resource-form-schema.js +20 -3
- package/dist/base/resource-form-schema.js.map +1 -1
- package/dist/base/searchable.d.ts +2 -0
- package/dist/base/searchable.js +4 -0
- package/dist/base/searchable.js.map +1 -1
- package/dist/base/section.d.ts +105 -0
- package/dist/base/section.js +123 -0
- package/dist/base/section.js.map +1 -0
- package/dist/base/stack.d.ts +113 -0
- package/dist/base/stack.js +58 -0
- package/dist/base/stack.js.map +1 -1
- package/dist/base/stat-group.d.ts +152 -0
- package/dist/base/stat-group.js +97 -0
- package/dist/base/stat-group.js.map +1 -0
- package/dist/base/tab.d.ts +25 -8
- package/dist/base/tab.js +11 -0
- package/dist/base/tab.js.map +1 -1
- package/dist/base/table-view/column-display.d.ts +195 -0
- package/dist/base/table-view/column-display.js +131 -0
- package/dist/base/table-view/column-display.js.map +1 -0
- package/dist/base/table-view/data-functions.d.ts +36 -14
- package/dist/base/table-view/data-functions.js +26 -1
- package/dist/base/table-view/data-functions.js.map +1 -1
- package/dist/base/table-view/factory-helpers.d.ts +0 -42
- package/dist/base/table-view/factory-helpers.js +1 -244
- package/dist/base/table-view/factory-helpers.js.map +1 -1
- package/dist/base/table-view/factory.d.ts +5 -1
- package/dist/base/table-view/factory.js +158 -202
- package/dist/base/table-view/factory.js.map +1 -1
- package/dist/base/table-view/internal/auth.d.ts +33 -0
- package/dist/base/table-view/{auth.js → internal/auth.js} +45 -6
- package/dist/base/table-view/internal/auth.js.map +1 -0
- package/dist/base/table-view/internal/column-display.d.ts +18 -0
- package/dist/base/table-view/internal/column-display.js +37 -0
- package/dist/base/table-view/internal/column-display.js.map +1 -0
- package/dist/base/table-view/internal/data-functions.d.ts +14 -0
- package/dist/base/table-view/internal/data-functions.js +3 -0
- package/dist/base/table-view/internal/data-functions.js.map +1 -0
- package/dist/base/table-view/internal/factory-helpers.d.ts +213 -0
- package/dist/base/table-view/internal/factory-helpers.js +477 -0
- package/dist/base/table-view/internal/factory-helpers.js.map +1 -0
- package/dist/base/table-view/{files.d.ts → internal/files.d.ts} +5 -0
- package/dist/base/table-view/{files.js → internal/files.js} +14 -4
- package/dist/base/table-view/internal/files.js.map +1 -0
- package/dist/base/table-view/internal/footer.d.ts +33 -0
- package/dist/base/table-view/internal/footer.js +112 -0
- package/dist/base/table-view/internal/footer.js.map +1 -0
- package/dist/base/table-view/{guards.d.ts → internal/guards.d.ts} +3 -0
- package/dist/base/table-view/internal/guards.js +134 -0
- package/dist/base/table-view/internal/guards.js.map +1 -0
- package/dist/base/table-view/internal/meta.d.ts +5 -0
- package/dist/base/table-view/internal/meta.js +13 -0
- package/dist/base/table-view/internal/meta.js.map +1 -0
- package/dist/base/table-view/internal/nav-badges.d.ts +9 -0
- package/dist/base/table-view/internal/nav-badges.js +79 -0
- package/dist/base/table-view/internal/nav-badges.js.map +1 -0
- package/dist/base/table-view/internal/options.d.ts +6 -0
- package/dist/base/table-view/internal/options.js +10 -0
- package/dist/base/table-view/internal/options.js.map +1 -0
- package/dist/base/table-view/internal/realtime-listeners.d.ts +4 -0
- package/dist/base/table-view/internal/realtime-listeners.js +7 -0
- package/dist/base/table-view/internal/realtime-listeners.js.map +1 -0
- package/dist/base/table-view/internal/realtime.d.ts +39 -0
- package/dist/base/table-view/internal/realtime.js +163 -0
- package/dist/base/table-view/internal/realtime.js.map +1 -0
- package/dist/base/table-view/internal/request-filter.d.ts +75 -0
- package/dist/base/table-view/internal/request-filter.js +154 -0
- package/dist/base/table-view/internal/request-filter.js.map +1 -0
- package/dist/base/table-view/internal/resource-form.d.ts +25 -0
- package/dist/base/table-view/internal/resource-form.js +91 -0
- package/dist/base/table-view/internal/resource-form.js.map +1 -0
- package/dist/base/table-view/{row-rules.d.ts → internal/row-rules.d.ts} +5 -2
- package/dist/base/table-view/{row-rules.js → internal/row-rules.js} +20 -19
- package/dist/base/table-view/internal/row-rules.js.map +1 -0
- package/dist/base/table-view/internal/tabs.d.ts +39 -0
- package/dist/base/table-view/internal/tabs.js +116 -0
- package/dist/base/table-view/internal/tabs.js.map +1 -0
- package/dist/base/table-view/internal/validation.d.ts +99 -0
- package/dist/base/table-view/internal/validation.js +297 -0
- package/dist/base/table-view/internal/validation.js.map +1 -0
- package/dist/base/table-view/internal/views.d.ts +14 -0
- package/dist/base/table-view/internal/views.js +42 -0
- package/dist/base/table-view/internal/views.js.map +1 -0
- package/dist/base/table-view/internal/writer.d.ts +39 -0
- package/dist/base/table-view/internal/writer.js +55 -0
- package/dist/base/table-view/internal/writer.js.map +1 -0
- package/dist/base/table-view/meta.d.ts +77 -4
- package/dist/base/table-view/meta.js +133 -13
- package/dist/base/table-view/meta.js.map +1 -1
- package/dist/base/table-view/options.d.ts +749 -28
- package/dist/base/table-view/options.js +9 -2
- package/dist/base/table-view/options.js.map +1 -1
- package/dist/base/table-view/realtime.d.ts +26 -17
- package/dist/base/table-view/realtime.js +29 -126
- package/dist/base/table-view/realtime.js.map +1 -1
- package/dist/base/table-view/resource-form.d.ts +11 -5
- package/dist/base/table-view/resource-form.js +15 -59
- package/dist/base/table-view/resource-form.js.map +1 -1
- package/dist/base/table-view/routes.d.ts +29 -0
- package/dist/base/table-view/routes.js +71 -6
- package/dist/base/table-view/routes.js.map +1 -1
- package/dist/base/table-view/schema.d.ts +483 -69
- package/dist/base/table-view/schema.js +163 -18
- package/dist/base/table-view/schema.js.map +1 -1
- package/dist/base/table-view/source.d.ts +62 -0
- package/dist/base/table-view/source.js +161 -0
- package/dist/base/table-view/source.js.map +1 -0
- package/dist/base/table-view/views.d.ts +20 -0
- package/dist/base/table-view/views.js +38 -0
- package/dist/base/table-view/views.js.map +1 -0
- package/dist/base/table-view/writer.d.ts +7 -0
- package/dist/base/table-view/writer.js +17 -0
- package/dist/base/table-view/writer.js.map +1 -0
- package/dist/base/table-view.d.ts +34 -6
- package/dist/base/table-view.js +42 -6
- package/dist/base/table-view.js.map +1 -1
- package/dist/base/tenant-export-archive.d.ts +21 -0
- package/dist/base/tenant-export-archive.js +11 -0
- package/dist/base/tenant-export-archive.js.map +1 -1
- package/dist/base/top-list-card.d.ts +35 -12
- package/dist/base/top-list-card.js +24 -0
- package/dist/base/top-list-card.js.map +1 -1
- package/dist/base/types/action-target.d.ts +36 -20
- package/dist/base/types/component-input.d.ts +3 -0
- package/dist/base/types/confirm-dialog.d.ts +69 -0
- package/dist/base/types/confirm-dialog.js +3 -0
- package/dist/base/types/confirm-dialog.js.map +1 -0
- package/dist/base/types/custom-button.d.ts +48 -2
- package/dist/base/types/enum-option.d.ts +9 -0
- package/dist/base/types/error.d.ts +9 -0
- package/dist/base/types/error.js +7 -1
- package/dist/base/types/error.js.map +1 -1
- package/dist/base/types/export-status.d.ts +3 -0
- package/dist/base/types/export-status.js +3 -0
- package/dist/base/types/export-status.js.map +1 -1
- package/dist/base/types/field-config.d.ts +3 -0
- package/dist/base/types/form-mode.d.ts +3 -0
- package/dist/base/types/form-mode.js +3 -0
- package/dist/base/types/form-mode.js.map +1 -1
- package/dist/base/types/form-values.d.ts +6 -0
- package/dist/base/types/guards.d.ts +37 -7
- package/dist/base/types/index.d.ts +2 -0
- package/dist/base/types/index.js +2 -0
- package/dist/base/types/index.js.map +1 -1
- package/dist/base/types/internal/action-target.d.ts +8 -0
- package/dist/base/types/internal/action-target.js +16 -0
- package/dist/base/types/internal/action-target.js.map +1 -0
- package/dist/base/types/json.d.ts +6 -0
- package/dist/base/types/orientation.d.ts +3 -0
- package/dist/base/types/orientation.js +3 -0
- package/dist/base/types/orientation.js.map +1 -1
- package/dist/base/types/readonly-behavior.d.ts +9 -0
- package/dist/base/types/readonly-behavior.js +3 -0
- package/dist/base/types/readonly-behavior.js.map +1 -1
- package/dist/base/types/row-action.d.ts +111 -0
- package/dist/base/types/size.d.ts +1 -0
- package/dist/base/types/size.js +4 -0
- package/dist/base/types/size.js.map +1 -1
- package/dist/base/types/tone.d.ts +14 -0
- package/dist/base/types/tone.js +24 -0
- package/dist/base/types/tone.js.map +1 -0
- package/dist/client-base-url.d.ts +8 -0
- package/dist/client-base-url.js +8 -0
- package/dist/client-base-url.js.map +1 -1
- package/dist/component-slots.d.ts +17 -2
- package/dist/component-slots.js +18 -66
- package/dist/component-slots.js.map +1 -1
- package/dist/component.d.ts +113 -0
- package/dist/component.js +84 -1
- package/dist/component.js.map +1 -1
- package/dist/data-controllers/members.d.ts +16 -1
- package/dist/data-controllers/members.js +87 -26
- package/dist/data-controllers/members.js.map +1 -1
- package/dist/data-controllers/roles.d.ts +1 -0
- package/dist/data-controllers/roles.js +3 -3
- package/dist/data-controllers/roles.js.map +1 -1
- package/dist/db/{models → internal}/exportJobs.model.d.ts +2 -0
- package/dist/db/{models → internal}/exportJobs.model.js +4 -1
- package/dist/db/internal/exportJobs.model.js.map +1 -0
- package/dist/db/internal/inviteResolutions.model.d.ts +34 -0
- package/dist/db/internal/inviteResolutions.model.js +80 -0
- package/dist/db/internal/inviteResolutions.model.js.map +1 -0
- package/dist/db/internal/table-names.d.ts +4 -0
- package/dist/db/internal/table-names.js +8 -0
- package/dist/db/internal/table-names.js.map +1 -0
- package/dist/db/{models → internal}/tenantLifecycle.model.d.ts +10 -1
- package/dist/db/{models → internal}/tenantLifecycle.model.js +10 -1
- package/dist/db/internal/tenantLifecycle.model.js.map +1 -0
- package/dist/db/{tables → internal}/tenantLifecycle.table.d.ts +6 -0
- package/dist/db/{tables → internal}/tenantLifecycle.table.js +6 -0
- package/dist/db/internal/tenantLifecycle.table.js.map +1 -0
- package/dist/db/models/index.d.ts +0 -2
- package/dist/db/models/index.js +0 -2
- package/dist/db/models/index.js.map +1 -1
- package/dist/db/models/inviteResolutions.model.d.ts +1 -25
- package/dist/db/models/inviteResolutions.model.js +0 -68
- package/dist/db/models/inviteResolutions.model.js.map +1 -1
- package/dist/db/models/roles.model.d.ts +6 -0
- package/dist/db/models/roles.model.js +6 -0
- package/dist/db/models/roles.model.js.map +1 -1
- package/dist/db/models/tenantMembers.model.js +1 -1
- package/dist/db/models/tenantMembers.model.js.map +1 -1
- package/dist/db/models/user_invites.model.d.ts +24 -0
- package/dist/db/models/user_invites.model.js +25 -1
- package/dist/db/models/user_invites.model.js.map +1 -1
- package/dist/db/tables/exportJobs.table.d.ts +5 -1
- package/dist/db/tables/exportJobs.table.js +3 -3
- package/dist/db/tables/exportJobs.table.js.map +1 -1
- package/dist/db/tables/index.d.ts +0 -1
- package/dist/db/tables/index.js +0 -1
- package/dist/db/tables/index.js.map +1 -1
- package/dist/db/tables/inviteResolutions.table.d.ts +1 -1
- package/dist/db/tables/inviteResolutions.table.js +4 -3
- package/dist/db/tables/inviteResolutions.table.js.map +1 -1
- package/dist/db/tables/roles.table.d.ts +2 -0
- package/dist/db/tables/roles.table.js +4 -0
- package/dist/db/tables/roles.table.js.map +1 -1
- package/dist/db/tables/tenantMembers.table.d.ts +1 -0
- package/dist/db/tables/user_invites.table.d.ts +11 -0
- package/dist/db/tables/user_invites.table.js +4 -0
- package/dist/db/tables/user_invites.table.js.map +1 -1
- package/dist/guards.d.ts +36 -0
- package/dist/guards.js +30 -1
- package/dist/guards.js.map +1 -1
- package/dist/hooks.d.ts +133 -1
- package/dist/hooks.js +87 -1
- package/dist/hooks.js.map +1 -1
- package/dist/html-render/index.d.ts +15 -0
- package/dist/html-render/index.js +15 -0
- package/dist/html-render/index.js.map +1 -1
- package/dist/html-render/types.d.ts +4 -0
- package/dist/index.d.ts +6 -7
- package/dist/index.js +12 -17
- package/dist/index.js.map +1 -1
- package/dist/internal/attachments.d.ts +16 -0
- package/dist/internal/attachments.js +3 -0
- package/dist/internal/attachments.js.map +1 -0
- package/dist/internal/component-slots.d.ts +27 -0
- package/dist/internal/component-slots.js +97 -0
- package/dist/internal/component-slots.js.map +1 -0
- package/dist/internal/invite-membership.d.ts +8 -0
- package/dist/{invite-membership.js → internal/invite-membership.js} +11 -5
- package/dist/internal/invite-membership.js.map +1 -0
- package/dist/internal/invite-replacement.d.ts +7 -0
- package/dist/{invite-replacement.js → internal/invite-replacement.js} +8 -3
- package/dist/internal/invite-replacement.js.map +1 -0
- package/dist/internal/invite-resolution.d.ts +3 -0
- package/dist/internal/invite-resolution.js +50 -0
- package/dist/internal/invite-resolution.js.map +1 -0
- package/dist/internal/invites.d.ts +31 -0
- package/dist/internal/invites.js +44 -0
- package/dist/internal/invites.js.map +1 -0
- package/dist/internal/permission-gate.d.ts +23 -0
- package/dist/internal/permission-gate.js +43 -0
- package/dist/internal/permission-gate.js.map +1 -0
- package/dist/internal/tenant-access.d.ts +28 -0
- package/dist/internal/tenant-access.js +28 -0
- package/dist/internal/tenant-access.js.map +1 -0
- package/dist/internal/tenant-ownership.d.ts +13 -0
- package/dist/internal/tenant-ownership.js +95 -0
- package/dist/internal/tenant-ownership.js.map +1 -0
- package/dist/internal/uploads.d.ts +19 -0
- package/dist/internal/uploads.js +3 -0
- package/dist/internal/uploads.js.map +1 -0
- package/dist/invite-extensions/availability.d.ts +28 -3
- package/dist/invite-extensions/availability.js +26 -23
- package/dist/invite-extensions/availability.js.map +1 -1
- package/dist/invite-extensions/internal/availability.d.ts +12 -0
- package/dist/invite-extensions/internal/availability.js +32 -0
- package/dist/invite-extensions/internal/availability.js.map +1 -0
- package/dist/invite-extensions/internal/delivery.d.ts +44 -0
- package/dist/invite-extensions/{delivery.js → internal/delivery.js} +38 -0
- package/dist/invite-extensions/internal/delivery.js.map +1 -0
- package/dist/invite-extensions/internal/edit.d.ts +34 -0
- package/dist/invite-extensions/{edit.js → internal/edit.js} +33 -0
- package/dist/invite-extensions/internal/edit.js.map +1 -0
- package/dist/invite-extensions/internal/field-ids.d.ts +21 -0
- package/dist/invite-extensions/{field-ids.js → internal/field-ids.js} +13 -0
- package/dist/invite-extensions/internal/field-ids.js.map +1 -0
- package/dist/invite-extensions/internal/form-slot.d.ts +13 -0
- package/dist/invite-extensions/{form-slot.js → internal/form-slot.js} +49 -4
- package/dist/invite-extensions/internal/form-slot.js.map +1 -0
- package/dist/invite-extensions/internal/payload-slices.d.ts +31 -0
- package/dist/invite-extensions/{payload-slices.js → internal/payload-slices.js} +30 -0
- package/dist/invite-extensions/internal/payload-slices.js.map +1 -0
- package/dist/invite-extensions/internal/registry.d.ts +48 -0
- package/dist/invite-extensions/internal/registry.js +77 -0
- package/dist/invite-extensions/internal/registry.js.map +1 -0
- package/dist/invite-extensions/internal/types.d.ts +61 -0
- package/dist/invite-extensions/internal/types.js +3 -0
- package/dist/invite-extensions/internal/types.js.map +1 -0
- package/dist/invite-extensions/registry.d.ts +44 -12
- package/dist/invite-extensions/registry.js +51 -43
- package/dist/invite-extensions/registry.js.map +1 -1
- package/dist/invite-extensions/types.d.ts +59 -34
- package/dist/invite-extensions.d.ts +30 -4
- package/dist/invite-extensions.js +57 -7
- package/dist/invite-extensions.js.map +1 -1
- package/dist/invite-resolution.d.ts +5 -2
- package/dist/invite-resolution.js +16 -46
- package/dist/invite-resolution.js.map +1 -1
- package/dist/invitee-display-name.d.ts +5 -0
- package/dist/invitee-display-name.js +15 -0
- package/dist/invitee-display-name.js.map +1 -0
- package/dist/invites.d.ts +54 -17
- package/dist/invites.js +49 -34
- package/dist/invites.js.map +1 -1
- package/dist/layout-banners.d.ts +68 -0
- package/dist/layout-banners.js +18 -0
- package/dist/layout-banners.js.map +1 -1
- package/dist/notifications/builder.d.ts +3 -1
- package/dist/notifications/builder.js +10 -0
- package/dist/notifications/builder.js.map +1 -1
- package/dist/notifications/index.d.ts +1 -0
- package/dist/notifications/index.js +16 -0
- package/dist/notifications/index.js.map +1 -1
- package/dist/notifications/internal.d.ts +8 -5
- package/dist/notifications/internal.js +6 -0
- package/dist/notifications/internal.js.map +1 -1
- package/dist/notifications/sendable.d.ts +6 -0
- package/dist/notifications/sendable.js +13 -4
- package/dist/notifications/sendable.js.map +1 -1
- package/dist/notifications/types.d.ts +26 -1
- package/dist/page/categories.d.ts +19 -17
- package/dist/page/categories.js +24 -168
- package/dist/page/categories.js.map +1 -1
- package/dist/page/component-tree.d.ts +15 -1
- package/dist/page/component-tree.js +0 -40
- package/dist/page/component-tree.js.map +1 -1
- package/dist/page/controllers.d.ts +135 -0
- package/dist/page/controllers.js +124 -8
- package/dist/page/controllers.js.map +1 -1
- package/dist/page/declaration-conflict.d.ts +9 -0
- package/dist/page/declaration-conflict.js +17 -0
- package/dist/page/declaration-conflict.js.map +1 -0
- package/dist/page/form-page-routes.d.ts +7 -10
- package/dist/page/form-page-routes.js +14 -31
- package/dist/page/form-page-routes.js.map +1 -1
- package/dist/page/internal/categories.d.ts +62 -0
- package/dist/page/internal/categories.js +260 -0
- package/dist/page/internal/categories.js.map +1 -0
- package/dist/page/internal/component-target.d.ts +37 -0
- package/dist/page/{component-target.js → internal/component-target.js} +27 -2
- package/dist/page/internal/component-target.js.map +1 -0
- package/dist/page/internal/component-tree.d.ts +13 -0
- package/dist/page/internal/component-tree.js +61 -0
- package/dist/page/internal/component-tree.js.map +1 -0
- package/dist/page/{extension-assembly.d.ts → internal/extension-assembly.d.ts} +5 -2
- package/dist/page/{extension-assembly.js → internal/extension-assembly.js} +8 -0
- package/dist/page/internal/extension-assembly.js.map +1 -0
- package/dist/page/internal/extension-validation.d.ts +24 -0
- package/dist/page/{extension-validation.js → internal/extension-validation.js} +8 -0
- package/dist/page/internal/extension-validation.js.map +1 -0
- package/dist/page/internal/form-page-routes.d.ts +26 -0
- package/dist/page/internal/form-page-routes.js +40 -0
- package/dist/page/internal/form-page-routes.js.map +1 -0
- package/dist/page/internal/layout-filter.d.ts +21 -0
- package/dist/page/internal/layout-filter.js +101 -0
- package/dist/page/internal/layout-filter.js.map +1 -0
- package/dist/page/{metadata-helpers.d.ts → internal/metadata-helpers.d.ts} +4 -1
- package/dist/page/{metadata-helpers.js → internal/metadata-helpers.js} +19 -2
- package/dist/page/internal/metadata-helpers.js.map +1 -0
- package/dist/page/internal/nav-badges.d.ts +17 -0
- package/dist/page/internal/nav-badges.js +68 -0
- package/dist/page/internal/nav-badges.js.map +1 -0
- package/dist/page/internal/page-registration.d.ts +29 -0
- package/dist/page/internal/page-registration.js +41 -0
- package/dist/page/internal/page-registration.js.map +1 -0
- package/dist/page/internal/registry.d.ts +128 -0
- package/dist/page/internal/registry.js +225 -0
- package/dist/page/internal/registry.js.map +1 -0
- package/dist/page/internal/table-view-ids.d.ts +10 -0
- package/dist/page/internal/table-view-ids.js +39 -0
- package/dist/page/internal/table-view-ids.js.map +1 -0
- package/dist/page/internal/types.d.ts +2 -0
- package/dist/page/internal/types.js +6 -0
- package/dist/page/internal/types.js.map +1 -0
- package/dist/page/layout-filter.d.ts +4 -0
- package/dist/page/layout-filter.js +11 -0
- package/dist/page/layout-filter.js.map +1 -1
- package/dist/page/metadata.d.ts +93 -0
- package/dist/page/metadata.js +236 -28
- package/dist/page/metadata.js.map +1 -1
- package/dist/page/registry.d.ts +17 -36
- package/dist/page/registry.js +25 -127
- package/dist/page/registry.js.map +1 -1
- package/dist/page/roots.d.ts +10 -0
- package/dist/page/roots.js +27 -6
- package/dist/page/roots.js.map +1 -1
- package/dist/page/types.d.ts +186 -1
- package/dist/page/types.js +1 -2
- package/dist/page/types.js.map +1 -1
- package/dist/page.d.ts +23 -1
- package/dist/page.js +24 -2
- package/dist/page.js.map +1 -1
- package/dist/permission-gate.d.ts +14 -0
- package/dist/permission-gate.js +3 -0
- package/dist/permission-gate.js.map +1 -0
- package/dist/permissions-resolver.d.ts +24 -0
- package/dist/permissions-resolver.js +24 -0
- package/dist/permissions-resolver.js.map +1 -1
- package/dist/permissions.d.ts +27 -0
- package/dist/permissions.js +37 -0
- package/dist/permissions.js.map +1 -1
- package/dist/quick-actions.d.ts +27 -0
- package/dist/quick-actions.js +1 -0
- package/dist/quick-actions.js.map +1 -1
- package/dist/realtime.d.ts +29 -0
- package/dist/realtime.js +30 -0
- package/dist/realtime.js.map +1 -1
- package/dist/request-tenant.d.ts +17 -0
- package/dist/request-tenant.js +18 -1
- package/dist/request-tenant.js.map +1 -1
- package/dist/tenant-access.d.ts +38 -6
- package/dist/tenant-access.js +38 -8
- package/dist/tenant-access.js.map +1 -1
- package/dist/tenant-export.d.ts +19 -0
- package/dist/tenant-lifecycle.d.ts +13 -0
- package/dist/tenant-lifecycle.js +22 -1
- package/dist/tenant-lifecycle.js.map +1 -1
- package/dist/tenant-ownership.d.ts +2 -1
- package/dist/tenant-ownership.js +5 -85
- package/dist/tenant-ownership.js.map +1 -1
- package/dist/tenant-scoped-model.d.ts +8 -0
- package/dist/tenant-scoped-model.js +8 -0
- package/dist/tenant-scoped-model.js.map +1 -1
- package/dist/uploads.d.ts +24 -16
- package/dist/uploads.js +24 -0
- package/dist/uploads.js.map +1 -1
- package/dist/utils/fire-and-forget.d.ts +4 -0
- package/dist/utils/fire-and-forget.js +4 -0
- package/dist/utils/fire-and-forget.js.map +1 -1
- package/dist/utils/internal/owned-registry.d.ts +36 -0
- package/dist/utils/internal/owned-registry.js +60 -0
- package/dist/utils/internal/owned-registry.js.map +1 -0
- package/dist/utils/{row-instance.d.ts → internal/row-instance.d.ts} +1 -0
- package/dist/utils/internal/row-instance.js +12 -0
- package/dist/utils/internal/row-instance.js.map +1 -0
- package/dist/utils/internal/saas-mode.d.ts +8 -0
- package/dist/utils/internal/saas-mode.js +3 -0
- package/dist/utils/internal/saas-mode.js.map +1 -0
- package/dist/utils/{time.d.ts → internal/time.d.ts} +4 -0
- package/dist/utils/{time.js → internal/time.js} +4 -0
- package/dist/utils/internal/time.js.map +1 -0
- package/dist/utils/{type-check.d.ts → internal/type-check.d.ts} +12 -0
- package/dist/utils/{type-check.js → internal/type-check.js} +12 -0
- package/dist/utils/internal/type-check.js.map +1 -0
- package/dist/utils/internal/value-parser.d.ts +86 -0
- package/dist/utils/internal/value-parser.js +160 -0
- package/dist/utils/internal/value-parser.js.map +1 -0
- package/dist/utils/saas-mode.d.ts +25 -3
- package/dist/utils/saas-mode.js +24 -0
- package/dist/utils/saas-mode.js.map +1 -1
- package/package.json +3 -3
- package/dist/base/block-registry/describe.d.ts +0 -6
- package/dist/base/block-registry/describe.js.map +0 -1
- package/dist/base/block-registry/ui.d.ts +0 -5
- package/dist/base/block-registry/ui.js +0 -17
- package/dist/base/block-registry/ui.js.map +0 -1
- package/dist/base/table-view/auth.d.ts +0 -9
- package/dist/base/table-view/auth.js.map +0 -1
- package/dist/base/table-view/files.js.map +0 -1
- package/dist/base/table-view/guards.js +0 -85
- package/dist/base/table-view/guards.js.map +0 -1
- package/dist/base/table-view/row-rules.js.map +0 -1
- package/dist/base/tree.d.ts +0 -115
- package/dist/base/tree.js +0 -145
- package/dist/base/tree.js.map +0 -1
- package/dist/db/models/exportJobs.model.js.map +0 -1
- package/dist/db/models/tenantLifecycle.model.js.map +0 -1
- package/dist/db/tables/tenantLifecycle.table.js.map +0 -1
- package/dist/invite-extensions/delivery.d.ts +0 -5
- package/dist/invite-extensions/delivery.js.map +0 -1
- package/dist/invite-extensions/edit.d.ts +0 -4
- package/dist/invite-extensions/edit.js.map +0 -1
- package/dist/invite-extensions/field-ids.d.ts +0 -7
- package/dist/invite-extensions/field-ids.js.map +0 -1
- package/dist/invite-extensions/form-slot.d.ts +0 -2
- package/dist/invite-extensions/form-slot.js.map +0 -1
- package/dist/invite-extensions/internal.d.ts +0 -17
- package/dist/invite-extensions/internal.js +0 -55
- package/dist/invite-extensions/internal.js.map +0 -1
- package/dist/invite-extensions/payload-slices.d.ts +0 -8
- package/dist/invite-extensions/payload-slices.js.map +0 -1
- package/dist/invite-membership.d.ts +0 -3
- package/dist/invite-membership.js.map +0 -1
- package/dist/invite-replacement.d.ts +0 -2
- package/dist/invite-replacement.js.map +0 -1
- package/dist/page/component-target.d.ts +0 -10
- package/dist/page/component-target.js.map +0 -1
- package/dist/page/extension-assembly.js.map +0 -1
- package/dist/page/extension-validation.d.ts +0 -7
- package/dist/page/extension-validation.js.map +0 -1
- package/dist/page/metadata-helpers.js.map +0 -1
- package/dist/page/page-registration.d.ts +0 -13
- package/dist/page/page-registration.js +0 -22
- package/dist/page/page-registration.js.map +0 -1
- package/dist/utils/owned-registry.d.ts +0 -10
- package/dist/utils/owned-registry.js +0 -34
- package/dist/utils/owned-registry.js.map +0 -1
- package/dist/utils/row-instance.js +0 -8
- package/dist/utils/row-instance.js.map +0 -1
- package/dist/utils/time.js.map +0 -1
- package/dist/utils/type-check.js.map +0 -1
- package/dist/utils/value-parser.d.ts +0 -11
- package/dist/utils/value-parser.js +0 -86
- package/dist/utils/value-parser.js.map +0 -1
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { ComponentBuilder } from "../component";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { type BlockLinkAction } from "./display";
|
|
4
|
+
import type { BaseComponentProps } from "./types";
|
|
5
|
+
import type { Tone } from "./types/tone";
|
|
6
|
+
/** The tones a banner washes with. */
|
|
7
|
+
export declare const BANNER_TONES: readonly ["info", "success", "warning", "error", "primary"];
|
|
8
|
+
export type BannerTone = Extract<Tone, (typeof BANNER_TONES)[number]>;
|
|
9
|
+
/** The sizes of a banner. */
|
|
10
|
+
export declare const BANNER_SIZES: readonly ["md", "sm"];
|
|
11
|
+
/** `md` boxed banner; `sm` compact one-line banner, for cards and panels. */
|
|
12
|
+
export type BannerSize = (typeof BANNER_SIZES)[number];
|
|
13
|
+
/** The options `Banner` takes. */
|
|
14
|
+
export interface BannerProps extends BaseComponentProps {
|
|
15
|
+
/** `$`-prefixed for an i18n key, like every text of the block. */
|
|
16
|
+
title?: string;
|
|
17
|
+
description?: string;
|
|
18
|
+
tone?: BannerTone;
|
|
19
|
+
/** Overrides the tone's icon. */
|
|
20
|
+
icon?: string;
|
|
21
|
+
size?: BannerSize;
|
|
22
|
+
actions?: BlockLinkAction[];
|
|
23
|
+
/** Adds a close button; the dismissal is remembered. */
|
|
24
|
+
dismissible?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* Key the dismissal is remembered under (a cookie, one year). Defaults to
|
|
27
|
+
* the block's id on its page (`.child("welcome", Banner(…))` → `welcome`),
|
|
28
|
+
* which holds when blocks are added or moved; change it to show the banner
|
|
29
|
+
* again.
|
|
30
|
+
*/
|
|
31
|
+
dismissKey?: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Banner — a notice across the top of a page or a card: a tinted wash, a
|
|
35
|
+
* boxed icon, a title and a line of explanation, with link actions and an
|
|
36
|
+
* optional dismiss that is remembered.
|
|
37
|
+
*
|
|
38
|
+
* Distinct from `RegisterLayoutBanner` (the dashboard-wide strip under the
|
|
39
|
+
* header): this one is a block placed on one page.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* Banner({
|
|
44
|
+
* tone: "warning",
|
|
45
|
+
* title: "Beta",
|
|
46
|
+
* description: "Numbers refresh every 15 minutes.",
|
|
47
|
+
* dismissible: true,
|
|
48
|
+
* dismissKey: "sales-beta-2026",
|
|
49
|
+
* })
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
52
|
+
export declare function Banner(options?: BannerProps): ComponentBuilder<BannerProps>;
|
|
53
|
+
/** The options `Banner` accepts. */
|
|
54
|
+
export declare const BannerSchema: z.ZodObject<{
|
|
55
|
+
title: z.ZodOptional<z.ZodString>;
|
|
56
|
+
description: z.ZodOptional<z.ZodString>;
|
|
57
|
+
actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
58
|
+
label: z.ZodString;
|
|
59
|
+
to: z.ZodString;
|
|
60
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
61
|
+
variant: z.ZodOptional<z.ZodEnum<["solid", "outline", "soft", "subtle", "ghost", "link"]>>;
|
|
62
|
+
color: z.ZodOptional<z.ZodEnum<["primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral", ...("primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral")[]]>>;
|
|
63
|
+
}, "strip", z.ZodTypeAny, {
|
|
64
|
+
label: string;
|
|
65
|
+
to: string;
|
|
66
|
+
icon?: string | undefined;
|
|
67
|
+
variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
|
|
68
|
+
color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
69
|
+
}, {
|
|
70
|
+
label: string;
|
|
71
|
+
to: string;
|
|
72
|
+
icon?: string | undefined;
|
|
73
|
+
variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
|
|
74
|
+
color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
75
|
+
}>, "many">>;
|
|
76
|
+
tone: z.ZodDefault<z.ZodEnum<["primary" | "success" | "info" | "warning" | "error", ...("primary" | "success" | "info" | "warning" | "error")[]]>>;
|
|
77
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
78
|
+
size: z.ZodDefault<z.ZodEnum<["md", "sm"]>>;
|
|
79
|
+
dismissible: z.ZodOptional<z.ZodBoolean>;
|
|
80
|
+
dismissKey: z.ZodOptional<z.ZodString>;
|
|
81
|
+
}, "strip", z.ZodTypeAny, {
|
|
82
|
+
size: "sm" | "md";
|
|
83
|
+
tone: "primary" | "success" | "info" | "warning" | "error";
|
|
84
|
+
description?: string | undefined;
|
|
85
|
+
title?: string | undefined;
|
|
86
|
+
icon?: string | undefined;
|
|
87
|
+
actions?: {
|
|
88
|
+
label: string;
|
|
89
|
+
to: string;
|
|
90
|
+
icon?: string | undefined;
|
|
91
|
+
variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
|
|
92
|
+
color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
93
|
+
}[] | undefined;
|
|
94
|
+
dismissible?: boolean | undefined;
|
|
95
|
+
dismissKey?: string | undefined;
|
|
96
|
+
}, {
|
|
97
|
+
description?: string | undefined;
|
|
98
|
+
size?: "sm" | "md" | undefined;
|
|
99
|
+
title?: string | undefined;
|
|
100
|
+
icon?: string | undefined;
|
|
101
|
+
actions?: {
|
|
102
|
+
label: string;
|
|
103
|
+
to: string;
|
|
104
|
+
icon?: string | undefined;
|
|
105
|
+
variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
|
|
106
|
+
color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
107
|
+
}[] | undefined;
|
|
108
|
+
tone?: "primary" | "success" | "info" | "warning" | "error" | undefined;
|
|
109
|
+
dismissible?: boolean | undefined;
|
|
110
|
+
dismissKey?: string | undefined;
|
|
111
|
+
}>;
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BannerSchema = exports.BANNER_SIZES = exports.BANNER_TONES = void 0;
|
|
4
|
+
exports.Banner = Banner;
|
|
5
|
+
const component_1 = require("../component");
|
|
6
|
+
const zod_1 = require("zod");
|
|
7
|
+
const block_registry_1 = require("./block-registry");
|
|
8
|
+
const display_1 = require("./display");
|
|
9
|
+
const display_2 = require("./internal/display");
|
|
10
|
+
/** The tones a banner washes with. */
|
|
11
|
+
exports.BANNER_TONES = [
|
|
12
|
+
"info",
|
|
13
|
+
"success",
|
|
14
|
+
"warning",
|
|
15
|
+
"error",
|
|
16
|
+
"primary",
|
|
17
|
+
];
|
|
18
|
+
/** The sizes of a banner. */
|
|
19
|
+
exports.BANNER_SIZES = ["md", "sm"];
|
|
20
|
+
const BANNER_COMPONENT_NAME = "dms-banner-block";
|
|
21
|
+
const BANNER_ICON = "i-ph-megaphone";
|
|
22
|
+
const BANNER_DEFAULTS = { tone: "info", size: "md" };
|
|
23
|
+
/**
|
|
24
|
+
* Banner — a notice across the top of a page or a card: a tinted wash, a
|
|
25
|
+
* boxed icon, a title and a line of explanation, with link actions and an
|
|
26
|
+
* optional dismiss that is remembered.
|
|
27
|
+
*
|
|
28
|
+
* Distinct from `RegisterLayoutBanner` (the dashboard-wide strip under the
|
|
29
|
+
* header): this one is a block placed on one page.
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* Banner({
|
|
34
|
+
* tone: "warning",
|
|
35
|
+
* title: "Beta",
|
|
36
|
+
* description: "Numbers refresh every 15 minutes.",
|
|
37
|
+
* dismissible: true,
|
|
38
|
+
* dismissKey: "sales-beta-2026",
|
|
39
|
+
* })
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
function Banner(options) {
|
|
43
|
+
return new component_1.ComponentBuilder(BANNER_COMPONENT_NAME)
|
|
44
|
+
.options({ ...BANNER_DEFAULTS, ...options })
|
|
45
|
+
.meta({
|
|
46
|
+
name: options?.title || "Banner",
|
|
47
|
+
icon: options?.icon || BANNER_ICON,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
/** The options `Banner` accepts. */
|
|
51
|
+
exports.BannerSchema = zod_1.z.object({
|
|
52
|
+
title: (0, block_registry_1.ui)(zod_1.z.string().optional(), { label: "Title", group: "content" }),
|
|
53
|
+
description: (0, block_registry_1.ui)(zod_1.z.string().optional(), {
|
|
54
|
+
label: "Description",
|
|
55
|
+
group: "content",
|
|
56
|
+
widget: "textarea",
|
|
57
|
+
}),
|
|
58
|
+
actions: (0, display_1.blockActionsOption)("Buttons on the right; the last one is the main action."),
|
|
59
|
+
tone: (0, block_registry_1.ui)((0, display_2.toneEnum)(exports.BANNER_TONES)
|
|
60
|
+
.default(BANNER_DEFAULTS.tone)
|
|
61
|
+
.describe("Colour of the wash and the icon."), { label: "Tone", group: "appearance", widget: "select" }),
|
|
62
|
+
icon: (0, block_registry_1.ui)(zod_1.z.string().optional().describe("Overrides the tone's icon."), {
|
|
63
|
+
label: "Icon",
|
|
64
|
+
group: "appearance",
|
|
65
|
+
widget: "icon",
|
|
66
|
+
}),
|
|
67
|
+
size: (0, block_registry_1.ui)(zod_1.z
|
|
68
|
+
.enum(exports.BANNER_SIZES)
|
|
69
|
+
.default(BANNER_DEFAULTS.size)
|
|
70
|
+
.describe("`sm` is the compact one-line banner."), {
|
|
71
|
+
label: "Size",
|
|
72
|
+
group: "appearance",
|
|
73
|
+
widget: "segmented",
|
|
74
|
+
valueLabels: { md: "Regular", sm: "Compact" },
|
|
75
|
+
}),
|
|
76
|
+
dismissible: (0, block_registry_1.ui)(zod_1.z.boolean().optional().describe("Adds a close button, remembered."), { label: "Dismissible", group: "behavior", widget: "switch" }),
|
|
77
|
+
dismissKey: (0, block_registry_1.ui)(zod_1.z
|
|
78
|
+
.string()
|
|
79
|
+
.optional()
|
|
80
|
+
.describe("Key the dismissal is remembered under; change it to reset."), { label: "Dismiss key", group: "behavior", advanced: true }),
|
|
81
|
+
});
|
|
82
|
+
(0, block_registry_1.RegisterBlockType)({
|
|
83
|
+
type: "Banner",
|
|
84
|
+
componentName: BANNER_COMPONENT_NAME,
|
|
85
|
+
schema: exports.BannerSchema,
|
|
86
|
+
meta: {
|
|
87
|
+
name: "Banner",
|
|
88
|
+
icon: BANNER_ICON,
|
|
89
|
+
description: "Notice with a tone, link actions and a remembered dismiss.",
|
|
90
|
+
group: "content",
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
//# sourceMappingURL=banner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/base/banner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,32 @@
|
|
|
1
1
|
import { type ZodType, type ZodTypeAny, type ZodTypeDef } from "zod";
|
|
2
2
|
import type { BlockOptionUi } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* A string option whose declared type is narrower than `string` — a
|
|
5
|
+
* template-literal union such as a colour value, or a branded id. The schema
|
|
6
|
+
* still validates as a string, so a builder UI keeps a text control.
|
|
7
|
+
*/
|
|
3
8
|
export declare function narrowString<T extends string>(): ZodType<T, ZodTypeDef, T>;
|
|
9
|
+
/**
|
|
10
|
+
* An option the schema cannot describe structurally — a component instance, or
|
|
11
|
+
* a shape only meaningful to the factory. It validates anything; pair it with a
|
|
12
|
+
* `json` or `block` widget so the UI knows how to present it.
|
|
13
|
+
*/
|
|
4
14
|
export declare function opaqueOption<T>(): ZodType<T, ZodTypeDef, T>;
|
|
15
|
+
/**
|
|
16
|
+
* An opaque option the factory cannot do without. `z.any()` accepts
|
|
17
|
+
* `undefined`, so a plain {@link opaqueOption} would let a missing required
|
|
18
|
+
* value validate; this one refuses it.
|
|
19
|
+
*/
|
|
5
20
|
export declare function requiredOpaqueOption<T>(): ZodType<T, ZodTypeDef, T>;
|
|
21
|
+
/**
|
|
22
|
+
* Attach builder presentation hints to an option schema. The schema is returned
|
|
23
|
+
* unchanged, so `ui()` wraps a declaration in place:
|
|
24
|
+
*
|
|
25
|
+
* ```typescript
|
|
26
|
+
* icon: ui(z.string().optional(), { widget: "icon", group: "appearance" })
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* Hints live in a side table rather than in the schema, so validation and type
|
|
30
|
+
* inference are untouched.
|
|
31
|
+
*/
|
|
6
32
|
export declare function ui<T extends ZodTypeAny>(schema: T, hints: BlockOptionUi): T;
|
|
@@ -5,19 +5,45 @@ exports.opaqueOption = opaqueOption;
|
|
|
5
5
|
exports.requiredOpaqueOption = requiredOpaqueOption;
|
|
6
6
|
exports.ui = ui;
|
|
7
7
|
const zod_1 = require("zod");
|
|
8
|
-
const ui_1 = require("./ui");
|
|
8
|
+
const ui_1 = require("./internal/ui");
|
|
9
|
+
/**
|
|
10
|
+
* A string option whose declared type is narrower than `string` — a
|
|
11
|
+
* template-literal union such as a colour value, or a branded id. The schema
|
|
12
|
+
* still validates as a string, so a builder UI keeps a text control.
|
|
13
|
+
*/
|
|
9
14
|
function narrowString() {
|
|
10
15
|
const schema = zod_1.z.string();
|
|
11
16
|
return schema;
|
|
12
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* An option the schema cannot describe structurally — a component instance, or
|
|
20
|
+
* a shape only meaningful to the factory. It validates anything; pair it with a
|
|
21
|
+
* `json` or `block` widget so the UI knows how to present it.
|
|
22
|
+
*/
|
|
13
23
|
function opaqueOption() {
|
|
14
24
|
return zod_1.z.any();
|
|
15
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* An opaque option the factory cannot do without. `z.any()` accepts
|
|
28
|
+
* `undefined`, so a plain {@link opaqueOption} would let a missing required
|
|
29
|
+
* value validate; this one refuses it.
|
|
30
|
+
*/
|
|
16
31
|
function requiredOpaqueOption() {
|
|
17
32
|
return zod_1.z.custom((value) => value !== undefined, {
|
|
18
33
|
message: "Required",
|
|
19
34
|
});
|
|
20
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Attach builder presentation hints to an option schema. The schema is returned
|
|
38
|
+
* unchanged, so `ui()` wraps a declaration in place:
|
|
39
|
+
*
|
|
40
|
+
* ```typescript
|
|
41
|
+
* icon: ui(z.string().optional(), { widget: "icon", group: "appearance" })
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* Hints live in a side table rather than in the schema, so validation and type
|
|
45
|
+
* inference are untouched.
|
|
46
|
+
*/
|
|
21
47
|
function ui(schema, hints) {
|
|
22
48
|
ui_1.UI_HINTS.set(schema, hints);
|
|
23
49
|
return schema;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/base/block-registry/helpers.ts"],"names":[],"mappings":";;AASA,oCAGC;AAOD,oCAEC;AAOD,oDAIC;AAaD,gBAGC;AAhDD,6BAAwE;AAExE,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/base/block-registry/helpers.ts"],"names":[],"mappings":";;AASA,oCAGC;AAOD,oCAEC;AAOD,oDAIC;AAaD,gBAGC;AAhDD,6BAAwE;AAExE,sCAAyC;AAEzC;;;;GAIG;AACH,SAAgB,YAAY;IAC1B,MAAM,MAAM,GAAwC,OAAC,CAAC,MAAM,EAAE,CAAC;IAC/D,OAAO,MAAmC,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,SAAgB,YAAY;IAC1B,OAAO,OAAC,CAAC,GAAG,EAA+B,CAAC;AAC9C,CAAC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB;IAClC,OAAO,OAAC,CAAC,MAAM,CAAI,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,EAAE;QACjD,OAAO,EAAE,UAAU;KACpB,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,EAAE,CAAuB,MAAS,EAAE,KAAoB;IACtE,aAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC5B,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { type ZodTypeAny } from "zod";
|
|
2
|
+
import type { BlockOptionSchema } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* A copy of a default value, so freezing a descriptor never reaches an object
|
|
5
|
+
* zod also holds — `.default(obj)` hands back that very instance on every
|
|
6
|
+
* parse, and a frozen one is unwritable for every consumer of the schema.
|
|
7
|
+
*
|
|
8
|
+
* `structuredClone` is used because it reproduces a `Date`, a `RegExp`, a `Map`
|
|
9
|
+
* and a `Set`; copying own properties, as a hand-rolled walk does, flattens
|
|
10
|
+
* every one of those to `{}`. A value it cannot clone — a function, a class
|
|
11
|
+
* instance — is not a describable default, and is passed through rather than
|
|
12
|
+
* lost.
|
|
13
|
+
*
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export declare function cloneDefault<T>(value: T): T;
|
|
17
|
+
/**
|
|
18
|
+
* Describe one option schema as a JSON-serializable shape.
|
|
19
|
+
*
|
|
20
|
+
* @internal
|
|
21
|
+
*/
|
|
22
|
+
export declare function describeSchema(schema: ZodTypeAny, depth?: number): BlockOptionSchema;
|
|
23
|
+
/**
|
|
24
|
+
* Describe a block's whole options schema. A non-object schema yields an empty
|
|
25
|
+
* record, since a block's options are always a plain object.
|
|
26
|
+
*
|
|
27
|
+
* @internal
|
|
28
|
+
*/
|
|
29
|
+
export declare function describeOptions(schema?: ZodTypeAny): Record<string, BlockOptionSchema>;
|
|
30
|
+
/**
|
|
31
|
+
* The default value of every option that declares one.
|
|
32
|
+
*
|
|
33
|
+
* @internal
|
|
34
|
+
*/
|
|
35
|
+
export declare function collectDefaults(described: Record<string, BlockOptionSchema>): Record<string, unknown>;
|
|
@@ -7,6 +7,8 @@ exports.collectDefaults = collectDefaults;
|
|
|
7
7
|
const zod_1 = require("zod");
|
|
8
8
|
const ui_1 = require("./ui");
|
|
9
9
|
const MAX_DEPTH = 6;
|
|
10
|
+
// Wrappers nest independently of the shape's depth: optional-of-default-of-
|
|
11
|
+
// nullable is three peels around a single node.
|
|
10
12
|
const MAX_WRAPPERS = 8;
|
|
11
13
|
const WRAPPER_INNER = {
|
|
12
14
|
[zod_1.ZodFirstPartyTypeKind.ZodOptional]: (def) => def.innerType,
|
|
@@ -18,16 +20,24 @@ const WRAPPER_INNER = {
|
|
|
18
20
|
[zod_1.ZodFirstPartyTypeKind.ZodBranded]: (def) => def.type,
|
|
19
21
|
[zod_1.ZodFirstPartyTypeKind.ZodEffects]: (def) => def.schema,
|
|
20
22
|
[zod_1.ZodFirstPartyTypeKind.ZodLazy]: (def) => def.getter(),
|
|
23
|
+
// The registry validates what a caller passes, so a pipeline describes its
|
|
24
|
+
// input rather than what it transforms into.
|
|
21
25
|
[zod_1.ZodFirstPartyTypeKind.ZodPipeline]: (def) => def.in,
|
|
22
26
|
};
|
|
23
27
|
function defOf(schema) {
|
|
24
28
|
return schema._def;
|
|
25
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* The walker reads zod 3's internal `_def.typeName`. A zod whose schemas carry
|
|
32
|
+
* none would describe every option as shapeless, which is worse than not
|
|
33
|
+
* answering at all — so say so instead.
|
|
34
|
+
*/
|
|
26
35
|
function assertDescribable(def) {
|
|
27
36
|
if (def.typeName === undefined) {
|
|
28
37
|
throw new Error("block-registry: this zod exposes no _def.typeName; the option walker supports zod 3");
|
|
29
38
|
}
|
|
30
39
|
}
|
|
40
|
+
/** Peel wrappers off a schema, collecting the flags and hints they carry. */
|
|
31
41
|
function unwrap(schema) {
|
|
32
42
|
const result = {
|
|
33
43
|
schema,
|
|
@@ -54,7 +64,12 @@ function unwrap(schema) {
|
|
|
54
64
|
}
|
|
55
65
|
current = inner(def);
|
|
56
66
|
}
|
|
67
|
+
// The loop reads hints at the top of each turn, so the node it stops on has
|
|
68
|
+
// not been read yet — at exactly the budget its hints would be lost.
|
|
57
69
|
hints.push((0, ui_1.getUiHints)(current));
|
|
70
|
+
// Still on a wrapper: the budget ran out rather than the walk finishing, and
|
|
71
|
+
// the node below is never described. Saying so beats reporting a shape that
|
|
72
|
+
// reads as "no structure".
|
|
58
73
|
result.exhausted =
|
|
59
74
|
peeled && WRAPPER_INNER[defOf(current).typeName] !== undefined;
|
|
60
75
|
result.schema = current;
|
|
@@ -62,6 +77,19 @@ function unwrap(schema) {
|
|
|
62
77
|
result.description = descriptions.find((entry) => !!entry);
|
|
63
78
|
return result;
|
|
64
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* A copy of a default value, so freezing a descriptor never reaches an object
|
|
82
|
+
* zod also holds — `.default(obj)` hands back that very instance on every
|
|
83
|
+
* parse, and a frozen one is unwritable for every consumer of the schema.
|
|
84
|
+
*
|
|
85
|
+
* `structuredClone` is used because it reproduces a `Date`, a `RegExp`, a `Map`
|
|
86
|
+
* and a `Set`; copying own properties, as a hand-rolled walk does, flattens
|
|
87
|
+
* every one of those to `{}`. A value it cannot clone — a function, a class
|
|
88
|
+
* instance — is not a describable default, and is passed through rather than
|
|
89
|
+
* lost.
|
|
90
|
+
*
|
|
91
|
+
* @internal
|
|
92
|
+
*/
|
|
65
93
|
function cloneDefault(value) {
|
|
66
94
|
if (typeof value !== "object" || value === null) {
|
|
67
95
|
return value;
|
|
@@ -90,6 +118,7 @@ const PRIMITIVE = {
|
|
|
90
118
|
[zod_1.ZodFirstPartyTypeKind.ZodMap]: "unknown",
|
|
91
119
|
[zod_1.ZodFirstPartyTypeKind.ZodSet]: "unknown",
|
|
92
120
|
};
|
|
121
|
+
/** The kinds whose shape the walker descends into, and what they report as. */
|
|
93
122
|
const STRUCTURED_TYPE = {
|
|
94
123
|
[zod_1.ZodFirstPartyTypeKind.ZodObject]: "object",
|
|
95
124
|
[zod_1.ZodFirstPartyTypeKind.ZodArray]: "array",
|
|
@@ -108,6 +137,7 @@ function literalType(value) {
|
|
|
108
137
|
}
|
|
109
138
|
return "string";
|
|
110
139
|
}
|
|
140
|
+
/** Collapse a union of single-value enums into one enum, as a picker wants it. */
|
|
111
141
|
function mergeLiteralBranches(branches) {
|
|
112
142
|
const values = [];
|
|
113
143
|
for (const branch of branches) {
|
|
@@ -130,6 +160,8 @@ function describeUnion(def, depth) {
|
|
|
130
160
|
return merged;
|
|
131
161
|
}
|
|
132
162
|
const discriminator = def.discriminator;
|
|
163
|
+
// The branches disagree on kind, so the union has none of its own: a consumer
|
|
164
|
+
// switches on `oneOf` rather than on `type`.
|
|
133
165
|
const described = {
|
|
134
166
|
type: "union",
|
|
135
167
|
oneOf: branches,
|
|
@@ -179,10 +211,17 @@ const HANDLERS = {
|
|
|
179
211
|
enum: Object.values(def.values),
|
|
180
212
|
}),
|
|
181
213
|
};
|
|
214
|
+
/**
|
|
215
|
+
* Describe one option schema as a JSON-serializable shape.
|
|
216
|
+
*
|
|
217
|
+
* @internal
|
|
218
|
+
*/
|
|
182
219
|
function describeSchema(schema, depth = 0) {
|
|
183
220
|
const unwrapped = unwrap(schema);
|
|
184
221
|
const def = defOf(unwrapped.schema);
|
|
185
222
|
assertDescribable(def);
|
|
223
|
+
// Past the depth bound the shape is not walked, but its kind is still known:
|
|
224
|
+
// reporting `unknown` would read as "no structure" rather than "more below".
|
|
186
225
|
const truncated = unwrapped.exhausted === true ||
|
|
187
226
|
(depth >= MAX_DEPTH && def.typeName in STRUCTURED_TYPE);
|
|
188
227
|
const handler = truncated ? undefined : HANDLERS[def.typeName];
|
|
@@ -212,6 +251,12 @@ function describeShape(shape, depth) {
|
|
|
212
251
|
}
|
|
213
252
|
return described;
|
|
214
253
|
}
|
|
254
|
+
/**
|
|
255
|
+
* Describe a block's whole options schema. A non-object schema yields an empty
|
|
256
|
+
* record, since a block's options are always a plain object.
|
|
257
|
+
*
|
|
258
|
+
* @internal
|
|
259
|
+
*/
|
|
215
260
|
function describeOptions(schema) {
|
|
216
261
|
if (!schema) {
|
|
217
262
|
return {};
|
|
@@ -223,6 +268,11 @@ function describeOptions(schema) {
|
|
|
223
268
|
}
|
|
224
269
|
return describeShape(def.shape(), 0);
|
|
225
270
|
}
|
|
271
|
+
/**
|
|
272
|
+
* The default value of every option that declares one.
|
|
273
|
+
*
|
|
274
|
+
* @internal
|
|
275
|
+
*/
|
|
226
276
|
function collectDefaults(described) {
|
|
227
277
|
const defaults = {};
|
|
228
278
|
for (const [key, option] of Object.entries(described)) {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"describe.js","sourceRoot":"","sources":["../../../../src/base/block-registry/internal/describe.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { ZodTypeAny } from "zod";
|
|
2
|
+
import type { BlockOptionUi } from "../types";
|
|
3
|
+
/**
|
|
4
|
+
* Hints live in a side table rather than in the schema, so validation and type
|
|
5
|
+
* inference are untouched. `ui()`, the declaration side, lives in `./helpers`
|
|
6
|
+
* with the other authoring helpers; reading them stays here.
|
|
7
|
+
*
|
|
8
|
+
* @internal
|
|
9
|
+
*/
|
|
10
|
+
export declare const UI_HINTS: WeakMap<ZodTypeAny, BlockOptionUi>;
|
|
11
|
+
/**
|
|
12
|
+
* The hints attached to a schema node, if any.
|
|
13
|
+
*
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export declare function getUiHints(schema: ZodTypeAny): BlockOptionUi | undefined;
|
|
17
|
+
/**
|
|
18
|
+
* Merge hints collected while unwrapping a schema. Outer wrappers
|
|
19
|
+
* (`optional`, `default`) are visited first, so an inner hint wins.
|
|
20
|
+
*
|
|
21
|
+
* @internal
|
|
22
|
+
*/
|
|
23
|
+
export declare function mergeUiHints(hints: Array<BlockOptionUi | undefined>): BlockOptionUi | undefined;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UI_HINTS = void 0;
|
|
4
|
+
exports.getUiHints = getUiHints;
|
|
5
|
+
exports.mergeUiHints = mergeUiHints;
|
|
6
|
+
/**
|
|
7
|
+
* Hints live in a side table rather than in the schema, so validation and type
|
|
8
|
+
* inference are untouched. `ui()`, the declaration side, lives in `./helpers`
|
|
9
|
+
* with the other authoring helpers; reading them stays here.
|
|
10
|
+
*
|
|
11
|
+
* @internal
|
|
12
|
+
*/
|
|
13
|
+
exports.UI_HINTS = new WeakMap();
|
|
14
|
+
/**
|
|
15
|
+
* The hints attached to a schema node, if any.
|
|
16
|
+
*
|
|
17
|
+
* @internal
|
|
18
|
+
*/
|
|
19
|
+
function getUiHints(schema) {
|
|
20
|
+
return exports.UI_HINTS.get(schema);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Merge hints collected while unwrapping a schema. Outer wrappers
|
|
24
|
+
* (`optional`, `default`) are visited first, so an inner hint wins.
|
|
25
|
+
*
|
|
26
|
+
* @internal
|
|
27
|
+
*/
|
|
28
|
+
function mergeUiHints(hints) {
|
|
29
|
+
const defined = hints.filter((hint) => !!hint);
|
|
30
|
+
if (defined.length === 0) {
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
return Object.assign({}, ...defined);
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=ui.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ui.js","sourceRoot":"","sources":["../../../../src/base/block-registry/internal/ui.ts"],"names":[],"mappings":";;;AAiBA,gCAEC;AAQD,oCAQC;AAhCD;;;;;;GAMG;AACU,QAAA,QAAQ,GAAG,IAAI,OAAO,EAA6B,CAAC;AAEjE;;;;GAIG;AACH,SAAgB,UAAU,CAAC,MAAkB;IAC3C,OAAO,gBAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAC1B,KAAuC;IAEvC,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAyB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IACtE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC;AACvC,CAAC"}
|
|
@@ -1,19 +1,43 @@
|
|
|
1
1
|
import type { ZodTypeAny } from "zod";
|
|
2
2
|
import type { BlockTypeDefinition, BlockTypeDescriptor } from "./types";
|
|
3
|
+
/**
|
|
4
|
+
* Declare a block type so builder tooling can list, describe and validate it.
|
|
5
|
+
* Called once per factory, next to the factory itself.
|
|
6
|
+
*
|
|
7
|
+
* A second registration under a name already taken replaces the first, which
|
|
8
|
+
* would let a third-party module quietly stand in for a core block. It is
|
|
9
|
+
* allowed, because a module reloaded in development re-runs its registrations,
|
|
10
|
+
* but it is reported so the collision is not silent.
|
|
11
|
+
*/
|
|
3
12
|
export declare function RegisterBlockType(definition: BlockTypeDefinition): void;
|
|
13
|
+
/** Every declared block type, described and JSON-serializable. */
|
|
4
14
|
export declare function ListBlockTypes(): BlockTypeDescriptor[];
|
|
15
|
+
/** One declared block type, or `undefined` when the type is unknown. */
|
|
5
16
|
export declare function GetBlockType(type: string): BlockTypeDescriptor | undefined;
|
|
17
|
+
/** The raw options schema of a block type, for callers that hold zod. */
|
|
6
18
|
export declare function GetBlockSchema(type: string): ZodTypeAny | undefined;
|
|
19
|
+
/** A validation failure, addressed by a JSON pointer into the options object. */
|
|
7
20
|
export interface BlockOptionIssue {
|
|
8
21
|
pointer: string;
|
|
9
22
|
message: string;
|
|
10
23
|
}
|
|
24
|
+
/** The options satisfy the block type's schema. */
|
|
11
25
|
export interface BlockValidationOk {
|
|
12
26
|
valid: true;
|
|
13
27
|
}
|
|
28
|
+
/** The options break the block type's schema, at each of `issues`. */
|
|
14
29
|
export interface BlockValidationFailed {
|
|
15
30
|
valid: false;
|
|
16
31
|
issues: BlockOptionIssue[];
|
|
17
32
|
}
|
|
33
|
+
/** What {@link ValidateBlockOptions} answers. */
|
|
18
34
|
export type BlockValidation = BlockValidationOk | BlockValidationFailed;
|
|
35
|
+
/**
|
|
36
|
+
* Validate a block's options against its declared schema.
|
|
37
|
+
*
|
|
38
|
+
* A registered type that declares no schema validates: the caller cannot do
|
|
39
|
+
* better than the declaration allows. A type that is not registered at all is
|
|
40
|
+
* refused — the registry knows it is unknown, and answering "valid" to a
|
|
41
|
+
* misspelled block type would send the caller on to write it.
|
|
42
|
+
*/
|
|
19
43
|
export declare function ValidateBlockOptions(type: string, options: unknown): BlockValidation;
|