@ozdao/martyrs 0.2.507 → 0.2.509

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 (348) hide show
  1. package/dist/{main-AWSb_d2P.cjs → main-D89N_jml.cjs} +1 -1
  2. package/dist/{main-Dq-UfO4G.js → main-DSiCr7yl.js} +7 -8
  3. package/dist/martyrs/src/components/Button/{Button.vue2.cjs → Button.vue.cjs} +3 -3
  4. package/dist/martyrs/src/components/Button/{Button.vue2.js.map → Button.vue.cjs.map} +1 -1
  5. package/dist/martyrs/src/components/Button/{Button.vue2.js → Button.vue.js} +3 -3
  6. package/dist/martyrs/src/components/Button/Button.vue.js.map +1 -0
  7. package/dist/martyrs/src/components/Chips/{Chips.vue2.cjs → Chips.vue.cjs} +2 -2
  8. package/dist/martyrs/src/components/Chips/Chips.vue.cjs.map +1 -0
  9. package/dist/martyrs/src/components/Chips/{Chips.vue2.js → Chips.vue.js} +2 -2
  10. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -0
  11. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.cjs → Dropdown.vue.cjs} +2 -2
  12. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js.map → Dropdown.vue.cjs.map} +1 -1
  13. package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js → Dropdown.vue.js} +2 -2
  14. package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -0
  15. package/dist/martyrs/src/components/Feed/Carousel.vue.cjs +5 -4
  16. package/dist/martyrs/src/components/Feed/Carousel.vue.cjs.map +1 -1
  17. package/dist/martyrs/src/components/Feed/Carousel.vue.js +6 -5
  18. package/dist/martyrs/src/components/Feed/Carousel.vue.js.map +1 -1
  19. package/dist/martyrs/src/components/Feed/Feed.vue.cjs +2 -2
  20. package/dist/martyrs/src/components/Feed/Feed.vue.js +2 -2
  21. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs +3 -3
  22. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.cjs.map +1 -1
  23. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js +3 -3
  24. package/dist/martyrs/src/components/FieldBig/FieldBig.vue.js.map +1 -1
  25. package/dist/martyrs/src/components/Loader/{Loader.vue.cjs → Loader.vue2.cjs} +2 -2
  26. package/dist/martyrs/src/components/Loader/Loader.vue2.cjs.map +1 -0
  27. package/dist/martyrs/src/components/Loader/{Loader.vue.js → Loader.vue2.js} +2 -2
  28. package/dist/martyrs/src/components/Loader/{Loader.vue.cjs.map → Loader.vue2.js.map} +1 -1
  29. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.cjs +1 -1
  30. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.js +1 -1
  31. package/dist/martyrs/src/components/Menu/{Menu.vue.cjs → Menu.vue2.cjs} +2 -2
  32. package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +1 -0
  33. package/dist/martyrs/src/components/Menu/{Menu.vue.js → Menu.vue2.js} +2 -2
  34. package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +1 -0
  35. package/dist/martyrs/src/components/Select/{Select.vue.cjs → Select.vue2.cjs} +2 -2
  36. package/dist/martyrs/src/components/Select/Select.vue2.cjs.map +1 -0
  37. package/dist/martyrs/src/components/Select/{Select.vue.js → Select.vue2.js} +2 -2
  38. package/dist/martyrs/src/components/Select/{Select.vue.cjs.map → Select.vue2.js.map} +1 -1
  39. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.cjs +1 -1
  40. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
  41. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +1 -1
  42. package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +1 -1
  43. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +1 -1
  44. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  45. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -3
  46. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +3 -3
  47. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +19 -13
  48. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs.map +1 -1
  49. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +20 -14
  50. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js.map +1 -1
  51. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.cjs +1 -1
  52. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +1 -1
  53. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.cjs +1 -1
  54. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditProfile.vue.js +1 -1
  55. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +1 -1
  56. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +1 -1
  57. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +1 -1
  58. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +1 -1
  59. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +1 -1
  60. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +1 -1
  61. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
  62. package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
  63. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.cjs +1 -1
  64. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  65. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.cjs +1 -1
  66. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +1 -1
  67. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +3 -3
  68. package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +3 -3
  69. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
  70. package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
  71. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.cjs +1 -1
  72. package/dist/martyrs/src/modules/events/components/blocks/CardEvent.vue.js +1 -1
  73. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
  74. package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
  75. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
  76. package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
  77. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +2 -2
  78. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +2 -2
  79. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
  80. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
  81. package/dist/martyrs/src/modules/events/components/pages/Event.vue.cjs +3 -3
  82. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +3 -3
  83. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.cjs +1 -1
  84. package/dist/martyrs/src/modules/events/components/sections/Feed.vue.js +1 -1
  85. package/dist/martyrs/src/modules/events/components/sections/List.vue.cjs +1 -1
  86. package/dist/martyrs/src/modules/events/components/sections/List.vue.js +1 -1
  87. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +3 -3
  88. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +3 -3
  89. package/dist/martyrs/src/modules/globals/globals.client.cjs +3 -0
  90. package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
  91. package/dist/martyrs/src/modules/globals/globals.client.js +15 -12
  92. package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
  93. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
  94. package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
  95. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.cjs +1 -1
  96. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupAuth.vue.js +1 -1
  97. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +2 -2
  98. package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +2 -2
  99. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +2 -2
  100. package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +2 -2
  101. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs +335 -0
  102. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.cjs.map +1 -0
  103. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js +335 -0
  104. package/dist/martyrs/src/modules/globals/views/components/partials/Footer.vue.js.map +1 -0
  105. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +3 -3
  106. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs.map +1 -1
  107. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +3 -3
  108. package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js.map +1 -1
  109. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
  110. package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
  111. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
  112. package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
  113. package/dist/martyrs/src/modules/icons/logos/Logotype.vue.cjs +3 -3
  114. package/dist/martyrs/src/modules/icons/logos/Logotype.vue.js +3 -3
  115. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.cjs +1 -1
  116. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +1 -1
  117. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.cjs +1 -1
  118. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +1 -1
  119. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs +138 -136
  120. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.cjs.map +1 -1
  121. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +137 -135
  122. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
  123. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.cjs +3 -3
  124. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +3 -3
  125. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.cjs +1 -1
  126. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +1 -1
  127. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.cjs +1 -1
  128. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +1 -1
  129. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.cjs +1 -1
  130. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +1 -1
  131. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.cjs +1 -1
  132. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +1 -1
  133. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.cjs +1 -1
  134. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +1 -1
  135. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.cjs +2 -2
  136. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
  137. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.cjs +3 -3
  138. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +3 -3
  139. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.cjs +1 -1
  140. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +1 -1
  141. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.cjs +1 -1
  142. package/dist/martyrs/src/modules/music/components/forms/SearchForm.vue.js +1 -1
  143. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.cjs +2 -2
  144. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +2 -2
  145. package/dist/martyrs/src/modules/music/components/pages/Album.vue.cjs +3 -3
  146. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +3 -3
  147. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.cjs +2 -2
  148. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +2 -2
  149. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.cjs +1 -1
  150. package/dist/martyrs/src/modules/music/components/pages/MusicLibrary.vue.js +1 -1
  151. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.cjs +3 -3
  152. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +3 -3
  153. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.cjs +2 -2
  154. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +2 -2
  155. package/dist/martyrs/src/modules/music/components/pages/Track.vue.cjs +3 -3
  156. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +3 -3
  157. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.cjs +1 -1
  158. package/dist/martyrs/src/modules/music/components/pages/TrackCreate.vue.js +1 -1
  159. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.cjs +1 -1
  160. package/dist/martyrs/src/modules/music/components/player/MusicPlayer.vue.js +1 -1
  161. package/dist/martyrs/src/modules/music/router/music.cjs +2 -2
  162. package/dist/martyrs/src/modules/music/router/music.js +2 -2
  163. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.cjs +2 -2
  164. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +2 -2
  165. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs +62 -10
  166. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.cjs.map +1 -1
  167. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js +62 -10
  168. package/dist/martyrs/src/modules/orders/components/forms/FormCustomerDetails.vue.js.map +1 -1
  169. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.cjs +2 -2
  170. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +2 -2
  171. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +2 -2
  172. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +2 -2
  173. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +1 -1
  174. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +1 -1
  175. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +1 -1
  176. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +1 -1
  177. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.cjs +1 -1
  178. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +1 -1
  179. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.cjs +1 -1
  180. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +1 -1
  181. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +2 -2
  182. package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +2 -2
  183. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.cjs +1 -1
  184. package/dist/martyrs/src/modules/orders/components/sections/FormPayment.vue.js +1 -1
  185. package/dist/martyrs/src/modules/orders/orders.client.cjs +36 -38
  186. package/dist/martyrs/src/modules/orders/orders.client.cjs.map +1 -1
  187. package/dist/martyrs/src/modules/orders/orders.client.js +36 -38
  188. package/dist/martyrs/src/modules/orders/orders.client.js.map +1 -1
  189. package/dist/martyrs/src/modules/orders/store/models/customer.cjs +7 -0
  190. package/dist/martyrs/src/modules/orders/store/models/customer.cjs.map +1 -1
  191. package/dist/martyrs/src/modules/orders/store/models/customer.js +7 -0
  192. package/dist/martyrs/src/modules/orders/store/models/customer.js.map +1 -1
  193. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.cjs +1 -1
  194. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +1 -1
  195. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
  196. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  197. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +3 -3
  198. package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +3 -3
  199. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +1 -1
  200. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +1 -1
  201. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +126 -16
  202. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs.map +1 -1
  203. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +128 -18
  204. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  205. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
  206. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
  207. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
  208. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
  209. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +2 -2
  210. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  211. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +2 -2
  212. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
  213. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -2
  214. package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
  215. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs +17 -28
  216. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.cjs.map +1 -1
  217. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +17 -28
  218. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
  219. package/dist/martyrs/src/modules/organizations/organizations.client.cjs +0 -3
  220. package/dist/martyrs/src/modules/organizations/organizations.client.cjs.map +1 -1
  221. package/dist/martyrs/src/modules/organizations/organizations.client.js +36 -39
  222. package/dist/martyrs/src/modules/organizations/organizations.client.js.map +1 -1
  223. package/dist/martyrs/src/modules/organizations/router/organizations.cjs +1 -1
  224. package/dist/martyrs/src/modules/organizations/router/organizations.js +1 -1
  225. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
  226. package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
  227. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
  228. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  229. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
  230. package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
  231. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.cjs +1 -1
  232. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +1 -1
  233. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.cjs +1 -1
  234. package/dist/martyrs/src/modules/products/components/elements/Image360.vue.js +1 -1
  235. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs +9 -1
  236. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.cjs.map +1 -1
  237. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js +9 -1
  238. package/dist/martyrs/src/modules/products/components/elements/QuantitySelector.vue.js.map +1 -1
  239. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
  240. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
  241. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +4 -4
  242. package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +4 -4
  243. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +2 -2
  244. package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
  245. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +2 -2
  246. package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
  247. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +2 -2
  248. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +2 -2
  249. package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.cjs +1 -1
  250. package/dist/martyrs/src/modules/products/components/pages/ProductRecommmendation.vue.js +1 -1
  251. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +3 -2
  252. package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs.map +1 -1
  253. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +3 -2
  254. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  255. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.cjs +1 -1
  256. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
  257. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.cjs +2 -2
  258. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
  259. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.cjs +2 -2
  260. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +2 -2
  261. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.cjs +1 -1
  262. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
  263. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs +10 -5
  264. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.cjs.map +1 -1
  265. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js +10 -5
  266. package/dist/martyrs/src/modules/products/components/sections/ProductsPopular.vue.js.map +1 -1
  267. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs +6 -3
  268. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.cjs.map +1 -1
  269. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js +6 -3
  270. package/dist/martyrs/src/modules/products/components/sections/ProductsRecommended.vue.js.map +1 -1
  271. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +1 -1
  272. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +1 -1
  273. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.cjs +2 -2
  274. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +2 -2
  275. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +2 -2
  276. package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +2 -2
  277. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.cjs +1 -1
  278. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +1 -1
  279. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.cjs +1 -1
  280. package/dist/martyrs/src/modules/spots/components/blocks/SpotMemberModify.vue.js +1 -1
  281. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
  282. package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
  283. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
  284. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  285. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +2 -2
  286. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +2 -2
  287. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +2 -2
  288. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +2 -2
  289. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.cjs +1 -1
  290. package/dist/martyrs/src/modules/wallet/views/components/blocks/CryptoDeposit.vue.js +1 -1
  291. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.cjs +4 -4
  292. package/dist/martyrs/src/modules/wallet/views/components/pages/Wallet.vue.js +4 -4
  293. package/dist/martyrs.cjs.js +1 -1
  294. package/dist/martyrs.css +1 -1
  295. package/dist/martyrs.es.js +1 -1
  296. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.cjs +1 -1
  297. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/core/utils.js +1 -1
  298. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.cjs +1 -1
  299. package/dist/node_modules/.pnpm/qrcode@1.5.4/node_modules/qrcode/lib/renderer/utils.js +1 -1
  300. package/dist/orders.server.cjs +58 -0
  301. package/dist/orders.server.js +58 -0
  302. package/dist/products.server.cjs +11 -1
  303. package/dist/products.server.js +11 -1
  304. package/dist/style.css +34 -32
  305. package/dist/{web-DaBwwCQ5.cjs → web-XyQNm3cW.cjs} +1 -1
  306. package/dist/{web-BXajFCU2.js → web-gtBkwjra.js} +1 -1
  307. package/package.json +1 -1
  308. package/src/components/Feed/Carousel.vue +3 -1
  309. package/src/components/FieldBig/FieldBig.vue +2 -2
  310. package/src/modules/auth/views/components/pages/ProfileEdit.vue +18 -11
  311. package/src/modules/globals/globals.client.js +3 -0
  312. package/src/modules/globals/views/components/partials/{FooterAlt.vue → Footer.centered.vue} +101 -99
  313. package/src/modules/globals/views/components/partials/Footer.vue +321 -162
  314. package/src/modules/globals/views/components/partials/Header.vue +1 -1
  315. package/src/modules/icons/logos/Logotype.vue +1 -1
  316. package/src/modules/inventory/components/pages/Inventory.vue +126 -119
  317. package/src/modules/orders/components/forms/FormCustomerDetails.vue +51 -0
  318. package/src/modules/orders/middlewares/customers.verifier.js +60 -0
  319. package/src/modules/orders/models/customer.model.js +18 -0
  320. package/src/modules/orders/orders.client.js +36 -38
  321. package/src/modules/orders/store/models/customer.js +7 -0
  322. package/src/modules/organizations/components/pages/Organization.vue +146 -6
  323. package/src/modules/organizations/configs/navigation.organization.config.js +17 -26
  324. package/src/modules/organizations/organizations.client.js +0 -3
  325. package/src/modules/products/TASKS.MD +1 -157
  326. package/src/modules/products/components/elements/QuantitySelector.vue +17 -9
  327. package/src/modules/products/components/pages/Product.vue +1 -1
  328. package/src/modules/products/components/pages/Products.vue +5 -2
  329. package/src/modules/products/components/sections/ProductsPopular.vue +9 -5
  330. package/src/modules/products/components/sections/ProductsRecommended.vue +4 -1
  331. package/src/modules/products/controllers/configs/products.lookup.config.js +11 -1
  332. package/src/styles/base/all.scss +9 -4
  333. package/src/styles/config.scss +10 -0
  334. package/src/styles/responsive.scss +2 -1
  335. package/src/styles/typography.scss +0 -5
  336. package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +0 -1
  337. package/dist/martyrs/src/components/Chips/Chips.vue2.cjs.map +0 -1
  338. package/dist/martyrs/src/components/Chips/Chips.vue2.js.map +0 -1
  339. package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +0 -1
  340. package/dist/martyrs/src/components/Loader/Loader.vue.js.map +0 -1
  341. package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +0 -1
  342. package/dist/martyrs/src/components/Menu/Menu.vue.js.map +0 -1
  343. package/dist/martyrs/src/components/Select/Select.vue.js.map +0 -1
  344. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +0 -137
  345. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs.map +0 -1
  346. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +0 -137
  347. package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js.map +0 -1
  348. package/src/modules/organizations/components/sections/DetailsTabSection.vue +0 -190
@@ -2,7 +2,7 @@ import { createElementBlock, openBlock, createStaticVNode } from "vue";
2
2
  /* empty css */
3
3
  import _export_sfc from "../../../../../_virtual/_plugin-vue_export-helper.js";
4
4
  const _hoisted_1 = {
5
- class: "h-2r w-auto",
5
+ class: "w-auto",
6
6
  width: "270",
7
7
  height: "300",
8
8
  viewBox: "0 0 270 300",
@@ -14,12 +14,12 @@ const _sfc_main = {
14
14
  setup(__props) {
15
15
  return (_ctx, _cache) => {
16
16
  return openBlock(), createElementBlock("svg", _hoisted_1, _cache[0] || (_cache[0] = [
17
- createStaticVNode('<g clip-path="url(#clip0)" data-v-8ec01df7><path fill-rule="evenodd" clip-rule="evenodd" d="M264.626 52.2791C265.531 57.2858 266 62.4066 266 67.6155C266 125.882 207.349 173.116 135 173.116C62.6507 173.116 4 125.882 4 67.6155C4 62.4066 4.46875 57.2858 5.37413 52.2791C11.0997 32.6306 21.1714 14.8341 34.4789 0C34.1621 2.17658 34 4.38345 34 6.61562C34 43.8948 79.2192 74.1156 135 74.1156C190.781 74.1156 236 43.8948 236 6.61562C236 4.38345 235.838 2.17659 235.521 5.29254e-06C248.829 14.8341 258.9 32.6306 264.626 52.2791Z" fill="#00FF88" data-v-8ec01df7></path><path d="M270 165C270 239.558 209.558 300 135 300C60.4416 300 0 239.558 0 165C0 90.4416 60.4416 30 135 30C209.558 30 270 90.4416 270 165Z" fill="#00FF88" data-v-8ec01df7></path><ellipse class="eye" cx="143" cy="155.5" rx="37" ry="37.5" stroke="white" fill="white" stroke-width="1.48515" data-v-8ec01df7></ellipse><g class="eye" data-v-8ec01df7><path d="M215 166C215 210.849 179.07 247 135 247C90.9303 247 55 210.849 55 166C55 121.151 90.9303 85 135 85C179.07 85 215 121.151 215 166Z" stroke="white" stroke-width="11" data-v-8ec01df7></path></g></g><defs data-v-8ec01df7><clipPath id="clip0" data-v-8ec01df7><rect width="269.333" height="300" fill="white" data-v-8ec01df7></rect></clipPath></defs>', 2)
17
+ createStaticVNode('<g clip-path="url(#clip0)" data-v-4241147a><path fill-rule="evenodd" clip-rule="evenodd" d="M264.626 52.2791C265.531 57.2858 266 62.4066 266 67.6155C266 125.882 207.349 173.116 135 173.116C62.6507 173.116 4 125.882 4 67.6155C4 62.4066 4.46875 57.2858 5.37413 52.2791C11.0997 32.6306 21.1714 14.8341 34.4789 0C34.1621 2.17658 34 4.38345 34 6.61562C34 43.8948 79.2192 74.1156 135 74.1156C190.781 74.1156 236 43.8948 236 6.61562C236 4.38345 235.838 2.17659 235.521 5.29254e-06C248.829 14.8341 258.9 32.6306 264.626 52.2791Z" fill="#00FF88" data-v-4241147a></path><path d="M270 165C270 239.558 209.558 300 135 300C60.4416 300 0 239.558 0 165C0 90.4416 60.4416 30 135 30C209.558 30 270 90.4416 270 165Z" fill="#00FF88" data-v-4241147a></path><ellipse class="eye" cx="143" cy="155.5" rx="37" ry="37.5" stroke="white" fill="white" stroke-width="1.48515" data-v-4241147a></ellipse><g class="eye" data-v-4241147a><path d="M215 166C215 210.849 179.07 247 135 247C90.9303 247 55 210.849 55 166C55 121.151 90.9303 85 135 85C179.07 85 215 121.151 215 166Z" stroke="white" stroke-width="11" data-v-4241147a></path></g></g><defs data-v-4241147a><clipPath id="clip0" data-v-4241147a><rect width="269.333" height="300" fill="white" data-v-4241147a></rect></clipPath></defs>', 2)
18
18
  ]));
19
19
  };
20
20
  }
21
21
  };
22
- const Logotype = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8ec01df7"]]);
22
+ const Logotype = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4241147a"]]);
23
23
  export {
24
24
  Logotype as default
25
25
  };
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const Field = require("../../../../components/Field/Field.vue.cjs");
6
- const Select = require("../../../../components/Select/Select.vue.cjs");
6
+ const Select = require("../../../../components/Select/Select.vue2.cjs");
7
7
  const auth = require("../../../auth/views/store/auth.cjs");
8
8
  const spots = require("../../../spots/store/spots.cjs");
9
9
  const variants_store = require("../../../products/store/variants.store.cjs");
@@ -1,7 +1,7 @@
1
1
  import { ref, onMounted, createElementBlock, openBlock, createElementVNode, createCommentVNode, createVNode, createBlock, Fragment, renderList, normalizeClass, resolveDynamicComponent, toDisplayString } from "vue";
2
2
  import { useRoute } from "vue-router";
3
3
  import Field from "../../../../components/Field/Field.vue.js";
4
- import Select from "../../../../components/Select/Select.vue.js";
4
+ import Select from "../../../../components/Select/Select.vue2.js";
5
5
  import { state } from "../../../auth/views/store/auth.js";
6
6
  import { actions } from "../../../spots/store/spots.js";
7
7
  import variantsStore from "../../../products/store/variants.store.js";
@@ -3,7 +3,7 @@ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toString
3
3
  const vue = require("vue");
4
4
  const vueRouter = require("vue-router");
5
5
  const Field = require("../../../../components/Field/Field.vue.cjs");
6
- const Select = require("../../../../components/Select/Select.vue.cjs");
6
+ const Select = require("../../../../components/Select/Select.vue2.cjs");
7
7
  const auth = require("../../../auth/views/store/auth.cjs");
8
8
  const spots = require("../../../spots/store/spots.cjs");
9
9
  const variants_store = require("../../../products/store/variants.store.cjs");
@@ -1,7 +1,7 @@
1
1
  import { ref, computed, onMounted, createElementBlock, openBlock, createElementVNode, createVNode, toDisplayString } from "vue";
2
2
  import { useRoute } from "vue-router";
3
3
  import Field from "../../../../components/Field/Field.vue.js";
4
- import Select from "../../../../components/Select/Select.vue.js";
4
+ import Select from "../../../../components/Select/Select.vue2.js";
5
5
  import { state } from "../../../auth/views/store/auth.js";
6
6
  import { actions } from "../../../spots/store/spots.js";
7
7
  import variantsStore from "../../../products/store/variants.store.js";
@@ -6,14 +6,15 @@ const mixins = require("../../../globals/views/mixins/mixins.cjs");
6
6
  const Table = require("../../../../components/Table/Table.vue.cjs");
7
7
  const Feed = require("../../../../components/Feed/Feed.vue.cjs");
8
8
  const PlaceholderImage = require("../../../icons/placeholders/PlaceholderImage.vue.cjs");
9
- const Dropdown = require("../../../../components/Dropdown/Dropdown.vue2.cjs");
9
+ const Dropdown = require("../../../../components/Dropdown/Dropdown.vue.cjs");
10
10
  const Popup = require("../../../../components/Popup/Popup.vue.cjs");
11
+ ;/* empty css */
11
12
  const IconSettings = require("../../../icons/entities/IconSettings.vue.cjs");
12
13
  const IconEllipsis = require("../../../icons/navigation/IconEllipsis.vue.cjs");
13
14
  const AdjustmentForm = require("../forms/AdjustmentForm.vue.cjs");
14
15
  const StockAlertsForm = require("../forms/StockAlertsForm.vue.cjs");
15
16
  const HistoryView = require("../forms/HistoryView.vue.cjs");
16
- const ColumnSettingsMenu = require("../forms/ColumnSettingsMenu.vue.cjs");
17
+ const ColumnSettingsMenu = ;/* empty css */
17
18
  const _inventory_store = require("../../store/ inventory.store.cjs");
18
19
  const products = require("../../../products/store/products.cjs");
19
20
  const auth = require("../../../auth/views/store/auth.cjs");
@@ -21,27 +22,23 @@ const stock_alerts_store = require("../../store/stock.alerts.store.cjs");
21
22
  ;/* empty css */
22
23
  const _hoisted_1 = { class: "pd-thin" };
23
24
  const _hoisted_2 = { class: "mn-b-medium flex-v-center flex-nowrap flex" };
24
- const _hoisted_3 = { class: "flex gap-small flex-nowrap flex-v-center" };
25
- const _hoisted_4 = ["src"];
26
- const _hoisted_5 = { class: "t-nowrap" };
27
- const _hoisted_6 = { key: 1 };
28
- const _hoisted_7 = {
29
- key: 0,
30
- class: "flex flex-column gap-micro"
31
- };
32
- const _hoisted_8 = { class: "t-small" };
33
- const _hoisted_9 = { class: "t-medium" };
34
- const _hoisted_10 = {
35
- key: 1,
36
- class: "t-transp"
37
- };
38
- const _hoisted_11 = { class: "flex-column flex" };
39
- const _hoisted_12 = { class: "d-block mn-b-thin" };
40
- const _hoisted_13 = { class: "w-100 h-micro radius-thin bg-light" };
41
- const _hoisted_14 = { class: "bg-white radius-small" };
42
- const _hoisted_15 = ["onClick"];
43
- const _hoisted_16 = ["onClick"];
25
+ const _hoisted_3 = { class: "rows-1" };
26
+ const _hoisted_4 = { class: "w-max-20r t-trim flex gap-small flex-nowrap flex-v-center" };
27
+ const _hoisted_5 = ["src"];
28
+ const _hoisted_6 = { class: "t-trim t-nowrap" };
29
+ const _hoisted_7 = { class: "w-max-10r flex-nowrap flex t-trim" };
30
+ const _hoisted_8 = { key: 1 };
31
+ const _hoisted_9 = { class: "w-max-10r flex-nowrap flex t-trim" };
32
+ const _hoisted_10 = { class: "t-medium" };
33
+ const _hoisted_11 = { class: "t-small" };
34
+ const _hoisted_12 = { key: 1 };
35
+ const _hoisted_13 = { class: "flex-column flex" };
36
+ const _hoisted_14 = { class: "d-block mn-b-thin" };
37
+ const _hoisted_15 = { class: "w-100 h-micro radius-thin bg-light" };
38
+ const _hoisted_16 = { class: "bg-white radius-small" };
44
39
  const _hoisted_17 = ["onClick"];
40
+ const _hoisted_18 = ["onClick"];
41
+ const _hoisted_19 = ["onClick"];
45
42
  const _sfc_main = {
46
43
  __name: "Inventory",
47
44
  setup(__props) {
@@ -152,123 +149,128 @@ const _sfc_main = {
152
149
  innerHTML: "+"
153
150
  })) : vue.createCommentVNode("", true)
154
151
  ]),
155
- vue.createVNode(Feed.default, {
156
- search: true,
157
- filter,
158
- "onUpdate:filter": _cache[2] || (_cache[2] = ($event) => filter = $event),
159
- sort: sort.value,
160
- "onUpdate:sort": _cache[3] || (_cache[3] = ($event) => sort.value = $event),
161
- store: {
162
- read: (options) => products.actions.read(options),
163
- state: products.state
164
- },
165
- actions: [{
166
- key: "settings",
167
- component: IconSettings.default,
168
- props: {
169
- class: "h-3r pd-r-small pd-l-small flex-center flex bg-light t-black radius-small hover-scale-1 cursor-pointer"
152
+ vue.createElementVNode("div", _hoisted_3, [
153
+ vue.createVNode(Feed.default, {
154
+ search: true,
155
+ filter,
156
+ "onUpdate:filter": _cache[2] || (_cache[2] = ($event) => filter = $event),
157
+ sort: sort.value,
158
+ "onUpdate:sort": _cache[3] || (_cache[3] = ($event) => sort.value = $event),
159
+ store: {
160
+ read: (options) => products.actions.read(options),
161
+ state: products.state
170
162
  },
171
- handler: openViewSettings
172
- }],
173
- options: {
174
- limit: 15,
175
- lookup: ["inventory", "categories"],
176
- owner: vue.unref(route).params._id,
177
- sortParam: sort.value.param,
178
- sortOrder: sort.value.order
179
- }
180
- }, {
181
- default: vue.withCtx(({ items }) => [
182
- vue.createVNode(Table.default, {
183
- columns: columns.filter((col) => col.visible),
184
- items,
185
- class: "bg-white z-index-1 br-solid br-1px br-light radius-medium"
186
- }, {
187
- "cell-name": vue.withCtx(({ row }) => [
188
- vue.createElementVNode("div", _hoisted_3, [
189
- row.images?.length ? (vue.openBlock(), vue.createElementBlock("img", {
190
- key: 0,
191
- src: (_ctx.FILE_SERVER_URL || "") + row.images[0],
192
- alt: "Product",
193
- class: "w-3r h-3r radius-small bg-light object-fit-cover"
194
- }, null, 8, _hoisted_4)) : (vue.openBlock(), vue.createBlock(PlaceholderImage.default, {
195
- key: 1,
196
- class: "w-3r h-3r radius-small"
197
- })),
198
- vue.createElementVNode("span", _hoisted_5, vue.toDisplayString(row.name || "Unknown Product"), 1)
199
- ])
200
- ]),
201
- "cell-category": vue.withCtx(({ row }) => [
202
- row.category?.length ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(row.category, (cat) => {
203
- return vue.openBlock(), vue.createElementBlock("span", {
204
- key: cat._id,
205
- class: "pd-nano mn-r-micro pd-r-small pd-l-small radius-small bg-light t-small"
206
- }, vue.toDisplayString(cat.name), 1);
207
- }), 128)) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_6, "-"))
208
- ]),
209
- "cell-storages": vue.withCtx(({ row }) => [
210
- row.availabilityDetails?.length ? (vue.openBlock(), vue.createElementBlock("div", _hoisted_7, [
211
- (vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList(row.availabilityDetails, (avail) => {
212
- return vue.openBlock(), vue.createElementBlock("div", {
213
- key: avail._id,
214
- class: "flex gap-small flex-v-center"
215
- }, [
216
- vue.createElementVNode("span", _hoisted_8, vue.toDisplayString(avail.storageName || avail.storage) + ":", 1),
217
- vue.createElementVNode("span", _hoisted_9, vue.toDisplayString(avail.available || 0), 1)
218
- ]);
219
- }), 128))
220
- ])) : (vue.openBlock(), vue.createElementBlock("span", _hoisted_10, "No stock"))
221
- ]),
222
- "cell-available": vue.withCtx(({ row }) => [
223
- vue.createElementVNode("div", _hoisted_11, [
224
- vue.createElementVNode("span", _hoisted_12, vue.toDisplayString(row.available) + " · " + vue.toDisplayString(row.available <= 5 ? "Low" : row.available <= 10 ? "Medium" : "High"), 1),
225
- vue.createElementVNode("div", _hoisted_13, [
226
- vue.createElementVNode("div", {
227
- class: vue.normalizeClass([
228
- "h-100 radius-thin",
229
- row.available <= 1 ? "bg-red t-white" : row.available <= 2 ? "bg-orange t-white" : "bg-green t-white"
230
- ]),
231
- style: vue.normalizeStyle(`width: ${Math.min(
232
- row.available / (row.alert !== void 0 ? row.alert : 50) * 100,
233
- 100
234
- )}%`)
235
- }, null, 6)
163
+ actions: [{
164
+ key: "settings",
165
+ component: IconSettings.default,
166
+ props: {
167
+ class: "h-3r pd-r-small pd-l-small flex-center flex bg-light t-black radius-small hover-scale-1 cursor-pointer"
168
+ },
169
+ handler: openViewSettings
170
+ }],
171
+ options: {
172
+ limit: 15,
173
+ lookup: ["inventory", "categories"],
174
+ owner: vue.unref(route).params._id,
175
+ sortParam: sort.value.param,
176
+ sortOrder: sort.value.order
177
+ }
178
+ }, {
179
+ default: vue.withCtx(({ items }) => [
180
+ vue.createVNode(Table.default, {
181
+ columns: columns.filter((col) => col.visible),
182
+ items,
183
+ class: "bg-white z-index-1 br-solid br-1px br-light radius-medium"
184
+ }, {
185
+ "cell-name": vue.withCtx(({ row }) => [
186
+ vue.createElementVNode("div", _hoisted_4, [
187
+ row.images?.length ? (vue.openBlock(), vue.createElementBlock("img", {
188
+ key: 0,
189
+ src: (_ctx.FILE_SERVER_URL || "") + row.images[0],
190
+ alt: "Product",
191
+ class: "w-3r h-3r radius-small bg-light object-fit-cover"
192
+ }, null, 8, _hoisted_5)) : (vue.openBlock(), vue.createBlock(PlaceholderImage.default, {
193
+ key: 1,
194
+ class: "w-3r h-3r radius-small"
195
+ })),
196
+ vue.createElementVNode("p", _hoisted_6, vue.toDisplayString(row.name || "Unknown Product"), 1)
197
+ ])
198
+ ]),
199
+ "cell-category": vue.withCtx(({ row }) => [
200
+ vue.createElementVNode("div", _hoisted_7, [
201
+ row.category?.length ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(row.category, (cat) => {
202
+ return vue.openBlock(), vue.createElementBlock("p", {
203
+ key: cat._id,
204
+ class: "w-max t-trim pd-small mn-r-micro radius-small bg-light t-small"
205
+ }, vue.toDisplayString(cat.name), 1);
206
+ }), 128)) : (vue.openBlock(), vue.createElementBlock("p", _hoisted_8, "-"))
236
207
  ])
237
- ])
238
- ]),
239
- "cell-price": vue.withCtx(({ row }) => [
240
- vue.createTextVNode(vue.toDisplayString(vue.unref(formatPrice)(row.price || 0)), 1)
241
- ]),
242
- "cell-actions": vue.withCtx(({ row }) => [
243
- vue.createVNode(Dropdown.default, {
244
- label: { component: IconEllipsis.default, class: "t-transp i-medium" },
245
- class: "cursor-pointer aspect-1x1 pd-nano radius-small hover-bg-light",
246
- align: "right"
247
- }, {
248
- default: vue.withCtx(() => [
249
- vue.createElementVNode("div", _hoisted_14, [
250
- vue.createElementVNode("button", {
251
- onClick: ($event) => openStockAudit(row),
252
- class: "cursor-pointer t-left t-nowrap w-100 pd-small"
253
- }, " Audit Stock ", 8, _hoisted_15),
254
- vue.createElementVNode("button", {
255
- onClick: ($event) => openStockHistory(row),
256
- class: "cursor-pointer t-left t-nowrap w-100 pd-small"
257
- }, " Stock History ", 8, _hoisted_16),
258
- vue.createElementVNode("button", {
259
- onClick: ($event) => openReorderSettings(row),
260
- class: "cursor-pointer t-left t-nowrap w-100 pd-small"
261
- }, " Set Alerts ", 8, _hoisted_17)
208
+ ]),
209
+ "cell-storages": vue.withCtx(({ row }) => [
210
+ vue.createElementVNode("div", _hoisted_9, [
211
+ row.availabilityDetails?.length ? (vue.openBlock(true), vue.createElementBlock(vue.Fragment, { key: 0 }, vue.renderList(row.availabilityDetails, (avail) => {
212
+ return vue.openBlock(), vue.createElementBlock("p", {
213
+ key: avail._id,
214
+ class: "w-max t-trim pd-small mn-r-micro radius-small bg-light t-small"
215
+ }, [
216
+ vue.createElementVNode("span", _hoisted_10, vue.toDisplayString(avail.available || 0), 1),
217
+ _cache[13] || (_cache[13] = vue.createTextVNode(" · ")),
218
+ vue.createElementVNode("span", _hoisted_11, vue.toDisplayString(avail.storageName || avail.storage) + ":", 1)
219
+ ]);
220
+ }), 128)) : (vue.openBlock(), vue.createElementBlock("p", _hoisted_12, "No stock"))
221
+ ])
222
+ ]),
223
+ "cell-available": vue.withCtx(({ row }) => [
224
+ vue.createElementVNode("div", _hoisted_13, [
225
+ vue.createElementVNode("span", _hoisted_14, vue.toDisplayString(row.available) + " · " + vue.toDisplayString(row.available <= 5 ? "Low" : row.available <= 10 ? "Medium" : "High"), 1),
226
+ vue.createElementVNode("div", _hoisted_15, [
227
+ vue.createElementVNode("div", {
228
+ class: vue.normalizeClass([
229
+ "h-100 radius-thin",
230
+ row.available <= 1 ? "bg-red t-white" : row.available <= 2 ? "bg-orange t-white" : "bg-green t-white"
231
+ ]),
232
+ style: vue.normalizeStyle(`width: ${Math.min(
233
+ row.available / (row.alert !== void 0 ? row.alert : 50) * 100,
234
+ 100
235
+ )}%`)
236
+ }, null, 6)
262
237
  ])
263
- ]),
264
- _: 2
265
- }, 1032, ["label"])
266
- ]),
267
- _: 2
268
- }, 1032, ["columns", "items"])
269
- ]),
270
- _: 1
271
- }, 8, ["filter", "sort", "store", "actions", "options"]),
238
+ ])
239
+ ]),
240
+ "cell-price": vue.withCtx(({ row }) => [
241
+ vue.createTextVNode(vue.toDisplayString(vue.unref(formatPrice)(row.price || 0)), 1)
242
+ ]),
243
+ "cell-actions": vue.withCtx(({ row }) => [
244
+ vue.createVNode(Dropdown.default, {
245
+ label: { component: IconEllipsis.default, class: "t-transp i-medium" },
246
+ class: "cursor-pointer aspect-1x1 pd-nano radius-small hover-bg-light",
247
+ align: "right"
248
+ }, {
249
+ default: vue.withCtx(() => [
250
+ vue.createElementVNode("div", _hoisted_16, [
251
+ vue.createElementVNode("button", {
252
+ onClick: ($event) => openStockAudit(row),
253
+ class: "cursor-pointer t-left t-nowrap w-100 pd-small"
254
+ }, " Audit Stock ", 8, _hoisted_17),
255
+ vue.createElementVNode("button", {
256
+ onClick: ($event) => openStockHistory(row),
257
+ class: "cursor-pointer t-left t-nowrap w-100 pd-small"
258
+ }, " Stock History ", 8, _hoisted_18),
259
+ vue.createElementVNode("button", {
260
+ onClick: ($event) => openReorderSettings(row),
261
+ class: "cursor-pointer t-left t-nowrap w-100 pd-small"
262
+ }, " Set Alerts ", 8, _hoisted_19)
263
+ ])
264
+ ]),
265
+ _: 2
266
+ }, 1032, ["label"])
267
+ ]),
268
+ _: 2
269
+ }, 1032, ["columns", "items"])
270
+ ]),
271
+ _: 1
272
+ }, 8, ["filter", "sort", "store", "actions", "options"])
273
+ ]),
272
274
  vue.createVNode(Popup.default, {
273
275
  isPopupOpen: showAuditModal.value,
274
276
  onClosePopup: _cache[5] || (_cache[5] = ($event) => showAuditModal.value = false),
@@ -1 +1 @@
1
- {"version":3,"file":"Inventory.vue.cjs","sources":["../../../../../../../src/modules/inventory/components/pages/Inventory.vue"],"sourcesContent":["<template>\n <div class=\"pd-thin\">\n <!-- Header -->\n <header class=\"mn-b-medium flex-v-center flex-nowrap flex\">\n <h2>Inventory</h2>\n <button\n v-if=\"route.meta.context === 'backoffice'\"\n @click=\"router.push({ name: 'BackofficeInventoryAudit' })\"\n class=\"mn-l-small radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\"\n v-html=\"'+'\"\n />\n <button\n v-if=\"route.meta.context === 'organization'\"\n @click=\"router.push({ name: 'OrganizationInventoryAudit', params: { _id: route.params._id } })\"\n class=\"mn-l-small radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\"\n v-html=\"'+'\"\n />\n </header>\n\n <!-- Products Feed -->\n <Feed\n :search=\"true\"\n v-model:filter=\"filter\"\n v-model:sort=\"sort\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: products.state\n }\"\n :actions=\"[{\n key: 'settings',\n component: IconSettings,\n props: {\n class: 'h-3r pd-r-small pd-l-small flex-center flex bg-light t-black radius-small hover-scale-1 cursor-pointer'\n },\n handler: openViewSettings\n }]\"\n :options=\"{\n limit: 15,\n lookup: ['inventory','categories'],\n owner: route.params._id,\n sortParam: sort.param,\n sortOrder: sort.order\n }\"\n v-slot=\"{ items }\"\n >\n <Table\n :columns=\"columns.filter(col => col.visible)\"\n :items=\"items\"\n class=\"bg-white z-index-1 br-solid br-1px br-light radius-medium\"\n >\n <!-- Name column (was \"product\") -->\n <template #cell-name=\"{ row }\">\n <div class=\"flex gap-small flex-nowrap flex-v-center\">\n <img\n v-if=\"row.images?.length\"\n :src=\"(FILE_SERVER_URL || '') + row.images[0]\"\n alt=\"Product\"\n class=\"w-3r h-3r radius-small bg-light object-fit-cover\"\n />\n <PlaceholderImage v-else class=\"w-3r h-3r radius-small\" />\n <span class=\"t-nowrap\">{{ row.name || 'Unknown Product' }}</span>\n </div>\n </template>\n\n <!-- Categories -->\n <template #cell-category=\"{ row }\">\n <span\n v-if=\"row.category?.length\"\n v-for=\"cat in row.category\"\n :key=\"cat._id\"\n class=\"pd-nano mn-r-micro pd-r-small pd-l-small radius-small bg-light t-small\"\n >\n {{ cat.name }}\n </span>\n <span v-else>-</span>\n </template>\n\n <!-- Storages -->\n <template #cell-storages=\"{ row }\">\n <div v-if=\"row.availabilityDetails?.length\" class=\"flex flex-column gap-micro\">\n <div \n v-for=\"avail in row.availabilityDetails\" \n :key=\"avail._id\"\n class=\"flex gap-small flex-v-center\"\n >\n <span class=\"t-small\">{{ avail.storageName || avail.storage }}:</span>\n <span class=\"t-medium\">{{ avail.available || 0 }}</span>\n </div>\n </div>\n <span v-else class=\"t-transp\">No stock</span>\n </template>\n\n <!-- Available (replaces stock) -->\n <template #cell-available=\"{ row }\">\n <div class=\"flex-column flex\">\n <span class=\"d-block mn-b-thin\">\n {{ row.available }} ·\n {{ row.available <= 5 ? 'Low' : row.available <= 10 ? 'Medium' : 'High' }}\n </span>\n <div class=\"w-100 h-micro radius-thin bg-light\">\n <div\n class=\"h-100 radius-thin\"\n :class=\"\n row.available <= 1\n ? 'bg-red t-white'\n : row.available <= 2\n ? 'bg-orange t-white'\n : 'bg-green t-white'\n \"\n :style=\"`width: ${\n Math.min(\n (row.available / (row.alert !== undefined ? row.alert : 50)) * 100,\n 100\n )\n }%`\"\n />\n </div>\n </div>\n </template>\n <!-- Price -->\n <template #cell-price=\"{ row }\">\n {{ formatPrice(row.price || 0) }}\n </template>\n\n <!-- Actions -->\n <template #cell-actions=\"{ row }\">\n <Dropdown\n :label=\"{ component: IconEllipsis, class: 't-transp i-medium' }\"\n class=\"cursor-pointer aspect-1x1 pd-nano radius-small hover-bg-light\"\n align=\"right\"\n >\n <div class=\"bg-white radius-small\">\n <button @click=\"openStockAudit(row)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Audit Stock\n </button>\n <button @click=\"openStockHistory(row)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Stock History\n </button>\n <button @click=\"openReorderSettings(row)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Set Alerts\n </button>\n </div>\n </Dropdown>\n </template>\n </Table>\n </Feed>\n\n <!-- Modals -->\n <Popup\n :isPopupOpen=\"showAuditModal\"\n @close-popup=\"showAuditModal = false\"\n title=\"Audit Stock\"\n class=\"bg-white radius-medium pd-medium w-min-40r\"\n >\n <AdjustmentForm\n :product=\"selectedProduct\"\n @close=\"showAuditModal = false\"\n @save=\"handleAuditSave\"\n />\n </Popup>\n\n <Popup\n :isPopupOpen=\"showReorderModal\"\n @close-popup=\"showReorderModal = false\"\n title=\"Stock Level Alerts\"\n class=\"bg-white radius-medium pd-medium w-min-30r\"\n >\n <StockAlertsForm\n :product=\"selectedProduct\"\n @close=\"showReorderModal = false\"\n @save=\"handleAlertSave\"\n />\n </Popup>\n\n <Popup\n :isPopupOpen=\"showHistoryModal\"\n @close-popup=\"showHistoryModal = false\"\n title=\"Stock History\"\n class=\"bg-white radius-medium pd-medium w-min-50r\"\n >\n <HistoryView\n :product=\"selectedProduct\"\n @close=\"showHistoryModal = false\"\n />\n </Popup>\n\n <Popup\n :isPopupOpen=\"showSettingsModal\"\n @close-popup=\"showSettingsModal = false\"\n title=\"View Settings\"\n class=\"bg-white radius-medium pd-medium w-min-30r\"\n >\n <ColumnSettingsMenu\n :columns=\"columns\"\n @save=\"handleColumnsUpdate\"\n @close=\"showSettingsModal = false\"\n />\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, reactive } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js'\n\n// Components\nimport Table from '@martyrs/src/components/Table/Table.vue'\nimport Feed from '@martyrs/src/components/Feed/Feed.vue'\nimport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'\nimport Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\n\n// Icons\nimport IconSettings from '@martyrs/src/modules/icons/entities/IconSettings.vue'\nimport IconEllipsis from '@martyrs/src/modules/icons/navigation/IconEllipsis.vue'\n\n// Forms\nimport AdjustmentForm from '../forms/AdjustmentForm.vue'\nimport StockAlertsForm from '../forms/StockAlertsForm.vue'\nimport HistoryView from '../forms/HistoryView.vue'\nimport ColumnSettingsMenu from '../forms/ColumnSettingsMenu.vue'\n\n// Stores\nimport * as inventory from '@martyrs/src/modules/inventory/store/ inventory.store.js'\nimport * as products from '@martyrs/src/modules/products/store/products.js'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport stockAlerts from '@martyrs/src/modules/inventory/store/stock.alerts.store.js'\n\n// Router\nconst route = useRoute()\nconst router = useRouter()\nconst { formatPrice } = useGlobalMixins()\n\n// Feed controls\nconst sort = ref({\n param: 'available',\n order: 'asc',\n options: [\n { label: 'Available', value: 'available' },\n { label: 'Name', value: 'name' },\n { label: 'Price', value: 'price' },\n { label: 'Created', value: 'createdAt' }\n ]\n})\n\nconst filter = reactive({\n active: false,\n class: '',\n selected: { category: [], stockLevel: [] },\n options: [\n { title: 'Categories', value: 'category', options: [] },\n {\n title: 'Stock Level',\n value: 'stockLevel',\n options: [\n { label: 'Low', value: 'low' },\n { label: 'Medium', value: 'medium' },\n { label: 'High', value: 'high' }\n ]\n }\n ]\n})\n\n// Column definitions + visibility, combined into one\nconst columns = reactive([\n { key: 'name', label: 'Product Name', component: true, visible: true },\n { key: 'category', label: 'Categories', component: true, visible: true },\n { key: 'storages', label: 'Storages', component: true, visible: true },\n { key: 'available',label: 'Total Available', component: true, visible: true },\n { key: 'price', label: 'Unit Price', component: true, visible: true },\n { key: 'actions', label: '', component: true, visible: true }\n])\n\n// Modal & selection state\nconst showAuditModal = ref(false)\nconst showReorderModal = ref(false)\nconst showHistoryModal = ref(false)\nconst showSettingsModal = ref(false)\nconst selectedProduct = ref(null)\n\n// Handlers\nfunction openStockAudit(row) {\n selectedProduct.value = row\n showAuditModal.value = true\n}\nfunction openReorderSettings(row = null) {\n selectedProduct.value = row\n showReorderModal.value = true\n}\nfunction openStockHistory(row) {\n selectedProduct.value = row\n showHistoryModal.value = true\n}\nfunction openViewSettings() {\n showSettingsModal.value = true\n}\nasync function handleAuditSave(adjustmentData) {\n try {\n await inventory.actions.createAdjustment({\n ...adjustmentData,\n owner: {\n type: 'organization',\n target: route.params._id\n },\n creator: {\n type: 'user',\n target: auth.state.user._id\n }\n })\n showAuditModal.value = false\n } catch (err) {\n console.error(err)\n }\n}\nasync function handleAlertSave(alertData) {\n try {\n await stockAlerts.create(alertData)\n showReorderModal.value = false\n } catch (err) {\n console.error('Error saving alert:', err)\n }\n}\nfunction handleColumnsUpdate(updated) {\n // Update column visibility\n columns.forEach(col => {\n col.visible = updated.includes(col.key)\n })\n showSettingsModal.value = false\n}\n</script>\n\n<style>\n.bg-orange {\n background-color: rgb(var(--orange));\n}\n</style>\n"],"names":["useRoute","useRouter","useGlobalMixins","ref","reactive","inventory.actions","auth.state","stockAlerts"],"mappings":"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"}
1
+ {"version":3,"file":"Inventory.vue.cjs","sources":["../../../../../../../src/modules/inventory/components/pages/Inventory.vue"],"sourcesContent":["<template>\n <div class=\"pd-thin\">\n <!-- Header -->\n <header class=\"mn-b-medium flex-v-center flex-nowrap flex\">\n <h2>Inventory</h2>\n <button\n v-if=\"route.meta.context === 'backoffice'\"\n @click=\"router.push({ name: 'BackofficeInventoryAudit' })\"\n class=\"mn-l-small radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\"\n v-html=\"'+'\"\n />\n <button\n v-if=\"route.meta.context === 'organization'\"\n @click=\"router.push({ name: 'OrganizationInventoryAudit', params: { _id: route.params._id } })\"\n class=\"mn-l-small radius-100 i-big hover-scale-1 cursor-pointer t-white bg-second\"\n v-html=\"'+'\"\n />\n </header>\n\n <!-- Products Feed -->\n <div class=\"rows-1\">\n <Feed\n :search=\"true\"\n v-model:filter=\"filter\"\n v-model:sort=\"sort\"\n :store=\"{\n read: (options) => products.actions.read(options),\n state: products.state\n }\"\n :actions=\"[{\n key: 'settings',\n component: IconSettings,\n props: {\n class: 'h-3r pd-r-small pd-l-small flex-center flex bg-light t-black radius-small hover-scale-1 cursor-pointer'\n },\n handler: openViewSettings\n }]\"\n :options=\"{\n limit: 15,\n lookup: ['inventory','categories'],\n owner: route.params._id,\n sortParam: sort.param,\n sortOrder: sort.order\n }\"\n v-slot=\"{ items }\"\n >\n <Table\n :columns=\"columns.filter(col => col.visible)\"\n :items=\"items\"\n class=\"bg-white z-index-1 br-solid br-1px br-light radius-medium\"\n >\n <!-- Name column (was \"product\") -->\n <template #cell-name=\"{ row }\">\n <div class=\"w-max-20r t-trim flex gap-small flex-nowrap flex-v-center\">\n <img\n v-if=\"row.images?.length\"\n :src=\"(FILE_SERVER_URL || '') + row.images[0]\"\n alt=\"Product\"\n class=\"w-3r h-3r radius-small bg-light object-fit-cover\"\n />\n <PlaceholderImage v-else class=\"w-3r h-3r radius-small\" />\n <p class=\"t-trim t-nowrap\">{{ row.name || 'Unknown Product' }}</p>\n </div>\n </template>\n\n <!-- Categories -->\n <template #cell-category=\"{ row }\">\n <div class=\"w-max-10r flex-nowrap flex t-trim\">\n <p\n v-if=\"row.category?.length\"\n v-for=\"cat in row.category\"\n :key=\"cat._id\"\n class=\"w-max t-trim pd-small mn-r-micro radius-small bg-light t-small\"\n >\n {{ cat.name }}\n </p>\n <p v-else>-</p>\n </div>\n </template>\n\n <!-- Storages -->\n <template #cell-storages=\"{ row }\">\n <div class=\"w-max-10r flex-nowrap flex t-trim\">\n <p\n v-if=\"row.availabilityDetails?.length\"\n v-for=\"avail in row.availabilityDetails\" \n :key=\"avail._id\"\n class=\"w-max t-trim pd-small mn-r-micro radius-small bg-light t-small\"\n >\n\n <span class=\"t-medium\">{{ avail.available || 0 }}</span> · \n <span class=\"t-small\">{{ avail.storageName || avail.storage }}:</span>\n </p>\n <p v-else>No stock</p>\n </div>\n </template>\n\n <!-- Available (replaces stock) -->\n <template #cell-available=\"{ row }\">\n <div class=\"flex-column flex\">\n <span class=\"d-block mn-b-thin\">\n {{ row.available }} ·\n {{ row.available <= 5 ? 'Low' : row.available <= 10 ? 'Medium' : 'High' }}\n </span>\n <div class=\"w-100 h-micro radius-thin bg-light\">\n <div\n class=\"h-100 radius-thin\"\n :class=\"\n row.available <= 1\n ? 'bg-red t-white'\n : row.available <= 2\n ? 'bg-orange t-white'\n : 'bg-green t-white'\n \"\n :style=\"`width: ${\n Math.min(\n (row.available / (row.alert !== undefined ? row.alert : 50)) * 100,\n 100\n )\n }%`\"\n />\n </div>\n </div>\n </template>\n <!-- Price -->\n <template #cell-price=\"{ row }\">\n {{ formatPrice(row.price || 0) }}\n </template>\n\n <!-- Actions -->\n <template #cell-actions=\"{ row }\">\n <Dropdown\n :label=\"{ component: IconEllipsis, class: 't-transp i-medium' }\"\n class=\"cursor-pointer aspect-1x1 pd-nano radius-small hover-bg-light\"\n align=\"right\"\n >\n <div class=\"bg-white radius-small\">\n <button @click=\"openStockAudit(row)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Audit Stock\n </button>\n <button @click=\"openStockHistory(row)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Stock History\n </button>\n <button @click=\"openReorderSettings(row)\" class=\"cursor-pointer t-left t-nowrap w-100 pd-small\">\n Set Alerts\n </button>\n </div>\n </Dropdown>\n </template>\n </Table>\n </Feed>\n </div>\n <!-- Modals -->\n <Popup\n :isPopupOpen=\"showAuditModal\"\n @close-popup=\"showAuditModal = false\"\n title=\"Audit Stock\"\n class=\"bg-white radius-medium pd-medium w-min-40r\"\n >\n <AdjustmentForm\n :product=\"selectedProduct\"\n @close=\"showAuditModal = false\"\n @save=\"handleAuditSave\"\n />\n </Popup>\n\n <Popup\n :isPopupOpen=\"showReorderModal\"\n @close-popup=\"showReorderModal = false\"\n title=\"Stock Level Alerts\"\n class=\"bg-white radius-medium pd-medium w-min-30r\"\n >\n <StockAlertsForm\n :product=\"selectedProduct\"\n @close=\"showReorderModal = false\"\n @save=\"handleAlertSave\"\n />\n </Popup>\n\n <Popup\n :isPopupOpen=\"showHistoryModal\"\n @close-popup=\"showHistoryModal = false\"\n title=\"Stock History\"\n class=\"bg-white radius-medium pd-medium w-min-50r\"\n >\n <HistoryView\n :product=\"selectedProduct\"\n @close=\"showHistoryModal = false\"\n />\n </Popup>\n\n <Popup\n :isPopupOpen=\"showSettingsModal\"\n @close-popup=\"showSettingsModal = false\"\n title=\"View Settings\"\n class=\"bg-white radius-medium pd-medium w-min-30r\"\n >\n <ColumnSettingsMenu\n :columns=\"columns\"\n @save=\"handleColumnsUpdate\"\n @close=\"showSettingsModal = false\"\n />\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, reactive } from 'vue'\nimport { useRoute, useRouter } from 'vue-router'\nimport { useGlobalMixins } from '@martyrs/src/modules/globals/views/mixins/mixins.js'\n\n// Components\nimport Table from '@martyrs/src/components/Table/Table.vue'\nimport Feed from '@martyrs/src/components/Feed/Feed.vue'\nimport PlaceholderImage from '@martyrs/src/modules/icons/placeholders/PlaceholderImage.vue'\nimport Dropdown from '@martyrs/src/components/Dropdown/Dropdown.vue'\nimport Popup from '@martyrs/src/components/Popup/Popup.vue'\nimport Chips from '@martyrs/src/components/Chips/Chips.vue'\n\n\n// Icons\nimport IconSettings from '@martyrs/src/modules/icons/entities/IconSettings.vue'\nimport IconEllipsis from '@martyrs/src/modules/icons/navigation/IconEllipsis.vue'\n\n// Forms\nimport AdjustmentForm from '../forms/AdjustmentForm.vue'\nimport StockAlertsForm from '../forms/StockAlertsForm.vue'\nimport HistoryView from '../forms/HistoryView.vue'\nimport ColumnSettingsMenu from '../forms/ColumnSettingsMenu.vue'\n\n// Stores\nimport * as inventory from '@martyrs/src/modules/inventory/store/ inventory.store.js'\nimport * as products from '@martyrs/src/modules/products/store/products.js'\nimport * as auth from '@martyrs/src/modules/auth/views/store/auth.js'\nimport stockAlerts from '@martyrs/src/modules/inventory/store/stock.alerts.store.js'\n\n// Router\nconst route = useRoute()\nconst router = useRouter()\nconst { formatPrice } = useGlobalMixins()\n\n// Feed controls\nconst sort = ref({\n param: 'available',\n order: 'asc',\n options: [\n { label: 'Available', value: 'available' },\n { label: 'Name', value: 'name' },\n { label: 'Price', value: 'price' },\n { label: 'Created', value: 'createdAt' }\n ]\n})\n\nconst filter = reactive({\n active: false,\n class: '',\n selected: { category: [], stockLevel: [] },\n options: [\n { title: 'Categories', value: 'category', options: [] },\n {\n title: 'Stock Level',\n value: 'stockLevel',\n options: [\n { label: 'Low', value: 'low' },\n { label: 'Medium', value: 'medium' },\n { label: 'High', value: 'high' }\n ]\n }\n ]\n})\n\n// Column definitions + visibility, combined into one\nconst columns = reactive([\n { key: 'name', label: 'Product Name', component: true, visible: true },\n { key: 'category', label: 'Categories', component: true, visible: true },\n { key: 'storages', label: 'Storages', component: true, visible: true },\n { key: 'available',label: 'Total Available', component: true, visible: true },\n { key: 'price', label: 'Unit Price', component: true, visible: true },\n { key: 'actions', label: '', component: true, visible: true }\n])\n\n// Modal & selection state\nconst showAuditModal = ref(false)\nconst showReorderModal = ref(false)\nconst showHistoryModal = ref(false)\nconst showSettingsModal = ref(false)\nconst selectedProduct = ref(null)\n\n// Handlers\nfunction openStockAudit(row) {\n selectedProduct.value = row\n showAuditModal.value = true\n}\nfunction openReorderSettings(row = null) {\n selectedProduct.value = row\n showReorderModal.value = true\n}\nfunction openStockHistory(row) {\n selectedProduct.value = row\n showHistoryModal.value = true\n}\nfunction openViewSettings() {\n showSettingsModal.value = true\n}\nasync function handleAuditSave(adjustmentData) {\n try {\n await inventory.actions.createAdjustment({\n ...adjustmentData,\n owner: {\n type: 'organization',\n target: route.params._id\n },\n creator: {\n type: 'user',\n target: auth.state.user._id\n }\n })\n showAuditModal.value = false\n } catch (err) {\n console.error(err)\n }\n}\nasync function handleAlertSave(alertData) {\n try {\n await stockAlerts.create(alertData)\n showReorderModal.value = false\n } catch (err) {\n console.error('Error saving alert:', err)\n }\n}\nfunction handleColumnsUpdate(updated) {\n // Update column visibility\n columns.forEach(col => {\n col.visible = updated.includes(col.key)\n })\n showSettingsModal.value = false\n}\n</script>\n\n<style>\n.bg-orange {\n background-color: rgb(var(--orange));\n}\n</style>\n"],"names":["useRoute","useRouter","useGlobalMixins","ref","reactive","inventory.actions","auth.state","stockAlerts"],"mappings":"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"}