@antelopejs/dms 0.9.2 → 0.9.3
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 +55 -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/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/plugins/font-preload.ts +18 -16
- package/frontend-vue/layers/dms-layout/i18n/locales/layout-en-GB.json +3 -0
- package/frontend-vue/layers/dms-layout/i18n/locales/layout-fr-FR.json +3 -0
- 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
package/skills/dms/SKILL.md
CHANGED
|
@@ -1,130 +1,60 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dms
|
|
3
|
-
description:
|
|
3
|
+
description: Gives the mental model of the AntelopeJS DMS (backend-described pages and blocks rendered by a shared frontend) and routes to the right DMS skill. Use when the user mentions the AntelopeJS DMS, when building an app, admin page or dashboard on it, or when working in @antelopejs/dms or any dms-* module. Routes to dms-best-practices, dms-project, dms-pages, dms-auth, dms-module and dms-frontend.
|
|
4
|
+
icon: i-ph-squares-four
|
|
4
5
|
category: overview
|
|
5
6
|
tags: [dms, architecture, mental-model, router]
|
|
6
7
|
---
|
|
7
8
|
|
|
8
9
|
# AntelopeJS DMS
|
|
9
10
|
|
|
10
|
-
The AntelopeJS DMS is a **backend-driven admin framework** built
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
`ImplementInterface`), use the **antelopejs** plugin — the DMS assumes its mechanics.
|
|
11
|
+
The AntelopeJS DMS ("dashboard management system") is a **backend-driven admin framework** built
|
|
12
|
+
*on* AntelopeJS. It ships as **`@antelopejs/dms`**, the package these skills ship with. You add an
|
|
13
|
+
admin screen by writing backend TypeScript — a page and its blocks — and a shared Vue 3 + Inertia SSR
|
|
14
|
+
frontend renders that description; you almost never write Vue. For the framework underneath (the
|
|
15
|
+
core, the `ajs` CLI, interfaces as versioned contracts, `ImplementInterface`), use the **antelopejs**
|
|
16
|
+
skill (shipped with `@antelopejs/core`).
|
|
17
17
|
|
|
18
18
|
## The model in one screen
|
|
19
19
|
|
|
20
|
-
- **Two coupled packages.** **`@antelopejs/dms`** is the backend:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
(which keeps its period in the page URL, `?<id>.period=`), and
|
|
42
|
-
`realtimeTopic` re-fetches a chart, list block, `Meter`, `Tab` badges or `TableView` on each `PublishMessage`.
|
|
43
|
-
A monitoring page that must not refetch on every event declares `live: { maxRate }` in its page options
|
|
44
|
-
(`slowRateAfter: { period: "7d", maxRate: 60 }` for long periods, `rememberKey: "<module>"` to share the
|
|
45
|
-
choice between pages; `maxRate` is also the polling interval while the stream is down) and places a
|
|
46
|
-
`LiveToggle()` (Live / Pause, L key; `variant: "pill"`, `missedLabel` for "N new requests").
|
|
47
|
-
`liveHold: true` keeps a table's rows while paused; `liveHold: { whileRowOpen, whileScrolled,
|
|
48
|
-
whileSearching, whileSorted }` also holds the table alone, its strip saying why ("Table on hold ·
|
|
49
|
-
search active"); `liveHold.missedLabel` words its "N new", and paused, it adds the
|
|
50
|
-
`setMissedDetail()` breakdown ("12 new requests · 2 in 5xx"). Paused, an event counts as its `payload.ids` rows or its `payload.count`, so a
|
|
51
|
-
module may batch publishes with `{ count }`. A hidden tab and `?live=0` pause the page too.
|
|
52
|
-
A custom component follows that state with `usePageLive()`, holds the page with `hold(reason)` /
|
|
53
|
-
`release()` and adds a breakdown with `setMissedDetail()`; a custom component that reads its own data
|
|
54
|
-
on a topic calls `usePageLiveRefresh(refresh, { realtimeTopic, idleRefresh })`, gated exactly like a
|
|
55
|
-
built-in block (never a throttle of its own); `refreshPageBlocks()` (user actions) always
|
|
56
|
-
reads, `refreshLivePageBlocks()` (timers, feeds) is held while paused.
|
|
57
|
-
A custom component on a record page names its record at the end of the breadcrumb with
|
|
58
|
-
`usePageRecordLabel().setLabel(useDmsRoute().path, label)` (auto-imported; never the `build/` path).
|
|
59
|
-
A custom component formats through `useRegionalFormat()` (`formatNumber` & co. return `string` for a
|
|
60
|
-
number); `useRegionalFormat({ locale: "format" })` writes in `formatLocale`, the locale of the DMS's
|
|
61
|
-
texts (`en` → `en-GB`) — never a hand-rolled `en` → `en-GB` mapping.
|
|
62
|
-
A status the backend computes (health, outage) is a `Banner({ fetchUrl })`: the route answers
|
|
63
|
-
a `BannerContent` (its buttons may run `api` / modal / quick-action targets with `confirm`)
|
|
64
|
-
or `null` for no banner — the block then draws nothing.
|
|
65
|
-
A text naming values (an amount, a date, a count) is sent as a `ComposedText` —
|
|
66
|
-
`{ key, params: { amount: { type: "money", value: 92200, currency: "EUR" } } }` — that the
|
|
67
|
-
browser writes in the reader's language: StatGroup / KeyValueList / Banner / NavCardGrid /
|
|
68
|
-
ActivityFeed / Meter / TopListCard item texts (and ActivityFeed `params`, typed `count` for
|
|
69
|
-
plurals) and layout
|
|
70
|
-
banners (`RegisterLayoutBanner({ resolve })` → `{ text, actions }`) take it; never format text server-side.
|
|
71
|
-
A table cell's secondary line is a row field holding one (or `{ text, tone }`), named by
|
|
72
|
-
`StatusPillDisplay({ subField })`, `IdentityDisplay({ subtitleField })` or
|
|
73
|
-
`TwoLineDisplay({ subField })`; `IdentityDisplay({ emptyLabel, emptyIcon })` draws an empty row,
|
|
74
|
-
and `IdentityDisplay({ iconField })` reads each row's tile icon from a row field.
|
|
75
|
-
`StatusPillDisplay({ toneField })` reads the pill's tone from a row field (an HTTP status class);
|
|
76
|
-
`DurationDisplay({ toneField })` and `TextDisplay({ toneField })` colour their text with it (a slow
|
|
77
|
-
duration, an error message), and `DurationDisplay({ format: "ms" })` writes "2,149 ms" on every row;
|
|
78
|
-
and a `PillsDisplay` item may be `{ label, tone?, variant: "soft" | "outline" }`, styled per row.
|
|
79
|
-
A `StatGroup` detail and a `NavCardGrid` card title take up to two lines before their ellipsis.
|
|
80
|
-
An `ActivityFeed` whose entries must be read whole sets `wrap: true` (no ellipsis; leave `fillHeight`
|
|
81
|
-
off so the card grows) and `visibleItems: N` for a "Show N more" fold.
|
|
82
|
-
A unit after a number field is `NumberType({ suffix: "$…days" })`, a character counter on a
|
|
83
|
-
text field `StringType({ maxLength, showCount: true })` — no custom `inputComponent` for either.
|
|
84
|
-
A `TableView` over a shared controller hides a column on one page with
|
|
85
|
-
`columns: { hidden: ["workspace"] }` (as `isVisible: false`, for that table view only) — no view
|
|
86
|
-
just to hide it.
|
|
87
|
-
A long sectioned `Form` groups its navigation with `FormSection.navGroup` ("Billing", "Legal"),
|
|
88
|
-
in the side list and in the `sectionNav: "jump"` chips alike (a form whose side column holds a preview).
|
|
89
|
-
A module's own `inputComponent` submits its form, adds a validator and focuses a field with
|
|
90
|
-
`useEnclosingForm()` (never `closest("form")` / `requestSubmit()`), and a link ending in `#<fieldId>`
|
|
91
|
-
opens the form on that field, focused. `DmsInputNumber` emits `adjust` (`{ typed, value, reason:
|
|
92
|
-
"min" | "max" | "step" }`) when it keeps another value than the one typed, and redraws the kept
|
|
93
|
-
value itself: a note "1020 → 1,000" listens to it — never a forced remount (`:key`).
|
|
94
|
-
`TopListCard({ actions })` puts link buttons in its head ("Catalogue →"), and `Tab({ fit: true })`
|
|
95
|
-
keeps a pill tab list to its tabs' width; with `persistState` the URL names the open tab by its slot
|
|
96
|
-
(`?tab=tester`, an index still read), and a tab `badge` takes a `$` key or a `ComposedText`. A `ChartCard` plotting several series names them with
|
|
97
|
-
`showSeriesLegend: true` (placed by the chart's `legendPosition: "top" | "bottom"`) — never a raw
|
|
98
|
-
Apex `legend` in `rawOptions`.
|
|
99
|
-
A custom component brings a block of its page into view with `scrollToBlock("tabs.statistics")`
|
|
100
|
-
(the block's key path; `false` when it is not on screen) — never a DOM query of its own.
|
|
101
|
-
Code in a custom component is a `DmsCodeSnippet` (`language`, `title`, `maxLines` or a CSS
|
|
102
|
-
`maxHeight`, `wrap: true | "anywhere"`; without title and language its copy button floats in the
|
|
103
|
-
corner) — never a `<pre>` and copy button of the module's own.
|
|
104
|
-
A `KeyValueList` row takes `copy: true` (a copy button for its shown value) or `copyValue`
|
|
105
|
-
(the text to copy instead, e.g. a full URL behind a short label).
|
|
106
|
-
A table ordered by hand (`reorder: { field }`) moves its rows on the grid and its cards on
|
|
107
|
-
the `cards` display alike; a `card.component` receives a `reorder` prop and `v-bind`s
|
|
108
|
-
`reorder.handle` on a button — no custom display just to drag cards.
|
|
109
|
-
- **It's interfaces all the way down.** Everything you consume from the DMS is an AntelopeJS
|
|
110
|
-
interface imported as an `@antelopejs/interface-dms/...` subpath (see the imports below);
|
|
111
|
-
a distributable module exposes its own from a companion `@antelopejs/interface-<name>` package listed in `antelopeJs.implements`.
|
|
20
|
+
- **Two coupled packages.** **`@antelopejs/dms`** is the backend: the page system, the block
|
|
21
|
+
builders, DataTypes, auth and platform services, plus its base Vue dashboard (`frontend-vue/`).
|
|
22
|
+
**`@antelopejs/dms-frontend`** is the frontend loader (`ajs dms`): an Inertia SSR app whose
|
|
23
|
+
catch-all route renders what the backend describes. In dev: `ajs project dev -w` and `ajs dms dev`
|
|
24
|
+
(see **dms-project**).
|
|
25
|
+
- **Usually a project.** Most work is a **project** loading the DMS via `antelope.config.ts` and
|
|
26
|
+
registering its own pages (**dms-project**). Rarer: a **distributable module** like `dms-database`
|
|
27
|
+
(**dms-module**). Same APIs; only the packaging differs.
|
|
28
|
+
- **Pages are classes; UI is blocks.** A page extends `PageController(id, opts)` decorated with
|
|
29
|
+
`@RegisterPage()`. Its **static fields are blocks** — `Form`, `TableView`, `Grid`, `KpiCard`,
|
|
30
|
+
`ChartCard`, … — fluent builders producing a serializable description; every block type is
|
|
31
|
+
registered in the block catalog (`ListBlockTypes()`). Each field and `.child()` is a permission.
|
|
32
|
+
- **Blocks fetch their own data** through URLs (`fetchUrl`, `submitUrl`), usually routes declared
|
|
33
|
+
with `@Get` / `@Post` on the same page class, served under `/dms/pages<slug>` (name them with
|
|
34
|
+
`pageRoutePath(slug, route)`); a plain `Controller` the frontend calls sits under
|
|
35
|
+
`/api/<module>/`. A URL names the page's record with `{{params.id}}` /
|
|
36
|
+
`{{query.X}}`; `periodScope` binds a block to a `PeriodSelector`; `realtimeTopic` re-fetches on a
|
|
37
|
+
`PublishMessage`. Texts are `$` i18n keys or `ComposedText`, never formatted server-side.
|
|
38
|
+
- **It's interfaces all the way down.** Everything you consume is imported from an
|
|
39
|
+
`@antelopejs/interface-dms/...` subpath; a distributable module exposes its own API from a companion
|
|
40
|
+
`@antelopejs/interface-<name>` package listed in `antelopeJs.implements`.
|
|
112
41
|
|
|
113
42
|
```ts
|
|
114
43
|
import { PageController, RegisterPage, pagesCategory } from "@antelopejs/interface-dms/page";
|
|
115
44
|
import { Form } from "@antelopejs/interface-dms/base/form";
|
|
116
45
|
import { DefaultDataTypes } from "@antelopejs/interface-dms/base/data-types/default-types";
|
|
46
|
+
|
|
117
47
|
@RegisterPage()
|
|
118
48
|
export class SubmitRecipePage extends PageController("submit-recipe", {
|
|
119
|
-
displayName: "
|
|
49
|
+
displayName: "$cookbook.submit.title",
|
|
120
50
|
icon: "i-ph-cooking-pot",
|
|
121
|
-
category: pagesCategory,
|
|
51
|
+
category: pagesCategory,
|
|
122
52
|
}) {
|
|
123
53
|
static form = Form({
|
|
124
|
-
title: "
|
|
54
|
+
title: "$cookbook.submit.form_title",
|
|
125
55
|
fields: [
|
|
126
|
-
{ id: "chef",
|
|
127
|
-
{ id: "email", label: "
|
|
56
|
+
{ id: "chef", label: "$cookbook.submit.chef", type: new DefaultDataTypes.StringType({ maxLength: 100 }) },
|
|
57
|
+
{ id: "email", label: "$cookbook.submit.email", type: new DefaultDataTypes.EmailType() },
|
|
128
58
|
],
|
|
129
59
|
});
|
|
130
60
|
}
|
|
@@ -134,40 +64,36 @@ export class SubmitRecipePage extends PageController("submit-recipe", {
|
|
|
134
64
|
|
|
135
65
|
| Task | Skill |
|
|
136
66
|
| --- | --- |
|
|
137
|
-
| **
|
|
138
|
-
|
|
|
139
|
-
|
|
|
140
|
-
|
|
|
141
|
-
| Package a *distributable* module — `antelopeJs` manifest, `RegisterModule
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
Backend and frontend are **coupled**: the `@antelopejs/dms-frontend` loader materializes layers into `~/.antelopejs/dms-frontend/` and
|
|
161
|
-
serves from those copies. Whenever anything looks stale (`RegisterModule "already registered"`, a
|
|
162
|
-
layer edit not showing, phantom UI state), the documented fix is a **full restart, backend first,
|
|
163
|
-
then frontend** — restart before verifying a change rather than trusting hot reload. The sibling
|
|
164
|
-
**dms-dev** skill owns this dance — use its bundled `scripts/dms-dev.sh` (invocation documented there).
|
|
67
|
+
| **Before building or changing any page**, before writing a `CustomComponent`, or when the user hands you a design, mockup or screenshot | **dms-best-practices** |
|
|
68
|
+
| Set up a project that uses the DMS — `antelope.config.ts`, lifecycle, `AddFrontendModule` — and run, stop or restart its dev servers to test a change live | **dms-project** |
|
|
69
|
+
| Add a screen — pages, categories, blocks, DataTypes, the routes that feed them | **dms-pages** |
|
|
70
|
+
| Protect a page or route, define and check permissions, users / roles / tenants | **dms-auth** |
|
|
71
|
+
| Package a *distributable* module — `antelopeJs` manifest, `RegisterModule`, its own skill | **dms-module** |
|
|
72
|
+
| The `ajs dms` CLI, a frontend module's `dms.server.ts` / `dms.frontend.build.ts`, building and deploying the frontend server (ships with `@antelopejs/dms-frontend`) | **dms-frontend** |
|
|
73
|
+
|
|
74
|
+
These skills ship in this package (`skills/`, declared via `antelopeJs.skills`). The **antelopejs**
|
|
75
|
+
plugin links them into a project's `.claude/skills/`, and the dms-ai assistant loads them for every
|
|
76
|
+
loaded module.
|
|
77
|
+
|
|
78
|
+
## Docs & exact interface surfaces
|
|
79
|
+
|
|
80
|
+
The long-form docs live in this package's `docs/` directory, and the exact surface of
|
|
81
|
+
`@antelopejs/interface-dms` is a versioned contract: look it up rather than recall it, and treat skill
|
|
82
|
+
examples as patterns. [REFERENCE.md](REFERENCE.md) maps the docs and gives the resolver commands.
|
|
83
|
+
|
|
84
|
+
## Running the DMS
|
|
85
|
+
|
|
86
|
+
Backend and frontend are **coupled**: the loader materializes layers into
|
|
87
|
+
`~/.antelopejs/dms-frontend/` and serves those copies. When anything looks stale
|
|
88
|
+
(`RegisterModule "already registered"`, a layer edit not showing), the fix is a **full restart,
|
|
89
|
+
backend first, then frontend** — the **dms-project** skill and its `scripts/dms-dev.sh` own that.
|
|
165
90
|
|
|
166
91
|
## Conventions (enforced across all DMS repos)
|
|
167
92
|
|
|
168
|
-
The general rules live in
|
|
93
|
+
The general rules live in the repo's `AGENTS.md` (**pnpm only**, no `switch` / `case`, named
|
|
94
|
+
interfaces, TSDoc-only comments, …). Four DMS-specific rules:
|
|
169
95
|
|
|
170
|
-
- **Table rows use `_id`, not `id`.** Database records carry `_id`;
|
|
171
|
-
- **Consumer-facing APIs
|
|
172
|
-
- **`/** @internal */` marks the provider-side `internal` namespaces of interface files
|
|
173
|
-
- **`pnpm build` only typechecks `src/`.** Frontend errors
|
|
96
|
+
- **Table rows use `_id`, not `id`.** Database records carry `_id`; never alias it to `id`.
|
|
97
|
+
- **Consumer-facing APIs live in the interface package** — never a new runtime `package.json` export subpath.
|
|
98
|
+
- **`/** @internal */` marks the provider-side `internal` namespaces** of interface files — never strip it.
|
|
99
|
+
- **`pnpm build` only typechecks `src/`.** Frontend errors need the frontend lint / tests or a live check (**dms-project**).
|
package/skills/dms-auth/SKILL.md
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: dms-auth
|
|
3
3
|
description: Wires authentication and RBAC permissions on the AntelopeJS DMS. Use when protecting a route with @AuthUser / @AuthUserWithPermission, gating a page via its PageController options, registering permissions, or working with the user, role, and tenant models under @antelopejs/interface-dms/auth and @antelopejs/interface-dms.
|
|
4
|
+
icon: i-ph-lock-key
|
|
4
5
|
category: security
|
|
5
6
|
tags: [auth, permissions, rbac, users, roles, tenants]
|
|
6
7
|
---
|
|
@@ -61,7 +62,9 @@ checks; only add finer ones (ownership, a specific permission).
|
|
|
61
62
|
Permissions are **hierarchical and auto-derived** from the page → component → action tree.
|
|
62
63
|
A component's permission id is the page's **`fullId`** (category chain + page id) followed by
|
|
63
64
|
the component key, then the action (e.g. `pages.recipes.submit-recipe.form.delete`), registered
|
|
64
|
-
automatically when the page loads.
|
|
65
|
+
automatically when the page loads. The roles editor titles each one with the component's metadata: DMS blocks set
|
|
66
|
+
their own, and a `CustomComponent` needs `.meta({ name, description, icon })` with `$` keys (see
|
|
67
|
+
**dms-best-practices**). Users hold roles; roles hold granted permission ids; the
|
|
65
68
|
platform **owner** holds everything. **Module pages are special**: prefixed
|
|
66
69
|
`modules.<moduleId>.…`, never grantable in the Roles tree, owner-only regardless of grants.
|
|
67
70
|
|
|
@@ -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)
|