@antelopejs/interface-dms 0.3.5 → 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 +27 -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 +46 -14
- package/dist/invites.js +41 -44
- 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,186 @@
|
|
|
1
|
+
import { ComponentBuilder } from "../component";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { type BlockLinkAction } from "./display";
|
|
4
|
+
import type { BaseComponentProps, EnumOption } from "./types";
|
|
5
|
+
import type { HttpMethod } from "./types/http";
|
|
6
|
+
/**
|
|
7
|
+
* Fill tones of a meter: the semantic tones plus `soft`, the pale primary of
|
|
8
|
+
* what is pending or reserved.
|
|
9
|
+
*/
|
|
10
|
+
export declare const METER_TONES: readonly ["neutral", "primary", "secondary", "success", "warning", "error", "info", "soft"];
|
|
11
|
+
export type MeterTone = (typeof METER_TONES)[number];
|
|
12
|
+
/** Value text right of the label: `8 / 10`, `80%`, `8` or none. */
|
|
13
|
+
export declare const METER_FORMATS: readonly ["fraction", "percent", "value", "none"];
|
|
14
|
+
export type MeterFormat = (typeof METER_FORMATS)[number];
|
|
15
|
+
/** Bar height: `xs` 4px, `sm` 6px, `md` 8px. */
|
|
16
|
+
export declare const METER_SIZES: readonly ["xs", "sm", "md"];
|
|
17
|
+
export type MeterSize = (typeof METER_SIZES)[number];
|
|
18
|
+
/** One stacked fill of a meter. */
|
|
19
|
+
export interface MeterSegment {
|
|
20
|
+
value: number;
|
|
21
|
+
tone?: MeterTone;
|
|
22
|
+
/** Legend text ("6 members"). */
|
|
23
|
+
label?: string;
|
|
24
|
+
}
|
|
25
|
+
/** The options `Meter` takes. */
|
|
26
|
+
export interface MeterProps extends BaseComponentProps {
|
|
27
|
+
/** Name of the measure ("Seats"). */
|
|
28
|
+
label?: string;
|
|
29
|
+
/** Dimmed note after the label ("8 in use · 2 free"). */
|
|
30
|
+
hint?: string;
|
|
31
|
+
/** Filled amount; ignored when `segments` is set. */
|
|
32
|
+
value?: number;
|
|
33
|
+
/** Total the bar stands for. Defaults to 100. */
|
|
34
|
+
max?: number;
|
|
35
|
+
/** Stacked fills, drawn in order. */
|
|
36
|
+
segments?: MeterSegment[];
|
|
37
|
+
/** Shows the segment labels under the bar. */
|
|
38
|
+
legend?: boolean;
|
|
39
|
+
/** Value text right of the label. Defaults to `fraction`. */
|
|
40
|
+
format?: MeterFormat;
|
|
41
|
+
/** Replaces the formatted value text. */
|
|
42
|
+
valueLabel?: string;
|
|
43
|
+
/** Fill tone of a single value. Defaults to `primary`. */
|
|
44
|
+
tone?: MeterTone;
|
|
45
|
+
/** Percent of `max` from which the fill turns warning. */
|
|
46
|
+
warnAt?: number;
|
|
47
|
+
/** Percent of `max` from which the fill turns error. */
|
|
48
|
+
errorAt?: number;
|
|
49
|
+
size?: MeterSize;
|
|
50
|
+
/**
|
|
51
|
+
* Endpoint answering an object with any of `{ value, max, segments, hint,
|
|
52
|
+
* valueLabel }`, for figures that change per request (seats used, quota
|
|
53
|
+
* left). A meter is one measure, so unlike the list blocks it reads an
|
|
54
|
+
* object rather than `{ items }`.
|
|
55
|
+
*/
|
|
56
|
+
fetchUrl?: string;
|
|
57
|
+
fetchUrlMethod?: EnumOption<HttpMethod>;
|
|
58
|
+
/** Wraps the meter in a padded card. Defaults to `false`. */
|
|
59
|
+
card?: boolean;
|
|
60
|
+
/** Link buttons under the bar, on the right ("Manage members"). */
|
|
61
|
+
actions?: BlockLinkAction[];
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Meter - an "x of y" bar: seats, quotas, storage, coverage.
|
|
65
|
+
*
|
|
66
|
+
* One value or stacked segments with a legend, the value as a fraction or a
|
|
67
|
+
* percentage, and thresholds turning the bar warning or error.
|
|
68
|
+
*
|
|
69
|
+
* @example
|
|
70
|
+
* ```typescript
|
|
71
|
+
* Meter({
|
|
72
|
+
* label: "Seats",
|
|
73
|
+
* max: 10,
|
|
74
|
+
* segments: [
|
|
75
|
+
* { value: 6, label: "6 members" },
|
|
76
|
+
* { value: 2, tone: "soft", label: "2 pending invites" },
|
|
77
|
+
* ],
|
|
78
|
+
* legend: true,
|
|
79
|
+
* warnAt: 80,
|
|
80
|
+
* })
|
|
81
|
+
* ```
|
|
82
|
+
*/
|
|
83
|
+
export declare function Meter(options?: MeterProps): ComponentBuilder<MeterProps>;
|
|
84
|
+
/** The options `Meter` accepts. */
|
|
85
|
+
export declare const MeterSchema: z.ZodObject<{
|
|
86
|
+
label: z.ZodOptional<z.ZodString>;
|
|
87
|
+
hint: z.ZodOptional<z.ZodString>;
|
|
88
|
+
value: z.ZodOptional<z.ZodNumber>;
|
|
89
|
+
max: z.ZodOptional<z.ZodNumber>;
|
|
90
|
+
segments: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
91
|
+
value: z.ZodNumber;
|
|
92
|
+
tone: z.ZodOptional<z.ZodEnum<["soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral", ...("soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral")[]]>>;
|
|
93
|
+
label: z.ZodOptional<z.ZodString>;
|
|
94
|
+
}, "strip", z.ZodTypeAny, {
|
|
95
|
+
value: number;
|
|
96
|
+
label?: string | undefined;
|
|
97
|
+
tone?: "soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
98
|
+
}, {
|
|
99
|
+
value: number;
|
|
100
|
+
label?: string | undefined;
|
|
101
|
+
tone?: "soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
102
|
+
}>, "many">>;
|
|
103
|
+
legend: z.ZodOptional<z.ZodBoolean>;
|
|
104
|
+
format: z.ZodOptional<z.ZodEnum<["fraction", "percent", "value", "none"]>>;
|
|
105
|
+
valueLabel: z.ZodOptional<z.ZodString>;
|
|
106
|
+
tone: z.ZodOptional<z.ZodEnum<["soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral", ...("soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral")[]]>>;
|
|
107
|
+
warnAt: z.ZodOptional<z.ZodNumber>;
|
|
108
|
+
errorAt: z.ZodOptional<z.ZodNumber>;
|
|
109
|
+
size: z.ZodOptional<z.ZodEnum<["xs", "sm", "md"]>>;
|
|
110
|
+
fetchUrl: z.ZodOptional<z.ZodString>;
|
|
111
|
+
fetchUrlMethod: z.ZodOptional<z.ZodNativeEnum<typeof HttpMethod>>;
|
|
112
|
+
card: z.ZodDefault<z.ZodBoolean>;
|
|
113
|
+
actions: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
114
|
+
label: z.ZodString;
|
|
115
|
+
to: z.ZodString;
|
|
116
|
+
icon: z.ZodOptional<z.ZodString>;
|
|
117
|
+
variant: z.ZodOptional<z.ZodEnum<["solid", "outline", "soft", "subtle", "ghost", "link"]>>;
|
|
118
|
+
color: z.ZodOptional<z.ZodEnum<["primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral", ...("primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral")[]]>>;
|
|
119
|
+
}, "strip", z.ZodTypeAny, {
|
|
120
|
+
label: string;
|
|
121
|
+
to: string;
|
|
122
|
+
icon?: string | undefined;
|
|
123
|
+
variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
|
|
124
|
+
color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
125
|
+
}, {
|
|
126
|
+
label: string;
|
|
127
|
+
to: string;
|
|
128
|
+
icon?: string | undefined;
|
|
129
|
+
variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
|
|
130
|
+
color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
131
|
+
}>, "many">>;
|
|
132
|
+
}, "strip", z.ZodTypeAny, {
|
|
133
|
+
card: boolean;
|
|
134
|
+
value?: number | undefined;
|
|
135
|
+
max?: number | undefined;
|
|
136
|
+
size?: "xs" | "sm" | "md" | undefined;
|
|
137
|
+
format?: "value" | "none" | "percent" | "fraction" | undefined;
|
|
138
|
+
label?: string | undefined;
|
|
139
|
+
hint?: string | undefined;
|
|
140
|
+
fetchUrl?: string | undefined;
|
|
141
|
+
fetchUrlMethod?: HttpMethod | undefined;
|
|
142
|
+
valueLabel?: string | undefined;
|
|
143
|
+
legend?: boolean | undefined;
|
|
144
|
+
actions?: {
|
|
145
|
+
label: string;
|
|
146
|
+
to: string;
|
|
147
|
+
icon?: string | undefined;
|
|
148
|
+
variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
|
|
149
|
+
color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
150
|
+
}[] | undefined;
|
|
151
|
+
tone?: "soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
152
|
+
segments?: {
|
|
153
|
+
value: number;
|
|
154
|
+
label?: string | undefined;
|
|
155
|
+
tone?: "soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
156
|
+
}[] | undefined;
|
|
157
|
+
warnAt?: number | undefined;
|
|
158
|
+
errorAt?: number | undefined;
|
|
159
|
+
}, {
|
|
160
|
+
value?: number | undefined;
|
|
161
|
+
max?: number | undefined;
|
|
162
|
+
size?: "xs" | "sm" | "md" | undefined;
|
|
163
|
+
format?: "value" | "none" | "percent" | "fraction" | undefined;
|
|
164
|
+
label?: string | undefined;
|
|
165
|
+
hint?: string | undefined;
|
|
166
|
+
fetchUrl?: string | undefined;
|
|
167
|
+
fetchUrlMethod?: HttpMethod | undefined;
|
|
168
|
+
card?: boolean | undefined;
|
|
169
|
+
valueLabel?: string | undefined;
|
|
170
|
+
legend?: boolean | undefined;
|
|
171
|
+
actions?: {
|
|
172
|
+
label: string;
|
|
173
|
+
to: string;
|
|
174
|
+
icon?: string | undefined;
|
|
175
|
+
variant?: "link" | "solid" | "outline" | "soft" | "ghost" | "subtle" | undefined;
|
|
176
|
+
color?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
177
|
+
}[] | undefined;
|
|
178
|
+
tone?: "soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
179
|
+
segments?: {
|
|
180
|
+
value: number;
|
|
181
|
+
label?: string | undefined;
|
|
182
|
+
tone?: "soft" | "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
183
|
+
}[] | undefined;
|
|
184
|
+
warnAt?: number | undefined;
|
|
185
|
+
errorAt?: number | undefined;
|
|
186
|
+
}>;
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MeterSchema = exports.METER_SIZES = exports.METER_FORMATS = exports.METER_TONES = void 0;
|
|
4
|
+
exports.Meter = Meter;
|
|
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
|
+
const tone_1 = require("./types/tone");
|
|
11
|
+
/**
|
|
12
|
+
* Fill tones of a meter: the semantic tones plus `soft`, the pale primary of
|
|
13
|
+
* what is pending or reserved.
|
|
14
|
+
*/
|
|
15
|
+
exports.METER_TONES = [...tone_1.TONES, "soft"];
|
|
16
|
+
/** Value text right of the label: `8 / 10`, `80%`, `8` or none. */
|
|
17
|
+
exports.METER_FORMATS = ["fraction", "percent", "value", "none"];
|
|
18
|
+
/** Bar height: `xs` 4px, `sm` 6px, `md` 8px. */
|
|
19
|
+
exports.METER_SIZES = ["xs", "sm", "md"];
|
|
20
|
+
const METER_COMPONENT_NAME = "dms-meter-block";
|
|
21
|
+
const DEFAULT_ICON = "i-ph-gauge";
|
|
22
|
+
/**
|
|
23
|
+
* Meter - an "x of y" bar: seats, quotas, storage, coverage.
|
|
24
|
+
*
|
|
25
|
+
* One value or stacked segments with a legend, the value as a fraction or a
|
|
26
|
+
* percentage, and thresholds turning the bar warning or error.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* Meter({
|
|
31
|
+
* label: "Seats",
|
|
32
|
+
* max: 10,
|
|
33
|
+
* segments: [
|
|
34
|
+
* { value: 6, label: "6 members" },
|
|
35
|
+
* { value: 2, tone: "soft", label: "2 pending invites" },
|
|
36
|
+
* ],
|
|
37
|
+
* legend: true,
|
|
38
|
+
* warnAt: 80,
|
|
39
|
+
* })
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
42
|
+
function Meter(options) {
|
|
43
|
+
return new component_1.ComponentBuilder(METER_COMPONENT_NAME)
|
|
44
|
+
.options({ ...options })
|
|
45
|
+
.meta({
|
|
46
|
+
name: options?.label || "Meter",
|
|
47
|
+
icon: DEFAULT_ICON,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
const MeterSegmentSchema = zod_1.z.object({
|
|
51
|
+
value: (0, block_registry_1.ui)(zod_1.z.number(), { label: "Value", widget: "number" }),
|
|
52
|
+
tone: (0, block_registry_1.ui)((0, display_2.toneEnum)(exports.METER_TONES).optional(), {
|
|
53
|
+
label: "Tone",
|
|
54
|
+
widget: "select",
|
|
55
|
+
}),
|
|
56
|
+
label: (0, block_registry_1.ui)(zod_1.z.string().optional(), { label: "Legend" }),
|
|
57
|
+
});
|
|
58
|
+
/** The options `Meter` accepts. */
|
|
59
|
+
exports.MeterSchema = zod_1.z.object({
|
|
60
|
+
label: (0, block_registry_1.ui)(zod_1.z.string().optional().describe("Name of the measure."), {
|
|
61
|
+
label: "Label",
|
|
62
|
+
group: "content",
|
|
63
|
+
}),
|
|
64
|
+
hint: (0, block_registry_1.ui)(zod_1.z.string().optional(), { label: "Hint", group: "content" }),
|
|
65
|
+
value: (0, block_registry_1.ui)(zod_1.z.number().optional().describe("Filled amount."), {
|
|
66
|
+
label: "Value",
|
|
67
|
+
group: "data",
|
|
68
|
+
widget: "number",
|
|
69
|
+
}),
|
|
70
|
+
max: (0, block_registry_1.ui)(zod_1.z.number().optional().describe("Total the bar stands for."), {
|
|
71
|
+
label: "Maximum",
|
|
72
|
+
group: "data",
|
|
73
|
+
widget: "number",
|
|
74
|
+
min: 0,
|
|
75
|
+
}),
|
|
76
|
+
segments: (0, block_registry_1.ui)(zod_1.z.array(MeterSegmentSchema).optional(), {
|
|
77
|
+
label: "Segments",
|
|
78
|
+
group: "data",
|
|
79
|
+
}),
|
|
80
|
+
legend: (0, block_registry_1.ui)(zod_1.z.boolean().optional(), {
|
|
81
|
+
label: "Show legend",
|
|
82
|
+
group: "appearance",
|
|
83
|
+
widget: "switch",
|
|
84
|
+
}),
|
|
85
|
+
format: (0, block_registry_1.ui)(zod_1.z.enum(exports.METER_FORMATS).optional(), {
|
|
86
|
+
label: "Value text",
|
|
87
|
+
group: "appearance",
|
|
88
|
+
widget: "segmented",
|
|
89
|
+
}),
|
|
90
|
+
valueLabel: (0, block_registry_1.ui)(zod_1.z.string().optional(), {
|
|
91
|
+
label: "Custom value text",
|
|
92
|
+
group: "content",
|
|
93
|
+
}),
|
|
94
|
+
tone: (0, block_registry_1.ui)((0, display_2.toneEnum)(exports.METER_TONES).optional(), {
|
|
95
|
+
label: "Tone",
|
|
96
|
+
group: "appearance",
|
|
97
|
+
widget: "select",
|
|
98
|
+
}),
|
|
99
|
+
warnAt: (0, block_registry_1.ui)(zod_1.z.number().optional().describe("Percent of the maximum."), {
|
|
100
|
+
label: "Warning from",
|
|
101
|
+
group: "behavior",
|
|
102
|
+
widget: "number",
|
|
103
|
+
min: 0,
|
|
104
|
+
max: 100,
|
|
105
|
+
}),
|
|
106
|
+
errorAt: (0, block_registry_1.ui)(zod_1.z.number().optional().describe("Percent of the maximum."), {
|
|
107
|
+
label: "Error from",
|
|
108
|
+
group: "behavior",
|
|
109
|
+
widget: "number",
|
|
110
|
+
min: 0,
|
|
111
|
+
max: 100,
|
|
112
|
+
}),
|
|
113
|
+
size: (0, block_registry_1.ui)(zod_1.z.enum(exports.METER_SIZES).optional(), {
|
|
114
|
+
label: "Size",
|
|
115
|
+
group: "appearance",
|
|
116
|
+
widget: "segmented",
|
|
117
|
+
}),
|
|
118
|
+
fetchUrl: (0, display_1.blockFetchUrlOption)("Where the figures come from."),
|
|
119
|
+
fetchUrlMethod: (0, display_1.blockFetchUrlMethodOption)(),
|
|
120
|
+
card: (0, display_1.blockCardOption)(false),
|
|
121
|
+
actions: (0, display_1.blockActionsOption)("Link buttons under the bar."),
|
|
122
|
+
});
|
|
123
|
+
(0, block_registry_1.RegisterBlockType)({
|
|
124
|
+
type: "Meter",
|
|
125
|
+
componentName: METER_COMPONENT_NAME,
|
|
126
|
+
schema: exports.MeterSchema,
|
|
127
|
+
meta: {
|
|
128
|
+
name: "Meter",
|
|
129
|
+
icon: DEFAULT_ICON,
|
|
130
|
+
description: "An x-of-y bar for seats, quotas and coverage.",
|
|
131
|
+
group: "visualization",
|
|
132
|
+
},
|
|
133
|
+
});
|
|
134
|
+
//# sourceMappingURL=meter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"meter.js","sourceRoot":"","sources":["../../src/base/meter.ts"],"names":[],"mappings":";;;AAoGA,sBAOC;AA3GD,4CAAgD;AAChD,6BAAwB;AACxB,qDAA+E;AAC/E,uCAMmB;AACnB,gDAA8C;AAG9C,uCAAqC;AAErC;;;GAGG;AACU,QAAA,WAAW,GAAG,CAAC,GAAG,YAAK,EAAE,MAAM,CAAU,CAAC;AAGvD,mEAAmE;AACtD,QAAA,aAAa,GAAG,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,CAAU,CAAC;AAG/E,gDAAgD;AACnC,QAAA,WAAW,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAU,CAAC;AAkDvD,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAC/C,MAAM,YAAY,GAAG,YAAY,CAAC;AAElC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,SAAgB,KAAK,CAAC,OAAoB;IACxC,OAAO,IAAI,4BAAgB,CAAa,oBAAoB,CAAC;SAC1D,OAAO,CAAC,EAAE,GAAG,OAAO,EAAE,CAAC;SACvB,IAAI,CAAC;QACJ,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,OAAO;QAC/B,IAAI,EAAE,YAAY;KACnB,CAAC,CAAC;AACP,CAAC;AAED,MAAM,kBAAkB,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,KAAK,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;IAC3D,IAAI,EAAE,IAAA,mBAAE,EAAC,IAAA,kBAAQ,EAAC,mBAAW,CAAC,CAAC,QAAQ,EAAE,EAAE;QACzC,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,QAAQ;KACjB,CAAC;IACF,KAAK,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;CACtD,CAAyC,CAAC;AAE3C,mCAAmC;AACtB,QAAA,WAAW,GAAG,OAAC,CAAC,MAAM,CAAC;IAClC,KAAK,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE;QAChE,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,SAAS;KACjB,CAAC;IACF,IAAI,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACpE,KAAK,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE;QAC1D,KAAK,EAAE,OAAO;QACd,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,QAAQ;KACjB,CAAC;IACF,GAAG,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC,EAAE;QACnE,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,CAAC;KACP,CAAC;IACF,QAAQ,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC,QAAQ,EAAE,EAAE;QACnD,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,MAAM;KACd,CAAC;IACF,MAAM,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,EAAE;QACjC,KAAK,EAAE,aAAa;QACpB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,QAAQ;KACjB,CAAC;IACF,MAAM,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,IAAI,CAAC,qBAAa,CAAC,CAAC,QAAQ,EAAE,EAAE;QAC3C,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,WAAW;KACpB,CAAC;IACF,UAAU,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;QACpC,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE,SAAS;KACjB,CAAC;IACF,IAAI,EAAE,IAAA,mBAAE,EAAC,IAAA,kBAAQ,EAAC,mBAAW,CAAC,CAAC,QAAQ,EAAE,EAAE;QACzC,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,QAAQ;KACjB,CAAC;IACF,MAAM,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE;QACpE,KAAK,EAAE,cAAc;QACrB,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,GAAG;KACT,CAAC;IACF,OAAO,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE;QACrE,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,UAAU;QACjB,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,CAAC;QACN,GAAG,EAAE,GAAG;KACT,CAAC;IACF,IAAI,EAAE,IAAA,mBAAE,EAAC,OAAC,CAAC,IAAI,CAAC,mBAAW,CAAC,CAAC,QAAQ,EAAE,EAAE;QACvC,KAAK,EAAE,MAAM;QACb,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,WAAW;KACpB,CAAC;IACF,QAAQ,EAAE,IAAA,6BAAmB,EAAC,8BAA8B,CAAC;IAC7D,cAAc,EAAE,IAAA,mCAAyB,GAAE;IAC3C,IAAI,EAAE,IAAA,yBAAe,EAAC,KAAK,CAAC;IAC5B,OAAO,EAAE,IAAA,4BAAkB,EAAC,6BAA6B,CAAC;CAC3D,CAAuC,CAAC;AAEzC,IAAA,kCAAiB,EAAC;IAChB,IAAI,EAAE,OAAO;IACb,aAAa,EAAE,oBAAoB;IACnC,MAAM,EAAE,mBAAW;IACnB,IAAI,EAAE;QACJ,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,YAAY;QAClB,WAAW,EAAE,+CAA+C;QAC5D,KAAK,EAAE,eAAe;KACvB;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { ComponentBuilder } from "../component";
|
|
2
|
+
import { z } from "zod";
|
|
3
|
+
import { type BlockItemsSource } from "./display";
|
|
4
|
+
import { type Tone, type IconTone } from "./types/tone";
|
|
5
|
+
import type { BaseComponentProps } from "./types";
|
|
6
|
+
import type { CategoryInfo } from "../page/types";
|
|
7
|
+
/** One navigation card. */
|
|
8
|
+
export interface NavCardItem {
|
|
9
|
+
/** Stable key; the target is used without one. */
|
|
10
|
+
id?: string;
|
|
11
|
+
/** `$`-prefixed for an i18n key, like every text of the card. */
|
|
12
|
+
title: string;
|
|
13
|
+
description?: string;
|
|
14
|
+
icon: string;
|
|
15
|
+
iconTone?: IconTone;
|
|
16
|
+
/** Route, `#anchor` or URL. */
|
|
17
|
+
to: string;
|
|
18
|
+
/** Live state of the target, in mono at the bottom ("3 unread"). */
|
|
19
|
+
state?: string;
|
|
20
|
+
/** Tone of the state line (`neutral` = dimmed). */
|
|
21
|
+
stateTone?: Tone;
|
|
22
|
+
/** Small uppercase tag after the title (the module a page comes from). */
|
|
23
|
+
tag?: string;
|
|
24
|
+
/** Mono readout lines under the description. */
|
|
25
|
+
readout?: string[];
|
|
26
|
+
}
|
|
27
|
+
/** The options `NavCardGrid` takes. */
|
|
28
|
+
export interface NavCardGridProps extends BaseComponentProps, BlockItemsSource {
|
|
29
|
+
items?: NavCardItem[];
|
|
30
|
+
/**
|
|
31
|
+
* Full id of a category: a card per page of it the viewer can open, in
|
|
32
|
+
* menu order, each with its navigation badge — in place of `items` and
|
|
33
|
+
* `fetchUrl`. Set through the `category` option.
|
|
34
|
+
*/
|
|
35
|
+
categoryId?: string;
|
|
36
|
+
/** Columns on wide screens (1–4); fewer on narrow ones. */
|
|
37
|
+
columns?: number;
|
|
38
|
+
/** Section title above the grid. */
|
|
39
|
+
title?: string;
|
|
40
|
+
description?: string;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* NavCardGrid — a grid of navigation cards: icon, title, description, and
|
|
44
|
+
* optionally the target's live state, a tag or a mono readout.
|
|
45
|
+
*
|
|
46
|
+
* The cards are items of one block rather than blocks of their own: a grid of
|
|
47
|
+
* nav cards is one list (a settings overview, a module home), configured in
|
|
48
|
+
* one place, reflowed as one grid, and — with `fetchUrl` — fed by one route
|
|
49
|
+
* that computes every card's state. A single card is a one-item grid.
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* NavCardGrid({
|
|
54
|
+
* title: "Workspace",
|
|
55
|
+
* items: [
|
|
56
|
+
* { icon: "i-ph-users", title: "Members", to: "/settings/workspace/members",
|
|
57
|
+
* state: "8 of 10 seats" },
|
|
58
|
+
* ],
|
|
59
|
+
* })
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
/** What `NavCardGrid` takes: its options, the category being given whole. */
|
|
63
|
+
export interface NavCardGridOptions extends Omit<NavCardGridProps, "categoryId"> {
|
|
64
|
+
/**
|
|
65
|
+
* The category whose pages the cards stand for: a card per page the viewer
|
|
66
|
+
* can open, with the badge its navigation entry shows. A settings overview
|
|
67
|
+
* lists its sections this way, a module's home its pages.
|
|
68
|
+
*/
|
|
69
|
+
category?: CategoryInfo;
|
|
70
|
+
}
|
|
71
|
+
export declare function NavCardGrid(options?: NavCardGridOptions): ComponentBuilder<NavCardGridProps>;
|
|
72
|
+
/** The options `NavCardGrid` accepts. */
|
|
73
|
+
export declare const NavCardGridSchema: z.ZodObject<{
|
|
74
|
+
fetchUrl: z.ZodOptional<z.ZodString>;
|
|
75
|
+
fetchUrlMethod: z.ZodOptional<z.ZodNativeEnum<typeof import("./types").HttpMethod>>;
|
|
76
|
+
empty: z.ZodOptional<z.ZodObject<{
|
|
77
|
+
title: z.ZodString;
|
|
78
|
+
description: z.ZodOptional<z.ZodString>;
|
|
79
|
+
}, "strip", z.ZodTypeAny, {
|
|
80
|
+
title: string;
|
|
81
|
+
description?: string | undefined;
|
|
82
|
+
}, {
|
|
83
|
+
title: string;
|
|
84
|
+
description?: string | undefined;
|
|
85
|
+
}>>;
|
|
86
|
+
skeletonCount: z.ZodOptional<z.ZodNumber>;
|
|
87
|
+
title: z.ZodOptional<z.ZodString>;
|
|
88
|
+
description: z.ZodOptional<z.ZodString>;
|
|
89
|
+
items: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
90
|
+
id: z.ZodOptional<z.ZodString>;
|
|
91
|
+
title: z.ZodString;
|
|
92
|
+
description: z.ZodOptional<z.ZodString>;
|
|
93
|
+
icon: z.ZodString;
|
|
94
|
+
iconTone: z.ZodOptional<z.ZodEnum<["primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | "muted", ...("primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | "muted")[]]>>;
|
|
95
|
+
to: z.ZodString;
|
|
96
|
+
state: z.ZodOptional<z.ZodString>;
|
|
97
|
+
stateTone: z.ZodOptional<z.ZodEnum<["primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral", ...("primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral")[]]>>;
|
|
98
|
+
tag: z.ZodOptional<z.ZodString>;
|
|
99
|
+
readout: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
100
|
+
}, "strip", z.ZodTypeAny, {
|
|
101
|
+
title: string;
|
|
102
|
+
icon: string;
|
|
103
|
+
to: string;
|
|
104
|
+
description?: string | undefined;
|
|
105
|
+
id?: string | undefined;
|
|
106
|
+
state?: string | undefined;
|
|
107
|
+
iconTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | "muted" | undefined;
|
|
108
|
+
stateTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
109
|
+
tag?: string | undefined;
|
|
110
|
+
readout?: string[] | undefined;
|
|
111
|
+
}, {
|
|
112
|
+
title: string;
|
|
113
|
+
icon: string;
|
|
114
|
+
to: string;
|
|
115
|
+
description?: string | undefined;
|
|
116
|
+
id?: string | undefined;
|
|
117
|
+
state?: string | undefined;
|
|
118
|
+
iconTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | "muted" | undefined;
|
|
119
|
+
stateTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
120
|
+
tag?: string | undefined;
|
|
121
|
+
readout?: string[] | undefined;
|
|
122
|
+
}>, "many">>;
|
|
123
|
+
columns: z.ZodDefault<z.ZodNumber>;
|
|
124
|
+
categoryId: z.ZodOptional<z.ZodString>;
|
|
125
|
+
}, "strip", z.ZodTypeAny, {
|
|
126
|
+
columns: number;
|
|
127
|
+
description?: string | undefined;
|
|
128
|
+
items?: {
|
|
129
|
+
title: string;
|
|
130
|
+
icon: string;
|
|
131
|
+
to: string;
|
|
132
|
+
description?: string | undefined;
|
|
133
|
+
id?: string | undefined;
|
|
134
|
+
state?: string | undefined;
|
|
135
|
+
iconTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | "muted" | undefined;
|
|
136
|
+
stateTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
137
|
+
tag?: string | undefined;
|
|
138
|
+
readout?: string[] | undefined;
|
|
139
|
+
}[] | undefined;
|
|
140
|
+
title?: string | undefined;
|
|
141
|
+
fetchUrl?: string | undefined;
|
|
142
|
+
fetchUrlMethod?: import("./types").HttpMethod | undefined;
|
|
143
|
+
empty?: {
|
|
144
|
+
title: string;
|
|
145
|
+
description?: string | undefined;
|
|
146
|
+
} | undefined;
|
|
147
|
+
skeletonCount?: number | undefined;
|
|
148
|
+
categoryId?: string | undefined;
|
|
149
|
+
}, {
|
|
150
|
+
description?: string | undefined;
|
|
151
|
+
items?: {
|
|
152
|
+
title: string;
|
|
153
|
+
icon: string;
|
|
154
|
+
to: string;
|
|
155
|
+
description?: string | undefined;
|
|
156
|
+
id?: string | undefined;
|
|
157
|
+
state?: string | undefined;
|
|
158
|
+
iconTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | "muted" | undefined;
|
|
159
|
+
stateTone?: "primary" | "secondary" | "success" | "info" | "warning" | "error" | "neutral" | undefined;
|
|
160
|
+
tag?: string | undefined;
|
|
161
|
+
readout?: string[] | undefined;
|
|
162
|
+
}[] | undefined;
|
|
163
|
+
title?: string | undefined;
|
|
164
|
+
fetchUrl?: string | undefined;
|
|
165
|
+
fetchUrlMethod?: import("./types").HttpMethod | undefined;
|
|
166
|
+
columns?: number | undefined;
|
|
167
|
+
empty?: {
|
|
168
|
+
title: string;
|
|
169
|
+
description?: string | undefined;
|
|
170
|
+
} | undefined;
|
|
171
|
+
skeletonCount?: number | undefined;
|
|
172
|
+
categoryId?: string | undefined;
|
|
173
|
+
}>;
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NavCardGridSchema = void 0;
|
|
4
|
+
exports.NavCardGrid = NavCardGrid;
|
|
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
|
+
const tone_1 = require("./types/tone");
|
|
11
|
+
const NAV_CARD_GRID_COMPONENT_NAME = "dms-nav-card-grid-block";
|
|
12
|
+
const NAV_CARD_GRID_ICON = "i-ph-cards";
|
|
13
|
+
const NAV_CARD_GRID_DEFAULT_COLUMNS = 3;
|
|
14
|
+
function NavCardGrid(options) {
|
|
15
|
+
const { category, ...rest } = options ?? {};
|
|
16
|
+
const props = {
|
|
17
|
+
columns: NAV_CARD_GRID_DEFAULT_COLUMNS,
|
|
18
|
+
...rest,
|
|
19
|
+
};
|
|
20
|
+
if (category)
|
|
21
|
+
props.categoryId = category.fullId;
|
|
22
|
+
return new component_1.ComponentBuilder(NAV_CARD_GRID_COMPONENT_NAME)
|
|
23
|
+
.options(props)
|
|
24
|
+
.meta({
|
|
25
|
+
name: options?.title || "Navigation cards",
|
|
26
|
+
icon: NAV_CARD_GRID_ICON,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
const NavCardItemSchema = zod_1.z.object({
|
|
30
|
+
id: (0, block_registry_1.ui)(zod_1.z.string().optional(), { label: "Key", advanced: true }),
|
|
31
|
+
title: (0, block_registry_1.ui)(zod_1.z.string(), { label: "Title" }),
|
|
32
|
+
description: (0, block_registry_1.ui)(zod_1.z.string().optional(), {
|
|
33
|
+
label: "Description",
|
|
34
|
+
widget: "textarea",
|
|
35
|
+
}),
|
|
36
|
+
icon: (0, block_registry_1.ui)(zod_1.z.string(), { label: "Icon", widget: "icon" }),
|
|
37
|
+
iconTone: (0, block_registry_1.ui)((0, display_2.toneEnum)(tone_1.ICON_TONES).optional(), {
|
|
38
|
+
label: "Icon tone",
|
|
39
|
+
widget: "select",
|
|
40
|
+
}),
|
|
41
|
+
to: (0, block_registry_1.ui)(zod_1.z.string().describe("Route, `#anchor` or URL."), {
|
|
42
|
+
label: "Link",
|
|
43
|
+
widget: "url",
|
|
44
|
+
}),
|
|
45
|
+
state: (0, block_registry_1.ui)(zod_1.z.string().optional(), { label: "State" }),
|
|
46
|
+
stateTone: (0, block_registry_1.ui)((0, display_2.toneEnum)(tone_1.TONES).optional(), {
|
|
47
|
+
label: "State tone",
|
|
48
|
+
widget: "select",
|
|
49
|
+
}),
|
|
50
|
+
tag: (0, block_registry_1.ui)(zod_1.z.string().optional(), { label: "Tag" }),
|
|
51
|
+
readout: (0, block_registry_1.ui)(zod_1.z.array(zod_1.z.string()).optional(), { label: "Readout lines" }),
|
|
52
|
+
});
|
|
53
|
+
/** The options `NavCardGrid` accepts. */
|
|
54
|
+
exports.NavCardGridSchema = zod_1.z.object({
|
|
55
|
+
title: (0, block_registry_1.ui)(zod_1.z.string().optional().describe("Section title above the grid."), {
|
|
56
|
+
label: "Title",
|
|
57
|
+
group: "content",
|
|
58
|
+
}),
|
|
59
|
+
description: (0, block_registry_1.ui)(zod_1.z.string().optional(), {
|
|
60
|
+
label: "Description",
|
|
61
|
+
group: "content",
|
|
62
|
+
widget: "textarea",
|
|
63
|
+
}),
|
|
64
|
+
items: (0, block_registry_1.ui)(zod_1.z.array(NavCardItemSchema).optional().describe("The cards, in order."), { label: "Cards", group: "content" }),
|
|
65
|
+
columns: (0, block_registry_1.ui)(zod_1.z
|
|
66
|
+
.number()
|
|
67
|
+
.int()
|
|
68
|
+
.min(1)
|
|
69
|
+
.max(4)
|
|
70
|
+
.default(NAV_CARD_GRID_DEFAULT_COLUMNS)
|
|
71
|
+
.describe("Columns on wide screens."), { label: "Columns", group: "layout", widget: "number", min: 1, max: 4 }),
|
|
72
|
+
categoryId: (0, block_registry_1.ui)(zod_1.z
|
|
73
|
+
.string()
|
|
74
|
+
.optional()
|
|
75
|
+
.describe("Full id of a category: a card per page of it the viewer can open, instead of the cards above."), { label: "Pages of category", group: "content", advanced: true }),
|
|
76
|
+
...(0, display_1.blockItemsSourceOptions)(),
|
|
77
|
+
});
|
|
78
|
+
(0, block_registry_1.RegisterBlockType)({
|
|
79
|
+
type: "NavCardGrid",
|
|
80
|
+
componentName: NAV_CARD_GRID_COMPONENT_NAME,
|
|
81
|
+
schema: exports.NavCardGridSchema,
|
|
82
|
+
meta: {
|
|
83
|
+
name: "Navigation cards",
|
|
84
|
+
icon: NAV_CARD_GRID_ICON,
|
|
85
|
+
description: "Grid of cards linking to other pages, with their state.",
|
|
86
|
+
group: "content",
|
|
87
|
+
},
|
|
88
|
+
});
|
|
89
|
+
//# sourceMappingURL=nav-card-grid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nav-card-grid.js","sourceRoot":"","sources":["../../src/base/nav-card-grid.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,25 @@
|
|
|
1
1
|
import { ComponentBuilder } from "../component";
|
|
2
2
|
import { z } from "zod";
|
|
3
3
|
import type { BaseComponentProps } from "./types";
|
|
4
|
+
/** Every date range the selector can offer. */
|
|
4
5
|
export declare const PERIOD_PRESETS: readonly ["last-hour", "last-24h", "today", "yesterday", "last-7-days", "last-30-days", "last-90-days", "this-month", "last-month", "this-quarter", "last-quarter", "ytd", "last-year", "custom"];
|
|
5
6
|
export type PeriodPreset = (typeof PERIOD_PRESETS)[number];
|
|
7
|
+
/** Every comparison the selector can offer. */
|
|
6
8
|
export declare const PERIOD_COMPARISONS: readonly ["none", "previous-period", "previous-year", "custom"];
|
|
7
9
|
export type PeriodComparison = (typeof PERIOD_COMPARISONS)[number];
|
|
10
|
+
/** Where the selector sits in its row. */
|
|
8
11
|
export declare const PERIOD_ALIGNS: readonly ["left", "center", "right"];
|
|
9
12
|
export type PeriodAlign = (typeof PERIOD_ALIGNS)[number];
|
|
13
|
+
/** How the selector renders its presets. */
|
|
10
14
|
export declare const PERIOD_SELECTOR_VARIANTS: readonly ["default", "segmented"];
|
|
11
15
|
export type PeriodSelectorVariant = (typeof PERIOD_SELECTOR_VARIANTS)[number];
|
|
16
|
+
/**
|
|
17
|
+
* The scope a selector drives when nothing else is named: the one a builder
|
|
18
|
+
* binds a card's period to. One selector per page needs no other.
|
|
19
|
+
*/
|
|
12
20
|
export declare const DEFAULT_PERIOD_SCOPE = "page";
|
|
13
21
|
export interface PeriodSelectorProps extends BaseComponentProps {
|
|
22
|
+
/** Scope id the cards on the page refer to. Defaults to {@link DEFAULT_PERIOD_SCOPE}. */
|
|
14
23
|
id?: string;
|
|
15
24
|
defaultPreset?: PeriodPreset;
|
|
16
25
|
defaultComparison?: PeriodComparison;
|
|
@@ -21,9 +30,20 @@ export interface PeriodSelectorProps extends BaseComponentProps {
|
|
|
21
30
|
align?: PeriodAlign;
|
|
22
31
|
size?: "xs" | "sm" | "md" | "lg" | "xl";
|
|
23
32
|
showRangeLabel?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* `segmented` renders the presets as inline pills for one-click range
|
|
35
|
+
* switching; the custom range stays in its popover calendar.
|
|
36
|
+
*/
|
|
24
37
|
variant?: PeriodSelectorVariant;
|
|
25
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* `options` is optional because a page is written as it is built: the editor
|
|
41
|
+
* places a block before anything is configured, and writes that as the bare
|
|
42
|
+
* call `PeriodSelector()`. A page under construction has to compile — it is typechecked
|
|
43
|
+
* on every edit — so a block with nothing set yet has to be a legal call.
|
|
44
|
+
*/
|
|
26
45
|
export declare function PeriodSelector(options?: PeriodSelectorProps): ComponentBuilder<PeriodSelectorProps>;
|
|
46
|
+
/** The options `PeriodSelector` accepts. */
|
|
27
47
|
export declare const PeriodSelectorSchema: z.ZodObject<{
|
|
28
48
|
id: z.ZodDefault<z.ZodString>;
|
|
29
49
|
defaultPreset: z.ZodOptional<z.ZodEnum<["last-hour", "last-24h", "today", "yesterday", "last-7-days", "last-30-days", "last-90-days", "this-month", "last-month", "this-quarter", "last-quarter", "ytd", "last-year", "custom"]>>;
|