@ozdao/martyrs 0.2.481 → 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.
Files changed (541) hide show
  1. package/README.md +4 -13
  2. package/dist/{Media-CKk33U4A.js → Media-C57G7rnE.js} +1 -1
  3. package/dist/{Media-B1ZP3D7B.cjs → Media-DjnpKS62.cjs} +1 -1
  4. package/dist/_virtual/_commonjsHelpers.cjs +2 -0
  5. package/dist/_virtual/_commonjsHelpers.cjs.map +1 -1
  6. package/dist/_virtual/_commonjsHelpers.js +2 -0
  7. package/dist/_virtual/_commonjsHelpers.js.map +1 -1
  8. package/dist/_virtual/index2.cjs +8 -0
  9. package/dist/_virtual/index2.cjs.map +1 -0
  10. package/dist/_virtual/index2.js +8 -0
  11. package/dist/_virtual/index2.js.map +1 -0
  12. package/dist/_virtual/index3.cjs +5 -0
  13. package/dist/_virtual/index3.cjs.map +1 -0
  14. package/dist/_virtual/index3.js +5 -0
  15. package/dist/_virtual/index3.js.map +1 -0
  16. package/dist/{abac-XF1JVCLI.cjs → abac-6LjoG9u-.cjs} +107 -26
  17. package/dist/{abac-BuL5pUZ4.js → abac-Cf_9lCSh.js} +107 -26
  18. package/dist/globals.server.cjs +1 -1
  19. package/dist/globals.server.js +1 -1
  20. package/dist/{main-BhAiwmnI.js → main-CXQqAVVb.js} +3036 -4278
  21. package/dist/main-De5X_RUk.cjs +11 -0
  22. package/dist/martyrs/src/components/Button/{Button.vue2.cjs → Button.vue.cjs} +2 -2
  23. package/dist/martyrs/src/components/Button/{Button.vue2.js.map → Button.vue.cjs.map} +1 -1
  24. package/dist/martyrs/src/components/Button/{Button.vue2.js → Button.vue.js} +2 -2
  25. package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -0
  26. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.cjs +28 -7
  27. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.cjs.map +1 -1
  28. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js +29 -8
  29. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js.map +1 -1
  30. package/dist/martyrs/src/components/Chips/Chips.vue.cjs +5 -8
  31. package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +1 -1
  32. package/dist/martyrs/src/components/Chips/Chips.vue.js +6 -9
  33. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -1
  34. package/dist/martyrs/src/components/Feed/Carousel.vue.cjs +84 -0
  35. package/dist/martyrs/src/components/Feed/Carousel.vue.cjs.map +1 -0
  36. package/dist/martyrs/src/components/Feed/Carousel.vue.js +84 -0
  37. package/dist/martyrs/src/components/Feed/Carousel.vue.js.map +1 -0
  38. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +4 -4
  39. package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
  40. package/dist/martyrs/src/components/Feed/Feed.vue.js +4 -4
  41. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  42. package/dist/martyrs/src/components/Field/Field.vue.cjs +2 -1
  43. package/dist/martyrs/src/components/Field/Field.vue.cjs.map +1 -1
  44. package/dist/martyrs/src/components/Field/Field.vue.js +2 -1
  45. package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -1
  46. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs +141 -113
  47. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.cjs.map +1 -1
  48. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js +142 -114
  49. package/dist/martyrs/src/components/FieldPhone/FieldPhone.vue.js.map +1 -1
  50. package/dist/martyrs/src/components/Menu/{Menu.vue.cjs → Menu.vue2.cjs} +2 -2
  51. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +1 -0
  52. package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
  53. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
  54. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.cjs +203 -151
  55. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.cjs.map +1 -1
  56. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js +204 -152
  57. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js.map +1 -1
  58. package/dist/martyrs/src/components/Radio/Radio.vue.cjs +2 -2
  59. package/dist/martyrs/src/components/Radio/Radio.vue.cjs.map +1 -1
  60. package/dist/martyrs/src/components/Radio/Radio.vue.js +2 -2
  61. package/dist/martyrs/src/components/Radio/Radio.vue.js.map +1 -1
  62. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.cjs +4 -3
  63. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.cjs.map +1 -1
  64. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.js +4 -3
  65. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.js.map +1 -1
  66. package/dist/martyrs/src/components/Slider/{Slider.native.vue.cjs → Slider.vue.cjs} +22 -80
  67. package/dist/martyrs/src/components/Slider/Slider.vue.cjs.map +1 -0
  68. package/dist/martyrs/src/components/Slider/{Slider.native.vue.js → Slider.vue.js} +23 -81
  69. package/dist/martyrs/src/components/Slider/Slider.vue.js.map +1 -0
  70. package/dist/martyrs/src/components/Status/Status.vue.cjs +11 -5
  71. package/dist/martyrs/src/components/Status/Status.vue.cjs.map +1 -1
  72. package/dist/martyrs/src/components/Status/Status.vue.js +13 -7
  73. package/dist/martyrs/src/components/Status/Status.vue.js.map +1 -1
  74. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs +4 -2
  75. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs.map +1 -1
  76. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.js +4 -2
  77. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.js.map +1 -1
  78. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +6 -4
  79. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs.map +1 -1
  80. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +6 -4
  81. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js.map +1 -1
  82. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  83. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  84. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  85. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  86. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +4 -2
  87. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
  88. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +5 -3
  89. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  90. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +22 -149
  91. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs.map +1 -1
  92. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +24 -151
  93. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js.map +1 -1
  94. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +77 -0
  95. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs.map +1 -0
  96. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +77 -0
  97. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js.map +1 -0
  98. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +121 -0
  99. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs.map +1 -0
  100. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +121 -0
  101. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js.map +1 -0
  102. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.cjs +38 -0
  103. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.cjs.map +1 -0
  104. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.js +38 -0
  105. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.js.map +1 -0
  106. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  107. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  108. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  109. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  110. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  111. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  112. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
  113. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  114. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.cjs +17 -39
  115. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.cjs.map +1 -1
  116. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js +18 -40
  117. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js.map +1 -1
  118. package/dist/martyrs/src/modules/auth/views/localization/EnterCode.json.cjs +1 -1
  119. package/dist/martyrs/src/modules/auth/views/localization/EnterCode.json.js +1 -1
  120. package/dist/martyrs/src/modules/auth/views/localization/EnterPassword.json.cjs +1 -1
  121. package/dist/martyrs/src/modules/auth/views/localization/EnterPassword.json.js +1 -1
  122. package/dist/martyrs/src/modules/auth/views/localization/ResetPassword.json.cjs +1 -1
  123. package/dist/martyrs/src/modules/auth/views/localization/ResetPassword.json.js +1 -1
  124. package/dist/martyrs/src/modules/auth/views/localization/SignIn.json.cjs +1 -1
  125. package/dist/martyrs/src/modules/auth/views/localization/SignIn.json.js +1 -1
  126. package/dist/martyrs/src/modules/auth/views/localization/SignUp.json.cjs +1 -1
  127. package/dist/martyrs/src/modules/auth/views/localization/SignUp.json.js +1 -1
  128. package/dist/martyrs/src/modules/auth/views/router/users.cjs +23 -16
  129. package/dist/martyrs/src/modules/auth/views/router/users.cjs.map +1 -1
  130. package/dist/martyrs/src/modules/auth/views/router/users.js +23 -16
  131. package/dist/martyrs/src/modules/auth/views/router/users.js.map +1 -1
  132. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.cjs +3 -3
  133. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.cjs.map +1 -1
  134. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js +3 -3
  135. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js.map +1 -1
  136. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +6 -6
  137. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +4 -3
  138. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs.map +1 -1
  139. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +4 -3
  140. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js.map +1 -1
  141. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  142. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  143. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs +92 -62
  144. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs.map +1 -1
  145. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js +93 -63
  146. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js.map +1 -1
  147. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs +82 -53
  148. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs.map +1 -1
  149. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js +82 -53
  150. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js.map +1 -1
  151. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs +2 -6
  152. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs.map +1 -1
  153. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.js +2 -6
  154. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.js.map +1 -1
  155. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  156. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  157. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  158. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  159. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  160. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -1
  161. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  162. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  163. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs +3 -9
  164. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs.map +1 -1
  165. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js +3 -9
  166. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js.map +1 -1
  167. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +4 -4
  168. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
  169. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +9 -9
  170. package/dist/martyrs/src/modules/globals/globals.client.cjs +13 -0
  171. package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
  172. package/dist/martyrs/src/modules/globals/globals.client.js +13 -0
  173. package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
  174. package/dist/martyrs/src/modules/globals/locales/en.cjs +24 -0
  175. package/dist/martyrs/src/modules/globals/locales/en.cjs.map +1 -0
  176. package/dist/martyrs/src/modules/globals/locales/en.js +24 -0
  177. package/dist/martyrs/src/modules/globals/locales/en.js.map +1 -0
  178. package/dist/martyrs/src/modules/globals/locales/ru.cjs +24 -0
  179. package/dist/martyrs/src/modules/globals/locales/ru.cjs.map +1 -0
  180. package/dist/martyrs/src/modules/globals/locales/ru.js +24 -0
  181. package/dist/martyrs/src/modules/globals/locales/ru.js.map +1 -0
  182. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs +71 -0
  183. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.cjs.map +1 -0
  184. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js +71 -0
  185. package/dist/martyrs/src/modules/globals/views/classes/globals.i18n.js.map +1 -0
  186. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  187. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs.map +1 -1
  188. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  189. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js.map +1 -1
  190. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +84 -0
  191. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs.map +1 -0
  192. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +84 -0
  193. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js.map +1 -0
  194. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
  195. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
  196. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +50 -44
  197. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs.map +1 -1
  198. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +50 -44
  199. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js.map +1 -1
  200. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
  201. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
  202. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  203. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  204. package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs +17 -0
  205. package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs.map +1 -1
  206. package/dist/martyrs/src/modules/globals/views/mixins/mixins.js +17 -0
  207. package/dist/martyrs/src/modules/globals/views/mixins/mixins.js.map +1 -1
  208. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.cjs +70 -0
  209. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.cjs.map +1 -0
  210. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.js +70 -0
  211. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.js.map +1 -0
  212. package/dist/martyrs/src/modules/globals/views/store/globals.cjs.map +1 -1
  213. package/dist/martyrs/src/modules/globals/views/store/globals.js.map +1 -1
  214. package/dist/martyrs/src/modules/icons/entities/IconList.vue.cjs +35 -0
  215. package/dist/martyrs/src/modules/icons/entities/IconList.vue.cjs.map +1 -0
  216. package/dist/martyrs/src/modules/icons/entities/IconList.vue.js +35 -0
  217. package/dist/martyrs/src/modules/icons/entities/IconList.vue.js.map +1 -0
  218. package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.cjs +1 -3
  219. package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.cjs.map +1 -1
  220. package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.js +1 -3
  221. package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.js.map +1 -1
  222. package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.cjs +1 -3
  223. package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.cjs.map +1 -1
  224. package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.js +1 -3
  225. package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.js.map +1 -1
  226. package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.cjs +1 -3
  227. package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.cjs.map +1 -1
  228. package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.js +1 -3
  229. package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.js.map +1 -1
  230. package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.cjs +1 -3
  231. package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.cjs.map +1 -1
  232. package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.js +1 -3
  233. package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.js.map +1 -1
  234. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs +1 -3
  235. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs.map +1 -1
  236. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js +1 -3
  237. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js.map +1 -1
  238. package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.cjs +21 -20
  239. package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.cjs.map +1 -1
  240. package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.js +21 -20
  241. package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.js.map +1 -1
  242. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs +1 -3
  243. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs.map +1 -1
  244. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js +1 -3
  245. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js.map +1 -1
  246. package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.cjs +6 -13
  247. package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.cjs.map +1 -1
  248. package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.js +6 -13
  249. package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.js.map +1 -1
  250. package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.cjs +1 -3
  251. package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.cjs.map +1 -1
  252. package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.js +1 -3
  253. package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.js.map +1 -1
  254. package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.cjs +1 -3
  255. package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.cjs.map +1 -1
  256. package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.js +1 -3
  257. package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.js.map +1 -1
  258. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +1 -3
  259. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs.map +1 -1
  260. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +41 -43
  261. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
  262. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs +52 -58
  263. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.cjs.map +1 -1
  264. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js +52 -58
  265. package/dist/martyrs/src/modules/marketplace/views/components/layouts/Marketplace.vue.js.map +1 -1
  266. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs +8 -8
  267. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs.map +1 -1
  268. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js +8 -8
  269. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js.map +1 -1
  270. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +50 -51
  271. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs.map +1 -1
  272. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +51 -52
  273. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
  274. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
  275. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
  276. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
  277. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  278. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
  279. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
  280. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
  281. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -1
  282. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  283. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  284. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
  285. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +1 -1
  286. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  287. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  288. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
  289. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +1 -1
  290. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  291. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  292. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  293. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
  294. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  295. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  296. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  297. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  298. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  299. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  300. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs +7 -4
  301. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs.map +1 -1
  302. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +18 -15
  303. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
  304. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
  305. package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
  306. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  307. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  308. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  309. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  310. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  311. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  312. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +7 -2
  313. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs.map +1 -1
  314. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +8 -3
  315. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  316. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +11 -12
  317. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs.map +1 -1
  318. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +12 -13
  319. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
  320. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.cjs +32 -23
  321. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.cjs.map +1 -1
  322. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js +35 -26
  323. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js.map +1 -1
  324. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.cjs +4 -4
  325. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.cjs.map +1 -1
  326. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js +4 -4
  327. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js.map +1 -1
  328. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs +7 -5
  329. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
  330. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +7 -5
  331. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
  332. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  333. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  334. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +2 -2
  335. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +2 -2
  336. package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.cjs +1 -1
  337. package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.js +1 -1
  338. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
  339. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +57 -40
  340. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
  341. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +59 -42
  342. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  343. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +105 -85
  344. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs.map +1 -1
  345. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +107 -87
  346. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
  347. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
  348. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
  349. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +1 -1
  350. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +1 -1
  351. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +145 -0
  352. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs.map +1 -0
  353. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +145 -0
  354. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js.map +1 -0
  355. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +1 -1
  356. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +1 -1
  357. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +46 -31
  358. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs.map +1 -1
  359. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +50 -35
  360. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
  361. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs +44 -0
  362. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs.map +1 -0
  363. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js +44 -0
  364. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js.map +1 -0
  365. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +131 -0
  366. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs.map +1 -0
  367. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +131 -0
  368. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -0
  369. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  370. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  371. package/dist/martyrs/src/modules/products/products.client.cjs +3 -3
  372. package/dist/martyrs/src/modules/products/products.client.cjs.map +1 -1
  373. package/dist/martyrs/src/modules/products/products.client.js +3 -3
  374. package/dist/martyrs/src/modules/products/products.client.js.map +1 -1
  375. package/dist/martyrs/src/modules/products/store/products.cjs +4 -0
  376. package/dist/martyrs/src/modules/products/store/products.cjs.map +1 -1
  377. package/dist/martyrs/src/modules/products/store/products.js +4 -0
  378. package/dist/martyrs/src/modules/products/store/products.js.map +1 -1
  379. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  380. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
  381. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  382. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  383. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +1 -1
  384. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +1 -1
  385. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +1 -1
  386. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +1 -1
  387. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +1 -1
  388. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +1 -1
  389. package/dist/martyrs/src/modules/wallet/views/localization/wallet.json.cjs +1 -1
  390. package/dist/martyrs/src/modules/wallet/views/localization/wallet.json.js +1 -1
  391. package/dist/martyrs.cjs.js +1 -1
  392. package/dist/martyrs.css +1 -1
  393. package/dist/martyrs.es.js +1 -1
  394. package/dist/node_modules/lodash.merge/index.cjs +689 -0
  395. package/dist/node_modules/lodash.merge/index.cjs.map +1 -0
  396. package/dist/node_modules/lodash.merge/index.js +689 -0
  397. package/dist/node_modules/lodash.merge/index.js.map +1 -0
  398. package/dist/organizations.server.cjs +1 -1
  399. package/dist/organizations.server.js +1 -1
  400. package/dist/products.server.cjs +111 -34
  401. package/dist/products.server.js +111 -34
  402. package/dist/style.css +239 -235
  403. package/package.json +1 -1
  404. package/src/.martyrs/chunks.json +325 -0
  405. package/src/.martyrs/filemap.json +6802 -0
  406. package/src/.martyrs/semantic-analysis.json +307 -0
  407. package/src/.martyrs/toc.json +14 -0
  408. package/src/components/Button/Button.vue +2 -2
  409. package/src/components/Checkbox/Checkbox.vue +28 -16
  410. package/src/components/Chips/Chips.vue +4 -4
  411. package/src/components/Feed/Carousel.vue +72 -0
  412. package/src/components/Feed/Feed.vue +2 -2
  413. package/src/components/Field/Field.vue +1 -0
  414. package/src/components/FieldPhone/FieldPhone.vue +337 -238
  415. package/src/components/PhotoViewer/PhotoViewer.vue +307 -220
  416. package/src/components/Radio/Radio.vue +2 -10
  417. package/src/components/Skeleton/Skeleton.vue +9 -12
  418. package/src/components/Slider/Slider.vue +220 -100
  419. package/src/components/Status/Status.vue +10 -8
  420. package/src/components/Tooltip/Tooltip.vue +2 -2
  421. package/src/modules/auth/views/components/layouts/Auth.vue +1 -1
  422. package/src/modules/auth/views/components/pages/Profile.vue +1 -1
  423. package/src/modules/auth/views/components/pages/ProfileEdit.old.vue +189 -0
  424. package/src/modules/auth/views/components/pages/ProfileEdit.vue +19 -182
  425. package/src/modules/auth/views/components/pages/ProfileEditAccount.vue +72 -0
  426. package/src/modules/auth/views/components/pages/ProfileEditProfile.vue +110 -0
  427. package/src/modules/auth/views/components/pages/ProfileEditSidebar.vue +28 -0
  428. package/src/modules/auth/views/components/sections/SliderFeatures.vue +13 -79
  429. package/src/modules/auth/views/localization/EnterCode.json +2 -2
  430. package/src/modules/auth/views/localization/EnterPassword.json +2 -2
  431. package/src/modules/auth/views/localization/ResetPassword.json +2 -2
  432. package/src/modules/auth/views/localization/SignIn.json +2 -2
  433. package/src/modules/auth/views/localization/SignUp.json +2 -2
  434. package/src/modules/auth/views/router/users.js +23 -12
  435. package/src/modules/community/components/blocks/FooterBlogpost.vue +3 -3
  436. package/src/modules/community/components/pages/BlogPost.vue +2 -1
  437. package/src/modules/community/components/sections/Comment.vue +161 -57
  438. package/src/modules/community/components/sections/Comments.vue +120 -63
  439. package/src/modules/community/components/sections/HotPosts.vue +7 -7
  440. package/src/modules/events/components/sections/EventsHot.vue +26 -33
  441. package/src/modules/globals/controllers/classes/abac/abac.core.js +3 -1
  442. package/src/modules/globals/controllers/classes/abac/abac.fields.js +126 -42
  443. package/src/modules/globals/controllers/classes/abac/v2/abac-core-fixed.js +313 -0
  444. package/src/modules/globals/controllers/classes/abac/v2/abac-express-fixed.js +276 -0
  445. package/src/modules/globals/controllers/classes/abac/v2/abac-fields-fixed.js +422 -0
  446. package/src/modules/globals/controllers/classes/abac/v2/abac-main-fixed.js +295 -0
  447. package/src/modules/globals/controllers/classes/abac/v2/abac-policies-fixed.js +316 -0
  448. package/src/modules/globals/controllers/classes/abac/v2/abac-ws-fixed.js +237 -0
  449. package/src/modules/globals/globals.client.js +17 -1
  450. package/src/modules/globals/locales/en.js +21 -0
  451. package/src/modules/globals/locales/index.js +8 -0
  452. package/src/modules/globals/locales/ru.js +21 -0
  453. package/src/modules/globals/views/classes/globals.i18n.js +84 -0
  454. package/src/modules/globals/views/components/blocks/CardFooter.vue +3 -3
  455. package/src/modules/globals/views/components/blocks/CardHeader.vue +1 -1
  456. package/src/modules/globals/views/components/blocks/PopupAuth.vue +66 -0
  457. package/src/modules/globals/views/components/layouts/Client.vue +43 -40
  458. package/src/modules/globals/views/components/partials/Footer.vue +162 -162
  459. package/src/modules/globals/views/mixins/mixins.js +37 -17
  460. package/src/modules/globals/views/plugins/popup.auth.plugin.js +77 -0
  461. package/src/modules/globals/views/store/globals.js +0 -40
  462. package/src/modules/icons/entities/IconList.vue +14 -0
  463. package/src/modules/icons/navigation/IconCheck.vue +1 -3
  464. package/src/modules/icons/navigation/IconDoubleCheck.vue +1 -3
  465. package/src/modules/icons/navigation/IconLike.vue +1 -3
  466. package/src/modules/icons/navigation/IconMute.vue +1 -3
  467. package/src/modules/icons/navigation/IconPause.vue +1 -3
  468. package/src/modules/icons/navigation/IconPlay.vue +12 -15
  469. package/src/modules/icons/navigation/IconRefresh.vue +1 -3
  470. package/src/modules/icons/navigation/IconShuffle.vue +11 -26
  471. package/src/modules/icons/navigation/IconUnMute.vue +1 -3
  472. package/src/modules/icons/navigation/IconVolume.vue +1 -3
  473. package/src/modules/icons/pages/IconsPage.vue +0 -2
  474. package/src/modules/marketplace/views/components/layouts/Marketplace.vue +34 -38
  475. package/src/modules/music/components/pages/AlbumDetail.vue +2 -2
  476. package/src/modules/music/components/pages/PlaylistDetail.vue +2 -2
  477. package/src/modules/music/components/pages/TrackDetail.vue +1 -1
  478. package/src/modules/music/components/player/MusicPlayer.vue +2 -2
  479. package/src/modules/notifications/components/blocks/NotificationItem.vue +6 -51
  480. package/src/modules/notifications/components/elements/NotificationBadge.vue +53 -97
  481. package/src/modules/organizations/configs/navigation.organization.config.js +8 -4
  482. package/src/modules/products/components/blocks/CardProduct.vue +8 -2
  483. package/src/modules/products/components/blocks/ProductDiscounts.vue +3 -4
  484. package/src/modules/products/components/blocks/ProductImages.vue +32 -23
  485. package/src/modules/products/components/blocks/ProductVariants.vue +6 -4
  486. package/src/modules/products/components/elements/Price.vue +3 -3
  487. package/src/modules/products/components/pages/Product.vue +32 -26
  488. package/src/modules/products/components/pages/ProductEdit.vue +95 -72
  489. package/src/modules/products/components/sections/EditRecommended.vue +131 -0
  490. package/src/modules/products/components/sections/ProductConfigurator.vue +35 -21
  491. package/src/modules/products/components/sections/ProductsPopular.vue +45 -0
  492. package/src/modules/products/components/sections/ProductsRecommended.vue +134 -0
  493. package/src/modules/products/controllers/configs/products.lookup.config.js +20 -15
  494. package/src/modules/products/controllers/products.controller.js +7 -22
  495. package/src/modules/products/models/category.model.js +28 -1
  496. package/src/modules/products/models/leftover.model.js +32 -0
  497. package/src/modules/products/models/product.model.js +37 -1
  498. package/src/modules/products/models/variant.model.js +35 -0
  499. package/src/modules/products/products.client.js +3 -3
  500. package/src/modules/products/routes/products.routes.js +1 -0
  501. package/src/modules/products/store/products.js +4 -0
  502. package/src/modules/wallet/views/localization/wallet.json +2 -2
  503. package/src/styles/base/all.scss +0 -38
  504. package/src/styles/base/shadow_transitions_hover_refactor.scss +20 -51
  505. package/src/styles/config.scss +51 -1
  506. package/dist/main-C75EcBpE.cjs +0 -11
  507. package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +0 -1
  508. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +0 -1
  509. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
  510. package/dist/martyrs/src/components/Slider/Slider.native.vue.cjs.map +0 -1
  511. package/dist/martyrs/src/components/Slider/Slider.native.vue.js.map +0 -1
  512. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue2.cjs +0 -2
  513. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue2.cjs.map +0 -1
  514. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue2.js +0 -2
  515. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue2.js.map +0 -1
  516. package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.cjs +0 -34
  517. package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.cjs.map +0 -1
  518. package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.js +0 -34
  519. package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.js.map +0 -1
  520. package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.cjs +0 -124
  521. package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.cjs.map +0 -1
  522. package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.js +0 -124
  523. package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.js.map +0 -1
  524. 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
  525. 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
  526. 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
  527. 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
  528. 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
  529. 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
  530. 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
  531. 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
  532. 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
  533. 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
  534. 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
  535. 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
  536. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.cjs +0 -1630
  537. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.cjs.map +0 -1
  538. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js +0 -1630
  539. package/dist/node_modules/.pnpm/embla-carousel@8.6.0/node_modules/embla-carousel/esm/embla-carousel.esm.js.map +0 -1
  540. package/src/components/Slider/Slider.native.vue +0 -313
  541. package/src/modules/products/components/sections/PopularProducts.vue +0 -156
@@ -7,10 +7,7 @@
7
7
  { 'bg-fourth-nano': validation },
8
8
  { disabled: disabled }
9
9
  ]"
10
- :style="[
11
- rootStyle,
12
- styles
13
- ]"
10
+ :style="[rootStyle, styles]"
14
11
  ref="rootElement"
15
12
  class="vue3-reactive-tel-input"
16
13
  >
@@ -19,30 +16,39 @@
19
16
  :class="['vti__dropdown', { open: open }]"
20
17
  :style="[dropdownStyle]"
21
18
  :tabindex="dropdownOptions.tabindex"
22
- @keydown="keyboardNav"
23
- @click="toggleDropdown"
24
19
  @keydown.esc="reset"
25
20
  class="br-solid br-black-transp br-1px radius-thin"
26
21
  >
27
- <span class="flex-nowrap flex flex-v-center p-medium vti__selection">
22
+ <span class="flex-nowrap flex flex-v-center p-medium vti__selection">
28
23
  <span v-if="dropdownOptions.showFlags" v-html="activeCountryFlag" class="mn-r-nano" />
29
- <span v-if="dropdownOptions.showDialCodeInSelection" class="vti__country-code">
30
- +{{ activeCountry && activeCountry.dialCode }}
31
- </span>
32
- <!-- <slot name="arrow-icon" :open="open"> -->
33
- <!-- <span class="vti__dropdown-arrow">{{ open ? "▲" : "▼" }}</span> -->
34
- <!-- </slot> -->
24
+
25
+ <!-- Новый инпут для ввода кода страны -->
26
+ <input
27
+ v-if="dropdownOptions.showDialCodeInSelection"
28
+ v-model="dialCodeInput"
29
+ @input="onDialCodeInput"
30
+ @focus="openDropdown"
31
+ @blur="onDialCodeBlur"
32
+ @keydown="keyboardNav"
33
+ type="text"
34
+ class="vti__country-code-input"
35
+ :placeholder="`+${activeCountry?.dialCode || ''}`"
36
+ :disabled="disabled"
37
+ :size="Math.max((dialCodeInput?.length || 0) + 1, 3)"
38
+ maxlength="5"
39
+ />
40
+
35
41
  </span>
42
+
36
43
  <ul
37
44
  ref="list"
38
45
  class="bs-black radius-small vti__dropdown-list"
39
46
  v-show="open"
40
47
  :class="dropdownOpenDirection"
41
48
  :style="[listStyle]"
42
-
43
- >
49
+ >
44
50
  <li
45
- v-for="(pb, index) in sortedCountries"
51
+ v-for="(pb, index) in filteredAndSortedCountries"
46
52
  class="flex-nowrap flex w-max"
47
53
  :class="['vti__dropdown-item', getItemClass(index, pb.iso2)]"
48
54
  :key="pb.iso2 + (pb.preferred ? '-preferred' : '')"
@@ -55,35 +61,34 @@
55
61
  </li>
56
62
  </ul>
57
63
  </div>
58
- <!-- <div :class="[divInputClass]" > -->
59
- <input
60
- v-model="phone"
61
- inputmode="numeric"
62
- pattern="\d*"
63
- ref="input"
64
- :type="inputOptions.type"
65
- :autocomplete="inputOptions.autocomplete"
66
- :autofocus="inputOptions.autofocus"
67
- :class="['vti__input', inputOptions.styleClasses, inputClass, Iclasses]"
68
- :style="[inputStyle, Istyles]"
69
- :disabled="disabled"
70
- :id="inputId !== ''? inputId : inputOptions.id"
71
- :maxlength="inputOptions.maxlength"
72
- :name="inputId !== ''? inputId : inputOptions.name"
73
- :placeholder="parsedPlaceholder"
74
- :readonly="inputOptions.readonly"
75
- :required="inputOptions.required"
76
- :tabindex="inputOptions.tabindex"
77
- @blur="onBlur"
78
- @focus="onFocus"
79
- @input="onInput"
80
- @keyup.enter="onEnter"
81
- @keyup.space="onSpace"
82
- />
83
- <slot></slot> <!-- slot outlet -->
84
- <!-- </div> -->
85
-
64
+
65
+ <input
66
+ v-model="phone"
67
+ inputmode="numeric"
68
+ pattern="\d*"
69
+ ref="input"
70
+ :type="inputOptions.type"
71
+ :autocomplete="inputOptions.autocomplete"
72
+ :autofocus="inputOptions.autofocus"
73
+ :class="['vti__input', inputOptions.styleClasses, inputClass, Iclasses]"
74
+ :style="[inputStyle, Istyles]"
75
+ :disabled="disabled"
76
+ :id="inputId !== '' ? inputId : inputOptions.id"
77
+ :maxlength="inputOptions.maxlength"
78
+ :name="inputId !== '' ? inputId : inputOptions.name"
79
+ :placeholder="parsedPlaceholder"
80
+ :readonly="inputOptions.readonly"
81
+ :required="inputOptions.required"
82
+ :tabindex="inputOptions.tabindex"
83
+ @blur="onBlur"
84
+ @focus="onFocus"
85
+ @input="onInput"
86
+ @keyup.enter="onEnter"
87
+ @keyup.space="onSpace"
88
+ />
89
+ <slot></slot>
86
90
  </div>
91
+
87
92
  <!-- Validation -->
88
93
  <transition name="fade">
89
94
  <div v-if="validation" class="mn-t-thin mn-b-thin invalid-feedback">
@@ -92,7 +97,6 @@
92
97
  </transition>
93
98
  </template>
94
99
 
95
-
96
100
  <script setup>
97
101
  import { ref, reactive, watch, computed, onMounted, nextTick } from 'vue';
98
102
  import { parsePhoneNumberFromString } from 'libphonenumber-js';
@@ -103,65 +107,60 @@
103
107
  let vClickOutside = clickOutside
104
108
 
105
109
  const props = defineProps({
106
- modelValue: { type: String, default: '',},
107
- badClass: { type: [String, Array, Object], default: '', },
108
- goodClass: { type: [String, Array, Object], default: '', },
109
- badStyle: { type: [String, Array, Object], default: '', },
110
- goodStyle: { type: [String, Array, Object], default: '', },
111
- badInputClass: { type: [String, Array, Object], default: '', },
112
- goodInputClass: { type: [String, Array, Object], default: '', },
113
- badInputStyle: { type: [String, Array, Object], default: '', },
114
- goodInputStyle: { type: [String, Array, Object], default: '', },
115
- allCountries: { type: Array, default: () => allCountries, },
116
- autoFormat: { type: Boolean, default: () => true, },
117
- validation: { type: [Boolean, Object], default: false, },
118
- customValidate: { type: [Boolean, RegExp], default: () => false, },
119
- defaultCountry: { type: String, default: () => '', },
120
- disabled: { type: Boolean, default: () => false, },
121
- autoDefaultCountry: { type: Boolean, default: () => true },
122
- ignoredCountries: { type: Array, default: () => [], },
123
- invalidMsg: { type: String, default: () => '', },
124
- mode: { type: String, default: () => 'auto', },
125
- onlyCountries: { type: Array, default: () => [], },
126
- preferredCountries: { type: Array, default: () => [], },
127
- validCharactersOnly: { type: Boolean, default: () => false, },
128
- rootClass: { type: [String, Array, Object], default: () => '', },
129
- inputClass: { type: [String, Array, Object], default: () => {return ''}, },
130
- divInputClass: { type: [String, Array, Object], default: () => {return ''}, },
131
- rootStyle: { type: [String, Array, Object], default: () => {return ''}, },
132
- dropdownStyle: { type: [String, Array, Object], default: () => {return ''}, },
133
- listStyle: { type: [String, Array, Object], default: () => {return ''}, },
134
- inputStyle: { type: [String, Array, Object], default: () => {return ''}, },
135
- inputId: { type: [String, Array, Object], default: () => {return ''}, },
136
- Placeholder: { type: [String, Object, Function], default: () => {return ''}, },
110
+ modelValue: { type: String, default: '' },
111
+ badClass: { type: [String, Array, Object], default: '' },
112
+ goodClass: { type: [String, Array, Object], default: '' },
113
+ badStyle: { type: [String, Array, Object], default: '' },
114
+ goodStyle: { type: [String, Array, Object], default: '' },
115
+ badInputClass: { type: [String, Array, Object], default: '' },
116
+ goodInputClass: { type: [String, Array, Object], default: '' },
117
+ badInputStyle: { type: [String, Array, Object], default: '' },
118
+ goodInputStyle: { type: [String, Array, Object], default: '' },
119
+ allCountries: { type: Array, default: () => allCountries },
120
+ autoFormat: { type: Boolean, default: true },
121
+ validation: { type: [Boolean, Object], default: false },
122
+ customValidate: { type: [Boolean, RegExp], default: false },
123
+ defaultCountry: { type: String, default: '' },
124
+ disabled: { type: Boolean, default: false },
125
+ autoDefaultCountry: { type: Boolean, default: true },
126
+ ignoredCountries: { type: Array, default: () => [] },
127
+ invalidMsg: { type: String, default: '' },
128
+ mode: { type: String, default: 'auto' },
129
+ onlyCountries: { type: Array, default: () => [] },
130
+ preferredCountries: { type: Array, default: () => [] },
131
+ validCharactersOnly: { type: Boolean, default: false },
132
+ rootClass: { type: [String, Array, Object], default: '' },
133
+ inputClass: { type: [String, Array, Object], default: '' },
134
+ rootStyle: { type: [String, Array, Object], default: '' },
135
+ dropdownStyle: { type: [String, Array, Object], default: '' },
136
+ listStyle: { type: [String, Array, Object], default: '' },
137
+ inputStyle: { type: [String, Array, Object], default: '' },
138
+ inputId: { type: [String, Array, Object], default: '' },
139
+ Placeholder: { type: [String, Object, Function], default: '' },
137
140
  dropdownOptions: {
138
141
  type: Object,
139
- default: () => {
140
- return {
141
- showDialCodeInList: true,
142
- showDialCodeInSelection: false,
143
- showFlags: true,
144
- tabindex: 0
145
- }
146
- }
142
+ default: () => ({
143
+ showDialCodeInList: true,
144
+ showDialCodeInSelection: false,
145
+ showFlags: true,
146
+ tabindex: 0
147
+ })
147
148
  },
148
149
  inputOptions: {
149
150
  type: Object,
150
- default: () => {
151
- return {
152
- autocomplete: 'on',
153
- autofocus: false,
154
- id: '',
155
- maxlength: 25,
156
- name: 'telephone',
157
- placeholder: 'Enter a phone number',
158
- readonly: false,
159
- required: false,
160
- tabindex: 0,
161
- type: 'tel',
162
- styleClasses: ''
163
- }
164
- }
151
+ default: () => ({
152
+ autocomplete: 'on',
153
+ autofocus: false,
154
+ id: '',
155
+ maxlength: 25,
156
+ name: 'telephone',
157
+ placeholder: 'Enter a phone number',
158
+ readonly: false,
159
+ required: false,
160
+ tabindex: 0,
161
+ type: 'tel',
162
+ styleClasses: ''
163
+ })
165
164
  },
166
165
  });
167
166
 
@@ -178,14 +177,11 @@
178
177
  'space'
179
178
  ]);
180
179
 
181
- const counter = ref(5);
182
- const initCounter = ref(5);
183
- const message = reactive({
184
- action: null,
185
- amount: null,
186
- });
187
- const phone = ref(props.modelValue ? props.modelValue : '');
180
+ // Reactive data
181
+ const phone = ref(props.modelValue || '');
188
182
  const activeCountryCode = ref('');
183
+ const dialCodeInput = ref('');
184
+ const dialCodeFilter = ref('');
189
185
  const open = ref(false);
190
186
  const finishMounted = ref(false);
191
187
  const selectedIndex = ref(null);
@@ -194,12 +190,13 @@
194
190
  const dropdownOpenDirection = ref('below');
195
191
  const parsedPlaceholder = ref(props.Placeholder !== '' ? props.Placeholder : props.inputOptions.placeholder);
196
192
 
197
- const rootElement = ref(null)
198
- const list = ref(null)
199
- const input = ref(null)
193
+ // Element refs
194
+ const rootElement = ref(null);
195
+ const list = ref(null);
196
+ const input = ref(null);
200
197
 
201
198
  // Lifecycle hooks
202
- onMounted(async () => {
199
+ onMounted(() => {
203
200
  if (props.modelValue) {
204
201
  phone.value = props.modelValue;
205
202
  }
@@ -208,11 +205,15 @@
208
205
 
209
206
  initializeCountry()
210
207
  .then(() => {
211
- if (!phone.value
212
- && props.inputOptions?.showDialCode
213
- && activeCountryCode.value) {
208
+ if (!phone.value && props.inputOptions?.showDialCode && activeCountryCode.value) {
214
209
  phone.value = `+${activeCountryCode.value}`;
215
210
  }
211
+
212
+ // Инициализируем dialCodeInput
213
+ if (activeCountry.value && props.dropdownOptions.showDialCodeInSelection) {
214
+ dialCodeInput.value = `+${activeCountry.value.dialCode}`;
215
+ }
216
+
216
217
  emits('validate', phoneObject.value);
217
218
  })
218
219
  .catch(console.error)
@@ -223,7 +224,7 @@
223
224
 
224
225
  // Computed properties
225
226
  const activeCountry = computed(() => {
226
- return findCountry(activeCountryCode.value);
227
+ return findCountry(activeCountryCode.value);
227
228
  });
228
229
 
229
230
  const activeCountryFlag = computed(() => {
@@ -245,20 +246,38 @@
245
246
  });
246
247
 
247
248
  const filteredCountries = computed(() => {
249
+ let countries = props.allCountries;
250
+
251
+ // Фильтрация по onlyCountries/ignoredCountries
248
252
  if (props.onlyCountries && props.onlyCountries.length) {
249
- return props.allCountries.filter(({ iso2 }) => props.onlyCountries.includes(iso2.toUpperCase()));
253
+ countries = countries.filter(({ iso2 }) =>
254
+ props.onlyCountries.includes(iso2.toUpperCase())
255
+ );
256
+ } else if (props.ignoredCountries && props.ignoredCountries.length) {
257
+ countries = countries.filter(({ iso2 }) =>
258
+ !props.ignoredCountries.includes(iso2.toUpperCase()) &&
259
+ !props.ignoredCountries.includes(iso2.toLowerCase())
260
+ );
250
261
  }
251
262
 
252
- if (props.ignoredCountries && props.ignoredCountries.length) {
253
- return props.allCountries.filter(({ iso2 }) =>
254
- !props.ignoredCountries.includes(iso2.toUpperCase()) && !props.ignoredCountries.includes(iso2.toLowerCase()),
263
+ // Фильтрация по введенному коду страны
264
+ if (dialCodeFilter.value) {
265
+ const filterValue = dialCodeFilter.value.replace('+', '');
266
+ countries = countries.filter(country =>
267
+ country.dialCode.startsWith(filterValue)
255
268
  );
256
269
  }
257
270
 
258
- return props.allCountries;
271
+ return countries;
259
272
  });
260
- const sortedCountries = computed(() => {
273
+
274
+ const filteredAndSortedCountries = computed(() => {
261
275
  const preferredCountries = getCountries(props.preferredCountries)
276
+ .filter(country => {
277
+ if (!dialCodeFilter.value) return true;
278
+ const filterValue = dialCodeFilter.value.replace('+', '');
279
+ return country.dialCode.startsWith(filterValue);
280
+ })
262
281
  .map(country => ({ ...country, preferred: true }));
263
282
 
264
283
  return [...preferredCountries, ...filteredCountries.value];
@@ -317,9 +336,8 @@
317
336
  return phoneObject.value.valid === true ? props.goodInputStyle :
318
337
  phoneObject.value.valid === false ? props.badInputStyle : undefined;
319
338
  });
320
- // ///////////
339
+
321
340
  // Watchers
322
- // ///////////
323
341
  watch(activeCountry, (newValue, oldValue) => {
324
342
  if (!newValue && oldValue?.iso2) {
325
343
  activeCountryCode.value = oldValue.iso2;
@@ -328,20 +346,19 @@
328
346
  if (newValue?.iso2) {
329
347
  emits('country-changed', newValue);
330
348
  resetPlaceholder();
349
+ // Обновляем dialCodeInput при смене страны
350
+ dialCodeInput.value = `+${newValue.dialCode}`;
331
351
  }
332
352
  });
333
353
 
334
- // Следим за изменениями countryCode в phoneObject
335
354
  watch(() => phoneObject.value.countryCode, (newValue) => {
336
355
  activeCountryCode.value = newValue;
337
356
  });
338
357
 
339
- // Следим за изменениями валидности phoneObject
340
358
  watch(() => phoneObject.value.valid, () => {
341
359
  emits('validate', phoneObject.value);
342
360
  });
343
361
 
344
- // Следим за изменениями отформатированного номера в phoneObject
345
362
  watch(() => phoneObject.value.formatted, (newValue) => {
346
363
  if (!props.autoFormat || props.customValidate) {
347
364
  return;
@@ -355,12 +372,10 @@
355
372
  });
356
373
  });
357
374
 
358
- // Следим за изменениями placeholder в inputOptions
359
375
  watch(() => props.inputOptions.placeholder, () => {
360
376
  resetPlaceholder();
361
377
  });
362
378
 
363
- // Следим за внешними изменениями значения (например, через v-model)
364
379
  watch(() => props.modelValue, (newValue, oldValue) => {
365
380
  if (!testCharacters()) {
366
381
  nextTick(() => {
@@ -372,7 +387,6 @@
372
387
  }
373
388
  });
374
389
 
375
- // Следим за состоянием открытия/закрытия dropdown
376
390
  watch(open, (isDropdownOpened) => {
377
391
  if (isDropdownOpened) {
378
392
  setDropdownPosition();
@@ -383,49 +397,100 @@
383
397
  });
384
398
 
385
399
  // Methods
386
- function getCountry() {
387
- return fetch('https://ip2c.org/s')
388
- .then((response) => response.text())
389
- .then((response) => {
390
- const result = (response || '').toString();
400
+ function onDialCodeInput() {
401
+ // Убеждаемся, что символ + всегда есть в начале
402
+ if (!dialCodeInput.value.startsWith('+')) {
403
+ dialCodeInput.value = '+' + dialCodeInput.value.replace(/^\+*/, '');
404
+ }
405
+
406
+ // Разрешаем только + и цифры
407
+ dialCodeInput.value = dialCodeInput.value.replace(/[^\+\d]/g, '');
408
+
409
+ // Убеждаемся что + только в начале
410
+ const plusCount = (dialCodeInput.value.match(/\+/g) || []).length;
411
+ if (plusCount > 1) {
412
+ dialCodeInput.value = '+' + dialCodeInput.value.replace(/\+/g, '');
413
+ }
414
+
415
+ dialCodeFilter.value = dialCodeInput.value;
416
+ open.value = true;
417
+
418
+ // Автовыбор страны если код точно совпадает
419
+ const exactMatch = filteredCountries.value.find(country =>
420
+ `+${country.dialCode}` === dialCodeInput.value
421
+ );
422
+
423
+ if (exactMatch && filteredAndSortedCountries.value.length === 1) {
424
+ choose(exactMatch);
425
+ }
426
+ }
391
427
 
392
- if (!result || result[0] !== '1') {
393
- throw new Error('unable to fetch the country');
394
- }
428
+ function onDialCodeBlur() {
429
+ setTimeout(() => {
430
+ if (!dialCodeInput.value && activeCountry.value) {
431
+ dialCodeInput.value = `+${activeCountry.value.dialCode}`;
432
+ }
433
+ }, 200);
434
+ }
395
435
 
396
- return result.substr(2, 2);
397
- });
436
+ function openDropdown() {
437
+ if (!props.disabled) {
438
+ open.value = true;
439
+ }
398
440
  }
399
-
441
+
400
442
  function setCaretPosition(ctrl, pos) {
401
- // Modern browsers
402
443
  if (ctrl.setSelectionRange) {
403
- ctrl.focus();
404
- ctrl.setSelectionRange(pos, pos);
405
-
406
- // IE8 and below
444
+ ctrl.focus();
445
+ ctrl.setSelectionRange(pos, pos);
407
446
  } else if (ctrl.createTextRange) {
408
- const range = ctrl.createTextRange();
409
- range.collapse(true);
410
- range.moveEnd('character', pos);
411
- range.moveStart('character', pos);
412
- range.select();
447
+ const range = ctrl.createTextRange();
448
+ range.collapse(true);
449
+ range.moveEnd('character', pos);
450
+ range.moveStart('character', pos);
451
+ range.select();
413
452
  }
414
453
  }
415
454
 
416
455
  function resetPlaceholder() {
417
456
  parsedPlaceholder.value = props.inputOptions.placeholder;
418
457
  }
458
+
419
459
  function initializeCountry() {
420
460
  return new Promise((resolve) => {
421
- if (phone.value?.[0] === '+') { resolve(); return; }
422
- if (props.defaultCountry) { choose(props.defaultCountry); resolve(); return; }
461
+ if (phone.value?.[0] === '+') {
462
+ resolve();
463
+ return;
464
+ }
465
+
466
+ if (props.defaultCountry) {
467
+ choose(props.defaultCountry);
468
+ resolve();
469
+ return;
470
+ }
471
+
423
472
  const fallbackCountry = props.preferredCountries[0] || filteredCountries.value[0];
473
+
424
474
  if (props.autoDefaultCountry) {
425
- getCountry()
426
- .then((res) => { choose(res || activeCountryCode.value); })
427
- .catch((error) => { console.warn(error); choose(fallbackCountry); })
428
- .finally(() => { resolve(); });
475
+ fetch('https://ip2c.org/s')
476
+ .then((response) => response.text())
477
+ .then((response) => {
478
+ const result = (response || '').toString();
479
+ if (!result || result[0] !== '1') {
480
+ throw new Error('unable to fetch the country');
481
+ }
482
+ return result.substr(2, 2);
483
+ })
484
+ .then((res) => {
485
+ choose(res || activeCountryCode.value);
486
+ })
487
+ .catch((error) => {
488
+ console.warn(error);
489
+ choose(fallbackCountry);
490
+ })
491
+ .finally(() => {
492
+ resolve();
493
+ });
429
494
  } else {
430
495
  choose(fallbackCountry);
431
496
  resolve();
@@ -454,16 +519,27 @@
454
519
 
455
520
  if (phone.value?.[0] === '+' && parsedCountry.iso2 && phoneObject.value.nationalNumber) {
456
521
  activeCountryCode.value = parsedCountry.iso2;
457
- phone.value = parsePhoneNumberFromString(phoneObject.value.nationalNumber, parsedCountry.iso2).formatInternational();
458
- return;
459
- }
460
-
461
- if (props.inputOptions?.showDialCode && parsedCountry) {
462
- phone.value = `+${parsedCountry.dialCode}`;
463
- return;
522
+ phone.value = parsePhoneNumberFromString(
523
+ phoneObject.value.nationalNumber,
524
+ parsedCountry.iso2
525
+ ).formatInternational();
526
+ } else {
527
+ activeCountryCode.value = parsedCountry.iso2;
464
528
  }
465
529
 
466
- activeCountryCode.value = parsedCountry.iso2;
530
+ dialCodeInput.value = `+${parsedCountry.dialCode}`;
531
+ dialCodeFilter.value = '';
532
+
533
+ // Закрываем дропдаун
534
+ open.value = false;
535
+
536
+ // Переводим фокус на основной инпут
537
+ nextTick(() => {
538
+ if (input.value) {
539
+ input.value.focus();
540
+ }
541
+ });
542
+
467
543
  emitInput(phone.value);
468
544
  }
469
545
 
@@ -502,16 +578,13 @@
502
578
 
503
579
  function onInput() {
504
580
  input.value.setCustomValidity(phoneObject.valid ? '' : props.invalidMsg);
505
-
506
581
  emitInput(phone.value);
507
582
  }
508
583
 
509
584
  function emitInput(value) {
510
585
  emits('update:modelValue', value);
511
586
 
512
-
513
-
514
- if (phoneObject.value.valid) {
587
+ if (phoneObject.value.valid) {
515
588
  emits('change', phoneObject.value.number);
516
589
  emits('country', phoneObject.value.number);
517
590
  } else {
@@ -547,13 +620,15 @@
547
620
 
548
621
  function clickedOutside() {
549
622
  open.value = false;
623
+ dialCodeFilter.value = '';
550
624
  }
551
625
 
552
626
  function keyboardNav(e) {
553
627
  if (e.keyCode === 40) { // down arrow
554
628
  e.preventDefault();
555
629
  open.value = true;
556
- selectedIndex.value = selectedIndex.value === null ? 0 : Math.min(sortedCountries.value.length - 1, selectedIndex.value + 1);
630
+ selectedIndex.value = selectedIndex.value === null ? 0 :
631
+ Math.min(filteredAndSortedCountries.value.length - 1, selectedIndex.value + 1);
557
632
  nextTick(() => {
558
633
  const selEle = list.value.children[selectedIndex.value];
559
634
  if (selEle.offsetTop + selEle.clientHeight > list.value.scrollTop + list.value.clientHeight) {
@@ -563,7 +638,8 @@
563
638
  } else if (e.keyCode === 38) { // up arrow
564
639
  e.preventDefault();
565
640
  open.value = true;
566
- selectedIndex.value = selectedIndex.value === null ? sortedCountries.value.length - 1 : Math.max(0, selectedIndex.value - 1);
641
+ selectedIndex.value = selectedIndex.value === null ?
642
+ filteredAndSortedCountries.value.length - 1 : Math.max(0, selectedIndex.value - 1);
567
643
  nextTick(() => {
568
644
  const selEle = list.value.children[selectedIndex.value];
569
645
  if (selEle.offsetTop < list.value.scrollTop) {
@@ -573,21 +649,27 @@
573
649
  } else if (e.keyCode === 13) { // enter key
574
650
  e.preventDefault();
575
651
  if (selectedIndex.value !== null) {
576
- choose(sortedCountries.value[selectedIndex.value]);
652
+ choose(filteredAndSortedCountries.value[selectedIndex.value]);
577
653
  }
578
- open.value = !open.value;
579
- } else { // typing a country's name
654
+ } else {
655
+ // Поиск по названию страны
656
+ if (e.target.classList.contains('vti__country-code-input')) return;
657
+
580
658
  typeToFindInput.value += e.key;
581
659
  clearTimeout(typeToFindTimer);
582
660
  typeToFindTimer = setTimeout(() => {
583
661
  typeToFindInput.value = '';
584
662
  }, 700);
663
+
585
664
  nextTick(() => {
586
- const typedCountryI = sortedCountries.value.slice(props.preferredCountries.length).findIndex((c) => c.name.toLowerCase().startsWith(typeToFindInput.value));
665
+ const typedCountryI = filteredAndSortedCountries.value
666
+ .slice(props.preferredCountries.length)
667
+ .findIndex((c) => c.name.toLowerCase().startsWith(typeToFindInput.value));
587
668
  if (typedCountryI >= 0) {
588
669
  selectedIndex.value = props.preferredCountries.length + typedCountryI;
589
670
  const selEle = list.value.children[selectedIndex.value];
590
- const needToScroll = selEle.offsetTop < list.value.scrollTop || selEle.offsetTop + selEle.clientHeight > list.value.scrollTop + list.value.clientHeight;
671
+ const needToScroll = selEle.offsetTop < list.value.scrollTop ||
672
+ selEle.offsetTop + selEle.clientHeight > list.value.scrollTop + list.value.clientHeight;
591
673
  if (needToScroll) {
592
674
  list.value.scrollTop = selEle.offsetTop - list.value.clientHeight / 2;
593
675
  }
@@ -597,7 +679,8 @@
597
679
  }
598
680
 
599
681
  function reset() {
600
- selectedIndex.value = sortedCountries.value.map(c => c.iso2).indexOf(activeCountryCode.value);
682
+ selectedIndex.value = filteredAndSortedCountries.value
683
+ .map(c => c.iso2).indexOf(activeCountryCode.value);
601
684
  open.value = false;
602
685
  }
603
686
 
@@ -609,67 +692,83 @@
609
692
  </script>
610
693
 
611
694
  <style lang="scss">
612
- .vue3-reactive-tel-input{
613
- display:flex
614
- }
615
- .vue3-reactive-tel-input.disabled .dropdown,.vue3-reactive-tel-input.disabled .selection,.vue3-reactive-tel-input.disabled input{
616
- cursor:no-drop
617
- }
618
- .vti__dropdown{
619
- display:flex;
620
- flex-direction:column;
621
- align-content:center;
622
- justify-content:center;
623
- position:relative;
624
- padding:0.5rem;
625
- cursor:pointer
626
- }
627
- .vti__dropdown.show{
628
- max-height:300px;
629
- overflow:scroll
630
- }
631
- .vti__dropdown-list{
632
- z-index:1;
633
- padding:0;
634
- margin:0;
635
- text-align:left;
636
- list-style:none;
637
- max-height:200px;
638
- overflow-y:scroll;
639
- position:absolute;
640
- left:-1px;
641
- background-color:#fff;
642
- width:fit-content
643
- }
644
- .vti__dropdown-list.below{
645
- top:33px
646
- }
647
- .vti__dropdown-list.above{
648
- top:auto;
649
- bottom:100%
650
- }
651
- .vti__dropdown-arrow{
652
- transform:scaleY(.5);
653
- display:inline-block;
654
- color:#666
655
- }
656
- .vti__dropdown-item{
657
- cursor:pointer;
658
- padding:4px 15px
659
- }
660
- .vti__dropdown-item.last-preferred{
661
- border-bottom:1px solid #cacaca
662
- }
663
- .vti__dropdown-item .vti__flag{
664
- display:inline-block;
665
- margin-right:5px
666
- }
667
- .vti__input{
668
- color: inherit;
669
- border:none;
670
- border-radius:0 2px 2px 0;
671
- width:100%;
672
- outline:0;
673
- padding-left:7px
674
- }
695
+ .vue3-reactive-tel-input {
696
+ display: flex;
697
+ }
698
+
699
+ .vue3-reactive-tel-input.disabled .dropdown,
700
+ .vue3-reactive-tel-input.disabled .selection,
701
+ .vue3-reactive-tel-input.disabled input {
702
+ cursor: no-drop;
703
+ }
704
+
705
+ .vti__dropdown {
706
+ display: flex;
707
+ flex-direction: column;
708
+ align-content: center;
709
+ justify-content: center;
710
+ position: relative;
711
+ padding: 0.5rem;
712
+ cursor: pointer;
713
+ }
714
+
715
+ .vti__dropdown.show {
716
+ max-height: 300px;
717
+ overflow: scroll;
718
+ }
719
+
720
+ .vti__dropdown-list {
721
+ z-index: 1;
722
+ padding: 0;
723
+ margin: 0;
724
+ text-align: left;
725
+ list-style: none;
726
+ max-height: 200px;
727
+ overflow-y: scroll;
728
+ position: absolute;
729
+ left: -1px;
730
+ background-color: #fff;
731
+ width: fit-content;
732
+ }
733
+
734
+ .vti__dropdown-list.below {
735
+ top: 33px;
736
+ }
737
+
738
+ .vti__dropdown-list.above {
739
+ top: auto;
740
+ bottom: 100%;
741
+ }
742
+
743
+ .vti__dropdown-item {
744
+ cursor: pointer;
745
+ padding: 4px 15px;
746
+ }
747
+
748
+ .vti__dropdown-item.highlighted {
749
+ background-color: #f0f0f0;
750
+ }
751
+
752
+ .vti__dropdown-item.last-preferred {
753
+ border-bottom: 1px solid #cacaca;
754
+ }
755
+
756
+ .vti__input {
757
+ color: inherit;
758
+ border: none;
759
+ border-radius: 0 2px 2px 0;
760
+ width: 100%;
761
+ outline: 0;
762
+ padding-left: 7px;
763
+ }
764
+
765
+ .vti__country-code-input {
766
+ max-width: 70px;
767
+ border: none;
768
+ outline: none;
769
+ background: transparent;
770
+ font-size: inherit;
771
+ color: inherit;
772
+ text-align: center;
773
+ }
675
774
  </style>