@ozdao/martyrs 0.2.482 → 0.2.483
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/dist/{Media-JBERcJWj.js → Media-C57G7rnE.js} +1 -1
- package/dist/{Media-p7Q8ZAQM.cjs → Media-DjnpKS62.cjs} +1 -1
- package/dist/_virtual/_commonjsHelpers.cjs +2 -0
- package/dist/_virtual/_commonjsHelpers.cjs.map +1 -1
- package/dist/_virtual/_commonjsHelpers.js +2 -0
- package/dist/_virtual/_commonjsHelpers.js.map +1 -1
- package/dist/_virtual/index2.cjs +8 -0
- package/dist/_virtual/index2.cjs.map +1 -0
- package/dist/_virtual/index2.js +8 -0
- package/dist/_virtual/index2.js.map +1 -0
- package/dist/_virtual/index3.cjs +5 -0
- package/dist/_virtual/index3.cjs.map +1 -0
- package/dist/_virtual/index3.js +5 -0
- package/dist/_virtual/index3.js.map +1 -0
- package/dist/{main-AtCVQKF9.js → main-CXQqAVVb.js} +2002 -1937
- package/dist/main-De5X_RUk.cjs +11 -0
- package/dist/martyrs/src/components/Button/{Button.vue2.cjs → Button.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Button/{Button.vue2.js.map → Button.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Button/{Button.vue2.js → Button.vue.js} +2 -2
- package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -0
- package/dist/martyrs/src/components/Chips/{Chips.vue2.cjs → Chips.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Chips/{Chips.vue2.js → Chips.vue.js} +2 -2
- package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -0
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs +141 -113
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +142 -114
- package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
- package/dist/martyrs/src/components/Popup/{Popup.vue2.cjs → Popup.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Popup/{Popup.vue2.js.map → Popup.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Popup/{Popup.vue2.js → Popup.vue.js} +2 -2
- package/dist/martyrs/src/components/Popup/Popup.vue.js.map +1 -0
- package/dist/martyrs/src/components/Status/Status.vue.cjs +11 -5
- package/dist/martyrs/src/components/Status/Status.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Status/Status.vue.js +13 -7
- package/dist/martyrs/src/components/Status/Status.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +6 -4
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +6 -4
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.cjs +17 -39
- package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js +18 -40
- package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js.map +1 -1
- package/dist/martyrs/src/modules/auth/views/localization/EnterCode.json.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/localization/EnterCode.json.js +1 -1
- package/dist/martyrs/src/modules/auth/views/localization/EnterPassword.json.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/localization/EnterPassword.json.js +1 -1
- package/dist/martyrs/src/modules/auth/views/localization/ResetPassword.json.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/localization/ResetPassword.json.js +1 -1
- package/dist/martyrs/src/modules/auth/views/localization/SignIn.json.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/localization/SignIn.json.js +1 -1
- package/dist/martyrs/src/modules/auth/views/localization/SignUp.json.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/localization/SignUp.json.js +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +3 -3
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +3 -3
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +2 -2
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
- package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
- package/dist/martyrs/src/modules/globals/globals.client.cjs +11 -0
- package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/globals.client.js +11 -0
- package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
- package/dist/martyrs/src/modules/globals/locales/en.cjs +24 -0
- package/dist/martyrs/src/modules/globals/locales/en.cjs.map +1 -0
- package/dist/martyrs/src/modules/globals/locales/en.js +24 -0
- package/dist/martyrs/src/modules/globals/locales/en.js.map +1 -0
- package/dist/martyrs/src/modules/globals/locales/ru.cjs +24 -0
- package/dist/martyrs/src/modules/globals/locales/ru.cjs.map +1 -0
- package/dist/martyrs/src/modules/globals/locales/ru.js +24 -0
- package/dist/martyrs/src/modules/globals/locales/ru.js.map +1 -0
- package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +71 -0
- package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs.map +1 -0
- package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +71 -0
- package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js.map +1 -0
- package/dist/martyrs/src/modules/globals/views/components/blocks/AlertDialog.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/AlertDialog.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +51 -45
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +51 -45
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/store/globals.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/views/store/globals.js.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +52 -58
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +52 -58
- package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js.map +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +1 -1
- package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +2 -2
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +3 -3
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +3 -3
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs +2 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js +2 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +3 -3
- package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +3 -3
- package/dist/martyrs/src/modules/wallet/views/localization/wallet.json.cjs +1 -1
- package/dist/martyrs/src/modules/wallet/views/localization/wallet.json.js +1 -1
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
- package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
- package/dist/node_modules/lodash.merge/index.cjs +689 -0
- package/dist/node_modules/lodash.merge/index.cjs.map +1 -0
- package/dist/node_modules/lodash.merge/index.js +689 -0
- package/dist/node_modules/lodash.merge/index.js.map +1 -0
- package/dist/style.css +53 -75
- package/package.json +1 -1
- package/src/components/FieldPhone/FieldPhone.vue +337 -238
- package/src/components/Status/Status.vue +10 -7
- package/src/modules/auth/views/components/layouts/Auth.vue +1 -1
- package/src/modules/auth/views/components/sections/SliderFeatures.vue +13 -79
- package/src/modules/auth/views/localization/EnterCode.json +2 -2
- package/src/modules/auth/views/localization/EnterPassword.json +2 -2
- package/src/modules/auth/views/localization/ResetPassword.json +2 -2
- package/src/modules/auth/views/localization/SignIn.json +2 -2
- package/src/modules/auth/views/localization/SignUp.json +2 -2
- package/src/modules/globals/globals.client.js +15 -1
- package/src/modules/globals/locales/en.js +21 -0
- package/src/modules/globals/locales/index.js +8 -0
- package/src/modules/globals/locales/ru.js +21 -0
- package/src/modules/globals/views/classes/globals.i18n.js +84 -0
- package/src/modules/globals/views/components/layouts/Client.vue +43 -40
- package/src/modules/globals/views/components/partials/Footer.vue +162 -162
- package/src/modules/globals/views/store/globals.js +0 -40
- package/src/modules/marketplace/views/components/layouts/Marketplace.vue +34 -38
- package/src/modules/products/components/pages/Product.vue +1 -1
- package/src/modules/products/components/sections/ProductsPopular.vue +3 -2
- package/src/modules/wallet/views/localization/wallet.json +2 -2
- package/dist/main-B-we7C0w.cjs +0 -11
- package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Popup/Popup.vue2.cjs.map +0 -1
- package/dist/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.cjs +0 -194
- package/dist/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.cjs.map +0 -1
- package/dist/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js +0 -194
- package/dist/node_modules/.pnpm/embla-carousel-autoplay@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js.map +0 -1
- package/dist/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.cjs +0 -43
- package/dist/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.cjs.map +0 -1
- package/dist/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js +0 -43
- package/dist/node_modules/.pnpm/embla-carousel-reactive-utils@8.6.0_embla-carousel@8.6.0/node_modules/embla-carousel-reactive-utils/esm/embla-carousel-reactive-utils.esm.js.map +0 -1
- package/dist/node_modules/.pnpm/embla-carousel-vue@8.6.0_vue@3.5.13_typescript@5.8.3_/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.cjs +0 -43
- package/dist/node_modules/.pnpm/embla-carousel-vue@8.6.0_vue@3.5.13_typescript@5.8.3_/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.cjs.map +0 -1
- package/dist/node_modules/.pnpm/embla-carousel-vue@8.6.0_vue@3.5.13_typescript@5.8.3_/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.js +0 -43
- package/dist/node_modules/.pnpm/embla-carousel-vue@8.6.0_vue@3.5.13_typescript@5.8.3_/node_modules/embla-carousel-vue/esm/embla-carousel-vue.esm.js.map +0 -1
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.cjs +0 -1630
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.cjs.map +0 -1
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js +0 -1630
- package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldPhone.vue.js","sources":["../../../../../src/components/FieldPhone/FieldPhone.vue"],"sourcesContent":["<template>\n <div \n :class=\"[\n rootClass, \n classes,\n $attrs.class, \n { 'bg-fourth-nano': validation }, \n { disabled: disabled }\n ]\" \n :style=\"[\n rootStyle, \n styles\n ]\" \n ref=\"rootElement\"\n class=\"vue3-reactive-tel-input\"\n >\n <div\n v-click-outside=\"clickedOutside\"\n :class=\"['vti__dropdown', { open: open }]\"\n :style=\"[dropdownStyle]\"\n :tabindex=\"dropdownOptions.tabindex\"\n @keydown=\"keyboardNav\"\n @click=\"toggleDropdown\"\n @keydown.esc=\"reset\"\n class=\"br-solid br-black-transp br-1px radius-thin\"\n >\n <span class=\"flex-nowrap flex flex-v-center p-medium vti__selection\">\n <span v-if=\"dropdownOptions.showFlags\" v-html=\"activeCountryFlag\" class=\"mn-r-nano\" />\n <span v-if=\"dropdownOptions.showDialCodeInSelection\" class=\"vti__country-code\">\n +{{ activeCountry && activeCountry.dialCode }}\n </span>\n <!-- <slot name=\"arrow-icon\" :open=\"open\"> -->\n <!-- <span class=\"vti__dropdown-arrow\">{{ open ? \"▲\" : \"▼\" }}</span> -->\n <!-- </slot> -->\n </span>\n <ul \n ref=\"list\" \n class=\"bs-black radius-small vti__dropdown-list\"\n v-show=\"open\" \n :class=\"dropdownOpenDirection\"\n :style=\"[listStyle]\"\n \n >\n <li\n v-for=\"(pb, index) in sortedCountries\"\n class=\"flex-nowrap flex w-max\"\n :class=\"['vti__dropdown-item', getItemClass(index, pb.iso2)]\"\n :key=\"pb.iso2 + (pb.preferred ? '-preferred' : '')\"\n @click=\"choose(pb)\"\n @mousemove=\"selectedIndex = index\"\n >\n <span v-if=\"dropdownOptions.showFlags\" v-html=\"pb.flag\" class=\"mn-r-thin\"/>\n <strong>{{ pb.name }}</strong>\n <span v-if=\"dropdownOptions.showDialCodeInList\"> +{{ pb.dialCode }} </span>\n </li>\n </ul>\n </div>\n <!-- <div :class=\"[divInputClass]\" > -->\n <input\n v-model=\"phone\"\n inputmode=\"numeric\" \n pattern=\"\\d*\"\n ref=\"input\"\n :type=\"inputOptions.type\"\n :autocomplete=\"inputOptions.autocomplete\"\n :autofocus=\"inputOptions.autofocus\"\n :class=\"['vti__input', inputOptions.styleClasses, inputClass, Iclasses]\"\n :style=\"[inputStyle, Istyles]\"\n :disabled=\"disabled\"\n :id=\"inputId !== ''? inputId : inputOptions.id\"\n :maxlength=\"inputOptions.maxlength\"\n :name=\"inputId !== ''? inputId : inputOptions.name\"\n :placeholder=\"parsedPlaceholder\"\n :readonly=\"inputOptions.readonly\"\n :required=\"inputOptions.required\"\n :tabindex=\"inputOptions.tabindex\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @input=\"onInput\"\n @keyup.enter=\"onEnter\"\n @keyup.space=\"onSpace\"\n />\n <slot></slot> <!-- slot outlet -->\n <!-- </div> -->\n\n </div>\n <!-- Validation -->\n <transition name=\"fade\">\n <div v-if=\"validation\" class=\"mn-t-thin mn-b-thin invalid-feedback\">\n * {{validation.message}}\n </div>\n </transition>\n</template>\n\n\n<script setup>\n import { ref, reactive, watch, computed, onMounted, nextTick } from 'vue';\n import { parsePhoneNumberFromString } from 'libphonenumber-js';\n\n import clickOutside from './click-outside.js';\n import allCountries from './all-countries.js';\n\n let vClickOutside = clickOutside\n\n const props = defineProps({\n modelValue: { type: String, default: '',},\n badClass: { type: [String, Array, Object], default: '', },\n goodClass: { type: [String, Array, Object], default: '', },\n badStyle: { type: [String, Array, Object], default: '', },\n goodStyle: { type: [String, Array, Object], default: '', },\n badInputClass: { type: [String, Array, Object], default: '', },\n goodInputClass: { type: [String, Array, Object], default: '', },\n badInputStyle: { type: [String, Array, Object], default: '', },\n goodInputStyle: { type: [String, Array, Object], default: '', },\n allCountries: { type: Array, default: () => allCountries, },\n autoFormat: { type: Boolean, default: () => true, },\n validation: { type: [Boolean, Object], default: false, },\n customValidate: { type: [Boolean, RegExp], default: () => false, },\n defaultCountry: { type: String, default: () => '', },\n disabled: { type: Boolean, default: () => false, },\n autoDefaultCountry: { type: Boolean, default: () => true },\n ignoredCountries: { type: Array, default: () => [], },\n invalidMsg: { type: String, default: () => '', },\n mode: { type: String, default: () => 'auto', },\n onlyCountries: { type: Array, default: () => [], },\n preferredCountries: { type: Array, default: () => [], },\n validCharactersOnly: { type: Boolean, default: () => false, },\n rootClass: { type: [String, Array, Object], default: () => '', },\n inputClass: { type: [String, Array, Object], default: () => {return ''}, },\n divInputClass: { type: [String, Array, Object], default: () => {return ''}, },\n rootStyle: { type: [String, Array, Object], default: () => {return ''}, },\n dropdownStyle: { type: [String, Array, Object], default: () => {return ''}, },\n listStyle: { type: [String, Array, Object], default: () => {return ''}, },\n inputStyle: { type: [String, Array, Object], default: () => {return ''}, },\n inputId: { type: [String, Array, Object], default: () => {return ''}, },\n Placeholder: { type: [String, Object, Function], default: () => {return ''}, },\n dropdownOptions: { \n type: Object, \n default: () => {\n return {\n showDialCodeInList: true,\n showDialCodeInSelection: false,\n showFlags: true,\n tabindex: 0\n }\n } \n },\n inputOptions: { \n type: Object, \n default: () => { \n return {\n autocomplete: 'on',\n autofocus: false,\n id: '',\n maxlength: 25,\n name: 'telephone',\n placeholder: 'Enter a phone number',\n readonly: false,\n required: false,\n tabindex: 0,\n type: 'tel',\n styleClasses: ''\n }\n }\n },\n });\n\n const emits = defineEmits([\n 'update:modelValue', \n 'change',\n 'validate', \n 'country-changed', \n 'open', \n 'close', \n 'blur', \n 'focus', \n 'enter', \n 'space'\n ]);\n\n const counter = ref(5);\n const initCounter = ref(5);\n const message = reactive({\n action: null,\n amount: null,\n });\n const phone = ref(props.modelValue ? props.modelValue : '');\n const activeCountryCode = ref('');\n const open = ref(false);\n const finishMounted = ref(false);\n const selectedIndex = ref(null);\n const typeToFindInput = ref('');\n const typeToFindTimer = ref(null);\n const dropdownOpenDirection = ref('below');\n const parsedPlaceholder = ref(props.Placeholder !== '' ? props.Placeholder : props.inputOptions.placeholder);\n\n const rootElement = ref(null)\n const list = ref(null)\n const input = ref(null)\n\n // Lifecycle hooks\n onMounted(async () => {\n if (props.modelValue) {\n phone.value = props.modelValue;\n }\n\n cleanInvalidCharacters();\n\n initializeCountry()\n .then(() => {\n if (!phone.value\n && props.inputOptions?.showDialCode\n && activeCountryCode.value) {\n phone.value = `+${activeCountryCode.value}`;\n }\n emits('validate', phoneObject.value);\n })\n .catch(console.error)\n .then(() => {\n finishMounted.value = true;\n });\n });\n\n // Computed properties\n const activeCountry = computed(() => {\n return findCountry(activeCountryCode.value);\n });\n\n const activeCountryFlag = computed(() => {\n return activeCountry.value ? activeCountry.value.flag : null;\n });\n\n const parsedMode = computed(() => {\n if (props.mode === 'auto') {\n if (!phone.value || phone.value[0] !== '+') {\n return 'national';\n }\n return 'international';\n }\n if (!['international', 'national'].includes(props.mode)) {\n console.error('Invalid value of prop \"mode\"');\n return 'international';\n }\n return props.mode;\n });\n\n const filteredCountries = computed(() => {\n if (props.onlyCountries && props.onlyCountries.length) {\n return props.allCountries.filter(({ iso2 }) => props.onlyCountries.includes(iso2.toUpperCase()));\n }\n\n if (props.ignoredCountries && props.ignoredCountries.length) {\n return props.allCountries.filter(({ iso2 }) =>\n !props.ignoredCountries.includes(iso2.toUpperCase()) && !props.ignoredCountries.includes(iso2.toLowerCase()),\n );\n }\n\n return props.allCountries;\n });\n const sortedCountries = computed(() => {\n const preferredCountries = getCountries(props.preferredCountries)\n .map(country => ({ ...country, preferred: true }));\n\n return [...preferredCountries, ...filteredCountries.value];\n });\n\n const phoneObject = computed(() => {\n let result = {};\n\n if (phone.value?.[0] === '+') {\n result = parsePhoneNumberFromString(phone.value) || {};\n } else {\n result = parsePhoneNumberFromString(phone.value, activeCountryCode.value) || {};\n }\n\n const { metadata, ...phoneDetails } = result;\n\n let valid = result.isValid?.();\n let formatted = phone.value;\n\n if (valid) {\n formatted = result.format?.(parsedMode.value.toUpperCase(), { nationalPrefix: false });\n }\n\n if (result.country && (props.ignoredCountries.length || props.onlyCountries.length)) {\n if (!findCountry(result.country)) {\n valid = false;\n result = { ...result, country: null };\n }\n }\n\n return {\n ...phoneDetails,\n countryCode: result.country,\n valid,\n country: activeCountry.value,\n formatted,\n };\n });\n\n const classes = computed(() => {\n return phoneObject.value.valid === true ? props.goodClass : \n phoneObject.value.valid === false ? props.badClass : undefined;\n });\n\n const styles = computed(() => {\n return phoneObject.value.valid === true ? props.goodStyle : \n phoneObject.value.valid === false ? props.badStyle : undefined;\n });\n\n const Iclasses = computed(() => {\n return phoneObject.value.valid === true ? props.goodInputClass : \n phoneObject.value.valid === false ? props.badInputClass : undefined;\n });\n\n const Istyles = computed(() => {\n return phoneObject.value.valid === true ? props.goodInputStyle : \n phoneObject.value.valid === false ? props.badInputStyle : undefined;\n });\n // ///////////\n // Watchers\n // ///////////\n watch(activeCountry, (newValue, oldValue) => {\n if (!newValue && oldValue?.iso2) {\n activeCountryCode.value = oldValue.iso2;\n return;\n }\n if (newValue?.iso2) {\n emits('country-changed', newValue);\n resetPlaceholder();\n }\n });\n\n // Следим за изменениями countryCode в phoneObject\n watch(() => phoneObject.value.countryCode, (newValue) => {\n activeCountryCode.value = newValue;\n });\n\n // Следим за изменениями валидности phoneObject\n watch(() => phoneObject.value.valid, () => {\n emits('validate', phoneObject.value);\n });\n\n // Следим за изменениями отформатированного номера в phoneObject\n watch(() => phoneObject.value.formatted, (newValue) => {\n if (!props.autoFormat || props.customValidate) {\n return;\n }\n emitInput(newValue);\n\n nextTick(() => {\n if (newValue && !props.modelValue) {\n phone.value = newValue;\n }\n });\n });\n\n // Следим за изменениями placeholder в inputOptions\n watch(() => props.inputOptions.placeholder, () => {\n resetPlaceholder();\n });\n\n // Следим за внешними изменениями значения (например, через v-model)\n watch(() => props.modelValue, (newValue, oldValue) => {\n if (!testCharacters()) {\n nextTick(() => {\n phone.value = oldValue;\n onInput();\n });\n } else {\n phone.value = newValue;\n }\n });\n\n // Следим за состоянием открытия/закрытия dropdown\n watch(open, (isDropdownOpened) => {\n if (isDropdownOpened) {\n setDropdownPosition();\n emits('open');\n } else {\n emits('close');\n }\n });\n\n // Methods\n function getCountry() {\n return fetch('https://ip2c.org/s')\n .then((response) => response.text())\n .then((response) => {\n const result = (response || '').toString();\n\n if (!result || result[0] !== '1') {\n throw new Error('unable to fetch the country');\n }\n\n return result.substr(2, 2);\n });\n }\n \n function setCaretPosition(ctrl, pos) {\n // Modern browsers\n if (ctrl.setSelectionRange) {\n ctrl.focus();\n ctrl.setSelectionRange(pos, pos);\n\n // IE8 and below\n } else if (ctrl.createTextRange) {\n const range = ctrl.createTextRange();\n range.collapse(true);\n range.moveEnd('character', pos);\n range.moveStart('character', pos);\n range.select();\n }\n }\n\n function resetPlaceholder() {\n parsedPlaceholder.value = props.inputOptions.placeholder;\n }\n function initializeCountry() {\n return new Promise((resolve) => {\n if (phone.value?.[0] === '+') { resolve(); return; }\n if (props.defaultCountry) { choose(props.defaultCountry); resolve(); return; }\n const fallbackCountry = props.preferredCountries[0] || filteredCountries.value[0];\n if (props.autoDefaultCountry) {\n getCountry()\n .then((res) => { choose(res || activeCountryCode.value); })\n .catch((error) => { console.warn(error); choose(fallbackCountry); })\n .finally(() => { resolve(); });\n } else {\n choose(fallbackCountry);\n resolve();\n }\n });\n }\n\n function getCountries(list = []) {\n return list.map((countryCode) => findCountry(countryCode)).filter(Boolean);\n }\n\n function findCountry(iso = '') {\n return filteredCountries.value.find((country) => country.iso2 === iso.toUpperCase());\n }\n\n function getItemClass(index, iso2) {\n const highlighted = selectedIndex.value === index;\n const lastPreferred = index === props.preferredCountries.length - 1;\n const preferred = props.preferredCountries.some((c) => c.toUpperCase() === iso2);\n return { highlighted, 'last-preferred': lastPreferred, preferred };\n }\n\n function choose(country) {\n let parsedCountry = typeof country === 'string' ? findCountry(country) : country;\n if (!parsedCountry) return;\n \n if (phone.value?.[0] === '+' && parsedCountry.iso2 && phoneObject.value.nationalNumber) {\n activeCountryCode.value = parsedCountry.iso2;\n phone.value = parsePhoneNumberFromString(phoneObject.value.nationalNumber, parsedCountry.iso2).formatInternational();\n return;\n }\n\n if (props.inputOptions?.showDialCode && parsedCountry) {\n phone.value = `+${parsedCountry.dialCode}`;\n return;\n }\n\n activeCountryCode.value = parsedCountry.iso2;\n emitInput(phone.value);\n }\n\n function cleanInvalidCharacters() {\n const currentPhone = phone.value;\n\n if (props.validCharactersOnly) {\n const results = phone.value.match(/[()\\-+0-9\\s]*/g);\n phone.value = results.join('');\n }\n\n if (props.customValidate && props.customValidate instanceof RegExp) {\n const results = phone.value.match(props.customValidate);\n phone.value = results ? results.join('') : '';\n }\n\n if (currentPhone !== phone.value) {\n emitInput(phone.value);\n }\n }\n\n function testCharacters() {\n if (props.validCharactersOnly) {\n const result = /^[()\\-+0-9\\s]*$/.test(phone.value);\n if (!result) return false;\n }\n if (props.customValidate) {\n return testCustomValidate();\n }\n return true;\n }\n\n function testCustomValidate() {\n return props.customValidate instanceof RegExp ? props.customValidate.test(phone.value) : false;\n }\n\n function onInput() {\n input.value.setCustomValidity(phoneObject.valid ? '' : props.invalidMsg);\n\n emitInput(phone.value);\n }\n\n function emitInput(value) {\n emits('update:modelValue', value);\n\n\n\n if (phoneObject.value.valid) { \n emits('change', phoneObject.value.number);\n emits('country', phoneObject.value.number);\n } else {\n emits('country', null);\n }\n }\n\n function onBlur() {\n emits('blur');\n }\n\n function onFocus() {\n setCaretPosition(input.value, phone.value.length);\n emits('focus');\n }\n\n function onEnter() {\n emits('enter');\n }\n\n function onSpace() {\n emits('space');\n }\n\n function focus() {\n input.value.focus();\n }\n\n function toggleDropdown() {\n if (props.disabled) return;\n open.value = !open.value;\n }\n\n function clickedOutside() {\n open.value = false;\n }\n\n function keyboardNav(e) {\n if (e.keyCode === 40) { // down arrow\n e.preventDefault();\n open.value = true;\n selectedIndex.value = selectedIndex.value === null ? 0 : Math.min(sortedCountries.value.length - 1, selectedIndex.value + 1);\n nextTick(() => {\n const selEle = list.value.children[selectedIndex.value];\n if (selEle.offsetTop + selEle.clientHeight > list.value.scrollTop + list.value.clientHeight) {\n list.value.scrollTop = selEle.offsetTop - list.value.clientHeight + selEle.clientHeight;\n }\n });\n } else if (e.keyCode === 38) { // up arrow\n e.preventDefault();\n open.value = true;\n selectedIndex.value = selectedIndex.value === null ? sortedCountries.value.length - 1 : Math.max(0, selectedIndex.value - 1);\n nextTick(() => {\n const selEle = list.value.children[selectedIndex.value];\n if (selEle.offsetTop < list.value.scrollTop) {\n list.value.scrollTop = selEle.offsetTop;\n }\n });\n } else if (e.keyCode === 13) { // enter key\n e.preventDefault();\n if (selectedIndex.value !== null) {\n choose(sortedCountries.value[selectedIndex.value]);\n }\n open.value = !open.value;\n } else { // typing a country's name\n typeToFindInput.value += e.key;\n clearTimeout(typeToFindTimer);\n typeToFindTimer = setTimeout(() => {\n typeToFindInput.value = '';\n }, 700);\n nextTick(() => {\n const typedCountryI = sortedCountries.value.slice(props.preferredCountries.length).findIndex((c) => c.name.toLowerCase().startsWith(typeToFindInput.value));\n if (typedCountryI >= 0) {\n selectedIndex.value = props.preferredCountries.length + typedCountryI;\n const selEle = list.value.children[selectedIndex.value];\n const needToScroll = selEle.offsetTop < list.value.scrollTop || selEle.offsetTop + selEle.clientHeight > list.value.scrollTop + list.value.clientHeight;\n if (needToScroll) {\n list.value.scrollTop = selEle.offsetTop - list.value.clientHeight / 2;\n }\n }\n });\n }\n }\n\n function reset() {\n selectedIndex.value = sortedCountries.value.map(c => c.iso2).indexOf(activeCountryCode.value);\n open.value = false;\n }\n\n function setDropdownPosition() {\n const spaceBelow = window.innerHeight - rootElement.value.getBoundingClientRect().bottom;\n const hasEnoughSpaceBelow = spaceBelow > 200;\n dropdownOpenDirection.value = hasEnoughSpaceBelow ? 'below' : 'above';\n }\n</script>\n\n<style lang=\"scss\">\n .vue3-reactive-tel-input{\n display:flex\n }\n .vue3-reactive-tel-input.disabled .dropdown,.vue3-reactive-tel-input.disabled .selection,.vue3-reactive-tel-input.disabled input{\n cursor:no-drop\n }\n .vti__dropdown{\n display:flex;\n flex-direction:column;\n align-content:center;\n justify-content:center;\n position:relative;\n padding:0.5rem;\n cursor:pointer\n }\n .vti__dropdown.show{\n max-height:300px;\n overflow:scroll\n }\n .vti__dropdown-list{\n z-index:1;\n padding:0;\n margin:0;\n text-align:left;\n list-style:none;\n max-height:200px;\n overflow-y:scroll;\n position:absolute;\n left:-1px;\n background-color:#fff;\n width:fit-content\n }\n .vti__dropdown-list.below{\n top:33px\n }\n .vti__dropdown-list.above{\n top:auto;\n bottom:100%\n }\n .vti__dropdown-arrow{\n transform:scaleY(.5);\n display:inline-block;\n color:#666\n }\n .vti__dropdown-item{\n cursor:pointer;\n padding:4px 15px\n }\n .vti__dropdown-item.last-preferred{\n border-bottom:1px solid #cacaca\n }\n .vti__dropdown-item .vti__flag{\n display:inline-block;\n margin-right:5px\n }\n .vti__input{\n color: inherit;\n border:none;\n border-radius:0 2px 2px 0;\n width:100%;\n outline:0;\n padding-left:7px\n }\n</style>"],"names":["parsePhoneNumberFromString","list"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FieldPhone.vue.js","sources":["../../../../../src/components/FieldPhone/FieldPhone.vue"],"sourcesContent":["<template>\n <div \n :class=\"[\n rootClass, \n classes,\n $attrs.class, \n { 'bg-fourth-nano': validation }, \n { disabled: disabled }\n ]\" \n :style=\"[rootStyle, styles]\" \n ref=\"rootElement\"\n class=\"vue3-reactive-tel-input\"\n >\n <div\n v-click-outside=\"clickedOutside\"\n :class=\"['vti__dropdown', { open: open }]\"\n :style=\"[dropdownStyle]\"\n :tabindex=\"dropdownOptions.tabindex\"\n @keydown.esc=\"reset\"\n class=\"br-solid br-black-transp br-1px radius-thin\"\n >\n <span class=\"flex-nowrap flex flex-v-center p-medium vti__selection\">\n <span v-if=\"dropdownOptions.showFlags\" v-html=\"activeCountryFlag\" class=\"mn-r-nano\" />\n \n <!-- Новый инпут для ввода кода страны -->\n <input\n v-if=\"dropdownOptions.showDialCodeInSelection\"\n v-model=\"dialCodeInput\"\n @input=\"onDialCodeInput\"\n @focus=\"openDropdown\"\n @blur=\"onDialCodeBlur\"\n @keydown=\"keyboardNav\"\n type=\"text\"\n class=\"vti__country-code-input\"\n :placeholder=\"`+${activeCountry?.dialCode || ''}`\"\n :disabled=\"disabled\"\n :size=\"Math.max((dialCodeInput?.length || 0) + 1, 3)\"\n maxlength=\"5\"\n />\n\n </span>\n \n <ul \n ref=\"list\" \n class=\"bs-black radius-small vti__dropdown-list\"\n v-show=\"open\" \n :class=\"dropdownOpenDirection\"\n :style=\"[listStyle]\"\n >\n <li\n v-for=\"(pb, index) in filteredAndSortedCountries\"\n class=\"flex-nowrap flex w-max\"\n :class=\"['vti__dropdown-item', getItemClass(index, pb.iso2)]\"\n :key=\"pb.iso2 + (pb.preferred ? '-preferred' : '')\"\n @click=\"choose(pb)\"\n @mousemove=\"selectedIndex = index\"\n >\n <span v-if=\"dropdownOptions.showFlags\" v-html=\"pb.flag\" class=\"mn-r-thin\"/>\n <strong>{{ pb.name }}</strong>\n <span v-if=\"dropdownOptions.showDialCodeInList\"> +{{ pb.dialCode }} </span>\n </li>\n </ul>\n </div>\n \n <input\n v-model=\"phone\"\n inputmode=\"numeric\" \n pattern=\"\\d*\"\n ref=\"input\"\n :type=\"inputOptions.type\"\n :autocomplete=\"inputOptions.autocomplete\"\n :autofocus=\"inputOptions.autofocus\"\n :class=\"['vti__input', inputOptions.styleClasses, inputClass, Iclasses]\"\n :style=\"[inputStyle, Istyles]\"\n :disabled=\"disabled\"\n :id=\"inputId !== '' ? inputId : inputOptions.id\"\n :maxlength=\"inputOptions.maxlength\"\n :name=\"inputId !== '' ? inputId : inputOptions.name\"\n :placeholder=\"parsedPlaceholder\"\n :readonly=\"inputOptions.readonly\"\n :required=\"inputOptions.required\"\n :tabindex=\"inputOptions.tabindex\"\n @blur=\"onBlur\"\n @focus=\"onFocus\"\n @input=\"onInput\"\n @keyup.enter=\"onEnter\"\n @keyup.space=\"onSpace\"\n />\n <slot></slot>\n </div>\n \n <!-- Validation -->\n <transition name=\"fade\">\n <div v-if=\"validation\" class=\"mn-t-thin mn-b-thin invalid-feedback\">\n * {{validation.message}}\n </div>\n </transition>\n</template>\n\n<script setup>\n import { ref, reactive, watch, computed, onMounted, nextTick } from 'vue';\n import { parsePhoneNumberFromString } from 'libphonenumber-js';\n\n import clickOutside from './click-outside.js';\n import allCountries from './all-countries.js';\n\n let vClickOutside = clickOutside\n\n const props = defineProps({\n modelValue: { type: String, default: '' },\n badClass: { type: [String, Array, Object], default: '' },\n goodClass: { type: [String, Array, Object], default: '' },\n badStyle: { type: [String, Array, Object], default: '' },\n goodStyle: { type: [String, Array, Object], default: '' },\n badInputClass: { type: [String, Array, Object], default: '' },\n goodInputClass: { type: [String, Array, Object], default: '' },\n badInputStyle: { type: [String, Array, Object], default: '' },\n goodInputStyle: { type: [String, Array, Object], default: '' },\n allCountries: { type: Array, default: () => allCountries },\n autoFormat: { type: Boolean, default: true },\n validation: { type: [Boolean, Object], default: false },\n customValidate: { type: [Boolean, RegExp], default: false },\n defaultCountry: { type: String, default: '' },\n disabled: { type: Boolean, default: false },\n autoDefaultCountry: { type: Boolean, default: true },\n ignoredCountries: { type: Array, default: () => [] },\n invalidMsg: { type: String, default: '' },\n mode: { type: String, default: 'auto' },\n onlyCountries: { type: Array, default: () => [] },\n preferredCountries: { type: Array, default: () => [] },\n validCharactersOnly: { type: Boolean, default: false },\n rootClass: { type: [String, Array, Object], default: '' },\n inputClass: { type: [String, Array, Object], default: '' },\n rootStyle: { type: [String, Array, Object], default: '' },\n dropdownStyle: { type: [String, Array, Object], default: '' },\n listStyle: { type: [String, Array, Object], default: '' },\n inputStyle: { type: [String, Array, Object], default: '' },\n inputId: { type: [String, Array, Object], default: '' },\n Placeholder: { type: [String, Object, Function], default: '' },\n dropdownOptions: { \n type: Object, \n default: () => ({\n showDialCodeInList: true,\n showDialCodeInSelection: false,\n showFlags: true,\n tabindex: 0\n })\n },\n inputOptions: { \n type: Object, \n default: () => ({ \n autocomplete: 'on',\n autofocus: false,\n id: '',\n maxlength: 25,\n name: 'telephone',\n placeholder: 'Enter a phone number',\n readonly: false,\n required: false,\n tabindex: 0,\n type: 'tel',\n styleClasses: ''\n })\n },\n });\n\n const emits = defineEmits([\n 'update:modelValue', \n 'change',\n 'validate', \n 'country-changed', \n 'open', \n 'close', \n 'blur', \n 'focus', \n 'enter', \n 'space'\n ]);\n\n // Reactive data\n const phone = ref(props.modelValue || '');\n const activeCountryCode = ref('');\n const dialCodeInput = ref('');\n const dialCodeFilter = ref('');\n const open = ref(false);\n const finishMounted = ref(false);\n const selectedIndex = ref(null);\n const typeToFindInput = ref('');\n const typeToFindTimer = ref(null);\n const dropdownOpenDirection = ref('below');\n const parsedPlaceholder = ref(props.Placeholder !== '' ? props.Placeholder : props.inputOptions.placeholder);\n\n // Element refs\n const rootElement = ref(null);\n const list = ref(null);\n const input = ref(null);\n\n // Lifecycle hooks\n onMounted(() => {\n if (props.modelValue) {\n phone.value = props.modelValue;\n }\n\n cleanInvalidCharacters();\n\n initializeCountry()\n .then(() => {\n if (!phone.value && props.inputOptions?.showDialCode && activeCountryCode.value) {\n phone.value = `+${activeCountryCode.value}`;\n }\n \n // Инициализируем dialCodeInput\n if (activeCountry.value && props.dropdownOptions.showDialCodeInSelection) {\n dialCodeInput.value = `+${activeCountry.value.dialCode}`;\n }\n \n emits('validate', phoneObject.value);\n })\n .catch(console.error)\n .then(() => {\n finishMounted.value = true;\n });\n });\n\n // Computed properties\n const activeCountry = computed(() => {\n return findCountry(activeCountryCode.value);\n });\n\n const activeCountryFlag = computed(() => {\n return activeCountry.value ? activeCountry.value.flag : null;\n });\n\n const parsedMode = computed(() => {\n if (props.mode === 'auto') {\n if (!phone.value || phone.value[0] !== '+') {\n return 'national';\n }\n return 'international';\n }\n if (!['international', 'national'].includes(props.mode)) {\n console.error('Invalid value of prop \"mode\"');\n return 'international';\n }\n return props.mode;\n });\n\n const filteredCountries = computed(() => {\n let countries = props.allCountries;\n\n // Фильтрация по onlyCountries/ignoredCountries\n if (props.onlyCountries && props.onlyCountries.length) {\n countries = countries.filter(({ iso2 }) => \n props.onlyCountries.includes(iso2.toUpperCase())\n );\n } else if (props.ignoredCountries && props.ignoredCountries.length) {\n countries = countries.filter(({ iso2 }) =>\n !props.ignoredCountries.includes(iso2.toUpperCase()) && \n !props.ignoredCountries.includes(iso2.toLowerCase())\n );\n }\n\n // Фильтрация по введенному коду страны\n if (dialCodeFilter.value) {\n const filterValue = dialCodeFilter.value.replace('+', '');\n countries = countries.filter(country => \n country.dialCode.startsWith(filterValue)\n );\n }\n\n return countries;\n });\n\n const filteredAndSortedCountries = computed(() => {\n const preferredCountries = getCountries(props.preferredCountries)\n .filter(country => {\n if (!dialCodeFilter.value) return true;\n const filterValue = dialCodeFilter.value.replace('+', '');\n return country.dialCode.startsWith(filterValue);\n })\n .map(country => ({ ...country, preferred: true }));\n\n return [...preferredCountries, ...filteredCountries.value];\n });\n\n const phoneObject = computed(() => {\n let result = {};\n\n if (phone.value?.[0] === '+') {\n result = parsePhoneNumberFromString(phone.value) || {};\n } else {\n result = parsePhoneNumberFromString(phone.value, activeCountryCode.value) || {};\n }\n\n const { metadata, ...phoneDetails } = result;\n\n let valid = result.isValid?.();\n let formatted = phone.value;\n\n if (valid) {\n formatted = result.format?.(parsedMode.value.toUpperCase(), { nationalPrefix: false });\n }\n\n if (result.country && (props.ignoredCountries.length || props.onlyCountries.length)) {\n if (!findCountry(result.country)) {\n valid = false;\n result = { ...result, country: null };\n }\n }\n\n return {\n ...phoneDetails,\n countryCode: result.country,\n valid,\n country: activeCountry.value,\n formatted,\n };\n });\n\n const classes = computed(() => {\n return phoneObject.value.valid === true ? props.goodClass : \n phoneObject.value.valid === false ? props.badClass : undefined;\n });\n\n const styles = computed(() => {\n return phoneObject.value.valid === true ? props.goodStyle : \n phoneObject.value.valid === false ? props.badStyle : undefined;\n });\n\n const Iclasses = computed(() => {\n return phoneObject.value.valid === true ? props.goodInputClass : \n phoneObject.value.valid === false ? props.badInputClass : undefined;\n });\n\n const Istyles = computed(() => {\n return phoneObject.value.valid === true ? props.goodInputStyle : \n phoneObject.value.valid === false ? props.badInputStyle : undefined;\n });\n\n // Watchers\n watch(activeCountry, (newValue, oldValue) => {\n if (!newValue && oldValue?.iso2) {\n activeCountryCode.value = oldValue.iso2;\n return;\n }\n if (newValue?.iso2) {\n emits('country-changed', newValue);\n resetPlaceholder();\n // Обновляем dialCodeInput при смене страны\n dialCodeInput.value = `+${newValue.dialCode}`;\n }\n });\n\n watch(() => phoneObject.value.countryCode, (newValue) => {\n activeCountryCode.value = newValue;\n });\n\n watch(() => phoneObject.value.valid, () => {\n emits('validate', phoneObject.value);\n });\n\n watch(() => phoneObject.value.formatted, (newValue) => {\n if (!props.autoFormat || props.customValidate) {\n return;\n }\n emitInput(newValue);\n\n nextTick(() => {\n if (newValue && !props.modelValue) {\n phone.value = newValue;\n }\n });\n });\n\n watch(() => props.inputOptions.placeholder, () => {\n resetPlaceholder();\n });\n\n watch(() => props.modelValue, (newValue, oldValue) => {\n if (!testCharacters()) {\n nextTick(() => {\n phone.value = oldValue;\n onInput();\n });\n } else {\n phone.value = newValue;\n }\n });\n\n watch(open, (isDropdownOpened) => {\n if (isDropdownOpened) {\n setDropdownPosition();\n emits('open');\n } else {\n emits('close');\n }\n });\n\n // Methods\n function onDialCodeInput() {\n // Убеждаемся, что символ + всегда есть в начале\n if (!dialCodeInput.value.startsWith('+')) {\n dialCodeInput.value = '+' + dialCodeInput.value.replace(/^\\+*/, '');\n }\n \n // Разрешаем только + и цифры\n dialCodeInput.value = dialCodeInput.value.replace(/[^\\+\\d]/g, '');\n \n // Убеждаемся что + только в начале\n const plusCount = (dialCodeInput.value.match(/\\+/g) || []).length;\n if (plusCount > 1) {\n dialCodeInput.value = '+' + dialCodeInput.value.replace(/\\+/g, '');\n }\n \n dialCodeFilter.value = dialCodeInput.value;\n open.value = true;\n \n // Автовыбор страны если код точно совпадает\n const exactMatch = filteredCountries.value.find(country => \n `+${country.dialCode}` === dialCodeInput.value\n );\n \n if (exactMatch && filteredAndSortedCountries.value.length === 1) {\n choose(exactMatch);\n }\n }\n\n function onDialCodeBlur() {\n setTimeout(() => {\n if (!dialCodeInput.value && activeCountry.value) {\n dialCodeInput.value = `+${activeCountry.value.dialCode}`;\n }\n }, 200);\n }\n\n function openDropdown() {\n if (!props.disabled) {\n open.value = true;\n }\n }\n\n function setCaretPosition(ctrl, pos) {\n if (ctrl.setSelectionRange) {\n ctrl.focus();\n ctrl.setSelectionRange(pos, pos);\n } else if (ctrl.createTextRange) {\n const range = ctrl.createTextRange();\n range.collapse(true);\n range.moveEnd('character', pos);\n range.moveStart('character', pos);\n range.select();\n }\n }\n\n function resetPlaceholder() {\n parsedPlaceholder.value = props.inputOptions.placeholder;\n }\n\n function initializeCountry() {\n return new Promise((resolve) => {\n if (phone.value?.[0] === '+') { \n resolve(); \n return; \n }\n \n if (props.defaultCountry) { \n choose(props.defaultCountry); \n resolve(); \n return; \n }\n \n const fallbackCountry = props.preferredCountries[0] || filteredCountries.value[0];\n \n if (props.autoDefaultCountry) {\n fetch('https://ip2c.org/s')\n .then((response) => response.text())\n .then((response) => {\n const result = (response || '').toString();\n if (!result || result[0] !== '1') {\n throw new Error('unable to fetch the country');\n }\n return result.substr(2, 2);\n })\n .then((res) => { \n choose(res || activeCountryCode.value); \n })\n .catch((error) => { \n console.warn(error); \n choose(fallbackCountry); \n })\n .finally(() => { \n resolve(); \n });\n } else {\n choose(fallbackCountry);\n resolve();\n }\n });\n }\n\n function getCountries(list = []) {\n return list.map((countryCode) => findCountry(countryCode)).filter(Boolean);\n }\n\n function findCountry(iso = '') {\n return filteredCountries.value.find((country) => country.iso2 === iso.toUpperCase());\n }\n\n function getItemClass(index, iso2) {\n const highlighted = selectedIndex.value === index;\n const lastPreferred = index === props.preferredCountries.length - 1;\n const preferred = props.preferredCountries.some((c) => c.toUpperCase() === iso2);\n return { highlighted, 'last-preferred': lastPreferred, preferred };\n }\n\n function choose(country) {\n let parsedCountry = typeof country === 'string' ? findCountry(country) : country;\n if (!parsedCountry) return;\n \n if (phone.value?.[0] === '+' && parsedCountry.iso2 && phoneObject.value.nationalNumber) {\n activeCountryCode.value = parsedCountry.iso2;\n phone.value = parsePhoneNumberFromString(\n phoneObject.value.nationalNumber, \n parsedCountry.iso2\n ).formatInternational();\n } else {\n activeCountryCode.value = parsedCountry.iso2;\n }\n\n dialCodeInput.value = `+${parsedCountry.dialCode}`;\n dialCodeFilter.value = '';\n \n // Закрываем дропдаун\n open.value = false;\n \n // Переводим фокус на основной инпут\n nextTick(() => {\n if (input.value) {\n input.value.focus();\n }\n });\n \n emitInput(phone.value);\n }\n\n function cleanInvalidCharacters() {\n const currentPhone = phone.value;\n\n if (props.validCharactersOnly) {\n const results = phone.value.match(/[()\\-+0-9\\s]*/g);\n phone.value = results.join('');\n }\n\n if (props.customValidate && props.customValidate instanceof RegExp) {\n const results = phone.value.match(props.customValidate);\n phone.value = results ? results.join('') : '';\n }\n\n if (currentPhone !== phone.value) {\n emitInput(phone.value);\n }\n }\n\n function testCharacters() {\n if (props.validCharactersOnly) {\n const result = /^[()\\-+0-9\\s]*$/.test(phone.value);\n if (!result) return false;\n }\n if (props.customValidate) {\n return testCustomValidate();\n }\n return true;\n }\n\n function testCustomValidate() {\n return props.customValidate instanceof RegExp ? props.customValidate.test(phone.value) : false;\n }\n\n function onInput() {\n input.value.setCustomValidity(phoneObject.valid ? '' : props.invalidMsg);\n emitInput(phone.value);\n }\n\n function emitInput(value) {\n emits('update:modelValue', value);\n\n if (phoneObject.value.valid) { \n emits('change', phoneObject.value.number);\n emits('country', phoneObject.value.number);\n } else {\n emits('country', null);\n }\n }\n\n function onBlur() {\n emits('blur');\n }\n\n function onFocus() {\n setCaretPosition(input.value, phone.value.length);\n emits('focus');\n }\n\n function onEnter() {\n emits('enter');\n }\n\n function onSpace() {\n emits('space');\n }\n\n function focus() {\n input.value.focus();\n }\n\n function toggleDropdown() {\n if (props.disabled) return;\n open.value = !open.value;\n }\n\n function clickedOutside() {\n open.value = false;\n dialCodeFilter.value = '';\n }\n\n function keyboardNav(e) {\n if (e.keyCode === 40) { // down arrow\n e.preventDefault();\n open.value = true;\n selectedIndex.value = selectedIndex.value === null ? 0 : \n Math.min(filteredAndSortedCountries.value.length - 1, selectedIndex.value + 1);\n nextTick(() => {\n const selEle = list.value.children[selectedIndex.value];\n if (selEle.offsetTop + selEle.clientHeight > list.value.scrollTop + list.value.clientHeight) {\n list.value.scrollTop = selEle.offsetTop - list.value.clientHeight + selEle.clientHeight;\n }\n });\n } else if (e.keyCode === 38) { // up arrow\n e.preventDefault();\n open.value = true;\n selectedIndex.value = selectedIndex.value === null ? \n filteredAndSortedCountries.value.length - 1 : Math.max(0, selectedIndex.value - 1);\n nextTick(() => {\n const selEle = list.value.children[selectedIndex.value];\n if (selEle.offsetTop < list.value.scrollTop) {\n list.value.scrollTop = selEle.offsetTop;\n }\n });\n } else if (e.keyCode === 13) { // enter key\n e.preventDefault();\n if (selectedIndex.value !== null) {\n choose(filteredAndSortedCountries.value[selectedIndex.value]);\n }\n } else { \n // Поиск по названию страны\n if (e.target.classList.contains('vti__country-code-input')) return;\n \n typeToFindInput.value += e.key;\n clearTimeout(typeToFindTimer);\n typeToFindTimer = setTimeout(() => {\n typeToFindInput.value = '';\n }, 700);\n \n nextTick(() => {\n const typedCountryI = filteredAndSortedCountries.value\n .slice(props.preferredCountries.length)\n .findIndex((c) => c.name.toLowerCase().startsWith(typeToFindInput.value));\n if (typedCountryI >= 0) {\n selectedIndex.value = props.preferredCountries.length + typedCountryI;\n const selEle = list.value.children[selectedIndex.value];\n const needToScroll = selEle.offsetTop < list.value.scrollTop || \n selEle.offsetTop + selEle.clientHeight > list.value.scrollTop + list.value.clientHeight;\n if (needToScroll) {\n list.value.scrollTop = selEle.offsetTop - list.value.clientHeight / 2;\n }\n }\n });\n }\n }\n\n function reset() {\n selectedIndex.value = filteredAndSortedCountries.value\n .map(c => c.iso2).indexOf(activeCountryCode.value);\n open.value = false;\n }\n\n function setDropdownPosition() {\n const spaceBelow = window.innerHeight - rootElement.value.getBoundingClientRect().bottom;\n const hasEnoughSpaceBelow = spaceBelow > 200;\n dropdownOpenDirection.value = hasEnoughSpaceBelow ? 'below' : 'above';\n }\n</script>\n\n<style lang=\"scss\">\n.vue3-reactive-tel-input {\n display: flex;\n}\n\n.vue3-reactive-tel-input.disabled .dropdown,\n.vue3-reactive-tel-input.disabled .selection,\n.vue3-reactive-tel-input.disabled input {\n cursor: no-drop;\n}\n\n.vti__dropdown {\n display: flex;\n flex-direction: column;\n align-content: center;\n justify-content: center;\n position: relative;\n padding: 0.5rem;\n cursor: pointer;\n}\n\n.vti__dropdown.show {\n max-height: 300px;\n overflow: scroll;\n}\n\n.vti__dropdown-list {\n z-index: 1;\n padding: 0;\n margin: 0;\n text-align: left;\n list-style: none;\n max-height: 200px;\n overflow-y: scroll;\n position: absolute;\n left: -1px;\n background-color: #fff;\n width: fit-content;\n}\n\n.vti__dropdown-list.below {\n top: 33px;\n}\n\n.vti__dropdown-list.above {\n top: auto;\n bottom: 100%;\n}\n\n.vti__dropdown-item {\n cursor: pointer;\n padding: 4px 15px;\n}\n\n.vti__dropdown-item.highlighted {\n background-color: #f0f0f0;\n}\n\n.vti__dropdown-item.last-preferred {\n border-bottom: 1px solid #cacaca;\n}\n\n.vti__input {\n color: inherit;\n border: none;\n border-radius: 0 2px 2px 0;\n width: 100%;\n outline: 0;\n padding-left: 7px;\n}\n\n.vti__country-code-input {\n max-width: 70px;\n border: none;\n outline: none;\n background: transparent;\n font-size: inherit;\n color: inherit;\n text-align: center;\n}\n</style>"],"names":["parsePhoneNumberFromString","list"],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const vueRouter = require("vue-router");
|
|
5
5
|
const IconCross = require("../../modules/icons/navigation/IconCross.vue.cjs");
|
|
6
|
-
;/* empty css
|
|
6
|
+
;/* empty css */
|
|
7
7
|
const _hoisted_1 = {
|
|
8
8
|
key: 0,
|
|
9
9
|
class: "mn-b-medium"
|
|
@@ -101,4 +101,4 @@ const _sfc_main = {
|
|
|
101
101
|
}
|
|
102
102
|
};
|
|
103
103
|
exports.default = _sfc_main;
|
|
104
|
-
//# sourceMappingURL=Popup.
|
|
104
|
+
//# sourceMappingURL=Popup.vue.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popup.
|
|
1
|
+
{"version":3,"file":"Popup.vue.cjs","sources":["../../../../../src/components/Popup/Popup.vue"],"sourcesContent":["<template>\n <transition name=\"moveFromTop\">\n <teleport to=\"body\" v-if=\"isPopupOpen\">\n <div v-if=\"isPopupOpen\" key=\"popup-content\" class=\"z-index-6 popup-wrapper\"\n :class=\"{\n 'pd-t-extra': MOBILE_APP === 'ios',\n [alignClass]: true\n }\"\n >\n <transition name=\"TransitionTranslateY\" mode=\"out-in\">\n <section class=\"h-max-100 o-y-scroll pos-relative z-index-4\" v-bind=\"$attrs\" :class=\"$attrs.class\">\n <h4 v-if=\"title\" class=\"mn-b-medium\">{{title}}</h4>\n <IconCross :fill=\"'rgb(var(--white))'\" @click=\"closePopup()\" class=\"cursor-pointer bg-second pd-micro radius-extra pos-absolute pos-t-0 pos-r-0 mn-t-medium mn-r-medium hover-scale-1 i-medium z-index-5\"/>\n <slot></slot>\n </section> \n </transition>\n\n <div \n @click=\"closePopup()\" \n :class=\"{'active':isPopupOpen === true}\" \n class=\"color-overlay z-index-3\">\n </div>\n </div>\n </teleport>\n </transition>\n</template>\n\n<script setup>\nimport { computed, watch, onMounted, ref, nextTick } from 'vue';\n// Import libs\nimport { useRoute, useRouter } from 'vue-router'\n// import { useI18n } from 'vue-i18n'\n// Icons\nimport IconCross from '@martyrs/src/modules/icons/navigation/IconCross.vue';\n// Define props\nconst props = defineProps({\n isPopupOpen: {\n type: Boolean,\n default: false\n },\n style: String,\n title: String,\n align: {\n type: String,\n default: 'center center',\n validator: (value) => {\n const validAlignments = [\n 'top left', 'top center', 'top right',\n 'center left', 'center center', 'center right',\n 'bottom left', 'bottom center', 'bottom right'\n ];\n return validAlignments.includes(value);\n }\n }\n});\n\nconst emits = defineEmits(['close-popup'])\n\n// Compute the alignment class from the align prop\nconst alignClass = computed(() => {\n return `align-${props.align.replace(/\\s+/g, '-')}`;\n});\n\nfunction closePopup() {\n emits(\"close-popup\");\n} \n\nwatch(() => props.isPopupOpen, (newVal) => {\n if (newVal) {\n document.body.classList.add('no-scroll');\n } else {\n document.body.classList.remove('no-scroll');\n }\n});\n\n// Accessing router and store\nconst route = useRoute()\nconst router = useRouter()\n// Localization\nconst text = {\n messages: {\n en: {},\n ru: {}\n }\n}\n// const { t } = useI18n(text)\n</script>\n\n<style lang=\"scss\">\n .no-scroll {\n overflow: hidden;\n\n #view {\n overflow: hidden;\n }\n }\n\n .popup-wrapper {\n display: flex;\n position: fixed;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n z-index: 40;\n\n /* Default alignment - center center */\n &.align-center-center {\n align-items: center;\n justify-content: center;\n }\n\n /* Top alignments */\n &.align-top-left {\n align-items: flex-start;\n justify-content: flex-start;\n }\n \n &.align-top-center {\n align-items: flex-start;\n justify-content: center;\n }\n \n &.align-top-right {\n align-items: flex-start;\n justify-content: flex-end;\n }\n\n /* Center alignments */\n &.align-center-left {\n align-items: center;\n justify-content: flex-start;\n }\n \n &.align-center-right {\n align-items: center;\n justify-content: flex-end;\n }\n\n /* Bottom alignments */\n &.align-bottom-left {\n align-items: flex-end;\n justify-content: flex-start;\n }\n \n &.align-bottom-center {\n align-items: flex-end;\n justify-content: center;\n }\n \n &.align-bottom-right {\n align-items: flex-end;\n justify-content: flex-end;\n }\n\n .popup {\n position: absolute;\n height: auto;\n padding: 2rem;\n min-width: 24rem;\n border-radius: 2rem;\n overflow: hidden;\n color: white;\n background: black;\n z-index: 40;\n }\n }\n\n .color-overlay {\n display: block;\n position: fixed;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background: rgba(0,0,0,0.0);\n pointer-events: none;\n transform: scale(1.5);\n transition: all 0.5s cubic-bezier(.31,.79,.24,.92);\n \n &.active {\n background: rgba(#000,0.25);\n pointer-events: all;\n }\n }\n</style>"],"names":["computed","watch","useRoute","useRouter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,UAAM,QAAQ;AAqBd,UAAM,QAAQ;AAGd,UAAM,aAAaA,IAAQ,SAAC,MAAM;AAChC,aAAO,SAAS,MAAM,MAAM,QAAQ,QAAQ,GAAG,CAAC;AAAA,IAClD,CAAC;AAED,aAAS,aAAa;AACpB,YAAM,aAAa;AAAA,IACrB;AAEAC,QAAK,MAAC,MAAM,MAAM,aAAa,CAAC,WAAW;AACzC,UAAI,QAAQ;AACV,iBAAS,KAAK,UAAU,IAAI,WAAW;AAAA,MAC3C,OAAS;AACL,iBAAS,KAAK,UAAU,OAAO,WAAW;AAAA,MAC9C;AAAA,IACA,CAAC;AAGaC,cAAQ,SAAA;AACPC,cAAS,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { computed, watch, createBlock, openBlock, Transition, withCtx, createCommentVNode, Teleport, createElementBlock, normalizeClass, createVNode, createElementVNode, mergeProps, renderSlot, toDisplayString } from "vue";
|
|
2
2
|
import { useRoute, useRouter } from "vue-router";
|
|
3
3
|
import _sfc_main$1 from "../../modules/icons/navigation/IconCross.vue.js";
|
|
4
|
-
/* empty css
|
|
4
|
+
/* empty css */
|
|
5
5
|
const _hoisted_1 = {
|
|
6
6
|
key: 0,
|
|
7
7
|
class: "mn-b-medium"
|
|
@@ -101,4 +101,4 @@ const _sfc_main = {
|
|
|
101
101
|
export {
|
|
102
102
|
_sfc_main as default
|
|
103
103
|
};
|
|
104
|
-
//# sourceMappingURL=Popup.
|
|
104
|
+
//# sourceMappingURL=Popup.vue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popup.vue.js","sources":["../../../../../src/components/Popup/Popup.vue"],"sourcesContent":["<template>\n <transition name=\"moveFromTop\">\n <teleport to=\"body\" v-if=\"isPopupOpen\">\n <div v-if=\"isPopupOpen\" key=\"popup-content\" class=\"z-index-6 popup-wrapper\"\n :class=\"{\n 'pd-t-extra': MOBILE_APP === 'ios',\n [alignClass]: true\n }\"\n >\n <transition name=\"TransitionTranslateY\" mode=\"out-in\">\n <section class=\"h-max-100 o-y-scroll pos-relative z-index-4\" v-bind=\"$attrs\" :class=\"$attrs.class\">\n <h4 v-if=\"title\" class=\"mn-b-medium\">{{title}}</h4>\n <IconCross :fill=\"'rgb(var(--white))'\" @click=\"closePopup()\" class=\"cursor-pointer bg-second pd-micro radius-extra pos-absolute pos-t-0 pos-r-0 mn-t-medium mn-r-medium hover-scale-1 i-medium z-index-5\"/>\n <slot></slot>\n </section> \n </transition>\n\n <div \n @click=\"closePopup()\" \n :class=\"{'active':isPopupOpen === true}\" \n class=\"color-overlay z-index-3\">\n </div>\n </div>\n </teleport>\n </transition>\n</template>\n\n<script setup>\nimport { computed, watch, onMounted, ref, nextTick } from 'vue';\n// Import libs\nimport { useRoute, useRouter } from 'vue-router'\n// import { useI18n } from 'vue-i18n'\n// Icons\nimport IconCross from '@martyrs/src/modules/icons/navigation/IconCross.vue';\n// Define props\nconst props = defineProps({\n isPopupOpen: {\n type: Boolean,\n default: false\n },\n style: String,\n title: String,\n align: {\n type: String,\n default: 'center center',\n validator: (value) => {\n const validAlignments = [\n 'top left', 'top center', 'top right',\n 'center left', 'center center', 'center right',\n 'bottom left', 'bottom center', 'bottom right'\n ];\n return validAlignments.includes(value);\n }\n }\n});\n\nconst emits = defineEmits(['close-popup'])\n\n// Compute the alignment class from the align prop\nconst alignClass = computed(() => {\n return `align-${props.align.replace(/\\s+/g, '-')}`;\n});\n\nfunction closePopup() {\n emits(\"close-popup\");\n} \n\nwatch(() => props.isPopupOpen, (newVal) => {\n if (newVal) {\n document.body.classList.add('no-scroll');\n } else {\n document.body.classList.remove('no-scroll');\n }\n});\n\n// Accessing router and store\nconst route = useRoute()\nconst router = useRouter()\n// Localization\nconst text = {\n messages: {\n en: {},\n ru: {}\n }\n}\n// const { t } = useI18n(text)\n</script>\n\n<style lang=\"scss\">\n .no-scroll {\n overflow: hidden;\n\n #view {\n overflow: hidden;\n }\n }\n\n .popup-wrapper {\n display: flex;\n position: fixed;\n width: 100%;\n height: 100%;\n left: 0;\n top: 0;\n z-index: 40;\n\n /* Default alignment - center center */\n &.align-center-center {\n align-items: center;\n justify-content: center;\n }\n\n /* Top alignments */\n &.align-top-left {\n align-items: flex-start;\n justify-content: flex-start;\n }\n \n &.align-top-center {\n align-items: flex-start;\n justify-content: center;\n }\n \n &.align-top-right {\n align-items: flex-start;\n justify-content: flex-end;\n }\n\n /* Center alignments */\n &.align-center-left {\n align-items: center;\n justify-content: flex-start;\n }\n \n &.align-center-right {\n align-items: center;\n justify-content: flex-end;\n }\n\n /* Bottom alignments */\n &.align-bottom-left {\n align-items: flex-end;\n justify-content: flex-start;\n }\n \n &.align-bottom-center {\n align-items: flex-end;\n justify-content: center;\n }\n \n &.align-bottom-right {\n align-items: flex-end;\n justify-content: flex-end;\n }\n\n .popup {\n position: absolute;\n height: auto;\n padding: 2rem;\n min-width: 24rem;\n border-radius: 2rem;\n overflow: hidden;\n color: white;\n background: black;\n z-index: 40;\n }\n }\n\n .color-overlay {\n display: block;\n position: fixed;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n background: rgba(0,0,0,0.0);\n pointer-events: none;\n transform: scale(1.5);\n transition: all 0.5s cubic-bezier(.31,.79,.24,.92);\n \n &.active {\n background: rgba(#000,0.25);\n pointer-events: all;\n }\n }\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA,UAAM,QAAQ;AAqBd,UAAM,QAAQ;AAGd,UAAM,aAAa,SAAS,MAAM;AAChC,aAAO,SAAS,MAAM,MAAM,QAAQ,QAAQ,GAAG,CAAC;AAAA,IAClD,CAAC;AAED,aAAS,aAAa;AACpB,YAAM,aAAa;AAAA,IACrB;AAEA,UAAM,MAAM,MAAM,aAAa,CAAC,WAAW;AACzC,UAAI,QAAQ;AACV,iBAAS,KAAK,UAAU,IAAI,WAAW;AAAA,MAC3C,OAAS;AACL,iBAAS,KAAK,UAAU,OAAO,WAAW;AAAA,MAC9C;AAAA,IACA,CAAC;AAGa,aAAQ;AACP,cAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
|
+
const vueI18n = require("vue-i18n");
|
|
5
|
+
const IconInfo = require("../../modules/icons/navigation/IconInfo.vue.cjs");
|
|
4
6
|
const IconCross = require("../../modules/icons/navigation/IconCross.vue.cjs");
|
|
5
7
|
;/* empty css */
|
|
6
8
|
const _hoisted_1 = { class: "pd-small error-wrapper" };
|
|
7
|
-
const _hoisted_2 = { class: "flex-nowrap flex radius-small pd-small t-white bg-fourth" };
|
|
9
|
+
const _hoisted_2 = { class: "flex-nowrap flex-v-center flex radius-small pd-small t-white bg-fourth" };
|
|
8
10
|
const _hoisted_3 = { class: "w-100" };
|
|
9
11
|
const _sfc_main = {
|
|
10
12
|
__name: "Status",
|
|
@@ -16,6 +18,9 @@ const _sfc_main = {
|
|
|
16
18
|
},
|
|
17
19
|
emits: "close",
|
|
18
20
|
setup(__props, { emit: __emit }) {
|
|
21
|
+
const { t, te } = vueI18n.useI18n({
|
|
22
|
+
useScope: "global"
|
|
23
|
+
});
|
|
19
24
|
const emits = __emit;
|
|
20
25
|
function closeError() {
|
|
21
26
|
emits("close");
|
|
@@ -23,10 +28,11 @@ const _sfc_main = {
|
|
|
23
28
|
return (_ctx, _cache) => {
|
|
24
29
|
return vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
|
|
25
30
|
vue.createElementVNode("div", _hoisted_2, [
|
|
26
|
-
vue.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
31
|
+
vue.createVNode(IconInfo.default, {
|
|
32
|
+
fill: "rgb(var(--white))",
|
|
33
|
+
class: "t-transp i-medium mn-r-thin z-index-5"
|
|
34
|
+
}),
|
|
35
|
+
vue.createElementVNode("p", _hoisted_3, vue.toDisplayString(vue.unref(te)(`globals.errors.${__props.data.message}`) ? vue.unref(t)(`globals.errors.${__props.data.message}`) : __props.data.message), 1),
|
|
30
36
|
vue.createVNode(IconCross.default, {
|
|
31
37
|
onClick: _cache[0] || (_cache[0] = ($event) => closeError()),
|
|
32
38
|
class: "cursor-pointer hover-scale-1 i-regular z-index-5"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Status.vue.cjs","sources":["../../../../../src/components/Status/Status.vue"],"sourcesContent":["<template>\n\t<div class=\"pd-small error-wrapper\">\n\t\t<div class=\"\n\t\t\tflex-nowrap flex\n\t\t\tradius-small\n\t\t\tpd-small\n\t\t\tt-white \n\t\t\tbg-fourth\n\t\t\">\n\t\t\t<
|
|
1
|
+
{"version":3,"file":"Status.vue.cjs","sources":["../../../../../src/components/Status/Status.vue"],"sourcesContent":["<template>\n\t<div class=\"pd-small error-wrapper\">\n\t\t<div class=\"\n\t\t\tflex-nowrap flex-v-center flex\n\t\t\tradius-small\n\t\t\tpd-small\n\t\t\tt-white \n\t\t\tbg-fourth\n\t\t\">\n\t\t\t<IconInfo fill=\"rgb(var(--white))\" class=\"t-transp i-medium mn-r-thin z-index-5\"/>\n\t\t\t<p class=\"w-100\">\n\t\t\t\t{{te(`globals.errors.${data.message}`) ? t(`globals.errors.${data.message}`) : data.message}}\n\t\t\t</p>\n\t\t\t<IconCross @click=\"closeError()\" class=\"cursor-pointer hover-scale-1 i-regular z-index-5\"/>\n\t\t</div>\n\t</div>\n</template>\n\n\n<script setup=\"props\">\n\timport { computed } from 'vue'\n\timport { useI18n } from 'vue-i18n'\n\n\timport IconInfo from '@martyrs/src/modules/icons/navigation/IconInfo.vue';\n\timport IconCross from '@martyrs/src/modules/icons/navigation/IconCross.vue';\n\n\tconst { t, te } = useI18n({\n\t\tuseScope: 'global',\n\t})\n\n\tconst emits = defineEmits('close')\n\tconst props = defineProps({\n\t status: String,\n\t message: String,\n\t show: Boolean,\n\t data: Object\n\t})\n\n\tfunction closeError () {\n\t\temits('close')\n\t} \n</script>\n\n<style lang=\"scss\">\n\t.error-wrapper {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n</style>\n\n\n"],"names":["useI18n"],"mappings":";;;;;;;;;;;;;;;;;;;;AA0BC,UAAM,EAAE,GAAG,GAAI,IAAGA,gBAAQ;AAAA,MACzB,UAAU;AAAA,IACV,CAAA;AAED,UAAM,QAAQ;AAQd,aAAS,aAAc;AACtB,YAAM,OAAO;AAAA,IACb;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { createElementBlock, openBlock, createElementVNode, createVNode,
|
|
2
|
-
import
|
|
1
|
+
import { createElementBlock, openBlock, createElementVNode, createVNode, toDisplayString, unref } from "vue";
|
|
2
|
+
import { useI18n } from "vue-i18n";
|
|
3
|
+
import _sfc_main$1 from "../../modules/icons/navigation/IconInfo.vue.js";
|
|
4
|
+
import _sfc_main$2 from "../../modules/icons/navigation/IconCross.vue.js";
|
|
3
5
|
/* empty css */
|
|
4
6
|
const _hoisted_1 = { class: "pd-small error-wrapper" };
|
|
5
|
-
const _hoisted_2 = { class: "flex-nowrap flex radius-small pd-small t-white bg-fourth" };
|
|
7
|
+
const _hoisted_2 = { class: "flex-nowrap flex-v-center flex radius-small pd-small t-white bg-fourth" };
|
|
6
8
|
const _hoisted_3 = { class: "w-100" };
|
|
7
9
|
const _sfc_main = {
|
|
8
10
|
__name: "Status",
|
|
@@ -14,6 +16,9 @@ const _sfc_main = {
|
|
|
14
16
|
},
|
|
15
17
|
emits: "close",
|
|
16
18
|
setup(__props, { emit: __emit }) {
|
|
19
|
+
const { t, te } = useI18n({
|
|
20
|
+
useScope: "global"
|
|
21
|
+
});
|
|
17
22
|
const emits = __emit;
|
|
18
23
|
function closeError() {
|
|
19
24
|
emits("close");
|
|
@@ -21,11 +26,12 @@ const _sfc_main = {
|
|
|
21
26
|
return (_ctx, _cache) => {
|
|
22
27
|
return openBlock(), createElementBlock("div", _hoisted_1, [
|
|
23
28
|
createElementVNode("div", _hoisted_2, [
|
|
24
|
-
createElementVNode("p", _hoisted_3, [
|
|
25
|
-
createTextVNode(toDisplayString(__props.data.message) + " ", 1),
|
|
26
|
-
_cache[1] || (_cache[1] = createElementVNode("br", null, null, -1))
|
|
27
|
-
]),
|
|
28
29
|
createVNode(_sfc_main$1, {
|
|
30
|
+
fill: "rgb(var(--white))",
|
|
31
|
+
class: "t-transp i-medium mn-r-thin z-index-5"
|
|
32
|
+
}),
|
|
33
|
+
createElementVNode("p", _hoisted_3, toDisplayString(unref(te)(`globals.errors.${__props.data.message}`) ? unref(t)(`globals.errors.${__props.data.message}`) : __props.data.message), 1),
|
|
34
|
+
createVNode(_sfc_main$2, {
|
|
29
35
|
onClick: _cache[0] || (_cache[0] = ($event) => closeError()),
|
|
30
36
|
class: "cursor-pointer hover-scale-1 i-regular z-index-5"
|
|
31
37
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Status.vue.js","sources":["../../../../../src/components/Status/Status.vue"],"sourcesContent":["<template>\n\t<div class=\"pd-small error-wrapper\">\n\t\t<div class=\"\n\t\t\tflex-nowrap flex\n\t\t\tradius-small\n\t\t\tpd-small\n\t\t\tt-white \n\t\t\tbg-fourth\n\t\t\">\n\t\t\t<
|
|
1
|
+
{"version":3,"file":"Status.vue.js","sources":["../../../../../src/components/Status/Status.vue"],"sourcesContent":["<template>\n\t<div class=\"pd-small error-wrapper\">\n\t\t<div class=\"\n\t\t\tflex-nowrap flex-v-center flex\n\t\t\tradius-small\n\t\t\tpd-small\n\t\t\tt-white \n\t\t\tbg-fourth\n\t\t\">\n\t\t\t<IconInfo fill=\"rgb(var(--white))\" class=\"t-transp i-medium mn-r-thin z-index-5\"/>\n\t\t\t<p class=\"w-100\">\n\t\t\t\t{{te(`globals.errors.${data.message}`) ? t(`globals.errors.${data.message}`) : data.message}}\n\t\t\t</p>\n\t\t\t<IconCross @click=\"closeError()\" class=\"cursor-pointer hover-scale-1 i-regular z-index-5\"/>\n\t\t</div>\n\t</div>\n</template>\n\n\n<script setup=\"props\">\n\timport { computed } from 'vue'\n\timport { useI18n } from 'vue-i18n'\n\n\timport IconInfo from '@martyrs/src/modules/icons/navigation/IconInfo.vue';\n\timport IconCross from '@martyrs/src/modules/icons/navigation/IconCross.vue';\n\n\tconst { t, te } = useI18n({\n\t\tuseScope: 'global',\n\t})\n\n\tconst emits = defineEmits('close')\n\tconst props = defineProps({\n\t status: String,\n\t message: String,\n\t show: Boolean,\n\t data: Object\n\t})\n\n\tfunction closeError () {\n\t\temits('close')\n\t} \n</script>\n\n<style lang=\"scss\">\n\t.error-wrapper {\n\t\tposition: absolute;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n</style>\n\n\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AA0BC,UAAM,EAAE,GAAG,GAAI,IAAG,QAAQ;AAAA,MACzB,UAAU;AAAA,IACV,CAAA;AAED,UAAM,QAAQ;AAQd,aAAS,aAAc;AACtB,YAAM,OAAO;AAAA,IACb;;;;;;;;;;;;;;;;;;"}
|
|
@@ -3,12 +3,12 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
;/* empty css */
|
|
5
5
|
;/* empty css */
|
|
6
|
-
;/* empty css
|
|
7
|
-
require("vue
|
|
8
|
-
;/* empty css */
|
|
6
|
+
;/* empty css */
|
|
7
|
+
const SliderFeatures = require("../sections/SliderFeatures.vue.cjs");
|
|
9
8
|
const vueRouter = require("vue-router");
|
|
10
9
|
require("../../store/auth.cjs");
|
|
11
10
|
const _hoisted_1 = { class: "cols-2-1_2 gap-small pd-small" };
|
|
11
|
+
const _hoisted_2 = { class: "w-100 desktop-only o-hidden radius-big bg-grad-main" };
|
|
12
12
|
const _sfc_main = {
|
|
13
13
|
__name: "Auth",
|
|
14
14
|
setup(__props) {
|
|
@@ -39,7 +39,9 @@ const _sfc_main = {
|
|
|
39
39
|
]),
|
|
40
40
|
_: 1
|
|
41
41
|
}),
|
|
42
|
-
|
|
42
|
+
vue.createElementVNode("section", _hoisted_2, [
|
|
43
|
+
vue.createVNode(SliderFeatures.default)
|
|
44
|
+
])
|
|
43
45
|
]);
|
|
44
46
|
};
|
|
45
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Auth.vue.cjs","sources":["../../../../../../../../src/modules/auth/views/components/layouts/Auth.vue"],"sourcesContent":["<template>\n <div \n \tclass=\"cols-2-1_2 gap-small pd-small\"\n >\n\n <router-view\n \tclass=\"pd-big mobile:pd-medium w-m-66r t-center\" \n \tv-slot=\"{ Component, route }\"\n >\n <transition \n \tname=\"scaleIn\" mode=\"out-in\"\n >\n <component \n \tref=\"page\" \n \t:key=\"route.path\" \n \t:localPosition=\"localPosition\" \n \t:is=\"Component\" \n />\n </transition>\n </router-view>\n\n <section class=\"w-100 desktop-only o-hidden radius-big bg-grad-main\">\n
|
|
1
|
+
{"version":3,"file":"Auth.vue.cjs","sources":["../../../../../../../../src/modules/auth/views/components/layouts/Auth.vue"],"sourcesContent":["<template>\n <div \n \tclass=\"cols-2-1_2 gap-small pd-small\"\n >\n\n <router-view\n \tclass=\"pd-big mobile:pd-medium w-m-66r t-center\" \n \tv-slot=\"{ Component, route }\"\n >\n <transition \n \tname=\"scaleIn\" mode=\"out-in\"\n >\n <component \n \tref=\"page\" \n \t:key=\"route.path\" \n \t:localPosition=\"localPosition\" \n \t:is=\"Component\" \n />\n </transition>\n </router-view>\n\n <section class=\"w-100 desktop-only o-hidden radius-big bg-grad-main\">\n <SliderFeatures/> \n </section>\n </div>\n</template>\n\n<script setup>\n// Import components\nimport Tab from '@martyrs/src/components/Tab/Tab.vue'\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\n// Import blocks\nimport SliderFeatures from '@martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue'\n// Import libs\nimport { computed, onMounted, ref } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\n// Import state\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n// Import validation\nimport * as inputsValidation from '@martyrs/src/modules/auth/views/validations/inputs.validation'\n\nconst phoneValidation = ref(null)\nconst passswordValidation = ref(null)\nconst emailValidation = ref(null)\n// Accessing router\nconst route = useRoute()\nconst router = useRouter()\n// Accessing state\nconst tabAuth = ref('email')\n// Methods\nasync function onSubmit() {\n try {\n await inputsValidation.validateInputs(\n emailValidation,\n inputsValidation.validateEmail,\n auth.state.user.email,\n 'Некорректный email'\n )\n await inputsValidation.validateInputs(\n passswordValidation,\n inputsValidation.validatePassword,\n auth.state.user.password,\n 'Некорректный пароль'\n )\n } catch (error) {\n throw new Error\n }\n await auth.actions.login(auth.state.user, tabAuth.value)\n}\n\nfunction redirectTo() {\n router.push({ name: 'Account' })\n}\n</script>"],"names":["ref","useRoute","useRouter"],"mappings":";;;;;;;;;;;;;;AA0CwBA,QAAAA,IAAI,IAAI;AACJA,QAAAA,IAAI,IAAI;AACZA,QAAAA,IAAI,IAAI;AAElBC,cAAQ,SAAA;AACPC,cAAS,UAAA;AAERF,QAAAA,IAAI,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { ref, resolveComponent, createElementBlock, openBlock, createVNode, createElementVNode, withCtx, Transition, createBlock, resolveDynamicComponent } from "vue";
|
|
2
2
|
/* empty css */
|
|
3
3
|
/* empty css */
|
|
4
|
-
/* empty css
|
|
5
|
-
import "vue
|
|
6
|
-
/* empty css */
|
|
4
|
+
/* empty css */
|
|
5
|
+
import _sfc_main$1 from "../sections/SliderFeatures.vue.js";
|
|
7
6
|
import { useRoute, useRouter } from "vue-router";
|
|
8
7
|
import "../../store/auth.js";
|
|
9
8
|
const _hoisted_1 = { class: "cols-2-1_2 gap-small pd-small" };
|
|
9
|
+
const _hoisted_2 = { class: "w-100 desktop-only o-hidden radius-big bg-grad-main" };
|
|
10
10
|
const _sfc_main = {
|
|
11
11
|
__name: "Auth",
|
|
12
12
|
setup(__props) {
|
|
@@ -37,7 +37,9 @@ const _sfc_main = {
|
|
|
37
37
|
]),
|
|
38
38
|
_: 1
|
|
39
39
|
}),
|
|
40
|
-
|
|
40
|
+
createElementVNode("section", _hoisted_2, [
|
|
41
|
+
createVNode(_sfc_main$1)
|
|
42
|
+
])
|
|
41
43
|
]);
|
|
42
44
|
};
|
|
43
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Auth.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/layouts/Auth.vue"],"sourcesContent":["<template>\n <div \n \tclass=\"cols-2-1_2 gap-small pd-small\"\n >\n\n <router-view\n \tclass=\"pd-big mobile:pd-medium w-m-66r t-center\" \n \tv-slot=\"{ Component, route }\"\n >\n <transition \n \tname=\"scaleIn\" mode=\"out-in\"\n >\n <component \n \tref=\"page\" \n \t:key=\"route.path\" \n \t:localPosition=\"localPosition\" \n \t:is=\"Component\" \n />\n </transition>\n </router-view>\n\n <section class=\"w-100 desktop-only o-hidden radius-big bg-grad-main\">\n
|
|
1
|
+
{"version":3,"file":"Auth.vue.js","sources":["../../../../../../../../src/modules/auth/views/components/layouts/Auth.vue"],"sourcesContent":["<template>\n <div \n \tclass=\"cols-2-1_2 gap-small pd-small\"\n >\n\n <router-view\n \tclass=\"pd-big mobile:pd-medium w-m-66r t-center\" \n \tv-slot=\"{ Component, route }\"\n >\n <transition \n \tname=\"scaleIn\" mode=\"out-in\"\n >\n <component \n \tref=\"page\" \n \t:key=\"route.path\" \n \t:localPosition=\"localPosition\" \n \t:is=\"Component\" \n />\n </transition>\n </router-view>\n\n <section class=\"w-100 desktop-only o-hidden radius-big bg-grad-main\">\n <SliderFeatures/> \n </section>\n </div>\n</template>\n\n<script setup>\n// Import components\nimport Tab from '@martyrs/src/components/Tab/Tab.vue'\nimport Field from '@martyrs/src/components/Field/Field.vue'\nimport Button from '@martyrs/src/components/Button/Button.vue'\n// Import blocks\nimport SliderFeatures from '@martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue'\n// Import libs\nimport { computed, onMounted, ref } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\n// Import state\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n// Import validation\nimport * as inputsValidation from '@martyrs/src/modules/auth/views/validations/inputs.validation'\n\nconst phoneValidation = ref(null)\nconst passswordValidation = ref(null)\nconst emailValidation = ref(null)\n// Accessing router\nconst route = useRoute()\nconst router = useRouter()\n// Accessing state\nconst tabAuth = ref('email')\n// Methods\nasync function onSubmit() {\n try {\n await inputsValidation.validateInputs(\n emailValidation,\n inputsValidation.validateEmail,\n auth.state.user.email,\n 'Некорректный email'\n )\n await inputsValidation.validateInputs(\n passswordValidation,\n inputsValidation.validatePassword,\n auth.state.user.password,\n 'Некорректный пароль'\n )\n } catch (error) {\n throw new Error\n }\n await auth.actions.login(auth.state.user, tabAuth.value)\n}\n\nfunction redirectTo() {\n router.push({ name: 'Account' })\n}\n</script>"],"names":[],"mappings":";;;;;;;;;;;;AA0CwB,QAAI,IAAI;AACJ,QAAI,IAAI;AACZ,QAAI,IAAI;AAElB,aAAQ;AACP,cAAS;AAER,QAAI,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
;/* empty css */
|
|
5
5
|
const Field = require("../../../../../components/Field/Field.vue.cjs");
|
|
6
|
-
const Button = require("../../../../../components/Button/Button.
|
|
6
|
+
const Button = require("../../../../../components/Button/Button.vue.cjs");
|
|
7
7
|
const vueRouter = require("vue-router");
|
|
8
8
|
const vueI18n = require("vue-i18n");
|
|
9
9
|
const auth = require("../../store/auth.cjs");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, toDisplayString, unref, createTextVNode, withCtx } from "vue";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import Field from "../../../../../components/Field/Field.vue.js";
|
|
4
|
-
import _sfc_main$1 from "../../../../../components/Button/Button.
|
|
4
|
+
import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
|
|
5
5
|
import { useRoute, useRouter } from "vue-router";
|
|
6
6
|
import { useI18n } from "vue-i18n";
|
|
7
7
|
import { state, actions } from "../../store/auth.js";
|
|
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
|
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
;/* empty css */
|
|
5
5
|
const Field = require("../../../../../components/Field/Field.vue.cjs");
|
|
6
|
-
const Button = require("../../../../../components/Button/Button.
|
|
6
|
+
const Button = require("../../../../../components/Button/Button.vue.cjs");
|
|
7
7
|
const vueRouter = require("vue-router");
|
|
8
8
|
const auth = require("../../store/auth.cjs");
|
|
9
9
|
const invites = require("../../../../organizations/store/invites.cjs");
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref, onMounted, createElementBlock, openBlock, createElementVNode, createVNode, withCtx } from "vue";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import Field from "../../../../../components/Field/Field.vue.js";
|
|
4
|
-
import _sfc_main$1 from "../../../../../components/Button/Button.
|
|
4
|
+
import _sfc_main$1 from "../../../../../components/Button/Button.vue.js";
|
|
5
5
|
import { useRoute, useRouter } from "vue-router";
|
|
6
6
|
import { state, actions as actions$1 } from "../../store/auth.js";
|
|
7
7
|
import { actions } from "../../../../organizations/store/invites.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
;/* empty css */
|
|
5
|
-
;/* empty css
|
|
5
|
+
;/* empty css */
|
|
6
6
|
const Dropdown = require("../../../../../components/Dropdown/Dropdown.vue.cjs");
|
|
7
7
|
const Menu = require("../../../../../components/Menu/Menu.vue2.cjs");
|
|
8
8
|
const MenuItem = require("../../../../../components/Menu/MenuItem.vue.cjs");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref, inject, computed, onMounted, resolveComponent, createElementBlock, createCommentVNode, openBlock, createElementVNode, createVNode, createBlock, unref, withCtx, toDisplayString, Fragment, renderList, normalizeClass, resolveDynamicComponent } from "vue";
|
|
2
2
|
/* empty css */
|
|
3
|
-
/* empty css
|
|
3
|
+
/* empty css */
|
|
4
4
|
import _sfc_main$5 from "../../../../../components/Dropdown/Dropdown.vue.js";
|
|
5
5
|
import _sfc_main$a from "../../../../../components/Menu/Menu.vue2.js";
|
|
6
6
|
import _sfc_main$b from "../../../../../components/Menu/MenuItem.vue.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
|
-
const Popup = require("../../../../../components/Popup/Popup.
|
|
4
|
+
const Popup = require("../../../../../components/Popup/Popup.vue.cjs");
|
|
5
5
|
const ProfileEditSidebar = require("./ProfileEditSidebar.vue.cjs");
|
|
6
6
|
const vueRouter = require("vue-router");
|
|
7
7
|
const _hoisted_1 = { class: "flex gap-medium" };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { resolveComponent, createBlock, openBlock, unref, withCtx, createElementVNode, createVNode } from "vue";
|
|
2
|
-
import _sfc_main$1 from "../../../../../components/Popup/Popup.
|
|
2
|
+
import _sfc_main$1 from "../../../../../components/Popup/Popup.vue.js";
|
|
3
3
|
import _sfc_main$2 from "./ProfileEditSidebar.vue.js";
|
|
4
4
|
import { useRouter } from "vue-router";
|
|
5
5
|
const _hoisted_1 = { class: "flex gap-medium" };
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const Checkbox = require("../../../../../components/Checkbox/Checkbox.vue.cjs");
|
|
5
|
-
const Button = require("../../../../../components/Button/Button.
|
|
5
|
+
const Button = require("../../../../../components/Button/Button.vue.cjs");
|
|
6
6
|
const ProfileEditCredentials = require("../sections/ProfileEditCredentials.vue.cjs");
|
|
7
7
|
const vueRouter = require("vue-router");
|
|
8
8
|
const auth = require("../../store/auth.cjs");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref, onMounted, createElementBlock, createCommentVNode, openBlock, createVNode, createElementVNode, withCtx, createTextVNode, unref } from "vue";
|
|
2
2
|
import _sfc_main$2 from "../../../../../components/Checkbox/Checkbox.vue.js";
|
|
3
|
-
import _sfc_main$3 from "../../../../../components/Button/Button.
|
|
3
|
+
import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";
|
|
4
4
|
import _sfc_main$1 from "../sections/ProfileEditCredentials.vue.js";
|
|
5
5
|
import { useRoute, useRouter } from "vue-router";
|
|
6
6
|
import { state, actions as actions$2 } from "../../store/auth.js";
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
3
|
const vue = require("vue");
|
|
4
4
|
const Field = require("../../../../../components/Field/Field.vue.cjs");
|
|
5
|
-
const Button = require("../../../../../components/Button/Button.
|
|
5
|
+
const Button = require("../../../../../components/Button/Button.vue.cjs");
|
|
6
6
|
const UploadImage = require("../../../../../components/UploadImage/UploadImage.vue.cjs");
|
|
7
7
|
const vueRouter = require("vue-router");
|
|
8
8
|
const auth = require("../../store/auth.cjs");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ref, onMounted, createElementBlock, createCommentVNode, openBlock, createElementVNode, createVNode, toDisplayString, withCtx, createTextVNode } from "vue";
|
|
2
2
|
import Field from "../../../../../components/Field/Field.vue.js";
|
|
3
|
-
import _sfc_main$2 from "../../../../../components/Button/Button.
|
|
3
|
+
import _sfc_main$2 from "../../../../../components/Button/Button.vue.js";
|
|
4
4
|
import _sfc_main$1 from "../../../../../components/UploadImage/UploadImage.vue.js";
|
|
5
5
|
import { useRoute, useRouter } from "vue-router";
|
|
6
6
|
import { state } from "../../store/auth.js";
|
|
@@ -4,7 +4,7 @@ const vue = require("vue");
|
|
|
4
4
|
const Tab = require("../../../../../components/Tab/Tab.vue2.cjs");
|
|
5
5
|
const Field = require("../../../../../components/Field/Field.vue.cjs");
|
|
6
6
|
const FieldPhone = require("../../../../../components/FieldPhone/FieldPhone.vue.cjs");
|
|
7
|
-
const Button = require("../../../../../components/Button/Button.
|
|
7
|
+
const Button = require("../../../../../components/Button/Button.vue.cjs");
|
|
8
8
|
const vueRouter = require("vue-router");
|
|
9
9
|
const vueI18n = require("vue-i18n");
|
|
10
10
|
const ResetPassword = require("../../localization/ResetPassword.json.cjs");
|
|
@@ -2,7 +2,7 @@ import { ref, computed, createElementBlock, openBlock, createElementVNode, creat
|
|
|
2
2
|
import _sfc_main$1 from "../../../../../components/Tab/Tab.vue2.js";
|
|
3
3
|
import Field from "../../../../../components/Field/Field.vue.js";
|
|
4
4
|
import _sfc_main$2 from "../../../../../components/FieldPhone/FieldPhone.vue.js";
|
|
5
|
-
import _sfc_main$3 from "../../../../../components/Button/Button.
|
|
5
|
+
import _sfc_main$3 from "../../../../../components/Button/Button.vue.js";
|
|
6
6
|
import { useRoute, useRouter } from "vue-router";
|
|
7
7
|
import { useI18n } from "vue-i18n";
|
|
8
8
|
import text from "../../localization/ResetPassword.json.js";
|
|
@@ -4,7 +4,7 @@ const vue = require("vue");
|
|
|
4
4
|
const Tab = require("../../../../../components/Tab/Tab.vue2.cjs");
|
|
5
5
|
const Field = require("../../../../../components/Field/Field.vue.cjs");
|
|
6
6
|
const FieldPhone = require("../../../../../components/FieldPhone/FieldPhone.vue.cjs");
|
|
7
|
-
const Button = require("../../../../../components/Button/Button.
|
|
7
|
+
const Button = require("../../../../../components/Button/Button.vue.cjs");
|
|
8
8
|
const vueRouter = require("vue-router");
|
|
9
9
|
const vueI18n = require("vue-i18n");
|
|
10
10
|
const SignIn = require("../../localization/SignIn.json.cjs");
|