{"version":3,"file":"js/application-2e65f28d4c6ec29842f7.js","mappings":"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","sources":["webpack://mute_meetings/./app/assets/images/design-system-icons/ sync ^\\.\\/chevron\\-.*\\.svg$","webpack://mute_meetings/./app/assets/images/icons/ sync ^\\.\\/.*$","webpack://mute_meetings/./app/assets/images/icons/ sync ^\\.\\/.*\\-arrow\\-fill\\.svg$","webpack://mute_meetings/./app/assets/images/icons/ sync ^\\.\\/.*\\-icon\\.svg$","webpack://mute_meetings/./app/assets/images/landing/companies/ sync ^\\.\\/.*\\-logo\\.png$","webpack://mute_meetings/./app/assets/images/landing/features/ sync ^\\.\\/.*\\.svg$","webpack://mute_meetings/./app/assets/images/logo/ sync ^\\.\\/mute\\-logo.*$","webpack://mute_meetings/./app/javascript/config/yup.js","webpack://mute_meetings/./app/javascript/plugins/notification/mentionNotifications.js","webpack://mute_meetings/./app/javascript/plugins/notification/documentConfigNotifications.js","webpack://mute_meetings/./app/javascript/plugins/notification/index.js","webpack://mute_meetings/./app/javascript/schemas/index.js","webpack://mute_meetings/./app/javascript/api/documents.ts","webpack://mute_meetings/./app/javascript/store/document/helpers.js","webpack://mute_meetings/./app/javascript/store/document/document.js","webpack://mute_meetings/./app/javascript/helpers/isUserMentionedInHtml.js","webpack://mute_meetings/./app/javascript/store/document/notifications.js","webpack://mute_meetings/./app/javascript/store/document/unread-messages.js","webpack://mute_meetings/./app/javascript/api/document-configurations.js","webpack://mute_meetings/./app/javascript/store/document/filters.js","webpack://mute_meetings/./app/javascript/store/document/messages.js","webpack://mute_meetings/./app/javascript/store/document/index.js","webpack://mute_meetings/./app/javascript/store/document/document-configuration.js","webpack://mute_meetings/./app/javascript/store/document/hidden.js","webpack://mute_meetings/./app/javascript/store/document/users.js","webpack://mute_meetings/./app/javascript/store/emoji.js","webpack://mute_meetings/./app/javascript/store/user.js","webpack://mute_meetings/./app/javascript/api/team.js","webpack://mute_meetings/./app/javascript/api/tags.js","webpack://mute_meetings/./app/javascript/store/team.js","webpack://mute_meetings/./app/javascript/store/index.js","webpack://mute_meetings/./app/javascript/views/meeting.vue","webpack://mute_meetings/./app/javascript/components/shared/loading-overlay.vue","webpack://mute_meetings/./app/javascript/components/shared/loading-overlay.vue?41da","webpack://mute_meetings/./app/javascript/components/shared/secondary-bar.vue","webpack://mute_meetings/./app/javascript/components/shared/secondary-bar.vue?0465","webpack://mute_meetings/./app/javascript/components/meeting/document-status.vue","webpack://mute_meetings/./app/javascript/components/meeting/document-status.vue?14da","webpack://mute_meetings/./app/javascript/components/meeting/mobile-modal.vue","webpack://mute_meetings/./app/javascript/components/meeting/instructions-modal.vue","webpack://mute_meetings/./app/javascript/components/meeting/instructions-modal.vue?eb37","webpack://mute_meetings/./app/javascript/components/design-system/nav-actions.vue?9362","webpack://mute_meetings/./app/javascript/components/design-system/nav-actions.vue","webpack://mute_meetings/./app/javascript/components/meeting/mobile-modal.vue?e8ea","webpack://mute_meetings/./app/javascript/helpers/get-preloadable-urls.js","webpack://mute_meetings/./app/javascript/views/meeting.vue?421b","webpack://mute_meetings/./app/javascript/views/documents-deprecated.vue","webpack://mute_meetings/./app/javascript/components/documents/documents-filter.vue","webpack://mute_meetings/./app/javascript/components/documents/documents-filter.vue?d16c","webpack://mute_meetings/./app/javascript/components/documents/documents-table-deprecated.vue","webpack://mute_meetings/./app/javascript/components/documents/destroy-document-modal.vue","webpack://mute_meetings/./app/javascript/components/shared/backend-errors.vue","webpack://mute_meetings/./app/javascript/components/shared/backend-errors.vue?27de","webpack://mute_meetings/./app/javascript/components/documents/destroy-document-modal.vue?fa0c","webpack://mute_meetings/./app/javascript/components/documents/documents-table-deprecated.vue?4704","webpack://mute_meetings/./app/javascript/components/shared/dropdown.vue","webpack://mute_meetings/./app/javascript/components/shared/dropdown.vue?895b","webpack://mute_meetings/./app/javascript/views/documents-deprecated.vue?78e9","webpack://mute_meetings/./app/javascript/views/sessions.vue","webpack://mute_meetings/./app/javascript/components/session/session-wrapper.vue","webpack://mute_meetings/./app/javascript/components/session/session-wrapper.vue?dc18","webpack://mute_meetings/./app/javascript/views/sessions.vue?810f","webpack://mute_meetings/./app/javascript/components/session/session-footer-link.vue","webpack://mute_meetings/./app/javascript/components/session/session-footer-link.vue?e378","webpack://mute_meetings/./app/javascript/components/shared/csrf-input.vue","webpack://mute_meetings/./app/javascript/components/shared/csrf-input.vue?e17e","webpack://mute_meetings/./app/javascript/helpers/yup.js","webpack://mute_meetings/./app/javascript/components/shared/vee-validate/mute-vv-input.vue","webpack://mute_meetings/./app/javascript/components/shared/vee-validate/mute-vv-input.vue?5bfe","webpack://mute_meetings/./app/javascript/components/session/sign-up-user-form.vue","webpack://mute_meetings/./app/javascript/utils/constants.js","webpack://mute_meetings/./app/javascript/components/session/sign-up-user-form.vue?f1b8","webpack://mute_meetings/./app/javascript/views/sign-up.vue","webpack://mute_meetings/./app/javascript/views/sign-up.vue?24c5","webpack://mute_meetings/./app/javascript/views/sign-in.vue","webpack://mute_meetings/./app/javascript/views/sign-in.vue?5ed6","webpack://mute_meetings/./app/javascript/views/forgot-password.vue","webpack://mute_meetings/./app/javascript/views/forgot-password.vue?77a5","webpack://mute_meetings/./app/javascript/views/edit-password.vue","webpack://mute_meetings/./app/javascript/views/edit-password.vue?5614","webpack://mute_meetings/./app/javascript/views/edit-document.vue","webpack://mute_meetings/./app/javascript/components/documents/document-form.vue","webpack://mute_meetings/./app/javascript/components/shared/mute-divider.vue","webpack://mute_meetings/./app/javascript/components/shared/mute-divider.vue?d4ac","webpack://mute_meetings/./app/javascript/components/documents/sections-form.vue","webpack://mute_meetings/./app/javascript/components/documents/sections-form.vue?6b54","webpack://mute_meetings/./app/javascript/components/shared/vee-validate/tip-tap-vv-editor.vue","webpack://mute_meetings/./app/javascript/helpers/get-default-date.js","webpack://mute_meetings/./app/javascript/composables/useDocumentForm.js","webpack://mute_meetings/./app/javascript/components/shared/vee-validate/tip-tap-vv-editor.vue?d74a","webpack://mute_meetings/./app/javascript/components/documents/document-form.vue?55e9","webpack://mute_meetings/./app/javascript/helpers/changedEditedSections.ts","webpack://mute_meetings/./app/javascript/helpers/documentParams.ts","webpack://mute_meetings/./app/javascript/views/edit-document.vue?5f17","webpack://mute_meetings/./app/javascript/components/landing-page/landing-cta.vue","webpack://mute_meetings/./app/javascript/components/landing-page/landing-cta.vue?9014","webpack://mute_meetings/./app/javascript/components/landing-page/landing-hero.vue?fca3","webpack://mute_meetings/./app/javascript/components/landing-page/landing-hero.vue","webpack://mute_meetings/./app/javascript/components/landing-page/landing-nav-bar.vue?e6f7","webpack://mute_meetings/./app/javascript/components/landing-page/landing-nav-bar.vue","webpack://mute_meetings/./app/javascript/components/landing-page/landing-companies.vue?3ae2","webpack://mute_meetings/./app/javascript/components/landing-page/landing-companies.vue","webpack://mute_meetings/./app/javascript/components/landing-page/landing-feature.vue?ea8f","webpack://mute_meetings/./app/javascript/components/landing-page/landing-feature.vue","webpack://mute_meetings/./app/javascript/components/landing-page/landing-features.vue?703e","webpack://mute_meetings/./app/javascript/components/landing-page/landing-features.vue","webpack://mute_meetings/./app/javascript/components/landing-page/landing-pre-footer.vue?c1b4","webpack://mute_meetings/./app/javascript/components/landing-page/landing-pre-footer.vue","webpack://mute_meetings/./app/javascript/components/landing-page/landing-footer.vue","webpack://mute_meetings/./app/javascript/components/landing-page/landing-footer.vue?5f17","webpack://mute_meetings/./app/javascript/views/landing-page.vue","webpack://mute_meetings/./app/javascript/views/landing-page.vue?f02e","webpack://mute_meetings/./app/javascript/composables/useFormattedRecurrenceDate.ts","webpack://mute_meetings/./app/javascript/composables/useDocumentDatetimeAssertions.ts","webpack://mute_meetings/./app/javascript/components/design-system/documents-item-metric.vue?dc76","webpack://mute_meetings/./app/javascript/components/design-system/documents-item-metric.vue","webpack://mute_meetings/./app/javascript/components/design-system/documents-list-item.vue?b9b1","webpack://mute_meetings/./app/javascript/components/design-system/documents-list-item.vue","webpack://mute_meetings/./app/javascript/components/design-system/document-templates-list-item-config-status.vue?2d79","webpack://mute_meetings/./app/javascript/components/design-system/document-templates-list-item-config-status.vue","webpack://mute_meetings/./app/javascript/helpers/get-current-date.js","webpack://mute_meetings/./app/javascript/components/design-system/document-templates-new-document-modal.vue?54f3","webpack://mute_meetings/./app/javascript/components/design-system/document-templates-new-document-modal.vue","webpack://mute_meetings/./app/javascript/components/design-system/document-templates-list-item.vue?e6cb","webpack://mute_meetings/./app/javascript/components/design-system/document-templates-list-item.vue","webpack://mute_meetings/./app/javascript/views/document-templates.vue?f932","webpack://mute_meetings/./app/javascript/views/document-templates.vue","webpack://mute_meetings/./app/javascript/views/no-teams.vue","webpack://mute_meetings/./app/javascript/views/no-teams.vue?ce6d","webpack://mute_meetings/./app/javascript/views/new-template.vue","webpack://mute_meetings/./app/javascript/components/templates/template-form.vue","webpack://mute_meetings/./app/javascript/composables/useTemplateForm.js","webpack://mute_meetings/./app/javascript/components/templates/recurrent-input.vue","webpack://mute_meetings/./app/javascript/components/templates/recurrent-input.vue?b353","webpack://mute_meetings/./app/javascript/components/templates/template-form.vue?8b5a","webpack://mute_meetings/./app/javascript/api/document_templates.js","webpack://mute_meetings/./app/javascript/views/new-template.vue?eb09","webpack://mute_meetings/./app/javascript/views/edit-template.vue","webpack://mute_meetings/./app/javascript/components/templates/top-bar.vue","webpack://mute_meetings/./app/javascript/components/templates/top-bar.vue?991c","webpack://mute_meetings/./app/javascript/views/edit-template.vue?a6df","webpack://mute_meetings/./app/javascript/views/users.vue","webpack://mute_meetings/./app/javascript/components/teams/user-administration-card.vue","webpack://mute_meetings/./app/javascript/components/teams/user-administration-card.vue?b6de","webpack://mute_meetings/./app/javascript/components/teams/delete-users-confirmation-modal.vue","webpack://mute_meetings/./app/javascript/components/teams/delete-users-confirmation-modal.vue?4636","webpack://mute_meetings/./app/javascript/components/documents/invite-modal.vue","webpack://mute_meetings/./app/javascript/components/shared/input-tag.vue","webpack://mute_meetings/./app/javascript/components/shared/input-tag.vue?1e6e","webpack://mute_meetings/./app/javascript/api/invitations.js","webpack://mute_meetings/./app/javascript/components/documents/invite-modal.vue?3294","webpack://mute_meetings/./app/javascript/views/users.vue?cb8d","webpack://mute_meetings/./app/javascript/components/templates/template-preview.vue","webpack://mute_meetings/./app/javascript/components/templates/destroy-template-modal.vue","webpack://mute_meetings/./app/javascript/components/templates/destroy-template-modal.vue?ba22","webpack://mute_meetings/./app/javascript/components/templates/template-preview.vue?3d4c","webpack://mute_meetings/./app/javascript/views/document-template.vue?f542","webpack://mute_meetings/./app/javascript/views/document-template.vue","webpack://mute_meetings/./app/javascript/components/shared/mute-button.vue","webpack://mute_meetings/./app/javascript/components/shared/mute-button.vue?a6f0","webpack://mute_meetings/./app/javascript/components/shared/mute-cta-button.vue","webpack://mute_meetings/./app/javascript/components/shared/mute-cta-button.vue?d282","webpack://mute_meetings/./app/javascript/components/shared/icon-button.vue","webpack://mute_meetings/./app/javascript/components/shared/icon-button.vue?4814","webpack://mute_meetings/./app/javascript/components/shared/mute-checkbox.vue","webpack://mute_meetings/./app/javascript/components/shared/mute-checkbox.vue?1b53","webpack://mute_meetings/./app/javascript/components/shared/vee-validate/mute-vv-checkbox.vue","webpack://mute_meetings/./app/javascript/components/shared/vee-validate/mute-vv-checkbox.vue?6f4c","webpack://mute_meetings/./app/javascript/components/shared/mute-radio.vue","webpack://mute_meetings/./app/javascript/components/shared/mute-radio.vue?3283","webpack://mute_meetings/./app/javascript/components/shared/vee-validate/mute-vv-radio.vue","webpack://mute_meetings/./app/javascript/components/shared/vee-validate/mute-vv-radio.vue?3a8d","webpack://mute_meetings/./app/javascript/components/shared/mute-switch.vue","webpack://mute_meetings/./app/javascript/components/shared/mute-switch.vue?1c80","webpack://mute_meetings/./app/javascript/components/shared/mute-multiselect.vue","webpack://mute_meetings/./app/javascript/components/shared/mute-multiselect.vue?74c9","webpack://mute_meetings/./app/javascript/components/shared/vee-validate/mute-vv-multiselect.vue","webpack://mute_meetings/./app/javascript/components/shared/vee-validate/mute-vv-multiselect.vue?b728","webpack://mute_meetings/./app/javascript/components/shared/mute-select.vue","webpack://mute_meetings/./app/javascript/components/shared/mute-select.vue?0faf","webpack://mute_meetings/./app/javascript/components/shared/vee-validate/mute-vv-select.vue","webpack://mute_meetings/./app/javascript/components/shared/vee-validate/mute-vv-select.vue?fad1","webpack://mute_meetings/./app/javascript/components/shared/mute-logo.vue","webpack://mute_meetings/./app/javascript/components/shared/mute-logo.vue?09be","webpack://mute_meetings/./app/javascript/components/shared/mute-tag.vue","webpack://mute_meetings/./app/javascript/components/shared/mute-tag.vue?5a07","webpack://mute_meetings/./app/javascript/components/shared/mute-notification.vue","webpack://mute_meetings/./app/javascript/components/shared/mute-notification.vue?ac51","webpack://mute_meetings/./app/javascript/components/shared/mute-pill.vue","webpack://mute_meetings/./app/javascript/components/shared/mute-pill.vue?54c8","webpack://mute_meetings/./app/javascript/components/shared/date-picker.vue","webpack://mute_meetings/./app/javascript/components/shared/date-picker.vue?c9a7","webpack://mute_meetings/./app/javascript/components/shared/nav-bar.vue","webpack://mute_meetings/./app/javascript/components/changelog/changelog-modal.vue","webpack://mute_meetings/./app/javascript/api/users.js","webpack://mute_meetings/./app/javascript/components/shared/tab-content.vue","webpack://mute_meetings/./app/javascript/components/shared/tab-content.vue?3c3e","webpack://mute_meetings/./app/javascript/components/changelog/changelog-tab.vue","webpack://mute_meetings/./app/javascript/api/changelog_items.js","webpack://mute_meetings/./app/javascript/components/changelog/render-html.vue","webpack://mute_meetings/./app/javascript/components/changelog/render-html.vue?a405","webpack://mute_meetings/./app/javascript/components/changelog/changelog-tab.vue?36e7","webpack://mute_meetings/./app/javascript/components/changelog/changelog-modal.vue?fe04","webpack://mute_meetings/./app/javascript/components/upvoty/upvoty-frame.vue","webpack://mute_meetings/./app/javascript/components/upvoty/upvoty-nav-item.vue","webpack://mute_meetings/./app/javascript/components/upvoty/upvoty-frame.vue?e7e2","webpack://mute_meetings/./app/javascript/components/upvoty/upvoty-nav-item.vue?710a","webpack://mute_meetings/./app/javascript/components/nav-bar/team-select.vue","webpack://mute_meetings/./app/javascript/components/nav-bar/team-select.vue?9461","webpack://mute_meetings/./app/javascript/components/nav-bar/language-select.vue","webpack://mute_meetings/./app/javascript/components/nav-bar/language-select.vue?1d86","webpack://mute_meetings/./app/javascript/components/shared/nav-bar.vue?cfdc","webpack://mute_meetings/./app/javascript/components/shared/flash.vue","webpack://mute_meetings/./app/javascript/components/shared/flash.vue?38e8","webpack://mute_meetings/./app/javascript/components/shared/base-modal.vue","webpack://mute_meetings/./app/javascript/components/shared/base-modal.vue?26c0","webpack://mute_meetings/./app/javascript/components/design-system/base-input.vue?50da","webpack://mute_meetings/./app/javascript/components/design-system/base-input.vue","webpack://mute_meetings/./app/javascript/components/design-system/base-select.vue?2ce3","webpack://mute_meetings/./app/javascript/components/design-system/base-select.vue","webpack://mute_meetings/./app/javascript/components/design-system/base-file-input.vue?9828","webpack://mute_meetings/./app/javascript/components/design-system/base-file-input.vue","webpack://mute_meetings/./app/javascript/composables/useFieldWithI18n.ts","webpack://mute_meetings/./app/javascript/components/design-system/base-vv-file-input.vue","webpack://mute_meetings/./app/javascript/components/design-system/base-vv-file-input.vue?29d6","webpack://mute_meetings/./app/javascript/components/design-system/base-vv-input.vue","webpack://mute_meetings/./app/javascript/components/design-system/base-vv-input.vue?9194","webpack://mute_meetings/./app/javascript/components/design-system/base-vv-select.vue","webpack://mute_meetings/./app/javascript/components/design-system/base-vv-select.vue?afbc","webpack://mute_meetings/./app/javascript/components/design-system/base-button.vue?e7fa","webpack://mute_meetings/./app/javascript/components/design-system/base-button.vue","webpack://mute_meetings/./app/javascript/components/design-system/base-checkbox.vue?6816","webpack://mute_meetings/./app/javascript/components/design-system/base-checkbox.vue","webpack://mute_meetings/./app/javascript/components/design-system/base-vv-checkbox.vue","webpack://mute_meetings/./app/javascript/components/design-system/base-vv-checkbox.vue?8938","webpack://mute_meetings/./app/javascript/components/design-system/base-radio.vue?59ba","webpack://mute_meetings/./app/javascript/components/design-system/base-radio.vue","webpack://mute_meetings/./app/javascript/components/design-system/base-vv-radio.vue","webpack://mute_meetings/./app/javascript/components/design-system/base-vv-radio.vue?845e","webpack://mute_meetings/./app/javascript/components/design-system/base-toggle.vue","webpack://mute_meetings/./app/javascript/components/design-system/base-toggle.vue?f0b0","webpack://mute_meetings/./app/javascript/components/design-system/base-vv-toggle.vue","webpack://mute_meetings/./app/javascript/components/design-system/base-vv-toggle.vue?6caf","webpack://mute_meetings/./app/javascript/components/design-system/the-navbar.vue?385b","webpack://mute_meetings/./app/javascript/components/design-system/the-navbar.vue","webpack://mute_meetings/./app/javascript/components/shared/toggle-button.vue","webpack://mute_meetings/./app/javascript/components/shared/toggle-button.vue?cd0d","webpack://mute_meetings/./app/javascript/components/meeting/meeting-host-settings.vue?1e56","webpack://mute_meetings/./app/javascript/components/meeting/meeting-host-settings.vue","webpack://mute_meetings/./app/javascript/components/meeting/meeting-personal-settings.vue","webpack://mute_meetings/./app/javascript/components/meeting/meeting-personal-settings.vue?5c7c","webpack://mute_meetings/./app/javascript/components/meeting/meeting-extra-settings.vue?ee2d","webpack://mute_meetings/./app/javascript/components/meeting/meeting-extra-settings.vue","webpack://mute_meetings/./app/javascript/components/meeting/meeting-more-settings.vue?b316","webpack://mute_meetings/./app/javascript/components/meeting/meeting-more-settings.vue","webpack://mute_meetings/./app/javascript/components/design-system/the-meeting-navbar.vue?6d84","webpack://mute_meetings/./app/javascript/components/design-system/the-meeting-navbar.vue","webpack://mute_meetings/./app/javascript/components/shared/loader.vue?fff3","webpack://mute_meetings/./app/javascript/components/shared/loader.vue","webpack://mute_meetings/./app/javascript/components/shared/dropdown-searchbar.vue?9780","webpack://mute_meetings/./app/javascript/components/shared/dropdown-searchbar.vue","webpack://mute_meetings/./app/javascript/components/design-system/the-searchbar.vue?13ff","webpack://mute_meetings/./app/javascript/components/design-system/the-searchbar.vue","webpack://mute_meetings/./app/javascript/components/design-system/sidebar-button.vue?3139","webpack://mute_meetings/./app/javascript/components/design-system/sidebar-button.vue","webpack://mute_meetings/./app/javascript/components/design-system/sidebar-button-link.vue","webpack://mute_meetings/./app/javascript/components/design-system/sidebar-button-link.vue?5937","webpack://mute_meetings/./app/javascript/api/session.ts","webpack://mute_meetings/./app/javascript/components/design-system/sidebar-edit-profile-picture.vue?44f8","webpack://mute_meetings/./app/javascript/components/design-system/sidebar-edit-profile-picture.vue?25f3","webpack://mute_meetings/./app/javascript/components/design-system/sidebar-edit-profile-modal.vue?d03c","webpack://mute_meetings/./app/javascript/components/design-system/sidebar-edit-profile-modal.vue","webpack://mute_meetings/./app/javascript/components/design-system/sidebar-profile-button.vue?ff07","webpack://mute_meetings/./app/javascript/components/design-system/sidebar-profile-button.vue","webpack://mute_meetings/./app/javascript/components/design-system/sidebar-teams-button.vue?e027","webpack://mute_meetings/./app/javascript/components/design-system/sidebar-teams-button.vue","webpack://mute_meetings/./app/javascript/components/design-system/the-sidebar.vue?6368","webpack://mute_meetings/./app/javascript/components/design-system/the-sidebar.vue","webpack://mute_meetings/./app/javascript/components/design-system/documents.vue?2fe0","webpack://mute_meetings/./app/javascript/components/design-system/documents.vue","webpack://mute_meetings/./app/javascript/utils/slack.ts","webpack://mute_meetings/./app/javascript/components/design-system/integrations-feedback.vue?9002","webpack://mute_meetings/./app/javascript/components/design-system/integrations-feedback.vue","webpack://mute_meetings/./app/javascript/views/integrations.vue?d727","webpack://mute_meetings/./app/javascript/views/integrations.vue","webpack://mute_meetings/./app/javascript/components/back-button.vue?1aac","webpack://mute_meetings/./app/javascript/components/back-button.vue","webpack://mute_meetings/./app/javascript/application.js","webpack://mute_meetings/./tailwind.config.js"],"sourcesContent":["var map = {\n\t\"./chevron-down.svg\": 98072,\n\t\"./chevron-right.svg\": 50964,\n\t\"./chevron-up.svg\": 3127\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 68397;","var map = {\n\t\"./add.svg\": 65228,\n\t\"./arrow-down.svg\": 51061,\n\t\"./attach-file-icon.svg\": 71839,\n\t\"./back-arrow-green.svg\": 61176,\n\t\"./back-arrow-no-fill.svg\": 13209,\n\t\"./back-arrow-white.svg\": 5563,\n\t\"./back-arrow.svg\": 22598,\n\t\"./backup-icon.svg\": 59215,\n\t\"./block-white.svg\": 48162,\n\t\"./bookmark-off.svg\": 94366,\n\t\"./bookmark.svg\": 52820,\n\t\"./brush-icon.svg\": 20979,\n\t\"./calendar.svg\": 24095,\n\t\"./check-icon-white.svg\": 3509,\n\t\"./check-icon.svg\": 85624,\n\t\"./chevron-down.svg\": 17897,\n\t\"./chevron-up.svg\": 46287,\n\t\"./circle.svg\": 35340,\n\t\"./clock.svg\": 50993,\n\t\"./close-icon-gray.svg\": 90973,\n\t\"./close-icon.svg\": 66191,\n\t\"./comment-icon.svg\": 86536,\n\t\"./copy-icon-black.svg\": 53467,\n\t\"./copy-icon.svg\": 19398,\n\t\"./delete.svg\": 57219,\n\t\"./down-arrow-fill.svg\": 8197,\n\t\"./down-arrow.svg\": 13009,\n\t\"./download-icon.svg\": 35857,\n\t\"./download.svg\": 73146,\n\t\"./drag.svg\": 10194,\n\t\"./edit.svg\": 53881,\n\t\"./emoji-icon.svg\": 60580,\n\t\"./eye-icon.svg\": 94400,\n\t\"./feedback.svg\": 90632,\n\t\"./filter.svg\": 12932,\n\t\"./format-bold.svg\": 97912,\n\t\"./format-bullet-list.svg\": 95054,\n\t\"./format-code.svg\": 14407,\n\t\"./format-indent-decrease.svg\": 44836,\n\t\"./format-indent-increase.svg\": 8710,\n\t\"./format-italic.svg\": 2322,\n\t\"./format-numbered-list.svg\": 91626,\n\t\"./format-quote.svg\": 85263,\n\t\"./format-strike.svg\": 96698,\n\t\"./format-title.svg\": 85977,\n\t\"./graphic-icon.svg\": 30877,\n\t\"./group-icon.svg\": 69386,\n\t\"./hamburger-icon.svg\": 75928,\n\t\"./happy-face.svg\": 24920,\n\t\"./heavy-plus.svg\": 48866,\n\t\"./info-icon.svg\": 8156,\n\t\"./instructions-icon.svg\": 68946,\n\t\"./left-arrow.svg\": 24034,\n\t\"./library-add.svg\": 70226,\n\t\"./link-icon.svg\": 27791,\n\t\"./loader.svg\": 20950,\n\t\"./metrics-icon.svg\": 95721,\n\t\"./notes-icon.svg\": 43633,\n\t\"./notifications-off.svg\": 98906,\n\t\"./notifications.svg\": 70919,\n\t\"./open-external-icon.svg\": 61051,\n\t\"./open-icon.svg\": 38624,\n\t\"./pencil.svg\": 56211,\n\t\"./person-add.svg\": 82087,\n\t\"./plus-purple.svg\": 37842,\n\t\"./plus.svg\": 68970,\n\t\"./ready.svg\": 40947,\n\t\"./redo-icon.svg\": 67871,\n\t\"./repeat-icon.svg\": 75497,\n\t\"./right-arrow.svg\": 18179,\n\t\"./search.svg\": 30223,\n\t\"./send.svg\": 66105,\n\t\"./settings-icon-purple.svg\": 66993,\n\t\"./settings-icon.svg\": 94451,\n\t\"./social/facebook.svg\": 95126,\n\t\"./social/github.svg\": 56122,\n\t\"./social/instagram.svg\": 23746,\n\t\"./social/linkedin.svg\": 94955,\n\t\"./social/twitter.svg\": 53597,\n\t\"./sort.svg\": 22196,\n\t\"./spin.svg\": 72840,\n\t\"./tag.svg\": 24478,\n\t\"./team-members-icon.svg\": 7782,\n\t\"./team-mutes-icon.svg\": 22847,\n\t\"./teams.svg\": 57532,\n\t\"./template.svg\": 57675,\n\t\"./three-dots.svg\": 92337,\n\t\"./translate.svg\": 46975,\n\t\"./undo-icon.svg\": 86,\n\t\"./unfold-less.svg\": 49310,\n\t\"./unfold-more.svg\": 917,\n\t\"./unread-message-icon.svg\": 46513,\n\t\"./up-arrow-fill.svg\": 60670,\n\t\"./upload-icon.svg\": 13652,\n\t\"./vertical_points.svg\": 44981,\n\t\"./videoconf-icon.svg\": 48827,\n\t\"./warning.svg\": 11951,\n\t\"./zoom-minus-icon.svg\": 61418,\n\t\"./zoom-plus-icon.svg\": 63300\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 59660;","var map = {\n\t\"./down-arrow-fill.svg\": 8197,\n\t\"./up-arrow-fill.svg\": 60670\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 86757;","var map = {\n\t\"./attach-file-icon.svg\": 71839,\n\t\"./backup-icon.svg\": 59215,\n\t\"./brush-icon.svg\": 20979,\n\t\"./check-icon.svg\": 85624,\n\t\"./close-icon.svg\": 66191,\n\t\"./comment-icon.svg\": 86536,\n\t\"./copy-icon.svg\": 19398,\n\t\"./download-icon.svg\": 35857,\n\t\"./emoji-icon.svg\": 60580,\n\t\"./eye-icon.svg\": 94400,\n\t\"./graphic-icon.svg\": 30877,\n\t\"./group-icon.svg\": 69386,\n\t\"./hamburger-icon.svg\": 75928,\n\t\"./info-icon.svg\": 8156,\n\t\"./instructions-icon.svg\": 68946,\n\t\"./link-icon.svg\": 27791,\n\t\"./metrics-icon.svg\": 95721,\n\t\"./notes-icon.svg\": 43633,\n\t\"./open-external-icon.svg\": 61051,\n\t\"./open-icon.svg\": 38624,\n\t\"./redo-icon.svg\": 67871,\n\t\"./repeat-icon.svg\": 75497,\n\t\"./settings-icon.svg\": 94451,\n\t\"./team-members-icon.svg\": 7782,\n\t\"./team-mutes-icon.svg\": 22847,\n\t\"./undo-icon.svg\": 86,\n\t\"./unread-message-icon.svg\": 46513,\n\t\"./upload-icon.svg\": 13652,\n\t\"./videoconf-icon.svg\": 48827,\n\t\"./zoom-minus-icon.svg\": 61418,\n\t\"./zoom-plus-icon.svg\": 63300\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 45753;","var map = {\n\t\"./budacom-logo.png\": 62208,\n\t\"./buk-logo.png\": 35992,\n\t\"./fintoc-logo.png\": 83368,\n\t\"./platanus-logo.png\": 32457,\n\t\"./platanus-ventures-logo.png\": 1654,\n\t\"./plutto-logo.png\": 73686,\n\t\"./reversso-logo.png\": 97481\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 59209;","var map = {\n\t\"./delegate.svg\": 39244,\n\t\"./everyones-opinion.svg\": 66843,\n\t\"./paralelize.svg\": 448,\n\t\"./repeat.svg\": 98885,\n\t\"./revive-the-meeting.svg\": 71893\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 79220;","var map = {\n\t\"./mute-logo-icon.svg\": 91657,\n\t\"./mute-logo.svg\": 35024\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 19914;","import * as yup from 'yup';\n\nyup.addMethod(yup.string, 'equalToSibling', function equalToSibling(siblingKey, message) {\n return this.test(\n 'equalToSibling',\n message || `should be equal to ${siblingKey}`,\n (value, context) => value === context.parent[siblingKey],\n );\n});\n","function createAnnouncementNotification(announcement, { getters }) {\n const { body, author, id, sectionId } = announcement;\n if (!getters.isUsernameInMessage(body)) return null;\n\n return {\n data: {\n author: author.username,\n authorImg: author.avatar,\n sectionId,\n announcementId: id,\n type: 'mention',\n text: body,\n },\n };\n}\n\nfunction createCommentNotification(comment, { getters }) {\n const { body, announcementId, author } = comment;\n if (!getters.isUsernameInMessage(body)) return null;\n const sectionId = getters.getSectionIdByAnnouncementId(announcementId);\n\n return {\n data: {\n author: author.username,\n authorImg: author.avatar,\n sectionId,\n announcementId,\n type: 'mention',\n text: body,\n },\n };\n}\n\nconst mentionNotifications = {\n createAnnouncement: createAnnouncementNotification,\n createComment: createCommentNotification,\n};\n\nexport default mentionNotifications;\n","function updateDocumentConfiguration(object, { getters }) {\n return Object.entries(object)\n .filter(([configName, newValue]) => {\n const getter = getters[configName];\n if (!getter) return false;\n\n const oldValue = getter();\n\n return oldValue !== newValue;\n })\n .map(([configName, newValue]) => ({\n data: {\n changedConfiguration: configName,\n enabled: newValue,\n type: 'document-configuration',\n },\n }));\n}\n\nconst documentConfigurationNotifications = {\n updateDocumentConfiguration,\n};\n\nexport default documentConfigurationNotifications;\n","import { isArray } from 'lodash';\nimport { notify } from '@kyvg/vue3-notification';\n\nimport mentionNotifications from './mentionNotifications';\nimport documentConfigurationNotifications from './documentConfigNotifications';\n\nconst notificationDataGetters = {\n ...mentionNotifications,\n ...documentConfigurationNotifications,\n};\n\nfunction showNotification(notificationData) {\n if (!notificationData) return;\n if (isArray(notificationData)) {\n notificationData.forEach((data) => showNotification(data));\n\n return;\n }\n notify(notificationData);\n}\n\nfunction handleNotification(action, object, store) {\n if (notificationDataGetters[action]) {\n const notificationData = notificationDataGetters[action](object, store);\n showNotification(notificationData);\n }\n}\n\nconst notificationPlugin = {\n install(app, { store }) {\n app.config.globalProperties.$showNotification = (action, object) => {\n handleNotification(action, object, store);\n };\n },\n};\n\nexport default notificationPlugin;\n","import { schema } from 'normalizr';\n\nconst reaction = new schema.Entity('reactions');\n\nconst comment = new schema.Entity('comments', {\n reactions: [reaction],\n});\n\nconst announcement = new schema.Entity('announcements', {\n comments: [comment],\n reactions: [reaction],\n});\n\nconst section = new schema.Entity('sections', {\n announcements: [announcement],\n});\n\nconst user = new schema.Entity('users');\n\nconst documentConfiguration = new schema.Entity('documentConfiguration');\n\nconst document = new schema.Entity('documents', {\n sections: [section],\n users: [user],\n documentConfiguration,\n});\n\nexport default {\n comment,\n announcement,\n section,\n document,\n};\n","import api from './index';\nexport default { getDocument(documentId) { return api({ method: 'get', url: `/api/internal/documents/${documentId}?deep=true` }); }, createDocument(documentTemplateId, body) { return api({ method: 'post', url: `/api/internal/document_templates/${documentTemplateId}/documents`, data: body }).then(response => response.data.document); }, updateDocument(documentId, body) { return api({ method: 'put', url: `/api/internal/documents/${documentId}`, data: body }); }, destroyDocument(documentId) { return api({ method: 'delete', url: `/api/internal/documents/${documentId}` }); }, getMetrics(documentId) { return api({ method: 'get', url: `/api/internal/documents/${documentId}/metrics` }); } };\n","import { intersection } from 'lodash';\n\nexport function getSectionIdFromAnnouncementId(sections, announcementId) {\n const section = Object.values(sections).find((sec) => sec.announcements.includes(Number(announcementId)));\n\n return section ? section.id : null;\n}\n\nexport function getSavedAnnouncementIndex(state, payload) {\n const sections = state.savedAnnouncementsByDocument[payload.documentId] || {};\n const announcements = sections[payload.sectionId] || [];\n\n return announcements.findIndex(item => item === payload.announcementId);\n}\n\nexport function removeSavedAnnouncement(state, payload) {\n const sections = state.savedAnnouncementsByDocument[payload.documentId] || {};\n sections[payload.sectionId].splice(payload.announcementIndex, 1);\n if (sections[payload.sectionId].length === 0) {\n delete sections[payload.sectionId];\n if (Object.keys(sections).length === 0) {\n delete state.savedAnnouncementsByDocument[payload.documentId];\n }\n }\n}\n\nexport function addSavedAnnouncement(state, payload) {\n if (!state.savedAnnouncementsByDocument[payload.documentId]) {\n state.savedAnnouncementsByDocument[payload.documentId] = {};\n }\n if (!state.savedAnnouncementsByDocument[payload.documentId][payload.sectionId]) {\n state.savedAnnouncementsByDocument[payload.documentId][payload.sectionId] = [];\n }\n state.savedAnnouncementsByDocument[payload.documentId][payload.sectionId].push(payload.announcementId);\n}\n\nexport function tagIntersection(tags) {\n return (announcement) => intersection(announcement.tagList, tags).length > 0;\n}\n","import resolveConfig from 'tailwindcss/resolveConfig';\nimport { normalize } from 'normalizr';\nimport { pickBy } from 'lodash';\nimport schemas from '../../schemas';\n\nimport documentApi from '../../api/documents';\nimport tailwindConfig from '../../../../tailwind.config.js';\nimport { logCheckOldMuteEvent } from '../../helpers/amplitude';\nimport isUserMentionedInHtml from '../../helpers/isUserMentionedInHtml';\nimport { getSectionIdFromAnnouncementId } from './helpers';\n\nconst initialState = {\n document: null,\n sections: null,\n windowWidth: window.innerWidth,\n onSearchPage: false,\n};\n\nconst fullConfig = resolveConfig(tailwindConfig);\n\nconst getters = {\n hasLargeScreen(state) {\n return state.windowWidth >= parseInt(fullConfig.theme.screens.lg.replace('px', ''), 10);\n },\n sections(state, documentGetters) {\n if (documentGetters.anyFilterToggled) {\n return pickBy(documentGetters.filteredSectionAnnouncements,\n (section) => section.announcements.length > 0);\n }\n\n return state.sections;\n },\n getSectionIdByAnnouncementId: (state, _getters) => (announcementId) => {\n const sections = _getters.sections;\n\n return getSectionIdFromAnnouncementId(sections, announcementId);\n },\n isUsernameInMessage: (_state, _getters, rootState) => (\n (message) => isUserMentionedInHtml(message, rootState.user.username)\n ),\n};\n\nconst actions = {\n getDocument({ commit, state, rootState }) {\n return documentApi.getDocument(state.document.id)\n .then(({ data }) => {\n const response = data.document;\n const normalizedData = normalize(response, schemas.document);\n commit('setDocument', normalizedData.entities.documents[state.document.id]);\n commit('setSections', normalizedData.entities.sections);\n commit('setAnnouncements', normalizedData.entities.announcements);\n commit('setComments', normalizedData.entities.comments);\n commit('setReactions', normalizedData.entities.reactions);\n commit('setUsers', normalizedData.entities.users);\n commit('setDocumentConfiguration',\n normalizedData.entities.documentConfiguration[\n normalizedData.entities.documents[state.document.id].documentConfiguration\n ],\n );\n logCheckOldMuteEvent(response, rootState.team.teamId);\n });\n },\n setDocumentId({ commit }, documentId) {\n commit('setDocument', { id: documentId });\n },\n createSection({ commit }, section) {\n commit('updateSection', section);\n },\n setWindowWidth({ commit }, payload) {\n commit('setWindowWidth', payload);\n },\n toggleOnSearchPage({ commit }, newValue) {\n commit('setOnSearchPage', newValue);\n },\n};\n\nconst mutations = {\n setDocument(state, payload) {\n state.document = payload;\n },\n setSections(state, payload) {\n state.sections = payload;\n },\n updateSection(state, payload) {\n state.sections[payload.id] = payload;\n },\n setWindowWidth(state, payload) {\n state.windowWidth = payload;\n },\n setOnSearchPage(state, newValue) {\n state.onSearchPage = newValue;\n },\n};\n\nexport default {\n state: { ...initialState },\n actions,\n mutations,\n getters,\n};\n","/**\n * Determines if a user is mentioned in a given HTML string, which follows tiptap's\n * schema.\n * @param {string} tiptapHtml - HTML string that follows tiptap's schema\n * @returns {boolean} Whether or not the user is mentioned in the HTML string\n */\nexport default function isUserMentionedInHtml(tiptapHtml, username) {\n const parser = new DOMParser();\n const doc = parser.parseFromString(tiptapHtml, 'text/html');\n\n const mention = doc.querySelector(`[data-type=mention][data-id=\"${username}\"]`);\n\n return Boolean(mention);\n}\n","import { pickBy } from 'lodash';\nimport { getSectionIdFromAnnouncementId } from './helpers';\n\nconst initialState = {\n mutedSections: {},\n mutedAnnouncements: {},\n announcementsNotificated: [],\n commentsNotificated: [],\n notificationsAllowed: true,\n};\n\nconst getters = {\n taggedMessages(state, documentGetters) {\n return pickBy(state.announcements, (announcement) => {\n const announcementMessage = announcement.body;\n const commentsIds = Object.values(announcement.comments);\n const commentsMessages = commentsIds.map((id) => state.comments[id].body);\n const allMessages = [announcementMessage, ...commentsMessages];\n\n return allMessages.some((message) => documentGetters.isUsernameInMessage(message));\n });\n },\n};\n\nconst actions = {\n toggleNotification({ commit }, newValue) {\n commit('setMutedNotifications', newValue);\n },\n updateNotifications({ commit }, payload) {\n commit(`update${payload.type}Notificated`, payload.object);\n },\n};\n\nconst mutations = {\n setMutedNotifications(state, { type, index, notification }) {\n if (notification) {\n state[type][index] = notification;\n } else {\n delete state[type][index];\n }\n },\n updateCommentsNotificated(state, object) {\n const sectionId = getSectionIdFromAnnouncementId(state.sections, object.announcementId);\n state.commentsNotificated.push({ sectionId, announcementId: String(object.announcementId) });\n },\n updateAnnouncementsNotificated(state, object) {\n state.announcementsNotificated.push({ sectionId: String(object.sectionId) });\n },\n setNotificationsAllowed(state, payload) {\n state.notificationsAllowed = payload;\n },\n};\n\nexport default {\n state: initialState,\n getters,\n actions,\n mutations,\n};\n","import unreadMessagesApi from '../../api/unread-messages';\n\nconst initialState = {\n unreadAnnouncements: [],\n unreadComments: [],\n allowUnreadMessages: false,\n};\n\nconst getters = {\n unreadCount: (state) => (sectionIndex) => {\n const unreadAnnouncements = state.unreadAnnouncements.filter(\n (u) => u.sectionId === sectionIndex && !state.mutedSections[u.sectionId],\n ).length;\n const unreadComments = state.unreadComments.filter(\n (u) => u.sectionId === sectionIndex &&\n !state.mutedAnnouncements[u.announcementId] &&\n !state.mutedSections[sectionIndex],\n ).length;\n\n return unreadAnnouncements + unreadComments;\n },\n totalUnreadCount: (state, _getters, rootState) => {\n const document = rootState.document;\n const allowedUnreadAnnouncements = state.unreadAnnouncements.filter(\n unreadAnnouncement => !document.mutedAnnouncements[unreadAnnouncement] &&\n !document.mutedSections[unreadAnnouncement.sectionId],\n );\n\n const allowedUnreadComments = state.unreadComments.filter(\n unreadComment => !document.mutedAnnouncements[unreadComment.announcementId] &&\n !document.mutedSections[unreadComment.sectionId],\n );\n\n return allowedUnreadComments.length + allowedUnreadAnnouncements.length;\n },\n};\n\nconst actions = {\n getUnreadMessages({ commit }, documentId) {\n return unreadMessagesApi.getUnreadMessages(documentId)\n .then(({ data }) => {\n commit('setUnreads', data);\n });\n },\n markSectionAsRead({ commit }, sectionId) {\n commit('updateUnreadAnnouncements', { sectionId: sectionId.toString(), type: 'reset' });\n },\n markAnnouncementAsRead({ commit }, announcementId) {\n commit('updateUnreadComments', { announcementId, type: 'reset' });\n },\n toggleUnreadMessages({ commit }, newValue) {\n commit('setAllowUnreadMessages', newValue);\n },\n};\n\nconst mutations = {\n setUnreads(state, unreadMessages) {\n const unreadAnnouncements = Object.entries(unreadMessages)\n .reduce((acc, [sectionId, sectionAnnouncements]) => {\n const announcements = Object.entries(sectionAnnouncements)\n .map(([announcementId, { unreadComments, unread }]) => (\n { announcementId, sectionId, comments: unreadComments, unread }\n ));\n\n return acc.concat(announcements);\n }, []);\n\n state.unreadAnnouncements = unreadAnnouncements\n .filter(({ unread }) => unread)\n .map(({ announcementId, sectionId }) => ({ announcementId, sectionId }));\n\n state.unreadComments = unreadAnnouncements.reduce((acc, { announcementId, sectionId, comments }) => (\n acc.concat(comments.map(({ id }) => ({ announcementId, commentId: id.toString(), sectionId })))\n ), []);\n },\n updateUnreadAnnouncements(state, { announcementId, sectionId, type }) {\n if (type === 'reset') {\n state.unreadAnnouncements = state.unreadAnnouncements.filter((c) => c.sectionId !== sectionId);\n state.announcementsNotificated = state.announcementsNotificated.filter((c) => c.sectionId !== sectionId);\n } else {\n state.unreadAnnouncements = [...state.unreadAnnouncements, { announcementId, sectionId }];\n }\n },\n updateUnreadComments(state, { commentId, announcementId, sectionId, type }) {\n if (type === 'reset') {\n state.unreadComments = state.unreadComments.filter((c) => c.announcementId !== announcementId);\n state.commentsNotificated = state.commentsNotificated.filter((c) => c.announcementId !== announcementId);\n } else {\n state.unreadComments = [...state.unreadComments, { announcementId, commentId, sectionId }];\n }\n },\n setAllowUnreadMessages(state, newValue) {\n state.allowUnreadMessages = newValue;\n },\n};\n\nexport default {\n state: { ...initialState },\n actions,\n mutations,\n getters,\n};\n","import api from './index';\n\nexport default {\n updateDocumentConfiguration(documentConfigurationId, body) {\n return api({\n method: 'patch',\n url: `/api/internal/document_configurations/${documentConfigurationId}`,\n data: body,\n });\n },\n};\n","import { assignIn, cloneDeep, pickBy } from 'lodash';\nimport { tagIntersection } from './helpers';\n\nconst initialState = {\n filterTaggedMessages: false,\n filterCreatedAnnouncements: false,\n filterCreatedComments: false,\n filterTags: [],\n};\n\nconst getters = {\n anyFilterToggled(state) {\n let anyFilterToggled = state.filterTaggedMessages || state.filterCreatedAnnouncements;\n anyFilterToggled = anyFilterToggled || state.filterCreatedComments || state.filterTags.length > 0;\n\n return anyFilterToggled;\n },\n filteredAnnouncementsByTags: (state) => (tagList) => pickBy(state.announcements, tagIntersection(tagList)),\n filteredAnnouncements: (state, documentGetters) => {\n let announcements = {};\n\n if (state.filterTaggedMessages) {\n announcements = assignIn(announcements, documentGetters.taggedMessages);\n }\n if (state.filterCreatedAnnouncements) {\n announcements = assignIn(announcements, documentGetters.createdAnnouncements);\n }\n if (state.filterCreatedComments) {\n announcements = assignIn(announcements, documentGetters.createdComments);\n }\n if (state.filterTags.length > 0) {\n announcements = assignIn(announcements, documentGetters.filteredAnnouncementsByTags(state.filterTags));\n }\n\n return announcements;\n },\n filteredSectionAnnouncements(state, documentGetters) {\n const newSections = cloneDeep(state.sections);\n Object.values(newSections).forEach((section) => {\n const announcements = section.announcements;\n const filtered = announcements.filter((announcement) => announcement in documentGetters.announcements);\n section.announcements = filtered;\n });\n\n return newSections;\n },\n};\n\nconst mutations = {\n toggleTagFilter(state) {\n state.filterTaggedMessages = !state.filterTaggedMessages;\n },\n toggleCreatedAnnouncementsFilter(state) {\n state.filterCreatedAnnouncements = !state.filterCreatedAnnouncements;\n },\n toggleCreatedCommentsFilter(state) {\n state.filterCreatedComments = !state.filterCreatedComments;\n },\n setTagsFilter(state, newTags) {\n state.filterTags = newTags;\n },\n};\n\nexport default {\n state: initialState,\n getters,\n mutations,\n};\n","import { pickBy } from 'lodash';\nimport { normalize } from 'normalizr';\n\nimport schemas from '../../schemas';\nimport {\n getSavedAnnouncementIndex,\n removeSavedAnnouncement,\n addSavedAnnouncement,\n} from './helpers';\n\nconst initialState = {\n announcements: {},\n comments: {},\n reactions: {},\n savedAnnouncementsByDocument: {},\n draftComments: {},\n};\n\nconst getters = {\n draftComment: (state) => (threadId) => {\n const draft = state.draftComments[threadId];\n if (!draft) return '';\n\n return draft.content;\n },\n draftCommentsCount: (state) => () => (\n Object.values(state.draftComments).filter((text) => text).length\n ),\n createdAnnouncements(state, _documentGetters, rootState) {\n return pickBy(state.announcements, (announcement) => announcement.author.email === rootState.user.email);\n },\n createdComments(state, _documentGetters, rootState) {\n return pickBy(state.announcements, (announcement) => {\n const commentsIds = Object.values(announcement.comments);\n const commentsAuthors = commentsIds.map((id) => state.comments[id].author.email);\n\n return commentsAuthors.some((author) => author === rootState.user.email);\n });\n },\n announcements(state, documentGetters) {\n if (!documentGetters.anyFilterToggled) {\n return state.announcements;\n }\n\n return documentGetters.filteredAnnouncements;\n },\n};\n\nconst actions = {\n createAnnouncement({ commit, rootState, dispatch }, announcement) {\n const sectionId = announcement.sectionId.toString();\n commit('updateAnnouncement', announcement);\n commit('addAnnouncement', { announcement, sectionId });\n dispatch('setTagList', announcement.tagList, { root: true });\n if (rootState.user.id !== announcement.author.id) {\n commit('updateUnreadAnnouncements', {\n announcementId: announcement.id.toString(),\n sectionId,\n type: 'increase' },\n );\n }\n },\n updateAnnouncement({ commit, dispatch }, announcement) {\n commit(\n 'updateAnnouncement',\n Object.values(normalize(announcement, schemas.announcement).entities.announcements)[0],\n );\n dispatch('getTagList', { root: true });\n },\n destroyAnnouncement({ commit, dispatch, state }, announcement) {\n if (state.announcements[announcement.id].tagList.length > 0) {\n dispatch('getTagList', { root: true });\n }\n commit('destroyAnnouncement', announcement);\n commit('destroySavedAnnouncement', announcement);\n },\n createComment({ commit, getters: documentGetters, rootState }, comment) {\n const announcementId = comment.announcementId.toString();\n const sectionId = documentGetters.getSectionIdByAnnouncementId(announcementId);\n commit('updateComment', comment);\n commit('addComment', { comment, announcementId });\n if (rootState.user.id !== comment.author.id) {\n commit('updateUnreadComments', {\n commentId: comment.id.toString(),\n announcementId,\n sectionId: sectionId && sectionId.toString(),\n type: 'increase',\n });\n }\n },\n updateComment({ commit }, comment) {\n commit(\n 'updateComment',\n Object.values(normalize(comment, schemas.comment).entities.comments)[0],\n );\n },\n destroyComment({ commit }, comment) {\n commit('destroyComment', comment);\n },\n createReaction({ commit }, reaction) {\n commit('updateReaction', reaction);\n if (reaction.parentTextType === 'Comment') {\n commit('addCommentReaction', reaction);\n }\n if (reaction.parentTextType === 'Announcement') {\n commit('addAnnouncementReaction', reaction);\n }\n },\n destroyReaction({ commit }, reaction) {\n if (reaction.parentTextType === 'Comment') {\n commit('destroyCommentReaction', reaction);\n }\n if (reaction.parentTextType === 'Announcement') {\n commit('destroyAnnouncementReaction', reaction);\n }\n },\n toggleSavedAnnouncement({ commit }, payload) {\n commit('toggleSavedAnnouncement', payload);\n },\n setDraftComment({ commit }, payload) {\n commit('setDraftComment', payload);\n },\n};\n\nconst mutations = {\n setAnnouncements(state, payload) {\n state.announcements = payload || {};\n },\n setComments(state, payload) {\n state.comments = payload || {};\n },\n setReactions(state, payload) {\n state.reactions = payload || {};\n },\n addAnnouncement(state, { announcement, sectionId }) {\n state.sections[sectionId].announcements.push(announcement.id);\n },\n updateAnnouncement(state, payload) {\n state.announcements[payload.id] = payload;\n },\n destroyAnnouncement(state, payload) {\n delete state.announcements[payload.id];\n const index = state.sections[payload.sectionId].announcements.indexOf(payload.id);\n state.sections[payload.sectionId].announcements.splice(index, 1);\n },\n addComment(state, { comment, announcementId }) {\n state.announcements[announcementId].comments.push(comment.id);\n },\n updateComment(state, payload) {\n state.comments[payload.id] = payload;\n },\n destroyComment(state, payload) {\n delete state.comments[payload.id];\n const index = state.announcements[payload.announcementId].comments.indexOf(payload.id);\n state.announcements[payload.announcementId].comments.splice(index, 1);\n },\n updateReaction(state, payload) {\n state.reactions[payload.id] = payload;\n },\n addCommentReaction(state, payload) {\n state.comments[payload.parentTextId].reactions.push(payload.id);\n },\n destroyCommentReaction(state, payload) {\n delete state.reactions[payload.id];\n const index = state.comments[payload.parentTextId].reactions.indexOf(payload.id);\n state.comments[payload.parentTextId].reactions.splice(index, 1);\n },\n addAnnouncementReaction(state, payload) {\n state.announcements[payload.parentTextId].reactions.push(payload.id);\n },\n destroyAnnouncementReaction(state, payload) {\n delete state.reactions[payload.id];\n const index = state.announcements[payload.parentTextId].reactions.indexOf(payload.id);\n state.announcements[payload.parentTextId].reactions.splice(index, 1);\n },\n toggleSavedAnnouncement(state, payload) {\n const announcementIndex = getSavedAnnouncementIndex(state, payload);\n if (announcementIndex === -1) {\n addSavedAnnouncement(\n state, {\n 'documentId': payload.documentId,\n 'sectionId': payload.sectionId,\n 'announcementId': payload.announcementId,\n },\n );\n } else {\n removeSavedAnnouncement(\n state, {\n 'documentId': payload.documentId,\n 'sectionId': payload.sectionId,\n 'announcementIndex': announcementIndex,\n },\n );\n }\n },\n destroySavedAnnouncement(state, payload) {\n const announcementIndex = getSavedAnnouncementIndex(\n state, {\n 'documentId': state.document.id,\n 'sectionId': payload.sectionId,\n 'announcementId': payload.id,\n },\n );\n if (announcementIndex !== -1) {\n removeSavedAnnouncement(\n state,\n {\n 'documentId': state.document.id,\n 'sectionId': payload.sectionId,\n 'announcementIndex': announcementIndex,\n },\n );\n }\n },\n setDraftComment(state, payload) {\n if (payload.content === '') return delete state.draftComments[payload.announcementId];\n\n const newPayload = {\n sectionId: payload.sectionId,\n content: payload.content,\n };\n\n state.draftComments[payload.announcementId] = newPayload;\n\n return newPayload;\n },\n};\n\nexport default {\n state: initialState,\n getters,\n actions,\n mutations,\n};\n","import merge from 'lodash/merge';\nimport document from './document';\nimport notifications from './notifications';\nimport unreadMessages from './unread-messages';\nimport documentConfiguration from './document-configuration';\nimport hidden from './hidden';\nimport filters from './filters';\nimport messages from './messages';\nimport users from './users';\n\nconst modules = [\n document,\n documentConfiguration,\n unreadMessages,\n notifications,\n hidden,\n filters,\n messages,\n users,\n];\n\nexport default {\n state: merge({}, ...modules.map(m => m.state)),\n actions: merge({}, ...modules.map(m => m.actions)),\n mutations: merge({}, ...modules.map(m => m.mutations)),\n getters: merge({}, ...modules.map(m => m.getters)),\n};\n","import documentConfigurationApi from '../../api/document-configurations';\n\nconst initialState = {\n documentConfiguration: null,\n};\n\nconst getters = {\n commentsAllowed: (state) => () => {\n if (state.documentConfiguration) {\n return state.documentConfiguration.commentsAllowed;\n }\n\n return false;\n },\n announcementsAllowed: (state) => () => {\n if (state.documentConfiguration) {\n return state.documentConfiguration.announcementsAllowed;\n }\n\n return false;\n },\n};\n\nconst actions = {\n updateDocumentConfiguration({ commit }, configuration) {\n commit('setDocumentConfiguration', configuration);\n },\n toggleAnnouncements({ state }, newValue) {\n return documentConfigurationApi.updateDocumentConfiguration(\n state.documentConfiguration.id,\n { announcementsAllowed: newValue },\n );\n },\n toggleComments({ state }, newValue) {\n return documentConfigurationApi.updateDocumentConfiguration(\n state.documentConfiguration.id,\n { commentsAllowed: newValue },\n );\n },\n};\n\nconst mutations = {\n setDocumentConfiguration(state, payload) {\n state.documentConfiguration = payload;\n },\n};\n\nexport default {\n state: initialState,\n getters,\n actions,\n mutations,\n};\n","const initialState = {\n hiddenAnnouncements: {},\n hiddenSections: {},\n};\n\nconst actions = {\n resetHiddenAnnouncements({ commit }) {\n commit('emptyHiddenAnnouncements');\n },\n toggleHiddenSection({ commit }, newValue) {\n commit('setHiddenSections', newValue);\n },\n toggleHiddenAnnouncement({ commit }, newValue) {\n commit('setHiddenAnnouncements', newValue);\n },\n};\n\nconst mutations = {\n emptyHiddenAnnouncements(state) {\n state.hiddenAnnouncements = {};\n },\n setHiddenSections(state, { isVisible, index, isOnTop }) {\n if (isVisible) {\n delete state.hiddenSections[index];\n } else {\n state.hiddenSections[index] = { isOnTop };\n }\n },\n setHiddenAnnouncements(state, { isVisible, index, isOnTop }) {\n if (isVisible) {\n delete state.hiddenAnnouncements[index];\n } else {\n state.hiddenAnnouncements[index] = { isOnTop };\n }\n },\n};\n\nexport default {\n state: initialState,\n actions,\n mutations,\n};\n","const initialState = {\n users: null,\n usersReady: {},\n};\n\nconst actions = {\n updateUserPosition({ commit }, userPosition) {\n commit('updateUserPosition', userPosition);\n },\n updateUserReady({ commit }, userReady) {\n commit('updateUserReady', userReady);\n },\n};\n\nconst mutations = {\n setUsers(state, payload) {\n state.users = payload;\n },\n updateUserPosition(state, payload) {\n state.users[payload.id].position = payload;\n },\n updateUserReady(state, payload) {\n const { documentId } = payload;\n if (!state.usersReady[documentId]) {\n state.usersReady[documentId] = {};\n }\n state.usersReady[documentId][payload.id] = payload.ready;\n },\n};\n\nexport default {\n state: initialState,\n actions,\n mutations,\n};\n","import { EmojiIndex } from 'emoji-mart-vue-fast/src';\nimport data from 'emoji-mart-vue-fast/data/all.json';\nimport { isNil } from 'lodash';\n\nimport customEmojisApi from '../api/custom_emojis';\n\nconst initialState = {\n show: false,\n type: null,\n id: null,\n left: 0,\n top: 0,\n lastOpenDateTime: null,\n customEmojis: [],\n loaded: false,\n emojiIndex: new EmojiIndex(data),\n forceShow: false,\n};\n\nconst actions = {\n openEmojiPicker({ commit }, payload) {\n commit('setEmojiPicker', { show: true, lastOpenDateTime: new Date(), ...payload });\n },\n closeEmojiPicker({ commit }) {\n commit('setEmojiPicker', initialState);\n },\n getCustomEmojis({ commit, state }, payload) {\n return customEmojisApi.getCustomEmojis(payload)\n .then((response) => {\n const emojis = response.data.customEmojis.map(\n emoji => ({\n 'name': emoji.name,\n 'short_names': emoji.shortNames,\n 'text': emoji.text,\n 'emoticons': emoji.emoticons,\n 'keywords': emoji.keywords,\n 'imageUrl': emoji.imageUrl,\n }),\n );\n commit('setCustomEmojis', emojis);\n }).finally(() => { state.loaded = true; });\n },\n forceEmojiLoading({ commit }) {\n commit('setForceShow', true);\n },\n};\n\nconst mutations = {\n setEmojiPicker(state, payload) {\n state.show = payload.show;\n state.type = payload.type;\n state.id = payload.id;\n state.left = payload.left;\n state.top = payload.top;\n state.lastOpenDateTime = payload.lastOpenDateTime;\n },\n setCustomEmojis(state, payload) {\n state.customEmojis = payload;\n state.emojiIndex = new EmojiIndex(data, { custom: payload });\n },\n setForceShow(state, payload) {\n state.forceShow = payload;\n },\n};\n\nconst getters = {\n getEmoji: (state) => (id, skin) => {\n // eslint-disable-next-line no-underscore-dangle\n const emoji = state.emojiIndex._emojis[id];\n if (!emoji) return null;\n\n // eslint-disable-next-line no-underscore-dangle\n const emojiSkins = !isNil(skin) && emoji._skins;\n if (emojiSkins) {\n const emojiSkin = emojiSkins.find(({ colons }) => {\n const [, skinColons] = colons.split('::');\n\n return skinColons.replace(/:/g, '') === skin;\n });\n\n if (emojiSkin) {\n return emojiSkin;\n } else if (emojiSkins[skin - 1]) {\n // Skin is 1-indexed, so subtract 1 to get the correct index\n return emojiSkins[skin - 1];\n }\n }\n\n return emoji;\n },\n};\n\nexport default {\n state: { ...initialState },\n actions,\n mutations,\n getters,\n};\n","import i18n from '../plugins/i18n';\n\nconst initialState = {\n id: null,\n avatar: null,\n username: null,\n email: null,\n featuresSeenAt: null,\n locale: null,\n};\n\nconst actions = {\n setUser({ commit }, user) {\n commit('setId', user.id);\n commit('setAvatar', user.avatar);\n commit('setUsername', user.username);\n commit('setEmail', user.email);\n commit('setFeaturesSeenAt', new Date(user.featuresSeenAt));\n commit('setLocale', user.locale);\n },\n setUserId({ commit }, userId) {\n commit('setId', userId);\n },\n setAvatar({ commit }, userAvatar) {\n commit('setAvatar', userAvatar);\n },\n setUsername({ commit }, userName) {\n commit('setUsername', userName);\n },\n setFeaturesSeenAt({ commit }, userFeaturesSeenAt) {\n commit('setFeaturesSeenAt', userFeaturesSeenAt);\n },\n setLocale({ commit }, userLocale) {\n commit('setLocale', userLocale);\n },\n};\n\nconst mutations = {\n setId(state, payload) {\n state.id = payload;\n },\n setAvatar(state, payload) {\n state.avatar = payload;\n },\n setUsername(state, payload) {\n state.username = payload;\n },\n setEmail(state, payload) {\n state.email = payload;\n },\n setFeaturesSeenAt(state, payload) {\n state.featuresSeenAt = payload;\n },\n setLocale(state, payload) {\n i18n.locale = payload;\n state.locale = payload;\n },\n};\n\nexport default {\n state: { ...initialState },\n actions,\n mutations,\n};\n","import api from './index';\n\nexport default {\n getTeams() {\n return api({\n method: 'get',\n url: '/api/internal/teams',\n });\n },\n // createTeam(body) {\n // return api({\n // method: 'post',\n // url: '/api/internal/teams',\n // data: body,\n // });\n // },\n // updateTeam(body, id) {\n // return api({\n // method: 'put',\n // url: `/api/internal/teams/${id}`,\n // data: body,\n // });\n // },\n batchDestroyUsersFromTeam(body, id) {\n return api({\n method: 'delete',\n url: `/api/internal/teams/${id}/memberships/batch_destroy`,\n data: body,\n });\n },\n removeRoleFromUser(teamId, userId, roleName) {\n return api({\n method: 'delete',\n url: `/api/internal/teams/${teamId}/users/${userId}/roles/${roleName}`,\n });\n },\n addRoleToUser(teamId, userId, roleName) {\n return api({\n method: 'post',\n url: `/api/internal/teams/${teamId}/users/${userId}/roles`,\n data: {\n roleName,\n },\n });\n },\n};\n","import api from './index';\n\nexport default {\n index(teamId) {\n return api({\n method: 'get',\n url: `/api/internal/teams/${teamId}/tags`,\n });\n },\n};\n","import union from 'lodash/union';\nimport teamsApi from '../api/team';\nimport tagsApi from '../api/tags';\n\nconst initialState = {\n teamId: null,\n teams: {},\n tagList: [],\n};\n\nconst actions = {\n setTeam({ commit, dispatch }, teamId) {\n commit('setTeamId', { id: teamId });\n dispatch('getTagList');\n },\n async getTagList({ commit, state }) {\n const tagList = await tagsApi.index(state.teamId);\n commit('setTagList', tagList.data['actsAsTaggableOn/tags'].map(tag => tag.name));\n },\n setTeams({ commit, dispatch }) {\n teamsApi.getTeams().then(({ data }) => {\n const teams = Object.assign({}, ...data.teams.map((team) => ({ [team.id]: { ...team } })));\n commit('setTeams', teams);\n });\n dispatch('getTagList');\n },\n setTagList({ commit, state }, newTags) {\n commit('setTagList', union(newTags, state.tagList));\n },\n};\n\nconst mutations = {\n setTeamId(state, payload) {\n state.teamId = payload.id;\n },\n setTeams(state, payload) {\n state.teams = payload;\n },\n setTagList(state, payload) {\n state.tagList = payload;\n },\n};\n\nexport default {\n state: { ...initialState },\n actions,\n mutations,\n};\n","import { createStore } from 'vuex';\nimport VuexPersist from 'vuex-persist';\nimport document from './document';\nimport emoji from './emoji';\nimport user from './user';\nimport team from './team';\n\nconst vuexLocalStorage = new VuexPersist({\n key: 'vuex',\n storage: window.localStorage,\n reducer: (state) => ({\n document: {\n savedAnnouncementsByDocument: state.document.savedAnnouncementsByDocument,\n allowUnreadMessages: state.document.allowUnreadMessages,\n },\n }),\n});\n\nconst vuexSessionStorage = new VuexPersist({\n key: 'vuex',\n storage: window.sessionStorage,\n reducer: (state) => ({\n document: {\n mutedSections: state.document.mutedSections,\n mutedAnnouncements: state.document.mutedAnnouncements,\n usersReady: state.document.usersReady,\n },\n team: {\n teamId: state.team.teamId,\n teams: state.team.teams,\n },\n }),\n});\n\nconst store = createStore({\n modules: {\n document,\n emoji,\n user,\n team,\n },\n plugins: [vuexLocalStorage.plugin, vuexSessionStorage.plugin],\n});\n\nexport default store;\n","<template>\n <loading-overlay v-if=\"loading\" />\n <div\n v-else\n class=\"flex flex-col flex-1 overflow-hidden\"\n >\n <div class=\"fixed top-14 lg:static bg-slate-50 p-2\">\n <secondary-bar\n v-if=\"hasLargeScreen\"\n :section-name=\"selectedSectionTitle\"\n :document-name=\"documentTitle\"\n :section-id=\"parseInt(selectedSectionId)\"\n :document-id=\"documentId\"\n @change-mobile-modal=\"changeMobileModal\"\n >\n <document-status />\n <nav-actions\n v-if=\"hasLargeScreen\"\n />\n </secondary-bar>\n </div>\n <mobile-modal\n v-if=\"showModalMobile && !hasLargeScreen\"\n :document-instructions=\"documentInstructions\"\n :document-id=\"documentId\"\n :video-url=\"videoUrl\"\n @hide-mobile-modal=\"changeMobileModal\"\n />\n <router-view\n :document-id=\"documentId\"\n />\n <div class=\"hidden\">\n <img\n v-for=\"src in urlsToPreload\"\n :key=\"src\"\n :src=\"src\"\n >\n </div>\n </div>\n</template>\n\n<script>\nimport { camelize, camelizeKeys } from 'humps';\nimport getPreloadableUrls from 'helpers/get-preloadable-urls';\nimport keyBy from 'lodash/keyBy';\n\nimport LoadingOverlay from 'components/shared/loading-overlay.vue';\nimport SecondaryBar from '../components/shared/secondary-bar.vue';\nimport DocumentStatus from '../components/meeting/document-status.vue';\nimport MobileModal from '../components/meeting/mobile-modal.vue';\nimport NavActions from '../components/design-system/nav-actions.vue';\n\nconst DELAYED_EMOJI_LOADING_MS = 30000; // eslint-disable-line no-magic-numbers\n\nexport default {\n components: {\n LoadingOverlay,\n SecondaryBar,\n DocumentStatus,\n MobileModal,\n NavActions,\n },\n props: {\n documentId: {\n type: Number,\n required: true,\n },\n documentTitle: {\n type: String,\n required: true,\n },\n documentInstructions: {\n type: Object,\n default: null,\n },\n videoUrl: {\n type: String,\n default: null,\n },\n teamId: {\n type: Number,\n required: true,\n },\n user: {\n type: Object,\n required: true,\n },\n },\n data() {\n return {\n message: {},\n showModalMobile: false,\n };\n },\n computed: {\n loading() {\n return !this.$store.state.document.document.title || !this.$store.state.emoji.loaded;\n },\n sections() {\n return this.$store.state.document.sections || {};\n },\n selectedSection() {\n return this.sections[this.selectedSectionId];\n },\n selectedSectionId() {\n return this.$route.params.selectedSectionId;\n },\n selectedAnnouncementId() {\n return this.$route.params.selectedAnnouncementId;\n },\n selectedSectionTitle() {\n return (this.selectedSection) ? this.selectedSection.title : '';\n },\n hasLargeScreen() {\n return this.$store.getters.hasLargeScreen;\n },\n unreadMessagesCount() {\n return this.$store.getters.totalUnreadCount;\n },\n messages() {\n const announcements = Object.values(this.$store.state.document.announcements);\n const comments = Object.values(this.$store.state.document.comments);\n\n return announcements.concat(comments);\n },\n reactions() {\n const reactions = this.$store.state.document.reactions;\n const emojis = keyBy(this.$store.state.emoji.customEmojis, 'name');\n const reactionNames = Object.values(reactions).map(reaction => reaction?.emojiColons?.replace(/^:|:$/g, ''));\n\n return reactionNames.map(name => emojis[name]);\n },\n authors() {\n return this.messages.map(message => message?.author);\n },\n preloadableContent() {\n return []\n .concat(this.messages.map(message => message?.body))\n .concat(this.reactions.map(reaction => reaction?.imageUrl))\n .concat(this.authors.map(author => author?.avatar))\n .filter(content => !!content);\n },\n urlsToPreload() {\n return getPreloadableUrls(this.preloadableContent);\n },\n },\n watch: {\n unreadMessagesCount(newCount, oldCount) {\n const pastTitle = oldCount ? document.title.split(')')[1] : document.title;\n if (newCount === 0) {\n document.title = pastTitle;\n } else {\n document.title = `(${newCount}) ${pastTitle}`;\n }\n },\n },\n async beforeMount() {\n this.$store.dispatch('setDocumentId', this.documentId);\n this.$store.dispatch('setTeam', this.teamId);\n this.$store.dispatch('setUser', this.user);\n\n await this.$store.dispatch('getDocument');\n this.$store.dispatch('getUnreadMessages', this.documentId);\n this.$store.dispatch('getCustomEmojis', this.teamId);\n },\n mounted() {\n this.$cable.subscribe({ channel: 'DocumentChannel', id: this.documentId });\n setTimeout(() => this.$store.dispatch('forceEmojiLoading'), DELAYED_EMOJI_LOADING_MS);\n },\n methods: {\n changeMobileModal() {\n this.showModalMobile = !this.showModalMobile;\n },\n updateNotifications(object) {\n const payload = { type: object.type === 'announcement' ? 'Announcements' : 'Comments', object };\n this.$store.dispatch('updateNotifications', payload);\n },\n isUsernameInMessage(message) {\n return this.$store.getters.isUsernameInMessage(message);\n },\n },\n channels: {\n DocumentChannel: {\n received(data) {\n const object = camelizeKeys(data.object);\n const action = camelize(`${data.action}_${data.type}`);\n this.$showNotification(action, object);\n\n this.$store.dispatch(action, object);\n if (data.action === 'create' && (object.type === 'announcement' || object.type === 'comment')) {\n if (this.isUsernameInMessage(object.body)) {\n this.updateNotifications(object);\n }\n }\n },\n },\n },\n};\n</script>\n","<template>\n <div\n class=\"absolute top-0 left-0 z-50 flex w-full h-full bg-white\"\n >\n <inline-svg\n class=\"text-purple-500 fill-current m-auto\"\n :src=\"require('assets/images/icons/loader.svg')\"\n />\n </div>\n</template>\n","import { render } from \"./loading-overlay.vue?vue&type=template&id=6cbf09bb\"\nconst script = {}\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div class=\"w-screen lg:w-auto\">\n <div\n class=\"flex items-center justify-between px-2 text-left lg:pr-0 h-14 lg:h-auto lg:justify-start\"\n >\n <div class=\"items-center hidden h-8 mr-auto text-slate-600 lg:flex\">\n <a\n class=\"flex items-center\"\n :href=\"goToHome\"\n data-testid=\"documents-anchor\"\n >\n <inline-svg\n class=\"fill-current mr-2 h-3 w-3\"\n :src=\"require('../../../assets/images/icons/back-arrow-no-fill.svg')\"\n />\n {{ $t('documents.goToHome') }}\n </a>\n </div>\n <div class=\"text-sm text-purple-500 lg:hidden\">\n <div\n class=\"flex items-center\"\n @click=\"$emit('change-mobile-modal')\"\n >\n <inline-svg\n class=\"w-6 h-6 mr-2 text-purple-500 fill-current outline-white\"\n :src=\"require('../../../assets/images/icons/hamburger-icon.svg')\"\n />\n {{ documentName }}\n </div>\n </div>\n <div class=\"flex flex-row space-x-6\">\n <slot />\n </div>\n </div>\n </div>\n</template>\n\n<script>\n\nexport default {\n props: {\n backUrl: {\n type: String,\n default: '',\n },\n documentName: {\n type: String,\n default: '',\n },\n documentId: {\n type: Number,\n default: null,\n },\n editDocumentId: {\n type: Number,\n default: null,\n },\n pageTitle: {\n type: String,\n default: '',\n },\n },\n emits: ['change-mobile-modal'],\n computed: {\n goToHome() {\n if (this.backUrl !== '') {\n return this.backUrl;\n }\n\n const currentUrl = window.location.href;\n if (currentUrl.includes('documents')) {\n const applicationHostRegex = /^[^:]+:\\/\\/[^/]+/;\n const teamHomeUrl = window.location.href.split('documents')[0];\n\n return teamHomeUrl.replace(applicationHostRegex, '');\n }\n\n return '/';\n },\n },\n};\n</script>\n","import { render } from \"./secondary-bar.vue?vue&type=template&id=021975dc\"\nimport script from \"./secondary-bar.vue?vue&type=script&lang=js\"\nexport * from \"./secondary-bar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div\n class=\"flex items-center\"\n >\n <div\n v-if=\"readyStatusAllowed\"\n class=\"flex\"\n >\n <div\n class=\"flex items-center space-x-2\"\n data-testId=\"ready-status-wrapper\"\n >\n <inline-svg\n class=\"w-4 h-4 text-center text-teal-600\"\n :src=\"require(`assets/images/icons/happy-face.svg`)\"\n />\n <p class=\"text-teal-600\">\n {{ (`${usersReady}/${usersInSession} ${$tc('meetings.ready.usersReady', usersReady)}`) }}\n </p>\n </div>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n computed: {\n document() {\n return this.$store.state.document;\n },\n documentConfiguration() {\n return this.document.documentConfiguration;\n },\n readyStatusAllowed() {\n return this.documentConfiguration && this.documentConfiguration.readyStatusAllowed;\n },\n usersReady() {\n const documentId = this.document.document && this.document.document.id;\n if (!documentId || !this.document.usersReady[documentId]) {\n return 0;\n }\n\n return Object.values(this.document.usersReady[documentId]).filter(Boolean).length;\n },\n usersInSession() {\n return this.document.document && this.document.document.participants.length;\n },\n },\n};\n</script>\n","import { render } from \"./document-status.vue?vue&type=template&id=f3bbcda6\"\nimport script from \"./document-status.vue?vue&type=script&lang=js\"\nexport * from \"./document-status.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div class=\"fixed z-20 flex flex-col w-screen h-full pb-20 bg-slate-50 top-14\">\n <div class=\"flex items-center p-2 bg-white\">\n <button @click=\"$emit('hide-mobile-modal')\">\n <inline-svg\n :src=\"require('assets/images/icons/back-arrow-green.svg')\"\n />\n </button>\n </div>\n <topics-bar\n class=\"mb-auto\"\n @hide-mobile-modal=\"$emit('hide-mobile-modal')\"\n />\n <nav-actions\n class=\"mt-10\"\n />\n </div>\n</template>\n\n<script>\nimport NavActions from '../design-system/nav-actions.vue';\nimport TopicsBar from './topics-bar.vue';\n\nexport default {\n components: {\n NavActions,\n TopicsBar,\n },\n props: {\n documentInstructions: {\n type: Object,\n default: null,\n },\n documentId: {\n type: Number,\n default: 0,\n },\n videoUrl: {\n type: String,\n default: null,\n },\n },\n emits: ['hide-mobile-modal'],\n};\n</script>\n","<template>\n <base-modal :title=\"$t('meetings.instructions.muteInstructions')\">\n <div\n class=\"p-4 border-t border-purple-400 h-4/5\"\n >\n <div\n v-if=\"instructions\"\n class=\"h-full overflow-y-auto\"\n >\n <rich-content :rich-text=\"instructions\" />\n </div>\n <p\n v-else\n class=\"text-gray-400\"\n >\n {{ $t('meetings.instructions.noInstructions') }}\n </p>\n </div>\n </base-modal>\n</template>\n\n<script>\nimport { mapState } from 'vuex';\nimport RichContent from '../shared/rich-content.vue';\n\nexport default {\n components: { RichContent },\n computed: {\n ...mapState(['document']),\n instructions() {\n return this.document.document &&\n this.document.document.instructions &&\n this.document.document.instructions.body;\n },\n },\n};\n</script>\n","import { render } from \"./instructions-modal.vue?vue&type=template&id=20f1d2ce\"\nimport script from \"./instructions-modal.vue?vue&type=script&lang=js\"\nexport * from \"./instructions-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = { class: \"flex items-stretch w-screen px-2 lg:pl-0 lg:mx-0 space-y-1.5 lg:space-y-0 lg:items-center flex-col lg:w-auto lg:flex-row lg:space-x-6\" };\nimport { ref, computed } from 'vue';\nimport { useStore } from 'vuex';\nimport InstructionsModal from '../meeting/instructions-modal.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'nav-actions', setup(__props) { const store = useStore(); const videoUrl = computed(() => store.state.document.document && store.state.document.document.videoUrl); const isInstructionsModalOpen = ref(false); return (_ctx, _cache) => { const _component_base_button = _resolveComponent(\"base-button\"); return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createElementVNode(\"button\", { data_testId: \"instructions-modal-link\", class: \"text-teal-600 underline bg-transparent border-none\", onClick: _cache[0] || (_cache[0] = $event => isInstructionsModalOpen.value = true) }, _toDisplayString(_ctx.$t('meetings.instructions.instructions')), 1), _unref(videoUrl) ? (_openBlock(), _createBlock(_component_base_button, { key: 0, target: \"_blank\", \"data-testId\": \"meeting-url-link\", color: \"dark-teal\", label: _ctx.$t('meetings.goMeeting'), href: _unref(videoUrl), \"left-icon-src\": require('assets/images/design-system-icons/chevron-right.svg') }, null, 8, [\"label\", \"href\", \"left-icon-src\"])) : _createCommentVNode(\"\", true), _createVNode(InstructionsModal, { open: isInstructionsModalOpen.value, onClose: _cache[1] || (_cache[1] = $event => isInstructionsModalOpen.value = false) }, null, 8, [\"open\"])]); }; } });\n","import script from \"./nav-actions.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./nav-actions.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { render } from \"./mobile-modal.vue?vue&type=template&id=3a9cf3fa\"\nimport script from \"./mobile-modal.vue?vue&type=script&lang=js\"\nexport * from \"./mobile-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export default function getPreloadableUrls(array) {\n const bucketName = process.env.S3_BUCKET;\n const prefix = `https://s3.amazonaws.com/${bucketName}`;\n const regex = new RegExp(`${prefix.replace(/\\./g, '\\\\.')}/[^\\\\s\"]+`, 'g');\n const urls = array.flatMap(string =>\n Array.from(string.matchAll(regex)).map(match => match[0]),\n );\n\n return Array.from(new Set(urls));\n}\n","import { render } from \"./meeting.vue?vue&type=template&id=fd0069c0\"\nimport script from \"./meeting.vue?vue&type=script&lang=js\"\nexport * from \"./meeting.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div class=\"flex p-8 sm:px-24 sm:py-8 overflow-hidden\">\n <div class=\"overflow-hidden flex-1\">\n <div class=\"flex justify-around my-8 lg:justify-between\">\n <documents-filter\n v-model:sort-criteria=\"sortCriteria\"\n v-model:order=\"order\"\n class=\"lg:ml-8\"\n />\n <div class=\"flex lg:mr-8\">\n <dropdown\n color=\"purple\"\n variant=\"noTip\"\n >\n <template #button>\n <div class=\"flex items-center text-white\">\n <mute-button icon-file-name=\"down-arrow.svg\">\n {{ $t('documents.create.message') }}\n </mute-button>\n </div>\n </template>\n <template #menu>\n <a\n class=\"flex items-center gap-4 mb-4 text-sm text-black lg:text-white hover:underline hover:text-gray-200\"\n :href=\"`/teams/${teamId}/documents/new`\"\n >\n <inline-svg\n :src=\"require('assets/images/icons/heavy-plus.svg')\"\n class=\"w-4 h-4 fill-current\"\n />\n {{ $t('documents.create.newMessage') }}\n </a>\n <a\n class=\"flex items-center gap-4 text-sm text-black lg:text-white hover:underline hover:text-gray-200\"\n :href=\"`/teams/${teamId}/templates/new_document`\"\n >\n <inline-svg\n :src=\"require('assets/images/icons/copy-icon.svg')\"\n class=\"w-4 h-4 fill-current\"\n />\n {{ $t('documents.create.templateMessage') }}\n </a>\n </template>\n </dropdown>\n </div>\n </div>\n <documents-index-table\n v-if=\"documents.length > 0\"\n class=\"h-full overflow-y-auto\"\n :documents=\"documents\"\n :hosted-document-ids=\"hostedDocumentIds\"\n :criteria=\"sortCriteria\"\n :order=\"order\"\n :team-id=\"teamId\"\n />\n <p\n v-else\n class=\"p-4 text-sm text-gray-500\"\n >\n {{ $t('documents.dontExist') }}\n </p>\n </div>\n </div>\n</template>\n\n<script>\nimport capitalize from 'lodash/capitalize';\nimport DocumentsFilter from '../components/documents/documents-filter.vue';\nimport DocumentsIndexTable from '../components/documents/documents-table-deprecated.vue';\nimport Dropdown from '../components/shared/dropdown.vue';\n\nexport default {\n components: { DocumentsFilter, DocumentsIndexTable, Dropdown },\n props: {\n documents: { type: Array, required: true },\n hostedDocumentIds: { type: Array, required: true },\n team: { type: Object, required: true },\n teamMembers: { type: Array, required: true },\n userTeamAdmin: { type: Boolean, default: false },\n },\n data() {\n return {\n sortCriteria: 'date',\n order: 'descending',\n };\n },\n computed: {\n teamId() {\n return this.team.id;\n },\n },\n methods: {\n capitalize,\n },\n};\n</script>\n","<template>\n <div\n v-click-outside=\"close\"\n class=\"relative flex items-center h-full px-2 py-1 bg-gray-300 rounded-full\"\n >\n <button\n class=\"flex items-center px-1 text-sm text-black focus:outline-none\"\n @click=\"toggle\"\n >\n <inline-svg\n :src=\"require('assets/images/icons/arrow-down.svg')\"\n class=\"w-2 text-sm\"\n />\n <inline-svg\n :src=\"require('assets/images/icons/sort.svg')\"\n class=\"w-4 mr-2 fill-current\"\n />\n <span class=\"mr-2 text-xs text-gray-600\">{{ $t('documents.filter.orderedBy') }}</span>\n <span class=\"self-start text-sm\">{{ $t(`documents.filter.${sortCriteria}`) }}</span>\n </button>\n <div\n class=\"absolute inset-x-0 top-full\"\n :class=\"{ hidden: !isOpen }\"\n >\n <div class=\"absolute right-0 z-0 w-8 h-8 mr-2 rotate-45 bg-white rounded shadow-md\" />\n <div class=\"absolute flex flex-col w-56 p-4 mt-2 text-black bg-white rounded-md shadow-md\">\n <div class=\"mb-4 text-xl\">\n {{ $t('documents.filter.orderBy') }}\n </div>\n <mute-radio\n :model-value=\"sortCriteria\"\n value=\"date\"\n class=\"mb-4\"\n :label=\"$t('documents.filter.date')\"\n @update:model-value=\"$emit('update:sort-criteria', $event)\"\n />\n <mute-radio\n :model-value=\"sortCriteria\"\n value=\"title\"\n class=\"mb-4\"\n :label=\"$t('documents.filter.title')\"\n @update:model-value=\"$emit('update:sort-criteria', $event)\"\n />\n <hr class=\"mb-4\">\n <mute-radio\n :model-value=\"order\"\n value=\"ascending\"\n class=\"mb-4\"\n :label=\"$t('documents.filter.ascending')\"\n @update:model-value=\"$emit('update:order', $event)\"\n />\n <mute-radio\n :model-value=\"order\"\n value=\"descending\"\n class=\"mb-4\"\n :label=\"$t('documents.filter.descending')\"\n @update:model-value=\"$emit('update:order', $event)\"\n />\n </div>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n sortCriteria: { type: String, required: true },\n order: { type: String, required: true },\n },\n emits: ['update:sort-criteria', 'update:order', 'dropdown-open'],\n data() {\n return {\n isOpen: false,\n };\n },\n methods: {\n toggle() {\n this.isOpen = !this.isOpen;\n this.$emit('dropdown-open', this.isOpen);\n },\n close() {\n this.isOpen = false;\n },\n },\n};\n</script>\n","import { render } from \"./documents-filter.vue?vue&type=template&id=53ef3d88\"\nimport script from \"./documents-filter.vue?vue&type=script&lang=js\"\nexport * from \"./documents-filter.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div>\n <div\n v-if=\"teamDocuments.length === 1\"\n class=\"flex items-center justify-center mb-2 font-bold text-green-400\"\n >\n <inline-svg\n :src=\"require('../../../assets/images/icons/down-arrow.svg')\"\n class=\"w-3 h-3 mr-1 fill-current\"\n />\n <p class=\"mx-3\">\n {{ $t(\"documents.firstDocument\") }}\n </p>\n <inline-svg\n :src=\"require('../../../assets/images/icons/down-arrow.svg')\"\n class=\"w-3 h-3 mr-1 fill-current\"\n />\n </div>\n <div\n v-for=\"(document, index) in sortedDocuments\"\n :key=\"document.id\"\n class=\"flex h-32\"\n :class=\"{\n 'mb-32': index === sortedDocuments.length - 1,\n 'border-b-2 border-gray-300 hover:bg-gray-300':\n virtualDocuments.length !== 1,\n 'border-2 border-green-400 rounded-md hover:bg-green-100 mx-2':\n teamDocuments.length === 1 && index === 0,\n 'mt-1 border-2 border-purple-400 rounded-md hover:bg-purple-100 mx-2':\n document.visibility === 'introduction',\n }\"\n >\n <a\n :href=\"documentLink(document)\"\n class=\"flex justify-between w-full\"\n >\n <div class=\"flex flex-col my-auto ml-8\">\n <p class=\"text-3xl\">\n {{ document.title }}\n </p>\n <p class=\"text-gray-600\">\n {{ documentDate(document) }}\n </p>\n </div>\n </a>\n <div class=\"flex justify-end py-2 mr-8\">\n <a\n v-if=\"isMasterOfCeremonies(document)\"\n class=\"flex flex-col items-center justify-center mr-2 opacity-50 hover:opacity-100 rounded-xl focus:outline-none\"\n :href=\"`/teams/${document.teamId}/documents/${document.id}/edit`\"\n >\n <img src=\"../../../assets/images/icons/edit.svg\">\n <p class=\"text-xs\">{{ $t(\"documents.table.edit\") }}</p>\n </a>\n <a\n v-if=\"ENABLE_DUPLICATE_DOCUMENT == 'true'\"\n class=\"flex flex-col items-center justify-center mr-2 opacity-50 hover:opacity-100 rounded-xl focus:outline-none\"\n :href=\"`/teams/${document.teamId}/documents/new?ref_id=${document.id}`\"\n >\n <img src=\"../../../assets/images/icons/copy-icon-black.svg\">\n <p class=\"text-xs\">{{ $t(\"documents.table.copy\") }}</p>\n </a>\n <a\n class=\"flex items-center mr-2 opacity-50 hover:opacity-100 rounded-xl focus:outline-none\"\n :href=\"`/teams/${document.teamId}/templates/new?ref_id=${document.id}`\"\n >\n <div\n v-tooltip=\"$t('documents.table.templateTooltip')\"\n class=\"flex flex-col items-center\"\n >\n <img\n src=\"../../../assets/images/icons/template.svg\"\n >\n <p class=\"text-xs\">{{ $t(\"documents.table.template\") }}</p>\n </div>\n </a>\n <button\n v-if=\"isMasterOfCeremonies(document)\"\n class=\"flex flex-col items-center justify-center mr-2 opacity-50 hover:opacity-100 rounded-xl focus:outline-none\"\n @click=\"openDocumentModal(document)\"\n >\n <img src=\"../../../assets/images/icons/delete.svg\">\n <p class=\"text-xs\">\n {{ $t(\"documents.table.delete\") }}\n </p>\n </button>\n </div>\n </div>\n <destroy-document-modal\n :document=\"selectedDocument\"\n :open=\"isDestroyDocModalOpen\"\n @destroyed-document=\"filterDestroyedDocument\"\n @before-close=\"selectedDocument = null\"\n @close=\"isDestroyDocModalOpen = false\"\n />\n </div>\n</template>\n\n<script>\nimport moment from 'moment';\nimport orderBy from 'lodash/orderBy';\nimport map from 'lodash/map';\nimport DestroyDocumentModal from './destroy-document-modal.vue';\n\nconst ENABLE_DUPLICATE_DOCUMENT = process.env.ENABLE_DUPLICATE_DOCUMENT;\n\nexport default {\n components: { DestroyDocumentModal },\n props: {\n documents: { type: Array, required: true },\n hostedDocumentIds: { type: Array, required: true },\n criteria: { type: String, required: true },\n order: { type: String, required: true },\n },\n data() {\n return {\n sortCriteria: this.criteria,\n descending: this.order === 'descending',\n selectedDocument: null,\n isDestroyDocModalOpen: false,\n virtualDocuments: [...this.documents],\n };\n },\n computed: {\n sortedDocuments() {\n return orderBy(\n this.formattedDocuments,\n (document) => document[this.sortCriteria],\n this.sortType,\n );\n },\n formattedDocuments() {\n return map(this.virtualDocuments, (document) => ({\n ...document,\n date: moment(document.datetime),\n }));\n },\n teamDocuments() {\n return this.formattedDocuments.filter(\n (document) => document.visibility !== 'introduction',\n );\n },\n sortType() {\n return this.descending ? 'desc' : 'asc';\n },\n user() {\n return this.$store.state.user.id;\n },\n },\n watch: {\n criteria() {\n this.sortCriteria = this.criteria;\n },\n order() {\n this.descending = this.order === 'descending';\n },\n },\n created() {\n this.ENABLE_DUPLICATE_DOCUMENT = ENABLE_DUPLICATE_DOCUMENT;\n },\n methods: {\n documentLink(document) {\n return `/teams/${document.teamId}/documents/${document.id}`;\n },\n handleSort(criteria) {\n if (this.sortCriteria === criteria) {\n this.descending = !this.descending;\n } else {\n this.sortCriteria = criteria;\n }\n },\n openDocumentModal(document) {\n this.isDestroyDocModalOpen = true;\n this.selectedDocument = document;\n },\n filterDestroyedDocument(documentId) {\n this.virtualDocuments = this.virtualDocuments.filter(\n ({ id }) => id !== documentId,\n );\n },\n documentDate(document) {\n return moment(document.date)\n .locale(this.$i18n.locale)\n .format('ddd DD MMM hh:mm a');\n },\n isMasterOfCeremonies(document) {\n return this.hostedDocumentIds.includes(document.id);\n },\n },\n};\n</script>\n","<template>\n <base-modal\n :title=\"$t('documents.delete.message')\"\n @close=\"beforeClose\"\n >\n <backend-errors\n v-if=\"errors.length > 0\"\n :errors=\"errors\"\n >\n {{ $t('documents.delete.error') }}\n </backend-errors>\n <div class=\"mb-4\">\n <i18n-t\n tag=\"p\"\n keypath=\"documents.delete.confirm\"\n scope=\"global\"\n >\n <span class=\"font-bold text-purple-500\">{{ document && document.title }}</span>\n </i18n-t>\n </div>\n <div class=\"flex justify-end\">\n <mute-button\n id=\"destroy-document-modal-close-button\"\n variant=\"white\"\n class=\"mr-2\"\n @click=\"hideDestroyDocumentModal\"\n >\n {{ $t('documents.delete.no') }}\n </mute-button>\n <mute-button\n id=\"destroy-document-modal-submit-button\"\n :disabled=\"loading\"\n variant=\"purple\"\n @click=\"destroyDocument\"\n >\n {{ $t('documents.delete.yes') }}\n </mute-button>\n </div>\n </base-modal>\n</template>\n\n<script>\nimport documentsApi from '../../api/documents';\nimport backendErrors from '../shared/backend-errors.vue';\n\nexport default {\n components: { backendErrors },\n props: { document: { type: Object, default: null } },\n emits: ['close', 'destroyed-document', 'before-close'],\n data() {\n return {\n errors: [],\n loading: false,\n };\n },\n methods: {\n hideDestroyDocumentModal() {\n this.$emit('close');\n },\n async destroyDocument() {\n this.loading = true;\n\n try {\n await documentsApi.destroyDocument(this.document.id);\n this.$emit('destroyed-document', this.document.id);\n this.hideDestroyDocumentModal();\n } catch (error) {\n if (error.details) {\n this.errors = error.details;\n }\n }\n\n this.loading = false;\n },\n beforeClose() {\n this.$emit('before-close');\n this.hideDestroyDocumentModal();\n this.errors = [];\n },\n },\n};\n</script>\n","<template>\n <div\n v-if=\"errors.length > 0\"\n class=\"p-4 mb-4 text-red-500 bg-red-100 border-2 border-red-500\"\n >\n <p><slot /></p>\n <ul class=\"ml-4 list-disc list-inside\">\n <li\n v-for=\"error in errors\"\n :key=\"error\"\n >\n {{ error }}\n </li>\n </ul>\n </div>\n</template>\n\n<script>\nexport default {\n props: { errors: { type: Array, required: true } },\n};\n</script>\n","import { render } from \"./backend-errors.vue?vue&type=template&id=26ae5b2a\"\nimport script from \"./backend-errors.vue?vue&type=script&lang=js\"\nexport * from \"./backend-errors.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./destroy-document-modal.vue?vue&type=template&id=bc0d5fa8\"\nimport script from \"./destroy-document-modal.vue?vue&type=script&lang=js\"\nexport * from \"./destroy-document-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./documents-table-deprecated.vue?vue&type=template&id=0afbc3f2\"\nimport script from \"./documents-table-deprecated.vue?vue&type=script&lang=js\"\nexport * from \"./documents-table-deprecated.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div\n v-click-outside=\"() => isOpen = false\"\n class=\"relative flex items-center h-full lg:w-auto\"\n >\n <div\n class=\"w-full cursor-pointer lg:w-auto\"\n @click=\"toggle\"\n >\n <slot name=\"button\" />\n </div>\n <div\n v-if=\"hasLargeScreen\"\n class=\"absolute right-0 min-w-full top-full\"\n :class=\"{ hidden: !isOpen }\"\n >\n <div\n class=\"absolute top-0 right-0 z-0 w-8 h-8 mr-2 rotate-45 rounded shadow-md\"\n :class=\"tipClasses\"\n />\n <div\n class=\"absolute top-0 right-0 flex flex-col p-4 rounded-md shadow-md\"\n :class=\"[boxClass, boxClasses]\"\n >\n <slot name=\"menu\" />\n </div>\n </div>\n <base-modal\n v-else\n :class=\"{ hidden: !isOpen }\"\n :open=\"isOpen\"\n :with-close-option=\"false\"\n @close=\"isOpen = false\"\n >\n <slot name=\"menu\" />\n </base-modal>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n boxClass: { type: String, default: 'w-64' },\n color: { type: String, default: 'white' },\n variant: { type: String, default: 'normal' },\n },\n emits: ['dropdown-open'],\n data() {\n return {\n isOpen: false,\n };\n },\n computed: {\n boxClasses() {\n const variantOptions = {\n normal: 'mt-2',\n noTip: 'w-full',\n };\n const colorOptions = {\n white: 'text-black bg-white',\n purple: 'bg-purple-500 text-white',\n };\n\n return [variantOptions[this.variant], colorOptions[this.color]];\n },\n tipClasses() {\n const variantOptions = {\n normal: '',\n noTip: 'hidden',\n };\n const colorOptions = {\n white: 'bg-white',\n purple: 'bg-purple-500',\n };\n\n return [variantOptions[this.variant], colorOptions[this.color]];\n },\n hasLargeScreen() {\n return this.$store.getters.hasLargeScreen;\n },\n },\n methods: {\n toggle() {\n this.isOpen = !this.isOpen;\n this.$emit('dropdown-open', this.isOpen);\n },\n },\n};\n</script>\n\n<style lang=\"scss\">\n .v--modal-overlay .v--modal-box {\n @apply overflow-visible;\n }\n</style>\n","import { render } from \"./dropdown.vue?vue&type=template&id=10779e51\"\nimport script from \"./dropdown.vue?vue&type=script&lang=js\"\nexport * from \"./dropdown.vue?vue&type=script&lang=js\"\n\nimport \"./dropdown.vue?vue&type=style&index=0&id=10779e51&lang=scss\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./documents-deprecated.vue?vue&type=template&id=4d572bbe\"\nimport script from \"./documents-deprecated.vue?vue&type=script&lang=js\"\nexport * from \"./documents-deprecated.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <session-wrapper\n :show-back-button=\"false\"\n :header=\"$t('sessions.header')\"\n >\n <template #content>\n <p class=\"mb-6 \">\n {{ $t('sessions.start') }}\n </p>\n <mute-cta-button\n tag=\"a\"\n class=\"w-full mb-6\"\n href=\"/users/sign_in\"\n variant=\"purple\"\n >\n {{ $t('sessions.login') }}\n </mute-cta-button>\n <mute-cta-button\n tag=\"a\"\n class=\"w-full mb-6\"\n href=\"/users/sign_up\"\n variant=\"green\"\n >\n {{ $t('sessions.signUp.signUp') }}\n </mute-cta-button>\n <a\n href=\"/users/password/new\"\n class=\"self-center text-sm text-gray-600 underline\"\n >\n {{ $t('sessions.forgotPassword') }}\n </a>\n </template>\n <a\n href=\"/users/password/new\"\n class=\"flex justify-center text-sm text-blue-500 underline hover:text-blue-600\"\n >\n {{ $t('sessions.forgotPassword') }}\n </a>\n </session-wrapper>\n</template>\n\n<script>\nimport sessionWrapper from '../components/session/session-wrapper.vue';\n\nexport default {\n components: { sessionWrapper },\n};\n</script>\n","<template>\n <div class=\"h-screen py-20 bg-slate-50\">\n <div\n class=\"flex flex-col w-11/12 h-full mx-auto overflow-hidden bg-white rounded-lg shadow-md md:flex-row lg:w-5/6 xl:w-2/3\"\n >\n <div class=\"relative w-full h-32 text-white bg-purple-500 md:h-full md:w-6/12\">\n <div class=\"absolute inset-0 flex flex-col items-center justify-center\">\n <inline-svg\n class=\"h-12 mb-6 fill-current md:h-32\"\n :src=\"require('assets/images/logo.svg')\"\n />\n <mute-divider color=\"white\" />\n <p class=\"text-xl md:text-3xl\">\n {{ $t('sessions.silentMeetings') }}\n </p>\n </div>\n <div class=\"absolute inset-0 z-0\">\n <inline-svg\n :src=\"require('../../../assets/images/auth-pattern.svg')\"\n class=\"w-full h-full\"\n />\n </div>\n </div>\n <div class=\"flex flex-col grow w-full px-8 py-6 overflow-y-auto md:grow-0 md:px-16 md:w-6/12\">\n <div class=\"flex flex-col justify-center grow mb-2\">\n <div class=\"flex items-center mb-6 text-purple-500\">\n <div\n v-if=\"showBackButton\"\n class=\"flex items-center h-full mr-2 cursor-pointer\"\n @click=\"handleBackClick\"\n >\n <inline-svg\n :src=\"require('../../../assets/images/icons/left-arrow.svg')\"\n class=\"fill-current\"\n />\n </div>\n <p class=\"text-3xl leading-none\">\n {{ header }}\n </p>\n </div>\n <mute-divider class=\"mb-6\" />\n <slot name=\"content\" />\n </div>\n <slot name=\"footer\" />\n </div>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n header: { type: String, required: true },\n backButtonHref: { type: String, default: null },\n showBackButton: { type: Boolean, default: false },\n },\n emits: ['back-click'],\n methods: {\n handleBackClick() {\n if (this.backButtonHref) {\n window.location.replace(this.backButtonHref);\n } else {\n this.$emit('back-click');\n }\n },\n },\n};\n</script>\n","import { render } from \"./session-wrapper.vue?vue&type=template&id=2802f9a0\"\nimport script from \"./session-wrapper.vue?vue&type=script&lang=js\"\nexport * from \"./session-wrapper.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./sessions.vue?vue&type=template&id=78c553d0\"\nimport script from \"./sessions.vue?vue&type=script&lang=js\"\nexport * from \"./sessions.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <a\n :href=\"href\"\n class=\"flex items-center self-center text-green-500 border-b border-transparent hover:border-green-500\"\n >\n <span class=\"leading-none\">\n <slot />\n </span>\n <inline-svg\n :src=\"require('../../../assets/images/icons/right-arrow.svg')\"\n class=\"fill-current\"\n />\n </a>\n</template>\n\n<script>\nexport default {\n props: {\n href: { type: String, required: true },\n },\n};\n</script>\n","import { render } from \"./session-footer-link.vue?vue&type=template&id=6a73cd4a\"\nimport script from \"./session-footer-link.vue?vue&type=script&lang=js\"\nexport * from \"./session-footer-link.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <input\n type=\"hidden\"\n name=\"authenticity_token\"\n :value=\"token\"\n >\n</template>\n\n<script>\nimport { csrfToken } from '@rails/ujs';\n\nexport default {\n data() {\n return { token: csrfToken() };\n },\n};\n</script>\n","import { render } from \"./csrf-input.vue?vue&type=template&id=4c35bba9\"\nimport script from \"./csrf-input.vue?vue&type=script&lang=js\"\nexport * from \"./csrf-input.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import i18n from '../plugins/i18n';\n\nexport default function yupI18nErrorMessage(errorKey) {\n if (!errorKey) return errorKey;\n const [, key, argument] = errorKey.match(/(\\w+\\.\\w+)(?:\\{([\\w\\d[\\]]*)\\})?/) || [];\n\n if (!key) return errorKey;\n\n return i18n.global.t(`yup.${key}`, { argument });\n}\n","<template>\n <mute-input\n v-bind=\"$attrs\"\n v-model=\"value\"\n :name=\"name\"\n :has-error=\"hasError\"\n :error-message=\"errorMessage\"\n @blur=\"handleBlur\"\n />\n</template>\n\n<script>\nimport { toRef } from 'vue';\nimport { useField } from 'vee-validate';\nimport MuteInput from '../mute-input.vue';\nimport yupI18nErrorMessage from '../../../helpers/yup';\n\nexport default {\n components: { MuteInput },\n inheritAttrs: false,\n props: {\n name: { type: String, required: true },\n },\n\n setup(props) {\n const { value, meta, errorMessage, handleBlur } = useField(toRef(props, 'name'), undefined, {\n validateOnMount: true,\n });\n\n return { value, meta, errorKey: errorMessage, handleBlur };\n },\n computed: {\n errorMessage() {\n return yupI18nErrorMessage(this.errorKey);\n },\n hasError() {\n return this.errorKey && this.meta.touched;\n },\n },\n};\n</script>\n","import { render } from \"./mute-vv-input.vue?vue&type=template&id=6b2bd820\"\nimport script from \"./mute-vv-input.vue?vue&type=script&lang=js\"\nexport * from \"./mute-vv-input.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <vv-form\n v-slot=\"{ meta }\"\n class=\"flex flex-col\"\n action=\"/users\"\n method=\"POST\"\n :initial-values=\"{\n 'user[username]': user.username || '',\n 'user[email]': user.email || '',\n 'user[password]': '',\n 'user[password_confirmation]': '',\n }\"\n :validation-schema=\"validationSchema\"\n >\n <csrf-input />\n <mute-vv-input\n class=\"mb-6\"\n :label=\"$t('sessions.signUp.fields.userName')\"\n name=\"user[username]\"\n />\n <mute-vv-input\n class=\"mb-6\"\n :label=\"$t('sessions.signUp.fields.email')\"\n name=\"user[email]\"\n />\n <mute-vv-input\n class=\"mb-6\"\n type=\"password\"\n :label=\"$t('sessions.signUp.fields.password')\"\n name=\"user[password]\"\n />\n <mute-vv-input\n class=\"mb-6\"\n type=\"password\"\n :label=\"$t('sessions.signUp.fields.confirmPassword')\"\n name=\"user[password_confirmation]\"\n />\n <mute-cta-button\n :disabled=\"!meta.valid || !meta.dirty\"\n type=\"submit\"\n >\n {{ $t('sessions.signUp.endSignUp') }}\n </mute-cta-button>\n </vv-form>\n</template>\n\n<script>\nimport { Form as VvForm } from 'vee-validate';\nimport * as yup from 'yup';\nimport CsrfInput from '../shared/csrf-input.vue';\nimport MuteVvInput from '../shared/vee-validate/mute-vv-input.vue';\nimport { MINIMUM_PASSWORD_CHAR_LENGTH } from '../../utils/constants';\n\nexport default {\n components: { CsrfInput, MuteVvInput, VvForm },\n props: {\n user: { type: Object, required: true },\n },\n setup() {\n return {\n validationSchema: yup.object({\n 'user[username]': yup.string().matches(/^[a-zA-Z0-9_.]*$/, 'custom.username').required(),\n 'user[email]': yup.string().email().required(),\n 'user[password]': yup.string().min(MINIMUM_PASSWORD_CHAR_LENGTH).required(),\n 'user[password_confirmation]': yup.string().equalToSibling('user[password]', 'custom.passwordMatch'),\n }),\n };\n },\n};\n</script>\n","// eslint-disable-next-line import/prefer-default-export\nexport const MINIMUM_PASSWORD_CHAR_LENGTH = 6;\n\n","import { render } from \"./sign-up-user-form.vue?vue&type=template&id=babecb12\"\nimport script from \"./sign-up-user-form.vue?vue&type=script&lang=js\"\nexport * from \"./sign-up-user-form.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <session-wrapper\n :show-back-button=\"true\"\n back-button-href=\"/sessions\"\n :header=\"$t('sessions.signUp.signUp')\"\n >\n <template #content>\n <slot name=\"errors\" />\n <sign-up-user-form :user=\"user\" />\n </template>\n <template #footer>\n <session-footer-link href=\"/users/sign_in\">\n {{ $t('sessions.login') }}\n </session-footer-link>\n </template>\n </session-wrapper>\n</template>\n\n<script>\nimport SessionFooterLink from '../components/session/session-footer-link.vue';\nimport sessionWrapper from '../components/session/session-wrapper.vue';\nimport SignUpUserForm from '../components/session/sign-up-user-form.vue';\n\nexport default {\n components: { sessionWrapper, SignUpUserForm, SessionFooterLink },\n props: {\n user: { type: Object, required: true },\n },\n};\n</script>\n","import { render } from \"./sign-up.vue?vue&type=template&id=a09b425e\"\nimport script from \"./sign-up.vue?vue&type=script&lang=js\"\nexport * from \"./sign-up.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <session-wrapper\n :show-back-button=\"true\"\n back-button-href=\"/sessions\"\n :header=\"$t('sessions.login')\"\n >\n <template #content>\n <vv-form\n v-slot=\"{ meta }\"\n action=\"/users/sign_in\"\n method=\"post\"\n class=\"flex flex-col\"\n :initial-values=\"{ 'user[email]': '', 'user[password]': '' }\"\n :validation-schema=\"validationSchema\"\n >\n <csrf-input />\n <mute-vv-input\n class=\"mb-6\"\n :label=\"$t('sessions.signUp.fields.email')\"\n type=\"text\"\n name=\"user[email]\"\n />\n <mute-vv-input\n class=\"mb-6\"\n :label=\"$t('sessions.signUp.fields.password')\"\n type=\"password\"\n name=\"user[password]\"\n />\n <mute-checkbox\n id=\"remember_me\"\n v-model=\"rememberMe\"\n class=\"mb-6\"\n :label=\"$t('sessions.remember')\"\n />\n <slot name=\"errors\" />\n <input\n name=\"user[remember_me]\"\n type=\"hidden\"\n :value=\"rememberMe ? '1' : '0'\"\n >\n <mute-cta-button\n type=\"submit\"\n class=\"mb-6\"\n :disabled=\"!meta.valid || !meta.dirty\"\n >\n {{ $t('sessions.login') }}\n </mute-cta-button>\n <a\n href=\"/users/password/new\"\n class=\"flex justify-center text-sm text-green-500 hover:underline hover:text-green-600\"\n >\n {{ $t('sessions.forgotPassword') }}\n </a>\n </vv-form>\n </template>\n <template #footer>\n <session-footer-link href=\"/users/sign_up\">\n {{ $t('sessions.signUp.signUp') }}\n </session-footer-link>\n </template>\n </session-wrapper>\n</template>\n\n<script>\nimport { Form as VvForm } from 'vee-validate';\nimport * as yup from 'yup';\nimport SessionFooterLink from '../components/session/session-footer-link.vue';\nimport SessionWrapper from '../components/session/session-wrapper.vue';\nimport CsrfInput from '../components/shared/csrf-input.vue';\nimport MuteVvInput from '../components/shared/vee-validate/mute-vv-input.vue';\n\nexport default {\n components: { SessionWrapper, CsrfInput, SessionFooterLink, MuteVvInput, VvForm },\n setup() {\n return {\n validationSchema: yup.object({\n 'user[email]': yup.string().email().required(),\n 'user[password]': yup.string().required(),\n }),\n };\n },\n data() {\n return {\n rememberMe: false,\n };\n },\n};\n</script>\n","import { render } from \"./sign-in.vue?vue&type=template&id=0b09bd11\"\nimport script from \"./sign-in.vue?vue&type=script&lang=js\"\nexport * from \"./sign-in.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <session-wrapper\n :show-back-button=\"true\"\n back-button-href=\"/sessions\"\n :header=\"$t('sessions.passwordRecovery.message')\"\n >\n <template #content>\n <slot name=\"errors\" />\n <vv-form\n v-slot=\"{ meta }\"\n action=\"/users/password\"\n method=\"post\"\n class=\"flex flex-col\"\n :initial-values=\"{ 'user[email]': '' }\"\n :validation-schema=\"validationSchema\"\n >\n <p class=\"mb-6\">\n {{ $t('sessions.passwordRecovery.email.message') }}\n </p>\n <csrf-input />\n <mute-vv-input\n class=\"mb-6\"\n :label=\"$t('sessions.passwordRecovery.email.address')\"\n type=\"text\"\n name=\"user[email]\"\n />\n <mute-cta-button\n type=\"submit\"\n :disabled=\"!meta.valid || !meta.dirty\"\n >\n {{ $t('sessions.passwordRecovery.email.send') }}\n </mute-cta-button>\n </vv-form>\n </template>\n <template #footer>\n <session-footer-link href=\"/users/sign_in\">\n {{ $t('sessions.login') }}\n </session-footer-link>\n </template>\n </session-wrapper>\n</template>\n\n<script>\nimport { Form as VvForm } from 'vee-validate';\nimport * as yup from 'yup';\nimport SessionFooterLink from '../components/session/session-footer-link.vue';\nimport SessionWrapper from '../components/session/session-wrapper.vue';\nimport CsrfInput from '../components/shared/csrf-input.vue';\nimport MuteVvInput from '../components/shared/vee-validate/mute-vv-input.vue';\n\nexport default {\n components: { SessionWrapper, CsrfInput, SessionFooterLink, MuteVvInput, VvForm },\n setup() {\n return {\n validationSchema: yup.object({\n 'user[email]': yup.string().email().required(),\n }),\n };\n },\n};\n</script>\n","import { render } from \"./forgot-password.vue?vue&type=template&id=77864b52\"\nimport script from \"./forgot-password.vue?vue&type=script&lang=js\"\nexport * from \"./forgot-password.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <session-wrapper\n :show-back-button=\"true\"\n :back-button-href=\"backHref\"\n :header=\"$t('sessions.passwordRecovery.message')\"\n >\n <template #content>\n <slot name=\"errors\" />\n <p class=\"mb-6\">\n {{ $t('sessions.passwordRecovery.newPassword.enterPassword') }}\n </p>\n <vv-form\n v-slot=\"{ meta }\"\n :action=\"action\"\n method=\"post\"\n class=\"flex flex-col\"\n :initial-values=\"{\n 'user[password]': '',\n 'user[password_confirmation]': '',\n }\"\n :validation-schema=\"validationSchema\"\n >\n <csrf-input />\n <input\n type=\"hidden\"\n name=\"_method\"\n :value=\"method\"\n >\n <input\n type=\"hidden\"\n :value=\"token\"\n name=\"user[reset_password_token]\"\n >\n <mute-vv-input\n class=\"mb-6\"\n :label=\"$t('sessions.passwordRecovery.newPassword.new')\"\n type=\"password\"\n name=\"user[password]\"\n />\n <mute-vv-input\n class=\"mb-6\"\n :label=\"$t('sessions.passwordRecovery.newPassword.confirmation')\"\n type=\"password\"\n name=\"user[password_confirmation]\"\n />\n <mute-cta-button\n type=\"submit\"\n :disabled=\"!meta.valid || !meta.dirty\"\n >\n {{ $t('sessions.passwordRecovery.newPassword.recover') }}\n </mute-cta-button>\n </vv-form>\n </template>\n <template #footer>\n <session-footer-link href=\"/users/sign_in\">\n {{ $t('sessions.login') }}\n </session-footer-link>\n </template>\n </session-wrapper>\n</template>\n\n<script>\nimport { Form as VvForm } from 'vee-validate';\nimport * as yup from 'yup';\nimport SessionFooterLink from '../components/session/session-footer-link.vue';\nimport sessionWrapper from '../components/session/session-wrapper.vue';\nimport CsrfInput from '../components/shared/csrf-input.vue';\nimport { MINIMUM_PASSWORD_CHAR_LENGTH } from '../utils/constants';\n\nexport default {\n components: { sessionWrapper, CsrfInput, SessionFooterLink, VvForm },\n props: {\n method: {\n type: String,\n default: 'put',\n },\n action: {\n type: String,\n default: '/users/password',\n },\n backHref: {\n type: String,\n default: '/',\n },\n },\n setup() {\n return {\n validationSchema: yup.object({\n 'user[password]': yup.string().min(MINIMUM_PASSWORD_CHAR_LENGTH).required(),\n 'user[password_confirmation]': yup.string().equalToSibling('user[password]'),\n }),\n };\n },\n computed: {\n token() {\n const urlParams = new URLSearchParams(window.location.search);\n\n return urlParams.get('reset_password_token');\n },\n },\n};\n</script>\n","import { render } from \"./edit-password.vue?vue&type=template&id=2a1f390f\"\nimport script from \"./edit-password.vue?vue&type=script&lang=js\"\nexport * from \"./edit-password.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div class=\"flex flex-col flex-1 overflow-hidden\">\n <secondary-bar />\n <div class=\"flex flex-col items-center flex-1 p-4 overflow-scroll bg-slate-50\">\n <div class=\"flex flex-col w-full lg:w-4/5\">\n <backend-errors\n v-if=\"errors.length > 0\"\n :errors=\"errors\"\n >\n {{ $t('documents.edit.error') }}\n </backend-errors>\n <document-form\n class=\"flex-1 p-4 overflow-y-auto bg-white rounded-lg\"\n :document=\"document\"\n :team-members=\"teamMembers\"\n :masters=\"masters\"\n :user=\"user\"\n @submit=\"updateDocument\"\n />\n </div>\n </div>\n <loading-overlay v-if=\"loading\" />\n </div>\n</template>\n\n<script>\nimport DocumentForm from '../components/documents/document-form.vue';\nimport BackendErrors from '../components/shared/backend-errors.vue';\nimport documentsApi from '../api/documents';\nimport LoadingOverlay from '../components/shared/loading-overlay.vue';\nimport SecondaryBar from '../components/shared/secondary-bar.vue';\nimport parseDocumentParams from '../helpers/documentParams';\n\nexport default {\n components: { DocumentForm, BackendErrors, LoadingOverlay, SecondaryBar },\n props: {\n document: {\n type: Object,\n default: null,\n },\n teamMembers: {\n type: Array,\n default: null,\n },\n masters: {\n type: Array,\n default: null,\n },\n user: {\n type: Object,\n required: true,\n },\n },\n data() {\n return { errors: [], loading: false, editedSections: 0 };\n },\n computed: {\n documentTitle() {\n return this.document.title;\n },\n documentId() {\n return this.document.id;\n },\n teamId() {\n return this.document.teamId;\n },\n },\n methods: {\n async updateDocument(formAttributes) {\n try {\n this.loading = true;\n const params = parseDocumentParams(this.teamId, formAttributes, this.document.sections);\n await documentsApi.updateDocument(this.document.id, params);\n window.location.replace(`/teams/${this.teamId}/documents/${this.documentId}`);\n } catch (error) {\n if (error.details) {\n this.errors = error.details;\n }\n this.loading = false;\n }\n },\n },\n};\n</script>\n","<template>\n <div class=\"grid grid-cols-4 gap-4\">\n <div class=\"grid content-start grid-cols-2 gap-4 col-span-full lg:col-span-2\">\n <div>\n <p\n class=\"col-span-2 mb-2 text-lg md:mb-4\"\n >\n {{ $t('documents.information') }}\n </p>\n <mute-divider />\n </div>\n <mute-vv-input\n v-if=\"!isForTemplate\"\n id=\"title-input\"\n type=\"text\"\n :label=\"$t('documents.create.fields.title')\"\n name=\"title\"\n class=\"col-span-full\"\n />\n <mute-vv-input\n v-if=\"!isForTemplate\"\n type=\"datetime-local\"\n :label=\"$t('documents.create.fields.dateTime')\"\n class=\"col-span-full\"\n name=\"datetime\"\n />\n <mute-vv-input\n id=\"video-url-input\"\n type=\"text\"\n :label=\"$t('documents.create.fields.meetLink')\"\n class=\"col-span-full\"\n name=\"videoUrl\"\n />\n <div class=\"col-span-full\">\n <div class=\"flex items-center mb-2 space-x-1\">\n <p class=\"text-gray-600\">\n {{ $t('documents.create.access') }}\n </p>\n <inline-svg\n v-tooltip=\"$t('documents.create.accessHint')\"\n class=\"w-4 h-4 fill-current\"\n :src=\"require('assets/images/icons/info-icon.svg')\"\n />\n </div>\n <div\n class=\"space-y-2 md:flex md:space-y-0\"\n :class=\"values.access !== 'team' && 'mb-2'\"\n >\n <mute-vv-radio\n class=\"md:w-1/2\"\n :label=\"$t('documents.create.fields.access.team')\"\n name=\"access\"\n value=\"team\"\n />\n <mute-vv-radio\n class=\"md:w-1/2\"\n :label=\"$t('documents.create.fields.access.invite')\"\n name=\"access\"\n value=\"invite\"\n />\n </div>\n <mute-vv-multiselect\n v-if=\"values.access !== 'team'\"\n v-bind=\"commonMultiselectProps\"\n name=\"participants\"\n :options=\"teamMembers\"\n :placeholder=\"$t('documents.create.fields.access.select')\"\n :label=\"$t('documents.create.fields.access.label')\"\n />\n </div>\n <div class=\"col-span-full\">\n <div class=\"flex items-center mb-2 text-gray-600\">\n <p class=\"mr-2\">\n {{ $t('documents.create.mastersOfCeremony') }}\n </p>\n <inline-svg\n v-tooltip=\"$t('documents.create.masterOfCeremonyInfo')\"\n class=\"w-4 h-4 fill-current\"\n :src=\"require('assets/images/icons/info-icon.svg')\"\n />\n </div>\n <mute-vv-multiselect\n v-bind=\"commonMultiselectProps\"\n name=\"mastersOfCeremonies\"\n :options=\"eligiblesForMasterOfCeremony\"\n :placeholder=\"$t('documents.create.fields.mastersOfCeremony.select')\"\n :label=\"$t('documents.create.fields.mastersOfCeremony.label')\"\n />\n </div>\n <div class=\"col-span-full\">\n <div class=\"flex items-center my-2 text-gray-600\">\n <p class=\"mr-2\">\n {{ $t('documents.create.configurations') }}\n </p>\n <inline-svg\n v-tooltip=\"$t('documents.create.configurationsInfo')\"\n class=\"w-4 h-4 fill-current\"\n :src=\"require('assets/images/icons/info-icon.svg')\"\n />\n </div>\n <div class=\"md:flex-wrap md:flex\">\n <mute-vv-checkbox\n id=\"checkbox-announcements\"\n class=\"mb-2 md:mr-2\"\n :label=\"$t('documents.create.fields.configurations.announcementsLabel')\"\n name=\"documentConfigurationAttributes.announcementsAllowed\"\n />\n <mute-vv-checkbox\n id=\"checkbox-comments\"\n class=\"mb-2 md:mr-2\"\n :label=\"$t('documents.create.fields.configurations.commentsLabel')\"\n name=\"documentConfigurationAttributes.commentsAllowed\"\n />\n <mute-vv-checkbox\n id=\"checkbox-ready-status\"\n class=\"md:mr-2 md:mb-2\"\n :label=\"$t('documents.create.fields.configurations.readyStatusLabel')\"\n name=\"documentConfigurationAttributes.readyStatusAllowed\"\n />\n </div>\n </div>\n <div class=\"text-gray-600 col-span-full\">\n <div class=\"flex items-center my-2\">\n <p class=\"mr-2\">\n {{ $t('documents.create.fields.instructions.label') }}\n </p>\n <inline-svg\n v-tooltip=\"$t('documents.create.fields.instructions.info')\"\n class=\"w-4 h-4 fill-current\"\n :src=\"require('assets/images/icons/info-icon.svg')\"\n />\n </div>\n <tip-tap-vv-editor\n name=\"instructions\"\n bordered\n input-id=\"add-instructions\"\n :disabled-extensions=\"['Image', 'Tag', 'Mention']\"\n :hidden-buttons=\"['attach']\"\n :placeholder=\"$t('documents.create.fields.instructions.placeholder')\"\n />\n </div>\n </div>\n <div class=\"flex flex-col col-span-full lg:col-span-2\">\n <div class=\"flex items-center justify-between mb-2 md:mb-4\">\n <p class=\"text-lg\">\n {{ $t('documents.create.fields.sections') }}\n </p>\n </div>\n <mute-divider class=\"mb-4\" />\n <sections-form\n :sorted-sections=\"values.sections\"\n @add-section=\"addSection\"\n @delete-section=\"deleteSection\"\n @move-section=\"moveSection\"\n />\n <mute-button\n class=\"w-full col-span-4 ml-auto md:w-auto\"\n :disabled=\"!meta.valid || externalValidation\"\n @click=\"handleSubmit\"\n >\n {{ document.id ? $t('documents.create.save') : $t('documents.create.create') }}\n </mute-button>\n </div>\n </div>\n</template>\n\n<script>\nimport MuteDivider from '../shared/mute-divider.vue';\nimport SectionsForm from './sections-form.vue';\nimport TipTapVvEditor from '../shared/vee-validate/tip-tap-vv-editor.vue';\nimport useDocumentForm from '../../composables/useDocumentForm';\n\nexport default {\n components: { MuteDivider, SectionsForm, TipTapVvEditor },\n props: {\n document: {\n type: Object,\n default: null,\n },\n teamMembers: {\n type: Array,\n default: null,\n },\n masters: {\n type: Array,\n default: null,\n },\n isForTemplate: {\n type: Boolean,\n default: false,\n },\n externalValidation: {\n type: Boolean,\n default: false,\n },\n user: {\n type: Object,\n required: true,\n },\n },\n emits: ['submit'],\n setup(props) {\n const { meta, values } = useDocumentForm({\n document: props.document,\n masters: props.masters,\n user: props.user,\n isForTemplate: props.isForTemplate,\n });\n\n return { meta, values };\n },\n computed: {\n eligiblesForMasterOfCeremony() {\n return this.values.access === 'team' ? this.teamMembers : this.values.participants;\n },\n commonMultiselectProps() {\n return {\n multiple: true,\n closeOnSelect: false,\n clearOnSelect: false,\n preserveSearch: true,\n searchable: true,\n customLabel({ username, email }) {\n return `${username} (${email})`;\n },\n trackBy: 'email',\n };\n },\n },\n methods: {\n addSection() {\n this.values.sections.push({\n id: Math.max(...this.values.sections.map(section => section.id), 0) + 1,\n title: '',\n order: this.values.sections.length,\n });\n },\n deleteSection(sectionIndex) {\n this.values.sections.splice(sectionIndex, 1);\n this.values.sections.forEach((section) => {\n section.order = this.values.sections.indexOf(section);\n });\n },\n moveSection() {\n this.values.sections.forEach(section => {\n section.order = this.values.sections.indexOf(section);\n });\n },\n handleSubmit() {\n this.$emit('submit', {\n ...this.values,\n mastersOfCeremonies: this.values.mastersOfCeremonies.map((user) => user.id),\n });\n },\n },\n};\n</script>\n","<template>\n <div\n class=\"border-b\"\n :class=\"[`border-${color}`, width]\"\n />\n</template>\n\n<script>\nexport default {\n props: {\n color: { type: String, default: 'gray-400' },\n width: { type: String, default: 'w-64' },\n },\n};\n</script>\n","import { render } from \"./mute-divider.vue?vue&type=template&id=e2ffcdbc\"\nimport script from \"./mute-divider.vue?vue&type=script&lang=js\"\nexport * from \"./mute-divider.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<!-- eslint-disable tailwindcss/no-custom-classname -->\n<template>\n <div\n id=\"section-input-groups\"\n class=\"flex-1 mb-4\"\n >\n <draggable\n id=\"draggable-list\"\n :list=\"sortedSections\"\n handle=\".drag-handle\"\n animation=\"150\"\n draggable=\".draggable-item\"\n item-key=\"order\"\n @change=\"$emit('move-section')\"\n >\n <template #item=\"{ element: section, index }\">\n <div\n :id=\"`section-input-group-${index}`\"\n class=\"draggable-item flex items-center col-span-2\"\n :class=\"{ 'mb-3': index < sortedSections.length - 1 }\"\n >\n <div\n class=\"flex flex-col self-start justify-center w-10 h-16\"\n >\n <div\n v-if=\"sortedSections.length !== 0\"\n class=\"drag-handle w-5 h-8 col-span-1 text-gray-500 rounded cursor-move justify-self-end\"\n >\n <inline-svg\n :src=\"require(`assets/images/icons/drag.svg`)\"\n class=\"grow-0 mx-auto fill-current\"\n />\n </div>\n </div>\n <mute-vv-input\n type=\"text\"\n :label=\"$t('documents.easyCreate.fields.sectionNumber', { index: index + 1 })\"\n :name=\"`sections[${index}].title`\"\n class=\"flex-1\"\n :class=\"{ 'mr-2': index !== 0 }\"\n :focused-on-mount=\"index > 0\"\n @keypress.enter=\"$emit('add-section')\"\n />\n <mute-button\n v-if=\"index !== 0\"\n :id=\"`delete-button-${index}`\"\n class=\"hidden md:block\"\n icon-file-name=\"close-icon.svg\"\n variant=\"red\"\n outlined\n @click=\"$emit('delete-section', index)\"\n />\n <mute-button\n v-if=\"index !== 0\"\n :id=\"`delete-button-${index}`\"\n class=\"block md:hidden\"\n icon-file-name=\"close-icon.svg\"\n variant=\"red\"\n outlined\n size=\"sm\"\n @click=\"$emit('delete-section', index)\"\n />\n </div>\n </template>\n </draggable>\n <div class=\"flex justify-end mt-3\">\n <mute-button\n class=\"hidden md:block\"\n variant=\"green\"\n outlined\n icon-file-name=\"add.svg\"\n @click=\"$emit('add-section')\"\n />\n <mute-button\n class=\"block md:hidden\"\n variant=\"green\"\n outlined\n icon-file-name=\"add.svg\"\n size=\"sm\"\n @click=\"$emit('add-section')\"\n />\n </div>\n </div>\n</template>\n<script>\nimport draggable from 'vuedraggable';\n\nexport default {\n components: { draggable },\n props: {\n sortedSections: {\n type: Array,\n required: true,\n },\n },\n emits: ['move-section', 'add-section', 'delete-section', 'delete-section', 'add-section', 'add-section'],\n};\n\n</script>\n","import { render } from \"./sections-form.vue?vue&type=template&id=3ee1c368\"\nimport script from \"./sections-form.vue?vue&type=script&lang=js\"\nexport * from \"./sections-form.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <tip-tap-editor\n v-bind=\"$attrs\"\n v-model=\"value\"\n @blur=\"handleBlur\"\n />\n</template>\n\n<script>\nimport { useField } from 'vee-validate';\nimport TipTapEditor from '../tiptap/tiptap.vue';\n\nexport default {\n components: { TipTapEditor },\n props: {\n name: { type: String, required: true },\n },\n\n setup(props) {\n const { value, handleBlur } = useField(props.name);\n\n return { value, handleBlur };\n },\n};\n</script>\n","import moment from 'moment';\n\nexport default function getDefaultDate() {\n const format = 'YYYY-MM-DDTHH:mm';\n\n return moment().startOf('hour').add(1, 'hour')\n .format(format);\n}\n","import moment from 'moment';\nimport { useForm } from 'vee-validate';\nimport * as yup from 'yup';\nimport orderBy from 'lodash/orderBy';\nimport getDefaultDate from '../helpers/get-default-date';\n\nfunction getSortedSections(document) {\n if (document.sections.length === 0) return [{ id: 1, title: '', order: 0 }];\n const mappedSections = document.sections.map(({ id, title, order }) => ({ id, title, order }));\n\n return orderBy(mappedSections, 'order');\n}\n\nfunction getDatetime(document) {\n const format = 'YYYY-MM-DDTHH:mm';\n if (document.datetime) return moment(document.datetime).format(format);\n\n return getDefaultDate();\n}\n\nfunction getDocumentConfigurations(document) {\n if (!document.documentConfiguration) {\n return {\n commentsAllowed: true,\n announcementsAllowed: true,\n readyStatusAllowed: true,\n };\n }\n\n return {\n commentsAllowed: document.documentConfiguration.commentsAllowed,\n announcementsAllowed: document.documentConfiguration.announcementsAllowed,\n readyStatusAllowed: document.documentConfiguration.readyStatusAllowed,\n };\n}\n\nfunction getDocumentParticipants(document, user) {\n if (document.participants && document.participants.length > 0) return document.participants;\n\n return [user];\n}\n\nexport default function useDocumentForm({ document, masters, user, isForTemplate }) {\n const {\n title: documentTitle,\n videoUrl,\n instructions,\n access,\n } = document;\n\n const { values, meta } = useForm({\n initialValues: {\n title: documentTitle || '',\n datetime: getDatetime(document),\n videoUrl: videoUrl || '',\n access: access || 'team',\n participants: getDocumentParticipants(document, user),\n mastersOfCeremonies: masters || [user],\n instructions: instructions.body || '',\n sections: getSortedSections(document),\n documentConfigurationAttributes: getDocumentConfigurations(document),\n },\n validationSchema: yup.object({\n title: yup.string().when([], (schema) => (isForTemplate ? schema.optional() : schema.required())),\n datetime: yup.string().required(),\n videoUrl: yup.string().url(),\n participants: yup.array().min(1),\n mastersOfCeremonies: yup.array().min(1),\n sections: yup.array().of(yup.object({ title: yup.string().required() })),\n }),\n });\n\n return { values, meta };\n}\n","import { render } from \"./tip-tap-vv-editor.vue?vue&type=template&id=273e14ba\"\nimport script from \"./tip-tap-vv-editor.vue?vue&type=script&lang=js\"\nexport * from \"./tip-tap-vv-editor.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./document-form.vue?vue&type=template&id=71759ed0\"\nimport script from \"./document-form.vue?vue&type=script&lang=js\"\nexport * from \"./document-form.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import differenceBy from 'lodash/differenceBy';\nimport differenceWith from 'lodash/differenceWith';\nimport intersectionBy from 'lodash/intersectionBy';\nimport isEqual from 'lodash/isEqual';\nexport default function changedEditedSections(editedSections, originalSections) { const initialSections = originalSections.map(section => ({ id: section.id, title: section.title, order: section.order })); let newSections = differenceBy(editedSections, initialSections, 'id'); newSections = newSections.map(section => ({ title: section.title, order: section.order })); if (originalSections.length === 0)\n return newSections; let deletedSections = differenceBy(initialSections, editedSections, 'id'); deletedSections = deletedSections.map(section => ({ title: section.title, order: section.order, id: section.id, _destroy: true })); const inCommon = intersectionBy(editedSections, initialSections, 'id'); const updatedSections = differenceWith(inCommon, initialSections, isEqual); return newSections.concat(deletedSections).concat(updatedSections); }\n","import changedEditedSections from './changedEditedSections';\nexport default function parseDocumentParams(teamId, { title, datetime, videoUrl, participants, mastersOfCeremonies, instructions, sections, documentConfigurationAttributes, access }, originalSections) { const membersIds = participants ? participants.map(({ id }) => id) : []; const sectionsAttributes = changedEditedSections(sections, originalSections); return { title, videoUrl, membersIds, access, datetime, mastersOfCeremonies, instructions, teamId, sectionsAttributes, documentConfigurationAttributes }; }\n","import { render } from \"./edit-document.vue?vue&type=template&id=8b677586\"\nimport script from \"./edit-document.vue?vue&type=script&lang=js\"\nexport * from \"./edit-document.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import script from \"./landing-cta.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./landing-cta.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, createVNode as _createVNode, mergeProps as _mergeProps, createElementBlock as _createElementBlock } from \"vue\";\nimport { ref, computed } from 'vue';\nimport { logAmplitudeEvent } from 'helpers/amplitude';\nimport useFilteredAttrs from 'composables/useFilteredAttrs';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'landing-cta', props: { variant: null }, setup(__props) { const props = __props; const email = ref(''); const filteredAttrs = useFilteredAttrs({ excluded: ['class'] }); const isSimplified = computed(() => props.variant === 'navbar'); function logEmailIntent() { if (email.value === '')\n return; logAmplitudeEvent('landing-email-intent', { variant: props.variant, email: email.value }); } return (_ctx, _cache) => { const _component_base_input = _resolveComponent(\"base-input\"); const _component_base_button = _resolveComponent(\"base-button\"); return _openBlock(), _createElementBlock(\"div\", _mergeProps(_unref(filteredAttrs), { class: \"flex space-x-2\" }), [!_unref(isSimplified) ? (_openBlock(), _createBlock(_component_base_input, { key: 0, modelValue: email.value, \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => email.value = $event), class: \"grow text-sm sm:text-lg\", name: \"email\", placeholder: _ctx.$t('landing.cta.emailPlaceholder'), onBlur: logEmailIntent }, null, 8, [\"modelValue\", \"placeholder\"])) : _createCommentVNode(\"\", true), _createVNode(_component_base_button, { label: _ctx.$t('landing.cta.buttonLabel'), href: `https://calendly.com/raimundoherrera/mute${email.value ? `?email=${email.value}` : ''}`, color: \"teal\", class: _normalizeClass(_unref(isSimplified) ? 'w-auto' : 'w-40 sm:w-56 sm:text-xl'), onClick: _cache[1] || (_cache[1] = $event => _unref(logAmplitudeEvent)('landing-demo-intent', { variant: __props.variant, email: email.value })) }, null, 8, [\"label\", \"href\", \"class\"])], 16); }; } });\n","import { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = { class: \"container flex flex-col items-center justify-center w-full px-16 mx-auto space-y-8 pt-32 pb-14 sm:pt-48 sm:pb-32 lg:pt-56 lg:pb-40\" };\nconst _hoisted_2 = { class: \"flex flex-col space-x-0 space-y-12 lg:space-y-0 lg:space-x-20 lg:flex-row\" };\nconst _hoisted_3 = { class: \"flex flex-col justify-center flex-1 space-y-4 md:space-y-8\" };\nconst _hoisted_4 = { class: \"font-semibold text-indigo-500 text-4xl xl:text-7xl\" };\nconst _hoisted_5 = { class: \"text-slate-600 xl:text-xl\" };\nconst _hoisted_6 = { class: \"flex flex-col space-y-2 md:space-y-4\" };\nconst _hoisted_7 = { class: \"text-teal-400 underline\", href: \"/users/sign_up\" };\nconst _hoisted_8 = { class: \"flex items-center flex-1\" };\nconst _hoisted_9 = [\"src\"];\nimport LandingCta from './landing-cta.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'landing-hero', setup(__props) { return (_ctx, _cache) => { const _component_i18n_t = _resolveComponent(\"i18n-t\"); return _openBlock(), _createElementBlock(\"main\", _hoisted_1, [_createElementVNode(\"div\", _hoisted_2, [_createElementVNode(\"div\", _hoisted_3, [_createElementVNode(\"h1\", _hoisted_4, _toDisplayString(_ctx.$t('landing.hero.title')), 1), _createElementVNode(\"p\", _hoisted_5, _toDisplayString(_ctx.$t('landing.hero.body')), 1), _createElementVNode(\"div\", _hoisted_6, [_createVNode(LandingCta, { variant: \"hero\" }), _createVNode(_component_i18n_t, { tag: \"p\", keypath: \"landing.hero.alreadyRegistered\", for: \"landing.hero.signUp\", class: \"text-sm text-slate-400 self-end\" }, { default: _withCtx(() => [_createElementVNode(\"a\", _hoisted_7, _toDisplayString(_ctx.$t('landing.hero.signUp')), 1)]), _: 1 })])]), _createElementVNode(\"div\", _hoisted_8, [_createElementVNode(\"img\", { class: \"h-auto\", src: require('assets/images/landing/hero.svg') }, null, 8, _hoisted_9)])])]); }; } });\n","import script from \"./landing-hero.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./landing-hero.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, Transition as _Transition, withCtx as _withCtx } from \"vue\";\nconst _hoisted_1 = { class: \"fixed inset-x-0 bg-white z-10\" };\nconst _hoisted_2 = { class: \"container flex flex-col px-8 mx-auto\" };\nconst _hoisted_3 = { class: \"items-center self-center hidden sm:flex\" };\nconst _hoisted_4 = { class: \"mr-8\" };\nconst _hoisted_5 = { class: \"hover:underline hover:text-purple-500\", href: \"/users/sign_in\" };\nconst _hoisted_6 = /*#__PURE__*/ _createElementVNode(\"hr\", { class: \"mx-2 border-gray-400 sm:mx-20\" }, null, -1);\nconst _hoisted_7 = { key: 0, class: \"flex flex-col w-full pt-4 px-10 pb-10 bg-white shadow-xl sm:hidden\" };\nconst _hoisted_8 = { class: \"flex flex-col\" };\nconst _hoisted_9 = { class: \"px-2 py-4 hover:underline hover:text-purple-500\", href: \"/users/sign_in\" };\nconst _hoisted_10 = { class: \"flex flex-col\" };\nimport { ref } from 'vue';\nimport LandingCta from './landing-cta.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'landing-nav-bar', props: { isHeroVisible: { type: Boolean } }, setup(__props) { const isMenuOpen = ref(false); return (_ctx, _cache) => { const _component_inline_svg = _resolveComponent(\"inline-svg\"); return _openBlock(), _createElementBlock(\"nav\", _hoisted_1, [_createElementVNode(\"div\", _hoisted_2, [_createElementVNode(\"div\", { class: _normalizeClass([\"flex flex-row items-center transition-all duration-150 ease-in-out\", __props.isHeroVisible ? 'py-6' : 'py-2']) }, [_createVNode(_component_inline_svg, { class: _normalizeClass([\"h-10 mr-auto text-purple-500 transition-all duration-150 ease-in-out origin-left fill-current sm:h-12\", !__props.isHeroVisible && 'scale-75']), src: require('assets/images/logo.svg') }, null, 8, [\"class\", \"src\"]), _createElementVNode(\"ul\", _hoisted_3, [_createElementVNode(\"li\", _hoisted_4, [_createElementVNode(\"a\", _hoisted_5, _toDisplayString(_ctx.$t('landing.navbar.signIn')), 1)]), _createElementVNode(\"li\", null, [_createVNode(LandingCta, { variant: \"navbar\" })])]), _createElementVNode(\"button\", { class: \"flex sm:hidden\", onClick: _cache[0] || (_cache[0] = $event => isMenuOpen.value = !isMenuOpen.value) }, [_createVNode(_component_inline_svg, { class: \"w-6 h-6 text-purple-500 fill-current outline-white\", src: require(`assets/images/icons/${isMenuOpen.value ? 'close' : 'hamburger'}-icon.svg`) }, null, 8, [\"src\"])])], 2), _hoisted_6]), _createVNode(_Transition, { name: \"fade\" }, { default: _withCtx(() => [isMenuOpen.value ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_7, [_createElementVNode(\"li\", _hoisted_8, [_createElementVNode(\"a\", _hoisted_9, _toDisplayString(_ctx.$t('landing.navbar.signIn')), 1)]), _createElementVNode(\"li\", _hoisted_10, [_createVNode(LandingCta, { class: \"flex-col\", variant: \"navbar\" })])])) : _createCommentVNode(\"\", true)]), _: 1 })]); }; } });\n","import script from \"./landing-nav-bar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./landing-nav-bar.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveDirective as _resolveDirective, withDirectives as _withDirectives } from \"vue\";\nconst _hoisted_1 = { class: \"bg-slate-100 py-8\" };\nconst _hoisted_2 = { class: \"container flex flex-col justify-center items-center p-8 mx-auto sm:px-4\" };\nconst _hoisted_3 = { class: \"mb-4 text-xl text-center text-slate-500 xl:mb-12 xl:text-2xl\" };\nconst _hoisted_4 = { class: \"flex flex-wrap items-center justify-center -ml-6\" };\nconst _hoisted_5 = [\"href\"];\nconst _hoisted_6 = [\"src\"];\nimport fileCompaniesNames from '../../../assets/json/file_companies_names.json';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'landing-companies', setup(__props) { const companies = fileCompaniesNames.map(company => ({ ...company, src: require(`assets/images/landing/companies/${company.key}-logo.png`) })); return (_ctx, _cache) => { const _directive_tooltip = _resolveDirective(\"tooltip\"); return _openBlock(), _createElementBlock(\"section\", _hoisted_1, [_createElementVNode(\"div\", _hoisted_2, [_createElementVNode(\"h2\", _hoisted_3, _toDisplayString(_ctx.$t('landing.companies.header')), 1), _createElementVNode(\"div\", _hoisted_4, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(companies), company => { return _openBlock(), _createElementBlock(\"a\", { key: company.key, href: company.url, target: \"_blank\", rel: \"nofollow\", class: \"ml-8 sm:ml-12 lg:ml-20\" }, [_withDirectives(_createElementVNode(\"img\", { class: \"h-10 mb-4 md:h-12 xl:h-16\", src: company.src }, null, 8, _hoisted_6), [[_directive_tooltip, company.name]])], 8, _hoisted_5); }), 128))])])]); }; } });\n","import script from \"./landing-companies.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./landing-companies.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, renderSlot as _renderSlot, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = { class: \"flex items-center flex-1 min-w-0\" };\nconst _hoisted_2 = [\"src\"];\nconst _hoisted_3 = { class: \"flex mb-4 space-x-2 items-center\" };\nconst _hoisted_4 = { class: \"text-2xl font-medium text-slate-800 sm:text-3xl\" };\nconst _hoisted_5 = { class: \"text-base text-gray-700 space-y-2 sm:space-y-4\" };\nexport default /*#__PURE__*/ _defineComponent({ __name: 'landing-feature', props: { title: null, imageFirst: { type: Boolean }, iconSrc: null, imageSrc: null }, setup(__props) { return (_ctx, _cache) => { const _component_inline_svg = _resolveComponent(\"inline-svg\"); return _openBlock(), _createElementBlock(\"article\", { class: _normalizeClass([\"flex flex-col items-center justify-between space-y-8 lg:space-y-0\", __props.imageFirst ? 'lg:flex-row' : 'lg:flex-row-reverse']) }, [_createElementVNode(\"div\", _hoisted_1, [_createElementVNode(\"img\", { src: __props.imageSrc }, null, 8, _hoisted_2)]), _createElementVNode(\"div\", { class: _normalizeClass([\"flex-1\", __props.imageFirst ? 'ml-0 lg:ml-16' : 'mr-0 lg:mr-16']) }, [_createElementVNode(\"div\", _hoisted_3, [_createVNode(_component_inline_svg, { class: \"w-8 h-8 text-purple-500 fill-current\", src: __props.iconSrc }, null, 8, [\"src\"]), _createElementVNode(\"h2\", _hoisted_4, _toDisplayString(__props.title), 1)]), _createElementVNode(\"div\", _hoisted_5, [_renderSlot(_ctx.$slots, \"default\")])], 2)], 2); }; } });\n","import script from \"./landing-feature.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./landing-feature.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, unref as _unref, toDisplayString as _toDisplayString, withCtx as _withCtx, createVNode as _createVNode } from \"vue\";\nconst _hoisted_1 = { class: \"container mx-auto p-8 space-y-12 md:py-16 md:px-8 xl:p-32 md:space-y-16\" };\nimport times from 'lodash/times';\nimport es from 'locales/es';\nimport landingFeature from './landing-feature.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'landing-features', setup(__props) { const bodyCounts = es.landing.features.map(feature => feature.body.length); const features = [{ id: 'short-meetings', iconName: 'access-time', imageName: 'paralelize' }, { id: 'improvement', iconName: 'trending-up', imageName: 'repeat' }, { id: 'catch-up', iconName: 'unarchive', imageName: 'revive-the-meeting' }, { id: 'everyones-opinion', iconName: 'groups', imageName: 'everyones-opinion' }, { id: 'delegate', iconName: 'hub', imageName: 'delegate' }]; return (_ctx, _cache) => { return _openBlock(), _createElementBlock(\"section\", _hoisted_1, [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(features, (feature, featureIndex) => { return _createVNode(landingFeature, { key: feature.id, title: _ctx.$t(`landing.features[${featureIndex}].header`), \"icon-src\": require(`assets/images/design-system-icons/${feature.iconName}.svg`), \"image-src\": require(`assets/images/landing/features/${feature.imageName}.svg`), \"image-first\": featureIndex % 2 !== 0 }, { default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(times)(_unref(bodyCounts)[featureIndex]), bodyIndex => { return _openBlock(), _createElementBlock(\"p\", { key: bodyIndex }, _toDisplayString(_ctx.$t(`landing.features[${featureIndex}].body[${bodyIndex}]`)), 1); }), 128))]), _: 2 }, 1032, [\"title\", \"icon-src\", \"image-src\", \"image-first\"]); }), 64))]); }; } });\n","import script from \"./landing-features.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./landing-features.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = { class: \"bg-slate-50\" };\nconst _hoisted_2 = { class: \"container flex flex-col px-8 py-16 mx-auto lg:px-32 xl:px-96\" };\nconst _hoisted_3 = { class: \"mb-10 text-2xl text-center text-gray-700 sm:text-3xl lg:text-4xl md:mb-8\" };\nimport LandingCta from './landing-cta.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'landing-pre-footer', setup(__props) { return (_ctx, _cache) => { return _openBlock(), _createElementBlock(\"section\", _hoisted_1, [_createElementVNode(\"div\", _hoisted_2, [_createElementVNode(\"h2\", _hoisted_3, _toDisplayString(_ctx.$t('landing.preFooter.title')), 1), _createVNode(LandingCta, { variant: \"pre-footer\" })])]); }; } });\n","import script from \"./landing-pre-footer.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./landing-pre-footer.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","<template>\n <footer class=\"text-white bg-purple-500\">\n <div class=\"container flex flex-col px-8 py-32 mx-auto lg:flex-row\">\n <div class=\"flex flex-col mt-8 items-center order-last lg:order-first lg:items-start lg:mb-0 md:mr-0 lg:mr-16 xl:mr-32\">\n <div class=\"mb-4\">\n <inline-svg\n :src=\"require('assets/images/logo.svg')\"\n class=\"h-12 fill-current\"\n />\n </div>\n <p>\n © {{ currentYear }} {{ $t('landing.footer.allRightsReserved') }}\n </p>\n </div>\n <div class=\"flex justify-between lg:justify-start\">\n <div class=\"flex flex-col mr-8 xl:mr-32\">\n <h4 class=\"mb-4 text-2xl font-bold\">\n Mute\n </h4>\n <a\n class=\"mb-2 hover:underline underline opacity-70 hover:opacity-100\"\n href=\"/users/sign_in\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n {{ $t('landing.footer.mute.signIn') }}\n </a>\n </div>\n <div class=\"flex flex-col mr-8 xl:mr-32\">\n <h4 class=\"mb-4 text-2xl font-bold\">\n Platanus\n </h4>\n <a\n class=\"mb-2 hover:underline underline opacity-70 hover:opacity-100\"\n href=\"https://platan.us/\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Platanus\n </a>\n <a\n class=\"mb-2 hover:underline underline opacity-70 hover:opacity-100\"\n href=\"https://blog.platan.us/\"\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n >\n Blog\n </a>\n </div>\n <div class=\"flex flex-col mr-8 xl:mr-32\">\n <h4 class=\"mb-4 text-2xl font-bold\">\n {{ $t('language.message') }}\n </h4>\n <a\n class=\"p-0 mb-2 cursor-pointer hover:underline underline opacity-70 hover:opacity-100\"\n @click=\"changeLocale('es')\"\n >\n {{ $t('language.spanish.message') }} (ES)\n </a>\n <a\n class=\"p-0 mb-2 cursor-pointer hover:underline underline opacity-70 hover:opacity-100\"\n @click=\"changeLocale('en')\"\n >\n {{ $t('language.english.message') }} (EN)\n </a>\n </div>\n </div>\n <div class=\"flex flex-col items-center flex-1 my-16 lg:my-0 lg:items-end\">\n <div class=\"flex flex-col\">\n <div class=\"flex justify-center mb-8 lg:justify-start\">\n <a\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://www.instagram.com/platan.us/\"\n >\n <inline-svg\n :src=\"require('assets/images/icons/social/instagram.svg')\"\n class=\"w-8 h-8 mr-2 fill-current\"\n />\n </a>\n <a\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://github.com/platanus/\"\n >\n <inline-svg\n :src=\"require('assets/images/icons/social/github.svg')\"\n class=\"w-8 h-8 mr-2 fill-current\"\n />\n </a>\n <a\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://facebook.com/platanusocial/\"\n >\n <inline-svg\n :src=\"require('assets/images/icons/social/facebook.svg')\"\n class=\"w-8 h-8 mr-2 fill-current\"\n />\n </a>\n <a\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://twitter.com/_platanus/\"\n >\n <inline-svg\n :src=\"require('assets/images/icons/social/twitter.svg')\"\n class=\"w-8 h-8 mr-2 fill-current\"\n />\n </a>\n <a\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n href=\"https://www.linkedin.com/company/platanus/\"\n >\n <inline-svg\n :src=\"require('assets/images/icons/social/linkedin.svg')\"\n class=\"w-8 h-8 fill-current\"\n />\n </a>\n </div>\n <div class=\"flex flex-col items-center lg:items-start\">\n <p class=\"mr-4 font-bold\">\n {{ $t('landing.footer.contact.title') }}\n </p>\n <p class=\"flex items-center whitespace-nowrap\">\n {{ $t('landing.footer.contact.text') }} \n <a\n class=\"border-b border-white border-dotted cursor-pointer\"\n :href=\"`mailto:${contactEmail}`\"\n >\n {{ contactEmail }}\n </a>\n <button\n class=\"ml-2\"\n @click=\"copyContactEmail\"\n >\n <inline-svg\n :src=\"require(`assets/images/icons/${copied ? 'check' : 'copy'}-icon.svg`)\"\n class=\"w-4 h-4 fill-current\"\n />\n </button>\n </p>\n </div>\n </div>\n </div>\n </div>\n </footer>\n</template>\n\n<script>\nconst COPY_TIMEOUT_IN_MS = 1500;\nconst CONTACT_EMAIL = 'mute@platan.us';\n\nexport default {\n data() {\n return {\n copied: false,\n currentTimeout: null,\n };\n },\n computed: {\n currentYear() {\n return new Date().getFullYear();\n },\n contactEmail() {\n return CONTACT_EMAIL;\n },\n },\n methods: {\n changeLocale(locale) {\n this.$i18n.locale = locale;\n window.localStorage.locale = locale;\n window.scrollTo({ top: 0 });\n },\n clearCopyTimeout() {\n if (this.currentTimeout) {\n clearTimeout(this.currentTimeout);\n }\n },\n setCopyTimeout() {\n this.copied = true;\n this.currentTimeout = setTimeout(() => {\n this.copied = false;\n }, COPY_TIMEOUT_IN_MS);\n },\n async copyContactEmail() {\n this.clearCopyTimeout();\n this.setCopyTimeout();\n await navigator.clipboard.writeText(CONTACT_EMAIL);\n },\n },\n};\n</script>\n","import { render } from \"./landing-footer.vue?vue&type=template&id=03297b54\"\nimport script from \"./landing-footer.vue?vue&type=script&lang=js\"\nexport * from \"./landing-footer.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div>\n <landing-nav-bar :is-hero-visible=\"isHeroVisible\" />\n <landing-hero v-observe-visibility=\"heroVisibilityChanged\" />\n <landing-companies />\n <landing-features />\n <landing-pre-footer />\n <landing-footer />\n </div>\n</template>\n\n<script>\nimport LandingHero from '../components/landing-page/landing-hero.vue';\nimport LandingNavBar from '../components/landing-page/landing-nav-bar.vue';\nimport LandingCompanies from '../components/landing-page/landing-companies.vue';\nimport LandingFeatures from '../components/landing-page/landing-features.vue';\nimport LandingPreFooter from '../components/landing-page/landing-pre-footer.vue';\nimport LandingFooter from '../components/landing-page/landing-footer.vue';\n\nexport default {\n components: {\n LandingNavBar,\n LandingHero,\n LandingCompanies,\n LandingFeatures,\n LandingPreFooter,\n LandingFooter,\n },\n data() {\n return {\n isHeroVisible: true,\n };\n },\n methods: {\n heroVisibilityChanged(isVisible) {\n this.isHeroVisible = isVisible;\n },\n },\n};\n</script>\n","import { render } from \"./landing-page.vue?vue&type=template&id=4447bb12\"\nimport script from \"./landing-page.vue?vue&type=script&lang=js\"\nexport * from \"./landing-page.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import moment from 'moment';\nimport { computed } from 'vue';\nimport { useI18n } from 'vue-i18n';\nexport default function useFormattedRecurrenceDate(documentTemplate) { const { t } = useI18n(); const SECONDS_IN_ONE_WEEK = 604800; const templateDate = computed(() => moment(documentTemplate.nextDate)); const templateWeeks = computed(() => documentTemplate.recurrenceDuration / SECONDS_IN_ONE_WEEK); const recurrenceLabel = computed(() => t(`templates.preview.recurrent.${templateWeeks.value === 1 ? 'singleWeek' : 'multipleWeeks'}`, { weeks: templateWeeks.value, day: t(`templates.form.weekDays.${templateDate.value.day()}`).toLowerCase(), hour: templateDate.value.format('HH:mm') })); const templateText = computed(() => documentTemplate.recurrent ? recurrenceLabel.value : t('templates.preview.recurrent.none')); return templateText; }\n","import moment from 'moment';\nimport { computed } from 'vue';\nexport default function useDocumentDatetimeAssertions(document) { const documentDatetime = computed(() => moment(document.value.datetime)); const isToday = computed(() => moment().isSame(documentDatetime.value, 'day')); const hasItBeenMoreThanAnHourSinceStart = computed(() => moment().diff(documentDatetime.value, 'hour', true) > 1); const hasStarted = computed(() => moment().diff(documentDatetime.value, 'seconds') > 0); return { isToday, hasItBeenMoreThanAnHourSinceStart, hasStarted }; }\n","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = { class: \"flex space-x-1 items-center text-sm text-slate-400\" };\nconst _hoisted_2 = { key: 1 };\nimport { computed } from 'vue';\nimport { useI18n } from 'vue-i18n';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'documents-item-metric', props: { imagePath: null, count: null, name: null }, setup(__props) { const props = __props; const { t } = useI18n(); const emptyLabel = computed(() => t(`metrics.${props.name}.empty`)); const label = computed(() => t(`metrics.${props.name}.plural`)); const showIcon = computed(() => props.name === 'comments' || props.count); return (_ctx, _cache) => { const _component_inline_svg = _resolveComponent(\"inline-svg\"); return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_unref(showIcon) ? (_openBlock(), _createBlock(_component_inline_svg, { key: 0, src: __props.imagePath, class: \"w-5 h-5 fill-slate-400\" }, null, 8, [\"src\"])) : _createCommentVNode(\"\", true), _createElementVNode(\"p\", null, _toDisplayString(__props.count ? __props.count : _unref(emptyLabel)), 1), __props.count ? (_openBlock(), _createElementBlock(\"p\", _hoisted_2, _toDisplayString(_unref(label)), 1)) : _createCommentVNode(\"\", true)]); }; } });\n","import script from \"./documents-item-metric.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./documents-item-metric.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, createCommentVNode as _createCommentVNode } from \"vue\";\nconst _hoisted_1 = { class: \"hover:bg-indigo-50 flex border border-slate-200 p-4 items-center space-x-2\" };\nconst _hoisted_2 = [\"href\"];\nconst _hoisted_3 = { class: \"flex flex-col space-y-1\" };\nconst _hoisted_4 = { class: \"text-2xl font-medium text-slate-600\" };\nconst _hoisted_5 = { class: \"flex space-x-3\" };\nimport { computed, ref, toRef } from 'vue';\nimport moment from 'moment';\nimport { useI18n } from 'vue-i18n';\nimport useDocumentDatetimeAssertions from 'composables/useDocumentDatetimeAssertions';\nimport DocumentsItemMetric from './documents-item-metric.vue';\nimport DestroyDocumentModal from '../documents/destroy-document-modal.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'documents-list-item', props: { document: null, metrics: null, documentTemplate: null, showActions: { type: Boolean, default: false } }, emits: [\"destroyDocument\"], setup(__props, { emit: emits }) { const props = __props; const i18n = useI18n(); const { isToday, hasStarted } = useDocumentDatetimeAssertions(toRef(props, 'document')); const isOpen = ref(false); const documentLink = computed(() => `/teams/${props.document.teamId}/documents/${props.document.id}`); const documentDate = computed(() => { if (isToday.value)\n return i18n.t('templates.index.latestDocuments.isToday'); return moment(props.document.datetime).locale(i18n.locale.value).format(i18n.t('date.formats.long')); }); return (_ctx, _cache) => { const _component_base_button = _resolveComponent(\"base-button\"); return _openBlock(), _createElementBlock(_Fragment, null, [_createElementVNode(\"li\", _hoisted_1, [_createElementVNode(\"a\", { href: _unref(documentLink), class: \"flex justify-between w-full\" }, [_createElementVNode(\"div\", _hoisted_3, [_createElementVNode(\"p\", _hoisted_4, _toDisplayString(_unref(documentDate)), 1), _createElementVNode(\"div\", _hoisted_5, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(__props.metrics, metric => { return _openBlock(), _createBlock(DocumentsItemMetric, { key: metric, \"image-path\": require(`assets/images/design-system-icons/${metric}.svg`), count: __props.document[`${metric}Count`], name: metric }, null, 8, [\"image-path\", \"count\", \"name\"]); }), 128))])])], 8, _hoisted_2), __props.documentTemplate.currentUserIsHost && __props.showActions ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [_createVNode(_component_base_button, { href: `documents/${__props.document.id}/edit`, color: \"light-slate\", \"left-icon-src\": require('assets/images/design-system-icons/edit.svg'), disabled: _unref(hasStarted), \"tooltip-message\": _ctx.$t('documents.editTooltip') }, null, 8, [\"href\", \"left-icon-src\", \"disabled\", \"tooltip-message\"]), _createVNode(_component_base_button, { color: \"light-slate\", \"left-icon-src\": require('assets/images/icons/delete.svg'), onClick: _cache[0] || (_cache[0] = $event => { isOpen.value = true; }) }, null, 8, [\"left-icon-src\"])], 64)) : _createCommentVNode(\"\", true)]), _createVNode(DestroyDocumentModal, { document: __props.document, open: isOpen.value, onClose: _cache[1] || (_cache[1] = $event => isOpen.value = false), onDestroyedDocument: _cache[2] || (_cache[2] = $event => emits('destroyDocument', __props.document.id)) }, null, 8, [\"document\", \"open\"])], 64); }; } });\n","import script from \"./documents-list-item.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./documents-list-item.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = { class: \"flex gap-4\" };\nconst _hoisted_2 = { class: \"text-sm text-slate-500\" };\nconst _hoisted_3 = { class: \"flex gap-2\" };\nimport { computed } from 'vue';\nimport Indicator from '../shared/tiptap/toolbar/indicator.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'document-templates-list-item-config-status', props: { documentTemplate: null, currentUser: null }, setup(__props) { const props = __props; const documentConfiguration = computed(() => props.documentTemplate.baseDocument.documentConfiguration); const announcementsAllowed = computed(() => documentConfiguration.value.announcementsAllowed); const commentsAllowed = computed(() => documentConfiguration.value.commentsAllowed); return (_ctx, _cache) => { return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createElementVNode(\"p\", _hoisted_2, _toDisplayString(_ctx.$t('templates.preview.information.configuration')) + \": \", 1), _createElementVNode(\"div\", _hoisted_3, [_createVNode(Indicator, { class: \"flex\", disabled: !_unref(announcementsAllowed), resource: \"announcements\", label: _ctx.$tc('meetings.announcement.announcement', 2) }, null, 8, [\"disabled\", \"label\"]), _createVNode(Indicator, { class: \"flex\", disabled: !_unref(commentsAllowed), resource: \"comments\", label: _ctx.$tc('meetings.comment.comment', 2) }, null, 8, [\"disabled\", \"label\"])])]); }; } });\n","import script from \"./document-templates-list-item-config-status.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./document-templates-list-item-config-status.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","export default function getCurrentDate() {\n const date = new Date();\n\n return `${date.toISOString().split('T')[0]}T00:00`;\n}\n","import { defineComponent as _defineComponent } from 'vue';\nimport { renderSlot as _renderSlot, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = { class: \"space-y-4 sm:w-96\" };\nimport { ref } from 'vue';\nimport { useForm } from 'vee-validate';\nimport * as yup from 'yup';\nimport { useMutation } from 'vue-query';\nimport moment from 'moment';\nimport getCurrentDate from 'helpers/get-current-date';\nimport getDefaultDate from 'helpers/get-default-date';\nimport DocumentsApi from 'api/documents';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'document-templates-new-document-modal', props: { documentTemplate: null }, setup(__props) {\n const props = __props;\n const isOpen = ref(false);\n const { handleSubmit } = useForm({ initialValues: { datetime: getDefaultDate() }, validationSchema: yup.object().shape({ datetime: yup.string().required(), videoUrl: yup.string().url() }) });\n const { isLoading, mutate } = useMutation(body => DocumentsApi.createDocument(props.documentTemplate.id, body), { onSuccess: document => window.location.replace(`documents/${document.id}`) });\n const submit = handleSubmit(values => mutate({ ...values, datetime: moment(values.datetime).toISOString() }));\n return (_ctx, _cache) => {\n const _component_base_vv_input = _resolveComponent(\"base-vv-input\");\n const _component_base_button = _resolveComponent(\"base-button\");\n const _component_base_modal = _resolveComponent(\"base-modal\");\n return _openBlock(), _createElementBlock(_Fragment, null, [_createElementVNode(\"div\", { class: _normalizeClass(_ctx.$attrs.class) }, [_renderSlot(_ctx.$slots, \"default\", { open: () => isOpen.value = true })], 2), _createVNode(_component_base_modal, { open: isOpen.value, title: _ctx.$t('documents.create.create'), onClose: _cache[1] || (_cache[1] = $event => isOpen.value = false) }, { default: _withCtx(() => [_createElementVNode(\"form\", { class: \"flex flex-col space-y-6\", onSubmit: _cache[0] || (_cache[0] = //@ts-ignore\n (...args) => _unref(submit) && _unref(submit)(...args)) }, [_createElementVNode(\"fieldset\", _hoisted_1, [_createVNode(_component_base_vv_input, { label: _ctx.$t('documents.create.fields.dateTime'), type: \"datetime-local\", name: \"datetime\", min: _unref(getCurrentDate)() }, null, 8, [\"label\", \"min\"]), _createVNode(_component_base_vv_input, { label: _ctx.$t('documents.create.fields.meetLink'), name: \"videoUrl\", placeholder: \"https://meet.google.com/xxx-xxxx-xxx\" }, null, 8, [\"label\"])]), _createVNode(_component_base_button, { loading: _unref(isLoading), label: _ctx.$t('documents.create.save') }, null, 8, [\"loading\", \"label\"])], 32)]), _: 1 }, 8, [\"open\", \"title\"])], 64);\n };\n } });\n","import script from \"./document-templates-new-document-modal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./document-templates-new-document-modal.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createTextVNode as _createTextVNode, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, renderList as _renderList, Fragment as _Fragment } from \"vue\";\nconst _hoisted_1 = { class: \"flex flex-col border border-slate-200\" };\nconst _hoisted_2 = { class: \"flex-1\" };\nconst _hoisted_3 = { class: \"text-2xl font-semibold text-slate-600\" };\nconst _hoisted_4 = { class: \"flex items-baseline\" };\nconst _hoisted_5 = { class: \"text-slate-500\" };\nconst _hoisted_6 = /*#__PURE__*/ _createElementVNode(\"span\", null, \"Â -Â \", -1);\nconst _hoisted_7 = [\"onClick\"];\nconst _hoisted_8 = { key: 0, class: \"flex flex-1 flex-col gap-2\" };\nconst _hoisted_9 = { class: \"text-sm text-slate-500\" };\nconst _hoisted_10 = { class: \"space-x-2 flex\" };\nconst _hoisted_11 = { key: 0, class: \"px-4 py-3 space-y-2\" };\nconst _hoisted_12 = { class: \"flex justify-between\" };\nconst _hoisted_13 = { class: \"text-slate-500 italic text-lg flex-1\" };\nconst _hoisted_14 = [\"href\"];\nconst _hoisted_15 = { key: 0, class: \"md:grid md:grid-cols-4 gap-4 space-y-4 md:space-y-0\" };\nconst _hoisted_16 = { key: 1 };\nconst _hoisted_17 = { class: \"text-slate-400 text-center\" };\nconst _hoisted_18 = [\"onClick\"];\nimport { computed, ref } from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport useFormattedRecurrence from 'composables/useFormattedRecurrenceDate';\nimport useDocumentDatetimeAssertions from 'composables/useDocumentDatetimeAssertions';\nimport DocumentsListItem from './documents-list-item.vue';\nimport documentTemplatesListItemConfigStatus from './document-templates-list-item-config-status.vue';\nimport DocumentTemplatesNewDocumentModal from './document-templates-new-document-modal.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'document-templates-list-item', props: { documentTemplate: null, currentUser: null }, setup(__props) { const props = __props; const { t } = useI18n(); const participants = computed(() => props.documentTemplate.baseDocument.participants.length); const access = computed(() => props.documentTemplate.baseDocument.access); const accessLabel = computed(() => t('templates.preview.information.access.data', { access: t(`templates.preview.information.access.${access.value}`), participants: participants.value, plural: participants.value > 1 ? 's' : '' })); const recurrenceLabel = useFormattedRecurrence(props.documentTemplate); const latestDocument = computed(() => props.documentTemplate.latestDocuments[0]); const { isToday, hasItBeenMoreThanAnHourSinceStart } = useDocumentDatetimeAssertions(latestDocument); const showTodayButton = computed(() => !!latestDocument.value && isToday.value && !hasItBeenMoreThanAnHourSinceStart.value); const isOpen = ref(showTodayButton.value); const IS_THERE_ANY_DOCUMENT = props.documentTemplate.latestDocuments.length > 0; return (_ctx, _cache) => { const _component_base_button = _resolveComponent(\"base-button\"); const _component_i18n_t = _resolveComponent(\"i18n-t\"); const _component_inline_svg = _resolveComponent(\"inline-svg\"); return _openBlock(), _createElementBlock(\"li\", _hoisted_1, [_createElementVNode(\"div\", { class: _normalizeClass([\"border-slate-200 px-4 pt-4 pb-2 flex items-center space-x-4\", { 'border-b': isOpen.value }]) }, [_createElementVNode(\"div\", _hoisted_2, [_createElementVNode(\"h3\", _hoisted_3, _toDisplayString(__props.documentTemplate.name), 1), _createElementVNode(\"div\", _hoisted_4, [_createElementVNode(\"p\", _hoisted_5, _toDisplayString(_unref(recurrenceLabel)), 1), !__props.documentTemplate.recurrent && __props.documentTemplate.currentUserIsHost ? (_openBlock(), _createBlock(DocumentTemplatesNewDocumentModal, { key: 0, \"document-template\": __props.documentTemplate }, { default: _withCtx(({ open }) => [_hoisted_6, _createElementVNode(\"button\", { class: \"text-teal-500 hover:underline\", onClick: open }, _toDisplayString(_ctx.$t('documents.create.create')), 9, _hoisted_7)]), _: 1 }, 8, [\"document-template\"])) : _createCommentVNode(\"\", true)])]), __props.documentTemplate.currentUserIsHost ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [_createVNode(documentTemplatesListItemConfigStatus, { class: \"flex flex-1\", \"document-template\": __props.documentTemplate, \"current-user\": __props.currentUser }, null, 8, [\"document-template\", \"current-user\"]), _createElementVNode(\"p\", _hoisted_9, [_createElementVNode(\"b\", null, _toDisplayString(_ctx.$t('templates.preview.information.access.title')), 1), _createTextVNode(\" \" + _toDisplayString(_unref(accessLabel)), 1)])])) : _createCommentVNode(\"\", true), _unref(latestDocument) && _unref(showTodayButton) ? (_openBlock(), _createBlock(_component_base_button, { key: 1, href: `documents/${_unref(latestDocument).id}`, color: \"teal\", \"left-icon-src\": require('assets/images/design-system-icons/chevron-right.svg'), label: _ctx.$t('templates.index.goToTodaysMute') }, null, 8, [\"href\", \"left-icon-src\", \"label\"])) : _createCommentVNode(\"\", true), _createElementVNode(\"div\", _hoisted_10, [__props.documentTemplate.currentUserIsHost ? (_openBlock(), _createBlock(_component_base_button, { key: 0, href: `document_templates/${__props.documentTemplate.id}/edit`, color: \"light-slate\", \"left-icon-src\": require('assets/images/design-system-icons/edit.svg') }, null, 8, [\"href\", \"left-icon-src\"])) : _createCommentVNode(\"\", true), _createVNode(_component_base_button, { href: `document_templates/${__props.documentTemplate.id}`, color: \"light-slate\", \"left-icon-src\": require('assets/images/design-system-icons/visibility.svg') }, null, 8, [\"href\", \"left-icon-src\"])])], 2), isOpen.value ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [_createElementVNode(\"div\", _hoisted_12, [_createElementVNode(\"h4\", _hoisted_13, _toDisplayString(_ctx.$t('templates.index.latestDocuments.title')), 1), IS_THERE_ANY_DOCUMENT ? (_openBlock(), _createElementBlock(\"a\", { key: 0, href: `document_templates/${__props.documentTemplate.id}/documents`, class: \"text-right underline text-teal-400\" }, _toDisplayString(_ctx.$t('templates.index.latestDocuments.showPastDocuments')), 9, _hoisted_14)) : _createCommentVNode(\"\", true)]), IS_THERE_ANY_DOCUMENT ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(__props.documentTemplate.latestDocuments, document => { return _openBlock(), _createBlock(DocumentsListItem, { key: document.id, document: document, \"document-template\": __props.documentTemplate, metrics: ['announcements'] }, null, 8, [\"document\", \"document-template\"]); }), 128))])) : (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [_createElementVNode(\"p\", _hoisted_17, [_createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('templates.index.latestDocuments.noDocuments')) + \"Â \", 1), __props.documentTemplate.currentUserIsHost && !__props.documentTemplate.recurrent ? (_openBlock(), _createBlock(_component_i18n_t, { key: 0, tag: \"span\", keypath: \"templates.index.latestDocuments.createIfNoDocuments\", for: \"templates.index.latestDocuments.here\" }, { default: _withCtx(() => [_createVNode(DocumentTemplatesNewDocumentModal, { \"document-template\": __props.documentTemplate, class: \"inline\" }, { default: _withCtx(({ open }) => [_createElementVNode(\"button\", { class: \"text-teal-500 hover:underline\", onClick: open }, _toDisplayString(_ctx.$t('templates.index.latestDocuments.here')), 9, _hoisted_18)]), _: 1 }, 8, [\"document-template\"])]), _: 1 })) : _createCommentVNode(\"\", true)])]))])) : _createCommentVNode(\"\", true), _createElementVNode(\"button\", { class: \"py-0.5 flex justify-center bg-slate-100 hover:bg-slate-200\", onClick: _cache[0] || (_cache[0] = $event => isOpen.value = !isOpen.value) }, [_createVNode(_component_inline_svg, { src: require(`assets/images/design-system-icons/chevron-${isOpen.value ? 'up' : 'down'}.svg`), class: \"fill-slate-500 h-5 w-5\" }, null, 8, [\"src\"])])]); }; } });\n","import script from \"./document-templates-list-item.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./document-templates-list-item.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createElementBlock as _createElementBlock, renderList as _renderList, Fragment as _Fragment } from \"vue\";\nconst _hoisted_1 = { class: \"px-8 py-12 lg:mx-32 h-fit\" };\nconst _hoisted_2 = { class: \"flex items-center justify-between\" };\nconst _hoisted_3 = { class: \"text-xl text-slate-600\" };\nconst _hoisted_4 = { key: 0, class: \"justify-center flex flex-col h-full\" };\nconst _hoisted_5 = { class: \"flex-col items-center flex\" };\nconst _hoisted_6 = [\"src\"];\nconst _hoisted_7 = { class: \"mb-4 text-2xl font-medium\" };\nconst _hoisted_8 = { class: \"mb-8 text-slate-600\" };\nconst _hoisted_9 = { class: \"space-y-4 mt-8\" };\nimport DocumentTemplatesListItem from 'components/design-system/document-templates-list-item.vue';\nimport { sortBy } from 'lodash';\nimport moment from 'moment';\nimport { useStore } from 'vuex';\nimport { computed } from 'vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'document-templates', props: { documentTemplates: null, currentUser: null }, setup(__props) { const props = __props; const store = useStore(); const sortedDocumentTemplates = computed(() => sortBy(props.documentTemplates, documentTemplate => { const latestDocument = documentTemplate.latestDocuments[0]; if (!latestDocument)\n return Infinity; const timeUntilDocument = moment().diff(moment(latestDocument.datetime)); return Math.abs(timeUntilDocument); })); const hasLargeScreen = computed(() => store.getters.hasLargeScreen); return (_ctx, _cache) => { const _component_base_button = _resolveComponent(\"base-button\"); return _openBlock(), _createElementBlock(\"main\", _hoisted_1, [_createElementVNode(\"div\", _hoisted_2, [_createElementVNode(\"h2\", _hoisted_3, _toDisplayString(_ctx.$t('templates.title')), 1), _unref(hasLargeScreen) ? (_openBlock(), _createBlock(_component_base_button, { key: 0, href: \"document_templates/new\", \"left-icon-src\": require('assets/images/design-system-icons/add.svg'), label: _ctx.$t('templates.actions.create') }, null, 8, [\"left-icon-src\", \"label\"])) : _createCommentVNode(\"\", true)]), props.documentTemplates.length === 0 ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [_createElementVNode(\"div\", _hoisted_5, [_createElementVNode(\"img\", { src: require('assets/images/no-documents.png'), alt: \"Imagen documento\", class: \"mb-8\" }, null, 8, _hoisted_6), _createElementVNode(\"p\", _hoisted_7, _toDisplayString(_ctx.$tc('templates.informativeMessage.title')), 1), _createElementVNode(\"p\", _hoisted_8, _toDisplayString(_ctx.$tc('templates.informativeMessage.subtitle')), 1), _createVNode(_component_base_button, { href: \"document_templates/new\", \"left-icon-src\": require('assets/images/design-system-icons/add.svg'), label: _ctx.$t('templates.actions.create') }, null, 8, [\"left-icon-src\", \"label\"])])])) : _createCommentVNode(\"\", true), _createElementVNode(\"ul\", _hoisted_9, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(sortedDocumentTemplates), documentTemplate => { return _openBlock(), _createBlock(DocumentTemplatesListItem, { key: documentTemplate.id, \"document-template\": documentTemplate, \"current-user\": __props.currentUser }, null, 8, [\"document-template\", \"current-user\"]); }), 128))]), !_unref(hasLargeScreen) ? (_openBlock(), _createBlock(_component_base_button, { key: 1, class: \"my-8\", href: \"document_templates/new\", \"left-icon-src\": require('assets/images/design-system-icons/add.svg'), label: _ctx.$t('templates.actions.create') }, null, 8, [\"left-icon-src\", \"label\"])) : _createCommentVNode(\"\", true)]); }; } });\n","import script from \"./document-templates.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./document-templates.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","<template>\n <div class=\"flex flex-col items-center flex-1 w-full p-12 overflow-scroll bg-slate-50\">\n <div class=\"flex flex-wrap justify-center w-2/3 h-auto pt-8 px-11 md:flex-row\">\n <p\n class=\"text-gray-500\"\n >\n {{ $t('profile.memberships.noTeams') }}\n </p>\n </div>\n </div>\n</template>\n","import { render } from \"./no-teams.vue?vue&type=template&id=802118e6\"\nconst script = {}\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div class=\"flex flex-col flex-1 overflow-hidden\">\n <div class=\"flex flex-col items-center flex-1 p-5 overflow-scroll\">\n <div class=\"flex flex-col w-full h-full lg:w-4/5 p-8\">\n <backend-errors\n v-if=\"errors.length > 0\"\n :errors=\"errors\"\n >\n {{ $t('templates.form.error') }}\n </backend-errors>\n <h2 class=\"text-xl text-slate-600\">\n {{ $t('templates.topbar.new') }}\n </h2>\n <div class=\"h-auto bg-white rounded-lg mt-8\">\n <template-form\n class=\"flex-1\"\n :template=\"template\"\n :base-document=\"baseDocument\"\n :team-members=\"teamMembers\"\n :masters=\"masters\"\n :user=\"user\"\n @submit=\"createTemplate\"\n />\n </div>\n </div>\n </div>\n <loading-overlay v-if=\"loading\" />\n </div>\n</template>\n\n<script>\nimport LoadingOverlay from '../components/shared/loading-overlay.vue';\nimport TemplateForm from '../components/templates/template-form.vue';\nimport DocumentTemplateApi from '../api/document_templates';\nimport BackendErrors from '../components/shared/backend-errors.vue';\n\nexport default {\n components: { TemplateForm, LoadingOverlay, BackendErrors },\n props: {\n template: {\n type: Object,\n default: null,\n },\n baseDocument: {\n type: Object,\n default: null,\n },\n teamMembers: {\n type: Array,\n default: null,\n },\n masters: {\n type: Array,\n default: null,\n },\n user: {\n type: Object,\n required: true,\n },\n },\n data() {\n return { errors: [], loading: false };\n },\n computed: {\n teamId() {\n return this.baseDocument.teamId;\n },\n },\n methods: {\n async createTemplate(templateParams) {\n this.loading = true;\n try {\n await DocumentTemplateApi.createTemplate(templateParams.api);\n window.location.replace(`/teams/${this.teamId}/document_templates`);\n } catch (error) {\n if (error.details) {\n this.errors = error.details;\n }\n }\n this.loading = false;\n },\n },\n};\n</script>\n","<template>\n <div class=\"space-y-4 mb-8\">\n <mute-vv-input\n id=\"name-input\"\n type=\"text\"\n :label=\"$t('templates.form.name')\"\n class=\"col-span-full\"\n name=\"name\"\n />\n <recurrent-input\n :is-active=\"values.recurrence.isActive\"\n name=\"recurrence\"\n />\n <document-form\n class=\"col-span-full\"\n :document=\"baseDocument\"\n :team-members=\"teamMembers\"\n :masters=\"masters\"\n :user=\"user\"\n :external-validation=\"!meta.valid\"\n is-for-template\n @submit=\"submitAction\"\n />\n </div>\n</template>\n\n<script>\nimport changedEditedSections from 'helpers/changedEditedSections';\nimport useTemplateForm from '../../composables/useTemplateForm';\nimport DocumentForm from '../documents/document-form.vue';\nimport RecurrentInput from './recurrent-input.vue';\n\nexport default {\n components: { DocumentForm, RecurrentInput },\n props: {\n template: {\n type: Object,\n default: null,\n },\n baseDocument: {\n type: Object,\n default: null,\n },\n teamMembers: {\n type: Array,\n default: null,\n },\n masters: {\n type: Array,\n default: null,\n },\n user: {\n type: Object,\n required: true,\n },\n },\n emits: ['submit'],\n setup(props) {\n const { meta, values } = useTemplateForm({ template: props.template });\n\n return { meta, values };\n },\n methods: {\n submitAction(baseDocumentForm) {\n const params = {\n api: {\n template: {\n name: this.values.name, recurrent: this.values.recurrence.isActive, hours: this.values.recurrence.hour,\n weeks: parseInt(this.values.recurrence.weeks, 10), weekDay: parseInt(this.values.recurrence.weekDay, 10),\n timezoneOffset: this.timeZoneOffset(),\n },\n baseDocument: this.baseDocumentParams(baseDocumentForm),\n },\n };\n this.$emit('submit', params);\n },\n baseDocumentParams({ datetime, videoUrl, participants, mastersOfCeremonies, instructions,\n sections, documentConfigurationAttributes, access }) {\n const membersIds = participants.map(({ id }) => (id));\n const { teamId } = this.baseDocument;\n const title = this.values.name;\n const sectionsAttributes = this.formattedSections(sections);\n\n return {\n title, videoUrl, membersIds, datetime, mastersOfCeremonies, instructions, teamId,\n sectionsAttributes, documentConfigurationAttributes, access,\n };\n },\n formattedSections(editedSections) {\n if (!this.baseDocument.id) {\n return editedSections.map((section) => ({ title: section.title, order: section.order }));\n }\n\n return changedEditedSections(editedSections, this.baseDocument.sections);\n },\n timeZoneOffset() {\n return new Date().getTimezoneOffset();\n },\n\n },\n};\n</script>\n","import { useForm } from 'vee-validate';\n\nimport moment from 'moment';\nimport * as yup from 'yup';\n\nconst SECONDS_IN_WEEK = 604800;\n\nfunction templateDay(template) {\n if (!template.nextDate) return 0;\n const dayIndex = moment(template.nextDate).day();\n\n return dayIndex;\n}\nfunction templateHour(template) {\n if (!template.nextDate) return '00:00';\n\n return moment(template.nextDate).format('HH:mm');\n}\nfunction templateWeeks(template) {\n if (!template.nextDate) return '1';\n const weeks = template.recurrenceDuration / SECONDS_IN_WEEK;\n\n return weeks.toString();\n}\n\nexport default function useTemplateForm({ template }) {\n const form = useForm({\n initialValues: {\n name: template.name || '',\n recurrence: {\n isActive: template.recurrent || false,\n weeks: templateWeeks(template),\n weekDay: templateDay(template),\n hour: templateHour(template),\n },\n },\n validationSchema: yup.object({\n name: yup.string().required(),\n }),\n });\n\n return form;\n}\n","<template>\n <div class=\"col-span-full\">\n <div class=\"space-y-3 md:space-y-0 md:flex md:items-center whitespace-nowrap\">\n <div class=\"flex items-center\">\n <mute-vv-checkbox\n id=\"checkbox-announcements\"\n :name=\"`${name}.isActive`\"\n />\n <p class=\"font-bold text-sm md:text-base\">\n {{ $t('templates.form.recurrent') }}\n </p>\n <i18n-t\n v-if=\"isActive\"\n keypath=\"templates.form.recurrentDetails.weeks\"\n tag=\"div\"\n class=\"flex items-center pl-2 text-sm md:text-base\"\n scope=\"global\"\n >\n <template #week>\n <mute-vv-input\n size=\"small\"\n class=\"max-w-xs mx-2 grow-0\"\n min=\"1\"\n max=\"8\"\n type=\"number\"\n :name=\"`${name}.weeks`\"\n />\n </template>\n </i18n-t>\n <p\n v-if=\"isActive\"\n class=\"hidden md:block\"\n >\n ,\n </p>\n </div>\n <i18n-t\n v-if=\"isActive\"\n keypath=\"templates.form.recurrentDetails.dayDetail\"\n tag=\"div\"\n class=\"flex items-center md:pl-2 normal-case md:lowercase text-sm md:text-base\"\n scope=\"global\"\n >\n <template #day>\n <div class=\"w-auto mx-2\">\n <div class=\"w-28\">\n <mute-vv-select\n v-bind=\"selectProps\"\n :options=\"weekDayOptions\"\n size=\"small\"\n :name=\"`${name}.weekDay`\"\n key-value=\"id\"\n />\n </div>\n </div>\n </template>\n <template #hour>\n <div class=\"w-24\">\n <mute-vv-input\n size=\"small\"\n class=\"mx-2\"\n type=\"time\"\n :name=\"`${name}.hour`\"\n />\n </div>\n </template>\n </i18n-t>\n </div>\n </div>\n</template>\n\n<script>\nimport times from 'lodash/times';\nimport { useI18n } from 'vue-i18n';\n\nconst DAYS_IN_WEEK = 7;\n\nexport default {\n props: {\n isActive: {\n type: Boolean,\n required: true,\n },\n name: {\n type: String,\n required: true,\n },\n },\n setup() {\n const { t } = useI18n();\n\n return { t };\n },\n computed: {\n selectProps() {\n return {\n closeOnSelect: true,\n clearOnSelect: false,\n preserveSearch: true,\n searchable: true,\n customLabel({ label }) {\n return label;\n },\n trackBy: 'id',\n };\n },\n weekDayOptions() {\n return times(DAYS_IN_WEEK, (dayIdx) => ({ id: dayIdx, label: this.t(`templates.form.weekDays.${dayIdx}`) }));\n },\n },\n};\n</script>\n","import { render } from \"./recurrent-input.vue?vue&type=template&id=24eb91a5\"\nimport script from \"./recurrent-input.vue?vue&type=script&lang=js\"\nexport * from \"./recurrent-input.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./template-form.vue?vue&type=template&id=0a60c1a7\"\nimport script from \"./template-form.vue?vue&type=script&lang=js\"\nexport * from \"./template-form.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import api from './index';\n\nexport default {\n destroyTemplate(id) {\n return api({\n method: 'delete',\n url: `/api/internal/document_templates/${id}`,\n });\n },\n createTemplate(body) {\n return api({\n method: 'post',\n url: '/api/internal/document_templates',\n data: body,\n });\n },\n editTemplate(id, body) {\n return api({\n method: 'patch',\n url: `/api/internal/document_templates/${id}`,\n data: body,\n });\n },\n};\n","import { render } from \"./new-template.vue?vue&type=template&id=1fbe2033\"\nimport script from \"./new-template.vue?vue&type=script&lang=js\"\nexport * from \"./new-template.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div class=\"flex flex-col flex-1 overflow-hidden\">\n <div class=\"flex flex-col items-center flex-1 p-5 overflow-scroll\">\n <div class=\"flex flex-col w-full h-full lg:w-4/5 p-8\">\n <backend-errors\n v-if=\"errors.length > 0\"\n :errors=\"errors\"\n >\n {{ $t('templates.form.error') }}\n </backend-errors>\n <h2 class=\"text-xl text-slate-600\">\n {{ $t('templates.topbar.edit') }}\n </h2>\n <div class=\"h-auto bg-white rounded-lg mt-8\">\n <template-form\n class=\"flex-1\"\n :template=\"template\"\n :base-document=\"baseDocument\"\n :team-members=\"teamMembers\"\n :masters=\"masters\"\n :user=\"user\"\n @submit=\"editTemplate\"\n />\n </div>\n </div>\n </div>\n <loading-overlay v-if=\"loading\" />\n </div>\n</template>\n\n<script>\nimport LoadingOverlay from '../components/shared/loading-overlay.vue';\nimport TemplateForm from '../components/templates/template-form.vue';\nimport TopBar from '../components/templates/top-bar.vue';\nimport DocumentTemplateApi from '../api/document_templates';\nimport BackendErrors from '../components/shared/backend-errors.vue';\n\nexport default {\n components: { TopBar, TemplateForm, LoadingOverlay, BackendErrors },\n props: {\n template: {\n type: Object,\n default: null,\n },\n baseDocument: {\n type: Object,\n default: null,\n },\n teamMembers: {\n type: Array,\n default: null,\n },\n masters: {\n type: Array,\n default: null,\n },\n user: {\n type: Object,\n required: true,\n },\n },\n data() {\n return { errors: [], loading: false };\n },\n computed: {\n teamId() {\n return this.baseDocument.teamId;\n },\n },\n methods: {\n async editTemplate(templateParams) {\n this.loading = true;\n try {\n await DocumentTemplateApi.editTemplate(this.template.id, templateParams.api);\n window.location.replace(`/teams/${this.teamId}/document_templates`);\n } catch (error) {\n if (error.details) {\n this.errors = error.details;\n }\n }\n this.loading = false;\n },\n isSectionModified(section, originalSection) {\n return originalSection.title !== section.title || originalSection.order !== section.order;\n },\n },\n};\n</script>\n","<template>\n <div class=\"flex items-center justify-between mb-4\">\n <div class=\"flex items-center h-8 mr-auto text-green-500\">\n <a\n class=\"flex items-center hover:underline mr-2\"\n :href=\"backUrl\"\n data-testid=\"documents-anchor\"\n >\n <inline-svg\n :src=\"require('../../../assets/images/icons/back-arrow-green.svg')\"\n />\n {{ $t('templates.topbar.back') }}\n </a>\n <p v-if=\"textSection\">\n {{ `| ${textSection}` }}\n </p>\n </div>\n <slot />\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n backUrl: { type: String, required: true },\n textSection: { type: String, default: '' },\n },\n};\n</script>\n\n<style>\n\n</style>\n","import { render } from \"./top-bar.vue?vue&type=template&id=e1a574fa\"\nimport script from \"./top-bar.vue?vue&type=script&lang=js\"\nexport * from \"./top-bar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./edit-template.vue?vue&type=template&id=2df5d424\"\nimport script from \"./edit-template.vue?vue&type=script&lang=js\"\nexport * from \"./edit-template.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div class=\"flex flex-col flex-1 overflow-hidden\">\n <div class=\"container h-full p-4 md:px-16 lg:px-24 md:py-8 mx-auto overflow-hidden\">\n <div class=\"flex flex-col h-full col-end-7 p-3 space-y-4 overflow-hidden bg-white rounded-lg sm:p-4\">\n <div class=\"flex justify-between items-center\">\n <p class=\"text-3xl text-purple-500\">\n {{ team.name }}\n </p>\n <invite-modal\n :current-team=\"team\"\n :current-user=\"currentUser\"\n />\n </div>\n <mute-divider width=\"w-full\" />\n <mute-input\n v-model=\"search\"\n size=\"small\"\n :label=\"$t('teams.administration.search')\"\n class=\"block sm:hidden\"\n />\n <div class=\"flex flex-col h-full overflow-auto\">\n <table class=\"border-collapse\">\n <thead class=\"bg-gray-100\">\n <tr>\n <th\n v-if=\"isCurrentUserAdmin\"\n class=\"p-2 sm:p-3\"\n >\n <div class=\"flex justify-center\">\n <mute-checkbox\n id=\"all-members-selected\"\n :model-value=\"allSelected\"\n @update:model-value=\"massSelectionToggle\"\n />\n </div>\n </th>\n <th class=\"p-2 sm:p-3\">\n <mute-input\n v-model=\"search\"\n size=\"small\"\n :label=\"$t('teams.administration.search')\"\n class=\"hidden sm:block\"\n />\n <p class=\"block text-sm font-normal text-left text-gray-500 sm:hidden\">\n {{ $t('teams.administration.users') }}\n </p>\n </th>\n <th class=\"p-2 text-sm font-normal text-gray-500 sm:p-3\">\n {{ $t('teams.administration.admin') }}\n </th>\n <th\n v-if=\"isCurrentUserAdmin\"\n class=\"p-2 text-sm font-normal text-gray-500 sm:p-3\"\n >\n {{ $t('teams.administration.actions') }}\n </th>\n </tr>\n\n <tr v-if=\"selectedMembersCount != 0\">\n <th />\n <th\n class=\"p-2 text-sm font-normal text-left text-gray-500 sm:p-3\"\n colspan=\"2\"\n >\n {{ $t('teams.administration.selected', {amount: selectedMembersCount}) }}\n </th>\n <th class=\"p-2 sm:p-3\">\n <div class=\"flex justify-center\">\n <mute-button\n :outlined=\"true\"\n icon-file-name=\"delete.svg\"\n class=\"hidden sm:block\"\n @click=\"deleteSelectedMembers\"\n />\n <mute-button\n :outlined=\"true\"\n icon-file-name=\"delete.svg\"\n size=\"sm\"\n class=\"block sm:hidden\"\n @click=\"deleteSelectedMembers\"\n />\n </div>\n </th>\n </tr>\n </thead>\n <tbody>\n <user-administration-card\n v-for=\"member in filteredMembers\"\n :key=\"member.id\"\n :member=\"member\"\n :team=\"team\"\n :current-user=\"currentUser\"\n @toggled-member-selected=\"toggleMemberSelected\"\n @delete-member=\"deleteMember\"\n />\n </tbody>\n </table>\n </div>\n </div>\n </div>\n\n <delete-users-confirmation-modal\n :members-to-delete=\"membersToDelete\"\n :open=\"isDeletionModalOpen\"\n @close-deletion-modal=\"closeDeletionModal\"\n @delete-members=\"confirmDeletion\"\n @close=\"closeDeletionModal\"\n />\n </div>\n</template>\n\n<script>\nimport { keyBy, mapValues, pickBy } from 'lodash';\nimport UserAdministrationCard from '../components/teams/user-administration-card.vue';\nimport DeleteUsersConfirmationModal from '../components/teams/delete-users-confirmation-modal.vue';\nimport InviteModal from '../components/documents/invite-modal.vue';\nimport TeamApi from '../api/team';\n\nexport default {\n components: { UserAdministrationCard, DeleteUsersConfirmationModal, InviteModal },\n\n props: {\n currentUser: { type: Object, required: true },\n team: { type: Object, required: true },\n teamMembers: { type: Array, required: true },\n },\n data() {\n const mappedMembers = this.teamMembers.map((member) => ({\n ...member,\n isAdmin: this.team.adminIds.includes(member.id),\n isSelected: false,\n willBeDeleted: false,\n }));\n\n return {\n members: keyBy(mappedMembers, 'id'),\n search: '',\n isDeletionModalOpen: false,\n };\n },\n computed: {\n isCurrentUserAdmin() {\n return this.team.adminIds.includes(this.currentUser.id);\n },\n selectedMembersCount() {\n return Object.values(this.members).filter((member) => member.isSelected).length;\n },\n filteredMembers() {\n if (!this.search) {\n return Object.values(this.members);\n }\n\n return Object.values(this.members).filter(member => (\n member.username.toLowerCase().includes(this.search.toLowerCase()) ||\n member.email.toLowerCase().includes(this.search.toLowerCase())\n ));\n },\n allSelected() {\n return this.selectedMembersCount >= Object.keys(this.members).length;\n },\n membersToDelete() {\n return Object.values(this.members).filter(\n m => m.willBeDeleted,\n );\n },\n },\n methods: {\n toggleMemberSelected(member) {\n this.members[member.id].isSelected = !this.members[member.id].isSelected;\n this.members[member.id].willBeDeleted = this.members[member.id].isSelected;\n },\n\n closeDeletionModal() {\n this.isDeletionModalOpen = false;\n },\n\n openDeleteModal() {\n this.isDeletionModalOpen = true;\n },\n\n deleteMember(member) {\n this.unselectDeletion();\n this.members[member.id].willBeDeleted = true;\n this.openDeleteModal();\n },\n\n deleteSelectedMembers() {\n this.markToDelete();\n this.openDeleteModal();\n },\n\n unselectMembers() {\n mapValues(this.members, (member) => {\n member.isSelected = false;\n });\n },\n\n unselectDeletion() {\n mapValues(this.members, (member) => {\n member.willBeDeleted = false;\n });\n },\n\n massSelectionToggle() {\n const newSelectStatus = !this.allSelected;\n mapValues(this.members, (member) => {\n member.isSelected = newSelectStatus;\n });\n },\n\n markToDelete() {\n mapValues(this.members, (member) => {\n member.willBeDeleted = member.isSelected;\n });\n },\n\n removeDeletedMembers() {\n this.members = pickBy(this.members, ({ willBeDeleted }) => !willBeDeleted);\n },\n\n async confirmDeletion() {\n const body = {\n UsersIds: this.membersToDelete.map(member => member.id),\n };\n await TeamApi.batchDestroyUsersFromTeam(body, this.team.id);\n this.removeDeletedMembers();\n this.closeDeletionModal();\n this.unselectDeletion();\n },\n },\n};\n</script>\n","<template>\n <tr>\n <td\n v-if=\"isCurrentUserAdmin\"\n class=\"p-1 text-center sm:p-3\"\n >\n <div class=\"flex justify-center\">\n <mute-checkbox\n :id=\"`member-${member.id}-selected`\"\n :model-value=\"member.isSelected\"\n @update:model-value=\"toggleSelected\"\n />\n </div>\n </td>\n <td class=\"p-1 sm:p-3\">\n <div class=\"flex flex-row items-center space-x-2 w-28 sm:w-auto sm:space-x-4\">\n <mute-avatar\n class=\"block sm:hidden\"\n :src=\"member.avatar\"\n size=\"small\"\n />\n <mute-avatar\n class=\"hidden sm:block\"\n :src=\"member.avatar\"\n size=\"medium\"\n />\n <div class=\"flex flex-col grow min-w-0 whitespace-nowrap\">\n <p class=\"overflow-hidden text-sm text-green-400 text-ellipsis\">\n @{{ member.username }}\n </p>\n <p class=\"overflow-hidden text-sm text-ellipsis\">\n {{ member.email }}\n </p>\n </div>\n </div>\n </td>\n <td class=\"p-1 text-center sm:p-3\">\n <div class=\"flex justify-center\">\n <mute-switch\n v-if=\"isCurrentUserAdmin\"\n :id=\"toggleButtonId\"\n :model-value=\"isAdmin\"\n @update:model-value=\"toggleAdmin\"\n />\n <inline-svg\n v-else\n :src=\"require(`assets/images/icons/${isAdmin ? 'check' : 'close'}-icon.svg`)\"\n class=\"h-4 w-4\"\n :class=\"isAdmin ? 'fill-green-500' : 'fill-red-500'\"\n />\n </div>\n </td>\n <td\n v-if=\"isCurrentUserAdmin\"\n class=\"p-1 sm:p-3\"\n >\n <div class=\"flex justify-center\">\n <mute-button\n variant=\"red\"\n outlined\n icon-file-name=\"delete.svg\"\n class=\"hidden sm:block\"\n @click=\"deleteMember\"\n />\n <mute-button\n variant=\"red\"\n outlined\n size=\"sm\"\n icon-file-name=\"delete.svg\"\n class=\"block sm:hidden\"\n @click=\"deleteMember\"\n />\n </div>\n </td>\n </tr>\n</template>\n\n<script>\nimport TeamApi from '../../api/team';\n\nexport default {\n props: {\n member: { type: Object, required: true },\n team: { type: Object, required: true },\n currentUser: { type: Object, required: true },\n },\n emits: ['toggled-member-selected', 'delete-member'],\n data() {\n return {\n isAdmin: this.member.isAdmin,\n };\n },\n computed: {\n toggleButtonId() {\n return `toggle-button-${this.member.id}`;\n },\n isCurrentUserAdmin() {\n return this.team.adminIds.includes(this.currentUser.id);\n },\n },\n methods: {\n toggleSelected() {\n this.$emit('toggled-member-selected', this.member);\n },\n async toggleAdmin() {\n if (this.isAdmin) {\n await TeamApi.removeRoleFromUser(this.team.id, this.member.id, 'admin');\n if (this.member.id === this.currentUser.id) window.location.reload();\n } else {\n await TeamApi.addRoleToUser(this.team.id, this.member.id, 'admin');\n }\n this.isAdmin = !this.isAdmin;\n },\n deleteMember() {\n this.$emit('delete-member', this.member);\n },\n },\n};\n</script>\n","import { render } from \"./user-administration-card.vue?vue&type=template&id=edca10e6\"\nimport script from \"./user-administration-card.vue?vue&type=script&lang=js\"\nexport * from \"./user-administration-card.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <base-modal\n :title=\"$t('teams.administration.confirmDeletion.title')\"\n @close=\"$emit('close')\"\n >\n <div class=\"mb-4\">\n <i18n-t\n :keypath=\"amountToDelete > 1 ?\n 'teams.administration.confirmDeletion.multiple' :\n 'teams.administration.confirmDeletion.single'\"\n tag=\"p\"\n scope=\"global\"\n >\n <template #value>\n <span class=\"text-green-400\">{{ amountToDelete > 1 ? amountToDelete : `@${username}` }}</span>\n </template>\n </i18n-t>\n <p>\n {{ $t('teams.administration.confirmDeletion.message') }}\n </p>\n </div>\n <div class=\"flex justify-end px-4\">\n <mute-button\n class=\"h-12 mr-4\"\n outlined\n @click=\"closeDeletionModal\"\n >\n {{ $t('teams.administration.confirmDeletion.back') }}\n </mute-button>\n <mute-button\n class=\"h-12\"\n @click=\"confirmDeletion\"\n >\n {{ $t('teams.administration.confirmDeletion.continue') }}\n </mute-button>\n </div>\n </base-modal>\n</template>\n\n<script>\n\nexport default {\n props: {\n membersToDelete: { type: Array, required: false, default: null },\n },\n emits: ['close-deletion-modal', 'delete-members', 'close'],\n computed: {\n amountToDelete() {\n return this.membersToDelete ? Object.keys(this.membersToDelete).length : 0;\n },\n username() {\n return this.amountToDelete === 1 ? this.firstMember.username : '';\n },\n firstMember() {\n return this.membersToDelete ? this.membersToDelete[Object.keys(this.membersToDelete)[0]] : null;\n },\n },\n\n methods: {\n closeDeletionModal() {\n this.$emit('close-deletion-modal');\n },\n confirmDeletion() {\n this.$emit('delete-members', this.membersToDelete);\n },\n },\n};\n</script>\n","import { render } from \"./delete-users-confirmation-modal.vue?vue&type=template&id=17c99346\"\nimport script from \"./delete-users-confirmation-modal.vue?vue&type=script&lang=js\"\nexport * from \"./delete-users-confirmation-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div>\n <mute-button\n v-if=\"isCurrentUserAdmin\"\n icon-file-name=\"person-add.svg\"\n :size=\"sm\"\n @click=\"showInviteModal\"\n >\n {{ $t('documents.invite.message') }}\n </mute-button>\n <base-modal\n :title=\"$t('documents.invite.invitation')\"\n :open=\"isModalOpen\"\n @close=\"closeInviteModal\"\n >\n <h4 class=\"mb-4 text-base font-semibold md:text-lg\">\n {{ $t('documents.invite.byLink') }}\n </h4>\n <div class=\"flex items-center h-20\">\n <mute-input\n class=\"mr-4\"\n :model-value=\"invitationUrl\"\n readonly\n size=\"medium\"\n @click=\"copyUrl\"\n />\n <icon-button\n icon-file-name=\"copy-icon.svg\"\n @click=\"copyUrl\"\n />\n </div>\n <p\n class=\"text-sm text-green-500\"\n :class=\"{ 'opacity-0': !copied }\"\n >\n {{ $t('documents.invite.copy') }}\n </p>\n <div class=\"flex flex-row \">\n <mute-divider\n class=\"self-center h-2 mb-1.5 mr-3.5\"\n color=\"gray-300\"\n width=\"flex-grow\"\n />\n <div class=\"self-center mx-4 text-gray-300\">\n o\n </div>\n <mute-divider\n class=\"self-center h-2 mb-1.5 ml-3.5\"\n color=\"gray-300\"\n width=\"flex-grow\"\n />\n </div>\n <div>\n <h4 class=\"mb-4 text-base font-semibold md:text-lg\">\n {{ $t('documents.invite.byEmail') }}\n </h4>\n <h5 class=\"mb-4 text-sm\">\n {{ $t('documents.invite.emailMessage') }}\n </h5>\n <div class=\"flex flex-row w-full\">\n <input-tag\n ref=\"emailInput\"\n v-model=\"tags\"\n class=\"mr-4\"\n :placeholder=\"$t('documents.invite.emailAdd')\"\n />\n <mute-button\n icon-file-name=\"send.svg\"\n @click=\"handleOnSend\"\n >\n {{ $t('documents.invite.emailSend') }}\n </mute-button>\n </div>\n <div class=\"flex justify-between mt-2\">\n <span\n class=\"text-sm\"\n :class=\"{'opacity-0': !emailMessage, 'text-green-500': emailSent, 'text-red-500': emailError }\"\n >\n {{ emailMessage }}\n </span>\n </div>\n </div>\n </base-modal>\n </div>\n</template>\n\n<script>\n/* eslint-disable no-magic-numbers */\nimport { useI18n } from 'vue-i18n';\nimport MuteInput from '../shared/mute-input.vue';\nimport InputTag from '../shared/input-tag.vue';\nimport invitationApi from '../../api/invitations';\n\nexport default {\n components: { MuteInput, InputTag },\n props: {\n currentTeam: { type: Object, required: true },\n currentUser: { type: Object, required: true },\n },\n setup() {\n const { t } = useI18n();\n\n return { t };\n },\n data() {\n return {\n copied: false,\n tags: [],\n emailSent: false,\n emailError: false,\n invitedEmails: [],\n isModalOpen: false,\n };\n },\n computed: {\n isCurrentUserAdmin() {\n return this.currentTeam.adminIds.includes(this.currentUser.id);\n },\n teamId() {\n return this.currentTeam.id;\n },\n invitationToken() {\n return this.currentTeam.invitationToken;\n },\n invitationUrl() {\n if (this.currentTeam) return this.currentTeam.invitationUrl;\n\n return null;\n },\n emails() {\n return this.tags.map(tag => tag.text);\n },\n emailMessage() {\n let message;\n if (this.emailSent) message = this.t('documents.invite.emailSent');\n else if (this.emailError) message = this.t('documents.invite.emailError');\n\n return message;\n },\n },\n watch: {\n tags() {\n this.emailSent = false;\n },\n },\n methods: {\n showInviteModal() {\n this.isModalOpen = true;\n this.emailError = false;\n this.emailSent = false;\n },\n closeInviteModal() {\n this.copied = false;\n this.isModalOpen = false;\n },\n async copyUrl() {\n await navigator.clipboard.writeText(this.invitationUrl);\n this.copied = true;\n },\n async handleOnSend() {\n if (this.tags.length === 0) {\n await this.$refs.emailInput.createTagFromInput();\n }\n this.sendInvitation();\n },\n async sendInvitation() {\n if (this.tags.length === 0) return;\n\n try {\n await invitationApi.sendInvitation({\n emails: this.emails,\n teamId: this.teamId,\n invitationToken: this.invitationToken,\n });\n this.successfullInvitation();\n } catch (error) {\n this.emailError = true;\n }\n },\n successfullInvitation() {\n this.emailSent = true;\n this.emailError = false;\n this.invitedEmails = this.emails;\n },\n },\n};\n</script>\n","<template>\n <vue-tags-input\n ref=\"tagsInput\"\n v-model=\"text\"\n :tags=\"modelValue\"\n :add-on-key=\"[13, 32, ',']\"\n :allow-edit-tags=\"true\"\n @tags-changed=\"(newTags) => $emit('update:modelValue', newTags)\"\n />\n</template>\n\n<script>\nimport VueTagsInput from '@sipec/vue3-tags-input';\n\nexport default {\n components: { VueTagsInput },\n props: {\n modelValue: {\n type: Array,\n required: true,\n },\n },\n emits: ['update:modelValue'],\n data() {\n return { text: '' };\n },\n methods: {\n async createTagFromInput() {\n const inputField = this.$refs.tagsInput.$el?.querySelector('input');\n if (inputField && this.text.trim()) {\n await inputField.dispatchEvent(new KeyboardEvent('keydown', { keyCode: 32 }));\n }\n },\n },\n expose: ['createTagFromInput'],\n};\n</script>\n\n<style lang=\"scss\" scoped>\n .vue-tags-input::v-deep {\n @apply w-full max-w-none;\n .ti-input {\n @apply rounded-md;\n }\n\n .ti-tag {\n @apply rounded-md text-purple-500 bg-purple-100;\n }\n\n .ti-deletion-mark, .ti-invalid, .ti-duplicate {\n @apply text-white;\n }\n }\n</style>\n","import { render } from \"./input-tag.vue?vue&type=template&id=c7173908&scoped=true\"\nimport script from \"./input-tag.vue?vue&type=script&lang=js\"\nexport * from \"./input-tag.vue?vue&type=script&lang=js\"\n\nimport \"./input-tag.vue?vue&type=style&index=0&id=c7173908&lang=scss&scoped=true\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-c7173908\"]])\n\nexport default __exports__","import api from './index';\n\nexport default {\n sendInvitation(data) {\n return api({\n method: 'post',\n url: '/api/internal/invitations/send_email',\n data,\n });\n },\n};\n","import { render } from \"./invite-modal.vue?vue&type=template&id=d75e482a\"\nimport script from \"./invite-modal.vue?vue&type=script&lang=js\"\nexport * from \"./invite-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./users.vue?vue&type=template&id=97e0d270\"\nimport script from \"./users.vue?vue&type=script&lang=js\"\nexport * from \"./users.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div\n v-if=\"!templateInfo\"\n class=\"flex flex-col items-center justify-center w-full h-full\"\n >\n <p>\n {{ $t('templates.noSelected') }}\n </p>\n </div>\n <div\n v-else\n class=\"flex flex-col w-full h-full p-3 pb-8\"\n >\n <div\n class=\"flex justify-between w-full\"\n >\n <p class=\"text-xl\">\n {{ templateName }}\n </p>\n <div\n v-if=\"!readOnly\"\n class=\"flex\"\n >\n <mute-button\n :variant=\"'green'\"\n :outlined=\"true\"\n class=\"w-auto mr-1\"\n tag=\"a\"\n :href=\"`${templateInfo.id}/edit`\"\n >\n {{ $t('templates.preview.edit') }}\n </mute-button>\n <mute-button\n :variant=\"'red'\"\n :outlined=\"true\"\n class=\"w-auto\"\n @click=\"openTemplateModal\"\n >\n {{ $t('templates.preview.delete.cta') }}\n </mute-button>\n </div>\n </div>\n <div class=\"mb-4 text-sm text-gray-500\">\n <p\n v-if=\"templateRecurrent\"\n >\n {{ $t('templates.preview.recurrence', {\n weeks: templateWeeks, plural: templateWeeks > 1 ? 's' : '',\n day: templateDay, hour: templateHour\n }) }}\n </p>\n <p v-else>\n Sin recurrencia\n </p>\n </div>\n <div class=\"flex flex-col\">\n <div class=\"flex items-center mb-1\">\n <p class=\"mr-1 font-bold\">\n {{ $t('templates.preview.participants') }}\n </p>\n <p class=\"mt-1 text-xs text-gray-400\">\n ({{ participants.length }})\n </p>\n </div>\n <div\n class=\"flex flex-wrap\"\n >\n <mute-pill\n v-for=\"(user, index) in participants\"\n v-show=\"showParticipants || index < 15\"\n :key=\"`u-${index}`\"\n class=\"mb-1 mr-1 text-xs bg-gray-100 shadow\"\n variant=\"inactive\"\n disabled\n >\n {{ user.username }}\n </mute-pill>\n <button\n v-show=\"participants.length > 15\"\n class=\"flex items-center mb-1 mr-1 text-green-500 hover:underline\"\n @click=\"() => showParticipants = !showParticipants\"\n >\n <inline-svg\n class=\"text-green-500 fill-current\"\n :src=\"require(`assets/images/icons/${showParticipants ? 'up' : 'down'}-arrow-fill.svg`)\"\n />\n {{ $t(`templates.preview.${showParticipants ? 'showLess' : 'showMore'}`) }}\n </button>\n </div>\n </div>\n <div class=\"flex flex-col mt-4\">\n <div class=\"flex items-center mb-1\">\n <p class=\"mr-1 font-bold\">\n {{ $t('templates.preview.moderators') }}\n </p>\n <p class=\"mt-1 text-xs text-gray-400\">\n ({{ moderators.length }})\n </p>\n </div>\n <div\n class=\"flex flex-wrap\"\n >\n <mute-pill\n v-for=\"(user, index) in moderators\"\n v-show=\"showModerators || index < 15\"\n :key=\"`u-${index}`\"\n class=\"mb-1 mr-1 text-xs bg-gray-100 shadow\"\n variant=\"inactive\"\n disabled\n >\n {{ user.username }}\n </mute-pill>\n <button\n v-show=\"moderators.length > 15\"\n class=\"flex items-center mb-1 mr-1 text-green-500 hover:underline\"\n @click=\"() => showModerators = !showModerators\"\n >\n <inline-svg\n class=\"text-green-500 fill-current\"\n :src=\"require(`assets/images/icons/${showModerators ? 'up' : 'down'}-arrow-fill.svg`)\"\n />\n {{ $t(`templates.preview.${showModerators ? 'showLess' : 'showMore'}`) }}\n </button>\n </div>\n </div>\n <div class=\"flex flex-col mt-4\">\n <p class=\"mb-1 font-bold\">\n {{ $t('templates.preview.sections') }}\n </p>\n <div\n class=\"flex flex-wrap\"\n >\n <div\n v-for=\"(section, index) in sections\"\n :key=\"`u-${index}`\"\n class=\"w-48 p-2 mb-2 mr-2 text-sm rounded shadow bg-gray-50\"\n >\n {{ section.title }}\n </div>\n </div>\n </div>\n <div class=\"flex flex-col mt-4\">\n <p class=\"mb-1 font-bold\">\n {{ $t('templates.preview.instructions') }}\n </p>\n <tip-tap-editor\n disabled\n hide-toolbar\n :disabled-extensions=\"['Image', 'Tag', 'Mention']\"\n :model-value=\"instructions.body\"\n style=\"w-full text-gray-500\"\n />\n </div>\n <div class=\"flex flex-col mt-4\">\n <p class=\"mb-1 font-bold\">\n {{ $t('templates.preview.configuration.title') }}\n </p>\n <div\n class=\"flex\"\n >\n <div\n class=\"flex mr-2\"\n :class=\"{ 'opacity-25': !configurations.announcementsAllowed }\"\n >\n <inline-svg\n class=\"w-4 h-4 text-xs text-center rounded-full\"\n :class=\"[configurations.announcementsAllowed ? 'bg-green-500' : 'bg-gray-500']\"\n :src=\"require(`assets/images/icons/check-icon-white.svg`)\"\n />\n <p class=\"ml-1 text-xs text-gray-500 border-b border-gray-500 border-dotted\">\n {{ $t('templates.preview.configuration.announcements') }}\n </p>\n </div>\n <div\n class=\"flex mr-2\"\n :class=\"{ 'opacity-25': !configurations.commentsAllowed }\"\n >\n <inline-svg\n class=\"w-4 h-4 text-xs text-center rounded-full\"\n :class=\"[configurations.commentsAllowed ? 'bg-green-500' : 'bg-gray-500']\"\n :src=\"require(`assets/images/icons/check-icon-white.svg`)\"\n />\n <p class=\"ml-1 text-xs text-gray-500 border-b border-gray-500 border-dotted\">\n {{ $t('templates.preview.configuration.comments') }}\n </p>\n </div>\n <div\n class=\"flex\"\n :class=\"{ 'opacity-25': !configurations.readyStatusAllowed }\"\n >\n <inline-svg\n class=\"w-4 h-4 text-xs text-center rounded-full\"\n :class=\"[configurations.readyStatusAllowed ? 'bg-blue-500' : 'bg-gray-500']\"\n :src=\"require(`assets/images/icons/check-icon-white.svg`)\"\n />\n <p class=\"ml-1 text-xs text-gray-500 border-b border-gray-500 border-dotted\">\n {{ $t('templates.preview.configuration.readyStatus') }}\n </p>\n </div>\n </div>\n </div>\n <destroy-template-modal\n :template=\"templateInfo\"\n :open=\"isDestroyModalOpen\"\n @after-destroy=\"handleDestroy\"\n @close=\"isDestroyModalOpen = false\"\n />\n </div>\n</template>\n\n<script>\nimport { useI18n } from 'vue-i18n';\nimport orderBy from 'lodash/orderBy';\nimport moment from 'moment';\nimport DestroyTemplateModal from './destroy-template-modal.vue';\nimport TipTapEditor from '../../components/shared/tiptap/tiptap.vue';\n\nconst SECONDS_IN_WEEK = 604800;\n\nexport default {\n components: { DestroyTemplateModal, TipTapEditor },\n props: {\n templateInfo: {\n type: Object,\n default: null,\n },\n readOnly: {\n type: Boolean,\n default: false,\n },\n },\n setup() {\n const { t } = useI18n();\n\n return { t };\n },\n data() {\n return {\n showParticipants: false,\n showModerators: false,\n isDestroyModalOpen: false,\n };\n },\n computed: {\n template() {\n return this.templateInfo;\n },\n templateName() {\n return this.template.name;\n },\n templateRecurrent() {\n return this.template.recurrent;\n },\n templateWeeks() {\n return this.template.recurrenceDuration / SECONDS_IN_WEEK;\n },\n templateDate() {\n return moment(this.template.nextDate);\n },\n templateDay() {\n return this.t(`templates.form.weekDays.${this.templateDate.day()}`).toLowerCase();\n },\n templateHour() {\n return this.templateDate.format('HH:mm');\n },\n baseDocument() {\n return this.template.baseDocument;\n },\n participantsIds() {\n return this.baseDocument.participants;\n },\n participants() {\n return this.baseDocument.users.filter(\n (user) => this.participantsIds.includes(user.id.toString()),\n );\n },\n moderators() {\n const moderatorsIds = this.baseDocument.mastersOfCeremonies;\n\n return this.participants.filter((user) => moderatorsIds.includes(user.id));\n },\n sections() {\n return orderBy(this.baseDocument.sections, ['order'], ['asc']);\n },\n instructions() {\n return this.baseDocument.instructions;\n },\n configurations() {\n return this.baseDocument.documentConfiguration;\n },\n },\n methods: {\n openTemplateModal() {\n this.isDestroyModalOpen = true;\n },\n handleDestroy() {\n window.location.replace('..');\n },\n },\n};\n</script>\n","<template>\n <base-modal\n :title=\"$t('templates.preview.delete.message')\"\n @close=\"beforeClose\"\n >\n <backend-errors\n v-if=\"errors.length > 0\"\n :errors=\"errors\"\n >\n {{ $t('templates.preview.delete.error') }}\n </backend-errors>\n <p class=\"mb-4\">\n {{ $t('templates.preview.delete.confirm') }}\n </p>\n <div class=\"flex justify-end\">\n <mute-button\n id=\"destroy-document-modal-close-button\"\n variant=\"green\"\n outlined\n class=\"mr-2 w-auto\"\n @click=\"hideDestroyTemplateModal\"\n >\n {{ $t('templates.preview.delete.no') }}\n </mute-button>\n <mute-button\n id=\"destroy-document-modal-submit-button\"\n :disabled=\"loading\"\n variant=\"red\"\n @click=\"destroyTemplate\"\n >\n {{ $t('templates.preview.delete.yes') }}\n </mute-button>\n </div>\n </base-modal>\n</template>\n\n<script>\nimport templatesApi from '../../api/document_templates';\nimport backendErrors from '../shared/backend-errors.vue';\n\nexport default {\n components: { backendErrors },\n props: { template: { type: Object, required: true } },\n emits: ['close', 'after-destroy'],\n data() {\n return {\n errors: [],\n loading: false,\n };\n },\n methods: {\n hideDestroyTemplateModal() {\n this.$emit('close');\n },\n async destroyTemplate() {\n this.loading = true;\n\n try {\n await templatesApi.destroyTemplate(this.template.id);\n this.hideDestroyTemplateModal();\n this.$emit('after-destroy');\n } catch (error) {\n if (error.details) {\n this.errors = error.details;\n }\n }\n\n this.loading = false;\n },\n beforeClose() {\n this.errors = [];\n this.hideDestroyTemplateModal();\n },\n },\n};\n</script>\n","import { render } from \"./destroy-template-modal.vue?vue&type=template&id=d6e3d628\"\nimport script from \"./destroy-template-modal.vue?vue&type=script&lang=js\"\nexport * from \"./destroy-template-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./template-preview.vue?vue&type=template&id=1eb7d075\"\nimport script from \"./template-preview.vue?vue&type=script&lang=js\"\nexport * from \"./template-preview.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = { class: \"px-8 py-12 space-y-8 lg:mx-32\" };\nimport TemplatePreview from 'components/templates/template-preview.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'document-template', props: { documentTemplate: null, canMutate: { type: Boolean } }, setup(__props) { return (_ctx, _cache) => { return _openBlock(), _createElementBlock(\"main\", _hoisted_1, [_createVNode(TemplatePreview, { \"template-info\": __props.documentTemplate, \"read-only\": !__props.canMutate }, null, 8, [\"template-info\", \"read-only\"])]); }; } });\n","import script from \"./document-template.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./document-template.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","<template>\n <component\n :is=\"tag\"\n class=\"flex items-center transition-colors duration-150 ease-in-out focus:outline-none\"\n :class=\"[colorClasses, sizeClasses]\"\n :disabled=\"disabled\"\n >\n <inline-svg\n v-if=\"iconFileName\"\n :src=\"require(`../../../assets/images/icons/${iconFileName}`)\"\n class=\"fill-current grow-0\"\n :class=\"[svgClasses, !!$slots.default && 'mr-2']\"\n />\n <div class=\"flex-1 text-center\">\n <slot />\n </div>\n <inline-svg\n v-if=\"rightIconFileName\"\n :src=\"require(`../../../assets/images/icons/${rightIconFileName}`)\"\n class=\"fill-current grow-0\"\n :class=\"[svgClasses, !!$slots.default && 'ml-2']\"\n />\n </component>\n</template>\n\n<script>\nexport default {\n props: {\n tag: { type: String, default: 'button' },\n variant: { type: String, default: 'purple' },\n iconFileName: { type: String, default: null },\n size: { type: String, default: 'md' },\n disabled: { type: Boolean, default: false },\n rightIconFileName: { type: String, default: null },\n outlined: { type: Boolean, default: false },\n borderless: { type: Boolean, default: false },\n toolbar: { type: Boolean, default: false },\n },\n\n computed: {\n\n colorClasses() {\n const classes = {\n purple: 'text-white bg-purple-500 hover:bg-purple-600',\n green: 'text-white bg-green-500 hover:bg-green-600',\n white: 'text-black bg-white hover:bg-gray-100',\n red: 'text-white bg-red-500 hover:bg-red-600',\n amber: 'text-amber-600 bg-amber-100 hover:bg-amber-200',\n disabled: 'text-gray-300 bg-white-300 cursor-default',\n gray: 'text-white bg-gray-500 hover:bg-gray-600',\n };\n\n const outlinedClasses = {\n purple: 'text-purple-500 bg-white border border-purple-500 hover:bg-gray-100',\n green: 'text-green-500 bg-white border border-green-500 hover:bg-gray-100',\n white: 'text-black bg-white hover:bg-gray-100 border border-black',\n red: 'text-red-500 bg-white border border-red-500 hover:bg-gray-100',\n amber: 'text-amber-600 bg-white border border-amber-500 hover:bg-amber-100',\n disabled: 'text-gray-300 bg-white-300 border border-gray-300 cursor-default',\n gray: 'text-gray-500 bg-white border border-gray-500 hover:bg-gray-100',\n };\n\n const borderlessClasses = {\n purple: 'text-purple-500 hover:text-purple-600',\n green: 'text-green-500 hover:text-green-600',\n white: 'text-black hover:text-gray-100',\n red: 'text-red-500 hover:text-red-600',\n amber: 'text-amber-600 hover:text-amber-700',\n disabled: 'text-gray-300 cursor-default',\n gray: 'text-gray-500 hover:text-gray-600',\n };\n\n const variant = this.disabled ? 'disabled' : this.variant;\n const roundedClass = this.size === 'sm' ? 'rounded' : 'rounded-lg';\n\n if (this.outlined) {\n return `${outlinedClasses[variant]} ${roundedClass} shadow`;\n }\n\n return this.borderless ? borderlessClasses[variant] : `${classes[variant]} ${roundedClass} shadow`;\n },\n sizeClasses() {\n const paddingSmall = this.toolbar ? 'p-1' : 'p-1.5';\n const classesWithText = this.size === 'sm' ? 'text-sm py-1 px-2' : 'py-2 px-3 text-sm md:text-base';\n\n const classesWithoutText = this.size === 'sm' ? `${paddingSmall} text-sm` : 'p-3 text-base';\n\n return this.$slots.default ? classesWithText : classesWithoutText;\n },\n svgClasses() {\n switch (this.size) {\n case 'sm':\n return 'w-3 h-3';\n case 'md':\n return 'w-4 h-4';\n case 'lg':\n return 'w-6 h-6';\n default:\n return '';\n }\n },\n\n },\n};\n</script>\n","import { render } from \"./mute-button.vue?vue&type=template&id=7fe4a27c\"\nimport script from \"./mute-button.vue?vue&type=script&lang=js\"\nexport * from \"./mute-button.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <component\n :is=\"tag\"\n class=\"flex items-center justify-center h-12 text-xl transition-colors duration-150 ease-in rounded-lg shadow focus:outline-none\"\n :disabled=\"disabled\"\n :class=\"colorClasses\"\n >\n <slot />\n </component>\n</template>\n\n<script>\nexport default {\n props: {\n tag: { type: String, default: 'button' },\n variant: { type: String, default: 'purple' },\n disabled: { type: Boolean, default: false },\n },\n computed: {\n colorClasses() {\n const classes = {\n purple: 'text-white bg-purple-500 hover:bg-purple-600',\n green: 'text-white bg-green-500 hover:bg-green-600',\n red: 'text-white bg-red-500 hover:bg-red-600',\n white: 'text-black bg-white hover:bg-gray-100',\n disabled: 'text-white bg-gray-500 cursor-default',\n };\n\n return this.disabled ? classes.disabled : classes[this.variant];\n },\n },\n};\n</script>\n","import { render } from \"./mute-cta-button.vue?vue&type=template&id=4716dbe7\"\nimport script from \"./mute-cta-button.vue?vue&type=script&lang=js\"\nexport * from \"./mute-cta-button.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <button\n class=\"w-10 h-10 col-span-1 transition-colors duration-150 ease-in-out rounded shadow justify-self-end focus:outline-none\"\n :class=\"colorClasses\"\n >\n <inline-svg\n :src=\"require(`assets/images/icons/${iconFileName}`)\"\n class=\"grow-0 mx-auto fill-current\"\n />\n </button>\n</template>\n\n<script>\nexport default {\n props: {\n variant: { type: String, default: 'purple' },\n iconFileName: { type: String, default: null },\n outlined: { type: Boolean, default: false },\n disabled: { type: Boolean, default: false },\n },\n computed: {\n colorClasses() {\n const classes = {\n purple: 'text-white bg-purple-500 hover:bg-purple-600',\n green: 'text-white bg-green-500 hover:bg-green-600',\n red: 'text-white bg-red-500 hover:bg-red-600',\n white: 'text-black bg-white hover:bg-gray-100',\n disabled: 'text-gray-300 bg-white cursor-default',\n };\n\n const outlinedClasses = {\n purple: 'text-purple-500 bg-white border border-purple-500 hover:bg-gray-100',\n green: 'text-green-500 bg-white border border-green-500 hover:bg-gray-100',\n white: 'text-black bg-white hover:bg-gray-100 border border-black',\n red: 'text-red-500 bg-white border border-red-500 hover:bg-gray-100',\n disabled: 'text-gray-300 bg-white border border-gray-300 cursor-default',\n };\n\n const variant = this.disabled ? 'disabled' : this.variant;\n\n return this.outlined ? outlinedClasses[variant] : classes[variant];\n },\n },\n};\n</script>\n","import { render } from \"./icon-button.vue?vue&type=template&id=81bd5e02\"\nimport script from \"./icon-button.vue?vue&type=script&lang=js\"\nexport * from \"./icon-button.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div\n class=\"flex items-center\"\n :class=\"$attrs.class\"\n >\n <input\n v-bind=\"filteredAttrs\"\n :id=\"id\"\n type=\"checkbox\"\n class=\"hidden\"\n :value=\"checked\"\n @input=\"$emit('update:modelValue', !modelValue)\"\n >\n <label\n :for=\"id\"\n class=\"transition-colors block w-4 h-4 mr-2 text-white duration-100 ease-in-out rounded cursor-pointer\"\n :class=\"checked ? 'bg-purple-500' : 'bg-gray-300'\"\n >\n <inline-svg\n :src=\"require('../../../assets/images/icons/check-icon.svg')\"\n class=\"w-full h-full transition-opacity duration-100 ease-in-out opacity-0 fill-current\"\n :class=\"checked && 'opacity-100'\"\n />\n </label>\n <label\n v-if=\"label\"\n :for=\"id\"\n class=\"flex-1 text-sm cursor-pointer select-none\"\n >\n {{ label }}\n </label>\n </div>\n</template>\n\n<script>\nimport useFilteredAttrs from '../../composables/useFilteredAttrs';\n\nexport default {\n inheritAttrs: false,\n props: {\n id: { type: String, required: true },\n label: { type: String, default: null },\n modelValue: { type: Boolean, required: true },\n },\n emits: ['update:modelValue'],\n setup() {\n const filteredAttrs = useFilteredAttrs({ excluded: ['class'] });\n\n return { filteredAttrs };\n },\n computed: {\n checked() {\n return this.modelValue;\n },\n },\n};\n</script>\n","import { render } from \"./mute-checkbox.vue?vue&type=template&id=09f48a0f\"\nimport script from \"./mute-checkbox.vue?vue&type=script&lang=js\"\nexport * from \"./mute-checkbox.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <mute-checkbox\n v-bind=\"$attrs\"\n v-model=\"value\"\n :name=\"name\"\n />\n</template>\n\n<script>\nimport { useField } from 'vee-validate';\nimport MuteCheckbox from '../mute-checkbox.vue';\n\nexport default {\n components: { MuteCheckbox },\n props: {\n name: { type: String, required: true },\n },\n\n setup(props) {\n const { value } = useField(props.name);\n\n return { value };\n },\n};\n</script>\n","import { render } from \"./mute-vv-checkbox.vue?vue&type=template&id=da691b3e\"\nimport script from \"./mute-vv-checkbox.vue?vue&type=script&lang=js\"\nexport * from \"./mute-vv-checkbox.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div\n class=\"flex items-center\"\n :class=\"$attrs.class\"\n >\n <input\n v-bind=\"filteredAttrs\"\n :id=\"value\"\n type=\"radio\"\n class=\"hidden\"\n :value=\"checked\"\n @click=\"$emit('update:modelValue', value);\"\n >\n <label\n :for=\"value\"\n class=\"transition-colors relative block w-4 h-4 mr-2 duration-100 ease-in-out rounded-full cursor-pointer\"\n :class=\"checked ? 'bg-purple-500' : 'bg-gray-300'\"\n >\n <div class=\"absolute inset-0 p-1\">\n <div\n class=\"w-full h-full transition-opacity duration-100 ease-in-out bg-white rounded-full opacity-0\"\n :class=\"checked && 'opacity-100'\"\n />\n </div>\n </label>\n <label\n :for=\"value\"\n class=\"flex-1 text-sm cursor-pointer select-none\"\n >\n {{ label }}\n </label>\n </div>\n</template>\n\n<script>\nimport useFilteredAttrs from '../../composables/useFilteredAttrs';\n\nexport default {\n inheritAttrs: false,\n props: {\n label: { type: String, required: true },\n value: { type: String, required: true },\n modelValue: { type: String, required: true },\n },\n emits: ['update:modelValue'],\n setup() {\n const filteredAttrs = useFilteredAttrs({ excluded: ['class'] });\n\n return { filteredAttrs };\n },\n computed: {\n checked() {\n return this.value === this.modelValue;\n },\n },\n};\n</script>\n","import { render } from \"./mute-radio.vue?vue&type=template&id=1c84139f\"\nimport script from \"./mute-radio.vue?vue&type=script&lang=js\"\nexport * from \"./mute-radio.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <mute-radio\n v-bind=\"$attrs\"\n v-model=\"value\"\n :name=\"name\"\n />\n</template>\n\n<script>\nimport { useField } from 'vee-validate';\nimport MuteRadio from '../mute-radio.vue';\n\nexport default {\n components: { MuteRadio },\n props: {\n name: { type: String, required: true },\n },\n\n setup(props) {\n const { value } = useField(props.name);\n\n return { value };\n },\n};\n</script>\n","import { render } from \"./mute-vv-radio.vue?vue&type=template&id=013ac573\"\nimport script from \"./mute-vv-radio.vue?vue&type=script&lang=js\"\nexport * from \"./mute-vv-radio.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div\n class=\"relative flex items-center justify-center\"\n :class=\"sizeClasses[0]\"\n >\n <input\n :id=\"id\"\n type=\"checkbox\"\n class=\"hidden\"\n :modelValue=\"modelValue\"\n @input=\"$emit('update:model-value', !modelValue)\"\n >\n <label\n :for=\"id\"\n class=\"inline-block transition-colors duration-300 ease-in-out rounded-full shadow-inner cursor-pointer\"\n :class=\"[sizeClasses[1], modelValue ? 'bg-green-500' : 'bg-gray-400']\"\n />\n <label\n :for=\"id\"\n class=\"absolute left-0 inline-block transition-transform duration-300 ease-in-out bg-white rounded-full shadow cursor-pointer\"\n :class=\"[sizeClasses[2] ,{ 'transform translate-x-full': modelValue }]\"\n />\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n id: { type: String, required: true },\n modelValue: { type: Boolean, required: true },\n size: { type: String, default: 'medium' },\n },\n emits: ['update:model-value'],\n\n computed: {\n sizeClasses() {\n const mainContainerSizes = {\n small: 'w-9 h-5',\n medium: 'w-11 h-6',\n large: 'w-16 h-8',\n };\n\n const innerContainerSizes = {\n small: 'w-9 h-5',\n medium: 'w-11 h-6',\n large: 'w-11 h-6',\n };\n\n const sliderSizes = {\n small: 'w-4 h-4 mx-0.5',\n medium: 'w-5 h-5 mx-0.5',\n large: 'w-8 h-8',\n };\n\n const sizes = [mainContainerSizes, innerContainerSizes, sliderSizes];\n\n return sizes.map(size => size[this.size]);\n },\n },\n};\n</script>\n","import { render } from \"./mute-switch.vue?vue&type=template&id=025c5f68\"\nimport script from \"./mute-switch.vue?vue&type=script&lang=js\"\nexport * from \"./mute-switch.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div :class=\"$attrs.class\">\n <div\n class=\"relative border border-gray-500 rounded-lg outline-none\"\n :class=\"[\n disabled && 'bg-gray-100',\n hasError && 'border-red-500',\n focused && !hasError && 'border-purple-500',\n sizeClasses.mainContainerSizes,\n ]\"\n >\n <vue-multiselect\n v-bind=\"filteredAttrs\"\n :class=\"[\n 'multiselect--with-error' && hasError,\n 'multiselect--large' && size == 'large',\n sizeClasses.inputSizes\n ]\"\n :model-value=\"modelValue\"\n :disabled=\"disabled\"\n multiple\n :placeholder=\"valuePresent ? placeholder : label\"\n @open=\"focused = true\"\n @close=\"handleBlur\"\n @update:model-value=\"$emit('update:modelValue', $event)\"\n />\n <label\n v-if=\"size !== 'small'\"\n class=\"absolute top-0 text-gray-400 transition-all duration-100 ease-in-out origin-top-left -translate-y-1/2 select-none cursor-text\"\n :class=\"[\n sizeClasses.labelSizes,\n focusedInputClasses,\n { 'text-red-300': hasError }\n ]\"\n @click=\"focused = true\"\n >\n {{ label }}\n </label>\n </div>\n <p\n v-if=\"hasError\"\n class=\"mt-1 text-xs text-red-500 cursor-text\"\n :class=\"errorMessageClasses\"\n >\n {{ errorMessage }}\n </p>\n </div>\n</template>\n\n<script>\nimport VueMultiselect from 'vue-multiselect';\nimport useFilteredAttrs from '../../composables/useFilteredAttrs';\n\nexport default {\n components: { VueMultiselect },\n inheritAttrs: false,\n props: {\n modelValue: { type: Array, required: true },\n label: { type: String, required: true },\n placeholder: { type: String, default: '' },\n disabled: { type: Boolean, default: false },\n size: { type: String, default: 'large' },\n hasError: { type: Boolean, default: false },\n errorMessage: { type: String, default: null },\n },\n emits: ['update:modelValue', 'blur'],\n setup() {\n const filteredAttrs = useFilteredAttrs({ excluded: ['class'] });\n\n return { filteredAttrs };\n },\n\n data() {\n return {\n focused: false,\n };\n },\n computed: {\n valuePresent() {\n return this.modelValue.length > 0;\n },\n sizeClasses() {\n const mainContainerSizes = {\n small: 'min-h-full',\n large: 'relative',\n };\n\n const inputSizes = {\n small: 'py-1',\n large: 'mt-4 md:mt-6',\n };\n\n const labelSizes = {\n small: 'pl-1.5',\n large: 'pl-2 md:pl-3',\n };\n\n return {\n mainContainerSizes: mainContainerSizes[this.size],\n inputSizes: inputSizes[this.size],\n labelSizes: labelSizes[this.size],\n };\n },\n\n errorMessageClasses() {\n const errorMessageSizes = {\n small: 'ml-1.5',\n large: 'ml-2 md:ml-3',\n };\n\n return errorMessageSizes[this.size];\n },\n focusedInputClasses() {\n const notFocusedSizes = {\n large: 'mt-6 md:mt-8',\n };\n\n const focusedSizes = {\n large: 'mt-4 scale-75 md:mt-6',\n };\n\n return (this.focused || this.valuePresent ? focusedSizes : notFocusedSizes).large;\n },\n },\n methods: {\n handleBlur(event) {\n this.focused = false;\n this.$emit('blur', event);\n },\n },\n};\n</script>\n\n<style lang=\"scss\">\n.multiselect {\n @apply rounded-lg;\n\n &__tags {\n @apply border-0 pt-2 pl-2 max-h-40 overflow-y-auto overflow-x-hidden rounded-lg bg-transparent;\n }\n\n &--large &__tags {\n @apply pl-3 pb-2;\n }\n\n &__placeholder {\n @apply text-base mb-0 invisible;\n }\n\n &__option--highlight,\n &__option--highlight:after {\n @apply text-purple-500 bg-purple-200;\n }\n\n &__option--selected {\n @apply font-normal text-purple-500 bg-purple-100;\n }\n\n &__option--selected.multiselect__option--highlight,\n &__option--selected.multiselect__option--highlight:after {\n @apply text-red-500 bg-red-100;\n }\n\n &__tag {\n @apply mb-0 text-xs md:text-sm;\n }\n\n &__tag,\n &__tag-icon::after {\n @apply text-purple-500 bg-purple-100;\n }\n\n &__tag-icon {\n @apply flex items-center w-2 mx-2;\n }\n\n &__input {\n @apply pl-0;\n }\n\n &__tag-icon:hover {\n @apply text-purple-700 bg-purple-100;\n }\n\n &--with-error &__placeholder,\n &--with-error &__input::placeholder {\n @apply text-red-500;\n }\n\n &--with-error &__select:before {\n @apply border-t-red-500;\n }\n\n &--with-error &__tag-icon::after,\n &--with-error &__tag-icon:hover,\n &--with-error &__tag {\n @apply text-red-500 bg-red-100;\n }\n\n &--disabled &__tag,\n &--disabled &__tag-icon::after {\n @apply bg-gray-200 text-gray-500;\n }\n\n &--disabled &__tags,\n &--disabled &__input,\n &--disabled &__select {\n @apply bg-gray-100;\n }\n}\n</style>\n","import { render } from \"./mute-multiselect.vue?vue&type=template&id=23e484a3\"\nimport script from \"./mute-multiselect.vue?vue&type=script&lang=js\"\nexport * from \"./mute-multiselect.vue?vue&type=script&lang=js\"\n\nimport \"./mute-multiselect.vue?vue&type=style&index=0&id=23e484a3&lang=scss\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <mute-multiselect\n v-model=\"value\"\n :has-error=\"hasError\"\n :error-message=\"errorMessage\"\n @blur=\"handleBlur\"\n />\n</template>\n\n<script>\nimport { useField } from 'vee-validate';\nimport MuteMultiselect from '../mute-multiselect.vue';\nimport yupI18nErrorMessage from '../../../helpers/yup';\n\nexport default {\n components: { MuteMultiselect },\n props: {\n name: { type: String, required: true },\n },\n\n setup(props) {\n const { value, errorMessage, meta, handleBlur } = useField(props.name);\n\n return { value, errorKey: errorMessage, meta, handleBlur };\n },\n computed: {\n errorMessage() {\n return yupI18nErrorMessage(this.errorKey);\n },\n hasError() {\n return this.errorKey && this.meta.touched;\n },\n },\n};\n</script>\n","import { render } from \"./mute-vv-multiselect.vue?vue&type=template&id=9ed769cc\"\nimport script from \"./mute-vv-multiselect.vue?vue&type=script&lang=js\"\nexport * from \"./mute-vv-multiselect.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div :class=\"$attrs.class\">\n <div\n class=\"w-full\"\n :class=\"[sizeClasses.mainContainerSizes, {'bg-gray-100': disabled}]\"\n >\n <select\n v-bind=\"filteredAttrs\"\n ref=\"input\"\n :value=\"modelValue\"\n :disabled=\"disabled\"\n :placeholder=\"isSmall && label ? label : null\"\n class=\"w-full bg-transparent bg-right bg-no-repeat border rounded-lg outline-none appearance-none\"\n :style=\"`background-image: url(${require('../../../assets/images/icons/chevron-down.svg')})`\"\n :class=\"[\n sizeClasses.inputSizes, {\n 'border-red-500 focus:border-red-600 text-red-400': hasError,\n 'border-gray-500 focus:border-purple-500 ': !hasError,\n 'text-gray-400': !isSelectedValue && !hasError,\n }]\"\n @focus=\"focus\"\n @click=\"focus\"\n @blur=\"blur\"\n @input=\"$emit('update:model-value', $event.target.value)\"\n >\n <option\n v-if=\"isSmall && label\"\n :value=\"null\"\n disabled\n >\n {{ label }}\n </option>\n <option\n v-for=\"item in options\"\n :key=\"item.id\"\n :value=\"item[keyValue]\"\n class=\"text-black bg-white\"\n >\n {{ item.label || item.name }}\n </option>\n </select>\n <mute-input-label\n :label=\"label\"\n :value=\"isSelectedValue\"\n :size=\"size\"\n :focus=\"focus\"\n :focused=\"focused\"\n :has-error=\"hasError\"\n />\n </div>\n <p\n v-if=\"hasError\"\n class=\"mt-1 text-xs text-red-500 cursor-text\"\n >\n {{ errorMessage }}\n </p>\n </div>\n</template>\n\n<script>\nimport MuteInputLabel from './mute-input-label';\nimport { MuteInputClassesMixin, MuteInputFocusMixin } from './mixins/mute-input';\nimport useFilteredAttrs from '../../composables/useFilteredAttrs';\n\nexport default {\n components: {\n MuteInputLabel,\n },\n mixins: [MuteInputClassesMixin, MuteInputFocusMixin],\n inheritAttrs: false,\n\n props: {\n modelValue: { type: [String, Number], default: null },\n options: { type: Array, default: () => [] },\n label: { type: String, default: null },\n size: { type: String, default: 'large' },\n disabled: { type: Boolean, default: false },\n hasError: { type: Boolean, default: false },\n errorMessage: { type: String, default: null },\n keyValue: { type: String, default: 'value' },\n },\n emits: ['update:model-value'],\n setup() {\n const filteredAttrs = useFilteredAttrs({ excluded: ['class'] });\n\n return { filteredAttrs };\n },\n computed: {\n isSelectedValue() {\n return this.modelValue !== undefined && this.modelValue !== null;\n },\n },\n};\n</script>\n","import { render } from \"./mute-select.vue?vue&type=template&id=cfb693c4\"\nimport script from \"./mute-select.vue?vue&type=script&lang=js\"\nexport * from \"./mute-select.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <mute-select\n v-bind=\"$attrs\"\n v-model=\"value\"\n :name=\"name\"\n :has-error=\"hasError\"\n :error-message=\"errorMessage\"\n @blur=\"handleBlur\"\n />\n</template>\n\n<script>\nimport { useField } from 'vee-validate';\nimport MuteSelect from '../mute-select.vue';\nimport yupI18nErrorMessage from '../../../helpers/yup';\n\nexport default {\n components: { MuteSelect },\n props: {\n name: { type: String, required: true },\n },\n\n setup(props) {\n const { value, meta, errorMessage, handleBlur } = useField(props.name, undefined, {\n validateOnMount: true,\n });\n\n return { value, meta, errorKey: errorMessage, handleBlur };\n },\n computed: {\n errorMessage() {\n return yupI18nErrorMessage(this.errorKey);\n },\n hasError() {\n return this.errorKey && this.meta.touched;\n },\n },\n};\n</script>\n","import { render } from \"./mute-vv-select.vue?vue&type=template&id=01f4242e\"\nimport script from \"./mute-vv-select.vue?vue&type=script&lang=js\"\nexport * from \"./mute-vv-select.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div\n class=\"flex items-center\"\n :class=\"colorClasses\"\n >\n <inline-svg\n class=\"fill-current\"\n :class=\"iconOnly? 'h-16': 'h-12'\"\n :src=\"require(`assets/images/logo/mute-logo${iconOnly ? '-icon' : ''}`)\"\n />\n </div>\n</template>\n\n<script>\nexport default {\n props: { variant: { type: String, default: 'black' }, iconOnly: { type: Boolean, default: false } },\n\n computed: {\n colorClasses() {\n const classes = {\n black: 'text-black',\n white: 'text-white',\n purple: 'text-purple-500',\n };\n\n return classes[this.variant];\n },\n },\n};\n</script>\n","import { render } from \"./mute-logo.vue?vue&type=template&id=0c62de31\"\nimport script from \"./mute-logo.vue?vue&type=script&lang=js\"\nexport * from \"./mute-logo.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div\n class=\"flex flex-row items-center justify-center h-5 px-1 py-0.5 rounded-md\"\n :class=\"[colorClasses, { 'flex-row-reverse': iconRight }]\"\n >\n <inline-svg\n v-if=\"iconFileName\"\n class=\"w-2 h-2 fill-current\"\n :class=\"iconHorizontalMargin\"\n :src=\"require(`assets/images/icons/${iconFileName}`)\"\n />\n <div class=\"text-xs text-center\">\n <slot />\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n iconFileName: { type: String, default: null },\n variant: { type: String, default: 'primary' },\n iconRight: { type: Boolean, default: false },\n },\n\n computed: {\n colorClasses() {\n const classes = {\n primary: 'text-purple-500 bg-purple-100 hover:bg-purple-200',\n success: 'text-green-500 bg-green-100 hover:bg-green-200',\n error: 'text-red-500 bg-red-100 hover:bg-red-200',\n warning: 'text-amber-600 bg-amber-100 hover:bg-amber-200',\n disabled: 'text-gray-500 bg-gray-100 hover:bg-gray-200',\n };\n\n return classes[this.variant];\n },\n\n iconHorizontalMargin() {\n return this.iconRight ? 'ml-1.5' : 'mr-1.5';\n },\n },\n\n};\n</script>\n","import { render } from \"./mute-tag.vue?vue&type=template&id=47b19bbe\"\nimport script from \"./mute-tag.vue?vue&type=script&lang=js\"\nexport * from \"./mute-tag.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div\n v-if=\"count > 0\"\n class=\"w-6 h-6 text-xs leading-6 text-center rounded-full\"\n :class=\"[textColor, backgroundColor]\"\n >\n {{ count }}\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n count: {\n type: Number,\n required: true,\n },\n textColor: {\n type: String,\n default: 'text-white',\n },\n backgroundColor: {\n type: String,\n default: 'bg-teal-600',\n },\n },\n};\n</script>\n","import { render } from \"./mute-notification.vue?vue&type=template&id=e3e809c8\"\nimport script from \"./mute-notification.vue?vue&type=script&lang=js\"\nexport * from \"./mute-notification.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <button\n class=\"flex items-center transition-colors duration-150 ease-in-out rounded-full focus:outline-none\"\n :class=\"[\n sizeClasses,\n inactive && 'text-black bg-gray-300 cursor-default',\n !inactive && colorClasses,\n ]\"\n >\n <inline-svg\n v-if=\"iconFileName\"\n :class=\"svgClasses\"\n class=\"fill-current\"\n :src=\"require(`assets/images/icons/${iconFileName}`)\"\n />\n <span>\n <slot />\n </span>\n\n <inline-svg\n v-if=\"rightIconFileName\"\n :class=\"svgClasses\"\n class=\"ml-1 fill-current\"\n :src=\"require(`assets/images/icons/${rightIconFileName}`)\"\n />\n </button>\n</template>\n\n<script>\nexport default {\n props: {\n variant: { type: String, default: 'purple' },\n iconFileName: { type: String, default: null },\n rightIconFileName: { type: String, default: null },\n inactive: { type: Boolean, default: false },\n size: { type: String, default: 'medium' },\n },\n computed: {\n disabled() {\n return this.$attrs.disabled;\n },\n colorClasses() {\n const classes = {\n purple: 'text-white bg-purple-500 hover:bg-purple-600',\n green: 'text-white bg-green-500 hover:bg-green-600',\n red: 'text-white bg-red-500 hover:bg-red-600',\n amber: 'text-amber-600 bg-amber-100 hover:bg-amber-200',\n };\n\n const variant = this.disabled ? 'inactive' : this.variant;\n\n return classes[variant];\n },\n\n sizeClasses() {\n const classes = {\n 'extra-small': 'h-5 py-0.5 px-1',\n 'small': 'h-6 py-1 px-2',\n 'medium': 'h-7 py-1.5 px-3',\n 'large': 'h-9 py-2 px-3',\n };\n\n return classes[this.size];\n },\n\n svgClasses() {\n const classes = {\n 'extra-small': 'h-3 w-3',\n 'small': 'h-3 w-3',\n 'medium': 'h-3 w-3',\n 'large': 'h-4 w-4',\n };\n\n return classes[this.size];\n },\n },\n};\n</script>\n","import { render } from \"./mute-pill.vue?vue&type=template&id=1b34a878\"\nimport script from \"./mute-pill.vue?vue&type=script&lang=js\"\nexport * from \"./mute-pill.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <validation-provider\n v-click-outside=\"hideDatePicker\"\n class=\"relative\"\n >\n <div class=\"relative w-full h-16\">\n <input\n v-model=\"dateValue\"\n type=\"text\"\n class=\"absolute inset-0 w-full px-3 pt-8 pb-3 bg-no-repeat border border-gray-500 rounded-lg outline-none focus:border-2 focus:border-purple-500\"\n @click=\"showDatePicker\"\n >\n <button\n class=\"absolute right-0 w-6 h-6 mt-6 mr-4\"\n @click=\"showDatePicker\"\n >\n <inline-svg\n :src=\"require('assets/images/icons/calendar.svg')\"\n class=\"w-full h-full text-gray-500 fill-current\"\n />\n </button>\n <div class=\"pl-3 select-none\">\n <label\n class=\"absolute mt-6 text-gray-500 transition-all duration-100 ease-in-out origin-top-left scale-75 -translate-y-1/2 cursor-text\"\n >\n <span>{{ label }}</span>\n <span\n v-if=\"rules.includes('required')\"\n class=\"text-sm text-purple-500\"\n >\n *</span>\n </label>\n </div>\n </div>\n <vc-date-picker\n v-if=\"datePicker\"\n v-model=\"dateModel\"\n mode=\"dateTime\"\n class=\"absolute z-10\"\n />\n </validation-provider>\n</template>\n<script>\nexport default {\n props: {\n date: { type: String, required: true },\n label: { type: String, default: 'Fecha y hora' },\n rules: { type: String, default: '' },\n },\n emits: ['change-date'],\n data() {\n return {\n dateModel: new Date(this.date),\n datePicker: false,\n };\n },\n computed: {\n patternSrc() {\n return require('assets/images/icons/calendar.svg');\n },\n dateValue() {\n return this.dateModel.toLocaleString();\n },\n },\n watch: {\n dateModel() {\n this.$emit('change-date', this.dateModel.toISOString());\n },\n },\n methods: {\n showDatePicker() {\n this.datePicker = true;\n },\n hideDatePicker() {\n this.datePicker = false;\n },\n },\n};\n</script>\n","import { render } from \"./date-picker.vue?vue&type=template&id=4a279f98\"\nimport script from \"./date-picker.vue?vue&type=script&lang=js\"\nexport * from \"./date-picker.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div class=\"z-50\">\n <div class=\"flex items-center justify-between w-screen px-4 bg-purple-500 border-b-2 border-gray-300 lg:z-auto lg:justify-start h-14 lg:h-16\">\n <div class=\"inline-flex items-center h-10 mr-4\">\n <a\n class=\"inline-flex items-center h-10\"\n href=\"/\"\n >\n <inline-svg\n class=\"text-white fill-current h-4/5 lg:h-full\"\n :src=\"require('assets/images/logo.svg')\"\n />\n </a>\n <template v-if=\"pageTitle\">\n <div class=\"hidden h-10 mx-2 border border-white lg:block\" />\n <span class=\"hidden ml-0 text-xl tracking-wide text-white lg:block\">\n {{ pageTitle }}\n </span>\n </template>\n </div>\n <div class=\"flex items-center justify-end space-x-4 lg:flex-1\">\n <upvoty-nav-item\n :user-token=\"currentUser.upvotyToken\"\n class=\"text-xs md:text-base\"\n />\n <div class=\"relative flex items-center my-4\">\n <button\n class=\"grow-0 text-white fill-current h-7 w-7\"\n @click=\"isChangelogModalOpen = true\"\n >\n <inline-svg\n :src=\"require('assets/images/icons/notifications.svg')\"\n class=\"w-6 h-6 md:w-full md:h-full\"\n />\n </button>\n <div\n v-if=\"showChangelogNotification\"\n class=\"hidden lg:block h-4 w-4 absolute right-1 top-1 -m-1.5 bg-red-500 rounded-full\"\n />\n </div>\n <dropdown\n v-if=\"currentTeamId && Object.keys(teams).length > 1\"\n class=\"hidden sm:block\"\n >\n <template #button>\n <div class=\"flex items-center text-base text-white\">\n <p>\n {{ teams[currentTeamId].name }}\n </p>\n <inline-svg\n :src=\"require('../../../assets/images/icons/down-arrow-fill.svg')\"\n class=\"w-6 h-6 fill-current\"\n />\n </div>\n </template>\n <template #menu>\n <team-select />\n </template>\n </dropdown>\n <dropdown class=\"hidden sm:block\">\n <template #button>\n <div class=\"flex items-center text-white\">\n <img\n class=\"h-10 rounded-lg shadow\"\n :src=\"currentUser.avatar\"\n >\n <inline-svg\n :src=\"require('../../../assets/images/icons/down-arrow-fill.svg')\"\n class=\"fill-current\"\n />\n </div>\n </template>\n <template #menu>\n <div class=\"text-xl\">\n @{{ currentUser.username }}\n </div>\n <mute-divider\n width=\"w-full\"\n class=\"my-2\"\n />\n <div class=\"flex flex-col space-y-2\">\n <language-select />\n <a\n class=\"text-purple-500 hover:underline hover:text-purple-600\"\n href=\"/profile\"\n >\n {{ $t('profile.myProfile') }}\n </a>\n <a\n class=\"text-purple-500 hover:underline hover:text-purple-600\"\n href=\"#\"\n @click.prevent=\"signOut\"\n >\n {{ $t('profile.logOut') }}\n </a>\n </div>\n </template>\n </dropdown>\n <button\n class=\"block sm:hidden\"\n @click=\"isMenuOpen = !isMenuOpen\"\n >\n <inline-svg\n class=\"w-6 h-6 text-white fill-current\"\n :src=\"require('assets/images/icons/hamburger-icon.svg')\"\n />\n </button>\n </div>\n </div>\n <changelog-modal\n :changelog-items=\"changelogItems\"\n :open=\"isChangelogModalOpen\"\n @update=\"getChangelogItems\"\n @close=\"isChangelogModalOpen = false\"\n />\n <transition\n name=\"fade\"\n >\n <div\n v-if=\"isMenuOpen\"\n class=\"fixed block w-full h-screen p-4 space-y-4 bg-white md:hidden\"\n >\n <div class=\"flex flex-col space-y-2\">\n <div class=\"flex\">\n <img\n class=\"h-8 mr-2 rounded-lg shadow\"\n :src=\"currentUser.avatar\"\n >\n <div class=\"text-xl\">\n @{{ currentUser.username }}\n </div>\n </div>\n <a\n class=\"text-purple-500 hover:underline hover:text-purple-600\"\n href=\"/profile\"\n >\n {{ $t('profile.myProfile') }}\n </a>\n <a\n class=\"text-purple-500 hover:underline hover:text-purple-600\"\n href=\"#\"\n @click.prevent=\"signOut\"\n >\n {{ $t('profile.logOut') }}\n </a>\n </div>\n <mute-divider\n width=\"w-full\"\n color=\"gray-200\"\n />\n <team-select />\n <mute-divider\n width=\"w-full\"\n color=\"gray-200\"\n />\n <language-select />\n <mute-divider\n class=\"w-full\"\n color=\"gray-200\"\n />\n </div>\n </transition>\n </div>\n</template>\n\n<script>\nimport { csrfToken } from '@rails/ujs';\nimport Dropdown from '../shared/dropdown.vue';\nimport ChangelogModal from '../changelog/changelog-modal.vue';\nimport changelogItemsApi from '../../api/changelog_items';\nimport UpvotyNavItem from '../upvoty/upvoty-nav-item.vue';\nimport TeamSelect from '../nav-bar/team-select.vue';\nimport LanguageSelect from '../nav-bar/language-select.vue';\nimport { logInitAmplitudeEvent, setAmplitudeUserId } from '../../helpers/amplitude';\n\nexport default {\n components: { Dropdown, ChangelogModal, UpvotyNavItem,\n LanguageSelect, TeamSelect },\n props: {\n pageTitle: {\n type: String,\n default: null,\n },\n currentUser: {\n type: Object,\n required: true,\n },\n },\n data() {\n return {\n changelogItems: null,\n errors: null,\n isMenuOpen: false,\n isChangelogModalOpen: false,\n };\n },\n computed: {\n showChangelogNotification() {\n return this.changelogItems && this.changelogItems.length > 0;\n },\n teams() {\n return this.$store.state.team.teams;\n },\n currentTeamId() {\n return this.$store.state.team.teamId;\n },\n featuresSeenAt() {\n return this.$store.state.user.featuresSeenAt;\n },\n },\n async mounted() {\n this.initializeUser();\n this.initializeTeam();\n await this.getChangelogItems();\n },\n methods: {\n signOut() {\n fetch('/users/sign_out', {\n method: 'DELETE',\n headers: {\n 'X-CSRF-Token': csrfToken(),\n },\n }).then(() => window.location.replace('/'));\n },\n async getChangelogItems() {\n this.loading = true;\n\n changelogItemsApi.getChangelogItems(new Date(this.featuresSeenAt).toISOString())\n .then((response) => {\n this.changelogItems = response.data.changelogItems;\n })\n .catch((error) => {\n if (error.details) {\n this.errors = error.details;\n }\n })\n .finally(() => {\n this.loading = false;\n });\n },\n async initializeTeam() {\n this.$store.dispatch('setTeams');\n const teamIdRegexMatch = window.location.pathname.match(/\\/teams\\/(\\d+)\\//i);\n\n const teamId = teamIdRegexMatch ? Number(teamIdRegexMatch[1]) : null;\n logInitAmplitudeEvent(teamId);\n\n await this.$store.dispatch('getCustomEmojis', teamId);\n if (this.currentTeamId !== teamId) {\n this.$store.dispatch('setTeam', teamId);\n }\n },\n initializeUser() {\n this.$store.dispatch('setUser', this.currentUser);\n setAmplitudeUserId(this.currentUser.id);\n },\n },\n};\n</script>\n","<template>\n <base-modal @close=\"updateFeaturesSeenAt\">\n <tab-content\n :tab-names=\"{recentChangelogs: $t('changelog.recentChangelogs') , allChangelogs: $t('changelog.allChangelogs')}\"\n class=\"flex flex-col flex-1\"\n >\n <template #recentChangelogs>\n <changelog-tab\n :username=\"user.username\"\n type=\"recent\"\n :changelog-items-current=\"changelogItems\"\n />\n </template>\n <template #allChangelogs>\n <changelog-tab\n type=\"all\"\n :username=\"user.username\"\n />\n </template>\n </tab-content>\n\n <div class=\"flex flex-row justify-end mt-4\">\n <mute-button\n variant=\"purple\"\n @click=\"updateFeaturesSeenAt\"\n >\n {{ $t('changelog.close') }}\n </mute-button>\n </div>\n </base-modal>\n</template>\n\n<script>\nimport { mapState } from 'vuex';\nimport usersApi from '../../api/users';\nimport TabContent from '../shared/tab-content.vue';\nimport ChangelogTab from '../changelog/changelog-tab.vue';\n\nexport default {\n components: { TabContent, ChangelogTab },\n props: {\n changelogItems: { type: Array, required: false, default: null },\n },\n emits: ['update', 'close'],\n data() {\n return {\n loading: false,\n errors: '',\n };\n },\n computed: {\n ...mapState(['user']),\n },\n methods: {\n async updateFeaturesSeenAt() {\n const oldFeaturesSeenAt = this.user.featuresSeenAt;\n const newDate = new Date();\n this.$store.dispatch('setFeaturesSeenAt', newDate);\n usersApi.update({ user: { featuresSeenAt: newDate.toString() } })\n .then(() => {\n this.$emit('update');\n })\n .catch(() => {\n this.$store.dispatch('setFeaturesSeenAt', oldFeaturesSeenAt);\n })\n .finally(() => {\n this.$emit('close');\n });\n },\n },\n};\n</script>\n","import { serialize } from 'object-to-formdata';\nimport api from './index.js';\n\nconst path = '/api/internal/user';\n\nexport default {\n update(body) {\n return api({\n method: 'patch',\n url: path,\n data: body.user.profilePicture ? serialize(body) : body,\n });\n },\n};\n","<template>\n <div class=\"flex-1 overflow-hidden\">\n <div class=\"border-gray-300 mb-4 border-b-2\">\n <ul class=\"flex cursor-pointer\">\n <li\n v-for=\"tabName in Object.keys(tabNames)\"\n :key=\"tabName\"\n class=\"px-3 py-1 md:px-6 md:py-2 rounded-t-lg text-xs md:text-base\"\n :class=\"[isActive(tabName) ? 'bg-purple-500 text-white' : 'bg-gray-200' ]\"\n @click=\"handleTabClick(tabName)\"\n >\n {{ tabNames[tabName] }}\n </li>\n </ul>\n </div>\n <div class=\"overflow-y-auto\">\n <div\n v-for=\"tabName in Object.keys(tabNames)\"\n :key=\"tabName\"\n :class=\"{hidden: !isActive(tabName)}\"\n >\n <slot\n v-if=\"isActive(tabName)\"\n :name=\"tabName\"\n />\n </div>\n </div>\n </div>\n</template>\n\n<script>\nexport default {\n props: {\n tabNames: {\n type: Object,\n required: true,\n },\n },\n data() {\n return {\n activeTab: '',\n };\n },\n mounted() {\n this.activeTab = Object.keys(this.tabNames)[0];\n },\n methods: {\n isActive(tabName) {\n return tabName === this.activeTab;\n },\n handleTabClick(tabName) {\n this.activeTab = tabName;\n },\n },\n};\n</script>\n","import { render } from \"./tab-content.vue?vue&type=template&id=468ba493\"\nimport script from \"./tab-content.vue?vue&type=script&lang=js\"\nexport * from \"./tab-content.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div>\n <i18n-t\n class=\"mb-4 text-xs md:text-sm\"\n :keypath=\"`changelog.explanation.${type}`\"\n tag=\"p\"\n scope=\"global\"\n >\n <span class=\"font-bold text-purple-500\">\n @{{ username }}\n </span>\n </i18n-t>\n <mute-banner\n v-if=\"Object.keys(groupedChangelogItems).length === 0\"\n kind=\"info\"\n >\n <p>{{ $t('changelog.noChangelogItems') }} </p>\n </mute-banner>\n <div\n v-for=\"(value, key, indexMonth) in groupedChangelogItems\"\n :key=\"value.id\"\n >\n <div class=\"mb-2 text-base font-semibold text-purple-500\">\n {{ key }}\n </div>\n <div\n v-for=\"(item) in value\"\n :key=\"item.id\"\n >\n <div\n class=\"flex-col my-3\"\n >\n <div class=\"mb-2 text-sm font-bold\">\n {{ item.title }}\n </div>\n <render-html\n :code=\"item.descriptionHtml\"\n />\n </div>\n </div>\n <mute-divider\n v-if=\"indexMonth !== Object.keys(groupedChangelogItems).length -1 \"\n class=\"my-4\"\n width=\"w-full\"\n />\n </div>\n </div>\n</template>\n\n<script>\nimport moment from 'moment';\nimport groupBy from 'lodash/groupBy';\nimport changelogItemsApi from '../../api/changelog_items';\nimport renderHtml from '../changelog/render-html';\nimport MuteBanner from '../shared/mute-banner.vue';\n\nexport default {\n components: { renderHtml, MuteBanner },\n props: {\n type: { type: String, required: true },\n changelogItemsCurrent: { type: Array, required: false, default: null },\n username: { type: String, required: true },\n },\n data() {\n return {\n changelogItems: this.type === 'recent' ? this.changelogItemsCurrent : null,\n loading: false,\n errors: '',\n };\n },\n computed: {\n groupedChangelogItems() {\n moment.locale(window.localStorage.locale);\n\n return groupBy(\n this.changelogItems,\n changelogItem => moment(changelogItem.createdAt).format('MMMM, YYYY'),\n );\n },\n },\n async mounted() {\n if (this.type === 'all') {\n await this.fetchAllChangelogItems();\n }\n },\n methods: {\n closeChangelogModal() {\n this.$modal.hide('changelog-modal');\n },\n async fetchAllChangelogItems() {\n this.loading = true;\n changelogItemsApi.getChangelogItems()\n .then((response) => {\n this.changelogItems = response.data.changelogItems;\n })\n .catch((error) => {\n if (error.details) {\n this.errors = error.details;\n }\n })\n .finally(() => {\n this.loading = false;\n });\n },\n },\n};\n</script>\n","import api from './index';\n\nexport default {\n getChangelogItems(featuresSeenAt) {\n return api({\n method: 'get',\n url: '/api/internal/changelog_items',\n params: { dateFilter: featuresSeenAt },\n });\n },\n};\n","<!-- eslint-disable vue/no-v-html -->\n<template>\n <div\n class=\"prose\"\n v-html=\"code\"\n />\n</template>\n\n<script>\n\nexport default {\n props: {\n code: { type: String, required: true },\n },\n};\n</script>\n","import { render } from \"./render-html.vue?vue&type=template&id=51b6ed3d\"\nimport script from \"./render-html.vue?vue&type=script&lang=js\"\nexport * from \"./render-html.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./changelog-tab.vue?vue&type=template&id=6920381e\"\nimport script from \"./changelog-tab.vue?vue&type=script&lang=js\"\nexport * from \"./changelog-tab.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./changelog-modal.vue?vue&type=template&id=0c4bf600\"\nimport script from \"./changelog-modal.vue?vue&type=script&lang=js\"\nexport * from \"./changelog-modal.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div data-upvoty />\n</template>\n\n<script>\nexport default {\n props: {\n userToken: { type: String, required: true },\n },\n emits: ['initialized'],\n computed: {\n upvotyScriptUrl() {\n return `https://${process.env.UPVOTY_BASE_URL}/javascript/upvoty.embed.js`;\n },\n },\n async mounted() {\n try {\n await this.loadUpvoty();\n } finally {\n this.$emit('initialized');\n }\n },\n methods: {\n initializeUpvoty() {\n window.upvoty.init('render', {\n ssoToken: this.userToken,\n baseUrl: process.env.UPVOTY_BASE_URL,\n boardHash: process.env.UPVOTY_BOARD_HASH,\n });\n },\n loadUpvoty() {\n return new Promise((resolve, reject) => {\n const upvotyScript = document.createElement('script');\n upvotyScript.setAttribute('src', this.upvotyScriptUrl);\n document.head.appendChild(upvotyScript);\n\n upvotyScript.addEventListener('load', () => {\n this.initializeUpvoty();\n resolve();\n });\n\n upvotyScript.addEventListener('error', (err) => reject(err));\n });\n },\n },\n};\n</script>\n","<template>\n <div\n v-if=\"userToken\"\n class=\"flex items-center space-x-4\"\n :class=\"!upvotyLoaded && 'hidden'\"\n >\n <dropdown\n class=\"z-30\"\n box-class=\"overflow-auto w-96 h-96\"\n @dropdown-open=\"widgetVisible = true\"\n >\n <template #button>\n <mute-button\n icon-file-name=\"feedback.svg\"\n variant=\"green\"\n class=\"hidden sm:flex\"\n >\n {{ $t('feedback.navBarButtonMessage') }}\n </mute-button>\n <mute-button\n icon-file-name=\"feedback.svg\"\n variant=\"green\"\n class=\"flex sm:hidden\"\n size=\"sm\"\n >\n {{ $t('feedback.navBarButtonMessage') }}\n </mute-button>\n </template>\n <template #menu>\n <upvoty-frame\n class=\"flex-1\"\n :user-token=\"userToken\"\n @initialized=\"upvotyLoaded = true\"\n />\n <a\n :href=\"boardUrl\"\n class=\"text-xs text-center text-gray-400 underline\"\n target=\"blank\"\n >\n {{ $t('feedback.goToBoard') }}\n </a>\n </template>\n </dropdown>\n </div>\n</template>\n\n<script>\nimport Dropdown from '../shared/dropdown.vue';\nimport UpvotyFrame from './upvoty-frame.vue';\n\nconst BASE_URL = process.env.UPVOTY_BASE_URL;\nconst BOARD_HASH = process.env.UPVOTY_BOARD_HASH;\n\nexport default {\n components: { UpvotyFrame, Dropdown },\n props: {\n userToken: { type: String, default: null },\n },\n data() {\n return {\n upvotyLoaded: false,\n widgetVisible: false,\n };\n },\n computed: {\n boardUrl() {\n return `https://${BASE_URL}/b/${BOARD_HASH}`;\n },\n },\n watch: {\n widgetVisible() {\n if (this.widgetVisible) window.upvoty.sendMessage({ event: 'resized' });\n },\n },\n};\n</script>\n","import { render } from \"./upvoty-frame.vue?vue&type=template&id=0e36fa27\"\nimport script from \"./upvoty-frame.vue?vue&type=script&lang=js\"\nexport * from \"./upvoty-frame.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./upvoty-nav-item.vue?vue&type=template&id=423a1f41\"\nimport script from \"./upvoty-nav-item.vue?vue&type=script&lang=js\"\nexport * from \"./upvoty-nav-item.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div>\n <div class=\"mb-2 text-xl\">\n {{ $t('teams.myTeams') }}\n </div>\n <div class=\"flex flex-col space-y-2\">\n <div\n v-for=\"(team, teamId) in teams\"\n :key=\"teamId\"\n class=\"flex items-center px-2 py-1\"\n :class=\"{'bg-gray-100': currentTeamId === Number(teamId)}\"\n >\n <a\n class=\"w-full cursor-auto\"\n :href=\"`/teams/${teamId}/documents#/`\"\n :disabled=\"currentTeamId === Number(teamId)\"\n :class=\"{\n 'text-purple-500 hover:text-purple-600 hover:underline cursor-pointer':\n currentTeamId !== Number(teamId)\n }\"\n >\n {{ team.name }}\n </a>\n <a\n v-if=\"adminTeamsIds.includes(Number(teamId))\"\n class=\"ml-auto text-xs text-purple-500 hover:underline hover:text-purple-600\"\n :href=\"`/teams/${teamId}/teams_administration`\"\n >\n {{ $t('teams.manage') }}\n </a>\n </div>\n </div>\n </div>\n</template>\n<script>\nimport { mapState } from 'vuex';\n\nexport default {\n computed: {\n ...mapState(['team']),\n teams() {\n return this.team.teams;\n },\n currentTeamId() {\n return this.team.teamId;\n },\n adminTeamsIds() {\n return this.$store.state.user.adminTeamsIds;\n },\n },\n};\n</script>\n","import { render } from \"./team-select.vue?vue&type=template&id=e198276a\"\nimport script from \"./team-select.vue?vue&type=script&lang=js\"\nexport * from \"./team-select.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <div class=\"flex\">\n <p>\n {{ $t('language.message') }}\n </p>\n <div class=\"flex ml-auto text-xs space-x-1\">\n <button\n class=\"w-5 h-5 flex items-center justify-center rounded\"\n :class=\"selectedLanguage === $t('language.spanish.abbreviation') ? 'bg-slate-200': 'bg-slate-100'\"\n @click=\"changeLocale($t('language.spanish.abbreviation'))\"\n >\n {{ $t('language.spanish.abbreviation') }}\n </button>\n <button\n class=\"w-5 h-5 flex items-center justify-center rounded\"\n :class=\"selectedLanguage === $t('language.english.abbreviation') ? 'bg-slate-200': 'bg-slate-100'\"\n @click=\"changeLocale($t('language.english.abbreviation'))\"\n >\n {{ $t('language.english.abbreviation') }}\n </button>\n </div>\n </div>\n</template>\n<script>\nimport UserApi from '../../api/users';\n\nexport default {\n computed: {\n selectedLanguage() {\n const { user } = this.$store.state;\n if (user && user.locale) return user.locale;\n\n return this.$i18n.locale;\n },\n },\n methods: {\n changeLocale(language) {\n this.$i18n.locale = language;\n this.$store.dispatch('setLocale', language);\n window.localStorage.locale = language;\n UserApi.update({ user: { locale: language } });\n },\n },\n};\n</script>\n","import { render } from \"./language-select.vue?vue&type=template&id=6e3fcfcb\"\nimport script from \"./language-select.vue?vue&type=script&lang=js\"\nexport * from \"./language-select.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { render } from \"./nav-bar.vue?vue&type=template&id=876e8028\"\nimport script from \"./nav-bar.vue?vue&type=script&lang=js\"\nexport * from \"./nav-bar.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import script from \"./flash.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./flash.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\";\nimport { computed } from 'vue';\nimport { useI18n } from 'vue-i18n';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'flash', props: { data: null }, setup(__props) { const props = __props; const { t } = useI18n(); const flashMessage = computed(() => { const { info, alert } = props.data; const text = info || alert; if (text?.match(/^[\\w.]+$/))\n return t(text); return text; }); return (_ctx, _cache) => { return _unref(flashMessage) ? (_openBlock(), _createElementBlock(\"p\", { key: 0, class: _normalizeClass([\"p-2 rounded-md shadow\", { 'bg-red-50 text-red-500': !!__props.data.alert, 'bg-green-50 text-green-500': !!__props.data.info }]) }, _toDisplayString(_unref(flashMessage)), 3)) : _createCommentVNode(\"\", true); }; } });\n","import script from \"./base-modal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./base-modal.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, renderSlot as _renderSlot } from \"vue\";\nconst __default__ = { inheritAttrs: false };\nimport { Dialog, DialogOverlay, DialogPanel, DialogTitle, DialogDescription } from '@headlessui/vue';\nimport { watch, useSlots } from 'vue';\nexport default /*#__PURE__*/ _defineComponent({ ...__default__, __name: 'base-modal', props: { title: { default: undefined }, open: { type: Boolean }, withCloseOption: { type: Boolean, default: true } }, emits: [\"before-open\", \"close\"], setup(__props, { emit }) { const props = __props; const slots = useSlots(); watch(() => props.open, value => { if (value)\n emit('before-open'); }); return (_ctx, _cache) => { const _component_inline_svg = _resolveComponent(\"inline-svg\"); return _openBlock(), _createBlock(_unref(Dialog), { open: __props.open, class: \"absolute inset-0 z-50\", onClose: _cache[1] || (_cache[1] = $event => _ctx.$emit('close')) }, { default: _withCtx(() => [_createVNode(_unref(DialogOverlay), { class: \"fixed inset-0 bg-black/60 z-50 flex flex-col items-center justify-center min-h-screen p-2\" }, { default: _withCtx(() => [_createVNode(_unref(DialogPanel), { class: _normalizeClass([\"p-5 bg-white rounded-lg max-h-screen overflow-y-auto w-full sm:w-fit\", _ctx.$attrs.class]) }, { default: _withCtx(() => [!_unref(slots).header ? (_openBlock(), _createElementBlock(\"div\", { key: 0, class: _normalizeClass([\"flex items-center mb-4\", { 'justify-between space-x-4': __props.title, 'justify-end mb-3': !__props.title }]) }, [__props.title ? (_openBlock(), _createBlock(_unref(DialogTitle), { key: 0, class: \"text-2xl text-slate-600\" }, { default: _withCtx(() => [_createTextVNode(_toDisplayString(__props.title), 1)]), _: 1 })) : _createCommentVNode(\"\", true), __props.withCloseOption ? (_openBlock(), _createElementBlock(\"button\", { key: 1, onClick: _cache[0] || (_cache[0] = $event => _ctx.$emit('close')) }, [_createVNode(_component_inline_svg, { class: \"fill-slate-400 h-5 w-5\", src: require('assets/images/design-system-icons/close.svg') }, null, 8, [\"src\"])])) : _createCommentVNode(\"\", true)], 2)) : _renderSlot(_ctx.$slots, \"header\", { key: 1 }), _createVNode(_unref(DialogDescription), null, { default: _withCtx(() => [_renderSlot(_ctx.$slots, \"default\")]), _: 3 })]), _: 3 }, 8, [\"class\"])]), _: 3 })]), _: 3 }, 8, [\"open\"]); }; } });\n","import { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, unref as _unref, resolveDynamicComponent as _resolveDynamicComponent, mergeProps as _mergeProps, createBlock as _createBlock, normalizeClass as _normalizeClass } from \"vue\";\nconst _hoisted_1 = [\"for\"];\nconst __default__ = { inheritAttrs: false };\nimport { computed } from 'vue';\nimport useFilteredAttrs from '../../composables/useFilteredAttrs';\nexport default /*#__PURE__*/ _defineComponent({ ...__default__, __name: 'base-input', props: { modelValue: { default: undefined }, label: { default: undefined }, name: null, hasError: { type: Boolean, default: undefined }, hint: { default: undefined }, is: { default: 'input' }, type: { default: 'text' } }, emits: [\"update:modelValue\"], setup(__props) { const props = __props; const filteredAttrs = useFilteredAttrs({ excluded: ['class'] }); const isDisabled = computed(() => filteredAttrs.value.disabled === '' || filteredAttrs.value.disabled); const inputBaseClasses = computed(() => { if (props.hasError)\n return 'border-rose-500 ring-rose-300 placeholder-rose-300 text-rose-500'; return { 'border-slate-300 ring-teal-400 text-slate-800 placeholder-slate-400': !isDisabled.value, 'border-slate-300 text-slate-400 placeholder-slate-400 bg-slate-200': isDisabled.value }; }); return (_ctx, _cache) => { return _openBlock(), _createElementBlock(\"div\", { class: _normalizeClass([\"flex flex-col space-y-1\", _ctx.$attrs.class]) }, [__props.label ? (_openBlock(), _createElementBlock(\"label\", { key: 0, for: __props.name, class: \"text-sm text-slate-500\" }, _toDisplayString(__props.label), 9, _hoisted_1)) : _createCommentVNode(\"\", true), (_openBlock(), _createBlock(_resolveDynamicComponent(__props.is), _mergeProps({ id: __props.name, type: __props.type, name: __props.name }, _unref(filteredAttrs), { value: __props.modelValue, class: [\"grow border-2 rounded outline-none p-2 focus:ring-2 ring-offset-2\", _unref(inputBaseClasses)], onInput: _cache[0] || (_cache[0] = $event => _ctx.$emit('update:modelValue', $event.target.value)) }), null, 16, [\"id\", \"type\", \"name\", \"value\", \"class\"])), __props.hint ? (_openBlock(), _createElementBlock(\"p\", { key: 1, class: _normalizeClass([\"text-xs\", __props.hasError ? 'text-rose-500' : 'text-slate-400']) }, _toDisplayString(__props.hint), 3)) : _createCommentVNode(\"\", true)], 2); }; } });\n","import script from \"./base-input.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./base-input.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, unref as _unref, resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, createVNode as _createVNode, createTextVNode as _createTextVNode, mergeProps as _mergeProps, withCtx as _withCtx, renderList as _renderList, Fragment as _Fragment, createElementVNode as _createElementVNode, createBlock as _createBlock } from \"vue\";\nconst _hoisted_1 = [\"for\"];\nconst _hoisted_2 = { class: \"relative\" };\nconst __default__ = { inheritAttrs: false };\nimport { computed } from 'vue';\nimport { useI18n } from 'vue-i18n';\nimport { Listbox, ListboxOptions, ListboxOption, ListboxButton } from '@headlessui/vue';\nimport useFilteredAttrs from '../../composables/useFilteredAttrs';\nexport default /*#__PURE__*/ _defineComponent({ ...__default__, __name: 'base-select', props: { modelValue: { default: undefined }, options: null, name: null, label: { default: undefined }, hasError: { type: Boolean, default: undefined }, hint: { default: undefined }, placeholder: { default: undefined } }, emits: [\"update:modelValue\", \"blur\"], setup(__props, { emit }) {\n const props = __props;\n const filteredAttrs = useFilteredAttrs({ excluded: ['class', 'hint', 'hasError'] });\n const isDisabled = computed(() => filteredAttrs.value.disabled === '' || filteredAttrs.value.disabled);\n const inputBaseClasses = computed(() => { if (props.hasError)\n return 'border-rose-500 ring-rose-300'; return { 'border-slate-300 ring-teal-400': !isDisabled.value, 'border-slate-300 bg-slate-200': isDisabled.value }; });\n const textColorClasses = computed(() => { if (!selectedOption.value) {\n if (props.hasError)\n return 'text-rose-300';\n return 'text-slate-400';\n } return { 'text-rose-500': props.hasError, 'text-slate-500': isDisabled.value }; });\n const svgColorClasses = computed(() => ({ 'fill-slate-300': isDisabled.value, 'fill-rose-500 focus-group:fill-rose-800': props.hasError, 'fill-slate-400 focus-group:fill-teal-500': !isDisabled.value && !props.hasError }));\n const selectedOption = computed(() => props.options.find(option => option.value === props.modelValue));\n const { t } = useI18n();\n const placeholderText = computed(() => props.placeholder || t('baseSelect.defaultPlaceholder')); /*\n This is an issue workaround related to HeadlessUI / vee-validate, where the ListboxOptions blur\n is triggered before vee-validate can validate the input. This causes the state of the component\n to show an error for a fraction of a second even though the selected value is valid.\n */\n const DELAY_IN_MS = 100;\n function handleOptionsBlur() { setTimeout(() => emit('blur'), DELAY_IN_MS); }\n return (_ctx, _cache) => { const _component_inline_svg = _resolveComponent(\"inline-svg\"); return _openBlock(), _createElementBlock(\"div\", { class: _normalizeClass([\"flex flex-col space-y-1\", _ctx.$attrs.class]) }, [__props.label ? (_openBlock(), _createElementBlock(\"label\", { key: 0, for: __props.name, class: \"text-sm text-slate-500\" }, _toDisplayString(__props.label), 9, _hoisted_1)) : _createCommentVNode(\"\", true), _createVNode(_unref(Listbox), { \"model-value\": __props.modelValue, name: __props.name, \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => _ctx.$emit('update:modelValue', $event)) }, { default: _withCtx(({ open }) => [_createElementVNode(\"div\", _hoisted_2, [_createVNode(_unref(ListboxButton), _mergeProps({ class: [\"group border-2 focus:ring-2 ring-offset-2 rounded outline-none p-2 flex items-center w-full\", [_unref(inputBaseClasses), _unref(textColorClasses)]] }, _unref(filteredAttrs), { onBlur: $event => !open && _ctx.$emit('blur') }), { default: _withCtx(() => [_createTextVNode(_toDisplayString(_unref(selectedOption)?.label ?? _unref(placeholderText)) + \" \", 1), _createVNode(_component_inline_svg, { src: require('assets/images/design-system-icons/down-arrow.svg'), class: _normalizeClass([\"ml-auto\", _unref(svgColorClasses)]) }, null, 8, [\"src\", \"class\"])]), _: 2 }, 1040, [\"class\", \"onBlur\"]), _createVNode(_unref(ListboxOptions), { class: \"w-full absolute outline-none border-slate-300 focus:ring-2 ring-offset-2 ring-teal-400 border-2 rounded z-50 mt-2\", onBlur: handleOptionsBlur }, { default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(__props.options, option => { return _openBlock(), _createBlock(_unref(ListboxOption), { key: option.label, value: option.value, as: \"template\" }, { default: _withCtx(({ active }) => [_createElementVNode(\"p\", { class: _normalizeClass([{ 'bg-teal-100': active }, \"first:rounded-t-sm last:rounded-b-sm border-b last:border-0 bg-white p-2 cursor-pointer\"]) }, _toDisplayString(option.label), 3)]), _: 2 }, 1032, [\"value\"]); }), 128))]), _: 1 })]), __props.hint ? (_openBlock(), _createElementBlock(\"p\", { key: 0, class: _normalizeClass([\"text-xs\", __props.hasError ? 'text-rose-500' : 'text-slate-400']) }, _toDisplayString(__props.hint), 3)) : _createCommentVNode(\"\", true)]), _: 1 }, 8, [\"model-value\", \"name\"])], 2); };\n } });\n","import script from \"./base-select.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./base-select.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { renderSlot as _renderSlot, createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = [\"for\"];\nconst _hoisted_2 = [\"id\", \"name\"];\nexport default /*#__PURE__*/ _defineComponent({ __name: 'base-file-input', props: { modelValue: { default: undefined }, name: null, mode: { default: 'single' } }, emits: [\"update:modelValue\"], setup(__props, { emit: emits }) { const props = __props; function setFile(event) { const target = event.target; const files = target.files; if (files) {\n if (props.mode === 'single')\n emits('update:modelValue', files[0]);\n else\n emits('update:modelValue', files);\n } } return (_ctx, _cache) => { return _openBlock(), _createElementBlock(_Fragment, null, [_createElementVNode(\"label\", { for: __props.name }, [_renderSlot(_ctx.$slots, \"default\")], 8, _hoisted_1), _createElementVNode(\"input\", { id: __props.name, type: \"file\", class: \"hidden\", name: __props.name, onChange: setFile }, null, 40, _hoisted_2)], 64); }; } });\n","import script from \"./base-file-input.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./base-file-input.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { computed } from 'vue';\nimport { useField } from 'vee-validate';\nimport i18n from '../plugins/i18n';\nexport default function useFieldWithI18n(...args) { const { meta, errorMessage: errorKey, handleBlur, ...useFieldReturn } = useField(...args); const errorMessage = computed(() => { if (!meta.touched || !errorKey.value)\n return undefined; const [, key, argument] = errorKey.value.match(/(\\w+\\.\\w+)(?:\\{([\\w\\d[\\]]*)\\})?/) || []; if (!key)\n return errorKey.value; return i18n.global.t(`yup.${key}`, { argument }); }); const hasError = computed(() => !!errorMessage.value); return { meta, errorMessage, handleBlur, hasError, ...useFieldReturn }; }\n","import script from \"./base-vv-file-input.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./base-vv-file-input.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, renderSlot as _renderSlot, isRef as _isRef, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\";\nimport useFieldWithI18n from 'composables/useFieldWithI18n';\nimport BaseFileInput from './base-file-input.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'base-vv-file-input', props: { name: null }, setup(__props) { const props = __props; const { value: modelValue } = useFieldWithI18n(props.name); return (_ctx, _cache) => { return _openBlock(), _createBlock(BaseFileInput, { modelValue: _unref(modelValue), \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => _isRef(modelValue) ? modelValue.value = $event : null), name: __props.name }, { default: _withCtx(() => [_renderSlot(_ctx.$slots, \"default\")]), _: 3 }, 8, [\"modelValue\", \"name\"]); }; } });\n","import script from \"./base-vv-input.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./base-vv-input.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, resolveComponent as _resolveComponent, isRef as _isRef, mergeProps as _mergeProps, openBlock as _openBlock, createBlock as _createBlock } from \"vue\";\nconst __default__ = { inheritAttrs: false };\nimport useFieldWithI18n from 'composables/useFieldWithI18n';\nimport useFilteredAttrs from 'composables/useFilteredAttrs';\nexport default /*#__PURE__*/ _defineComponent({ ...__default__, __name: 'base-vv-input', props: { name: null }, setup(__props) { const props = __props; const { value, errorMessage, handleBlur, hasError } = useFieldWithI18n(props.name, undefined, { validateOnMount: true }); const filteredAttrs = useFilteredAttrs({ excluded: ['hint', 'hasError'] }); return (_ctx, _cache) => { const _component_base_input = _resolveComponent(\"base-input\"); return _openBlock(), _createBlock(_component_base_input, _mergeProps(_unref(filteredAttrs), { modelValue: _unref(value), \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => _isRef(value) ? value.value = $event : null), name: __props.name, \"has-error\": _unref(hasError), hint: _unref(errorMessage) || _ctx.$attrs.hint, onBlur: _unref(handleBlur) }), null, 16, [\"modelValue\", \"name\", \"has-error\", \"hint\", \"onBlur\"]); }; } });\n","import script from \"./base-vv-select.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./base-vv-select.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, resolveComponent as _resolveComponent, isRef as _isRef, mergeProps as _mergeProps, openBlock as _openBlock, createBlock as _createBlock } from \"vue\";\nconst __default__ = { inheritAttrs: false };\nimport useFieldWithI18n from 'composables/useFieldWithI18n';\nimport useFilteredAttrs from 'composables/useFilteredAttrs';\nexport default /*#__PURE__*/ _defineComponent({ ...__default__, __name: 'base-vv-select', props: { name: null, options: null }, setup(__props) { const props = __props; const { value, errorMessage, handleBlur, hasError } = useFieldWithI18n(props.name, undefined, { validateOnMount: true }); const filteredAttrs = useFilteredAttrs({ excluded: ['hint', 'hasError'] }); return (_ctx, _cache) => { const _component_base_select = _resolveComponent(\"base-select\"); return _openBlock(), _createBlock(_component_base_select, _mergeProps(_unref(filteredAttrs), { modelValue: _unref(value), \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => _isRef(value) ? value.value = $event : null), options: __props.options, name: __props.name, \"has-error\": _unref(hasError), hint: _unref(errorMessage) || _ctx.$attrs.hint, onBlur: _unref(handleBlur) }), null, 16, [\"modelValue\", \"options\", \"name\", \"has-error\", \"hint\", \"onBlur\"]); }; } });\n","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, resolveDynamicComponent as _resolveDynamicComponent, mergeProps as _mergeProps, resolveDirective as _resolveDirective, withCtx as _withCtx, createBlock as _createBlock, withDirectives as _withDirectives } from \"vue\";\nconst _hoisted_1 = { key: 0, class: \"p-0.5\" };\nconst _hoisted_2 = { key: 1 };\nconst __default__ = { inheritAttrs: false };\nimport useFilteredAttrs from 'composables/useFilteredAttrs';\nimport { computed } from 'vue';\nexport default /*#__PURE__*/ _defineComponent({ ...__default__, __name: 'base-button', props: { label: { default: undefined }, leftIconSrc: { default: undefined }, color: { default: 'indigo' }, loading: { type: Boolean, default: false }, disabled: { type: Boolean, default: false }, tooltipMessage: { default: undefined } }, setup(__props) { const props = __props; const filteredAttrs = useFilteredAttrs({ excluded: ['href'] }); const buttonColorClasses = computed(() => { if (props.disabled)\n return 'bg-slate-300 text-slate-50 cursor-not-allowed'; return { 'bg-indigo-500 hover:bg-indigo-600 active:bg-indigo-700 ring-indigo-500 text-white': props.color === 'indigo', 'bg-teal-600 hover:bg-teal-700 active:bg-teal-800 ring-teal-600 text-white': props.color === 'dark-teal', 'bg-teal-500 hover:bg-teal-600 active:bg-teal-700 ring-teal-500 text-white': props.color === 'teal', 'bg-slate-500 hover:bg-slate-600 active:bg-slate-700 ring-slate-500 text-white': props.color === 'dark-slate', 'bg-slate-200 hover:bg-slate-300 active:bg-slate-400 ring-slate-300 text-slate-600': props.color === 'light-slate', 'bg-slate-50 hover:bg-slate-300 active:bg-slate-400 ring-slate-300 text-slate-600': props.color === 'pale-slate' }; }); return (_ctx, _cache) => { const _component_inline_svg = _resolveComponent(\"inline-svg\"); const _directive_tooltip = _resolveDirective(\"tooltip\"); return _withDirectives((_openBlock(), _createBlock(_resolveDynamicComponent(!!_ctx.$attrs.href ? 'a' : 'button'), _mergeProps(_unref(filteredAttrs), { href: __props.disabled ? undefined : _ctx.$attrs.href, class: [\"p-2.5 rounded-md transition-colors duration-100 ease-in-out flex space-x-1 items-center justify-center focus:outline-none focus:ring-2 ring-offset-2\", [_unref(buttonColorClasses), { 'min-w-[86px]': __props.loading }]], disabled: __props.disabled ? true : undefined }), { default: _withCtx(() => [__props.leftIconSrc || __props.loading ? (_openBlock(), _createElementBlock(\"span\", _hoisted_1, [_createVNode(_component_inline_svg, { src: __props.loading ? require('assets/images/design-system-icons/loader.svg') : __props.leftIconSrc, class: \"fill-current h-5 w-5\" }, null, 8, [\"src\"])])) : _createCommentVNode(\"\", true), __props.label && (__props.leftIconSrc || !__props.loading) ? (_openBlock(), _createElementBlock(\"span\", _hoisted_2, _toDisplayString(__props.label), 1)) : _createCommentVNode(\"\", true)]), _: 1 }, 16, [\"href\", \"class\", \"disabled\"])), [[_directive_tooltip, __props.disabled ? __props.tooltipMessage : undefined]]); }; } });\n","import script from \"./base-button.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./base-button.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, mergeProps as _mergeProps, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, withKeys as _withKeys, normalizeClass as _normalizeClass, toDisplayString as _toDisplayString, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = [\"id\", \"name\"];\nconst _hoisted_2 = [\"for\", \"aria-checked\"];\nconst _hoisted_3 = [\"for\"];\nconst __default__ = { inheritAttrs: false };\nimport { ref } from 'vue';\nimport useFilteredAttrs from 'composables/useFilteredAttrs';\nexport default /*#__PURE__*/ _defineComponent({ ...__default__, __name: 'base-checkbox', props: { modelValue: { type: Boolean }, name: null, label: null }, emits: [\"update:modelValue\"], setup(__props) { const filteredAttrs = useFilteredAttrs({ excluded: ['class'] }); const input = ref(null); return (_ctx, _cache) => { const _component_inline_svg = _resolveComponent(\"inline-svg\"); return _openBlock(), _createElementBlock(\"div\", { class: _normalizeClass([\"flex items-center\", _ctx.$attrs.class]) }, [_createElementVNode(\"input\", _mergeProps(_unref(filteredAttrs), { id: __props.name, ref_key: \"input\", ref: input, name: __props.name, type: \"checkbox\", class: \"hidden\", onClick: _cache[0] || (_cache[0] = $event => _ctx.$emit('update:modelValue', !__props.modelValue)) }), null, 16, _hoisted_1), _createElementVNode(\"label\", { for: __props.name, class: _normalizeClass([\"h-5 w-5 mr-2 shrink-0 bg-white border-2 border-teal-500 rounded-sm transition-colors duration-100 cursor-pointer flex outline-none focus:ring-2 ring-offset-2 ring-teal-400\", { 'bg-teal-500': __props.modelValue }]), tabindex: \"0\", role: \"checkbox\", \"aria-checked\": __props.modelValue, onKeypress: _cache[1] || (_cache[1] = _withKeys($event => input.value?.click(), [\"space\"])) }, [__props.modelValue ? (_openBlock(), _createBlock(_component_inline_svg, { key: 0, src: require('assets/images/design-system-icons/check.svg'), class: \"fill-white w-4 h-4\" }, null, 8, [\"src\"])) : _createCommentVNode(\"\", true)], 42, _hoisted_2), __props.label ? (_openBlock(), _createElementBlock(\"label\", { key: 0, for: __props.name }, _toDisplayString(__props.label), 9, _hoisted_3)) : _createCommentVNode(\"\", true)], 2); }; } });\n","import script from \"./base-checkbox.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./base-checkbox.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./base-vv-checkbox.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./base-vv-checkbox.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, resolveComponent as _resolveComponent, isRef as _isRef, openBlock as _openBlock, createBlock as _createBlock } from \"vue\";\nimport useFieldWithI18n from 'composables/useFieldWithI18n';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'base-vv-checkbox', props: { name: null }, setup(__props) { const props = __props; const { value } = useFieldWithI18n(props.name); return (_ctx, _cache) => { const _component_base_checkbox = _resolveComponent(\"base-checkbox\"); return _openBlock(), _createBlock(_component_base_checkbox, { modelValue: _unref(value), \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => _isRef(value) ? value.value = $event : null), name: __props.name }, null, 8, [\"modelValue\", \"name\"]); }; } });\n","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, mergeProps as _mergeProps, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, withKeys as _withKeys, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\";\nconst _hoisted_1 = [\"id\", \"name\", \"value\"];\nconst _hoisted_2 = [\"for\", \"aria-checked\"];\nconst _hoisted_3 = [\"for\"];\nconst __default__ = { inheritAttrs: false };\nimport { computed, ref } from 'vue';\nimport useFilteredAttrs from 'composables/useFilteredAttrs';\nexport default /*#__PURE__*/ _defineComponent({ ...__default__, __name: 'base-radio', props: { value: null, modelValue: null, name: null, label: null }, emits: [\"update:modelValue\"], setup(__props) { const props = __props; const filteredAttrs = useFilteredAttrs({ excluded: ['class'] }); const isSelected = computed(() => props.modelValue === props.value); const input = ref(null); return (_ctx, _cache) => { return _openBlock(), _createElementBlock(\"div\", { class: _normalizeClass([\"flex items-center\", _ctx.$attrs.class]) }, [_createElementVNode(\"input\", _mergeProps(_unref(filteredAttrs), { id: __props.value, ref_key: \"input\", ref: input, name: __props.name, type: \"radio\", class: \"hidden\", value: _unref(isSelected), onClick: _cache[0] || (_cache[0] = $event => _ctx.$emit('update:modelValue', __props.value)) }), null, 16, _hoisted_1), _createElementVNode(\"label\", { for: __props.value, class: \"h-5 w-5 mr-2 shrink-0 bg-white border-2 border-teal-500 rounded-full cursor-pointer flex items-center justify-center outline-none focus:ring-2 ring-offset-2 ring-teal-400\", tabindex: \"0\", role: \"radio\", \"aria-checked\": _unref(isSelected), onKeypress: _cache[1] || (_cache[1] = _withKeys($event => input.value?.click(), [\"space\"])) }, [_createElementVNode(\"div\", { class: _normalizeClass([\"bg-teal-500 w-3 h-3 rounded-full transition-opacity duration-100\", [!_unref(isSelected) && 'hidden']]) }, null, 2)], 40, _hoisted_2), __props.label ? (_openBlock(), _createElementBlock(\"label\", { key: 0, for: __props.value }, _toDisplayString(__props.label), 9, _hoisted_3)) : _createCommentVNode(\"\", true)], 2); }; } });\n","import script from \"./base-radio.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./base-radio.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./base-vv-radio.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./base-vv-radio.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, isRef as _isRef, openBlock as _openBlock, createBlock as _createBlock } from \"vue\";\nimport useFieldWithI18n from 'composables/useFieldWithI18n';\nimport BaseRadio from './base-radio.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'base-vv-radio', props: { name: null, value: null }, setup(__props) { const props = __props; const { value: modelValue } = useFieldWithI18n(props.name); return (_ctx, _cache) => { return _openBlock(), _createBlock(BaseRadio, { modelValue: _unref(modelValue), \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => _isRef(modelValue) ? modelValue.value = $event : null), name: __props.name, value: __props.value }, null, 8, [\"modelValue\", \"name\", \"value\"]); }; } });\n","import script from \"./base-toggle.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./base-toggle.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, mergeProps as _mergeProps, withCtx as _withCtx, createVNode as _createVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\";\nimport { Switch, SwitchGroup, SwitchLabel } from '@headlessui/vue';\nimport useFilteredAttrs from 'composables/useFilteredAttrs';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'base-toggle', props: { modelValue: { type: Boolean }, label: null }, emits: [\"update:modelValue\"], setup(__props) { const filteredAttrs = useFilteredAttrs({ excluded: ['class'] }); return (_ctx, _cache) => { return _openBlock(), _createBlock(_unref(SwitchGroup), null, { default: _withCtx(() => [_createElementVNode(\"div\", { class: _normalizeClass([\"flex items-center space-x-2\", _ctx.$attrs.class]) }, [_createVNode(_unref(Switch), _mergeProps(_unref(filteredAttrs), { \"model-value\": __props.modelValue, class: [__props.modelValue ? 'bg-teal-500' : 'bg-slate-400', \"relative inline-flex shrink-0 p-0.5 w-11 items-center rounded-full transition-colors duration-100 ease-in-out focus:ring-2 ring-offset-2 outline-none ring-teal-400\"], \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => _ctx.$emit('update:modelValue', $event)) }), { default: _withCtx(() => [_createElementVNode(\"span\", { class: _normalizeClass([__props.modelValue ? 'translate-x-5' : 'translate-x-0', \"inline-block h-5 w-5 rounded-full bg-white transition-transform duration-100 ease-in-out\"]) }, null, 2)]), _: 1 }, 16, [\"model-value\", \"class\"]), __props.label ? (_openBlock(), _createBlock(_unref(SwitchLabel), { key: 0, class: \"ml-2\" }, { default: _withCtx(() => [_createTextVNode(_toDisplayString(__props.label), 1)]), _: 1 })) : _createCommentVNode(\"\", true)], 2)]), _: 1 }); }; } });\n","import script from \"./base-vv-toggle.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./base-vv-toggle.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, isRef as _isRef, mergeProps as _mergeProps, openBlock as _openBlock, createBlock as _createBlock } from \"vue\";\nimport { useField } from 'vee-validate';\nimport BaseToggle from './base-toggle.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'base-vv-toggle', props: { name: null }, setup(__props) { const props = __props; const { value } = useField(props.name); return (_ctx, _cache) => { return _openBlock(), _createBlock(BaseToggle, _mergeProps(_ctx.$attrs, { modelValue: _unref(value), \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => _isRef(value) ? value.value = $event : null) }), null, 16, [\"modelValue\"]); }; } });\n","import { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, unref as _unref } from \"vue\";\nconst _hoisted_1 = { class: \"w-full bg-indigo-500 p-4 flex flex-wrap justify-between text-white items-center\" };\nconst _hoisted_2 = { key: 0, class: \"w-full text-xl\" };\nconst _hoisted_3 = { href: \"/\" };\nimport { inject } from 'vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'the-navbar', props: { pageTitle: { default: undefined } }, setup(__props) {\n const toggleSidebar = inject('toggleSidebar');\n return (_ctx, _cache) => {\n const _component_inline_svg = _resolveComponent(\"inline-svg\");\n const _component_the_searchbar = _resolveComponent(\"the-searchbar\");\n return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [__props.pageTitle ? (_openBlock(), _createElementBlock(\"p\", _hoisted_2, _toDisplayString(__props.pageTitle), 1)) : _createCommentVNode(\"\", true), _createElementVNode(\"a\", _hoisted_3, [_createVNode(_component_inline_svg, { class: \"fill-white h-12 w-12\", src: require('assets/images/design-system-icons/mute-logo.svg') }, null, 8, [\"src\"])]), _createVNode(_component_the_searchbar), _createElementVNode(\"button\", { type: \"button\", class: \"lg:hidden\", onClick: _cache[0] || (_cache[0] = //@ts-ignore\n (...args) => _unref(toggleSidebar) && _unref(toggleSidebar)(...args)) }, [_createVNode(_component_inline_svg, { class: \"fill-white h-8 w-8\", src: require('assets/images/icons/hamburger-icon.svg') }, null, 8, [\"src\"])])]);\n };\n } });\n","import script from \"./the-navbar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./the-navbar.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","<template>\n <div\n class=\"flex items-center w-full mb-1\"\n >\n <label\n :for=\"id\"\n class=\"flex items-center w-full justify-between cursor-pointer\"\n >\n <div\n v-if=\"!!text\"\n class=\"w-fit\"\n >\n {{ text }}\n </div>\n <mute-switch\n :id=\"id\"\n :model-value=\"modelValue\"\n @update:model-value=\"$emit('update:model-value', $event)\"\n />\n </label>\n </div>\n</template>\n\n<script>\nimport MuteSwitch from './mute-switch.vue';\n\nexport default {\n components: { MuteSwitch },\n props: {\n id: {\n type: String,\n required: true,\n },\n text: {\n type: String,\n default: '',\n },\n modelValue: {\n type: Boolean,\n required: true,\n },\n },\n emits: ['update:model-value'],\n};\n</script>\n","import { render } from \"./toggle-button.vue?vue&type=template&id=bd6cc2e8\"\nimport script from \"./toggle-button.vue?vue&type=script&lang=js\"\nexport * from \"./toggle-button.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode } from \"vue\";\nconst _hoisted_1 = { key: 0, class: \"space-y-2 border-b pb-2\" };\nconst __default__ = { inheritAttrs: false };\nimport { computed } from 'vue';\nimport { useStore } from 'vuex';\nimport ToggleButton from 'components/shared/toggle-button.vue';\nimport { logAmplitudeEvent } from 'helpers/amplitude';\nexport default /*#__PURE__*/ _defineComponent({ ...__default__, __name: 'meeting-host-settings', setup(__props) { const store = useStore(); const documentConfiguration = computed(() => store.state.document.documentConfiguration); const document = computed(() => store.state.document.document); const userId = computed(() => store.state.user.id); const teamId = computed(() => store.state.team.teamId); const announcementsAllowed = computed(() => documentConfiguration.value?.announcementsAllowed); const commentsAllowed = computed(() => documentConfiguration.value?.commentsAllowed); const isMeetingHost = computed(() => document.value?.mastersOfCeremonies?.includes(userId.value)); function toggleAnnouncements(newValue) { if (announcementsAllowed.value === newValue)\n return; logAmplitudeEvent('toggle-announcements', { teamId: teamId.value, documentId: document.value.id, toValue: newValue }); store.dispatch('toggleAnnouncements', newValue); } function toggleComments(newValue) { if (commentsAllowed.value === newValue)\n return; logAmplitudeEvent('toggle-comments', { teamId: teamId.value, documentId: document.value.id, toValue: newValue }); store.dispatch('toggleComments', newValue); } return (_ctx, _cache) => { return _unref(isMeetingHost) ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createVNode(ToggleButton, { id: \"announcementToggler\", class: \"mb-4\", text: _ctx.$t('meetings.config.announcements'), \"model-value\": _unref(announcementsAllowed), \"onUpdate:modelValue\": toggleAnnouncements }, null, 8, [\"text\", \"model-value\"]), _createVNode(ToggleButton, { id: \"commentToggler\", class: \"mb-4\", text: _ctx.$t('meetings.config.comments'), \"model-value\": _unref(commentsAllowed), \"onUpdate:modelValue\": toggleComments }, null, 8, [\"text\", \"model-value\"])])) : _createCommentVNode(\"\", true); }; } });\n","import script from \"./meeting-host-settings.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./meeting-host-settings.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","<template>\n <div class=\"space-y-2 border-b pb-2\">\n <toggle-button\n id=\"notificationToggler\"\n class=\"mb-4\"\n :text=\"$t('meetings.config.notifications')\"\n :model-value=\"notificationsAllowed\"\n @update:model-value=\"allowNotifications\"\n />\n <toggle-button\n id=\"unreadMessageToggler\"\n class=\"mb-4\"\n :text=\"$t('meetings.config.unreadMessages')\"\n :model-value=\"unreadMessagesAllowed\"\n @update:model-value=\"toggleUnreadMessages\"\n />\n </div>\n</template>\n\n<script>\nimport { mapMutations, mapState } from 'vuex';\nimport { logAmplitudeEvent } from '../../helpers/amplitude';\nimport ToggleButton from '../shared/toggle-button.vue';\n\nexport default {\n components: { ToggleButton },\n computed: mapState({\n document: (state) => state.document,\n teamId: (state) => state.team.teamId,\n notificationsAllowed: (state) => state.document.notificationsAllowed,\n unreadMessagesAllowed: (state) => state.document.allowUnreadMessages,\n }),\n methods: {\n ...mapMutations(['setNotificationsAllowed']),\n toggleUnreadMessages(newValue) {\n this.$store.dispatch('toggleUnreadMessages', newValue);\n },\n allowNotifications(newValue) {\n this.notification = newValue;\n this.setNotificationsAllowed(newValue);\n if (!newValue) {\n logAmplitudeEvent('silence-meeting', {\n teamId: this.teamId,\n documentId: this.document.document.id,\n });\n }\n },\n },\n};\n</script>\n","import { render } from \"./meeting-personal-settings.vue?vue&type=template&id=567fcc61\"\nimport script from \"./meeting-personal-settings.vue?vue&type=script&lang=js\"\nexport * from \"./meeting-personal-settings.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = { class: \"space-y-2\" };\nconst _hoisted_2 = [\"href\"];\nimport { useStore } from 'vuex';\nimport { computed } from 'vue';\nimport { useI18n } from 'vue-i18n';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'meeting-extra-settings', setup(__props) { const { t } = useI18n(); const store = useStore(); const FEEDBACK_EMAIL = process.env.FEEDBACK_EMAIL; const username = computed(() => store.state.user.username); const mailToMute = computed(() => { const emailSubject = t('feedback.emailSubject', { user: username.value }); const emailBody = t('feedback.emailBody'); return `mailto:${FEEDBACK_EMAIL}?subject=${emailSubject}&body=${emailBody}`; }); return (_ctx, _cache) => { return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createElementVNode(\"a\", { href: _unref(mailToMute), class: \"mx-auto w-full text-teal-600 text-start underline\" }, _toDisplayString(_ctx.$t('feedback.navBarButtonMessage')), 9, _hoisted_2)]); }; } });\n","import script from \"./meeting-extra-settings.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./meeting-extra-settings.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, resolveComponent as _resolveComponent, resolveDirective as _resolveDirective, createVNode as _createVNode, withDirectives as _withDirectives, createElementVNode as _createElementVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\";\nconst _hoisted_1 = { class: \"flex space-x-6\" };\nconst _hoisted_2 = { class: \"space-y-2 w-64\" };\nimport { useStore } from 'vuex';\nimport { computed } from 'vue';\nimport Dropdown from '../shared/dropdown.vue';\nimport MeetingHostSettings from './meeting-host-settings.vue';\nimport MeetingPersonalSettings from './meeting-personal-settings.vue';\nimport MeetingExtraSettings from './meeting-extra-settings.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'meeting-more-settings', setup(__props) { const store = useStore(); const hasLargeScreen = computed(() => store.getters.hasLargeScreen); return (_ctx, _cache) => { const _component_mute_button = _resolveComponent(\"mute-button\"); const _directive_tooltip = _resolveDirective(\"tooltip\"); return _openBlock(), _createBlock(Dropdown, { \"box-class\": \"w-auto\" }, { button: _withCtx(() => [_withDirectives(_createVNode(_component_mute_button, { \"icon-file-name\": \"vertical_points.svg\", variant: \"blue\", toolbar: !_unref(hasLargeScreen), outlined: _unref(hasLargeScreen), borderless: !_unref(hasLargeScreen), \"only-icon\": \"\", class: \"w-full fill-white lg:bg-indigo-400\", \"data-testId\": \"more-settings-button\" }, null, 8, [\"toolbar\", \"outlined\", \"borderless\"]), [[_directive_tooltip, _ctx.$t('meetings.config.moreSettings')]])]), menu: _withCtx(() => [_createElementVNode(\"div\", _hoisted_1, [_createElementVNode(\"div\", _hoisted_2, [_createVNode(MeetingHostSettings), _createVNode(MeetingPersonalSettings), _createVNode(MeetingExtraSettings)])])]), _: 1 }); }; } });\n","import script from \"./meeting-more-settings.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./meeting-more-settings.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, unref as _unref, renderSlot as _renderSlot, createBlock as _createBlock } from \"vue\";\nconst _hoisted_1 = { class: \"w-full bg-indigo-500 p-4 flex text-white items-center z-30\" };\nconst _hoisted_2 = { class: \"flex items-center w-full\" };\nconst _hoisted_3 = { href: \"/\" };\nconst _hoisted_4 = { key: 0, class: \"w-fit ml-4 text-xl\" };\nconst _hoisted_5 = { key: 1, class: \"w-fit items-center ml-2 text-indigo-300\" };\nconst _hoisted_6 = { class: \"flex gap-4 items-center w-full justify-end\" };\nconst __default__ = { inheritAttrs: false };\nimport moment from 'moment';\nimport { useI18n } from 'vue-i18n';\nimport { computed } from 'vue';\nimport { useStore } from 'vuex';\nimport MeetingMoreSettings from 'components/meeting/meeting-more-settings.vue';\nimport ReadyButton from 'components/meeting/ready-button.vue';\nexport default /*#__PURE__*/ _defineComponent({ ...__default__, __name: 'the-meeting-navbar', props: { pageTitle: { default: undefined } }, setup(__props) { const { t, locale } = useI18n(); const store = useStore(); const hasLargeScreen = computed(() => store.getters.hasLargeScreen); const documentDatetime = computed(() => moment(store.state.document.document?.datetime).locale(locale.value).format(t('date.formats.long'))); return (_ctx, _cache) => { const _component_inline_svg = _resolveComponent(\"inline-svg\"); const _component_the_searchbar = _resolveComponent(\"the-searchbar\"); return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createElementVNode(\"div\", _hoisted_2, [_createElementVNode(\"a\", _hoisted_3, [_createVNode(_component_inline_svg, { class: \"fill-white h-12 w-12\", src: require('assets/images/design-system-icons/mute-logo.svg') }, null, 8, [\"src\"])]), __props.pageTitle ? (_openBlock(), _createElementBlock(\"p\", _hoisted_4, _toDisplayString(__props.pageTitle), 1)) : _createCommentVNode(\"\", true), _unref(documentDatetime) ? (_openBlock(), _createElementBlock(\"p\", _hoisted_5, _toDisplayString(_unref(documentDatetime)), 1)) : _createCommentVNode(\"\", true)]), _createElementVNode(\"div\", _hoisted_6, [_renderSlot(_ctx.$slots, \"default\"), _unref(hasLargeScreen) ? (_openBlock(), _createBlock(_component_the_searchbar, { key: 0, \"document-id\": _unref(store).state.document.document?.id }, null, 8, [\"document-id\"])) : _createCommentVNode(\"\", true), _unref(hasLargeScreen) ? (_openBlock(), _createBlock(ReadyButton, { key: 1 })) : _createCommentVNode(\"\", true), _createVNode(MeetingMoreSettings)])]); }; } });\n","import script from \"./the-meeting-navbar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./the-meeting-navbar.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { render } from \"./loader.vue?vue&type=template&id=4b1a2b4c\"\nconst script = {}\n\nimport exportComponent from \"/tmp/build_e3c1bed4/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","<template>\n <inline-svg\n class=\"text-purple-500 fill-current\"\n :src=\"require('assets/images/icons/loader.svg')\"\n />\n</template>\n","import { defineComponent as _defineComponent } from 'vue';\nimport { renderSlot as _renderSlot, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, resolveDirective as _resolveDirective, withDirectives as _withDirectives, unref as _unref } from \"vue\";\nconst _hoisted_1 = { class: \"relative z-20 flex items-center h-full\" };\nconst _hoisted_2 = { class: \"fixed inset-x-0 grid grid-cols-1 p-2 mx-auto mt-1 bg-white border rounded-md shadow-md top-28 w-2/3 lg:w-1/2\" };\nconst _hoisted_3 = { class: \"flex justify-between items-start\" };\nconst _hoisted_4 = { key: 0 };\nconst _hoisted_5 = { key: 1 };\nconst _hoisted_6 = { class: \"text-center text-gray-400 font-bold\" };\nconst _hoisted_7 = { key: 2 };\nconst _hoisted_8 = { class: \"text-center text-gray-400 font-bold\" };\nconst _hoisted_9 = { key: 3 };\nconst _hoisted_10 = { class: \"text-center text-gray-400 font-bold\" };\nconst _hoisted_11 = { key: 4, class: \"flex flex-col max-h-[40rem] overflow-y-auto divide-y divide-gray-200 mr-1 border-y-2 border-gray-200\" };\nimport { ref, computed, onMounted, onBeforeMount, watch } from 'vue';\nimport { useStore } from 'vuex';\nimport Loader from './loader.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'dropdown-searchbar', props: { searchResults: { default: undefined }, isLoading: { type: Boolean, default: false }, error: { type: Boolean, default: false }, closeOnClick: { type: Boolean, default: false } }, emits: [\"open-searchbar\", \"close-searchbar\"], setup(__props, { emit }) { const props = __props; const store = useStore(); const isOpen = ref(false); const onSearchPage = computed(() => store.state.document.onSearchPage); function toggle() { isOpen.value = !isOpen.value; if (isOpen.value)\n emit('open-searchbar');\n else\n emit('close-searchbar'); } function close() { if (!onSearchPage.value && isOpen.value) {\n toggle();\n } } function closeResults() { if (onSearchPage.value) {\n store.dispatch('document/setOnSearchPage', false);\n } } function closeDropdown() { toggle(); closeResults(); } function keyListener(e) { if (e.code === 'KeyK' && (e.ctrlKey || e.metaKey)) {\n e.preventDefault();\n if (onSearchPage.value)\n closeDropdown();\n else\n toggle();\n } } watch(() => props.closeOnClick, () => close()); onMounted(() => { window.addEventListener('keydown', keyListener); }); onBeforeMount(() => { window.removeEventListener('keydown', keyListener); }); return (_ctx, _cache) => { const _component_inline_svg = _resolveComponent(\"inline-svg\"); const _directive_click_outside = _resolveDirective(\"click-outside\"); return _openBlock(), _createElementBlock(\"div\", null, [_withDirectives((_openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createElementVNode(\"div\", { class: _normalizeClass([\"w-full cursor-pointer\", isOpen.value ? 'filter drop-shadow-md' : '']), onClick: toggle }, [_renderSlot(_ctx.$slots, \"button\")], 2), _createElementVNode(\"div\", { class: _normalizeClass([\"absolute top-full\", { hidden: !isOpen.value }]) }, [_createElementVNode(\"div\", null, [_createElementVNode(\"div\", _hoisted_2, [_createElementVNode(\"div\", _hoisted_3, [_renderSlot(_ctx.$slots, \"menu\"), _createElementVNode(\"button\", { onClick: closeDropdown }, [_createVNode(_component_inline_svg, { class: \"w-6 h-6 m-2 text-gray-500 cursor-pointer fill-current hover:text-gray-600\", src: require('assets/images/icons/close-icon.svg') }, null, 8, [\"src\"])])]), __props.isLoading ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [_createVNode(Loader, { class: \"mx-auto my-3\" })])) : !props.searchResults ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [_createElementVNode(\"div\", _hoisted_6, _toDisplayString(_ctx.$t('meetings.search.searchPrompt')), 1)])) : props.error ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [_createElementVNode(\"div\", _hoisted_8, _toDisplayString(_ctx.$t('meetings.search.error')), 1)])) : props.searchResults.length === 0 ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [_createElementVNode(\"div\", _hoisted_10, _toDisplayString(_ctx.$t('meetings.search.noResults')), 1)])) : (_openBlock(), _createElementBlock(\"div\", _hoisted_11, [_renderSlot(_ctx.$slots, \"items\")]))])])], 2)])), [[_directive_click_outside, close]]), !_unref(onSearchPage) ? (_openBlock(), _createElementBlock(\"div\", { key: 0, class: _normalizeClass([\"fixed inset-0 z-10 bg-black opacity-25\", { hidden: !isOpen.value }]) }, null, 2)) : _createCommentVNode(\"\", true)]); }; } });\n","import script from \"./dropdown-searchbar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./dropdown-searchbar.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, resolveDirective as _resolveDirective, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock, withDirectives as _withDirectives, vModelText as _vModelText, unref as _unref, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = { class: \"w-fit ml-1\" };\nconst _hoisted_2 = { class: \"w-full flex flex-wrap text-black\" };\nconst _hoisted_3 = [\"placeholder\"];\nconst _hoisted_4 = { class: \"lg:w-auto flex justify-evenly mt-1 ml-1 lg:mt-0 w-full\" };\nconst _hoisted_5 = [\"href\"];\nconst _hoisted_6 = { class: \"flex mb-2\" };\nconst _hoisted_7 = { class: \"font-bold text-purple-500\" };\nconst _hoisted_8 = { class: \"text-gray-500 text-sm font-bold ml-auto\" };\nconst _hoisted_9 = { class: \"text-gray-500 text-sm font-bold\" };\nimport { ref, watch, nextTick } from 'vue';\nimport debounce from 'lodash/debounce';\nimport { useI18n } from 'vue-i18n';\nimport moment from 'moment';\nimport EditableText from '../shared/editable-text.vue';\nimport DropdownSearchbar from '../shared/dropdown-searchbar.vue';\nimport { logAmplitudeEvent } from '../../helpers/amplitude';\nimport entitiesApi from '../../api/entities';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'the-searchbar', props: { documentId: { default: undefined } }, setup(__props) {\n const props = __props;\n const i18n = useI18n();\n const SEARCH_DEBOUNCE_TIMER = 300;\n const MIN_SEARCH_QUERY_LENGTH = 4;\n const closeSearchBar = ref(true);\n const error = ref(false);\n const isLoading = ref(false);\n const inputRef = ref(null);\n const searchQuery = ref('');\n const searchAnnouncements = ref(true);\n const searchComments = ref(true);\n const searchResults = ref(undefined);\n async function fetchSearchResults(documentId, searchParams) { const teamIdRegexMatch = window.location.pathname.match(/\\/teams\\/(\\d+)\\//i); const teamId = teamIdRegexMatch ? Number(teamIdRegexMatch[1]) : null; if (documentId) {\n const response = await entitiesApi.searchEntitiesInDocument(teamId, documentId, searchParams);\n return response.data;\n } const response = await entitiesApi.searchAllEntities(teamId, searchParams); return response.data; }\n async function executeSearch() { if (searchQuery.value.length < MIN_SEARCH_QUERY_LENGTH)\n return; logAmplitudeEvent('search-in-mute', { searchValue: searchQuery.value }); error.value = false; isLoading.value = true; const searchParams = { query: searchQuery.value, announcements: searchAnnouncements.value, comments: searchComments.value }; try {\n const data = await fetchSearchResults(props.documentId, searchParams);\n searchResults.value = data?.entities || [];\n }\n catch (e) {\n error.value = true;\n }\n finally {\n isLoading.value = false;\n } }\n watch([searchAnnouncements, searchComments], () => { executeSearch(); });\n const delayedSearch = debounce(executeSearch, SEARCH_DEBOUNCE_TIMER);\n function focusInput() { nextTick(() => { const inputElement = inputRef.value; if (inputElement) {\n inputElement.focus();\n } }); }\n function clearInput() { searchQuery.value = ''; searchAnnouncements.value = searchComments.value = true; searchResults.value = undefined; }\n function entityLink(entity) { const announcementId = entity.announcementId ? entity.announcementId : entity.id; const baseUrl = props.documentId ? entity.documentId : `documents/${entity.documentId}`; return `${baseUrl}#/sections/${entity.sectionId}/${announcementId}`; }\n function getEntityType(entity) { if (entity.announcementId) {\n return i18n.t('meetings.comment.singleTitle');\n } return i18n.t('meetings.announcement.singleTitle'); }\n function parseDate(date) { return moment(date).locale(i18n.locale.value).format(i18n.t('date.formats.long')); }\n return (_ctx, _cache) => {\n const _component_mute_button = _resolveComponent(\"mute-button\");\n const _component_mute_checkbox = _resolveComponent(\"mute-checkbox\");\n const _component_mute_avatar = _resolveComponent(\"mute-avatar\");\n const _directive_tooltip = _resolveDirective(\"tooltip\");\n return _openBlock(), _createBlock(DropdownSearchbar, { \"search-results\": searchResults.value, \"is-loading\": isLoading.value, error: error.value, \"close-on-click\": closeSearchBar.value, onOpenSearchbar: focusInput, onCloseSearchbar: clearInput }, { button: _withCtx(() => [_withDirectives((_openBlock(), _createBlock(_component_mute_button, { class: \"border-2 border-white rounded-lg px-3.5 py-2 w-60\", \"icon-file-name\": \"search.svg\", \"only-icon\": \"\" }, { default: _withCtx(() => [_createElementVNode(\"p\", _hoisted_1, _toDisplayString(_ctx.$t('meetings.search.searchPlaceholder')), 1)]), _: 1 })), [[_directive_tooltip, '⌘/Ctrl + K']])]), menu: _withCtx(() => [_createElementVNode(\"div\", _hoisted_2, [_withDirectives(_createElementVNode(\"input\", { ref_key: \"inputRef\", ref: inputRef, \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => searchQuery.value = $event), class: \"w-full lg:w-auto h-6 py-4 px-2 border-2 rounded-md focus:outline-none lg:mr-2 grow\", placeholder: _ctx.$t('meetings.search.searchPlaceholder'), onInput: _cache[1] || (_cache[1] = //@ts-ignore\n (...args) => _unref(delayedSearch) && _unref(delayedSearch)(...args)) }, null, 40, _hoisted_3), [[_vModelText, searchQuery.value]]), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_mute_checkbox, { id: \"checkbox-announcements-search\", modelValue: searchAnnouncements.value, \"onUpdate:modelValue\": _cache[2] || (_cache[2] = $event => searchAnnouncements.value = $event), class: \"mr-2\", label: _ctx.$t('meetings.search.filters.announcements') }, null, 8, [\"modelValue\", \"label\"]), _createVNode(_component_mute_checkbox, { id: \"checkbox-comments-search\", modelValue: searchComments.value, \"onUpdate:modelValue\": _cache[3] || (_cache[3] = $event => searchComments.value = $event), label: _ctx.$t('meetings.search.filters.comments') }, null, 8, [\"modelValue\", \"label\"])])])]), items: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(searchResults.value, result => { return _openBlock(), _createElementBlock(\"a\", { key: result.id, class: \"text-black p-2 hover:bg-gray-100 cursor-pointer\", href: entityLink(result), onClick: _cache[4] || (_cache[4] = $event => closeSearchBar.value = !closeSearchBar.value) }, [_createElementVNode(\"div\", _hoisted_6, [_createVNode(_component_mute_avatar, { class: \"self-start shrink-0 mr-2\", size: \"medium\", src: result.author.avatar }, null, 8, [\"src\"]), _createElementVNode(\"p\", _hoisted_7, _toDisplayString(result.author.username), 1), _createElementVNode(\"p\", _hoisted_8, _toDisplayString(getEntityType(result)), 1)]), _createVNode(EditableText, { text: result.body, \"content-id\": result.id, editing: false, \"content-type\": \"announcement\", author: result.author }, null, 8, [\"text\", \"content-id\", \"author\"]), _createElementVNode(\"p\", _hoisted_9, _toDisplayString(parseDate(result.createdAt)), 1)], 8, _hoisted_5); }), 128))]), _: 1 }, 8, [\"search-results\", \"is-loading\", \"error\", \"close-on-click\"]);\n };\n } });\n","import script from \"./the-searchbar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./the-searchbar.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderSlot as _renderSlot, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createBlock as _createBlock, resolveDynamicComponent as _resolveDynamicComponent, withCtx as _withCtx } from \"vue\";\nconst _hoisted_1 = { key: 0, class: \"text-[10px] absolute flex right-0 top-0 translate-x-2 -translate-y-2 bg-rose-500 text-white rounded-full px-1 py-0.5\" };\nexport default /*#__PURE__*/ _defineComponent({ __name: 'sidebar-button', props: { is: null, label: null, isSelected: { type: Boolean }, hasChevron: { type: Boolean, default: false }, isNew: { type: Boolean, default: false } }, setup(__props) { return (_ctx, _cache) => { const _component_inline_svg = _resolveComponent(\"inline-svg\"); return _openBlock(), _createBlock(_resolveDynamicComponent(__props.is), { class: \"group relative flex items-center p-2 bg-slate-200 rounded hover:bg-indigo-100 transition-colors duration-100 ease-in-out cursor-pointer space-x-1 text-left md:w-36 w-full\" }, { default: _withCtx(() => [__props.isNew ? (_openBlock(), _createElementBlock(\"span\", _hoisted_1, _toDisplayString(_ctx.$t('sidebar.new')), 1)) : _createCommentVNode(\"\", true), _renderSlot(_ctx.$slots, \"default\"), _createElementVNode(\"p\", { class: _normalizeClass([\"text-slate-600 group-hover:text-indigo-500 flex-1 text-ellipsis overflow-hidden whitespace-nowrap\", { 'text-indigo-500': __props.isSelected }]) }, _toDisplayString(__props.label), 3), __props.hasChevron ? (_openBlock(), _createBlock(_component_inline_svg, { key: 1, src: require('assets/images/design-system-icons/chevron-right.svg'), class: \"h-4 w-4 fill-slate-400\" }, null, 8, [\"src\"])) : _createCommentVNode(\"\", true)]), _: 3 }); }; } });\n","import script from \"./sidebar-button.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./sidebar-button.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import script from \"./sidebar-button-link.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./sidebar-button-link.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, resolveComponent as _resolveComponent, normalizeClass as _normalizeClass, createVNode as _createVNode, withCtx as _withCtx, openBlock as _openBlock, createBlock as _createBlock } from \"vue\";\nimport { computed } from 'vue';\nimport SidebarButton from './sidebar-button.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'sidebar-button-link', props: { item: null }, setup(__props) { const props = __props; const [baseUrl] = window.location.pathname.match(/^\\/teams\\/\\d+/) || []; const isSelected = computed(() => window.location.href.includes(props.item.href)); return (_ctx, _cache) => { const _component_inline_svg = _resolveComponent(\"inline-svg\"); return _openBlock(), _createBlock(SidebarButton, { is: \"a\", href: `${_unref(baseUrl)}/${__props.item.href}`, label: _ctx.$t(`sidebar.${__props.item.id}`), \"is-selected\": _unref(isSelected) }, { default: _withCtx(() => [_createVNode(_component_inline_svg, { src: __props.item.iconSrc, class: _normalizeClass([\"group-hover:fill-indigo-500 w-5 h-5\", { 'fill-indigo-500': _unref(isSelected), 'fill-slate-600': !_unref(isSelected) }]) }, null, 8, [\"src\", \"class\"])]), _: 1 }, 8, [\"href\", \"label\", \"is-selected\"]); }; } });\n","import api from './index.js';\nconst path = '/api/internal/session';\nexport default { signOut() { return api({ method: 'delete', url: path }); } };\n","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = { class: \"mx-12 md:flex md:space-x-2.5 space-y-2.5 md:space-y-0\" };\nconst _hoisted_2 = { class: \"flex justify-end mt-4\" };\nimport 'vue-advanced-cropper/dist/style.css';\nimport { Cropper, Preview } from 'vue-advanced-cropper';\nimport { ref } from 'vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'sidebar-edit-profile-picture', props: { profilePicture: null }, emits: [\"submit\", \"cancel\"], setup(__props) { const props = __props; const pictureSrc = URL.createObjectURL(props.profilePicture); const baseCroppedImage = ref(); const croppedImage = ref(); const cropperCoordinates = ref(); function setCoordinates({ coordinates, image, canvas }) { if (!baseCroppedImage.value)\n baseCroppedImage.value = image; cropperCoordinates.value = coordinates; canvas.toBlob(blob => { croppedImage.value = blob; }, 'image/jpeg'); } return (_ctx, _cache) => { const _component_base_button = _resolveComponent(\"base-button\"); return _openBlock(), _createElementBlock(_Fragment, null, [_createElementVNode(\"div\", _hoisted_1, [_createVNode(_unref(Cropper), { src: _unref(pictureSrc), class: \"h-48 w-48\", onChange: setCoordinates }, null, 8, [\"src\"]), _createVNode(_unref(Preview), { class: \"h-48 w-48 rounded-lg\", image: baseCroppedImage.value, coordinates: cropperCoordinates.value }, null, 8, [\"image\", \"coordinates\"])]), _createElementVNode(\"div\", _hoisted_2, [_createVNode(_component_base_button, { type: \"button\", label: _ctx.$t('actions.cancel'), color: \"light-slate\", class: \"mr-4\", onClick: _cache[0] || (_cache[0] = $event => _ctx.$emit('cancel')) }, null, 8, [\"label\"]), _createVNode(_component_base_button, { label: _ctx.$t('actions.save'), onClick: _cache[1] || (_cache[1] = $event => _ctx.$emit('submit', croppedImage.value)) }, null, 8, [\"label\"])])], 64); }; } });\n","import script from \"./sidebar-edit-profile-picture.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./sidebar-edit-profile-picture.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./sidebar-edit-profile-picture.vue?vue&type=style&index=0&id=5f1a43fa&lang=css\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, resolveComponent as _resolveComponent, createVNode as _createVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, withCtx as _withCtx, createBlock as _createBlock } from \"vue\";\nconst _hoisted_1 = { key: 0, class: \"flex flex-col items-center\" };\nconst _hoisted_2 = { class: \"text-2xl font-bold mt-8\" };\nconst _hoisted_3 = { class: \"mt-2\" };\nconst _hoisted_4 = { class: \"flex w-full justify-end mt-6\" };\nconst _hoisted_5 = { key: 0 };\nconst _hoisted_6 = { class: \"sm:flex sm:space-x-4\" };\nconst _hoisted_7 = { class: \"flex-col flex items-center sm:items-start\" };\nconst _hoisted_8 = { class: \"h-24 w-24 mt-2 rounded-sm overflow-hidden\" };\nconst _hoisted_9 = [\"src\"];\nconst _hoisted_10 = { class: \"text-teal-500 underline mt-1 text-left cursor-pointer\" };\nconst _hoisted_11 = { class: \"flex-1 space-y-4\" };\nconst _hoisted_12 = { class: \"flex flex-col space-y-4 mt-4\" };\nconst _hoisted_13 = { class: \"space-y-4 sm:space-y-0 sm:flex sm:space-x-4\" };\nconst _hoisted_14 = { class: \"flex sm:flex-row flex-col-reverse justify-end sm:space-x-4 mt-6\" };\nimport { ref, computed } from 'vue';\nimport * as yup from 'yup';\nimport userApi from 'api/users';\nimport { useMutation } from 'vue-query';\nimport { MINIMUM_PASSWORD_CHAR_LENGTH } from '../../utils/constants';\nimport SidebarEditProfilePicture from './sidebar-edit-profile-picture.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'sidebar-edit-profile-modal', props: { open: { type: Boolean }, currentUser: null, userTeams: null }, emits: [\"close\", \"update-user\"], setup(__props, { emit: emits }) { const props = __props; const userTeamsOptions = computed(() => props.userTeams.map(team => ({ value: team.id, label: team.name }))); const userInitialValues = computed(() => ({ username: props.currentUser.username, email: props.currentUser.email, defaultTeamId: props.currentUser.defaultTeamId })); const userSchema = yup.object({ username: yup.string().required(), password: yup.string().when({ is: password => password && password.length > 0, then: yup.string().min(MINIMUM_PASSWORD_CHAR_LENGTH) }), passwordConfirmation: yup.string().oneOf([yup.ref('password')], 'custom.passwordMatch') }); const mode = ref('editProfile'); const isEditingProfile = computed(() => mode.value === 'editProfile'); function close() { mode.value = 'editProfile'; emits('close'); } const { mutate, isError, isLoading } = useMutation(data => userApi.update({ user: data, defaultTeamId: data.defaultTeamId }), { onSuccess: response => { emits('update-user', response.data.user); close(); } }); function updateUser(values) { mutate(values); } function editProfilePicture(value) { mutate({ profilePicture: value }); } return (_ctx, _cache) => { const _component_inline_svg = _resolveComponent(\"inline-svg\"); const _component_base_button = _resolveComponent(\"base-button\"); const _component_base_vv_file_input = _resolveComponent(\"base-vv-file-input\"); const _component_base_vv_input = _resolveComponent(\"base-vv-input\"); const _component_base_vv_select = _resolveComponent(\"base-vv-select\"); const _component_v_form = _resolveComponent(\"v-form\"); const _component_base_modal = _resolveComponent(\"base-modal\"); return _openBlock(), _createBlock(_component_base_modal, { open: __props.open, title: _unref(isError) ? undefined : _ctx.$t(`user.${mode.value}`), \"with-close-option\": !_unref(isError), onClose: close }, { default: _withCtx(() => [_unref(isError) ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createVNode(_component_inline_svg, { src: require('assets/images/design-system-icons/fail.svg'), class: \"fill-rose-500\" }, null, 8, [\"src\"]), _createElementVNode(\"h2\", _hoisted_2, _toDisplayString(_ctx.$t('errors.default.title')), 1), _createElementVNode(\"p\", _hoisted_3, _toDisplayString(_ctx.$t('errors.default.subtitle')), 1), _createElementVNode(\"div\", _hoisted_4, [_createVNode(_component_base_button, { label: _ctx.$t('actions.ok'), onClick: close }, null, 8, [\"label\"])])])) : (_openBlock(), _createBlock(_component_v_form, { key: 1, \"validation-schema\": _unref(userSchema), \"initial-values\": _unref(userInitialValues), onSubmit: updateUser }, { default: _withCtx(({ meta, values }) => [_unref(isEditingProfile) ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, [_createElementVNode(\"div\", _hoisted_6, [_createElementVNode(\"div\", _hoisted_7, [_createElementVNode(\"figure\", _hoisted_8, [_createElementVNode(\"img\", { src: __props.currentUser.avatar, class: \"h-full w-full\" }, null, 8, _hoisted_9)]), _createVNode(_component_base_vv_file_input, { name: \"profilePicture\", \"onUpdate:modelValue\": _cache[0] || (_cache[0] = $event => mode.value = 'editPicture') }, { default: _withCtx(() => [_createElementVNode(\"p\", _hoisted_10, _toDisplayString(_ctx.$t('user.picture.edit')), 1)]), _: 1 }), _createElementVNode(\"button\", { class: \"text-rose-500 underline mt-1 text-left\", onClick: _cache[1] || (_cache[1] = $event => updateUser({ profilePicture: null })) }, _toDisplayString(_ctx.$t('user.picture.delete')), 1)]), _createElementVNode(\"div\", _hoisted_11, [_createVNode(_component_base_vv_input, { label: _ctx.$t('user.fields.userName'), name: \"username\" }, null, 8, [\"label\"]), _createVNode(_component_base_vv_input, { label: _ctx.$t('user.fields.email'), name: \"email\", disabled: \"\" }, null, 8, [\"label\"])])]), _createElementVNode(\"div\", _hoisted_12, [_createVNode(_component_base_vv_select, { options: _unref(userTeamsOptions), name: \"defaultTeamId\", label: _ctx.$t('user.fields.memberships') }, null, 8, [\"options\", \"label\"]), _createElementVNode(\"div\", _hoisted_13, [_createVNode(_component_base_vv_input, { label: _ctx.$t('user.fields.password'), name: \"password\", type: \"password\", class: \"flex-1\" }, null, 8, [\"label\"]), _createVNode(_component_base_vv_input, { label: _ctx.$t('user.fields.passwordConfirmation'), name: \"passwordConfirmation\", type: \"password\", class: \"flex-1\" }, null, 8, [\"label\"])])]), _createElementVNode(\"div\", _hoisted_14, [_createVNode(_component_base_button, { label: _ctx.$t('actions.cancel'), color: \"light-slate\", type: \"button\", class: \"sm:grow-0 grow mt-2 sm:mt-0\", onClick: _cache[2] || (_cache[2] = $event => _ctx.$emit('close')) }, null, 8, [\"label\"]), _createVNode(_component_base_button, { label: _ctx.$t('actions.save'), type: \"submit\", class: \"sm:grow-0 grow\", disabled: !meta.valid || !meta.dirty, loading: _unref(isLoading) }, null, 8, [\"label\", \"disabled\", \"loading\"])])])) : (_openBlock(), _createBlock(SidebarEditProfilePicture, { key: 1, \"profile-picture\": values.profilePicture, onCancel: _cache[3] || (_cache[3] = $event => mode.value = 'editProfile'), onSubmit: editProfilePicture }, null, 8, [\"profile-picture\"]))]), _: 1 }, 8, [\"validation-schema\", \"initial-values\"]))]), _: 1 }, 8, [\"open\", \"title\", \"with-close-option\"]); }; } });\n","import script from \"./sidebar-edit-profile-modal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./sidebar-edit-profile-modal.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, createElementVNode as _createElementVNode, withCtx as _withCtx, createVNode as _createVNode, toDisplayString as _toDisplayString, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment, createElementBlock as _createElementBlock } from \"vue\";\nconst _hoisted_1 = [\"src\"];\nconst _hoisted_2 = { class: \"flex items-center\" };\nconst _hoisted_3 = [\"src\"];\nconst _hoisted_4 = { class: \"ml-2 text-indigo-500 text-lg overflow-hidden text-ellipsis\" };\nconst _hoisted_5 = { class: \"text-teal-500 flex flex-col space-y-1\" };\nconst _hoisted_6 = [\"onClick\"];\nimport { Popover, PopoverButton, PopoverPanel } from '@headlessui/vue';\nimport { ref } from 'vue';\nimport { useMutation } from 'vue-query';\nimport SessionApi from 'api/session';\nimport LanguageSelect from 'components/nav-bar/language-select.vue';\nimport SidebarButton from './sidebar-button.vue';\nimport SidebarEditProfileModal from './sidebar-edit-profile-modal.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'sidebar-profile-button', props: { currentUser: null, userTeams: null }, setup(__props) { const props = __props; const updatedCurentUser = ref(props.currentUser); const isProfileModalOpen = ref(false); function openModal(close) { isProfileModalOpen.value = true; close(); } function updateUser(user) { updatedCurentUser.value = user; } const { mutateAsync, isLoading } = useMutation(SessionApi.signOut); async function signOut() { await mutateAsync(); window.location.replace('/'); } return (_ctx, _cache) => { const _component_inline_svg = _resolveComponent(\"inline-svg\"); return _openBlock(), _createElementBlock(_Fragment, null, [_createVNode(_unref(Popover), { class: \"relative flex flex-col\" }, { default: _withCtx(({ close }) => [_createVNode(SidebarButton, { is: _unref(PopoverButton), \"is-selected\": false, label: _ctx.$t('sidebar.profile'), \"has-chevron\": \"\" }, { default: _withCtx(() => [_createElementVNode(\"img\", { src: updatedCurentUser.value.avatar, class: \"h-5 w-5 rounded-full\" }, null, 8, _hoisted_1)]), _: 1 }, 8, [\"is\", \"label\"]), _createVNode(_unref(PopoverPanel), { class: \"p-3 bg-white border border-slate-300 rounded-md absolute w-full bottom-0 left-full ml-4 space-y-1 min-w-[192px]\" }, { default: _withCtx(() => [_createElementVNode(\"div\", _hoisted_2, [_createElementVNode(\"img\", { src: updatedCurentUser.value.avatar, class: \"h-5 w-5 rounded-full\" }, null, 8, _hoisted_3), _createElementVNode(\"p\", _hoisted_4, \" @\" + _toDisplayString(updatedCurentUser.value.username), 1)]), _createVNode(LanguageSelect), _createElementVNode(\"div\", _hoisted_5, [_createElementVNode(\"button\", { class: \"text-left hover:underline\", onClick: $event => openModal(close) }, _toDisplayString(_ctx.$t('actions.edit')), 9, _hoisted_6), _createElementVNode(\"button\", { class: \"text-left hover:underline flex items-center gap-1\", onClick: _cache[0] || (_cache[0] = () => signOut()) }, [_createElementVNode(\"span\", null, _toDisplayString(_ctx.$t('user.signOut')), 1), _unref(isLoading) ? (_openBlock(), _createBlock(_component_inline_svg, { key: 0, src: require('assets/images/design-system-icons/loader.svg'), class: \"fill-current h-5 w-5\" }, null, 8, [\"src\"])) : _createCommentVNode(\"\", true)])])]), _: 2 }, 1024)]), _: 1 }), _createVNode(SidebarEditProfileModal, { open: isProfileModalOpen.value, \"current-user\": updatedCurentUser.value, \"user-teams\": __props.userTeams, onClose: _cache[1] || (_cache[1] = $event => isProfileModalOpen.value = false), onUpdateUser: updateUser }, null, 8, [\"open\", \"current-user\", \"user-teams\"])], 64); }; } });\n","import script from \"./sidebar-profile-button.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./sidebar-profile-button.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, createElementVNode as _createElementVNode, withCtx as _withCtx, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createBlock as _createBlock } from \"vue\";\nconst _hoisted_1 = [\"src\"];\nconst _hoisted_2 = { class: \"w-5 h-5 rounded-full overflow-hidden shrink-0\" };\nconst _hoisted_3 = [\"src\"];\nconst _hoisted_4 = { class: \"overflow-hidden text-ellipsis whitespace-nowrap\" };\nimport { Popover, PopoverButton, PopoverPanel } from '@headlessui/vue';\nimport SidebarButton from './sidebar-button.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'sidebar-teams-button', props: { currentTeam: null, teams: null }, setup(__props) { return (_ctx, _cache) => { return _openBlock(), _createBlock(_unref(Popover), { class: \"relative\" }, { default: _withCtx(() => [_createVNode(SidebarButton, { is: _unref(PopoverButton), label: __props.currentTeam.name, \"is-selected\": false, \"has-chevron\": \"\" }, { default: _withCtx(() => [_createElementVNode(\"img\", { src: __props.currentTeam.logoUrl, class: \"w-5 h-5 rounded-full\" }, null, 8, _hoisted_1)]), _: 1 }, 8, [\"is\", \"label\"]), _createVNode(_unref(PopoverPanel), { class: \"p-1.5 bg-white border border-slate-300 rounded-md absolute w-full bottom-0 left-full ml-4 space-y-1 min-w-[192px] list-none\", as: \"ul\" }, { default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(__props.teams, team => { return _openBlock(), _createElementBlock(\"li\", { key: team.id }, [_createVNode(_unref(PopoverButton), { as: \"a\", class: _normalizeClass([\"flex space-x-1.5 px-1.5 py-1 w-full items-center\", __props.currentTeam.id === team.id ? 'bg-slate-200 hover:bg-slate-300' : 'hover:bg-slate-200']), href: `/teams/${team.id}/document_templates` }, { default: _withCtx(() => [_createElementVNode(\"figure\", _hoisted_2, [_createElementVNode(\"img\", { src: team.logoUrl, class: \"w-full h-full\" }, null, 8, _hoisted_3)]), _createElementVNode(\"p\", _hoisted_4, _toDisplayString(team.name), 1)]), _: 2 }, 1032, [\"class\", \"href\"])]); }), 128))]), _: 1 })]), _: 1 }); }; } });\n","import script from \"./sidebar-teams-button.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./sidebar-teams-button.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, resolveComponent as _resolveComponent, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createBlock as _createBlock, normalizeClass as _normalizeClass } from \"vue\";\nconst _hoisted_1 = { key: 0, class: \"text-slate-600 text-xl flex mb-4\" };\nconst _hoisted_2 = { class: \"space-y-2 flex-1 flex flex-col\" };\nimport { inject } from 'vue';\nimport SidebarButtonLink from 'components/design-system/sidebar-button-link.vue';\nimport SidebarProfileButton from './sidebar-profile-button.vue';\nimport SidebarTeamsButton from './sidebar-teams-button.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'the-sidebar', props: { currentUser: null, currentTeam: null, userTeams: null }, setup(__props) { const largerThanLg = inject('largerThanLg'); const isSidebarOpen = inject('isSidebarOpen'); const toggleSidebar = inject('toggleSidebar'); const items = [{ id: 'meetings', href: 'document_templates', iconSrc: require('assets/images/design-system-icons/dashboard.svg'), isNew: false }, { id: 'users', href: 'users', iconSrc: require('assets/images/design-system-icons/organization.svg'), isNew: false }, { id: 'integrations', href: 'integrations', iconSrc: require('assets/images/design-system-icons/hub.svg'), isNew: false }]; return (_ctx, _cache) => { const _component_inline_svg = _resolveComponent(\"inline-svg\"); return _unref(isSidebarOpen) ? (_openBlock(), _createElementBlock(\"nav\", { key: 0, class: _normalizeClass([\"bg-slate-100 p-2 space-y-2 flex flex-col\", { 'fixed inset-y-0 right-0 z-50 shadow-lg w-5/6': !_unref(largerThanLg) }]) }, [!_unref(largerThanLg) ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createElementVNode(\"p\", null, _toDisplayString(_ctx.$t('sidebar.title')), 1), _createElementVNode(\"button\", { class: \"ml-auto\", onClick: _cache[0] || (_cache[0] = $event => _unref(toggleSidebar)?.()) }, [_createVNode(_component_inline_svg, { class: \"fill-slate-600 h-7 w-7\", src: require('assets/images/design-system-icons/close.svg') }, null, 8, [\"src\"])])])) : _createCommentVNode(\"\", true), _createElementVNode(\"div\", _hoisted_2, [(_openBlock(), _createElementBlock(_Fragment, null, _renderList(items, item => { return _createVNode(SidebarButtonLink, { key: item.id, item: item, \"is-new\": item.isNew }, null, 8, [\"item\", \"is-new\"]); }), 64))]), __props.currentTeam ? (_openBlock(), _createBlock(SidebarTeamsButton, { key: 1, \"current-team\": __props.currentTeam, teams: __props.userTeams }, null, 8, [\"current-team\", \"teams\"])) : _createCommentVNode(\"\", true), _createVNode(SidebarProfileButton, { \"current-user\": __props.currentUser, \"user-teams\": __props.userTeams }, null, 8, [\"current-user\", \"user-teams\"])], 2)) : _createCommentVNode(\"\", true); }; } });\n","import script from \"./the-sidebar.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./the-sidebar.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { resolveComponent as _resolveComponent, createVNode as _createVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\";\nconst _hoisted_1 = { class: \"flex flex-col p-8 sm:px-24 sm:py-8 overflow-hidden\" };\nconst _hoisted_2 = { href: \"/\", class: \"flex items-center justify-center w-16 h-9 bg-slate-100 rounded mb-5\" };\nconst _hoisted_3 = { class: \"flex flex-row mb-10 items-end\" };\nconst _hoisted_4 = { class: \"text-2xl font-bold text-slate-600\" };\nconst _hoisted_5 = { class: \"ml-2 text-slate-500\" };\nconst _hoisted_6 = { key: 0, class: \"flex-1 overflow-y-auto space-y-2.5\" };\nimport { ref } from 'vue';\nimport useFormattedRecurrence from 'composables/useFormattedRecurrenceDate';\nimport DocumentsListItem from '../design-system/documents-list-item.vue';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'documents', props: { documents: null, documentTemplate: null }, setup(__props) { const props = __props; const recurrenceLabel = useFormattedRecurrence(props.documentTemplate); const mutableDocuments = ref(props.documents); function destroyDocument(id) { mutableDocuments.value = mutableDocuments.value.filter(document => document.id !== id); } return (_ctx, _cache) => { const _component_inline_svg = _resolveComponent(\"inline-svg\"); return _openBlock(), _createElementBlock(\"div\", _hoisted_1, [_createElementVNode(\"a\", _hoisted_2, [_createVNode(_component_inline_svg, { src: require('assets/images/design-system-icons/back-arrow.svg'), class: \"h-4 w-4 fill-slate-600\" }, null, 8, [\"src\"])]), _createElementVNode(\"div\", _hoisted_3, [_createElementVNode(\"p\", _hoisted_4, _toDisplayString(props.documentTemplate.name), 1), _createElementVNode(\"p\", _hoisted_5, _toDisplayString(_unref(recurrenceLabel)), 1)]), __props.documents.length > 0 ? (_openBlock(), _createElementBlock(\"ul\", _hoisted_6, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(mutableDocuments.value, document => { return _openBlock(), _createBlock(DocumentsListItem, { key: document.id, document: document, metrics: ['announcements', 'comments'], \"document-template\": __props.documentTemplate, \"show-actions\": \"\", onDestroyDocument: destroyDocument }, null, 8, [\"document\", \"document-template\"]); }), 128))])) : _createCommentVNode(\"\", true)]); }; } });\n","import script from \"./documents.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./documents.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { decamelizeKeys } from 'humps';\nexport function generateSlackOAuthV2Url({ teamId, redirectPath, scopes }) { const queryParams = new URLSearchParams(decamelizeKeys({ clientId: process.env.SLACK_CLIENT_ID, redirectUri: new URL(redirectPath, process.env.APPLICATION_HOST).toString(), scope: scopes.join(','), state: JSON.stringify(decamelizeKeys({ teamId })) })); return `https://slack.com/oauth/v2/authorize?${queryParams.toString()}`; }\n","import { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, unref as _unref, withCtx as _withCtx, createVNode as _createVNode, resolveComponent as _resolveComponent, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveDynamicComponent as _resolveDynamicComponent, mergeProps as _mergeProps, createBlock as _createBlock, createCommentVNode as _createCommentVNode, Transition as _Transition } from \"vue\";\nconst _hoisted_1 = { key: 0, class: \"absolute bottom-0 left-1/2 -translate-x-1/2 rounded-t-lg flex flex-col items-center justify-center p-4 space-x-4 bg-indigo-100 text-indigo-500 border-x border-t border-indigo-500\" };\nconst _hoisted_2 = { class: \"text-lg font-semibold text-center\" };\nimport { ref } from 'vue';\nimport { Popover, PopoverButton, PopoverPanel } from '@headlessui/vue';\nimport compact from 'lodash/compact';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'integrations-feedback', setup(__props) { const FEEDBACK_EMAIL = process.env.FEEDBACK_EMAIL; const VISIBILITY_TIMEOUT = 1500; const isVisible = ref(false); setTimeout(() => isVisible.value = true, VISIBILITY_TIMEOUT); const channels = compact([{ id: 'email', href: `mailto:${FEEDBACK_EMAIL}?subject=I have an idea / feedback for Mute integrations` }, { id: 'slack', href: 'https://platanus.slack.com/team/U01H5U209JP' }, { id: 'meeting', href: 'https://cal.platan.us/team/mute/30-min' }, { id: 'chat', onClick: () => document.querySelector('.woot-widget-bubble')?.click() }]); return (_ctx, _cache) => { const _component_i18n_t = _resolveComponent(\"i18n-t\"); return _openBlock(), _createBlock(_Transition, { \"enter-active-class\": \"transition duration-200 ease-out\", \"enter-from-class\": \"opacity-0\", \"enter-to-class\": \"opacity-100\" }, { default: _withCtx(() => [isVisible.value ? (_openBlock(), _createElementBlock(\"li\", _hoisted_1, [_createElementVNode(\"h3\", _hoisted_2, _toDisplayString(_ctx.$t('integrations.feedback.header')), 1), _createVNode(_unref(Popover), { class: \"relative text-indigo-500\" }, { default: _withCtx(() => [_createVNode(_component_i18n_t, { class: \"text-sm\", tag: \"p\", keypath: \"integrations.feedback.subheader\", for: \"integrations.feedback.callToAction\" }, { default: _withCtx(() => [_createVNode(_unref(PopoverButton), { class: \"text-teal-500 underline\" }, { default: _withCtx(() => [_createTextVNode(_toDisplayString(_ctx.$t('integrations.feedback.callToAction')), 1)]), _: 1 })]), _: 1 }), _createVNode(_unref(PopoverPanel), { as: \"ul\", class: \"flex flex-col absolute bottom-full mb-2 left-0 bg-white border border-slate-300 rounded-md\" }, { default: _withCtx(() => [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(channels), channel => { return _openBlock(), _createElementBlock(\"li\", { key: channel.id, class: \"flex flex-col\" }, [(_openBlock(), _createBlock(_resolveDynamicComponent(channel.href ? 'a' : 'button'), _mergeProps({ class: \"px-1.5 py-1 text-left hover:underline text-teal-500\", href: channel.href }, { onClick: channel.onClick, target: channel.href ? '_blank' : undefined, rel: channel.href ? 'noopener noreferer' : undefined }), { default: _withCtx(() => [_createTextVNode(_toDisplayString(_ctx.$t(`integrations.feedback.channels.${channel.id}`)), 1)]), _: 2 }, 1040, [\"href\"]))]); }), 128))]), _: 1 })]), _: 1 })])) : _createCommentVNode(\"\", true)]), _: 1 }); }; } });\n","import script from \"./integrations-feedback.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./integrations-feedback.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, unref as _unref, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, resolveComponent as _resolveComponent, createVNode as _createVNode, withCtx as _withCtx, createBlock as _createBlock, createCommentVNode as _createCommentVNode } from \"vue\";\nconst _hoisted_1 = { class: \"px-8 py-12 lg:mx-32 h-full space-y-6\" };\nconst _hoisted_2 = { class: \"text-xl text-slate-600\" };\nconst _hoisted_3 = { class: \"space-y-4\" };\nconst _hoisted_4 = { class: \"h-12 w-12 rounded-full overflow-hidden\" };\nconst _hoisted_5 = [\"src\"];\nconst _hoisted_6 = { class: \"flex flex-col flex-1\" };\nconst _hoisted_7 = { class: \"flex items-center space-x-2\" };\nconst _hoisted_8 = { class: \"text-xl font-medium text-slate-800\" };\nconst _hoisted_9 = { class: \"bg-indigo-50 border border-indigo-500 px-1 py-0.5 text-indigo-500 rounded-lg text-xs\" };\nconst _hoisted_10 = { class: \"text-sm text-slate-500\" };\nconst _hoisted_11 = { class: \"text-left p-2 space-y-2\" };\nconst _hoisted_12 = { class: \"list-outside list-disc pl-4 space-y-2\" };\nimport en from 'locales/en';\nimport { generateSlackOAuthV2Url } from 'utils/slack';\nimport IntegrationsFeedback from 'components/design-system/integrations-feedback.vue';\nimport times from 'lodash/times';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'integrations', props: { team: null }, setup(__props) { const props = __props; const integrations = [{ id: 'slack', iconSrc: 'https://a.slack-edge.com/80588/marketing/img/meta/slack_hash_256.png', href: generateSlackOAuthV2Url({ teamId: props.team.id, redirectPath: 'slack/emojis/resolve', scopes: ['emoji:read'] }) }]; return (_ctx, _cache) => { const _component_inline_svg = _resolveComponent(\"inline-svg\"); const _component_v_tooltip = _resolveComponent(\"v-tooltip\"); const _component_base_button = _resolveComponent(\"base-button\"); return _openBlock(), _createElementBlock(\"main\", _hoisted_1, [_createElementVNode(\"h2\", _hoisted_2, _toDisplayString(_ctx.$t('integrations.title')), 1), _createElementVNode(\"ul\", _hoisted_3, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(integrations), integration => { return _openBlock(), _createElementBlock(\"li\", { key: integration.id, class: \"flex items-center border border-slate-200 p-4 space-x-4\" }, [_createElementVNode(\"figure\", _hoisted_4, [_createElementVNode(\"img\", { src: integration.iconSrc }, null, 8, _hoisted_5)]), _createElementVNode(\"div\", _hoisted_6, [_createElementVNode(\"div\", _hoisted_7, [_createElementVNode(\"h3\", _hoisted_8, _toDisplayString(_ctx.$t(`integrations.${integration.id}.title`)), 1), _createElementVNode(\"span\", _hoisted_9, _toDisplayString(_ctx.$t(`integrations.beta`)), 1)]), _createElementVNode(\"p\", _hoisted_10, _toDisplayString(_ctx.$t(`integrations.${integration.id}.subtitle`)), 1)]), _unref(en).integrations[integration.id].notes ? (_openBlock(), _createBlock(_component_v_tooltip, { key: 0 }, { popper: _withCtx(() => [_createElementVNode(\"div\", _hoisted_11, [_createElementVNode(\"p\", null, _toDisplayString(_ctx.$t(`integrations.${integration.id}.noteLabel`)), 1), _createElementVNode(\"ul\", _hoisted_12, [(_openBlock(true), _createElementBlock(_Fragment, null, _renderList(_unref(times)(_unref(en).integrations[integration.id].notes.length), noteIndex => { return _openBlock(), _createElementBlock(\"li\", { key: noteIndex }, _toDisplayString(_ctx.$t(`integrations.${integration.id}.notes.${noteIndex}`)), 1); }), 128))])])]), default: _withCtx(() => [_createElementVNode(\"button\", null, [_createVNode(_component_inline_svg, { class: \"h-6 w-6 fill-slate-500\", src: require('assets/images/design-system-icons/info.svg') }, null, 8, [\"src\"])])]), _: 2 }, 1024)) : _createCommentVNode(\"\", true), _createVNode(_component_base_button, { label: _ctx.$t(`integrations.${integration.id}.action`), color: \"teal\", href: integration.href }, null, 8, [\"label\", \"href\"])]); }), 128))]), _createVNode(IntegrationsFeedback)]); }; } });\n","import script from \"./integrations.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./integrations.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import { defineComponent as _defineComponent } from 'vue';\nimport { unref as _unref, resolveComponent as _resolveComponent, openBlock as _openBlock, createBlock as _createBlock } from \"vue\";\nimport { computed } from 'vue';\nimport { useRouter } from 'vue-router';\nimport { regexPatterns } from '../utils/regexs';\nexport default /*#__PURE__*/ _defineComponent({ __name: 'back-button', setup(__props) { const announcementsDashboardPath = '/document_templates#/'; const router = useRouter(); function getHrefWithoutOrigin(currentHref) { return currentHref.replace(regexPatterns.applicationHostRegex, ''); } function returnToSectionView() { return window.location.href.split('sections')[0]; } function returnToRootDocumentView() { return window.location.origin + announcementsDashboardPath; } const currentUrl = computed(() => router.currentRoute.value.fullPath); const currentPath = computed(() => getHrefWithoutOrigin(currentUrl.value)); const checkIfUserIsInsideSectionView = computed(() => currentPath.value.includes('sections')); const checkIfUserIsInMainDashboard = computed(() => currentPath.value === '/'); const backHref = computed(() => { if (checkIfUserIsInsideSectionView.value) {\n return returnToSectionView();\n }\n else if (checkIfUserIsInMainDashboard.value) {\n return returnToRootDocumentView();\n } return currentUrl.value; }); return (_ctx, _cache) => { const _component_base_button = _resolveComponent(\"base-button\"); return _openBlock(), _createBlock(_component_base_button, { class: \"w-11\", color: \"pale-slate\", \"left-icon-src\": require('../../assets/images/icons/back-arrow-no-fill.svg'), href: _unref(backHref) }, null, 8, [\"left-icon-src\", \"href\"]); }; } });\n","import script from \"./back-button.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./back-button.vue?vue&type=script&setup=true&lang=ts\"\n\nconst __exports__ = script;\n\nexport default __exports__","import debounce from 'lodash/debounce';\n\nimport 'vue-multiselect/dist/vue-multiselect.css';\nimport 'floating-vue/dist/style.css';\n\nimport { createApp, provide, ref } from 'vue';\nimport { breakpointsTailwind, useBreakpoints } from '@vueuse/core';\nimport { VueQueryPlugin } from 'vue-query';\nimport Notifications from '@kyvg/vue3-notification';\nimport ActionCableVue from 'actioncable-vue';\nimport InlineSvg from 'vue-inline-svg';\nimport { ObserveVisibility } from 'vue-observe-visibility';\nimport { camelizeKeys } from 'humps';\nimport FloatingVue from 'floating-vue';\nimport vClickOutside from 'click-outside-vue3';\nimport VueZoomer from 'vue-zoomer';\nimport { Form } from 'vee-validate';\n\nimport './config/yup';\nimport i18n from './plugins/i18n';\nimport notification from './plugins/notification';\nimport store from './store';\nimport router from './router';\n\nimport Meeting from './views/meeting.vue';\nimport DocumentsDeprecated from './views/documents-deprecated.vue';\nimport Sessions from './views/sessions.vue';\nimport SignUp from './views/sign-up.vue';\nimport SignIn from './views/sign-in.vue';\nimport ForgotPassword from './views/forgot-password.vue';\nimport EditPassword from './views/edit-password.vue';\nimport EditDocument from './views/edit-document.vue';\nimport LandingPage from './views/landing-page.vue';\nimport DocumentTemplates from './views/document-templates.vue';\nimport NoTeams from './views/no-teams.vue';\nimport NewTemplate from './views/new-template.vue';\nimport EditTemplate from './views/edit-template.vue';\nimport Users from './views/users.vue';\nimport DocumentTemplate from './views/document-template.vue';\n\nimport MuteInput from './components/shared/mute-input.vue';\nimport MuteVvInput from './components/shared/vee-validate/mute-vv-input.vue';\nimport MuteButton from './components/shared/mute-button.vue';\nimport MuteCtaButton from './components/shared/mute-cta-button.vue';\nimport IconButton from './components/shared/icon-button.vue';\nimport MuteDivider from './components/shared/mute-divider.vue';\nimport MuteCheckbox from './components/shared/mute-checkbox.vue';\nimport MuteVvCheckbox from './components/shared/vee-validate/mute-vv-checkbox.vue';\nimport MuteRadio from './components/shared/mute-radio.vue';\nimport MuteVvRadio from './components/shared/vee-validate/mute-vv-radio.vue';\nimport MuteSwitch from './components/shared/mute-switch.vue';\nimport MuteMultiselect from './components/shared/mute-multiselect.vue';\nimport MuteVvMultiselect from './components/shared/vee-validate/mute-vv-multiselect.vue';\nimport MuteSelect from './components/shared/mute-select.vue';\nimport MuteVvSelect from './components/shared/vee-validate/mute-vv-select.vue';\nimport MuteAvatar from './components/shared/mute-avatar.vue';\nimport MuteChip from './components/shared/mute-chip.vue';\nimport MuteLogo from './components/shared/mute-logo.vue';\nimport MuteTag from './components/shared/mute-tag.vue';\nimport MuteBanner from './components/shared/mute-banner.vue';\nimport MuteNotification from './components/shared/mute-notification.vue';\nimport MutePill from './components/shared/mute-pill.vue';\nimport DatePicker from './components/shared/date-picker.vue';\nimport NavBar from './components/shared/nav-bar.vue';\nimport FlashMessage from './components/shared/flash.vue';\nimport BaseModal from './components/shared/base-modal.vue';\nimport { initializeAmplitude } from './helpers/amplitude';\n\n// new design system components\nimport BaseInput from './components/design-system/base-input.vue';\nimport BaseSelect from './components/design-system/base-select.vue';\nimport BaseFileInput from './components/design-system/base-file-input.vue';\nimport BaseVvFileInput from './components/design-system/base-vv-file-input.vue';\nimport BaseVvInput from './components/design-system/base-vv-input.vue';\nimport BaseVvSelect from './components/design-system/base-vv-select.vue';\nimport BaseButton from './components/design-system/base-button.vue';\nimport BaseCheckbox from './components/design-system/base-checkbox.vue';\nimport BaseVvCheckbox from './components/design-system/base-vv-checkbox.vue';\nimport BaseRadio from './components/design-system/base-radio.vue';\nimport BaseVvRadio from './components/design-system/base-vv-radio.vue';\nimport BaseToggle from './components/design-system/base-toggle.vue';\nimport BaseVvToggle from './components/design-system/base-vv-toggle.vue';\nimport TheNavbar from './components/design-system/the-navbar.vue';\nimport TheMeetingNavbar from './components/design-system/the-meeting-navbar.vue';\nimport TheSearchbar from './components/design-system/the-searchbar.vue';\nimport TheSidebar from './components/design-system/the-sidebar.vue';\nimport Documents from './components/design-system/documents.vue';\nimport Integrations from './views/integrations.vue';\n\nimport BackButton from './components/back-button.vue';\n\nimport './css/application.css';\nimport './../assets/stylesheets/tooltip.scss';\n\nconst DEBOUNCE_TIMER = 50;\n\nwindow.addEventListener('resize',\n debounce(() => {\n store.dispatch('setWindowWidth', window.innerWidth);\n }, DEBOUNCE_TIMER));\n// eslint-disable-next-line max-statements\ndocument.addEventListener('DOMContentLoaded', () => {\n initializeAmplitude();\n\n const app = createApp({\n components: {\n Meeting,\n DocumentsDeprecated,\n Sessions,\n SignUp,\n SignIn,\n ForgotPassword,\n EditDocument,\n EditPassword,\n LandingPage,\n DocumentTemplates,\n NoTeams,\n NewTemplate,\n EditTemplate,\n Users,\n NavBar,\n TheNavbar,\n TheMeetingNavbar,\n FlashMessage,\n TheSidebar,\n DocumentTemplate,\n Documents,\n Integrations,\n },\n setup() {\n const breakpoints = useBreakpoints(breakpointsTailwind);\n const largerThanLg = breakpoints.greater('lg');\n const isSidebarOpen = ref(largerThanLg.value);\n provide('largerThanLg', largerThanLg);\n provide('isSidebarOpen', isSidebarOpen);\n provide('toggleSidebar', () => {\n isSidebarOpen.value = !isSidebarOpen.value;\n });\n },\n });\n\n app.use(store);\n app.use(router);\n app.use(i18n);\n app.use(notification, { store });\n app.use(ActionCableVue, {\n connectionUrl: '/cable',\n connectImmediately: true,\n store,\n });\n app.use(Notifications);\n app.use(FloatingVue);\n app.use(vClickOutside);\n app.use(VueZoomer);\n app.use(VueQueryPlugin);\n\n app.component('InlineSvg', InlineSvg)\n .component('TheSearchbar', TheSearchbar)\n .component('MuteInput', MuteInput)\n .component('MuteVvInput', MuteVvInput)\n .component('MuteButton', MuteButton)\n .component('MuteCtaButton', MuteCtaButton)\n .component('IconButton', IconButton)\n .component('MuteDivider', MuteDivider)\n .component('MuteCheckbox', MuteCheckbox)\n .component('MuteVvCheckbox', MuteVvCheckbox)\n .component('MuteRadio', MuteRadio)\n .component('MuteVvRadio', MuteVvRadio)\n .component('MuteSwitch', MuteSwitch)\n .component('MuteMultiselect', MuteMultiselect)\n .component('MuteVvMultiselect', MuteVvMultiselect)\n .component('MuteChip', MuteChip)\n .component('MuteLogo', MuteLogo)\n .component('MuteTag', MuteTag)\n .component('MuteBanner', MuteBanner)\n .component('MuteNotification', MuteNotification)\n .component('MutePill', MutePill)\n .component('MuteAvatar', MuteAvatar)\n .component('MuteSelect', MuteSelect)\n .component('MuteVvSelect', MuteVvSelect)\n .component('DatePicker', DatePicker)\n .component('VForm', Form)\n .component('BaseModal', BaseModal)\n .component('BaseSelect', BaseSelect)\n .component('BaseInput', BaseInput)\n .component('BaseFileInput', BaseFileInput)\n .component('BaseVvFileInput', BaseVvFileInput)\n .component('BaseVvSelect', BaseVvSelect)\n .component('BaseVvInput', BaseVvInput)\n .component('BaseButton', BaseButton)\n .component('BaseCheckbox', BaseCheckbox)\n .component('BaseVvCheckbox', BaseVvCheckbox)\n .component('BaseRadio', BaseRadio)\n .component('BaseVvRadio', BaseVvRadio)\n .component('BaseToggle', BaseToggle)\n .component('BaseVvToggle', BaseVvToggle)\n .component('BackButton', BackButton);\n\n app.directive('observe-visibility', ObserveVisibility);\n\n app.config.globalProperties.$filters = {\n camelizeKeys,\n };\n\n app.mount('#vue-app');\n\n return app;\n});\n","/* eslint-disable no-undef */\nconst { slate, indigo, rose } = require('tailwindcss/colors');\n\nconst customGreen = {\n '100': '#e6f6f2',\n '200': '#bfe9dd',\n '300': '#99dcc9',\n '400': '#4dc2a1',\n '500': '#00a878',\n '600': '#00976c',\n '700': '#007e5a',\n '800': '#006548',\n '900': '#00523b',\n};\n\nmodule.exports = {\n theme: {\n extend: {\n zIndex: {\n '-1': -1,\n },\n colors: {\n black: '#040F25',\n gray: slate,\n purple: indigo,\n green: customGreen,\n red: rose,\n },\n minHeight: {\n '16': '4rem',\n '24': '6rem',\n },\n minWidth: {\n '16': '4rem',\n '24': '6rem',\n },\n width: {\n '98': '30rem',\n },\n typography: {\n DEFAULT: {\n css: {\n h1: {\n '@apply text-xl font-bold text-purple-500': {},\n },\n h2: {\n '@apply text-lg font-bold text-purple-500': {},\n },\n h3: {\n '@apply text-base font-bold text-purple-500': {},\n },\n h4: {\n '@apply text-sm font-bold text-purple-500': {},\n },\n h5: {\n '@apply text-xs font-bold text-purple-500': {},\n },\n h6: {\n '@apply text-xs font-bold text-black': {},\n },\n p: {\n '@apply text-sm text-black': {},\n },\n em: {\n '@apply text-sm text-black': {},\n },\n strong: {\n '@apply text-sm text-black': {},\n },\n blockquote: {\n '@apply border-l-4 border-purple-500': {},\n },\n a: {\n '@apply text-purple-500 text-sm': {},\n },\n 'ul > li::before': {\n '@apply bg-purple-500': {},\n },\n 'ol > li::before': {\n '@apply text-purple-500': {},\n },\n 'code': {\n '@apply text-sm text-purple-500 font-normal p-1 bg-gray-100 rounded-sm': {},\n },\n 'code::before': {\n content: '\"\"',\n },\n 'code::after': {\n content: '\"\"',\n },\n pre: {\n '@apply text-purple-500 font-normal text-sm bg-gray-100': {},\n },\n '.highlight': {\n '@apply bg-gray-100 p-1 rounded-sm': {},\n },\n hr: {\n '@apply text-gray-400 border-t': {},\n },\n\n },\n },\n },\n },\n },\n variants: {\n borderWidth: ['responsive', 'focus'],\n display: ['responsive', 'group-hover'],\n extends: {\n border: ['last'],\n rounded: ['last', 'first'],\n },\n },\n plugins: [require('@tailwindcss/typography')],\n content: [\n './app/**/*.html',\n './app/**/*.vue',\n './app/**/*.js',\n './app/**/*.erb',\n ],\n};\n"],"names":["map","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","Error","code","keys","Object","resolve","module","exports","yup","siblingKey","message","this","test","value","context","parent","mentionNotifications","createAnnouncement","announcement","getters","body","author","sectionId","isUsernameInMessage","data","username","authorImg","avatar","announcementId","type","text","createComment","comment","getSectionIdByAnnouncementId","documentConfigurationNotifications","updateDocumentConfiguration","object","entries","filter","configName","newValue","getter","changedConfiguration","enabled","notificationDataGetters","showNotification","notificationData","isArray","forEach","notify","handleNotification","action","store","notificationPlugin","install","app","config","globalProperties","$showNotification","reaction","schema","reactions","comments","section","announcements","user","documentConfiguration","document","sections","users","getDocument","documentId","api","method","url","createDocument","documentTemplateId","then","response","updateDocument","destroyDocument","getMetrics","getSectionIdFromAnnouncementId","values","find","sec","includes","Number","getSavedAnnouncementIndex","state","payload","savedAnnouncementsByDocument","findIndex","item","removeSavedAnnouncement","splice","announcementIndex","length","initialState","windowWidth","window","innerWidth","onSearchPage","fullConfig","resolveConfig","tailwindConfig","hasLargeScreen","parseInt","theme","screens","lg","replace","documentGetters","anyFilterToggled","pickBy","filteredSectionAnnouncements","_getters","_state","rootState","tiptapHtml","mention","DOMParser","parseFromString","querySelector","Boolean","isUserMentionedInHtml","actions","commit","documentApi","normalizedData","normalize","schemas","entities","documents","logCheckOldMuteEvent","team","teamId","setDocumentId","createSection","setWindowWidth","toggleOnSearchPage","mutations","setDocument","setSections","updateSection","setOnSearchPage","taggedMessages","some","setMutedNotifications","index","notification","updateCommentsNotificated","commentsNotificated","push","String","updateAnnouncementsNotificated","announcementsNotificated","setNotificationsAllowed","notificationsAllowed","mutedSections","mutedAnnouncements","toggleNotification","updateNotifications","documentConfigurationId","filterTaggedMessages","filterCreatedAnnouncements","filterCreatedComments","filterTags","filteredAnnouncementsByTags","tagList","tags","intersection","tagIntersection","filteredAnnouncements","assignIn","createdAnnouncements","createdComments","newSections","cloneDeep","filtered","draftComment","threadId","draft","draftComments","content","draftCommentsCount","_documentGetters","email","dispatch","toString","root","updateAnnouncement","destroyAnnouncement","commentId","updateComment","destroyComment","createReaction","parentTextType","destroyReaction","toggleSavedAnnouncement","setDraftComment","setAnnouncements","setComments","setReactions","addAnnouncement","indexOf","addComment","updateReaction","addCommentReaction","parentTextId","destroyCommentReaction","addAnnouncementReaction","destroyAnnouncementReaction","addSavedAnnouncement","destroySavedAnnouncement","newPayload","modules","commentsAllowed","announcementsAllowed","configuration","toggleAnnouncements","documentConfigurationApi","toggleComments","setDocumentConfiguration","unreadAnnouncements","unreadComments","allowUnreadMessages","getUnreadMessages","unreadMessagesApi","markSectionAsRead","markAnnouncementAsRead","toggleUnreadMessages","setUnreads","unreadMessages","reduce","acc","sectionAnnouncements","unread","concat","updateUnreadAnnouncements","c","updateUnreadComments","setAllowUnreadMessages","unreadCount","sectionIndex","u","totalUnreadCount","allowedUnreadAnnouncements","unreadAnnouncement","unreadComment","notifications","hiddenAnnouncements","hiddenSections","resetHiddenAnnouncements","toggleHiddenSection","toggleHiddenAnnouncement","emptyHiddenAnnouncements","setHiddenSections","isVisible","isOnTop","setHiddenAnnouncements","toggleTagFilter","toggleCreatedAnnouncementsFilter","toggleCreatedCommentsFilter","setTagsFilter","newTags","usersReady","updateUserPosition","userPosition","updateUserReady","userReady","setUsers","position","ready","merge","m","show","left","top","lastOpenDateTime","customEmojis","loaded","emojiIndex","EmojiIndex","forceShow","openEmojiPicker","Date","closeEmojiPicker","getCustomEmojis","customEmojisApi","emojis","emoji","name","shortNames","emoticons","keywords","imageUrl","finally","forceEmojiLoading","setEmojiPicker","setCustomEmojis","custom","setForceShow","getEmoji","skin","_emojis","emojiSkins","isNil","_skins","emojiSkin","colons","skinColons","split","setUser","featuresSeenAt","locale","setUserId","userId","setAvatar","userAvatar","setUsername","userName","setFeaturesSeenAt","userFeaturesSeenAt","setLocale","userLocale","setId","setEmail","i18n","getTeams","batchDestroyUsersFromTeam","removeRoleFromUser","roleName","addRoleToUser","teams","setTeam","async","tagsApi","tag","setTeams","teamsApi","assign","setTagList","union","setTeamId","vuexLocalStorage","VuexPersist","key","storage","localStorage","reducer","vuexSessionStorage","sessionStorage","createStore","plugins","plugin","class","script","_createElementBlock","_hoisted_1","_createVNode","_component_inline_svg","src","require","props","backUrl","default","documentName","editDocumentId","pageTitle","emits","computed","goToHome","location","href","applicationHostRegex","_createElementVNode","_hoisted_2","_hoisted_3","$options","_ctx","_hoisted_5","onClick","$props","_hoisted_6","_renderSlot","$store","readyStatusAllowed","usersInSession","participants","_hoisted_4","components","RichContent","mapState","instructions","_createBlock","_component_base_modal","title","_component_rich_content","__name","setup","__props","videoUrl","isInstructionsModalOpen","ref","_cache","_component_base_button","data_testId","$event","$t","target","color","label","open","onClose","NavActions","TopicsBar","documentInstructions","LoadingOverlay","SecondaryBar","DocumentStatus","MobileModal","_component_topics_bar","onHideMobileModal","_component_nav_actions","required","documentTitle","showModalMobile","loading","selectedSection","selectedSectionId","$route","params","selectedAnnouncementId","selectedSectionTitle","unreadMessagesCount","messages","keyBy","reactionNames","emojiColons","authors","preloadableContent","urlsToPreload","array","regex","RegExp","urls","flatMap","string","Array","from","matchAll","match","Set","getPreloadableUrls","watch","newCount","oldCount","pastTitle","mounted","$cable","subscribe","channel","setTimeout","methods","changeMobileModal","channels","DocumentChannel","received","camelizeKeys","camelize","_component_loading_overlay","_component_secondary_bar","onChangeMobileModal","_component_document_status","$data","_component_mobile_modal","_component_router_view","_Fragment","sortCriteria","order","isOpen","toggle","$emit","close","_component_mute_radio","_hoisted_7","_imports_0","_imports_1","_imports_2","_imports_3","errors","error","backendErrors","hideDestroyDocumentModal","documentsApi","details","beforeClose","_component_backend_errors","_component_i18n_t","keypath","scope","_component_mute_button","variant","disabled","DestroyDocumentModal","hostedDocumentIds","criteria","descending","selectedDocument","isDestroyDocModalOpen","virtualDocuments","sortedDocuments","orderBy","formattedDocuments","sortType","date","moment","datetime","teamDocuments","visibility","created","ENABLE_DUPLICATE_DOCUMENT","process","documentLink","handleSort","openDocumentModal","filterDestroyedDocument","documentDate","$i18n","format","isMasterOfCeremonies","_hoisted_9","_hoisted_10","_hoisted_12","_hoisted_13","_hoisted_15","_hoisted_16","_hoisted_17","_hoisted_19","_hoisted_20","_component_destroy_document_modal","onDestroyedDocument","onBeforeClose","boxClass","boxClasses","normal","noTip","white","purple","tipClasses","DocumentsFilter","DocumentsIndexTable","Dropdown","teamMembers","userTeamAdmin","capitalize","_component_documents_filter","_component_dropdown","button","menu","_component_documents_index_table","_hoisted_8","header","backButtonHref","showBackButton","handleBackClick","_component_mute_divider","sessionWrapper","_component_session_wrapper","_component_mute_cta_button","token","csrfToken","yupI18nErrorMessage","errorKey","argument","MuteInput","inheritAttrs","meta","errorMessage","handleBlur","useField","toRef","undefined","validateOnMount","hasError","touched","_component_mute_input","_mergeProps","$setup","onBlur","CsrfInput","MuteVvInput","VvForm","validationSchema","matches","min","equalToSibling","SignUpUserForm","_component_vv_form","_component_csrf_input","_component_mute_vv_input","valid","dirty","SessionFooterLink","_component_sign_up_user_form","footer","_component_session_footer_link","SessionWrapper","rememberMe","_component_mute_checkbox","backHref","URLSearchParams","search","get","width","draggable","sortedSections","_component_draggable","list","handle","animation","onChange","onKeypress","outlined","size","TipTapEditor","getDefaultDate","startOf","add","getSortedSections","mappedSections","getDatetime","getDocumentConfigurations","getDocumentParticipants","MuteDivider","SectionsForm","TipTapVvEditor","_component_tip_tap_editor","masters","isForTemplate","externalValidation","access","useForm","initialValues","mastersOfCeremonies","documentConfigurationAttributes","when","optional","of","useDocumentForm","eligiblesForMasterOfCeremony","commonMultiselectProps","multiple","closeOnSelect","clearOnSelect","preserveSearch","searchable","customLabel","trackBy","addSection","Math","max","deleteSection","moveSection","handleSubmit","_component_mute_vv_radio","_component_mute_vv_multiselect","options","placeholder","_hoisted_11","_component_mute_vv_checkbox","_hoisted_14","_component_tip_tap_vv_editor","bordered","_hoisted_18","_component_sections_form","onAddSection","onDeleteSection","onMoveSection","changedEditedSections","editedSections","originalSections","initialSections","deletedSections","_destroy","inCommon","updatedSections","DocumentForm","BackendErrors","formAttributes","membersIds","sectionsAttributes","parseDocumentParams","_component_document_form","onSubmit","filteredAttrs","useFilteredAttrs","excluded","isSimplified","logEmailIntent","_component_base_input","modelValue","for","_","isHeroVisible","isMenuOpen","companies","company","_directive_tooltip","rel","imageFirst","iconSrc","imageSrc","$slots","bodyCounts","feature","features","iconName","imageName","featureIndex","bodyIndex","CONTACT_EMAIL","copied","currentTimeout","currentYear","getFullYear","contactEmail","changeLocale","scrollTo","clearCopyTimeout","clearTimeout","setCopyTimeout","navigator","clipboard","writeText","LandingNavBar","LandingHero","LandingCompanies","LandingFeatures","LandingPreFooter","LandingFooter","_hoisted_21","_hoisted_22","heroVisibilityChanged","_component_landing_nav_bar","_component_landing_hero","_component_landing_companies","_component_landing_features","_component_landing_pre_footer","_component_landing_footer","useFormattedRecurrenceDate","documentTemplate","t","templateDate","nextDate","templateWeeks","recurrenceDuration","recurrenceLabel","weeks","day","toLowerCase","hour","recurrent","useDocumentDatetimeAssertions","documentDatetime","isToday","isSame","hasItBeenMoreThanAnHourSinceStart","diff","hasStarted","imagePath","count","emptyLabel","showIcon","metrics","showActions","emit","metric","currentUserIsHost","currentUser","baseDocument","resource","$tc","getCurrentDate","toISOString","shape","isLoading","mutate","onSuccess","submit","_component_base_vv_input","$attrs","args","accessLabel","plural","latestDocument","latestDocuments","showTodayButton","IS_THERE_ANY_DOCUMENT","documentTemplates","sortedDocumentTemplates","sortBy","Infinity","timeUntilDocument","abs","alt","templateDay","template","templateHour","isActive","useI18n","selectProps","weekDayOptions","times","dayIdx","RecurrentInput","week","_component_mute_vv_select","recurrence","weekDay","useTemplateForm","submitAction","baseDocumentForm","hours","timezoneOffset","timeZoneOffset","baseDocumentParams","formattedSections","getTimezoneOffset","_component_recurrent_input","destroyTemplate","createTemplate","editTemplate","TemplateForm","templateParams","DocumentTemplateApi","_component_template_form","textSection","TopBar","isSectionModified","originalSection","colspan","member","isAdmin","toggleButtonId","isCurrentUserAdmin","adminIds","toggleSelected","TeamApi","reload","deleteMember","isSelected","_component_mute_avatar","_component_mute_switch","membersToDelete","amountToDelete","firstMember","closeDeletionModal","confirmDeletion","VueTagsInput","inputField","$refs","tagsInput","$el","trim","dispatchEvent","KeyboardEvent","keyCode","expose","_component_vue_tags_input","onTagsChanged","sendInvitation","InputTag","currentTeam","emailSent","emailError","invitedEmails","isModalOpen","invitationToken","invitationUrl","emails","emailMessage","showInviteModal","closeInviteModal","emailInput","createTagFromInput","invitationApi","successfullInvitation","UserAdministrationCard","DeleteUsersConfirmationModal","InviteModal","readonly","_component_icon_button","_component_input_tag","mappedMembers","willBeDeleted","members","isDeletionModalOpen","selectedMembersCount","filteredMembers","allSelected","toggleMemberSelected","openDeleteModal","unselectDeletion","deleteSelectedMembers","markToDelete","unselectMembers","mapValues","massSelectionToggle","newSelectStatus","removeDeletedMembers","UsersIds","_component_invite_modal","_component_user_administration_card","onToggledMemberSelected","onDeleteMember","_component_delete_users_confirmation_modal","onCloseDeletionModal","onDeleteMembers","hideDestroyTemplateModal","templatesApi","DestroyTemplateModal","templateInfo","readOnly","showParticipants","showModerators","isDestroyModalOpen","templateName","templateRecurrent","participantsIds","moderators","moderatorsIds","configurations","openTemplateModal","handleDestroy","_component_mute_pill","_hoisted_23","style","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_component_destroy_template_modal","onAfterDestroy","canMutate","iconFileName","rightIconFileName","borderless","toolbar","colorClasses","outlinedClasses","green","red","amber","gray","roundedClass","sizeClasses","paddingSmall","classesWithText","classesWithoutText","svgClasses","_resolveDynamicComponent","classes","checked","onInput","MuteCheckbox","MuteRadio","small","medium","large","VueMultiselect","focused","valuePresent","mainContainerSizes","inputSizes","labelSizes","errorMessageClasses","focusedInputClasses","event","_component_vue_multiselect","onOpen","MuteMultiselect","_component_mute_multiselect","MuteInputLabel","mixins","MuteInputClassesMixin","MuteInputFocusMixin","keyValue","isSelectedValue","onFocus","_component_mute_input_label","focus","MuteSelect","_component_mute_select","iconOnly","black","iconRight","primary","success","warning","iconHorizontalMargin","textColor","backgroundColor","inactive","rules","dateModel","datePicker","patternSrc","dateValue","toLocaleString","showDatePicker","hideDatePicker","_component_validation_provider","_component_vc_date_picker","mode","update","profilePicture","serialize","tabNames","activeTab","tabName","handleTabClick","getChangelogItems","dateFilter","renderHtml","innerHTML","MuteBanner","changelogItemsCurrent","changelogItems","groupedChangelogItems","groupBy","changelogItem","createdAt","fetchAllChangelogItems","closeChangelogModal","$modal","hide","changelogItemsApi","catch","TabContent","ChangelogTab","_component_mute_banner","kind","indexMonth","_component_render_html","descriptionHtml","oldFeaturesSeenAt","newDate","usersApi","_component_tab_content","recentChangelogs","_component_changelog_tab","allChangelogs","userToken","upvotyScriptUrl","loadUpvoty","initializeUpvoty","upvoty","init","ssoToken","baseUrl","boardHash","Promise","reject","upvotyScript","createElement","setAttribute","head","appendChild","addEventListener","err","UpvotyFrame","upvotyLoaded","widgetVisible","boardUrl","sendMessage","onDropdownOpen","_component_upvoty_frame","onInitialized","currentTeamId","adminTeamsIds","selectedLanguage","language","UserApi","ChangelogModal","UpvotyNavItem","LanguageSelect","TeamSelect","isChangelogModalOpen","showChangelogNotification","initializeUser","initializeTeam","signOut","fetch","headers","teamIdRegexMatch","pathname","logInitAmplitudeEvent","setAmplitudeUserId","_component_upvoty_nav_item","upvotyToken","_component_team_select","_component_language_select","_component_changelog_modal","onUpdate","_Transition","flashMessage","info","alert","withCloseOption","slots","useSlots","hint","is","isDisabled","inputBaseClasses","textColorClasses","selectedOption","svgColorClasses","option","placeholderText","handleOptionsBlur","as","active","setFile","files","useFieldWithI18n","useFieldReturn","_component_base_select","leftIconSrc","tooltipMessage","buttonColorClasses","input","ref_key","tabindex","role","click","_component_base_checkbox","toggleSidebar","inject","_component_the_searchbar","MuteSwitch","isMeetingHost","toValue","ToggleButton","unreadMessagesAllowed","mapMutations","allowNotifications","logAmplitudeEvent","_component_toggle_button","mailToMute","searchResults","closeOnClick","closeDropdown","keyListener","ctrlKey","metaKey","preventDefault","onMounted","onBeforeMount","removeEventListener","_directive_click_outside","hidden","closeSearchBar","inputRef","searchQuery","searchAnnouncements","searchComments","executeSearch","searchValue","searchParams","query","fetchSearchResults","delayedSearch","focusInput","nextTick","inputElement","clearInput","entityLink","entity","onOpenSearchbar","onCloseSearchbar","items","result","editing","hasChevron","isNew","pictureSrc","URL","createObjectURL","baseCroppedImage","croppedImage","cropperCoordinates","setCoordinates","coordinates","image","canvas","toBlob","blob","userTeams","userTeamsOptions","userInitialValues","defaultTeamId","userSchema","password","passwordConfirmation","oneOf","isEditingProfile","isError","updateUser","editProfilePicture","_component_base_vv_file_input","_component_base_vv_select","_component_v_form","onCancel","updatedCurentUser","isProfileModalOpen","mutateAsync","openModal","onUpdateUser","logoUrl","largerThanLg","isSidebarOpen","mutableDocuments","onDestroyDocument","generateSlackOAuthV2Url","redirectPath","scopes","decamelizeKeys","clientId","redirectUri","join","JSON","stringify","integrations","_component_v_tooltip","integration","en","notes","popper","noteIndex","router","currentUrl","currentRoute","fullPath","currentPath","checkIfUserIsInsideSectionView","checkIfUserIsInMainDashboard","origin","debounce","initializeAmplitude","createApp","Meeting","DocumentsDeprecated","Sessions","SignUp","SignIn","ForgotPassword","EditDocument","EditPassword","LandingPage","DocumentTemplates","NoTeams","NewTemplate","EditTemplate","Users","NavBar","TheNavbar","TheMeetingNavbar","FlashMessage","TheSidebar","DocumentTemplate","Documents","Integrations","useBreakpoints","breakpointsTailwind","greater","provide","use","ActionCableVue","connectionUrl","connectImmediately","Notifications","FloatingVue","vClickOutside","VueZoomer","VueQueryPlugin","component","InlineSvg","TheSearchbar","MuteButton","MuteCtaButton","IconButton","MuteVvCheckbox","MuteVvRadio","MuteVvMultiselect","MuteChip","MuteLogo","MuteTag","MuteNotification","MutePill","MuteAvatar","MuteVvSelect","DatePicker","Form","BaseModal","BaseSelect","BaseInput","BaseFileInput","BaseVvFileInput","BaseVvSelect","BaseVvInput","BaseButton","BaseCheckbox","BaseVvCheckbox","BaseRadio","BaseVvRadio","BaseToggle","BaseVvToggle","BackButton","directive","ObserveVisibility","$filters","mount","slate","indigo","rose","extend","zIndex","colors","minHeight","minWidth","typography","DEFAULT","css","h1","h2","h3","h4","h5","h6","p","em","strong","blockquote","a","pre","hr","variants","borderWidth","display","extends","border","rounded"],"sourceRoot":""}