@wssto2/vue-core 0.2.0 → 0.4.0
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/README.md +36 -0
- package/dist/AccessGate.vue_vue_type_script_setup_true_lang-DcbZBINh.js +22 -0
- package/dist/AccountMenuItem.vue_vue_type_script_setup_true_lang-CPeNxh5K.js +76 -0
- package/dist/ActionRow.vue_vue_type_script_setup_true_lang-LlfIPWsJ.js +45 -0
- package/dist/Activity-2gGxQn7v.js +156 -0
- package/dist/{AdaptivePageShell.vue_vue_type_script_setup_true_lang-CeKK8_g5.js → AdaptivePageShell.vue_vue_type_script_setup_true_lang-BoinCY93.js} +48 -47
- package/dist/{AlertDialog.vue_vue_type_script_setup_true_lang-e4hzkzg3.js → AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js} +1 -1
- package/dist/{AsyncSection.vue_vue_type_script_setup_true_lang-CWLB3xsR.js → AsyncSection.vue_vue_type_script_setup_true_lang-Blj6KgCr.js} +4 -4
- package/dist/{Banner.vue_vue_type_script_setup_true_lang-n_wGPIIu.js → Banner.vue_vue_type_script_setup_true_lang-DSStj_5z.js} +1 -1
- package/dist/{BottomDock.vue_vue_type_script_setup_true_lang-DhlMnPC2.js → BottomDock.vue_vue_type_script_setup_true_lang-CjN7xYEr.js} +1 -1
- package/dist/{Button.vue_vue_type_script_setup_true_lang-B1eZgLae.js → Button.vue_vue_type_script_setup_true_lang-CL9Qh5yq.js} +1 -1
- package/dist/Changes-Bm8xvagD.js +129 -0
- package/dist/CollectionPage.vue_vue_type_script_setup_true_lang-DCBVw2Qd.js +1485 -0
- package/dist/DataTable.vue_vue_type_script_setup_true_lang-UH6f9puS.js +52 -0
- package/dist/DateField.vue_vue_type_script_setup_true_lang-GVasv8ao.js +255 -0
- package/dist/DeadLetters-CMRtXn_N.js +104 -0
- package/dist/{DiscardChangesModal.vue_vue_type_script_setup_true_lang-DyhYHRyz.js → DiscardChangesModal.vue_vue_type_script_setup_true_lang-D1arePCZ.js} +1 -1
- package/dist/{EmptyState.vue_vue_type_script_setup_true_lang-BeGpHMUP.js → EmptyState.vue_vue_type_script_setup_true_lang-50p-Mp8I.js} +1 -1
- package/dist/FormErrors.vue_vue_type_script_setup_true_lang-BQb7wLT0.js +276 -0
- package/dist/FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js +136 -0
- package/dist/FormView.vue_vue_type_script_setup_true_lang-cr0xNDXP.js +38 -0
- package/dist/General-CTqd0SLK.js +145 -0
- package/dist/HeaderAction.vue_vue_type_script_setup_true_lang-Cgji-Jrr.js +45 -0
- package/dist/{Icon.vue_vue_type_script_lang-DtC4_mkz.js → Icon.vue_vue_type_script_lang-D7oC-d-S.js} +54 -37
- package/dist/{IconTile.vue_vue_type_script_setup_true_lang-Csfv6Sel.js → IconTile.vue_vue_type_script_setup_true_lang-BpIjgu5E.js} +1 -1
- package/dist/KeyValue.vue_vue_type_script_setup_true_lang-wcZcvnow.js +35 -0
- package/dist/{LeaveGuardRoot.vue_vue_type_script_setup_true_lang-CvwoT1JF.js → LeaveGuardRoot.vue_vue_type_script_setup_true_lang-Cv7KlA5y.js} +2 -2
- package/dist/{Menu.vue_vue_type_script_setup_true_lang-CrMj6KPD.js → Menu.vue_vue_type_script_setup_true_lang-DTbAcDzL.js} +66 -58
- package/dist/{Modal.vue_vue_type_script_setup_true_lang-BQZM49gC.js → Modal.vue_vue_type_script_setup_true_lang-DpBb8ans.js} +4 -4
- package/dist/NewRolePage-DTOWIxxC.js +42 -0
- package/dist/NoAccess.vue_vue_type_script_setup_true_lang-DWxq-MTM.js +31 -0
- package/dist/NumberField.vue_vue_type_script_setup_true_lang-C7N5nq0P.js +113 -0
- package/dist/OtpInput.vue_vue_type_script_setup_true_lang-gp4FfWAH.js +95 -0
- package/dist/PageBar.vue_vue_type_script_setup_true_lang-B7qdEeej.js +47 -0
- package/dist/{Panel.vue_vue_type_script_setup_true_lang-BQmv3cLb.js → Panel.vue_vue_type_script_setup_true_lang-BA0u_DtS.js} +1 -1
- package/dist/PanelActions.vue_vue_type_script_setup_true_lang-E9VdIGkf.js +46 -0
- package/dist/{PhotoViewer.vue_vue_type_script_setup_true_lang-ElDizaW2.js → PhotoViewer.vue_vue_type_script_setup_true_lang-QPCW3Xi6.js} +1 -1
- package/dist/Popover.vue_vue_type_script_setup_true_lang-Dx-tDhNE.js +125 -0
- package/dist/ProfilePage-BlpiWH_W.js +654 -0
- package/dist/{ProgressTrack.vue_vue_type_script_setup_true_lang-1DDaNs2W.js → ProgressTrack.vue_vue_type_script_setup_true_lang-B6Prw9hi.js} +2 -2
- package/dist/RecordHeader.vue_vue_type_script_setup_true_lang-C_ymvhHU.js +64 -0
- package/dist/ResourcePage.vue_vue_type_script_setup_true_lang-CwI_sROp.js +173 -0
- package/dist/RoleEditor.vue_vue_type_script_setup_true_lang-CmwvSytD.js +300 -0
- package/dist/RolePage-DZk7BZOc.js +315 -0
- package/dist/RolesPage-DzGGCMnm.js +115 -0
- package/dist/SectionIntro.vue_vue_type_script_setup_true_lang-CZtPrmXD.js +23 -0
- package/dist/SectionList.vue_vue_type_script_setup_true_lang-BFYls8fR.js +148 -0
- package/dist/SectionNavigator.vue_vue_type_script_setup_true_lang-DSMXEaCs.js +314 -0
- package/dist/SegmentedField.vue_vue_type_script_setup_true_lang-BMqWlpsL.js +58 -0
- package/dist/SelectField.vue_vue_type_script_setup_true_lang-7O1BAx04.js +423 -0
- package/dist/SessionList.vue_vue_type_script_setup_true_lang-D5KRitar.js +111 -0
- package/dist/Sessions-CWqjjTr1.js +96 -0
- package/dist/SettingsPage-C4s0IdkW.js +255 -0
- package/dist/Sheet.vue_vue_type_script_setup_true_lang-DgOFV4fa.js +145 -0
- package/dist/SignIn-zzKY__df.js +140 -0
- package/dist/SignInPage-Rqnus_s-.js +60 -0
- package/dist/SignInTable.vue_vue_type_script_setup_true_lang-CEbAvZ_C.js +79 -0
- package/dist/SignIns-Cnf9BVR0.js +66 -0
- package/dist/SwipeActions.vue_vue_type_script_setup_true_lang-BJIA2JfI.js +93 -0
- package/dist/SwitchField.vue_vue_type_script_setup_true_lang-CM8yp9JQ.js +64 -0
- package/dist/Tabs.vue_vue_type_script_setup_true_lang-CcMcE38r.js +155 -0
- package/dist/TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js +269 -0
- package/dist/TextareaField.vue_vue_type_script_setup_true_lang-CqAWfABZ.js +68 -0
- package/dist/TimeField.vue_vue_type_script_setup_true_lang-DWfAUlnz.js +164 -0
- package/dist/{Timestamp.vue_vue_type_script_setup_true_lang-CSY_mMm1.js → Timestamp.vue_vue_type_script_setup_true_lang-FVRUr-9y.js} +1 -1
- package/dist/UserRecord-DqigxVxH.js +267 -0
- package/dist/UsersList-DNlZsI9J.js +155 -0
- package/dist/ViewTabs.vue_vue_type_script_setup_true_lang-BJIoZAlH.js +28 -0
- package/dist/access/AddRoleDialog.vue.d.ts +19 -0
- package/dist/access/BindingRow.vue.d.ts +19 -0
- package/dist/access/EffectiveAccess.vue.d.ts +12 -0
- package/dist/access/NewRolePage.vue.d.ts +2 -0
- package/dist/access/PermissionTree.vue.d.ts +13 -0
- package/dist/access/PersonAccess.vue.d.ts +21 -0
- package/dist/access/ReplaceRoleDialog.vue.d.ts +17 -0
- package/dist/access/RoleCompareDialog.vue.d.ts +14 -0
- package/dist/access/RoleEditor.vue.d.ts +28 -0
- package/dist/access/RolePage.vue.d.ts +2 -0
- package/dist/access/RolesPage.vue.d.ts +2 -0
- package/dist/access/api.d.ts +26 -0
- package/dist/access/catalogue.d.ts +64 -0
- package/dist/access/context.d.ts +20 -0
- package/dist/access/effective.d.ts +42 -0
- package/dist/access/feature.d.ts +27 -0
- package/dist/access/index.d.ts +13 -0
- package/dist/access/index.js +15 -0
- package/dist/access/labels.d.ts +35 -0
- package/dist/access/refusals.d.ts +6 -0
- package/dist/access/routes.d.ts +45 -0
- package/dist/access/scopes.d.ts +20 -0
- package/dist/app/contributions.d.ts +1 -1
- package/dist/app/feature.d.ts +8 -0
- package/dist/app/index.js +259 -296
- package/dist/bottomDock-BZEiOPYZ.js +12 -0
- package/dist/button/Button.vue.d.ts +3 -3
- package/dist/button/index.js +1 -1
- package/dist/chrome-BS3xJcad.js +93 -0
- package/dist/client/client.d.ts +13 -0
- package/dist/client/index.d.ts +3 -1
- package/dist/client/index.js +11 -138
- package/dist/client/route.d.ts +59 -0
- package/dist/client-k9euDWF4.js +147 -0
- package/dist/closeOverlays-CjVsIrpL.js +8 -0
- package/dist/collection/definition.d.ts +3 -0
- package/dist/collection/http.d.ts +4 -2
- package/dist/collection/index.js +74 -2428
- package/dist/collection/useCollection.d.ts +2 -0
- package/dist/content/index.js +37 -66
- package/dist/contributions-DsfmDoRD.js +26 -0
- package/dist/control-7EP4tjYy.js +313 -0
- package/dist/controls/DateButton.vue.d.ts +1 -1
- package/dist/controls/PopupButton.vue.d.ts +1 -1
- package/dist/controls/index.js +11 -10
- package/dist/defineRoutes-BGAdiIrt.js +19 -0
- package/dist/{describeError-l5T9b8Uv.js → describeError-Ctga6GcS.js} +1 -1
- package/dist/environment-Dva-SG8D.js +6 -0
- package/dist/{error-Bb_dr_Ay.js → error-CD7x0Jrz.js} +2 -2
- package/dist/feature-DdUAfyi4.js +25 -0
- package/dist/fieldMessages-C3Rpbktw.js +25 -0
- package/dist/form/CheckboxField.vue.d.ts +1 -1
- package/dist/form/CommandDialog.vue.d.ts +1 -1
- package/dist/form/DateField.vue.d.ts +1 -1
- package/dist/form/DateTimeField.vue.d.ts +1 -1
- package/dist/form/EditorPage.vue.d.ts +1 -1
- package/dist/form/Field.vue.d.ts +1 -1
- package/dist/form/FileField.vue.d.ts +1 -1
- package/dist/form/FormGroup.vue.d.ts +1 -1
- package/dist/form/FormGroupButton.vue.d.ts +1 -1
- package/dist/form/FormRow.vue.d.ts +1 -1
- package/dist/form/I18nField.vue.d.ts +3 -3
- package/dist/form/MoneyField.vue.d.ts +1 -1
- package/dist/form/MonthYearField.vue.d.ts +1 -1
- package/dist/form/NumberCell.vue.d.ts +1 -1
- package/dist/form/NumberField.vue.d.ts +2 -2
- package/dist/form/OtpInput.vue.d.ts +2 -2
- package/dist/form/PhotoField.vue.d.ts +1 -1
- package/dist/form/SwitchField.vue.d.ts +1 -1
- package/dist/form/TextField.vue.d.ts +3 -3
- package/dist/form/TextareaField.vue.d.ts +3 -3
- package/dist/form/TimeField.vue.d.ts +1 -1
- package/dist/form/date/DatePickerSheet.vue.d.ts +1 -1
- package/dist/form/date/MonthYearPanel.vue.d.ts +1 -1
- package/dist/form/index.js +1159 -3474
- package/dist/guards-Dve61KjR.js +51 -0
- package/dist/http-CNcDHSOj.js +194 -0
- package/dist/i18n/index.d.ts +281 -0
- package/dist/i18n/index.js +52 -52
- package/dist/icon/core.d.ts +17 -0
- package/dist/icon/index.js +1 -1
- package/dist/identity/ImpersonationBanner.vue.d.ts +2 -0
- package/dist/identity/LocaleSync.vue.d.ts +2 -0
- package/dist/identity/SessionExpiry.vue.d.ts +2 -0
- package/dist/identity/SignInAsButton.vue.d.ts +15 -0
- package/dist/identity/SignInPage.vue.d.ts +2 -0
- package/dist/identity/context.d.ts +7 -0
- package/dist/identity/feature.d.ts +16 -0
- package/dist/identity/fieldMessages.d.ts +15 -0
- package/dist/identity/index.d.ts +16 -0
- package/dist/identity/index.js +18 -0
- package/dist/identity/profile/DetailsPanel.vue.d.ts +11 -0
- package/dist/identity/profile/EmailChangeDialog.vue.d.ts +14 -0
- package/dist/identity/profile/EmailPanel.vue.d.ts +11 -0
- package/dist/identity/profile/PanelActions.vue.d.ts +17 -0
- package/dist/identity/profile/PasswordPanel.vue.d.ts +2 -0
- package/dist/identity/profile/ProfileMenuItem.vue.d.ts +2 -0
- package/dist/identity/profile/ProfilePage.vue.d.ts +2 -0
- package/dist/identity/profile/SessionsPanel.vue.d.ts +2 -0
- package/dist/identity/profile/SignInsPanel.vue.d.ts +2 -0
- package/dist/identity/profile/VerifyCode.vue.d.ts +49 -0
- package/dist/identity/profile/routes.d.ts +13 -0
- package/dist/identity/session.d.ts +30 -0
- package/dist/identity/shared/ActionRow.vue.d.ts +20 -0
- package/dist/identity/shared/ChangeFeed.vue.d.ts +11 -0
- package/dist/identity/shared/PageBar.vue.d.ts +12 -0
- package/dist/identity/shared/SectionIntro.vue.d.ts +16 -0
- package/dist/identity/shared/SessionList.vue.d.ts +19 -0
- package/dist/identity/shared/SignInTable.vue.d.ts +11 -0
- package/dist/identity/shared/ViewTabs.vue.d.ts +23 -0
- package/dist/identity/shared/signInEvents.d.ts +9 -0
- package/dist/identity/signIn.d.ts +27 -0
- package/dist/identity/useSignInForm.d.ts +20 -0
- package/dist/identity/user.d.ts +6 -0
- package/dist/identity/users/DeactivateDialog.vue.d.ts +18 -0
- package/dist/identity/users/NewUserDialog.vue.d.ts +9 -0
- package/dist/identity/users/SetPasswordDialog.vue.d.ts +16 -0
- package/dist/identity/users/UserRecord.vue.d.ts +2 -0
- package/dist/identity/users/UsersList.vue.d.ts +2 -0
- package/dist/identity/users/access.d.ts +4 -0
- package/dist/identity/users/context.d.ts +9 -0
- package/dist/identity/users/feature.d.ts +34 -0
- package/dist/identity/users/languages.d.ts +4 -0
- package/dist/identity/users/list.d.ts +8 -0
- package/dist/identity/users/person.d.ts +26 -0
- package/dist/identity/users/personSections.d.ts +22 -0
- package/dist/identity/users/routes.d.ts +22 -0
- package/dist/identity/users/sections/Activity.vue.d.ts +2 -0
- package/dist/identity/users/sections/Changes.vue.d.ts +2 -0
- package/dist/identity/users/sections/General.vue.d.ts +2 -0
- package/dist/identity/users/sections/Sessions.vue.d.ts +2 -0
- package/dist/identity/users/sections/SignIn.vue.d.ts +2 -0
- package/dist/identity/users/sections/SignIns.vue.d.ts +2 -0
- package/dist/identity/users/status.d.ts +4 -0
- package/dist/index-BsJ92eub.js +504 -0
- package/dist/index-CGv-u1Ws.js +459 -0
- package/dist/index-GcLnFF-z.js +706 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/languageName.d.ts +2 -0
- package/dist/keepAlive-WYQGRhuz.js +48 -0
- package/dist/languageName-CItV_SOv.js +11 -0
- package/dist/languages-BShG9LpE.js +10 -0
- package/dist/leaveGuard-Cc8yeLxM.js +72 -0
- package/dist/modal/Modal.vue.d.ts +1 -1
- package/dist/modal/Sheet.vue.d.ts +2 -0
- package/dist/modal/index.js +5 -5
- package/dist/modules/access/entities.d.ts +112 -0
- package/dist/modules/access/routes.d.ts +67 -0
- package/dist/modules/access/schemas.d.ts +73 -0
- package/dist/modules/events/entities.d.ts +16 -0
- package/dist/modules/events/routes.d.ts +17 -0
- package/dist/modules/events/schemas.d.ts +16 -0
- package/dist/modules/identity/entities.d.ts +150 -0
- package/dist/modules/identity/routes.d.ts +118 -0
- package/dist/modules/identity/schemas.d.ts +145 -0
- package/dist/modules/notification/entities.d.ts +46 -0
- package/dist/modules/notification/routes.d.ts +26 -0
- package/dist/modules/notification/schemas.d.ts +25 -0
- package/dist/{navigation-B33ikiCS.js → navigation-Cm3iChlR.js} +21 -20
- package/dist/neighbors-DpaIMQAL.js +86 -0
- package/dist/notifications/InboxPanel.vue.d.ts +16 -0
- package/dist/notifications/MarkAllRead.vue.d.ts +7 -0
- package/dist/notifications/NotificationBell.vue.d.ts +2 -0
- package/dist/notifications/SettingsLink.vue.d.ts +6 -0
- package/dist/notifications/context.d.ts +20 -0
- package/dist/notifications/deadletters/DeadLetters.vue.d.ts +2 -0
- package/dist/notifications/deadletters/access.d.ts +3 -0
- package/dist/notifications/deadletters/list.d.ts +3 -0
- package/dist/notifications/deadletters/routes.d.ts +13 -0
- package/dist/notifications/feature.d.ts +31 -0
- package/dist/notifications/inbox.d.ts +62 -0
- package/dist/notifications/index.d.ts +13 -0
- package/dist/notifications/index.js +8 -0
- package/dist/notifications/settings/EmailPanel.vue.d.ts +14 -0
- package/dist/notifications/settings/QuietHoursPanel.vue.d.ts +14 -0
- package/dist/notifications/settings/SettingsMenuItem.vue.d.ts +2 -0
- package/dist/notifications/settings/SettingsPage.vue.d.ts +2 -0
- package/dist/notifications/settings/categoryText.d.ts +9 -0
- package/dist/notifications/settings/routes.d.ts +13 -0
- package/dist/notifications/settings/settings.d.ts +18 -0
- package/dist/notifications/settings/state.d.ts +16 -0
- package/dist/notifications/state.d.ts +27 -0
- package/dist/notifications/stream.d.ts +21 -0
- package/dist/options-Ba_0uLWN.js +18 -0
- package/dist/overlay/AlertDialog.vue.d.ts +3 -3
- package/dist/overlay/Popover.vue.d.ts +1 -1
- package/dist/overlay/closeOverlays.d.ts +7 -0
- package/dist/overlay/index.js +21 -20
- package/dist/page/AdaptivePageShell.vue.d.ts +2 -2
- package/dist/page/ResourceHeader.vue.d.ts +2 -2
- package/dist/page/index.js +99 -457
- package/dist/phone/PhoneField.vue.d.ts +2 -2
- package/dist/phone/index.js +68 -67
- package/dist/platform/index.d.ts +2 -2
- package/dist/platform/index.js +73 -90
- package/dist/platform/platform.d.ts +2 -2
- package/dist/platform/session.d.ts +22 -1
- package/dist/platform-q3cjODLx.js +255 -0
- package/dist/resource/index.js +8 -248
- package/dist/route-goWMxDUN.js +13 -0
- package/dist/routeResource-DstM0hvf.js +82 -0
- package/dist/router/guards.d.ts +7 -1
- package/dist/router/index.js +23 -37
- package/dist/router/navigation.d.ts +1 -1
- package/dist/rowLayout-BqTEhEuy.js +603 -0
- package/dist/sectionIndex-BS0ic5W7.js +86 -0
- package/dist/{sections-LtxV5Mtk.js → sections-CntvUTxn.js} +1 -1
- package/dist/shell/AccountMenuItem.vue.d.ts +1 -1
- package/dist/shell/BackofficeShell.vue.d.ts +2 -2
- package/dist/shell/NavigationList.vue.d.ts +1 -1
- package/dist/shell/ShellBrand.vue.d.ts +1 -1
- package/dist/shell/backofficeShell.d.ts +1 -1
- package/dist/shell/identity.d.ts +1 -1
- package/dist/shell/index.js +491 -595
- package/dist/state/ProgressTrack.vue.d.ts +1 -1
- package/dist/state/index.js +59 -92
- package/dist/status-BuP3ULjH.js +33 -0
- package/dist/styles.css +1 -1
- package/dist/suggestions-BxMm6MQA.js +138 -0
- package/dist/testing/index.js +1 -1
- package/dist/toast-D9Z5To38.js +13 -0
- package/dist/transport-BnP7WC0Y.js +4 -0
- package/dist/useCommand-BkONMn3X.js +135 -0
- package/dist/useLoad-CYRVx6HW.js +39 -0
- package/dist/useResourceForm-D1hIpwW5.js +52 -0
- package/dist/useSaveChrome-chi6D3HY.js +25 -0
- package/dist/useSheetDrag-OsD6Eb6I.js +72 -0
- package/dist/useTypedEntry-aTfPBAhw.js +857 -0
- package/package.json +26 -5
- package/dist/NoAccess.vue_vue_type_script_setup_true_lang-OKW8pKYU.js +0 -78
- package/dist/SectionList.vue_vue_type_script_setup_true_lang-L9ita_Kx.js +0 -230
- package/dist/SelectField.vue_vue_type_script_setup_true_lang-DZTrU8NJ.js +0 -661
- package/dist/Sheet.vue_vue_type_script_setup_true_lang-CtkJ-4e3.js +0 -210
- package/dist/SwipeActions.vue_vue_type_script_setup_true_lang-CGTuEnTv.js +0 -243
- package/dist/chrome-D9pwD6iS.js +0 -101
- package/dist/environment-D3nozt9a.js +0 -75
- package/dist/feature-DyDtyMLU.js +0 -47
- package/dist/options-DAkBtYkI.js +0 -330
- package/dist/platform-jqlKVJ2e.js +0 -244
- package/dist/toast-DvrHQ6Ag.js +0 -131
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { effectScope as R, watch as g } from "vue";
|
|
2
|
+
import { h as b } from "./platform-q3cjODLx.js";
|
|
3
|
+
const i = "redirect";
|
|
4
|
+
function q(r) {
|
|
5
|
+
const t = r.query[i], n = Array.isArray(t) ? t[0] : t;
|
|
6
|
+
return typeof n == "string" && n.startsWith("/") && !n.startsWith("//") && !n.includes("\\") ? n : null;
|
|
7
|
+
}
|
|
8
|
+
function m(r, t) {
|
|
9
|
+
return t === null ? r : typeof r == "string" ? { path: r, query: { [i]: t } } : { ...r, query: { ...r.query, [i]: t } };
|
|
10
|
+
}
|
|
11
|
+
function W(r) {
|
|
12
|
+
const { router: t, session: n, login: o, home: d } = r, f = /* @__PURE__ */ new WeakMap();
|
|
13
|
+
let s = !1;
|
|
14
|
+
const h = () => {
|
|
15
|
+
s || (s = !0, r.progress?.start());
|
|
16
|
+
}, c = () => {
|
|
17
|
+
s && (s = !1, r.progress?.done());
|
|
18
|
+
}, p = () => t.resolve(o).name, v = t.beforeEach(async (e) => {
|
|
19
|
+
if (h(), e.meta.public === !0) {
|
|
20
|
+
if (e.name !== void 0 && e.name === p() && (await n.restore()).status === "authenticated") return q(e) ?? d;
|
|
21
|
+
} else {
|
|
22
|
+
const a = await n.restore();
|
|
23
|
+
if (a.status === "failed")
|
|
24
|
+
return r.onError?.(a.error), !1;
|
|
25
|
+
if (a.status !== "authenticated") return m(o, e.fullPath);
|
|
26
|
+
}
|
|
27
|
+
return r.prepare && f.set(e, r.prepare(e)), !0;
|
|
28
|
+
}), y = t.beforeResolve(async (e) => {
|
|
29
|
+
await f.get(e);
|
|
30
|
+
}), E = t.afterEach((e, a, u) => {
|
|
31
|
+
c(), u || r.afterNavigation?.(e);
|
|
32
|
+
}), w = t.onError((e) => {
|
|
33
|
+
c(), r.onError?.(e);
|
|
34
|
+
}), l = R();
|
|
35
|
+
return l.run(
|
|
36
|
+
() => g(
|
|
37
|
+
() => n.state.value,
|
|
38
|
+
(e, a) => {
|
|
39
|
+
if (e.status !== "anonymous" || b(a) === null) return;
|
|
40
|
+
const u = t.currentRoute.value;
|
|
41
|
+
u.meta.public !== !0 && (e.reason === "expired" && r.holdExpired && e.previous || t.replace(m(o, e.reason === "expired" ? u.fullPath : null)).catch(r.onError));
|
|
42
|
+
}
|
|
43
|
+
)
|
|
44
|
+
), () => {
|
|
45
|
+
v(), y(), E(), w(), l.stop(), c();
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
W as i,
|
|
50
|
+
q as r
|
|
51
|
+
};
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { hasInjectionContext as z, inject as $, watch as _ } from "vue";
|
|
2
|
+
import { g as O } from "./platform-q3cjODLx.js";
|
|
3
|
+
const j = [5, 8, 10, 15, 25, 50, 100], E = 25;
|
|
4
|
+
function U(e) {
|
|
5
|
+
const t = `defineCollection("${e.id}")`;
|
|
6
|
+
if (typeof e.id != "string" || e.id.trim() === "") throw new Error("defineCollection: `id` must be a non-empty string.");
|
|
7
|
+
if (!Number.isInteger(e.stateVersion) || e.stateVersion < 1) throw new Error(`${t}: \`stateVersion\` must be a positive integer.`);
|
|
8
|
+
if (typeof e.load != "function") throw new Error(`${t}: \`load\` must be a function.`);
|
|
9
|
+
if (typeof e.key != "function") throw new Error(`${t}: \`key\` must be a function.`);
|
|
10
|
+
const r = {
|
|
11
|
+
sorts: e.query?.sorts ? [...e.query.sorts] : null,
|
|
12
|
+
filters: e.query?.filters ? [...e.query.filters] : null,
|
|
13
|
+
views: e.query?.views ? [...e.query.views] : null,
|
|
14
|
+
sensitive: [...e.query?.sensitive ?? []],
|
|
15
|
+
pageSizes: [...e.query?.pageSizes ?? j],
|
|
16
|
+
search: e.query?.search ?? !0
|
|
17
|
+
};
|
|
18
|
+
if (r.pageSizes.length === 0 || r.pageSizes.some((c) => !Number.isInteger(c) || c < 1))
|
|
19
|
+
throw new Error(`${t}: \`query.pageSizes\` must list positive integers.`);
|
|
20
|
+
for (const c of r.sensitive)
|
|
21
|
+
if (r.filters && !r.filters.includes(c)) throw new Error(`${t}: sensitive filter "${c}" is not in \`query.filters\`.`);
|
|
22
|
+
const s = e.defaults ?? {}, n = s.pageSize ?? (r.pageSizes.includes(E) ? E : r.pageSizes[0]);
|
|
23
|
+
if (!r.pageSizes.includes(n)) throw new Error(`${t}: default page size ${n} is not one of ${r.pageSizes.join(", ")}.`);
|
|
24
|
+
const o = s.sort ?? null;
|
|
25
|
+
if (o !== null && r.sorts && !r.sorts.includes(o)) throw new Error(`${t}: default sort "${o}" is not in \`query.sorts\`.`);
|
|
26
|
+
const i = s.view ?? null;
|
|
27
|
+
if (i !== null && r.views && !r.views.includes(i)) throw new Error(`${t}: default view "${i}" is not in \`query.views\`.`);
|
|
28
|
+
const a = Object.fromEntries(Object.entries(s.filters ?? {}).filter(([, c]) => c !== void 0 && c !== ""));
|
|
29
|
+
for (const c of Object.keys(a))
|
|
30
|
+
if (r.filters && !r.filters.includes(c)) throw new Error(`${t}: default filter "${c}" is not in \`query.filters\`.`);
|
|
31
|
+
const l = s.page ?? 1;
|
|
32
|
+
if (!Number.isInteger(l) || l < 1) throw new Error(`${t}: default page must be a positive integer.`);
|
|
33
|
+
const f = s.direction ?? "asc";
|
|
34
|
+
if (f !== "asc" && f !== "desc") throw new Error(`${t}: default direction must be "asc" or "desc".`);
|
|
35
|
+
return Object.freeze({
|
|
36
|
+
id: e.id,
|
|
37
|
+
stateVersion: e.stateVersion,
|
|
38
|
+
load: e.load,
|
|
39
|
+
key: e.key,
|
|
40
|
+
defaults: Object.freeze({
|
|
41
|
+
page: l,
|
|
42
|
+
pageSize: n,
|
|
43
|
+
sort: o,
|
|
44
|
+
direction: f,
|
|
45
|
+
search: s.search ?? "",
|
|
46
|
+
view: i,
|
|
47
|
+
filters: Object.freeze(a)
|
|
48
|
+
}),
|
|
49
|
+
contract: Object.freeze(r),
|
|
50
|
+
migrate: e.migrate
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
const X = "from";
|
|
54
|
+
function F(e, t) {
|
|
55
|
+
if (typeof e == "string") {
|
|
56
|
+
const r = new URLSearchParams(t).toString(), s = e.indexOf("#"), n = s === -1 ? e : e.slice(0, s);
|
|
57
|
+
return `${n}${n.includes("?") ? "&" : "?"}${r}${s === -1 ? "" : e.slice(s)}`;
|
|
58
|
+
}
|
|
59
|
+
return { ...e, query: { ...e.query, ...t } };
|
|
60
|
+
}
|
|
61
|
+
function G(e) {
|
|
62
|
+
if (!z()) return;
|
|
63
|
+
const t = $(O, null);
|
|
64
|
+
t && _(
|
|
65
|
+
() => {
|
|
66
|
+
const r = t.session.state.value;
|
|
67
|
+
return r.status === "authenticated" ? r.user.id : null;
|
|
68
|
+
},
|
|
69
|
+
e,
|
|
70
|
+
{ flush: "sync" }
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
const I = 4096, k = 200, T = 32, N = 1e6, v = /^[A-Za-z0-9_.-]{1,64}$/;
|
|
74
|
+
function C(e) {
|
|
75
|
+
let t = "";
|
|
76
|
+
for (const r of new TextEncoder().encode(e)) t += String.fromCharCode(r);
|
|
77
|
+
return btoa(t).replace(/\+/g, "-").replace(/\//g, "_").replace(/=+$/, "");
|
|
78
|
+
}
|
|
79
|
+
function M(e) {
|
|
80
|
+
const t = e.replace(/-/g, "+").replace(/_/g, "/"), r = atob(t.padEnd(Math.ceil(t.length / 4) * 4, "="));
|
|
81
|
+
return new TextDecoder("utf-8", { fatal: !0 }).decode(Uint8Array.from(r, (s) => s.charCodeAt(0)));
|
|
82
|
+
}
|
|
83
|
+
const S = (e) => typeof e == "object" && e !== null && !Array.isArray(e);
|
|
84
|
+
function m(e, t = k) {
|
|
85
|
+
return typeof e == "string" && e.length <= t ? e : null;
|
|
86
|
+
}
|
|
87
|
+
function A(e, t) {
|
|
88
|
+
const { defaults: r, contract: s } = e, n = typeof t.p == "number" && Number.isInteger(t.p) && t.p >= 1 && t.p <= N ? t.p : r.page, o = typeof t.l == "number" && s.pageSizes.includes(t.l) ? t.l : r.pageSize;
|
|
89
|
+
let i = r.sort;
|
|
90
|
+
const a = m(t.c, 64);
|
|
91
|
+
a !== null && (s.sorts ? s.sorts.includes(a) : v.test(a)) && (i = a);
|
|
92
|
+
const l = t.d === "asc" || t.d === "desc" ? t.d : r.direction, f = m(t.s) ?? r.search;
|
|
93
|
+
let c = r.view;
|
|
94
|
+
const g = m(t.w, 64);
|
|
95
|
+
g !== null && (s.views ? s.views.includes(g) : v.test(g)) && (c = g);
|
|
96
|
+
const w = S(t.f) ? {} : { ...r.filters };
|
|
97
|
+
if (S(t.f)) {
|
|
98
|
+
let y = 0;
|
|
99
|
+
for (const [u, h] of Object.entries(t.f)) {
|
|
100
|
+
if (++y > T) break;
|
|
101
|
+
if (!(s.filters ? s.filters.includes(u) : v.test(u)) || s.sensitive.includes(u)) continue;
|
|
102
|
+
const b = typeof h == "number" || typeof h == "boolean" ? String(h) : m(h);
|
|
103
|
+
b !== null && b !== "" && (w[u] = b);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return { page: n, pageSize: o, sort: i, direction: l, search: f, view: c, filters: w };
|
|
107
|
+
}
|
|
108
|
+
function J(e, t) {
|
|
109
|
+
const r = { v: e.stateVersion, p: t.page, l: t.pageSize };
|
|
110
|
+
t.sort && (r.c = t.sort), r.d = t.direction, t.search && (r.s = t.search), t.view && (r.w = t.view);
|
|
111
|
+
const s = Object.fromEntries(
|
|
112
|
+
Object.entries(t.filters).filter(([n, o]) => o !== void 0 && o !== "" && !e.contract.sensitive.includes(n))
|
|
113
|
+
);
|
|
114
|
+
return (Object.keys(s).length > 0 || Object.keys(e.defaults.filters).length > 0) && (r.f = s), C(JSON.stringify(r));
|
|
115
|
+
}
|
|
116
|
+
function x(e, t) {
|
|
117
|
+
const r = t.v === void 0 ? e.stateVersion : t.v;
|
|
118
|
+
if (typeof r != "number" || !Number.isInteger(r)) return null;
|
|
119
|
+
if (r === e.stateVersion) return A(e, t);
|
|
120
|
+
const s = e.migrate?.(t, r);
|
|
121
|
+
return s ? A(e, s) : null;
|
|
122
|
+
}
|
|
123
|
+
function Z(e, t) {
|
|
124
|
+
if (typeof t != "string" || t === "" || t.length > I) return null;
|
|
125
|
+
let r;
|
|
126
|
+
try {
|
|
127
|
+
r = JSON.parse(M(t));
|
|
128
|
+
} catch {
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
return S(r) ? x(e, r) : null;
|
|
132
|
+
}
|
|
133
|
+
function B(e) {
|
|
134
|
+
return JSON.stringify([
|
|
135
|
+
e.page,
|
|
136
|
+
e.pageSize,
|
|
137
|
+
e.sort,
|
|
138
|
+
e.direction,
|
|
139
|
+
e.search,
|
|
140
|
+
e.view,
|
|
141
|
+
Object.entries(e.filters).sort(([t], [r]) => t.localeCompare(r))
|
|
142
|
+
]);
|
|
143
|
+
}
|
|
144
|
+
const d = (e) => typeof e == "object" && e !== null && !Array.isArray(e), p = (...e) => {
|
|
145
|
+
for (const t of e) if (typeof t == "number" && Number.isFinite(t)) return t;
|
|
146
|
+
return null;
|
|
147
|
+
};
|
|
148
|
+
function L(e) {
|
|
149
|
+
return {
|
|
150
|
+
// Filters first: the reserved names below always win, a filter called "page" cannot break paging.
|
|
151
|
+
...e.filters,
|
|
152
|
+
page: e.page,
|
|
153
|
+
per_page: e.pageSize,
|
|
154
|
+
order_col: e.sort,
|
|
155
|
+
order_dir: e.sort ? e.direction : null,
|
|
156
|
+
search: e.search,
|
|
157
|
+
view: e.view
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
function P(e, t) {
|
|
161
|
+
const r = e.data, s = d(r) && Array.isArray(r.data), n = Array.isArray(r) ? r : s ? r.data : [], o = s ? r : {}, i = d(e.meta) ? e.meta : d(o.meta) ? o.meta : {}, a = p(o.per_page, i.per_page) ?? t.pageSize, l = p(o.total, i.total) ?? n.length, f = p(o.current_page, i.page, i.current_page) ?? t.page, c = p(o.last_page, i.last_page) ?? (l === 0 ? 0 : Math.ceil(l / Math.max(1, a))), g = p(o.from, i.from) ?? (n.length === 0 ? 0 : (f - 1) * a + 1), w = p(o.to, i.to) ?? (n.length === 0 ? 0 : g + n.length - 1), y = Array.isArray(i.views) ? i.views : Array.isArray(o.views) ? o.views : void 0;
|
|
162
|
+
return {
|
|
163
|
+
rows: n,
|
|
164
|
+
total: l,
|
|
165
|
+
page: f,
|
|
166
|
+
pageSize: a,
|
|
167
|
+
lastPage: c,
|
|
168
|
+
from: g,
|
|
169
|
+
to: w,
|
|
170
|
+
views: y?.filter(d).flatMap((u) => typeof u.key == "string" ? [{ key: u.key, count: p(u.count) ?? void 0 }] : []),
|
|
171
|
+
meta: i,
|
|
172
|
+
requestId: e.requestId
|
|
173
|
+
};
|
|
174
|
+
}
|
|
175
|
+
function K(e, t, r = {}) {
|
|
176
|
+
return async (s, { signal: n }) => {
|
|
177
|
+
const o = await e.get(t, { query: r.params ? r.params(s) : L(s), signal: n });
|
|
178
|
+
return P(o, s);
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
export {
|
|
182
|
+
j as D,
|
|
183
|
+
X as L,
|
|
184
|
+
U as a,
|
|
185
|
+
x as b,
|
|
186
|
+
Z as d,
|
|
187
|
+
J as e,
|
|
188
|
+
K as h,
|
|
189
|
+
L as l,
|
|
190
|
+
G as o,
|
|
191
|
+
B as q,
|
|
192
|
+
P as r,
|
|
193
|
+
F as w
|
|
194
|
+
};
|
package/dist/i18n/index.d.ts
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/** A group of texts: every key is a sentence. */
|
|
2
|
+
type Texts<Key extends string> = {
|
|
3
|
+
[K in Key]: string;
|
|
4
|
+
};
|
|
1
5
|
/**
|
|
2
6
|
* The shape of one locale's messages: `{ core: { … } }`. Written out (not inferred from the JSON
|
|
3
7
|
* files) so the published declarations do not point at files that are not shipped; every locale
|
|
@@ -5,6 +9,149 @@
|
|
|
5
9
|
*/
|
|
6
10
|
export type CoreMessages = {
|
|
7
11
|
core: {
|
|
12
|
+
/** The roles, bindings and effective-access screens (`@wssto2/vue-core/access`). */
|
|
13
|
+
access: {
|
|
14
|
+
title: string;
|
|
15
|
+
description: string;
|
|
16
|
+
new_title: string;
|
|
17
|
+
new_description: string;
|
|
18
|
+
new_copy_description: string;
|
|
19
|
+
create: string;
|
|
20
|
+
save: string;
|
|
21
|
+
copy: string;
|
|
22
|
+
copy_name: string;
|
|
23
|
+
search: string;
|
|
24
|
+
list_footer: string;
|
|
25
|
+
empty: string;
|
|
26
|
+
permissions: string;
|
|
27
|
+
holders_count: string;
|
|
28
|
+
kinds: {
|
|
29
|
+
all: string;
|
|
30
|
+
predefined: string;
|
|
31
|
+
custom: string;
|
|
32
|
+
};
|
|
33
|
+
role_kind: {
|
|
34
|
+
predefined: string;
|
|
35
|
+
custom: string;
|
|
36
|
+
computed: string;
|
|
37
|
+
};
|
|
38
|
+
groups: {
|
|
39
|
+
role: string;
|
|
40
|
+
};
|
|
41
|
+
fields: {
|
|
42
|
+
name: string;
|
|
43
|
+
description: string;
|
|
44
|
+
};
|
|
45
|
+
notes: {
|
|
46
|
+
predefined: string;
|
|
47
|
+
computed: string;
|
|
48
|
+
};
|
|
49
|
+
requires: string;
|
|
50
|
+
modules: string;
|
|
51
|
+
turn_on_all: string;
|
|
52
|
+
turn_off_all: string;
|
|
53
|
+
completed: string;
|
|
54
|
+
name_required: string;
|
|
55
|
+
too_long: string;
|
|
56
|
+
saved: string;
|
|
57
|
+
deleted: string;
|
|
58
|
+
sensitive: string;
|
|
59
|
+
system: string;
|
|
60
|
+
system_group: string;
|
|
61
|
+
organization_only: string;
|
|
62
|
+
unowned: string;
|
|
63
|
+
qualifier: {
|
|
64
|
+
own: string;
|
|
65
|
+
own_location: string;
|
|
66
|
+
all: string;
|
|
67
|
+
};
|
|
68
|
+
qualifier_hint: {
|
|
69
|
+
own: string;
|
|
70
|
+
own_location: string;
|
|
71
|
+
all: string;
|
|
72
|
+
};
|
|
73
|
+
qualifier_noun: {
|
|
74
|
+
own: string;
|
|
75
|
+
own_location: string;
|
|
76
|
+
all: string;
|
|
77
|
+
};
|
|
78
|
+
/** The names of hierarchy levels (`organization` is the root of an application with one level); an app adds its own under `access.levels`. */
|
|
79
|
+
levels: {
|
|
80
|
+
organization: string;
|
|
81
|
+
};
|
|
82
|
+
compare: {
|
|
83
|
+
action: string;
|
|
84
|
+
title: string;
|
|
85
|
+
footer: string;
|
|
86
|
+
with: string;
|
|
87
|
+
loading: string;
|
|
88
|
+
failed: string;
|
|
89
|
+
identical: string;
|
|
90
|
+
only_in_role: string;
|
|
91
|
+
only_in_other: string;
|
|
92
|
+
different: string;
|
|
93
|
+
whose: string;
|
|
94
|
+
};
|
|
95
|
+
replace: {
|
|
96
|
+
action: string;
|
|
97
|
+
title: string;
|
|
98
|
+
footer: string;
|
|
99
|
+
with: string;
|
|
100
|
+
choose: string;
|
|
101
|
+
confirm: string;
|
|
102
|
+
moves: string;
|
|
103
|
+
done: string;
|
|
104
|
+
};
|
|
105
|
+
delete: {
|
|
106
|
+
action: string;
|
|
107
|
+
title: string;
|
|
108
|
+
body: string;
|
|
109
|
+
failed: string;
|
|
110
|
+
};
|
|
111
|
+
holders: {
|
|
112
|
+
title: string;
|
|
113
|
+
empty: string;
|
|
114
|
+
service: string;
|
|
115
|
+
};
|
|
116
|
+
person_roles: string;
|
|
117
|
+
roles_footer: string;
|
|
118
|
+
no_roles_title: string;
|
|
119
|
+
no_roles_description: string;
|
|
120
|
+
add_role: string;
|
|
121
|
+
remove: string;
|
|
122
|
+
remove_title: string;
|
|
123
|
+
remove_body: string;
|
|
124
|
+
added: string;
|
|
125
|
+
removed: string;
|
|
126
|
+
remove_failed: string;
|
|
127
|
+
add: {
|
|
128
|
+
confirm: string;
|
|
129
|
+
scope_header: string;
|
|
130
|
+
scope_level: string;
|
|
131
|
+
scopes_failed: string;
|
|
132
|
+
no_places: string;
|
|
133
|
+
roles_loading: string;
|
|
134
|
+
roles_failed: string;
|
|
135
|
+
no_roles: string;
|
|
136
|
+
role: string;
|
|
137
|
+
role_gives: string;
|
|
138
|
+
role_gives_footer: string;
|
|
139
|
+
choose_role: string;
|
|
140
|
+
choose_place: string;
|
|
141
|
+
};
|
|
142
|
+
effective: {
|
|
143
|
+
title: string;
|
|
144
|
+
footer: string;
|
|
145
|
+
empty: string;
|
|
146
|
+
from_roles: string;
|
|
147
|
+
unavailable: string;
|
|
148
|
+
why_row: string;
|
|
149
|
+
show_why: string;
|
|
150
|
+
hide_why: string;
|
|
151
|
+
all_modules: string;
|
|
152
|
+
fewer_modules: string;
|
|
153
|
+
};
|
|
154
|
+
};
|
|
8
155
|
actions: {
|
|
9
156
|
cancel: string;
|
|
10
157
|
close: string;
|
|
@@ -79,6 +226,140 @@ export type CoreMessages = {
|
|
|
79
226
|
offline: string;
|
|
80
227
|
cancelled: string;
|
|
81
228
|
unexpected: string;
|
|
229
|
+
/** go-core's delegation refusals (`authz.escalation` …), looked up by `describeError`. */
|
|
230
|
+
authz: {
|
|
231
|
+
forbidden: string;
|
|
232
|
+
escalation: string;
|
|
233
|
+
self_assignment: string;
|
|
234
|
+
last_admin: string;
|
|
235
|
+
role_in_use: string;
|
|
236
|
+
invalid: string;
|
|
237
|
+
};
|
|
238
|
+
/** go-core's identity reasons (`identity.signin.failed` …), looked up by `describeError`. */
|
|
239
|
+
identity: {
|
|
240
|
+
signin: {
|
|
241
|
+
failed: string;
|
|
242
|
+
locked: string;
|
|
243
|
+
inactive: string;
|
|
244
|
+
};
|
|
245
|
+
session: {
|
|
246
|
+
invalid: string;
|
|
247
|
+
current: string;
|
|
248
|
+
not_found: string;
|
|
249
|
+
};
|
|
250
|
+
locale: {
|
|
251
|
+
invalid: string;
|
|
252
|
+
};
|
|
253
|
+
impersonation: {
|
|
254
|
+
disabled: string;
|
|
255
|
+
not_active: string;
|
|
256
|
+
};
|
|
257
|
+
account: {
|
|
258
|
+
not_found: string;
|
|
259
|
+
inactive: string;
|
|
260
|
+
already_active: string;
|
|
261
|
+
already_inactive: string;
|
|
262
|
+
self_deactivation: string;
|
|
263
|
+
};
|
|
264
|
+
code: Texts<"expired" | "invalid" | "mismatch" | "no_pending" | "not_delivered" | "resend_too_soon" | "too_many_attempts" | "too_many_requests">;
|
|
265
|
+
email: Texts<"disabled" | "invalid" | "taken" | "unchanged">;
|
|
266
|
+
list: Texts<"dir_invalid" | "order_invalid" | "view_invalid">;
|
|
267
|
+
login: Texts<"invalid" | "taken">;
|
|
268
|
+
name: Texts<"invalid">;
|
|
269
|
+
password: Texts<"mismatch" | "unchanged" | "weak" | "wrong">;
|
|
270
|
+
phone: Texts<"invalid">;
|
|
271
|
+
reauth: Texts<"locked">;
|
|
272
|
+
activity: Texts<"area_unknown" | "range_invalid">;
|
|
273
|
+
};
|
|
274
|
+
};
|
|
275
|
+
identity: {
|
|
276
|
+
/** The label of a login field, on the sign-in page and in the prompt of an expired session. */
|
|
277
|
+
username: string;
|
|
278
|
+
signin: {
|
|
279
|
+
title: string;
|
|
280
|
+
password: string;
|
|
281
|
+
submit: string;
|
|
282
|
+
required: string;
|
|
283
|
+
};
|
|
284
|
+
expired: {
|
|
285
|
+
title: string;
|
|
286
|
+
body: string;
|
|
287
|
+
kept: string;
|
|
288
|
+
sign_out: string;
|
|
289
|
+
};
|
|
290
|
+
impersonation: {
|
|
291
|
+
banner: string;
|
|
292
|
+
banner_short: string;
|
|
293
|
+
return: string;
|
|
294
|
+
sign_in_as: string;
|
|
295
|
+
};
|
|
296
|
+
};
|
|
297
|
+
/** The screens of `usersFeature`: the list of people and a person's record. */
|
|
298
|
+
users: {
|
|
299
|
+
title: string;
|
|
300
|
+
description: string;
|
|
301
|
+
views: Texts<"active" | "locked" | "inactive" | "all">;
|
|
302
|
+
columns: Texts<"person" | "login" | "last_sign_in" | "status">;
|
|
303
|
+
never: string;
|
|
304
|
+
status: Texts<"active" | "locked" | "inactive">;
|
|
305
|
+
create: Texts<"title" | "subtitle" | "action" | "done">;
|
|
306
|
+
fields: Texts<"login" | "name" | "email" | "phone" | "locale" | "password" | "password_repeat">;
|
|
307
|
+
record: string;
|
|
308
|
+
sections_label: string;
|
|
309
|
+
sections: Texts<"general" | "signin" | "sessions" | "signins" | "changes" | "activity">;
|
|
310
|
+
section_groups: Texts<"person" | "access" | "activity">;
|
|
311
|
+
intro: Texts<"general" | "signin" | "sessions" | "signins" | "changes" | "activity">;
|
|
312
|
+
groups: Texts<"person" | "person_footer" | "contact">;
|
|
313
|
+
general: Texts<"saved" | "created" | "last_sign_in" | "never_signed_in" | "all_changes">;
|
|
314
|
+
actions: Texts<"deactivate" | "deactivate_short" | "activate">;
|
|
315
|
+
deactivate: Texts<"title" | "busy" | "done_label" | "done" | "row_sub" | "signs_out" | "signs_out_sub" | "cannot_sign_in" | "cannot_sign_in_sub">;
|
|
316
|
+
activate: Texts<"title" | "body" | "row_sub" | "done" | "failed">;
|
|
317
|
+
password: Texts<"title" | "action" | "footer" | "done">;
|
|
318
|
+
signin: Texts<"lock" | "lock_footer" | "locked_title" | "not_locked" | "not_locked_sub" | "unlocks_at" | "unlock" | "unlocked" | "unlock_failed" | "password" | "password_footer" | "set_password" | "set_password_sub" | "as_header" | "as_title" | "as_sub" | "as_footer">;
|
|
319
|
+
sessions: Texts<"header" | "footer" | "own_footer" | "end_all" | "end_all_title" | "end_all_body" | "ended_all">;
|
|
320
|
+
activity: {
|
|
321
|
+
areas: Texts<"all" | "identity" | "other">;
|
|
322
|
+
areas_label: string;
|
|
323
|
+
since: string;
|
|
324
|
+
until: string;
|
|
325
|
+
empty: string;
|
|
326
|
+
footer: string;
|
|
327
|
+
actions: Texts<"created" | "changed" | "deleted" | "other">;
|
|
328
|
+
signed_in_as: string;
|
|
329
|
+
signed_in_as_other: string;
|
|
330
|
+
};
|
|
331
|
+
changes: {
|
|
332
|
+
empty: string;
|
|
333
|
+
diff: string;
|
|
334
|
+
actions: Texts<"created" | "updated" | "deactivated" | "activated" | "password" | "email" | "profile" | "unknown">;
|
|
335
|
+
fields: Texts<"login" | "name" | "email" | "phone" | "locale" | "password" | "active">;
|
|
336
|
+
views: Texts<"all" | "access" | "details">;
|
|
337
|
+
};
|
|
338
|
+
};
|
|
339
|
+
/** "My profile": the signed-in person's own account. */
|
|
340
|
+
profile: {
|
|
341
|
+
title: string;
|
|
342
|
+
description: string;
|
|
343
|
+
menu: string;
|
|
344
|
+
details: Texts<"title" | "login_hint" | "submit" | "saved">;
|
|
345
|
+
email: Texts<"title" | "current" | "change" | "pending" | "valid_until" | "enter_code" | "cancel_change" | "change_title" | "new_email" | "current_password" | "request_hint" | "send_code" | "verify_title" | "verify_description" | "verify" | "resend" | "resend_in" | "request_new" | "changed" | "cancelled" | "code_sent" | "verify_failed" | "resend_failed" | "cancel_failed">;
|
|
346
|
+
password: Texts<"title" | "current" | "new" | "repeat" | "show" | "hide" | "submit" | "changed">;
|
|
347
|
+
sessions: Texts<"title" | "footer">;
|
|
348
|
+
signins: Texts<"title" | "footer">;
|
|
349
|
+
};
|
|
350
|
+
/** What the screens of a person's account share (their own profile and an administrator's view of them). */
|
|
351
|
+
account: {
|
|
352
|
+
validation: Texts<"required" | "mismatch">;
|
|
353
|
+
somebody_else: string;
|
|
354
|
+
sessions: Texts<"empty" | "unknown_device" | "last_active" | "expires" | "this_device" | "opened_by" | "opened_by_other" | "end" | "end_title" | "end_body" | "ended" | "end_failed">;
|
|
355
|
+
signins: {
|
|
356
|
+
columns: Texts<"time" | "event" | "device" | "ip">;
|
|
357
|
+
empty: string;
|
|
358
|
+
footer_user: string;
|
|
359
|
+
events: Texts<"signed_in" | "wrong_password" | "locked_out" | "refused_inactive" | "signed_in_as" | "unlocked" | "signed_out_everywhere" | "session_revoked" | "unknown">;
|
|
360
|
+
events_by: Texts<"signed_in_as" | "unlocked" | "signed_out_everywhere" | "session_revoked">;
|
|
361
|
+
views: Texts<"all" | "failed">;
|
|
362
|
+
};
|
|
82
363
|
};
|
|
83
364
|
startup: {
|
|
84
365
|
title: string;
|