@ozdao/martyrs 0.2.577 → 0.2.580

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (227) hide show
  1. package/dist/builder.js +42 -34
  2. package/dist/loader.js +5 -0
  3. package/dist/{main-EZaj64lH.js → main-vq1_XpmQ.js} +430 -425
  4. package/dist/martyrs/dist/{main-EZaj64lH.js → main-vq1_XpmQ.js} +12 -12
  5. package/dist/martyrs/dist/main-vq1_XpmQ.js.map +1 -0
  6. package/dist/martyrs/dist/{web-ClbcbWYJ.js → web-BNJDRie_.js} +2 -2
  7. package/dist/martyrs/dist/{web-ClbcbWYJ.js.map → web-BNJDRie_.js.map} +1 -1
  8. package/dist/martyrs/src/components/Block/Block.vue.js +1 -1
  9. package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.js +1 -1
  10. package/dist/martyrs/src/components/BottomSheet/BottomSheet.vue.js.map +1 -1
  11. package/dist/martyrs/src/components/Chips/Chips.vue.js +2 -2
  12. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js +21 -11
  13. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -1
  14. package/dist/martyrs/src/components/EditImages/{EditImages.vue.js → EditImages.vue2.js} +2 -2
  15. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +1 -0
  16. package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
  17. package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
  18. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
  19. package/dist/martyrs/src/components/Menu/MenuItem.vue.js +3 -3
  20. package/dist/martyrs/src/components/Menu/MenuItem.vue.js.map +1 -1
  21. package/dist/martyrs/src/components/SelectMulti/{SelectMulti.vue.js → SelectMulti.vue2.js} +2 -2
  22. package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue2.js.map +1 -0
  23. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.js → Tooltip.vue.js} +2 -2
  24. package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +1 -0
  25. package/dist/martyrs/src/components/Upload/{Upload.vue.js → Upload.vue2.js} +2 -2
  26. package/dist/martyrs/src/components/Upload/Upload.vue2.js.map +1 -0
  27. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +1 -1
  28. package/dist/martyrs/src/modules/backoffice/components/partials/Sidebar.vue.js +1 -1
  29. package/dist/martyrs/src/modules/constructor/components/elements/Audio.vue.js +1 -1
  30. package/dist/martyrs/src/modules/constructor/components/elements/Video.vue.js +1 -1
  31. package/dist/martyrs/src/modules/constructor/components/elements/VideoPlayer.vue.js +1 -1
  32. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +1 -1
  33. package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js +34 -38
  34. package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js.map +1 -1
  35. package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js +19 -10
  36. package/dist/martyrs/src/modules/core/views/components/partials/Sidebar.vue.js.map +1 -1
  37. package/dist/martyrs/src/modules/core/views/components/sections/{Filters.vue.js → Filters.vue2.js} +2 -2
  38. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js.map +1 -0
  39. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +3 -3
  40. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +1 -1
  41. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -2
  42. package/dist/martyrs/src/modules/icons/actions/IconDuplicate.vue.js +1 -1
  43. package/dist/martyrs/src/modules/icons/actions/IconOpenLink.vue.js +1 -1
  44. package/dist/martyrs/src/modules/icons/actions/IconShopcartAdd.vue.js +1 -1
  45. package/dist/martyrs/src/modules/icons/actions/IconShow.vue.js +1 -1
  46. package/dist/martyrs/src/modules/icons/entities/IconAddress.vue.js +1 -1
  47. package/dist/martyrs/src/modules/icons/entities/IconBell.vue.js +1 -1
  48. package/dist/martyrs/src/modules/icons/entities/IconCalendar.vue.js +1 -1
  49. package/dist/martyrs/src/modules/icons/entities/IconCatalog.vue.js +1 -1
  50. package/dist/martyrs/src/modules/icons/entities/IconCommunity.vue.js +1 -1
  51. package/dist/martyrs/src/modules/icons/entities/IconDate.vue.js +1 -1
  52. package/dist/martyrs/src/modules/icons/entities/IconDiscount.vue.js +1 -1
  53. package/dist/martyrs/src/modules/icons/entities/IconEarn.vue.js +1 -1
  54. package/dist/martyrs/src/modules/icons/entities/IconEmail.vue.js +1 -1
  55. package/dist/martyrs/src/modules/icons/entities/IconEvents.vue.js +1 -1
  56. package/dist/martyrs/src/modules/icons/entities/IconFeatured.vue.js +1 -1
  57. package/dist/martyrs/src/modules/icons/entities/IconFile.vue.js +1 -1
  58. package/dist/martyrs/src/modules/icons/entities/IconFollowing.vue.js +1 -1
  59. package/dist/martyrs/src/modules/icons/entities/IconGallery.vue.js +1 -1
  60. package/dist/martyrs/src/modules/icons/entities/IconGroups.vue.js +1 -1
  61. package/dist/martyrs/src/modules/icons/entities/IconHome.vue.js +1 -1
  62. package/dist/martyrs/src/modules/icons/entities/IconInfo.vue.js +1 -1
  63. package/dist/martyrs/src/modules/icons/entities/IconLeftovers.vue.js +1 -1
  64. package/dist/martyrs/src/modules/icons/entities/IconList.vue.js +1 -1
  65. package/dist/martyrs/src/modules/icons/entities/IconLock.vue.js +1 -1
  66. package/dist/martyrs/src/modules/icons/entities/IconMusic.vue.js +1 -1
  67. package/dist/martyrs/src/modules/icons/entities/IconOrders.vue.js +1 -1
  68. package/dist/martyrs/src/modules/icons/entities/IconPayments.vue.js +1 -1
  69. package/dist/martyrs/src/modules/icons/entities/IconPhone.vue.js +1 -1
  70. package/dist/martyrs/src/modules/icons/entities/IconPopular.vue.js +1 -1
  71. package/dist/martyrs/src/modules/icons/entities/IconPrice.vue.js +1 -1
  72. package/dist/martyrs/src/modules/icons/entities/IconProducts.vue.js +1 -1
  73. package/dist/martyrs/src/modules/icons/entities/IconProfile.vue.js +1 -1
  74. package/dist/martyrs/src/modules/icons/entities/IconRecent.vue.js +1 -1
  75. package/dist/martyrs/src/modules/icons/entities/IconSettings.vue.js +1 -1
  76. package/dist/martyrs/src/modules/icons/entities/IconShopcart.vue.js +1 -1
  77. package/dist/martyrs/src/modules/icons/navigation/IconAdd.vue.js +1 -1
  78. package/dist/martyrs/src/modules/icons/navigation/IconArrow.vue.js +1 -1
  79. package/dist/martyrs/src/modules/icons/navigation/IconAttach.vue.js +1 -1
  80. package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.js +1 -1
  81. package/dist/martyrs/src/modules/icons/navigation/IconCheckmark.vue.js +1 -1
  82. package/dist/martyrs/src/modules/icons/navigation/IconCross.vue.js +1 -1
  83. package/dist/martyrs/src/modules/icons/navigation/IconDelete.vue.js +1 -1
  84. package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.js +1 -1
  85. package/dist/martyrs/src/modules/icons/navigation/IconEdit.vue.js +1 -1
  86. package/dist/martyrs/src/modules/icons/navigation/IconEllipsis.vue.js +1 -1
  87. package/dist/martyrs/src/modules/icons/navigation/IconFilter.vue.js +1 -1
  88. package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.js +1 -1
  89. package/dist/martyrs/src/modules/icons/navigation/IconInfo.vue.js +1 -1
  90. package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.js +1 -1
  91. package/dist/martyrs/src/modules/icons/navigation/IconMinus.vue.js +1 -1
  92. package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.js +1 -1
  93. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js +1 -1
  94. package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.js +1 -1
  95. package/dist/martyrs/src/modules/icons/navigation/IconPlus.vue.js +1 -1
  96. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js +1 -1
  97. package/dist/martyrs/src/modules/icons/navigation/IconSearch.vue.js +1 -1
  98. package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.js +1 -1
  99. package/dist/martyrs/src/modules/icons/navigation/IconSort.vue.js +1 -1
  100. package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.js +1 -1
  101. package/dist/martyrs/src/modules/icons/navigation/IconUpload.vue.js +1 -1
  102. package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.js +1 -1
  103. package/dist/martyrs/src/modules/icons/socials/dribbble.vue.js +1 -1
  104. package/dist/martyrs/src/modules/icons/socials/facebook.vue.js +1 -1
  105. package/dist/martyrs/src/modules/icons/socials/instagram.vue.js +1 -1
  106. package/dist/martyrs/src/modules/icons/socials/line.vue.js +1 -1
  107. package/dist/martyrs/src/modules/icons/socials/linkedin.vue.js +1 -1
  108. package/dist/martyrs/src/modules/icons/socials/reddit.vue.js +1 -1
  109. package/dist/martyrs/src/modules/icons/socials/telegram.vue.js +1 -1
  110. package/dist/martyrs/src/modules/icons/socials/twitter.vue.js +1 -1
  111. package/dist/martyrs/src/modules/icons/socials/vk.vue.js +1 -1
  112. package/dist/martyrs/src/modules/icons/socials/whatsapp.vue.js +1 -1
  113. package/dist/martyrs/src/modules/icons/socials/youtube.vue.js +1 -1
  114. package/dist/martyrs/src/modules/marketplace/views/components/pages/Marketplace.vue.js +1 -1
  115. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +1 -1
  116. package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js +1 -1
  117. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +1 -1
  118. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
  119. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
  120. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +2 -2
  121. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +2 -2
  122. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +1 -1
  123. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  124. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
  125. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +1 -1
  126. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
  127. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
  128. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +1 -1
  129. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +1 -1
  130. package/dist/martyrs.css +1 -1
  131. package/dist/martyrs.es.js +1 -1
  132. package/dist/style.css +36 -27
  133. package/dist/{web-ClbcbWYJ.js → web-BNJDRie_.js} +1 -1
  134. package/package.json +17 -17
  135. package/src/components/BottomSheet/BottomSheet.vue +1 -1
  136. package/src/components/Chips/Chips.vue +2 -2
  137. package/src/components/Dropdown/Dropdown.vue +42 -14
  138. package/src/components/Menu/MenuItem.vue +3 -3
  139. package/src/jit/loader.js +5 -0
  140. package/src/jit/plugin.js +10 -1
  141. package/src/jit/rules.js +42 -41
  142. package/src/modules/core/views/components/partials/Navigation.vue +9 -12
  143. package/src/modules/core/views/components/partials/Sidebar.vue +17 -11
  144. package/src/modules/governance/reactcode/package-lock.json +4229 -0
  145. package/src/modules/icons/actions/IconDuplicate.vue +1 -1
  146. package/src/modules/icons/actions/IconOpenLink.vue +1 -1
  147. package/src/modules/icons/actions/IconShopcartAdd.vue +1 -1
  148. package/src/modules/icons/actions/IconShow.vue +1 -1
  149. package/src/modules/icons/entities/IconAddress.vue +1 -1
  150. package/src/modules/icons/entities/IconBell.vue +1 -1
  151. package/src/modules/icons/entities/IconCalendar.vue +1 -1
  152. package/src/modules/icons/entities/IconCash.vue +1 -1
  153. package/src/modules/icons/entities/IconCatalog.vue +1 -1
  154. package/src/modules/icons/entities/IconCommunity.vue +1 -1
  155. package/src/modules/icons/entities/IconDate.vue +1 -1
  156. package/src/modules/icons/entities/IconDiscount.vue +1 -1
  157. package/src/modules/icons/entities/IconEarn.vue +1 -1
  158. package/src/modules/icons/entities/IconEmail.vue +1 -1
  159. package/src/modules/icons/entities/IconEvents.vue +1 -1
  160. package/src/modules/icons/entities/IconFeatured.vue +1 -1
  161. package/src/modules/icons/entities/IconFile.vue +1 -1
  162. package/src/modules/icons/entities/IconFollowing.vue +1 -1
  163. package/src/modules/icons/entities/IconGallery.vue +1 -1
  164. package/src/modules/icons/entities/IconGroups.vue +1 -1
  165. package/src/modules/icons/entities/IconHome.vue +1 -1
  166. package/src/modules/icons/entities/IconInfo.vue +1 -1
  167. package/src/modules/icons/entities/IconLeftovers.vue +1 -1
  168. package/src/modules/icons/entities/IconList.vue +1 -1
  169. package/src/modules/icons/entities/IconLock.vue +1 -1
  170. package/src/modules/icons/entities/IconMusic.vue +1 -1
  171. package/src/modules/icons/entities/IconOrders.vue +1 -1
  172. package/src/modules/icons/entities/IconPayments.vue +1 -1
  173. package/src/modules/icons/entities/IconPhone.vue +1 -1
  174. package/src/modules/icons/entities/IconPopular.vue +1 -1
  175. package/src/modules/icons/entities/IconPrice.vue +1 -1
  176. package/src/modules/icons/entities/IconProducts.vue +1 -1
  177. package/src/modules/icons/entities/IconProfile.vue +1 -1
  178. package/src/modules/icons/entities/IconRecent.vue +1 -1
  179. package/src/modules/icons/entities/IconSettings.vue +1 -1
  180. package/src/modules/icons/entities/IconShopcart.vue +1 -1
  181. package/src/modules/icons/navigation/IconAdd.vue +1 -1
  182. package/src/modules/icons/navigation/IconArrow.vue +1 -1
  183. package/src/modules/icons/navigation/IconAttach.vue +1 -1
  184. package/src/modules/icons/navigation/IconCheck.vue +1 -1
  185. package/src/modules/icons/navigation/IconCheckmark.vue +1 -1
  186. package/src/modules/icons/navigation/IconCross.vue +1 -1
  187. package/src/modules/icons/navigation/IconDelete.vue +1 -1
  188. package/src/modules/icons/navigation/IconDoubleCheck.vue +1 -1
  189. package/src/modules/icons/navigation/IconEdit.vue +1 -1
  190. package/src/modules/icons/navigation/IconEllipsis.vue +1 -1
  191. package/src/modules/icons/navigation/IconFilter.vue +1 -1
  192. package/src/modules/icons/navigation/IconHeart.vue +1 -1
  193. package/src/modules/icons/navigation/IconInfo.vue +1 -1
  194. package/src/modules/icons/navigation/IconLike.vue +1 -1
  195. package/src/modules/icons/navigation/IconMinus.vue +1 -1
  196. package/src/modules/icons/navigation/IconMute.vue +1 -1
  197. package/src/modules/icons/navigation/IconPause.vue +1 -1
  198. package/src/modules/icons/navigation/IconPlay.vue +1 -1
  199. package/src/modules/icons/navigation/IconPlus.vue +1 -1
  200. package/src/modules/icons/navigation/IconRefresh.vue +1 -1
  201. package/src/modules/icons/navigation/IconSearch.vue +1 -1
  202. package/src/modules/icons/navigation/IconShuffle.vue +1 -1
  203. package/src/modules/icons/navigation/IconSort.vue +1 -1
  204. package/src/modules/icons/navigation/IconUnMute.vue +1 -1
  205. package/src/modules/icons/navigation/IconUpload.vue +1 -1
  206. package/src/modules/icons/navigation/IconVolume.vue +1 -1
  207. package/src/modules/icons/socials/dribbble.vue +1 -1
  208. package/src/modules/icons/socials/facebook.vue +1 -1
  209. package/src/modules/icons/socials/instagram.vue +1 -1
  210. package/src/modules/icons/socials/line.vue +1 -1
  211. package/src/modules/icons/socials/linkedin.vue +1 -1
  212. package/src/modules/icons/socials/reddit.vue +1 -1
  213. package/src/modules/icons/socials/telegram.vue +1 -1
  214. package/src/modules/icons/socials/twitter.vue +1 -1
  215. package/src/modules/icons/socials/vk.vue +1 -1
  216. package/src/modules/icons/socials/whatsapp.vue +1 -1
  217. package/src/modules/icons/socials/youtube.vue +1 -1
  218. package/src/styles/config.scss +0 -1
  219. package/src/styles/layout.scss +0 -3
  220. package/src/styles/reset.scss +5 -2
  221. package/dist/martyrs/dist/main-EZaj64lH.js.map +0 -1
  222. package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +0 -1
  223. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
  224. package/dist/martyrs/src/components/SelectMulti/SelectMulti.vue.js.map +0 -1
  225. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.js.map +0 -1
  226. package/dist/martyrs/src/components/Upload/Upload.vue.js.map +0 -1
  227. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue.js.map +0 -1
@@ -9,32 +9,33 @@ import _sfc_main$1 from "../../../../../components/Dropdown/Dropdown.vue.js";
9
9
  import _export_sfc from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
10
10
  const _hoisted_1 = ["onClick"];
11
11
  const _hoisted_2 = { class: "fw-medium" };
12
- const _hoisted_3 = ["onClick"];
13
- const _hoisted_4 = {
12
+ const _hoisted_3 = { class: "dropdown-submenu" };
13
+ const _hoisted_4 = ["onClick"];
14
+ const _hoisted_5 = {
14
15
  key: 1,
15
16
  class: ""
16
17
  };
17
- const _hoisted_5 = { class: "w-100" };
18
- const _hoisted_6 = ["onClick"];
19
- const _hoisted_7 = {
18
+ const _hoisted_6 = { class: "w-100" };
19
+ const _hoisted_7 = ["onClick"];
20
+ const _hoisted_8 = {
20
21
  key: 0,
21
22
  class: "w-100 flex-child-default w-max-big flex flex-center aspect-1x1"
22
23
  };
23
- const _hoisted_8 = {
24
+ const _hoisted_9 = {
24
25
  key: 1,
25
26
  class: "p-regular"
26
27
  };
27
- const _hoisted_9 = ["onClick"];
28
- const _hoisted_10 = {
28
+ const _hoisted_10 = ["onClick"];
29
+ const _hoisted_11 = {
29
30
  key: 0,
30
31
  class: "mn-l-small mn-t-thin"
31
32
  };
32
- const _hoisted_11 = ["onClick"];
33
- const _hoisted_12 = {
33
+ const _hoisted_12 = ["onClick"];
34
+ const _hoisted_13 = {
34
35
  key: 1,
35
36
  class: ""
36
37
  };
37
- const _hoisted_13 = { class: "w-100" };
38
+ const _hoisted_14 = { class: "w-100" };
38
39
  const _sfc_main = {
39
40
  __name: "Navigation",
40
41
  props: {
@@ -90,9 +91,9 @@ const _sfc_main = {
90
91
  };
91
92
  return (_ctx, _cache) => {
92
93
  return openBlock(), createElementBlock("nav", {
93
- class: normalizeClass(["ease-quint-out o-x-visible h-100", [
94
+ class: normalizeClass(["ease-quint-out", [
94
95
  __props.stateSidebar ? "pd-small" : "pd-micro",
95
- __props.horizontal ? "w-100 desktop-only gap-thin flex flex-center flex-nowrap o-y-visible" : "o-y-scroll gap-medium rows-1"
96
+ __props.horizontal ? "w-100 desktop-only gap-thin flex flex-center flex-nowrap o-y-visible o-x-visible" : "gap-medium flex flex-column"
96
97
  ]])
97
98
  }, [
98
99
  (openBlock(true), createElementBlock(Fragment, null, renderList(props.navigationItems, (section) => {
@@ -138,9 +139,7 @@ const _sfc_main = {
138
139
  ], 10, _hoisted_1)
139
140
  ]),
140
141
  default: withCtx(() => [
141
- createElementVNode("ul", {
142
- class: normalizeClass(["dropdown-submenu bg-blur-small", __props.theme === "light" ? "bg-white-transp-50 " : "bg-black-transp-50"])
143
- }, [
142
+ createElementVNode("ul", _hoisted_3, [
144
143
  (openBlock(true), createElementBlock(Fragment, null, renderList(item.subItems, (subItem) => {
145
144
  return openBlock(), createElementBlock("li", {
146
145
  key: subItem.title
@@ -148,39 +147,37 @@ const _sfc_main = {
148
147
  createElementVNode("a", {
149
148
  onClick: ($event) => subItem.route ? unref(router).push(processRoute(subItem.route)) : null,
150
149
  href: "#",
151
- class: normalizeClass(["ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small", [
150
+ class: normalizeClass(["group ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small", [
152
151
  subItem.route && unref(route).path === processRoute(subItem.route) ? __props.theme === "light" ? "bg-light" : "bg-dark" : "",
153
152
  __props.theme === "light" ? "hover:bg-light" : "hover:bg-dark"
154
153
  ]])
155
154
  }, [
156
155
  subItem.iconComponent ? (openBlock(), createBlock(resolveDynamicComponent(subItem.iconComponent), {
157
156
  key: 0,
158
- class: "i-medium",
159
- fill: "rgba(var(--black), 0.25)"
160
- })) : (openBlock(), createElementBlock("span", _hoisted_4, toDisplayString(subItem.icon), 1)),
161
- createElementVNode("span", _hoisted_5, toDisplayString(subItem.title), 1)
162
- ], 10, _hoisted_3)
157
+ class: "i-medium t-black-transp-25 group-hover:t-main"
158
+ })) : (openBlock(), createElementBlock("span", _hoisted_5, toDisplayString(subItem.icon), 1)),
159
+ createElementVNode("span", _hoisted_6, toDisplayString(subItem.title), 1)
160
+ ], 10, _hoisted_4)
163
161
  ]);
164
162
  }), 128))
165
- ], 2)
163
+ ])
166
164
  ]),
167
165
  _: 2
168
166
  }, 1024)) : (openBlock(), createElementBlock("button", {
169
167
  key: 1,
170
- class: normalizeClass(["ease-quint-out w-100 flex radius-small flex-nowrap cursor-pointer flex-v-center", [
168
+ class: normalizeClass(["group ease-quint-out w-100 flex radius-small flex-nowrap cursor-pointer flex-v-center", [
171
169
  __props.horizontal ? "pd-thin" : "",
172
170
  item.route && unref(route).path === processRoute(item.route) ? __props.theme === "light" ? "bg-light" : "bg-dark" : "",
173
171
  __props.theme === "light" ? "hover:bg-light" : "hover:bg-dark"
174
172
  ]]),
175
173
  onClick: ($event) => item.route ? (_ctx.isPhone ? __props.stateSidebar = false : null, unref(route).path !== processRoute(item.route) ? unref(router).push(processRoute(item.route)) : null) : null
176
174
  }, [
177
- !__props.horizontal ? (openBlock(), createElementBlock("div", _hoisted_7, [
175
+ !__props.horizontal ? (openBlock(), createElementBlock("div", _hoisted_8, [
178
176
  item.iconComponent ? (openBlock(), createBlock(resolveDynamicComponent(item.iconComponent), {
179
177
  key: 0,
180
- class: "i-medium flex-child-default",
181
- fill: "rgba(var(--black), 0.25)"
178
+ class: "i-medium flex-child-default ease-quint-out t-black-transp-25 group-hover:t-main"
182
179
  })) : createCommentVNode("", true),
183
- !item.iconComponent ? (openBlock(), createElementBlock("span", _hoisted_8, toDisplayString(item.icon), 1)) : createCommentVNode("", true)
180
+ !item.iconComponent ? (openBlock(), createElementBlock("span", _hoisted_9, toDisplayString(item.icon), 1)) : createCommentVNode("", true)
184
181
  ])) : createCommentVNode("", true),
185
182
  createElementVNode("span", {
186
183
  class: normalizeClass(["ease-quint-out w-100 t-left fw-medium", { "hidden": !__props.stateSidebar && !__props.horizontal, "visible": __props.stateSidebar || __props.horizontal }])
@@ -194,8 +191,8 @@ const _sfc_main = {
194
191
  class: normalizeClass([{ "rotate-180deg mn-t-micro-negative": _ctx.isOpen }, "i-small"]),
195
192
  fill: __props.theme === "dark" ? "rgb(var(--white))" : "rgb(var(--black))"
196
193
  }, null, 8, ["class", "fill"])
197
- ], 10, _hoisted_9)) : createCommentVNode("", true)
198
- ], 10, _hoisted_6)),
194
+ ], 10, _hoisted_10)) : createCommentVNode("", true)
195
+ ], 10, _hoisted_7)),
199
196
  createVNode(Transition, {
200
197
  "enter-active-class": "dropdown-enter",
201
198
  "leave-active-class": "dropdown-leave",
@@ -205,7 +202,7 @@ const _sfc_main = {
205
202
  "leave-to-class": "dropdown-leave-to"
206
203
  }, {
207
204
  default: withCtx(() => [
208
- item.subItems && isSectionExpanded(item.title) && __props.stateSidebar && !__props.horizontal ? (openBlock(), createElementBlock("ul", _hoisted_10, [
205
+ item.subItems && isSectionExpanded(item.title) && __props.stateSidebar && !__props.horizontal ? (openBlock(), createElementBlock("ul", _hoisted_11, [
209
206
  (openBlock(true), createElementBlock(Fragment, null, renderList(item.subItems, (subItem) => {
210
207
  return openBlock(), createElementBlock("li", {
211
208
  key: subItem.title
@@ -213,18 +210,17 @@ const _sfc_main = {
213
210
  createElementVNode("a", {
214
211
  onClick: ($event) => subItem.route ? (_ctx.isPhone ? __props.stateSidebar = false : null, unref(route).path !== processRoute(subItem.route) ? unref(router).push(processRoute(subItem.route)) : null) : null,
215
212
  href: "#",
216
- class: normalizeClass(["ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small", [
213
+ class: normalizeClass(["group ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small", [
217
214
  subItem.route && unref(route).path === processRoute(subItem.route) ? __props.theme === "light" ? "bg-light" : "bg-dark" : "",
218
215
  __props.theme === "light" ? "hover:bg-light" : "hover:bg-dark"
219
216
  ]])
220
217
  }, [
221
218
  subItem.iconComponent ? (openBlock(), createBlock(resolveDynamicComponent(subItem.iconComponent), {
222
219
  key: 0,
223
- class: "i-medium",
224
- fill: "rgba(var(--black), 0.25)"
225
- })) : (openBlock(), createElementBlock("span", _hoisted_12, toDisplayString(subItem.icon), 1)),
226
- createElementVNode("span", _hoisted_13, toDisplayString(subItem.title), 1)
227
- ], 10, _hoisted_11)
220
+ class: "i-medium t-black-transp-25 group-hover:t-main"
221
+ })) : (openBlock(), createElementBlock("span", _hoisted_13, toDisplayString(subItem.icon), 1)),
222
+ createElementVNode("span", _hoisted_14, toDisplayString(subItem.title), 1)
223
+ ], 10, _hoisted_12)
228
224
  ]);
229
225
  }), 128))
230
226
  ])) : createCommentVNode("", true)
@@ -244,7 +240,7 @@ const _sfc_main = {
244
240
  };
245
241
  }
246
242
  };
247
- const Navigation = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4bed57a8"]]);
243
+ const Navigation = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-9f149045"]]);
248
244
  export {
249
245
  Navigation as default
250
246
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Navigation.vue.js","sources":["../../../../../../../../src/modules/core/views/components/partials/Navigation.vue"],"sourcesContent":["<script setup>\nimport { ref, watch, computed } from 'vue'\nimport { useRouter, useRoute } from 'vue-router'\n\nimport IconChevronBottom from '@martyrs/src/modules/icons/navigation/IconChevronBottom.vue'\n\nimport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n\nconst store = useStore()\nconst router = useRouter()\nconst route = useRoute()\n\nimport Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue'\nimport Spoiler from '@martyrs/src/components/Spoiler/Spoiler.vue'\n\nconst props = defineProps({\n navigationItems: Array,\n theme: {\n type: String,\n default: \"light\"\n },\n stateSidebar: {\n type: Boolean,\n default: false\n },\n horizontal: {\n type: Boolean,\n default: false\n }\n})\n\nconst emits = defineEmits([\n 'closeSidebar'\n])\n\nconst expandedSections = ref([])\n\nconst toggleSection = (title) => {\n if (!props.stateSidebar) {\n if (menuItems.value.flatMap(section => section.items).find(item => item.title === title && item.subItems)) {\n emits('closeSidebar')\n setTimeout(() => {\n expandedSections.value.push(title)\n }, 50)\n }\n return\n }\n \n const index = expandedSections.value.indexOf(title)\n\n if (index === -1) {\n expandedSections.value.push(title)\n } else {\n expandedSections.value.splice(index, 1)\n }\n}\n\nconst isSectionExpanded = (title) => {\n return expandedSections.value.includes(title)\n}\n\n// Process route functions with auth data and route\nconst processRoute = (routeFn) => {\n if (typeof routeFn === 'function') {\n return routeFn(auth.state, route)\n }\n return routeFn\n}\n\n</script>\n\n<template>\n <nav\n class=\"ease-quint-out o-x-visible h-100\"\n :class=\"[\n stateSidebar ? 'pd-small' : 'pd-micro',\n horizontal ? 'w-100 desktop-only gap-thin flex flex-center flex-nowrap o-y-visible' : 'o-y-scroll gap-medium rows-1',\n ]\"\n >\n <div \n v-for=\"section in props.navigationItems\" \n v-show=\"!section.visible || (typeof section.visible === 'function' ? section.visible(auth.state, route) : true)\"\n :key=\"section.category\" \n class=\"ease-quint-out\"\n :class=\"[\n horizontal ? 'w-max flex-child-default flex flex-nowrap' : '',\n stateSidebar && !horizontal ? '' : '',\n ]\"\n >\n <div\n v-if=\"section.category && stateSidebar && !horizontal\"\n class=\"uppercase fw-medium t-transp p-small\"\n :class=\"{\n 't-black': theme === 'light',\n 't-white': theme === 'dark'\n }\"\n >\n {{ section.category }}\n </div>\n\n <ul \n :class=\"[\n horizontal ? 'w-100 gap-micro flex flex-nowrap' : 'flex flex-column gap-micro',\n ]\"\n >\n <li\n v-for=\"item in section.items\"\n v-show=\"!item.visible || (typeof item.visible === 'function' ? item.visible(auth.state, route) : true)\"\n class=\"w-100 pos-relative\"\n :key=\"item.title\"\n\n >\n <Dropdown\n v-if=\"item.subItems && horizontal\"\n class=\"w-100\"\n align=\"left\"\n trigger=\"hover\"\n >\n <template #label>\n <button\n class=\"ease-quint-out w-100 flex radius-small flex-nowrap cursor-pointer flex-v-center pd-thin\"\n @click=\"item.route ? router.push(processRoute(item.route)) : null\"\n :class=\"[\n item.route && route.path === processRoute(item.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <span class=\"fw-medium\">{{ item.title }}</span>\n <!-- <IconChevronBottom :fill=\"theme === 'dark' ? 'rgb(var(--white))': 'rgb(var(--black))'\" class=\"i-small mn-l-thin\"/> -->\n </button>\n </template>\n <ul class=\"dropdown-submenu bg-blur-small\" :class=\"theme === 'light' ? 'bg-white-transp-50 ' : 'bg-black-transp-50'\">\n <li v-for=\"subItem in item.subItems\" :key=\"subItem.title\">\n <a\n @click=\"subItem.route ? router.push(processRoute(subItem.route)) : null\"\n href=\"#\"\n class=\"ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small\"\n :class=\"[\n subItem.route && route.path === processRoute(subItem.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <component\n v-if=\"subItem.iconComponent\"\n :is=\"subItem.iconComponent\"\n class=\"i-medium\"\n fill=\"rgba(var(--black), 0.25)\"\n />\n <span v-else class=\"\">{{ subItem.icon }}</span>\n <span class=\"w-100\">{{ subItem.title }}</span>\n </a>\n </li>\n </ul>\n </Dropdown>\n <button\n v-else\n class=\"ease-quint-out w-100 flex radius-small flex-nowrap cursor-pointer flex-v-center\"\n @click=\"item.route ? (isPhone ? (stateSidebar = false) : null, route.path !== processRoute(item.route) ? router.push(processRoute(item.route)) : null) : null\"\n :class=\"[\n horizontal ? 'pd-thin' : '',\n item.route && route.path === processRoute(item.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <div v-if=\"!horizontal\" class=\"w-100 flex-child-default w-max-big flex flex-center aspect-1x1\">\n <component\n v-if=\"item.iconComponent\"\n :is=\"item.iconComponent\"\n class=\"i-medium flex-child-default\"\n fill=\"rgba(var(--black), 0.25)\"\n />\n <span\n v-if=\"!item.iconComponent \"\n class=\"p-regular\"\n >\n {{ item.icon }}\n </span>\n </div>\n\n <span\n class=\"ease-quint-out w-100 t-left fw-medium\"\n :class=\"{ 'hidden': !stateSidebar && !horizontal, 'visible': stateSidebar || horizontal }\"\n >\n {{ item.title }}\n </span>\n\n <span\n v-if=\"item.subItems && stateSidebar && !horizontal\"\n class=\"mn-l-auto mn-r-small sidebar-dropdown-icon\"\n :class=\"{ 'rotate-180deg': isSectionExpanded(item.title) }\"\n @click.stop=\"toggleSection(item.title)\"\n >\n <IconChevronBottom :class=\"{ 'rotate-180deg mn-t-micro-negative': isOpen }\" :fill=\" theme === 'dark' ? 'rgb(var(--white))': 'rgb(var(--black))'\" class=\"i-small\"/>\n </span>\n </button>\n <transition\n enter-active-class=\"dropdown-enter\"\n leave-active-class=\"dropdown-leave\"\n enter-from-class=\"dropdown-enter-from\"\n enter-to-class=\"dropdown-enter-to\"\n leave-from-class=\"dropdown-leave-from\"\n leave-to-class=\"dropdown-leave-to\"\n >\n <ul\n v-if=\"item.subItems && isSectionExpanded(item.title) && stateSidebar && !horizontal\"\n class=\"mn-l-small mn-t-thin\"\n >\n <li v-for=\"subItem in item.subItems\" :key=\"subItem.title\">\n\n <a\n @click=\"subItem.route ? (isPhone ? (stateSidebar = false) : null, route.path !== processRoute(subItem.route) ? router.push(processRoute(subItem.route)) : null) : null\"\n href=\"#\"\n class=\"ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small\"\n :class=\"[\n subItem.route && route.path === processRoute(subItem.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <component\n v-if=\"subItem.iconComponent\"\n :is=\"subItem.iconComponent\"\n class=\"i-medium\"\n fill=\"rgba(var(--black), 0.25)\"\n />\n <span v-else class=\"\">{{ subItem.icon }}</span>\n <span class=\"w-100\">{{ subItem.title }}</span>\n </a>\n </li>\n </ul>\n </transition>\n </li>\n </ul>\n </div>\n </nav>\n</template>\n\n<style scoped>\n\n.rotate-180deg {\n transform: rotate(180deg);\n}\n\n.hidden {\n/* opacity: 0;*/\n width: 0;\n display: none;\n}\n\n.visible {\n/* opacity: 1;*/\n display: block;\n}\n\n/* Dropdown animations */\n.dropdown-enter, .dropdown-leave {\n transition: all 0.3s ease-in-out;\n}\n\n.dropdown-enter-from, .dropdown-leave-to {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n\n.dropdown-enter-to, .dropdown-leave-from {\n opacity: 1;\n transform: translateY(0);\n}\n\n/* Horizontal dropdown submenu */\n.dropdown-submenu {\n list-style: none;\n padding: 0.5rem;\n margin: 0;\n min-width: 12rem;\n}\n\n.dropdown-submenu li {\n width: 100%;\n}\n\n.dropdown-submenu a {\n display: flex;\n text-decoration: none;\n white-space: nowrap;\n}\n\n/* Transition for horizontal dropdown */\n:deep(.TransitionTranslateY-enter-active),\n:deep(.TransitionTranslateY-leave-active) {\n transition: translateY 0.2s ease;\n transition: opacity 0.2s ease;\n}\n\n:deep(.TransitionTranslateY-enter-from),\n:deep(.TransitionTranslateY-leave-to) {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n\n:deep(.TransitionTranslateY-enter-to),\n:deep(.TransitionTranslateY-leave-from) {\n opacity: 1;\n transform: translateY(0);\n}\n</style>"],"names":["auth.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASc,aAAQ;AACtB,UAAM,SAAS,UAAS;AACxB,UAAM,QAAQ,SAAQ;AAKtB,UAAM,QAAQ;AAgBd,UAAM,QAAQ;AAId,UAAM,mBAAmB,IAAI,CAAA,CAAE;AAE/B,UAAM,gBAAgB,CAAC,UAAU;AAC/B,UAAI,CAAC,MAAM,cAAc;AACvB,YAAI,UAAU,MAAM,QAAQ,aAAW,QAAQ,KAAK,EAAE,KAAK,UAAQ,KAAK,UAAU,SAAS,KAAK,QAAQ,GAAG;AACzG,gBAAM,cAAc;AACpB,qBAAW,MAAM;AACf,6BAAiB,MAAM,KAAK,KAAK;AAAA,UACnC,GAAG,EAAE;AAAA,QACP;AACA;AAAA,MACF;AAEA,YAAM,QAAQ,iBAAiB,MAAM,QAAQ,KAAK;AAElD,UAAI,UAAU,IAAI;AAChB,yBAAiB,MAAM,KAAK,KAAK;AAAA,MACnC,OAAO;AACL,yBAAiB,MAAM,OAAO,OAAO,CAAC;AAAA,MACxC;AAAA,IACF;AAEA,UAAM,oBAAoB,CAAC,UAAU;AACnC,aAAO,iBAAiB,MAAM,SAAS,KAAK;AAAA,IAC9C;AAGA,UAAM,eAAe,CAAC,YAAY;AAChC,UAAI,OAAO,YAAY,YAAY;AACjC,eAAO,QAAQA,OAAY,KAAK;AAAA,MAClC;AACA,aAAO;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Navigation.vue.js","sources":["../../../../../../../../src/modules/core/views/components/partials/Navigation.vue"],"sourcesContent":["<script setup>\nimport { ref, watch, computed } from 'vue'\nimport { useRouter, useRoute } from 'vue-router'\n\nimport IconChevronBottom from '@martyrs/src/modules/icons/navigation/IconChevronBottom.vue'\n\nimport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\n\nconst store = useStore()\nconst router = useRouter()\nconst route = useRoute()\n\nimport Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue'\nimport Spoiler from '@martyrs/src/components/Spoiler/Spoiler.vue'\n\nconst props = defineProps({\n navigationItems: Array,\n theme: {\n type: String,\n default: \"light\"\n },\n stateSidebar: {\n type: Boolean,\n default: false\n },\n horizontal: {\n type: Boolean,\n default: false\n }\n})\n\nconst emits = defineEmits([\n 'closeSidebar'\n])\n\nconst expandedSections = ref([])\n\nconst toggleSection = (title) => {\n if (!props.stateSidebar) {\n if (menuItems.value.flatMap(section => section.items).find(item => item.title === title && item.subItems)) {\n emits('closeSidebar')\n setTimeout(() => {\n expandedSections.value.push(title)\n }, 50)\n }\n return\n }\n \n const index = expandedSections.value.indexOf(title)\n\n if (index === -1) {\n expandedSections.value.push(title)\n } else {\n expandedSections.value.splice(index, 1)\n }\n}\n\nconst isSectionExpanded = (title) => {\n return expandedSections.value.includes(title)\n}\n\n// Process route functions with auth data and route\nconst processRoute = (routeFn) => {\n if (typeof routeFn === 'function') {\n return routeFn(auth.state, route)\n }\n return routeFn\n}\n\n</script>\n\n<template>\n <nav\n class=\"ease-quint-out\"\n :class=\"[\n stateSidebar ? 'pd-small' : 'pd-micro',\n horizontal ? 'w-100 desktop-only gap-thin flex flex-center flex-nowrap o-y-visible o-x-visible' : 'gap-medium flex flex-column',\n ]\"\n >\n <div \n v-for=\"section in props.navigationItems\" \n v-show=\"!section.visible || (typeof section.visible === 'function' ? section.visible(auth.state, route) : true)\"\n :key=\"section.category\" \n class=\"ease-quint-out\"\n :class=\"[\n horizontal ? 'w-max flex-child-default flex flex-nowrap' : '',\n stateSidebar && !horizontal ? '' : '',\n ]\"\n >\n <div\n v-if=\"section.category && stateSidebar && !horizontal\"\n class=\"uppercase fw-medium t-transp p-small\"\n :class=\"{\n 't-black': theme === 'light',\n 't-white': theme === 'dark'\n }\"\n >\n {{ section.category }}\n </div>\n\n <ul \n :class=\"[\n horizontal ? 'w-100 gap-micro flex flex-nowrap' : 'flex flex-column gap-micro',\n ]\"\n >\n <li\n v-for=\"item in section.items\"\n v-show=\"!item.visible || (typeof item.visible === 'function' ? item.visible(auth.state, route) : true)\"\n class=\"w-100 pos-relative\"\n :key=\"item.title\"\n\n >\n <Dropdown\n v-if=\"item.subItems && horizontal\"\n class=\"w-100\"\n align=\"left\"\n trigger=\"hover\"\n >\n <template #label>\n <button\n class=\"ease-quint-out w-100 flex radius-small flex-nowrap cursor-pointer flex-v-center pd-thin\"\n @click=\"item.route ? router.push(processRoute(item.route)) : null\"\n :class=\"[\n item.route && route.path === processRoute(item.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <span class=\"fw-medium\">{{ item.title }}</span>\n <!-- <IconChevronBottom :fill=\"theme === 'dark' ? 'rgb(var(--white))': 'rgb(var(--black))'\" class=\"i-small mn-l-thin\"/> -->\n </button>\n </template>\n <ul class=\"dropdown-submenu\">\n <li v-for=\"subItem in item.subItems\" :key=\"subItem.title\">\n <a\n @click=\"subItem.route ? router.push(processRoute(subItem.route)) : null\"\n href=\"#\"\n class=\"group ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small\"\n :class=\"[\n subItem.route && route.path === processRoute(subItem.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <component\n v-if=\"subItem.iconComponent\"\n :is=\"subItem.iconComponent\"\n class=\"i-medium t-black-transp-25 group-hover:t-main\"\n />\n <span v-else class=\"\">{{ subItem.icon }}</span>\n <span class=\"w-100\">{{ subItem.title }}</span>\n </a>\n </li>\n </ul>\n </Dropdown>\n <button\n v-else\n class=\"group ease-quint-out w-100 flex radius-small flex-nowrap cursor-pointer flex-v-center\"\n @click=\"item.route ? (isPhone ? (stateSidebar = false) : null, route.path !== processRoute(item.route) ? router.push(processRoute(item.route)) : null) : null\"\n :class=\"[\n horizontal ? 'pd-thin' : '',\n item.route && route.path === processRoute(item.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <div v-if=\"!horizontal\" class=\"w-100 flex-child-default w-max-big flex flex-center aspect-1x1\">\n <component\n v-if=\"item.iconComponent\"\n :is=\"item.iconComponent\"\n class=\"i-medium flex-child-default ease-quint-out t-black-transp-25 group-hover:t-main\"\n />\n <span\n v-if=\"!item.iconComponent \"\n class=\"p-regular\"\n >\n {{ item.icon }}\n </span>\n </div>\n\n <span\n class=\"ease-quint-out w-100 t-left fw-medium\"\n :class=\"{ 'hidden': !stateSidebar && !horizontal, 'visible': stateSidebar || horizontal }\"\n >\n {{ item.title }}\n </span>\n\n <span\n v-if=\"item.subItems && stateSidebar && !horizontal\"\n class=\"mn-l-auto mn-r-small sidebar-dropdown-icon\"\n :class=\"{ 'rotate-180deg': isSectionExpanded(item.title) }\"\n @click.stop=\"toggleSection(item.title)\"\n >\n <IconChevronBottom :class=\"{ 'rotate-180deg mn-t-micro-negative': isOpen }\" :fill=\" theme === 'dark' ? 'rgb(var(--white))': 'rgb(var(--black))'\" class=\"i-small\"/>\n </span>\n </button>\n <transition\n enter-active-class=\"dropdown-enter\"\n leave-active-class=\"dropdown-leave\"\n enter-from-class=\"dropdown-enter-from\"\n enter-to-class=\"dropdown-enter-to\"\n leave-from-class=\"dropdown-leave-from\"\n leave-to-class=\"dropdown-leave-to\"\n >\n <ul\n v-if=\"item.subItems && isSectionExpanded(item.title) && stateSidebar && !horizontal\"\n class=\"mn-l-small mn-t-thin\"\n >\n <li v-for=\"subItem in item.subItems\" :key=\"subItem.title\">\n\n <a\n @click=\"subItem.route ? (isPhone ? (stateSidebar = false) : null, route.path !== processRoute(subItem.route) ? router.push(processRoute(subItem.route)) : null) : null\"\n href=\"#\"\n class=\"group ease-quint-out flex flex-v-center flex-nowrap gap-thin pd-thin radius-small\"\n :class=\"[\n subItem.route && route.path === processRoute(subItem.route) ? theme === 'light' ? 'bg-light' : 'bg-dark' : '',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <component\n v-if=\"subItem.iconComponent\"\n :is=\"subItem.iconComponent\"\n class=\"i-medium t-black-transp-25 group-hover:t-main\"\n />\n <span v-else class=\"\">{{ subItem.icon }}</span>\n <span class=\"w-100\">{{ subItem.title }}</span>\n </a>\n </li>\n </ul>\n </transition>\n </li>\n </ul>\n </div>\n </nav>\n</template>\n\n<style scoped>\n\n.rotate-180deg {\n transform: rotate(180deg);\n}\n\n.hidden {\n/* opacity: 0;*/\n width: 0;\n display: none;\n}\n\n.visible {\n/* opacity: 1;*/\n display: block;\n}\n\n/* Dropdown animations */\n.dropdown-enter, .dropdown-leave {\n transition: all 0.3s ease-in-out;\n}\n\n.dropdown-enter-from, .dropdown-leave-to {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n\n.dropdown-enter-to, .dropdown-leave-from {\n opacity: 1;\n transform: translateY(0);\n}\n\n/* Horizontal dropdown submenu */\n.dropdown-submenu {\n list-style: none;\n padding: 0.5rem;\n margin: 0;\n min-width: 12rem;\n}\n\n.dropdown-submenu li {\n width: 100%;\n}\n\n.dropdown-submenu a {\n display: flex;\n text-decoration: none;\n white-space: nowrap;\n}\n\n/* Transition for horizontal dropdown */\n:deep(.TransitionTranslateY-enter-active),\n:deep(.TransitionTranslateY-leave-active) {\n transition: translateY 0.2s ease;\n transition: opacity 0.2s ease;\n}\n\n:deep(.TransitionTranslateY-enter-from),\n:deep(.TransitionTranslateY-leave-to) {\n opacity: 0;\n transform: translateY(-0.5rem);\n}\n\n:deep(.TransitionTranslateY-enter-to),\n:deep(.TransitionTranslateY-leave-from) {\n opacity: 1;\n transform: translateY(0);\n}\n</style>"],"names":["auth.state"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AASc,aAAQ;AACtB,UAAM,SAAS,UAAS;AACxB,UAAM,QAAQ,SAAQ;AAKtB,UAAM,QAAQ;AAgBd,UAAM,QAAQ;AAId,UAAM,mBAAmB,IAAI,CAAA,CAAE;AAE/B,UAAM,gBAAgB,CAAC,UAAU;AAC/B,UAAI,CAAC,MAAM,cAAc;AACvB,YAAI,UAAU,MAAM,QAAQ,aAAW,QAAQ,KAAK,EAAE,KAAK,UAAQ,KAAK,UAAU,SAAS,KAAK,QAAQ,GAAG;AACzG,gBAAM,cAAc;AACpB,qBAAW,MAAM;AACf,6BAAiB,MAAM,KAAK,KAAK;AAAA,UACnC,GAAG,EAAE;AAAA,QACP;AACA;AAAA,MACF;AAEA,YAAM,QAAQ,iBAAiB,MAAM,QAAQ,KAAK;AAElD,UAAI,UAAU,IAAI;AAChB,yBAAiB,MAAM,KAAK,KAAK;AAAA,MACnC,OAAO;AACL,yBAAiB,MAAM,OAAO,OAAO,CAAC;AAAA,MACxC;AAAA,IACF;AAEA,UAAM,oBAAoB,CAAC,UAAU;AACnC,aAAO,iBAAiB,MAAM,SAAS,KAAK;AAAA,IAC9C;AAGA,UAAM,eAAe,CAAC,YAAY;AAChC,UAAI,OAAO,YAAY,YAAY;AACjC,eAAO,QAAQA,OAAY,KAAK;AAAA,MAClC;AACA,aAAO;AAAA,IACT;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,10 +1,13 @@
1
- import { ref, watch, createElementBlock, openBlock, normalizeClass, renderSlot, createCommentVNode, createElementVNode, unref, toDisplayString } from "vue";
1
+ import { ref, watch, createElementBlock, openBlock, normalizeClass, createElementVNode, createCommentVNode, renderSlot, unref, toDisplayString } from "vue";
2
2
  import { useRouter, useRoute } from "vue-router";
3
3
  import { useGlobalMixins } from "../../mixins/mixins.js";
4
4
  import { useStore } from "../../store/core.store.js";
5
5
  /* empty css */
6
6
  import _export_sfc from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
7
- const _hoisted_1 = { class: "aspect-1x1 flex-child-default w-max-big w-100 flex flex-center" };
7
+ const _hoisted_1 = { class: "flex-shrink-0" };
8
+ const _hoisted_2 = { class: "flex-child-1 o-y-auto" };
9
+ const _hoisted_3 = { class: "flex-shrink-0" };
10
+ const _hoisted_4 = { class: "aspect-1x1 flex-child-default w-max-big w-100 flex flex-center" };
8
11
  const _sfc_main = {
9
12
  __name: "Sidebar",
10
13
  props: {
@@ -72,7 +75,7 @@ const _sfc_main = {
72
75
  return (_ctx, _cache) => {
73
76
  return openBlock(), createElementBlock("aside", {
74
77
  "data-sidebar": "",
75
- class: normalizeClass(["ease-quint-out w-min-0 o-hidden flex-child-default z-index-2 br-r-1px flex flex-column h-100", [
78
+ class: normalizeClass(["ease-quint-out w-min-0 flex-child-default z-index-2 br-r-1px flex flex-column h-100", [
76
79
  { "mobile-opened": isManuallyOpened.value },
77
80
  __props.stateSidebar ? `${__props.width} w-min-10 tablet:w-min-100 tablet:w-100 mobile:w-min-100 mobile:w-100` : `${__props.widthHidden} mobile:w-0`,
78
81
  //
@@ -81,20 +84,26 @@ const _sfc_main = {
81
84
  onMouseenter: handleMouseEnter,
82
85
  onMouseleave: handleMouseLeave
83
86
  }, [
84
- renderSlot(_ctx.$slots, "header", {}, void 0, true),
85
- renderSlot(_ctx.$slots, "default", {}, void 0, true),
86
- renderSlot(_ctx.$slots, "footer", {}, void 0, true),
87
+ createElementVNode("div", _hoisted_1, [
88
+ renderSlot(_ctx.$slots, "header", {}, void 0, true)
89
+ ]),
90
+ createElementVNode("div", _hoisted_2, [
91
+ renderSlot(_ctx.$slots, "default", {}, void 0, true)
92
+ ]),
93
+ createElementVNode("div", _hoisted_3, [
94
+ renderSlot(_ctx.$slots, "footer", {}, void 0, true)
95
+ ]),
87
96
  _ctx.MOBILE_APP ? (openBlock(), createElementBlock("div", {
88
97
  key: 0,
89
98
  onClick: _cache[0] || (_cache[0] = () => toggleSidebar()),
90
- class: "pos-relative"
99
+ class: "flex-shrink-0 pos-relative"
91
100
  }, _cache[2] || (_cache[2] = [
92
101
  createElementVNode("div", { class: "bg-light radius-medium pd-medium" }, [
93
102
  createElementVNode("p", { class: "fw-medium t-black-transp-60" }, " Close Menu ")
94
103
  ], -1)
95
104
  ]))) : createCommentVNode("", true),
96
105
  createElementVNode("div", {
97
- class: normalizeClass(["w-100 br-t-1px", {
106
+ class: normalizeClass(["flex-shrink-0 w-100 br-t-1px", {
98
107
  "pd-micro": !__props.stateSidebar,
99
108
  "pd-small": __props.stateSidebar,
100
109
  "br-light": __props.theme === "light",
@@ -111,14 +120,14 @@ const _sfc_main = {
111
120
  createElementVNode("span", {
112
121
  class: normalizeClass(["w-100 t-nowrap ease-quint-out t-left fw-medium mn-r-thin", { "hidden": !__props.stateSidebar, "visible": __props.stateSidebar }])
113
122
  }, " Dark Mode ", 2),
114
- createElementVNode("span", _hoisted_1, toDisplayString(unref(store).core.state.theme.darkmode ? "🌙" : "☀️"), 1)
123
+ createElementVNode("span", _hoisted_4, toDisplayString(unref(store).core.state.theme.darkmode ? "🌙" : "☀️"), 1)
115
124
  ], 2)
116
125
  ], 2)
117
126
  ], 34);
118
127
  };
119
128
  }
120
129
  };
121
- const Sidebar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-c3592737"]]);
130
+ const Sidebar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-499f10e6"]]);
122
131
  export {
123
132
  Sidebar as default
124
133
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.vue.js","sources":["../../../../../../../../src/modules/core/views/components/partials/Sidebar.vue"],"sourcesContent":["<script setup>\nimport { ref, watch } from 'vue'\nimport { useRouter, useRoute } from 'vue-router'\nimport { useGlobalMixins } from \"@martyrs/src/modules/core/views/mixins/mixins.js\"\nimport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js'\n\nconst store = useStore()\n\nconst props = defineProps({\n theme: {\n type: String,\n default: \"light\"\n },\n stateSidebar: {\n type: Boolean,\n default: false\n },\n width: {\n type: String,\n default: 'w-15r'\n },\n widthHidden:{\n type: String,\n default: 'w-3r '\n },\n})\n\nconst emits = defineEmits([\n 'closeSidebar'\n])\n\nconst { isPhone, isTablet } = useGlobalMixins()\nconst router = useRouter()\nconst route = useRoute()\n\n// Отдельный флаг для клика меню на mobile\nconst isManuallyOpened = ref(false)\n\n// Синхронизируем с stateSidebar ТОЛЬКО на mobile\nwatch(() => props.stateSidebar, (newVal) => {\n if (isPhone() || isTablet()) {\n isManuallyOpened.value = newVal\n }\n})\n\nconst toggleSidebar = () => {\n isManuallyOpened.value = !isManuallyOpened.value\n if (!isManuallyOpened.value) {\n emits('closeSidebar')\n }\n}\n\nconst handleMouseEnter = () => {\n if (route.meta?.sidebar_hover && !isPhone() && !isTablet()) {\n store.core.state.isOpenSidebar = true\n }\n}\n\nconst handleMouseLeave = () => {\n if (route.meta?.sidebar_hover && !isPhone() && !isTablet()) {\n store.core.state.isOpenSidebar = false\n }\n}\n\nrouter.beforeEach((to, from) => {\n // На mobile не трогаем state через навигацию\n if (isPhone() || isTablet()) {\n emits('closeSidebar')\n return\n }\n\n\n // Desktop логика\n // Если уходим с профиля И НЕ идем на профиль - закрыть\n if (from.meta?.sidebarCloseOnLeave === true && to.meta?.sidebarOpenOnEnter !== true) {\n store.core.state.isOpenSidebar = false\n }\n\n // Если приходим на профиль - открыть\n if (to.meta?.sidebarOpenOnEnter === true) {\n store.core.state.isOpenSidebar = true\n }\n})\n</script>\n\n<template>\n <aside\n data-sidebar\n class=\"ease-quint-out w-min-0 o-hidden flex-child-default z-index-2 br-r-1px flex flex-column h-100\"\n :class=\"[\n { 'mobile-opened': isManuallyOpened },\n stateSidebar\n ? `${width} w-min-10 tablet:w-min-100 tablet:w-100 mobile:w-min-100 mobile:w-100`\n : `${widthHidden} mobile:w-0`,\n //\n theme === 'light'\n ? 't-black bg-white br-light'\n : 't-white bg-black br-dark'\n ]\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <!-- Slot for header component (e.g., ProfileCard) -->\n <slot name=\"header\"></slot>\n\n <!-- Slot for navigation content -->\n <slot></slot>\n\n <!-- Slot for footer component (e.g., HelpCard) -->\n <slot name=\"footer\"></slot>\n <div v-if=\"MOBILE_APP\" @click=\"() => toggleSidebar()\" class=\"pos-relative\">\n <div class=\"bg-light radius-medium pd-medium\">\n <p class=\"fw-medium t-black-transp-60\">\n Close Menu\n </p>\n </div>\n </div>\n <div \n class=\"w-100 br-t-1px\"\n :class=\"{ \n 'pd-micro': !stateSidebar, \n 'pd-small': stateSidebar,\n 'br-light': theme === 'light',\n 'br-dark': theme === 'dark'\n }\"\n >\n <button\n @click=\"() => store.core.actions.toggleTheme()\"\n class=\"ease-quint-out flex w-100 flex-center radius-small cursor-pointer flex-nowrap\"\n :class=\"[\n stateSidebar ? 'pd-thin justify-between' : 'w-100 justify-center',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <span\n class=\"w-100 t-nowrap ease-quint-out t-left fw-medium mn-r-thin\"\n :class=\"{ 'hidden': !stateSidebar, 'visible': stateSidebar }\"\n >\n Dark Mode\n </span>\n <span class=\"aspect-1x1 flex-child-default w-max-big w-100 flex flex-center \">\n {{ store.core.state.theme.darkmode ? '🌙' : '☀️' }}\n </span>\n </button>\n </div>\n </aside>\n</template>\n\n<style scoped>\n.hidden {\n opacity: 0;\n width: 0;\n display: none;\n}\n.visible {\n opacity: 1;\n display: block;\n}\n\n/* Mobile: ВСЕГДА скрываем, показываем ТОЛЬКО по клику меню */\n@media (max-width: 1024px) {\n aside[data-sidebar] {\n position: fixed !important;\n left: 0 !important;\n transform: translateX(-100%) !important;\n visibility: hidden !important;\n z-index: 1000 !important;\n }\n\n /* Показываем ТОЛЬКО когда manual клик (НЕ от SSR state) */\n aside[data-sidebar].mobile-opened {\n transform: translateX(0) !important;\n visibility: visible !important;\n }\n}\n\n/* Scrollbar styles */\n::-webkit-scrollbar {\n width: 6px;\n}\n::-webkit-scrollbar-track {\n background: transparent;\n}\n::-webkit-scrollbar-thumb {\n background-color: var(--grey-micro);\n border-radius: 3px;\n}\n::-webkit-scrollbar-thumb:hover {\n background-color: var(--grey-small);\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,UAAM,QAAQ,SAAQ;AAEtB,UAAM,QAAQ;AAmBd,UAAM,QAAQ;AAId,UAAM,EAAE,SAAS,SAAQ,IAAK,gBAAe;AAC7C,UAAM,SAAS,UAAS;AACxB,UAAM,QAAQ,SAAQ;AAGtB,UAAM,mBAAmB,IAAI,KAAK;AAGlC,UAAM,MAAM,MAAM,cAAc,CAAC,WAAW;AAC1C,UAAI,QAAO,KAAM,YAAY;AAC3B,yBAAiB,QAAQ;AAAA,MAC3B;AAAA,IACF,CAAC;AAED,UAAM,gBAAgB,MAAM;AAC1B,uBAAiB,QAAQ,CAAC,iBAAiB;AAC3C,UAAI,CAAC,iBAAiB,OAAO;AAC3B,cAAM,cAAc;AAAA,MACtB;AAAA,IACF;AAEA,UAAM,mBAAmB,MAAM;AAC7B,UAAI,MAAM,MAAM,iBAAiB,CAAC,QAAO,KAAM,CAAC,YAAY;AAC1D,cAAM,KAAK,MAAM,gBAAgB;AAAA,MACnC;AAAA,IACF;AAEA,UAAM,mBAAmB,MAAM;AAC7B,UAAI,MAAM,MAAM,iBAAiB,CAAC,QAAO,KAAM,CAAC,YAAY;AAC1D,cAAM,KAAK,MAAM,gBAAgB;AAAA,MACnC;AAAA,IACF;AAEA,WAAO,WAAW,CAAC,IAAI,SAAS;AAE9B,UAAI,QAAO,KAAM,YAAY;AAC3B,cAAM,cAAc;AACpB;AAAA,MACF;AAKA,UAAI,KAAK,MAAM,wBAAwB,QAAQ,GAAG,MAAM,uBAAuB,MAAM;AACnF,cAAM,KAAK,MAAM,gBAAgB;AAAA,MACnC;AAGA,UAAI,GAAG,MAAM,uBAAuB,MAAM;AACxC,cAAM,KAAK,MAAM,gBAAgB;AAAA,MACnC;AAAA,IACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"Sidebar.vue.js","sources":["../../../../../../../../src/modules/core/views/components/partials/Sidebar.vue"],"sourcesContent":["<script setup>\nimport { ref, watch } from 'vue'\nimport { useRouter, useRoute } from 'vue-router'\nimport { useGlobalMixins } from \"@martyrs/src/modules/core/views/mixins/mixins.js\"\nimport { useStore } from '@martyrs/src/modules/core/views/store/core.store.js'\n\nconst store = useStore()\n\nconst props = defineProps({\n theme: {\n type: String,\n default: \"light\"\n },\n stateSidebar: {\n type: Boolean,\n default: false\n },\n width: {\n type: String,\n default: 'w-15r'\n },\n widthHidden:{\n type: String,\n default: 'w-3r '\n },\n})\n\nconst emits = defineEmits([\n 'closeSidebar'\n])\n\nconst { isPhone, isTablet } = useGlobalMixins()\nconst router = useRouter()\nconst route = useRoute()\n\n// Отдельный флаг для клика меню на mobile\nconst isManuallyOpened = ref(false)\n\n// Синхронизируем с stateSidebar ТОЛЬКО на mobile\nwatch(() => props.stateSidebar, (newVal) => {\n if (isPhone() || isTablet()) {\n isManuallyOpened.value = newVal\n }\n})\n\nconst toggleSidebar = () => {\n isManuallyOpened.value = !isManuallyOpened.value\n if (!isManuallyOpened.value) {\n emits('closeSidebar')\n }\n}\n\nconst handleMouseEnter = () => {\n if (route.meta?.sidebar_hover && !isPhone() && !isTablet()) {\n store.core.state.isOpenSidebar = true\n }\n}\n\nconst handleMouseLeave = () => {\n if (route.meta?.sidebar_hover && !isPhone() && !isTablet()) {\n store.core.state.isOpenSidebar = false\n }\n}\n\nrouter.beforeEach((to, from) => {\n // На mobile не трогаем state через навигацию\n if (isPhone() || isTablet()) {\n emits('closeSidebar')\n return\n }\n\n\n // Desktop логика\n // Если уходим с профиля И НЕ идем на профиль - закрыть\n if (from.meta?.sidebarCloseOnLeave === true && to.meta?.sidebarOpenOnEnter !== true) {\n store.core.state.isOpenSidebar = false\n }\n\n // Если приходим на профиль - открыть\n if (to.meta?.sidebarOpenOnEnter === true) {\n store.core.state.isOpenSidebar = true\n }\n})\n</script>\n\n<template>\n <aside\n data-sidebar\n class=\"ease-quint-out w-min-0 flex-child-default z-index-2 br-r-1px flex flex-column h-100\"\n :class=\"[\n { 'mobile-opened': isManuallyOpened },\n stateSidebar\n ? `${width} w-min-10 tablet:w-min-100 tablet:w-100 mobile:w-min-100 mobile:w-100`\n : `${widthHidden} mobile:w-0`,\n //\n theme === 'light'\n ? 't-black bg-white br-light'\n : 't-white bg-black br-dark'\n ]\"\n @mouseenter=\"handleMouseEnter\"\n @mouseleave=\"handleMouseLeave\"\n >\n <!-- Header slot - shrink-0 -->\n <div class=\"flex-shrink-0\">\n <slot name=\"header\"></slot>\n </div>\n\n <!-- Main scrollable content - flex-1 overflow-y-auto -->\n <div class=\"flex-child-1 o-y-auto\">\n <slot></slot>\n </div>\n\n <!-- Footer slot - shrink-0 -->\n <div class=\"flex-shrink-0\">\n <slot name=\"footer\"></slot>\n </div>\n <div v-if=\"MOBILE_APP\" @click=\"() => toggleSidebar()\" class=\"flex-shrink-0 pos-relative\">\n <div class=\"bg-light radius-medium pd-medium\">\n <p class=\"fw-medium t-black-transp-60\">\n Close Menu\n </p>\n </div>\n </div>\n <div\n class=\"flex-shrink-0 w-100 br-t-1px\"\n :class=\"{ \n 'pd-micro': !stateSidebar, \n 'pd-small': stateSidebar,\n 'br-light': theme === 'light',\n 'br-dark': theme === 'dark'\n }\"\n >\n <button\n @click=\"() => store.core.actions.toggleTheme()\"\n class=\"ease-quint-out flex w-100 flex-center radius-small cursor-pointer flex-nowrap\"\n :class=\"[\n stateSidebar ? 'pd-thin justify-between' : 'w-100 justify-center',\n theme === 'light' ? 'hover:bg-light' : 'hover:bg-dark'\n ]\"\n >\n <span\n class=\"w-100 t-nowrap ease-quint-out t-left fw-medium mn-r-thin\"\n :class=\"{ 'hidden': !stateSidebar, 'visible': stateSidebar }\"\n >\n Dark Mode\n </span>\n <span class=\"aspect-1x1 flex-child-default w-max-big w-100 flex flex-center \">\n {{ store.core.state.theme.darkmode ? '🌙' : '☀️' }}\n </span>\n </button>\n </div>\n </aside>\n</template>\n\n<style scoped>\n.hidden {\n opacity: 0;\n width: 0;\n display: none;\n}\n.visible {\n opacity: 1;\n display: block;\n}\n\n/* Mobile: ВСЕГДА скрываем, показываем ТОЛЬКО по клику меню */\n@media (max-width: 1024px) {\n aside[data-sidebar] {\n position: absolute !important;\n left: 0 !important;\n transform: translateX(-100%) !important;\n visibility: hidden !important;\n z-index: 1000 !important;\n }\n\n /* Показываем ТОЛЬКО когда manual клик (НЕ от SSR state) */\n aside[data-sidebar].mobile-opened {\n transform: translateX(0) !important;\n visibility: visible !important;\n }\n}\n\n/* Scrollbar styles */\n::-webkit-scrollbar {\n width: 6px;\n}\n::-webkit-scrollbar-track {\n background: transparent;\n}\n::-webkit-scrollbar-thumb {\n background-color: var(--grey-micro);\n border-radius: 3px;\n}\n::-webkit-scrollbar-thumb:hover {\n background-color: var(--grey-small);\n}\n</style>"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,UAAM,QAAQ,SAAQ;AAEtB,UAAM,QAAQ;AAmBd,UAAM,QAAQ;AAId,UAAM,EAAE,SAAS,SAAQ,IAAK,gBAAe;AAC7C,UAAM,SAAS,UAAS;AACxB,UAAM,QAAQ,SAAQ;AAGtB,UAAM,mBAAmB,IAAI,KAAK;AAGlC,UAAM,MAAM,MAAM,cAAc,CAAC,WAAW;AAC1C,UAAI,QAAO,KAAM,YAAY;AAC3B,yBAAiB,QAAQ;AAAA,MAC3B;AAAA,IACF,CAAC;AAED,UAAM,gBAAgB,MAAM;AAC1B,uBAAiB,QAAQ,CAAC,iBAAiB;AAC3C,UAAI,CAAC,iBAAiB,OAAO;AAC3B,cAAM,cAAc;AAAA,MACtB;AAAA,IACF;AAEA,UAAM,mBAAmB,MAAM;AAC7B,UAAI,MAAM,MAAM,iBAAiB,CAAC,QAAO,KAAM,CAAC,YAAY;AAC1D,cAAM,KAAK,MAAM,gBAAgB;AAAA,MACnC;AAAA,IACF;AAEA,UAAM,mBAAmB,MAAM;AAC7B,UAAI,MAAM,MAAM,iBAAiB,CAAC,QAAO,KAAM,CAAC,YAAY;AAC1D,cAAM,KAAK,MAAM,gBAAgB;AAAA,MACnC;AAAA,IACF;AAEA,WAAO,WAAW,CAAC,IAAI,SAAS;AAE9B,UAAI,QAAO,KAAM,YAAY;AAC3B,cAAM,cAAc;AACpB;AAAA,MACF;AAKA,UAAI,KAAK,MAAM,wBAAwB,QAAQ,GAAG,MAAM,uBAAuB,MAAM;AACnF,cAAM,KAAK,MAAM,gBAAgB;AAAA,MACnC;AAGA,UAAI,GAAG,MAAM,uBAAuB,MAAM;AACxC,cAAM,KAAK,MAAM,gBAAgB;AAAA,MACnC;AAAA,IACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -10,7 +10,7 @@ import _sfc_main$2 from "../../../../icons/entities/IconCalendar.vue.js";
10
10
  import _export_sfc from "../../../../../../../_virtual/_plugin-vue_export-helper.js";
11
11
  import _sfc_main$6 from "./filters/FilterOptions.vue.js";
12
12
  import _sfc_main$1 from "../../../../icons/navigation/IconFilter.vue.js";
13
- /* empty css */
13
+ /* empty css */
14
14
  const _hoisted_1 = { class: "flex o-x-scroll scroll-hide t-nowrap gap-thin" };
15
15
  const _hoisted_2 = { key: 0 };
16
16
  const _hoisted_3 = ["onClick"];
@@ -270,4 +270,4 @@ const Filters = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2c
270
270
  export {
271
271
  Filters as default
272
272
  };
273
- //# sourceMappingURL=Filters.vue.js.map
273
+ //# sourceMappingURL=Filters.vue2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Filters.vue2.js","sources":["../../../../../../../../src/modules/core/views/components/sections/Filters.vue"],"sourcesContent":["<template>\n <div class=\"flex o-x-scroll scroll-hide t-nowrap gap-thin\">\n <!-- All Filters Button -->\n <button\n @click=\"showAllFilters = true\"\n class=\"pd-small radius-medium bg-light flex-v-center flex gap-micro cursor-pointer\"\n :class=\"{ 'bg-main': activeFiltersCount > 0 }\"\n >\n <IconFilter class=\"i-regular\" />\n <span class=\"h-1r\"></span>\n <span v-if=\"activeFiltersCount\">{{ activeFiltersCount }}</span>\n </button>\n\n <!-- Individual Filter Buttons -->\n <button\n v-for=\"filter in filters\"\n :key=\"filter.value\"\n @click=\"openFilter(filter.value)\"\n class=\"pd-small radius-medium bg-light cursor-pointer flex-v-center flex gap-micro\"\n :class=\"{ 'selected bg-main': isFilterActive(filter) }\"\n >\n <IconCalendar v-if=\"filter.type === 'date'\" class=\"mn-r-micro i-regular\" />\n <span class=\"t-nowrap\">{{ filter.type === 'date' && getFilterValue(filter) ? formatFilterValue(filter) : filter.title }}</span>\n <span v-if=\"getFilterValue(filter) && filter.type !== 'date'\" class=\"mn-l-micro\">\n {{ formatFilterValue(filter) }}\n </span>\n </button>\n\n <!-- All Filters Popup -->\n <Popup\n :isPopupOpen=\"showAllFilters\"\n @close-popup=\"closeAllFilters\"\n :align=\"isPhone() ? 'bottom center' : 'center center'\"\n class=\"w-min-20r bg-white radius-medium mobile:radius-zero mobile:radius-tr-medium mobile:radius-tl-medium mobile:w-100 pd-medium\"\n >\n <FiltersGroup\n :filters=\"filters\"\n v-model:selected=\"tempSelected\"\n :immediate=\"false\"\n :showHeader=\"true\"\n :showApplyButton=\"true\"\n :showResetButton=\"true\"\n @update:selected=\"applyAllFilters\"\n />\n </Popup>\n\n <!-- Individual Filter Popups -->\n <Popup\n v-for=\"filter in filters\"\n :key=\"`popup-${filter.value}`\"\n :isPopupOpen=\"individualPopups[filter.value]\"\n @close-popup=\"cancelFilter(filter.value)\"\n :align=\"isPhone() ? 'bottom center' : 'center center'\"\n class=\"bg-white radius-medium mobile:radius-zero mobile:radius-tr-medium mobile:radius-tl-medium mobile:w-100 pd-medium\"\n >\n <h4 class=\"mn-b-medium\">{{ filter.title }}</h4>\n\n <!-- Checkbox Filter -->\n <FilterCheckbox\n v-if=\"filter.type === 'checkbox'\"\n v-model=\"tempSelected[filter.value]\"\n :options=\"filter.options\"\n />\n\n <!-- Range Filter -->\n <FilterRange\n v-else-if=\"filter.type === 'range'\"\n v-model=\"tempSelected[filter.value]\"\n :minPlaceholder=\"filter.minPlaceholder || 'Min'\"\n :maxPlaceholder=\"filter.maxPlaceholder || 'Max'\"\n :label=\"filter.label\"\n />\n\n <!-- Date Filter -->\n <div v-else-if=\"filter.type === 'date'\">\n <div class=\"mn-t-small\">\n <Calendar\n v-model:date=\"tempSelected[filter.value]\"\n :allowRange=\"true\"\n :disablePastDates=\"true\"\n class=\"bg-light radius-small\"\n />\n </div>\n </div>\n\n <!-- Radio/Options Filter -->\n <FilterOptions\n v-else-if=\"filter.type === 'radio'\"\n v-model=\"tempSelected[filter.value]\"\n :options=\"filter.options\"\n />\n\n <div class=\"flex gap-thin mn-t-medium\">\n <button\n @click=\"cancelFilter(filter.value)\"\n class=\"bg-light button flex-child-full\"\n >\n Cancel\n </button>\n <button\n @click=\"applyFilter(filter.value)\"\n class=\"bg-main w-100 button flex-child-full\"\n >\n Apply\n </button>\n </div>\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, reactive, watch } from 'vue'\nimport { useGlobalMixins } from '@martyrs/src/modules/core/views/mixins/mixins.js'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\nimport Calendar from '@martyrs/src/components/Calendar/Calendar.vue'\nimport FiltersGroup from './filters/FiltersGroup.vue'\nimport FilterCheckbox from './filters/FilterCheckbox.vue'\nimport FilterRange from './filters/FilterRange.vue'\nimport FilterDateRange from './filters/FilterDateRange.vue'\nimport FilterOptions from './filters/FilterOptions.vue'\nimport IconFilter from '@martyrs/src/modules/icons/navigation/IconFilter.vue'\nimport IconCross from '@martyrs/src/modules/icons/navigation/IconCross.vue'\nimport IconCalendar from '@martyrs/src/modules/icons/entities/IconCalendar.vue'\n\nconst filters = defineModel('filters', {\n type: Array,\n required: true\n})\n\nconst selected = defineModel('selected', {\n type: Object,\n default: () => ({})\n})\n\nconst emit = defineEmits(['select'])\n\nconst { formatDate, returnCurrency } = useGlobalMixins()\n\n// State\nconst showAllFilters = ref(false)\nconst individualPopups = reactive({})\nconst tempSelected = reactive({})\nconst tempDateRange = ref(null)\n\n// Initialize popups and temp values\nwatch(filters, (newFilters) => {\n newFilters.forEach(filter => {\n individualPopups[filter.value] = false\n \n if (!tempSelected[filter.value]) {\n if (filter.type === 'checkbox') {\n tempSelected[filter.value] = [...(selected.value[filter.value] || [])]\n } else if (filter.type === 'range') {\n tempSelected[filter.value] = { ...(selected.value[filter.value] || { min: '', max: '' }) }\n } else if (filter.type === 'date') {\n tempSelected[filter.value] = selected.value[filter.value] || null\n } else {\n tempSelected[filter.value] = selected.value[filter.value] || null\n }\n }\n })\n}, { immediate: true, deep: true })\n\n// Sync selected to tempSelected\nwatch(selected, (newSelected) => {\n Object.keys(newSelected).forEach(key => {\n const filter = filters.value.find(f => f.value === key)\n if (filter) {\n if (filter.type === 'checkbox') {\n tempSelected[key] = [...(newSelected[key] || [])]\n } else if (filter.type === 'range') {\n tempSelected[key] = { ...(newSelected[key] || { min: '', max: '' }) }\n } else {\n tempSelected[key] = newSelected[key]\n }\n }\n })\n}, { deep: true })\n\n// Computed\nconst activeFiltersCount = computed(() => {\n return Object.entries(selected.value).filter(([key, value]) => {\n if (Array.isArray(value)) return value.length > 0\n if (typeof value === 'object' && value !== null) {\n return value.min || value.max\n }\n return value !== null && value !== undefined\n }).length\n})\n\n// Methods\nconst openFilter = (filterValue) => {\n individualPopups[filterValue] = true\n}\n\nconst isFilterActive = (filter) => {\n const value = selected.value[filter.value]\n if (!value) return false\n if (Array.isArray(value)) return value.length > 0\n if (filter.type === 'range') return value.min || value.max\n return true\n}\n\nconst getFilterValue = (filter) => {\n const value = selected.value[filter.value]\n if (!value) return false\n \n if (filter.type === 'range') {\n return value.min || value.max\n }\n \n if (filter.type === 'date') {\n return value && value.start && value.end\n }\n \n if (Array.isArray(value)) {\n return value.length > 0\n }\n \n return value\n}\n\nconst formatFilterValue = (filter) => {\n const value = selected.value[filter.value]\n if (!value) return ''\n \n if (Array.isArray(value)) {\n return `(${value.length})`\n }\n \n if (filter.type === 'range') {\n if (!value.min && !value.max) return ''\n return `${value.min || '0'}-${value.max || '∞'}`\n }\n \n if (filter.type === 'date') {\n if (!value || !value.start || !value.end) return ''\n return `${formatDate(value.start, { dayMonth: true, language: 'en' })} - ${formatDate(value.end, { dayMonth: true, language: 'en' })}`\n }\n \n if (filter.type === 'radio') {\n const option = filter.options.find(o => o.value === value)\n return option ? `(${option.label})` : ''\n }\n \n return ''\n}\n\nconst applyFilter = (filterValue) => {\n selected.value[filterValue] = tempSelected[filterValue]\n individualPopups[filterValue] = false\n emit('select', { filter: filterValue, value: tempSelected[filterValue] })\n}\n\nconst cancelFilter = (filterValue) => {\n const filter = filters.value.find(f => f.value === filterValue)\n if (filter) {\n if (filter.type === 'checkbox') {\n tempSelected[filterValue] = [...(selected.value[filterValue] || [])]\n } else if (filter.type === 'range') {\n tempSelected[filterValue] = { ...(selected.value[filterValue] || { min: '', max: '' }) }\n } else if (filter.type === 'date') {\n tempSelected[filterValue] = selected.value[filterValue] || null\n } else {\n tempSelected[filterValue] = selected.value[filterValue] || null\n }\n }\n individualPopups[filterValue] = false\n}\n\nconst applyAllFilters = (newValues) => {\n Object.entries(newValues).forEach(([key, value]) => {\n if (selected.value[key] !== value) {\n selected.value[key] = value\n emit('select', { filter: key, value })\n }\n })\n showAllFilters.value = false\n}\n\nconst closeAllFilters = () => {\n showAllFilters.value = false\n}\n</script>\n\n<style scoped>\n.filters-content {\n max-height: 60vh;\n overflow-y: auto;\n}\n</style>"],"names":["_useModel"],"mappings":"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"}
@@ -8,12 +8,12 @@ import _sfc_main$5 from "../../../../components/Popup/Popup.vue.js";
8
8
  import Field from "../../../../components/Field/Field.vue.js";
9
9
  import _sfc_main$6 from "../../../../components/FieldTags/BlockTags.vue.js";
10
10
  import _sfc_main$9 from "../../../../components/Checkbox/Checkbox.vue.js";
11
- /* empty css */
11
+ /* empty css */
12
12
  import "axios";
13
- /* empty css */
13
+ /* empty css */
14
14
  import UploadImage from "../../../../components/UploadImage/UploadImage.vue.js";
15
15
  /* empty css */
16
- /* empty css */
16
+ /* empty css */
17
17
  import _sfc_main$8 from "../../../../components/Feed/Feed.vue.js";
18
18
  import _sfc_main$a from "../../../../components/Button/Button.vue2.js";
19
19
  import _sfc_main$7 from "../../../core/views/components/blocks/Card.vue.js";
@@ -16,7 +16,7 @@ import SkeletonEvent from "../../../icons/skeletons/SkeletonEvent.vue.js";
16
16
  /* empty css */
17
17
  /* empty css */
18
18
  /* empty css */
19
- /* empty css */
19
+ /* empty css */
20
20
  /* empty css */
21
21
  /* empty css */
22
22
  /* empty css */
@@ -4,7 +4,7 @@ import { useRoute } from "vue-router";
4
4
  import _sfc_main$8 from "../../../../components/Button/Button.vue2.js";
5
5
  /* empty css */
6
6
  import _sfc_main$4 from "../../../../components/Chips/Chips.vue.js";
7
- /* empty css */
7
+ /* empty css */
8
8
  import _sfc_main$5 from "../../../../components/Popup/Popup.vue.js";
9
9
  import _sfc_main$2 from "../../../../components/Feed/Feed.vue.js";
10
10
  import PhotoViewer from "../../../../components/PhotoViewer/PhotoViewer.vue.js";
@@ -12,7 +12,7 @@ import { state } from "../../../auth/views/store/auth.js";
12
12
  import gallery from "../../store/gallery.js";
13
13
  import _sfc_main$3 from "../../../core/views/components/blocks/CardHeader.vue.js";
14
14
  import _sfc_main$1 from "../../../core/views/components/sections/SectionPageTitle.vue.js";
15
- import _sfc_main$6 from "../../../../components/EditImages/EditImages.vue.js";
15
+ import _sfc_main$6 from "../../../../components/EditImages/EditImages.vue2.js";
16
16
  import _sfc_main$7 from "../../../../components/FieldTags/BlockTags.vue.js";
17
17
  const _hoisted_1 = { class: "cols-1 gap-thin pd-thin" };
18
18
  const _hoisted_2 = { class: "pos-relative" };
@@ -13,7 +13,7 @@ const _sfc_main = {
13
13
  props: {
14
14
  fill: {
15
15
  type: String,
16
- default: "rgb(var(--black))"
16
+ default: "currentColor"
17
17
  }
18
18
  },
19
19
  setup(__props) {
@@ -12,7 +12,7 @@ const _sfc_main = {
12
12
  props: {
13
13
  fill: {
14
14
  type: String,
15
- default: "rgb(var(--black))"
15
+ default: "currentColor"
16
16
  }
17
17
  },
18
18
  setup(__props) {
@@ -12,7 +12,7 @@ const _sfc_main = {
12
12
  props: {
13
13
  fill: {
14
14
  type: String,
15
- default: "rgb(var(--black))"
15
+ default: "currentColor"
16
16
  }
17
17
  },
18
18
  setup(__props) {
@@ -14,7 +14,7 @@ const _sfc_main = {
14
14
  props: {
15
15
  fill: {
16
16
  type: String,
17
- default: "rgb(var(--black))"
17
+ default: "currentColor"
18
18
  },
19
19
  show: {
20
20
  type: Boolean,
@@ -14,7 +14,7 @@ const _sfc_main = {
14
14
  props: {
15
15
  fill: {
16
16
  type: String,
17
- default: "rgb(var(--black))"
17
+ default: "currentColor"
18
18
  }
19
19
  },
20
20
  setup(__props) {
@@ -12,7 +12,7 @@ const _sfc_main = {
12
12
  props: {
13
13
  fill: {
14
14
  type: String,
15
- default: "rgb(var(--black))"
15
+ default: "currentColor"
16
16
  },
17
17
  theme: {
18
18
  type: String,
@@ -13,7 +13,7 @@ const _sfc_main = {
13
13
  props: {
14
14
  fill: {
15
15
  type: String,
16
- default: "rgb(var(--black))"
16
+ default: "currentColor"
17
17
  },
18
18
  order: {
19
19
  type: String,
@@ -12,7 +12,7 @@ const _sfc_main = {
12
12
  props: {
13
13
  fill: {
14
14
  type: String,
15
- default: "rgb(var(--black))"
15
+ default: "currentColor"
16
16
  },
17
17
  theme: {
18
18
  type: String,
@@ -12,7 +12,7 @@ const _sfc_main = {
12
12
  props: {
13
13
  fill: {
14
14
  type: String,
15
- default: "rgb(var(--black))"
15
+ default: "currentColor"
16
16
  }
17
17
  },
18
18
  setup(__props) {
@@ -12,7 +12,7 @@ const _sfc_main = {
12
12
  props: {
13
13
  fill: {
14
14
  type: String,
15
- default: "rgb(var(--black))"
15
+ default: "currentColor"
16
16
  }
17
17
  },
18
18
  setup(__props) {
@@ -15,7 +15,7 @@ const _sfc_main = {
15
15
  props: {
16
16
  fill: {
17
17
  type: String,
18
- default: "rgb(var(--black))"
18
+ default: "currentColor"
19
19
  },
20
20
  theme: {
21
21
  type: String,
@@ -18,7 +18,7 @@ const _sfc_main = {
18
18
  props: {
19
19
  fill: {
20
20
  type: String,
21
- default: "rgb(var(--black))"
21
+ default: "currentColor"
22
22
  }
23
23
  },
24
24
  setup(__props) {
@@ -12,7 +12,7 @@ const _sfc_main = {
12
12
  props: {
13
13
  fill: {
14
14
  type: String,
15
- default: "rgb(var(--black))"
15
+ default: "currentColor"
16
16
  }
17
17
  },
18
18
  setup(__props) {
@@ -12,7 +12,7 @@ const _sfc_main = {
12
12
  props: {
13
13
  fill: {
14
14
  type: String,
15
- default: "rgb(var(--black))"
15
+ default: "currentColor"
16
16
  }
17
17
  },
18
18
  setup(__props) {
@@ -12,7 +12,7 @@ const _sfc_main = {
12
12
  props: {
13
13
  fill: {
14
14
  type: String,
15
- default: "rgb(var(--black))"
15
+ default: "currentColor"
16
16
  }
17
17
  },
18
18
  setup(__props) {
@@ -12,7 +12,7 @@ const _sfc_main = {
12
12
  props: {
13
13
  fill: {
14
14
  type: String,
15
- default: "rgb(var(--black))"
15
+ default: "currentColor"
16
16
  }
17
17
  },
18
18
  setup(__props) {