@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
package/dist/options-DAkBtYkI.js
DELETED
|
@@ -1,330 +0,0 @@
|
|
|
1
|
-
import { inject as N, ref as G, computed as n, onBeforeUnmount as A, defineComponent as D, useSlots as V, openBlock as s, createBlock as L, resolveDynamicComponent as C, unref as t, normalizeClass as p, withCtx as w, createElementBlock as i, renderSlot as f, createCommentVNode as u, createElementVNode as x, createTextVNode as h, toDisplayString as c, createVNode as z, useAttrs as K, useId as M, mergeProps as F, createSlots as P, mergeDefaults as U } from "vue";
|
|
2
|
-
import { c as Y, a as H } from "./controlSurface-t7OEFESJ.js";
|
|
3
|
-
import { useI18n as J } from "vue-i18n";
|
|
4
|
-
import { _ as q } from "./Icon.vue_vue_type_script_lang-DtC4_mkz.js";
|
|
5
|
-
import { RouterLink as Q } from "vue-router";
|
|
6
|
-
import { u as W } from "./mediaQuery-CygcXmFW.js";
|
|
7
|
-
const X = {
|
|
8
|
-
label: void 0,
|
|
9
|
-
hint: void 0,
|
|
10
|
-
error: void 0,
|
|
11
|
-
required: !1,
|
|
12
|
-
editable: !0,
|
|
13
|
-
disabled: !1,
|
|
14
|
-
lockedReason: void 0,
|
|
15
|
-
presentation: "control",
|
|
16
|
-
name: void 0
|
|
17
|
-
}, Z = Symbol("vue-core.formGroup"), ee = Symbol("vue-core.formRowIndent"), te = Symbol("vue-core.formEditable"), R = () => N(Z, null), oe = () => N(ee, 0);
|
|
18
|
-
function le(r) {
|
|
19
|
-
const e = R(), o = N(te, G(!0)), l = W(), y = n(() => !!e && !!r.disabled && (l.value || r.presentation === "value")), v = n(() => (r.editable ?? !0) && o.value && !y.value), a = n(() => !!e && !!r.disabled && v.value);
|
|
20
|
-
if (e) {
|
|
21
|
-
const m = e.registerLocked(n(() => !!r.disabled && o.value && r.presentation !== "value"));
|
|
22
|
-
A(m);
|
|
23
|
-
}
|
|
24
|
-
return { editable: v, locked: a };
|
|
25
|
-
}
|
|
26
|
-
const re = ["label", "hint", "error", "required", "editable", "disabled", "lockedReason", "presentation", "name"];
|
|
27
|
-
function Re(r) {
|
|
28
|
-
return Object.fromEntries(re.map((e) => [e, r[e]]));
|
|
29
|
-
}
|
|
30
|
-
const ae = "rounded-control transition-[background-color,box-shadow,opacity] duration-motion-fast ease-motion-standard";
|
|
31
|
-
function Ee(r, e) {
|
|
32
|
-
const o = !!R();
|
|
33
|
-
return n(() => o ? Y({ kind: r, state: e() }) : [ae, ...H(r, e()).map(([l]) => l)].join(" "));
|
|
34
|
-
}
|
|
35
|
-
const se = {
|
|
36
|
-
key: 0,
|
|
37
|
-
class: "flex shrink-0 items-center"
|
|
38
|
-
}, ne = { class: "row-body min-h-row min-w-0 flex-1 border-t border-border-separator py-2 pr-row-inset" }, ie = {
|
|
39
|
-
key: 0,
|
|
40
|
-
class: "text-content-destructive",
|
|
41
|
-
"aria-hidden": "true"
|
|
42
|
-
}, de = ["id"], ue = {
|
|
43
|
-
key: 0,
|
|
44
|
-
class: "break-words text-body text-content-strong"
|
|
45
|
-
}, ce = ["id"], fe = /* @__PURE__ */ D({
|
|
46
|
-
__name: "FormRow",
|
|
47
|
-
props: {
|
|
48
|
-
label: { default: void 0 },
|
|
49
|
-
for: { default: void 0 },
|
|
50
|
-
sub: { default: void 0 },
|
|
51
|
-
subId: { default: void 0 },
|
|
52
|
-
required: { type: Boolean, default: !1 },
|
|
53
|
-
layout: { default: "entry" },
|
|
54
|
-
value: { default: void 0 },
|
|
55
|
-
to: { default: void 0 },
|
|
56
|
-
error: { default: void 0 },
|
|
57
|
-
errorId: { default: void 0 },
|
|
58
|
-
indent: { default: 0 },
|
|
59
|
-
labelLines: { default: void 0 },
|
|
60
|
-
labelAlign: { default: "center" }
|
|
61
|
-
},
|
|
62
|
-
setup(r) {
|
|
63
|
-
const e = r, o = V(), l = oe(), y = n(() => l + e.indent), v = ["pl-row-inset", "pl-[calc(var(--app-row-inset)+1.25rem)]", "pl-[calc(var(--app-row-inset)+2.5rem)]"], a = { 1: "line-clamp-1", 2: "line-clamp-2", 3: "line-clamp-3" }, m = n(() => {
|
|
64
|
-
switch (e.layout) {
|
|
65
|
-
case "entry":
|
|
66
|
-
return "grid grid-cols-[var(--form-label-width,11rem)_minmax(0,1fr)] items-center gap-x-4 compact:grid-cols-[minmax(0,auto)_minmax(40%,1fr)]";
|
|
67
|
-
case "value":
|
|
68
|
-
return "grid grid-cols-[minmax(min-content,1fr)_minmax(0,auto)] items-center gap-x-4";
|
|
69
|
-
case "setting":
|
|
70
|
-
return "flex items-center gap-4";
|
|
71
|
-
default:
|
|
72
|
-
return "flex flex-col gap-1";
|
|
73
|
-
}
|
|
74
|
-
}), S = n(() => e.layout === "stacked" ? "text-footnote text-content-muted" : e.layout === "value" ? "text-body text-content-muted" : "text-body text-content-strong"), g = n(() => e.value !== void 0 && e.value !== null && e.value !== "");
|
|
75
|
-
return (b, _) => (s(), L(C(e.to ? t(Q) : "div"), {
|
|
76
|
-
to: e.to,
|
|
77
|
-
"data-test": "form-row",
|
|
78
|
-
"data-layout": e.layout,
|
|
79
|
-
"data-field-error": e.error ? "true" : void 0,
|
|
80
|
-
class: p(["form-row flex min-w-0 items-stretch gap-3 transition-colors duration-motion-fast first:rounded-t-group last:rounded-b-group focus-within:bg-tint-soft/50 [&:first-child>.row-body]:border-t-0", [v[Math.min(y.value, 2)], e.to ? "hover:bg-fill focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-border-focus" : ""]])
|
|
81
|
-
}, {
|
|
82
|
-
default: w(() => [
|
|
83
|
-
o.leading ? (s(), i("div", se, [
|
|
84
|
-
f(b.$slots, "leading")
|
|
85
|
-
])) : u("", !0),
|
|
86
|
-
x("div", ne, [
|
|
87
|
-
x("div", {
|
|
88
|
-
class: p(["min-w-0", m.value])
|
|
89
|
-
}, [
|
|
90
|
-
e.label || e.sub || o.sub ? (s(), i("div", {
|
|
91
|
-
key: 0,
|
|
92
|
-
class: p([e.layout === "setting" ? "min-w-min flex-1" : "min-w-0", e.labelAlign === "top" ? "self-start pt-1" : ""])
|
|
93
|
-
}, [
|
|
94
|
-
x("div", {
|
|
95
|
-
class: p(o["label-trailing"] ? "flex items-center justify-between gap-3" : "")
|
|
96
|
-
}, [
|
|
97
|
-
(s(), L(C(e.for ? "label" : "span"), {
|
|
98
|
-
for: e.for,
|
|
99
|
-
class: p(["break-words", [S.value, e.labelLines ? a[e.labelLines] : "block"]])
|
|
100
|
-
}, {
|
|
101
|
-
default: w(() => [
|
|
102
|
-
h(c(e.label), 1),
|
|
103
|
-
e.required ? (s(), i("span", ie, " *")) : u("", !0)
|
|
104
|
-
]),
|
|
105
|
-
_: 1
|
|
106
|
-
}, 8, ["for", "class"])),
|
|
107
|
-
f(b.$slots, "label-trailing")
|
|
108
|
-
], 2),
|
|
109
|
-
e.sub || o.sub ? (s(), i("small", {
|
|
110
|
-
key: 0,
|
|
111
|
-
id: e.subId,
|
|
112
|
-
class: "mt-0.5 block text-footnote text-content-muted"
|
|
113
|
-
}, [
|
|
114
|
-
f(b.$slots, "sub", {}, () => [
|
|
115
|
-
h(c(e.sub), 1)
|
|
116
|
-
])
|
|
117
|
-
], 8, de)) : u("", !0)
|
|
118
|
-
], 2)) : u("", !0),
|
|
119
|
-
x("div", {
|
|
120
|
-
class: p(["flex min-w-0 items-center gap-2", e.layout === "value" ? "justify-end text-right" : e.layout === "setting" ? "flex-wrap justify-end text-right" : e.layout === "entry" ? "compact:justify-end" : ""])
|
|
121
|
-
}, [
|
|
122
|
-
f(b.$slots, "default", {}, () => [
|
|
123
|
-
g.value ? (s(), i("span", ue, c(e.value), 1)) : u("", !0)
|
|
124
|
-
]),
|
|
125
|
-
f(b.$slots, "trailing"),
|
|
126
|
-
e.to ? (s(), L(t(q), {
|
|
127
|
-
key: 0,
|
|
128
|
-
name: "arrowRightSLine",
|
|
129
|
-
size: 18,
|
|
130
|
-
class: "shrink-0 text-content-disabled"
|
|
131
|
-
})) : u("", !0)
|
|
132
|
-
], 2)
|
|
133
|
-
], 2),
|
|
134
|
-
e.error ? (s(), i("p", {
|
|
135
|
-
key: 0,
|
|
136
|
-
id: e.errorId,
|
|
137
|
-
class: "mt-1 flex items-start gap-1.5 text-footnote text-content-destructive",
|
|
138
|
-
role: "alert"
|
|
139
|
-
}, [
|
|
140
|
-
z(t(q), {
|
|
141
|
-
name: "alertTriangle",
|
|
142
|
-
size: 14,
|
|
143
|
-
class: "mt-px shrink-0"
|
|
144
|
-
}),
|
|
145
|
-
h(" " + c(e.error), 1)
|
|
146
|
-
], 8, ce)) : u("", !0)
|
|
147
|
-
])
|
|
148
|
-
]),
|
|
149
|
-
_: 3
|
|
150
|
-
}, 8, ["to", "data-layout", "data-field-error", "class"]));
|
|
151
|
-
}
|
|
152
|
-
}), ve = ["title"], me = {
|
|
153
|
-
key: 0,
|
|
154
|
-
class: "mr-1"
|
|
155
|
-
}, be = {
|
|
156
|
-
key: 1,
|
|
157
|
-
class: "ml-1 text-content-muted"
|
|
158
|
-
}, pe = {
|
|
159
|
-
key: 3,
|
|
160
|
-
class: "block text-body text-content-disabled"
|
|
161
|
-
}, ye = {
|
|
162
|
-
key: 0,
|
|
163
|
-
class: "sr-only"
|
|
164
|
-
}, ge = ["data-field-error"], xe = {
|
|
165
|
-
key: 0,
|
|
166
|
-
class: "flex items-center justify-between gap-3"
|
|
167
|
-
}, he = ["for"], ke = {
|
|
168
|
-
key: 0,
|
|
169
|
-
class: "text-content-destructive",
|
|
170
|
-
"aria-hidden": "true"
|
|
171
|
-
}, we = ["id"], _e = ["id"], Be = /* @__PURE__ */ D({
|
|
172
|
-
__name: "Field",
|
|
173
|
-
props: /* @__PURE__ */ U({
|
|
174
|
-
label: {},
|
|
175
|
-
hint: {},
|
|
176
|
-
error: {},
|
|
177
|
-
required: { type: Boolean },
|
|
178
|
-
editable: { type: Boolean },
|
|
179
|
-
disabled: { type: Boolean },
|
|
180
|
-
lockedReason: {},
|
|
181
|
-
presentation: {},
|
|
182
|
-
name: {},
|
|
183
|
-
value: { type: [String, Number, Boolean, null] },
|
|
184
|
-
prefix: {},
|
|
185
|
-
suffix: {},
|
|
186
|
-
valueStyle: {},
|
|
187
|
-
rowLayout: {},
|
|
188
|
-
rowLabelAlign: {}
|
|
189
|
-
}, { ...X, value: void 0, prefix: void 0, suffix: void 0, valueStyle: void 0, rowLayout: "entry", rowLabelAlign: "center" }),
|
|
190
|
-
setup(r) {
|
|
191
|
-
const e = r, { t: o } = J(), l = V(), y = K(), v = R(), { editable: a, locked: m } = le(e), S = M(), g = n(() => e.name ?? S), b = n(() => `${g.value}-hint`), _ = n(() => `${g.value}-error`);
|
|
192
|
-
if (v?.registerField) {
|
|
193
|
-
const d = y["data-field-key"], T = v.registerField(typeof d == "string" ? d : void 0, n(() => e.disabled));
|
|
194
|
-
A(T);
|
|
195
|
-
}
|
|
196
|
-
const k = n(() => {
|
|
197
|
-
const d = e.value;
|
|
198
|
-
return d == null ? !1 : typeof d == "string" ? d.length > 0 : typeof d == "number" ? !Number.isNaN(d) : !0;
|
|
199
|
-
}), E = n(() => typeof e.value == "boolean" ? e.value ? o("core.form.yes") : o("core.form.no") : e.value), O = n(() => !!v && !a.value && v.hideEmpty.value && !k.value && !l.readonly), B = n(() => [e.hint && a.value ? b.value : null, e.error ? _.value : null].filter(Boolean).join(" ") || void 0), $ = n(() => a.value ? e.rowLayout : e.rowLayout === "stacked" ? "stacked" : "value"), j = n(
|
|
200
|
-
() => a.value && !m.value && e.required ? { "data-field-required": "true", "data-field-filled": k.value ? "true" : void 0 } : {}
|
|
201
|
-
);
|
|
202
|
-
return (d, T) => t(v) && !O.value ? (s(), L(fe, F({ key: 0 }, j.value, {
|
|
203
|
-
label: e.label,
|
|
204
|
-
for: t(a) ? g.value : void 0,
|
|
205
|
-
sub: t(a) ? e.hint : void 0,
|
|
206
|
-
"sub-id": b.value,
|
|
207
|
-
required: t(a) && !t(m) && e.required,
|
|
208
|
-
layout: $.value,
|
|
209
|
-
"label-align": $.value === "entry" ? e.rowLabelAlign : void 0,
|
|
210
|
-
error: t(a) ? e.error : void 0,
|
|
211
|
-
"error-id": _.value,
|
|
212
|
-
"data-field-locked": t(m) ? "true" : void 0
|
|
213
|
-
}), P({
|
|
214
|
-
default: w(() => [
|
|
215
|
-
x("div", {
|
|
216
|
-
class: "relative w-full min-w-0",
|
|
217
|
-
title: t(m) ? e.lockedReason : void 0
|
|
218
|
-
}, [
|
|
219
|
-
x("div", {
|
|
220
|
-
class: p(t(a) ? $.value === "setting" ? "flex min-w-0 flex-col items-end" : $.value === "stacked" ? "flex min-w-0 flex-col items-stretch" : "flex min-w-0 flex-col items-start compact:items-end" : "")
|
|
221
|
-
}, [
|
|
222
|
-
t(a) ? f(d.$slots, "default", {
|
|
223
|
-
id: g.value,
|
|
224
|
-
describedby: B.value,
|
|
225
|
-
invalid: !!e.error,
|
|
226
|
-
required: e.required,
|
|
227
|
-
disabled: e.disabled
|
|
228
|
-
}, void 0, void 0, 0) : t(l).readonly ? f(d.$slots, "readonly", {}, void 0, void 0, 1) : k.value ? (s(), i("span", {
|
|
229
|
-
key: 2,
|
|
230
|
-
class: p(["block break-words text-body text-content-strong", e.valueStyle === "mono" ? "font-mono" : e.valueStyle === "numeric" ? "tabular-nums" : ""])
|
|
231
|
-
}, [
|
|
232
|
-
e.prefix ? (s(), i("span", me, c(e.prefix), 1)) : u("", !0),
|
|
233
|
-
h(c(E.value), 1),
|
|
234
|
-
e.suffix ? (s(), i("span", be, c(e.suffix), 1)) : u("", !0)
|
|
235
|
-
], 2)) : (s(), i("span", pe, c(t(o)("core.state.no_value")), 1))
|
|
236
|
-
], 2)
|
|
237
|
-
], 8, ve),
|
|
238
|
-
t(m) && e.lockedReason ? (s(), i("span", ye, c(e.lockedReason), 1)) : u("", !0)
|
|
239
|
-
]),
|
|
240
|
-
_: 2
|
|
241
|
-
}, [
|
|
242
|
-
t(a) && t(l).trailing ? {
|
|
243
|
-
name: "trailing",
|
|
244
|
-
fn: w(() => [
|
|
245
|
-
f(d.$slots, "trailing")
|
|
246
|
-
]),
|
|
247
|
-
key: "0"
|
|
248
|
-
} : void 0,
|
|
249
|
-
t(a) && t(l).labelTrailing ? {
|
|
250
|
-
name: "label-trailing",
|
|
251
|
-
fn: w(() => [
|
|
252
|
-
f(d.$slots, "labelTrailing")
|
|
253
|
-
]),
|
|
254
|
-
key: "1"
|
|
255
|
-
} : void 0
|
|
256
|
-
]), 1040, ["label", "for", "sub", "sub-id", "required", "layout", "label-align", "error", "error-id", "data-field-locked"])) : t(v) ? u("", !0) : (s(), i("div", F({ key: 1 }, j.value, {
|
|
257
|
-
"data-field-error": e.error ? "true" : void 0,
|
|
258
|
-
class: "flex min-w-0 flex-col gap-1"
|
|
259
|
-
}), [
|
|
260
|
-
e.label || t(a) && t(l).labelTrailing ? (s(), i("div", xe, [
|
|
261
|
-
e.label ? (s(), i("label", {
|
|
262
|
-
key: 0,
|
|
263
|
-
for: t(a) ? g.value : void 0,
|
|
264
|
-
class: "text-footnote font-medium text-content-muted"
|
|
265
|
-
}, [
|
|
266
|
-
h(c(e.label), 1),
|
|
267
|
-
t(a) && e.required ? (s(), i("span", ke, " *")) : u("", !0)
|
|
268
|
-
], 8, he)) : u("", !0),
|
|
269
|
-
t(a) ? f(d.$slots, "labelTrailing", {}, void 0, void 0, 1) : u("", !0)
|
|
270
|
-
])) : u("", !0),
|
|
271
|
-
t(a) ? f(d.$slots, "default", {
|
|
272
|
-
id: g.value,
|
|
273
|
-
describedby: B.value,
|
|
274
|
-
invalid: !!e.error,
|
|
275
|
-
required: e.required,
|
|
276
|
-
disabled: e.disabled
|
|
277
|
-
}, void 0, void 0, 1) : t(l).readonly ? f(d.$slots, "readonly", {}, void 0, void 0, 2) : (s(), i("span", {
|
|
278
|
-
key: 3,
|
|
279
|
-
class: p(["text-body", k.value ? "text-content-strong" : "text-content-disabled"])
|
|
280
|
-
}, c(k.value ? `${e.prefix ?? ""}${E.value}${e.suffix ?? ""}` : t(o)("core.state.no_value")), 3)),
|
|
281
|
-
e.hint && t(a) ? (s(), i("p", {
|
|
282
|
-
key: 4,
|
|
283
|
-
id: b.value,
|
|
284
|
-
class: "text-footnote text-content-muted"
|
|
285
|
-
}, c(e.hint), 9, we)) : u("", !0),
|
|
286
|
-
e.error ? (s(), i("p", {
|
|
287
|
-
key: 5,
|
|
288
|
-
id: _.value,
|
|
289
|
-
role: "alert",
|
|
290
|
-
class: "flex items-start gap-1.5 text-footnote text-content-destructive"
|
|
291
|
-
}, [
|
|
292
|
-
z(t(q), {
|
|
293
|
-
name: "alertTriangle",
|
|
294
|
-
size: 14,
|
|
295
|
-
class: "mt-px shrink-0"
|
|
296
|
-
}),
|
|
297
|
-
h(" " + c(e.error), 1)
|
|
298
|
-
], 8, _e)) : u("", !0)
|
|
299
|
-
], 16, ge));
|
|
300
|
-
}
|
|
301
|
-
});
|
|
302
|
-
function je(r) {
|
|
303
|
-
const e = /* @__PURE__ */ new Map();
|
|
304
|
-
for (const o of r) {
|
|
305
|
-
const l = o.group ?? null, y = e.get(l) ?? [];
|
|
306
|
-
y.push(o), e.set(l, y);
|
|
307
|
-
}
|
|
308
|
-
return [...e.entries()].sort(([o], [l]) => o === null ? -1 : l === null ? 1 : 0).map(([o, l]) => ({ title: o, options: l }));
|
|
309
|
-
}
|
|
310
|
-
function Te(r, e) {
|
|
311
|
-
const o = I(e.trim());
|
|
312
|
-
return o === "" ? r : r.filter((l) => I(l.label).includes(o) || l.description !== void 0 && I(l.description).includes(o));
|
|
313
|
-
}
|
|
314
|
-
const I = (r) => r.normalize("NFD").replace(/[̀-ͯ]/g, "").toLocaleLowerCase();
|
|
315
|
-
export {
|
|
316
|
-
Be as _,
|
|
317
|
-
Ee as a,
|
|
318
|
-
Re as b,
|
|
319
|
-
X as c,
|
|
320
|
-
le as d,
|
|
321
|
-
te as e,
|
|
322
|
-
I as f,
|
|
323
|
-
je as g,
|
|
324
|
-
Z as h,
|
|
325
|
-
fe as i,
|
|
326
|
-
ee as j,
|
|
327
|
-
oe as k,
|
|
328
|
-
Te as m,
|
|
329
|
-
R as u
|
|
330
|
-
};
|
|
@@ -1,244 +0,0 @@
|
|
|
1
|
-
import { createHttpClient as j } from "./client/index.js";
|
|
2
|
-
import { d as E } from "./context-Ch1r4fdN.js";
|
|
3
|
-
import { i as g, A as P } from "./error-Bb_dr_Ay.js";
|
|
4
|
-
import { shallowRef as k } from "vue";
|
|
5
|
-
const q = (e, t) => e.level === t.level && e.id === t.id, U = (e, t) => Object.prototype.hasOwnProperty.call(e, t);
|
|
6
|
-
function z(e, t = {}) {
|
|
7
|
-
const n = t.covers ?? q;
|
|
8
|
-
function o(r) {
|
|
9
|
-
const s = e();
|
|
10
|
-
return !s || !U(s.permissions, r) || s.unavailable.includes(r) ? null : s.permissions[r] ?? null;
|
|
11
|
-
}
|
|
12
|
-
function a(r, s) {
|
|
13
|
-
const i = o(r);
|
|
14
|
-
return i ? s ? (i.clauses.length > 0 ? i.clauses.map((u) => u.scope) : [i.scope]).some((u) => n(u, s)) : !0 : !1;
|
|
15
|
-
}
|
|
16
|
-
return {
|
|
17
|
-
get root() {
|
|
18
|
-
return e()?.root ?? !1;
|
|
19
|
-
},
|
|
20
|
-
can: a,
|
|
21
|
-
canAny: (r) => r.some((s) => a(s)),
|
|
22
|
-
canAll: (r) => r.every((s) => a(s)),
|
|
23
|
-
held: o
|
|
24
|
-
};
|
|
25
|
-
}
|
|
26
|
-
const v = ["own", "own_location", "all"], d = (e) => typeof e == "object" && e !== null && !Array.isArray(e);
|
|
27
|
-
function b(e, t, n) {
|
|
28
|
-
return !d(e) || typeof e.level != "string" ? (n.push(`${t}: expected { level: string, id?: number }`), { level: "" }) : (e.id !== void 0 && typeof e.id != "number" && n.push(`${t}.id: expected number`), typeof e.id == "number" ? { level: e.level, id: e.id } : { level: e.level });
|
|
29
|
-
}
|
|
30
|
-
function x(e, t, n) {
|
|
31
|
-
return typeof e == "string" && v.includes(e) ? e : (n.push(`${t}: expected one of ${v.join(", ")}`), "own");
|
|
32
|
-
}
|
|
33
|
-
function _(e) {
|
|
34
|
-
const t = [], n = {}, o = { root: !1, permissions: {}, unavailable: [] };
|
|
35
|
-
if (!d(e)) return { snapshot: o, issues: ["access: expected an object"] };
|
|
36
|
-
if (!d(e.permissions)) t.push("access.permissions: expected an object");
|
|
37
|
-
else
|
|
38
|
-
for (const [r, s] of Object.entries(e.permissions)) {
|
|
39
|
-
const i = `access.permissions.${r}`;
|
|
40
|
-
if (!d(s)) {
|
|
41
|
-
t.push(`${i}: expected an object`);
|
|
42
|
-
continue;
|
|
43
|
-
}
|
|
44
|
-
const h = (Array.isArray(s.clauses) ? s.clauses : []).map((u, c) => {
|
|
45
|
-
const l = `${i}.clauses[${c}]`;
|
|
46
|
-
if (!d(u))
|
|
47
|
-
return t.push(`${l}: expected an object`), { scope: { level: "" }, qualifier: "own" };
|
|
48
|
-
const f = { scope: b(u.scope, `${l}.scope`, t), qualifier: x(u.qualifier, `${l}.qualifier`, t) };
|
|
49
|
-
return typeof u.role == "string" ? { ...f, role: u.role } : f;
|
|
50
|
-
});
|
|
51
|
-
n[r] = {
|
|
52
|
-
scope: b(s.scope, `${i}.scope`, t),
|
|
53
|
-
qualifier: x(s.qualifier, `${i}.qualifier`, t),
|
|
54
|
-
clauses: h
|
|
55
|
-
};
|
|
56
|
-
}
|
|
57
|
-
const a = e.unavailable ?? [];
|
|
58
|
-
return (!Array.isArray(a) || !a.every((r) => typeof r == "string")) && t.push("access.unavailable: expected an array of strings"), {
|
|
59
|
-
snapshot: {
|
|
60
|
-
root: e.root === !0,
|
|
61
|
-
permissions: n,
|
|
62
|
-
unavailable: Array.isArray(a) ? a.filter((r) => typeof r == "string") : []
|
|
63
|
-
},
|
|
64
|
-
issues: t
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
const C = (e) => typeof e == "object" && e !== null && !Array.isArray(e);
|
|
68
|
-
function w(e, t, n = "navigation") {
|
|
69
|
-
return Array.isArray(e) ? e.flatMap((o, a) => {
|
|
70
|
-
const r = `${n}[${a}]`;
|
|
71
|
-
if (!C(o) || typeof o.i18n != "string")
|
|
72
|
-
return t.push(`${r}: expected an object with an i18n key`), [];
|
|
73
|
-
for (const i of ["icon", "route"])
|
|
74
|
-
o[i] != null && typeof o[i] != "string" && t.push(`${r}.${i}: expected a string`);
|
|
75
|
-
const s = o.children == null ? void 0 : w(o.children, t, `${r}.children`);
|
|
76
|
-
return [
|
|
77
|
-
{
|
|
78
|
-
i18n: o.i18n,
|
|
79
|
-
...typeof o.icon == "string" && { icon: o.icon },
|
|
80
|
-
...typeof o.route == "string" && { route: o.route },
|
|
81
|
-
...s && { children: s }
|
|
82
|
-
}
|
|
83
|
-
];
|
|
84
|
-
}) : (t.push(`${n}: expected an array`), []);
|
|
85
|
-
}
|
|
86
|
-
const S = (e) => typeof e == "object" && e !== null && !Array.isArray(e), I = (e) => {
|
|
87
|
-
if (S(e) && (typeof e.id == "number" || typeof e.id == "string")) return { id: e.id };
|
|
88
|
-
throw new TypeError("expected an object with a numeric or string id");
|
|
89
|
-
};
|
|
90
|
-
function T(e, t = I) {
|
|
91
|
-
const n = [];
|
|
92
|
-
if (!S(e)) throw A(["expected an object"]);
|
|
93
|
-
let o = null;
|
|
94
|
-
try {
|
|
95
|
-
o = t(e.user);
|
|
96
|
-
} catch (i) {
|
|
97
|
-
n.push(`user: ${i instanceof Error ? i.message : "invalid"}`);
|
|
98
|
-
}
|
|
99
|
-
let a = null;
|
|
100
|
-
if (e.expires_at !== void 0 && e.expires_at !== null) {
|
|
101
|
-
const i = typeof e.expires_at == "string" ? new Date(e.expires_at) : null;
|
|
102
|
-
i === null || Number.isNaN(i.getTime()) ? n.push("expires_at: expected an ISO date-time string") : a = i;
|
|
103
|
-
}
|
|
104
|
-
const r = _(e.access);
|
|
105
|
-
n.push(...r.issues);
|
|
106
|
-
const s = e.navigation === void 0 || e.navigation === null ? void 0 : w(e.navigation, n);
|
|
107
|
-
if (o === null || n.length > 0) throw A(n);
|
|
108
|
-
return { user: o, expiresAt: a, access: r.snapshot, ...s && { navigation: s } };
|
|
109
|
-
}
|
|
110
|
-
const A = (e) => new P({ kind: "malformed", message: `Unreadable session payload: ${e.join("; ")}` });
|
|
111
|
-
function N(e, t = {}) {
|
|
112
|
-
const { mePath: n = "/auth/me", signOutPath: o = "/auth/logout", parseUser: a } = t;
|
|
113
|
-
return {
|
|
114
|
-
async load(r) {
|
|
115
|
-
try {
|
|
116
|
-
const { data: s } = await e.get(n, { signal: r, handleUnauthorized: !1 });
|
|
117
|
-
return T(s, a);
|
|
118
|
-
} catch (s) {
|
|
119
|
-
if (g(s) && s.kind === "unauthorized") return null;
|
|
120
|
-
throw s;
|
|
121
|
-
}
|
|
122
|
-
},
|
|
123
|
-
async signOut() {
|
|
124
|
-
try {
|
|
125
|
-
await e.post(o, void 0, { handleUnauthorized: !1 });
|
|
126
|
-
} catch (r) {
|
|
127
|
-
if (!(g(r) && r.kind === "unauthorized")) throw r;
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
};
|
|
131
|
-
}
|
|
132
|
-
const $ = 3e3;
|
|
133
|
-
function B(e, t = {}) {
|
|
134
|
-
const n = k({ status: "unknown" });
|
|
135
|
-
let o = 0;
|
|
136
|
-
const a = new Set(t.beforeSignOut ? [t.beforeSignOut] : []);
|
|
137
|
-
let r = null, s = null;
|
|
138
|
-
function i() {
|
|
139
|
-
o++, s?.controller.abort(), s = null;
|
|
140
|
-
}
|
|
141
|
-
async function h(c) {
|
|
142
|
-
const l = new AbortController();
|
|
143
|
-
let f;
|
|
144
|
-
const y = new Promise((p) => {
|
|
145
|
-
f = setTimeout(() => {
|
|
146
|
-
l.abort(), t.onError?.(new Error(`A before-sign-out hook did not finish within ${$} ms; signing out without it.`)), p();
|
|
147
|
-
}, $);
|
|
148
|
-
}), m = Promise.all(
|
|
149
|
-
[...a].map(async (p) => {
|
|
150
|
-
try {
|
|
151
|
-
await p(c, l.signal);
|
|
152
|
-
} catch (O) {
|
|
153
|
-
t.onError?.(O);
|
|
154
|
-
}
|
|
155
|
-
})
|
|
156
|
-
).then(() => {
|
|
157
|
-
});
|
|
158
|
-
await Promise.race([m, y]), clearTimeout(f);
|
|
159
|
-
}
|
|
160
|
-
function u() {
|
|
161
|
-
if (s) return s.promise;
|
|
162
|
-
const c = o, l = new AbortController(), f = n.value;
|
|
163
|
-
f.status !== "authenticated" && (n.value = { status: "loading" });
|
|
164
|
-
const y = async () => {
|
|
165
|
-
try {
|
|
166
|
-
const p = await e.load(l.signal);
|
|
167
|
-
if (o !== c) return n.value;
|
|
168
|
-
n.value = p ? { status: "authenticated", ...p } : { status: "anonymous", reason: "none" };
|
|
169
|
-
} catch (p) {
|
|
170
|
-
if (o !== c) return n.value;
|
|
171
|
-
t.onError?.(p), n.value = f.status === "authenticated" ? f : { status: "failed", error: p };
|
|
172
|
-
} finally {
|
|
173
|
-
o === c && (s = null);
|
|
174
|
-
}
|
|
175
|
-
return n.value;
|
|
176
|
-
}, m = Promise.resolve().then(y);
|
|
177
|
-
return s = { controller: l, promise: m }, m;
|
|
178
|
-
}
|
|
179
|
-
return {
|
|
180
|
-
state: n,
|
|
181
|
-
restore: () => n.value.status === "unknown" || n.value.status === "failed" ? u() : s?.promise ?? Promise.resolve(n.value),
|
|
182
|
-
refresh: u,
|
|
183
|
-
establish(c) {
|
|
184
|
-
i(), n.value = { status: "authenticated", ...c };
|
|
185
|
-
},
|
|
186
|
-
expire() {
|
|
187
|
-
n.value.status === "authenticated" && (i(), n.value = { status: "anonymous", reason: "expired" }, t.onExpired?.());
|
|
188
|
-
},
|
|
189
|
-
signOut() {
|
|
190
|
-
return r ?? (r = (async () => {
|
|
191
|
-
try {
|
|
192
|
-
const c = n.value;
|
|
193
|
-
c.status === "authenticated" && a.size > 0 && await h(c.user), i(), n.value = { status: "anonymous", reason: "signedOut" }, await e.signOut();
|
|
194
|
-
} finally {
|
|
195
|
-
r = null;
|
|
196
|
-
}
|
|
197
|
-
})()), r;
|
|
198
|
-
},
|
|
199
|
-
onBeforeSignOut(c) {
|
|
200
|
-
return a.add(c), () => void a.delete(c);
|
|
201
|
-
}
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
function K(e) {
|
|
205
|
-
let t = null;
|
|
206
|
-
const n = j({
|
|
207
|
-
baseUrl: e.config.apiBase,
|
|
208
|
-
transport: e.transport,
|
|
209
|
-
headers: e.headers,
|
|
210
|
-
credentials: e.credentials,
|
|
211
|
-
requestId: e.requestId,
|
|
212
|
-
async onUnauthorized() {
|
|
213
|
-
return r.state.value.status !== "authenticated" ? "fail" : e.renewSession && (t ?? (t = e.renewSession(r).then(
|
|
214
|
-
(i) => i,
|
|
215
|
-
() => !1
|
|
216
|
-
).finally(() => {
|
|
217
|
-
t = null;
|
|
218
|
-
})), await t) ? "retry" : (r.expire(), "fail");
|
|
219
|
-
}
|
|
220
|
-
}), o = e.session ?? ((i) => N(i)), a = typeof o == "function" ? o(n) : o, r = B(a, { onError: e.onSessionError, onExpired: e.onSessionExpired, beforeSignOut: e.beforeSignOut }), s = z(
|
|
221
|
-
() => {
|
|
222
|
-
const i = r.state.value;
|
|
223
|
-
return i.status === "authenticated" ? i.access : null;
|
|
224
|
-
},
|
|
225
|
-
{ covers: e.covers }
|
|
226
|
-
);
|
|
227
|
-
return { config: e.config, http: n, session: r, access: s };
|
|
228
|
-
}
|
|
229
|
-
const [F, L] = E("platform");
|
|
230
|
-
function M(e, t) {
|
|
231
|
-
e.provide(F, t);
|
|
232
|
-
}
|
|
233
|
-
export {
|
|
234
|
-
K as a,
|
|
235
|
-
$ as b,
|
|
236
|
-
z as c,
|
|
237
|
-
B as d,
|
|
238
|
-
T as e,
|
|
239
|
-
F as f,
|
|
240
|
-
N as h,
|
|
241
|
-
M as i,
|
|
242
|
-
w as p,
|
|
243
|
-
L as u
|
|
244
|
-
};
|