@ozdao/martyrs 0.2.472 → 0.2.474
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.
- package/dist/{Media-DW8RLbfM.js → Media-_vz04tII.js} +1 -1
- package/dist/{Media-y_TX6us_.mjs → Media-sGk7Bp9b.mjs} +1 -1
- package/dist/_virtual/index.cjs +1 -1
- package/dist/_virtual/index.js +1 -1
- package/dist/auth.server.js +6 -2
- package/dist/auth.server.mjs +6 -2
- package/dist/authJwt-CELQKF2s.js +82 -0
- package/dist/authJwt-DnXu3BFq.mjs +83 -0
- package/dist/builder.js +7 -4
- package/dist/builder.mjs +7 -4
- package/dist/chats.server.js +1 -1
- package/dist/chats.server.mjs +1 -1
- package/dist/community.server.js +4 -4
- package/dist/community.server.mjs +4 -4
- package/dist/events.server.js +4 -4
- package/dist/events.server.mjs +4 -4
- package/dist/files.server.js +1 -1
- package/dist/files.server.mjs +1 -1
- package/dist/gallery.server.js +3 -3
- package/dist/gallery.server.mjs +3 -3
- package/dist/{globals.abac-DT0VjfaZ.js → globals.abac-Bn-4tbX8.js} +110 -16
- package/dist/{globals.abac-CvmZM8XG.mjs → globals.abac-DZpTRxKR.mjs} +110 -16
- package/dist/globals.server.js +70 -10
- package/dist/globals.server.mjs +70 -10
- package/dist/{globals.verifier-C_VZYebB.mjs → globals.verifier-BdJxc8-8.mjs} +34 -0
- package/dist/{globals.verifier-ChDpCdy_.js → globals.verifier-CKYpYfQl.js} +34 -0
- package/dist/{index-CVXl1rB5.js → index-BOmxJQ5W.js} +7 -86
- package/dist/{index-Df8vtZx7.mjs → index-C_Fw0Umg.mjs} +7 -86
- package/dist/{main-CgmHzhq5.mjs → main-CqMtW7Hq.mjs} +274 -276
- package/dist/{main-CCfQH-Dd.js → main-CsGkbSyK.js} +2 -2
- package/dist/martyrs/src/components/Button/{Button.vue.cjs → Button.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Button/Button.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Button/{Button.vue.js → Button.vue2.js} +2 -2
- package/dist/martyrs/src/components/Button/{Button.vue.cjs.map → Button.vue2.js.map} +1 -1
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.cjs → Dropdown.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js.map → Dropdown.vue.cjs.map} +1 -1
- package/dist/martyrs/src/components/Dropdown/{Dropdown.vue2.js → Dropdown.vue.js} +2 -2
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue.js.map +1 -0
- package/dist/martyrs/src/components/Feed/Feed.vue.cjs +1 -1
- package/dist/martyrs/src/components/Feed/Feed.vue.js +1 -1
- package/dist/martyrs/src/components/Menu/{Menu.vue2.cjs → Menu.vue.cjs} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue.cjs.map +1 -0
- package/dist/martyrs/src/components/Menu/{Menu.vue2.js → Menu.vue.js} +2 -2
- package/dist/martyrs/src/components/Menu/Menu.vue.js.map +1 -0
- package/dist/martyrs/src/components/Select/Select.vue.cjs +4 -4
- package/dist/martyrs/src/components/Select/Select.vue.cjs.map +1 -1
- package/dist/martyrs/src/components/Select/Select.vue.js +4 -4
- package/dist/martyrs/src/components/Select/Select.vue.js.map +1 -1
- package/dist/martyrs/src/components/Tab/{Tab.vue.cjs → Tab.vue2.cjs} +2 -2
- package/dist/martyrs/src/components/Tab/Tab.vue2.cjs.map +1 -0
- package/dist/martyrs/src/components/Tab/{Tab.vue.js → Tab.vue2.js} +2 -2
- package/dist/martyrs/src/components/Tab/{Tab.vue.cjs.map → Tab.vue2.js.map} +1 -1
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/layouts/Auth.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/EnterPassword.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Invite.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.cjs +3 -3
- package/dist/martyrs/src/modules/auth/views/components/pages/Profile.vue.js +3 -3
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileBlogposts.vue.js +1 -1
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ProfileEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/ResetPassword.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignIn.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.cjs +2 -2
- package/dist/martyrs/src/modules/auth/views/components/pages/SignUp.vue.js +2 -2
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.cjs +1 -1
- package/dist/martyrs/src/modules/auth/views/components/sections/ProfileEditCredentials.vue.js +1 -1
- package/dist/martyrs/src/modules/community/community.client.js +27 -27
- package/dist/martyrs/src/modules/community/community.client.js.map +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/BlogPost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.cjs +1 -1
- package/dist/martyrs/src/modules/community/components/pages/CreateBlogPost.vue.js +1 -1
- package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs +3 -4
- package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.js +3 -4
- package/dist/martyrs/src/modules/community/components/sections/HotPosts.vue.js.map +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.cjs +1 -1
- package/dist/martyrs/src/modules/constructor/components/sections/Constructor.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonCheck.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/elements/ButtonJoin.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEvent.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EditEventTickets.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/pages/EventsBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.cjs +1 -1
- package/dist/martyrs/src/modules/events/components/sections/EventsHot.vue.js +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.cjs +1 -1
- package/dist/martyrs/src/modules/gallery/components/sections/BackofficeGallery.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/globals.client.cjs +2 -0
- package/dist/martyrs/src/modules/globals/globals.client.cjs.map +1 -1
- package/dist/martyrs/src/modules/globals/globals.client.js +3 -1
- package/dist/martyrs/src/modules/globals/globals.client.js.map +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.cjs +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/CardHeader.vue.js +2 -2
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/blocks/PopupDateSelector.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/layouts/Client.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Header.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/Navigation.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/partials/NavigationBar.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/components/sections/SectionPageTitle.vue.js +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.cjs +1 -1
- package/dist/martyrs/src/modules/globals/views/utils/vue-app-renderer.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs +89 -28
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js +90 -29
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreate.vue.js.map +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.cjs +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/OrderCreateBackoffice.vue.js +2 -2
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/pages/Orders.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormAddCustomer.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.cjs +1 -1
- package/dist/martyrs/src/modules/orders/components/sections/FormDelivery.vue.js +1 -1
- package/dist/martyrs/src/modules/orders/store/shopcart.cjs +1 -0
- package/dist/martyrs/src/modules/orders/store/shopcart.cjs.map +1 -1
- package/dist/martyrs/src/modules/orders/store/shopcart.js +1 -0
- package/dist/martyrs/src/modules/orders/store/shopcart.js.map +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/elements/ButtonToggleMembership.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/DepartmentEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Members.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Organization.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationBackoffice.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/OrganizationEdit.vue.js +2 -2
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/pages/Organizations.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/DetailsTabSection.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Documents.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.cjs +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/MembersAdd.vue.js +1 -1
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.cjs +2 -2
- package/dist/martyrs/src/modules/organizations/components/sections/Organizations.vue.js +2 -2
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/blocks/CardPage.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/pages/PageEdit.vue.js +1 -1
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.cjs +1 -1
- package/dist/martyrs/src/modules/pages/views/components/partials/SidebarPages.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Categories.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs +21 -2
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js +21 -2
- package/dist/martyrs/src/modules/products/components/pages/CategoryEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Leftovers.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs +3 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js +3 -2
- package/dist/martyrs/src/modules/products/components/pages/Product.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs +4 -4
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js +4 -4
- package/dist/martyrs/src/modules/products/components/pages/ProductEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/pages/Products.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditProductInfo.vue.cjs +1 -1
- package/dist/martyrs/src/modules/products/components/sections/EditProductInfo.vue.js +1 -1
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.cjs +2 -2
- package/dist/martyrs/src/modules/products/components/sections/SectionProduct.vue.js +2 -2
- package/dist/martyrs/src/modules/products/store/categories.cjs +2 -0
- package/dist/martyrs/src/modules/products/store/categories.cjs.map +1 -1
- package/dist/martyrs/src/modules/products/store/categories.js +2 -0
- package/dist/martyrs/src/modules/products/store/categories.js.map +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/GanttChart.vue.js +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.cjs +1 -1
- package/dist/martyrs/src/modules/rents/views/components/pages/Rents.vue.js +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.cjs +1 -1
- package/dist/martyrs/src/modules/reports/components/sections/FormReport.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/layouts/Spots.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.cjs +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/Map.vue.js +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs +32 -26
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js +32 -26
- package/dist/martyrs/src/modules/spots/components/pages/SpotEdit.vue.js.map +1 -1
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs +807 -0
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.cjs.map +1 -0
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js +807 -0
- package/dist/martyrs/src/modules/spots/components/sections/WorktimeEdit.vue.js.map +1 -0
- package/dist/martyrs/src/modules/spots/store/spots.cjs +4 -1
- package/dist/martyrs/src/modules/spots/store/spots.cjs.map +1 -1
- package/dist/martyrs/src/modules/spots/store/spots.js +4 -1
- package/dist/martyrs/src/modules/spots/store/spots.js.map +1 -1
- package/dist/martyrs.cjs.js +1 -1
- package/dist/martyrs.css +1 -1
- package/dist/martyrs.es.js +1 -1
- package/dist/{martyrs → node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs +1 -1
- package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +1 -0
- package/dist/{martyrs → node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_}/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js +1 -1
- package/dist/node_modules/.pnpm/@vue_server-renderer@3.5.13_vue@3.5.13_typescript@5.8.3_/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +1 -0
- package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +1 -0
- package/dist/node_modules/.pnpm/@vue_shared@3.5.13/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +1 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.cjs +6 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.cjs.map +1 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js +6 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/native.js.map +1 -0
- package/dist/{martyrs → node_modules/.pnpm/uuid@11.1.0}/node_modules/uuid/dist/esm-browser/rng.cjs +4 -4
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.cjs.map +1 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js +15 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/rng.js.map +1 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.cjs +11 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.cjs.map +1 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js +11 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/stringify.js.map +1 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.cjs +21 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.cjs.map +1 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js +21 -0
- package/dist/node_modules/.pnpm/uuid@11.1.0/node_modules/uuid/dist/esm-browser/v4.js.map +1 -0
- package/dist/notifications.server.js +1 -1
- package/dist/notifications.server.mjs +1 -1
- package/dist/orders.server.js +5 -4
- package/dist/orders.server.mjs +5 -4
- package/dist/organizations.server.js +120 -47
- package/dist/organizations.server.mjs +120 -47
- package/dist/{ownership.schema-C0w02Vw1.mjs → ownership.schema-CNCotD3D.mjs} +10 -4
- package/dist/{ownership.schema-Ck2H9clB.js → ownership.schema-MxfJlPtq.js} +10 -4
- package/dist/products.server.js +415 -149
- package/dist/products.server.mjs +415 -149
- package/dist/{profile.schema-h61hhB2w.js → profile.schema-BLSuV_VC.js} +0 -4
- package/dist/{profile.schema-kP_zKXNt.mjs → profile.schema-BRuvQ7QV.mjs} +0 -4
- package/dist/{queryProcessor-CWnMIe2U.mjs → queryProcessor-CVKI651_.mjs} +62 -8
- package/dist/{queryProcessor-D6GuKfTV.js → queryProcessor-DSUqSk3I.js} +62 -8
- package/dist/rents.server.js +4 -4
- package/dist/rents.server.mjs +4 -4
- package/dist/spots.server.js +162 -8
- package/dist/spots.server.mjs +162 -8
- package/dist/style.css +27 -4
- package/dist/wallet.server.js +2 -2
- package/dist/wallet.server.mjs +2 -2
- package/package.json +1 -1
- package/src/builder/rspack/rspack.config.base.js +1 -1
- package/src/builder/rspack/rspack.config.client.js +13 -5
- package/src/components/Select/Select.vue +4 -2
- package/src/modules/auth/models/user.model.js +4 -1
- package/src/modules/community/components/sections/HotPosts.vue +1 -1
- package/src/modules/globals/controllers/classes/globals.abac.js +148 -23
- package/src/modules/globals/controllers/classes/globals.validator.js +37 -0
- package/src/modules/globals/controllers/classes/globals.verifier.js +2 -0
- package/src/modules/globals/controllers/policies/globals.policies.js +91 -74
- package/src/modules/globals/controllers/utils/queryProcessor.js +59 -11
- package/src/modules/globals/globals.client.js +3 -0
- package/src/modules/globals/models/schemas/ownership.schema.js +11 -6
- package/src/modules/globals/models/schemas/profile.schema.js +0 -4
- package/src/modules/music/components/layouts/MusicLayout.vue +10 -58
- package/src/modules/music/components/pages/MusicHome.vue +5 -5
- package/src/modules/orders/components/pages/OrderCreate.vue +85 -12
- package/src/modules/orders/controllers/orders.controller.js +3 -0
- package/src/modules/orders/store/shopcart.js +1 -0
- package/src/modules/organizations/models/schemas/accesses.schema.js +18 -0
- package/src/modules/organizations/policies/organizations.policies.js +117 -61
- package/src/modules/products/components/pages/CategoryEdit.vue +27 -2
- package/src/modules/products/components/pages/Product.vue +1 -0
- package/src/modules/products/components/pages/ProductEdit.vue +2 -2
- package/src/modules/products/controllers/categories.controller.js +297 -133
- package/src/modules/products/middlewares/categories.verifier.js +177 -0
- package/src/modules/products/models/category.model.js +12 -14
- package/src/modules/products/routes/categories.routes.js +50 -11
- package/src/modules/products/store/categories.js +2 -0
- package/src/modules/spots/components/pages/SpotEdit.vue +21 -17
- package/src/modules/spots/components/sections/WorktimeEdit.vue +840 -0
- package/src/modules/spots/controllers/queries/getIsOpenNowStage.js +109 -0
- package/src/modules/spots/controllers/spots.controller.js +2 -1
- package/src/modules/spots/models/spot.model.js +59 -13
- package/src/modules/spots/store/spots.js +4 -1
- package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.cjs.map +0 -1
- package/dist/martyrs/node_modules/@vue/server-renderer/dist/server-renderer.esm-bundler.js.map +0 -1
- package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.cjs.map +0 -1
- package/dist/martyrs/node_modules/@vue/shared/dist/shared.esm-bundler.js.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.cjs +0 -5
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.cjs.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js +0 -5
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/regex.js.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.cjs.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js +0 -15
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/rng.js.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.cjs +0 -17
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.cjs.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js +0 -17
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/stringify.js.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.cjs +0 -13
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.cjs.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js +0 -13
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/v4.js.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.cjs +0 -8
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.cjs.map +0 -1
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js +0 -8
- package/dist/martyrs/node_modules/uuid/dist/esm-browser/validate.js.map +0 -1
- package/dist/martyrs/src/components/Button/Button.vue.js.map +0 -1
- package/dist/martyrs/src/components/Dropdown/Dropdown.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue2.cjs.map +0 -1
- package/dist/martyrs/src/components/Menu/Menu.vue2.js.map +0 -1
- package/dist/martyrs/src/components/Tab/Tab.vue.js.map +0 -1
- package/src/modules/products/middlewares/index.js +0 -11
- package/src/modules/products/middlewares/verifyCategory.js +0 -25
- /package/dist/{martyrs → node_modules/.pnpm/@vue_shared@3.5.13}/node_modules/@vue/shared/dist/shared.esm-bundler.cjs +0 -0
- /package/dist/{martyrs → node_modules/.pnpm/@vue_shared@3.5.13}/node_modules/@vue/shared/dist/shared.esm-bundler.js +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/fast-deep-equal/index.cjs +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/fast-deep-equal/index.cjs.map +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/fast-deep-equal/index.js +0 -0
- /package/dist/{martyrs/node_modules → node_modules}/fast-deep-equal/index.js.map +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WorktimeEdit.vue.cjs","sources":["../../../../../../../src/modules/spots/components/sections/WorktimeEdit.vue"],"sourcesContent":["<template>\n <div class=\"working-hours-editor w-100\">\n <div class=\"mn-b-small flex flex-nowrap flex-v-center\">\n <h4 class=\"mn-r-auto\">{{ t('workingHours.title') }}</h4>\n <Button \n class=\"bg-main\"\n :submit=\"addRegularDay\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.addRegularDay') }}\n </Button>\n </div>\n\n <!-- Таблица для регулярных часов работы -->\n <div class=\"bg-white radius-small pd-small mn-b-medium\">\n <h5 class=\"mn-b-small\">{{ t('workingHours.regularSchedule') }}</h5>\n \n <div v-if=\"worktime.regular && worktime.regular.length > 0\" class=\"regular-schedule mn-b-small\">\n <div \n v-for=\"(day, index) in worktime.regular\" \n :key=\"`regular-${index}`\" \n class=\"schedule-item pd-small mn-b-small flex flex-v-center flex-nowrap\"\n :class=\"index % 2 === 0 ? 'bg-light' : ''\"\n >\n <div class=\"day-info flex-child-1\">\n <div class=\"day-name t-semi\">{{ getWeekdayName(day.dayOfWeek) }}</div>\n <div class=\"day-hours\" v-if=\"day.isOpen && day.periods && day.periods.length > 0\">\n <template v-for=\"(period, pIndex) in day.periods\" :key=\"`period-${pIndex}`\">\n <span class=\"period t-small t-transp\">\n {{ period.open }} - {{ period.close }}\n </span>\n <span v-if=\"pIndex < day.periods.length - 1\" class=\"t-small t-transp\">, </span>\n </template>\n </div>\n <div v-else class=\"day-hours t-small t-transp t-red\">\n {{ t('workingHours.closed') }}\n </div>\n </div>\n <div class=\"day-actions flex-nowrap flex gap-small\">\n <Button \n class=\"pd-micro bg-light\"\n :submit=\"() => editRegularDay(index)\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.edit') }}\n </Button>\n <Button \n class=\"pd-micro bg-fourth-nano\"\n :submit=\"() => removeRegularDay(index)\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.remove') }}\n </Button>\n </div>\n </div>\n </div>\n <div v-else class=\"empty-schedule bg-light pd-medium radius-small t-center mn-b-small\">\n {{ t('workingHours.noRegularSchedule') }}\n </div>\n </div>\n\n <!-- Таблица для особых дней -->\n <div class=\"bg-white radius-small pd-small mn-b-small\">\n <div class=\"mn-b-small flex flex-nowrap flex-v-center\">\n <h5 class=\"mn-r-auto\">{{ t('workingHours.specialDays') }}</h5>\n <Button \n class=\"bg-light mn-l-small\"\n :submit=\"addSpecialDay\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.addSpecialDay') }}\n </Button>\n </div>\n <div v-if=\"worktime.special && worktime.special.length > 0\" class=\"special-schedule mn-b-small\">\n <div \n v-for=\"(day, index) in worktime.special\" \n :key=\"`special-${index}`\" \n class=\"schedule-item pd-small mn-b-small flex flex-v-center flex-nowrap\"\n :class=\"index % 2 === 0 ? 'bg-light' : ''\"\n >\n <div class=\"day-info flex-child-1\">\n <div class=\"flex flex-nowrap flex-v-center\">\n <div class=\"day-name t-semi\">{{ formatDate(day.date) }}</div>\n <div v-if=\"day.description\" class=\"t-small t-transp mn-l-small\">({{ day.description }})</div>\n </div>\n <div class=\"day-hours\" v-if=\"day.isOpen && day.periods && day.periods.length > 0\">\n <template v-for=\"(period, pIndex) in day.periods\" :key=\"`special-period-${pIndex}`\">\n <span class=\"period t-small t-transp\">\n {{ period.open }} - {{ period.close }}\n </span>\n <span v-if=\"pIndex < day.periods.length - 1\" class=\"t-small t-transp\">, </span>\n </template>\n </div>\n <div v-else class=\"day-hours t-small t-transp t-red\">\n {{ t('workingHours.closed') }}\n </div>\n </div>\n <div class=\"day-actions flex-nowrap flex gap-small\">\n <Button \n class=\"pd-micro bg-light\"\n :submit=\"() => editSpecialDay(index)\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.edit') }}\n </Button>\n <Button \n class=\"pd-micro bg-fourth-nano\"\n :submit=\"() => removeSpecialDay(index)\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.remove') }}\n </Button>\n </div>\n </div>\n </div>\n <div v-else class=\"empty-schedule bg-light pd-medium radius-small t-center\">\n {{ t('workingHours.noSpecialDays') }}\n </div>\n </div>\n\n <!-- Модальное окно для добавления/редактирования регулярного дня -->\n <Popup \n :isPopupOpen=\"showRegularDayModal\" \n @close-popup=\"showRegularDayModal = false\"\n :title=\"editingRegularIndex !== null ? t('workingHours.editRegularDay') : t('workingHours.addRegularDay')\"\n class=\"bg-white pd-semi w-m-33r radius-big\"\n >\n <div class=\"schedule-editor\">\n <Select \n v-model:select=\"currentRegularDay.dayOfWeek\"\n value=\"text\"\n :options=\"availableWeekdays\"\n property=\"value\"\n class=\"pos-relative w-100 mn-b-small bg-light radius-small pd-medium\"\n />\n\n <Checkbox \n :label=\"t('workingHours.isOpen')\"\n name=\"isOpenRegular\"\n :value=\"true\"\n :radio=\"currentRegularDay.isOpen\"\n @update:radio=\"val => currentRegularDay.isOpen = val\"\n class=\"w-100 mn-b-small bg-light radius-small pd-small\"\n />\n \n <div v-if=\"currentRegularDay.isOpen\">\n <div class=\"flex flex-nowrap flex-v-center mn-b-small\">\n <h5 class=\"mn-r-auto\">{{ t('workingHours.periods') }}</h5>\n <Button \n class=\"pd-micro bg-light\"\n :submit=\"addPeriodToRegular\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.addPeriod') }}\n </Button>\n </div>\n \n <div v-if=\"validationErrors.overlappingPeriods\" class=\"error-message mn-b-small pd-small radius-small bg-fourth-nano\">\n {{ t('workingHours.errorOverlappingPeriods') }}\n </div>\n \n <div \n v-for=\"(period, pIndex) in currentRegularDay.periods\" \n :key=\"`edit-period-${pIndex}`\"\n class=\"period-row mn-b-small flex flex-nowrap gap-small\"\n >\n <div class=\"flex-child-1 time-inputs cols-2 gap-small\">\n <Field \n v-model:field=\"period.open\"\n :label=\"t('workingHours.opens')\"\n type=\"time\"\n class=\"bg-light radius-small pd-medium\"\n @blur=\"validatePeriods\"\n />\n <Field \n v-model:field=\"period.close\"\n :label=\"t('workingHours.closes')\"\n type=\"time\"\n class=\"bg-light radius-small pd-medium\"\n @blur=\"validatePeriods\"\n />\n </div>\n <Button \n v-if=\"currentRegularDay.periods.length > 1\"\n class=\"pd-micro bg-fourth-nano\"\n :submit=\"() => removeRegularPeriod(pIndex)\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.remove') }}\n </Button>\n </div>\n </div>\n \n <div class=\"button-group flex flex-nowrap gap-small mn-t-medium\">\n <Button \n class=\"w-100 bg-light\"\n :submit=\"() => showRegularDayModal = false\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.cancel') }}\n </Button>\n <Button \n class=\"w-100 bg-main\"\n :submit=\"saveRegularDay\"\n :showSucces=\"false\"\n :disabled=\"!isValidRegularDay\"\n >\n {{ t('workingHours.save') }}\n </Button>\n </div>\n </div>\n </Popup>\n\n <!-- Модальное окно для добавления/редактирования особого дня -->\n <Popup \n :isPopupOpen=\"showSpecialDayModal\" \n @close-popup=\"showSpecialDayModal = false\"\n :title=\"editingSpecialIndex !== null ? t('workingHours.editSpecialDay') : t('workingHours.addSpecialDay')\"\n class=\"bg-white pd-semi w-m-33r radius-big\"\n >\n <div class=\"schedule-editor\">\n <Field \n v-model:field=\"currentSpecialDay.dateInput\"\n :label=\"t('workingHours.date')\"\n type=\"date\"\n class=\"bg-light radius-small pd-medium mn-b-small\"\n @blur=\"validateSpecialDate\"\n />\n \n <div v-if=\"validationErrors.duplicateDate\" class=\"error-message mn-b-small pd-small radius-small bg-fourth-nano\">\n {{ t('workingHours.errorDuplicateDate') }}\n </div>\n \n <Field \n v-model:field=\"currentSpecialDay.description\"\n :label=\"t('workingHours.description')\"\n :placeholder=\"t('workingHours.descriptionPlaceholder')\"\n class=\"bg-light radius-small pd-medium mn-b-small\"\n />\n\n <Checkbox \n :label=\"t('workingHours.isOpen')\"\n name=\"isOpenSpecial\"\n :value=\"true\"\n :radio=\"currentSpecialDay.isOpen\"\n @update:radio=\"val => currentSpecialDay.isOpen = val\"\n class=\"w-100 mn-b-small bg-white radius-small pd-small\"\n />\n \n <div v-if=\"currentSpecialDay.isOpen\">\n <div class=\"flex flex-nowrap flex-v-center mn-b-small\">\n <h5 class=\"mn-r-auto\">{{ t('workingHours.periods') }}</h5>\n <Button \n class=\"pd-micro bg-light\"\n :submit=\"addPeriodToSpecial\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.addPeriod') }}\n </Button>\n </div>\n \n <div v-if=\"validationErrors.overlappingPeriods\" class=\"error-message mn-b-small pd-small radius-small bg-fourth-nano\">\n {{ t('workingHours.errorOverlappingPeriods') }}\n </div>\n \n <div \n v-for=\"(period, pIndex) in currentSpecialDay.periods\" \n :key=\"`edit-special-period-${pIndex}`\"\n class=\"period-row mn-b-small flex flex-nowrap gap-small\"\n >\n <div class=\"flex-child-1 time-inputs cols-2 gap-small\">\n <Field \n v-model:field=\"period.open\"\n :label=\"t('workingHours.opens')\"\n type=\"time\"\n class=\"bg-light radius-small pd-medium\"\n @blur=\"validatePeriods\"\n />\n <Field \n v-model:field=\"period.close\"\n :label=\"t('workingHours.closes')\"\n type=\"time\"\n class=\"bg-light radius-small pd-medium\"\n @blur=\"validatePeriods\"\n />\n </div>\n <Button \n v-if=\"currentSpecialDay.periods.length > 1\"\n class=\"pd-micro bg-fourth-nano\"\n :submit=\"() => removeSpecialPeriod(pIndex)\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.remove') }}\n </Button>\n </div>\n </div>\n \n <div class=\"button-group flex flex-nowrap gap-small mn-t-medium\">\n <Button \n class=\"w-100 bg-light\"\n :submit=\"() => showSpecialDayModal = false\"\n :showSucces=\"false\" \n :showLoader=\"false\"\n >\n {{ t('workingHours.cancel') }}\n </Button>\n <Button \n class=\"w-100 bg-main\"\n :submit=\"saveSpecialDay\"\n :showSucces=\"false\"\n :disabled=\"!isValidSpecialDay\"\n >\n {{ t('workingHours.save') }}\n </Button>\n </div>\n </div>\n </Popup>\n </div>\n</template>\n\n<script setup>\nimport { ref, computed, watch, onMounted } from 'vue';\nimport { useI18n } from 'vue-i18n';\n\nimport Button from '@martyrs/src/components/Button/Button.vue';\nimport Field from '@martyrs/src/components/Field/Field.vue';\nimport Select from '@martyrs/src/components/Select/Select.vue';\nimport Checkbox from '@martyrs/src/components/Checkbox/Checkbox.vue';\nimport Popup from '@martyrs/src/components/Popup/Popup.vue';\n\nconst worktime = defineModel('worktime')\nconst emit = defineEmits(['update:worktime']);\n\n// i18n\nconst { t, locale } = useI18n({\n messages: {\n en: {\n workingHours: {\n title: 'Working Hours',\n regularSchedule: 'Regular Schedule',\n specialDays: 'Special Days',\n addRegularDay: 'Add Day',\n addSpecialDay: 'Add Day',\n editRegularDay: 'Edit Regular Day',\n editSpecialDay: 'Edit Special Day',\n save: 'Save',\n cancel: 'Cancel',\n edit: 'Edit',\n remove: 'Remove',\n weekday: 'Weekday',\n date: 'Date',\n isOpen: 'Open on this day',\n description: 'Description',\n descriptionPlaceholder: 'Holiday, Special event, etc.',\n periods: 'Operating Hours',\n addPeriod: 'Add Period',\n opens: 'Opens at',\n closes: 'Closes at',\n closed: 'Closed',\n noRegularSchedule: 'No regular schedule set. Add working days to define your regular hours.',\n noSpecialDays: 'No special days set. Add special days for holidays or events.',\n errorDuplicateDate: 'This date already exists in special days.',\n errorOverlappingPeriods: 'Time periods cannot overlap.',\n selectDate: 'Please select a date.',\n errorInvalidPeriod: 'Invalid time period. Closing time must be after opening time.'\n }\n },\n ru: {\n workingHours: {\n title: 'Часы работы',\n regularSchedule: 'Регулярное расписание',\n specialDays: 'Особые дни',\n addRegularDay: 'Добавить день',\n addSpecialDay: 'Добавить особый день',\n editRegularDay: 'Изменить рабочий день',\n editSpecialDay: 'Изменить особый день',\n save: 'Сохранить',\n cancel: 'Отмена',\n edit: 'Изменить',\n remove: 'Удалить',\n weekday: 'День недели',\n date: 'Дата',\n isOpen: 'Открыто в этот день',\n description: 'Описание',\n descriptionPlaceholder: 'Праздник, особое событие и т.д.',\n periods: 'Часы работы',\n addPeriod: 'Добавить период',\n opens: 'Открывается в',\n closes: 'Закрывается в',\n closed: 'Закрыто',\n noRegularSchedule: 'Регулярное расписание не установлено. Добавьте рабочие дни для определения регулярных часов.',\n noSpecialDays: 'Особые дни не установлены. Добавьте особые дни для праздников или событий.',\n errorDuplicateDate: 'Эта дата уже существует в особых днях.',\n errorOverlappingPeriods: 'Временные периоды не могут пересекаться.',\n selectDate: 'Пожалуйста, выберите дату.',\n errorInvalidPeriod: 'Недопустимый временной период. Время закрытия должно быть после времени открытия.'\n }\n }\n }\n});\n\n// Форматирование даты с использованием браузерных API\nconst formatDate = (date) => {\n if (!date) return '';\n const dateObj = new Date(date);\n return new Intl.DateTimeFormat(locale.value, {\n weekday: 'long',\n year: 'numeric',\n month: 'long',\n day: 'numeric'\n }).format(dateObj);\n};\n\n// Получение названия дня недели по номеру\nconst getWeekdayName = (dayNumber) => {\n if (dayNumber === undefined || dayNumber === null) return '';\n \n // Создаем дату с известным начальным днем недели (1 января 2023 - воскресенье)\n const date = new Date(2023, 0, 1 + dayNumber);\n \n return new Intl.DateTimeFormat(locale.value, { weekday: 'long' }).format(date);\n};\n\n// Состояние для модальных окон\nconst showRegularDayModal = ref(false);\nconst showSpecialDayModal = ref(false);\n\n// Индексы для редактирования\nconst editingRegularIndex = ref(null);\nconst editingSpecialIndex = ref(null);\n\n// Валидация\nconst validationErrors = ref({\n overlappingPeriods: false,\n duplicateDate: false,\n invalidPeriod: false\n});\n\n// Текущие значения для редактирования\nconst currentRegularDay = ref({\n dayOfWeek: 1, // Понедельник по умолчанию\n isOpen: true,\n periods: [{\n open: '09:00',\n close: '18:00'\n }]\n});\n\nconst currentSpecialDay = ref({\n dateInput: '', // Для ввода даты в формате YYYY-MM-DD\n date: null,\n description: '',\n isOpen: false,\n periods: [{\n open: '09:00',\n close: '18:00'\n }]\n});\n\n// Список доступных дней недели (0-6)\nconst weekdays = [0, 1, 2, 3, 4, 5, 6];\n\n// Получаем доступные дни недели (исключая те, которые уже добавлены)\nconst availableWeekdays = computed(() => {\n const usedDays = new Set((worktime.value?.regular || []).map(d => d.dayOfWeek));\n \n // Фильтруем дни, которые еще не добавлены или это текущий редактируемый день\n return weekdays\n .filter(day => \n !usedDays.has(day) || \n (editingRegularIndex.value !== null && \n worktime.value?.regular[editingRegularIndex.value]?.dayOfWeek === day)\n )\n .map(day => ({\n text: getWeekdayName(day),\n value: day\n }));\n});\n\n// Проверка валидности текущего состояния\nconst isValidRegularDay = computed(() => {\n return !validationErrors.value.overlappingPeriods && !validationErrors.value.invalidPeriod;\n});\n\nconst isValidSpecialDay = computed(() => {\n return !validationErrors.value.duplicateDate && \n !validationErrors.value.overlappingPeriods && \n !validationErrors.value.invalidPeriod && \n !!currentSpecialDay.value.dateInput;\n});\n\n// Функции добавления дней\nconst addRegularDay = () => {\n editingRegularIndex.value = null;\n currentRegularDay.value = {\n dayOfWeek: availableWeekdays.value[0]?.value ?? 1,\n isOpen: true,\n periods: [{\n open: '09:00',\n close: '18:00'\n }]\n };\n validationErrors.value = {\n overlappingPeriods: false,\n duplicateDate: false,\n invalidPeriod: false\n };\n showRegularDayModal.value = true;\n};\n\nconst addSpecialDay = () => {\n editingSpecialIndex.value = null;\n // Устанавливаем текущую дату по умолчанию\n const today = new Date();\n const todayFormatted = `${today.getFullYear()}-${String(today.getMonth() + 1).padStart(2, '0')}-${String(today.getDate()).padStart(2, '0')}`;\n \n currentSpecialDay.value = {\n dateInput: todayFormatted,\n date: today,\n description: '',\n isOpen: false,\n periods: [{\n open: '09:00',\n close: '18:00'\n }]\n };\n \n validationErrors.value = {\n overlappingPeriods: false,\n duplicateDate: false,\n invalidPeriod: false\n };\n \n showSpecialDayModal.value = true;\n \n // Сразу проверяем на дублирование даты\n validateSpecialDate();\n};\n\n// Валидация периодов (проверка на пересечение)\nconst validatePeriods = () => {\n const periods = showRegularDayModal.value ? \n currentRegularDay.value.periods : \n currentSpecialDay.value.periods;\n \n if (!periods || periods.length <= 1) {\n validationErrors.value.overlappingPeriods = false;\n validationErrors.value.invalidPeriod = false;\n return;\n }\n \n // Проверка на недопустимые периоды (конец раньше начала)\n validationErrors.value.invalidPeriod = periods.some(period => \n period.open >= period.close\n );\n \n if (validationErrors.value.invalidPeriod) {\n return;\n }\n \n // Сортируем периоды по времени начала\n const sortedPeriods = [...periods].sort((a, b) => a.open.localeCompare(b.open));\n \n // Проверяем пересечения\n for (let i = 0; i < sortedPeriods.length - 1; i++) {\n if (sortedPeriods[i].close > sortedPeriods[i + 1].open) {\n validationErrors.value.overlappingPeriods = true;\n return;\n }\n }\n \n validationErrors.value.overlappingPeriods = false;\n};\n\n// Валидация даты для особого дня (проверка на дублирование)\nconst validateSpecialDate = () => {\n if (!currentSpecialDay.value.dateInput) {\n validationErrors.value.duplicateDate = false;\n return;\n }\n \n const newDateObj = new Date(currentSpecialDay.value.dateInput);\n newDateObj.setHours(0, 0, 0, 0); // Нормализуем время\n \n const isDuplicate = worktime.value.special.some((specialDay, index) => {\n if (editingSpecialIndex.value === index) return false; // Пропускаем текущий редактируемый день\n \n const existingDate = new Date(specialDay.date);\n existingDate.setHours(0, 0, 0, 0); // Нормализуем время\n \n return existingDate.getTime() === newDateObj.getTime();\n });\n \n validationErrors.value.duplicateDate = isDuplicate;\n};\n\n// Методы для работы с регулярными днями\nconst editRegularDay = (index) => {\n editingRegularIndex.value = index;\n const day = JSON.parse(JSON.stringify(worktime.value.regular[index]));\n \n // Если нет периодов, добавляем пустой\n if (!day.periods || day.periods.length === 0) {\n day.periods = [{\n open: '09:00',\n close: '18:00'\n }];\n }\n \n currentRegularDay.value = day;\n validationErrors.value = {\n overlappingPeriods: false,\n duplicateDate: false,\n invalidPeriod: false\n };\n showRegularDayModal.value = true;\n \n // Валидируем периоды\n validatePeriods();\n};\n\nconst removeRegularDay = (index) => {\n const updatedWorktime = { ...worktime.value };\n updatedWorktime.regular.splice(index, 1);\n emit('update:worktime', updatedWorktime);\n};\n\nconst saveRegularDay = () => {\n // Проверяем валидность\n validatePeriods();\n if (!isValidRegularDay.value) {\n return;\n }\n \n // Копируем текущее значение модели\n const updatedWorktime = JSON.parse(JSON.stringify(worktime.value));\n \n // Убеждаемся, что regular существует\n if (!updatedWorktime.regular) {\n updatedWorktime.regular = [];\n }\n \n // Копируем текущий день\n const dayToSave = { ...currentRegularDay.value };\n \n // Если день закрыт, удаляем периоды\n if (!dayToSave.isOpen) {\n dayToSave.periods = [];\n }\n \n // Обновляем или добавляем\n if (editingRegularIndex.value !== null) {\n updatedWorktime.regular[editingRegularIndex.value] = dayToSave;\n } else {\n updatedWorktime.regular.push(dayToSave);\n }\n \n // Сортируем по дням недели\n updatedWorktime.regular.sort((a, b) => a.dayOfWeek - b.dayOfWeek);\n \n // Обновляем модель\n worktime.value = updatedWorktime\n emit('update:worktime', updatedWorktime);\n showRegularDayModal.value = false;\n};\n\nconst addPeriodToRegular = () => {\n currentRegularDay.value.periods.push({\n open: '09:00',\n close: '18:00'\n });\n validatePeriods();\n};\n\nconst removeRegularPeriod = (index) => {\n currentRegularDay.value.periods.splice(index, 1);\n validatePeriods();\n};\n\n// Методы для работы с особыми днями\nconst editSpecialDay = (index) => {\n editingSpecialIndex.value = index;\n const day = JSON.parse(JSON.stringify(worktime.value.special[index]));\n \n // Форматируем дату для поля ввода\n const date = new Date(day.date);\n const dateForInput = `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, '0')}-${String(date.getDate()).padStart(2, '0')}`;\n \n // Если нет периодов, добавляем пустой\n if (!day.periods || day.periods.length === 0) {\n day.periods = [{\n open: '09:00',\n close: '18:00'\n }];\n }\n \n currentSpecialDay.value = {\n ...day,\n dateInput: dateForInput\n };\n \n validationErrors.value = {\n overlappingPeriods: false,\n duplicateDate: false,\n invalidPeriod: false\n };\n showSpecialDayModal.value = true;\n \n // Валидируем периоды\n validatePeriods();\n};\n\nconst removeSpecialDay = (index) => {\n const updatedWorktime = { ...worktime.value };\n updatedWorktime.special.splice(index, 1);\n emit('update:worktime', updatedWorktime);\n};\n\nconst saveSpecialDay = () => {\n // Проверяем валидность\n validateSpecialDate();\n validatePeriods();\n \n if (!isValidSpecialDay.value) {\n if (!currentSpecialDay.value.dateInput) {\n alert(t('workingHours.selectDate'));\n }\n return;\n }\n \n // Копируем текущее значение модели\n const updatedWorktime = JSON.parse(JSON.stringify(worktime.value));\n \n // Убеждаемся, что special существует\n if (!updatedWorktime.special) {\n updatedWorktime.special = [];\n }\n \n // Преобразуем дату из input в объект Date\n const dateParts = currentSpecialDay.value.dateInput.split('-');\n const specialDate = new Date(\n parseInt(dateParts[0]), \n parseInt(dateParts[1]) - 1, \n parseInt(dateParts[2])\n );\n \n // Копируем текущий день и обновляем дату\n const dayToSave = { \n ...currentSpecialDay.value,\n date: specialDate\n };\n \n // Удаляем вспомогательное поле\n delete dayToSave.dateInput;\n \n // Если день закрыт, удаляем периоды\n if (!dayToSave.isOpen) {\n dayToSave.periods = [];\n }\n \n // Обновляем или добавляем\n if (editingSpecialIndex.value !== null) {\n updatedWorktime.special[editingSpecialIndex.value] = dayToSave;\n } else {\n updatedWorktime.special.push(dayToSave);\n }\n \n // Сортируем по датам\n updatedWorktime.special.sort((a, b) => new Date(a.date) - new Date(b.date));\n \n // Обновляем модель\n emit('update:worktime', updatedWorktime);\n showSpecialDayModal.value = false;\n};\n\nconst addPeriodToSpecial = () => {\n currentSpecialDay.value.periods.push({\n open: '09:00',\n close: '18:00'\n });\n validatePeriods();\n};\n\nconst removeSpecialPeriod = (index) => {\n currentSpecialDay.value.periods.splice(index, 1);\n validatePeriods();\n};\n\n// Инициализация значений при монтировании\nonMounted(() => {\n // Проверяем, что начальное значение модели имеет правильную структуру\n const initialValue = JSON.parse(JSON.stringify(worktime.value));\n if (!initialValue.regular) initialValue.regular = [];\n if (!initialValue.special) initialValue.special = [];\n \n emit('update:worktime', initialValue);\n});\n</script>\n\n<style scoped>\n.working-hours-editor {\n border-radius: 8px;\n}\n\n.schedule-item {\n transition: all 0.3s ease;\n border-bottom: 1px solid rgba(var(--grey), 0.1);\n}\n\n.schedule-item:last-child {\n border-bottom: none;\n}\n\n.period {\n display: inline-block;\n}\n\n.empty-schedule {\n color: rgba(var(--dark), 0.6);\n}\n\n.period-row {\n align-items: center;\n}\n\n.error-message {\n color: white;\n}\n</style>"],"names":["_useModel","useI18n","ref","computed","_a","onMounted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqVA,UAAM,WAAWA,IAAAA,SAAY,SAAA,UAAU;AACvC,UAAM,OAAO;AAGb,UAAM,EAAE,GAAG,OAAQ,IAAGC,gBAAQ;AAAA,MAC5B,UAAU;AAAA,QACR,IAAI;AAAA,UACF,cAAc;AAAA,YACZ,OAAO;AAAA,YACP,iBAAiB;AAAA,YACjB,aAAa;AAAA,YACb,eAAe;AAAA,YACf,eAAe;AAAA,YACf,gBAAgB;AAAA,YAChB,gBAAgB;AAAA,YAChB,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,aAAa;AAAA,YACb,wBAAwB;AAAA,YACxB,SAAS;AAAA,YACT,WAAW;AAAA,YACX,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,mBAAmB;AAAA,YACnB,eAAe;AAAA,YACf,oBAAoB;AAAA,YACpB,yBAAyB;AAAA,YACzB,YAAY;AAAA,YACZ,oBAAoB;AAAA,UAC5B;AAAA,QACK;AAAA,QACD,IAAI;AAAA,UACF,cAAc;AAAA,YACZ,OAAO;AAAA,YACP,iBAAiB;AAAA,YACjB,aAAa;AAAA,YACb,eAAe;AAAA,YACf,eAAe;AAAA,YACf,gBAAgB;AAAA,YAChB,gBAAgB;AAAA,YAChB,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,SAAS;AAAA,YACT,MAAM;AAAA,YACN,QAAQ;AAAA,YACR,aAAa;AAAA,YACb,wBAAwB;AAAA,YACxB,SAAS;AAAA,YACT,WAAW;AAAA,YACX,OAAO;AAAA,YACP,QAAQ;AAAA,YACR,QAAQ;AAAA,YACR,mBAAmB;AAAA,YACnB,eAAe;AAAA,YACf,oBAAoB;AAAA,YACpB,yBAAyB;AAAA,YACzB,YAAY;AAAA,YACZ,oBAAoB;AAAA,UAC5B;AAAA,QACA;AAAA,MACA;AAAA,IACA,CAAC;AAGD,UAAM,aAAa,CAAC,SAAS;AAC3B,UAAI,CAAC,KAAM,QAAO;AAClB,YAAM,UAAU,IAAI,KAAK,IAAI;AAC7B,aAAO,IAAI,KAAK,eAAe,OAAO,OAAO;AAAA,QAC3C,SAAS;AAAA,QACT,MAAM;AAAA,QACN,OAAO;AAAA,QACP,KAAK;AAAA,MACT,CAAG,EAAE,OAAO,OAAO;AAAA,IACnB;AAGA,UAAM,iBAAiB,CAAC,cAAc;AACpC,UAAI,cAAc,UAAa,cAAc,KAAM,QAAO;AAG1D,YAAM,OAAO,IAAI,KAAK,MAAM,GAAG,IAAI,SAAS;AAE5C,aAAO,IAAI,KAAK,eAAe,OAAO,OAAO,EAAE,SAAS,OAAQ,CAAA,EAAE,OAAO,IAAI;AAAA,IAC/E;AAGA,UAAM,sBAAsBC,IAAG,IAAC,KAAK;AACrC,UAAM,sBAAsBA,IAAG,IAAC,KAAK;AAGrC,UAAM,sBAAsBA,IAAG,IAAC,IAAI;AACpC,UAAM,sBAAsBA,IAAG,IAAC,IAAI;AAGpC,UAAM,mBAAmBA,IAAAA,IAAI;AAAA,MAC3B,oBAAoB;AAAA,MACpB,eAAe;AAAA,MACf,eAAe;AAAA,IACjB,CAAC;AAGD,UAAM,oBAAoBA,IAAAA,IAAI;AAAA,MAC5B,WAAW;AAAA;AAAA,MACX,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,MACR,CAAA;AAAA,IACH,CAAC;AAED,UAAM,oBAAoBA,IAAAA,IAAI;AAAA,MAC5B,WAAW;AAAA;AAAA,MACX,MAAM;AAAA,MACN,aAAa;AAAA,MACb,QAAQ;AAAA,MACR,SAAS,CAAC;AAAA,QACR,MAAM;AAAA,QACN,OAAO;AAAA,MACR,CAAA;AAAA,IACH,CAAC;AAGD,UAAM,WAAW,CAAC,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAGrC,UAAM,oBAAoBC,IAAQ,SAAC,MAAM;;AACvC,YAAM,WAAW,IAAI,OAAK,cAAS,UAAT,mBAAgB,YAAW,CAAA,GAAI,IAAI,OAAK,EAAE,SAAS,CAAC;AAG9E,aAAO,SACJ;AAAA,QAAO,SAAG;;AACT,kBAAC,SAAS,IAAI,GAAG,KAChB,oBAAoB,UAAU,UAC9B,MAAAC,MAAA,SAAS,UAAT,gBAAAA,IAAgB,QAAQ,oBAAoB,WAA5C,mBAAoD,eAAc;AAAA;AAAA,MACzE,EACK,IAAI,UAAQ;AAAA,QACX,MAAM,eAAe,GAAG;AAAA,QACxB,OAAO;AAAA,MACb,EAAM;AAAA,IACN,CAAC;AAGD,UAAM,oBAAoBD,IAAQ,SAAC,MAAM;AACvC,aAAO,CAAC,iBAAiB,MAAM,sBAAsB,CAAC,iBAAiB,MAAM;AAAA,IAC/E,CAAC;AAED,UAAM,oBAAoBA,IAAQ,SAAC,MAAM;AACvC,aAAO,CAAC,iBAAiB,MAAM,iBACxB,CAAC,iBAAiB,MAAM,sBACxB,CAAC,iBAAiB,MAAM,iBACxB,CAAC,CAAC,kBAAkB,MAAM;AAAA,IACnC,CAAC;AAGD,UAAM,gBAAgB,MAAM;;AAC1B,0BAAoB,QAAQ;AAC5B,wBAAkB,QAAQ;AAAA,QACxB,aAAW,uBAAkB,MAAM,CAAC,MAAzB,mBAA4B,UAAS;AAAA,QAChD,QAAQ;AAAA,QACR,SAAS,CAAC;AAAA,UACR,MAAM;AAAA,UACN,OAAO;AAAA,QACR,CAAA;AAAA,MACF;AACD,uBAAiB,QAAQ;AAAA,QACvB,oBAAoB;AAAA,QACpB,eAAe;AAAA,QACf,eAAe;AAAA,MAChB;AACD,0BAAoB,QAAQ;AAAA,IAC9B;AAEA,UAAM,gBAAgB,MAAM;AAC1B,0BAAoB,QAAQ;AAE5B,YAAM,QAAQ,oBAAI,KAAM;AACxB,YAAM,iBAAiB,GAAG,MAAM,YAAa,CAAA,IAAI,OAAO,MAAM,SAAU,IAAG,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC,IAAI,OAAO,MAAM,QAAS,CAAA,EAAE,SAAS,GAAG,GAAG,CAAC;AAE1I,wBAAkB,QAAQ;AAAA,QACxB,WAAW;AAAA,QACX,MAAM;AAAA,QACN,aAAa;AAAA,QACb,QAAQ;AAAA,QACR,SAAS,CAAC;AAAA,UACR,MAAM;AAAA,UACN,OAAO;AAAA,QACR,CAAA;AAAA,MACF;AAED,uBAAiB,QAAQ;AAAA,QACvB,oBAAoB;AAAA,QACpB,eAAe;AAAA,QACf,eAAe;AAAA,MAChB;AAED,0BAAoB,QAAQ;AAG5B,0BAAqB;AAAA,IACvB;AAGA,UAAM,kBAAkB,MAAM;AAC5B,YAAM,UAAU,oBAAoB,QACrB,kBAAkB,MAAM,UACxB,kBAAkB,MAAM;AAEvC,UAAI,CAAC,WAAW,QAAQ,UAAU,GAAG;AACnC,yBAAiB,MAAM,qBAAqB;AAC5C,yBAAiB,MAAM,gBAAgB;AACvC;AAAA,MACJ;AAGE,uBAAiB,MAAM,gBAAgB,QAAQ;AAAA,QAAK,YAClD,OAAO,QAAQ,OAAO;AAAA,MACvB;AAED,UAAI,iBAAiB,MAAM,eAAe;AACxC;AAAA,MACJ;AAGE,YAAM,gBAAgB,CAAC,GAAG,OAAO,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,KAAK,cAAc,EAAE,IAAI,CAAC;AAG9E,eAAS,IAAI,GAAG,IAAI,cAAc,SAAS,GAAG,KAAK;AACjD,YAAI,cAAc,CAAC,EAAE,QAAQ,cAAc,IAAI,CAAC,EAAE,MAAM;AACtD,2BAAiB,MAAM,qBAAqB;AAC5C;AAAA,QACN;AAAA,MACA;AAEE,uBAAiB,MAAM,qBAAqB;AAAA,IAC9C;AAGA,UAAM,sBAAsB,MAAM;AAChC,UAAI,CAAC,kBAAkB,MAAM,WAAW;AACtC,yBAAiB,MAAM,gBAAgB;AACvC;AAAA,MACJ;AAEE,YAAM,aAAa,IAAI,KAAK,kBAAkB,MAAM,SAAS;AAC7D,iBAAW,SAAS,GAAG,GAAG,GAAG,CAAC;AAE9B,YAAM,cAAc,SAAS,MAAM,QAAQ,KAAK,CAAC,YAAY,UAAU;AACrE,YAAI,oBAAoB,UAAU,MAAO,QAAO;AAEhD,cAAM,eAAe,IAAI,KAAK,WAAW,IAAI;AAC7C,qBAAa,SAAS,GAAG,GAAG,GAAG,CAAC;AAEhC,eAAO,aAAa,cAAc,WAAW,QAAS;AAAA,MAC1D,CAAG;AAED,uBAAiB,MAAM,gBAAgB;AAAA,IACzC;AAGA,UAAM,iBAAiB,CAAC,UAAU;AAChC,0BAAoB,QAAQ;AAC5B,YAAM,MAAM,KAAK,MAAM,KAAK,UAAU,SAAS,MAAM,QAAQ,KAAK,CAAC,CAAC;AAGpE,UAAI,CAAC,IAAI,WAAW,IAAI,QAAQ,WAAW,GAAG;AAC5C,YAAI,UAAU,CAAC;AAAA,UACb,MAAM;AAAA,UACN,OAAO;AAAA,QACb,CAAK;AAAA,MACL;AAEE,wBAAkB,QAAQ;AAC1B,uBAAiB,QAAQ;AAAA,QACvB,oBAAoB;AAAA,QACpB,eAAe;AAAA,QACf,eAAe;AAAA,MAChB;AACD,0BAAoB,QAAQ;AAG5B,sBAAiB;AAAA,IACnB;AAEA,UAAM,mBAAmB,CAAC,UAAU;AAClC,YAAM,kBAAkB,EAAE,GAAG,SAAS,MAAO;AAC7C,sBAAgB,QAAQ,OAAO,OAAO,CAAC;AACvC,WAAK,mBAAmB,eAAe;AAAA,IACzC;AAEA,UAAM,iBAAiB,MAAM;AAE3B,sBAAiB;AACjB,UAAI,CAAC,kBAAkB,OAAO;AAC5B;AAAA,MACJ;AAGE,YAAM,kBAAkB,KAAK,MAAM,KAAK,UAAU,SAAS,KAAK,CAAC;AAGjE,UAAI,CAAC,gBAAgB,SAAS;AAC5B,wBAAgB,UAAU,CAAE;AAAA,MAChC;AAGE,YAAM,YAAY,EAAE,GAAG,kBAAkB,MAAO;AAGhD,UAAI,CAAC,UAAU,QAAQ;AACrB,kBAAU,UAAU,CAAE;AAAA,MAC1B;AAGE,UAAI,oBAAoB,UAAU,MAAM;AACtC,wBAAgB,QAAQ,oBAAoB,KAAK,IAAI;AAAA,MACzD,OAAS;AACL,wBAAgB,QAAQ,KAAK,SAAS;AAAA,MAC1C;AAGE,sBAAgB,QAAQ,KAAK,CAAC,GAAG,MAAM,EAAE,YAAY,EAAE,SAAS;AAGhE,eAAS,QAAQ;AACjB,WAAK,mBAAmB,eAAe;AACvC,0BAAoB,QAAQ;AAAA,IAC9B;AAEA,UAAM,qBAAqB,MAAM;AAC/B,wBAAkB,MAAM,QAAQ,KAAK;AAAA,QACnC,MAAM;AAAA,QACN,OAAO;AAAA,MACX,CAAG;AACD,sBAAiB;AAAA,IACnB;AAEA,UAAM,sBAAsB,CAAC,UAAU;AACrC,wBAAkB,MAAM,QAAQ,OAAO,OAAO,CAAC;AAC/C,sBAAiB;AAAA,IACnB;AAGA,UAAM,iBAAiB,CAAC,UAAU;AAChC,0BAAoB,QAAQ;AAC5B,YAAM,MAAM,KAAK,MAAM,KAAK,UAAU,SAAS,MAAM,QAAQ,KAAK,CAAC,CAAC;AAGpE,YAAM,OAAO,IAAI,KAAK,IAAI,IAAI;AAC9B,YAAM,eAAe,GAAG,KAAK,YAAa,CAAA,IAAI,OAAO,KAAK,SAAU,IAAG,CAAC,EAAE,SAAS,GAAG,GAAG,CAAC,IAAI,OAAO,KAAK,QAAS,CAAA,EAAE,SAAS,GAAG,GAAG,CAAC;AAGrI,UAAI,CAAC,IAAI,WAAW,IAAI,QAAQ,WAAW,GAAG;AAC5C,YAAI,UAAU,CAAC;AAAA,UACb,MAAM;AAAA,UACN,OAAO;AAAA,QACb,CAAK;AAAA,MACL;AAEE,wBAAkB,QAAQ;AAAA,QACxB,GAAG;AAAA,QACH,WAAW;AAAA,MACZ;AAED,uBAAiB,QAAQ;AAAA,QACvB,oBAAoB;AAAA,QACpB,eAAe;AAAA,QACf,eAAe;AAAA,MAChB;AACD,0BAAoB,QAAQ;AAG5B,sBAAiB;AAAA,IACnB;AAEA,UAAM,mBAAmB,CAAC,UAAU;AAClC,YAAM,kBAAkB,EAAE,GAAG,SAAS,MAAO;AAC7C,sBAAgB,QAAQ,OAAO,OAAO,CAAC;AACvC,WAAK,mBAAmB,eAAe;AAAA,IACzC;AAEA,UAAM,iBAAiB,MAAM;AAE3B,0BAAqB;AACrB,sBAAiB;AAEjB,UAAI,CAAC,kBAAkB,OAAO;AAC5B,YAAI,CAAC,kBAAkB,MAAM,WAAW;AACtC,gBAAM,EAAE,yBAAyB,CAAC;AAAA,QACxC;AACI;AAAA,MACJ;AAGE,YAAM,kBAAkB,KAAK,MAAM,KAAK,UAAU,SAAS,KAAK,CAAC;AAGjE,UAAI,CAAC,gBAAgB,SAAS;AAC5B,wBAAgB,UAAU,CAAE;AAAA,MAChC;AAGE,YAAM,YAAY,kBAAkB,MAAM,UAAU,MAAM,GAAG;AAC7D,YAAM,cAAc,IAAI;AAAA,QACtB,SAAS,UAAU,CAAC,CAAC;AAAA,QACrB,SAAS,UAAU,CAAC,CAAC,IAAI;AAAA,QACzB,SAAS,UAAU,CAAC,CAAC;AAAA,MACtB;AAGD,YAAM,YAAY;AAAA,QAChB,GAAG,kBAAkB;AAAA,QACrB,MAAM;AAAA,MACP;AAGD,aAAO,UAAU;AAGjB,UAAI,CAAC,UAAU,QAAQ;AACrB,kBAAU,UAAU,CAAE;AAAA,MAC1B;AAGE,UAAI,oBAAoB,UAAU,MAAM;AACtC,wBAAgB,QAAQ,oBAAoB,KAAK,IAAI;AAAA,MACzD,OAAS;AACL,wBAAgB,QAAQ,KAAK,SAAS;AAAA,MAC1C;AAGE,sBAAgB,QAAQ,KAAK,CAAC,GAAG,MAAM,IAAI,KAAK,EAAE,IAAI,IAAI,IAAI,KAAK,EAAE,IAAI,CAAC;AAG1E,WAAK,mBAAmB,eAAe;AACvC,0BAAoB,QAAQ;AAAA,IAC9B;AAEA,UAAM,qBAAqB,MAAM;AAC/B,wBAAkB,MAAM,QAAQ,KAAK;AAAA,QACnC,MAAM;AAAA,QACN,OAAO;AAAA,MACX,CAAG;AACD,sBAAiB;AAAA,IACnB;AAEA,UAAM,sBAAsB,CAAC,UAAU;AACrC,wBAAkB,MAAM,QAAQ,OAAO,OAAO,CAAC;AAC/C,sBAAiB;AAAA,IACnB;AAGAE,QAAAA,UAAU,MAAM;AAEd,YAAM,eAAe,KAAK,MAAM,KAAK,UAAU,SAAS,KAAK,CAAC;AAC9D,UAAI,CAAC,aAAa,QAAS,cAAa,UAAU,CAAE;AACpD,UAAI,CAAC,aAAa,QAAS,cAAa,UAAU,CAAE;AAEpD,WAAK,mBAAmB,YAAY;AAAA,IACtC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|