@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
|
@@ -6,6 +6,7 @@ const component_1 = require("../component");
|
|
|
6
6
|
const zod_1 = require("zod");
|
|
7
7
|
const block_registry_1 = require("./block-registry");
|
|
8
8
|
const size_1 = require("./types/size");
|
|
9
|
+
/** Every date range the selector can offer. */
|
|
9
10
|
exports.PERIOD_PRESETS = [
|
|
10
11
|
"last-hour",
|
|
11
12
|
"last-24h",
|
|
@@ -22,16 +23,29 @@ exports.PERIOD_PRESETS = [
|
|
|
22
23
|
"last-year",
|
|
23
24
|
"custom",
|
|
24
25
|
];
|
|
26
|
+
/** Every comparison the selector can offer. */
|
|
25
27
|
exports.PERIOD_COMPARISONS = [
|
|
26
28
|
"none",
|
|
27
29
|
"previous-period",
|
|
28
30
|
"previous-year",
|
|
29
31
|
"custom",
|
|
30
32
|
];
|
|
33
|
+
/** Where the selector sits in its row. */
|
|
31
34
|
exports.PERIOD_ALIGNS = ["left", "center", "right"];
|
|
35
|
+
/** How the selector renders its presets. */
|
|
32
36
|
exports.PERIOD_SELECTOR_VARIANTS = ["default", "segmented"];
|
|
37
|
+
/**
|
|
38
|
+
* The scope a selector drives when nothing else is named: the one a builder
|
|
39
|
+
* binds a card's period to. One selector per page needs no other.
|
|
40
|
+
*/
|
|
33
41
|
exports.DEFAULT_PERIOD_SCOPE = "page";
|
|
34
42
|
const PERIOD_SELECTOR_COMPONENT_NAME = "dms-period-selector";
|
|
43
|
+
/**
|
|
44
|
+
* `options` is optional because a page is written as it is built: the editor
|
|
45
|
+
* places a block before anything is configured, and writes that as the bare
|
|
46
|
+
* call `PeriodSelector()`. A page under construction has to compile — it is typechecked
|
|
47
|
+
* on every edit — so a block with nothing set yet has to be a legal call.
|
|
48
|
+
*/
|
|
35
49
|
function PeriodSelector(options) {
|
|
36
50
|
return new component_1.ComponentBuilder(PERIOD_SELECTOR_COMPONENT_NAME)
|
|
37
51
|
.options({ ...options, id: options?.id ?? exports.DEFAULT_PERIOD_SCOPE })
|
|
@@ -40,6 +54,10 @@ function PeriodSelector(options) {
|
|
|
40
54
|
icon: "i-ph-calendar",
|
|
41
55
|
});
|
|
42
56
|
}
|
|
57
|
+
/**
|
|
58
|
+
* What an editor calls each range and each comparison. The same words the
|
|
59
|
+
* selector shows in English, so an author sees the entry they are relabelling.
|
|
60
|
+
*/
|
|
43
61
|
const PERIOD_PRESET_LABELS = {
|
|
44
62
|
"last-hour": "Last hour",
|
|
45
63
|
"last-24h": "Last 24 hours",
|
|
@@ -68,7 +86,10 @@ const presetSchema = (0, block_registry_1.ui)(zod_1.z.enum(exports.PERIOD_PRESET
|
|
|
68
86
|
const comparisonSchema = (0, block_registry_1.ui)(zod_1.z.enum(exports.PERIOD_COMPARISONS), {
|
|
69
87
|
valueLabels: PERIOD_COMPARISON_LABELS,
|
|
70
88
|
});
|
|
89
|
+
/** The options `PeriodSelector` accepts. */
|
|
71
90
|
exports.PeriodSelectorSchema = zod_1.z.object({
|
|
91
|
+
// A card bound to a period follows the page's scope, so a selector seeded
|
|
92
|
+
// with an id of its own drove no card at all — and said nothing.
|
|
72
93
|
id: (0, block_registry_1.ui)(zod_1.z
|
|
73
94
|
.string()
|
|
74
95
|
.default(exports.DEFAULT_PERIOD_SCOPE)
|
|
@@ -91,6 +112,8 @@ exports.PeriodSelectorSchema = zod_1.z.object({
|
|
|
91
112
|
label: "Available comparisons",
|
|
92
113
|
group: "behavior",
|
|
93
114
|
}),
|
|
115
|
+
// Keyed by a closed set, so an editor lists one entry per range to relabel
|
|
116
|
+
// rather than asking for an object typed by hand.
|
|
94
117
|
presetLabels: (0, block_registry_1.ui)(zod_1.z.record(presetSchema, zod_1.z.string()).optional(), {
|
|
95
118
|
label: "Range labels",
|
|
96
119
|
group: "content",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"period-selector.js","sourceRoot":"","sources":["../../src/base/period-selector.ts"],"names":[],"mappings":";;;AA2EA,wCAWC;AAtFD,4CAAgD;AAChD,6BAAwB;AACxB,qDAA+E;AAE/E,uCAAqC;
|
|
1
|
+
{"version":3,"file":"period-selector.js","sourceRoot":"","sources":["../../src/base/period-selector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,25 @@
|
|
|
1
1
|
import { ComponentBuilder } from "../component";
|
|
2
2
|
import { z } from "zod";
|
|
3
|
+
/**
|
|
4
|
+
* Options for Placeholder component
|
|
5
|
+
*/
|
|
3
6
|
export interface PlaceholderOptions {
|
|
7
|
+
/**
|
|
8
|
+
* Label text to display in the box
|
|
9
|
+
*/
|
|
4
10
|
label?: string;
|
|
11
|
+
/**
|
|
12
|
+
* Height of the box (CSS unit)
|
|
13
|
+
* @default undefined (fills its cell, never under 120px)
|
|
14
|
+
*/
|
|
5
15
|
height?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Width of the box (CSS unit)
|
|
18
|
+
* @default undefined (auto)
|
|
19
|
+
*/
|
|
6
20
|
width?: string;
|
|
7
21
|
}
|
|
22
|
+
/** The options `Placeholder` accepts. */
|
|
8
23
|
export declare const PlaceholderSchema: z.ZodObject<{
|
|
9
24
|
label: z.ZodOptional<z.ZodString>;
|
|
10
25
|
height: z.ZodOptional<z.ZodString>;
|
|
@@ -18,4 +33,15 @@ export declare const PlaceholderSchema: z.ZodObject<{
|
|
|
18
33
|
height?: string | undefined;
|
|
19
34
|
width?: string | undefined;
|
|
20
35
|
}>;
|
|
36
|
+
/**
|
|
37
|
+
* Placeholder - Development Placeholder Component
|
|
38
|
+
*
|
|
39
|
+
* A visual placeholder component for demonstrations and examples.
|
|
40
|
+
* Shows a bordered box with a pattern background and optional label.
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* ```typescript
|
|
44
|
+
* Placeholder({ label: 'Item 1', height: '200px' })
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
21
47
|
export declare function Placeholder(options?: PlaceholderOptions): ComponentBuilder<PlaceholderOptions>;
|
package/dist/base/placeholder.js
CHANGED
|
@@ -6,6 +6,7 @@ const component_1 = require("../component");
|
|
|
6
6
|
const zod_1 = require("zod");
|
|
7
7
|
const block_registry_1 = require("./block-registry");
|
|
8
8
|
const PLACEHOLDER_COMPONENT_NAME = "dms-placeholder";
|
|
9
|
+
/** The options `Placeholder` accepts. */
|
|
9
10
|
exports.PlaceholderSchema = zod_1.z.object({
|
|
10
11
|
label: (0, block_registry_1.ui)(zod_1.z.string().optional().describe("Text shown inside the box."), {
|
|
11
12
|
label: "Label",
|
|
@@ -20,6 +21,17 @@ exports.PlaceholderSchema = zod_1.z.object({
|
|
|
20
21
|
.optional()
|
|
21
22
|
.describe("Box width, as a CSS length. Fills its column when omitted."), { label: "Width", group: "appearance" }),
|
|
22
23
|
});
|
|
24
|
+
/**
|
|
25
|
+
* Placeholder - Development Placeholder Component
|
|
26
|
+
*
|
|
27
|
+
* A visual placeholder component for demonstrations and examples.
|
|
28
|
+
* Shows a bordered box with a pattern background and optional label.
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```typescript
|
|
32
|
+
* Placeholder({ label: 'Item 1', height: '200px' })
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
23
35
|
function Placeholder(options) {
|
|
24
36
|
return new component_1.ComponentBuilder(PLACEHOLDER_COMPONENT_NAME)
|
|
25
37
|
.options({ ...options })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"placeholder.js","sourceRoot":"","sources":["../../src/base/placeholder.ts"],"names":[],"mappings":";;;AA6DA,kCASC;AAtED,4CAAgD;AAChD,6BAAwB;AACxB,qDAA+E;AAE/E,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"placeholder.js","sourceRoot":"","sources":["../../src/base/placeholder.ts"],"names":[],"mappings":";;;AA6DA,kCASC;AAtED,4CAAgD;AAChD,6BAAwB;AACxB,qDAA+E;AAE/E,MAAM,0BAA0B,GAAG,iBAAiB,CAAC;AAwBrD,yCAAyC;AAC5B,QAAA,iBAAiB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,KAAK,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4BAA4B,CAAC,EAAE;QACtE,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,SAAS;KACjB,CAAC;IACF,MAAM,EAAE,IAAA,mBAAE,EACR,OAAC;SACE,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,2DAA2D,CAAC,EACxE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,CACzC;IACD,KAAK,EAAE,IAAA,mBAAE,EACP,OAAC;SACE,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CAAC,4DAA4D,CAAC,EACzE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CACxC;CACF,CAA+C,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,SAAgB,WAAW,CACzB,OAA4B;IAE5B,OAAO,IAAI,4BAAgB,CAAqB,0BAA0B,CAAC;SACxE,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC;SACvB,IAAI,CAAC;QACJ,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,gBAAgB;KACvB,CAAC,CAAC;AACP,CAAC;AAED,IAAA,kCAAiB,EAAC;IAChB,IAAI,EAAE,aAAa;IACnB,aAAa,EAAE,0BAA0B;IACzC,MAAM,EAAE,yBAAiB;IACzB,IAAI,EAAE;QACJ,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,kDAAkD;QAC/D,KAAK,EAAE,QAAQ;KAChB;CACF,CAAC,CAAC"}
|
|
@@ -1,37 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Turning the points a generated query answers into what a block reads.
|
|
3
|
+
*
|
|
4
|
+
* A calculation answers one thing — a measure per group — while the blocks that
|
|
5
|
+
* read it want different arrangements of it: a chart wants the points, a card
|
|
6
|
+
* wants a headline figure above them, a ranked list wants entries. Rather than
|
|
7
|
+
* teach the generator to write each arrangement into every route, a route hands
|
|
8
|
+
* its points to one of these and returns the result.
|
|
9
|
+
*
|
|
10
|
+
* That keeps a generated route to a single expression, which is what lets the
|
|
11
|
+
* builder go on reading its own code back.
|
|
12
|
+
*
|
|
13
|
+
* Nothing here invents a figure it was not given: an absent measure stays absent
|
|
14
|
+
* all the way to the block, because a fabricated zero reads exactly like a
|
|
15
|
+
* measured one.
|
|
16
|
+
*/
|
|
1
17
|
import type { ChartSeries } from "./chart";
|
|
18
|
+
/** One measured group: what it is, and what was measured. */
|
|
2
19
|
export interface SeriesPoint {
|
|
3
20
|
x: number | string;
|
|
21
|
+
/** Null for a group the calculation found nothing to measure in. */
|
|
4
22
|
y: number | null;
|
|
5
23
|
}
|
|
24
|
+
/** How the headline figure is taken from the points. */
|
|
6
25
|
export type SeriesMeasure = "count" | "sum" | "avg" | "min" | "max";
|
|
7
26
|
export interface SeriesOptions {
|
|
8
27
|
measure: SeriesMeasure;
|
|
28
|
+
/**
|
|
29
|
+
* What a legend and a tooltip call the series. The caller is expected to supply
|
|
30
|
+
* one a reader recognizes — the builder derives it from the measured field —
|
|
31
|
+
* because all that is left to name a series by is the measure's own word.
|
|
32
|
+
*/
|
|
9
33
|
label?: string;
|
|
34
|
+
/** The same calculation over the preceding period, when one was asked for. */
|
|
10
35
|
previous?: SeriesPoint[];
|
|
11
36
|
}
|
|
37
|
+
/** A figure alongside the one before it, and the share between them. */
|
|
12
38
|
export interface ComparedFigure {
|
|
39
|
+
/** Absent when the preceding period measured nothing to compare against. */
|
|
13
40
|
previousValue?: number;
|
|
41
|
+
/**
|
|
42
|
+
* Absent when no share can be stated, which includes a preceding zero: growth
|
|
43
|
+
* away from nothing is unbounded, so 0 to 100 carries no variation at all.
|
|
44
|
+
* Blocks show none in that case rather than a stand-in for one. Written down
|
|
45
|
+
* because consumers depend on it, not left to be discovered.
|
|
46
|
+
*/
|
|
14
47
|
delta?: number;
|
|
15
48
|
}
|
|
16
49
|
export interface ChartCardData extends ComparedFigure {
|
|
50
|
+
/** Absent when no group was measured; see `headline`. */
|
|
17
51
|
value?: number;
|
|
18
52
|
series: ChartSeries[];
|
|
19
53
|
comparisonSeries?: ChartSeries[];
|
|
20
54
|
}
|
|
55
|
+
/** What `kpiCardData` hands a `KpiCard`: its figure and the sparkline behind it. */
|
|
21
56
|
export interface KpiCardData extends ComparedFigure {
|
|
57
|
+
/** Absent when no group was measured; see `headline`. */
|
|
22
58
|
value?: number;
|
|
23
59
|
sparkline?: number[];
|
|
24
60
|
}
|
|
61
|
+
/** One group of a `TopListCard`, with its change over the preceding period. */
|
|
25
62
|
export interface TopListEntry {
|
|
26
63
|
id: string | number;
|
|
27
64
|
title: string;
|
|
28
65
|
value: number;
|
|
29
66
|
delta?: number | null;
|
|
30
67
|
}
|
|
68
|
+
/** What `topListData` hands a `TopListCard`: one entry per measured group. */
|
|
31
69
|
export interface TopListData {
|
|
32
70
|
items: TopListEntry[];
|
|
33
71
|
}
|
|
34
|
-
|
|
72
|
+
/** Points as a chart card reads them: a figure, its series, and its variation. */
|
|
35
73
|
export declare function chartCardData(points: SeriesPoint[], options: SeriesOptions): ChartCardData;
|
|
74
|
+
/**
|
|
75
|
+
* Points as a KPI card reads them: one figure, and the points as its sparkline.
|
|
76
|
+
*
|
|
77
|
+
* The card draws the trend behind the number from the same calculation, so a KPI
|
|
78
|
+
* grouped over time costs no more than one without.
|
|
79
|
+
*/
|
|
36
80
|
export declare function kpiCardData(points: SeriesPoint[], options: SeriesOptions): KpiCardData;
|
|
81
|
+
/**
|
|
82
|
+
* Points as a ranked list reads them, each group an entry.
|
|
83
|
+
*
|
|
84
|
+
* A group with nothing measured in it has no place in a ranking: entered as a
|
|
85
|
+
* zero it would outrank every real loss, so it is left out.
|
|
86
|
+
*/
|
|
37
87
|
export declare function topListData(points: SeriesPoint[], options: SeriesOptions): TopListData;
|
|
@@ -1,46 +1,31 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.headline = headline;
|
|
4
3
|
exports.chartCardData = chartCardData;
|
|
5
4
|
exports.kpiCardData = kpiCardData;
|
|
6
5
|
exports.topListData = topListData;
|
|
7
|
-
const
|
|
6
|
+
const query_response_1 = require("./internal/query-response");
|
|
8
7
|
const MS_PER_DAY = 86_400_000;
|
|
8
|
+
/**
|
|
9
|
+
* The window a time bucket's key can fall in. Read as milliseconds, a group key
|
|
10
|
+
* outside it is a quantity or an identifier rather than an instant.
|
|
11
|
+
*/
|
|
9
12
|
const BUCKET_EPOCH_FIRST = Date.UTC(2000, 0, 1);
|
|
10
13
|
const BUCKET_EPOCH_LAST = Date.UTC(2100, 0, 1);
|
|
11
14
|
const ISO_DATE_END = 10;
|
|
12
15
|
const ISO_MINUTE_END = 16;
|
|
13
|
-
|
|
14
|
-
const HEADLINE_BY_MEASURE = {
|
|
15
|
-
count: total,
|
|
16
|
-
sum: total,
|
|
17
|
-
avg: (values) => total(values) / values.length,
|
|
18
|
-
min: (values) => Math.min(...values),
|
|
19
|
-
max: (values) => Math.max(...values),
|
|
20
|
-
};
|
|
21
|
-
function measuredValues(points) {
|
|
22
|
-
return points
|
|
23
|
-
.map((point) => point.y)
|
|
24
|
-
.filter((value) => value !== null);
|
|
25
|
-
}
|
|
26
|
-
function headline(points, measure = DEFAULT_MEASURE) {
|
|
27
|
-
const values = measuredValues(points);
|
|
28
|
-
if (values.length === 0) {
|
|
29
|
-
return undefined;
|
|
30
|
-
}
|
|
31
|
-
return HEADLINE_BY_MEASURE[measure](values);
|
|
32
|
-
}
|
|
16
|
+
/** The share a figure gained or lost against the one before it. */
|
|
33
17
|
function variation(current, previous) {
|
|
34
18
|
if (previous === 0) {
|
|
35
19
|
return current === 0 ? 0 : undefined;
|
|
36
20
|
}
|
|
37
21
|
return (current - previous) / previous;
|
|
38
22
|
}
|
|
23
|
+
/** Fill in the figure before this one and the share it moved, when there is one. */
|
|
39
24
|
function addComparison(target, value, options) {
|
|
40
25
|
if (!options.previous) {
|
|
41
26
|
return;
|
|
42
27
|
}
|
|
43
|
-
const previousValue = headline(options.previous, options.measure);
|
|
28
|
+
const previousValue = (0, query_response_1.headline)(options.previous, options.measure);
|
|
44
29
|
if (previousValue === undefined) {
|
|
45
30
|
return;
|
|
46
31
|
}
|
|
@@ -53,35 +38,61 @@ function addComparison(target, value, options) {
|
|
|
53
38
|
target.delta = delta;
|
|
54
39
|
}
|
|
55
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* The points as the one named series a chart draws.
|
|
43
|
+
*
|
|
44
|
+
* A chart reads `{ name, data }` and indexes into `data`; handed the bare points
|
|
45
|
+
* it takes each of them for a series with nothing in it and draws an empty
|
|
46
|
+
* canvas, without an error anywhere to say why.
|
|
47
|
+
*/
|
|
56
48
|
function chartSeries(points, name) {
|
|
57
49
|
return [{ name, data: points }];
|
|
58
50
|
}
|
|
51
|
+
/** Points as a chart card reads them: a figure, its series, and its variation. */
|
|
59
52
|
function chartCardData(points, options) {
|
|
60
53
|
const name = options.label ?? options.measure;
|
|
61
54
|
const data = { series: chartSeries(points, name) };
|
|
62
|
-
const value = headline(points, options.measure);
|
|
55
|
+
const value = (0, query_response_1.headline)(points, options.measure);
|
|
63
56
|
if (value !== undefined) {
|
|
64
57
|
data.value = value;
|
|
65
58
|
}
|
|
66
59
|
addComparison(data, value, options);
|
|
67
60
|
if (options.previous && options.previous.length > 0) {
|
|
61
|
+
// Named after the series it is compared against, not marked apart in its
|
|
62
|
+
// name: the block already sets it apart by colour and stroke, and a word
|
|
63
|
+
// added here would reach the legend in one language whatever the reader's is.
|
|
68
64
|
data.comparisonSeries = chartSeries(options.previous, name);
|
|
69
65
|
}
|
|
70
66
|
return data;
|
|
71
67
|
}
|
|
68
|
+
/**
|
|
69
|
+
* Points as a KPI card reads them: one figure, and the points as its sparkline.
|
|
70
|
+
*
|
|
71
|
+
* The card draws the trend behind the number from the same calculation, so a KPI
|
|
72
|
+
* grouped over time costs no more than one without.
|
|
73
|
+
*/
|
|
72
74
|
function kpiCardData(points, options) {
|
|
73
75
|
const data = {};
|
|
74
|
-
const value = headline(points, options.measure);
|
|
76
|
+
const value = (0, query_response_1.headline)(points, options.measure);
|
|
75
77
|
if (value !== undefined) {
|
|
76
78
|
data.value = value;
|
|
77
79
|
}
|
|
78
80
|
addComparison(data, value, options);
|
|
79
|
-
const values = measuredValues(points);
|
|
81
|
+
const values = (0, query_response_1.measuredValues)(points);
|
|
82
|
+
// One point is a figure, not a trend: a sparkline of it would draw a dot.
|
|
80
83
|
if (values.length > 1) {
|
|
81
84
|
data.sparkline = values;
|
|
82
85
|
}
|
|
83
86
|
return data;
|
|
84
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* A group's key as a person reads it.
|
|
90
|
+
*
|
|
91
|
+
* A time bucket arrives as epoch milliseconds, and a row titled `1772409600000`
|
|
92
|
+
* names nothing. A bucket that lands on a UTC midnight — which every day, month
|
|
93
|
+
* and year bucket does — is named by its date alone, since the zeroes below it
|
|
94
|
+
* carry no information.
|
|
95
|
+
*/
|
|
85
96
|
function groupTitle(key) {
|
|
86
97
|
if (typeof key !== "number" ||
|
|
87
98
|
!Number.isInteger(key) ||
|
|
@@ -116,6 +127,12 @@ function topListEntry(point, value, before) {
|
|
|
116
127
|
}
|
|
117
128
|
return entry;
|
|
118
129
|
}
|
|
130
|
+
/**
|
|
131
|
+
* Points as a ranked list reads them, each group an entry.
|
|
132
|
+
*
|
|
133
|
+
* A group with nothing measured in it has no place in a ranking: entered as a
|
|
134
|
+
* zero it would outrank every real loss, so it is left out.
|
|
135
|
+
*/
|
|
119
136
|
function topListData(points, options) {
|
|
120
137
|
const before = measuredByGroup(options.previous ?? []);
|
|
121
138
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-response.js","sourceRoot":"","sources":["../../src/base/query-response.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"query-response.js","sourceRoot":"","sources":["../../src/base/query-response.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,32 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
2
|
import type { FormProps } from "./form-types";
|
|
3
|
+
/** Which of a resource's forms: creating a row, editing one, or reading one. */
|
|
3
4
|
export declare const RESOURCE_FORM_MODES: readonly ["new", "edit", "view"];
|
|
4
5
|
export type ResourceFormMode = (typeof RESOURCE_FORM_MODES)[number];
|
|
6
|
+
/**
|
|
7
|
+
* The row a page reached as `…?id=<row>` is about. A page the builder writes
|
|
8
|
+
* has no route segment of its own to carry an id, so the query string does.
|
|
9
|
+
*/
|
|
5
10
|
export declare const QUERY_ROW_ID = "{{query.id}}";
|
|
11
|
+
/** The row a page served under a `:id` route segment is about. */
|
|
12
|
+
export declare const ROUTE_PARAM_ROW_ID = "{{params.id}}";
|
|
13
|
+
/** What a form over a resource leaves open: everything but its fields and routes. */
|
|
6
14
|
export interface ResourceFormOptions extends Omit<FormProps, "fields" | "fetchUrl" | "fetchUrlMethod" | "submitUrl" | "submitUrlMethod"> {
|
|
15
|
+
/**
|
|
16
|
+
* Where `edit` and `view` read the id of their row, as a token the form
|
|
17
|
+
* resolves against its page's URL.
|
|
18
|
+
*/
|
|
7
19
|
rowId?: string;
|
|
8
20
|
}
|
|
21
|
+
/** The options `ResourceForm` accepts, after its controller argument. */
|
|
9
22
|
export interface ResourceFormBlockOptions extends ResourceFormOptions {
|
|
10
23
|
mode: ResourceFormMode;
|
|
11
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* The options `ResourceForm` accepts. Deliberately few: which fields it shows,
|
|
27
|
+
* and where it loads and submits them, come from the resource and the mode —
|
|
28
|
+
* a field is configured on the resource, not on each form that shows it.
|
|
29
|
+
*/
|
|
12
30
|
export declare const ResourceFormSchema: z.ZodObject<{
|
|
13
31
|
fieldsOrientation: z.ZodOptional<z.ZodEnum<["horizontal", "vertical"]>>;
|
|
14
32
|
redirectOnSuccess: z.ZodOptional<z.ZodString>;
|
|
@@ -1,11 +1,28 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
// The options of the `ResourceForm` block, declared without loading the table
|
|
3
|
+
// view runtime, so builder tooling reads the block from the catalog alone. The
|
|
4
|
+
// factory lives with the forms it shares with `TableView`, in
|
|
5
|
+
// `table-view/resource-form`.
|
|
2
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ResourceFormSchema = exports.QUERY_ROW_ID = exports.RESOURCE_FORM_MODES = void 0;
|
|
7
|
+
exports.ResourceFormSchema = exports.ROUTE_PARAM_ROW_ID = exports.QUERY_ROW_ID = exports.RESOURCE_FORM_MODES = void 0;
|
|
4
8
|
const zod_1 = require("zod");
|
|
5
9
|
const block_registry_1 = require("./block-registry");
|
|
6
|
-
const form_block_schema_1 = require("./form-block-schema");
|
|
10
|
+
const form_block_schema_1 = require("./internal/form-block-schema");
|
|
11
|
+
const form_block_schema_2 = require("./form-block-schema");
|
|
12
|
+
/** Which of a resource's forms: creating a row, editing one, or reading one. */
|
|
7
13
|
exports.RESOURCE_FORM_MODES = ["new", "edit", "view"];
|
|
14
|
+
/**
|
|
15
|
+
* The row a page reached as `…?id=<row>` is about. A page the builder writes
|
|
16
|
+
* has no route segment of its own to carry an id, so the query string does.
|
|
17
|
+
*/
|
|
8
18
|
exports.QUERY_ROW_ID = "{{query.id}}";
|
|
19
|
+
/** The row a page served under a `:id` route segment is about. */
|
|
20
|
+
exports.ROUTE_PARAM_ROW_ID = "{{params.id}}";
|
|
21
|
+
/**
|
|
22
|
+
* The options `ResourceForm` accepts. Deliberately few: which fields it shows,
|
|
23
|
+
* and where it loads and submits them, come from the resource and the mode —
|
|
24
|
+
* a field is configured on the resource, not on each form that shows it.
|
|
25
|
+
*/
|
|
9
26
|
exports.ResourceFormSchema = zod_1.z.object({
|
|
10
27
|
mode: (0, block_registry_1.ui)(zod_1.z
|
|
11
28
|
.enum(exports.RESOURCE_FORM_MODES)
|
|
@@ -26,7 +43,7 @@ exports.ResourceFormSchema = zod_1.z.object({
|
|
|
26
43
|
order: 4,
|
|
27
44
|
group: "content",
|
|
28
45
|
}),
|
|
29
|
-
...
|
|
46
|
+
...form_block_schema_2.SubmitMessageOptions,
|
|
30
47
|
fieldsOrientation: (0, block_registry_1.ui)(zod_1.z.enum(["horizontal", "vertical"]).optional(), {
|
|
31
48
|
label: "Field orientation",
|
|
32
49
|
group: "layout",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-form-schema.js","sourceRoot":"","sources":["../../src/base/resource-form-schema.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"resource-form-schema.js","sourceRoot":"","sources":["../../src/base/resource-form-schema.ts"],"names":[],"mappings":";AAAA,8EAA8E;AAC9E,+EAA+E;AAC/E,8DAA8D;AAC9D,8BAA8B;;;AAE9B,6BAAwB;AACxB,qDAA+E;AAC/E,oEAAmE;AACnE,2DAA2D;AAG3D,gFAAgF;AACnE,QAAA,mBAAmB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAU,CAAC;AAGpE;;;GAGG;AACU,QAAA,YAAY,GAAG,cAAc,CAAC;AAE3C,kEAAkE;AACrD,QAAA,kBAAkB,GAAG,eAAe,CAAC;AAmBlD;;;;GAIG;AACU,QAAA,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,IAAI,EAAE,IAAA,mBAAE,EACN,OAAC;SACE,IAAI,CAAC,2BAAmB,CAAC;SACzB,QAAQ,CAAC,gDAAgD,CAAC,EAC7D,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAC9C;IACD,KAAK,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;QAC/B,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,SAAS;KACjB,CAAC;IACF,WAAW,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;QACrC,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,UAAU;KACnB,CAAC;IACF,WAAW,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;QACrC,KAAK,EAAE,qBAAqB;QAC5B,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,SAAS;KACjB,CAAC;IACF,GAAG,wCAAoB;IACvB,iBAAiB,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE;QACnE,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE,QAAQ;QACf,MAAM,EAAE,WAAW;KACpB,CAAC;IACF,iBAAiB,EAAE,IAAA,mBAAE,EACnB,OAAC;SACE,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,oEAAoE,CACrE,EACH,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,UAAU,EAAE,CAC1C;IACD,KAAK,EAAE,IAAA,mBAAE,EACP,OAAC;SACE,MAAM,EAAE;SACR,QAAQ,EAAE;SACV,QAAQ,CACP,yDAAyD,oBAAY,GAAG,CACzE,EACH,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,oBAAY,EAAE,CACvE;IACD,cAAc,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,CAAC,OAAC,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,EAAE,EAAE;QACnD,KAAK,EAAE,kBAAkB;QACzB,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,MAAM;KACf,CAAC;CACH,CAAqD,CAAC;AAEvD,IAAA,kCAAiB,EAAC;IAChB,IAAI,EAAE,cAAc;IACpB,aAAa,EAAE,uCAAmB;IAClC,MAAM,EAAE,0BAAkB;IAC1B,aAAa,EAAE,IAAI;IACnB,IAAI,EAAE;QACJ,IAAI,EAAE,YAAY;QAClB,IAAI,EAAE,kBAAkB;QACxB,WAAW,EACT,iGAAiG;QACnG,KAAK,EAAE,MAAM;KACd;CACF,CAAC,CAAC"}
|
|
@@ -3,6 +3,8 @@ export declare class SearchableMeta {
|
|
|
3
3
|
static key: symbol;
|
|
4
4
|
constructor(target: new (...args: unknown[]) => unknown);
|
|
5
5
|
readonly searchableFields: Record<string, string>;
|
|
6
|
+
/** A controller derived from this one searches the same fields. */
|
|
7
|
+
inherit(parent: SearchableMeta): void;
|
|
6
8
|
setSearchableField(key: string, compareMode: string): void;
|
|
7
9
|
getSearchableFields(): Record<string, string>;
|
|
8
10
|
}
|
package/dist/base/searchable.js
CHANGED
|
@@ -10,6 +10,10 @@ class SearchableMeta {
|
|
|
10
10
|
this.target = target;
|
|
11
11
|
}
|
|
12
12
|
searchableFields = {};
|
|
13
|
+
/** A controller derived from this one searches the same fields. */
|
|
14
|
+
inherit(parent) {
|
|
15
|
+
Object.assign(this.searchableFields, parent.searchableFields);
|
|
16
|
+
}
|
|
13
17
|
setSearchableField(key, compareMode) {
|
|
14
18
|
this.searchableFields[key] = compareMode;
|
|
15
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"searchable.js","sourceRoot":"","sources":["../../src/base/searchable.ts"],"names":[],"mappings":";;;AAAA,+DAAyD;AACzD,sEAA8E;AAE9E,MAAa,cAAc;IAGG;IAFrB,MAAM,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC;IAE7B,YAA4B,MAA2C;QAA3C,WAAM,GAAN,MAAM,CAAqC;IAAG,CAAC;IAE3D,gBAAgB,GAA2B,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"searchable.js","sourceRoot":"","sources":["../../src/base/searchable.ts"],"names":[],"mappings":";;;AAAA,+DAAyD;AACzD,sEAA8E;AAE9E,MAAa,cAAc;IAGG;IAFrB,MAAM,CAAC,GAAG,GAAG,MAAM,EAAE,CAAC;IAE7B,YAA4B,MAA2C;QAA3C,WAAM,GAAN,MAAM,CAAqC;IAAG,CAAC;IAE3D,gBAAgB,GAA2B,EAAE,CAAC;IAE9D,mEAAmE;IAC5D,OAAO,CAAC,MAAsB;QACnC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAChE,CAAC;IAEM,kBAAkB,CAAC,GAAW,EAAE,WAAmB;QACxD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;IAC3C,CAAC;IAEM,mBAAmB;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;;AAlBH,wCAmBC;AAED,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAE3B,QAAA,UAAU,GAAG,IAAA,kCAAqB,EAC7C,CAAC,MAAM,EAAE,GAAG,EAAE,WAAoB,EAAE,EAAE;IACpC,MAAM,cAAc,GAAG,IAAA,4BAAW,EAAC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACvE,MAAM,oBAAoB,GAAG,WAAW,IAAI,oBAAoB,CAAC;IACjE,cAAc,CAAC,kBAAkB,CAAC,GAAa,EAAE,oBAAoB,CAAC,CAAC;AACzE,CAAC,CACF,CAAC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { ComponentBuilder } from "../component";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import type { BaseComponentProps } from "./types";
|
|
4
|
+
/** The options `Section` takes. */
|
|
5
|
+
export interface SectionProps extends BaseComponentProps {
|
|
6
|
+
/** Heading above the card (i18n key with `$` or literal). */
|
|
7
|
+
title?: string;
|
|
8
|
+
/** One line under the heading. */
|
|
9
|
+
description?: string;
|
|
10
|
+
/** Destructive actions: the frame and the title turn to the error color. */
|
|
11
|
+
danger?: boolean;
|
|
12
|
+
/**
|
|
13
|
+
* The card frame around the children. Defaults to `true`; off for grids
|
|
14
|
+
* and custom layouts.
|
|
15
|
+
*/
|
|
16
|
+
card?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/** How a field row lays its label and control out. */
|
|
19
|
+
export declare const FIELD_ROW_LAYOUTS: readonly ["inline", "form", "stack"];
|
|
20
|
+
export type FieldRowLayout = (typeof FIELD_ROW_LAYOUTS)[number];
|
|
21
|
+
/** The options `FieldRow` takes. */
|
|
22
|
+
export interface FieldRowProps extends BaseComponentProps {
|
|
23
|
+
/** Row label (i18n key with `$` or literal). */
|
|
24
|
+
label?: string;
|
|
25
|
+
/** Help text under the label. */
|
|
26
|
+
description?: string;
|
|
27
|
+
/**
|
|
28
|
+
* `inline` (default): label left, compact control right — switches, selects,
|
|
29
|
+
* buttons. `form`: a 240px label column beside a full-width control. `stack`:
|
|
30
|
+
* the label above the control.
|
|
31
|
+
*/
|
|
32
|
+
layout?: FieldRowLayout;
|
|
33
|
+
/** Red asterisk after the label. */
|
|
34
|
+
required?: boolean;
|
|
35
|
+
/** Dims the whole row. */
|
|
36
|
+
disabled?: boolean;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Section - a titled settings block.
|
|
40
|
+
*
|
|
41
|
+
* A heading and a one-line description above a card whose children — field
|
|
42
|
+
* rows, a form, a list — are set apart by hairlines. A `Form` placed in a
|
|
43
|
+
* framed section drops its own card and lays its fields out as the section's
|
|
44
|
+
* rows.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```typescript
|
|
48
|
+
* Section({ title: "Workspace", description: "How the workspace appears." })
|
|
49
|
+
* .child("name", FieldRow({ label: "Name", layout: "form" }).child("v", …))
|
|
50
|
+
* .child("form", Form({ fields, submitUrl }))
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export declare function Section(options?: SectionProps): ComponentBuilder<SectionProps>;
|
|
54
|
+
/**
|
|
55
|
+
* FieldRow - one row of a section: a label with its help text
|
|
56
|
+
* and the control its child block renders — a button, a status, a meter.
|
|
57
|
+
*
|
|
58
|
+
* Fields that are filled in and submitted belong to a `Form`, which owns their
|
|
59
|
+
* values, validation and submit; a field row holds a block that stands on its
|
|
60
|
+
* own.
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* FieldRow({ label: "Seats", description: "Billed monthly." })
|
|
65
|
+
* .child("meter", Meter({ value: 8, max: 10 }))
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export declare function FieldRow(options?: FieldRowProps): ComponentBuilder<FieldRowProps>;
|
|
69
|
+
/** The options `Section` accepts. */
|
|
70
|
+
export declare const SectionSchema: z.ZodObject<{
|
|
71
|
+
title: z.ZodOptional<z.ZodString>;
|
|
72
|
+
description: z.ZodOptional<z.ZodString>;
|
|
73
|
+
danger: z.ZodOptional<z.ZodBoolean>;
|
|
74
|
+
card: z.ZodDefault<z.ZodBoolean>;
|
|
75
|
+
}, "strip", z.ZodTypeAny, {
|
|
76
|
+
card: boolean;
|
|
77
|
+
description?: string | undefined;
|
|
78
|
+
title?: string | undefined;
|
|
79
|
+
danger?: boolean | undefined;
|
|
80
|
+
}, {
|
|
81
|
+
description?: string | undefined;
|
|
82
|
+
title?: string | undefined;
|
|
83
|
+
card?: boolean | undefined;
|
|
84
|
+
danger?: boolean | undefined;
|
|
85
|
+
}>;
|
|
86
|
+
/** The options `FieldRow` accepts. */
|
|
87
|
+
export declare const FieldRowSchema: z.ZodObject<{
|
|
88
|
+
label: z.ZodOptional<z.ZodString>;
|
|
89
|
+
description: z.ZodOptional<z.ZodString>;
|
|
90
|
+
layout: z.ZodOptional<z.ZodEnum<["inline", "form", "stack"]>>;
|
|
91
|
+
required: z.ZodOptional<z.ZodBoolean>;
|
|
92
|
+
disabled: z.ZodOptional<z.ZodBoolean>;
|
|
93
|
+
}, "strip", z.ZodTypeAny, {
|
|
94
|
+
required?: boolean | undefined;
|
|
95
|
+
description?: string | undefined;
|
|
96
|
+
label?: string | undefined;
|
|
97
|
+
disabled?: boolean | undefined;
|
|
98
|
+
layout?: "stack" | "inline" | "form" | undefined;
|
|
99
|
+
}, {
|
|
100
|
+
required?: boolean | undefined;
|
|
101
|
+
description?: string | undefined;
|
|
102
|
+
label?: string | undefined;
|
|
103
|
+
disabled?: boolean | undefined;
|
|
104
|
+
layout?: "stack" | "inline" | "form" | undefined;
|
|
105
|
+
}>;
|