@antelopejs/dms 0.9.2 → 0.9.4
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 +78 -0
- package/README.md +92 -35
- package/dist/config.d.ts +2 -0
- package/dist/config.js +7 -0
- package/dist/config.js.map +1 -1
- package/dist/db/models/attachments.model.d.ts +1 -0
- package/dist/db/models/signInAttempts.model.d.ts +1 -0
- package/dist/db/models/systemState.model.d.ts +1 -0
- package/dist/db/models/userEmailChanges.model.d.ts +1 -0
- package/dist/db/models/userKnownDevices.model.d.ts +1 -0
- package/dist/db/models/userNotificationPreferences.model.d.ts +1 -0
- package/dist/db/models/userNotifications.model.d.ts +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/pages/public/preview/block-types.d.ts +7 -0
- package/dist/pages/public/preview/block-types.js +19 -0
- package/dist/pages/public/preview/block-types.js.map +1 -0
- package/dist/pages/public/preview/index.d.ts +10 -0
- package/dist/pages/public/preview/index.js +44 -0
- package/dist/pages/public/preview/index.js.map +1 -0
- package/dist/routes/block-preview.d.ts +8 -0
- package/dist/routes/block-preview.js +32 -0
- package/dist/routes/block-preview.js.map +1 -0
- package/dist/routes/index.d.ts +1 -0
- package/dist/routes/index.js +1 -0
- package/dist/routes/index.js.map +1 -1
- package/frontend-vue/dms.frontend.ts +4 -2
- package/frontend-vue/layers/dms-core/app/composables/user/useUserRegionalPreferences.ts +4 -1
- package/frontend-vue/layers/dms-core/app/types/menu.ts +3 -2
- package/frontend-vue/layers/dms-layout/app/assets/css/main.css +5 -5
- package/frontend-vue/layers/dms-layout/app/build/components/pages/modules/ModuleTile.vue +7 -7
- package/frontend-vue/layers/dms-layout/app/build/utils/module-store-catalog.ts +10 -1
- package/frontend-vue/layers/dms-layout/app/composables/page/usePageComponentPreload.ts +8 -3
- package/frontend-vue/layers/dms-layout/app/custom-layouts/PreviewLayout.vue +34 -0
- package/frontend-vue/layers/dms-layout/app/custom-pages/modules.vue +3 -1
- package/frontend-vue/layers/dms-layout/app/plugins/font-preload.ts +18 -16
- package/frontend-vue/layers/dms-layout/i18n/locales/layout-en-GB.json +4 -1
- package/frontend-vue/layers/dms-layout/i18n/locales/layout-fr-FR.json +5 -2
- package/frontend-vue/layers/dms-onboarding/app/middleware/onboarding.global.ts +4 -0
- package/frontend-vue/layers/dms-ui/app/build/components/block-preview/BlockPreviewIssue.vue +25 -0
- package/frontend-vue/layers/dms-ui/app/build/components/sortable/SortableList.vue +144 -0
- package/frontend-vue/layers/dms-ui/app/build/components/table/MenuColumns.vue +23 -21
- package/frontend-vue/layers/dms-ui/app/build/composables/block-preview/useBlockPreviewEmbed.ts +123 -0
- package/frontend-vue/layers/dms-ui/app/build/composables/blocks/useRefreshTriggers.ts +23 -6
- package/frontend-vue/layers/dms-ui/app/build/composables/table-view/useTableRows.ts +81 -3
- package/frontend-vue/layers/dms-ui/app/build/utils/blockPreview.ts +432 -0
- package/frontend-vue/layers/dms-ui/app/components/block-preview/BlockPreview.vue +172 -0
- package/frontend-vue/layers/dms-ui/app/components/table-view/KanbanBoard.vue +17 -15
- package/frontend-vue/layers/dms-ui/app/components/table-view/TableView.vue +1 -4
- package/frontend-vue/layers/dms-ui/app/composables/chart/useChartFetch.ts +47 -9
- package/frontend-vue/layers/dms-ui/app/composables/form/useForm.ts +4 -1
- package/frontend-vue/layers/dms-ui/i18n/locales/ui-en-GB.json +8 -0
- package/frontend-vue/layers/dms-ui/i18n/locales/ui-fr-FR.json +8 -0
- package/frontend-vue/package.json +5 -4
- package/package.json +44 -17
- package/skills/dms/REFERENCE.md +21 -19
- package/skills/dms/SKILL.md +64 -138
- package/skills/dms-auth/SKILL.md +4 -1
- package/skills/dms-best-practices/REFERENCE.md +93 -0
- package/skills/dms-best-practices/SKILL.md +77 -0
- package/skills/dms-module/REFERENCE.md +7 -5
- package/skills/dms-module/SKILL.md +9 -3
- package/skills/dms-pages/REFERENCE.md +112 -26
- package/skills/dms-pages/SKILL.md +12 -11
- package/skills/dms-project/DEV-SERVERS.md +74 -0
- package/skills/dms-project/SKILL.md +102 -14
- package/dist/test/antelope.test.d.ts +0 -2
- package/dist/test/antelope.test.js +0 -148
- package/dist/test/antelope.test.js.map +0 -1
- package/dist/test/api-endpoint/index.d.ts +0 -5
- package/dist/test/api-endpoint/index.js +0 -8
- package/dist/test/api-endpoint/index.js.map +0 -1
- package/dist/test/attachment-host/archive.d.ts +0 -58
- package/dist/test/attachment-host/archive.js +0 -79
- package/dist/test/attachment-host/archive.js.map +0 -1
- package/dist/test/attachment-host/capabilities.d.ts +0 -109
- package/dist/test/attachment-host/capabilities.js +0 -252
- package/dist/test/attachment-host/capabilities.js.map +0 -1
- package/dist/test/attachment-host/derived.d.ts +0 -74
- package/dist/test/attachment-host/derived.js +0 -96
- package/dist/test/attachment-host/derived.js.map +0 -1
- package/dist/test/attachment-host/index.d.ts +0 -4
- package/dist/test/attachment-host/index.js +0 -7
- package/dist/test/attachment-host/index.js.map +0 -1
- package/dist/test/attachment-host/native.d.ts +0 -39
- package/dist/test/attachment-host/native.js +0 -217
- package/dist/test/attachment-host/native.js.map +0 -1
- package/dist/test/helpers/attachments.d.ts +0 -18
- package/dist/test/helpers/attachments.js +0 -57
- package/dist/test/helpers/attachments.js.map +0 -1
- package/dist/test/helpers/auth.d.ts +0 -22
- package/dist/test/helpers/auth.js +0 -57
- package/dist/test/helpers/auth.js.map +0 -1
- package/dist/test/helpers/db.d.ts +0 -3
- package/dist/test/helpers/db.js +0 -69
- package/dist/test/helpers/db.js.map +0 -1
- package/dist/test/helpers/derived-controller.d.ts +0 -12
- package/dist/test/helpers/derived-controller.js +0 -20
- package/dist/test/helpers/derived-controller.js.map +0 -1
- package/dist/test/helpers/emails.d.ts +0 -10
- package/dist/test/helpers/emails.js +0 -36
- package/dist/test/helpers/emails.js.map +0 -1
- package/dist/test/helpers/fixtures.d.ts +0 -22
- package/dist/test/helpers/fixtures.js +0 -61
- package/dist/test/helpers/fixtures.js.map +0 -1
- package/dist/test/helpers/http.d.ts +0 -4
- package/dist/test/helpers/http.js +0 -34
- package/dist/test/helpers/http.js.map +0 -1
- package/dist/test/helpers/logging.d.ts +0 -6
- package/dist/test/helpers/logging.js +0 -26
- package/dist/test/helpers/logging.js.map +0 -1
- package/dist/test/helpers/page-access.d.ts +0 -17
- package/dist/test/helpers/page-access.js +0 -49
- package/dist/test/helpers/page-access.js.map +0 -1
- package/dist/test/helpers/reload-host.d.ts +0 -14
- package/dist/test/helpers/reload-host.js +0 -40
- package/dist/test/helpers/reload-host.js.map +0 -1
- package/dist/test/integration/account-deletion.test.d.ts +0 -1
- package/dist/test/integration/account-deletion.test.js +0 -84
- package/dist/test/integration/account-deletion.test.js.map +0 -1
- package/dist/test/integration/auth/auth-key-rotation.test.d.ts +0 -1
- package/dist/test/integration/auth/auth-key-rotation.test.js +0 -78
- package/dist/test/integration/auth/auth-key-rotation.test.js.map +0 -1
- package/dist/test/integration/auth/client-ip.test.d.ts +0 -1
- package/dist/test/integration/auth/client-ip.test.js +0 -14
- package/dist/test/integration/auth/client-ip.test.js.map +0 -1
- package/dist/test/integration/auth/current-password.test.d.ts +0 -1
- package/dist/test/integration/auth/current-password.test.js +0 -66
- package/dist/test/integration/auth/current-password.test.js.map +0 -1
- package/dist/test/integration/auth/login-throttle.test.d.ts +0 -1
- package/dist/test/integration/auth/login-throttle.test.js +0 -88
- package/dist/test/integration/auth/login-throttle.test.js.map +0 -1
- package/dist/test/integration/auth/password-reset.test.d.ts +0 -1
- package/dist/test/integration/auth/password-reset.test.js +0 -126
- package/dist/test/integration/auth/password-reset.test.js.map +0 -1
- package/dist/test/integration/auth/session-revocation.test.d.ts +0 -1
- package/dist/test/integration/auth/session-revocation.test.js +0 -46
- package/dist/test/integration/auth/session-revocation.test.js.map +0 -1
- package/dist/test/integration/auth/sign-in-country.test.d.ts +0 -1
- package/dist/test/integration/auth/sign-in-country.test.js +0 -76
- package/dist/test/integration/auth/sign-in-country.test.js.map +0 -1
- package/dist/test/integration/auth/two-factor-codes.test.d.ts +0 -1
- package/dist/test/integration/auth/two-factor-codes.test.js +0 -338
- package/dist/test/integration/auth/two-factor-codes.test.js.map +0 -1
- package/dist/test/integration/auth/two-factor-password.test.d.ts +0 -1
- package/dist/test/integration/auth/two-factor-password.test.js +0 -45
- package/dist/test/integration/auth/two-factor-password.test.js.map +0 -1
- package/dist/test/integration/auth/two-factor-token.test.d.ts +0 -1
- package/dist/test/integration/auth/two-factor-token.test.js +0 -92
- package/dist/test/integration/auth/two-factor-token.test.js.map +0 -1
- package/dist/test/integration/derived-controller.test.d.ts +0 -1
- package/dist/test/integration/derived-controller.test.js +0 -105
- package/dist/test/integration/derived-controller.test.js.map +0 -1
- package/dist/test/integration/email-change.test.d.ts +0 -1
- package/dist/test/integration/email-change.test.js +0 -137
- package/dist/test/integration/email-change.test.js.map +0 -1
- package/dist/test/integration/export-cleanup.test.d.ts +0 -1
- package/dist/test/integration/export-cleanup.test.js +0 -144
- package/dist/test/integration/export-cleanup.test.js.map +0 -1
- package/dist/test/integration/files/component-file-retries.test.d.ts +0 -1
- package/dist/test/integration/files/component-file-retries.test.js +0 -219
- package/dist/test/integration/files/component-file-retries.test.js.map +0 -1
- package/dist/test/integration/files/component-files.test.d.ts +0 -1
- package/dist/test/integration/files/component-files.test.js +0 -264
- package/dist/test/integration/files/component-files.test.js.map +0 -1
- package/dist/test/integration/files/field-constraints.test.d.ts +0 -1
- package/dist/test/integration/files/field-constraints.test.js +0 -100
- package/dist/test/integration/files/field-constraints.test.js.map +0 -1
- package/dist/test/integration/files/page-mode-form-files.test.d.ts +0 -1
- package/dist/test/integration/files/page-mode-form-files.test.js +0 -114
- package/dist/test/integration/files/page-mode-form-files.test.js.map +0 -1
- package/dist/test/integration/files/resource-form-files.test.d.ts +0 -1
- package/dist/test/integration/files/resource-form-files.test.js +0 -121
- package/dist/test/integration/files/resource-form-files.test.js.map +0 -1
- package/dist/test/integration/files/shared-controller-files.test.d.ts +0 -1
- package/dist/test/integration/files/shared-controller-files.test.js +0 -146
- package/dist/test/integration/files/shared-controller-files.test.js.map +0 -1
- package/dist/test/integration/files/sign-upload-token.test.d.ts +0 -1
- package/dist/test/integration/files/sign-upload-token.test.js +0 -16
- package/dist/test/integration/files/sign-upload-token.test.js.map +0 -1
- package/dist/test/integration/files/upload.test.d.ts +0 -1
- package/dist/test/integration/files/upload.test.js +0 -114
- package/dist/test/integration/files/upload.test.js.map +0 -1
- package/dist/test/integration/frontend-endpoints.test.d.ts +0 -1
- package/dist/test/integration/frontend-endpoints.test.js +0 -132
- package/dist/test/integration/frontend-endpoints.test.js.map +0 -1
- package/dist/test/integration/invite-extension-edit.test.d.ts +0 -1
- package/dist/test/integration/invite-extension-edit.test.js +0 -121
- package/dist/test/integration/invite-extension-edit.test.js.map +0 -1
- package/dist/test/integration/invite-link-status.test.d.ts +0 -1
- package/dist/test/integration/invite-link-status.test.js +0 -110
- package/dist/test/integration/invite-link-status.test.js.map +0 -1
- package/dist/test/integration/invite-resolution.test.d.ts +0 -1
- package/dist/test/integration/invite-resolution.test.js +0 -433
- package/dist/test/integration/invite-resolution.test.js.map +0 -1
- package/dist/test/integration/member-change-notifications.test.d.ts +0 -1
- package/dist/test/integration/member-change-notifications.test.js +0 -52
- package/dist/test/integration/member-change-notifications.test.js.map +0 -1
- package/dist/test/integration/member-settings-access.test.d.ts +0 -1
- package/dist/test/integration/member-settings-access.test.js +0 -118
- package/dist/test/integration/member-settings-access.test.js.map +0 -1
- package/dist/test/integration/menu-access-events.test.d.ts +0 -1
- package/dist/test/integration/menu-access-events.test.js +0 -148
- package/dist/test/integration/menu-access-events.test.js.map +0 -1
- package/dist/test/integration/notification-inbox.test.d.ts +0 -1
- package/dist/test/integration/notification-inbox.test.js +0 -100
- package/dist/test/integration/notification-inbox.test.js.map +0 -1
- package/dist/test/integration/notification-locked-subjects.test.d.ts +0 -1
- package/dist/test/integration/notification-locked-subjects.test.js +0 -82
- package/dist/test/integration/notification-locked-subjects.test.js.map +0 -1
- package/dist/test/integration/notification-unread-badge.test.d.ts +0 -1
- package/dist/test/integration/notification-unread-badge.test.js +0 -138
- package/dist/test/integration/notification-unread-badge.test.js.map +0 -1
- package/dist/test/integration/notifications.test.d.ts +0 -1
- package/dist/test/integration/notifications.test.js +0 -311
- package/dist/test/integration/notifications.test.js.map +0 -1
- package/dist/test/integration/page-layout-route-guard.test.d.ts +0 -1
- package/dist/test/integration/page-layout-route-guard.test.js +0 -56
- package/dist/test/integration/page-layout-route-guard.test.js.map +0 -1
- package/dist/test/integration/page-session.test.d.ts +0 -1
- package/dist/test/integration/page-session.test.js +0 -52
- package/dist/test/integration/page-session.test.js.map +0 -1
- package/dist/test/integration/permission-warnings.test.d.ts +0 -1
- package/dist/test/integration/permission-warnings.test.js +0 -72
- package/dist/test/integration/permission-warnings.test.js.map +0 -1
- package/dist/test/integration/removed-member-notifications.test.d.ts +0 -1
- package/dist/test/integration/removed-member-notifications.test.js +0 -81
- package/dist/test/integration/removed-member-notifications.test.js.map +0 -1
- package/dist/test/integration/role-delete-reassign.test.d.ts +0 -1
- package/dist/test/integration/role-delete-reassign.test.js +0 -69
- package/dist/test/integration/role-delete-reassign.test.js.map +0 -1
- package/dist/test/integration/role-permission-ancestors.test.d.ts +0 -1
- package/dist/test/integration/role-permission-ancestors.test.js +0 -147
- package/dist/test/integration/role-permission-ancestors.test.js.map +0 -1
- package/dist/test/integration/saas-mode-ownership.test.d.ts +0 -1
- package/dist/test/integration/saas-mode-ownership.test.js +0 -81
- package/dist/test/integration/saas-mode-ownership.test.js.map +0 -1
- package/dist/test/integration/setup.test.d.ts +0 -1
- package/dist/test/integration/setup.test.js +0 -45
- package/dist/test/integration/setup.test.js.map +0 -1
- package/dist/test/integration/sign-in-records.test.d.ts +0 -1
- package/dist/test/integration/sign-in-records.test.js +0 -41
- package/dist/test/integration/sign-in-records.test.js.map +0 -1
- package/dist/test/integration/table-view-archive.test.d.ts +0 -1
- package/dist/test/integration/table-view-archive.test.js +0 -46
- package/dist/test/integration/table-view-archive.test.js.map +0 -1
- package/dist/test/integration/table-view-capabilities.test.d.ts +0 -1
- package/dist/test/integration/table-view-capabilities.test.js +0 -177
- package/dist/test/integration/table-view-capabilities.test.js.map +0 -1
- package/dist/test/integration/tenant-lifecycle.test.d.ts +0 -1
- package/dist/test/integration/tenant-lifecycle.test.js +0 -278
- package/dist/test/integration/tenant-lifecycle.test.js.map +0 -1
- package/dist/test/reload-host/index.d.ts +0 -2
- package/dist/test/reload-host/index.js +0 -58
- package/dist/test/reload-host/index.js.map +0 -1
- package/dist/test/reload-host/package.json +0 -8
- package/dist/test/unit/api-base-url.test.d.ts +0 -1
- package/dist/test/unit/api-base-url.test.js +0 -31
- package/dist/test/unit/api-base-url.test.js.map +0 -1
- package/dist/test/unit/auth-session-revocation.test.d.ts +0 -1
- package/dist/test/unit/auth-session-revocation.test.js +0 -105
- package/dist/test/unit/auth-session-revocation.test.js.map +0 -1
- package/dist/test/unit/auth-token-purpose.test.d.ts +0 -1
- package/dist/test/unit/auth-token-purpose.test.js +0 -84
- package/dist/test/unit/auth-token-purpose.test.js.map +0 -1
- package/dist/test/unit/automation-registration-lifecycle.test.d.ts +0 -1
- package/dist/test/unit/automation-registration-lifecycle.test.js +0 -23
- package/dist/test/unit/automation-registration-lifecycle.test.js.map +0 -1
- package/dist/test/unit/client-ip.test.d.ts +0 -1
- package/dist/test/unit/client-ip.test.js +0 -71
- package/dist/test/unit/client-ip.test.js.map +0 -1
- package/dist/test/unit/db/email-normalization.test.d.ts +0 -1
- package/dist/test/unit/db/email-normalization.test.js +0 -58
- package/dist/test/unit/db/email-normalization.test.js.map +0 -1
- package/dist/test/unit/db/notification-feed-filter.test.d.ts +0 -1
- package/dist/test/unit/db/notification-feed-filter.test.js +0 -128
- package/dist/test/unit/db/notification-feed-filter.test.js.map +0 -1
- package/dist/test/unit/db/notification-feed-index.test.d.ts +0 -1
- package/dist/test/unit/db/notification-feed-index.test.js +0 -35
- package/dist/test/unit/db/notification-feed-index.test.js.map +0 -1
- package/dist/test/unit/db/notification-inbox.test.d.ts +0 -1
- package/dist/test/unit/db/notification-inbox.test.js +0 -160
- package/dist/test/unit/db/notification-inbox.test.js.map +0 -1
- package/dist/test/unit/db/notification-preferences.test.d.ts +0 -1
- package/dist/test/unit/db/notification-preferences.test.js +0 -39
- package/dist/test/unit/db/notification-preferences.test.js.map +0 -1
- package/dist/test/unit/db/session-refresh-token.test.d.ts +0 -1
- package/dist/test/unit/db/session-refresh-token.test.js +0 -41
- package/dist/test/unit/db/session-refresh-token.test.js.map +0 -1
- package/dist/test/unit/db/session-sweep.test.d.ts +0 -1
- package/dist/test/unit/db/session-sweep.test.js +0 -43
- package/dist/test/unit/db/session-sweep.test.js.map +0 -1
- package/dist/test/unit/db/system-state.model.test.d.ts +0 -1
- package/dist/test/unit/db/system-state.model.test.js +0 -55
- package/dist/test/unit/db/system-state.model.test.js.map +0 -1
- package/dist/test/unit/dev/module-update-notifications.test.d.ts +0 -1
- package/dist/test/unit/dev/module-update-notifications.test.js +0 -43
- package/dist/test/unit/dev/module-update-notifications.test.js.map +0 -1
- package/dist/test/unit/dist-self-imports.test.d.ts +0 -1
- package/dist/test/unit/dist-self-imports.test.js +0 -25
- package/dist/test/unit/dist-self-imports.test.js.map +0 -1
- package/dist/test/unit/frontend-bootstrap.test.d.ts +0 -1
- package/dist/test/unit/frontend-bootstrap.test.js +0 -88
- package/dist/test/unit/frontend-bootstrap.test.js.map +0 -1
- package/dist/test/unit/frontend-renderer-range.test.d.ts +0 -1
- package/dist/test/unit/frontend-renderer-range.test.js +0 -45
- package/dist/test/unit/frontend-renderer-range.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/archive-filter.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/archive-filter.test.js +0 -63
- package/dist/test/unit/implementations/dms/archive-filter.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/category-slug-registry.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/category-slug-registry.test.js +0 -196
- package/dist/test/unit/implementations/dms/category-slug-registry.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/dev-reload.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/dev-reload.test.js +0 -100
- package/dist/test/unit/implementations/dms/dev-reload.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/dynamic-menu-hardening.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/dynamic-menu-hardening.test.js +0 -171
- package/dist/test/unit/implementations/dms/dynamic-menu-hardening.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/dynamic-menu.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/dynamic-menu.test.js +0 -478
- package/dist/test/unit/implementations/dms/dynamic-menu.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/empty-menu-group.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/empty-menu-group.test.js +0 -133
- package/dist/test/unit/implementations/dms/empty-menu-group.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/frontend-backend-proxies.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/frontend-backend-proxies.test.js +0 -66
- package/dist/test/unit/implementations/dms/frontend-backend-proxies.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/frontend-establish-endpoints.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/frontend-establish-endpoints.test.js +0 -58
- package/dist/test/unit/implementations/dms/frontend-establish-endpoints.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/frontend-module-metadata.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/frontend-module-metadata.test.js +0 -38
- package/dist/test/unit/implementations/dms/frontend-module-metadata.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/frontend-public-endpoints.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/frontend-public-endpoints.test.js +0 -74
- package/dist/test/unit/implementations/dms/frontend-public-endpoints.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/gate-consistency.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/gate-consistency.test.js +0 -112
- package/dist/test/unit/implementations/dms/gate-consistency.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/layout-banners.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/layout-banners.test.js +0 -307
- package/dist/test/unit/implementations/dms/layout-banners.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/manifest-strip.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/manifest-strip.test.js +0 -141
- package/dist/test/unit/implementations/dms/manifest-strip.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/menu-hidden-blocks.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/menu-hidden-blocks.test.js +0 -149
- package/dist/test/unit/implementations/dms/menu-hidden-blocks.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/missing-category.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/missing-category.test.js +0 -220
- package/dist/test/unit/implementations/dms/missing-category.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/module-address-page.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/module-address-page.test.js +0 -107
- package/dist/test/unit/implementations/dms/module-address-page.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/nav-badges.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/nav-badges.test.js +0 -211
- package/dist/test/unit/implementations/dms/nav-badges.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/notify-menu-changed.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/notify-menu-changed.test.js +0 -68
- package/dist/test/unit/implementations/dms/notify-menu-changed.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/page-all-components-hidden.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/page-all-components-hidden.test.js +0 -118
- package/dist/test/unit/implementations/dms/page-all-components-hidden.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/page-tenant-gate.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/page-tenant-gate.test.js +0 -189
- package/dist/test/unit/implementations/dms/page-tenant-gate.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/permission-preview-aggregate.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/permission-preview-aggregate.test.js +0 -132
- package/dist/test/unit/implementations/dms/permission-preview-aggregate.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/permission-preview-cost.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/permission-preview-cost.test.js +0 -120
- package/dist/test/unit/implementations/dms/permission-preview-cost.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/permission-preview-header.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/permission-preview-header.test.js +0 -78
- package/dist/test/unit/implementations/dms/permission-preview-header.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/permission-preview-menu.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/permission-preview-menu.test.js +0 -188
- package/dist/test/unit/implementations/dms/permission-preview-menu.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/permission-teardown.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/permission-teardown.test.js +0 -105
- package/dist/test/unit/implementations/dms/permission-teardown.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/quick-actions-access.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/quick-actions-access.test.js +0 -159
- package/dist/test/unit/implementations/dms/quick-actions-access.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/quick-actions-button.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/quick-actions-button.test.js +0 -222
- package/dist/test/unit/implementations/dms/quick-actions-button.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/quick-actions-openform.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/quick-actions-openform.test.js +0 -184
- package/dist/test/unit/implementations/dms/quick-actions-openform.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/subscribe-message.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/subscribe-message.test.js +0 -68
- package/dist/test/unit/implementations/dms/subscribe-message.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/surface-redaction.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/surface-redaction.test.js +0 -171
- package/dist/test/unit/implementations/dms/surface-redaction.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/user-can-access-page.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/user-can-access-page.test.js +0 -113
- package/dist/test/unit/implementations/dms/user-can-access-page.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/user-permissions-gate.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/user-permissions-gate.test.js +0 -159
- package/dist/test/unit/implementations/dms/user-permissions-gate.test.js.map +0 -1
- package/dist/test/unit/implementations/dms/warn-once.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms/warn-once.test.js +0 -179
- package/dist/test/unit/implementations/dms/warn-once.test.js.map +0 -1
- package/dist/test/unit/implementations/dms-base/archive-mode-helpers.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms-base/archive-mode-helpers.test.js +0 -121
- package/dist/test/unit/implementations/dms-base/archive-mode-helpers.test.js.map +0 -1
- package/dist/test/unit/implementations/dms-base/filter-tokens.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms-base/filter-tokens.test.js +0 -39
- package/dist/test/unit/implementations/dms-base/filter-tokens.test.js.map +0 -1
- package/dist/test/unit/implementations/dms-base/footer-summary.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms-base/footer-summary.test.js +0 -51
- package/dist/test/unit/implementations/dms-base/footer-summary.test.js.map +0 -1
- package/dist/test/unit/implementations/dms-base/table-view-export-batching.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms-base/table-view-export-batching.test.js +0 -120
- package/dist/test/unit/implementations/dms-base/table-view-export-batching.test.js.map +0 -1
- package/dist/test/unit/implementations/dms-base/table-view-shared-controller.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms-base/table-view-shared-controller.test.js +0 -114
- package/dist/test/unit/implementations/dms-base/table-view-shared-controller.test.js.map +0 -1
- package/dist/test/unit/implementations/dms-html-render/built-in-emails.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms-html-render/built-in-emails.test.js +0 -34
- package/dist/test/unit/implementations/dms-html-render/built-in-emails.test.js.map +0 -1
- package/dist/test/unit/implementations/dms-html-render/generate-html.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms-html-render/generate-html.test.js +0 -62
- package/dist/test/unit/implementations/dms-html-render/generate-html.test.js.map +0 -1
- package/dist/test/unit/implementations/dms-html-render/service-jwt.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms-html-render/service-jwt.test.js +0 -37
- package/dist/test/unit/implementations/dms-html-render/service-jwt.test.js.map +0 -1
- package/dist/test/unit/implementations/dms-notifications/delivery-dedupe.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms-notifications/delivery-dedupe.test.js +0 -100
- package/dist/test/unit/implementations/dms-notifications/delivery-dedupe.test.js.map +0 -1
- package/dist/test/unit/implementations/dms-notifications/delivery-guard.test.d.ts +0 -1
- package/dist/test/unit/implementations/dms-notifications/delivery-guard.test.js +0 -20
- package/dist/test/unit/implementations/dms-notifications/delivery-guard.test.js.map +0 -1
- package/dist/test/unit/implementations/notification-subject-lock.test.d.ts +0 -1
- package/dist/test/unit/implementations/notification-subject-lock.test.js +0 -31
- package/dist/test/unit/implementations/notification-subject-lock.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/category-default-layout.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/category-default-layout.test.js +0 -85
- package/dist/test/unit/interfaces/dms/category-default-layout.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/client-ip.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/client-ip.test.js +0 -61
- package/dist/test/unit/interfaces/dms/client-ip.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/component-children-permissions.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/component-children-permissions.test.js +0 -362
- package/dist/test/unit/interfaces/dms/component-children-permissions.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/component-transform.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/component-transform.test.js +0 -45
- package/dist/test/unit/interfaces/dms/component-transform.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/database-initialized-hook.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/database-initialized-hook.test.js +0 -92
- package/dist/test/unit/interfaces/dms/database-initialized-hook.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/form-watch-permissions.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/form-watch-permissions.test.js +0 -133
- package/dist/test/unit/interfaces/dms/form-watch-permissions.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/has-permission-ancestors.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/has-permission-ancestors.test.js +0 -149
- package/dist/test/unit/interfaces/dms/has-permission-ancestors.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/has-permission-module-scope.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/has-permission-module-scope.test.js +0 -70
- package/dist/test/unit/interfaces/dms/has-permission-module-scope.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/hook-handler-results.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/hook-handler-results.test.js +0 -49
- package/dist/test/unit/interfaces/dms/hook-handler-results.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/invite-extension.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/invite-extension.test.js +0 -569
- package/dist/test/unit/interfaces/dms/invite-extension.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/member-access.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/member-access.test.js +0 -143
- package/dist/test/unit/interfaces/dms/member-access.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/module-permission-registration.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/module-permission-registration.test.js +0 -107
- package/dist/test/unit/interfaces/dms/module-permission-registration.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/module-reload-registrations.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/module-reload-registrations.test.js +0 -51
- package/dist/test/unit/interfaces/dms/module-reload-registrations.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/module-scoped-permissions.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/module-scoped-permissions.test.js +0 -28
- package/dist/test/unit/interfaces/dms/module-scoped-permissions.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/native-file-registration.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/native-file-registration.test.js +0 -135
- package/dist/test/unit/interfaces/dms/native-file-registration.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/nav-badge-tones.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/nav-badge-tones.test.js +0 -31
- package/dist/test/unit/interfaces/dms/nav-badge-tones.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/page-extension-ownership.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/page-extension-ownership.test.js +0 -153
- package/dist/test/unit/interfaces/dms/page-extension-ownership.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/page-extension.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/page-extension.test.js +0 -662
- package/dist/test/unit/interfaces/dms/page-extension.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/page-layout-gate.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/page-layout-gate.test.js +0 -143
- package/dist/test/unit/interfaces/dms/page-layout-gate.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/page-layout-query.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/page-layout-query.test.js +0 -134
- package/dist/test/unit/interfaces/dms/page-layout-query.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/page-permission-teardown.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/page-permission-teardown.test.js +0 -75
- package/dist/test/unit/interfaces/dms/page-permission-teardown.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/page-registration-identity.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/page-registration-identity.test.js +0 -204
- package/dist/test/unit/interfaces/dms/page-registration-identity.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/page-teardown.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/page-teardown.test.js +0 -291
- package/dist/test/unit/interfaces/dms/page-teardown.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/page-topics.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/page-topics.test.js +0 -308
- package/dist/test/unit/interfaces/dms/page-topics.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/password-policy.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/password-policy.test.js +0 -43
- package/dist/test/unit/interfaces/dms/password-policy.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/permission-requirements.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/permission-requirements.test.js +0 -144
- package/dist/test/unit/interfaces/dms/permission-requirements.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/saas-mode.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/saas-mode.test.js +0 -42
- package/dist/test/unit/interfaces/dms/saas-mode.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/tenant-being-provisioned-hook.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/tenant-being-provisioned-hook.test.js +0 -92
- package/dist/test/unit/interfaces/dms/tenant-being-provisioned-hook.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms/tenant-invite-email.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms/tenant-invite-email.test.js +0 -53
- package/dist/test/unit/interfaces/dms/tenant-invite-email.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-auth/refresh-token-rotation.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-auth/refresh-token-rotation.test.js +0 -141
- package/dist/test/unit/interfaces/dms-auth/refresh-token-rotation.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/block-parity-options.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/block-parity-options.test.js +0 -53
- package/dist/test/unit/interfaces/dms-base/block-parity-options.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/block-vocabulary.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/block-vocabulary.test.js +0 -77
- package/dist/test/unit/interfaces/dms-base/block-vocabulary.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/chart-value-precision.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/chart-value-precision.test.js +0 -29
- package/dist/test/unit/interfaces/dms-base/chart-value-precision.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/code-block-catalog.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/code-block-catalog.test.js +0 -46
- package/dist/test/unit/interfaces/dms-base/code-block-catalog.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/column-display.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/column-display.test.js +0 -194
- package/dist/test/unit/interfaces/dms-base/column-display.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/confirm-dialog-secondary-action.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/confirm-dialog-secondary-action.test.js +0 -26
- package/dist/test/unit/interfaces/dms-base/confirm-dialog-secondary-action.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/data-types/default-types.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/data-types/default-types.test.js +0 -254
- package/dist/test/unit/interfaces/dms-base/data-types/default-types.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/data-types/field-types.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/data-types/field-types.test.js +0 -194
- package/dist/test/unit/interfaces/dms-base/data-types/field-types.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/data-types/status-type.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/data-types/status-type.test.js +0 -56
- package/dist/test/unit/interfaces/dms-base/data-types/status-type.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/date-type-filter.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/date-type-filter.test.js +0 -34
- package/dist/test/unit/interfaces/dms-base/date-type-filter.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/date-type-range.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/date-type-range.test.js +0 -29
- package/dist/test/unit/interfaces/dms-base/date-type-range.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/display-blocks-catalog.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/display-blocks-catalog.test.js +0 -159
- package/dist/test/unit/interfaces/dms-base/display-blocks-catalog.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/export-jobs-binding.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/export-jobs-binding.test.js +0 -49
- package/dist/test/unit/interfaces/dms-base/export-jobs-binding.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/form-catalog.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/form-catalog.test.js +0 -67
- package/dist/test/unit/interfaces/dms-base/form-catalog.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/form-footer.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/form-footer.test.js +0 -12
- package/dist/test/unit/interfaces/dms-base/form-footer.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/form-sections.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/form-sections.test.js +0 -93
- package/dist/test/unit/interfaces/dms-base/form-sections.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/form-upload-tokens.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/form-upload-tokens.test.js +0 -174
- package/dist/test/unit/interfaces/dms-base/form-upload-tokens.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/guard.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/guard.test.js +0 -53
- package/dist/test/unit/interfaces/dms-base/guard.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/layout-header-actions.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/layout-header-actions.test.js +0 -328
- package/dist/test/unit/interfaces/dms-base/layout-header-actions.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/layouts.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/layouts.test.js +0 -49
- package/dist/test/unit/interfaces/dms-base/layouts.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/lists-and-settings-catalog.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/lists-and-settings-catalog.test.js +0 -43
- package/dist/test/unit/interfaces/dms-base/lists-and-settings-catalog.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/nested-chart-card.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/nested-chart-card.test.js +0 -85
- package/dist/test/unit/interfaces/dms-base/nested-chart-card.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/page-live.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/page-live.test.js +0 -121
- package/dist/test/unit/interfaces/dms-base/page-live.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/period-selector-catalog.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/period-selector-catalog.test.js +0 -53
- package/dist/test/unit/interfaces/dms-base/period-selector-catalog.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/query-response-delta.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/query-response-delta.test.js +0 -29
- package/dist/test/unit/interfaces/dms-base/query-response-delta.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/resource-form.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/resource-form.test.js +0 -141
- package/dist/test/unit/interfaces/dms-base/resource-form.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-and-card-catalog.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-and-card-catalog.test.js +0 -87
- package/dist/test/unit/interfaces/dms-base/table-and-card-catalog.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-cell-wrap.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-cell-wrap.test.js +0 -29
- package/dist/test/unit/interfaces/dms-base/table-cell-wrap.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-after-write.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-after-write.test.js +0 -62
- package/dist/test/unit/interfaces/dms-base/table-view-after-write.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-bulk-operations.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-bulk-operations.test.js +0 -259
- package/dist/test/unit/interfaces/dms-base/table-view-bulk-operations.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-column-validator.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-column-validator.test.js +0 -87
- package/dist/test/unit/interfaces/dms-base/table-view-column-validator.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-evaluation-order.fixture.d.ts +0 -5
- package/dist/test/unit/interfaces/dms-base/table-view-evaluation-order.fixture.js +0 -82
- package/dist/test/unit/interfaces/dms-base/table-view-evaluation-order.fixture.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-evaluation-order.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-evaluation-order.test.js +0 -24
- package/dist/test/unit/interfaces/dms-base/table-view-evaluation-order.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-export-permission.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-export-permission.test.js +0 -91
- package/dist/test/unit/interfaces/dms-base/table-view-export-permission.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-footer.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-footer.test.js +0 -177
- package/dist/test/unit/interfaces/dms-base/table-view-footer.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-form-page-texts.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-form-page-texts.test.js +0 -36
- package/dist/test/unit/interfaces/dms-base/table-view-form-page-texts.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-form-page-urls.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-form-page-urls.test.js +0 -362
- package/dist/test/unit/interfaces/dms-base/table-view-form-page-urls.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-form-redirect.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-form-redirect.test.js +0 -253
- package/dist/test/unit/interfaces/dms-base/table-view-form-redirect.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-form-slots.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-form-slots.test.js +0 -80
- package/dist/test/unit/interfaces/dms-base/table-view-form-slots.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-get-guard.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-get-guard.test.js +0 -211
- package/dist/test/unit/interfaces/dms-base/table-view-get-guard.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-hidden-columns.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-hidden-columns.test.js +0 -105
- package/dist/test/unit/interfaces/dms-base/table-view-hidden-columns.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-meta-inherit.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-meta-inherit.test.js +0 -119
- package/dist/test/unit/interfaces/dms-base/table-view-meta-inherit.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-one-writer.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-one-writer.test.js +0 -179
- package/dist/test/unit/interfaces/dms-base/table-view-one-writer.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-realtime-no-change.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-realtime-no-change.test.js +0 -23
- package/dist/test/unit/interfaces/dms-base/table-view-realtime-no-change.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-realtime.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-realtime.test.js +0 -139
- package/dist/test/unit/interfaces/dms-base/table-view-realtime.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-reduced-chrome.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-reduced-chrome.test.js +0 -487
- package/dist/test/unit/interfaces/dms-base/table-view-reduced-chrome.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-route-param-filter-defaults.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-route-param-filter-defaults.test.js +0 -256
- package/dist/test/unit/interfaces/dms-base/table-view-route-param-filter-defaults.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-row-menu-label.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-row-menu-label.test.js +0 -27
- package/dist/test/unit/interfaces/dms-base/table-view-row-menu-label.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-shared-controller-permissions.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-shared-controller-permissions.test.js +0 -145
- package/dist/test/unit/interfaces/dms-base/table-view-shared-controller-permissions.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-source-reorder.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-source-reorder.test.js +0 -272
- package/dist/test/unit/interfaces/dms-base/table-view-source-reorder.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-tab-count-warning.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-tab-count-warning.test.js +0 -96
- package/dist/test/unit/interfaces/dms-base/table-view-tab-count-warning.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-tenant-gate.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-tenant-gate.test.js +0 -209
- package/dist/test/unit/interfaces/dms-base/table-view-tenant-gate.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-views.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-views.test.js +0 -317
- package/dist/test/unit/interfaces/dms-base/table-view-views.test.js.map +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-writer-row-rules.test.d.ts +0 -1
- package/dist/test/unit/interfaces/dms-base/table-view-writer-row-rules.test.js +0 -292
- package/dist/test/unit/interfaces/dms-base/table-view-writer-row-rules.test.js.map +0 -1
- package/dist/test/unit/oauth-account-guard.test.d.ts +0 -1
- package/dist/test/unit/oauth-account-guard.test.js +0 -96
- package/dist/test/unit/oauth-account-guard.test.js.map +0 -1
- package/dist/test/unit/oauth-claim-account.test.d.ts +0 -1
- package/dist/test/unit/oauth-claim-account.test.js +0 -90
- package/dist/test/unit/oauth-claim-account.test.js.map +0 -1
- package/dist/test/unit/oauth-config.test.d.ts +0 -1
- package/dist/test/unit/oauth-config.test.js +0 -112
- package/dist/test/unit/oauth-config.test.js.map +0 -1
- package/dist/test/unit/oauth-linking-policy.test.d.ts +0 -1
- package/dist/test/unit/oauth-linking-policy.test.js +0 -114
- package/dist/test/unit/oauth-linking-policy.test.js.map +0 -1
- package/dist/test/unit/oauth-provider-identity.test.d.ts +0 -1
- package/dist/test/unit/oauth-provider-identity.test.js +0 -126
- package/dist/test/unit/oauth-provider-identity.test.js.map +0 -1
- package/dist/test/unit/oauth-relay.test.d.ts +0 -1
- package/dist/test/unit/oauth-relay.test.js +0 -40
- package/dist/test/unit/oauth-relay.test.js.map +0 -1
- package/dist/test/unit/oauth-state.test.d.ts +0 -1
- package/dist/test/unit/oauth-state.test.js +0 -61
- package/dist/test/unit/oauth-state.test.js.map +0 -1
- package/dist/test/unit/onboarding-platform.test.d.ts +0 -1
- package/dist/test/unit/onboarding-platform.test.js +0 -76
- package/dist/test/unit/onboarding-platform.test.js.map +0 -1
- package/dist/test/unit/pages/settings/account-activity-feed.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/account-activity-feed.test.js +0 -116
- package/dist/test/unit/pages/settings/account-activity-feed.test.js.map +0 -1
- package/dist/test/unit/pages/settings/account-activity.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/account-activity.test.js +0 -271
- package/dist/test/unit/pages/settings/account-activity.test.js.map +0 -1
- package/dist/test/unit/pages/settings/account-data.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/account-data.test.js +0 -255
- package/dist/test/unit/pages/settings/account-data.test.js.map +0 -1
- package/dist/test/unit/pages/settings/account-security.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/account-security.test.js +0 -208
- package/dist/test/unit/pages/settings/account-security.test.js.map +0 -1
- package/dist/test/unit/pages/settings/invite-availability.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/invite-availability.test.js +0 -112
- package/dist/test/unit/pages/settings/invite-availability.test.js.map +0 -1
- package/dist/test/unit/pages/settings/invite-email-delivery.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/invite-email-delivery.test.js +0 -146
- package/dist/test/unit/pages/settings/invite-email-delivery.test.js.map +0 -1
- package/dist/test/unit/pages/settings/invite-email-validation-option.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/invite-email-validation-option.test.js +0 -33
- package/dist/test/unit/pages/settings/invite-email-validation-option.test.js.map +0 -1
- package/dist/test/unit/pages/settings/invite-member-quick-action.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/invite-member-quick-action.test.js +0 -104
- package/dist/test/unit/pages/settings/invite-member-quick-action.test.js.map +0 -1
- package/dist/test/unit/pages/settings/member-lists-page-size.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/member-lists-page-size.test.js +0 -22
- package/dist/test/unit/pages/settings/member-lists-page-size.test.js.map +0 -1
- package/dist/test/unit/pages/settings/member-roles-field.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/member-roles-field.test.js +0 -47
- package/dist/test/unit/pages/settings/member-roles-field.test.js.map +0 -1
- package/dist/test/unit/pages/settings/member-table-widths.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/member-table-widths.test.js +0 -53
- package/dist/test/unit/pages/settings/member-table-widths.test.js.map +0 -1
- package/dist/test/unit/pages/settings/members-page.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/members-page.test.js +0 -231
- package/dist/test/unit/pages/settings/members-page.test.js.map +0 -1
- package/dist/test/unit/pages/settings/notifications-access-gate.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/notifications-access-gate.test.js +0 -71
- package/dist/test/unit/pages/settings/notifications-access-gate.test.js.map +0 -1
- package/dist/test/unit/pages/settings/permission-tree-nodes.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/permission-tree-nodes.test.js +0 -161
- package/dist/test/unit/pages/settings/permission-tree-nodes.test.js.map +0 -1
- package/dist/test/unit/pages/settings/permission-warnings.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/permission-warnings.test.js +0 -49
- package/dist/test/unit/pages/settings/permission-warnings.test.js.map +0 -1
- package/dist/test/unit/pages/settings/profile-email-change.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/profile-email-change.test.js +0 -50
- package/dist/test/unit/pages/settings/profile-email-change.test.js.map +0 -1
- package/dist/test/unit/pages/settings/regional-preferences.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/regional-preferences.test.js +0 -118
- package/dist/test/unit/pages/settings/regional-preferences.test.js.map +0 -1
- package/dist/test/unit/pages/settings/role-delete-confirm.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/role-delete-confirm.test.js +0 -77
- package/dist/test/unit/pages/settings/role-delete-confirm.test.js.map +0 -1
- package/dist/test/unit/pages/settings/role-editor.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/role-editor.test.js +0 -277
- package/dist/test/unit/pages/settings/role-editor.test.js.map +0 -1
- package/dist/test/unit/pages/settings/role-preview.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/role-preview.test.js +0 -207
- package/dist/test/unit/pages/settings/role-preview.test.js.map +0 -1
- package/dist/test/unit/pages/settings/security-attention.test.d.ts +0 -1
- package/dist/test/unit/pages/settings/security-attention.test.js +0 -74
- package/dist/test/unit/pages/settings/security-attention.test.js.map +0 -1
- package/dist/test/unit/realtime/menu-topics.test.d.ts +0 -1
- package/dist/test/unit/realtime/menu-topics.test.js +0 -26
- package/dist/test/unit/realtime/menu-topics.test.js.map +0 -1
- package/dist/test/unit/realtime/stop-closes-streams.test.d.ts +0 -1
- package/dist/test/unit/realtime/stop-closes-streams.test.js +0 -99
- package/dist/test/unit/realtime/stop-closes-streams.test.js.map +0 -1
- package/dist/test/unit/request-authenticators.test.d.ts +0 -1
- package/dist/test/unit/request-authenticators.test.js +0 -153
- package/dist/test/unit/request-authenticators.test.js.map +0 -1
- package/dist/test/unit/request-tenant-guards.test.d.ts +0 -1
- package/dist/test/unit/request-tenant-guards.test.js +0 -200
- package/dist/test/unit/request-tenant-guards.test.js.map +0 -1
- package/dist/test/unit/sanitize-user.test.d.ts +0 -1
- package/dist/test/unit/sanitize-user.test.js +0 -21
- package/dist/test/unit/sanitize-user.test.js.map +0 -1
- package/dist/test/unit/signup-account-guard.test.d.ts +0 -1
- package/dist/test/unit/signup-account-guard.test.js +0 -141
- package/dist/test/unit/signup-account-guard.test.js.map +0 -1
- package/dist/test/unit/signup-email-validation.test.d.ts +0 -1
- package/dist/test/unit/signup-email-validation.test.js +0 -79
- package/dist/test/unit/signup-email-validation.test.js.map +0 -1
- package/dist/test/unit/store/store.test.d.ts +0 -1
- package/dist/test/unit/store/store.test.js +0 -127
- package/dist/test/unit/store/store.test.js.map +0 -1
- package/dist/test/unit/upload-constraints.test.d.ts +0 -1
- package/dist/test/unit/upload-constraints.test.js +0 -43
- package/dist/test/unit/upload-constraints.test.js.map +0 -1
- package/dist/test/unit/upload-token.test.d.ts +0 -1
- package/dist/test/unit/upload-token.test.js +0 -46
- package/dist/test/unit/upload-token.test.js.map +0 -1
- package/dist/test/unit/utils/admin-invite-email.test.d.ts +0 -1
- package/dist/test/unit/utils/admin-invite-email.test.js +0 -69
- package/dist/test/unit/utils/admin-invite-email.test.js.map +0 -1
- package/dist/test/unit/utils/attempt-limiter.test.d.ts +0 -1
- package/dist/test/unit/utils/attempt-limiter.test.js +0 -43
- package/dist/test/unit/utils/attempt-limiter.test.js.map +0 -1
- package/dist/test/unit/utils/email-subjects.test.d.ts +0 -1
- package/dist/test/unit/utils/email-subjects.test.js +0 -27
- package/dist/test/unit/utils/email-subjects.test.js.map +0 -1
- package/dist/test/unit/utils/failed-sign-ins.test.d.ts +0 -1
- package/dist/test/unit/utils/failed-sign-ins.test.js +0 -57
- package/dist/test/unit/utils/failed-sign-ins.test.js.map +0 -1
- package/dist/test/unit/utils/notification-rules.test.d.ts +0 -1
- package/dist/test/unit/utils/notification-rules.test.js +0 -60
- package/dist/test/unit/utils/notification-rules.test.js.map +0 -1
- package/dist/test/unit/utils/notification-tones.test.d.ts +0 -1
- package/dist/test/unit/utils/notification-tones.test.js +0 -18
- package/dist/test/unit/utils/notification-tones.test.js.map +0 -1
- package/dist/test/unit/utils/owned-registry.test.d.ts +0 -1
- package/dist/test/unit/utils/owned-registry.test.js +0 -61
- package/dist/test/unit/utils/owned-registry.test.js.map +0 -1
- package/dist/test/unit/utils/row-action-rule-evaluator.test.d.ts +0 -1
- package/dist/test/unit/utils/row-action-rule-evaluator.test.js +0 -143
- package/dist/test/unit/utils/row-action-rule-evaluator.test.js.map +0 -1
- package/dist/test/unit/utils/sign-in-country.test.d.ts +0 -1
- package/dist/test/unit/utils/sign-in-country.test.js +0 -70
- package/dist/test/unit/utils/sign-in-country.test.js.map +0 -1
- package/dist/test/unit/utils/sign-in-devices.test.d.ts +0 -1
- package/dist/test/unit/utils/sign-in-devices.test.js +0 -105
- package/dist/test/unit/utils/sign-in-devices.test.js.map +0 -1
- package/dist/test/unit/utils/tenant-export-archive.test.d.ts +0 -1
- package/dist/test/unit/utils/tenant-export-archive.test.js +0 -138
- package/dist/test/unit/utils/tenant-export-archive.test.js.map +0 -1
- package/dist/test/unit/utils/tenant-instances.test.d.ts +0 -1
- package/dist/test/unit/utils/tenant-instances.test.js +0 -53
- package/dist/test/unit/utils/tenant-instances.test.js.map +0 -1
- package/dist/test/unit/utils/type-check.test.d.ts +0 -1
- package/dist/test/unit/utils/type-check.test.js +0 -143
- package/dist/test/unit/utils/type-check.test.js.map +0 -1
- package/dist/test/unit/utils/user-activity.test.d.ts +0 -1
- package/dist/test/unit/utils/user-activity.test.js +0 -77
- package/dist/test/unit/utils/user-activity.test.js.map +0 -1
- package/dist/test/unit/utils/value-parser.test.d.ts +0 -1
- package/dist/test/unit/utils/value-parser.test.js +0 -166
- package/dist/test/unit/utils/value-parser.test.js.map +0 -1
- package/dist/test/unit/utils/workspace-notifications.test.d.ts +0 -1
- package/dist/test/unit/utils/workspace-notifications.test.js +0 -32
- package/dist/test/unit/utils/workspace-notifications.test.js.map +0 -1
- package/dist/test/unit/validation/auth.schema.test.d.ts +0 -1
- package/dist/test/unit/validation/auth.schema.test.js +0 -77
- package/dist/test/unit/validation/auth.schema.test.js.map +0 -1
- package/dist/test/unit/validation/file.schema.test.d.ts +0 -1
- package/dist/test/unit/validation/file.schema.test.js +0 -140
- package/dist/test/unit/validation/file.schema.test.js.map +0 -1
- package/dist/test/unit/validation/member-invite.schema.test.d.ts +0 -1
- package/dist/test/unit/validation/member-invite.schema.test.js +0 -79
- package/dist/test/unit/validation/member-invite.schema.test.js.map +0 -1
- package/dist/test/unit/validation/onboarding/register-admin.schema.test.d.ts +0 -1
- package/dist/test/unit/validation/onboarding/register-admin.schema.test.js +0 -109
- package/dist/test/unit/validation/onboarding/register-admin.schema.test.js.map +0 -1
- package/dist/test/unit/validation/user-notification-preferences.schema.test.d.ts +0 -1
- package/dist/test/unit/validation/user-notification-preferences.schema.test.js +0 -41
- package/dist/test/unit/validation/user-notification-preferences.schema.test.js.map +0 -1
- package/frontend-vue/.prettierrc +0 -10
- package/frontend-vue/.vscode/settings.json +0 -42
- package/frontend-vue/eslint.config.mjs +0 -50
- package/frontend-vue/pnpm-lock.yaml +0 -8182
- package/frontend-vue/pnpm-workspace.yaml +0 -9
- package/frontend-vue/tests/accessibility-preferences.test.ts +0 -320
- package/frontend-vue/tests/activity-feed-days.test.ts +0 -139
- package/frontend-vue/tests/activity-feed-fill-height.test.ts +0 -115
- package/frontend-vue/tests/activity-feed-fold.test.ts +0 -119
- package/frontend-vue/tests/activity-feed-head.test.ts +0 -140
- package/frontend-vue/tests/admin-invite-email.test.ts +0 -86
- package/frontend-vue/tests/api-error-title.test.ts +0 -24
- package/frontend-vue/tests/api-message-i18n.test.ts +0 -46
- package/frontend-vue/tests/async-data-key-owners.test.ts +0 -74
- package/frontend-vue/tests/async-data-scope.test.ts +0 -121
- package/frontend-vue/tests/auth-middleware-error.test.ts +0 -58
- package/frontend-vue/tests/banner-block-fetch.test.ts +0 -165
- package/frontend-vue/tests/banner-tone-icon.test.ts +0 -55
- package/frontend-vue/tests/block-fetch-options-forwarding.test.ts +0 -108
- package/frontend-vue/tests/block-items-period-realtime.test.ts +0 -150
- package/frontend-vue/tests/block-not-found.test.ts +0 -234
- package/frontend-vue/tests/block-page-refresh.test.ts +0 -131
- package/frontend-vue/tests/block-route-params.test.ts +0 -241
- package/frontend-vue/tests/branding-defaults.test.ts +0 -34
- package/frontend-vue/tests/breadcrumb-target.test.ts +0 -60
- package/frontend-vue/tests/builtin-emails.test.ts +0 -162
- package/frontend-vue/tests/button-disabled-theme.test.ts +0 -21
- package/frontend-vue/tests/cascader.test.ts +0 -216
- package/frontend-vue/tests/category-nav-cards.test.ts +0 -105
- package/frontend-vue/tests/chart-absent-value.test.ts +0 -78
- package/frontend-vue/tests/chart-auto-y-range.test.ts +0 -131
- package/frontend-vue/tests/chart-click-payload.test.ts +0 -34
- package/frontend-vue/tests/chart-colors.browser.html +0 -157
- package/frontend-vue/tests/chart-colors.test.ts +0 -185
- package/frontend-vue/tests/chart-legend.test.ts +0 -133
- package/frontend-vue/tests/chart-live-pause.test.ts +0 -77
- package/frontend-vue/tests/chart-nested-donut.test.ts +0 -97
- package/frontend-vue/tests/chart-options.test.ts +0 -281
- package/frontend-vue/tests/chart-resize-after-animation.test.ts +0 -100
- package/frontend-vue/tests/chart-series-styles.test.ts +0 -131
- package/frontend-vue/tests/chart-type-defaults.test.ts +0 -128
- package/frontend-vue/tests/chart-value-precision.test.ts +0 -54
- package/frontend-vue/tests/chart-value-propagation.test.ts +0 -159
- package/frontend-vue/tests/check-list-marker.test.ts +0 -58
- package/frontend-vue/tests/chip-group.test.ts +0 -68
- package/frontend-vue/tests/choice-cards-columns.test.ts +0 -60
- package/frontend-vue/tests/code-block.test.ts +0 -183
- package/frontend-vue/tests/code-highlight.test.ts +0 -72
- package/frontend-vue/tests/color-mode-server-render.test.ts +0 -84
- package/frontend-vue/tests/color-mode-sync.test.ts +0 -320
- package/frontend-vue/tests/command-palette-assistant.test.ts +0 -344
- package/frontend-vue/tests/command-palette-search-text.test.ts +0 -118
- package/frontend-vue/tests/component-id.test.ts +0 -18
- package/frontend-vue/tests/composed-text-blocks.test.ts +0 -213
- package/frontend-vue/tests/composed-text-more-blocks.test.ts +0 -391
- package/frontend-vue/tests/composed-text.test.ts +0 -265
- package/frontend-vue/tests/confirm-action-errors.test.ts +0 -324
- package/frontend-vue/tests/confirm-dialog-fields.test.ts +0 -283
- package/frontend-vue/tests/confirm-from.test.ts +0 -101
- package/frontend-vue/tests/confirm-secondary-action.test.ts +0 -267
- package/frontend-vue/tests/confirm-typed-text.test.ts +0 -236
- package/frontend-vue/tests/context-links.test.ts +0 -220
- package/frontend-vue/tests/copy-feedback.test.ts +0 -48
- package/frontend-vue/tests/custom-action-confirm-from.test.ts +0 -85
- package/frontend-vue/tests/dev-reload-stream.test.ts +0 -139
- package/frontend-vue/tests/dev-reload.test.ts +0 -252
- package/frontend-vue/tests/download-action-target.test.ts +0 -172
- package/frontend-vue/tests/drawer-target-direction.test.ts +0 -206
- package/frontend-vue/tests/email-layout.test.ts +0 -186
- package/frontend-vue/tests/empty-state-late-slots.test.ts +0 -53
- package/frontend-vue/tests/error-page-message.test.ts +0 -121
- package/frontend-vue/tests/favicon.test.ts +0 -131
- package/frontend-vue/tests/favorite-page.test.ts +0 -104
- package/frontend-vue/tests/field-errors.test.ts +0 -247
- package/frontend-vue/tests/field-options-i18n.test.ts +0 -41
- package/frontend-vue/tests/field-row.test.ts +0 -115
- package/frontend-vue/tests/field-suffix-count.test.ts +0 -121
- package/frontend-vue/tests/file-constraints.test.ts +0 -72
- package/frontend-vue/tests/file-drop-prompt.test.ts +0 -72
- package/frontend-vue/tests/file-fields-ssr.test.ts +0 -145
- package/frontend-vue/tests/file-read-urls.test.ts +0 -246
- package/frontend-vue/tests/file-unavailable.test.ts +0 -117
- package/frontend-vue/tests/fixtures/TableCellLayout.vue +0 -73
- package/frontend-vue/tests/fixtures/chart-axes.html +0 -39
- package/frontend-vue/tests/fixtures/chart-axes.ts +0 -67
- package/frontend-vue/tests/fixtures/chart-precision.html +0 -37
- package/frontend-vue/tests/fixtures/chart-precision.ts +0 -118
- package/frontend-vue/tests/fixtures/dashboard-search-stub.ts +0 -91
- package/frontend-vue/tests/fixtures/dataEngine.ts +0 -44
- package/frontend-vue/tests/fixtures/theming/app/app.vue +0 -49
- package/frontend-vue/tests/fixtures/theming/base/app/app.config.ts +0 -1
- package/frontend-vue/tests/fixtures/theming/config.ts +0 -7
- package/frontend-vue/tests/fixtures/theming/consumer/app/app.config.ts +0 -15
- package/frontend-vue/tests/fixtures/theming/consumer/public/brand/dark.svg +0 -1
- package/frontend-vue/tests/fixtures/theming/consumer/public/brand/icon.svg +0 -1
- package/frontend-vue/tests/fixtures/theming/consumer/public/brand/light.svg +0 -1
- package/frontend-vue/tests/fixtures/theming/consumer.css +0 -19
- package/frontend-vue/tests/fixtures/theming/index.html +0 -11
- package/frontend-vue/tests/fixtures/theming/main.ts +0 -36
- package/frontend-vue/tests/fixtures/theming/runtime.ts +0 -12
- package/frontend-vue/tests/fixtures/theming/vite.config.ts +0 -36
- package/frontend-vue/tests/flow-canvas-delete-badge.test.ts +0 -88
- package/frontend-vue/tests/footer-config.test.ts +0 -135
- package/frontend-vue/tests/forgot-validation-resend.test.ts +0 -234
- package/frontend-vue/tests/form-action-reset.test.ts +0 -106
- package/frontend-vue/tests/form-actions.test.ts +0 -33
- package/frontend-vue/tests/form-control-error-state.test.ts +0 -164
- package/frontend-vue/tests/form-display-options.test.ts +0 -64
- package/frontend-vue/tests/form-enclosing-form.test.ts +0 -120
- package/frontend-vue/tests/form-entry-order.test.ts +0 -45
- package/frontend-vue/tests/form-footer-kind.test.ts +0 -101
- package/frontend-vue/tests/form-load-error.test.ts +0 -229
- package/frontend-vue/tests/form-page-url-fill.test.ts +0 -63
- package/frontend-vue/tests/form-redirect-placeholders.test.ts +0 -80
- package/frontend-vue/tests/form-required-fields.test.ts +0 -148
- package/frontend-vue/tests/form-required-legend.test.ts +0 -34
- package/frontend-vue/tests/form-required-validation.test.ts +0 -407
- package/frontend-vue/tests/form-reset.test.ts +0 -66
- package/frontend-vue/tests/form-saved-before-success.test.ts +0 -110
- package/frontend-vue/tests/form-section-nav-groups.test.ts +0 -177
- package/frontend-vue/tests/form-sections.test.ts +0 -94
- package/frontend-vue/tests/form-server-field-errors.test.ts +0 -204
- package/frontend-vue/tests/form-submit-clear.test.ts +0 -406
- package/frontend-vue/tests/form-submit-only-changed.test.ts +0 -195
- package/frontend-vue/tests/form-submit-target.test.ts +0 -28
- package/frontend-vue/tests/form-validation.test.ts +0 -213
- package/frontend-vue/tests/github-star-prompt.test.ts +0 -328
- package/frontend-vue/tests/grid-responsive-columns.test.ts +0 -180
- package/frontend-vue/tests/guard.test.ts +0 -242
- package/frontend-vue/tests/header-action-page-query.test.ts +0 -426
- package/frontend-vue/tests/header-action-press-in-place.test.ts +0 -231
- package/frontend-vue/tests/header-actions.test.ts +0 -237
- package/frontend-vue/tests/helpers/api-data-runtime.ts +0 -77
- package/frontend-vue/tests/image-hydration-ids.test.ts +0 -101
- package/frontend-vue/tests/image-reference-preservation.test.ts +0 -266
- package/frontend-vue/tests/input-number-adjust.test.ts +0 -190
- package/frontend-vue/tests/input-number-range.test.ts +0 -135
- package/frontend-vue/tests/input-tags.test.ts +0 -146
- package/frontend-vue/tests/instant-save-badge.test.ts +0 -202
- package/frontend-vue/tests/instant-save.test.ts +0 -217
- package/frontend-vue/tests/invites-edit-modal.test.ts +0 -157
- package/frontend-vue/tests/key-value-list-copy.test.ts +0 -117
- package/frontend-vue/tests/key-value-rows.test.ts +0 -52
- package/frontend-vue/tests/keyboard-platform.test.ts +0 -87
- package/frontend-vue/tests/kpi-no-comparison.test.ts +0 -92
- package/frontend-vue/tests/layout-banners.test.ts +0 -280
- package/frontend-vue/tests/list-row-truncate.test.ts +0 -46
- package/frontend-vue/tests/live-hold-banner.test.ts +0 -95
- package/frontend-vue/tests/live-toggle.test.ts +0 -248
- package/frontend-vue/tests/master-detail-layout.test.ts +0 -53
- package/frontend-vue/tests/member-role-picker.test.ts +0 -255
- package/frontend-vue/tests/menu-hidden-page.test.ts +0 -93
- package/frontend-vue/tests/menu-navigation.test.ts +0 -135
- package/frontend-vue/tests/menu-sync-reconnect.test.ts +0 -47
- package/frontend-vue/tests/metadata-retry.test.ts +0 -202
- package/frontend-vue/tests/meter-block-load-error.test.ts +0 -70
- package/frontend-vue/tests/module-routing.test.ts +0 -155
- package/frontend-vue/tests/module-store-catalog.test.ts +0 -371
- package/frontend-vue/tests/modules-catalog.test.ts +0 -165
- package/frontend-vue/tests/modules-listing-transfer.test.ts +0 -95
- package/frontend-vue/tests/mono-cell-truncate.test.ts +0 -50
- package/frontend-vue/tests/multi-account-validate.test.ts +0 -121
- package/frontend-vue/tests/nav-badge-tones.test.ts +0 -337
- package/frontend-vue/tests/nav-card-badge.test.ts +0 -73
- package/frontend-vue/tests/nav-card-grid-empty-category.test.ts +0 -164
- package/frontend-vue/tests/notification-counts-from-writes.test.ts +0 -223
- package/frontend-vue/tests/notification-counts-transfer.test.ts +0 -88
- package/frontend-vue/tests/notification-inbox-display.test.ts +0 -221
- package/frontend-vue/tests/notification-popover-errors.test.ts +0 -320
- package/frontend-vue/tests/notification-preferences-groups.test.ts +0 -268
- package/frontend-vue/tests/notification-tone-contract.test.ts +0 -70
- package/frontend-vue/tests/nuxt-ui-aria-labels.test.ts +0 -31
- package/frontend-vue/tests/oauth-complete-handoff.test.ts +0 -209
- package/frontend-vue/tests/onboarding-middleware.test.ts +0 -103
- package/frontend-vue/tests/onboarding-register.test.ts +0 -155
- package/frontend-vue/tests/onboarding-transfer.test.ts +0 -106
- package/frontend-vue/tests/otp-input.test.ts +0 -97
- package/frontend-vue/tests/page-data-refresh.test.ts +0 -141
- package/frontend-vue/tests/page-fill-height.test.ts +0 -456
- package/frontend-vue/tests/page-layout-registration.test.ts +0 -71
- package/frontend-vue/tests/page-live-gate.test.ts +0 -241
- package/frontend-vue/tests/page-live-parity.test.ts +0 -367
- package/frontend-vue/tests/page-live-refresh.test.ts +0 -169
- package/frontend-vue/tests/page-no-visible-blocks.test.ts +0 -212
- package/frontend-vue/tests/page-realtime-remount.test.ts +0 -185
- package/frontend-vue/tests/page-record-label.test.ts +0 -46
- package/frontend-vue/tests/page-validation-redirect.test.ts +0 -231
- package/frontend-vue/tests/password-input.test.ts +0 -122
- package/frontend-vue/tests/password-strength-meter.test.ts +0 -33
- package/frontend-vue/tests/period-day-rollover.test.ts +0 -80
- package/frontend-vue/tests/period-draft.test.ts +0 -120
- package/frontend-vue/tests/period-hydration-now.test.ts +0 -185
- package/frontend-vue/tests/period-live-pause.test.ts +0 -110
- package/frontend-vue/tests/period-max-days.test.ts +0 -114
- package/frontend-vue/tests/period-presets.test.ts +0 -108
- package/frontend-vue/tests/period-reader-zone.test.ts +0 -137
- package/frontend-vue/tests/period-relative-refresh.test.ts +0 -61
- package/frontend-vue/tests/period-scope-first-fetch.test.ts +0 -377
- package/frontend-vue/tests/period-selector-parity.test.ts +0 -138
- package/frontend-vue/tests/period-selector-url.test.ts +0 -382
- package/frontend-vue/tests/period-ssr.test.ts +0 -195
- package/frontend-vue/tests/period-url-query.test.ts +0 -403
- package/frontend-vue/tests/permission-preview-partial.test.ts +0 -299
- package/frontend-vue/tests/permission-preview-session.test.ts +0 -69
- package/frontend-vue/tests/permission-preview.test.ts +0 -196
- package/frontend-vue/tests/permission-veil-stable-content.test.ts +0 -191
- package/frontend-vue/tests/permissions-transfer.test.ts +0 -194
- package/frontend-vue/tests/post-login-redirect.test.ts +0 -92
- package/frontend-vue/tests/preferences-cookie-size.test.ts +0 -311
- package/frontend-vue/tests/profile-personal-info-ssr.test.ts +0 -150
- package/frontend-vue/tests/profile-preferences-summary.test.ts +0 -538
- package/frontend-vue/tests/profile-security-summary.test.ts +0 -121
- package/frontend-vue/tests/quick-action-intent.test.ts +0 -74
- package/frontend-vue/tests/quick-actions.test.ts +0 -55
- package/frontend-vue/tests/realtime-auth-recovery.test.ts +0 -146
- package/frontend-vue/tests/realtime-reconnect.test.ts +0 -234
- package/frontend-vue/tests/record-card.test.ts +0 -73
- package/frontend-vue/tests/regional-format.test.ts +0 -134
- package/frontend-vue/tests/regional-preferences.test.ts +0 -209
- package/frontend-vue/tests/relation-badges.test.ts +0 -32
- package/frontend-vue/tests/relation-value.test.ts +0 -39
- package/frontend-vue/tests/resolve-dms-component.test.ts +0 -47
- package/frontend-vue/tests/response-warning-toast.test.ts +0 -57
- package/frontend-vue/tests/revealed-backup-codes.test.ts +0 -58
- package/frontend-vue/tests/role-permission-tree.test.ts +0 -564
- package/frontend-vue/tests/role-permissions.test.ts +0 -661
- package/frontend-vue/tests/roles-name-errors.test.ts +0 -294
- package/frontend-vue/tests/route-param-filter-defaults.test.ts +0 -59
- package/frontend-vue/tests/route-param-occurrences.test.ts +0 -118
- package/frontend-vue/tests/row-side-panel.test.ts +0 -831
- package/frontend-vue/tests/save-bar.test.ts +0 -167
- package/frontend-vue/tests/save-status-error.test.ts +0 -66
- package/frontend-vue/tests/scroll-to-block.test.ts +0 -171
- package/frontend-vue/tests/search-input.test.ts +0 -91
- package/frontend-vue/tests/section-description-only.test.ts +0 -33
- package/frontend-vue/tests/security-email-panel.test.ts +0 -378
- package/frontend-vue/tests/security-password-modal.test.ts +0 -128
- package/frontend-vue/tests/security-password-panel.test.ts +0 -267
- package/frontend-vue/tests/security-sessions-load-error.test.ts +0 -125
- package/frontend-vue/tests/security-status-load-error.test.ts +0 -106
- package/frontend-vue/tests/selection-scope.test.ts +0 -24
- package/frontend-vue/tests/server-routes-vs-pages.test.ts +0 -26
- package/frontend-vue/tests/server-routes.test.ts +0 -582
- package/frontend-vue/tests/session-handoff.test.ts +0 -60
- package/frontend-vue/tests/settings-navigation.test.ts +0 -170
- package/frontend-vue/tests/settings-reads-ssr.test.ts +0 -232
- package/frontend-vue/tests/settings-search-shortcuts.test.ts +0 -208
- package/frontend-vue/tests/shortcuts-aggregate.test.ts +0 -48
- package/frontend-vue/tests/side-panels.test.ts +0 -477
- package/frontend-vue/tests/sidebar-footer-navigation.test.ts +0 -138
- package/frontend-vue/tests/sidebar-search-hint.test.ts +0 -191
- package/frontend-vue/tests/sidebar-widget-position.test.ts +0 -117
- package/frontend-vue/tests/sign-in-exit-history.test.ts +0 -219
- package/frontend-vue/tests/signup-invitation-link.test.ts +0 -247
- package/frontend-vue/tests/site-layout-categories.test.ts +0 -42
- package/frontend-vue/tests/site-layout-hydration.test.ts +0 -82
- package/frontend-vue/tests/site-layout-refresh.test.ts +0 -131
- package/frontend-vue/tests/site-layout-rendered.test.ts +0 -103
- package/frontend-vue/tests/site-layout-resync.test.ts +0 -87
- package/frontend-vue/tests/sse-stream.test.ts +0 -268
- package/frontend-vue/tests/ssr-guard-preload.test.ts +0 -188
- package/frontend-vue/tests/stat-cell-shared.test.ts +0 -64
- package/frontend-vue/tests/stat-group-detail-lines.test.ts +0 -63
- package/frontend-vue/tests/string-type-parser.test.ts +0 -50
- package/frontend-vue/tests/tab-fit.test.ts +0 -99
- package/frontend-vue/tests/tab-url-slot.test.ts +0 -150
- package/frontend-vue/tests/tab-without-component-id.test.ts +0 -51
- package/frontend-vue/tests/table-actions-column-width.test.ts +0 -135
- package/frontend-vue/tests/table-actions-search-label.test.ts +0 -224
- package/frontend-vue/tests/table-async-data-key.test.ts +0 -33
- package/frontend-vue/tests/table-cell-sublines.test.ts +0 -481
- package/frontend-vue/tests/table-cell-tones.test.ts +0 -211
- package/frontend-vue/tests/table-cell-wrap.test.ts +0 -61
- package/frontend-vue/tests/table-clear-filters.test.ts +0 -374
- package/frontend-vue/tests/table-column-visibility.test.ts +0 -20
- package/frontend-vue/tests/table-data-ssr.test.ts +0 -195
- package/frontend-vue/tests/table-density-menu.test.ts +0 -108
- package/frontend-vue/tests/table-list-data-requests.test.ts +0 -154
- package/frontend-vue/tests/table-live-hold.test.ts +0 -340
- package/frontend-vue/tests/table-metric-cells.test.ts +0 -165
- package/frontend-vue/tests/table-page-size-options.test.ts +0 -20
- package/frontend-vue/tests/table-pills-cell.test.ts +0 -126
- package/frontend-vue/tests/table-retry-loading.test.ts +0 -37
- package/frontend-vue/tests/table-row-action-errors.test.ts +0 -386
- package/frontend-vue/tests/table-row-action-labels.test.ts +0 -181
- package/frontend-vue/tests/table-row-hover.test.ts +0 -182
- package/frontend-vue/tests/table-scroll-area.test.ts +0 -37
- package/frontend-vue/tests/table-source-navigation.test.ts +0 -122
- package/frontend-vue/tests/table-source-period-scope.test.ts +0 -171
- package/frontend-vue/tests/table-url-filters.test.ts +0 -158
- package/frontend-vue/tests/table-view-bulk-actions.test.ts +0 -154
- package/frontend-vue/tests/table-view-bulk-drawer.test.ts +0 -451
- package/frontend-vue/tests/table-view-card-props.test.ts +0 -215
- package/frontend-vue/tests/table-view-cards-reorder.test.ts +0 -234
- package/frontend-vue/tests/table-view-cards-reread.test.ts +0 -77
- package/frontend-vue/tests/table-view-chrome.test.ts +0 -175
- package/frontend-vue/tests/table-view-display-registry.test.ts +0 -59
- package/frontend-vue/tests/table-view-escape-shortcut.test.ts +0 -141
- package/frontend-vue/tests/table-view-expanded-band.test.ts +0 -143
- package/frontend-vue/tests/table-view-expanded-row-details.test.ts +0 -88
- package/frontend-vue/tests/table-view-expanded-rows.test.ts +0 -55
- package/frontend-vue/tests/table-view-form-texts.test.ts +0 -124
- package/frontend-vue/tests/table-view-grouped.test.ts +0 -222
- package/frontend-vue/tests/table-view-hidden-filters-page.test.ts +0 -134
- package/frontend-vue/tests/table-view-pagination-modes.test.ts +0 -48
- package/frontend-vue/tests/table-view-pinned-rows.test.ts +0 -128
- package/frontend-vue/tests/table-view-record-link.test.ts +0 -190
- package/frontend-vue/tests/table-view-refresh.test.ts +0 -67
- package/frontend-vue/tests/table-view-reorder.test.ts +0 -122
- package/frontend-vue/tests/table-view-selection-footer-empty.test.ts +0 -379
- package/frontend-vue/tests/table-view-sortable-columns.test.ts +0 -338
- package/frontend-vue/tests/table-view-sources.test.ts +0 -222
- package/frontend-vue/tests/table-view-url-tab.test.ts +0 -183
- package/frontend-vue/tests/table-view-views.test.ts +0 -581
- package/frontend-vue/tests/tag-values.test.ts +0 -32
- package/frontend-vue/tests/template-tokens.test.ts +0 -235
- package/frontend-vue/tests/time-span.test.ts +0 -37
- package/frontend-vue/tests/tone.test.ts +0 -26
- package/frontend-vue/tests/top-list-card-actions.test.ts +0 -94
- package/frontend-vue/tests/top-list-card-period-badge-ssr.test.ts +0 -212
- package/frontend-vue/tests/top-list-card-period-badge.test.ts +0 -79
- package/frontend-vue/tests/top-list-card-value-suffix.test.ts +0 -110
- package/frontend-vue/tests/trailing-deduper.test.ts +0 -96
- package/frontend-vue/tests/trend-delta-format.test.ts +0 -24
- package/frontend-vue/tests/unsaved-changes.test.ts +0 -184
- package/frontend-vue/tests/upload-forbidden-headers.test.ts +0 -52
- package/frontend-vue/tests/url-interpolation.test.ts +0 -51
- package/frontend-vue/tests/use-api-data-update.test.ts +0 -119
- package/frontend-vue/tests/use-api-data.test.ts +0 -410
- package/frontend-vue/tests/user-language.test.ts +0 -61
- package/frontend-vue/tests/widget-label-i18n.test.ts +0 -182
- package/frontend-vue/vitest.config.ts +0 -36
- package/skills/dms-dev/SKILL.md +0 -119
- /package/frontend-vue/layers/dms-layout/{public → app/assets}/fonts/Geist-Italic-Variable.woff2 +0 -0
- /package/frontend-vue/layers/dms-layout/{public → app/assets}/fonts/Geist-Variable.woff2 +0 -0
- /package/frontend-vue/layers/dms-layout/{public → app/assets}/fonts/GeistMono-Italic-Variable.woff2 +0 -0
- /package/frontend-vue/layers/dms-layout/{public → app/assets}/fonts/GeistMono-Variable.woff2 +0 -0
- /package/frontend-vue/layers/dms-layout/{public → app/assets}/fonts/LICENSE.txt +0 -0
- /package/skills/{dms-dev → dms-project}/scripts/dms-dev.sh +0 -0
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
# dms-best-practices — reference
|
|
2
|
+
|
|
3
|
+
Material for [SKILL.md](SKILL.md): mapping design elements to DMS blocks, the `PreviewBlocks` call with a sketch variant, the safe-mode question, and the text fallback. The block catalog is the source of truth: `ListBlockTypes()` from `@antelopejs/interface-dms/base/block-types`, or `docs/04.components/` (one page per block).
|
|
4
|
+
|
|
5
|
+
## Design element → DMS block
|
|
6
|
+
|
|
7
|
+
| In the design | DMS block | Usual visible differences |
|
|
8
|
+
| ------------- | --------- | ------------------------- |
|
|
9
|
+
| Big number with a trend arrow | `KpiCard` (`variant: "stat"` for the compact look) | Sparkline is a line, not bars |
|
|
10
|
+
| Several small figures in a strip | `StatGroup` (`layout: "joined"` or `"cards"`) | One shared card vs separate tiles |
|
|
11
|
+
| Chart with a headline value | `ChartCard` + a chart (`ChartArea`, `ChartLine`, `ChartColumn`…) | Legend placement, comparison style |
|
|
12
|
+
| Bare chart | `ChartLine` / `ChartArea` / `ChartBar` / `ChartColumn` / `ChartDonut` / `ChartPie` / `ChartRadialBar` / `ChartHeatmap` / `ChartScatter` / `ChartRadar` / `ChartMixed` / `ChartRangeArea` / `ChartCandlestick` | Axis labels, tooltip look |
|
|
13
|
+
| Ranked list, leaderboard | `TopListCard` | Bar position, rank badge style |
|
|
14
|
+
| Date range picker | `PeriodSelector` (`variant: "segmented"` for pills) | Preset labels |
|
|
15
|
+
| Live / pause switch | `LiveToggle` | Pill vs segmented |
|
|
16
|
+
| Table, list with actions | `TableView` over a DataController (`displays` for cards / kanban) | Column widths, row height (`density`) |
|
|
17
|
+
| Detail facts of a record | `KeyValueList` | Value alignment |
|
|
18
|
+
| Recent events, audit log | `ActivityFeed` | Day separators vs relative times |
|
|
19
|
+
| Usage bar, quota | `Meter` | Bar thickness (`size`) |
|
|
20
|
+
| Notice, alert strip | `Banner` | Wash vs flat background |
|
|
21
|
+
| Empty / first-run screen | `EmptyState` (or `Guard` around blocks) | Illustration vs icon well |
|
|
22
|
+
| Links to sub-pages as cards | `NavCardGrid` | Card height |
|
|
23
|
+
| Code snippet | `CodeBlock` | Theme of the highlighting |
|
|
24
|
+
| Panel with a title and actions | `Card` | Head layout |
|
|
25
|
+
| Settings card with rows | `Section` + `FieldRow` | Label column width (`layout`) |
|
|
26
|
+
| Form, settings form | `Form` / `ResourceForm` | Field layout (`fieldsOrientation`, sections) |
|
|
27
|
+
| Tabs | `Tab` (`variant: "pill" \| "link"`) | Tab style |
|
|
28
|
+
| Columns / rows of panels | `Grid` + `GridRow`, `HStack` / `VStack` / `Spacer` | Exact gutters |
|
|
29
|
+
|
|
30
|
+
Nothing matches — a canvas, a map, a bespoke visualization — → a custom block, under the rules of SKILL.md.
|
|
31
|
+
|
|
32
|
+
## `PreviewBlocks` (dms-ai only)
|
|
33
|
+
|
|
34
|
+
`PreviewBlocks({ title, description?, label?, tree?, sketch?, reference?, variants?: [{ label, tree?, sketch? }] })` — non-blocking; it shows an attachment card in the chat, and a click opens a modal rendering the real blocks next to the reference image, one tab for the main view (named by `label`, default "Proposed") and one per variant. Every view needs a `tree`, a `sketch` or both (both are drawn side by side). `reference` is `{ attachmentId?, url?, caption? }`: `attachmentId` is the file name of an image the user attached in the conversation, or `"latest"`; `url` is a same-origin path. `tree` is one `PreviewNode` or a list: `{ type, options?, children? }`, children also taking `id`, `slot` and `colSpan`. Use `static*` options (`staticValue`, `staticDataset`, `staticItems`, `items`) so the preview shows data without a route; URL options must be relative paths. `TableView` and `ResourceForm` need a backend class and render as a notice — describe them in the question instead.
|
|
35
|
+
|
|
36
|
+
A variant holds a `tree` (the DMS block with other options), a `sketch` (`{ html, css?, caption?, height? }`: static HTML and CSS standing for the custom block you would build, `height` in px from 80 to 1200, default 320), or both, so the user compares it with the DMS option before any Vue exists. Keep a sketch to the element alone: static markup with no script, event handler, `@import` or external URL (the tool refuses them with `invalid_sketch`), images as `data:` URLs, and the `--sketch-*` theme variables the tool describes for colors, so it follows light and dark mode.
|
|
37
|
+
|
|
38
|
+
```ts
|
|
39
|
+
PreviewBlocks({
|
|
40
|
+
title: "Revenue tile",
|
|
41
|
+
description: "Your tile as a DMS KPI card, adjusted, and as a custom block",
|
|
42
|
+
label: "DMS KpiCard",
|
|
43
|
+
tree: { type: "KpiCard", options: { title: "Revenue", valueFormat: "currency", currencyCode: "EUR",
|
|
44
|
+
staticValue: 48200, staticDelta: 12.4, showDelta: true, showSparkline: true,
|
|
45
|
+
staticSparkline: [31, 34, 33, 38, 41, 39, 44, 48] } },
|
|
46
|
+
reference: { attachmentId: "latest", caption: "Your design" },
|
|
47
|
+
variants: [
|
|
48
|
+
{ label: "DMS, compact", tree: { type: "KpiCard", options: { title: "Revenue", variant: "stat", staticValue: 48200 } } },
|
|
49
|
+
{ label: "Custom sketch", sketch: {
|
|
50
|
+
html: "<div class='tile'><span>Revenue</span><strong>€48,200</strong><div class='bars'><i style='height:40%'></i><i style='height:70%'></i><i style='height:100%'></i></div></div>",
|
|
51
|
+
css: ".tile{padding:16px;border:1px solid;border-radius:8px}.bars{display:flex;gap:4px;height:32px;align-items:end}.bars i{width:8px;background:currentColor}",
|
|
52
|
+
caption: "Bars under the figure, as in your design" } },
|
|
53
|
+
],
|
|
54
|
+
});
|
|
55
|
+
// then
|
|
56
|
+
AskUser({ questions: [{
|
|
57
|
+
header: "Revenue tile",
|
|
58
|
+
question: "Keep the DMS KPI card, adjust it, or build a custom block?",
|
|
59
|
+
options: [
|
|
60
|
+
{ label: "Keep the DMS block", description: "KpiCard as previewed; themed, permissioned, editable in the builder" },
|
|
61
|
+
{ label: "Adjust it through its options", description: "Same block, e.g. the compact variant; tell me what to change" },
|
|
62
|
+
{ label: "Build a custom block", description: "A Vue component matching the sketch, declared with .meta(); the rest stays blocks" },
|
|
63
|
+
],
|
|
64
|
+
}] });
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
## Safe mode: a custom block is out of reach
|
|
68
|
+
|
|
69
|
+
The Builder tools cannot write Vue. Show the closest composition with `PreviewBlocks`, then:
|
|
70
|
+
|
|
71
|
+
```ts
|
|
72
|
+
AskUser({ questions: [{
|
|
73
|
+
header: "Seat map",
|
|
74
|
+
question: "Safe mode cannot build a custom block. Use the closest DMS composition, or switch to Code mode for this block only?",
|
|
75
|
+
options: [
|
|
76
|
+
{ label: "Use the DMS composition", description: "A Grid of KpiCard per zone, as previewed" },
|
|
77
|
+
{ label: "Switch to Code mode for this block", description: "Only the seat map becomes custom, with .meta(); then back to safe mode" },
|
|
78
|
+
],
|
|
79
|
+
}] });
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Text fallback (no `PreviewBlocks`)
|
|
83
|
+
|
|
84
|
+
One table per batch of components, then one closed question per row:
|
|
85
|
+
|
|
86
|
+
| Your design | DMS block | Visible difference |
|
|
87
|
+
| ----------- | --------- | ------------------ |
|
|
88
|
+
| Revenue tile with bars under the figure | `KpiCard` with a sparkline | A line instead of bars |
|
|
89
|
+
| Orders table with avatars in the first column | `TableView` with `IdentityDisplay` | None beyond spacing — no question |
|
|
90
|
+
|
|
91
|
+
> Revenue tile: keep the DMS block, adjust it through its options, or build a custom block?
|
|
92
|
+
|
|
93
|
+
When the custom option is hard to picture, add its sketch as a short markup snippet under the table (a few lines of HTML, no styling detail). Leave rows whose only difference is theme-level (colors, spacing, fonts) out of the questions.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: dms-best-practices
|
|
3
|
+
description: Enforces the rules for building AntelopeJS DMS pages — every page described backend-side as DMS blocks, custom code only for the missing block, `.meta()` on every custom block — decides when to leave DMS blocks and proposes that deviation to the user, and runs the design-fidelity protocol. Use when creating or changing any DMS page, dashboard or screen, before writing a CustomComponent or Vue for one, or when the user provides a design, mockup, Figma frame or screenshot to reproduce.
|
|
4
|
+
icon: i-ph-seal-check
|
|
5
|
+
category: dashboard
|
|
6
|
+
tags: [pages, blocks, custom-component, permissions, design, mockup]
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# DMS best practices
|
|
10
|
+
|
|
11
|
+
Three rules hold for every page, a path runs before any custom block, and a protocol runs whenever a design is involved. They keep each part of a screen a permission of its own, editable by the page builder, and driven by the theme. **dms-pages** has the APIs; this skill decides what to build.
|
|
12
|
+
|
|
13
|
+
## The rules
|
|
14
|
+
|
|
15
|
+
1. **A page is always blocks.** Describe every page on the backend as a tree of DMS blocks — `PeriodSelector`, `Grid` / `GridRow`, `KpiCard`, `TableView`, `Form`, … Each static field and each `.child()` is a line in the roles editor, a `.watch()` target, a `periodScope` subscriber and a node the builder can move. One block that draws the whole screen loses all of that.
|
|
16
|
+
2. **Custom = the missing block only.** When a part has no DMS equivalent, build **that block** as a `CustomComponent` and keep everything around it — toolbar, filters, stats, tables — as DMS blocks on the backend.
|
|
17
|
+
3. **Every custom block carries `.meta()`.** `.meta({ name, description, icon })` in its backend declaration, `name` and `description` as `$` i18n keys added to every locale file. Without it the roles editor shows the raw component name. Every other text (page names, titles, labels) is a `$` key too.
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
// Good — blocks around the one custom block, which carries its metadata
|
|
21
|
+
static period = PeriodSelector({ id: "api" });
|
|
22
|
+
static kpis = Grid().child("row", GridRow()
|
|
23
|
+
.child("calls", KpiCard({ title: "$api.routes.calls", fetchUrl: "/api/routes/calls", periodScope: "api" })));
|
|
24
|
+
static graph = CustomComponent("ApiRouteGraph")
|
|
25
|
+
.options({ fetchUrl: "/api/routes/graph", periodScope: "api" })
|
|
26
|
+
.meta({ name: "$api.routes.graph.name", description: "$api.routes.graph.description", icon: "i-ph-graph" });
|
|
27
|
+
|
|
28
|
+
// Bad — one component draws the period picker, the KPIs and the graph; no .meta()
|
|
29
|
+
static screen = CustomComponent("ApiRoutesScreen");
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
`CustomComponent` comes from `@antelopejs/interface-dms/base/custom` (not the `base` barrel); `.meta()` takes `Partial<ComponentMetadata>` (`name`, `description?`, `icon?`). Every DMS factory sets its own metadata; a custom block is the one place you must.
|
|
33
|
+
|
|
34
|
+
## When to leave DMS blocks
|
|
35
|
+
|
|
36
|
+
A custom block is a deviation, and you **propose** it: the user decides, after the path below. It is worth proposing only when one of these holds:
|
|
37
|
+
|
|
38
|
+
| Leave DMS blocks when | Stay on DMS blocks when |
|
|
39
|
+
| --------------------- | ----------------------- |
|
|
40
|
+
| No block covers the need, even through its options or a composition of blocks | The difference is spacing, color, radius, font or a minor layout the theme or the block's options handle |
|
|
41
|
+
| The interaction model differs: a drag-and-drop canvas, real-time collaborative editing | The DMS block only "looks slightly different" from the mockup |
|
|
42
|
+
| The user asked for pixel perfect on **this** element | Another element of the page is custom: a custom block never pulls its neighbours along |
|
|
43
|
+
| A measured constraint (performance, data volume) the block cannot meet | The constraint is a guess, not a measurement |
|
|
44
|
+
|
|
45
|
+
## Before any custom block
|
|
46
|
+
|
|
47
|
+
Run this path before writing a `CustomComponent` or its Vue, one element at a time:
|
|
48
|
+
|
|
49
|
+
1. **Search the catalog.** In dms-ai with the Builder loaded, `BuilderCatalog`; otherwise the block catalog of the DMS (`GET /api/block-preview/types` on a running instance, or `docs-data/blocks.json` of AntelopeJS/dms); otherwise the exports of `@antelopejs/interface-dms/base`. Try the block's options first, then a composition of blocks (`Card` + `KeyValueList`, `ChartCard` + a chart, `Grid` of `KpiCard`).
|
|
50
|
+
2. **Show the comparison.** In dms-ai, call `PreviewBlocks` with the closest DMS option as `tree`, the user's mockup as `reference`, and a **sketch variant** of the custom block (`label` naming the DMS tab, and `variants: [{ label, tree }, { label, sketch: { html, css?, caption?, height? } }]`). Elsewhere, write the text table of [REFERENCE.md](REFERENCE.md).
|
|
51
|
+
3. **Ask.** One closed question (`AskUser` in dms-ai) with three options: *Keep the DMS block* / *Adjust it through its options* / *Build a custom block*.
|
|
52
|
+
4. **Build.** On *Adjust*, change the block's options and preview again. Only on *Build a custom block*, build that block alone, under the rules above, with `.meta()`; the rest of the page stays blocks.
|
|
53
|
+
|
|
54
|
+
In **safe mode** (dms-ai, Builder tools only), step 4 is impossible: say so, offer the closest DMS composition, and ask with `AskUser` whether to switch to Code mode for that one block.
|
|
55
|
+
|
|
56
|
+
The path is done when the user has answered for the element. [REFERENCE.md](REFERENCE.md) has worked calls and the fallback table.
|
|
57
|
+
|
|
58
|
+
## Design-fidelity protocol
|
|
59
|
+
|
|
60
|
+
Run it whenever the user hands you a design, mockup or screenshot.
|
|
61
|
+
|
|
62
|
+
1. **Frame once.** Before building, ask **one** question (`AskUser` when available, else a closed question in chat):
|
|
63
|
+
- *Pixel perfect* — reproduce the design, custom blocks allowed where nothing matches;
|
|
64
|
+
- *DMS equivalents* — map every component to its closest DMS block silently; an element no block or composition covers still goes through the path;
|
|
65
|
+
- *Component by component* — **recommended**: decide each visible difference together.
|
|
66
|
+
2. **Map** every component of the design to its closest DMS block ([REFERENCE.md](REFERENCE.md) has the mapping table). Differences the right-hand column of the grid lists never trigger a question.
|
|
67
|
+
3. **Decide.** *Component by component*: run [the path](#before-any-custom-block) for each visible difference (layout, a missing element, another chart kind), batching several components in one preview and one question. *Pixel perfect* answers step 3 of the path for every element, so skip that question but still run step 1: only the parts no block or composition matches become custom.
|
|
68
|
+
4. **Build** under the rules above.
|
|
69
|
+
|
|
70
|
+
The protocol is done when every visibly different component has an answer and every custom block in the page carries `.meta()`.
|
|
71
|
+
|
|
72
|
+
## Checklist before handing back
|
|
73
|
+
|
|
74
|
+
- Every page field and child is a DMS block, except custom blocks the user chose through the path.
|
|
75
|
+
- Every `CustomComponent` has `.meta({ name, description, icon })` with `$` keys present in every locale file.
|
|
76
|
+
- Data comes from routes (`fetchUrl`) rather than options computed at registration; a custom block reads its route with `useApiData` (server-rendered, refreshed with the page) and writes with `$authFetch`.
|
|
77
|
+
- Verified live with **dms-project** (the build only typechecks `src/`).
|
|
@@ -21,6 +21,7 @@ first-party modules follow `dms-<name>` purely for discoverability.
|
|
|
21
21
|
implementations/<name>/index.ts # implementation of the module's own interface
|
|
22
22
|
frontend-vue/ # Vue module: dms.frontend.ts, app/, i18n/locales/,
|
|
23
23
|
# package.json (engines: the loader releases it supports)
|
|
24
|
+
skills/<name>/SKILL.md # when and how agents use the module (antelopeJs.skills)
|
|
24
25
|
package.json / tsconfig.json
|
|
25
26
|
interface-<name>/ # the module's OWN interface, its own published package
|
|
26
27
|
src/index.ts # (rare — many modules ship none)
|
|
@@ -34,7 +35,8 @@ first-party modules follow `dms-<name>` purely for discoverability.
|
|
|
34
35
|
"main": "dist/index.js", "types": "dist/index.d.ts",
|
|
35
36
|
"antelopeJs": {
|
|
36
37
|
"baseUrl": "dist",
|
|
37
|
-
"implements": ["<your-interface-package>"]
|
|
38
|
+
"implements": ["<your-interface-package>"], // the interface THIS module provides (omit/[] if none)
|
|
39
|
+
"skills": ["./skills"] // skills/<name>/SKILL.md, synced to agents
|
|
38
40
|
},
|
|
39
41
|
"exports": {
|
|
40
42
|
".": { "types": "./dist/index.d.ts", "default": "./dist/index.js" },
|
|
@@ -50,7 +52,7 @@ subpath of the runtime package — it goes in the companion interface package, w
|
|
|
50
52
|
## Defining the module's own interface
|
|
51
53
|
|
|
52
54
|
Interface authoring (`InterfaceFunction`, `RegisteringProxy`, implementation shape) is pure
|
|
53
|
-
AntelopeJS — see the **
|
|
55
|
+
AntelopeJS — see the **ajs-author-interface** and **ajs-consume-interface** skills. The DMS-specific parts:
|
|
54
56
|
|
|
55
57
|
- **Define** in a companion package, `packages/interface-<name>/src/`, **implement** at
|
|
56
58
|
`src/implementations/<name>/index.ts` in the module, **wire** with `ImplementInterface` in
|
|
@@ -75,12 +77,12 @@ AntelopeJS — see the **antelopejs** plugin's author/consume skills. The DMS-sp
|
|
|
75
77
|
own interface published as a standalone `interface-*` package → `dms-automation`.
|
|
76
78
|
3. **Scaffold the layout above**: `src/index.ts`, `src/pages/`, `src/routes/` (if it serves data),
|
|
77
79
|
`packages/interface-<name>/` + `src/implementations/<name>/` (only if it exposes one),
|
|
78
|
-
`frontend-vue/` (components registered from the root `dms.frontend.ts`),
|
|
79
|
-
(`antelopeJs` block
|
|
80
|
+
`frontend-vue/` (components registered from the root `dms.frontend.ts`), `skills/<name>/SKILL.md`,
|
|
81
|
+
and the manifest (`antelopeJs` block with `skills`, plus the interface package's `exports`).
|
|
80
82
|
4. **Wire the basics**: `RegisterModule({ id, title, icon, … })`, one `@RegisterPage()` page,
|
|
81
83
|
the `AddFrontendModule` call. Add the `$dms_<name>.*` keys to **every** locale file under
|
|
82
84
|
`frontend-vue/i18n/locales/`.
|
|
83
85
|
5. **Load and verify**: add the module to a consumer project's `antelope.config.ts` (the
|
|
84
86
|
backend's `playground` is the reference consumer) as a `package`/`git`/local-path module,
|
|
85
|
-
then **full-restart via dms-
|
|
87
|
+
then **full-restart via dms-project** — don't rely on hot reload. Keep the repo conventions
|
|
86
88
|
(**dms**: pnpm only, `_id` rows, no `switch`/`case`, TSDoc-only comments).
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dms-module
|
|
3
|
-
description: Packages a
|
|
3
|
+
description: Packages a distributable DMS extension module, one other projects install like the official dms-* modules. Use when creating a publishable DMS module, editing its package.json antelopeJs manifest (implements, skills), registering it with RegisterModule, or defining the module's own AntelopeJS interface package. For an app that only uses the DMS, use dms-project.
|
|
4
|
+
icon: i-ph-package
|
|
4
5
|
category: packaging
|
|
5
6
|
tags: [module, packaging, distribution, interfaces, frontend, inertia]
|
|
6
7
|
---
|
|
@@ -13,7 +14,7 @@ tags: [module, packaging, distribution, interfaces, frontend, inertia]
|
|
|
13
14
|
> The page/component/auth APIs are identical to a project; only the packaging differs.
|
|
14
15
|
|
|
15
16
|
For the mental model see the **dms** skill; for the framework underneath
|
|
16
|
-
(`ImplementInterface`, the `ajs` CLI) see the **antelopejs**
|
|
17
|
+
(`ImplementInterface`, the `ajs` CLI) see the **antelopejs** skill. A DMS module is an
|
|
17
18
|
ordinary AntelopeJS module that (1) depends on **`@antelopejs/dms`**, (2) registers a
|
|
18
19
|
module + pages on load, and (3) attaches a Vue 3 module via `AddFrontendModule` for any custom
|
|
19
20
|
frontend. A consumer installs it and adds it to their `antelope.config.ts` as a
|
|
@@ -32,6 +33,11 @@ when they provide none (`dms-lang`, `dms-saas`); consumed interfaces are plain `
|
|
|
32
33
|
`@antelopejs/interface-{core,api,api-util,auth,database,database-decorators}`. The frontend is
|
|
33
34
|
attached at runtime by the `AddFrontendModule` call in `construct`; there is no manifest field for it.
|
|
34
35
|
|
|
36
|
+
**Ship a skill.** Add `skills/<module-name>/SKILL.md` (frontmatter `name`, a trigger-rich
|
|
37
|
+
`description`, `icon`, `category`, `tags`) saying when and how to use the module, list `"skills"` in
|
|
38
|
+
`files`, and declare `"antelopeJs": { "skills": ["./skills"] }`. The **antelopejs** plugin links it into
|
|
39
|
+
Claude Code and Codex projects and dms-ai loads it — `docs/08.ai-and-claude-code/7.module-skills.md`.
|
|
40
|
+
|
|
35
41
|
## The lifecycle entry (`src/index.ts`)
|
|
36
42
|
|
|
37
43
|
The AntelopeJS loader calls four optional exports. Register everything in `construct`; start
|
|
@@ -107,7 +113,7 @@ in a **project** page instead.
|
|
|
107
113
|
|
|
108
114
|
- `pnpm build` compiles `src/` only (`tsc`) — Vue template/compile errors surface only in the
|
|
109
115
|
running frontend. When a change doesn't show — or `RegisterModule` throws "already
|
|
110
|
-
registered" on rebuild — **full-restart via the dms-
|
|
116
|
+
registered" on rebuild — **full-restart via the dms-project skill** (its pitfalls also cover
|
|
111
117
|
stubbornly stale `~/.antelopejs/dms-frontend` workspaces).
|
|
112
118
|
|
|
113
119
|
## Scaffolding (no DMS-specific generator)
|
|
@@ -1,51 +1,51 @@
|
|
|
1
1
|
# dms-pages — reference
|
|
2
2
|
|
|
3
|
-
Deep material for [SKILL.md](SKILL.md): the
|
|
3
|
+
Deep material for [SKILL.md](SKILL.md): the block catalog, patterns by topic, and the DataTypes
|
|
4
4
|
catalog.
|
|
5
5
|
|
|
6
|
-
##
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
`
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
`
|
|
17
|
-
`
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
6
|
+
## Block catalog
|
|
7
|
+
|
|
8
|
+
Every block is a registered type (`ListBlockTypes()` from `@antelopejs/interface-dms/base/block-types`
|
|
9
|
+
lists them with their option schemas); `docs/04.components/` has one page per block.
|
|
10
|
+
|
|
11
|
+
| Group | Blocks |
|
|
12
|
+
| --- | --- |
|
|
13
|
+
| Layout | `Grid` + `GridRow` (children must be rows; `{ colSpan }` child metadata), `HStack` / `VStack` / `Spacer`, `Card` (slots `actions`, `footer`), `Tab` (`{ slot }` per child), `Guard`, `Placeholder` |
|
|
14
|
+
| Charts & widgets | `KpiCard`, `ChartCard` (wraps one chart), `TopListCard`, `PeriodSelector`, `LiveToggle`; charts `ChartLine`, `ChartArea`, `ChartRangeArea`, `ChartBar`, `ChartColumn`, `ChartScatter`, `ChartMixed`, `ChartRadar`, `ChartCandlestick`, `ChartDonut`, `ChartPie`, `ChartRadialBar`, `ChartHeatmap` |
|
|
15
|
+
| Display | `StatGroup`, `KeyValueList`, `NavCardGrid`, `EmptyState` (its `code` shows a snippet), `Banner`, `CodeBlock` (`code` + `language`, or `fetchUrl` answering `{ code, language? }`) |
|
|
16
|
+
| Lists & settings | `ActivityFeed`, `Meter`, `Section` + `FieldRow` |
|
|
17
|
+
| Data | `Form`, `ResourceForm(controller, { mode: "new" \| "edit" \| "view" })` (from `/base/table-view`), `TableView(controller, options)` |
|
|
18
|
+
| Escape hatch | `CustomComponent(name)` (deep import from `@antelopejs/interface-dms/base/custom` — not in the barrel), always with `.meta()` — see **dms-best-practices** |
|
|
19
|
+
|
|
20
|
+
Nest with `.child("key", builder)`. Builders also carry a behavioral DSL — permissioned
|
|
21
|
+
`.action()`s and `.watch()` reactivity — see `docs/02.building/05.actions-and-reactivity.md`.
|
|
21
22
|
|
|
22
23
|
`Guard({ fetchUrl, field?, when?, fallback? })` wraps any blocks and shows one `EmptyState`
|
|
23
24
|
(`fallback`) in their place when the route says there is nothing: `when: "empty"` (default)
|
|
24
25
|
checks the value at `field` (absent / `null` / `false` / `0` / `""` / `[]`), `when: "notFound"`
|
|
25
26
|
a 404. The children show while loading and on any other failure; an `emptyState` in the
|
|
26
|
-
answer is laid over `fallback` — `docs/04.components/03.layout-and-containers.md
|
|
27
|
+
answer is laid over `fallback` — `docs/04.components/03.layout-and-containers/5.guard.md`.
|
|
27
28
|
A block whose `fetchUrl` answers 404 shows its own "Not found" (no retry), the 404 body's
|
|
28
|
-
`message` / `emptyState` over it
|
|
29
|
-
for the blocks it wraps — `docs/04.components/11.display-blocks.md#not-found`.
|
|
29
|
+
`message` / `emptyState` over it — `docs/04.components/02.block-fundamentals.md#not-found`.
|
|
30
30
|
|
|
31
31
|
A `TableView` scoped by the page URL takes `queryParamFilters: { status: { field: "status" } }`
|
|
32
32
|
(hidden filters read from `?status=`; `routeParamFilters` for slug params like `:id`). No
|
|
33
33
|
glue is needed around it: an active query filter shows the `filtered` empty state, and a
|
|
34
34
|
link changing its value sends the table back to page 1. A drawer or modal row action already
|
|
35
35
|
gets `navigation` (J / K, `index` / `total` in the order shown) —
|
|
36
|
-
`docs/04.components/
|
|
36
|
+
`docs/04.components/08.tables/8.row-drawers.md`.
|
|
37
37
|
|
|
38
38
|
A page's `headerActions` follow its URL: a target URL takes `{{params.X}}` / `{{query.X}}`
|
|
39
39
|
(`?workspace={{query.workspace}}`, a pair the page has no value for is dropped), a label's
|
|
40
40
|
translation takes the page's route and query parameters (`"Download {locale}.json"`), and an
|
|
41
41
|
`availability` reads `context.query`, asked again when the query changes — no need to build
|
|
42
42
|
the header in Vue with `usePageHeaderActions` to carry the scope —
|
|
43
|
-
`docs/
|
|
43
|
+
`packages/interface-dms/docs/3.base/6.layout.md#buttons-that-follow-the-page-url`. An `availability`
|
|
44
44
|
answering `{ hidden: true }` leaves the button out for that query (`{ reason }` only
|
|
45
45
|
disables it): no Vue header to hide "Add key" on a read-only workspace. `order` on a
|
|
46
46
|
header button and `usePageHeaderActions(render, { order })` interleave served buttons with a
|
|
47
47
|
component's client-side ones (default `0`, served first on a tie: `order: -1` puts a Vue
|
|
48
|
-
"Export" before a served "Add key") — `docs/
|
|
48
|
+
"Export" before a served "Add key") — `packages/interface-dms/docs/3.base/6.layout.md#ordering-the-header`.
|
|
49
49
|
|
|
50
50
|
A button or row action (`customButtons`, `rowActions.custom`, a page's `headerActions`)
|
|
51
51
|
points at an `ActionTarget`. A `drawer` target opens from the bottom; give it
|
|
@@ -55,16 +55,102 @@ To read rows one after the other next to the table (a request log), use a `sideP
|
|
|
55
55
|
target instead: a non-modal panel docked on the right whose header the DMS draws (title,
|
|
56
56
|
`rowTitle` naming the row from its fields, `positionLabel` "x of y", previous / next, J / K, close), `?record=` kept by default (`deepLink: false` opts out), a "not found" state on a 404 (`notFound: { title, description }`) and the table's
|
|
57
57
|
`rowClick: "single"` (a `TableView.fromSource` table reads a deep-linked row beyond its first page through `fetchRowUrl: "/api/x/{{row.id}}"`) — never bridge the table's DOM to build one —
|
|
58
|
-
`docs/04.components/
|
|
58
|
+
`docs/04.components/08.tables/8.row-drawers.md#side-panel`.
|
|
59
59
|
A button downloading a file the user's session may read (`/api/...`) takes a `download`
|
|
60
60
|
target, `{ url, filename? }`, with the same `{{row.field}}` / `{{query.X}}` tokens — never a Vue
|
|
61
|
-
header button or an `api` target for it — `docs/
|
|
61
|
+
header button or an `api` target for it — `packages/interface-dms/docs/3.base/2.types.md`.
|
|
62
62
|
|
|
63
63
|
A row that must stay on top of a table under any sort (a base language, a default
|
|
64
64
|
workspace) takes `pinnedRows: { field: "isBase", equals: true }` — never sort on the
|
|
65
65
|
server for it. A row action names its row with `{field}` braces in its `label`
|
|
66
66
|
(`"Translate {name}"`), and `rowActions.menuLabel` (`"Actions for {name}"`) names the
|
|
67
|
-
row's ⋯ button — `docs/04.components/
|
|
67
|
+
row's ⋯ button — `docs/04.components/08.tables/0.index.md#pinned-rows`.
|
|
68
|
+
|
|
69
|
+
## Patterns by topic
|
|
70
|
+
|
|
71
|
+
### Data, URLs and refresh
|
|
72
|
+
|
|
73
|
+
- Every URL token is `{{<scope>.<key>}}`: `params` and `query` (the page URL, percent-encoded;
|
|
74
|
+
nothing is fetched while one is unresolved), `row` (an action's row), `response` (a form's
|
|
75
|
+
redirect). The same page tokens work in every URL and link option.
|
|
76
|
+
- `.watch(FormEvents.SUBMIT_SUCCESS, BlockFunctions.REFRESH_PAGE)` makes the page's data blocks
|
|
77
|
+
(table views included) re-fetch after a form saves.
|
|
78
|
+
- `periodScope` binds a card, chart, list block, `Meter` or `TableView.fromSource` to a
|
|
79
|
+
`PeriodSelector`, which keeps its period in the page URL (`?<id>.period=`).
|
|
80
|
+
- `realtimeTopic` re-fetches a chart, list block, `Meter`, `Tab` badges or `TableView` on each
|
|
81
|
+
`PublishMessage`.
|
|
82
|
+
|
|
83
|
+
### Live pages
|
|
84
|
+
|
|
85
|
+
- A monitoring page that must not refetch on every event declares `live: { maxRate }` in its page
|
|
86
|
+
options (`slowRateAfter: { period: "7d", maxRate: 60 }` for long periods, `rememberKey: "<module>"`
|
|
87
|
+
to share the choice; `maxRate` is also the polling interval while the stream is down) and places a
|
|
88
|
+
`LiveToggle()` (Live / Pause, L key; `variant: "pill"`, `missedLabel` for "N new requests").
|
|
89
|
+
- `liveHold: true` keeps a table's rows while paused; `liveHold: { whileRowOpen, whileScrolled,
|
|
90
|
+
whileSearching, whileSorted }` also holds the table alone; `liveHold.missedLabel` words its "N new".
|
|
91
|
+
Paused, an event counts as its `payload.ids` rows or its `payload.count`, so a module may batch
|
|
92
|
+
publishes with `{ count }`. A hidden tab and `?live=0` pause the page too.
|
|
93
|
+
- A custom component follows that state with `usePageLive()` (`hold(reason)` / `release()`,
|
|
94
|
+
`setMissedDetail()`); one that reads its own data on a topic calls
|
|
95
|
+
`usePageLiveRefresh(refresh, { realtimeTopic, idleRefresh })` — never a throttle of its own.
|
|
96
|
+
`refreshPageBlocks()` (user actions) always reads; `refreshLivePageBlocks()` (timers, feeds) is
|
|
97
|
+
held while paused.
|
|
98
|
+
|
|
99
|
+
### Texts
|
|
100
|
+
|
|
101
|
+
- A text naming values is a `ComposedText` — `{ key, params: { amount: { type: "money", value: 92200,
|
|
102
|
+
currency: "EUR" } } }` — written by the browser in the reader's language. StatGroup /
|
|
103
|
+
KeyValueList / Banner / NavCardGrid / ActivityFeed / Meter / TopListCard item texts, ActivityFeed
|
|
104
|
+
`params` (typed `count` for plurals), tab badges and layout banners (`RegisterLayoutBanner({ resolve })`
|
|
105
|
+
→ `{ text, actions }`) take it. Never format text server-side.
|
|
106
|
+
- A status the backend computes (health, outage) is a `Banner({ fetchUrl })`: the route answers a
|
|
107
|
+
`BannerContent` (its buttons may run `api` / modal / quick-action targets with `confirm`) or
|
|
108
|
+
`null` for no banner.
|
|
109
|
+
|
|
110
|
+
### Blocks
|
|
111
|
+
|
|
112
|
+
- `StatGroup` details and `NavCardGrid` card titles take up to two lines before their ellipsis.
|
|
113
|
+
- `ActivityFeed`: `wrap: true` for entries read whole (leave `fillHeight` off), `visibleItems: N`
|
|
114
|
+
for a "Show N more" fold.
|
|
115
|
+
- `KeyValueList` rows take `copy: true` or `copyValue` (the text to copy instead).
|
|
116
|
+
- `TopListCard({ actions })` puts link buttons in its head; `Tab({ fit: true })` keeps pill tabs to
|
|
117
|
+
their labels' width; with `persistState` the URL names the open tab by its slot (`?tab=tester`).
|
|
118
|
+
- A `ChartCard` plotting several series names them with `showSeriesLegend: true` (placed by the
|
|
119
|
+
chart's `legendPosition`) — never a raw Apex `legend` in `rawOptions`.
|
|
120
|
+
|
|
121
|
+
### Tables
|
|
122
|
+
|
|
123
|
+
- A cell's secondary line is a row field holding text or a composed text (or `{ text, tone }`),
|
|
124
|
+
named by `StatusPillDisplay({ subField })`, `IdentityDisplay({ subtitleField })` or
|
|
125
|
+
`TwoLineDisplay({ subField })`; `IdentityDisplay({ emptyLabel, emptyIcon, iconField })`.
|
|
126
|
+
- `StatusPillDisplay({ toneField })`, `DurationDisplay({ toneField, format: "ms" })` and
|
|
127
|
+
`TextDisplay({ toneField })` read a tone from a row field; a `PillsDisplay` item may be
|
|
128
|
+
`{ label, tone?, variant: "soft" | "outline" }`.
|
|
129
|
+
- A `TableView` over a shared controller hides a column on one page with
|
|
130
|
+
`columns: { hidden: ["workspace"] }` — no view just to hide it.
|
|
131
|
+
- A table ordered by hand (`reorder: { field }`) moves rows on the grid and cards on the `cards`
|
|
132
|
+
display alike; a `card.component` receives a `reorder` prop and `v-bind`s `reorder.handle`.
|
|
133
|
+
|
|
134
|
+
### Forms
|
|
135
|
+
|
|
136
|
+
- A unit after a number field is `NumberType({ suffix: "$…days" })`; a character counter is
|
|
137
|
+
`StringType({ maxLength, showCount: true })` — no custom `inputComponent` for either.
|
|
138
|
+
- A long sectioned `Form` groups its navigation with `FormSection.navGroup`, in the side list and
|
|
139
|
+
the `sectionNav: "jump"` chips alike.
|
|
140
|
+
- A module's own `inputComponent` submits its form, adds a validator and focuses a field with
|
|
141
|
+
`useEnclosingForm()` (never `closest("form")` / `requestSubmit()`); a link ending in `#<fieldId>`
|
|
142
|
+
opens the form on that field. `DmsInputNumber` emits `adjust` when it keeps another value than the
|
|
143
|
+
one typed — listen to it rather than forcing a remount.
|
|
144
|
+
|
|
145
|
+
### Custom components
|
|
146
|
+
|
|
147
|
+
- Name the record at the end of the breadcrumb with
|
|
148
|
+
`usePageRecordLabel().setLabel(useDmsRoute().path, label)`.
|
|
149
|
+
- Format through `useRegionalFormat()`; `useRegionalFormat({ locale: "format" })` writes in the
|
|
150
|
+
locale of the DMS's texts (`en` → `en-GB`).
|
|
151
|
+
- Bring a block into view with `scrollToBlock("tabs.statistics")` — never a DOM query.
|
|
152
|
+
- Show code with `DmsCodeSnippet` (`language`, `title`, `maxLines` or `maxHeight`, `wrap`) — never a
|
|
153
|
+
`<pre>` and a copy button of your own.
|
|
68
154
|
|
|
69
155
|
## DataTypes
|
|
70
156
|
|
|
@@ -74,5 +160,5 @@ catalog (19 built in, `@antelopejs/interface-dms/base/data-types`): `String`, `N
|
|
|
74
160
|
`Relation`, `CascaderRelation`, `Address`, `RichText`, `StringTime`,
|
|
75
161
|
`File`, `Image` (each as `<Name>Type`), plus `StatusType` via the `data-types` barrel. The
|
|
76
162
|
same types drive TableView columns and filters — options per type are in
|
|
77
|
-
`docs/04.components/
|
|
163
|
+
`docs/04.components/10.data-types.md`. Custom types: subclass `DataType`, decorate with
|
|
78
164
|
`@RegisterDataType("id")` (frontend side: `docs/05.extending-the-dashboard/04.custom-data-types.md`).
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dms-pages
|
|
3
|
-
description: Declares admin pages and composes backend-driven UI on the AntelopeJS DMS. Use when adding a dashboard screen, writing a @RegisterPage / PageController class, composing Form / TableView / Chart / Grid
|
|
3
|
+
description: Declares admin pages and composes backend-driven UI on the AntelopeJS DMS. Use when adding a dashboard screen, writing a @RegisterPage / PageController class, composing Form / TableView / Chart / Grid / KpiCard blocks imported from @antelopejs/interface-dms/base, or choosing DataTypes and wiring the routes and DataControllers that feed them.
|
|
4
|
+
icon: i-ph-layout
|
|
4
5
|
category: dashboard
|
|
5
6
|
tags: [pages, components, forms, tables, data-types, navigation]
|
|
6
7
|
---
|
|
@@ -9,9 +10,10 @@ tags: [pages, components, forms, tables, data-types, navigation]
|
|
|
9
10
|
|
|
10
11
|
The DMS is backend-driven: you declare a **page** and attach **components** to it as static
|
|
11
12
|
fields. The builders produce a serializable description that the shared Vue 3 + Inertia frontend
|
|
12
|
-
renders — you write no Vue for standard screens.
|
|
13
|
-
(
|
|
14
|
-
|
|
13
|
+
renders — you write no Vue for standard screens. **Before composing a page, apply
|
|
14
|
+
dms-best-practices** (blocks only, custom for the missing block, `.meta()`, design fidelity). Depth:
|
|
15
|
+
`docs/02.building/03.pages-and-components.md` (pages), `docs/02.building/04.navigation.md` (nav
|
|
16
|
+
tree), and `docs/04.components/` (one page per block, with its options).
|
|
15
17
|
|
|
16
18
|
## Declaring a page
|
|
17
19
|
|
|
@@ -70,11 +72,10 @@ The full catalog — `Form`, `TableView`, the charts, layout containers, dashboa
|
|
|
70
72
|
widgets, `CustomComponent` — plus nesting rules and the behavioral DSL (permissioned
|
|
71
73
|
`.action()`s, `.watch()` reactivity) is in [REFERENCE.md](REFERENCE.md).
|
|
72
74
|
|
|
73
|
-
**Custom UI:
|
|
74
|
-
|
|
75
|
-
`.
|
|
76
|
-
|
|
77
|
-
genuinely needs Vue (`docs/04.components/04.custom-component.md`).
|
|
75
|
+
**Custom UI: only the missing block.** A screen is always a tree of DMS blocks; a part with no
|
|
76
|
+
DMS equivalent becomes one `CustomComponent` (from `@antelopejs/interface-dms/base/custom`) carrying
|
|
77
|
+
`.meta({ name, description, icon })` with `$` keys — the rules and the design-fidelity protocol are
|
|
78
|
+
in **dms-best-practices** (`docs/04.components/09.custom-component.md`).
|
|
78
79
|
|
|
79
80
|
## Feeding components with data
|
|
80
81
|
|
|
@@ -97,7 +98,7 @@ with `@RegisterDataController()` (both from `@antelopejs/interface-data-api`).
|
|
|
97
98
|
class-level `@ColumnGroup(id, config)`), `@Listable` / `@Sortable` from
|
|
98
99
|
`@antelopejs/interface-data-api/metadata`. Read a
|
|
99
100
|
real one first: `@antelopejs/interface-dms/data-controllers` (`members`); guide in
|
|
100
|
-
`docs/04.components/
|
|
101
|
+
`docs/04.components/11.data-controller.md` (+ `08.tables/`). Database rows carry **`_id`**
|
|
101
102
|
as the primary key — return and type it as `_id`, never alias to `id`.
|
|
102
103
|
|
|
103
104
|
## DataTypes
|
|
@@ -109,6 +110,6 @@ built-in types and how to register custom ones.
|
|
|
109
110
|
## Verify in the browser
|
|
110
111
|
|
|
111
112
|
The build only typechecks `src/` — it will not catch a Vue error in a custom component or a
|
|
112
|
-
wrong URL. After editing pages, full-restart and click through (see **dms-
|
|
113
|
+
wrong URL. After editing pages, full-restart and click through (see **dms-project**). A hand-written link
|
|
113
114
|
to a module page must include the `/modules/<moduleId>` prefix (or read `fullSlug` from the
|
|
114
115
|
layout) — a missing prefix 404s through the frontend catch-all even though the build is clean.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# dms-project — dev servers reference
|
|
2
|
+
|
|
3
|
+
Details behind the **Running the dev servers** section of [SKILL.md](SKILL.md): resolving the
|
|
4
|
+
project path, choosing the process manager, what `stop` touches, and the failures that look like
|
|
5
|
+
bugs.
|
|
6
|
+
|
|
7
|
+
## Resolve the backend path
|
|
8
|
+
|
|
9
|
+
`DMS_BACK_DIR` is the absolute path of the project's DMS backend package directory (the one whose
|
|
10
|
+
scripts start the AntelopeJS backend and the frontend loader). Resolve it before the first script
|
|
11
|
+
call of a session, in this order:
|
|
12
|
+
|
|
13
|
+
1. **The current repository.** Use the project that `package.json`, `antelope.config.ts` and any
|
|
14
|
+
service configuration identify, when the path is unambiguous.
|
|
15
|
+
2. **Project memory.** Read the reference memory named `dms-back-path`. Use it only if the
|
|
16
|
+
directory still exists and contains a `package.json`; otherwise treat it as stale.
|
|
17
|
+
3. **The user**, when the path is still ambiguous: "Which AntelopeJS DMS project should I run?
|
|
18
|
+
Give me the absolute path to its DMS backend package directory." Verify the answer, then save it
|
|
19
|
+
as a reference memory so later sessions skip the question:
|
|
20
|
+
|
|
21
|
+
```markdown
|
|
22
|
+
---
|
|
23
|
+
name: dms-back-path
|
|
24
|
+
description: Absolute path to the DMS backend package directory for this project, used by the dms-project skill to run pnpm dev / pnpm frontend:dev.
|
|
25
|
+
metadata:
|
|
26
|
+
type: reference
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
/absolute/path/to/the-backend-package
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
Add the index line to `MEMORY.md`: `- [DMS backend path](dms-back-path.md) — where dms-project runs pnpm dev / pnpm frontend:dev`.
|
|
33
|
+
|
|
34
|
+
A saved path that no longer exists makes the script fail fast with a clear error: ask again and
|
|
35
|
+
overwrite the memory.
|
|
36
|
+
|
|
37
|
+
## Choose the process manager
|
|
38
|
+
|
|
39
|
+
The script is for local shells. In an Amp orb, use the repository's `.amp/services.yaml` with
|
|
40
|
+
`amp orb services ensure`, or `amp orb service start` for a one-off service; check readiness with
|
|
41
|
+
service logs and HTTP checks and share the returned portal URL. Processes the script detaches do
|
|
42
|
+
not survive orb updates.
|
|
43
|
+
|
|
44
|
+
## What `stop` and `restart` touch
|
|
45
|
+
|
|
46
|
+
Only the project in `DMS_BACK_DIR`. The script records the pids it starts in
|
|
47
|
+
`DMS_BACK_DIR/.antelope/dms-dev.pid`; without that file it matches only dev processes whose working
|
|
48
|
+
directory or command line lies under `DMS_BACK_DIR`. Each process gets SIGTERM, then SIGKILL after
|
|
49
|
+
`DMS_DEV_STOP_GRACE` seconds (default 10). Other projects' dev servers on the machine keep running,
|
|
50
|
+
which is why the script replaces `pkill` by name (`pkill -9 node`, `pkill -f antelope-runner`).
|
|
51
|
+
|
|
52
|
+
Run one `start` or `restart` at a time: a second concurrent call hits a port or lock conflict.
|
|
53
|
+
|
|
54
|
+
## Pitfalls
|
|
55
|
+
|
|
56
|
+
- **Zombie frontend processes.** The frontend CLI spawns children. `stop` signals the whole
|
|
57
|
+
session and process tree it started. If `start` reports servers already running, run `stop`
|
|
58
|
+
and check that `status` shows `(none)` before starting again.
|
|
59
|
+
- **Backend exits with "Module already registered".** A previous instance still holds the
|
|
60
|
+
registration: `stop`, then `restart`.
|
|
61
|
+
- **A boot that never gets ready.** Read `back-log` / `front-log`. Common causes: "already
|
|
62
|
+
registered" (above), a port already in use (kill the listed pid), a missing dependency
|
|
63
|
+
(`pnpm install` in the offending module).
|
|
64
|
+
- **A 302 on `/modules/...` URLs is normal**: those admin routes require a login. The layer is
|
|
65
|
+
loaded; have the user log in rather than restarting.
|
|
66
|
+
- **A frontend still stale after restarts.** The loader serves layers from copies under
|
|
67
|
+
`~/.antelopejs/dms-frontend/<hash>/`. Reset them with `ajs dms clean --all` in the backend
|
|
68
|
+
package directory (bare `ajs dms clean` asks for `-b` or `--all`, and `-b <url>` misses
|
|
69
|
+
autodiscovered workspaces, which are keyed by project path), then `restart`.
|
|
70
|
+
- **`ajs dms` reports a refused credential (401), or the backend logs "no valid bootstrap
|
|
71
|
+
credential".** The frontend authenticates to the layer endpoints with the ephemeral secret a dev
|
|
72
|
+
backend publishes to `<project>/.antelope/dms-dev.json`. A 401 means that file is absent
|
|
73
|
+
(backend not in dev mode) or stale: it outlives the backend that wrote it. `restart` rewrites
|
|
74
|
+
it. A frontend running outside the project tree needs `DMS_BOOTSTRAP_SECRET`.
|