@ozdao/martyrs 0.2.480 → 0.2.482

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 (458) hide show
  1. package/README.md +4 -13
  2. package/dist/{Media-CKk33U4A.js → Media-JBERcJWj.js} +1 -1
  3. package/dist/{Media-B1ZP3D7B.cjs → Media-p7Q8ZAQM.cjs} +1 -1
  4. package/dist/{abac-XF1JVCLI.cjs → abac-6LjoG9u-.cjs} +107 -26
  5. package/dist/{abac-BuL5pUZ4.js → abac-Cf_9lCSh.js} +107 -26
  6. package/dist/builder.cjs +8 -12
  7. package/dist/builder.js +8 -12
  8. package/dist/globals.server.cjs +1 -1
  9. package/dist/globals.server.js +1 -1
  10. package/dist/{main-BhAiwmnI.js → main-AtCVQKF9.js} +2855 -4162
  11. package/dist/main-B-we7C0w.cjs +11 -0
  12. package/dist/martyrs/src/components/Button/{Button.vue.cjs → Button.vue2.cjs} +2 -2
  13. package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +1 -0
  14. package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +2 -2
  15. package/dist/martyrs/src/components/Button/{Button.vue.cjs.map → Button.vue2.js.map} +1 -1
  16. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.cjs +28 -7
  17. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.cjs.map +1 -1
  18. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js +29 -8
  19. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js.map +1 -1
  20. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs +5 -8
  21. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +1 -1
  22. package/dist/martyrs/src/components/Chips/Chips.vue2.js +6 -9
  23. package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +1 -1
  24. package/dist/martyrs/src/components/Feed/Carousel.vue.cjs +84 -0
  25. package/dist/martyrs/src/components/Feed/Carousel.vue.cjs.map +1 -0
  26. package/dist/martyrs/src/components/Feed/Carousel.vue.js +84 -0
  27. package/dist/martyrs/src/components/Feed/Carousel.vue.js.map +1 -0
  28. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +4 -4
  29. package/dist/martyrs/src/components/Feed/Feed.vue.cjs.map +1 -1
  30. package/dist/martyrs/src/components/Feed/Feed.vue.js +4 -4
  31. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  32. package/dist/martyrs/src/components/Field/Field.vue.cjs +2 -1
  33. package/dist/martyrs/src/components/Field/Field.vue.cjs.map +1 -1
  34. package/dist/martyrs/src/components/Field/Field.vue.js +2 -1
  35. package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -1
  36. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.cjs +203 -151
  37. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.cjs.map +1 -1
  38. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js +204 -152
  39. package/dist/martyrs/src/components/PhotoViewer/PhotoViewer.vue.js.map +1 -1
  40. package/dist/martyrs/src/components/Popup/{Popup.vue.cjs → Popup.vue2.cjs} +2 -2
  41. package/dist/martyrs/src/components/Popup/Popup.vue2.cjs.map +1 -0
  42. package/dist/martyrs/src/components/Popup/{Popup.vue.js → Popup.vue2.js} +2 -2
  43. package/dist/martyrs/src/components/Popup/{Popup.vue.cjs.map → Popup.vue2.js.map} +1 -1
  44. package/dist/martyrs/src/components/Radio/Radio.vue.cjs +2 -2
  45. package/dist/martyrs/src/components/Radio/Radio.vue.cjs.map +1 -1
  46. package/dist/martyrs/src/components/Radio/Radio.vue.js +2 -2
  47. package/dist/martyrs/src/components/Radio/Radio.vue.js.map +1 -1
  48. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.cjs +4 -3
  49. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.cjs.map +1 -1
  50. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.js +4 -3
  51. package/dist/martyrs/src/components/Skeleton/Skeleton.vue.js.map +1 -1
  52. package/dist/martyrs/src/components/Slider/{Slider.native.vue.cjs → Slider.vue.cjs} +22 -80
  53. package/dist/martyrs/src/components/Slider/Slider.vue.cjs.map +1 -0
  54. package/dist/martyrs/src/components/Slider/{Slider.native.vue.js → Slider.vue.js} +23 -81
  55. package/dist/martyrs/src/components/Slider/Slider.vue.js.map +1 -0
  56. package/dist/martyrs/src/components/Status/Status.vue.cjs.map +1 -1
  57. package/dist/martyrs/src/components/Status/Status.vue.js.map +1 -1
  58. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs +4 -2
  59. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.cjs.map +1 -1
  60. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.js +4 -2
  61. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.js.map +1 -1
  62. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +1 -1
  63. package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +1 -1
  64. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  65. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  66. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  67. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  68. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -1
  69. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs.map +1 -1
  70. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +4 -2
  71. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  72. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +22 -149
  73. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs.map +1 -1
  74. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +24 -151
  75. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js.map +1 -1
  76. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +77 -0
  77. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs.map +1 -0
  78. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +77 -0
  79. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js.map +1 -0
  80. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +121 -0
  81. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs.map +1 -0
  82. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +121 -0
  83. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js.map +1 -0
  84. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.cjs +38 -0
  85. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.cjs.map +1 -0
  86. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.js +38 -0
  87. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.js.map +1 -0
  88. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  89. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  90. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  91. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  92. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  93. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  94. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
  95. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  96. package/dist/martyrs/src/modules/auth/views/router/users.cjs +23 -16
  97. package/dist/martyrs/src/modules/auth/views/router/users.cjs.map +1 -1
  98. package/dist/martyrs/src/modules/auth/views/router/users.js +23 -16
  99. package/dist/martyrs/src/modules/auth/views/router/users.js.map +1 -1
  100. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.cjs +3 -3
  101. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.cjs.map +1 -1
  102. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js +3 -3
  103. package/dist/martyrs/src/modules/community/components/blocks/FooterBlogpost.vue.js.map +1 -1
  104. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +6 -6
  105. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +5 -4
  106. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs.map +1 -1
  107. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +5 -4
  108. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js.map +1 -1
  109. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +2 -2
  110. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +2 -2
  111. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs +92 -62
  112. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.cjs.map +1 -1
  113. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js +93 -63
  114. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js.map +1 -1
  115. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs +82 -53
  116. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.cjs.map +1 -1
  117. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js +82 -53
  118. package/dist/martyrs/src/modules/community/components/sections/Comments.vue.js.map +1 -1
  119. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs +2 -6
  120. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs.map +1 -1
  121. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.js +2 -6
  122. package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.js.map +1 -1
  123. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  124. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  125. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  126. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  127. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
  128. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
  129. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +2 -2
  130. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +2 -2
  131. package/dist/martyrs/src/modules/events/components/pages/Events.vue.cjs +1 -1
  132. package/dist/martyrs/src/modules/events/components/pages/Events.vue.js +1 -1
  133. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs +3 -9
  134. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs.map +1 -1
  135. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js +3 -9
  136. package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js.map +1 -1
  137. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.cjs +1 -1
  138. package/dist/martyrs/src/modules/gallery/components/pages/Gallery.vue.js +5 -5
  139. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +2 -2
  140. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +10 -10
  141. package/dist/martyrs/src/modules/globals/globals.client.cjs +2 -0
  142. package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
  143. package/dist/martyrs/src/modules/globals/globals.client.js +2 -0
  144. package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
  145. package/dist/martyrs/src/modules/globals/views/components/blocks/AlertDialog.vue.cjs +1 -1
  146. package/dist/martyrs/src/modules/globals/views/components/blocks/AlertDialog.vue.js +1 -1
  147. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  148. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs.map +1 -1
  149. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  150. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js.map +1 -1
  151. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +84 -0
  152. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs.map +1 -0
  153. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +84 -0
  154. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js.map +1 -0
  155. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +2 -2
  156. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +2 -2
  157. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +2 -2
  158. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +2 -2
  159. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
  160. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
  161. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  162. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  163. package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs +17 -0
  164. package/dist/martyrs/src/modules/globals/views/mixins/mixins.cjs.map +1 -1
  165. package/dist/martyrs/src/modules/globals/views/mixins/mixins.js +17 -0
  166. package/dist/martyrs/src/modules/globals/views/mixins/mixins.js.map +1 -1
  167. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.cjs +70 -0
  168. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.cjs.map +1 -0
  169. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.js +70 -0
  170. package/dist/martyrs/src/modules/globals/views/plugins/popup.auth.plugin.js.map +1 -0
  171. package/dist/martyrs/src/modules/icons/entities/IconList.vue.cjs +35 -0
  172. package/dist/martyrs/src/modules/icons/entities/IconList.vue.cjs.map +1 -0
  173. package/dist/martyrs/src/modules/icons/entities/IconList.vue.js +35 -0
  174. package/dist/martyrs/src/modules/icons/entities/IconList.vue.js.map +1 -0
  175. package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.cjs +1 -3
  176. package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.cjs.map +1 -1
  177. package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.js +1 -3
  178. package/dist/martyrs/src/modules/icons/navigation/IconCheck.vue.js.map +1 -1
  179. package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.cjs +1 -3
  180. package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.cjs.map +1 -1
  181. package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.js +1 -3
  182. package/dist/martyrs/src/modules/icons/navigation/IconDoubleCheck.vue.js.map +1 -1
  183. package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.cjs +1 -3
  184. package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.cjs.map +1 -1
  185. package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.js +1 -3
  186. package/dist/martyrs/src/modules/icons/navigation/IconLike.vue.js.map +1 -1
  187. package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.cjs +1 -3
  188. package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.cjs.map +1 -1
  189. package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.js +1 -3
  190. package/dist/martyrs/src/modules/icons/navigation/IconMute.vue.js.map +1 -1
  191. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs +1 -3
  192. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.cjs.map +1 -1
  193. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js +1 -3
  194. package/dist/martyrs/src/modules/icons/navigation/IconPause.vue.js.map +1 -1
  195. package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.cjs +21 -20
  196. package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.cjs.map +1 -1
  197. package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.js +21 -20
  198. package/dist/martyrs/src/modules/icons/navigation/IconPlay.vue.js.map +1 -1
  199. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs +1 -3
  200. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.cjs.map +1 -1
  201. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js +1 -3
  202. package/dist/martyrs/src/modules/icons/navigation/IconRefresh.vue.js.map +1 -1
  203. package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.cjs +6 -13
  204. package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.cjs.map +1 -1
  205. package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.js +6 -13
  206. package/dist/martyrs/src/modules/icons/navigation/IconShuffle.vue.js.map +1 -1
  207. package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.cjs +1 -3
  208. package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.cjs.map +1 -1
  209. package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.js +1 -3
  210. package/dist/martyrs/src/modules/icons/navigation/IconUnMute.vue.js.map +1 -1
  211. package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.cjs +1 -3
  212. package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.cjs.map +1 -1
  213. package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.js +1 -3
  214. package/dist/martyrs/src/modules/icons/navigation/IconVolume.vue.js.map +1 -1
  215. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs +1 -3
  216. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.cjs.map +1 -1
  217. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js +41 -43
  218. package/dist/martyrs/src/modules/icons/pages/IconsPage.vue.js.map +1 -1
  219. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs +8 -8
  220. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.cjs.map +1 -1
  221. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js +8 -8
  222. package/dist/martyrs/src/modules/notifications/components/blocks/NotificationItem.vue.js.map +1 -1
  223. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs +50 -51
  224. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.cjs.map +1 -1
  225. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js +51 -52
  226. package/dist/martyrs/src/modules/notifications/components/elements/NotificationBadge.vue.js.map +1 -1
  227. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
  228. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
  229. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
  230. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  231. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +2 -2
  232. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
  233. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
  234. package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -1
  235. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  236. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  237. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -2
  238. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
  239. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  240. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  241. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
  242. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
  243. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
  244. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  245. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
  246. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
  247. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +1 -1
  248. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +1 -1
  249. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs +7 -4
  250. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs.map +1 -1
  251. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +18 -15
  252. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
  253. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  254. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  255. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  256. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  257. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +2 -2
  258. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +2 -2
  259. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs +7 -2
  260. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.cjs.map +1 -1
  261. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +8 -3
  262. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  263. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +11 -12
  264. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs.map +1 -1
  265. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +12 -13
  266. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
  267. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.cjs +33 -24
  268. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.cjs.map +1 -1
  269. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js +36 -27
  270. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js.map +1 -1
  271. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.cjs +4 -4
  272. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.cjs.map +1 -1
  273. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js +4 -4
  274. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js.map +1 -1
  275. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs +7 -5
  276. package/dist/martyrs/src/modules/products/components/elements/Price.vue.cjs.map +1 -1
  277. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +7 -5
  278. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
  279. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  280. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  281. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +2 -2
  282. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +2 -2
  283. package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.cjs +2 -2
  284. package/dist/martyrs/src/modules/products/components/pages/LeftoverEdit.vue.js +2 -2
  285. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
  286. package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +1 -1
  287. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +58 -41
  288. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
  289. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +60 -43
  290. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  291. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +105 -85
  292. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs.map +1 -1
  293. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +107 -87
  294. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
  295. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +2 -2
  296. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +2 -2
  297. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +2 -2
  298. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
  299. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.cjs +1 -1
  300. package/dist/martyrs/src/modules/products/components/sections/EditIngredients.vue.js +1 -1
  301. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs +145 -0
  302. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.cjs.map +1 -0
  303. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js +145 -0
  304. package/dist/martyrs/src/modules/products/components/sections/EditRecommended.vue.js.map +1 -0
  305. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +2 -2
  306. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
  307. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +46 -31
  308. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs.map +1 -1
  309. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +50 -35
  310. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
  311. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs +43 -0
  312. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs.map +1 -0
  313. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js +43 -0
  314. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js.map +1 -0
  315. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +131 -0
  316. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs.map +1 -0
  317. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +131 -0
  318. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -0
  319. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  320. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  321. package/dist/martyrs/src/modules/products/products.client.cjs +3 -3
  322. package/dist/martyrs/src/modules/products/products.client.cjs.map +1 -1
  323. package/dist/martyrs/src/modules/products/products.client.js +3 -3
  324. package/dist/martyrs/src/modules/products/products.client.js.map +1 -1
  325. package/dist/martyrs/src/modules/products/store/products.cjs +4 -0
  326. package/dist/martyrs/src/modules/products/store/products.cjs.map +1 -1
  327. package/dist/martyrs/src/modules/products/store/products.js +4 -0
  328. package/dist/martyrs/src/modules/products/store/products.js.map +1 -1
  329. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.cjs +1 -1
  330. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +1 -1
  331. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
  332. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  333. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  334. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  335. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
  336. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  337. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
  338. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
  339. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +2 -2
  340. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +2 -2
  341. package/dist/martyrs.cjs.js +1 -1
  342. package/dist/martyrs.css +1 -1
  343. package/dist/martyrs.es.js +1 -1
  344. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
  345. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  346. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
  347. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  348. package/dist/organizations.server.cjs +1 -1
  349. package/dist/organizations.server.js +1 -1
  350. package/dist/products.server.cjs +111 -34
  351. package/dist/products.server.js +111 -34
  352. package/dist/style.css +196 -170
  353. package/package.json +1 -1
  354. package/src/.martyrs/chunks.json +325 -0
  355. package/src/.martyrs/filemap.json +6802 -0
  356. package/src/.martyrs/semantic-analysis.json +307 -0
  357. package/src/.martyrs/toc.json +14 -0
  358. package/src/builder/rspack/rspack.config.api.js +8 -11
  359. package/src/components/Button/Button.vue +2 -2
  360. package/src/components/Checkbox/Checkbox.vue +28 -16
  361. package/src/components/Chips/Chips.vue +4 -4
  362. package/src/components/Feed/Carousel.vue +72 -0
  363. package/src/components/Feed/Feed.vue +2 -2
  364. package/src/components/Field/Field.vue +1 -0
  365. package/src/components/PhotoViewer/PhotoViewer.vue +307 -220
  366. package/src/components/Radio/Radio.vue +2 -10
  367. package/src/components/Skeleton/Skeleton.vue +9 -12
  368. package/src/components/Slider/Slider.vue +220 -100
  369. package/src/components/Status/Status.vue +0 -1
  370. package/src/components/Tooltip/Tooltip.vue +2 -2
  371. package/src/modules/auth/views/components/pages/Profile.vue +1 -1
  372. package/src/modules/auth/views/components/pages/ProfileEdit.old.vue +189 -0
  373. package/src/modules/auth/views/components/pages/ProfileEdit.vue +19 -182
  374. package/src/modules/auth/views/components/pages/ProfileEditAccount.vue +72 -0
  375. package/src/modules/auth/views/components/pages/ProfileEditProfile.vue +110 -0
  376. package/src/modules/auth/views/components/pages/ProfileEditSidebar.vue +28 -0
  377. package/src/modules/auth/views/router/users.js +23 -12
  378. package/src/modules/community/components/blocks/FooterBlogpost.vue +3 -3
  379. package/src/modules/community/components/pages/BlogPost.vue +2 -1
  380. package/src/modules/community/components/sections/Comment.vue +161 -57
  381. package/src/modules/community/components/sections/Comments.vue +120 -63
  382. package/src/modules/community/components/sections/HotPosts.vue +7 -7
  383. package/src/modules/events/components/sections/EventsHot.vue +26 -33
  384. package/src/modules/globals/controllers/classes/abac/abac.core.js +3 -1
  385. package/src/modules/globals/controllers/classes/abac/abac.fields.js +126 -42
  386. package/src/modules/globals/controllers/classes/abac/v2/abac-core-fixed.js +313 -0
  387. package/src/modules/globals/controllers/classes/abac/v2/abac-express-fixed.js +276 -0
  388. package/src/modules/globals/controllers/classes/abac/v2/abac-fields-fixed.js +422 -0
  389. package/src/modules/globals/controllers/classes/abac/v2/abac-main-fixed.js +295 -0
  390. package/src/modules/globals/controllers/classes/abac/v2/abac-policies-fixed.js +316 -0
  391. package/src/modules/globals/controllers/classes/abac/v2/abac-ws-fixed.js +237 -0
  392. package/src/modules/globals/globals.client.js +2 -0
  393. package/src/modules/globals/views/components/blocks/CardFooter.vue +3 -3
  394. package/src/modules/globals/views/components/blocks/CardHeader.vue +1 -1
  395. package/src/modules/globals/views/components/blocks/PopupAuth.vue +66 -0
  396. package/src/modules/globals/views/mixins/mixins.js +37 -17
  397. package/src/modules/globals/views/plugins/popup.auth.plugin.js +77 -0
  398. package/src/modules/icons/entities/IconList.vue +14 -0
  399. package/src/modules/icons/navigation/IconCheck.vue +1 -3
  400. package/src/modules/icons/navigation/IconDoubleCheck.vue +1 -3
  401. package/src/modules/icons/navigation/IconLike.vue +1 -3
  402. package/src/modules/icons/navigation/IconMute.vue +1 -3
  403. package/src/modules/icons/navigation/IconPause.vue +1 -3
  404. package/src/modules/icons/navigation/IconPlay.vue +12 -15
  405. package/src/modules/icons/navigation/IconRefresh.vue +1 -3
  406. package/src/modules/icons/navigation/IconShuffle.vue +11 -26
  407. package/src/modules/icons/navigation/IconUnMute.vue +1 -3
  408. package/src/modules/icons/navigation/IconVolume.vue +1 -3
  409. package/src/modules/icons/pages/IconsPage.vue +0 -2
  410. package/src/modules/music/components/pages/AlbumDetail.vue +2 -2
  411. package/src/modules/music/components/pages/PlaylistDetail.vue +2 -2
  412. package/src/modules/music/components/pages/TrackDetail.vue +1 -1
  413. package/src/modules/music/components/player/MusicPlayer.vue +2 -2
  414. package/src/modules/notifications/components/blocks/NotificationItem.vue +6 -51
  415. package/src/modules/notifications/components/elements/NotificationBadge.vue +53 -97
  416. package/src/modules/organizations/configs/navigation.organization.config.js +8 -4
  417. package/src/modules/products/components/blocks/CardProduct.vue +8 -2
  418. package/src/modules/products/components/blocks/ProductDiscounts.vue +3 -4
  419. package/src/modules/products/components/blocks/ProductImages.vue +32 -23
  420. package/src/modules/products/components/blocks/ProductVariants.vue +6 -4
  421. package/src/modules/products/components/elements/Price.vue +3 -3
  422. package/src/modules/products/components/pages/Product.vue +32 -26
  423. package/src/modules/products/components/pages/ProductEdit.vue +95 -72
  424. package/src/modules/products/components/sections/EditRecommended.vue +131 -0
  425. package/src/modules/products/components/sections/ProductConfigurator.vue +35 -21
  426. package/src/modules/products/components/sections/ProductsPopular.vue +44 -0
  427. package/src/modules/products/components/sections/ProductsRecommended.vue +134 -0
  428. package/src/modules/products/controllers/configs/products.lookup.config.js +20 -15
  429. package/src/modules/products/controllers/products.controller.js +7 -22
  430. package/src/modules/products/models/category.model.js +28 -1
  431. package/src/modules/products/models/leftover.model.js +32 -0
  432. package/src/modules/products/models/product.model.js +37 -1
  433. package/src/modules/products/models/variant.model.js +35 -0
  434. package/src/modules/products/products.client.js +3 -3
  435. package/src/modules/products/routes/products.routes.js +1 -0
  436. package/src/modules/products/store/products.js +4 -0
  437. package/src/styles/base/all.scss +0 -38
  438. package/src/styles/base/shadow_transitions_hover_refactor.scss +20 -51
  439. package/src/styles/config.scss +51 -1
  440. package/dist/main-C75EcBpE.cjs +0 -11
  441. package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
  442. package/dist/martyrs/src/components/Popup/Popup.vue.js.map +0 -1
  443. package/dist/martyrs/src/components/Slider/Slider.native.vue.cjs.map +0 -1
  444. package/dist/martyrs/src/components/Slider/Slider.native.vue.js.map +0 -1
  445. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue2.cjs +0 -2
  446. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue2.cjs.map +0 -1
  447. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue2.js +0 -2
  448. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue2.js.map +0 -1
  449. package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.cjs +0 -34
  450. package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.cjs.map +0 -1
  451. package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.js +0 -34
  452. package/dist/martyrs/src/modules/icons/navigation/IconHeart.vue.js.map +0 -1
  453. package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.cjs +0 -124
  454. package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.cjs.map +0 -1
  455. package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.js +0 -124
  456. package/dist/martyrs/src/modules/products/components/sections/PopularProducts.vue.js.map +0 -1
  457. package/src/components/Slider/Slider.native.vue +0 -313
  458. package/src/modules/products/components/sections/PopularProducts.vue +0 -156
package/README.md CHANGED
@@ -16,9 +16,9 @@ We believe in the power of a single codebase for all platforms. Our mission is t
16
16
  - Mobile App Compilation – Easily compile web applications into mobile apps.
17
17
  - UI Component Library – Pre-built frontend components with customizable styles.
18
18
  - Full-Stack Modular Architecture – MVC-based system with ready-to-use modules for e-commerce, SaaS, social networks, and more.
19
- - Advanced Authentication & Access Control – 2FA support, role-based access management (ABAC) for organizations.
19
+ - Advanced Authentication & Access Control – 2FA support, attribute-based access control, organizations and so on.
20
20
  - Core System Utilities – Includes caching, logging, CRUD operations, observer patterns, and more.
21
- - Notification System – Supports email, SMS, mobile, and web push notifications.
21
+ - Notification System – Supports email, SMS, mobile and web push notifications.
22
22
 
23
23
  ## Prerequisites
24
24
 
@@ -32,10 +32,10 @@ Martyrs is built on modern and proven technologies:
32
32
 
33
33
  ## Installation
34
34
 
35
- Use npm to install Martyrs:
35
+ Use pnpm to install Martyrs:
36
36
 
37
37
  ```bash
38
- npm install '@ozdao/martyrs'
38
+ pnpm add '@ozdao/martyrs'
39
39
  ```
40
40
 
41
41
  ## Getting Started
@@ -46,15 +46,6 @@ For detailed information on how to use Martyrs, check out our [official document
46
46
 
47
47
  Community contributions are encouraged. For guidelines, see the contributing guide.
48
48
 
49
- ## Special Thanks
50
-
51
- During the work process, we study a vast amount of open-source code and are grateful to all the programmers who have shared it. Without you, all of this would have been impossible. Special attention is deserved by the authors whose code we have fully utilized, your names will forever be in the history of OZ:
52
-
53
- - For [megasanjay](https://github.com/megasanjay) for his vue3-marquee
54
- - For [shentao](https://github.com/shentao) for his vue-multiselect
55
- - For [VictorNico](https://github.com/VictorNico) for his vue3-reactive-tel-input
56
- - For [sipec](https://github.com/sipec) for his vue-tags-input
57
-
58
49
  ## License
59
50
 
60
51
  Martyrs is licensed under the GNU GPLv3.
@@ -1,5 +1,5 @@
1
1
  import { ref as u, computed as m, onMounted as N, onUnmounted as P, createElementBlock as c, openBlock as d, createCommentVNode as f, mergeProps as V, createElementVNode as S, toDisplayString as q } from "vue";
2
- import { _ as z } from "./main-BhAiwmnI.js";
2
+ import { _ as z } from "./main-AtCVQKF9.js";
3
3
  const D = { class: "media-container" }, T = ["src", "data-src", "alt"], U = ["controls", "loop", "muted", "autoplay", "playsinline", "preload"], _ = ["src", "type"], $ = {
4
4
  key: 2,
5
5
  class: "media-placeholder"
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),V=require("./main-C75EcBpE.cjs"),C={class:"media-container"},M=["src","data-src","alt"],j=["controls","loop","muted","autoplay","playsinline","preload"],N=["src","type"],O={key:2,class:"media-placeholder"},P={key:3,class:"media-error"},S={__name:"Media",props:{url:{type:String,required:!0},options:{type:Object,default:()=>({muted:!0,loop:!0,playsinline:!0,preload:"metadata"})}},setup(t){const m=t,l=e.ref(null),p=e.ref(null),s=e.ref(!1),u=e.ref(null),v=e.ref(!1);let i=null,f=!1;const d=e.computed(()=>{var o,a,n;return(n=(a=(o=m.url)==null?void 0:o.split("."))==null?void 0:a.pop())==null?void 0:n.toLowerCase()}),g=e.computed(()=>["jpg","jpeg","png","gif","webp","svg","avif"].includes(d.value)),y=e.computed(()=>["mp4","webm","ogg"].includes(d.value)),x=e.computed(()=>({mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg"})[d.value]||"");function E(){s.value=!0}function I(o){u.value=`Ошибка загрузки медиа: ${o.message}`,s.value=!1}async function w(){if(l.value)try{l.value.paused&&!f&&(await l.value.play(),f=!0)}catch(o){I(o)}}function L(){const o={root:null,rootMargin:"50px",threshold:.1};i=new IntersectionObserver(n=>{n.forEach(r=>{var c;v.value=r.isIntersecting,r.isIntersecting&&(y.value&&((c=m.options)!=null&&c.autoplay)&&w(),i.disconnect())})},o);const a=g.value?p.value:l.value;a&&i.observe(a)}return e.onMounted(()=>{L()}),e.onUnmounted(()=>{i&&i.disconnect()}),(o,a)=>{var n,r,c,k,h,b,B;return e.openBlock(),e.createElementBlock("div",C,[g.value?(e.openBlock(),e.createElementBlock("img",e.mergeProps({key:0,src:v.value?t.url:"","data-src":t.url,alt:((n=t.options)==null?void 0:n.alt)||"Image",class:["media-item",{loading:!s.value}],loading:"lazy",onLoad:E},t.options,{ref_key:"imageElement",ref:p}),null,16,M)):y.value?(e.openBlock(),e.createElementBlock("video",e.mergeProps({key:1,ref_key:"videoElement",ref:l,class:[{loading:!s.value},"media-item"],controls:!((r=t.options)!=null&&r.hideControls),loop:((c=t.options)==null?void 0:c.loop)!==!1,muted:((k=t.options)==null?void 0:k.muted)!==!1,autoplay:(h=t.options)==null?void 0:h.autoplay,playsinline:((b=t.options)==null?void 0:b.playsinline)!==!1,preload:((B=t.options)==null?void 0:B.preload)||"metadata",onLoadeddata:E},t.options),[e.createElementVNode("source",{src:t.url,type:x.value},null,8,N)],16,j)):e.createCommentVNode("",!0),s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",O," Loading... ")),u.value?(e.openBlock(),e.createElementBlock("div",P,e.toDisplayString(u.value),1)):e.createCommentVNode("",!0)])}}},q=V._export_sfc(S,[["__scopeId","data-v-1f94a0e9"]]);exports.default=q;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),V=require("./main-B-we7C0w.cjs"),C={class:"media-container"},M=["src","data-src","alt"],j=["controls","loop","muted","autoplay","playsinline","preload"],N=["src","type"],O={key:2,class:"media-placeholder"},P={key:3,class:"media-error"},S={__name:"Media",props:{url:{type:String,required:!0},options:{type:Object,default:()=>({muted:!0,loop:!0,playsinline:!0,preload:"metadata"})}},setup(t){const m=t,l=e.ref(null),p=e.ref(null),s=e.ref(!1),u=e.ref(null),v=e.ref(!1);let i=null,f=!1;const d=e.computed(()=>{var o,a,n;return(n=(a=(o=m.url)==null?void 0:o.split("."))==null?void 0:a.pop())==null?void 0:n.toLowerCase()}),g=e.computed(()=>["jpg","jpeg","png","gif","webp","svg","avif"].includes(d.value)),y=e.computed(()=>["mp4","webm","ogg"].includes(d.value)),x=e.computed(()=>({mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg"})[d.value]||"");function E(){s.value=!0}function I(o){u.value=`Ошибка загрузки медиа: ${o.message}`,s.value=!1}async function w(){if(l.value)try{l.value.paused&&!f&&(await l.value.play(),f=!0)}catch(o){I(o)}}function L(){const o={root:null,rootMargin:"50px",threshold:.1};i=new IntersectionObserver(n=>{n.forEach(r=>{var c;v.value=r.isIntersecting,r.isIntersecting&&(y.value&&((c=m.options)!=null&&c.autoplay)&&w(),i.disconnect())})},o);const a=g.value?p.value:l.value;a&&i.observe(a)}return e.onMounted(()=>{L()}),e.onUnmounted(()=>{i&&i.disconnect()}),(o,a)=>{var n,r,c,k,h,b,B;return e.openBlock(),e.createElementBlock("div",C,[g.value?(e.openBlock(),e.createElementBlock("img",e.mergeProps({key:0,src:v.value?t.url:"","data-src":t.url,alt:((n=t.options)==null?void 0:n.alt)||"Image",class:["media-item",{loading:!s.value}],loading:"lazy",onLoad:E},t.options,{ref_key:"imageElement",ref:p}),null,16,M)):y.value?(e.openBlock(),e.createElementBlock("video",e.mergeProps({key:1,ref_key:"videoElement",ref:l,class:[{loading:!s.value},"media-item"],controls:!((r=t.options)!=null&&r.hideControls),loop:((c=t.options)==null?void 0:c.loop)!==!1,muted:((k=t.options)==null?void 0:k.muted)!==!1,autoplay:(h=t.options)==null?void 0:h.autoplay,playsinline:((b=t.options)==null?void 0:b.playsinline)!==!1,preload:((B=t.options)==null?void 0:B.preload)||"metadata",onLoadeddata:E},t.options),[e.createElementVNode("source",{src:t.url,type:x.value},null,8,N)],16,j)):e.createCommentVNode("",!0),s.value?e.createCommentVNode("",!0):(e.openBlock(),e.createElementBlock("div",O," Loading... ")),u.value?(e.openBlock(),e.createElementBlock("div",P,e.toDisplayString(u.value),1)):e.createCommentVNode("",!0)])}}},q=V._export_sfc(S,[["__scopeId","data-v-1f94a0e9"]]);exports.default=q;
@@ -17,8 +17,9 @@ class ABACCore {
17
17
  socket: null,
18
18
  params: {},
19
19
  _cache: /* @__PURE__ */ new Map(),
20
- // Кэш результатов политик для этого контекста
21
- _abac: this.abac
20
+ _abac: this.abac,
21
+ // Добавляем флаг для пропуска field policies (например, для админов)
22
+ skipFieldPolicies: input.skipFieldPolicies || false
22
23
  };
23
24
  if (input.req) {
24
25
  context.user = input.user || input.req.userId;
@@ -363,15 +364,27 @@ class ABACFields {
363
364
  registerFieldsPolicy(resourceName, config) {
364
365
  const normalized = {};
365
366
  for (const [pattern, conf] of Object.entries(config)) {
366
- normalized[pattern] = {
367
- actions: conf.actions || "*",
368
- access: conf.access || "allow",
369
- validator: conf.validator || null,
370
- transform: conf.transform || null,
371
- rule: conf.rule || "remove",
372
- force: conf.force || false,
367
+ const { actions, ...baseSettings } = conf;
368
+ const base = {
369
+ actions: baseSettings.actions || "*",
370
+ access: baseSettings.access || "allow",
371
+ validator: baseSettings.validator || null,
372
+ transform: baseSettings.transform || null,
373
+ rule: baseSettings.rule || "remove",
374
+ force: baseSettings.force || false,
373
375
  pattern
374
376
  };
377
+ if (actions && typeof actions === "object") {
378
+ normalized[pattern] = {
379
+ base,
380
+ actions: Object.entries(actions).reduce((acc, [action, override]) => {
381
+ acc[action] = { ...base, ...override };
382
+ return acc;
383
+ }, {})
384
+ };
385
+ } else {
386
+ normalized[pattern] = { base };
387
+ }
375
388
  }
376
389
  this.configs.set(resourceName, normalized);
377
390
  return this;
@@ -380,9 +393,8 @@ class ABACFields {
380
393
  * Проверка доступа к полям
381
394
  */
382
395
  async checkFields(context, data, action = null) {
383
- console.log(context);
384
- if (context.skipFieldPolicies) {
385
- console.log("Field policies skipped for admin/moderator");
396
+ const normalizedContext = this.abac.core.normalizeContext(context);
397
+ if (normalizedContext.skipFieldPolicies) {
386
398
  return {
387
399
  allowed: data,
388
400
  denied: [],
@@ -390,17 +402,16 @@ class ABACFields {
390
402
  transformed: data
391
403
  };
392
404
  }
393
- const { resource } = context;
394
- const fieldAction = action || context.action;
395
- const config = context.options?.fieldsConfig || this.configs.get(resource);
405
+ const { resource } = normalizedContext;
406
+ const fieldAction = action || normalizedContext.action;
407
+ const config = normalizedContext.options?.fieldsConfig || this.configs.get(resource);
396
408
  if (!config) {
397
409
  return { allowed: data, denied: [], errors: [], transformed: data };
398
410
  }
399
- const enrichedContext = { ...context };
400
411
  if (this.abac.policies && this.abac.policies.priorities.extensions.length > 0) {
401
412
  for (const [name, extensionFn] of this.abac.policies.priorities.extensions) {
402
413
  try {
403
- await extensionFn(enrichedContext);
414
+ await extensionFn(normalizedContext);
404
415
  } catch (error) {
405
416
  console.error(`Extension ${name} error:`, error);
406
417
  }
@@ -412,28 +423,36 @@ class ABACFields {
412
423
  errors: [],
413
424
  transformed: null
414
425
  };
415
- const ctx = { ...enrichedContext, fieldAction, cache: /* @__PURE__ */ new Map(), originalData: data };
416
426
  const rules = this._collectRules(data, config, fieldAction);
417
427
  const forced = rules.filter((r) => r.rule.force);
418
428
  const regular = rules.filter((r) => !r.rule.force);
419
429
  for (const { path, value, rule } of [...forced, ...regular]) {
420
- const fieldCtx = { ...ctx, field: path, value };
421
430
  const processed = /* @__PURE__ */ new Set();
422
431
  if (processed.has(path)) continue;
423
432
  processed.add(path);
424
- const hasAccess = await this._checkAccess(rule.access, fieldCtx);
433
+ const hasAccess = await this._checkFieldAccess(
434
+ rule.access,
435
+ normalizedContext,
436
+ path,
437
+ value
438
+ );
425
439
  if (!hasAccess) {
426
- await this._handleDenied(result, path, rule.rule, fieldCtx);
440
+ await this._handleDenied(result, path, rule.rule);
427
441
  continue;
428
442
  }
429
443
  if (rule.validator && rule.access !== "optional") {
430
- const validation = await this._validate(rule.validator, value, fieldCtx);
444
+ const validation = await this._validateField(
445
+ rule.validator,
446
+ value,
447
+ normalizedContext,
448
+ path
449
+ );
431
450
  if (!validation.isValid) {
432
451
  result.errors.push({ path, errors: validation.errors });
433
452
  if (rule.rule === "error") {
434
453
  throw new Error(`Validation failed: ${path}`);
435
454
  }
436
- await this._handleDenied(result, path, rule.rule, fieldCtx);
455
+ await this._handleDenied(result, path, rule.rule);
437
456
  }
438
457
  }
439
458
  }
@@ -442,12 +461,68 @@ class ABACFields {
442
461
  if (!rule.transform) continue;
443
462
  const isDenied = result.denied.some((d) => d.path === path);
444
463
  if (isDenied) continue;
445
- const fieldCtx = { ...ctx, field: path, value, currentData: result.transformed };
446
- const transformed = await rule.transform(value, fieldCtx);
464
+ const transformed = await this._transformField(
465
+ rule.transform,
466
+ value,
467
+ normalizedContext,
468
+ path,
469
+ result.transformed
470
+ );
447
471
  this._setValue(result.transformed, path, transformed);
448
472
  }
449
473
  return result;
450
474
  }
475
+ /**
476
+ * Проверка доступа к полю
477
+ * @private
478
+ */
479
+ async _checkFieldAccess(access, context, fieldPath, fieldValue) {
480
+ if (access === "allow") return true;
481
+ if (access === "deny") return false;
482
+ if (access === "optional") return true;
483
+ if (typeof access === "function") {
484
+ try {
485
+ return !!await access(context, fieldPath, fieldValue);
486
+ } catch (e) {
487
+ console.error("Field access check error:", e);
488
+ return false;
489
+ }
490
+ }
491
+ return true;
492
+ }
493
+ /**
494
+ * Валидация поля
495
+ * @private
496
+ */
497
+ async _validateField(validator, value, context, fieldPath) {
498
+ if (typeof validator === "function") {
499
+ try {
500
+ const result = await validator(value, context, fieldPath);
501
+ if (typeof result === "boolean") {
502
+ return { isValid: result, errors: result ? [] : ["Validation failed"] };
503
+ }
504
+ return result;
505
+ } catch (e) {
506
+ return { isValid: false, errors: [e.message] };
507
+ }
508
+ }
509
+ if (validator && validator.validate) {
510
+ return validator.validate(value);
511
+ }
512
+ return { isValid: true, errors: [] };
513
+ }
514
+ /**
515
+ * Трансформация поля
516
+ * @private
517
+ */
518
+ async _transformField(transform, value, context, fieldPath, currentData) {
519
+ try {
520
+ return await transform(value, context, fieldPath, currentData);
521
+ } catch (error) {
522
+ console.error("Field transform error:", error);
523
+ return value;
524
+ }
525
+ }
451
526
  /**
452
527
  * Сбор применимых правил
453
528
  * @private
@@ -459,7 +534,13 @@ class ABACFields {
459
534
  for (const path of dataPaths) {
460
535
  for (const pattern of patterns) {
461
536
  if (this._matchesPattern(path, pattern)) {
462
- const rule = config[pattern];
537
+ const fieldConfig = config[pattern];
538
+ let rule;
539
+ if (fieldConfig.actions && fieldConfig.actions[action]) {
540
+ rule = fieldConfig.actions[action];
541
+ } else {
542
+ rule = fieldConfig.base;
543
+ }
463
544
  if (this._matchesAction(rule.actions, action)) {
464
545
  rules.push({
465
546
  path,
@@ -16,8 +16,9 @@ class ABACCore {
16
16
  socket: null,
17
17
  params: {},
18
18
  _cache: /* @__PURE__ */ new Map(),
19
- // Кэш результатов политик для этого контекста
20
- _abac: this.abac
19
+ _abac: this.abac,
20
+ // Добавляем флаг для пропуска field policies (например, для админов)
21
+ skipFieldPolicies: input.skipFieldPolicies || false
21
22
  };
22
23
  if (input.req) {
23
24
  context.user = input.user || input.req.userId;
@@ -362,15 +363,27 @@ class ABACFields {
362
363
  registerFieldsPolicy(resourceName, config) {
363
364
  const normalized = {};
364
365
  for (const [pattern, conf] of Object.entries(config)) {
365
- normalized[pattern] = {
366
- actions: conf.actions || "*",
367
- access: conf.access || "allow",
368
- validator: conf.validator || null,
369
- transform: conf.transform || null,
370
- rule: conf.rule || "remove",
371
- force: conf.force || false,
366
+ const { actions, ...baseSettings } = conf;
367
+ const base = {
368
+ actions: baseSettings.actions || "*",
369
+ access: baseSettings.access || "allow",
370
+ validator: baseSettings.validator || null,
371
+ transform: baseSettings.transform || null,
372
+ rule: baseSettings.rule || "remove",
373
+ force: baseSettings.force || false,
372
374
  pattern
373
375
  };
376
+ if (actions && typeof actions === "object") {
377
+ normalized[pattern] = {
378
+ base,
379
+ actions: Object.entries(actions).reduce((acc, [action, override]) => {
380
+ acc[action] = { ...base, ...override };
381
+ return acc;
382
+ }, {})
383
+ };
384
+ } else {
385
+ normalized[pattern] = { base };
386
+ }
374
387
  }
375
388
  this.configs.set(resourceName, normalized);
376
389
  return this;
@@ -379,9 +392,8 @@ class ABACFields {
379
392
  * Проверка доступа к полям
380
393
  */
381
394
  async checkFields(context, data, action = null) {
382
- console.log(context);
383
- if (context.skipFieldPolicies) {
384
- console.log("Field policies skipped for admin/moderator");
395
+ const normalizedContext = this.abac.core.normalizeContext(context);
396
+ if (normalizedContext.skipFieldPolicies) {
385
397
  return {
386
398
  allowed: data,
387
399
  denied: [],
@@ -389,17 +401,16 @@ class ABACFields {
389
401
  transformed: data
390
402
  };
391
403
  }
392
- const { resource } = context;
393
- const fieldAction = action || context.action;
394
- const config = context.options?.fieldsConfig || this.configs.get(resource);
404
+ const { resource } = normalizedContext;
405
+ const fieldAction = action || normalizedContext.action;
406
+ const config = normalizedContext.options?.fieldsConfig || this.configs.get(resource);
395
407
  if (!config) {
396
408
  return { allowed: data, denied: [], errors: [], transformed: data };
397
409
  }
398
- const enrichedContext = { ...context };
399
410
  if (this.abac.policies && this.abac.policies.priorities.extensions.length > 0) {
400
411
  for (const [name, extensionFn] of this.abac.policies.priorities.extensions) {
401
412
  try {
402
- await extensionFn(enrichedContext);
413
+ await extensionFn(normalizedContext);
403
414
  } catch (error) {
404
415
  console.error(`Extension ${name} error:`, error);
405
416
  }
@@ -411,28 +422,36 @@ class ABACFields {
411
422
  errors: [],
412
423
  transformed: null
413
424
  };
414
- const ctx = { ...enrichedContext, fieldAction, cache: /* @__PURE__ */ new Map(), originalData: data };
415
425
  const rules = this._collectRules(data, config, fieldAction);
416
426
  const forced = rules.filter((r) => r.rule.force);
417
427
  const regular = rules.filter((r) => !r.rule.force);
418
428
  for (const { path, value, rule } of [...forced, ...regular]) {
419
- const fieldCtx = { ...ctx, field: path, value };
420
429
  const processed = /* @__PURE__ */ new Set();
421
430
  if (processed.has(path)) continue;
422
431
  processed.add(path);
423
- const hasAccess = await this._checkAccess(rule.access, fieldCtx);
432
+ const hasAccess = await this._checkFieldAccess(
433
+ rule.access,
434
+ normalizedContext,
435
+ path,
436
+ value
437
+ );
424
438
  if (!hasAccess) {
425
- await this._handleDenied(result, path, rule.rule, fieldCtx);
439
+ await this._handleDenied(result, path, rule.rule);
426
440
  continue;
427
441
  }
428
442
  if (rule.validator && rule.access !== "optional") {
429
- const validation = await this._validate(rule.validator, value, fieldCtx);
443
+ const validation = await this._validateField(
444
+ rule.validator,
445
+ value,
446
+ normalizedContext,
447
+ path
448
+ );
430
449
  if (!validation.isValid) {
431
450
  result.errors.push({ path, errors: validation.errors });
432
451
  if (rule.rule === "error") {
433
452
  throw new Error(`Validation failed: ${path}`);
434
453
  }
435
- await this._handleDenied(result, path, rule.rule, fieldCtx);
454
+ await this._handleDenied(result, path, rule.rule);
436
455
  }
437
456
  }
438
457
  }
@@ -441,12 +460,68 @@ class ABACFields {
441
460
  if (!rule.transform) continue;
442
461
  const isDenied = result.denied.some((d) => d.path === path);
443
462
  if (isDenied) continue;
444
- const fieldCtx = { ...ctx, field: path, value, currentData: result.transformed };
445
- const transformed = await rule.transform(value, fieldCtx);
463
+ const transformed = await this._transformField(
464
+ rule.transform,
465
+ value,
466
+ normalizedContext,
467
+ path,
468
+ result.transformed
469
+ );
446
470
  this._setValue(result.transformed, path, transformed);
447
471
  }
448
472
  return result;
449
473
  }
474
+ /**
475
+ * Проверка доступа к полю
476
+ * @private
477
+ */
478
+ async _checkFieldAccess(access, context, fieldPath, fieldValue) {
479
+ if (access === "allow") return true;
480
+ if (access === "deny") return false;
481
+ if (access === "optional") return true;
482
+ if (typeof access === "function") {
483
+ try {
484
+ return !!await access(context, fieldPath, fieldValue);
485
+ } catch (e) {
486
+ console.error("Field access check error:", e);
487
+ return false;
488
+ }
489
+ }
490
+ return true;
491
+ }
492
+ /**
493
+ * Валидация поля
494
+ * @private
495
+ */
496
+ async _validateField(validator, value, context, fieldPath) {
497
+ if (typeof validator === "function") {
498
+ try {
499
+ const result = await validator(value, context, fieldPath);
500
+ if (typeof result === "boolean") {
501
+ return { isValid: result, errors: result ? [] : ["Validation failed"] };
502
+ }
503
+ return result;
504
+ } catch (e) {
505
+ return { isValid: false, errors: [e.message] };
506
+ }
507
+ }
508
+ if (validator && validator.validate) {
509
+ return validator.validate(value);
510
+ }
511
+ return { isValid: true, errors: [] };
512
+ }
513
+ /**
514
+ * Трансформация поля
515
+ * @private
516
+ */
517
+ async _transformField(transform, value, context, fieldPath, currentData) {
518
+ try {
519
+ return await transform(value, context, fieldPath, currentData);
520
+ } catch (error) {
521
+ console.error("Field transform error:", error);
522
+ return value;
523
+ }
524
+ }
450
525
  /**
451
526
  * Сбор применимых правил
452
527
  * @private
@@ -458,7 +533,13 @@ class ABACFields {
458
533
  for (const path of dataPaths) {
459
534
  for (const pattern of patterns) {
460
535
  if (this._matchesPattern(path, pattern)) {
461
- const rule = config[pattern];
536
+ const fieldConfig = config[pattern];
537
+ let rule;
538
+ if (fieldConfig.actions && fieldConfig.actions[action]) {
539
+ rule = fieldConfig.actions[action];
540
+ } else {
541
+ rule = fieldConfig.base;
542
+ }
462
543
  if (this._matchesAction(rule.actions, action)) {
463
544
  rules.push({
464
545
  path,
package/dist/builder.cjs CHANGED
@@ -943,32 +943,28 @@ const apiConfig = (projectRoot) => {
943
943
  path: false
944
944
  }
945
945
  },
946
- // Добавляем externals для node_modules
946
+ // Добавляем externalsType для ES modules
947
+ externalsType: "module",
947
948
  externals: [
948
949
  nodeExternals({
949
- // Явно указываем, чтобы uWebSockets.js был внешним модулем
950
- allowlist: []
951
- // Пустой список означает, что все модули будут внешними
950
+ allowlist: [],
951
+ // Важно! Указываем importType для ES modules
952
+ importType: "module"
952
953
  }),
953
- // Исключаем все .node файлы
954
+ // Для .node файлов тоже используем module
954
955
  function({ context, request }, callback) {
955
956
  if (/\.node$/.test(request)) {
956
- return callback(null, `commonjs ${request}`);
957
+ return callback(null, `module ${request}`);
957
958
  }
958
959
  callback();
959
960
  }
960
961
  ],
961
- plugins: [
962
- // new rspack.HotModuleReplacementPlugin()
963
- ],
964
- // Добавляем правило, чтобы .node файлы не обрабатывались
962
+ plugins: [],
965
963
  module: {
966
964
  rules: [
967
965
  {
968
966
  test: /\.node$/,
969
967
  loader: "node-loader"
970
- // или просто исключаем их:
971
- // use: 'null-loader',
972
968
  }
973
969
  ]
974
970
  }
package/dist/builder.js CHANGED
@@ -924,32 +924,28 @@ const apiConfig = (projectRoot) => {
924
924
  path: false
925
925
  }
926
926
  },
927
- // Добавляем externals для node_modules
927
+ // Добавляем externalsType для ES modules
928
+ externalsType: "module",
928
929
  externals: [
929
930
  nodeExternals({
930
- // Явно указываем, чтобы uWebSockets.js был внешним модулем
931
- allowlist: []
932
- // Пустой список означает, что все модули будут внешними
931
+ allowlist: [],
932
+ // Важно! Указываем importType для ES modules
933
+ importType: "module"
933
934
  }),
934
- // Исключаем все .node файлы
935
+ // Для .node файлов тоже используем module
935
936
  function({ context, request }, callback) {
936
937
  if (/\.node$/.test(request)) {
937
- return callback(null, `commonjs ${request}`);
938
+ return callback(null, `module ${request}`);
938
939
  }
939
940
  callback();
940
941
  }
941
942
  ],
942
- plugins: [
943
- // new rspack.HotModuleReplacementPlugin()
944
- ],
945
- // Добавляем правило, чтобы .node файлы не обрабатывались
943
+ plugins: [],
946
944
  module: {
947
945
  rules: [
948
946
  {
949
947
  test: /\.node$/,
950
948
  loader: "node-loader"
951
- // или просто исключаем их:
952
- // use: 'null-loader',
953
949
  }
954
950
  ]
955
951
  }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
- const abac = require("./abac-XF1JVCLI.cjs");
3
+ const abac = require("./abac-6LjoG9u-.cjs");
4
4
  const cookie = require("cookie");
5
5
  const jwt = require("jsonwebtoken");
6
6
  const uWS = require("uWebSockets.js");
@@ -1,4 +1,4 @@
1
- import { A as ABAC } from "./abac-BuL5pUZ4.js";
1
+ import { A as ABAC } from "./abac-Cf_9lCSh.js";
2
2
  import * as cookie from "cookie";
3
3
  import jwt from "jsonwebtoken";
4
4
  import uWS from "uWebSockets.js";