@ozdao/prometheus-framework 0.1.61 → 0.1.63

Sign up to get free protection for your applications and to get access to all the features.
Files changed (259) hide show
  1. package/dist/BackofficeGallery-30022293.js +1 -0
  2. package/dist/BackofficeGallery-f64daa0d.mjs +264 -0
  3. package/dist/BackofficeReports-cb4b180d.mjs +44 -0
  4. package/dist/BackofficeReports-d021871f.js +1 -0
  5. package/dist/BlockTags-8cddaef7.js +1 -0
  6. package/dist/BlockTags-ee310572.mjs +853 -0
  7. package/dist/Breadcrumbs.vue_vue_type_style_index_0_lang-0ea8fbf8.js +1 -0
  8. package/dist/Breadcrumbs.vue_vue_type_style_index_0_lang-4ed993c7.mjs +1 -0
  9. package/dist/Button-7643c9aa.js +1 -0
  10. package/dist/Button-9e1a9284.mjs +226 -0
  11. package/dist/Button.vue_vue_type_style_index_0_lang-0ea8fbf8.js +1 -0
  12. package/dist/Button.vue_vue_type_style_index_0_lang-4ed993c7.mjs +1 -0
  13. package/dist/ButtonToggleMembership-7ee4dc8e.mjs +90 -0
  14. package/dist/ButtonToggleMembership-b9352cec.js +1 -0
  15. package/dist/CardBlogpost-3c92fbc9.mjs +246 -0
  16. package/dist/CardBlogpost-c7364b1e.js +1 -0
  17. package/dist/CardOrganization-647cb571.js +1 -0
  18. package/dist/CardOrganization-facb77f7.mjs +234 -0
  19. package/dist/CardProduct-92affca1.js +1 -0
  20. package/dist/CardProduct-fca53299.mjs +193 -0
  21. package/dist/Checkbox-5dbe7b23.mjs +62 -0
  22. package/dist/Checkbox-76f09248.js +1 -0
  23. package/dist/Chips-0fdb31c9.js +1 -0
  24. package/dist/Chips-f1a0d085.mjs +214 -0
  25. package/dist/Community-534d473c.mjs +132 -0
  26. package/dist/Community-e9aff969.js +1 -0
  27. package/dist/Dashboard-91d73bc5.js +1 -0
  28. package/dist/Dashboard-ea9035bc.mjs +152 -0
  29. package/dist/Dropdown-31115457.js +1 -0
  30. package/dist/Dropdown-cab3605b.mjs +146 -0
  31. package/dist/EULA-aba6a807.js +1 -0
  32. package/dist/EULA-e05236af.mjs +4210 -0
  33. package/dist/EditOrder-94bbebff.mjs +221 -0
  34. package/dist/EditOrder-c070d474.js +1 -0
  35. package/dist/EmptyState-d65bab5b.js +1 -0
  36. package/dist/EmptyState-e404b05d.mjs +36 -0
  37. package/dist/Events-46ae8fc6.mjs +123 -0
  38. package/dist/Events-813c8c7b.js +1 -0
  39. package/dist/Feed-2d443ad2.mjs +146 -0
  40. package/dist/Feed-3a4e7a9c.js +1 -0
  41. package/dist/Feed-8b554fc1.js +1 -0
  42. package/dist/Feed-98b47c6f.js +1 -0
  43. package/dist/Feed-a21d6007.mjs +124 -0
  44. package/dist/Feed-b39138c8.js +1 -0
  45. package/dist/Feed-c41ef736.mjs +361 -0
  46. package/dist/Feed-d114330c.mjs +112 -0
  47. package/dist/Field-e2a43424.js +1 -0
  48. package/dist/Field-e5ad88d3.mjs +75 -0
  49. package/dist/Field.vue_vue_type_style_index_0_scoped_f4a29b0d_lang-0ea8fbf8.js +1 -0
  50. package/dist/Field.vue_vue_type_style_index_0_scoped_f4a29b0d_lang-4ed993c7.mjs +1 -0
  51. package/dist/Gallery-46b5f939.js +1 -0
  52. package/dist/Gallery-762a9c2d.mjs +241 -0
  53. package/dist/IconChevronRight-a55f838e.js +1 -0
  54. package/dist/IconChevronRight-fae9d012.mjs +28 -0
  55. package/dist/IconCommunity-468dc457.mjs +65 -0
  56. package/dist/IconCommunity-b339e806.js +1 -0
  57. package/dist/IconCross-5bf93179.js +1 -0
  58. package/dist/IconCross-84cb1292.mjs +28 -0
  59. package/dist/IconEdit-9edfd74d.mjs +21 -0
  60. package/dist/IconEdit-c0469b45.js +1 -0
  61. package/dist/Image-4dcfddb8.js +9 -0
  62. package/dist/Image-e0da17ac.mjs +571 -0
  63. package/dist/LabelGooglePlay-24feb437.mjs +31 -0
  64. package/dist/LabelGooglePlay-f80e5ff0.js +1 -0
  65. package/dist/LeftoverAdd-5a8988d9.js +1 -0
  66. package/dist/LeftoverAdd-c4f37f47.mjs +227 -0
  67. package/dist/Leftovers-470a1689.js +1 -0
  68. package/dist/Leftovers-69c7dcd9.mjs +136 -0
  69. package/dist/Loader-21f016da.js +1 -0
  70. package/dist/Loader-cd422786.mjs +41 -0
  71. package/dist/Loader.vue_vue_type_style_index_0_lang-0ea8fbf8.js +1 -0
  72. package/dist/Loader.vue_vue_type_style_index_0_lang-4ed993c7.mjs +1 -0
  73. package/dist/Members-04273cd4.mjs +114 -0
  74. package/dist/Members-0685a15f.js +1 -0
  75. package/dist/Menu-b5d6a0c7.js +1 -0
  76. package/dist/Menu-dd7645c1.mjs +13 -0
  77. package/dist/MenuItem-56ae7f94.js +1 -0
  78. package/dist/MenuItem-6296d02f.mjs +63 -0
  79. package/dist/Orders-b64e8cb9.js +1 -0
  80. package/dist/Orders-ff30db05.mjs +75 -0
  81. package/dist/Organizations-46aab2c8.mjs +73 -0
  82. package/dist/Organizations-a8627bc5.js +1 -0
  83. package/dist/Payments-53e5fecf.js +1 -0
  84. package/dist/Payments-82e545e1.mjs +87 -0
  85. package/dist/PlaceholderUserpic-14c6ea7e.mjs +28 -0
  86. package/dist/PlaceholderUserpic-47f6f319.js +1 -0
  87. package/dist/Popup-0915427c.mjs +74 -0
  88. package/dist/Popup-795f5c88.js +1 -0
  89. package/dist/Popup.vue_vue_type_style_index_0_lang-0ea8fbf8.js +1 -0
  90. package/dist/Popup.vue_vue_type_style_index_0_lang-4ed993c7.mjs +1 -0
  91. package/dist/Product-7e001b81.js +7 -0
  92. package/dist/Product-f3f42158.mjs +653 -0
  93. package/dist/ProductEdit-959b3cd3.mjs +295 -0
  94. package/dist/ProductEdit-bae5e898.js +1 -0
  95. package/dist/ProductsBackoffice-0716123f.js +1 -0
  96. package/dist/ProductsBackoffice-a36ecbc6.mjs +85 -0
  97. package/dist/ProfileBlogposts-c790d1b2.js +1 -0
  98. package/dist/ProfileBlogposts-f43cf32e.mjs +79 -0
  99. package/dist/ProfileEvents-12f80fff.mjs +70 -0
  100. package/dist/ProfileEvents-585570a3.js +1 -0
  101. package/dist/ProfileOrganizations-bbc2cf40.mjs +73 -0
  102. package/dist/ProfileOrganizations-d7103514.js +1 -0
  103. package/dist/Publics-094f3c2c.mjs +45 -0
  104. package/dist/Publics-1032c0f4.js +1 -0
  105. package/dist/Select-11ddabf5.mjs +79 -0
  106. package/dist/Select-3ca5ab39.js +1 -0
  107. package/dist/SelectMulti-58704d69.mjs +1038 -0
  108. package/dist/SelectMulti-c25765cf.js +1 -0
  109. package/dist/SkeletonBlogpost-95db0fa9.js +1 -0
  110. package/dist/SkeletonBlogpost-e0621af7.mjs +16 -0
  111. package/dist/SkeletonEvent-8690422d.mjs +16 -0
  112. package/dist/SkeletonEvent-eb284de8.js +1 -0
  113. package/dist/SkeletonEventShort-6c9e3940.js +1 -0
  114. package/dist/SkeletonEventShort-f030e56f.mjs +16 -0
  115. package/dist/SkeletonOrganization-5c09cfc5.js +1 -0
  116. package/dist/SkeletonOrganization-8690422d.mjs +16 -0
  117. package/dist/Socials-31c06635.mjs +74 -0
  118. package/dist/Socials-cceaeaf2.js +1 -0
  119. package/dist/Tab-054b61f7.mjs +46 -0
  120. package/dist/Tab-2c1e4224.js +1 -0
  121. package/dist/Tab.vue_vue_type_style_index_0_lang-0ea8fbf8.js +1 -0
  122. package/dist/Tab.vue_vue_type_style_index_0_lang-4ed993c7.mjs +1 -0
  123. package/dist/Upload-06d93178.js +1 -0
  124. package/dist/Upload-23212d9d.mjs +74 -0
  125. package/dist/UploadImage-0f488170.js +1 -0
  126. package/dist/UploadImage-3c627d89.mjs +83 -0
  127. package/dist/UploadImageMultiple-cb6c7188.mjs +58 -0
  128. package/dist/UploadImageMultiple-eddaac87.js +1 -0
  129. package/dist/Wallet-2043b611.mjs +24682 -0
  130. package/dist/Wallet-8fa7386a.js +55 -0
  131. package/dist/_plugin-vue_export-helper-dad06003.mjs +9 -0
  132. package/dist/_plugin-vue_export-helper-f246444f.js +1 -0
  133. package/dist/auth-56dc2ba7.mjs +607 -0
  134. package/dist/auth-f018f5b3.js +7 -0
  135. package/dist/auth.client.cjs +7 -0
  136. package/dist/auth.client.js +3874 -0
  137. package/dist/auth.validation-c31a60e7.mjs +24 -0
  138. package/dist/auth.validation-d049b341.js +1 -0
  139. package/dist/backoffice.client.cjs +1 -0
  140. package/dist/backoffice.client.js +265 -0
  141. package/dist/carousel.es-44c501bc.mjs +383 -0
  142. package/dist/carousel.es-cdfb392c.js +5 -0
  143. package/dist/categories-5b08da53.mjs +121 -0
  144. package/dist/categories-7ccd6be9.js +1 -0
  145. package/dist/click-outside-0b0727d1.js +2 -0
  146. package/dist/click-outside-6101836c.mjs +19 -0
  147. package/dist/community.client.cjs +1 -0
  148. package/dist/community.client.js +692 -0
  149. package/dist/dribbble-8e8e169b.js +1 -0
  150. package/dist/dribbble-ae37c2ac.mjs +127 -0
  151. package/dist/events.client.cjs +2 -0
  152. package/dist/events.client.js +8885 -0
  153. package/dist/files.client.cjs +1 -0
  154. package/dist/files.client.js +1 -0
  155. package/dist/gallery-d4297191.mjs +54 -0
  156. package/dist/gallery-f92912df.js +1 -0
  157. package/dist/gallery.client.cjs +1 -0
  158. package/dist/gallery.client.js +18 -0
  159. package/dist/globals-928eb13c.js +1 -0
  160. package/dist/globals-96ba60e4.mjs +91 -0
  161. package/dist/globals.client.cjs +1 -0
  162. package/dist/globals.client.js +12 -0
  163. package/dist/icons.client.cjs +1 -0
  164. package/dist/icons.client.js +84 -0
  165. package/dist/index-a661083c.mjs +934 -0
  166. package/dist/index-b41aac19.js +2 -0
  167. package/dist/inputs.validation-d7cef32b.js +1 -0
  168. package/dist/inputs.validation-db65277a.mjs +83 -0
  169. package/dist/landing.client.cjs +1 -0
  170. package/dist/landing.client.js +111 -0
  171. package/dist/leftovers-5d1ff88b.mjs +67 -0
  172. package/dist/leftovers-b60180cf.js +1 -0
  173. package/dist/legal.client.cjs +1 -0
  174. package/dist/legal.client.js +8512 -0
  175. package/dist/memberships-12210953.mjs +68 -0
  176. package/dist/memberships-393765d8.js +1 -0
  177. package/dist/middlewares.client.cjs +1 -0
  178. package/dist/middlewares.client.js +1 -0
  179. package/dist/orders-13c10d49.mjs +85 -0
  180. package/dist/orders-37f041aa.js +1 -0
  181. package/dist/organizations-587d5a4d.mjs +122 -0
  182. package/dist/organizations-b4d902a2.js +1 -0
  183. package/dist/organizations.client-35b74e44.mjs +2997 -0
  184. package/dist/organizations.client-f982f55a.js +3 -0
  185. package/dist/organizations.client.cjs +1 -0
  186. package/dist/organizations.client.js +86 -0
  187. package/dist/products-3c43eb18.js +1 -0
  188. package/dist/products-943fb95e.mjs +107 -0
  189. package/dist/prometheus-framework/src/components/Popup/Popup.vue.cjs +1 -1
  190. package/dist/prometheus-framework/src/components/Popup/Popup.vue.js +72 -2
  191. package/dist/prometheus-framework/src/components/Popup/Popup.vue2.cjs +1 -1
  192. package/dist/prometheus-framework/src/components/Popup/Popup.vue2.js +2 -72
  193. package/dist/prometheus-framework/src/components/Select/Select.vue.cjs +1 -1
  194. package/dist/prometheus-framework/src/components/Select/Select.vue.js +78 -2
  195. package/dist/prometheus-framework/src/components/Select/Select.vue2.cjs +1 -1
  196. package/dist/prometheus-framework/src/components/Select/Select.vue2.js +2 -78
  197. package/dist/prometheus-framework/src/modules/auth/store/auth.cjs +1 -1
  198. package/dist/prometheus-framework/src/modules/auth/store/auth.js +75 -93
  199. package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.cjs +1 -1
  200. package/dist/prometheus-framework/src/modules/community/components/layouts/Community.vue.js +1 -1
  201. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  202. package/dist/prometheus-framework/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
  203. package/dist/prometheus-framework/src/modules/constructor/components/elements/Textarea.vue.cjs +4 -1
  204. package/dist/prometheus-framework/src/modules/constructor/components/elements/Textarea.vue.js +61 -2
  205. package/dist/prometheus-framework/src/modules/constructor/components/elements/Textarea.vue2.cjs +1 -4
  206. package/dist/prometheus-framework/src/modules/constructor/components/elements/Textarea.vue2.js +2 -61
  207. package/dist/prometheus-framework/src/modules/constructor/components/sections/Constructor.vue.cjs +1 -1
  208. package/dist/prometheus-framework/src/modules/constructor/components/sections/Constructor.vue.js +1 -1
  209. package/dist/prometheus-framework/src/modules/events/components/layouts/layoutEvents.vue.cjs +1 -1
  210. package/dist/prometheus-framework/src/modules/events/components/layouts/layoutEvents.vue.js +1 -1
  211. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
  212. package/dist/prometheus-framework/src/modules/events/components/pages/EditEvent.vue.js +2 -2
  213. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
  214. package/dist/prometheus-framework/src/modules/gallery/components/sections/BackofficeGallery.vue.js +1 -1
  215. package/dist/prometheus-framework/src/modules/gallery/components/sections/GalleryWithCategories.vue.cjs +1 -1
  216. package/dist/prometheus-framework/src/modules/gallery/components/sections/GalleryWithCategories.vue.js +1 -1
  217. package/dist/prometheus-framework/src/modules/organizations/components/blocks/DepartmentMemberModify.vue.cjs +1 -1
  218. package/dist/prometheus-framework/src/modules/organizations/components/blocks/DepartmentMemberModify.vue.js +1 -1
  219. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +1 -1
  220. package/dist/prometheus-framework/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
  221. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.cjs +1 -1
  222. package/dist/prometheus-framework/src/modules/organizations/components/pages/Organization.vue.js +1 -1
  223. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +1 -1
  224. package/dist/prometheus-framework/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
  225. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
  226. package/dist/prometheus-framework/src/modules/organizations/components/sections/Documents.vue.js +1 -1
  227. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  228. package/dist/prometheus-framework/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  229. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  230. package/dist/prometheus-framework/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
  231. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.cjs +1 -1
  232. package/dist/prometheus-framework/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
  233. package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.cjs +1 -1
  234. package/dist/prometheus-framework/src/modules/products/components/blocks/ImagesThumbnails.vue.js +1 -1
  235. package/dist/prometheus-framework/src/modules/products/components/pages/LeftoverAdd.vue.cjs +1 -1
  236. package/dist/prometheus-framework/src/modules/products/components/pages/LeftoverAdd.vue.js +1 -1
  237. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.cjs +1 -1
  238. package/dist/prometheus-framework/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
  239. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
  240. package/dist/prometheus-framework/src/modules/products/components/sections/EditProductInfo.vue.js +1 -1
  241. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
  242. package/dist/prometheus-framework/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  243. package/dist/prometheus-framework.cjs.js +19 -19
  244. package/dist/prometheus-framework.es.js +2208 -2198
  245. package/dist/reports-270f69df.js +1 -0
  246. package/dist/reports-79cd9459.mjs +91 -0
  247. package/dist/reports.client.cjs +1 -0
  248. package/dist/reports.client.js +8 -0
  249. package/dist/states.validation-3b70f83a.js +1 -0
  250. package/dist/states.validation-944e334c.mjs +13 -0
  251. package/dist/style.css +1 -1
  252. package/dist/users.client.cjs +1 -0
  253. package/dist/users.client.js +632 -0
  254. package/dist/vue-draggable-next.esm-bundler-21a209c6.js +10 -0
  255. package/dist/vue-draggable-next.esm-bundler-ff6e3f52.mjs +1557 -0
  256. package/dist/vuex.esm-bundler-57d8b6ba.mjs +750 -0
  257. package/dist/vuex.esm-bundler-685cf29f.js +5 -0
  258. package/package.json +1 -1
  259. package/src/modules/auth/store/auth.js +20 -20
@@ -0,0 +1,2997 @@
1
+ import { openBlock as a, createElementBlock as r, createElementVNode as n, toDisplayString as g, ref as w, renderSlot as z, createVNode as m, Transition as F, withCtx as y, createCommentVNode as f, onMounted as ue, watch as H, Fragment as k, renderList as C, createBlock as b, pushScopeId as ae, popScopeId as oe, reactive as pe, withAsyncContext as ee, computed as N, unref as $, normalizeClass as ne, createTextVNode as X, watchEffect as de, resolveDirective as Te, normalizeProps as P, guardReactiveProps as V, resolveDynamicComponent as re, mergeProps as be, toHandlers as Ie, withDirectives as se, vShow as ve, withModifiers as ye, toRefs as Ue, resolveComponent as me, vModelText as $e } from "vue";
2
+ import { useRoute as B, useRouter as j } from "vue-router";
3
+ import { useI18n as Be } from "vue-i18n";
4
+ import { s as L } from "./globals-96ba60e4.mjs";
5
+ import "./Breadcrumbs.vue_vue_type_style_index_0_lang-4ed993c7.mjs";
6
+ import { _ as Me } from "./Tab-054b61f7.mjs";
7
+ import "./MenuItem-6296d02f.mjs";
8
+ import { _ as je } from "./Feed-c41ef736.mjs";
9
+ import { _ as Re } from "./Feed-a21d6007.mjs";
10
+ import "./Tab.vue_vue_type_style_index_0_lang-4ed993c7.mjs";
11
+ import { _ as M } from "./_plugin-vue_export-helper-dad06003.mjs";
12
+ import { a as he } from "./index-a661083c.mjs";
13
+ import { s as T } from "./auth-56dc2ba7.mjs";
14
+ import { D as qe, _ as Ne } from "./Dropdown-cab3605b.mjs";
15
+ import { a as He, _ as Ze } from "./CardOrganization-facb77f7.mjs";
16
+ import { I as Ke } from "./IconEdit-9edfd74d.mjs";
17
+ import { P as Ge } from "./PlaceholderUserpic-14c6ea7e.mjs";
18
+ import { _ as we } from "./ButtonToggleMembership-7ee4dc8e.mjs";
19
+ import { _ as Ye } from "./Socials-31c06635.mjs";
20
+ import { s as x, a as J } from "./organizations-587d5a4d.mjs";
21
+ import { m as We, a as Pe, s as Ae } from "./memberships-12210953.mjs";
22
+ import { C as I } from "./Checkbox-5dbe7b23.mjs";
23
+ import { a as Je, s as xe, _ as Qe } from "./categories-5b08da53.mjs";
24
+ import { _ as Xe } from "./Feed-d114330c.mjs";
25
+ import { _ as et } from "./CardProduct-fca53299.mjs";
26
+ import { a as tt, s as st } from "./products-943fb95e.mjs";
27
+ import "./Field.vue_vue_type_style_index_0_scoped_f4a29b0d_lang-4ed993c7.mjs";
28
+ import { S as nt } from "./Select-11ddabf5.mjs";
29
+ import "./Button.vue_vue_type_style_index_0_lang-4ed993c7.mjs";
30
+ import "./inputs.validation-db65277a.mjs";
31
+ import { _ as at } from "./BlockTags-ee310572.mjs";
32
+ import { F as E } from "./Field-e5ad88d3.mjs";
33
+ import { S as ot } from "./SelectMulti-58704d69.mjs";
34
+ import { _ as De } from "./UploadImage-3c627d89.mjs";
35
+ import { _ as ce } from "./Button-9e1a9284.mjs";
36
+ import "./Popup.vue_vue_type_style_index_0_lang-4ed993c7.mjs";
37
+ import "./Organizations-46aab2c8.mjs";
38
+ import "./reports-79cd9459.mjs";
39
+ import "./Publics-094f3c2c.mjs";
40
+ import { a as Q } from "./auth.validation-c31a60e7.mjs";
41
+ const it = { class: "mn-big radius-medium pd-big bg-white" }, lt = { class: "mn-regular" }, rt = { class: "mn-small t-transp p-medium" }, _e = {
42
+ __name: "EmptyState",
43
+ props: {
44
+ title: {
45
+ type: String,
46
+ default: "У вас еще нет организации"
47
+ },
48
+ description: {
49
+ type: String,
50
+ default: "Для использования сервиса, вам необходимо добавить вашу организацию."
51
+ },
52
+ action: {
53
+ type: String,
54
+ default: "Создать организацию"
55
+ },
56
+ callback: {
57
+ type: Function,
58
+ default: () => {
59
+ }
60
+ }
61
+ },
62
+ setup(e) {
63
+ return (t, s) => (a(), r("section", it, [
64
+ n("h3", lt, g(e.title), 1),
65
+ n("p", rt, g(e.description), 1),
66
+ n("button", {
67
+ onClick: s[0] || (s[0] = (...i) => e.callback && e.callback(...i)),
68
+ class: "t-white bg-second w-100 button"
69
+ }, g(e.action), 1)
70
+ ]));
71
+ }
72
+ };
73
+ const dt = {
74
+ key: 0,
75
+ class: "spoiler"
76
+ }, q = {
77
+ __name: "Spoiler",
78
+ props: {
79
+ status: {
80
+ type: Boolean,
81
+ default: !1
82
+ }
83
+ },
84
+ setup(e) {
85
+ const t = e, s = w(!1);
86
+ return t.status && (s.value = t.status), (i, l) => (a(), r("div", null, [
87
+ n("div", {
88
+ onClick: l[0] || (l[0] = (o) => s.value = !s.value),
89
+ class: "flex-v-center flex-nowrap flex"
90
+ }, [
91
+ z(i.$slots, "header")
92
+ ]),
93
+ m(F, { name: "collapse" }, {
94
+ default: y(() => [
95
+ s.value ? (a(), r("div", dt, [
96
+ z(i.$slots, "content")
97
+ ])) : f("", !0)
98
+ ]),
99
+ _: 3
100
+ })
101
+ ]));
102
+ }
103
+ };
104
+ const ct = {
105
+ __name: "Map",
106
+ props: {
107
+ location: Object
108
+ },
109
+ setup(e) {
110
+ const t = e;
111
+ let s = w(null), i = null, l = null;
112
+ return ue(async () => {
113
+ i = new google.maps.Map(s.value, {
114
+ zoom: 13,
115
+ center: {
116
+ lat: t.location.lat,
117
+ lng: t.location.lng
118
+ }
119
+ }), l = new google.maps.Marker({
120
+ position: {
121
+ lat: t.location.lat,
122
+ lng: t.location.lng
123
+ },
124
+ map: i
125
+ });
126
+ }), H(() => t.location, () => {
127
+ i && l && (l.setPosition(new google.maps.LatLng(t.location.lat, t.location.lng)), i.setCenter(new google.maps.LatLng(t.location.lat, t.location.lng)));
128
+ }, { deep: !0 }), (o, p) => (a(), r("div", {
129
+ ref_key: "gmap",
130
+ ref: s,
131
+ class: "gmap"
132
+ }, null, 512));
133
+ }
134
+ }, ut = /* @__PURE__ */ M(ct, [["__scopeId", "data-v-c194b4a5"]]);
135
+ const pt = { class: "pd-small flex-nowrap flex" }, mt = { class: "user-card__info" }, ht = { class: "user-card__name" }, _t = { class: "user-card__position" }, gt = {
136
+ __name: "SpotSub",
137
+ props: {
138
+ department: {
139
+ type: Object,
140
+ required: !0
141
+ }
142
+ // Define other props here
143
+ },
144
+ setup(e) {
145
+ return (t, s) => (a(), r("div", pt, [
146
+ n("div", mt, [
147
+ n("p", ht, g(e.department.name ? e.department.name : "Безымянный"), 1),
148
+ n("p", _t, g(e.department.members ? e.department.members.length : "0") + " человек", 1)
149
+ ])
150
+ ]));
151
+ }
152
+ }, ft = /* @__PURE__ */ M(gt, [["__scopeId", "data-v-58a64d57"]]);
153
+ const bt = { class: "pd-small flex-nowrap flex" }, vt = { class: "user-card__info" }, yt = { class: "user-card__name" }, $t = { class: "t-transp" }, wt = {
154
+ __name: "User",
155
+ props: {
156
+ user: {
157
+ type: Object,
158
+ required: !0
159
+ },
160
+ position: {
161
+ type: String,
162
+ required: !0
163
+ }
164
+ // Define other props here
165
+ },
166
+ setup(e) {
167
+ return (t, s) => (a(), r("div", bt, [
168
+ n("div", vt, [
169
+ n("p", yt, g(e.user.name ? e.user.name : "Безымянный"), 1),
170
+ n("p", $t, g(e.position), 1)
171
+ ])
172
+ ]));
173
+ }
174
+ }, ge = /* @__PURE__ */ M(wt, [["__scopeId", "data-v-a27accf5"]]);
175
+ const ie = (e) => (ae("data-v-6ef388c4"), e = e(), oe(), e), xt = { class: "radius-big o-hidden cols-2-1_3" }, kt = { class: "pd-medium w-100" }, Ct = /* @__PURE__ */ ie(() => /* @__PURE__ */ n("path", {
176
+ d: "M515.693 9.52082C510.095 3.91669 502.49 0.765625 494.563 0.765625C486.635 0.765625 479.036 3.91669 473.432 9.52082L48.7255 434.307C44.8244 438.214 42.0848 443.125 40.8088 448.496L0.939444 615.069C-1.47202 625.168 1.528 635.788 8.86652 643.132C16.2103 650.47 26.8305 653.47 36.9292 651.059L203.516 611.261H203.511C208.88 609.985 213.792 607.246 217.699 603.35L642.485 178.496C648.089 172.892 651.241 165.293 651.241 157.366C651.241 149.439 648.089 141.835 642.485 136.235L515.693 9.52082ZM113.76 453.708L388.307 179.161L472.828 263.682L198.281 538.229L113.76 453.708ZM87.1041 511.5L140.416 564.812L70.3014 581.614L87.1041 511.5ZM515.091 221.793L430.195 136.897L494.184 72.9075L579.08 157.429L515.091 221.793Z",
177
+ fill: "black"
178
+ }, null, -1)), Ot = [
179
+ Ct
180
+ ], Lt = ["innerHTML"], St = ["innerHTML"], zt = { class: "pd-small flex-v-center flex-nowrap flex" }, Mt = /* @__PURE__ */ ie(() => /* @__PURE__ */ n("h5", { class: "w-100" }, "Contacts ", -1)), Pt = { class: "mn-r-small" }, At = /* @__PURE__ */ ie(() => /* @__PURE__ */ n("svg", {
181
+ width: "14",
182
+ height: "9",
183
+ viewBox: "0 0 14 9",
184
+ fill: "none",
185
+ xmlns: "http://www.w3.org/2000/svg"
186
+ }, [
187
+ /* @__PURE__ */ n("path", {
188
+ "fill-rule": "evenodd",
189
+ "clip-rule": "evenodd",
190
+ d: "M12.4697 0.469727L13.5304 1.53039L7.00006 8.06072L0.469727 1.53039L1.53039 0.469727L7.00006 5.9394L12.4697 0.469727Z",
191
+ fill: "#8A8A8A"
192
+ })
193
+ ], -1)), Dt = { key: 0 }, Vt = { class: "pd-small flex-v-center flex-nowrap flex" }, Et = /* @__PURE__ */ ie(() => /* @__PURE__ */ n("h5", { class: "w-100" }, "Working Hours ", -1)), Ft = { class: "mn-r-small" }, Tt = /* @__PURE__ */ ie(() => /* @__PURE__ */ n("svg", {
194
+ width: "14",
195
+ height: "9",
196
+ viewBox: "0 0 14 9",
197
+ fill: "none",
198
+ xmlns: "http://www.w3.org/2000/svg"
199
+ }, [
200
+ /* @__PURE__ */ n("path", {
201
+ "fill-rule": "evenodd",
202
+ "clip-rule": "evenodd",
203
+ d: "M12.4697 0.469727L13.5304 1.53039L7.00006 8.06072L0.469727 1.53039L1.53039 0.469727L7.00006 5.9394L12.4697 0.469727Z",
204
+ fill: "#8A8A8A"
205
+ })
206
+ ], -1)), It = { key: 0 }, Ut = {
207
+ __name: "CardSpot",
208
+ props: {
209
+ spot: Object,
210
+ organization: Object
211
+ },
212
+ setup(e) {
213
+ const t = e;
214
+ return (s, i) => (a(), r("div", xt, [
215
+ m(ut, {
216
+ location: { lat: e.spot.location.coordinates[1], lng: e.spot.location.coordinates[0] },
217
+ class: ""
218
+ }, null, 8, ["location"]),
219
+ n("div", kt, [
220
+ (a(), r("svg", {
221
+ onClick: i[0] || (i[0] = (l) => s.$router.push(`/organizations/${t.organization._id}/spots/${e.spot._id}/edit`)),
222
+ class: "i-regular pos-absolute pos-r-0 pos-t-0 t-transp",
223
+ width: "652",
224
+ height: "652",
225
+ viewBox: "0 0 652 652",
226
+ fill: "none",
227
+ xmlns: "http://www.w3.org/2000/svg"
228
+ }, Ot)),
229
+ n("h3", {
230
+ onClick: i[1] || (i[1] = (l) => s.$router.push(`/app/organization/${t.organization._id}/spots/${e.spot._id}`)),
231
+ class: "mn-small w-100",
232
+ innerHTML: e.spot.profile.name
233
+ }, null, 8, Lt),
234
+ n("p", {
235
+ onClick: i[2] || (i[2] = (l) => s.$router.push(`/app/organization/${t.organization._id}/spots/${e.spot._id}`)),
236
+ class: "mn-small p-big w-100",
237
+ innerHTML: e.spot.address
238
+ }, null, 8, St),
239
+ m(q, { class: "radius-small o-hidden br-1px br-solid br-grey mn-thin" }, {
240
+ header: y(() => [
241
+ n("div", zt, [
242
+ Mt,
243
+ n("p", Pt, g(e.spot.members.length) + " человек", 1),
244
+ At
245
+ ])
246
+ ]),
247
+ content: y(() => [
248
+ n("ul", null, [
249
+ e.spot.members.length < 1 ? (a(), r("li", Dt, "В отделе еще нет участников")) : f("", !0),
250
+ (a(!0), r(k, null, C(e.spot.members, (l, o) => (a(), b(ge, {
251
+ class: "br-b br-solid br-grey",
252
+ key: o,
253
+ user: l.user,
254
+ position: l.position,
255
+ onClick: (p) => s.$router.push(`/app/profile/${l.user._id}`)
256
+ }, null, 8, ["user", "position", "onClick"]))), 128))
257
+ ])
258
+ ]),
259
+ _: 1
260
+ }),
261
+ m(q, { class: "radius-small o-hidden br-1px br-solid br-grey mn-thin" }, {
262
+ header: y(() => [
263
+ n("div", Vt, [
264
+ Et,
265
+ n("p", Ft, g(e.spot.subspots ? e.spot.subspots.length : 0) + " отделов", 1),
266
+ Tt
267
+ ])
268
+ ]),
269
+ content: y(() => [
270
+ n("ul", null, [
271
+ e.spot.subspots.length < 1 ? (a(), r("li", It, "В отделе еще нет подотделов")) : f("", !0),
272
+ (a(!0), r(k, null, C(e.spot.subspots, (l, o) => (a(), b(ft, {
273
+ onClick: (p) => s.$router.push(`/app/organization/spots/${l._id}`),
274
+ key: o,
275
+ class: "br-b br-solid br-grey",
276
+ spot: l
277
+ }, null, 8, ["onClick", "spot"]))), 128))
278
+ ])
279
+ ]),
280
+ _: 1
281
+ })
282
+ ])
283
+ ]));
284
+ }
285
+ }, Bt = /* @__PURE__ */ M(Ut, [["__scopeId", "data-v-6ef388c4"]]), G = he.create({ baseURL: process.env.API_URL, withCredentials: !0 });
286
+ G.defaults.withCredentials = !0;
287
+ const _ = pe({
288
+ spots: [],
289
+ spot: {
290
+ organization: "",
291
+ profile: {
292
+ photo: "",
293
+ name: "",
294
+ description: "",
295
+ categories: []
296
+ },
297
+ address: "",
298
+ location: {
299
+ lat: null,
300
+ lng: null
301
+ },
302
+ worktime: [],
303
+ delivery: [],
304
+ payment: [],
305
+ members: [],
306
+ subspots: []
307
+ },
308
+ error: null
309
+ }), R = {
310
+ async readOne(e) {
311
+ await G.get(`/api/spots/get/${e}`).then((t) => {
312
+ _.spot = t.data, _.error = null;
313
+ }).catch((t) => {
314
+ L(t);
315
+ });
316
+ },
317
+ async read(e) {
318
+ await G.get(`/api/spots/${e}`).then((t) => {
319
+ console.log("Response:", t), _.spots = t.data, _.error = null;
320
+ }).catch((t) => {
321
+ L(t);
322
+ });
323
+ },
324
+ async create(e, t) {
325
+ await G.post(`/api/spots/${e}/create`, t).then((s) => {
326
+ _.error = null, _.spot = s.data;
327
+ }).catch((s) => {
328
+ L(s);
329
+ });
330
+ },
331
+ async update(e, t) {
332
+ await G.post(`/api/spots/${e}/update`, t).then(() => {
333
+ _.error = null;
334
+ }).catch((s) => {
335
+ L(s);
336
+ });
337
+ },
338
+ async delete(e, t) {
339
+ await G.delete(`/api/spots/${e}/delete`, { data: { _id: t } }).then(() => {
340
+ _.error = null;
341
+ }).catch((s) => {
342
+ L(s);
343
+ });
344
+ }
345
+ };
346
+ H(_, (e, t) => {
347
+ });
348
+ const jt = {
349
+ __name: "Feed",
350
+ props: {
351
+ organization: Object,
352
+ units: Array,
353
+ memberships: Array
354
+ },
355
+ async setup(e) {
356
+ let t, s;
357
+ const i = e;
358
+ w("spots"), [t, s] = ee(() => R.read(i.organization._id)), await t, s();
359
+ const l = N(() => {
360
+ const o = _.spots, p = o.flatMap(
361
+ (c) => c.subspots.map((d) => d._id)
362
+ );
363
+ return o.filter(
364
+ (c) => !p.includes(c._id)
365
+ );
366
+ });
367
+ return (o, p) => (a(), b(F, { name: "slide-fade" }, {
368
+ default: y(() => [
369
+ n("div", null, [
370
+ $(l).length < 1 ? (a(), b(_e, {
371
+ key: 0,
372
+ title: "You don't have any spots yet.",
373
+ description: "Add spots to your hub.",
374
+ action: "Add spot",
375
+ callback: () => o.$router.push(`/spots/${i.organization._id}/spots/create`)
376
+ }, null, 8, ["callback"])) : f("", !0),
377
+ n("div", null, [
378
+ (a(!0), r(k, null, C($(l), (c, d) => (a(), b(Bt, {
379
+ key: d,
380
+ spot: c,
381
+ organization: e.organization,
382
+ class: "radius-big bg-grey mn-thin"
383
+ }, null, 8, ["spot", "organization"]))), 128)),
384
+ $(l).length > 0 && T.user._id === e.organization.owner ? (a(), r("button", {
385
+ key: 0,
386
+ onClick: p[0] || (p[0] = (c) => o.$router.push(`/spots/${i.organization._id}/spots/create`)),
387
+ class: "mn-thin button w-100"
388
+ }, " Add spot ")) : f("", !0)
389
+ ])
390
+ ])
391
+ ]),
392
+ _: 1
393
+ }));
394
+ }
395
+ }, Rt = { class: "mn-small w-100" }, qt = ["href"], Nt = /* @__PURE__ */ n("span", { class: "t-semi uppercase" }, "Website", -1), Ht = [
396
+ Nt
397
+ ], Zt = ["href"], Kt = /* @__PURE__ */ n("span", { class: "t-semi uppercase" }, "Phone", -1), Gt = [
398
+ Kt
399
+ ], Yt = ["href"], Wt = /* @__PURE__ */ n("span", { class: "t-semi uppercase" }, "Email", -1), Jt = [
400
+ Wt
401
+ ], Qt = ["href"], Xt = /* @__PURE__ */ n("span", { class: "t-semi uppercase" }, "Address", -1), es = [
402
+ Xt
403
+ ], Ni = {
404
+ __name: "Contacts",
405
+ props: {
406
+ website: String,
407
+ phone: String,
408
+ email: String,
409
+ address: String
410
+ },
411
+ setup(e) {
412
+ const t = e, s = N(() => t.website ? !t.website.startsWith("http://") && !t.website.startsWith("https://") ? `http://${t.website}` : t.website : null), i = N(() => t.address ? encodeURIComponent(t.address) : null);
413
+ return (l, o) => (a(), r("div", Rt, [
414
+ $(s) ? (a(), r("a", {
415
+ key: 0,
416
+ href: $(s),
417
+ target: "_blank",
418
+ class: "w-100 br-2px br-solid br-grey radius-small pd-small flex-v-center flex-nowrap flex"
419
+ }, Ht, 8, qt)) : f("", !0),
420
+ t.phone ? (a(), r("a", {
421
+ key: 1,
422
+ href: `tel:${t.phone}`,
423
+ class: "w-100 br-2px br-solid br-grey radius-small pd-small flex-v-center flex-nowrap flex"
424
+ }, Gt, 8, Zt)) : f("", !0),
425
+ t.email ? (a(), r("a", {
426
+ key: 2,
427
+ href: `mailto:${t.email}`,
428
+ target: "_blank",
429
+ class: "w-100 br-2px br-solid br-grey radius-small pd-small flex-v-center flex-nowrap flex"
430
+ }, Jt, 8, Yt)) : f("", !0),
431
+ $(i) ? (a(), r("a", {
432
+ key: 3,
433
+ href: `https://www.google.com/maps/search/?api=1&query=${$(i)}`,
434
+ target: "_blank",
435
+ class: "w-100 br-2px br-solid br-grey radius-small pd-small flex-v-center flex-nowrap flex"
436
+ }, es, 8, Qt)) : f("", !0)
437
+ ]));
438
+ }
439
+ }, ts = { class: "w-100 mn-small star-container flex-v-center flex" }, ss = { class: "p-big t-semi mn-r-small" }, ns = /* @__PURE__ */ n("path", {
440
+ fill: "#00FF88",
441
+ d: "M62.2406 5.85971L75.413 32.6098L105.203 36.8654C110.472 37.676 112.498 44.3636 108.648 48.0113L87.1668 68.8844L92.2331 98.2689C93.2464 103.741 87.5721 107.591 82.9111 105.159L56.3637 91.3788L29.8163 105.159C25.1553 107.794 19.4811 103.741 20.4944 98.4716L25.5607 68.8844L4.07956 48.0113C0.22917 44.3636 2.25569 37.676 7.52464 36.8654L37.3145 32.6098L50.4868 5.85971C52.9186 0.996063 59.8088 0.996063 62.2406 5.85971Z"
442
+ }, null, -1), as = [
443
+ ns
444
+ ], os = { class: "" }, Hi = {
445
+ __name: "Rating",
446
+ props: {
447
+ rating: {
448
+ type: Number,
449
+ required: !0
450
+ },
451
+ amount: {
452
+ type: Number,
453
+ required: !0
454
+ }
455
+ },
456
+ setup(e) {
457
+ return (t, s) => (a(), r("section", null, [
458
+ n("div", ts, [
459
+ n("span", ss, g(e.rating), 1),
460
+ (a(), r(k, null, C(5, (i) => n("svg", {
461
+ class: ne(["i-semi mn-r-small", { "t-transp": i > e.rating }]),
462
+ width: "113",
463
+ height: "108",
464
+ viewBox: "0 0 113 108",
465
+ fill: "none",
466
+ xmlns: "http://www.w3.org/2000/svg"
467
+ }, as, 2)), 64))
468
+ ]),
469
+ n("p", os, "Based on " + g(e.amount) + " reviews", 1)
470
+ ]));
471
+ }
472
+ }, is = { class: "t-center flex-center flex-column flex pd-medium radius-big bg-grey" }, ls = { class: "bg-black pd-thin radius-small" }, rs = /* @__PURE__ */ n("button", { class: "w-100 bg-black br-solid br-1px br-white-transp-20 t-white button-small button" }, " Report ", -1), ds = ["src"], cs = { class: "mn-thin" }, us = { class: "mn-medium p-big" }, ps = { class: "flex-center flex-wrap gap-thin flex mn-semi" }, ms = { class: "pd-thin radius-small t-semi uppercase t-black bg-main p-medium" }, hs = { class: "t-semi mn-small" }, _s = {
473
+ key: 5,
474
+ class: "mn-t-small mn-thin"
475
+ }, gs = {
476
+ __name: "DetailsTab",
477
+ props: {
478
+ organization: Object,
479
+ user: Object
480
+ },
481
+ setup(e) {
482
+ const t = B(), s = ({ membership: i, status: l, target: o }, p, c) => {
483
+ We.handleMembershipUpdate(x.current, i, l, o, p, c);
484
+ };
485
+ return (i, l) => (a(), b(F, { name: "slide-fade" }, {
486
+ default: y(() => [
487
+ n("section", is, [
488
+ e.user._id !== e.organization.owner ? (a(), b(qe, {
489
+ key: 0,
490
+ label: "...",
491
+ align: "right",
492
+ class: "cursor-pointer pos-absolute pos-r-0 pos-t-0 pd-thin radius-extra"
493
+ }, {
494
+ default: y(() => [
495
+ n("section", ls, [
496
+ m(Ne, {
497
+ user: e.user._id,
498
+ type: "organization",
499
+ target: e.organization._id,
500
+ text: "Report",
501
+ class: "w-100"
502
+ }, {
503
+ default: y(() => [
504
+ rs
505
+ ]),
506
+ _: 1
507
+ }, 8, ["user", "target"]),
508
+ e.user._id && e.user._id !== e.organization.owner ? (a(), b(we, {
509
+ key: 0,
510
+ user: e.user._id,
511
+ type: "organization",
512
+ role: "blocked",
513
+ target: e.organization._id,
514
+ status: e.organization.isBlocked,
515
+ text: { create: "Block", remove: "Unblock" },
516
+ onUpdateMembership: l[0] || (l[0] = (o) => s(o, "isBlocked")),
517
+ class: "t-white mn-t-thin bg-red"
518
+ }, null, 8, ["user", "target", "status"])) : f("", !0)
519
+ ])
520
+ ]),
521
+ _: 1
522
+ }, 8, ["label"])) : f("", !0),
523
+ e.user._id === e.organization.owner ? (a(), b(Ke, {
524
+ key: 1,
525
+ onClick: l[1] || (l[1] = (o) => i.$router.push({
526
+ name: "Organization Edit",
527
+ params: {
528
+ _id: e.organization._id
529
+ }
530
+ })),
531
+ class: "pos-absolute pos-t-regular pos-r-regular i-regular t-transp"
532
+ })) : f("", !0),
533
+ e.organization.profile.photo ? (a(), r("img", {
534
+ key: 2,
535
+ src: (i.FILE_SERVER_URL || "") + e.organization.profile.photo,
536
+ class: "radius-big bg-grey flex-center flex mn-small i-extra"
537
+ }, null, 8, ds)) : (a(), b(Ge, {
538
+ key: 3,
539
+ class: "radius-medium mn-small i-extra"
540
+ })),
541
+ n("h1", cs, g(e.organization.profile.name), 1),
542
+ n("p", us, [
543
+ m(He, {
544
+ text: e.organization.profile.description ? e.organization.profile.description : "",
545
+ maxLen: 240
546
+ }, null, 8, ["text"])
547
+ ]),
548
+ n("div", ps, [
549
+ (a(!0), r(k, null, C(e.organization.profile.tags, (o) => (a(), r("span", ms, g(o), 1))), 256))
550
+ ]),
551
+ n("p", hs, " 👨‍👨‍👧‍👧 " + g(e.organization.numberOfSubscribers) + " followers ", 1),
552
+ e.user._id && $(t).params._id && $(t).params._id !== e.user._id && e.organization.owner !== e.user._id ? (a(), b(we, {
553
+ key: 4,
554
+ user: e.user._id,
555
+ type: "organization",
556
+ role: "subscriber",
557
+ target: e.organization._id,
558
+ status: e.organization.isSubscriber,
559
+ text: { create: "Follow", remove: "Unfollow" },
560
+ onUpdateMembership: l[2] || (l[2] = (o) => s(o, "isSubscriber", "numberOfSubscribers")),
561
+ class: "w-min mn-medium mn-r-auto mn-l-auto"
562
+ }, null, 8, ["user", "target", "status"])) : f("", !0),
563
+ Object.values(e.organization.socials).some((o) => o) ? (a(), r("h4", _s, " Find us in socials ")) : f("", !0),
564
+ m(Ye, {
565
+ telegram: e.organization.socials.telegram,
566
+ facebook: e.organization.socials.facebook,
567
+ instagram: e.organization.socials.instagram,
568
+ twitter: e.organization.socials.twitter
569
+ }, null, 8, ["telegram", "facebook", "instagram", "twitter"])
570
+ ])
571
+ ]),
572
+ _: 1
573
+ }));
574
+ }
575
+ };
576
+ const fs = { class: "pd-medium bg-grey radius-big" }, bs = { class: "mn-small" }, vs = /* @__PURE__ */ n("hr", { class: "mn-small" }, null, -1), ys = { class: "mn-r-auto t-medium p-big" }, $s = /* @__PURE__ */ n("hr", { class: "mn-small" }, null, -1), ws = { class: "mn-r-auto t-medium p-big" }, xs = /* @__PURE__ */ n("hr", { class: "mn-small" }, null, -1), ks = /* @__PURE__ */ n("p", { class: "mn-r-auto t-medium p-big" }, "Delivery", -1), Cs = /* @__PURE__ */ n("hr", { class: "mn-semi" }, null, -1), Os = {
577
+ __name: "FilterProducts",
578
+ props: {
579
+ selectedFilters: Object,
580
+ prices: {
581
+ type: Array,
582
+ default: () => [
583
+ { label: "Under $5", value: { min: 0, max: 5 } },
584
+ { label: "$5 to $10", value: { min: 5, max: 10 } },
585
+ { label: "$10 to $20", value: { min: 10, max: 20 } },
586
+ { label: "$20 and above", value: { min: 20, max: 1 / 0 } }
587
+ ]
588
+ },
589
+ deliveryOptions: {
590
+ type: Array,
591
+ default: () => [
592
+ { label: "Pickup", value: { min: 0, max: 25 } },
593
+ { label: "Courier", value: { min: 25, max: 50 } },
594
+ { label: "Post", value: { min: 50, max: 100 } }
595
+ ]
596
+ }
597
+ },
598
+ emits: ["updateFilters", "resetFilters"],
599
+ async setup(e, { emit: t }) {
600
+ let s, i;
601
+ [s, i] = ee(() => Je.fetchCategories()), await s, i();
602
+ let l = w({
603
+ categories: [],
604
+ prices: [],
605
+ delivery: [],
606
+ extra: []
607
+ });
608
+ const o = (u, h) => {
609
+ t("updateFilters", { filterType: u, value: h });
610
+ }, p = () => {
611
+ t("resetFilters");
612
+ }, c = {
613
+ locale: "en",
614
+ messages: {
615
+ en: {
616
+ categoriesTitle: "Category",
617
+ categories: [],
618
+ filters: {
619
+ title: "Filters",
620
+ price: {
621
+ title: "Price",
622
+ from: "From",
623
+ to: "To"
624
+ },
625
+ filters: [],
626
+ reset: "Reset Filters"
627
+ }
628
+ },
629
+ ru: {
630
+ categoriesTitle: "Категория",
631
+ categories: [],
632
+ filters: {
633
+ title: "Фильтры",
634
+ price: {
635
+ title: "Цена",
636
+ from: "От",
637
+ to: "До"
638
+ },
639
+ filters: [],
640
+ reset: "Сбросить фильтры"
641
+ }
642
+ }
643
+ }
644
+ };
645
+ xe.all.forEach((u) => {
646
+ u.localization.forEach((h) => {
647
+ c.messages[h.locale].categories.push(h.text);
648
+ });
649
+ });
650
+ const { t: d } = Be(c);
651
+ return (u, h) => (a(), r("div", fs, [
652
+ n("h3", bs, g($(d)("filters.title")), 1),
653
+ vs,
654
+ m(q, {
655
+ class: "radius-small o-hidden br-1px br-solid br-grey mn-small",
656
+ status: !0
657
+ }, {
658
+ header: y(() => [
659
+ n("p", ys, g($(d)("categoriesTitle")), 1)
660
+ ]),
661
+ content: y(() => [
662
+ (a(!0), r(k, null, C(xe.all, (v, O) => (a(), b(I, {
663
+ key: O,
664
+ label: v.name,
665
+ value: v.url,
666
+ class: "w-100 mn-t-small mn-small bg-white radius-small pd-small",
667
+ radio: $(l).categories,
668
+ onChange: (D) => o("categories", v.url)
669
+ }, null, 8, ["label", "value", "radio", "onChange"]))), 128))
670
+ ]),
671
+ _: 1
672
+ }),
673
+ $s,
674
+ m(q, {
675
+ class: "radius-small o-hidden br-1px br-solid br-grey mn-small",
676
+ status: !1
677
+ }, {
678
+ header: y(() => [
679
+ n("p", ws, g($(d)("filters.price.title")), 1)
680
+ ]),
681
+ content: y(() => [
682
+ (a(!0), r(k, null, C(e.prices, (v, O) => (a(), b(I, {
683
+ key: O,
684
+ label: v.label,
685
+ value: v.value,
686
+ class: "w-100 mn-t-small bg-white radius-small pd-small",
687
+ radio: $(l).prices,
688
+ onChange: (D) => o("prices", v.value)
689
+ }, null, 8, ["label", "value", "radio", "onChange"]))), 128))
690
+ ]),
691
+ _: 1
692
+ }),
693
+ xs,
694
+ m(q, {
695
+ class: "radius-small o-hidden br-1px br-solid br-grey mn-small",
696
+ status: !1
697
+ }, {
698
+ header: y(() => [
699
+ ks
700
+ ]),
701
+ content: y(() => [
702
+ (a(!0), r(k, null, C(e.deliveryOptions, (v, O) => (a(), b(I, {
703
+ key: O,
704
+ label: v.label,
705
+ value: v.value,
706
+ class: "w-100 mn-t-small bg-white radius-small pd-small",
707
+ radio: $(l).delivery,
708
+ onChange: (D) => o("delivery", v.value)
709
+ }, null, 8, ["label", "value", "radio", "onChange"]))), 128))
710
+ ]),
711
+ _: 1
712
+ }),
713
+ Cs,
714
+ n("button", {
715
+ onClick: p,
716
+ class: "bg-main w-100 button"
717
+ }, g($(d)("filters.reset")), 1)
718
+ ]));
719
+ }
720
+ }, Ls = { class: "cols-2-1_3 gap-thin pd-thin" }, Ss = {
721
+ __name: "Products",
722
+ setup(e) {
723
+ const t = B();
724
+ return j(), (s, i) => (a(), r("div", Ls, [
725
+ m(Os),
726
+ m(Xe, {
727
+ states: {
728
+ empty: {
729
+ title: "No Products Found",
730
+ description: "Currently, there are no products available."
731
+ }
732
+ },
733
+ store: {
734
+ read: (l) => tt.read(l),
735
+ state: st
736
+ },
737
+ options: {
738
+ limit: 15,
739
+ organization: $(t).params._id
740
+ // user: user
741
+ }
742
+ }, {
743
+ default: y(({
744
+ items: l
745
+ }) => [
746
+ (a(!0), r(k, null, C(l, (o) => (a(), b(et, {
747
+ key: o._id,
748
+ product: o,
749
+ onClick: (p) => s.$router.push({
750
+ name: "Product Organization",
751
+ params: {
752
+ _id: $(t).params._id,
753
+ product: o._id
754
+ }
755
+ })
756
+ }, null, 8, ["product", "onClick"]))), 128))
757
+ ]),
758
+ _: 1
759
+ }, 8, ["states", "store", "options"])
760
+ ]));
761
+ }
762
+ };
763
+ const zs = { class: "pd-small flex-nowrap flex" }, Ms = { class: "user-card__info" }, Ps = { class: "user-card__name" }, As = { class: "user-card__position" }, Ds = {
764
+ __name: "DepartmentSub",
765
+ props: {
766
+ department: {
767
+ type: Object,
768
+ required: !0
769
+ }
770
+ // Define other props here
771
+ },
772
+ setup(e) {
773
+ return (t, s) => (a(), r("div", zs, [
774
+ n("div", Ms, [
775
+ n("p", Ps, g(e.department.name ? e.department.name : "Безымянный"), 1),
776
+ n("p", As, g(e.department.members ? e.department.members.length : "0") + " человек", 1)
777
+ ])
778
+ ]));
779
+ }
780
+ }, Ve = /* @__PURE__ */ M(Ds, [["__scopeId", "data-v-d65b1483"]]);
781
+ const le = (e) => (ae("data-v-02b80617"), e = e(), oe(), e), Vs = { class: "radius-big o-hidden cols-2-1_3" }, Es = { class: "pd-medium w-100" }, Fs = /* @__PURE__ */ le(() => /* @__PURE__ */ n("path", {
782
+ d: "M515.693 9.52082C510.095 3.91669 502.49 0.765625 494.563 0.765625C486.635 0.765625 479.036 3.91669 473.432 9.52082L48.7255 434.307C44.8244 438.214 42.0848 443.125 40.8088 448.496L0.939444 615.069C-1.47202 625.168 1.528 635.788 8.86652 643.132C16.2103 650.47 26.8305 653.47 36.9292 651.059L203.516 611.261H203.511C208.88 609.985 213.792 607.246 217.699 603.35L642.485 178.496C648.089 172.892 651.241 165.293 651.241 157.366C651.241 149.439 648.089 141.835 642.485 136.235L515.693 9.52082ZM113.76 453.708L388.307 179.161L472.828 263.682L198.281 538.229L113.76 453.708ZM87.1041 511.5L140.416 564.812L70.3014 581.614L87.1041 511.5ZM515.091 221.793L430.195 136.897L494.184 72.9075L579.08 157.429L515.091 221.793Z",
783
+ fill: "black"
784
+ }, null, -1)), Ts = [
785
+ Fs
786
+ ], Is = ["innerHTML"], Us = { class: "pd-small flex-v-center flex-nowrap flex" }, Bs = /* @__PURE__ */ le(() => /* @__PURE__ */ n("h5", { class: "w-100" }, "Contacts ", -1)), js = { class: "mn-r-small" }, Rs = /* @__PURE__ */ le(() => /* @__PURE__ */ n("svg", {
787
+ width: "14",
788
+ height: "9",
789
+ viewBox: "0 0 14 9",
790
+ fill: "none",
791
+ xmlns: "http://www.w3.org/2000/svg"
792
+ }, [
793
+ /* @__PURE__ */ n("path", {
794
+ "fill-rule": "evenodd",
795
+ "clip-rule": "evenodd",
796
+ d: "M12.4697 0.469727L13.5304 1.53039L7.00006 8.06072L0.469727 1.53039L1.53039 0.469727L7.00006 5.9394L12.4697 0.469727Z",
797
+ fill: "#8A8A8A"
798
+ })
799
+ ], -1)), qs = { key: 0 }, Ns = { class: "pd-small flex-v-center flex-nowrap flex" }, Hs = /* @__PURE__ */ le(() => /* @__PURE__ */ n("h5", { class: "w-100" }, "Working Hours ", -1)), Zs = { class: "mn-r-small" }, Ks = /* @__PURE__ */ le(() => /* @__PURE__ */ n("svg", {
800
+ width: "14",
801
+ height: "9",
802
+ viewBox: "0 0 14 9",
803
+ fill: "none",
804
+ xmlns: "http://www.w3.org/2000/svg"
805
+ }, [
806
+ /* @__PURE__ */ n("path", {
807
+ "fill-rule": "evenodd",
808
+ "clip-rule": "evenodd",
809
+ d: "M12.4697 0.469727L13.5304 1.53039L7.00006 8.06072L0.469727 1.53039L1.53039 0.469727L7.00006 5.9394L12.4697 0.469727Z",
810
+ fill: "#8A8A8A"
811
+ })
812
+ ], -1)), Gs = { key: 0 }, Ys = {
813
+ __name: "CardDepartment",
814
+ props: {
815
+ department: Object,
816
+ organization: Object
817
+ },
818
+ setup(e) {
819
+ const t = e;
820
+ return (s, i) => (a(), r("div", Vs, [
821
+ n("div", Es, [
822
+ (a(), r("svg", {
823
+ onClick: i[0] || (i[0] = (l) => s.$router.push(`/app/organization/${t.organization._id}/departments/${e.department._id}/edit`)),
824
+ class: "i-regular pos-absolute pos-r-0 pos-t-0 t-transp",
825
+ width: "652",
826
+ height: "652",
827
+ viewBox: "0 0 652 652",
828
+ fill: "none",
829
+ xmlns: "http://www.w3.org/2000/svg"
830
+ }, Ts)),
831
+ n("h3", {
832
+ onClick: i[1] || (i[1] = (l) => s.$router.push(`/app/organization/${t.organization._id}/departments/${e.department._id}`)),
833
+ class: "mn-small w-100",
834
+ innerHTML: e.department.profile.name
835
+ }, null, 8, Is),
836
+ m(q, { class: "radius-small o-hidden br-1px br-solid br-grey mn-thin" }, {
837
+ header: y(() => [
838
+ n("div", Us, [
839
+ Bs,
840
+ n("p", js, g(e.department.members.length) + " человек", 1),
841
+ Rs
842
+ ])
843
+ ]),
844
+ content: y(() => [
845
+ n("ul", null, [
846
+ e.department.members.length < 1 ? (a(), r("li", qs, "В отделе еще нет участников")) : f("", !0),
847
+ (a(!0), r(k, null, C(e.department.members, (l, o) => (a(), b(ge, {
848
+ class: "br-b br-solid br-grey",
849
+ key: o,
850
+ user: l.user,
851
+ position: l.position,
852
+ onClick: (p) => s.$router.push(`/app/profile/${l.user._id}`)
853
+ }, null, 8, ["user", "position", "onClick"]))), 128))
854
+ ])
855
+ ]),
856
+ _: 1
857
+ }),
858
+ m(q, { class: "radius-small o-hidden br-1px br-solid br-grey mn-thin" }, {
859
+ header: y(() => [
860
+ n("div", Ns, [
861
+ Hs,
862
+ n("p", Zs, g(e.department.subdepartments ? e.department.subdepartments.length : 0) + " отделов", 1),
863
+ Ks
864
+ ])
865
+ ]),
866
+ content: y(() => [
867
+ n("ul", null, [
868
+ e.department.subdepartments.length < 1 ? (a(), r("li", Gs, "В отделе еще нет подотделов")) : f("", !0),
869
+ (a(!0), r(k, null, C(e.department.subdepartments, (l, o) => (a(), b(Ve, {
870
+ onClick: (p) => s.$router.push(`/app/organization/departments/${l._id}`),
871
+ key: o,
872
+ class: "br-b br-solid br-grey",
873
+ department: l
874
+ }, null, 8, ["onClick", "department"]))), 128))
875
+ ])
876
+ ]),
877
+ _: 1
878
+ })
879
+ ])
880
+ ]));
881
+ }
882
+ }, Ws = /* @__PURE__ */ M(Ys, [["__scopeId", "data-v-02b80617"]]), Y = he.create({ baseURL: process.env.API_URL, withCredentials: !0 });
883
+ Y.defaults.withCredentials = !0;
884
+ const A = pe({
885
+ departments: [],
886
+ department: {
887
+ organization: "",
888
+ profile: {
889
+ photo: "",
890
+ name: "",
891
+ description: "",
892
+ categories: []
893
+ },
894
+ address: "",
895
+ location: {
896
+ lat: null,
897
+ lng: null
898
+ },
899
+ worktime: [],
900
+ delivery: [],
901
+ payment: [],
902
+ members: [],
903
+ subdepartments: []
904
+ },
905
+ error: null
906
+ }), Ee = {
907
+ async readOne(e) {
908
+ await Y.get(`/api/departments/get/${e}`).then((t) => {
909
+ A.department = t.data, A.error = null;
910
+ }).catch((t) => {
911
+ L(t);
912
+ });
913
+ },
914
+ async read(e) {
915
+ await Y.get(`/api/departments/${e}`).then((t) => {
916
+ console.log("Response:", t), A.departments = t.data, A.error = null;
917
+ }).catch((t) => {
918
+ L(t);
919
+ });
920
+ },
921
+ async create(e, t) {
922
+ await Y.post(`/api/departments/${e}/create`, t).then((s) => {
923
+ A.error = null, A.department = s.data;
924
+ }).catch((s) => {
925
+ L(s);
926
+ });
927
+ },
928
+ async update(e, t) {
929
+ await Y.post(`/api/departments/${e}/update`, t).then(() => {
930
+ A.error = null;
931
+ }).catch((s) => {
932
+ L(s);
933
+ });
934
+ },
935
+ async delete(e, t) {
936
+ await Y.delete(`/api/departments/${e}/delete`, { data: { _id: t } }).then(() => {
937
+ A.error = null;
938
+ }).catch((s) => {
939
+ L(s);
940
+ });
941
+ }
942
+ };
943
+ H(A, (e, t) => {
944
+ });
945
+ const Zi = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
946
+ __proto__: null,
947
+ actions: Ee,
948
+ state: A
949
+ }, Symbol.toStringTag, { value: "Module" })), Ki = {
950
+ __name: "FeedDepartments",
951
+ props: {
952
+ organization: Object,
953
+ units: Array,
954
+ memberships: Array
955
+ },
956
+ async setup(e) {
957
+ let t, s;
958
+ const i = e;
959
+ w("departments"), [t, s] = ee(() => Ee.read(i.organization._id)), await t, s();
960
+ const l = N(() => {
961
+ const o = A.departments, p = o.flatMap(
962
+ (c) => c.subdepartments.map((d) => d._id)
963
+ );
964
+ return o.filter(
965
+ (c) => !p.includes(c._id)
966
+ );
967
+ });
968
+ return (o, p) => (a(), b(F, { name: "slide-fade" }, {
969
+ default: y(() => [
970
+ n("div", null, [
971
+ $(l).length < 1 ? (a(), b(_e, {
972
+ key: 0,
973
+ title: "You don't have any spots yet.",
974
+ description: "Add spots to your hub.",
975
+ action: "Add spot",
976
+ callback: () => o.$router.push(`/organization/${i.organization._id}/departments/create`)
977
+ }, null, 8, ["callback"])) : f("", !0),
978
+ n("div", null, [
979
+ (a(!0), r(k, null, C($(l), (c, d) => (a(), b(Ws, {
980
+ key: d,
981
+ department: c,
982
+ organization: e.organization,
983
+ class: "radius-big bg-grey mn-thin"
984
+ }, null, 8, ["department", "organization"]))), 128)),
985
+ $(l).length > 0 && T.user._id === e.organization.owner ? (a(), r("button", {
986
+ key: 0,
987
+ onClick: p[0] || (p[0] = (c) => o.$router.push(`/organization/${i.organization._id}/departments/create`)),
988
+ class: "mn-thin button w-100"
989
+ }, " Add spot ")) : f("", !0)
990
+ ])
991
+ ])
992
+ ]),
993
+ _: 1
994
+ }));
995
+ }
996
+ }, W = he.create({ baseURL: process.env.API_URL, withCredentials: !0 });
997
+ W.defaults.withCredentials = !0;
998
+ const U = pe({
999
+ invites: [],
1000
+ invite: null,
1001
+ error: null
1002
+ }), Fe = {
1003
+ async read(e) {
1004
+ await W.get(`/api/invites/${e}`).then((t) => {
1005
+ U.invites = t.data, U.error = null;
1006
+ }).catch((t) => {
1007
+ L(t);
1008
+ });
1009
+ },
1010
+ async readOne(e) {
1011
+ await W.get(`/api/invites/get/${e}`).then((t) => {
1012
+ U.invite = t.data, T.user.phone = t.data.invitedPhone, T.user.email = t.data.invitedEmail;
1013
+ }).catch((t) => {
1014
+ L(t);
1015
+ });
1016
+ },
1017
+ async create(e, t) {
1018
+ await W.post(`/api/invites/${e}/create`, t).then(() => {
1019
+ U.error = null;
1020
+ }).catch((s) => {
1021
+ L(s);
1022
+ });
1023
+ },
1024
+ async update(e, t) {
1025
+ await W.put(`/api/invites/${e}/update`, t).then(() => {
1026
+ U.error = null;
1027
+ }).catch((s) => {
1028
+ L(s);
1029
+ });
1030
+ },
1031
+ async delete(e) {
1032
+ await W.delete(`/api/invites/${e}/delete`).then(() => {
1033
+ U.error = null;
1034
+ }).catch((t) => {
1035
+ L(t);
1036
+ });
1037
+ }
1038
+ };
1039
+ H(U, (e, t) => {
1040
+ });
1041
+ const Gi = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1042
+ __proto__: null,
1043
+ actions: Fe,
1044
+ state: U
1045
+ }, Symbol.toStringTag, { value: "Module" })), Js = { class: "mn-medium radius-medium pd-semi bg-white" }, Qs = /* @__PURE__ */ n("h3", { class: "mn-medium" }, "Добавить участников", -1), Xs = /* @__PURE__ */ n("p", { class: "mn-small t-transp p-medium" }, "Укажите email или телефон, чтобы отправить ссылку с приглашением:", -1), en = { class: "w-100 flex-nowrap flex" }, tn = {
1046
+ key: 0,
1047
+ class: "mn-r-medium flex-v-center flex"
1048
+ }, sn = ["onClick"], nn = /* @__PURE__ */ n("p", { class: "t-blue mn-r-small" }, "+ Добавить приглашение", -1), an = [
1049
+ nn
1050
+ ], on = /* @__PURE__ */ n("span", null, "Отправить приглашения ", -1), ln = {
1051
+ __name: "MembersAdd",
1052
+ props: {
1053
+ organization: Object
1054
+ },
1055
+ emits: ["send-invite"],
1056
+ setup(e, { emit: t }) {
1057
+ const s = e, i = w(null), l = w([{ contact: "", role: "" }]);
1058
+ function o() {
1059
+ l.value.push({ contact: "", role: "" });
1060
+ }
1061
+ function p(u) {
1062
+ l.value.splice(u, 1);
1063
+ }
1064
+ async function c(u) {
1065
+ await Fe.create(s.organization._id, l.value);
1066
+ }
1067
+ function d() {
1068
+ }
1069
+ return (u, h) => (a(), r("div", null, [
1070
+ n("section", Js, [
1071
+ Qs,
1072
+ Xs,
1073
+ (a(!0), r(k, null, C(l.value, (v, O) => (a(), r("div", {
1074
+ key: O,
1075
+ class: "br-1px br-solid br-grey flex radius-small mn-thin"
1076
+ }, [
1077
+ n("div", en, [
1078
+ m(E, {
1079
+ field: v.contact,
1080
+ "onUpdate:field": (D) => v.contact = D,
1081
+ placeholder: "Email или телефон",
1082
+ class: "w-100 bg-white",
1083
+ validation: i.value
1084
+ }, null, 8, ["field", "onUpdate:field", "validation"]),
1085
+ O > 0 ? (a(), r("div", tn, [
1086
+ n("button", {
1087
+ onClick: (D) => p(O),
1088
+ class: "button-small button"
1089
+ }, "×", 8, sn)
1090
+ ])) : f("", !0)
1091
+ ]),
1092
+ m(nt, {
1093
+ options: [
1094
+ { name: "Директор", value: "director" },
1095
+ { name: "Менеджер", value: "manager" },
1096
+ { name: "Сотрудник", value: "member" }
1097
+ ],
1098
+ prop: v,
1099
+ content: "role",
1100
+ placeholder: "Роль",
1101
+ size: "small",
1102
+ class: "w-80"
1103
+ }, null, 8, ["prop"])
1104
+ ]))), 128)),
1105
+ n("div", {
1106
+ onClick: o,
1107
+ class: "mn-small flex-v-center flex-nowrap flex"
1108
+ }, an),
1109
+ m(ce, {
1110
+ submit: u.a = () => c(U.invites),
1111
+ callback: d,
1112
+ class: "mn-t-medium"
1113
+ }, {
1114
+ default: y(() => [
1115
+ on
1116
+ ]),
1117
+ _: 1
1118
+ }, 8, ["submit"])
1119
+ ])
1120
+ ]));
1121
+ }
1122
+ }, rn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1123
+ __proto__: null,
1124
+ default: ln
1125
+ }, Symbol.toStringTag, { value: "Module" })), dn = { class: "mn-big radius-medium bg-white" }, cn = {
1126
+ key: 0,
1127
+ class: "pd-semi"
1128
+ }, un = { class: "br-grey br-1px br-solid radius-small flex-nowrap flex-v-center flex pd-medium" }, pn = { class: "w-100 mn-r-small" }, mn = { class: "t-transp" }, hn = {
1129
+ key: 0,
1130
+ class: "mn-l-medium flex-v-center flex"
1131
+ }, _n = ["onClick"], gn = {
1132
+ key: 1,
1133
+ class: "pd-semi"
1134
+ }, fn = { key: 0 }, bn = { class: "br-grey br-1px br-solid radius-small mn-thin flex-nowrap flex-v-center flex pd-medium" }, vn = { class: "w-100 mn-r-small" }, yn = { class: "t-transp" }, $n = { class: "mn-l-medium flex-v-center flex" }, wn = ["onClick"], Yi = {
1135
+ __name: "MembersList",
1136
+ props: {
1137
+ organization: Object,
1138
+ memberships: Array,
1139
+ invites: Array
1140
+ },
1141
+ emits: [["removeMember", "removeInvite"]],
1142
+ setup(e, { emit: t }) {
1143
+ const s = e, i = w("members");
1144
+ function l(p, c) {
1145
+ s.memberships.splice(p, 1), t("removeMember", c);
1146
+ }
1147
+ function o(p, c) {
1148
+ s.invites.splice(p, 1), t("removeInvite", c);
1149
+ }
1150
+ return (p, c) => (a(), r("section", dn, [
1151
+ m(Me, {
1152
+ selected: i.value,
1153
+ "onUpdate:selected": c[0] || (c[0] = (d) => i.value = d),
1154
+ class: "br-grey br-b br-solid radius-small",
1155
+ tabs: [
1156
+ { name: "Участники", value: "members" },
1157
+ { name: "Приглашения", value: "invites" }
1158
+ ]
1159
+ }, null, 8, ["selected"]),
1160
+ i.value === "members" ? (a(), r("div", cn, [
1161
+ (a(!0), r(k, null, C(e.memberships, (d, u) => (a(), r("div", un, [
1162
+ n("span", pn, g(d.user.email) + " " + g(d.user.phone), 1),
1163
+ n("span", mn, g(d.position), 1),
1164
+ d.position !== "Основатель" ? (a(), r("div", hn, [
1165
+ n("button", {
1166
+ onClick: (h) => l(u, d),
1167
+ class: "button-small button"
1168
+ }, "×", 8, _n)
1169
+ ])) : f("", !0)
1170
+ ]))), 256))
1171
+ ])) : f("", !0),
1172
+ i.value === "invites" ? (a(), r("div", gn, [
1173
+ e.invites.length < 1 ? (a(), r("span", fn, "В организации нет приглашений")) : f("", !0),
1174
+ (a(!0), r(k, null, C(e.invites, (d, u) => (a(), r("div", bn, [
1175
+ n("span", vn, g(d.invitedEmail) + " " + g(d.invitedPhone), 1),
1176
+ n("span", yn, g(d.status), 1),
1177
+ n("div", $n, [
1178
+ n("button", {
1179
+ onClick: (h) => o(u, d),
1180
+ class: "button-small button"
1181
+ }, "×", 8, wn)
1182
+ ])
1183
+ ]))), 256))
1184
+ ])) : f("", !0)
1185
+ ]));
1186
+ }
1187
+ };
1188
+ const xn = {
1189
+ key: 0,
1190
+ class: "pd-thin for-transition w-100"
1191
+ }, kn = /* @__PURE__ */ n("p", null, "34 members", -1), Cn = [
1192
+ kn
1193
+ ], On = { class: "pos-relative" }, Ln = { key: 0 }, Sn = {
1194
+ __name: "Organization",
1195
+ setup(e) {
1196
+ const t = j(), s = B();
1197
+ let i = s.query.tab ? s.query.tab : "events";
1198
+ const l = w(null);
1199
+ ue(async () => {
1200
+ l.value = await J.read({ _id: s.params._id, user: T.user._id }), await Pe.read(s.params._id);
1201
+ });
1202
+ const o = w(i);
1203
+ return s.query.tab = o.value, H(o, (p) => {
1204
+ t.replace({ query: { ...s.query, tab: p } });
1205
+ }), (p, c) => l.value ? (a(), r("div", xn, [
1206
+ m(gs, {
1207
+ organization: x.current,
1208
+ user: T.user,
1209
+ class: "mn-semi"
1210
+ }, null, 8, ["organization", "user"]),
1211
+ n("section", {
1212
+ onClick: c[0] || (c[0] = (d) => $(t).push({
1213
+ name: "Organization Members",
1214
+ params: {
1215
+ _id: $(s).params._id
1216
+ }
1217
+ })),
1218
+ class: "mn-semi bg-grey radius-big pd-medium"
1219
+ }, Cn),
1220
+ m(Me, {
1221
+ selected: o.value,
1222
+ "onUpdate:selected": c[1] || (c[1] = (d) => o.value = d),
1223
+ tabs: [
1224
+ { name: "Community", value: "community" },
1225
+ // { name: 'Products', value: 'products' },
1226
+ { name: "Events", value: "events" }
1227
+ // { name: 'Spots', value: 'spots' }
1228
+ ],
1229
+ class: "mn-small o-hidden h5 radius-big bg-grey"
1230
+ }, null, 8, ["selected"]),
1231
+ n("div", On, [
1232
+ m(F, { name: "slide-fade" }, {
1233
+ default: y(() => [
1234
+ o.value === "community" ? (a(), b(Re, {
1235
+ key: 0,
1236
+ user: T.user._id,
1237
+ owner: $(s).params._id
1238
+ }, null, 8, ["user", "owner"])) : f("", !0)
1239
+ ]),
1240
+ _: 1
1241
+ }),
1242
+ m(F, { name: "slide-fade" }, {
1243
+ default: y(() => [
1244
+ o.value === "events" ? (a(), b(je, {
1245
+ key: 0,
1246
+ user: T.user._id,
1247
+ owner: $(s).params._id,
1248
+ sortOrder: "asc"
1249
+ }, null, 8, ["user", "owner"])) : f("", !0)
1250
+ ]),
1251
+ _: 1
1252
+ }),
1253
+ m(F, { name: "slide-fade" }, {
1254
+ default: y(() => [
1255
+ o.value === "products" ? (a(), b(Ss, {
1256
+ key: 0,
1257
+ organization: x.current
1258
+ }, null, 8, ["organization"])) : f("", !0)
1259
+ ]),
1260
+ _: 1
1261
+ }),
1262
+ m(F, { name: "slide-fade" }, {
1263
+ default: y(() => [
1264
+ o.value === "spots" ? (a(), r("div", Ln, [
1265
+ m(jt, {
1266
+ organization: x.current,
1267
+ memberships: Ae.memberships
1268
+ }, null, 8, ["organization", "memberships"])
1269
+ ])) : f("", !0)
1270
+ ]),
1271
+ _: 1
1272
+ })
1273
+ ])
1274
+ ])) : f("", !0);
1275
+ }
1276
+ }, zn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1277
+ __proto__: null,
1278
+ default: Sn
1279
+ }, Symbol.toStringTag, { value: "Module" })), Mn = { class: "for-transition w-100" }, Pn = {
1280
+ id: "dash",
1281
+ class: "pd-medium bg-grey"
1282
+ }, An = { class: "mn-medium radius-medium pd-semi bg-white" }, Dn = { class: "flex-nowrap flex mn-small" }, Vn = { class: "w-100" }, En = /* @__PURE__ */ n("path", {
1283
+ d: "M515.693 9.52082C510.095 3.91669 502.49 0.765625 494.563 0.765625C486.635 0.765625 479.036 3.91669 473.432 9.52082L48.7255 434.307C44.8244 438.214 42.0848 443.125 40.8088 448.496L0.939444 615.069C-1.47202 625.168 1.528 635.788 8.86652 643.132C16.2103 650.47 26.8305 653.47 36.9292 651.059L203.516 611.261H203.511C208.88 609.985 213.792 607.246 217.699 603.35L642.485 178.496C648.089 172.892 651.241 165.293 651.241 157.366C651.241 149.439 648.089 141.835 642.485 136.235L515.693 9.52082ZM113.76 453.708L388.307 179.161L472.828 263.682L198.281 538.229L113.76 453.708ZM87.1041 511.5L140.416 564.812L70.3014 581.614L87.1041 511.5ZM515.091 221.793L430.195 136.897L494.184 72.9075L579.08 157.429L515.091 221.793Z",
1284
+ fill: "black"
1285
+ }, null, -1), Fn = [
1286
+ En
1287
+ ], Tn = ["innerHTML"], In = { class: "mn-medium radius-medium pd-semi bg-white" }, Un = /* @__PURE__ */ n("h3", { class: "mn-regular" }, "Команда", -1), Bn = { key: 0 }, jn = { class: "mn-medium radius-medium pd-semi bg-white" }, Rn = /* @__PURE__ */ n("h3", { class: "mn-regular" }, "Подотделы", -1), qn = { key: 0 }, Nn = {
1288
+ __name: "Department",
1289
+ async setup(e) {
1290
+ let t, s;
1291
+ j();
1292
+ const i = B();
1293
+ return [t, s] = ee(() => R.readOne(i.params._id)), await t, s(), (l, o) => (a(), r("div", Mn, [
1294
+ n("div", Pn, [
1295
+ n("section", An, [
1296
+ n("div", Dn, [
1297
+ n("h2", Vn, g(_.department.name), 1),
1298
+ (a(), r("svg", {
1299
+ onClick: o[0] || (o[0] = (p) => l.$router.push(`/app/organization/departments/${_.department._id}/edit`)),
1300
+ class: "i-regular t-transp",
1301
+ width: "652",
1302
+ height: "652",
1303
+ viewBox: "0 0 652 652",
1304
+ fill: "none",
1305
+ xmlns: "http://www.w3.org/2000/svg"
1306
+ }, Fn))
1307
+ ]),
1308
+ n("p", {
1309
+ class: "t-transp p-big",
1310
+ innerHTML: _.department.description
1311
+ }, null, 8, Tn)
1312
+ ]),
1313
+ n("section", In, [
1314
+ Un,
1315
+ n("ul", null, [
1316
+ _.department.members.length < 1 ? (a(), r("li", Bn, "В отделе еще нет участников")) : f("", !0),
1317
+ (a(!0), r(k, null, C(_.department.members, (p, c) => (a(), b(ge, {
1318
+ class: "br-b br-solid br-grey",
1319
+ key: c,
1320
+ user: p.user,
1321
+ position: p.position,
1322
+ onClick: (d) => l.$router.push(`/app/profile/${p.user._id}`)
1323
+ }, null, 8, ["user", "position", "onClick"]))), 128))
1324
+ ])
1325
+ ]),
1326
+ n("section", jn, [
1327
+ Rn,
1328
+ n("ul", null, [
1329
+ _.department.subdepartments.length < 1 ? (a(), r("li", qn, "В отделе еще нет подотделов")) : f("", !0),
1330
+ (a(!0), r(k, null, C(_.department.subdepartments, (p, c) => (a(), b(Ve, {
1331
+ onClick: (d) => l.$router.push(`/app/organization/departments/${p._id}`),
1332
+ key: c,
1333
+ class: "br-b br-solid br-grey",
1334
+ department: p
1335
+ }, null, 8, ["onClick", "department"]))), 128))
1336
+ ])
1337
+ ])
1338
+ ])
1339
+ ]));
1340
+ }
1341
+ }, Hn = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1342
+ __proto__: null,
1343
+ default: Nn
1344
+ }, Symbol.toStringTag, { value: "Module" })), Zn = { class: "for-transition pd-thin" }, Kn = /* @__PURE__ */ n("h3", { class: "mn-small" }, "Type of group", -1), Gn = /* @__PURE__ */ n("p", { class: "mn-thin" }, "Public groups are open to everyone, whereas in exclusive groups only members can post. If you wish to make a group private, select 'hidden'.", -1), Yn = /* @__PURE__ */ n("h3", { class: "mn-small" }, "Profile", -1), Wn = { class: "mn-thin radius-small w-100 h-10r bg-grey flex-center flex-column flex" }, Jn = /* @__PURE__ */ n("h4", null, "Upload photo", -1), Qn = /* @__PURE__ */ n("h3", { class: "mn-small" }, "Socials", -1), Xn = /* @__PURE__ */ n("p", { class: "mn-thin" }, "Please provide only the username for social media profiles, without full links.", -1), ea = {
1345
+ __name: "OrganizationEdit",
1346
+ async setup(e) {
1347
+ let t, s;
1348
+ const i = B(), l = j();
1349
+ J.reset(), i.params._id && ([t, s] = ee(() => J.read({ _id: i.params._id })), await t, s());
1350
+ const o = N(() => x.current);
1351
+ async function p() {
1352
+ i.params._id ? await J.update(i.params._id, o.value) : await J.create(x.current, T.user._id);
1353
+ }
1354
+ function c() {
1355
+ l.replace({ name: "Organization", params: { _id: x.current._id } });
1356
+ }
1357
+ return (d, u) => (a(), r("div", Zn, [
1358
+ Kn,
1359
+ Gn,
1360
+ m(ot, {
1361
+ modelValue: x.current.types,
1362
+ "onUpdate:modelValue": u[0] || (u[0] = (h) => x.current.types = h),
1363
+ options: ["public", "exclusive", "hidden"],
1364
+ multiple: !1,
1365
+ taggable: !1,
1366
+ placeholder: "Type to search or add type of organization",
1367
+ class: "mn-semi bg-grey pd-medium radius-small"
1368
+ }, null, 8, ["modelValue"]),
1369
+ Yn,
1370
+ n("div", Wn, [
1371
+ m(De, {
1372
+ photo: x.current.profile.photo,
1373
+ "onUpdate:photo": u[1] || (u[1] = (h) => x.current.profile.photo = h),
1374
+ uploadPath: "organizations/" + x.current._id + "/avatars",
1375
+ class: "h-4r w-4r aspect-1x1 o-hidden mn-thin radius-extra"
1376
+ }, null, 8, ["photo", "uploadPath"]),
1377
+ Jn
1378
+ ]),
1379
+ m(E, {
1380
+ field: x.current.profile.name,
1381
+ "onUpdate:field": u[2] || (u[2] = (h) => x.current.profile.name = h),
1382
+ placeholder: "Name of organization",
1383
+ class: "mn-thin bg-grey pd-medium radius-small"
1384
+ }, null, 8, ["field"]),
1385
+ m(E, {
1386
+ field: x.current.profile.description,
1387
+ "onUpdate:field": u[3] || (u[3] = (h) => x.current.profile.description = h),
1388
+ placeholder: "Brief description of your group",
1389
+ class: "mn-thin bg-grey pd-medium radius-small"
1390
+ }, null, 8, ["field"]),
1391
+ m(at, {
1392
+ onTagsChanged: u[4] || (u[4] = (h) => x.current.profile.tags = h),
1393
+ tags: x.current.profile.tags
1394
+ }, null, 8, ["tags"]),
1395
+ Qn,
1396
+ Xn,
1397
+ m(E, {
1398
+ field: x.current.socials.instagram,
1399
+ "onUpdate:field": u[5] || (u[5] = (h) => x.current.socials.instagram = h),
1400
+ label: "Instagram",
1401
+ placeholder: "",
1402
+ class: "mn-thin bg-grey pd-medium radius-small"
1403
+ }, null, 8, ["field"]),
1404
+ m(E, {
1405
+ field: x.current.socials.twitter,
1406
+ "onUpdate:field": u[6] || (u[6] = (h) => x.current.socials.twitter = h),
1407
+ label: "Twitter",
1408
+ placeholder: "",
1409
+ class: "mn-thin bg-grey pd-medium radius-small"
1410
+ }, null, 8, ["field"]),
1411
+ m(E, {
1412
+ field: x.current.socials.facebook,
1413
+ "onUpdate:field": u[7] || (u[7] = (h) => x.current.socials.facebook = h),
1414
+ label: "Facebook",
1415
+ placeholder: "",
1416
+ class: "mn-thin bg-grey pd-medium radius-small"
1417
+ }, null, 8, ["field"]),
1418
+ m(E, {
1419
+ field: x.current.socials.telegram,
1420
+ "onUpdate:field": u[8] || (u[8] = (h) => x.current.socials.telegram = h),
1421
+ label: "Telegram",
1422
+ placeholder: "",
1423
+ class: "mn-thin bg-grey pd-medium radius-small"
1424
+ }, null, 8, ["field"]),
1425
+ m(ce, {
1426
+ submit: p,
1427
+ callback: c,
1428
+ class: "mn-thin"
1429
+ }, {
1430
+ default: y(() => [
1431
+ X("Save")
1432
+ ]),
1433
+ _: 1
1434
+ })
1435
+ ]));
1436
+ }
1437
+ }, ke = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
1438
+ __proto__: null,
1439
+ default: ea
1440
+ }, Symbol.toStringTag, { value: "Module" }));
1441
+ const ta = {
1442
+ key: 0,
1443
+ class: "t-transp mn-r-small"
1444
+ }, sa = ["placeholder", "value"], na = {
1445
+ key: 0,
1446
+ class: "mn-t-thin invalid-feedback"
1447
+ }, aa = {
1448
+ __name: "Address",
1449
+ props: {
1450
+ apiKey: {
1451
+ type: String,
1452
+ required: !0
1453
+ },
1454
+ label: null,
1455
+ placeholder: "Enter something here",
1456
+ field: null,
1457
+ location: {
1458
+ type: Object,
1459
+ default: { lat: 48.6900735, lng: 41.1620239 }
1460
+ },
1461
+ address: {
1462
+ type: String,
1463
+ default: ""
1464
+ }
1465
+ },
1466
+ emits: ["update:address", "update:location", "update:country", "update:state", "update:city"],
1467
+ setup(e, { emit: t }) {
1468
+ const s = e, i = w(null);
1469
+ let l;
1470
+ const o = () => {
1471
+ l = new google.maps.places.Autocomplete(i.value), l.addListener("place_changed", c);
1472
+ }, p = () => {
1473
+ l || o();
1474
+ }, c = () => {
1475
+ const d = l.getPlace();
1476
+ if (!d.geometry || !d.address_components)
1477
+ return;
1478
+ let u = "", h = "", v = "";
1479
+ for (let Z = 0; Z < d.address_components.length; Z++) {
1480
+ console.log(d.address_components);
1481
+ let S = d.address_components[Z];
1482
+ S.types.includes("country") && (u = S.long_name), S.types.includes("administrative_area_level_1") && (h = S.long_name), S.types.includes("locality") && (v = S.long_name);
1483
+ }
1484
+ const O = d.formatted_address, D = { lat: d.geometry.location.lat(), lng: d.geometry.location.lng() };
1485
+ t("update:address", O), t("update:location", D), t("update:country", u), t("update:state", h), t("update:city", v);
1486
+ };
1487
+ return de(() => {
1488
+ s.address !== i.value && (i.value = s.address);
1489
+ }), ue(() => {
1490
+ o();
1491
+ }), (d, u) => (a(), r("div", {
1492
+ class: ne([d.$attrs.class, "flex-nowrap flex"])
1493
+ }, [
1494
+ e.label ? (a(), r("div", ta, [
1495
+ n("span", null, g(e.label), 1)
1496
+ ])) : f("", !0),
1497
+ n("input", {
1498
+ ref_key: "addressInput",
1499
+ ref: i,
1500
+ class: "w-100",
1501
+ placeholder: e.placeholder,
1502
+ value: e.address,
1503
+ onInput: p
1504
+ }, null, 40, sa),
1505
+ m(F, {
1506
+ mode: "out-in",
1507
+ name: "fade"
1508
+ }, {
1509
+ default: y(() => [
1510
+ d.validation ? (a(), r("div", na, " * " + g(d.validation.message), 1)) : f("", !0)
1511
+ ]),
1512
+ _: 1
1513
+ })
1514
+ ], 2));
1515
+ }
1516
+ }, oa = /* @__PURE__ */ M(aa, [["__scopeId", "data-v-faece1a6"]]);
1517
+ const ia = (e) => (ae("data-v-29acef04"), e = e(), oe(), e), la = { class: "pos-relative map-container" }, ra = /* @__PURE__ */ ia(() => /* @__PURE__ */ n("svg", {
1518
+ class: "i-medium",
1519
+ width: "98",
1520
+ height: "98",
1521
+ viewBox: "0 0 98 98",
1522
+ fill: "none",
1523
+ xmlns: "http://www.w3.org/2000/svg"
1524
+ }, [
1525
+ /* @__PURE__ */ n("path", {
1526
+ d: "M50.0004 31.4995C39.7996 31.4995 31.5 39.7991 31.5 49.9999C31.5 60.2007 39.7996 68.5003 50.0004 68.5003C60.2012 68.5003 68.5008 60.2007 68.5008 49.9999C68.5008 39.7991 60.2012 31.4995 50.0004 31.4995ZM50.0004 63.7944C42.3941 63.7944 36.2059 57.6062 36.2059 49.9999C36.2059 42.3936 42.3941 36.2054 50.0004 36.2054C57.6067 36.2054 63.7949 42.3936 63.7949 49.9999C63.7949 57.6062 57.6067 63.7944 50.0004 63.7944Z",
1527
+ fill: "white"
1528
+ }),
1529
+ /* @__PURE__ */ n("path", {
1530
+ d: "M97.6471 47.6471H84.56C83.3977 30.4141 69.5859 16.6024 52.3529 15.44V2.35294C52.3529 1.05255 51.2988 0 50 0C48.6996 0 47.6471 1.05255 47.6471 2.35294V15.44C30.4141 16.6024 16.6024 30.4141 15.44 47.6471H2.35294C1.05255 47.6471 0 48.6996 0 50C0 51.2988 1.05255 52.3529 2.35294 52.3529H15.44C16.6024 69.5859 30.4141 83.3977 47.6471 84.56V97.6471C47.6471 98.9459 48.6996 100 50 100C51.2988 100 52.3529 98.9459 52.3529 97.6471V84.56C69.5859 83.3977 83.3977 69.5859 84.56 52.3529H97.6471C98.9459 52.3529 100 51.2988 100 50C100 48.6996 98.9459 47.6471 97.6471 47.6471ZM50 79.9435C33.4886 79.9435 20.0565 66.5114 20.0565 50C20.0565 33.4886 33.4886 20.0565 50 20.0565C66.5098 20.0565 79.9435 33.4886 79.9435 50C79.9435 66.5098 66.5098 79.9435 50 79.9435Z",
1531
+ fill: "white"
1532
+ })
1533
+ ], -1)), da = [
1534
+ ra
1535
+ ], ca = {
1536
+ __name: "LocationMarker",
1537
+ props: {
1538
+ location: {
1539
+ type: Object,
1540
+ default: { lat: 48.6900735, lng: 41.1620239 }
1541
+ },
1542
+ address: {
1543
+ type: String,
1544
+ default: ""
1545
+ },
1546
+ apiKey: String
1547
+ },
1548
+ emits: ["update:location", "update:address", "update:country", "update:state", "update:city"],
1549
+ setup(e, { emit: t }) {
1550
+ const s = e, i = w(null);
1551
+ let l, o;
1552
+ ue(() => {
1553
+ l = new google.maps.Map(i.value, {
1554
+ center: s.location,
1555
+ zoom: 15,
1556
+ mapTypeControl: !1,
1557
+ fullscreenControl: !1
1558
+ }), o = new google.maps.Marker({
1559
+ position: s.location,
1560
+ map: l,
1561
+ draggable: !0
1562
+ }), o.addListener("dragend", (d) => {
1563
+ const u = { lat: d.latLng.lat(), lng: d.latLng.lng() };
1564
+ t("update:location", u), p(u);
1565
+ });
1566
+ }), de(() => {
1567
+ s.location && o && o.setPosition(new google.maps.LatLng(s.location.lat, s.location.lng));
1568
+ }), de(() => {
1569
+ if (s.location && l) {
1570
+ const d = new google.maps.LatLng(s.location.lat, s.location.lng);
1571
+ l.setCenter(d);
1572
+ }
1573
+ });
1574
+ function p(d) {
1575
+ new google.maps.Geocoder().geocode({ location: d }, (h, v) => {
1576
+ if (v === "OK")
1577
+ if (h[0]) {
1578
+ t("update:address", h[0].formatted_address);
1579
+ let O = "", D = "", Z = "";
1580
+ h[0].address_components.forEach((S) => {
1581
+ S.types.includes("country") && (O = S.long_name), S.types.includes("administrative_area_level_1") && (D = S.long_name), S.types.includes("locality") && (Z = S.long_name);
1582
+ }), t("update:country", O), t("update:state", D), t("update:city", Z);
1583
+ } else
1584
+ console.error("No results found");
1585
+ else
1586
+ console.error("Geocoder failed due to: " + v);
1587
+ });
1588
+ }
1589
+ async function c() {
1590
+ navigator.geolocation ? navigator.geolocation.getCurrentPosition((d) => {
1591
+ const u = { lat: d.coords.latitude, lng: d.coords.longitude };
1592
+ t("update:location", u), p(u);
1593
+ }, () => {
1594
+ console.error("Error getting location");
1595
+ }) : console.error("Geolocation is not supported by this browser.");
1596
+ }
1597
+ return (d, u) => (a(), r("div", la, [
1598
+ n("div", {
1599
+ ref_key: "mapContainer",
1600
+ ref: i,
1601
+ class: "w-100 h-100"
1602
+ }, null, 512),
1603
+ n("button", {
1604
+ class: "pos-absolute pos-t-regular pos-r-regular i-semi bg-second radius-extra",
1605
+ onClick: c
1606
+ }, da)
1607
+ ]));
1608
+ }
1609
+ }, ua = /* @__PURE__ */ M(ca, [["__scopeId", "data-v-29acef04"]]);
1610
+ var pa = Object.defineProperty, ma = Object.defineProperties, ha = Object.getOwnPropertyDescriptors, Ce = Object.getOwnPropertySymbols, _a = Object.prototype.hasOwnProperty, ga = Object.prototype.propertyIsEnumerable, Oe = (e, t, s) => t in e ? pa(e, t, { enumerable: !0, configurable: !0, writable: !0, value: s }) : e[t] = s, K = (e, t) => {
1611
+ for (var s in t || (t = {}))
1612
+ _a.call(t, s) && Oe(e, s, t[s]);
1613
+ if (Ce)
1614
+ for (var s of Ce(t))
1615
+ ga.call(t, s) && Oe(e, s, t[s]);
1616
+ return e;
1617
+ }, Le = (e, t) => ma(e, ha(t));
1618
+ const fa = {
1619
+ props: {
1620
+ autoscroll: {
1621
+ type: Boolean,
1622
+ default: !0
1623
+ }
1624
+ },
1625
+ watch: {
1626
+ typeAheadPointer() {
1627
+ this.autoscroll && this.maybeAdjustScroll();
1628
+ },
1629
+ open(e) {
1630
+ this.autoscroll && e && this.$nextTick(() => this.maybeAdjustScroll());
1631
+ }
1632
+ },
1633
+ methods: {
1634
+ maybeAdjustScroll() {
1635
+ var e;
1636
+ const t = ((e = this.$refs.dropdownMenu) == null ? void 0 : e.children[this.typeAheadPointer]) || !1;
1637
+ if (t) {
1638
+ const s = this.getDropdownViewport(), { top: i, bottom: l, height: o } = t.getBoundingClientRect();
1639
+ if (i < s.top)
1640
+ return this.$refs.dropdownMenu.scrollTop = t.offsetTop;
1641
+ if (l > s.bottom)
1642
+ return this.$refs.dropdownMenu.scrollTop = t.offsetTop - (s.height - o);
1643
+ }
1644
+ },
1645
+ getDropdownViewport() {
1646
+ return this.$refs.dropdownMenu ? this.$refs.dropdownMenu.getBoundingClientRect() : {
1647
+ height: 0,
1648
+ top: 0,
1649
+ bottom: 0
1650
+ };
1651
+ }
1652
+ }
1653
+ }, ba = {
1654
+ data() {
1655
+ return {
1656
+ typeAheadPointer: -1
1657
+ };
1658
+ },
1659
+ watch: {
1660
+ filteredOptions() {
1661
+ for (let e = 0; e < this.filteredOptions.length; e++)
1662
+ if (this.selectable(this.filteredOptions[e])) {
1663
+ this.typeAheadPointer = e;
1664
+ break;
1665
+ }
1666
+ },
1667
+ open(e) {
1668
+ e && this.typeAheadToLastSelected();
1669
+ },
1670
+ selectedValue() {
1671
+ this.open && this.typeAheadToLastSelected();
1672
+ }
1673
+ },
1674
+ methods: {
1675
+ typeAheadUp() {
1676
+ for (let e = this.typeAheadPointer - 1; e >= 0; e--)
1677
+ if (this.selectable(this.filteredOptions[e])) {
1678
+ this.typeAheadPointer = e;
1679
+ break;
1680
+ }
1681
+ },
1682
+ typeAheadDown() {
1683
+ for (let e = this.typeAheadPointer + 1; e < this.filteredOptions.length; e++)
1684
+ if (this.selectable(this.filteredOptions[e])) {
1685
+ this.typeAheadPointer = e;
1686
+ break;
1687
+ }
1688
+ },
1689
+ typeAheadSelect() {
1690
+ const e = this.filteredOptions[this.typeAheadPointer];
1691
+ e && this.selectable(e) && this.select(e);
1692
+ },
1693
+ typeAheadToLastSelected() {
1694
+ this.typeAheadPointer = this.selectedValue.length !== 0 ? this.filteredOptions.indexOf(this.selectedValue[this.selectedValue.length - 1]) : -1;
1695
+ }
1696
+ }
1697
+ }, va = {
1698
+ props: {
1699
+ loading: {
1700
+ type: Boolean,
1701
+ default: !1
1702
+ }
1703
+ },
1704
+ data() {
1705
+ return {
1706
+ mutableLoading: !1
1707
+ };
1708
+ },
1709
+ watch: {
1710
+ search() {
1711
+ this.$emit("search", this.search, this.toggleLoading);
1712
+ },
1713
+ loading(e) {
1714
+ this.mutableLoading = e;
1715
+ }
1716
+ },
1717
+ methods: {
1718
+ toggleLoading(e = null) {
1719
+ return e == null ? this.mutableLoading = !this.mutableLoading : this.mutableLoading = e;
1720
+ }
1721
+ }
1722
+ }, fe = (e, t) => {
1723
+ const s = e.__vccOpts || e;
1724
+ for (const [i, l] of t)
1725
+ s[i] = l;
1726
+ return s;
1727
+ }, ya = {}, $a = {
1728
+ xmlns: "http://www.w3.org/2000/svg",
1729
+ width: "10",
1730
+ height: "10"
1731
+ }, wa = /* @__PURE__ */ n("path", { d: "M6.895455 5l2.842897-2.842898c.348864-.348863.348864-.914488 0-1.263636L9.106534.261648c-.348864-.348864-.914489-.348864-1.263636 0L5 3.104545 2.157102.261648c-.348863-.348864-.914488-.348864-1.263636 0L.261648.893466c-.348864.348864-.348864.914489 0 1.263636L3.104545 5 .261648 7.842898c-.348864.348863-.348864.914488 0 1.263636l.631818.631818c.348864.348864.914773.348864 1.263636 0L5 6.895455l2.842898 2.842897c.348863.348864.914772.348864 1.263636 0l.631818-.631818c.348864-.348864.348864-.914489 0-1.263636L6.895455 5z" }, null, -1), xa = [
1732
+ wa
1733
+ ];
1734
+ function ka(e, t) {
1735
+ return a(), r("svg", $a, xa);
1736
+ }
1737
+ const Ca = /* @__PURE__ */ fe(ya, [["render", ka]]), Oa = {}, La = {
1738
+ xmlns: "http://www.w3.org/2000/svg",
1739
+ width: "14",
1740
+ height: "10"
1741
+ }, Sa = /* @__PURE__ */ n("path", { d: "M9.211364 7.59931l4.48338-4.867229c.407008-.441854.407008-1.158247 0-1.60046l-.73712-.80023c-.407008-.441854-1.066904-.441854-1.474243 0L7 5.198617 2.51662.33139c-.407008-.441853-1.066904-.441853-1.474243 0l-.737121.80023c-.407008.441854-.407008 1.158248 0 1.600461l4.48338 4.867228L7 10l2.211364-2.40069z" }, null, -1), za = [
1742
+ Sa
1743
+ ];
1744
+ function Ma(e, t) {
1745
+ return a(), r("svg", La, za);
1746
+ }
1747
+ const Pa = /* @__PURE__ */ fe(Oa, [["render", Ma]]), Se = {
1748
+ Deselect: Ca,
1749
+ OpenIndicator: Pa
1750
+ }, Aa = {
1751
+ mounted(e, { instance: t }) {
1752
+ if (t.appendToBody) {
1753
+ const {
1754
+ height: s,
1755
+ top: i,
1756
+ left: l,
1757
+ width: o
1758
+ } = t.$refs.toggle.getBoundingClientRect();
1759
+ let p = window.scrollX || window.pageXOffset, c = window.scrollY || window.pageYOffset;
1760
+ e.unbindPosition = t.calculatePosition(e, t, {
1761
+ width: o + "px",
1762
+ left: p + l + "px",
1763
+ top: c + i + s + "px"
1764
+ }), document.body.appendChild(e);
1765
+ }
1766
+ },
1767
+ unmounted(e, { instance: t }) {
1768
+ t.appendToBody && (e.unbindPosition && typeof e.unbindPosition == "function" && e.unbindPosition(), e.parentNode && e.parentNode.removeChild(e));
1769
+ }
1770
+ };
1771
+ function Da(e) {
1772
+ const t = {};
1773
+ return Object.keys(e).sort().forEach((s) => {
1774
+ t[s] = e[s];
1775
+ }), JSON.stringify(t);
1776
+ }
1777
+ let Va = 0;
1778
+ function Ea() {
1779
+ return ++Va;
1780
+ }
1781
+ const Fa = {
1782
+ components: K({}, Se),
1783
+ directives: { appendToBody: Aa },
1784
+ mixins: [fa, ba, va],
1785
+ compatConfig: {
1786
+ MODE: 3
1787
+ },
1788
+ emits: [
1789
+ "open",
1790
+ "close",
1791
+ "update:modelValue",
1792
+ "search",
1793
+ "search:compositionstart",
1794
+ "search:compositionend",
1795
+ "search:keydown",
1796
+ "search:blur",
1797
+ "search:focus",
1798
+ "search:input",
1799
+ "option:created",
1800
+ "option:selecting",
1801
+ "option:selected",
1802
+ "option:deselecting",
1803
+ "option:deselected"
1804
+ ],
1805
+ props: {
1806
+ modelValue: {},
1807
+ components: {
1808
+ type: Object,
1809
+ default: () => ({})
1810
+ },
1811
+ options: {
1812
+ type: Array,
1813
+ default() {
1814
+ return [];
1815
+ }
1816
+ },
1817
+ disabled: {
1818
+ type: Boolean,
1819
+ default: !1
1820
+ },
1821
+ clearable: {
1822
+ type: Boolean,
1823
+ default: !0
1824
+ },
1825
+ deselectFromDropdown: {
1826
+ type: Boolean,
1827
+ default: !1
1828
+ },
1829
+ searchable: {
1830
+ type: Boolean,
1831
+ default: !0
1832
+ },
1833
+ multiple: {
1834
+ type: Boolean,
1835
+ default: !1
1836
+ },
1837
+ placeholder: {
1838
+ type: String,
1839
+ default: ""
1840
+ },
1841
+ transition: {
1842
+ type: String,
1843
+ default: "vs__fade"
1844
+ },
1845
+ clearSearchOnSelect: {
1846
+ type: Boolean,
1847
+ default: !0
1848
+ },
1849
+ closeOnSelect: {
1850
+ type: Boolean,
1851
+ default: !0
1852
+ },
1853
+ label: {
1854
+ type: String,
1855
+ default: "label"
1856
+ },
1857
+ autocomplete: {
1858
+ type: String,
1859
+ default: "off"
1860
+ },
1861
+ reduce: {
1862
+ type: Function,
1863
+ default: (e) => e
1864
+ },
1865
+ selectable: {
1866
+ type: Function,
1867
+ default: (e) => !0
1868
+ },
1869
+ getOptionLabel: {
1870
+ type: Function,
1871
+ default(e) {
1872
+ return typeof e == "object" ? e.hasOwnProperty(this.label) ? e[this.label] : console.warn(`[vue-select warn]: Label key "option.${this.label}" does not exist in options object ${JSON.stringify(e)}.
1873
+ https://vue-select.org/api/props.html#getoptionlabel`) : e;
1874
+ }
1875
+ },
1876
+ getOptionKey: {
1877
+ type: Function,
1878
+ default(e) {
1879
+ if (typeof e != "object")
1880
+ return e;
1881
+ try {
1882
+ return e.hasOwnProperty("id") ? e.id : Da(e);
1883
+ } catch (t) {
1884
+ return console.warn(`[vue-select warn]: Could not stringify this option to generate unique key. Please provide'getOptionKey' prop to return a unique key for each option.
1885
+ https://vue-select.org/api/props.html#getoptionkey`, e, t);
1886
+ }
1887
+ }
1888
+ },
1889
+ onTab: {
1890
+ type: Function,
1891
+ default: function() {
1892
+ this.selectOnTab && !this.isComposing && this.typeAheadSelect();
1893
+ }
1894
+ },
1895
+ taggable: {
1896
+ type: Boolean,
1897
+ default: !1
1898
+ },
1899
+ tabindex: {
1900
+ type: Number,
1901
+ default: null
1902
+ },
1903
+ pushTags: {
1904
+ type: Boolean,
1905
+ default: !1
1906
+ },
1907
+ filterable: {
1908
+ type: Boolean,
1909
+ default: !0
1910
+ },
1911
+ filterBy: {
1912
+ type: Function,
1913
+ default(e, t, s) {
1914
+ return (t || "").toLocaleLowerCase().indexOf(s.toLocaleLowerCase()) > -1;
1915
+ }
1916
+ },
1917
+ filter: {
1918
+ type: Function,
1919
+ default(e, t) {
1920
+ return e.filter((s) => {
1921
+ let i = this.getOptionLabel(s);
1922
+ return typeof i == "number" && (i = i.toString()), this.filterBy(s, i, t);
1923
+ });
1924
+ }
1925
+ },
1926
+ createOption: {
1927
+ type: Function,
1928
+ default(e) {
1929
+ return typeof this.optionList[0] == "object" ? { [this.label]: e } : e;
1930
+ }
1931
+ },
1932
+ resetOnOptionsChange: {
1933
+ default: !1,
1934
+ validator: (e) => ["function", "boolean"].includes(typeof e)
1935
+ },
1936
+ clearSearchOnBlur: {
1937
+ type: Function,
1938
+ default: function({ clearSearchOnSelect: e, multiple: t }) {
1939
+ return e && !t;
1940
+ }
1941
+ },
1942
+ noDrop: {
1943
+ type: Boolean,
1944
+ default: !1
1945
+ },
1946
+ inputId: {
1947
+ type: String
1948
+ },
1949
+ dir: {
1950
+ type: String,
1951
+ default: "auto"
1952
+ },
1953
+ selectOnTab: {
1954
+ type: Boolean,
1955
+ default: !1
1956
+ },
1957
+ selectOnKeyCodes: {
1958
+ type: Array,
1959
+ default: () => [13]
1960
+ },
1961
+ searchInputQuerySelector: {
1962
+ type: String,
1963
+ default: "[type=search]"
1964
+ },
1965
+ mapKeydown: {
1966
+ type: Function,
1967
+ default: (e, t) => e
1968
+ },
1969
+ appendToBody: {
1970
+ type: Boolean,
1971
+ default: !1
1972
+ },
1973
+ calculatePosition: {
1974
+ type: Function,
1975
+ default(e, t, { width: s, top: i, left: l }) {
1976
+ e.style.top = i, e.style.left = l, e.style.width = s;
1977
+ }
1978
+ },
1979
+ dropdownShouldOpen: {
1980
+ type: Function,
1981
+ default({ noDrop: e, open: t, mutableLoading: s }) {
1982
+ return e ? !1 : t && !s;
1983
+ }
1984
+ },
1985
+ uid: {
1986
+ type: [String, Number],
1987
+ default: () => Ea()
1988
+ }
1989
+ },
1990
+ data() {
1991
+ return {
1992
+ search: "",
1993
+ open: !1,
1994
+ isComposing: !1,
1995
+ pushedTags: [],
1996
+ _value: [],
1997
+ deselectButtons: []
1998
+ };
1999
+ },
2000
+ computed: {
2001
+ isReducingValues() {
2002
+ return this.$props.reduce !== this.$options.props.reduce.default;
2003
+ },
2004
+ isTrackingValues() {
2005
+ return typeof this.modelValue > "u" || this.isReducingValues;
2006
+ },
2007
+ selectedValue() {
2008
+ let e = this.modelValue;
2009
+ return this.isTrackingValues && (e = this.$data._value), e != null && e !== "" ? [].concat(e) : [];
2010
+ },
2011
+ optionList() {
2012
+ return this.options.concat(this.pushTags ? this.pushedTags : []);
2013
+ },
2014
+ searchEl() {
2015
+ return this.$slots.search ? this.$refs.selectedOptions.querySelector(this.searchInputQuerySelector) : this.$refs.search;
2016
+ },
2017
+ scope() {
2018
+ const e = {
2019
+ search: this.search,
2020
+ loading: this.loading,
2021
+ searching: this.searching,
2022
+ filteredOptions: this.filteredOptions
2023
+ };
2024
+ return {
2025
+ search: {
2026
+ attributes: K({
2027
+ disabled: this.disabled,
2028
+ placeholder: this.searchPlaceholder,
2029
+ tabindex: this.tabindex,
2030
+ readonly: !this.searchable,
2031
+ id: this.inputId,
2032
+ "aria-autocomplete": "list",
2033
+ "aria-labelledby": `vs${this.uid}__combobox`,
2034
+ "aria-controls": `vs${this.uid}__listbox`,
2035
+ ref: "search",
2036
+ type: "search",
2037
+ autocomplete: this.autocomplete,
2038
+ value: this.search
2039
+ }, this.dropdownOpen && this.filteredOptions[this.typeAheadPointer] ? {
2040
+ "aria-activedescendant": `vs${this.uid}__option-${this.typeAheadPointer}`
2041
+ } : {}),
2042
+ events: {
2043
+ compositionstart: () => this.isComposing = !0,
2044
+ compositionend: () => this.isComposing = !1,
2045
+ keydown: this.onSearchKeyDown,
2046
+ blur: this.onSearchBlur,
2047
+ focus: this.onSearchFocus,
2048
+ input: (t) => this.search = t.target.value
2049
+ }
2050
+ },
2051
+ spinner: {
2052
+ loading: this.mutableLoading
2053
+ },
2054
+ noOptions: {
2055
+ search: this.search,
2056
+ loading: this.mutableLoading,
2057
+ searching: this.searching
2058
+ },
2059
+ openIndicator: {
2060
+ attributes: {
2061
+ ref: "openIndicator",
2062
+ role: "presentation",
2063
+ class: "vs__open-indicator"
2064
+ }
2065
+ },
2066
+ listHeader: e,
2067
+ listFooter: e,
2068
+ header: Le(K({}, e), { deselect: this.deselect }),
2069
+ footer: Le(K({}, e), { deselect: this.deselect })
2070
+ };
2071
+ },
2072
+ childComponents() {
2073
+ return K(K({}, Se), this.components);
2074
+ },
2075
+ stateClasses() {
2076
+ return {
2077
+ "vs--open": this.dropdownOpen,
2078
+ "vs--single": !this.multiple,
2079
+ "vs--multiple": this.multiple,
2080
+ "vs--searching": this.searching && !this.noDrop,
2081
+ "vs--searchable": this.searchable && !this.noDrop,
2082
+ "vs--unsearchable": !this.searchable,
2083
+ "vs--loading": this.mutableLoading,
2084
+ "vs--disabled": this.disabled
2085
+ };
2086
+ },
2087
+ searching() {
2088
+ return !!this.search;
2089
+ },
2090
+ dropdownOpen() {
2091
+ return this.dropdownShouldOpen(this);
2092
+ },
2093
+ searchPlaceholder() {
2094
+ return this.isValueEmpty && this.placeholder ? this.placeholder : void 0;
2095
+ },
2096
+ filteredOptions() {
2097
+ const e = [].concat(this.optionList);
2098
+ if (!this.filterable && !this.taggable)
2099
+ return e;
2100
+ const t = this.search.length ? this.filter(e, this.search, this) : e;
2101
+ if (this.taggable && this.search.length) {
2102
+ const s = this.createOption(this.search);
2103
+ this.optionExists(s) || t.unshift(s);
2104
+ }
2105
+ return t;
2106
+ },
2107
+ isValueEmpty() {
2108
+ return this.selectedValue.length === 0;
2109
+ },
2110
+ showClearButton() {
2111
+ return !this.multiple && this.clearable && !this.open && !this.isValueEmpty;
2112
+ }
2113
+ },
2114
+ watch: {
2115
+ options(e, t) {
2116
+ const s = () => typeof this.resetOnOptionsChange == "function" ? this.resetOnOptionsChange(e, t, this.selectedValue) : this.resetOnOptionsChange;
2117
+ !this.taggable && s() && this.clearSelection(), this.modelValue && this.isTrackingValues && this.setInternalValueFromOptions(this.modelValue);
2118
+ },
2119
+ modelValue: {
2120
+ immediate: !0,
2121
+ handler(e) {
2122
+ this.isTrackingValues && this.setInternalValueFromOptions(e);
2123
+ }
2124
+ },
2125
+ multiple() {
2126
+ this.clearSelection();
2127
+ },
2128
+ open(e) {
2129
+ this.$emit(e ? "open" : "close");
2130
+ }
2131
+ },
2132
+ created() {
2133
+ this.mutableLoading = this.loading;
2134
+ },
2135
+ methods: {
2136
+ setInternalValueFromOptions(e) {
2137
+ Array.isArray(e) ? this.$data._value = e.map((t) => this.findOptionFromReducedValue(t)) : this.$data._value = this.findOptionFromReducedValue(e);
2138
+ },
2139
+ select(e) {
2140
+ this.$emit("option:selecting", e), this.isOptionSelected(e) ? this.deselectFromDropdown && (this.clearable || this.multiple && this.selectedValue.length > 1) && this.deselect(e) : (this.taggable && !this.optionExists(e) && (this.$emit("option:created", e), this.pushTag(e)), this.multiple && (e = this.selectedValue.concat(e)), this.updateValue(e), this.$emit("option:selected", e)), this.onAfterSelect(e);
2141
+ },
2142
+ deselect(e) {
2143
+ this.$emit("option:deselecting", e), this.updateValue(this.selectedValue.filter((t) => !this.optionComparator(t, e))), this.$emit("option:deselected", e);
2144
+ },
2145
+ clearSelection() {
2146
+ this.updateValue(this.multiple ? [] : null);
2147
+ },
2148
+ onAfterSelect(e) {
2149
+ this.closeOnSelect && (this.open = !this.open, this.searchEl.blur()), this.clearSearchOnSelect && (this.search = "");
2150
+ },
2151
+ updateValue(e) {
2152
+ typeof this.modelValue > "u" && (this.$data._value = e), e !== null && (Array.isArray(e) ? e = e.map((t) => this.reduce(t)) : e = this.reduce(e)), this.$emit("update:modelValue", e);
2153
+ },
2154
+ toggleDropdown(e) {
2155
+ const t = e.target !== this.searchEl;
2156
+ t && e.preventDefault();
2157
+ const s = [
2158
+ ...this.deselectButtons || [],
2159
+ this.$refs.clearButton
2160
+ ];
2161
+ if (this.searchEl === void 0 || s.filter(Boolean).some((i) => i.contains(e.target) || i === e.target)) {
2162
+ e.preventDefault();
2163
+ return;
2164
+ }
2165
+ this.open && t ? this.searchEl.blur() : this.disabled || (this.open = !0, this.searchEl.focus());
2166
+ },
2167
+ isOptionSelected(e) {
2168
+ return this.selectedValue.some((t) => this.optionComparator(t, e));
2169
+ },
2170
+ isOptionDeselectable(e) {
2171
+ return this.isOptionSelected(e) && this.deselectFromDropdown;
2172
+ },
2173
+ optionComparator(e, t) {
2174
+ return this.getOptionKey(e) === this.getOptionKey(t);
2175
+ },
2176
+ findOptionFromReducedValue(e) {
2177
+ const t = (i) => JSON.stringify(this.reduce(i)) === JSON.stringify(e), s = [...this.options, ...this.pushedTags].filter(t);
2178
+ return s.length === 1 ? s[0] : s.find((i) => this.optionComparator(i, this.$data._value)) || e;
2179
+ },
2180
+ closeSearchOptions() {
2181
+ this.open = !1, this.$emit("search:blur");
2182
+ },
2183
+ maybeDeleteValue() {
2184
+ if (!this.searchEl.value.length && this.selectedValue && this.selectedValue.length && this.clearable) {
2185
+ let e = null;
2186
+ this.multiple && (e = [
2187
+ ...this.selectedValue.slice(0, this.selectedValue.length - 1)
2188
+ ]), this.updateValue(e);
2189
+ }
2190
+ },
2191
+ optionExists(e) {
2192
+ return this.optionList.some((t) => this.optionComparator(t, e));
2193
+ },
2194
+ normalizeOptionForSlot(e) {
2195
+ return typeof e == "object" ? e : { [this.label]: e };
2196
+ },
2197
+ pushTag(e) {
2198
+ this.pushedTags.push(e);
2199
+ },
2200
+ onEscape() {
2201
+ this.search.length ? this.search = "" : this.searchEl.blur();
2202
+ },
2203
+ onSearchBlur() {
2204
+ if (this.mousedown && !this.searching)
2205
+ this.mousedown = !1;
2206
+ else {
2207
+ const { clearSearchOnSelect: e, multiple: t } = this;
2208
+ this.clearSearchOnBlur({ clearSearchOnSelect: e, multiple: t }) && (this.search = ""), this.closeSearchOptions();
2209
+ return;
2210
+ }
2211
+ if (this.search.length === 0 && this.options.length === 0) {
2212
+ this.closeSearchOptions();
2213
+ return;
2214
+ }
2215
+ },
2216
+ onSearchFocus() {
2217
+ this.open = !0, this.$emit("search:focus");
2218
+ },
2219
+ onMousedown() {
2220
+ this.mousedown = !0;
2221
+ },
2222
+ onMouseUp() {
2223
+ this.mousedown = !1;
2224
+ },
2225
+ onSearchKeyDown(e) {
2226
+ const t = (l) => (l.preventDefault(), !this.isComposing && this.typeAheadSelect()), s = {
2227
+ 8: (l) => this.maybeDeleteValue(),
2228
+ 9: (l) => this.onTab(),
2229
+ 27: (l) => this.onEscape(),
2230
+ 38: (l) => (l.preventDefault(), this.typeAheadUp()),
2231
+ 40: (l) => (l.preventDefault(), this.typeAheadDown())
2232
+ };
2233
+ this.selectOnKeyCodes.forEach((l) => s[l] = t);
2234
+ const i = this.mapKeydown(s, this);
2235
+ if (typeof i[e.keyCode] == "function")
2236
+ return i[e.keyCode](e);
2237
+ }
2238
+ }
2239
+ }, Ta = ["dir"], Ia = ["id", "aria-expanded", "aria-owns"], Ua = {
2240
+ ref: "selectedOptions",
2241
+ class: "vs__selected-options"
2242
+ }, Ba = ["disabled", "title", "aria-label", "onClick"], ja = {
2243
+ ref: "actions",
2244
+ class: "vs__actions"
2245
+ }, Ra = ["disabled"], qa = { class: "vs__spinner" }, Na = ["id"], Ha = ["id", "aria-selected", "onMouseover", "onClick"], Za = {
2246
+ key: 0,
2247
+ class: "vs__no-options"
2248
+ }, Ka = /* @__PURE__ */ X(" Sorry, no matching options. "), Ga = ["id"];
2249
+ function Ya(e, t, s, i, l, o) {
2250
+ const p = Te("append-to-body");
2251
+ return a(), r("div", {
2252
+ dir: s.dir,
2253
+ class: ne(["v-select", o.stateClasses])
2254
+ }, [
2255
+ z(e.$slots, "header", P(V(o.scope.header))),
2256
+ n("div", {
2257
+ id: `vs${s.uid}__combobox`,
2258
+ ref: "toggle",
2259
+ class: "vs__dropdown-toggle",
2260
+ role: "combobox",
2261
+ "aria-expanded": o.dropdownOpen.toString(),
2262
+ "aria-owns": `vs${s.uid}__listbox`,
2263
+ "aria-label": "Search for option",
2264
+ onMousedown: t[1] || (t[1] = (c) => o.toggleDropdown(c))
2265
+ }, [
2266
+ n("div", Ua, [
2267
+ (a(!0), r(k, null, C(o.selectedValue, (c, d) => z(e.$slots, "selected-option-container", {
2268
+ option: o.normalizeOptionForSlot(c),
2269
+ deselect: o.deselect,
2270
+ multiple: s.multiple,
2271
+ disabled: s.disabled
2272
+ }, () => [
2273
+ (a(), r("span", {
2274
+ key: s.getOptionKey(c),
2275
+ class: "vs__selected"
2276
+ }, [
2277
+ z(e.$slots, "selected-option", P(V(o.normalizeOptionForSlot(c))), () => [
2278
+ X(g(s.getOptionLabel(c)), 1)
2279
+ ]),
2280
+ s.multiple ? (a(), r("button", {
2281
+ key: 0,
2282
+ ref_for: !0,
2283
+ ref: (u) => l.deselectButtons[d] = u,
2284
+ disabled: s.disabled,
2285
+ type: "button",
2286
+ class: "vs__deselect",
2287
+ title: `Deselect ${s.getOptionLabel(c)}`,
2288
+ "aria-label": `Deselect ${s.getOptionLabel(c)}`,
2289
+ onClick: (u) => o.deselect(c)
2290
+ }, [
2291
+ (a(), b(re(o.childComponents.Deselect)))
2292
+ ], 8, Ba)) : f("", !0)
2293
+ ]))
2294
+ ])), 256)),
2295
+ z(e.$slots, "search", P(V(o.scope.search)), () => [
2296
+ n("input", be({ class: "vs__search" }, o.scope.search.attributes, Ie(o.scope.search.events)), null, 16)
2297
+ ])
2298
+ ], 512),
2299
+ n("div", ja, [
2300
+ se(n("button", {
2301
+ ref: "clearButton",
2302
+ disabled: s.disabled,
2303
+ type: "button",
2304
+ class: "vs__clear",
2305
+ title: "Clear Selected",
2306
+ "aria-label": "Clear Selected",
2307
+ onClick: t[0] || (t[0] = (...c) => o.clearSelection && o.clearSelection(...c))
2308
+ }, [
2309
+ (a(), b(re(o.childComponents.Deselect)))
2310
+ ], 8, Ra), [
2311
+ [ve, o.showClearButton]
2312
+ ]),
2313
+ z(e.$slots, "open-indicator", P(V(o.scope.openIndicator)), () => [
2314
+ s.noDrop ? f("", !0) : (a(), b(re(o.childComponents.OpenIndicator), P(be({ key: 0 }, o.scope.openIndicator.attributes)), null, 16))
2315
+ ]),
2316
+ z(e.$slots, "spinner", P(V(o.scope.spinner)), () => [
2317
+ se(n("div", qa, "Loading...", 512), [
2318
+ [ve, e.mutableLoading]
2319
+ ])
2320
+ ])
2321
+ ], 512)
2322
+ ], 40, Ia),
2323
+ m(F, { name: s.transition }, {
2324
+ default: y(() => [
2325
+ o.dropdownOpen ? se((a(), r("ul", {
2326
+ id: `vs${s.uid}__listbox`,
2327
+ ref: "dropdownMenu",
2328
+ key: `vs${s.uid}__listbox`,
2329
+ class: "vs__dropdown-menu",
2330
+ role: "listbox",
2331
+ tabindex: "-1",
2332
+ onMousedown: t[2] || (t[2] = ye((...c) => o.onMousedown && o.onMousedown(...c), ["prevent"])),
2333
+ onMouseup: t[3] || (t[3] = (...c) => o.onMouseUp && o.onMouseUp(...c))
2334
+ }, [
2335
+ z(e.$slots, "list-header", P(V(o.scope.listHeader))),
2336
+ (a(!0), r(k, null, C(o.filteredOptions, (c, d) => (a(), r("li", {
2337
+ id: `vs${s.uid}__option-${d}`,
2338
+ key: s.getOptionKey(c),
2339
+ role: "option",
2340
+ class: ne(["vs__dropdown-option", {
2341
+ "vs__dropdown-option--deselect": o.isOptionDeselectable(c) && d === e.typeAheadPointer,
2342
+ "vs__dropdown-option--selected": o.isOptionSelected(c),
2343
+ "vs__dropdown-option--highlight": d === e.typeAheadPointer,
2344
+ "vs__dropdown-option--disabled": !s.selectable(c)
2345
+ }]),
2346
+ "aria-selected": d === e.typeAheadPointer ? !0 : null,
2347
+ onMouseover: (u) => s.selectable(c) ? e.typeAheadPointer = d : null,
2348
+ onClick: ye((u) => s.selectable(c) ? o.select(c) : null, ["prevent", "stop"])
2349
+ }, [
2350
+ z(e.$slots, "option", P(V(o.normalizeOptionForSlot(c))), () => [
2351
+ X(g(s.getOptionLabel(c)), 1)
2352
+ ])
2353
+ ], 42, Ha))), 128)),
2354
+ o.filteredOptions.length === 0 ? (a(), r("li", Za, [
2355
+ z(e.$slots, "no-options", P(V(o.scope.noOptions)), () => [
2356
+ Ka
2357
+ ])
2358
+ ])) : f("", !0),
2359
+ z(e.$slots, "list-footer", P(V(o.scope.listFooter)))
2360
+ ], 40, Na)), [
2361
+ [p]
2362
+ ]) : (a(), r("ul", {
2363
+ key: 1,
2364
+ id: `vs${s.uid}__listbox`,
2365
+ role: "listbox",
2366
+ style: { display: "none", visibility: "hidden" }
2367
+ }, null, 8, Ga))
2368
+ ]),
2369
+ _: 3
2370
+ }, 8, ["name"]),
2371
+ z(e.$slots, "footer", P(V(o.scope.footer)))
2372
+ ], 10, Ta);
2373
+ }
2374
+ const Wa = /* @__PURE__ */ fe(Fa, [["render", Ya]]);
2375
+ const Ja = { class: "w-100" }, Qa = { class: "flex" }, Xa = { class: "mn-regular" }, eo = { class: "flex-column flex-wrap block" }, to = {
2376
+ key: 0,
2377
+ class: "w-100"
2378
+ }, so = { class: "w-100 flex-center flex-nowrap flex" }, no = { class: "mn-r-regular w-100" }, ao = ["onClick"], oo = {
2379
+ key: 0,
2380
+ class: "mn-t-small mn-small w-100"
2381
+ }, Wi = {
2382
+ __name: "EditArray",
2383
+ props: {
2384
+ name: Object,
2385
+ items: Array
2386
+ },
2387
+ emits: ["add", "remove"],
2388
+ setup(e, { emit: t }) {
2389
+ j(), B();
2390
+ let s = pe([]);
2391
+ Ue(s);
2392
+ const i = w(null), l = w(null), o = w(null);
2393
+ N(() => {
2394
+ if (i.value === null || o.value === null || o.value === "")
2395
+ return !0;
2396
+ if (i.value.modifications.length > 0)
2397
+ return l.value === null;
2398
+ });
2399
+ function p(c) {
2400
+ store.commit("leftovers/deleteItemFromLeftover", c);
2401
+ }
2402
+ return (c, d) => (a(), r("div", Ja, [
2403
+ n("div", Qa, [
2404
+ n("h3", Xa, g(e.name), 1)
2405
+ ]),
2406
+ n("ul", eo, [
2407
+ e.items.length < 1 ? (a(), r("span", to, "Вы еще не добавили позиции")) : f("", !0),
2408
+ (a(!0), r(k, null, C(e.items, (u, h) => (a(), r("li", {
2409
+ key: u._id,
2410
+ class: "w-100"
2411
+ }, [
2412
+ n("div", so, [
2413
+ n("span", no, g(u.name), 1),
2414
+ n("a", {
2415
+ class: "w-20 button",
2416
+ onClick: (v) => p(u)
2417
+ }, "Удалить", 8, ao)
2418
+ ]),
2419
+ h != e.items.length - 1 ? (a(), r("hr", oo)) : f("", !0)
2420
+ ]))), 128))
2421
+ ])
2422
+ ]));
2423
+ }
2424
+ };
2425
+ const io = { class: "br-grey radius-small mn-small" }, lo = {
2426
+ key: 1,
2427
+ class: "pd-small br-grey br-1px br-solid"
2428
+ }, ro = ["disabled"], co = {
2429
+ __name: "DepartmentMemberModify",
2430
+ props: {
2431
+ isPopupOpen: Boolean,
2432
+ department: Number,
2433
+ departments: Array,
2434
+ maindepartment: Object,
2435
+ alldepartments: Array
2436
+ },
2437
+ emits: ["callback", "remove"],
2438
+ setup(e, { emit: t }) {
2439
+ const s = e, i = w({
2440
+ subdepartment: null
2441
+ });
2442
+ s.department !== null && (i.value = s.departments[s.department]);
2443
+ function l(d, u, h) {
2444
+ return d.filter((v) => !(u.some((O) => O._id === v._id) || h._id === v._id));
2445
+ }
2446
+ const o = N(() => l(s.alldepartments, s.departments, s.maindepartment));
2447
+ async function p() {
2448
+ s.departments.push(i.value.subdepartment), t("callback");
2449
+ }
2450
+ async function c() {
2451
+ s.departments.splice(s.department, 1), t("callback");
2452
+ }
2453
+ return (d, u) => (a(), r("div", null, [
2454
+ n("div", io, [
2455
+ s.department === null ? (a(), b($(Wa), {
2456
+ key: 0,
2457
+ modelValue: i.value.subdepartment,
2458
+ "onUpdate:modelValue": u[0] || (u[0] = (h) => i.value.subdepartment = h),
2459
+ options: $(o),
2460
+ "get-option-label": (h) => h.name,
2461
+ class: "w-100 mn-small"
2462
+ }, null, 8, ["modelValue", "options", "get-option-label"])) : (a(), r("div", lo, g(i.value.name ? i.value.name : "Безымянный"), 1))
2463
+ ]),
2464
+ s.department === null ? (a(), r("button", {
2465
+ key: 0,
2466
+ disabled: !i.value.subdepartment,
2467
+ onClick: p,
2468
+ class: "w-100 button bg-second t-white"
2469
+ }, " Добавить отдел ", 8, ro)) : f("", !0),
2470
+ s.department !== null ? (a(), r("button", {
2471
+ key: 1,
2472
+ onClick: c,
2473
+ class: "w-100 button bg-fourth t-white"
2474
+ }, " Удалить отдел ")) : f("", !0)
2475
+ ]));
2476
+ }
2477
+ }, Ji = /* @__PURE__ */ M(co, [["__scopeId", "data-v-21f393e1"]]);
2478
+ const te = (e) => (ae("data-v-6a9ce43d"), e = e(), oe(), e), uo = { class: "for-transition w-100" }, po = { class: "pd-b-zero pd-t-zero pd-thin" }, mo = { class: "pd-thin" }, ho = { class: "flex-nowrap flex bg-grey pd-medium radius-big" }, _o = {
2479
+ key: 0,
2480
+ class: "mn-r-auto"
2481
+ }, go = {
2482
+ key: 1,
2483
+ class: "mn-r-auto"
2484
+ }, fo = { class: "flex-nowrap flex pd-thin" }, bo = { class: "pd-b-zero pd-t-zero pd-thin cols-2 gap-thin" }, vo = { class: "flex-stretch flex-column flex" }, yo = { class: "mn-thin bg-grey pd-medium o-hidden radius-big" }, $o = /* @__PURE__ */ te(() => /* @__PURE__ */ n("h3", { class: "mn-semi" }, "Profile", -1)), wo = { class: "radius-small flex-nowrap flex" }, xo = { class: "w-100 flex-child-grow-1 flex-child" }, ko = { class: "bg-grey pd-medium o-hidden radius-big" }, Co = /* @__PURE__ */ te(() => /* @__PURE__ */ n("h3", { class: "mn-semi" }, "Details", -1)), Oo = /* @__PURE__ */ te(() => /* @__PURE__ */ n("p", { class: "p-medium mn-small" }, "Please the available delivery options:", -1)), Lo = { class: "mn-medium flex-nowrap flex" }, So = /* @__PURE__ */ te(() => /* @__PURE__ */ n("p", { class: "p-medium mn-small" }, "Please select the available payment methods:", -1)), zo = { class: "flex-nowrap flex" }, Mo = { class: "bg-grey pd-medium o-hidden radius-big" }, Po = /* @__PURE__ */ te(() => /* @__PURE__ */ n("h3", { class: "mn-semi" }, "Location", -1)), Ao = /* @__PURE__ */ te(() => /* @__PURE__ */ n("p", { class: "mn-small p-medium" }, "Or choose on map:", -1)), Do = { class: "flex-nowrap flex pd-thin" }, Vo = {
2485
+ __name: "DepartmentEdit",
2486
+ setup(e) {
2487
+ const t = j(), s = B();
2488
+ w("details"), w(!1);
2489
+ async function i() {
2490
+ s.params.department && await Pe.read(s.params.department), w(Ae.memberships), await R.read(s.params._id), s.params.department && await R.readOne(s.params.department);
2491
+ }
2492
+ i(), w(_.department.members), w(!1), w(null), w(!1), w(null);
2493
+ async function l() {
2494
+ s.params.department && await R.update(
2495
+ s.params._id,
2496
+ _.department
2497
+ ), s.params.department || await R.create(
2498
+ s.params._id,
2499
+ _.department
2500
+ );
2501
+ }
2502
+ function o() {
2503
+ t.replace({ name: "Department", params: { _id: s.params._id, department: _.department._id } });
2504
+ }
2505
+ async function p() {
2506
+ await R.delete(
2507
+ s.params._id,
2508
+ _.department
2509
+ );
2510
+ }
2511
+ return (c, d) => (a(), r("div", uo, [
2512
+ n("div", po, [
2513
+ m(Qe, { class: "pd-medium bg-grey radius-big" })
2514
+ ]),
2515
+ n("div", mo, [
2516
+ n("header", ho, [
2517
+ $(s).params.department ? (a(), r("h1", _o, "Edit Spot")) : (a(), r("h1", go, "Create Spot")),
2518
+ n("section", fo, [
2519
+ m(ce, {
2520
+ submit: l,
2521
+ callback: o
2522
+ }, {
2523
+ default: y(() => [
2524
+ X("Save Spot")
2525
+ ]),
2526
+ _: 1
2527
+ })
2528
+ ])
2529
+ ])
2530
+ ]),
2531
+ n("div", bo, [
2532
+ n("div", vo, [
2533
+ n("div", yo, [
2534
+ $o,
2535
+ n("div", wo, [
2536
+ m(De, {
2537
+ photo: _.department.profile.photo,
2538
+ "onUpdate:photo": d[0] || (d[0] = (u) => _.department.profile.photo = u),
2539
+ uploadPath: "organizations/" + _.department.name + "/avatars",
2540
+ class: "w-8r aspect-1x1 o-hidden mn-r-small radius-extra"
2541
+ }, null, 8, ["photo", "uploadPath"]),
2542
+ n("div", xo, [
2543
+ m(E, {
2544
+ field: _.department.profile.name,
2545
+ "onUpdate:field": d[1] || (d[1] = (u) => _.department.profile.name = u),
2546
+ label: "Name",
2547
+ placeholder: "Spot Name",
2548
+ class: "mn-small bg-white radius-small pd-medium",
2549
+ validation: c.organizationName
2550
+ }, null, 8, ["field", "validation"]),
2551
+ m(E, {
2552
+ field: _.department.profile.description,
2553
+ "onUpdate:field": d[2] || (d[2] = (u) => _.department.profile.description = u),
2554
+ label: "Description",
2555
+ placeholder: "Spot description (max 120 symbols)",
2556
+ class: "bg-white radius-small pd-medium",
2557
+ validation: c.organizationName
2558
+ }, null, 8, ["field", "validation"])
2559
+ ])
2560
+ ])
2561
+ ]),
2562
+ n("div", ko, [
2563
+ Co,
2564
+ Oo,
2565
+ n("div", Lo, [
2566
+ m(I, {
2567
+ label: "Pickup",
2568
+ name: "Delivery",
2569
+ value: "pickup",
2570
+ class: "w-100 mn-r-small bg-white radius-small pd-small",
2571
+ radio: _.department.delivery
2572
+ }, null, 8, ["radio"]),
2573
+ m(I, {
2574
+ label: "Delivery",
2575
+ name: "Delivery",
2576
+ value: "courier",
2577
+ class: "w-100 mn-r-small bg-white radius-small pd-small",
2578
+ radio: _.department.delivery
2579
+ }, null, 8, ["radio"]),
2580
+ m(I, {
2581
+ label: "Post",
2582
+ name: "Delivery",
2583
+ value: "post",
2584
+ class: "w-100 bg-white radius-small pd-small",
2585
+ radio: _.department.delivery
2586
+ }, null, 8, ["radio"])
2587
+ ]),
2588
+ So,
2589
+ n("div", zo, [
2590
+ m(I, {
2591
+ label: "Cash",
2592
+ name: "Payment",
2593
+ value: "cash",
2594
+ class: "w-100 mn-r-small bg-white radius-small pd-small",
2595
+ radio: _.department.payment
2596
+ }, null, 8, ["radio"]),
2597
+ m(I, {
2598
+ label: "Bank Transfer",
2599
+ name: "Payment",
2600
+ value: "bank",
2601
+ class: "w-100 mn-r-small bg-white radius-small pd-small",
2602
+ radio: _.department.payment
2603
+ }, null, 8, ["radio"]),
2604
+ m(I, {
2605
+ label: "Crypto",
2606
+ name: "Payment",
2607
+ value: "crypto",
2608
+ class: "w-100 bg-white radius-small pd-small",
2609
+ radio: _.department.payment
2610
+ }, null, 8, ["radio"])
2611
+ ])
2612
+ ])
2613
+ ]),
2614
+ n("div", Mo, [
2615
+ Po,
2616
+ m(oa, {
2617
+ apiKey: c.GOOGLE_MAPS_API_KEY,
2618
+ address: _.department.address,
2619
+ location: _.department.location,
2620
+ label: "Address",
2621
+ placeholder: "Enter delivery address",
2622
+ class: "bg-white radius-small pd-small mn-small",
2623
+ "onUpdate:location": d[3] || (d[3] = (u) => {
2624
+ _.department.location = u;
2625
+ }),
2626
+ "onUpdate:address": d[4] || (d[4] = (u) => {
2627
+ _.department.address = u;
2628
+ })
2629
+ }, null, 8, ["apiKey", "address", "location"]),
2630
+ Ao,
2631
+ m(ua, {
2632
+ address: _.department.address,
2633
+ location: _.department.location,
2634
+ apiKey: c.GOOGLE_MAPS_API_KEY,
2635
+ class: "radius-big o-hidden",
2636
+ "onUpdate:location": d[5] || (d[5] = (u) => {
2637
+ _.department.location = u;
2638
+ }),
2639
+ "onUpdate:address": d[6] || (d[6] = (u) => {
2640
+ _.department.address = u;
2641
+ })
2642
+ }, null, 8, ["address", "location", "apiKey"])
2643
+ ])
2644
+ ]),
2645
+ n("section", Do, [
2646
+ m(ce, {
2647
+ submit: p,
2648
+ callback: c.redirectToDash,
2649
+ class: "bg-grey"
2650
+ }, {
2651
+ default: y(() => [
2652
+ X("Delete Spot")
2653
+ ]),
2654
+ _: 1
2655
+ }, 8, ["callback"])
2656
+ ])
2657
+ ]));
2658
+ }
2659
+ }, Eo = /* @__PURE__ */ M(Vo, [["__scopeId", "data-v-6a9ce43d"]]), ze = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
2660
+ __proto__: null,
2661
+ default: Eo
2662
+ }, Symbol.toStringTag, { value: "Module" })), Fo = { class: "unit" }, To = { class: "unit-details" }, Io = { key: 0 }, Uo = { class: "subunits" }, Qi = {
2663
+ __name: "Unit",
2664
+ props: {
2665
+ unit: {
2666
+ type: Object,
2667
+ required: !0
2668
+ },
2669
+ editMode: {
2670
+ type: Boolean,
2671
+ required: !0
2672
+ }
2673
+ },
2674
+ setup(e) {
2675
+ const t = e, s = w({ ...t.unit });
2676
+ H(t.unit, () => {
2677
+ s.value = { ...t.unit };
2678
+ });
2679
+ async function i() {
2680
+ emit("unit-updated", s.value);
2681
+ }
2682
+ async function l() {
2683
+ emit("subunit-added", t.unit._id);
2684
+ }
2685
+ return (o, p) => {
2686
+ const c = me("unit-component");
2687
+ return a(), r("div", Fo, [
2688
+ n("div", To, [
2689
+ n("h3", null, g(e.unit.name), 1),
2690
+ n("p", null, g(e.unit.description), 1),
2691
+ e.editMode ? (a(), r("div", Io, [
2692
+ se(n("input", {
2693
+ "onUpdate:modelValue": p[0] || (p[0] = (d) => s.value.name = d),
2694
+ placeholder: "Название отдела"
2695
+ }, null, 512), [
2696
+ [$e, s.value.name]
2697
+ ]),
2698
+ se(n("input", {
2699
+ "onUpdate:modelValue": p[1] || (p[1] = (d) => s.value.description = d),
2700
+ placeholder: "Описание отдела"
2701
+ }, null, 512), [
2702
+ [$e, s.value.description]
2703
+ ]),
2704
+ n("button", { onClick: i }, "Сохранить"),
2705
+ n("button", { onClick: l }, "Добавить подотдел")
2706
+ ])) : f("", !0)
2707
+ ]),
2708
+ n("div", Uo, [
2709
+ (a(!0), r(k, null, C(e.unit.subunits, (d, u) => (a(), b(c, {
2710
+ key: u,
2711
+ unit: d,
2712
+ "edit-mode": e.editMode
2713
+ }, null, 8, ["unit", "edit-mode"]))), 128))
2714
+ ])
2715
+ ]);
2716
+ };
2717
+ }
2718
+ };
2719
+ const Bo = { class: "for-transition bg-white radius-big w-100" }, jo = { class: "" }, Ro = {
2720
+ key: 1,
2721
+ class: "cols-1"
2722
+ }, Xi = {
2723
+ __name: "Organizations",
2724
+ props: {
2725
+ owner: {
2726
+ type: String,
2727
+ default: null
2728
+ },
2729
+ user: {
2730
+ type: [String, Number],
2731
+ default: null
2732
+ },
2733
+ onlyuser: {
2734
+ type: [String, Number],
2735
+ default: null
2736
+ }
2737
+ },
2738
+ async setup(e) {
2739
+ let t, s;
2740
+ const i = e, l = w(null);
2741
+ l.value = ([t, s] = ee(() => J.read({ owner: i.owner, user: i.user, onlyuser: i.onlyuser })), t = await t, s(), t);
2742
+ const o = j(), p = B();
2743
+ let c = p.query.tab ? p.query.tab : "details";
2744
+ const d = w(c);
2745
+ return p.query.tab = d.value, H(d, (u) => {
2746
+ o.replace({ query: { ...p.query, tab: u } });
2747
+ }), (u, h) => (a(), r("div", Bo, [
2748
+ n("div", jo, [
2749
+ l.value < 1 ? (a(), b(_e, {
2750
+ key: 0,
2751
+ title: "You Haven't Joined Any Organization Yet",
2752
+ description: "Weeder is all about community. Join an organization or maybe you want to create your own?",
2753
+ action: "Create organization",
2754
+ callback: u.a = () => u.$router.push("/app/organization/create/details")
2755
+ }, null, 8, ["callback"])) : (a(), r("div", Ro, [
2756
+ (a(!0), r(k, null, C(l.value, (v) => (a(), b(Ze, {
2757
+ key: v._id,
2758
+ organization: v,
2759
+ user: T.user,
2760
+ onUpdateMembership: u.handleMembershipUpdate,
2761
+ class: ne(["w-100", { "mn-r-small": u.index !== l.value.length - 1 }])
2762
+ }, null, 8, ["organization", "user", "onUpdateMembership", "class"]))), 128))
2763
+ ]))
2764
+ ])
2765
+ ]));
2766
+ }
2767
+ };
2768
+ const qo = (e) => (ae("data-v-20739d92"), e = e(), oe(), e), No = { class: "documents" }, Ho = /* @__PURE__ */ qo(() => /* @__PURE__ */ n("h3", { class: "mn-small" }, "Список документов", -1)), Zo = { class: "mn-big cols-4" }, Ko = ["onClick"], Go = { class: "mn-small" }, Yo = { class: "t-semi t-transp radius-small" }, Wo = {
2769
+ __name: "Documents",
2770
+ setup(e) {
2771
+ j(), B();
2772
+ let t = [{
2773
+ name: "Паспорт",
2774
+ status: "Не добавлен",
2775
+ inputs: [{
2776
+ type: "text",
2777
+ name: "Номер и серия"
2778
+ }, {
2779
+ type: "text",
2780
+ name: "Место выдачи"
2781
+ }, {
2782
+ type: "text",
2783
+ name: "Дата выдачи"
2784
+ }]
2785
+ }, {
2786
+ name: "ИНН",
2787
+ status: "Не добавлен",
2788
+ inputs: [{
2789
+ type: "text",
2790
+ name: "Дата регистрации"
2791
+ }]
2792
+ }, {
2793
+ name: "СНИЛС",
2794
+ status: "Не добавлен",
2795
+ inputs: [{
2796
+ type: "text",
2797
+ name: "Дата регистрации"
2798
+ }]
2799
+ }, {
2800
+ name: "Военный билет",
2801
+ status: "Не добавлен",
2802
+ inputs: [{
2803
+ type: "text",
2804
+ name: "Дата регистрации"
2805
+ }]
2806
+ }];
2807
+ const s = w(!1), i = w(null), l = (c) => {
2808
+ i.value = c, s.value = !0;
2809
+ }, o = () => {
2810
+ s.value = !1;
2811
+ }, p = () => {
2812
+ o();
2813
+ };
2814
+ return de(() => {
2815
+ }), (c, d) => {
2816
+ const u = me("Popup");
2817
+ return a(), r("div", No, [
2818
+ Ho,
2819
+ n("div", Zo, [
2820
+ (a(!0), r(k, null, C($(t), (h, v) => (a(), r("div", {
2821
+ key: v,
2822
+ onClick: (O) => l(v),
2823
+ class: "h-100 pd-medium bg-white radius-small"
2824
+ }, [
2825
+ n("h3", Go, g(h.name), 1),
2826
+ n("p", Yo, g(h.status), 1)
2827
+ ], 8, Ko))), 128))
2828
+ ]),
2829
+ m(u, {
2830
+ title: "Добавить документ",
2831
+ onClosePopup: o,
2832
+ isPopupOpen: s.value
2833
+ }, {
2834
+ default: y(() => [
2835
+ (a(!0), r(k, null, C($(t)[i.value].inputs, (h) => (a(), r("div", {
2836
+ key: h.name
2837
+ }, [
2838
+ m(E, {
2839
+ field: h.value,
2840
+ "onUpdate:field": (v) => h.value = v,
2841
+ label: h.name,
2842
+ _id: h.name,
2843
+ placeholder: h.name,
2844
+ class: "w-100"
2845
+ }, null, 8, ["field", "onUpdate:field", "label", "_id", "placeholder"])
2846
+ ]))), 128)),
2847
+ n("button", {
2848
+ onClick: p,
2849
+ class: "w-100 mn-small button"
2850
+ }, "Отправить на верификацию")
2851
+ ]),
2852
+ _: 1
2853
+ }, 8, ["isPopupOpen"])
2854
+ ]);
2855
+ };
2856
+ }
2857
+ }, el = /* @__PURE__ */ M(Wo, [["__scopeId", "data-v-20739d92"]]), Jo = {};
2858
+ function Qo(e, t) {
2859
+ const s = me("router-view");
2860
+ return a(), b(s, null, {
2861
+ default: y(({ Component: i, route: l }) => [
2862
+ (a(), b(re(i)))
2863
+ ]),
2864
+ _: 1
2865
+ });
2866
+ }
2867
+ const Xo = /* @__PURE__ */ M(Jo, [["render", Qo]]), ei = [{
2868
+ path: ":_id",
2869
+ name: "Organization",
2870
+ meta: {
2871
+ title: {
2872
+ en: "Organization",
2873
+ ru: "Организация"
2874
+ }
2875
+ },
2876
+ component: () => Promise.resolve().then(() => zn)
2877
+ }, {
2878
+ path: "create",
2879
+ name: "Create Organization",
2880
+ meta: {
2881
+ title: {
2882
+ en: "Create Organization",
2883
+ ru: "Создать Организацию"
2884
+ }
2885
+ },
2886
+ beforeEnter: [Q],
2887
+ component: () => Promise.resolve().then(() => ke)
2888
+ }, {
2889
+ path: ":_id/edit",
2890
+ name: "Organization Edit",
2891
+ meta: {
2892
+ title: {
2893
+ en: "Edit Organization",
2894
+ ru: "Редактировать Организацию"
2895
+ }
2896
+ },
2897
+ beforeEnter: [Q],
2898
+ component: () => Promise.resolve().then(() => ke)
2899
+ }], ti = [{
2900
+ path: ":_id/departments/create",
2901
+ name: "Department Creation",
2902
+ meta: {
2903
+ title: "Создание отдела"
2904
+ },
2905
+ beforeEnter: [Q],
2906
+ component: () => Promise.resolve().then(() => ze)
2907
+ }, {
2908
+ path: ":_id/departments/:department",
2909
+ name: "Department",
2910
+ meta: {
2911
+ title: "Отдел"
2912
+ },
2913
+ beforeEnter: [Q],
2914
+ component: () => Promise.resolve().then(() => Hn)
2915
+ }, {
2916
+ path: ":_id/departments/:department/edit",
2917
+ name: "Department Edit",
2918
+ meta: {
2919
+ title: "Редактирование отдела"
2920
+ },
2921
+ beforeEnter: [Q],
2922
+ component: () => Promise.resolve().then(() => ze)
2923
+ }], si = [{
2924
+ path: ":_id/members",
2925
+ name: "Organization Members",
2926
+ meta: {
2927
+ title: {
2928
+ en: "Members",
2929
+ ru: "Участникb"
2930
+ }
2931
+ },
2932
+ component: () => import("./Members-04273cd4.mjs")
2933
+ }, {
2934
+ path: ":_id/members/invite",
2935
+ name: "Invite Member",
2936
+ component: () => Promise.resolve().then(() => rn)
2937
+ }], ni = [{
2938
+ path: ":_id/products/:product",
2939
+ name: "Product Organization",
2940
+ meta: {
2941
+ title: {
2942
+ en: "Product",
2943
+ ru: "Продукт"
2944
+ }
2945
+ },
2946
+ component: () => import("./Product-f3f42158.mjs")
2947
+ }, {
2948
+ path: ":_id/products/:product/edit",
2949
+ name: "ProductEdit",
2950
+ beforeEnter: [Q],
2951
+ component: () => import("./ProductEdit-959b3cd3.mjs")
2952
+ }, {
2953
+ path: ":_id/products/add",
2954
+ name: "AddProduct",
2955
+ component: () => import("./ProductEdit-959b3cd3.mjs")
2956
+ }], tl = [{
2957
+ path: "organizations",
2958
+ component: Xo,
2959
+ meta: {
2960
+ title: {
2961
+ en: "Organizations",
2962
+ ru: "Организации"
2963
+ }
2964
+ },
2965
+ children: [
2966
+ ...ei,
2967
+ ...ti,
2968
+ ...ni,
2969
+ ...si
2970
+ ]
2971
+ }];
2972
+ export {
2973
+ Ws as C,
2974
+ Eo as D,
2975
+ ge as U,
2976
+ ln as _,
2977
+ Fe as a,
2978
+ Yi as b,
2979
+ Sn as c,
2980
+ Nn as d,
2981
+ ea as e,
2982
+ Wi as f,
2983
+ Qi as g,
2984
+ Ve as h,
2985
+ Ji as i,
2986
+ Hi as j,
2987
+ _e as k,
2988
+ Ni as l,
2989
+ Ki as m,
2990
+ gs as n,
2991
+ Xi as o,
2992
+ el as p,
2993
+ Gi as q,
2994
+ Zi as r,
2995
+ U as s,
2996
+ tl as t
2997
+ };