@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,68 @@
|
|
|
1
|
+
import { defineComponent as k, useModel as _, useTemplateRef as B, computed as l, openBlock as d, createBlock as q, mergeProps as C, unref as i, withCtx as V, createElementVNode as u, normalizeClass as c, withDirectives as L, vModelText as M, createElementBlock as D, toDisplayString as z, createCommentVNode as E, mergeModels as F, mergeDefaults as P } from "vue";
|
|
2
|
+
import { u as R } from "./mediaQuery-CygcXmFW.js";
|
|
3
|
+
import { a as T, u as $, c as N, _ as S, f as j, b as G } from "./control-7EP4tjYy.js";
|
|
4
|
+
const U = ["id", "name", "rows", "placeholder", "maxlength", "autocomplete", "disabled", "required", "aria-required", "aria-invalid", "aria-describedby"], A = {
|
|
5
|
+
key: 0,
|
|
6
|
+
class: "mt-1 self-end text-footnote tabular-nums text-content-muted"
|
|
7
|
+
}, O = /* @__PURE__ */ k({
|
|
8
|
+
__name: "TextareaField",
|
|
9
|
+
props: /* @__PURE__ */ F(/* @__PURE__ */ P({
|
|
10
|
+
label: {},
|
|
11
|
+
hint: {},
|
|
12
|
+
error: {},
|
|
13
|
+
required: { type: Boolean },
|
|
14
|
+
editable: { type: Boolean },
|
|
15
|
+
disabled: { type: Boolean },
|
|
16
|
+
lockedReason: {},
|
|
17
|
+
presentation: {},
|
|
18
|
+
name: {},
|
|
19
|
+
placeholder: {},
|
|
20
|
+
maxLength: {},
|
|
21
|
+
rows: {},
|
|
22
|
+
autocomplete: {},
|
|
23
|
+
stacked: { type: Boolean }
|
|
24
|
+
}, { ...G, placeholder: void 0, maxLength: void 0, rows: 3, autocomplete: void 0, stacked: !1 }), {
|
|
25
|
+
modelValue: { default: "" },
|
|
26
|
+
modelModifiers: {}
|
|
27
|
+
}),
|
|
28
|
+
emits: ["update:modelValue"],
|
|
29
|
+
setup(r, { expose: m }) {
|
|
30
|
+
const e = r, a = _(r, "modelValue"), s = B("area"), p = !!T(), f = R(), { editable: v } = $(e), t = l(() => p && !e.stacked && !f.value && v.value && !!e.label), o = l(() => e.maxLength ? `${a.value.length} / ${e.maxLength}` : void 0), b = l(() => t.value && o.value ? [e.hint, o.value].filter(Boolean).join(" · ") : e.hint), h = N("area", () => e.error ? "error" : e.disabled ? "locked" : "rest");
|
|
31
|
+
return m({ focus: () => s.value?.focus() }), (H, n) => (d(), q(S, C({ ...i(j)(e), hint: b.value }, {
|
|
32
|
+
value: a.value,
|
|
33
|
+
"row-layout": t.value ? "entry" : "stacked",
|
|
34
|
+
"row-label-align": "top"
|
|
35
|
+
}), {
|
|
36
|
+
default: V(({ id: x, describedby: g, invalid: y }) => [
|
|
37
|
+
u("div", {
|
|
38
|
+
class: c(["w-full", i(h)])
|
|
39
|
+
}, [
|
|
40
|
+
L(u("textarea", {
|
|
41
|
+
id: x,
|
|
42
|
+
ref_key: "area",
|
|
43
|
+
ref: s,
|
|
44
|
+
"onUpdate:modelValue": n[0] || (n[0] = (w) => a.value = w),
|
|
45
|
+
name: e.name,
|
|
46
|
+
rows: e.rows,
|
|
47
|
+
placeholder: e.placeholder,
|
|
48
|
+
maxlength: e.maxLength,
|
|
49
|
+
autocomplete: e.autocomplete,
|
|
50
|
+
disabled: e.disabled,
|
|
51
|
+
required: e.required,
|
|
52
|
+
"aria-required": e.required || void 0,
|
|
53
|
+
"aria-invalid": y || void 0,
|
|
54
|
+
"aria-describedby": g,
|
|
55
|
+
class: c(["block w-full border-0 bg-transparent px-0 py-1 text-body text-content-strong placeholder:text-content-disabled focus:outline-none focus:ring-0 disabled:cursor-not-allowed", e.disabled ? "resize-none" : "resize-y"])
|
|
56
|
+
}, null, 10, U), [
|
|
57
|
+
[M, a.value]
|
|
58
|
+
])
|
|
59
|
+
], 2),
|
|
60
|
+
!t.value && o.value ? (d(), D("p", A, z(o.value), 1)) : E("", !0)
|
|
61
|
+
]),
|
|
62
|
+
_: 1
|
|
63
|
+
}, 16, ["value", "row-layout"]));
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
export {
|
|
67
|
+
O as _
|
|
68
|
+
};
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { computed as u, defineComponent as K, useModel as W, useTemplateRef as v, openBlock as m, createBlock as E, mergeProps as w, unref as t, withCtx as b, createElementBlock as x, Fragment as N, createVNode as d, createTextVNode as j, toDisplayString as G, createCommentVNode as P, createElementVNode as h, normalizeClass as H, mergeModels as J, mergeDefaults as O, nextTick as U } from "vue";
|
|
2
|
+
import { useI18n as L } from "vue-i18n";
|
|
3
|
+
import { _ as X } from "./DateButton.vue_vue_type_script_setup_true_lang-EcqrfWKz.js";
|
|
4
|
+
import { u as Y } from "./format-B8mJm946.js";
|
|
5
|
+
import { _ as Z } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
|
|
6
|
+
import { u as ee } from "./mediaQuery-CygcXmFW.js";
|
|
7
|
+
import { _ as te } from "./Popover.vue_vue_type_script_setup_true_lang-Dx-tDhNE.js";
|
|
8
|
+
import { c as oe, _ as re, f as ae, b as le } from "./control-7EP4tjYy.js";
|
|
9
|
+
import { d as se, r as ie, t as z, p as ne, u as ue, a as me, i as F, _ as de, b as ce, c as pe } from "./useTypedEntry-aTfPBAhw.js";
|
|
10
|
+
function fe(i) {
|
|
11
|
+
const { t: n } = L(), e = u(() => [n("core.form.time.words.now").toLowerCase(), "now"]);
|
|
12
|
+
return {
|
|
13
|
+
placeholder: u(() => n("core.form.time.placeholder")),
|
|
14
|
+
parse(o) {
|
|
15
|
+
if (e.value.includes(o.trim().toLowerCase())) return { value: z(i()) };
|
|
16
|
+
const a = ne(o, i());
|
|
17
|
+
return "time" in a ? { value: a.time } : { error: a.error === "step" ? n("core.form.time.step", { step: i() }) : n("core.form.time.invalid") };
|
|
18
|
+
},
|
|
19
|
+
shortcuts: (o) => (o ?? se).map((a) => ie(a, n("core.form.time.now"), z(i())))
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
const ve = ["id", "name", "value", "placeholder", "disabled", "required", "aria-required", "aria-invalid", "aria-describedby"], be = ["aria-label", "onClick"], Ce = /* @__PURE__ */ K({
|
|
23
|
+
__name: "TimeField",
|
|
24
|
+
props: /* @__PURE__ */ J(/* @__PURE__ */ O({
|
|
25
|
+
label: {},
|
|
26
|
+
hint: {},
|
|
27
|
+
error: {},
|
|
28
|
+
required: { type: Boolean },
|
|
29
|
+
editable: { type: Boolean },
|
|
30
|
+
disabled: { type: Boolean },
|
|
31
|
+
lockedReason: {},
|
|
32
|
+
presentation: {},
|
|
33
|
+
name: {},
|
|
34
|
+
minuteStep: {},
|
|
35
|
+
quickTimes: {}
|
|
36
|
+
}, { ...le, minuteStep: 1, quickTimes: void 0 }), {
|
|
37
|
+
modelValue: { default: null },
|
|
38
|
+
modelModifiers: {}
|
|
39
|
+
}),
|
|
40
|
+
emits: ["update:modelValue"],
|
|
41
|
+
setup(i, { expose: n }) {
|
|
42
|
+
const e = i, o = W(i, "modelValue"), { t: a } = L(), M = Y(), I = ee(), T = v("input"), c = v("popover"), g = v("panel"), q = v("sheet"), k = fe(() => e.minuteStep), l = ue({ model: o, display: (r) => r, parse: k.parse }), C = u(() => k.shortcuts(e.quickTimes)), V = u(() => e.error || l.message.value), Q = oe("date", () => V.value ? "error" : e.disabled ? "locked" : "rest"), R = u(() => {
|
|
43
|
+
const r = me(o.value);
|
|
44
|
+
return r ? M.time(new Date(2e3, 0, 1, r.hour, r.minute)) : null;
|
|
45
|
+
}), $ = u(() => F(l.typed.value) ? l.typed.value : F(o.value) ? o.value : null);
|
|
46
|
+
async function y(r) {
|
|
47
|
+
e.disabled || (c.value?.present(), r && (await U(), await U(), g.value?.querySelector("[role=listbox]")?.focus()));
|
|
48
|
+
}
|
|
49
|
+
function A(r) {
|
|
50
|
+
r.key === "Enter" ? (l.commit(), c.value?.dismiss()) : r.key === "ArrowDown" && (r.preventDefault(), y(!0));
|
|
51
|
+
}
|
|
52
|
+
return n({ focus: () => T.value?.focus() }), (r, s) => (m(), E(re, w({ ...t(ae)(e), error: V.value }, {
|
|
53
|
+
value: R.value,
|
|
54
|
+
"value-style": "numeric"
|
|
55
|
+
}), {
|
|
56
|
+
default: b(({ id: S, describedby: B, invalid: D }) => [
|
|
57
|
+
t(I) ? (m(), x(N, { key: 0 }, [
|
|
58
|
+
d(X, w({ id: S, "aria-describedby": B }, {
|
|
59
|
+
disabled: e.disabled,
|
|
60
|
+
invalid: D,
|
|
61
|
+
placeholder: t(a)("core.form.select.choose"),
|
|
62
|
+
onClick: s[0] || (s[0] = (p) => q.value?.present())
|
|
63
|
+
}), {
|
|
64
|
+
default: b(() => [
|
|
65
|
+
o.value ? (m(), x(N, { key: 0 }, [
|
|
66
|
+
j(G(o.value), 1)
|
|
67
|
+
], 64)) : P("", !0)
|
|
68
|
+
]),
|
|
69
|
+
_: 1
|
|
70
|
+
}, 16, ["disabled", "invalid", "placeholder"]),
|
|
71
|
+
d(de, {
|
|
72
|
+
ref_key: "sheet",
|
|
73
|
+
ref: q,
|
|
74
|
+
title: e.label ?? t(a)("core.form.time.label"),
|
|
75
|
+
mode: "time",
|
|
76
|
+
"model-value": o.value,
|
|
77
|
+
shortcuts: C.value,
|
|
78
|
+
step: e.minuteStep,
|
|
79
|
+
clearable: !e.required,
|
|
80
|
+
"onUpdate:modelValue": t(l).set
|
|
81
|
+
}, null, 8, ["title", "model-value", "shortcuts", "step", "clearable", "onUpdate:modelValue"])
|
|
82
|
+
], 64)) : (m(), E(te, {
|
|
83
|
+
key: 1,
|
|
84
|
+
ref_key: "popover",
|
|
85
|
+
ref: c,
|
|
86
|
+
label: e.label ?? t(a)("core.form.time.label"),
|
|
87
|
+
width: "sm",
|
|
88
|
+
placement: "bottom-start",
|
|
89
|
+
arrow: !1,
|
|
90
|
+
autofocus: !1
|
|
91
|
+
}, {
|
|
92
|
+
trigger: b(({ attrs: p, presented: _ }) => [
|
|
93
|
+
h("div", {
|
|
94
|
+
class: H(["inline-flex max-w-full items-center gap-2", t(Q)])
|
|
95
|
+
}, [
|
|
96
|
+
h("input", w({
|
|
97
|
+
id: S,
|
|
98
|
+
ref_key: "input",
|
|
99
|
+
ref: T
|
|
100
|
+
}, p, {
|
|
101
|
+
type: "text",
|
|
102
|
+
role: "combobox",
|
|
103
|
+
autocomplete: "off",
|
|
104
|
+
size: "10",
|
|
105
|
+
name: e.name,
|
|
106
|
+
value: t(l).text.value,
|
|
107
|
+
placeholder: t(k).placeholder.value,
|
|
108
|
+
disabled: e.disabled,
|
|
109
|
+
required: e.required,
|
|
110
|
+
"aria-required": e.required || void 0,
|
|
111
|
+
"aria-invalid": D || void 0,
|
|
112
|
+
"aria-describedby": B,
|
|
113
|
+
class: "block min-h-7 min-w-0 border-0 bg-transparent py-1 pl-2.5 text-body tabular-nums text-content-strong placeholder:text-content-disabled focus:outline-none focus:ring-0 disabled:cursor-not-allowed",
|
|
114
|
+
onInput: s[1] || (s[1] = (f) => t(l).input(f.target.value)),
|
|
115
|
+
onBlur: s[2] || (s[2] = (f) => t(l).commit()),
|
|
116
|
+
onKeydown: A,
|
|
117
|
+
onClick: s[3] || (s[3] = (f) => y(!1))
|
|
118
|
+
}), null, 16, ve),
|
|
119
|
+
e.disabled ? P("", !0) : (m(), x("button", {
|
|
120
|
+
key: 0,
|
|
121
|
+
type: "button",
|
|
122
|
+
tabindex: "-1",
|
|
123
|
+
"aria-label": t(a)("core.form.time.open"),
|
|
124
|
+
class: "mr-2 flex shrink-0 cursor-pointer items-center text-content-link",
|
|
125
|
+
onClick: (f) => _ ? c.value?.dismiss() : y(!0)
|
|
126
|
+
}, [
|
|
127
|
+
d(t(Z), {
|
|
128
|
+
name: "timeLine",
|
|
129
|
+
size: 18
|
|
130
|
+
})
|
|
131
|
+
], 8, be))
|
|
132
|
+
], 2)
|
|
133
|
+
]),
|
|
134
|
+
default: b(({ dismiss: p }) => [
|
|
135
|
+
h("div", {
|
|
136
|
+
ref_key: "panel",
|
|
137
|
+
ref: g,
|
|
138
|
+
class: "flex flex-col gap-2.5"
|
|
139
|
+
}, [
|
|
140
|
+
d(ce, {
|
|
141
|
+
"model-value": $.value,
|
|
142
|
+
step: e.minuteStep,
|
|
143
|
+
"onUpdate:modelValue": t(l).set
|
|
144
|
+
}, null, 8, ["model-value", "step", "onUpdate:modelValue"]),
|
|
145
|
+
d(pe, {
|
|
146
|
+
items: C.value,
|
|
147
|
+
selected: $.value,
|
|
148
|
+
onPick: (_) => {
|
|
149
|
+
t(l).set(_), p();
|
|
150
|
+
}
|
|
151
|
+
}, null, 8, ["items", "selected", "onPick"])
|
|
152
|
+
], 512)
|
|
153
|
+
]),
|
|
154
|
+
_: 2
|
|
155
|
+
}, 1032, ["label"]))
|
|
156
|
+
]),
|
|
157
|
+
_: 1
|
|
158
|
+
}, 16, ["value"]));
|
|
159
|
+
}
|
|
160
|
+
});
|
|
161
|
+
export {
|
|
162
|
+
Ce as _,
|
|
163
|
+
fe as u
|
|
164
|
+
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent as p, computed as a, openBlock as n, createElementBlock as s, createVNode as v, unref as r, createTextVNode as _, toDisplayString as c } from "vue";
|
|
2
2
|
import { useI18n as f } from "vue-i18n";
|
|
3
3
|
import { u as x, t as y } from "./format-B8mJm946.js";
|
|
4
|
-
import { _ as T } from "./Icon.vue_vue_type_script_lang-
|
|
4
|
+
import { _ as T } from "./Icon.vue_vue_type_script_lang-D7oC-d-S.js";
|
|
5
5
|
const g = ["datetime"], k = {
|
|
6
6
|
key: 1,
|
|
7
7
|
class: "text-xs text-content-muted"
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
import { defineComponent as R, openBlock as q, createBlock as P, unref as e, withCtx as u, createVNode as t, mergeProps as L, provide as N, computed as g, useTemplateRef as $, createElementVNode as x, toDisplayString as C, createTextVNode as j } from "vue";
|
|
2
|
+
import { useI18n as A } from "vue-i18n";
|
|
3
|
+
import { u as F } from "./neighbors-DpaIMQAL.js";
|
|
4
|
+
import { _ as H } from "./Avatar.vue_vue_type_script_setup_true_lang-CFIheaSr.js";
|
|
5
|
+
import { u as J } from "./describeError-Ctga6GcS.js";
|
|
6
|
+
import { i as w, P as Q, p as W, f as X, M as Y, g as Z, d as ee } from "./index-CGv-u1Ws.js";
|
|
7
|
+
import { _ as se } from "./AlertDialog.vue_vue_type_script_setup_true_lang-whA4WLdl.js";
|
|
8
|
+
import { t as k } from "./toast-D9Z5To38.js";
|
|
9
|
+
import { _ as ae } from "./SectionNavigator.vue_vue_type_script_setup_true_lang-DSMXEaCs.js";
|
|
10
|
+
import { u as E } from "./platform-q3cjODLx.js";
|
|
11
|
+
import { a as te } from "./routeResource-DstM0hvf.js";
|
|
12
|
+
import { a as oe } from "./ResourcePage.vue_vue_type_script_setup_true_lang-CwI_sROp.js";
|
|
13
|
+
import { A as re } from "./access-DdRFrVV1.js";
|
|
14
|
+
import { _ as ne } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
|
|
15
|
+
import { u as ie } from "./useLoad-CYRVx6HW.js";
|
|
16
|
+
import { _ as V } from "./IconTile.vue_vue_type_script_setup_true_lang-BpIjgu5E.js";
|
|
17
|
+
import { _ as T } from "./FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js";
|
|
18
|
+
import { e as B } from "./control-7EP4tjYy.js";
|
|
19
|
+
import { u as z, _ as K } from "./useCommand-BkONMn3X.js";
|
|
20
|
+
import { u as U } from "./fieldMessages-C3Rpbktw.js";
|
|
21
|
+
import { u as ce, s as le } from "./status-BuP3ULjH.js";
|
|
22
|
+
import { _ as M } from "./TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js";
|
|
23
|
+
const ue = /* @__PURE__ */ R({
|
|
24
|
+
__name: "DeactivateDialog",
|
|
25
|
+
props: {
|
|
26
|
+
id: {},
|
|
27
|
+
name: {},
|
|
28
|
+
sessionCount: {}
|
|
29
|
+
},
|
|
30
|
+
emits: ["done"],
|
|
31
|
+
setup(h, { expose: a, emit: d }) {
|
|
32
|
+
const c = h, v = d, { t: s } = A(), { http: n } = E(), l = z({
|
|
33
|
+
...U(),
|
|
34
|
+
defaults: () => ({}),
|
|
35
|
+
run: () => n.request(w.usersDeactivate, { id: c.id }),
|
|
36
|
+
done: () => {
|
|
37
|
+
k.success(s("core.users.deactivate.done", { name: c.name })), v("done");
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
return a({ open: () => l.present() }), (f, o) => (q(), P(e(K), {
|
|
41
|
+
command: e(l),
|
|
42
|
+
title: e(s)("core.users.deactivate.title"),
|
|
43
|
+
subtitle: c.name,
|
|
44
|
+
"confirm-label": e(s)("core.users.actions.deactivate_short"),
|
|
45
|
+
"busy-label": e(s)("core.users.deactivate.busy"),
|
|
46
|
+
"done-label": e(s)("core.users.deactivate.done_label"),
|
|
47
|
+
size: "md"
|
|
48
|
+
}, {
|
|
49
|
+
default: u(() => [
|
|
50
|
+
t(e(T), { "data-deactivate-dialog": "" }, {
|
|
51
|
+
default: u(() => [
|
|
52
|
+
t(e(B), {
|
|
53
|
+
layout: "setting",
|
|
54
|
+
label: e(s)("core.users.deactivate.signs_out", { n: c.sessionCount ?? 0 }),
|
|
55
|
+
sub: e(s)("core.users.deactivate.signs_out_sub")
|
|
56
|
+
}, {
|
|
57
|
+
leading: u(() => [
|
|
58
|
+
t(e(V), {
|
|
59
|
+
tone: "anchor",
|
|
60
|
+
icon: "logoutBoxRLine"
|
|
61
|
+
})
|
|
62
|
+
]),
|
|
63
|
+
_: 1
|
|
64
|
+
}, 8, ["label", "sub"]),
|
|
65
|
+
t(e(B), {
|
|
66
|
+
layout: "setting",
|
|
67
|
+
label: e(s)("core.users.deactivate.cannot_sign_in"),
|
|
68
|
+
sub: e(s)("core.users.deactivate.cannot_sign_in_sub")
|
|
69
|
+
}, {
|
|
70
|
+
leading: u(() => [
|
|
71
|
+
t(e(V), {
|
|
72
|
+
tone: "anchor",
|
|
73
|
+
icon: "lockLine"
|
|
74
|
+
})
|
|
75
|
+
]),
|
|
76
|
+
_: 1
|
|
77
|
+
}, 8, ["label", "sub"])
|
|
78
|
+
]),
|
|
79
|
+
_: 1
|
|
80
|
+
})
|
|
81
|
+
]),
|
|
82
|
+
_: 1
|
|
83
|
+
}, 8, ["command", "title", "subtitle", "confirm-label", "busy-label", "done-label"]));
|
|
84
|
+
}
|
|
85
|
+
}), de = /* @__PURE__ */ R({
|
|
86
|
+
__name: "SetPasswordDialog",
|
|
87
|
+
props: {
|
|
88
|
+
id: {},
|
|
89
|
+
name: {}
|
|
90
|
+
},
|
|
91
|
+
emits: ["saved"],
|
|
92
|
+
setup(h, { expose: a, emit: d }) {
|
|
93
|
+
const c = h, v = d, { t: s } = A(), { http: n } = E(), l = {
|
|
94
|
+
safeParse(o) {
|
|
95
|
+
const { password: m, repeat: _ } = o, b = [
|
|
96
|
+
...m === "" ? [{ path: ["password"], message: s("core.account.validation.required") }] : [],
|
|
97
|
+
...m !== "" && _ !== m ? [{ path: ["repeat"], message: s(_ === "" ? "core.account.validation.required" : "core.account.validation.mismatch") }] : []
|
|
98
|
+
];
|
|
99
|
+
return b.length > 0 ? { success: !1, error: { issues: b } } : { success: !0, data: { password: m } };
|
|
100
|
+
}
|
|
101
|
+
}, f = z({
|
|
102
|
+
...U(),
|
|
103
|
+
defaults: () => ({ password: "", repeat: "" }),
|
|
104
|
+
validator: l,
|
|
105
|
+
run: (o) => n.request(w.usersSetPassword, { id: c.id, password: o.password }),
|
|
106
|
+
done: () => {
|
|
107
|
+
k.success(s("core.users.password.done", { name: c.name })), v("saved");
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
return a({ open: () => f.present() }), (o, m) => (q(), P(e(K), {
|
|
111
|
+
command: e(f),
|
|
112
|
+
title: e(s)("core.users.password.title"),
|
|
113
|
+
subtitle: c.name,
|
|
114
|
+
"confirm-label": e(s)("core.users.password.action")
|
|
115
|
+
}, {
|
|
116
|
+
default: u(() => [
|
|
117
|
+
t(e(T), {
|
|
118
|
+
footer: e(s)("core.users.password.footer"),
|
|
119
|
+
"data-set-password-dialog": ""
|
|
120
|
+
}, {
|
|
121
|
+
default: u(() => [
|
|
122
|
+
t(e(M), L(e(f).form.bind("password"), {
|
|
123
|
+
label: e(s)("core.users.fields.password"),
|
|
124
|
+
type: "password",
|
|
125
|
+
required: "",
|
|
126
|
+
autocomplete: "new-password"
|
|
127
|
+
}), null, 16, ["label"]),
|
|
128
|
+
t(e(M), L(e(f).form.bind("repeat"), {
|
|
129
|
+
label: e(s)("core.users.fields.password_repeat"),
|
|
130
|
+
type: "password",
|
|
131
|
+
required: "",
|
|
132
|
+
autocomplete: "new-password"
|
|
133
|
+
}), null, 16, ["label"])
|
|
134
|
+
]),
|
|
135
|
+
_: 1
|
|
136
|
+
}, 8, ["footer"])
|
|
137
|
+
]),
|
|
138
|
+
_: 1
|
|
139
|
+
}, 8, ["command", "title", "subtitle", "confirm-label"]));
|
|
140
|
+
}
|
|
141
|
+
}), me = {
|
|
142
|
+
class: "flex items-center gap-3 px-1.5",
|
|
143
|
+
"data-person-identity": ""
|
|
144
|
+
}, pe = { class: "flex min-w-0 flex-col items-start gap-0.5" }, fe = { class: "max-w-full truncate text-headline font-semibold text-content-strong" }, ve = { class: "max-w-full truncate text-footnote text-content-muted" }, Te = /* @__PURE__ */ R({
|
|
145
|
+
__name: "UserRecord",
|
|
146
|
+
setup(h) {
|
|
147
|
+
const { t: a } = A(), { http: d, access: c, session: v } = E(), s = J(), n = te({
|
|
148
|
+
key: Q,
|
|
149
|
+
param: "id",
|
|
150
|
+
load: async (r, { signal: p }) => (await d.request(w.usersShow, { id: r }, { signal: p })).data
|
|
151
|
+
}), l = ie(
|
|
152
|
+
async ({ signal: r }) => {
|
|
153
|
+
const p = n.data.value?.id;
|
|
154
|
+
return p === void 0 ? { sessions: [] } : (await d.request(w.usersSessions, { id: p }, { signal: r })).data;
|
|
155
|
+
},
|
|
156
|
+
{ watch: () => n.data.value?.id }
|
|
157
|
+
);
|
|
158
|
+
N(W, l);
|
|
159
|
+
const f = F(ce(d), { current: () => n.id.value, list: X.index, param: "id", backLabel: () => a("core.users.title") }), o = g(() => n.data.value), m = g(() => o.value !== null && v.state.value.status === "authenticated" && v.state.value.user.id === o.value.id), _ = $("deactivateDialog"), b = $("passwordDialog"), D = $("activateDialog");
|
|
160
|
+
async function y() {
|
|
161
|
+
await Promise.all([n.reload(), l.reload()]);
|
|
162
|
+
}
|
|
163
|
+
async function G() {
|
|
164
|
+
const r = n.id.value;
|
|
165
|
+
if (r !== null) {
|
|
166
|
+
try {
|
|
167
|
+
await d.request(w.usersActivate, { id: r }), k.success(a("core.users.activate.done", { name: o.value?.name ?? "" }));
|
|
168
|
+
} catch (p) {
|
|
169
|
+
ee(p) || k.error(s(p, { fallback: a("core.users.activate.failed") }));
|
|
170
|
+
}
|
|
171
|
+
await y();
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
const S = g(() => {
|
|
175
|
+
const r = c.can(Y);
|
|
176
|
+
return { manage: r, deactivate: r && !!o.value?.active && !m.value, activate: r && o.value !== null && !o.value.active, endSessions: r && !m.value };
|
|
177
|
+
});
|
|
178
|
+
N(Z, {
|
|
179
|
+
get can() {
|
|
180
|
+
return S.value;
|
|
181
|
+
},
|
|
182
|
+
deactivate: () => _.value?.open(),
|
|
183
|
+
activate: () => D.value?.present(),
|
|
184
|
+
setPassword: () => b.value?.open(),
|
|
185
|
+
refresh: y
|
|
186
|
+
});
|
|
187
|
+
const I = g(() => [
|
|
188
|
+
...S.value.deactivate ? [{ id: "deactivate", label: a("core.users.actions.deactivate"), icon: "lockLine", placement: "overflow", tone: "critical", onClick: () => _.value?.open() }] : [],
|
|
189
|
+
...S.value.activate ? [{ id: "activate", label: a("core.users.actions.activate"), icon: "checkCircle", placement: "overflow", onClick: () => D.value?.present() }] : []
|
|
190
|
+
]), O = g(() => ({
|
|
191
|
+
...l.data.value ? { "users.record.sessions": l.data.value.sessions.length } : {},
|
|
192
|
+
...o.value?.status === "locked" ? { "users.record.signin": a("core.users.status.locked") } : {}
|
|
193
|
+
}));
|
|
194
|
+
return (r, p) => (q(), P(e(oe), {
|
|
195
|
+
resource: e(n),
|
|
196
|
+
title: o.value?.name ?? e(a)("core.users.record"),
|
|
197
|
+
list: e(f).context,
|
|
198
|
+
actions: I.value
|
|
199
|
+
}, {
|
|
200
|
+
default: u(({ record: i }) => [
|
|
201
|
+
t(e(ae), {
|
|
202
|
+
label: e(a)("core.users.sections_label"),
|
|
203
|
+
desktop: "sidebar",
|
|
204
|
+
compact: "rows",
|
|
205
|
+
"back-label": i.name,
|
|
206
|
+
counts: O.value
|
|
207
|
+
}, {
|
|
208
|
+
summary: u(() => [
|
|
209
|
+
x("div", me, [
|
|
210
|
+
t(e(H), {
|
|
211
|
+
name: i.name,
|
|
212
|
+
size: "lg",
|
|
213
|
+
tone: "anchor"
|
|
214
|
+
}, null, 8, ["name"]),
|
|
215
|
+
x("div", pe, [
|
|
216
|
+
x("span", fe, C(i.name), 1),
|
|
217
|
+
x("span", ve, C(i.email), 1),
|
|
218
|
+
t(e(ne), {
|
|
219
|
+
tone: e(le)(i.status),
|
|
220
|
+
dot: "",
|
|
221
|
+
"data-person-status": ""
|
|
222
|
+
}, {
|
|
223
|
+
default: u(() => [
|
|
224
|
+
j(C(e(a)(`core.users.status.${i.status}`)), 1)
|
|
225
|
+
]),
|
|
226
|
+
_: 2
|
|
227
|
+
}, 1032, ["tone"])
|
|
228
|
+
])
|
|
229
|
+
])
|
|
230
|
+
]),
|
|
231
|
+
default: u(() => [
|
|
232
|
+
t(e(re))
|
|
233
|
+
]),
|
|
234
|
+
_: 2
|
|
235
|
+
}, 1032, ["label", "back-label", "counts"]),
|
|
236
|
+
t(ue, {
|
|
237
|
+
ref_key: "deactivateDialog",
|
|
238
|
+
ref: _,
|
|
239
|
+
id: i.id,
|
|
240
|
+
name: i.name,
|
|
241
|
+
"session-count": e(l).data.value?.sessions.length ?? null,
|
|
242
|
+
onDone: y
|
|
243
|
+
}, null, 8, ["id", "name", "session-count"]),
|
|
244
|
+
t(de, {
|
|
245
|
+
ref_key: "passwordDialog",
|
|
246
|
+
ref: b,
|
|
247
|
+
id: i.id,
|
|
248
|
+
name: i.name,
|
|
249
|
+
onSaved: y
|
|
250
|
+
}, null, 8, ["id", "name"]),
|
|
251
|
+
t(e(se), {
|
|
252
|
+
ref_key: "activateDialog",
|
|
253
|
+
ref: D,
|
|
254
|
+
icon: "checkCircle",
|
|
255
|
+
title: e(a)("core.users.activate.title"),
|
|
256
|
+
message: e(a)("core.users.activate.body", { name: i.name }),
|
|
257
|
+
"confirm-label": e(a)("core.users.actions.activate"),
|
|
258
|
+
action: G
|
|
259
|
+
}, null, 8, ["title", "message", "confirm-label"])
|
|
260
|
+
]),
|
|
261
|
+
_: 1
|
|
262
|
+
}, 8, ["resource", "title", "list", "actions"]));
|
|
263
|
+
}
|
|
264
|
+
});
|
|
265
|
+
export {
|
|
266
|
+
Te as default
|
|
267
|
+
};
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
import { defineComponent as U, openBlock as p, createBlock as C, unref as e, withCtx as c, createVNode as r, mergeProps as i, useTemplateRef as V, computed as q, createTextVNode as z, toDisplayString as $, createCommentVNode as A, createElementBlock as S, normalizeClass as N } from "vue";
|
|
2
|
+
import { useI18n as B } from "vue-i18n";
|
|
3
|
+
import { useRouter as M } from "vue-router";
|
|
4
|
+
import { u as P, _ as D } from "./CollectionPage.vue_vue_type_script_setup_true_lang-DCBVw2Qd.js";
|
|
5
|
+
import { _ as I } from "./Avatar.vue_vue_type_script_setup_true_lang-CFIheaSr.js";
|
|
6
|
+
import { u as F } from "./format-B8mJm946.js";
|
|
7
|
+
import { u as L } from "./platform-q3cjODLx.js";
|
|
8
|
+
import { _ as G } from "./Badge.vue_vue_type_script_setup_true_lang-DJyZc0C7.js";
|
|
9
|
+
import { i as K, f as E, M as W } from "./index-CGv-u1Ws.js";
|
|
10
|
+
import { U as j, u as H, s as J } from "./status-BuP3ULjH.js";
|
|
11
|
+
import { u as O } from "./environment-Dva-SG8D.js";
|
|
12
|
+
import { u as Q } from "./languages-BShG9LpE.js";
|
|
13
|
+
import { _ as X } from "./FormGroup.vue_vue_type_script_setup_true_lang-DG2zdG_a.js";
|
|
14
|
+
import { _ as Y } from "./SelectField.vue_vue_type_script_setup_true_lang-7O1BAx04.js";
|
|
15
|
+
import { _ as d } from "./TextField.vue_vue_type_script_setup_true_lang-B9dwVASU.js";
|
|
16
|
+
import { u as Z, _ as ee } from "./useCommand-BkONMn3X.js";
|
|
17
|
+
import { t as se } from "./toast-D9Z5To38.js";
|
|
18
|
+
import { u as te } from "./fieldMessages-C3Rpbktw.js";
|
|
19
|
+
const oe = /* @__PURE__ */ U({
|
|
20
|
+
__name: "NewUserDialog",
|
|
21
|
+
emits: ["created"],
|
|
22
|
+
setup(T, { expose: o, emit: b }) {
|
|
23
|
+
const { t } = B(), { http: g } = L(), h = O(), f = te(), w = Q(), y = () => ({ login: "", name: "", email: "", phone: "", locale: h.locale.value, password: "", repeat: "" }), m = (s) => s.trim() === "", k = {
|
|
24
|
+
safeParse(s) {
|
|
25
|
+
const { repeat: n, locale: R, ...u } = s, v = t("core.account.validation.required"), _ = ["login", "name", "email", "password"].filter((x) => m(u[x])).map((x) => ({ path: [x], message: v }));
|
|
26
|
+
return R === null && _.push({ path: ["locale"], message: v }), !m(u.password) && n !== u.password && _.push({ path: ["repeat"], message: m(n) ? v : t("core.account.validation.mismatch") }), _.length > 0 ? { success: !1, error: { issues: _ } } : { success: !0, data: { ...u, locale: R ?? "", phone: m(u.phone) ? void 0 : u.phone } };
|
|
27
|
+
}
|
|
28
|
+
}, l = b, a = Z({
|
|
29
|
+
...f,
|
|
30
|
+
defaults: y,
|
|
31
|
+
validator: k,
|
|
32
|
+
run: async (s) => (await g.request(K.usersCreate, s)).data,
|
|
33
|
+
done: (s) => {
|
|
34
|
+
se.success(t("core.users.create.done", { name: s.name })), l("created", s);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
return o({ create: () => a.present() }), (s, n) => (p(), C(e(ee), {
|
|
38
|
+
command: e(a),
|
|
39
|
+
title: e(t)("core.users.create.title"),
|
|
40
|
+
subtitle: e(t)("core.users.create.subtitle"),
|
|
41
|
+
"confirm-label": e(t)("core.users.create.action"),
|
|
42
|
+
size: "md"
|
|
43
|
+
}, {
|
|
44
|
+
default: c(() => [
|
|
45
|
+
r(e(X), { "label-width": "11rem" }, {
|
|
46
|
+
default: c(() => [
|
|
47
|
+
r(e(d), i(e(a).form.bind("name"), {
|
|
48
|
+
label: e(t)("core.users.fields.name"),
|
|
49
|
+
required: "",
|
|
50
|
+
autocomplete: "off"
|
|
51
|
+
}), null, 16, ["label"]),
|
|
52
|
+
r(e(d), i(e(a).form.bind("login"), {
|
|
53
|
+
label: e(t)("core.users.fields.login"),
|
|
54
|
+
required: "",
|
|
55
|
+
mono: "",
|
|
56
|
+
autocomplete: "off"
|
|
57
|
+
}), null, 16, ["label"]),
|
|
58
|
+
r(e(d), i(e(a).form.bind("password"), {
|
|
59
|
+
label: e(t)("core.users.fields.password"),
|
|
60
|
+
type: "password",
|
|
61
|
+
required: "",
|
|
62
|
+
autocomplete: "new-password"
|
|
63
|
+
}), null, 16, ["label"]),
|
|
64
|
+
r(e(d), i(e(a).form.bind("repeat"), {
|
|
65
|
+
label: e(t)("core.users.fields.password_repeat"),
|
|
66
|
+
type: "password",
|
|
67
|
+
required: "",
|
|
68
|
+
autocomplete: "new-password"
|
|
69
|
+
}), null, 16, ["label"]),
|
|
70
|
+
r(e(d), i(e(a).form.bind("email"), {
|
|
71
|
+
label: e(t)("core.users.fields.email"),
|
|
72
|
+
type: "email",
|
|
73
|
+
required: "",
|
|
74
|
+
autocomplete: "off"
|
|
75
|
+
}), null, 16, ["label"]),
|
|
76
|
+
r(e(d), i(e(a).form.bind("phone"), {
|
|
77
|
+
label: e(t)("core.users.fields.phone"),
|
|
78
|
+
type: "tel",
|
|
79
|
+
autocomplete: "off"
|
|
80
|
+
}), null, 16, ["label"]),
|
|
81
|
+
r(e(Y), i(e(a).form.bind("locale"), {
|
|
82
|
+
label: e(t)("core.users.fields.locale"),
|
|
83
|
+
options: e(w),
|
|
84
|
+
required: ""
|
|
85
|
+
}), null, 16, ["label", "options"])
|
|
86
|
+
]),
|
|
87
|
+
_: 1
|
|
88
|
+
})
|
|
89
|
+
]),
|
|
90
|
+
_: 1
|
|
91
|
+
}, 8, ["command", "title", "subtitle", "confirm-label"]));
|
|
92
|
+
}
|
|
93
|
+
}), ae = ["datetime"], xe = /* @__PURE__ */ U({
|
|
94
|
+
__name: "UsersList",
|
|
95
|
+
setup(T) {
|
|
96
|
+
const { t: o } = B(), { http: b, access: t } = L(), g = F(), h = M(), f = V("dialog"), w = q(() => [
|
|
97
|
+
{ key: "name", label: o("core.users.columns.person"), kind: "identity", subtitle: (l) => l.email, sort: "name", mobile: "primary" },
|
|
98
|
+
{ key: "login", label: o("core.users.columns.login"), sort: "login", hideBelow: "md", width: 180, mobile: "hidden" },
|
|
99
|
+
{ key: "last_sign_in", label: o("core.users.columns.last_sign_in"), width: 170, mobile: "meta" },
|
|
100
|
+
{ key: "status", label: o("core.users.columns.status"), width: 130, mobile: "accessory" }
|
|
101
|
+
]), y = q(() => j.map((l) => ({ key: l, label: o(`core.users.views.${l}`) }))), m = P(H(b), { columns: w, views: y, state: { kind: "url", key: "query" }, recordRoute: (l) => E.record({ id: l.id }) }), k = q(
|
|
102
|
+
() => t.can(W) ? [{ id: "create", label: o("core.users.create.title"), icon: "addLine", placement: "primary", compact: "icon", keyboardShortcut: { key: "N", ctrlKey: !0 }, onClick: () => f.value?.create() }] : []
|
|
103
|
+
);
|
|
104
|
+
return (l, a) => (p(), C(e(D), {
|
|
105
|
+
collection: e(m),
|
|
106
|
+
title: e(o)("core.users.title"),
|
|
107
|
+
description: e(o)("core.users.description"),
|
|
108
|
+
actions: k.value,
|
|
109
|
+
"row-height": 64,
|
|
110
|
+
"row-label": (s) => s.name,
|
|
111
|
+
"views-presentation": "scope"
|
|
112
|
+
}, {
|
|
113
|
+
leading: c(({ item: s }) => [
|
|
114
|
+
r(e(I), {
|
|
115
|
+
name: s.name,
|
|
116
|
+
size: "md",
|
|
117
|
+
tone: "anchor"
|
|
118
|
+
}, null, 8, ["name"])
|
|
119
|
+
]),
|
|
120
|
+
"cell-last_sign_in": c(({ item: s, compact: n }) => [
|
|
121
|
+
s.last_sign_in ? (p(), S("time", {
|
|
122
|
+
key: 0,
|
|
123
|
+
datetime: s.last_sign_in,
|
|
124
|
+
class: N(["text-content", n ? "text-footnote text-content-muted" : "text-body"])
|
|
125
|
+
}, $(e(g).dateTime(s.last_sign_in)), 11, ae)) : (p(), S("span", {
|
|
126
|
+
key: 1,
|
|
127
|
+
class: N(n ? "text-footnote text-content-disabled" : "text-body text-content-disabled")
|
|
128
|
+
}, $(e(o)("core.users.never")), 3))
|
|
129
|
+
]),
|
|
130
|
+
"cell-status": c(({ item: s, compact: n }) => [
|
|
131
|
+
!n || s.status !== "active" ? (p(), C(e(G), {
|
|
132
|
+
key: 0,
|
|
133
|
+
tone: e(J)(s.status),
|
|
134
|
+
dot: ""
|
|
135
|
+
}, {
|
|
136
|
+
default: c(() => [
|
|
137
|
+
z($(e(o)(`core.users.status.${s.status}`)), 1)
|
|
138
|
+
]),
|
|
139
|
+
_: 2
|
|
140
|
+
}, 1032, ["tone"])) : A("", !0)
|
|
141
|
+
]),
|
|
142
|
+
default: c(() => [
|
|
143
|
+
r(oe, {
|
|
144
|
+
ref_key: "dialog",
|
|
145
|
+
ref: f,
|
|
146
|
+
onCreated: a[0] || (a[0] = (s) => e(h).push(e(E).record({ id: s.id })))
|
|
147
|
+
}, null, 512)
|
|
148
|
+
]),
|
|
149
|
+
_: 1
|
|
150
|
+
}, 8, ["collection", "title", "description", "actions", "row-label"]));
|
|
151
|
+
}
|
|
152
|
+
});
|
|
153
|
+
export {
|
|
154
|
+
xe as default
|
|
155
|
+
};
|