@ozdao/martyrs 0.2.604 → 0.2.605

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 (833) hide show
  1. package/README.md +2 -2
  2. package/dist/_virtual/dayjs.min.js +1 -1
  3. package/dist/_virtual/weekOfYear.js +1 -1
  4. package/dist/{abac-Blt8bUTL.js → abac-kz5xI99l.js} +1 -0
  5. package/dist/auth.server.js +52 -12
  6. package/dist/builder.js +67 -2
  7. package/dist/chats.server.js +2 -2
  8. package/dist/community.server.js +3 -3
  9. package/dist/core.server.js +2 -2
  10. package/dist/{core.websocket-Cl76z2wT.js → core.websocket-B2FA8gGl.js} +0 -2
  11. package/dist/{crud-BT5FIvQC.js → crud-Cwn0frBP.js} +8 -2
  12. package/dist/events.server.js +4 -4
  13. package/dist/files.server.js +1 -1
  14. package/dist/gallery.server.js +2 -2
  15. package/dist/governance.server.js +10 -10
  16. package/dist/{index-kvBwwb0w.js → index-CPACC651.js} +1 -1
  17. package/dist/inventory.server.js +4 -4
  18. package/dist/{mailing-DT7nbNjZ.js → mailing-BBCidXGr.js} +38 -2
  19. package/dist/marketplace.server.js +2 -2
  20. package/dist/martyrs/dist/martyrs.es3.js +1 -1
  21. package/dist/martyrs/dist/martyrs.es3.js.map +1 -1
  22. package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs/node_modules/.pnpm/dayjs@1.11.19}/node_modules/dayjs/dayjs.min.js +1 -1
  23. package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs/node_modules/.pnpm/dayjs@1.11.19}/node_modules/dayjs/dayjs.min.js.map +1 -1
  24. package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs/node_modules/.pnpm/dayjs@1.11.19}/node_modules/dayjs/plugin/weekOfYear.js +1 -1
  25. package/dist/{node_modules/.pnpm/dayjs@1.11.13 → martyrs/node_modules/.pnpm/dayjs@1.11.19}/node_modules/dayjs/plugin/weekOfYear.js.map +1 -1
  26. package/dist/{node_modules/.pnpm/vue-draggable-next@2.2.1_sortablejs@1.15.6_vue@3.5.13_typescript@5.8.3_ → martyrs/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.7_vue@3.5.13}/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js +305 -268
  27. package/dist/martyrs/node_modules/.pnpm/vue-draggable-next@2.3.0_sortablejs@1.15.7_vue@3.5.13/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js.map +1 -0
  28. package/dist/martyrs/src/components/Address/Address.vue2.js +13 -13
  29. package/dist/martyrs/src/components/Address/Address.vue2.js.map +1 -1
  30. package/dist/martyrs/src/components/Block/Block.vue.js +1 -1
  31. package/dist/martyrs/src/components/Button/Button.vue2.js +1 -1
  32. package/dist/martyrs/src/components/Button/Button.vue2.js.map +1 -1
  33. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js +150 -143
  34. package/dist/martyrs/src/components/Calendar/Calendar.vue2.js.map +1 -1
  35. package/dist/martyrs/src/components/Chart/Chart.vue.js +296 -0
  36. package/dist/martyrs/src/components/Chart/Chart.vue.js.map +1 -0
  37. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js +1 -1
  38. package/dist/martyrs/src/components/Checkbox/Checkbox.vue.js.map +1 -1
  39. package/dist/martyrs/src/components/Chips/Chips.vue.js +5 -6
  40. package/dist/martyrs/src/components/Chips/Chips.vue.js.map +1 -1
  41. package/dist/martyrs/src/components/Countdown/Countdown.vue.js +5 -5
  42. package/dist/martyrs/src/components/Countdown/Countdown.vue.js.map +1 -1
  43. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js +2 -2
  44. package/dist/martyrs/src/components/DatePicker/DatePicker.vue.js.map +1 -1
  45. package/dist/martyrs/src/components/EditImages/{EditImages.vue2.js → EditImages.vue.js} +6 -6
  46. package/dist/martyrs/src/components/EditImages/EditImages.vue.js.map +1 -0
  47. package/dist/martyrs/src/components/EmptyState/EmptyState.vue.js +1 -1
  48. package/dist/martyrs/src/components/Feed/Feed.vue.js.map +1 -1
  49. package/dist/martyrs/src/components/Field/Field.vue.js +4 -4
  50. package/dist/martyrs/src/components/Field/Field.vue.js.map +1 -1
  51. package/dist/martyrs/src/components/FieldDate/FieldDate.vue.js +3 -3
  52. package/dist/martyrs/src/components/FieldDate/FieldDate.vue.js.map +1 -1
  53. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.js +27 -21
  54. package/dist/martyrs/src/components/LocationMarker/LocationMarker.vue2.js.map +1 -1
  55. package/dist/martyrs/src/components/Map/Map.vue.js +20 -16
  56. package/dist/martyrs/src/components/Map/Map.vue.js.map +1 -1
  57. package/dist/martyrs/src/components/Popup/Popup.vue.js +3 -4
  58. package/dist/martyrs/src/components/Popup/Popup.vue.js.map +1 -1
  59. package/dist/martyrs/src/components/Radio/Radio.vue.js +12 -10
  60. package/dist/martyrs/src/components/Radio/Radio.vue.js.map +1 -1
  61. package/dist/martyrs/src/components/Select/Select.vue.js +2 -2
  62. package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -1
  63. package/dist/martyrs/src/components/Status/Snack.vue.js +1 -1
  64. package/dist/martyrs/src/components/Status/Snack.vue.js.map +1 -1
  65. package/dist/martyrs/src/components/Status/Status.vue.js +1 -1
  66. package/dist/martyrs/src/components/Status/Status.vue.js.map +1 -1
  67. package/dist/martyrs/src/components/Table/Table.vue.js +21 -4
  68. package/dist/martyrs/src/components/Table/Table.vue.js.map +1 -1
  69. package/dist/martyrs/src/components/Tooltip/{Tooltip.vue2.js → Tooltip.vue.js} +2 -2
  70. package/dist/martyrs/src/components/Tooltip/Tooltip.vue.js.map +1 -0
  71. package/dist/martyrs/src/components/Tree/Tree.vue.js +1 -1
  72. package/dist/martyrs/src/components/Upload/Upload.vue2.js +2 -2
  73. package/dist/martyrs/src/components/Upload/Upload.vue2.js.map +1 -1
  74. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js +2 -2
  75. package/dist/martyrs/src/components/UploadImage/UploadImage.vue.js.map +1 -1
  76. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js +1 -1
  77. package/dist/martyrs/src/components/UploadImageMultiple/UploadImageMultiple.vue.js.map +1 -1
  78. package/dist/martyrs/src/modules/auth/auth.client.js +14 -2
  79. package/dist/martyrs/src/modules/auth/auth.client.js.map +1 -1
  80. package/dist/martyrs/src/modules/auth/views/components/blocks/OtpDialog.vue.js +4 -4
  81. package/dist/martyrs/src/modules/auth/views/components/blocks/OtpDialog.vue.js.map +1 -1
  82. package/dist/martyrs/src/modules/auth/views/components/blocks/PopupAuth.vue.js +1 -1
  83. package/dist/martyrs/src/modules/auth/views/components/blocks/PopupAuth.vue.js.map +1 -1
  84. package/dist/martyrs/src/modules/auth/views/components/blocks/SidebarUserCard.vue.js +96 -0
  85. package/dist/martyrs/src/modules/auth/views/components/blocks/SidebarUserCard.vue.js.map +1 -0
  86. package/dist/martyrs/src/modules/auth/views/components/pages/BackofficeUsers.vue.js +337 -0
  87. package/dist/martyrs/src/modules/auth/views/components/pages/BackofficeUsers.vue.js.map +1 -0
  88. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +1 -1
  89. package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js.map +1 -1
  90. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +1 -1
  91. package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js.map +1 -1
  92. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +32 -18
  93. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js.map +1 -1
  94. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js +76 -40
  95. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditAccount.vue.js.map +1 -1
  96. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.js +6 -5
  97. package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEditSidebar.vue.js.map +1 -1
  98. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +4 -4
  99. package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js.map +1 -1
  100. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +3 -1
  101. package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js.map +1 -1
  102. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +3 -3
  103. package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js.map +1 -1
  104. package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js +28 -16
  105. package/dist/martyrs/src/modules/auth/views/components/pages/UserDashboard.vue.js.map +1 -1
  106. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js +1 -1
  107. package/dist/martyrs/src/modules/auth/views/components/sections/FeaturedUsers.vue.js.map +1 -1
  108. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js +1 -1
  109. package/dist/martyrs/src/modules/auth/views/components/sections/SliderFeatures.vue.js.map +1 -1
  110. package/dist/martyrs/src/modules/auth/views/middlewares/auth.validation.js +6 -2
  111. package/dist/martyrs/src/modules/auth/views/middlewares/auth.validation.js.map +1 -1
  112. package/dist/martyrs/src/modules/auth/views/router/users.backoffice.router.js +53 -0
  113. package/dist/martyrs/src/modules/auth/views/router/users.backoffice.router.js.map +1 -0
  114. package/dist/martyrs/src/modules/auth/views/store/auth.js +2 -2
  115. package/dist/martyrs/src/modules/auth/views/store/auth.js.map +1 -1
  116. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js +179 -253
  117. package/dist/martyrs/src/modules/backoffice/components/pages/Dashboard.vue.js.map +1 -1
  118. package/dist/martyrs/src/modules/backoffice/configs/navigation.backoffice.config.js +105 -44
  119. package/dist/martyrs/src/modules/backoffice/configs/navigation.backoffice.config.js.map +1 -1
  120. package/dist/martyrs/src/modules/backoffice/router/backoffice.router.js +11 -5
  121. package/dist/martyrs/src/modules/backoffice/router/backoffice.router.js.map +1 -1
  122. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js +1 -1
  123. package/dist/martyrs/src/modules/chats/components/blocks/ChatMessage.vue.js.map +1 -1
  124. package/dist/martyrs/src/modules/chats/components/sections/ChatWindow.vue.js.map +1 -1
  125. package/dist/martyrs/src/modules/community/community.client.js +4 -4
  126. package/dist/martyrs/src/modules/community/community.client.js.map +1 -1
  127. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js +1 -1
  128. package/dist/martyrs/src/modules/community/components/blocks/CardBlogpost.vue.js.map +1 -1
  129. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js +4 -4
  130. package/dist/martyrs/src/modules/community/components/layouts/Community.vue.js.map +1 -1
  131. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js +2 -2
  132. package/dist/martyrs/src/modules/community/components/sections/Comment.vue.js.map +1 -1
  133. package/dist/martyrs/src/modules/constructor/components/elements/ImageUpload.vue.js +1 -1
  134. package/dist/martyrs/src/modules/constructor/components/elements/ImageUpload.vue.js.map +1 -1
  135. package/dist/martyrs/src/modules/core/core.client.js +18 -16
  136. package/dist/martyrs/src/modules/core/core.client.js.map +1 -1
  137. package/dist/martyrs/src/modules/core/views/classes/core.app.js +25 -6
  138. package/dist/martyrs/src/modules/core/views/classes/core.app.js.map +1 -1
  139. package/dist/martyrs/src/modules/core/views/classes/module.manager.js +4 -2
  140. package/dist/martyrs/src/modules/core/views/classes/module.manager.js.map +1 -1
  141. package/dist/martyrs/src/modules/core/views/components/blocks/AlertDialog.vue.js +1 -1
  142. package/dist/martyrs/src/modules/core/views/components/blocks/AlertDialog.vue.js.map +1 -1
  143. package/dist/martyrs/src/modules/core/views/components/blocks/BlockSearch.vue.js +1 -1
  144. package/dist/martyrs/src/modules/core/views/components/blocks/BlockSearch.vue.js.map +1 -1
  145. package/dist/martyrs/src/modules/core/views/components/blocks/BlockSlider.vue.js +132 -0
  146. package/dist/martyrs/src/modules/core/views/components/blocks/BlockSlider.vue.js.map +1 -0
  147. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js +3 -3
  148. package/dist/martyrs/src/modules/core/views/components/blocks/CardHeader.vue.js.map +1 -1
  149. package/dist/martyrs/src/modules/core/views/components/blocks/CardStat.vue.js +6 -28
  150. package/dist/martyrs/src/modules/core/views/components/blocks/CardStat.vue.js.map +1 -1
  151. package/dist/martyrs/src/modules/{auth → core}/views/components/blocks/CardUser.vue.js +29 -11
  152. package/dist/martyrs/src/modules/{auth → core}/views/components/blocks/CardUser.vue.js.map +1 -1
  153. package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.js +2 -2
  154. package/dist/martyrs/src/modules/core/views/components/blocks/HelpCard.vue.js.map +1 -1
  155. package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js +41 -26
  156. package/dist/martyrs/src/modules/core/views/components/blocks/PopupDateSelector.vue.js.map +1 -1
  157. package/dist/martyrs/src/modules/core/views/components/elements/OnlineIndicator.vue.js +1 -1
  158. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js +2 -1
  159. package/dist/martyrs/src/modules/core/views/components/layouts/Client.vue.js.map +1 -1
  160. package/dist/martyrs/src/modules/core/views/components/pages/404.vue.js +2 -2
  161. package/dist/martyrs/src/modules/core/views/components/pages/404.vue.js.map +1 -1
  162. package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js +5 -5
  163. package/dist/martyrs/src/modules/core/views/components/partials/BottomNavigationBar.vue.js.map +1 -1
  164. package/dist/martyrs/src/modules/core/views/components/partials/CitySelection.vue.js +2 -2
  165. package/dist/martyrs/src/modules/core/views/components/partials/CitySelection.vue.js.map +1 -1
  166. package/dist/martyrs/src/modules/core/views/components/partials/Footer.vue.js +2 -2
  167. package/dist/martyrs/src/modules/core/views/components/partials/Footer.vue.js.map +1 -1
  168. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js +4 -4
  169. package/dist/martyrs/src/modules/core/views/components/partials/Header.vue.js.map +1 -1
  170. package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js +1 -1
  171. package/dist/martyrs/src/modules/core/views/components/partials/LocationSelection.vue.js.map +1 -1
  172. package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js +2 -2
  173. package/dist/martyrs/src/modules/core/views/components/partials/Navigation.vue.js.map +1 -1
  174. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js +3 -3
  175. package/dist/martyrs/src/modules/core/views/components/sections/Filters.vue2.js.map +1 -1
  176. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js +2 -2
  177. package/dist/martyrs/src/modules/core/views/components/sections/SectionPageTitle.vue.js.map +1 -1
  178. package/dist/martyrs/src/modules/core/views/components/sections/Walkthrough.vue.js +6 -6
  179. package/dist/martyrs/src/modules/core/views/components/sections/Walkthrough.vue.js.map +1 -1
  180. package/dist/martyrs/src/modules/core/views/mixins/mixins.js +14 -1
  181. package/dist/martyrs/src/modules/core/views/mixins/mixins.js.map +1 -1
  182. package/dist/martyrs/src/modules/core/views/plugins/date-picker.plugin.js +8 -5
  183. package/dist/martyrs/src/modules/core/views/plugins/date-picker.plugin.js.map +1 -1
  184. package/dist/martyrs/src/modules/core/views/store/core.store.js +4 -0
  185. package/dist/martyrs/src/modules/core/views/store/core.store.js.map +1 -1
  186. package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js +3 -0
  187. package/dist/martyrs/src/modules/core/views/utils/vue-app-renderer.js.map +1 -1
  188. package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -1
  189. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +9 -9
  190. package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js.map +1 -1
  191. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js +1 -1
  192. package/dist/martyrs/src/modules/events/components/pages/Event.vue.js.map +1 -1
  193. package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js +1 -1
  194. package/dist/martyrs/src/modules/events/components/sections/EditTickets.vue.js.map +1 -1
  195. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js +1 -1
  196. package/dist/martyrs/src/modules/events/components/sections/SelectDate.vue.js.map +1 -1
  197. package/dist/martyrs/src/modules/events/events.client.js +4 -4
  198. package/dist/martyrs/src/modules/events/events.client.js.map +1 -1
  199. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +2 -2
  200. package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js.map +1 -1
  201. package/dist/martyrs/src/modules/gallery/router/gallery.router.js +3 -3
  202. package/dist/martyrs/src/modules/gallery/router/gallery.router.js.map +1 -1
  203. package/dist/martyrs/src/modules/governance/views/components/blocks/CardInitiativeItem.vue.js +3 -3
  204. package/dist/martyrs/src/modules/governance/views/components/blocks/CardInitiativeItem.vue.js.map +1 -1
  205. package/dist/martyrs/src/modules/governance/views/components/blocks/CardSprintItem.vue.js +4 -4
  206. package/dist/martyrs/src/modules/governance/views/components/blocks/CardSprintItem.vue.js.map +1 -1
  207. package/dist/martyrs/src/modules/governance/views/components/blocks/CardTaskItem.vue.js +2 -2
  208. package/dist/martyrs/src/modules/governance/views/components/blocks/CardTaskItem.vue.js.map +1 -1
  209. package/dist/martyrs/src/modules/governance/views/components/blocks/CardVotingItem.vue.js +3 -3
  210. package/dist/martyrs/src/modules/governance/views/components/blocks/CardVotingItem.vue.js.map +1 -1
  211. package/dist/martyrs/src/modules/governance/views/components/pages/Initiatives.vue.js +3 -3
  212. package/dist/martyrs/src/modules/governance/views/components/pages/Initiatives.vue.js.map +1 -1
  213. package/dist/martyrs/src/modules/governance/views/components/partials/TaskStatusBadge.vue.js +1 -1
  214. package/dist/martyrs/src/modules/governance/views/components/partials/TaskStatusBadge.vue.js.map +1 -1
  215. package/dist/martyrs/src/modules/governance/views/components/sections/FormSprintDetails.vue.js +1 -1
  216. package/dist/martyrs/src/modules/governance/views/components/sections/FormSprintDetails.vue.js.map +1 -1
  217. package/dist/martyrs/src/modules/governance/views/components/sections/FormTaskDetails.vue.js +1 -1
  218. package/dist/martyrs/src/modules/governance/views/components/sections/FormTaskDetails.vue.js.map +1 -1
  219. package/dist/martyrs/src/modules/governance/views/router/governance.router.js +3 -3
  220. package/dist/martyrs/src/modules/governance/views/router/governance.router.js.map +1 -1
  221. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js +2 -2
  222. package/dist/martyrs/src/modules/icons/components/IconSearchPopup.vue.js.map +1 -1
  223. package/dist/martyrs/src/modules/icons/entities/IconApplications.vue.js +32 -0
  224. package/dist/martyrs/src/modules/icons/entities/IconApplications.vue.js.map +1 -0
  225. package/dist/martyrs/src/modules/icons/entities/IconCustomers.vue.js +32 -0
  226. package/dist/martyrs/src/modules/icons/entities/IconCustomers.vue.js.map +1 -0
  227. package/dist/martyrs/src/modules/icons/entities/IconUsers.vue.js +32 -0
  228. package/dist/martyrs/src/modules/icons/entities/IconUsers.vue.js.map +1 -0
  229. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js +2 -2
  230. package/dist/martyrs/src/modules/inventory/components/forms/AdjustmentForm.vue.js.map +1 -1
  231. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js +2 -2
  232. package/dist/martyrs/src/modules/inventory/components/forms/ColumnSettingsMenu.vue.js.map +1 -1
  233. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js +1 -1
  234. package/dist/martyrs/src/modules/inventory/components/forms/HistoryView.vue.js.map +1 -1
  235. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js +3 -3
  236. package/dist/martyrs/src/modules/inventory/components/forms/StockAlertsForm.vue.js.map +1 -1
  237. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js +290 -173
  238. package/dist/martyrs/src/modules/inventory/components/pages/Inventory.vue.js.map +1 -1
  239. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js +1 -1
  240. package/dist/martyrs/src/modules/inventory/components/pages/InventoryEdit.vue.js.map +1 -1
  241. package/dist/martyrs/src/modules/inventory/inventory.client.js +4 -4
  242. package/dist/martyrs/src/modules/inventory/inventory.client.js.map +1 -1
  243. package/dist/martyrs/src/modules/inventory/router/inventory.router.js +15 -0
  244. package/dist/martyrs/src/modules/inventory/router/inventory.router.js.map +1 -1
  245. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js +4 -4
  246. package/dist/martyrs/src/modules/landing/components/sections/SectionEarn.vue.js.map +1 -1
  247. package/dist/martyrs/src/modules/landing/components/sections/SectionFeatures.vue.js +1 -1
  248. package/dist/martyrs/src/modules/landing/components/sections/SectionFeatures.vue.js.map +1 -1
  249. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js +3 -3
  250. package/dist/martyrs/src/modules/landing/components/sections/SectionFeaturesImages.vue.js.map +1 -1
  251. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js +2 -2
  252. package/dist/martyrs/src/modules/landing/components/sections/SectionGuide.vue.js.map +1 -1
  253. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js +1 -1
  254. package/dist/martyrs/src/modules/landing/components/sections/SectionHeroToken.vue.js.map +1 -1
  255. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js +2 -2
  256. package/dist/martyrs/src/modules/landing/components/sections/SectionMobileApp.vue.js.map +1 -1
  257. package/dist/martyrs/src/modules/landing/components/sections/SectionOverview.vue.js +1 -1
  258. package/dist/martyrs/src/modules/landing/components/sections/SectionOverview.vue.js.map +1 -1
  259. package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js +2 -2
  260. package/dist/martyrs/src/modules/landing/components/sections/SectionRoadmap.vue.js.map +1 -1
  261. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js +1 -1
  262. package/dist/martyrs/src/modules/landing/components/sections/SubscribeNewsletter.vue.js.map +1 -1
  263. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js +3 -3
  264. package/dist/martyrs/src/modules/marketplace/views/components/sections/SectionMenu.vue.js.map +1 -1
  265. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js +2 -2
  266. package/dist/martyrs/src/modules/music/components/cards/AlbumCard.vue.js.map +1 -1
  267. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js +2 -2
  268. package/dist/martyrs/src/modules/music/components/cards/ArtistCard.vue.js.map +1 -1
  269. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js +2 -2
  270. package/dist/martyrs/src/modules/music/components/cards/ArtistCardSmall.vue.js.map +1 -1
  271. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js +2 -2
  272. package/dist/martyrs/src/modules/music/components/cards/PlaylistCard.vue.js.map +1 -1
  273. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js +6 -6
  274. package/dist/martyrs/src/modules/music/components/cards/TrackListCard.vue.js.map +1 -1
  275. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js +2 -2
  276. package/dist/martyrs/src/modules/music/components/forms/AlbumForm.vue.js.map +1 -1
  277. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js +1 -1
  278. package/dist/martyrs/src/modules/music/components/forms/ArtistForm.vue.js.map +1 -1
  279. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js +5 -5
  280. package/dist/martyrs/src/modules/music/components/forms/PlaylistForm.vue.js.map +1 -1
  281. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js +3 -3
  282. package/dist/martyrs/src/modules/music/components/forms/TrackForm.vue.js.map +1 -1
  283. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js +8 -8
  284. package/dist/martyrs/src/modules/music/components/pages/Album.vue.js.map +1 -1
  285. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js +5 -5
  286. package/dist/martyrs/src/modules/music/components/pages/Artist.vue.js.map +1 -1
  287. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js +11 -11
  288. package/dist/martyrs/src/modules/music/components/pages/Playlist.vue.js.map +1 -1
  289. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js +3 -3
  290. package/dist/martyrs/src/modules/music/components/pages/SearchResults.vue.js.map +1 -1
  291. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js +11 -11
  292. package/dist/martyrs/src/modules/music/components/pages/Track.vue.js.map +1 -1
  293. package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js +4 -4
  294. package/dist/martyrs/src/modules/music/components/player/FullscreenPlayer.vue.js.map +1 -1
  295. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js +2 -2
  296. package/dist/martyrs/src/modules/music/components/player/TrackProgress.vue.js.map +1 -1
  297. package/dist/martyrs/src/modules/notifications/components/sections/NotificationPreferences.vue.js +162 -68
  298. package/dist/martyrs/src/modules/notifications/components/sections/NotificationPreferences.vue.js.map +1 -1
  299. package/dist/martyrs/src/modules/notifications/notifications.client.js +181 -17
  300. package/dist/martyrs/src/modules/notifications/notifications.client.js.map +1 -1
  301. package/dist/martyrs/src/modules/notifications/router/notifications.backoffice.router.js +21 -0
  302. package/dist/martyrs/src/modules/notifications/router/notifications.backoffice.router.js.map +1 -0
  303. package/dist/martyrs/src/modules/notifications/router/notifications.router.js +13 -42
  304. package/dist/martyrs/src/modules/notifications/router/notifications.router.js.map +1 -1
  305. package/dist/martyrs/src/modules/notifications/store/notifications.store.js +66 -1
  306. package/dist/martyrs/src/modules/notifications/store/notifications.store.js.map +1 -1
  307. package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.js +9 -7
  308. package/dist/martyrs/src/modules/orders/components/blocks/CardApplication.vue.js.map +1 -1
  309. package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.js +11 -9
  310. package/dist/martyrs/src/modules/orders/components/blocks/CardCustomer.vue.js.map +1 -1
  311. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js +9 -9
  312. package/dist/martyrs/src/modules/orders/components/blocks/CardOrder.vue.js.map +1 -1
  313. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js +66 -19
  314. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderBackoffice.vue.js.map +1 -1
  315. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js +29 -27
  316. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderItem.vue.js.map +1 -1
  317. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js +7 -12
  318. package/dist/martyrs/src/modules/orders/components/blocks/CardOrderUser.vue.js.map +1 -1
  319. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js +1 -1
  320. package/dist/martyrs/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue.js.map +1 -1
  321. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js +4 -4
  322. package/dist/martyrs/src/modules/orders/components/elements/PriceTotal.vue.js.map +1 -1
  323. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js +1 -1
  324. package/dist/martyrs/src/modules/orders/components/forms/FormApplicationDetails.vue.js.map +1 -1
  325. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js +46 -25
  326. package/dist/martyrs/src/modules/orders/components/forms/FormSelectCustomer.vue.js.map +1 -1
  327. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js +2 -2
  328. package/dist/martyrs/src/modules/orders/components/pages/Applications.vue.js.map +1 -1
  329. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js +54 -38
  330. package/dist/martyrs/src/modules/orders/components/pages/Customers.vue.js.map +1 -1
  331. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +454 -139
  332. package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js.map +1 -1
  333. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +2 -1
  334. package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
  335. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +141 -68
  336. package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js.map +1 -1
  337. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +38 -32
  338. package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js.map +1 -1
  339. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js +1 -1
  340. package/dist/martyrs/src/modules/orders/components/partials/ShopCart.vue.js.map +1 -1
  341. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js +4 -4
  342. package/dist/martyrs/src/modules/orders/components/sections/ApplicationDetails.vue.js.map +1 -1
  343. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js +1 -1
  344. package/dist/martyrs/src/modules/orders/components/sections/AskToLogin.vue.js.map +1 -1
  345. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js +167 -95
  346. package/dist/martyrs/src/modules/orders/components/sections/CustomerDetails.vue.js.map +1 -1
  347. package/dist/martyrs/src/modules/orders/orders.client.js +22 -20
  348. package/dist/martyrs/src/modules/orders/orders.client.js.map +1 -1
  349. package/dist/martyrs/src/modules/orders/store/orders.js +3 -5
  350. package/dist/martyrs/src/modules/orders/store/orders.js.map +1 -1
  351. package/dist/martyrs/src/modules/orders/store/shopcart.js +5 -5
  352. package/dist/martyrs/src/modules/orders/store/shopcart.js.map +1 -1
  353. package/dist/martyrs/src/modules/orders/utils/rent-price.js +60 -0
  354. package/dist/martyrs/src/modules/orders/utils/rent-price.js.map +1 -0
  355. package/dist/martyrs/src/modules/organizations/components/blocks/CardDepartment.vue.js +2 -2
  356. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js +45 -55
  357. package/dist/martyrs/src/modules/organizations/components/blocks/CardOrganization.vue.js.map +1 -1
  358. package/dist/martyrs/src/modules/organizations/components/blocks/EmptyState.vue.js +1 -1
  359. package/dist/martyrs/src/modules/organizations/components/blocks/Rating.vue.js +1 -1
  360. package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js +2 -2
  361. package/dist/martyrs/src/modules/organizations/components/blocks/Socials.vue.js.map +1 -1
  362. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
  363. package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js.map +1 -1
  364. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js +3 -3
  365. package/dist/martyrs/src/modules/organizations/components/forms/AddExistingMembersForm.vue.js.map +1 -1
  366. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js +1 -1
  367. package/dist/martyrs/src/modules/organizations/components/forms/DepartmentForm.vue.js.map +1 -1
  368. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js +1 -1
  369. package/dist/martyrs/src/modules/organizations/components/forms/InviteForm.vue.js.map +1 -1
  370. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js +2 -2
  371. package/dist/martyrs/src/modules/organizations/components/pages/Department.vue.js.map +1 -1
  372. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +8 -8
  373. package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js.map +1 -1
  374. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +216 -83
  375. package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js.map +1 -1
  376. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +35 -25
  377. package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js.map +1 -1
  378. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +3 -2
  379. package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js.map +1 -1
  380. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +2 -2
  381. package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js.map +1 -1
  382. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +2 -2
  383. package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js.map +1 -1
  384. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js +20 -18
  385. package/dist/martyrs/src/modules/organizations/configs/navigation.organization.config.js.map +1 -1
  386. package/dist/martyrs/src/modules/organizations/organizations.client.js +39 -33
  387. package/dist/martyrs/src/modules/organizations/organizations.client.js.map +1 -1
  388. package/dist/martyrs/src/modules/organizations/router/organizations.backoffice.router.js +81 -0
  389. package/dist/martyrs/src/modules/organizations/router/organizations.backoffice.router.js.map +1 -1
  390. package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
  391. package/dist/martyrs/src/modules/pages/views/components/pages/Pages.vue.js +1 -1
  392. package/dist/martyrs/src/modules/pages/views/components/pages/Pages.vue.js.map +1 -1
  393. package/dist/martyrs/src/modules/pages/views/router/pages.router.js +2 -2
  394. package/dist/martyrs/src/modules/pages/views/router/pages.router.js.map +1 -1
  395. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js +1 -1
  396. package/dist/martyrs/src/modules/products/components/blocks/CardPosition.vue.js.map +1 -1
  397. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js +2 -2
  398. package/dist/martyrs/src/modules/products/components/blocks/CardProduct.vue.js.map +1 -1
  399. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js +3 -3
  400. package/dist/martyrs/src/modules/products/components/blocks/ProductDiscounts.vue.js.map +1 -1
  401. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js +2 -2
  402. package/dist/martyrs/src/modules/products/components/blocks/ProductImages.vue.js.map +1 -1
  403. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js +3 -3
  404. package/dist/martyrs/src/modules/products/components/blocks/ProductVariants.vue.js.map +1 -1
  405. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js +2 -2
  406. package/dist/martyrs/src/modules/products/components/elements/Price.vue.js.map +1 -1
  407. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +9 -25
  408. package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js.map +1 -1
  409. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +34 -17
  410. package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
  411. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +96 -96
  412. package/dist/martyrs/src/modules/products/components/pages/Products.vue.js.map +1 -1
  413. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js +1 -1
  414. package/dist/martyrs/src/modules/products/components/sections/EditAttributes.vue.js.map +1 -1
  415. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js +2 -2
  416. package/dist/martyrs/src/modules/products/components/sections/EditDiscounts.vue.js.map +1 -1
  417. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js +22 -9
  418. package/dist/martyrs/src/modules/products/components/sections/EditVariants.vue.js.map +1 -1
  419. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js +1 -1
  420. package/dist/martyrs/src/modules/products/components/sections/FilterProducts.vue.js.map +1 -1
  421. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js +1 -1
  422. package/dist/martyrs/src/modules/products/components/sections/ProductConfigurator.vue.js.map +1 -1
  423. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +3 -3
  424. package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js.map +1 -1
  425. package/dist/martyrs/src/modules/products/router/categories.router.js +2 -2
  426. package/dist/martyrs/src/modules/products/router/categories.router.js.map +1 -1
  427. package/dist/martyrs/src/modules/products/router/products.router.js +17 -3
  428. package/dist/martyrs/src/modules/products/router/products.router.js.map +1 -1
  429. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js +11 -10
  430. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttBar.vue.js.map +1 -1
  431. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js +197 -81
  432. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttChart.vue.js.map +1 -1
  433. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.js +2 -2
  434. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue.js.map +1 -1
  435. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js +2 -2
  436. package/dist/martyrs/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue.js.map +1 -1
  437. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +685 -80
  438. package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js.map +1 -1
  439. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js +68 -18
  440. package/dist/martyrs/src/modules/rents/views/components/pages/RentsEdit.vue.js.map +1 -1
  441. package/dist/martyrs/src/modules/rents/views/router/rents.router.js +3 -3
  442. package/dist/martyrs/src/modules/rents/views/router/rents.router.js.map +1 -1
  443. package/dist/martyrs/src/modules/rents/views/store/rents.store.js +1 -1
  444. package/dist/martyrs/src/modules/rents/views/store/rents.store.js.map +1 -1
  445. package/dist/martyrs/src/modules/reports/components/pages/BackofficeReports.vue.js +3 -3
  446. package/dist/martyrs/src/modules/reports/components/pages/BackofficeReports.vue.js.map +1 -1
  447. package/dist/martyrs/src/modules/reports/router/reports.router.js +1 -1
  448. package/dist/martyrs/src/modules/reports/router/reports.router.js.map +1 -1
  449. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js +5 -5
  450. package/dist/martyrs/src/modules/spots/components/blocks/CardSpot.vue.js.map +1 -1
  451. package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
  452. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js +3 -3
  453. package/dist/martyrs/src/modules/spots/components/pages/Spot.vue.js.map +1 -1
  454. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +9 -7
  455. package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js.map +1 -1
  456. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js +29 -37
  457. package/dist/martyrs/src/modules/spots/components/pages/Spots.vue.js.map +1 -1
  458. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +8 -8
  459. package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js.map +1 -1
  460. package/dist/martyrs/src/modules/spots/router/spots.router.js +3 -3
  461. package/dist/martyrs/src/modules/spots/router/spots.router.js.map +1 -1
  462. package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js +3 -3
  463. package/dist/martyrs/src/modules/wallet/views/components/elements/ConnectMetamask.vue.js.map +1 -1
  464. package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.js +1 -1
  465. package/dist/martyrs/src/modules/wallet/views/components/pages/Payments.vue.js.map +1 -1
  466. package/dist/martyrs/src/modules/wallet/views/router/wallet.router.js +1 -1
  467. package/dist/martyrs/src/modules/wallet/views/router/wallet.router.js.map +1 -1
  468. package/dist/martyrs.es10.js +59 -57
  469. package/dist/martyrs.es106.js +2 -2
  470. package/dist/martyrs.es11.js +31 -30
  471. package/dist/martyrs.es113.js +22 -166
  472. package/dist/martyrs.es114.js +4 -457
  473. package/dist/martyrs.es115.js +8 -40
  474. package/dist/martyrs.es116.js +166 -9
  475. package/dist/martyrs.es117.js +451 -43
  476. package/dist/martyrs.es118.js +38 -10
  477. package/dist/martyrs.es119.js +9 -44
  478. package/dist/martyrs.es12.js +8 -9
  479. package/dist/martyrs.es120.js +49 -4
  480. package/dist/martyrs.es121.js +10 -127
  481. package/dist/martyrs.es122.js +42 -98
  482. package/dist/martyrs.es123.js +4 -86
  483. package/dist/martyrs.es124.js +120 -29
  484. package/dist/martyrs.es125.js +99 -10
  485. package/dist/martyrs.es126.js +71 -24
  486. package/dist/martyrs.es127.js +37 -8
  487. package/dist/martyrs.es128.js +11 -22
  488. package/dist/martyrs.es129.js +39 -4
  489. package/dist/martyrs.es13.js +22 -19
  490. package/dist/martyrs.es130.js +9 -8
  491. package/dist/martyrs.es131.js +7 -7
  492. package/dist/martyrs.es132.js +2 -2
  493. package/dist/martyrs.es133.js +1 -1
  494. package/dist/martyrs.es135.js +1 -1
  495. package/dist/martyrs.es137.js +1 -1
  496. package/dist/martyrs.es138.js +7 -8
  497. package/dist/martyrs.es139.js +8 -7
  498. package/dist/martyrs.es14.js +2 -2
  499. package/dist/martyrs.es140.js +2 -2
  500. package/dist/martyrs.es144.js +10 -29
  501. package/dist/martyrs.es145.js +29 -10
  502. package/dist/martyrs.es146.js +2 -2
  503. package/dist/martyrs.es147.js +2 -2
  504. package/dist/martyrs.es149.js +1 -1
  505. package/dist/martyrs.es2.js +31 -30
  506. package/dist/martyrs.es22.js +16 -16
  507. package/dist/martyrs.es23.js +8 -8
  508. package/dist/martyrs.es24.js +9 -9
  509. package/dist/martyrs.es26.js +9 -11
  510. package/dist/martyrs.es27.js +9 -9
  511. package/dist/martyrs.es28.js +1 -1
  512. package/dist/martyrs.es29.js +5 -5
  513. package/dist/martyrs.es3.js +1 -1
  514. package/dist/martyrs.es38.js +1 -1
  515. package/dist/martyrs.es4.js +12 -12
  516. package/dist/martyrs.es41.js +34 -224
  517. package/dist/martyrs.es5.js +251 -238
  518. package/dist/martyrs.es61.js +33 -26
  519. package/dist/martyrs.es74.js +7 -7
  520. package/dist/martyrs.es76.js +12 -12
  521. package/dist/martyrs.es8.js +31 -31
  522. package/dist/music.server.js +3 -3
  523. package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@2.0.2/node_modules/@googlemaps/js-api-loader/dist/index.js +90 -0
  524. package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@2.0.2/node_modules/@googlemaps/js-api-loader/dist/index.js.map +1 -0
  525. package/dist/notifications.server.js +255 -23
  526. package/dist/orders.server.js +674 -136
  527. package/dist/organizations.server.js +11 -6
  528. package/dist/products.server.js +68 -7
  529. package/dist/{queryProcessor-C_5Iipam.js → queryProcessor-B2FCngFP.js} +3 -2
  530. package/dist/rents.server.js +183 -7
  531. package/dist/{socials.schema-DxnnaBgO.js → socials.schema-C3RjkqJv.js} +4 -0
  532. package/dist/spots.server.js +1 -1
  533. package/dist/style.css +292 -204
  534. package/dist/{tickets.controller-DdF85W-i.js → tickets.controller-Dpzf4kQx.js} +1 -1
  535. package/dist/wallet.server.js +2 -2
  536. package/package.json +5 -3
  537. package/src/builder/modes/ssr.rspack.dev.js +2 -0
  538. package/src/builder/rspack/rspack.config.ssr.client.js +58 -1
  539. package/src/builder/ssr/asset-resolver.js +1 -1
  540. package/src/builder/templates/page.js +2 -0
  541. package/src/components/Address/Address.vue +16 -16
  542. package/src/components/Button/Button.vue +0 -1
  543. package/src/components/ButtonSegmented/ButtonSegmented.vue +1 -1
  544. package/src/components/Calendar/Calendar.vue +141 -118
  545. package/src/components/Chart/Chart.vue +216 -0
  546. package/src/components/Checkbox/Checkbox.vue +1 -1
  547. package/src/components/Chips/Chips.vue +4 -5
  548. package/src/components/Countdown/Countdown.vue +5 -5
  549. package/src/components/DatePicker/DatePicker.vue +2 -2
  550. package/src/components/EditImages/EditImages.vue +3 -3
  551. package/src/components/EmptyState/EmptyState.vue +1 -1
  552. package/src/components/Feed/Feed.vue +5 -0
  553. package/src/components/Field/Field.vue +3 -3
  554. package/src/components/FieldDate/FieldDate.vue +2 -2
  555. package/src/components/LocationMarker/LocationMarker.vue +28 -21
  556. package/src/components/Map/Map.vue +20 -15
  557. package/src/components/Popup/Popup.vue +3 -3
  558. package/src/components/Radio/Radio.vue +2 -2
  559. package/src/components/Select/Select.vue +1 -1
  560. package/src/components/Status/Snack.vue +1 -1
  561. package/src/components/Status/Status.vue +1 -1
  562. package/src/components/Table/Table.vue +16 -1
  563. package/src/components/Upload/Upload.vue +1 -1
  564. package/src/components/UploadImage/UploadImage.vue +1 -1
  565. package/src/components/UploadImageMultiple/UploadImageMultiple.vue +1 -1
  566. package/src/jit/rules.js +4 -0
  567. package/src/modules/TASKS.MD +16 -3
  568. package/src/modules/auth/auth.client.js +18 -3
  569. package/src/modules/auth/controllers/routes/users.routes.js +18 -0
  570. package/src/modules/auth/controllers/services/auth.service.js +3 -3
  571. package/src/modules/auth/controllers/services/users.service.js +34 -5
  572. package/src/modules/auth/views/components/blocks/OtpDialog.vue +4 -4
  573. package/src/modules/auth/views/components/blocks/PopupAuth.vue +1 -1
  574. package/src/modules/auth/views/components/blocks/SidebarUserCard.vue +95 -0
  575. package/src/modules/auth/views/components/pages/BackofficeUsers.vue +337 -0
  576. package/src/modules/auth/views/components/pages/Invite.vue +1 -1
  577. package/src/modules/auth/views/components/pages/Profile.vue +1 -1
  578. package/src/modules/auth/views/components/pages/ProfileEdit.vue +23 -14
  579. package/src/modules/auth/views/components/pages/ProfileEditAccount.vue +45 -26
  580. package/src/modules/auth/views/components/pages/ProfileEditSidebar.vue +8 -7
  581. package/src/modules/auth/views/components/pages/ResetPassword.vue +4 -4
  582. package/src/modules/auth/views/components/pages/SignUp.vue +3 -3
  583. package/src/modules/auth/views/components/pages/UserDashboard.vue +8 -5
  584. package/src/modules/auth/views/components/sections/FeaturedUsers.vue +1 -1
  585. package/src/modules/auth/views/components/sections/SliderFeatures.vue +1 -1
  586. package/src/modules/auth/views/middlewares/auth.validation.js +7 -2
  587. package/src/modules/auth/views/router/users.backoffice.router.js +39 -0
  588. package/src/modules/auth/views/store/auth.js +2 -2
  589. package/src/modules/backoffice/components/admin/Backcalls.vue +2 -2
  590. package/src/modules/backoffice/components/admin/Dashboard.sublime-workspace +1 -1
  591. package/src/modules/backoffice/components/admin/FastOrders.vue +3 -3
  592. package/src/modules/backoffice/components/admin/UserEdit.vue +1 -1
  593. package/src/modules/backoffice/components/pages/Dashboard.vue +102 -139
  594. package/src/modules/backoffice/configs/navigation.backoffice.config.js +91 -29
  595. package/src/modules/backoffice/router/backoffice.router.js +7 -1
  596. package/src/modules/chats/components/blocks/ChatMessage.vue +1 -1
  597. package/src/modules/chats/components/sections/ChatWindow.vue +1 -1
  598. package/src/modules/community/community.client.js +4 -4
  599. package/src/modules/community/components/blocks/CardBlogpost.vue +1 -1
  600. package/src/modules/community/components/layouts/Community.vue +4 -4
  601. package/src/modules/community/components/sections/Comment.vue +1 -1
  602. package/src/modules/constructor/components/elements/ImageUpload.vue +1 -1
  603. package/src/modules/core/TASK.MD +2 -2
  604. package/src/modules/core/controllers/classes/abac/abac.core.js +1 -0
  605. package/src/modules/core/controllers/classes/core.websocket.js +0 -2
  606. package/src/modules/core/controllers/classes/crud/crud.core.js +6 -0
  607. package/src/modules/core/controllers/classes/crud/crud.service.js +6 -0
  608. package/src/modules/core/controllers/utils/mailing.js +35 -26
  609. package/src/modules/core/controllers/utils/queryProcessor.js +4 -2
  610. package/src/modules/core/core.client.js +1 -0
  611. package/src/modules/core/models/schemas/embedding.schema.js +8 -0
  612. package/src/modules/core/models/schemas/socials.schema.js +4 -0
  613. package/src/modules/core/sw.js +448 -0
  614. package/src/modules/core/views/classes/core.app.js +37 -13
  615. package/src/modules/core/views/classes/module.manager.js +3 -1
  616. package/src/modules/core/views/components/blocks/AlertDialog.vue +1 -1
  617. package/src/modules/core/views/components/blocks/BlockSearch.vue +1 -1
  618. package/src/modules/core/views/components/blocks/BlockSlider.vue +96 -0
  619. package/src/modules/core/views/components/blocks/CardHeader.vue +2 -2
  620. package/src/modules/core/views/components/blocks/CardStat.vue +4 -18
  621. package/src/modules/{auth → core}/views/components/blocks/CardUser.vue +45 -20
  622. package/src/modules/core/views/components/blocks/HelpCard.vue +1 -1
  623. package/src/modules/core/views/components/blocks/PopupAuth.vue +1 -1
  624. package/src/modules/core/views/components/blocks/PopupDateSelector.vue +41 -24
  625. package/src/modules/core/views/components/layouts/Client.vue +1 -1
  626. package/src/modules/core/views/components/pages/404.vue +5 -5
  627. package/src/modules/core/views/components/partials/BottomNavigationBar.vue +5 -5
  628. package/src/modules/core/views/components/partials/CitySelection.vue +2 -2
  629. package/src/modules/core/views/components/partials/Footer.centered.vue +2 -2
  630. package/src/modules/core/views/components/partials/Footer.vue +2 -2
  631. package/src/modules/core/views/components/partials/Header.vue +3 -3
  632. package/src/modules/core/views/components/partials/LocationSelection.vue +1 -1
  633. package/src/modules/core/views/components/partials/Navigation.vue +1 -1
  634. package/src/modules/core/views/components/sections/Filters.vue +2 -2
  635. package/src/modules/core/views/components/sections/SectionPageTitle.vue +2 -2
  636. package/src/modules/core/views/components/sections/Walkthrough.vue +6 -6
  637. package/src/modules/core/views/mixins/mixins.js +17 -0
  638. package/src/modules/core/views/plugins/date-picker.plugin.js +8 -5
  639. package/src/modules/core/views/store/core.store.js +5 -0
  640. package/src/modules/core/views/utils/vue-app-renderer.js +5 -0
  641. package/src/modules/events/components/pages/EditEventTickets.vue +9 -9
  642. package/src/modules/events/components/pages/Event.vue +2 -2
  643. package/src/modules/events/components/sections/EditTickets.vue +1 -1
  644. package/src/modules/events/components/sections/SelectDate.vue +1 -1
  645. package/src/modules/events/events.client.js +4 -4
  646. package/src/modules/gallery/components/sections/BackofficeGallery.vue +1 -1
  647. package/src/modules/gallery/router/gallery.router.js +3 -3
  648. package/src/modules/governance/middlewares/sprints.verifier.js +3 -3
  649. package/src/modules/governance/middlewares/tasks.verifier.js +3 -3
  650. package/src/modules/governance/models/sprint.model.js +1 -1
  651. package/src/modules/governance/models/task.model.js +1 -1
  652. package/src/modules/governance/reactcode/src/components/TaskStatusBadge.tsx +1 -1
  653. package/src/modules/governance/views/components/blocks/CardInitiativeItem.vue +3 -3
  654. package/src/modules/governance/views/components/blocks/CardSprintItem.vue +4 -4
  655. package/src/modules/governance/views/components/blocks/CardTaskItem.vue +2 -2
  656. package/src/modules/governance/views/components/blocks/CardVotingItem.vue +3 -3
  657. package/src/modules/governance/views/components/pages/Initiatives.vue +3 -3
  658. package/src/modules/governance/views/components/partials/TaskStatusBadge.vue +1 -1
  659. package/src/modules/governance/views/components/sections/FormSprintDetails.vue +1 -1
  660. package/src/modules/governance/views/components/sections/FormTaskDetails.vue +1 -1
  661. package/src/modules/governance/views/router/governance.router.js +3 -3
  662. package/src/modules/icons/components/IconSearchPopup.vue +1 -1
  663. package/src/modules/icons/entities/IconApplications.vue +14 -0
  664. package/src/modules/icons/entities/IconCustomers.vue +14 -0
  665. package/src/modules/icons/entities/IconUsers.vue +14 -0
  666. package/src/modules/inventory/components/forms/AdjustmentForm.vue +2 -2
  667. package/src/modules/inventory/components/forms/ColumnSettingsMenu.vue +2 -2
  668. package/src/modules/inventory/components/forms/HistoryView.vue +1 -1
  669. package/src/modules/inventory/components/forms/StockAlertsForm.vue +3 -3
  670. package/src/modules/inventory/components/pages/Inventory.vue +278 -159
  671. package/src/modules/inventory/components/pages/InventoryEdit.vue +2 -2
  672. package/src/modules/inventory/inventory.client.js +4 -4
  673. package/src/modules/inventory/models/stock.audit.model.js +1 -1
  674. package/src/modules/inventory/router/inventory.router.js +12 -0
  675. package/src/modules/landing/components/sections/SectionEarn.vue +3 -3
  676. package/src/modules/landing/components/sections/SectionFeature.vue +1 -1
  677. package/src/modules/landing/components/sections/SectionFeatures.vue +1 -1
  678. package/src/modules/landing/components/sections/SectionFeaturesImages.vue +2 -2
  679. package/src/modules/landing/components/sections/SectionGuide.vue +2 -2
  680. package/src/modules/landing/components/sections/SectionHeroToken.vue +1 -1
  681. package/src/modules/landing/components/sections/SectionHeroVideo.vue +1 -1
  682. package/src/modules/landing/components/sections/SectionMobileApp.vue +2 -2
  683. package/src/modules/landing/components/sections/SectionOverview.vue +1 -1
  684. package/src/modules/landing/components/sections/SectionRoadmap.vue +1 -1
  685. package/src/modules/landing/components/sections/SubscribeNewsletter.vue +1 -1
  686. package/src/modules/marketplace/views/components/sections/SectionMenu.vue +2 -2
  687. package/src/modules/music/components/SidebarMusic.vue +1 -1
  688. package/src/modules/music/components/cards/AlbumCard.vue +1 -1
  689. package/src/modules/music/components/cards/ArtistCard.vue +1 -1
  690. package/src/modules/music/components/cards/ArtistCardSmall.vue +1 -1
  691. package/src/modules/music/components/cards/PlaylistCard.vue +1 -1
  692. package/src/modules/music/components/cards/TrackListCard.vue +6 -6
  693. package/src/modules/music/components/forms/AlbumForm.vue +2 -2
  694. package/src/modules/music/components/forms/ArtistForm.vue +1 -1
  695. package/src/modules/music/components/forms/PlaylistForm.vue +5 -5
  696. package/src/modules/music/components/forms/TrackForm.vue +3 -3
  697. package/src/modules/music/components/pages/Album.vue +8 -8
  698. package/src/modules/music/components/pages/Artist.vue +5 -5
  699. package/src/modules/music/components/pages/Playlist.vue +11 -11
  700. package/src/modules/music/components/pages/SearchResults.vue +2 -2
  701. package/src/modules/music/components/pages/Track.vue +11 -11
  702. package/src/modules/music/components/player/FullscreenPlayer.vue +3 -3
  703. package/src/modules/music/components/player/TrackProgress.vue +1 -1
  704. package/src/modules/notifications/components/sections/NotificationPreferences.vue +182 -52
  705. package/src/modules/notifications/controllers/notifications.controller.js +242 -17
  706. package/src/modules/notifications/models/notification-preference.model.js +4 -0
  707. package/src/modules/notifications/notifications.client.js +213 -20
  708. package/src/modules/notifications/router/notifications.backoffice.router.js +16 -0
  709. package/src/modules/notifications/router/notifications.router.js +13 -45
  710. package/src/modules/notifications/routes/notifications.routes.js +9 -0
  711. package/src/modules/notifications/services/notification.service.js +33 -9
  712. package/src/modules/notifications/services/telegram.service.js +2 -2
  713. package/src/modules/notifications/services/web-push.service.js +6 -2
  714. package/src/modules/notifications/store/notifications.store.js +69 -0
  715. package/src/modules/orders/components/blocks/CardApplication.vue +9 -6
  716. package/src/modules/orders/components/blocks/CardCustomer.vue +10 -7
  717. package/src/modules/orders/components/blocks/CardOrder.vue +8 -8
  718. package/src/modules/orders/components/blocks/CardOrderBackoffice.vue +58 -12
  719. package/src/modules/orders/components/blocks/CardOrderItem.vue +31 -28
  720. package/src/modules/orders/components/blocks/CardOrderUser.vue +7 -12
  721. package/src/modules/orders/components/blocks/CardOrderVar1.vue +3 -3
  722. package/src/modules/orders/components/elements/FieldSubscribeNewsletter.vue +1 -1
  723. package/src/modules/orders/components/elements/PriceTotal.vue +4 -4
  724. package/src/modules/orders/components/forms/FormApplicationDetails.vue +1 -1
  725. package/src/modules/orders/components/forms/FormSelectCustomer.vue +48 -25
  726. package/src/modules/orders/components/pages/Applications.vue +2 -2
  727. package/src/modules/orders/components/pages/Customers.vue +35 -23
  728. package/src/modules/orders/components/pages/OrderBackoffice.vue +780 -393
  729. package/src/modules/orders/components/pages/OrderCreate.vue +5 -4
  730. package/src/modules/orders/components/pages/OrderCreateBackoffice.vue +112 -42
  731. package/src/modules/orders/components/pages/Orders.vue +20 -19
  732. package/src/modules/orders/components/pages/Orders_refact.vue +3 -3
  733. package/src/modules/orders/components/partials/ShopCart.vue +1 -1
  734. package/src/modules/orders/components/sections/ApplicationDetails.vue +2 -2
  735. package/src/modules/orders/components/sections/AskToLogin.vue +1 -1
  736. package/src/modules/orders/components/sections/CustomerDetails.vue +130 -64
  737. package/src/modules/orders/controllers/orders.controller.js +463 -134
  738. package/src/modules/orders/middlewares/applications.verifier.js +3 -3
  739. package/src/modules/orders/middlewares/customers.verifier.js +4 -0
  740. package/src/modules/orders/middlewares/orders.verifier.js +187 -0
  741. package/src/modules/orders/models/customer.model.js +2 -0
  742. package/src/modules/orders/models/order.model.js +20 -2
  743. package/src/modules/orders/orders.client.js +21 -19
  744. package/src/modules/orders/routes/applications.routes.js +13 -3
  745. package/src/modules/orders/routes/customers.routes.js +2 -0
  746. package/src/modules/orders/routes/orders.routes.js +46 -4
  747. package/src/modules/orders/store/orders.js +4 -7
  748. package/src/modules/orders/store/shopcart.js +6 -7
  749. package/src/modules/orders/utils/rent-price.js +90 -0
  750. package/src/modules/organizations/components/blocks/CardDepartment.vue +1 -1
  751. package/src/modules/organizations/components/blocks/CardOrganization.vue +30 -33
  752. package/src/modules/organizations/components/blocks/EmptyState.vue +1 -1
  753. package/src/modules/organizations/components/blocks/Rating.vue +1 -1
  754. package/src/modules/organizations/components/blocks/Socials.vue +2 -2
  755. package/src/modules/organizations/components/elements/ButtonToggleMembership.vue +1 -1
  756. package/src/modules/organizations/components/forms/AddExistingMembersForm.vue +3 -3
  757. package/src/modules/organizations/components/forms/DepartmentForm.vue +1 -1
  758. package/src/modules/organizations/components/forms/InviteForm.vue +1 -1
  759. package/src/modules/organizations/components/pages/Department.vue +2 -2
  760. package/src/modules/organizations/components/pages/DepartmentEdit.vue +1 -1
  761. package/src/modules/organizations/components/pages/Members.vue +8 -8
  762. package/src/modules/organizations/components/pages/Organization.vue +232 -124
  763. package/src/modules/organizations/components/pages/OrganizationCreate.vue +3 -3
  764. package/src/modules/organizations/components/pages/OrganizationDocuments.vue +1 -1
  765. package/src/modules/organizations/components/pages/OrganizationEdit.vue +15 -6
  766. package/src/modules/organizations/components/pages/Organizations.vue +3 -2
  767. package/src/modules/organizations/components/sections/Documents.vue +1 -1
  768. package/src/modules/organizations/components/sections/MembersAdd.vue +2 -2
  769. package/src/modules/organizations/configs/navigation.organization.config.js +34 -26
  770. package/src/modules/organizations/controllers/organizations.controller.js +8 -3
  771. package/src/modules/organizations/models/organization.model.js +1 -0
  772. package/src/modules/organizations/organizations.client.js +39 -33
  773. package/src/modules/organizations/router/organizations.backoffice.router.js +67 -0
  774. package/src/modules/pages/views/components/pages/Pages.vue +1 -1
  775. package/src/modules/pages/views/router/pages.router.js +2 -2
  776. package/src/modules/products/components/blocks/CardPosition.vue +2 -2
  777. package/src/modules/products/components/blocks/CardProduct.vue +2 -2
  778. package/src/modules/products/components/blocks/ProductDiscounts.vue +1 -1
  779. package/src/modules/products/components/blocks/ProductImages.vue +1 -1
  780. package/src/modules/products/components/blocks/ProductVariants.vue +3 -3
  781. package/src/modules/products/components/elements/Price.vue +2 -2
  782. package/src/modules/products/components/forms/ColumnSettingsMenu.vue +2 -2
  783. package/src/modules/products/components/forms/ReorderSettingsForm.vue +3 -3
  784. package/src/modules/products/components/forms/StockAuditForm.vue +2 -2
  785. package/src/modules/products/components/forms/StockHistoryView.vue +1 -1
  786. package/src/modules/products/components/pages/Categories.vue +9 -20
  787. package/src/modules/products/components/pages/ProductEdit.vue +19 -3
  788. package/src/modules/products/components/pages/Products.vue +20 -19
  789. package/src/modules/products/components/sections/EditAttributes.vue +1 -1
  790. package/src/modules/products/components/sections/EditCategories.vue +1 -1
  791. package/src/modules/products/components/sections/EditDiscounts.vue +2 -2
  792. package/src/modules/products/components/sections/EditVariants.vue +14 -2
  793. package/src/modules/products/components/sections/FilterProducts.vue +1 -1
  794. package/src/modules/products/components/sections/ProductConfigurator.vue +1 -1
  795. package/src/modules/products/components/sections/SectionProduct.vue +3 -3
  796. package/src/modules/products/controllers/products.controller.js +50 -5
  797. package/src/modules/products/experiments/product-recommendation/components/HeroRecommendation.vue +2 -2
  798. package/src/modules/products/models/product.model.js +7 -0
  799. package/src/modules/products/models/variant.model.js +4 -0
  800. package/src/modules/products/router/categories.router.js +2 -2
  801. package/src/modules/products/router/products.router.js +14 -3
  802. package/src/modules/rents/controllers/routes/rents.routes.js +11 -0
  803. package/src/modules/rents/controllers/services/rents.services.js +193 -2
  804. package/src/modules/rents/models/rent.model.js +9 -0
  805. package/src/modules/rents/views/components/pages/Gant/GanttBar.vue +28 -11
  806. package/src/modules/rents/views/components/pages/Gant/GanttChart.vue +200 -40
  807. package/src/modules/rents/views/components/pages/Gant/GanttHeaderCell.vue +2 -2
  808. package/src/modules/rents/views/components/pages/Gant/GanttToolbar.vue +2 -2
  809. package/src/modules/rents/views/components/pages/Rents.vue +641 -142
  810. package/src/modules/rents/views/components/pages/RentsEdit.vue +44 -4
  811. package/src/modules/rents/views/router/rents.router.js +3 -3
  812. package/src/modules/rents/views/store/rents.store.js +1 -1
  813. package/src/modules/reports/components/pages/BackofficeReports.vue +3 -3
  814. package/src/modules/reports/router/reports.router.js +1 -1
  815. package/src/modules/spots/components/blocks/CardSpot.vue +6 -6
  816. package/src/modules/spots/components/pages/Spot.vue +2 -2
  817. package/src/modules/spots/components/pages/SpotEdit.vue +8 -6
  818. package/src/modules/spots/components/pages/Spots.vue +18 -24
  819. package/src/modules/spots/components/sections/WorktimeEdit.vue +7 -7
  820. package/src/modules/spots/router/spots.router.js +3 -3
  821. package/src/modules/wallet/views/components/blocks/CashDeposit.vue +1 -1
  822. package/src/modules/wallet/views/components/elements/ConnectMetamask.vue +3 -3
  823. package/src/modules/wallet/views/components/pages/Payments.vue +1 -1
  824. package/src/modules/wallet/views/components/pages/Wallet.vue +4 -4
  825. package/src/modules/wallet/views/router/wallet.router.js +1 -1
  826. package/src/styles/layout.scss +1 -1
  827. package/dist/martyrs/src/components/EditImages/EditImages.vue2.js.map +0 -1
  828. package/dist/martyrs/src/components/Tooltip/Tooltip.vue2.js.map +0 -1
  829. package/dist/martyrs/src/modules/icons/entities/IconCash.vue.js +0 -70
  830. package/dist/martyrs/src/modules/icons/entities/IconCash.vue.js.map +0 -1
  831. package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@1.16.8/node_modules/@googlemaps/js-api-loader/dist/index.js +0 -336
  832. package/dist/node_modules/.pnpm/@googlemaps_js-api-loader@1.16.8/node_modules/@googlemaps/js-api-loader/dist/index.js.map +0 -1
  833. package/dist/node_modules/.pnpm/vue-draggable-next@2.2.1_sortablejs@1.15.6_vue@3.5.13_typescript@5.8.3_/node_modules/vue-draggable-next/dist/vue-draggable-next.esm-bundler.js.map +0 -1
@@ -8,44 +8,26 @@ const _hoisted_2 = {
8
8
  };
9
9
  const _hoisted_3 = { class: "pd-thin flex flex-nowrap flex-v-center flex-justify-between" };
10
10
  const _hoisted_4 = ["disabled"];
11
- const _hoisted_5 = {
12
- class: "i-regular",
13
- xmlns: "http://www.w3.org/2000/svg",
14
- width: "12",
15
- height: "20",
16
- viewBox: "0 0 12 20",
17
- fill: "none"
18
- };
19
- const _hoisted_6 = ["fill"];
20
- const _hoisted_7 = { class: "fw-semi" };
21
- const _hoisted_8 = {
22
- class: "i-regular",
23
- xmlns: "http://www.w3.org/2000/svg",
24
- width: "11",
25
- height: "20",
26
- viewBox: "0 0 11 20",
27
- fill: "none"
28
- };
29
- const _hoisted_9 = ["fill"];
30
- const _hoisted_10 = { class: "pd-thin calendar__body" };
31
- const _hoisted_11 = { class: "calendar__week" };
32
- const _hoisted_12 = { class: "gap-micro calendar__dates" };
33
- const _hoisted_13 = ["onClick"];
34
- const _hoisted_14 = {
11
+ const _hoisted_5 = { class: "fw-semi" };
12
+ const _hoisted_6 = { class: "pd-thin calendar__body" };
13
+ const _hoisted_7 = { class: "calendar__week" };
14
+ const _hoisted_8 = { class: "gap-micro calendar__dates" };
15
+ const _hoisted_9 = ["onClick"];
16
+ const _hoisted_10 = {
35
17
  key: 0,
36
18
  class: "availability-indicator"
37
19
  };
38
- const _hoisted_15 = {
20
+ const _hoisted_11 = {
39
21
  key: 1,
40
- class: "pd-thin br-t-1px br-grey-transp-25 flex gap-thin"
22
+ class: "pd-thin br-t-1px br-grey-transp-25 flex gap-thin flex-v-center"
41
23
  };
42
- const _hoisted_16 = ["value", "min"];
43
- const _hoisted_17 = ["value", "min"];
44
- const _hoisted_18 = {
24
+ const _hoisted_12 = ["value"];
25
+ const _hoisted_13 = ["value"];
26
+ const _hoisted_14 = {
45
27
  key: 2,
46
28
  class: "pd-thin br-t-1px br-grey-transp-25 flex flex-v-center gap-thin"
47
29
  };
48
- const _hoisted_19 = { class: "flex-child-1" };
30
+ const _hoisted_15 = { class: "flex-child-1" };
49
31
  const _sfc_main = {
50
32
  __name: "Calendar",
51
33
  props: /* @__PURE__ */ mergeModels({
@@ -265,7 +247,11 @@ const _sfc_main = {
265
247
  }
266
248
  }
267
249
  selectedDate.value = formattedDate;
268
- dateCalendar.value = formattedDate;
250
+ if (props.enableTime) {
251
+ emitTimeRange();
252
+ } else {
253
+ dateCalendar.value = formattedDate;
254
+ }
269
255
  } else if (!startDate.value && !endDate.value) {
270
256
  startDate.value = formattedDate;
271
257
  dateCalendar.value = { start: formattedDate, end: null };
@@ -325,9 +311,9 @@ const _sfc_main = {
325
311
  ));
326
312
  };
327
313
  const selectToday = () => {
328
- const today2 = /* @__PURE__ */ new Date();
329
- const todayStart = new Date(Date.UTC(today2.getUTCFullYear(), today2.getUTCMonth(), today2.getUTCDate(), 0, 0, 0, 0));
330
- const todayEnd = new Date(Date.UTC(today2.getUTCFullYear(), today2.getUTCMonth(), today2.getUTCDate(), 23, 59, 59, 999));
314
+ const now = /* @__PURE__ */ new Date();
315
+ const todayStart = toUTC(now);
316
+ const todayEnd = toEndOfDayUTC(now);
331
317
  if (props.disablePastDates || isAvailable(todayStart)) {
332
318
  startDate.value = todayStart.toISOString();
333
319
  endDate.value = todayEnd.toISOString();
@@ -335,29 +321,23 @@ const _sfc_main = {
335
321
  }
336
322
  };
337
323
  const selectLastWeek = () => {
338
- const today2 = /* @__PURE__ */ new Date();
339
- const lastWeek = new Date(today2);
340
- lastWeek.setUTCDate(today2.getUTCDate() - 7);
341
- lastWeek.setUTCHours(0, 0, 0, 0);
342
324
  if (props.disablePastDates) return;
343
- startDate.value = lastWeek;
344
- endDate.value = toEndOfDayUTC(today2);
345
- today2.setUTCHours(23, 59, 59, 999);
346
- const start = lastWeek.toISOString();
347
- const end = today2.toISOString();
325
+ const now = /* @__PURE__ */ new Date();
326
+ const weekAgo = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 6);
327
+ const start = toUTC(weekAgo).toISOString();
328
+ const end = toEndOfDayUTC(now).toISOString();
329
+ startDate.value = start;
330
+ endDate.value = end;
348
331
  dateCalendar.value = { start, end };
349
332
  };
350
333
  const selectLastMonth = () => {
351
- const today2 = /* @__PURE__ */ new Date();
352
334
  if (props.disablePastDates) return;
353
- const lastMonth = new Date(today2);
354
- lastMonth.setUTCMonth(today2.getUTCMonth() - 1);
355
- lastMonth.setUTCHours(0, 0, 0, 0);
356
- startDate.value = lastMonth;
357
- endDate.value = toEndOfDayUTC(today2);
358
- today2.setUTCHours(23, 59, 59, 999);
359
- const start = lastMonth.toISOString();
360
- const end = today2.toISOString();
335
+ const now = /* @__PURE__ */ new Date();
336
+ const monthAgo = new Date(now.getFullYear(), now.getMonth() - 1, now.getDate());
337
+ const start = toUTC(monthAgo).toISOString();
338
+ const end = toEndOfDayUTC(now).toISOString();
339
+ startDate.value = start;
340
+ endDate.value = end;
361
341
  dateCalendar.value = { start, end };
362
342
  };
363
343
  const selectLastYear = () => {
@@ -366,62 +346,80 @@ const _sfc_main = {
366
346
  endDate.value = null;
367
347
  dateCalendar.value = { start: null, end: null };
368
348
  };
369
- const displayHours = computed(() => {
370
- if (!props.enableTime) return 0;
371
- if (selectedDate.value) {
372
- return selectedDate.value.getHours();
373
- }
374
- return (/* @__PURE__ */ new Date()).getHours();
375
- });
376
- const displayMinutes = computed(() => {
377
- if (!props.enableTime) return 0;
378
- if (selectedDate.value) {
379
- return selectedDate.value.getMinutes();
380
- }
381
- return (/* @__PURE__ */ new Date()).getMinutes();
382
- });
383
- const minHours = computed(() => {
384
- if (!props.disablePastDates) return 0;
385
- if (selectedDate.value && isToday(selectedDate.value)) {
386
- return (/* @__PURE__ */ new Date()).getHours();
387
- }
388
- return 0;
389
- });
390
- const minMinutes = computed(() => {
391
- if (!props.disablePastDates) return 0;
392
- if (selectedDate.value && isToday(selectedDate.value)) {
393
- const currentHour = (/* @__PURE__ */ new Date()).getHours();
394
- if (displayHours.value === currentHour) {
395
- return (/* @__PURE__ */ new Date()).getMinutes();
396
- }
397
- }
398
- return 0;
399
- });
400
- const updateTime = (hours, minutes) => {
349
+ const timeStart = ref({ h: 0, m: 0 });
350
+ const timeEnd = ref({ h: 23, m: 59 });
351
+ const clampTime = (h, m) => {
352
+ h = Math.max(0, Math.min(23, parseInt(h) || 0));
353
+ m = Math.max(0, Math.min(59, parseInt(m) || 0));
354
+ return { h, m };
355
+ };
356
+ const enforceMinTime = (h, m) => {
357
+ if (!props.disablePastDates || !selectedDate.value || !isToday(selectedDate.value)) return { h, m };
358
+ const now = /* @__PURE__ */ new Date();
359
+ const ch = now.getHours(), cm = now.getMinutes();
360
+ if (h < ch || h === ch && m < cm) return { h: ch, m: cm };
361
+ return { h, m };
362
+ };
363
+ const updateTimeStart = (h, m) => {
401
364
  if (!props.enableTime || !selectedDate.value) return;
402
- hours = parseInt(hours) || 0;
403
- minutes = parseInt(minutes) || 0;
404
- if (hours < 0) hours = 0;
405
- if (hours > 23) hours = 23;
406
- if (minutes < 0) minutes = 0;
407
- if (minutes > 59) minutes = 59;
408
- if (props.disablePastDates && isToday(selectedDate.value)) {
409
- const now = /* @__PURE__ */ new Date();
410
- const currentHour = now.getHours();
411
- const currentMinute = now.getMinutes();
412
- if (hours < currentHour || hours === currentHour && minutes < currentMinute) {
413
- hours = currentHour;
414
- minutes = currentMinute;
415
- }
365
+ const clamped = clampTime(h, m);
366
+ const safe = enforceMinTime(clamped.h, clamped.m);
367
+ timeStart.value = safe;
368
+ if (timeEnd.value.h < safe.h || timeEnd.value.h === safe.h && timeEnd.value.m < safe.m) {
369
+ timeEnd.value = { h: safe.h, m: safe.m };
416
370
  }
417
- const newDate = new Date(selectedDate.value);
418
- newDate.setHours(hours, minutes, 0, 0);
419
- if (isDateTimeInDisabledRange(newDate)) {
420
- return;
371
+ emitTimeRange();
372
+ };
373
+ const updateTimeEnd = (h, m) => {
374
+ if (!props.enableTime || !selectedDate.value) return;
375
+ const clamped = clampTime(h, m);
376
+ if (clamped.h < timeStart.value.h || clamped.h === timeStart.value.h && clamped.m < timeStart.value.m) {
377
+ timeEnd.value = { h: timeStart.value.h, m: timeStart.value.m };
378
+ } else {
379
+ timeEnd.value = clamped;
421
380
  }
422
- selectedDate.value = newDate;
423
- dateCalendar.value = newDate;
381
+ emitTimeRange();
382
+ };
383
+ const pad = (n) => String(n).padStart(2, "0");
384
+ const timeFormatted = computed(() => ({
385
+ start: `${pad(timeStart.value.h)}:${pad(timeStart.value.m)}`,
386
+ end: `${pad(timeEnd.value.h)}:${pad(timeEnd.value.m)}`
387
+ }));
388
+ const onTimeInput = (which, value) => {
389
+ if (!value) return;
390
+ const [h, m] = value.split(":").map(Number);
391
+ if (which === "start") updateTimeStart(h, m);
392
+ else updateTimeEnd(h, m);
424
393
  };
394
+ const emitTimeRange = () => {
395
+ if (!selectedDate.value) return;
396
+ const base = new Date(selectedDate.value);
397
+ const s = new Date(base);
398
+ s.setHours(timeStart.value.h, timeStart.value.m, 0, 0);
399
+ const e = new Date(base);
400
+ e.setHours(timeEnd.value.h, timeEnd.value.m, 0, 0);
401
+ dateCalendar.value = { start: s, end: e };
402
+ };
403
+ if (dateCalendar.value) {
404
+ const val = dateCalendar.value;
405
+ if (val instanceof Date) {
406
+ selectedDate.value = val;
407
+ currentDate.value = new Date(Date.UTC(val.getFullYear(), val.getMonth(), 1));
408
+ } else if (val && val.start) {
409
+ const s = new Date(val.start);
410
+ startDate.value = s;
411
+ endDate.value = val.end ? new Date(val.end) : null;
412
+ if (props.enableTime) {
413
+ selectedDate.value = toUTC(s);
414
+ timeStart.value = { h: s.getHours(), m: s.getMinutes() };
415
+ if (val.end) {
416
+ const e = new Date(val.end);
417
+ timeEnd.value = { h: e.getHours(), m: e.getMinutes() };
418
+ }
419
+ }
420
+ currentDate.value = new Date(Date.UTC(s.getFullYear(), s.getMonth(), 1));
421
+ }
422
+ }
425
423
  const formattedSelectedDate = computed(() => {
426
424
  const date = selectedDate.value || (props.allowRange ? startDate.value : null);
427
425
  if (!date) return "";
@@ -471,29 +469,43 @@ const _sfc_main = {
471
469
  onClick: withModifiers(prevMonth, ["stop"]),
472
470
  class: "aspect-1x1 pd-thin bg-white radius-extra",
473
471
  disabled: isPrevMonthDisabled.value
474
- }, [
475
- (openBlock(), createElementBlock("svg", _hoisted_5, [
472
+ }, _cache[2] || (_cache[2] = [
473
+ createElementVNode("svg", {
474
+ class: "i-regular",
475
+ xmlns: "http://www.w3.org/2000/svg",
476
+ width: "12",
477
+ height: "20",
478
+ viewBox: "0 0 12 20",
479
+ fill: "none"
480
+ }, [
476
481
  createElementVNode("path", {
477
482
  d: "M0.610352 10.0068C0.615885 9.81315 0.654622 9.63607 0.726562 9.47559C0.798503 9.3151 0.90918 9.16016 1.05859 9.01074L9.37598 0.958984C9.61393 0.721029 9.90723 0.602051 10.2559 0.602051C10.4883 0.602051 10.6986 0.657389 10.8867 0.768066C11.0804 0.878743 11.2326 1.02816 11.3433 1.21631C11.4595 1.40446 11.5176 1.61475 11.5176 1.84717C11.5176 2.19027 11.3875 2.49186 11.1274 2.75195L3.60693 9.99854L11.1274 17.2534C11.3875 17.519 11.5176 17.8206 11.5176 18.1582C11.5176 18.3962 11.4595 18.6092 11.3433 18.7974C11.2326 18.9855 11.0804 19.1349 10.8867 19.2456C10.6986 19.3618 10.4883 19.4199 10.2559 19.4199C9.90723 19.4199 9.61393 19.2982 9.37598 19.0547L1.05859 11.0029C0.903646 10.8535 0.790202 10.6986 0.718262 10.5381C0.646322 10.3721 0.610352 10.195 0.610352 10.0068Z",
478
- fill: isPrevMonthDisabled.value ? "#303030" : "#007AFF"
479
- }, null, 8, _hoisted_6)
480
- ]))
481
- ], 8, _hoisted_4),
482
- createElementVNode("span", _hoisted_7, toDisplayString(monthYear.value), 1),
483
+ fill: "currentColor"
484
+ })
485
+ ], -1)
486
+ ]), 8, _hoisted_4),
487
+ createElementVNode("span", _hoisted_5, toDisplayString(monthYear.value), 1),
483
488
  createElementVNode("button", {
484
489
  onClick: withModifiers(nextMonth, ["stop"]),
485
490
  class: "aspect-1x1 pd-thin bg-white radius-extra"
486
- }, [
487
- (openBlock(), createElementBlock("svg", _hoisted_8, [
491
+ }, _cache[3] || (_cache[3] = [
492
+ createElementVNode("svg", {
493
+ class: "i-regular",
494
+ xmlns: "http://www.w3.org/2000/svg",
495
+ width: "11",
496
+ height: "20",
497
+ viewBox: "0 0 11 20",
498
+ fill: "none"
499
+ }, [
488
500
  createElementVNode("path", {
489
501
  d: "M10.9072 10.0151C10.9017 10.2088 10.863 10.3859 10.791 10.5464C10.7191 10.7069 10.6084 10.8618 10.459 11.0112L2.1416 19.063C1.90365 19.3009 1.61035 19.4199 1.26172 19.4199C1.0293 19.4199 0.81901 19.3646 0.630859 19.2539C0.437175 19.1432 0.284994 18.9938 0.174316 18.8057C0.0581055 18.6175 8.85326e-08 18.4072 1.08852e-07 18.1748C1.38846e-07 17.8317 0.130046 17.5301 0.390137 17.27L7.91065 10.0234L0.390138 2.76855C0.130047 2.50293 1.5053e-06 2.20133 1.53481e-06 1.86377C1.55561e-06 1.62581 0.058107 1.41276 0.174318 1.22461C0.284995 1.03646 0.437176 0.887043 0.630861 0.776366C0.819012 0.660155 1.0293 0.60205 1.26172 0.60205C1.61035 0.60205 1.90365 0.723795 2.1416 0.967284L10.459 9.01904C10.6139 9.16846 10.7274 9.3234 10.7993 9.48389C10.8713 9.6499 10.9072 9.82699 10.9072 10.0151Z",
490
- fill: isPrevMonthDisabled.value ? "#303030" : "#007AFF"
491
- }, null, 8, _hoisted_9)
492
- ]))
493
- ])
502
+ fill: "currentColor"
503
+ })
504
+ ], -1)
505
+ ]))
494
506
  ]),
495
- createElementVNode("div", _hoisted_10, [
496
- createElementVNode("div", _hoisted_11, [
507
+ createElementVNode("div", _hoisted_6, [
508
+ createElementVNode("div", _hoisted_7, [
497
509
  (openBlock(), createElementBlock(Fragment, null, renderList(daysOfWeek, (day, index) => {
498
510
  return createElementVNode("div", {
499
511
  key: index,
@@ -501,7 +513,7 @@ const _sfc_main = {
501
513
  }, toDisplayString(day), 1);
502
514
  }), 64))
503
515
  ]),
504
- createElementVNode("div", _hoisted_12, [
516
+ createElementVNode("div", _hoisted_8, [
505
517
  (openBlock(true), createElementBlock(Fragment, null, renderList(daysInMonth.value, (day) => {
506
518
  return openBlock(), createElementBlock("div", {
507
519
  key: day.date,
@@ -518,34 +530,29 @@ const _sfc_main = {
518
530
  onClick: withModifiers(($event) => selectDate(day.date, $event), ["stop"])
519
531
  }, [
520
532
  createTextVNode(toDisplayString(day.day) + " ", 1),
521
- __props.showAvailability && getAvailability(day.date) ? (openBlock(), createElementBlock("span", _hoisted_14, toDisplayString(getAvailability(day.date)), 1)) : createCommentVNode("", true)
522
- ], 10, _hoisted_13);
533
+ __props.showAvailability && getAvailability(day.date) ? (openBlock(), createElementBlock("span", _hoisted_10, toDisplayString(getAvailability(day.date)), 1)) : createCommentVNode("", true)
534
+ ], 10, _hoisted_9);
523
535
  }), 128))
524
536
  ])
525
537
  ]),
526
- __props.enableTime ? (openBlock(), createElementBlock("div", _hoisted_15, [
538
+ __props.enableTime ? (openBlock(), createElementBlock("div", _hoisted_11, [
527
539
  createElementVNode("input", {
528
- type: "number",
529
- value: displayHours.value,
530
- onInput: _cache[0] || (_cache[0] = ($event) => updateTime($event.target.value, displayMinutes.value)),
531
- min: minHours.value,
532
- max: "23",
533
- class: "w-50 pd-small radius-small",
534
- placeholder: "HH"
535
- }, null, 40, _hoisted_16),
540
+ type: "time",
541
+ value: timeFormatted.value.start,
542
+ onInput: _cache[0] || (_cache[0] = ($event) => onTimeInput("start", $event.target.value)),
543
+ class: "flex-child-1 pd-small radius-small bg-white calendar__time-input"
544
+ }, null, 40, _hoisted_12),
545
+ _cache[4] || (_cache[4] = createElementVNode("span", { class: "opacity-50" }, "—", -1)),
536
546
  createElementVNode("input", {
537
- type: "number",
538
- value: displayMinutes.value,
539
- onInput: _cache[1] || (_cache[1] = ($event) => updateTime(displayHours.value, $event.target.value)),
540
- min: minMinutes.value,
541
- max: "59",
542
- class: "w-50 pd-small radius-small",
543
- placeholder: "MM"
544
- }, null, 40, _hoisted_17)
547
+ type: "time",
548
+ value: timeFormatted.value.end,
549
+ onInput: _cache[1] || (_cache[1] = ($event) => onTimeInput("end", $event.target.value)),
550
+ class: "flex-child-1 pd-small radius-small bg-white calendar__time-input"
551
+ }, null, 40, _hoisted_13)
545
552
  ])) : createCommentVNode("", true),
546
- __props.showSelected ? (openBlock(), createElementBlock("div", _hoisted_18, [
547
- _cache[2] || (_cache[2] = createElementVNode("span", { class: "t-transp" }, "selected:", -1)),
548
- createElementVNode("span", _hoisted_19, toDisplayString(formattedSelectedDate.value || "---"), 1),
553
+ __props.showSelected ? (openBlock(), createElementBlock("div", _hoisted_14, [
554
+ _cache[5] || (_cache[5] = createElementVNode("span", { class: "opacity-50" }, "selected:", -1)),
555
+ createElementVNode("span", _hoisted_15, toDisplayString(formattedSelectedDate.value || "---"), 1),
549
556
  createElementVNode("button", {
550
557
  onClick: onCancel,
551
558
  class: "pd-small radius-small bg-white"
@@ -564,7 +571,7 @@ const _sfc_main = {
564
571
  };
565
572
  }
566
573
  };
567
- const Calendar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7c705e8c"]]);
574
+ const Calendar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-e4120a5c"]]);
568
575
  export {
569
576
  Calendar as default
570
577
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Calendar.vue2.js","sources":["../../../../../src/components/Calendar/Calendar.vue"],"sourcesContent":["<script setup>\n import { computed, ref, watch } from 'vue'\n\n const props = defineProps({\n modelValue: [Date, Object],\n allowRange: Boolean,\n disabled: Boolean,\n enableTime: {\n type: Boolean,\n default: false\n },\n disablePastDates: {\n type: Boolean,\n default: false\n },\n disabledRanges: {\n type: Array,\n default: () => []\n },\n availabilityData: {\n type: Array,\n default: () => []\n },\n showAvailability: {\n type: Boolean,\n default: false\n },\n lowAvailabilityThreshold: {\n type: Number,\n default: 3\n },\n requiredQuantity: {\n type: Number,\n default: 1\n },\n locale: {\n type: String,\n default: 'en'\n },\n showSelected: {\n type: Boolean,\n default: false\n }\n })\n\n const emit = defineEmits(['update:modelValue', 'select', 'cancel'])\n\n const dateCalendar = defineModel('date')\n\n const today = new Date()\n const currentDate = ref(today)\n const selectedDate = ref(null)\n const startDate = ref(null)\n const endDate = ref(null)\n const tooltip = ref({ show: false, message: '', x: 0, y: 0 })\n\n const daysOfWeek = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n\n // Watch for availability data updates\n watch(() => props.availabilityData, (newData) => {\n // You could perform additional processing when availability data changes\n }, { deep: true })\n\n const toUTC = (date) => {\n return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n }\n\n const toEndOfDayUTC = (date) => {\n const endOfDay = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59));\n return endOfDay;\n }\n\n const dateToString = (date) => {\n return date.toISOString().split('T')[0];\n }\n\n const monthYear = computed(() => {\n const month = currentDate.value.toLocaleString(props.locale, { month: 'long', timeZone: 'UTC' })\n const year = currentDate.value.getUTCFullYear()\n return `${month} ${year}`\n })\n\n const isPrevMonthDisabled = computed(() => {\n if (!props.disablePastDates) return false;\n \n // Check if current view month is the current month\n return currentDate.value.getUTCMonth() === today.getUTCMonth() && \n currentDate.value.getUTCFullYear() === today.getUTCFullYear();\n })\n\n const daysInMonth = computed(() => {\n const days = []\n const firstDay = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth(),\n 1\n ))\n const lastDay = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth() + 1,\n 0\n ))\n\n const firstDayOfWeek = firstDay.getUTCDay()\n\n let date = new Date(firstDay)\n\n date.setUTCDate(date.getUTCDate() - firstDayOfWeek)\n\n for (let i = 0; i < firstDayOfWeek; i++) {\n days.push({\n date: new Date(date),\n day: date.getUTCDate(),\n isToday: isToday(date),\n })\n date.setUTCDate(date.getUTCDate() + 1)\n }\n\n let day = 1\n\n for (date = firstDay; date <= lastDay; date.setUTCDate(date.getUTCDate() + 1)) {\n days.push({\n date: new Date(date),\n day,\n isToday: isToday(date),\n })\n day++\n }\n\n const lastDayOfWeek = days[days.length - 1].date.getUTCDay()\n\n for (let i = lastDayOfWeek + 1; i <= 6; i++) {\n days.push({\n date: new Date(date),\n day: date.getUTCDate(),\n isToday: isToday(date),\n })\n date.setUTCDate(date.getUTCDate() + 1)\n }\n\n return days\n })\n\n const isToday = (date) => {\n const today = new Date()\n return (\n date.getUTCDate() === today.getUTCDate() &&\n date.getUTCMonth() === today.getUTCMonth() &&\n date.getUTCFullYear() === today.getUTCFullYear()\n )\n }\n\n const isSameMonth = (date) => {\n return (\n date.getUTCMonth() === currentDate.value.getUTCMonth() &&\n date.getUTCFullYear() === currentDate.value.getUTCFullYear()\n )\n }\n\n const isPastDate = (date) => {\n if (!props.disablePastDates) return false;\n\n const now = new Date();\n // Compare only dates without time\n const todayDate = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate()));\n const compareDate = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()));\n\n return compareDate < todayDate;\n }\n\n const isDateTimeInDisabledRange = (date) => {\n if (!props.disabledRanges || props.disabledRanges.length === 0) return false;\n\n const checkDate = new Date(date);\n\n for (const range of props.disabledRanges) {\n if (!range.start || !range.end) continue;\n\n const rangeStart = new Date(range.start);\n const rangeEnd = new Date(range.end);\n\n if (checkDate >= rangeStart && checkDate <= rangeEnd) {\n return true;\n }\n }\n\n return false;\n }\n\n const isDisabledDate = (date) => {\n return isDateTimeInDisabledRange(date);\n }\n\n const getAvailabilityInfo = (date) => {\n if (!props.availabilityData || props.availabilityData.length === 0) return null;\n \n const dateStr = dateToString(date);\n return props.availabilityData.find(item => item.date === dateStr);\n }\n\n const isAvailable = (date) => {\n if (!props.availabilityData || props.availabilityData.length === 0) return true;\n \n const availabilityInfo = getAvailabilityInfo(date);\n return !availabilityInfo || availabilityInfo.availableQuantity > 0;\n }\n\n const isLowAvailability = (date) => {\n if (!props.availabilityData || props.availabilityData.length === 0) return false;\n \n const availabilityInfo = getAvailabilityInfo(date);\n return availabilityInfo && \n availabilityInfo.availableQuantity > 0 && \n availabilityInfo.availableQuantity <= props.lowAvailabilityThreshold;\n }\n\n const getAvailability = (date) => {\n if (!props.showAvailability) return null;\n \n const availabilityInfo = getAvailabilityInfo(date);\n return availabilityInfo ? availabilityInfo.availableQuantity : null;\n }\n\n const isSelected = (date) => {\n if (props.allowRange) {\n if (startDate.value && endDate.value) {\n return date >= new Date(startDate.value) && toEndOfDayUTC(date) <= new Date(endDate.value);\n } else if (startDate.value) {\n return date.getTime() === new Date(startDate.value).getTime();\n }\n } else {\n return selectedDate.value && date.getTime() === new Date(selectedDate.value).getTime();\n }\n }\n\n const isInRange = (date) => {\n if (startDate.value && endDate.value) {\n return date > startDate.value && toEndOfDayUTC(date) < endDate.value\n }\n return false\n }\n\n const selectDate = (date, event) => {\n // Don't allow selection of past dates, disabled dates or unavailable dates\n if (props.disablePastDates && isPastDate(date)) return;\n if (isDisabledDate(date)) return;\n if (!isAvailable(date)) return;\n \n // Check if date has sufficient quantity for required amount\n const availabilityInfo = getAvailabilityInfo(date);\n if (availabilityInfo && availabilityInfo.availableQuantity < props.requiredQuantity) {\n // Show tooltip with insufficient quantity message\n if (event) {\n tooltip.value = {\n show: true,\n message: `Insufficient quantity. Available: ${availabilityInfo.availableQuantity}, needed: ${props.requiredQuantity}`,\n x: event.clientX,\n y: event.clientY\n };\n setTimeout(() => {\n tooltip.value.show = false;\n }, 3000);\n }\n return;\n }\n \n // Hide tooltip if it was showing\n tooltip.value.show = false;\n \n // If selecting a date from another month, switch to that month\n if (!isSameMonth(date)) {\n // currentDate.value = new Date(Date.UTC(\n // date.getUTCFullYear(),\n // date.getUTCMonth(),\n // 1\n // ));\n }\n \n const formattedDate = toUTC(date)\n\n if (!props.allowRange) {\n // If same date is clicked and time is enabled, don't change anything\n // This allows user to modify only time without reselecting date\n if (props.enableTime && selectedDate.value) {\n const existingDate = new Date(selectedDate.value);\n if (existingDate.getFullYear() === date.getFullYear() &&\n existingDate.getMonth() === date.getMonth() &&\n existingDate.getDate() === date.getDate()) {\n return;\n }\n }\n selectedDate.value = formattedDate\n dateCalendar.value = formattedDate\n } else if (!startDate.value && !endDate.value) {\n startDate.value = formattedDate\n dateCalendar.value = { start: formattedDate, end: null }\n } else if (!endDate.value) {\n endDate.value = toEndOfDayUTC(date)\n if (formattedDate < startDate.value) {\n const temp = toEndOfDayUTC(startDate.value)\n startDate.value = formattedDate\n endDate.value = temp\n }\n // Verify all dates in the range are available\n if (props.availabilityData && props.availabilityData.length > 0) {\n let allDatesAvailable = true;\n let currentDate = new Date(startDate.value);\n \n while (currentDate <= endDate.value) {\n if (!isAvailable(currentDate)) {\n allDatesAvailable = false;\n break;\n }\n currentDate.setUTCDate(currentDate.getUTCDate() + 1);\n }\n if (!allDatesAvailable) {\n // Instead of resetting the end date, start a new range\n startDate.value = formattedDate\n endDate.value = null\n dateCalendar.value = { start: formattedDate, end: null }\n return;\n }\n }\n dateCalendar.value = { start: startDate.value, end: endDate.value }\n } else {\n startDate.value = formattedDate\n endDate.value = null\n dateCalendar.value = { start: formattedDate, end: null }\n }\n }\n\n const prevMonth = () => {\n // Prevent navigating to past months if disablePastDates is true\n if (props.disablePastDates) {\n const newDate = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth() - 1,\n 1\n ));\n \n if (newDate.getUTCFullYear() < today.getUTCFullYear() || \n (newDate.getUTCFullYear() === today.getUTCFullYear() && \n newDate.getUTCMonth() < today.getUTCMonth())) {\n return;\n }\n }\n \n currentDate.value = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth() - 1,\n 1\n ));\n }\n\n const nextMonth = () => {\n currentDate.value = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth() + 1,\n 1\n ))\n }\n\n const selectToday = () => {\n const today = new Date(); \n const todayStart = new Date(Date.UTC(today.getUTCFullYear(), today.getUTCMonth(), today.getUTCDate(), 0, 0, 0, 0)); \n const todayEnd = new Date(Date.UTC(today.getUTCFullYear(), today.getUTCMonth(), today.getUTCDate(), 23, 59, 59, 999)); \n\n // Check if today is available\n if (props.disablePastDates || isAvailable(todayStart)) {\n startDate.value = todayStart.toISOString();\n endDate.value = todayEnd.toISOString();\n dateCalendar.value = { start: startDate.value, end: endDate.value };\n }\n }\n\n const selectLastWeek = () => {\n const today = new Date();\n const lastWeek = new Date(today);\n lastWeek.setUTCDate(today.getUTCDate() - 7);\n lastWeek.setUTCHours(0, 0, 0, 0);\n\n // Skip if disablePastDates is true\n if (props.disablePastDates) return;\n\n startDate.value = lastWeek;\n endDate.value = toEndOfDayUTC(today);\n \n today.setUTCHours(23, 59, 59, 999);\n\n const start = lastWeek.toISOString();\n const end = today.toISOString();\n \n dateCalendar.value = { start: start, end: end };\n }\n\n const selectLastMonth = () => {\n const today = new Date();\n \n // Skip if disablePastDates is true\n if (props.disablePastDates) return;\n \n // Create date for last month\n const lastMonth = new Date(today);\n lastMonth.setUTCMonth(today.getUTCMonth() - 1);\n lastMonth.setUTCHours(0, 0, 0, 0);\n \n startDate.value = lastMonth;\n endDate.value = toEndOfDayUTC(today);\n\n today.setUTCHours(23, 59, 59, 999);\n \n const start = lastMonth.toISOString();\n const end = today.toISOString();\n \n dateCalendar.value = { start: start, end: end };\n }\n\n const selectLastYear = () => {\n // Skip if disablePastDates is true\n if (props.disablePastDates) return;\n\n startDate.value = null;\n endDate.value = null;\n dateCalendar.value = { start: null, end: null };\n }\n\n // Time selection computed properties\n const displayHours = computed(() => {\n if (!props.enableTime) return 0;\n if (selectedDate.value) {\n return selectedDate.value.getHours();\n }\n return new Date().getHours();\n })\n\n const displayMinutes = computed(() => {\n if (!props.enableTime) return 0;\n if (selectedDate.value) {\n return selectedDate.value.getMinutes();\n }\n return new Date().getMinutes();\n })\n\n const minHours = computed(() => {\n if (!props.disablePastDates) return 0;\n if (selectedDate.value && isToday(selectedDate.value)) {\n return new Date().getHours();\n }\n return 0;\n })\n\n const minMinutes = computed(() => {\n if (!props.disablePastDates) return 0;\n if (selectedDate.value && isToday(selectedDate.value)) {\n const currentHour = new Date().getHours();\n if (displayHours.value === currentHour) {\n return new Date().getMinutes();\n }\n }\n return 0;\n })\n\n const updateTime = (hours, minutes) => {\n if (!props.enableTime || !selectedDate.value) return;\n\n hours = parseInt(hours) || 0;\n minutes = parseInt(minutes) || 0;\n\n // Validate hours and minutes\n if (hours < 0) hours = 0;\n if (hours > 23) hours = 23;\n if (minutes < 0) minutes = 0;\n if (minutes > 59) minutes = 59;\n\n // Check if time is in the past for today\n if (props.disablePastDates && isToday(selectedDate.value)) {\n const now = new Date();\n const currentHour = now.getHours();\n const currentMinute = now.getMinutes();\n\n if (hours < currentHour || (hours === currentHour && minutes < currentMinute)) {\n hours = currentHour;\n minutes = currentMinute;\n }\n }\n\n const newDate = new Date(selectedDate.value);\n newDate.setHours(hours, minutes, 0, 0);\n\n // Check if the new date+time falls into disabled range\n if (isDateTimeInDisabledRange(newDate)) {\n return;\n }\n\n selectedDate.value = newDate;\n dateCalendar.value = newDate;\n }\n\n const formattedSelectedDate = computed(() => {\n const date = selectedDate.value || (props.allowRange ? startDate.value : null);\n if (!date) return '';\n\n const d = new Date(date);\n const day = String(d.getDate()).padStart(2, '0');\n const month = String(d.getMonth() + 1).padStart(2, '0');\n const year = d.getFullYear();\n let result = `${day}.${month}.${year}`;\n\n if (props.enableTime) {\n const hours = String(d.getHours()).padStart(2, '0');\n const minutes = String(d.getMinutes()).padStart(2, '0');\n result += ` ${hours}:${minutes}`;\n }\n\n return result;\n })\n\n const onCancel = () => {\n emit('cancel');\n }\n\n const onSelect = () => {\n emit('select');\n }\n</script>\n\n\n<template>\n <div class=\"t-noselect calendar\" :aria-disabled=\"disabled\"> \n <div v-if=\"allowRange && !disablePastDates\" class=\"br-b-1px br-grey-transp-25 gap-thin flex flex-nowrap pd-thin\">\n <button @click=\"selectToday\" class=\"font-second ws-nowrap pd-thin bg-white radius-small\">Today</button>\n <button @click=\"selectLastWeek\" class=\"font-second ws-nowrap pd-thin bg-white radius-small\">Last Week</button>\n <button @click=\"selectLastMonth\" class=\"font-second ws-nowrap pd-thin bg-white radius-small\">Last Month</button>\n <button @click=\"selectLastYear\" class=\"font-second ws-nowrap pd-thin bg-white radius-small\">All time</button>\n </div>\n <div class=\"pd-thin flex flex-nowrap flex-v-center flex-justify-between\">\n <button @click.stop=\"prevMonth\" class=\"aspect-1x1 pd-thin bg-white radius-extra\" :disabled=\"isPrevMonthDisabled\">\n <svg class=\"i-regular\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"20\" viewBox=\"0 0 12 20\" fill=\"none\">\n <path d=\"M0.610352 10.0068C0.615885 9.81315 0.654622 9.63607 0.726562 9.47559C0.798503 9.3151 0.90918 9.16016 1.05859 9.01074L9.37598 0.958984C9.61393 0.721029 9.90723 0.602051 10.2559 0.602051C10.4883 0.602051 10.6986 0.657389 10.8867 0.768066C11.0804 0.878743 11.2326 1.02816 11.3433 1.21631C11.4595 1.40446 11.5176 1.61475 11.5176 1.84717C11.5176 2.19027 11.3875 2.49186 11.1274 2.75195L3.60693 9.99854L11.1274 17.2534C11.3875 17.519 11.5176 17.8206 11.5176 18.1582C11.5176 18.3962 11.4595 18.6092 11.3433 18.7974C11.2326 18.9855 11.0804 19.1349 10.8867 19.2456C10.6986 19.3618 10.4883 19.4199 10.2559 19.4199C9.90723 19.4199 9.61393 19.2982 9.37598 19.0547L1.05859 11.0029C0.903646 10.8535 0.790202 10.6986 0.718262 10.5381C0.646322 10.3721 0.610352 10.195 0.610352 10.0068Z\" :fill=\"isPrevMonthDisabled ? '#303030' : '#007AFF'\"/>\n </svg>\n </button>\n <span class=\"fw-semi\">{{ monthYear }}</span>\n <button @click.stop=\"nextMonth\" class=\"aspect-1x1 pd-thin bg-white radius-extra\">\n <svg class=\"i-regular \" xmlns=\"http://www.w3.org/2000/svg\" width=\"11\" height=\"20\" viewBox=\"0 0 11 20\" fill=\"none\">\n <path d=\"M10.9072 10.0151C10.9017 10.2088 10.863 10.3859 10.791 10.5464C10.7191 10.7069 10.6084 10.8618 10.459 11.0112L2.1416 19.063C1.90365 19.3009 1.61035 19.4199 1.26172 19.4199C1.0293 19.4199 0.81901 19.3646 0.630859 19.2539C0.437175 19.1432 0.284994 18.9938 0.174316 18.8057C0.0581055 18.6175 8.85326e-08 18.4072 1.08852e-07 18.1748C1.38846e-07 17.8317 0.130046 17.5301 0.390137 17.27L7.91065 10.0234L0.390138 2.76855C0.130047 2.50293 1.5053e-06 2.20133 1.53481e-06 1.86377C1.55561e-06 1.62581 0.058107 1.41276 0.174318 1.22461C0.284995 1.03646 0.437176 0.887043 0.630861 0.776366C0.819012 0.660155 1.0293 0.60205 1.26172 0.60205C1.61035 0.60205 1.90365 0.723795 2.1416 0.967284L10.459 9.01904C10.6139 9.16846 10.7274 9.3234 10.7993 9.48389C10.8713 9.6499 10.9072 9.82699 10.9072 10.0151Z\" :fill=\"isPrevMonthDisabled ? '#303030' : '#007AFF'\"/>\n </svg>\n </button>\n </div>\n\n <div class=\"pd-thin calendar__body\">\n <div class=\"calendar__week\">\n <div v-for=\"(day, index) in daysOfWeek\" :key=\"index\" class=\"calendar__weekday\">\n {{ day }}\n </div>\n </div>\n <div class=\"gap-micro calendar__dates\">\n <div\n v-for=\"day in daysInMonth\"\n :key=\"day.date\"\n :class=\"[\n 'flex flex-center cursor-pointer aspect-1x1 radius-small',\n { 'calendar__date--today': day.isToday },\n { 'calendar__date--selected': isSelected(day.date) },\n { 'calendar__date--range': isInRange(day.date) },\n { 'calendar__date--in-other-month': !isSameMonth(day.date) },\n { 'calendar__date--disabled': isPastDate(day.date) || isDisabledDate(day.date) },\n { 'calendar__date--low-availability': isLowAvailability(day.date) },\n { 'calendar__date--unavailable': !isAvailable(day.date) && !isPastDate(day.date) && !isDisabledDate(day.date) },\n ]\"\n @click.stop=\"selectDate(day.date, $event)\"\n >\n {{ day.day }}\n <span v-if=\"showAvailability && getAvailability(day.date)\" class=\"availability-indicator\">\n {{ getAvailability(day.date) }}\n </span>\n </div>\n </div>\n </div>\n\n <!-- Time selection -->\n <div v-if=\"enableTime\" class=\"pd-thin br-t-1px br-grey-transp-25 flex gap-thin\">\n <input\n type=\"number\"\n :value=\"displayHours\"\n @input=\"updateTime($event.target.value, displayMinutes)\"\n :min=\"minHours\"\n max=\"23\"\n class=\"w-50 pd-small radius-small\"\n placeholder=\"HH\"\n />\n <input\n type=\"number\"\n :value=\"displayMinutes\"\n @input=\"updateTime(displayHours, $event.target.value)\"\n :min=\"minMinutes\"\n max=\"59\"\n class=\"w-50 pd-small radius-small\"\n placeholder=\"MM\"\n />\n </div>\n\n <!-- Selected date and actions -->\n <div v-if=\"showSelected\" class=\"pd-thin br-t-1px br-grey-transp-25 flex flex-v-center gap-thin\">\n <span class=\"t-transp\">selected:</span>\n <span class=\"flex-child-1\">{{ formattedSelectedDate || '---' }}</span>\n <button @click=\"onCancel\" class=\"pd-small radius-small bg-white\">cancel</button>\n <button @click=\"onSelect\" class=\"pd-small radius-small bg-black t-white\">select</button>\n </div>\n\n <!-- Tooltip for insufficient quantity -->\n <div \n v-if=\"tooltip.show\" \n class=\"calendar-tooltip\"\n :style=\"{ left: tooltip.x + 'px', top: tooltip.y + 'px' }\"\n >\n {{ tooltip.message }}\n </div>\n \n </div>\n</template>\n\n<style lang='scss' scoped>\n.calendar[aria-disabled=\"true\"] {\n cursor: not-allowed;\n\n * {\n pointer-events: none;\n }\n}\n.calendar__week {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 5px;\n margin-bottom: 10px;\n}\n\n.calendar__weekday {\n text-align: center;\n}\n\n.calendar__dates {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n grid-auto-rows: 1fr;\n}\n\n.calendar__dates::before {\n content: '';\n width: 0;\n padding-bottom: 100%;\n grid-row: 1 / 1;\n grid-column: 1 / 1;\n}\n\n.calendar__dates > *:first-child {\n grid-row: 1 / 1;\n grid-column: 1 / 1;\n}\n\n.calendar__date--today {\n background-color: rgb(var(--main)) !important;\n font-weight: bold;\n}\n\n.calendar__date--in-other-month {\n color: #aaaaaa; /* Grey text color for dates from adjacent months */\n}\n\n.calendar__date--selected {\n background-color: #007bff !important;\n color: #fff;\n}\n\n.calendar__date--range {\n background-color: #1c6ab8 !important;\n}\n\n.calendar__date--disabled, .calendar__date--unavailable {\n color: #ccc;\n cursor: not-allowed;\n text-decoration: line-through;\n opacity: 0.5;\n}\n\n.calendar__date--low-availability {\n position: relative;\n background-color: #f0f0f0;\n/* border: 1px solid #fff3cd;*/\n/* background-color: #fff3cd;*/\n}\n\n.availability-indicator {\n position: absolute;\n bottom: 2px;\n right: 2px;\n font-size: 8px;\n color: #6c757d;\n}\n\nbutton:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.calendar-tooltip {\n position: fixed;\n background-color: #333;\n color: white;\n padding: 8px 12px;\n border-radius: 4px;\n font-size: 12px;\n z-index: 1000;\n max-width: 200px;\n word-wrap: break-word;\n pointer-events: none;\n transform: translate(-50%, -100%);\n margin-top: -8px;\n}\n</style>"],"names":["_useModel","today","currentDate"],"mappings":"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"}
1
+ {"version":3,"file":"Calendar.vue2.js","sources":["../../../../../src/components/Calendar/Calendar.vue"],"sourcesContent":["<script setup>\n import { computed, ref, watch } from 'vue'\n\n const props = defineProps({\n modelValue: [Date, Object],\n allowRange: Boolean,\n disabled: Boolean,\n enableTime: {\n type: Boolean,\n default: false\n },\n disablePastDates: {\n type: Boolean,\n default: false\n },\n disabledRanges: {\n type: Array,\n default: () => []\n },\n availabilityData: {\n type: Array,\n default: () => []\n },\n showAvailability: {\n type: Boolean,\n default: false\n },\n lowAvailabilityThreshold: {\n type: Number,\n default: 3\n },\n requiredQuantity: {\n type: Number,\n default: 1\n },\n locale: {\n type: String,\n default: 'en'\n },\n showSelected: {\n type: Boolean,\n default: false\n }\n })\n\n const emit = defineEmits(['update:modelValue', 'select', 'cancel'])\n\n const dateCalendar = defineModel('date')\n\n const today = new Date()\n const currentDate = ref(today)\n const selectedDate = ref(null)\n const startDate = ref(null)\n const endDate = ref(null)\n const tooltip = ref({ show: false, message: '', x: 0, y: 0 })\n\n const daysOfWeek = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']\n\n // Watch for availability data updates\n watch(() => props.availabilityData, (newData) => {\n // You could perform additional processing when availability data changes\n }, { deep: true })\n\n const toUTC = (date) => {\n return new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate()))\n }\n\n const toEndOfDayUTC = (date) => {\n const endOfDay = new Date(Date.UTC(date.getFullYear(), date.getMonth(), date.getDate(), 23, 59, 59));\n return endOfDay;\n }\n\n const dateToString = (date) => {\n return date.toISOString().split('T')[0];\n }\n\n const monthYear = computed(() => {\n const month = currentDate.value.toLocaleString(props.locale, { month: 'long', timeZone: 'UTC' })\n const year = currentDate.value.getUTCFullYear()\n return `${month} ${year}`\n })\n\n const isPrevMonthDisabled = computed(() => {\n if (!props.disablePastDates) return false;\n \n // Check if current view month is the current month\n return currentDate.value.getUTCMonth() === today.getUTCMonth() && \n currentDate.value.getUTCFullYear() === today.getUTCFullYear();\n })\n\n const daysInMonth = computed(() => {\n const days = []\n const firstDay = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth(),\n 1\n ))\n const lastDay = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth() + 1,\n 0\n ))\n\n const firstDayOfWeek = firstDay.getUTCDay()\n\n let date = new Date(firstDay)\n\n date.setUTCDate(date.getUTCDate() - firstDayOfWeek)\n\n for (let i = 0; i < firstDayOfWeek; i++) {\n days.push({\n date: new Date(date),\n day: date.getUTCDate(),\n isToday: isToday(date),\n })\n date.setUTCDate(date.getUTCDate() + 1)\n }\n\n let day = 1\n\n for (date = firstDay; date <= lastDay; date.setUTCDate(date.getUTCDate() + 1)) {\n days.push({\n date: new Date(date),\n day,\n isToday: isToday(date),\n })\n day++\n }\n\n const lastDayOfWeek = days[days.length - 1].date.getUTCDay()\n\n for (let i = lastDayOfWeek + 1; i <= 6; i++) {\n days.push({\n date: new Date(date),\n day: date.getUTCDate(),\n isToday: isToday(date),\n })\n date.setUTCDate(date.getUTCDate() + 1)\n }\n\n return days\n })\n\n const isToday = (date) => {\n const today = new Date()\n return (\n date.getUTCDate() === today.getUTCDate() &&\n date.getUTCMonth() === today.getUTCMonth() &&\n date.getUTCFullYear() === today.getUTCFullYear()\n )\n }\n\n const isSameMonth = (date) => {\n return (\n date.getUTCMonth() === currentDate.value.getUTCMonth() &&\n date.getUTCFullYear() === currentDate.value.getUTCFullYear()\n )\n }\n\n const isPastDate = (date) => {\n if (!props.disablePastDates) return false;\n\n const now = new Date();\n // Compare only dates without time\n const todayDate = new Date(Date.UTC(now.getUTCFullYear(), now.getUTCMonth(), now.getUTCDate()));\n const compareDate = new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()));\n\n return compareDate < todayDate;\n }\n\n const isDateTimeInDisabledRange = (date) => {\n if (!props.disabledRanges || props.disabledRanges.length === 0) return false;\n\n const checkDate = new Date(date);\n\n for (const range of props.disabledRanges) {\n if (!range.start || !range.end) continue;\n\n const rangeStart = new Date(range.start);\n const rangeEnd = new Date(range.end);\n\n if (checkDate >= rangeStart && checkDate <= rangeEnd) {\n return true;\n }\n }\n\n return false;\n }\n\n const isDisabledDate = (date) => {\n return isDateTimeInDisabledRange(date);\n }\n\n const getAvailabilityInfo = (date) => {\n if (!props.availabilityData || props.availabilityData.length === 0) return null;\n \n const dateStr = dateToString(date);\n return props.availabilityData.find(item => item.date === dateStr);\n }\n\n const isAvailable = (date) => {\n if (!props.availabilityData || props.availabilityData.length === 0) return true;\n \n const availabilityInfo = getAvailabilityInfo(date);\n return !availabilityInfo || availabilityInfo.availableQuantity > 0;\n }\n\n const isLowAvailability = (date) => {\n if (!props.availabilityData || props.availabilityData.length === 0) return false;\n \n const availabilityInfo = getAvailabilityInfo(date);\n return availabilityInfo && \n availabilityInfo.availableQuantity > 0 && \n availabilityInfo.availableQuantity <= props.lowAvailabilityThreshold;\n }\n\n const getAvailability = (date) => {\n if (!props.showAvailability) return null;\n \n const availabilityInfo = getAvailabilityInfo(date);\n return availabilityInfo ? availabilityInfo.availableQuantity : null;\n }\n\n const isSelected = (date) => {\n if (props.allowRange) {\n if (startDate.value && endDate.value) {\n return date >= new Date(startDate.value) && toEndOfDayUTC(date) <= new Date(endDate.value);\n } else if (startDate.value) {\n return date.getTime() === new Date(startDate.value).getTime();\n }\n } else {\n return selectedDate.value && date.getTime() === new Date(selectedDate.value).getTime();\n }\n }\n\n const isInRange = (date) => {\n if (startDate.value && endDate.value) {\n return date > startDate.value && toEndOfDayUTC(date) < endDate.value\n }\n return false\n }\n\n const selectDate = (date, event) => {\n // Don't allow selection of past dates, disabled dates or unavailable dates\n if (props.disablePastDates && isPastDate(date)) return;\n if (isDisabledDate(date)) return;\n if (!isAvailable(date)) return;\n \n // Check if date has sufficient quantity for required amount\n const availabilityInfo = getAvailabilityInfo(date);\n if (availabilityInfo && availabilityInfo.availableQuantity < props.requiredQuantity) {\n // Show tooltip with insufficient quantity message\n if (event) {\n tooltip.value = {\n show: true,\n message: `Insufficient quantity. Available: ${availabilityInfo.availableQuantity}, needed: ${props.requiredQuantity}`,\n x: event.clientX,\n y: event.clientY\n };\n setTimeout(() => {\n tooltip.value.show = false;\n }, 3000);\n }\n return;\n }\n \n // Hide tooltip if it was showing\n tooltip.value.show = false;\n \n // If selecting a date from another month, switch to that month\n if (!isSameMonth(date)) {\n // currentDate.value = new Date(Date.UTC(\n // date.getUTCFullYear(),\n // date.getUTCMonth(),\n // 1\n // ));\n }\n \n const formattedDate = toUTC(date)\n\n if (!props.allowRange) {\n // If same date is clicked and time is enabled, don't change anything\n // This allows user to modify only time without reselecting date\n if (props.enableTime && selectedDate.value) {\n const existingDate = new Date(selectedDate.value);\n if (existingDate.getFullYear() === date.getFullYear() &&\n existingDate.getMonth() === date.getMonth() &&\n existingDate.getDate() === date.getDate()) {\n return;\n }\n }\n selectedDate.value = formattedDate\n if (props.enableTime) {\n emitTimeRange()\n } else {\n dateCalendar.value = formattedDate\n }\n } else if (!startDate.value && !endDate.value) {\n startDate.value = formattedDate\n dateCalendar.value = { start: formattedDate, end: null }\n } else if (!endDate.value) {\n endDate.value = toEndOfDayUTC(date)\n if (formattedDate < startDate.value) {\n const temp = toEndOfDayUTC(startDate.value)\n startDate.value = formattedDate\n endDate.value = temp\n }\n // Verify all dates in the range are available\n if (props.availabilityData && props.availabilityData.length > 0) {\n let allDatesAvailable = true;\n let currentDate = new Date(startDate.value);\n \n while (currentDate <= endDate.value) {\n if (!isAvailable(currentDate)) {\n allDatesAvailable = false;\n break;\n }\n currentDate.setUTCDate(currentDate.getUTCDate() + 1);\n }\n if (!allDatesAvailable) {\n // Instead of resetting the end date, start a new range\n startDate.value = formattedDate\n endDate.value = null\n dateCalendar.value = { start: formattedDate, end: null }\n return;\n }\n }\n dateCalendar.value = { start: startDate.value, end: endDate.value }\n } else {\n startDate.value = formattedDate\n endDate.value = null\n dateCalendar.value = { start: formattedDate, end: null }\n }\n }\n\n const prevMonth = () => {\n // Prevent navigating to past months if disablePastDates is true\n if (props.disablePastDates) {\n const newDate = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth() - 1,\n 1\n ));\n \n if (newDate.getUTCFullYear() < today.getUTCFullYear() || \n (newDate.getUTCFullYear() === today.getUTCFullYear() && \n newDate.getUTCMonth() < today.getUTCMonth())) {\n return;\n }\n }\n \n currentDate.value = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth() - 1,\n 1\n ));\n }\n\n const nextMonth = () => {\n currentDate.value = new Date(Date.UTC(\n currentDate.value.getUTCFullYear(),\n currentDate.value.getUTCMonth() + 1,\n 1\n ))\n }\n\n const selectToday = () => {\n const now = new Date();\n const todayStart = toUTC(now);\n const todayEnd = toEndOfDayUTC(now);\n\n // Check if today is available\n if (props.disablePastDates || isAvailable(todayStart)) {\n startDate.value = todayStart.toISOString();\n endDate.value = todayEnd.toISOString();\n dateCalendar.value = { start: startDate.value, end: endDate.value };\n }\n }\n\n const selectLastWeek = () => {\n // Skip if disablePastDates is true\n if (props.disablePastDates) return;\n\n const now = new Date();\n const weekAgo = new Date(now.getFullYear(), now.getMonth(), now.getDate() - 6);\n\n const start = toUTC(weekAgo).toISOString();\n const end = toEndOfDayUTC(now).toISOString();\n\n startDate.value = start;\n endDate.value = end;\n dateCalendar.value = { start, end };\n }\n\n const selectLastMonth = () => {\n // Skip if disablePastDates is true\n if (props.disablePastDates) return;\n\n const now = new Date();\n const monthAgo = new Date(now.getFullYear(), now.getMonth() - 1, now.getDate());\n\n const start = toUTC(monthAgo).toISOString();\n const end = toEndOfDayUTC(now).toISOString();\n\n startDate.value = start;\n endDate.value = end;\n dateCalendar.value = { start, end };\n }\n\n const selectLastYear = () => {\n // Skip if disablePastDates is true\n if (props.disablePastDates) return;\n\n startDate.value = null;\n endDate.value = null;\n dateCalendar.value = { start: null, end: null };\n }\n\n // Time selection\n const timeStart = ref({ h: 0, m: 0 })\n const timeEnd = ref({ h: 23, m: 59 })\n\n const clampTime = (h, m) => {\n h = Math.max(0, Math.min(23, parseInt(h) || 0))\n m = Math.max(0, Math.min(59, parseInt(m) || 0))\n return { h, m }\n }\n\n const enforceMinTime = (h, m) => {\n if (!props.disablePastDates || !selectedDate.value || !isToday(selectedDate.value)) return { h, m }\n const now = new Date()\n const ch = now.getHours(), cm = now.getMinutes()\n if (h < ch || (h === ch && m < cm)) return { h: ch, m: cm }\n return { h, m }\n }\n\n const updateTimeStart = (h, m) => {\n if (!props.enableTime || !selectedDate.value) return\n const clamped = clampTime(h, m)\n const safe = enforceMinTime(clamped.h, clamped.m)\n timeStart.value = safe\n // If start is now later than end, push end forward\n if (timeEnd.value.h < safe.h || (timeEnd.value.h === safe.h && timeEnd.value.m < safe.m)) {\n timeEnd.value = { h: safe.h, m: safe.m }\n }\n emitTimeRange()\n }\n\n const updateTimeEnd = (h, m) => {\n if (!props.enableTime || !selectedDate.value) return\n const clamped = clampTime(h, m)\n // End time must not be earlier than start time\n if (clamped.h < timeStart.value.h || (clamped.h === timeStart.value.h && clamped.m < timeStart.value.m)) {\n timeEnd.value = { h: timeStart.value.h, m: timeStart.value.m }\n } else {\n timeEnd.value = clamped\n }\n emitTimeRange()\n }\n\n const pad = (n) => String(n).padStart(2, '0')\n\n const timeFormatted = computed(() => ({\n start: `${pad(timeStart.value.h)}:${pad(timeStart.value.m)}`,\n end: `${pad(timeEnd.value.h)}:${pad(timeEnd.value.m)}`\n }))\n\n const onTimeInput = (which, value) => {\n if (!value) return\n const [h, m] = value.split(':').map(Number)\n if (which === 'start') updateTimeStart(h, m)\n else updateTimeEnd(h, m)\n }\n\n const emitTimeRange = () => {\n if (!selectedDate.value) return\n const base = new Date(selectedDate.value)\n const s = new Date(base)\n s.setHours(timeStart.value.h, timeStart.value.m, 0, 0)\n const e = new Date(base)\n e.setHours(timeEnd.value.h, timeEnd.value.m, 0, 0)\n dateCalendar.value = { start: s, end: e }\n }\n\n // Initialize internal state from v-model:date (initial value)\n if (dateCalendar.value) {\n const val = dateCalendar.value\n if (val instanceof Date) {\n selectedDate.value = val\n currentDate.value = new Date(Date.UTC(val.getFullYear(), val.getMonth(), 1))\n } else if (val && val.start) {\n const s = new Date(val.start)\n startDate.value = s\n endDate.value = val.end ? new Date(val.end) : null\n if (props.enableTime) {\n selectedDate.value = toUTC(s)\n timeStart.value = { h: s.getHours(), m: s.getMinutes() }\n if (val.end) {\n const e = new Date(val.end)\n timeEnd.value = { h: e.getHours(), m: e.getMinutes() }\n }\n }\n currentDate.value = new Date(Date.UTC(s.getFullYear(), s.getMonth(), 1))\n }\n }\n\n const formattedSelectedDate = computed(() => {\n const date = selectedDate.value || (props.allowRange ? startDate.value : null);\n if (!date) return '';\n\n const d = new Date(date);\n const day = String(d.getDate()).padStart(2, '0');\n const month = String(d.getMonth() + 1).padStart(2, '0');\n const year = d.getFullYear();\n let result = `${day}.${month}.${year}`;\n\n if (props.enableTime) {\n const hours = String(d.getHours()).padStart(2, '0');\n const minutes = String(d.getMinutes()).padStart(2, '0');\n result += ` ${hours}:${minutes}`;\n }\n\n return result;\n })\n\n const onCancel = () => {\n emit('cancel');\n }\n\n const onSelect = () => {\n emit('select');\n }\n</script>\n\n\n<template>\n <div class=\"t-noselect calendar\" :aria-disabled=\"disabled\"> \n <div v-if=\"allowRange && !disablePastDates\" class=\"br-b-1px br-grey-transp-25 gap-thin flex flex-nowrap pd-thin\">\n <button @click=\"selectToday\" class=\"font-second ws-nowrap pd-thin bg-white radius-small\">Today</button>\n <button @click=\"selectLastWeek\" class=\"font-second ws-nowrap pd-thin bg-white radius-small\">Last Week</button>\n <button @click=\"selectLastMonth\" class=\"font-second ws-nowrap pd-thin bg-white radius-small\">Last Month</button>\n <button @click=\"selectLastYear\" class=\"font-second ws-nowrap pd-thin bg-white radius-small\">All time</button>\n </div>\n <div class=\"pd-thin flex flex-nowrap flex-v-center flex-justify-between\">\n <button @click.stop=\"prevMonth\" class=\"aspect-1x1 pd-thin bg-white radius-extra\" :disabled=\"isPrevMonthDisabled\">\n <svg class=\"i-regular\" xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"20\" viewBox=\"0 0 12 20\" fill=\"none\">\n <path d=\"M0.610352 10.0068C0.615885 9.81315 0.654622 9.63607 0.726562 9.47559C0.798503 9.3151 0.90918 9.16016 1.05859 9.01074L9.37598 0.958984C9.61393 0.721029 9.90723 0.602051 10.2559 0.602051C10.4883 0.602051 10.6986 0.657389 10.8867 0.768066C11.0804 0.878743 11.2326 1.02816 11.3433 1.21631C11.4595 1.40446 11.5176 1.61475 11.5176 1.84717C11.5176 2.19027 11.3875 2.49186 11.1274 2.75195L3.60693 9.99854L11.1274 17.2534C11.3875 17.519 11.5176 17.8206 11.5176 18.1582C11.5176 18.3962 11.4595 18.6092 11.3433 18.7974C11.2326 18.9855 11.0804 19.1349 10.8867 19.2456C10.6986 19.3618 10.4883 19.4199 10.2559 19.4199C9.90723 19.4199 9.61393 19.2982 9.37598 19.0547L1.05859 11.0029C0.903646 10.8535 0.790202 10.6986 0.718262 10.5381C0.646322 10.3721 0.610352 10.195 0.610352 10.0068Z\" fill=\"currentColor\"/>\n </svg>\n </button>\n <span class=\"fw-semi\">{{ monthYear }}</span>\n <button @click.stop=\"nextMonth\" class=\"aspect-1x1 pd-thin bg-white radius-extra\">\n <svg class=\"i-regular \" xmlns=\"http://www.w3.org/2000/svg\" width=\"11\" height=\"20\" viewBox=\"0 0 11 20\" fill=\"none\">\n <path d=\"M10.9072 10.0151C10.9017 10.2088 10.863 10.3859 10.791 10.5464C10.7191 10.7069 10.6084 10.8618 10.459 11.0112L2.1416 19.063C1.90365 19.3009 1.61035 19.4199 1.26172 19.4199C1.0293 19.4199 0.81901 19.3646 0.630859 19.2539C0.437175 19.1432 0.284994 18.9938 0.174316 18.8057C0.0581055 18.6175 8.85326e-08 18.4072 1.08852e-07 18.1748C1.38846e-07 17.8317 0.130046 17.5301 0.390137 17.27L7.91065 10.0234L0.390138 2.76855C0.130047 2.50293 1.5053e-06 2.20133 1.53481e-06 1.86377C1.55561e-06 1.62581 0.058107 1.41276 0.174318 1.22461C0.284995 1.03646 0.437176 0.887043 0.630861 0.776366C0.819012 0.660155 1.0293 0.60205 1.26172 0.60205C1.61035 0.60205 1.90365 0.723795 2.1416 0.967284L10.459 9.01904C10.6139 9.16846 10.7274 9.3234 10.7993 9.48389C10.8713 9.6499 10.9072 9.82699 10.9072 10.0151Z\" fill=\"currentColor\"/>\n </svg>\n </button>\n </div>\n\n <div class=\"pd-thin calendar__body\">\n <div class=\"calendar__week\">\n <div v-for=\"(day, index) in daysOfWeek\" :key=\"index\" class=\"calendar__weekday\">\n {{ day }}\n </div>\n </div>\n <div class=\"gap-micro calendar__dates\">\n <div\n v-for=\"day in daysInMonth\"\n :key=\"day.date\"\n :class=\"[\n 'flex flex-center cursor-pointer aspect-1x1 radius-small',\n { 'calendar__date--today': day.isToday },\n { 'calendar__date--selected': isSelected(day.date) },\n { 'calendar__date--range': isInRange(day.date) },\n { 'calendar__date--in-other-month': !isSameMonth(day.date) },\n { 'calendar__date--disabled': isPastDate(day.date) || isDisabledDate(day.date) },\n { 'calendar__date--low-availability': isLowAvailability(day.date) },\n { 'calendar__date--unavailable': !isAvailable(day.date) && !isPastDate(day.date) && !isDisabledDate(day.date) },\n ]\"\n @click.stop=\"selectDate(day.date, $event)\"\n >\n {{ day.day }}\n <span v-if=\"showAvailability && getAvailability(day.date)\" class=\"availability-indicator\">\n {{ getAvailability(day.date) }}\n </span>\n </div>\n </div>\n </div>\n\n <!-- Time selection: start / end -->\n <div v-if=\"enableTime\" class=\"pd-thin br-t-1px br-grey-transp-25 flex gap-thin flex-v-center\">\n <input\n type=\"time\"\n :value=\"timeFormatted.start\"\n @input=\"onTimeInput('start', $event.target.value)\"\n class=\"flex-child-1 pd-small radius-small bg-white calendar__time-input\"\n />\n <span class=\"opacity-50\">—</span>\n <input\n type=\"time\"\n :value=\"timeFormatted.end\"\n @input=\"onTimeInput('end', $event.target.value)\"\n class=\"flex-child-1 pd-small radius-small bg-white calendar__time-input\"\n />\n </div>\n\n <!-- Selected date and actions -->\n <div v-if=\"showSelected\" class=\"pd-thin br-t-1px br-grey-transp-25 flex flex-v-center gap-thin\">\n <span class=\"opacity-50\">selected:</span>\n <span class=\"flex-child-1\">{{ formattedSelectedDate || '---' }}</span>\n <button @click=\"onCancel\" class=\"pd-small radius-small bg-white\">cancel</button>\n <button @click=\"onSelect\" class=\"pd-small radius-small bg-black t-white\">select</button>\n </div>\n\n <!-- Tooltip for insufficient quantity -->\n <div \n v-if=\"tooltip.show\" \n class=\"calendar-tooltip\"\n :style=\"{ left: tooltip.x + 'px', top: tooltip.y + 'px' }\"\n >\n {{ tooltip.message }}\n </div>\n \n </div>\n</template>\n\n<style lang='scss' scoped>\n.calendar[aria-disabled=\"true\"] {\n cursor: not-allowed;\n\n .calendar__body {\n pointer-events: none;\n }\n}\n.calendar__week {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n gap: 5px;\n margin-bottom: 10px;\n}\n\n.calendar__weekday {\n text-align: center;\n}\n\n.calendar__dates {\n display: grid;\n grid-template-columns: repeat(7, 1fr);\n grid-auto-rows: 1fr;\n}\n\n.calendar__dates::before {\n content: '';\n width: 0;\n padding-bottom: 100%;\n grid-row: 1 / 1;\n grid-column: 1 / 1;\n}\n\n.calendar__dates > *:first-child {\n grid-row: 1 / 1;\n grid-column: 1 / 1;\n}\n\n.calendar__date--today {\n background-color: rgb(var(--main)) !important;\n font-weight: bold;\n}\n\n.calendar__date--in-other-month {\n color: rgba(var(--black), 0.25); /* Grey text color for dates from adjacent months */\n}\n\n.calendar__date--selected {\n background-color: rgb(var(--second)) !important;\n color: rgb(var(--white));\n}\n\n.calendar__date--range {\n background-color: rgba(var(--second), 0.7) !important;\n}\n\n.calendar__date--disabled, .calendar__date--unavailable {\n color: rgba(var(--black), 0.2);\n cursor: not-allowed;\n text-decoration: line-through;\n opacity: 0.5;\n}\n\n.calendar__date--low-availability {\n position: relative;\n background-color: rgb(var(--white));\n/* border: 1px solid #fff3cd;*/\n/* background-color: #fff3cd;*/\n}\n\n.availability-indicator {\n position: absolute;\n bottom: 2px;\n right: 2px;\n font-size: 8px;\n color: rgba(var(--black), 0.4);\n}\n\nbutton:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.calendar__time-input {\n font-size: 16px;\n font-weight: 500;\n text-align: center;\n border: none;\n outline: none;\n\n &::-webkit-calendar-picker-indicator {\n background: rgb(var(--grey));\n -webkit-mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E\");\n mask-image: url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E\");\n -webkit-mask-size: contain;\n mask-size: contain;\n -webkit-mask-repeat: no-repeat;\n mask-repeat: no-repeat;\n cursor: pointer;\n opacity: 0.5;\n }\n}\n\n.calendar-tooltip {\n position: fixed;\n background-color: #333;\n color: white;\n padding: 8px 12px;\n border-radius: 4px;\n font-size: 12px;\n z-index: 1000;\n max-width: 200px;\n word-wrap: break-word;\n pointer-events: none;\n transform: translate(-50%, -100%);\n margin-top: -8px;\n}\n</style>"],"names":["_useModel","today","currentDate"],"mappings":"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"}