{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/modules/agreements/schema/Page.vue?0581","webpack:///./src/modules/agreements/schema/ItemRenderer.vue","webpack:///./src/modules/agreements/schema/AcceptButton.vue","webpack:///./src/modules/agreements/schema/ResponsiveMixin.js","webpack:///src/modules/agreements/schema/AcceptButton.vue","webpack:///./src/modules/agreements/schema/AcceptButton.vue?5f8c","webpack:///./src/modules/agreements/schema/AcceptButton.vue?051f","webpack:///./src/modules/agreements/schema/Button.vue","webpack:///src/modules/agreements/schema/Button.vue","webpack:///./src/modules/agreements/schema/Button.vue?2970","webpack:///./src/modules/agreements/schema/Button.vue?0f5f","webpack:///./src/modules/agreements/schema/Container.vue","webpack:///src/modules/agreements/schema/Container.vue","webpack:///./src/modules/agreements/schema/Container.vue?a0bf","webpack:///./src/modules/agreements/schema/Container.vue?dd44","webpack:///./src/modules/agreements/schema/Divider.vue","webpack:///src/modules/agreements/schema/Divider.vue","webpack:///./src/modules/agreements/schema/Divider.vue?36c3","webpack:///./src/modules/agreements/schema/Divider.vue?a661","webpack:///./src/modules/agreements/schema/Footer.vue","webpack:///src/modules/agreements/schema/Footer.vue","webpack:///./src/modules/agreements/schema/Footer.vue?dfbc","webpack:///./src/modules/agreements/schema/Footer.vue?2124","webpack:///./src/modules/agreements/schema/FormEmbed.vue","webpack:///src/modules/agreements/schema/FormEmbed.vue","webpack:///./src/modules/agreements/schema/FormEmbed.vue?f83c","webpack:///./src/modules/agreements/schema/FormEmbed.vue?1c3f","webpack:///./src/modules/agreements/schema/Header.vue","webpack:///src/modules/agreements/schema/Header.vue","webpack:///./src/modules/agreements/schema/Header.vue?ff19","webpack:///./src/modules/agreements/schema/Header.vue?5abc","webpack:///./src/modules/agreements/schema/ImageBlock.vue","webpack:///src/modules/agreements/schema/ImageBlock.vue","webpack:///./src/modules/agreements/schema/ImageBlock.vue?1031","webpack:///./src/modules/agreements/schema/ImageBlock.vue?280d","webpack:///./src/modules/agreements/schema/Logo.vue","webpack:///src/modules/agreements/schema/Logo.vue","webpack:///./src/modules/agreements/schema/Logo.vue?d203","webpack:///./src/modules/agreements/schema/Logo.vue?4fb1","webpack:///./src/modules/agreements/schema/Payment.vue","webpack:///src/modules/agreements/schema/Payment.vue","webpack:///./src/modules/agreements/schema/Payment.vue?6732","webpack:///./src/modules/agreements/schema/Payment.vue?4d02","webpack:///./src/modules/agreements/schema/Scheduler.vue","webpack:///src/modules/agreements/schema/Scheduler.vue","webpack:///./src/modules/agreements/schema/Scheduler.vue?2e91","webpack:///./src/modules/agreements/schema/Scheduler.vue?89a8","webpack:///./src/modules/agreements/schema/Signature.vue","webpack:///./src/modules/agreements/schema/Signer.vue","webpack:///./src/modules/agreements/schema/SignDialog.vue","webpack:///src/modules/agreements/schema/SignDialog.vue","webpack:///./src/modules/agreements/schema/SignDialog.vue?40c0","webpack:///./src/modules/agreements/schema/SignDialog.vue?e5a7","webpack:///src/modules/agreements/schema/Signer.vue","webpack:///./src/modules/agreements/schema/Signer.vue?a4e3","webpack:///./src/modules/agreements/schema/Signer.vue?6389","webpack:///src/modules/agreements/schema/Signature.vue","webpack:///./src/modules/agreements/schema/Signature.vue?3614","webpack:///./src/modules/agreements/schema/Signature.vue?0c17","webpack:///./src/modules/agreements/schema/Spacer.vue","webpack:///src/modules/agreements/schema/Spacer.vue","webpack:///./src/modules/agreements/schema/Spacer.vue?06df","webpack:///./src/modules/agreements/schema/Spacer.vue?3c5c","webpack:///./src/modules/agreements/schema/Terms.vue","webpack:///src/modules/agreements/schema/Terms.vue","webpack:///./src/modules/agreements/schema/Terms.vue?30d0","webpack:///./src/modules/agreements/schema/Terms.vue?1c07","webpack:///./src/modules/agreements/schema/TextBlock.vue","webpack:///src/modules/agreements/schema/TextBlock.vue","webpack:///./src/modules/agreements/schema/TextBlock.vue?b0d7","webpack:///./src/modules/agreements/schema/TextBlock.vue?772e","webpack:///./src/modules/agreements/schema/Services.vue","webpack:///./src/modules/agreements/schema/ServicePackage.vue","webpack:///./src/modules/agreements/schema/PackageEditor.vue","webpack:///./src/modules/agreements/schema/EmbeddedServices.js","webpack:///src/modules/agreements/schema/PackageEditor.vue","webpack:///./src/modules/agreements/schema/PackageEditor.vue?b05b","webpack:///./src/modules/agreements/schema/PackageEditor.vue?69f6","webpack:///./src/modules/agreements/schema/ServiceItemEditor.vue","webpack:///src/modules/agreements/schema/ServiceItemEditor.vue","webpack:///./src/modules/agreements/schema/ServiceItemEditor.vue?3e4d","webpack:///./src/modules/agreements/schema/ServiceItemEditor.vue?db1f","webpack:///./src/modules/agreements/schema/ServiceItemRenderer.vue","webpack:///src/modules/agreements/schema/ServiceItemRenderer.vue","webpack:///./src/modules/agreements/schema/ServiceItemRenderer.vue?ac10","webpack:///./src/modules/agreements/schema/ServiceItemRenderer.vue?3685","webpack:///src/modules/agreements/schema/ServicePackage.vue","webpack:///./src/modules/agreements/schema/ServicePackage.vue?6419","webpack:///./src/modules/agreements/schema/ServicePackage.vue?8740","webpack:///src/modules/agreements/schema/Services.vue","webpack:///./src/modules/agreements/schema/Services.vue?ff66","webpack:///./src/modules/agreements/schema/Services.vue?2117","webpack:///./src/modules/agreements/schema/SchedulerEmbed.vue","webpack:///./src/modules/agreements/schema/MeetingSchedule.vue","webpack:///src/modules/agreements/schema/MeetingSchedule.vue","webpack:///./src/modules/agreements/schema/MeetingSchedule.vue?725d","webpack:///./src/modules/agreements/schema/MeetingSchedule.vue?3b8e","webpack:///./src/modules/agreements/schema/MeetingInfo.vue","webpack:///src/modules/agreements/schema/MeetingInfo.vue","webpack:///./src/modules/agreements/schema/MeetingInfo.vue?1b5c","webpack:///./src/modules/agreements/schema/MeetingInfo.vue?2142","webpack:///src/modules/agreements/schema/SchedulerEmbed.vue","webpack:///./src/modules/agreements/schema/SchedulerEmbed.vue?78c4","webpack:///./src/modules/agreements/schema/SchedulerEmbed.vue?9919","webpack:///./src/modules/agreements/schema/PaymentPlan.vue","webpack:///src/modules/agreements/schema/PaymentPlan.vue","webpack:///./src/modules/agreements/schema/PaymentPlan.vue?8663","webpack:///./src/modules/agreements/schema/PaymentPlan.vue?86d4","webpack:///./src/modules/agreements/schema/PaymentV2.vue","webpack:///src/modules/agreements/schema/PaymentV2.vue","webpack:///./src/modules/agreements/schema/PaymentV2.vue?96d0","webpack:///./src/modules/agreements/schema/PaymentV2.vue?f7fd","webpack:///./src/modules/agreements/schema/ElementTypes.vue","webpack:///src/modules/agreements/schema/ElementTypes.vue","webpack:///./src/modules/agreements/schema/ElementTypes.vue?5c07","webpack:///./src/modules/agreements/schema/ElementTypes.vue?0157","webpack:///src/modules/agreements/schema/ItemRenderer.vue","webpack:///./src/modules/agreements/schema/ItemRenderer.vue?26b8","webpack:///./src/modules/agreements/schema/ItemRenderer.vue?d0ed","webpack:///./src/modules/proposal/proposal-renderer/ImageBlock.vue?5982","webpack:///./src/App.vue?2659","webpack:///./src/modules/timetracking/TimerEventTable.vue?d03d","webpack:///./src/modules/proposal/proposal-renderer/Deliverable.vue?a454","webpack:///./src/components/BasicModal.vue","webpack:///src/components/BasicModal.vue","webpack:///./src/components/BasicModal.vue?5cbb","webpack:///./src/components/BasicModal.vue?71b3","webpack:///./src/components/FilterOption.vue?b5ed","webpack:///./src/modules/templates/invoices/schema/LineItems.vue?981c","webpack:///./src/modules/forms/v2/schema/Divider.vue?43b8","webpack:///./src/modules/projects/ProjectSelector.vue?4801","webpack:///./src/modules/auth/AuthService.js","webpack:///./src/modules/agreements/schema/SignDialog.vue?7179","webpack:///./src/components/ConfirmModal.vue?7c10","webpack:///./src/modules/auth/Login.vue?3e19","webpack:///./src/modules/invoices/InvoiceRenderer/Products.vue?a1e0","webpack:///./src/modules/auth/Login.vue?52bb","webpack:///./src/modules/invoices/InvoiceTable.vue?982b","webpack:///./src/modules/projects/ProjectService.js","webpack:///./src/modules/invoices/VerifyAchAccount.vue?d5e4","webpack:///./src/components/PillSelector.vue?eb27","webpack:///./src/modules/agreements/schema/ServiceItemEditor.vue?33d5","webpack:///./src/modules/proposal/proposal-renderer/Files.vue?fe01","webpack:///./src/modules/invoices/ManualAchAccount.vue?5ad0","webpack:///./src/modules/proposal/proposal-renderer/SignatureBlock.vue?b158","webpack:///./src/modules/agreements/schema/Divider.vue?ccfa","webpack:///./src/modules/agreements/schema/Page.vue?752d","webpack:///./src/views/nav/Tabs.vue?2522","webpack:///./src/modules/proposal/proposal-renderer/Deliverables.vue?5594","webpack:///./src/modules/templates/invoices/schema/Divider.vue?13a6","webpack:///./src/modules/projects/management/KanbanCard.vue?c8a6","webpack:///./src/modules/proposal/proposal-renderer/StatusMenu.vue?351e","webpack:///./src/modules/proposal/proposal-renderer/Signature.vue?406e","webpack:///./src/modules/meetings/MeetingEmbed.vue?3c43","webpack:///./src/modules/projects/deliverable/Activity.vue?182b","webpack:///./src/modules/agreements/schema/PackageEditor.vue?01fe","webpack:///./src/App.vue?109d","webpack:///./src/modules/agreements/schema/AgreementMixin.js","webpack:///./src/views/nav/Notifications.vue?bcea","webpack:///./src/utils/CustomEventBus.js","webpack:///./src/store/index.js","webpack:///./src/modules/meetings/SchedulerList.vue?4b2c","webpack:///./src/views/nav/NavLink.vue?5977","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/modules/invoices/NewAchAccount.vue?4977","webpack:///./src/modules/templates/invoices/schema/Container.vue?5f76","webpack:///./src/locales sync [A-Za-z0-9-_,\\s]+\\.json$/","webpack:///./src/modules/invoices/InvoiceRenderer/PaymentDetailsModal.vue?c72a","webpack:///./src/modules/invoices/InvoiceDetails.vue?1508","webpack:///./src/modules/forms/v2/schema/Radio.vue?df27","webpack:///./src/components/SimpleTextInput.vue?d625","webpack:///./src/modules/projects/TimeAndMoney.vue?12e2","webpack:///./src/modules/auth/UpdatePassword.vue?1a91","webpack:///./src/modules/forms/v2/schema/NewPage.vue?ea36","webpack:///./src/modules/invoices/InvoiceRenderer/ProjectSelect.vue?cdf8","webpack:///./src/modules/invoices/InvoiceRenderer/InvoiceRenderer.vue?8ead","webpack:///./src/modules/agreements/schema/ItemRenderer.vue?f88c","webpack:///./src/App.vue","webpack:///./src/views/nav/LeftNav.vue","webpack:///./src/views/nav/NavLink.vue","webpack:///src/views/nav/NavLink.vue","webpack:///./src/views/nav/NavLink.vue?f148","webpack:///./src/views/nav/NavLink.vue?42d8","webpack:///./src/views/nav/settings/SettingsNav.vue","webpack:///./src/modules/utils/Countries.js","webpack:///./src/services/PodService.js","webpack:///./src/views/nav/settings/WorkspaceSelector.vue","webpack:///src/views/nav/settings/WorkspaceSelector.vue","webpack:///./src/views/nav/settings/WorkspaceSelector.vue?0365","webpack:///./src/views/nav/settings/WorkspaceSelector.vue?ce46","webpack:///./src/views/nav/settings/SettingsLink.vue","webpack:///src/views/nav/settings/SettingsLink.vue","webpack:///./src/views/nav/settings/SettingsLink.vue?25ad","webpack:///./src/views/nav/settings/SettingsLink.vue?f7e1","webpack:///./src/views/nav/settings/SettingsLanguage.vue","webpack:///src/views/nav/settings/SettingsLanguage.vue","webpack:///./src/views/nav/settings/SettingsLanguage.vue?2b71","webpack:///./src/views/nav/settings/SettingsLanguage.vue?bbfd","webpack:///src/views/nav/settings/SettingsNav.vue","webpack:///./src/views/nav/settings/SettingsNav.vue?f7ef","webpack:///./src/views/nav/settings/SettingsNav.vue?6370","webpack:///./src/views/nav/NavMixin.js","webpack:///src/views/nav/LeftNav.vue","webpack:///./src/views/nav/LeftNav.vue?3db5","webpack:///./src/views/nav/LeftNav.vue?6975","webpack:///./src/views/nav/RightNav.vue","webpack:///./src/views/nav/Notifications.vue","webpack:///./src/modules/welcome/actionItems/SubscriptionRequests.vue","webpack:///src/modules/welcome/actionItems/SubscriptionRequests.vue","webpack:///./src/modules/welcome/actionItems/SubscriptionRequests.vue?05a5","webpack:///./src/modules/welcome/actionItems/SubscriptionRequests.vue?47d9","webpack:///./src/modules/welcome/actionItems/Deliverables.vue","webpack:///./src/modules/projects/deliverable/DeliverableDetail.vue","webpack:///./src/modules/projects/deliverable/Activity.vue","webpack:///./src/modules/projects/deliverable/TagUserField.vue","webpack:///src/modules/projects/deliverable/TagUserField.vue","webpack:///./src/modules/projects/deliverable/TagUserField.vue?49a2","webpack:///./src/modules/projects/deliverable/TagUserField.vue?a15d","webpack:///./src/components/ConfirmDialog.vue","webpack:///src/components/ConfirmDialog.vue","webpack:///./src/components/ConfirmDialog.vue?d4f0","webpack:///./src/components/ConfirmDialog.vue?d457","webpack:///src/modules/projects/deliverable/Activity.vue","webpack:///./src/modules/projects/deliverable/Activity.vue?062e","webpack:///./src/modules/projects/deliverable/Activity.vue?cb4f","webpack:///./src/modules/projects/deliverable/Tasks.vue","webpack:///src/modules/projects/deliverable/Tasks.vue","webpack:///./src/modules/projects/deliverable/Tasks.vue?03cd","webpack:///./src/modules/projects/deliverable/Tasks.vue?8690","webpack:///./src/components/Markdown.vue","webpack:///src/components/Markdown.vue","webpack:///./src/components/Markdown.vue?5f76","webpack:///./src/components/Markdown.vue?9eb4","webpack:///./src/components/AssignedUser.vue","webpack:///src/components/AssignedUser.vue","webpack:///./src/components/AssignedUser.vue?21d0","webpack:///./src/components/AssignedUser.vue?7a71","webpack:///./src/modules/files/DomainRoot.vue","webpack:///./src/modules/files/Files.vue","webpack:///src/modules/files/Files.vue","webpack:///./src/modules/files/Files.vue?f6ba","webpack:///./src/modules/files/Files.vue?f66d","webpack:///src/modules/files/DomainRoot.vue","webpack:///./src/modules/files/DomainRoot.vue?b140","webpack:///./src/modules/files/DomainRoot.vue?bb73","webpack:///src/modules/projects/deliverable/DeliverableDetail.vue","webpack:///./src/modules/projects/deliverable/DeliverableDetail.vue?feb4","webpack:///./src/modules/projects/deliverable/DeliverableDetail.vue?e2ab","webpack:///src/modules/welcome/actionItems/Deliverables.vue","webpack:///./src/modules/welcome/actionItems/Deliverables.vue?14db","webpack:///./src/modules/welcome/actionItems/Deliverables.vue?f14c","webpack:///./src/modules/welcome/actionItems/Invoices.vue","webpack:///./src/modules/invoices/InvoiceDetails.vue","webpack:///./src/modules/invoices/InvoiceService.js","webpack:///./src/modules/invoices/InvoiceRenderer/InvoiceRenderer.vue","webpack:///./src/modules/invoices/InvoiceRenderer/ConfirmDialog.vue","webpack:///src/modules/invoices/InvoiceRenderer/ConfirmDialog.vue","webpack:///./src/modules/invoices/InvoiceRenderer/ConfirmDialog.vue?1b93","webpack:///./src/modules/invoices/InvoiceRenderer/ConfirmDialog.vue?eaff","webpack:///./src/modules/invoices/InvoiceRenderer/PaymentIcon.vue","webpack:///src/modules/invoices/InvoiceRenderer/PaymentIcon.vue","webpack:///./src/modules/invoices/InvoiceRenderer/PaymentIcon.vue?fd38","webpack:///./src/modules/invoices/InvoiceRenderer/PaymentIcon.vue?5e5d","webpack:///./src/modules/invoices/InvoiceRenderer/PaymentDetailsModal.vue","webpack:///src/modules/invoices/InvoiceRenderer/PaymentDetailsModal.vue","webpack:///./src/modules/invoices/InvoiceRenderer/PaymentDetailsModal.vue?43fe","webpack:///./src/modules/invoices/InvoiceRenderer/PaymentDetailsModal.vue?867a","webpack:///./src/modules/invoices/InvoiceRenderer/ItemDetailsModal.vue","webpack:///src/modules/invoices/InvoiceRenderer/ItemDetailsModal.vue","webpack:///./src/modules/invoices/InvoiceRenderer/ItemDetailsModal.vue?7f13","webpack:///./src/modules/invoices/InvoiceRenderer/ItemDetailsModal.vue?a2b8","webpack:///./src/components/SimpleTextInput.vue","webpack:///src/components/SimpleTextInput.vue","webpack:///./src/components/SimpleTextInput.vue?69d9","webpack:///./src/components/SimpleTextInput.vue?9c15","webpack:///src/modules/invoices/InvoiceRenderer/InvoiceRenderer.vue","webpack:///./src/modules/invoices/InvoiceRenderer/InvoiceRenderer.vue?dfd0","webpack:///./src/modules/invoices/InvoiceRenderer/InvoiceRenderer.vue?dadb","webpack:///./src/modules/invoices/InvoiceRenderer/PaymentHistory.vue","webpack:///src/modules/invoices/InvoiceRenderer/PaymentHistory.vue","webpack:///./src/modules/invoices/InvoiceRenderer/PaymentHistory.vue?9bee","webpack:///./src/modules/invoices/InvoiceRenderer/PaymentHistory.vue?a910","webpack:///./src/modules/invoices/invoiceRendererV2/InvoiceRendererV2.vue","webpack:///./src/modules/templates/invoices/InvoiceTemplateMixin.js","webpack:///./src/modules/invoices/invoiceRendererV2/InvoiceSettings.vue","webpack:///src/modules/invoices/invoiceRendererV2/InvoiceSettings.vue","webpack:///./src/modules/invoices/invoiceRendererV2/InvoiceSettings.vue?2cb4","webpack:///./src/modules/invoices/invoiceRendererV2/InvoiceSettings.vue?8ebb","webpack:///src/modules/invoices/invoiceRendererV2/InvoiceRendererV2.vue","webpack:///./src/modules/invoices/invoiceRendererV2/InvoiceRendererV2.vue?119c","webpack:///./src/modules/invoices/invoiceRendererV2/InvoiceRendererV2.vue?87fc","webpack:///src/modules/invoices/InvoiceDetails.vue","webpack:///./src/modules/invoices/InvoiceDetails.vue?65a6","webpack:///./src/modules/invoices/InvoiceDetails.vue?96ec","webpack:///src/modules/welcome/actionItems/Invoices.vue","webpack:///./src/modules/welcome/actionItems/Invoices.vue?38fd","webpack:///./src/modules/welcome/actionItems/Invoices.vue?6c7e","webpack:///./src/modules/welcome/actionItems/Forms.vue","webpack:///./src/modules/forms/FormRequestViewer.vue","webpack:///./src/modules/forms/DiscoveryForm.vue","webpack:///./src/modules/forms/v1/FormV1.vue","webpack:///./src/modules/forms/v1/renderer/Renderer.vue","webpack:///./src/modules/forms/v1/renderer/CheckboxInput.vue","webpack:///src/modules/forms/v1/renderer/CheckboxInput.vue","webpack:///./src/modules/forms/v1/renderer/CheckboxInput.vue?6526","webpack:///./src/modules/forms/v1/renderer/CheckboxInput.vue?5eb0","webpack:///./src/modules/forms/v1/renderer/RadioInput.vue","webpack:///src/modules/forms/v1/renderer/RadioInput.vue","webpack:///./src/modules/forms/v1/renderer/RadioInput.vue?cddb","webpack:///./src/modules/forms/v1/renderer/RadioInput.vue?7b74","webpack:///./src/modules/forms/v1/renderer/SelectInput.vue","webpack:///src/modules/forms/v1/renderer/SelectInput.vue","webpack:///./src/modules/forms/v1/renderer/SelectInput.vue?d814","webpack:///./src/modules/forms/v1/renderer/SelectInput.vue?9762","webpack:///./src/modules/forms/v1/renderer/TextBlock.vue","webpack:///src/modules/forms/v1/renderer/TextBlock.vue","webpack:///./src/modules/forms/v1/renderer/TextBlock.vue?d15c","webpack:///./src/modules/forms/v1/renderer/TextBlock.vue?16ff","webpack:///./src/modules/forms/v1/renderer/TextInput.vue","webpack:///src/modules/forms/v1/renderer/TextInput.vue","webpack:///./src/modules/forms/v1/renderer/TextInput.vue?8bd4","webpack:///./src/modules/forms/v1/renderer/TextInput.vue?72f9","webpack:///./src/modules/forms/v1/renderer/LeadContact.vue","webpack:///src/modules/forms/v1/renderer/LeadContact.vue","webpack:///./src/modules/forms/v1/renderer/LeadContact.vue?b8e9","webpack:///./src/modules/forms/v1/renderer/LeadContact.vue?4414","webpack:///./src/modules/forms/v1/renderer/DateInput.vue","webpack:///src/modules/forms/v1/renderer/DateInput.vue","webpack:///./src/modules/forms/v1/renderer/DateInput.vue?1f89","webpack:///./src/modules/forms/v1/renderer/DateInput.vue?3034","webpack:///./src/modules/forms/v1/renderer/FileInput.vue","webpack:///src/modules/forms/v1/renderer/FileInput.vue","webpack:///./src/modules/forms/v1/renderer/FileInput.vue?5859","webpack:///./src/modules/forms/v1/renderer/FileInput.vue?46aa","webpack:///src/modules/forms/v1/renderer/Renderer.vue","webpack:///./src/modules/forms/v1/renderer/Renderer.vue?d519","webpack:///./src/modules/forms/v1/renderer/Renderer.vue?10c3","webpack:///src/modules/forms/v1/FormV1.vue","webpack:///./src/modules/forms/v1/FormV1.vue?9ec2","webpack:///./src/modules/forms/v1/FormV1.vue?ecbb","webpack:///./src/modules/forms/v2/FormV2.vue","webpack:///src/modules/forms/v2/FormV2.vue","webpack:///./src/modules/forms/v2/FormV2.vue?1f07","webpack:///./src/modules/forms/v2/FormV2.vue?d074","webpack:///src/modules/forms/DiscoveryForm.vue","webpack:///./src/modules/forms/DiscoveryForm.vue?e49b","webpack:///./src/modules/forms/DiscoveryForm.vue?7477","webpack:///src/modules/forms/FormRequestViewer.vue","webpack:///./src/modules/forms/FormRequestViewer.vue?330d","webpack:///./src/modules/forms/FormRequestViewer.vue?6859","webpack:///src/modules/welcome/actionItems/Forms.vue","webpack:///./src/modules/welcome/actionItems/Forms.vue?23c1","webpack:///./src/modules/welcome/actionItems/Forms.vue?39c6","webpack:///./src/modules/welcome/actionItems/Meetings.vue","webpack:///./src/modules/meetings/MeetingDetail.vue","webpack:///./src/modules/meetings/MeetingService.js","webpack:///./src/modules/meetings/iFrameWrapper.vue","webpack:///src/modules/meetings/iFrameWrapper.vue","webpack:///./src/modules/meetings/iFrameWrapper.vue?b4fe","webpack:///./src/modules/meetings/iFrameWrapper.vue?582e","webpack:///src/modules/meetings/MeetingDetail.vue","webpack:///./src/modules/meetings/MeetingDetail.vue?0126","webpack:///./src/modules/meetings/MeetingDetail.vue?241c","webpack:///src/modules/welcome/actionItems/Meetings.vue","webpack:///./src/modules/welcome/actionItems/Meetings.vue?3a25","webpack:///./src/modules/welcome/actionItems/Meetings.vue?75d7","webpack:///./src/modules/welcome/actionItems/Proposals.vue","webpack:///./src/modules/proposal/ProposalDetails.vue","webpack:///./src/modules/proposal/ProposalService.js","webpack:///./src/modules/proposal/proposal-renderer/ProposalRenderer.vue","webpack:///./src/modules/proposal/proposal-renderer/CoverPage.vue","webpack:///src/modules/proposal/proposal-renderer/CoverPage.vue","webpack:///./src/modules/proposal/proposal-renderer/CoverPage.vue?0e4c","webpack:///./src/modules/proposal/proposal-renderer/CoverPage.vue?b926","webpack:///./src/modules/proposal/proposal-renderer/TextArea.vue","webpack:///src/modules/proposal/proposal-renderer/TextArea.vue","webpack:///./src/modules/proposal/proposal-renderer/TextArea.vue?bec2","webpack:///./src/modules/proposal/proposal-renderer/TextArea.vue?5122","webpack:///./src/modules/proposal/proposal-renderer/Deliverables.vue","webpack:///./src/modules/proposal/proposal-renderer/DeliverableFees.vue","webpack:///src/modules/proposal/proposal-renderer/DeliverableFees.vue","webpack:///./src/modules/proposal/proposal-renderer/DeliverableFees.vue?797a","webpack:///./src/modules/proposal/proposal-renderer/DeliverableFees.vue?26af","webpack:///./src/modules/proposal/proposal-renderer/Deliverable.vue","webpack:///./src/modules/projects/deliverable/PerItemPricing.vue","webpack:///src/modules/projects/deliverable/PerItemPricing.vue","webpack:///./src/modules/projects/deliverable/PerItemPricing.vue?d31a","webpack:///./src/modules/projects/deliverable/PerItemPricing.vue?7e5a","webpack:///src/modules/proposal/proposal-renderer/Deliverable.vue","webpack:///./src/modules/proposal/proposal-renderer/Deliverable.vue?dcd6","webpack:///./src/modules/proposal/proposal-renderer/Deliverable.vue?32ac","webpack:///src/modules/proposal/proposal-renderer/Deliverables.vue","webpack:///./src/modules/proposal/proposal-renderer/Deliverables.vue?e54c","webpack:///./src/modules/proposal/proposal-renderer/Deliverables.vue?2476","webpack:///./src/modules/proposal/proposal-renderer/Terms.vue","webpack:///./src/modules/proposal/proposal-renderer/TermsDialog.vue","webpack:///src/modules/proposal/proposal-renderer/TermsDialog.vue","webpack:///./src/modules/proposal/proposal-renderer/TermsDialog.vue?173f","webpack:///./src/modules/proposal/proposal-renderer/TermsDialog.vue?7866","webpack:///src/modules/proposal/proposal-renderer/Terms.vue","webpack:///./src/modules/proposal/proposal-renderer/Terms.vue?995f","webpack:///./src/modules/proposal/proposal-renderer/Terms.vue?fe2c","webpack:///./src/modules/proposal/proposal-renderer/SignatureBlock.vue","webpack:///./src/modules/proposal/proposal-renderer/Signature.vue","webpack:///./src/modules/proposal/proposal-renderer/SignatureDialog.vue","webpack:///src/modules/proposal/proposal-renderer/SignatureDialog.vue","webpack:///./src/modules/proposal/proposal-renderer/SignatureDialog.vue?9c55","webpack:///./src/modules/proposal/proposal-renderer/SignatureDialog.vue?e535","webpack:///src/modules/proposal/proposal-renderer/Signature.vue","webpack:///./src/modules/proposal/proposal-renderer/Signature.vue?2954","webpack:///./src/modules/proposal/proposal-renderer/Signature.vue?69a5","webpack:///src/modules/proposal/proposal-renderer/SignatureBlock.vue","webpack:///./src/modules/proposal/proposal-renderer/SignatureBlock.vue?dd7e","webpack:///./src/modules/proposal/proposal-renderer/SignatureBlock.vue?f1e2","webpack:///./src/modules/proposal/proposal-renderer/Files.vue","webpack:///src/modules/proposal/proposal-renderer/Files.vue","webpack:///./src/modules/proposal/proposal-renderer/Files.vue?b081","webpack:///./src/modules/proposal/proposal-renderer/Files.vue?a245","webpack:///./src/modules/proposal/proposal-renderer/ImageBlock.vue","webpack:///src/modules/proposal/proposal-renderer/ImageBlock.vue","webpack:///./src/modules/proposal/proposal-renderer/ImageBlock.vue?759a","webpack:///./src/modules/proposal/proposal-renderer/ImageBlock.vue?cbc4","webpack:///./src/modules/proposal/proposal-renderer/ImageTextBlock.vue","webpack:///src/modules/proposal/proposal-renderer/ImageTextBlock.vue","webpack:///./src/modules/proposal/proposal-renderer/ImageTextBlock.vue?8da4","webpack:///./src/modules/proposal/proposal-renderer/ImageTextBlock.vue?a3e1","webpack:///./src/modules/proposal/proposal-renderer/AddComponent.vue","webpack:///src/modules/proposal/proposal-renderer/AddComponent.vue","webpack:///./src/modules/proposal/proposal-renderer/AddComponent.vue?5a48","webpack:///./src/modules/proposal/proposal-renderer/AddComponent.vue?1441","webpack:///./src/modules/proposal/proposal-renderer/ComponentIcons.vue","webpack:///src/modules/proposal/proposal-renderer/ComponentIcons.vue","webpack:///./src/modules/proposal/proposal-renderer/ComponentIcons.vue?b807","webpack:///./src/modules/proposal/proposal-renderer/ComponentIcons.vue?029b","webpack:///./src/components/HNav.vue","webpack:///src/components/HNav.vue","webpack:///./src/components/HNav.vue?24b0","webpack:///./src/components/HNav.vue?9156","webpack:///./src/components/PillSelector.vue","webpack:///src/components/PillSelector.vue","webpack:///./src/components/PillSelector.vue?38f1","webpack:///./src/components/PillSelector.vue?66da","webpack:///./src/modules/proposal/proposal-renderer/StatusMenu.vue","webpack:///src/modules/proposal/proposal-renderer/StatusMenu.vue","webpack:///./src/modules/proposal/proposal-renderer/StatusMenu.vue?623b","webpack:///./src/modules/proposal/proposal-renderer/StatusMenu.vue?896b","webpack:///./src/modules/proposal/proposal-renderer/CommentsMenu.vue","webpack:///src/modules/proposal/proposal-renderer/CommentsMenu.vue","webpack:///./src/modules/proposal/proposal-renderer/CommentsMenu.vue?445c","webpack:///./src/modules/proposal/proposal-renderer/CommentsMenu.vue?af07","webpack:///./src/modules/proposal/proposal-renderer/ProposalMixin.js","webpack:///./src/modules/proposal/proposal-renderer/AcceptBlock.vue","webpack:///src/modules/proposal/proposal-renderer/AcceptBlock.vue","webpack:///./src/modules/proposal/proposal-renderer/AcceptBlock.vue?af4a","webpack:///./src/modules/proposal/proposal-renderer/AcceptBlock.vue?0e99","webpack:///./src/modules/proposal/proposal-renderer/PaymentCaptureBlock.vue","webpack:///src/modules/proposal/proposal-renderer/PaymentCaptureBlock.vue","webpack:///./src/modules/proposal/proposal-renderer/PaymentCaptureBlock.vue?6d63","webpack:///./src/modules/proposal/proposal-renderer/PaymentCaptureBlock.vue?c6e4","webpack:///src/modules/proposal/proposal-renderer/ProposalRenderer.vue","webpack:///./src/modules/proposal/proposal-renderer/ProposalRenderer.vue?fa5e","webpack:///./src/modules/proposal/proposal-renderer/ProposalRenderer.vue?e407","webpack:///src/modules/proposal/ProposalDetails.vue","webpack:///./src/modules/proposal/ProposalDetails.vue?5265","webpack:///./src/modules/proposal/ProposalDetails.vue?2f21","webpack:///src/modules/welcome/actionItems/Proposals.vue","webpack:///./src/modules/welcome/actionItems/Proposals.vue?4f95","webpack:///./src/modules/welcome/actionItems/Proposals.vue?bbaf","webpack:///./src/modules/welcome/DashboardService.js","webpack:///src/views/nav/Notifications.vue","webpack:///./src/views/nav/Notifications.vue?e663","webpack:///./src/views/nav/Notifications.vue?a1ea","webpack:///src/views/nav/RightNav.vue","webpack:///./src/views/nav/RightNav.vue?e2ea","webpack:///./src/views/nav/RightNav.vue?0f3c","webpack:///./src/modules/utils/GlobalModalController.vue","webpack:///./src/modules/utils/Deferred.js","webpack:///./src/modules/meetings/MeetingEmbed.vue","webpack:///src/modules/meetings/MeetingEmbed.vue","webpack:///./src/modules/meetings/MeetingEmbed.vue?8725","webpack:///./src/modules/meetings/MeetingEmbed.vue?4401","webpack:///./src/modules/invoices/NewAchAccount.vue","webpack:///src/modules/invoices/NewAchAccount.vue","webpack:///./src/modules/invoices/NewAchAccount.vue?7880","webpack:///./src/modules/invoices/NewAchAccount.vue?da06","webpack:///./src/modules/invoices/ManualAchAccount.vue","webpack:///./src/modules/invoices/PaymentsService.js","webpack:///src/modules/invoices/ManualAchAccount.vue","webpack:///./src/modules/invoices/ManualAchAccount.vue?7f91","webpack:///./src/modules/invoices/ManualAchAccount.vue?7ec2","webpack:///./src/modules/invoices/VerifyAchAccount.vue","webpack:///src/modules/invoices/VerifyAchAccount.vue","webpack:///./src/modules/invoices/VerifyAchAccount.vue?5ed3","webpack:///./src/modules/invoices/VerifyAchAccount.vue?c051","webpack:///./src/modules/subscriptions/SubscriptionPayments.vue","webpack:///./src/modules/subscriptions/SubscriptionService.js","webpack:///src/modules/subscriptions/SubscriptionPayments.vue","webpack:///./src/modules/subscriptions/SubscriptionPayments.vue?dd1c","webpack:///./src/modules/subscriptions/SubscriptionPayments.vue?19d3","webpack:///./src/modules/projects/ProjectSelector.vue","webpack:///src/modules/projects/ProjectSelector.vue","webpack:///./src/modules/projects/ProjectSelector.vue?4c28","webpack:///./src/modules/projects/ProjectSelector.vue?a73f","webpack:///./src/modules/auth/UpdatePassword.vue","webpack:///./src/modules/auth/PasswordService.js","webpack:///src/modules/auth/UpdatePassword.vue","webpack:///./src/modules/auth/UpdatePassword.vue?a437","webpack:///./src/modules/auth/UpdatePassword.vue?13c9","webpack:///./src/modules/forms/FormResultViewer.vue","webpack:///src/modules/forms/FormResultViewer.vue","webpack:///./src/modules/forms/FormResultViewer.vue?fa2f","webpack:///./src/modules/forms/FormResultViewer.vue?7bad","webpack:///src/modules/utils/GlobalModalController.vue","webpack:///./src/modules/utils/GlobalModalController.vue?8f7e","webpack:///./src/modules/utils/GlobalModalController.vue?93f2","webpack:///./src/modules/utils/CustomFontService.js","webpack:///./src/views/nav/TopNav.vue","webpack:///./src/views/nav/Tabs.vue","webpack:///./src/components/HIcon3.vue","webpack:///src/components/HIcon3.vue","webpack:///./src/components/HIcon3.vue?ec38","webpack:///./src/components/HIcon3.vue?37d0","webpack:///src/views/nav/Tabs.vue","webpack:///./src/views/nav/Tabs.vue?ae10","webpack:///./src/views/nav/Tabs.vue?e374","webpack:///./src/views/nav/MobileNav.vue","webpack:///src/views/nav/MobileNav.vue","webpack:///./src/views/nav/MobileNav.vue?5898","webpack:///./src/views/nav/MobileNav.vue?ef0a","webpack:///./src/views/nav/UserMenu.vue","webpack:///src/views/nav/UserMenu.vue","webpack:///./src/views/nav/UserMenu.vue?5469","webpack:///./src/views/nav/UserMenu.vue?91b7","webpack:///src/views/nav/TopNav.vue","webpack:///./src/views/nav/TopNav.vue?0262","webpack:///./src/views/nav/TopNav.vue?64ab","webpack:///src/App.vue","webpack:///./src/App.vue?03b3","webpack:///./src/App.vue?1315","webpack:///./src/views/NotFound.vue","webpack:///src/views/NotFound.vue","webpack:///./src/views/NotFound.vue?ac45","webpack:///./src/views/NotFound.vue?f90c","webpack:///./src/modules/auth/Login.vue","webpack:///src/modules/auth/Login.vue","webpack:///./src/modules/auth/Login.vue?7493","webpack:///./src/modules/auth/Login.vue?162f","webpack:///./src/modules/welcome/WelcomePage.vue","webpack:///./src/modules/custom/CustomPage.vue","webpack:///./src/modules/custom/ContentBlock.vue","webpack:///src/modules/custom/ContentBlock.vue","webpack:///./src/modules/custom/ContentBlock.vue?a6c0","webpack:///./src/modules/custom/ContentBlock.vue?96bb","webpack:///src/modules/custom/CustomPage.vue","webpack:///./src/modules/custom/CustomPage.vue?0a76","webpack:///./src/modules/custom/CustomPage.vue?93ad","webpack:///src/modules/welcome/WelcomePage.vue","webpack:///./src/modules/welcome/WelcomePage.vue?4f70","webpack:///./src/modules/welcome/WelcomePage.vue?c5a9","webpack:///./src/modules/auth/MagicToken.vue","webpack:///src/modules/auth/MagicToken.vue","webpack:///./src/modules/auth/MagicToken.vue?97ff","webpack:///./src/modules/auth/MagicToken.vue?a1a8","webpack:///./src/modules/auth/LogOut.vue","webpack:///src/modules/auth/LogOut.vue","webpack:///./src/modules/auth/LogOut.vue?b65b","webpack:///./src/modules/auth/LogOut.vue?fe4a","webpack:///./src/modules/auth/Loader.vue","webpack:///./src/modules/client/ClientService.js","webpack:///src/modules/auth/Loader.vue","webpack:///./src/modules/auth/Loader.vue?7006","webpack:///./src/modules/auth/Loader.vue?f219","webpack:///./src/modules/invoices/viewer/Payment.vue","webpack:///src/modules/invoices/viewer/Payment.vue","webpack:///./src/modules/invoices/viewer/Payment.vue?f138","webpack:///./src/modules/invoices/viewer/Payment.vue?ce91","webpack:///./src/modules/invoices/viewer/InvoiceViewer.vue","webpack:///./src/modules/invoices/viewer/InvoiceService.js","webpack:///./src/components/LanguageSwitcher.vue","webpack:///src/components/LanguageSwitcher.vue","webpack:///./src/components/LanguageSwitcher.vue?0c74","webpack:///./src/components/LanguageSwitcher.vue?acd9","webpack:///src/modules/invoices/viewer/InvoiceViewer.vue","webpack:///./src/modules/invoices/viewer/InvoiceViewer.vue?83ba","webpack:///./src/modules/invoices/viewer/InvoiceViewer.vue?b561","webpack:///./src/modules/invoices/InvoiceMain.vue","webpack:///./src/components/HHeader.vue","webpack:///src/components/HHeader.vue","webpack:///./src/components/HHeader.vue?b0f2","webpack:///./src/components/HHeader.vue?736a","webpack:///./src/modules/invoices/InvoiceTable.vue","webpack:///src/modules/invoices/InvoiceTable.vue","webpack:///./src/modules/invoices/InvoiceTable.vue?8282","webpack:///./src/modules/invoices/InvoiceTable.vue?a1db","webpack:///./src/modules/invoices/InvoiceCharts.vue","webpack:///./src/modules/invoices/charts/InvoiceByMonth.vue","webpack:///src/modules/charts/LineChart.vue","webpack:///./src/modules/charts/LineChart.vue","webpack:///./src/modules/charts/LineChart.vue?6d95","webpack:///src/modules/invoices/charts/InvoiceByMonth.vue","webpack:///./src/modules/invoices/charts/InvoiceByMonth.vue?ace4","webpack:///./src/modules/invoices/charts/InvoiceByMonth.vue?ce61","webpack:///./src/modules/invoices/charts/SpendByProject.vue","webpack:///src/modules/charts/PieChart.vue","webpack:///./src/modules/charts/PieChart.vue","webpack:///./src/modules/charts/PieChart.vue?0861","webpack:///src/modules/invoices/charts/SpendByProject.vue","webpack:///./src/modules/invoices/charts/SpendByProject.vue?f2ab","webpack:///./src/modules/invoices/charts/SpendByProject.vue?0b21","webpack:///src/modules/invoices/InvoiceCharts.vue","webpack:///./src/modules/invoices/InvoiceCharts.vue?b95e","webpack:///./src/modules/invoices/InvoiceCharts.vue?2e55","webpack:///./src/i18n/index.js","webpack:///./src/utils/FilterHelpers.js","webpack:///./src/modules/invoices/PaymentMethods.vue","webpack:///src/modules/invoices/PaymentMethods.vue","webpack:///./src/modules/invoices/PaymentMethods.vue?f806","webpack:///./src/modules/invoices/PaymentMethods.vue?4e9c","webpack:///./src/modules/subscriptions/SubscriptionList.vue","webpack:///src/modules/subscriptions/SubscriptionList.vue","webpack:///./src/modules/subscriptions/SubscriptionList.vue?26d6","webpack:///./src/modules/subscriptions/SubscriptionList.vue?4a86","webpack:///src/modules/invoices/InvoiceMain.vue","webpack:///./src/modules/invoices/InvoiceMain.vue?b56b","webpack:///./src/modules/invoices/InvoiceMain.vue?6e70","webpack:///./src/modules/integrations/plaid/PlaidOAuthHandler.vue","webpack:///src/modules/integrations/plaid/PlaidOAuthHandler.vue","webpack:///./src/modules/integrations/plaid/PlaidOAuthHandler.vue?4a10","webpack:///./src/modules/integrations/plaid/PlaidOAuthHandler.vue?4b68","webpack:///./src/modules/integrations/plaid/PlaidLinkHandler.vue","webpack:///src/modules/integrations/plaid/PlaidLinkHandler.vue","webpack:///./src/modules/integrations/plaid/PlaidLinkHandler.vue?2492","webpack:///./src/modules/integrations/plaid/PlaidLinkHandler.vue?fdba","webpack:///./src/modules/invoices/InvoiceRoutes.js","webpack:///./src/modules/timetracking/TimerEventList.vue","webpack:///./src/modules/timetracking/TimerEventService.js","webpack:///./src/modules/timetracking/TimerEventTable.vue","webpack:///src/modules/timetracking/TimerEventTable.vue","webpack:///./src/modules/timetracking/TimerEventTable.vue?4dd0","webpack:///./src/modules/timetracking/TimerEventTable.vue?e6dc","webpack:///./src/modules/timetracking/TimerEventCharts.vue","webpack:///./src/modules/timetracking/charts/TimeByProject.vue","webpack:///src/modules/timetracking/charts/TimeByProject.vue","webpack:///./src/modules/timetracking/charts/TimeByProject.vue?1867","webpack:///./src/modules/timetracking/charts/TimeByProject.vue?7126","webpack:///./src/modules/timetracking/charts/TimeByMonth.vue","webpack:///src/modules/timetracking/charts/TimeByMonth.vue","webpack:///./src/modules/timetracking/charts/TimeByMonth.vue?309c","webpack:///./src/modules/timetracking/charts/TimeByMonth.vue?a6a0","webpack:///src/modules/timetracking/TimerEventCharts.vue","webpack:///./src/modules/timetracking/TimerEventCharts.vue?c3b9","webpack:///./src/modules/timetracking/TimerEventCharts.vue?1c68","webpack:///src/modules/timetracking/TimerEventList.vue","webpack:///./src/modules/timetracking/TimerEventList.vue?9ee9","webpack:///./src/modules/timetracking/TimerEventList.vue?bec4","webpack:///./src/modules/timetracking/TimeWorkedRoutes.js","webpack:///./src/modules/proposal/viewer/ProposalViewer.vue","webpack:///./src/modules/proposal/viewer/ProposalViewerService.js","webpack:///src/modules/proposal/viewer/ProposalViewer.vue","webpack:///./src/modules/proposal/viewer/ProposalViewer.vue?dfe2","webpack:///./src/modules/proposal/viewer/ProposalViewer.vue?c27b","webpack:///./src/modules/proposal/ProposalList.vue","webpack:///./src/modules/agreements/AgreementService.js","webpack:///src/modules/proposal/ProposalList.vue","webpack:///./src/modules/proposal/ProposalList.vue?67f6","webpack:///./src/modules/proposal/ProposalList.vue?9f85","webpack:///./src/modules/proposal/ProposalRoutes.js","webpack:///./src/modules/projects/ProjectMain.vue","webpack:///./src/modules/projects/Project.vue","webpack:///./src/modules/projects/DeliverableCard.vue","webpack:///src/modules/projects/DeliverableCard.vue","webpack:///./src/modules/projects/DeliverableCard.vue?5cae","webpack:///./src/modules/projects/DeliverableCard.vue?2e71","webpack:///./src/modules/projects/TimeAndMoney.vue","webpack:///src/modules/projects/TimeAndMoney.vue","webpack:///./src/modules/projects/TimeAndMoney.vue?99e4","webpack:///./src/modules/projects/TimeAndMoney.vue?86d8","webpack:///src/modules/projects/Project.vue","webpack:///./src/modules/projects/Project.vue?3a00","webpack:///./src/modules/projects/Project.vue?0cf1","webpack:///./src/modules/projects/management/ProjectKanban.vue","webpack:///./src/modules/projects/management/KanbanCard.vue","webpack:///src/modules/projects/management/KanbanCard.vue","webpack:///./src/modules/projects/management/KanbanCard.vue?d084","webpack:///./src/modules/projects/management/KanbanCard.vue?0e92","webpack:///./src/modules/projects/management/KanbanHeader.vue","webpack:///src/modules/projects/management/KanbanHeader.vue","webpack:///./src/modules/projects/management/KanbanHeader.vue?0d6e","webpack:///./src/modules/projects/management/KanbanHeader.vue?5dff","webpack:///src/modules/projects/management/ProjectKanban.vue","webpack:///./src/modules/projects/management/ProjectKanban.vue?9f8c","webpack:///./src/modules/projects/management/ProjectKanban.vue?142e","webpack:///./src/modules/projects/management/GanttView.vue","webpack:///./src/modules/projects/management/gantt/GanttChart.vue","webpack:///src/modules/projects/management/gantt/GanttChart.vue","webpack:///./src/modules/projects/management/gantt/GanttChart.vue?43f3","webpack:///./src/modules/projects/management/gantt/GanttChart.vue?56db","webpack:///src/modules/projects/management/GanttView.vue","webpack:///./src/modules/projects/management/GanttView.vue?5cc2","webpack:///./src/modules/projects/management/GanttView.vue?d4f1","webpack:///./src/modules/projects/management/ProjectCalendar.vue","webpack:///./src/modules/projects/management/ProjectMixin.js","webpack:///./src/modules/projects/management/CalendarItem.vue","webpack:///src/modules/projects/management/CalendarItem.vue","webpack:///./src/modules/projects/management/CalendarItem.vue?bb0d","webpack:///./src/modules/projects/management/CalendarItem.vue?6d55","webpack:///src/modules/projects/management/ProjectCalendar.vue","webpack:///./src/modules/projects/management/ProjectCalendar.vue?145a","webpack:///./src/modules/projects/management/ProjectCalendar.vue?21e9","webpack:///src/modules/projects/ProjectMain.vue","webpack:///./src/modules/projects/ProjectMain.vue?8654","webpack:///./src/modules/projects/ProjectMain.vue?f5e2","webpack:///./src/modules/projects/ProjectRoutes.js","webpack:///./src/modules/meetings/SchedulerList.vue","webpack:///src/modules/meetings/SchedulerList.vue","webpack:///./src/modules/meetings/SchedulerList.vue?07e0","webpack:///./src/modules/meetings/SchedulerList.vue?8c43","webpack:///./src/modules/meetings/MeetingList.vue","webpack:///./src/modules/meetings/MeetingListFilter.vue","webpack:///./src/components/FilterOption.vue","webpack:///src/components/FilterOption.vue","webpack:///./src/components/FilterOption.vue?ab21","webpack:///./src/components/FilterOption.vue?4b80","webpack:///src/modules/meetings/MeetingListFilter.vue","webpack:///./src/modules/meetings/MeetingListFilter.vue?59bc","webpack:///./src/modules/meetings/MeetingListFilter.vue?5c17","webpack:///src/modules/meetings/MeetingList.vue","webpack:///./src/modules/meetings/MeetingList.vue?92e5","webpack:///./src/modules/meetings/MeetingList.vue?e24f","webpack:///./src/modules/meetings/MeetingRoutes.js","webpack:///./src/modules/forms/FormSubmissionList.vue","webpack:///./src/modules/forms/FormService.js","webpack:///src/modules/forms/FormSubmissionList.vue","webpack:///./src/modules/forms/FormSubmissionList.vue?be59","webpack:///./src/modules/forms/FormSubmissionList.vue?644b","webpack:///./src/modules/forms/FormRoutes.js","webpack:///./src/modules/subscriptions/Subscribe.vue","webpack:///src/modules/subscriptions/Subscribe.vue","webpack:///./src/modules/subscriptions/Subscribe.vue?d57b","webpack:///./src/modules/subscriptions/Subscribe.vue?f680","webpack:///./src/modules/subscriptions/SubscriptionRoutes.js","webpack:///./src/modules/tickets/TicketList.vue","webpack:///./src/modules/tickets/TicketService.js","webpack:///src/modules/tickets/TicketList.vue","webpack:///./src/modules/tickets/TicketList.vue?bb0c","webpack:///./src/modules/tickets/TicketList.vue?2062","webpack:///./src/modules/tickets/TicketDetail.vue","webpack:///./src/modules/tickets/NewTicket.vue","webpack:///./src/modules/tickets/ContactSelector.vue","webpack:///src/modules/tickets/ContactSelector.vue","webpack:///./src/modules/tickets/ContactSelector.vue?f0a1","webpack:///./src/modules/tickets/ContactSelector.vue?e4e1","webpack:///./src/modules/tickets/TicketFormV1.vue","webpack:///src/modules/tickets/TicketFormV1.vue","webpack:///./src/modules/tickets/TicketFormV1.vue?d127","webpack:///./src/modules/tickets/TicketFormV1.vue?c93f","webpack:///./src/modules/tickets/TicketFormV2.vue","webpack:///src/modules/tickets/TicketFormV2.vue","webpack:///./src/modules/tickets/TicketFormV2.vue?b6af","webpack:///./src/modules/tickets/TicketFormV2.vue?6e83","webpack:///src/modules/tickets/NewTicket.vue","webpack:///./src/modules/tickets/NewTicket.vue?04c8","webpack:///./src/modules/tickets/NewTicket.vue?28e3","webpack:///./src/modules/tickets/ExistingTicket.vue","webpack:///src/modules/tickets/ExistingTicket.vue","webpack:///./src/modules/tickets/ExistingTicket.vue?a46c","webpack:///./src/modules/tickets/ExistingTicket.vue?5fc0","webpack:///src/modules/tickets/TicketDetail.vue","webpack:///./src/modules/tickets/TicketDetail.vue?cd6c","webpack:///./src/modules/tickets/TicketDetail.vue?153e","webpack:///./src/modules/tickets/TicketRoutes.js","webpack:///./src/modules/public/PublicRouter.vue","webpack:///src/modules/public/PublicRouter.vue","webpack:///./src/modules/public/PublicRouter.vue?b399","webpack:///./src/modules/public/PublicRouter.vue?9887","webpack:///./src/modules/agreements/viewer/AgreementViewer.vue","webpack:///./src/modules/agreements/AgreementRenderer.vue","webpack:///./src/modules/agreements/schema/Page.vue","webpack:///src/modules/agreements/schema/Page.vue","webpack:///./src/modules/agreements/schema/Page.vue?faeb","webpack:///./src/modules/agreements/schema/Page.vue?8554","webpack:///src/modules/agreements/AgreementRenderer.vue","webpack:///./src/modules/agreements/AgreementRenderer.vue?6dcd","webpack:///./src/modules/agreements/AgreementRenderer.vue?d7a5","webpack:///./src/modules/agreements/viewer/AgreementViewerService.js","webpack:///src/modules/agreements/viewer/AgreementViewer.vue","webpack:///./src/modules/agreements/viewer/AgreementViewer.vue?f053","webpack:///./src/modules/agreements/viewer/AgreementViewer.vue?bbb1","webpack:///./src/modules/agreements/AgreementRoutes.js","webpack:///./src/modules/files/MainFileSystem.vue","webpack:///src/modules/files/MainFileSystem.vue","webpack:///./src/modules/files/MainFileSystem.vue?538e","webpack:///./src/modules/files/MainFileSystem.vue?49c9","webpack:///./src/router/index.js","webpack:///./src/luxon/index.js","webpack:///./src/utils/formatters.js","webpack:///./src/utils/validations.js","webpack:///./src/components/HIcon.vue","webpack:///src/components/HIcon.vue","webpack:///./src/components/HIcon.vue?be46","webpack:///./src/components/HIcon.vue?2f10","webpack:///./src/components/HIcon2.vue","webpack:///src/components/HIcon2.vue","webpack:///./src/components/HIcon2.vue?b173","webpack:///./src/components/HIcon2.vue?f936","webpack:///./src/assets/css/themes.js","webpack:///./src/assets/icons/icons.js","webpack:///./src/main.js","webpack:///./src/modules/projects/deliverable/TagUserField.vue?dc25","webpack:///./src/modules/proposal/proposal-renderer/SignatureDialog.vue?7024","webpack:///./src/modules/agreements/schema/ServicePackage.vue?185f","webpack:///./src/modules/agreements/schema/Container.vue?120e","webpack:///./src/modules/proposal/proposal-renderer/AddComponent.vue?67f3","webpack:///./src/modules/projects/deliverable/Tasks.vue?dc94","webpack:///./src/modules/templates/invoices/schema/FileInput.vue?d466","webpack:///./src/modules/proposal/proposal-renderer/PaymentCaptureBlock.vue?9e9a","webpack:///./src/modules/agreements/schema/ElementTypes.vue?f46e","webpack:///./src/modules/forms/v1/renderer/DateInput.vue?64b3","webpack:///./src/modules/proposal/proposal-renderer/CoverPage.vue?26ac","webpack:///./src/modules/forms/v2/schema/ItemRenderer.vue?6e66","webpack:///./src/modules/utils/HDateTime.js","webpack:///./src/modules/proposal/proposal-renderer/ImageTextBlock.vue?1988","webpack:///./src/modules/forms/v2/schema/FileInput.vue?b813","webpack:///./src/modules/meetings/iFrameWrapper.vue?8363","webpack:///./src/modules/agreements/schema/PackageEditor.vue?db7e","webpack:///./src/modules/files/FileSystemService.js","webpack:///./src/components/Modal.vue","webpack:///./src/components/Alert.vue","webpack:///src/components/Alert.vue","webpack:///./src/components/Alert.vue?b597","webpack:///./src/components/Alert.vue?94f8","webpack:///src/components/Modal.vue","webpack:///./src/components/Modal.vue?d4d7","webpack:///./src/components/Modal.vue?b59b","webpack:///./src/modules/proposal/proposal-renderer/SignatureBlock.vue?e22f","webpack:///./src/modules/agreements/schema/FormEmbed.vue?f0ab","webpack:///./src/components/FileAttachments.vue?1878","webpack:///./src/modules/invoices/InvoiceRenderer/Products.vue","webpack:///./src/modules/products/ProductService.js","webpack:///src/modules/invoices/InvoiceRenderer/Products.vue","webpack:///./src/modules/invoices/InvoiceRenderer/Products.vue?fd62","webpack:///./src/modules/invoices/InvoiceRenderer/Products.vue?f55d","webpack:///./src/components/LanguageSwitcher.vue?e0ce","webpack:///./src/modules/agreements/schema/Signer.vue?c6eb","webpack:///./src/modules/forms/FormRequestViewer.vue?c032","webpack:///./src/modules/proposal/proposal-renderer/ComponentIcons.vue?d24c","webpack:///./src/modules/invoices/invoiceRendererV2/FixedPriceProjectList.vue?83ee","webpack:///./src/modules/welcome/WelcomePage.vue?7bd4","webpack:///./src/modules/invoices/InvoiceRenderer/ItemDetailsModal.vue?4527","webpack:///./src/components/HNav.vue?8061","webpack:///./src/components/Markdown.vue?f27e","webpack:///./src/modules/invoices/InvoiceRenderer/ProjectSelect.vue","webpack:///src/modules/invoices/InvoiceRenderer/ProjectSelect.vue","webpack:///./src/modules/invoices/InvoiceRenderer/ProjectSelect.vue?4607","webpack:///./src/modules/invoices/InvoiceRenderer/ProjectSelect.vue?b6e2","webpack:///./src/modules/proposal/ProposalDetails.vue?2399","webpack:///./src/views/nav/settings/SettingsLanguage.vue?a80d","webpack:///./src/views/nav/LeftNav.vue?82f4","webpack:///./src/modules/forms/v2/schema/RendererMixin.js","webpack:///./src/modules/files/FileSystem.vue","webpack:///./src/modules/files/LightBox.vue","webpack:///src/modules/files/LightBox.vue","webpack:///./src/modules/files/LightBox.vue?4c40","webpack:///./src/modules/files/LightBox.vue?6383","webpack:///src/modules/files/FileSystem.vue","webpack:///./src/modules/files/FileSystem.vue?43d3","webpack:///./src/modules/files/FileSystem.vue?222c","webpack:///./src/services/HttpClient.js","webpack:///./src/modules/agreements/AgreementRenderer.vue?dae1","webpack:///./src/modules/projects/management/ProjectCalendar.vue?a7df","webpack:///./src/modules/proposal/ProposalList.vue?7007","webpack:///./src/views/nav/settings/SettingsLink.vue?dd12","webpack:///./src/views/nav/settings/SettingsLink.vue?9cc6","webpack:///./src/modules/proposal/proposal-renderer/CommentsMenu.vue?16a4","webpack:///./src/modules/templates/invoices/schema/LineItems.vue?e246","webpack:///./src/views/nav/LeftNav.vue?55b4","webpack:///./src/components/FileAttachments.vue","webpack:///src/components/FileAttachments.vue","webpack:///./src/components/FileAttachments.vue?63f9","webpack:///./src/components/FileAttachments.vue?d7ee","webpack:///./src/modules/proposal/proposal-renderer/AcceptBlock.vue?78e2","webpack:///./src/views/nav/settings/SettingsLanguage.vue?101b","webpack:///./src/modules/subscriptions/Subscribe.vue?2d02","webpack:///./src/components/BasicModal.vue?f944","webpack:///./src/modules/agreements/schema/ServicePackage.vue?92b5","webpack:///./src/modules/invoices/InvoiceRenderer/ConfirmDialog.vue?9f0a","webpack:///./src/modules/files/FileSystem.vue?6243","webpack:///./src/modules/forms/v2/schema/TextInput.vue?5744","webpack:///./src/components/Modal.vue?e3a7","webpack:///./src/modules/agreements/AgreementRenderer.vue?f50f","webpack:///./src/modules/projects/management/gantt/GanttChart.vue?be3f","webpack:///./src/modules/forms/v1/FormV1.vue?bca4","webpack:///./src/modules/forms/v2/FormV2.vue?7031","webpack:///./src/modules/agreements/schema/PaymentPlan.vue?0c04","webpack:///./src/modules/forms/v1/renderer/FileInput.vue?41ad","webpack:///./src/modules/projects/management/KanbanHeader.vue?960a","webpack:///./src/components/DateSelector.vue?754c","webpack:///./src/modules/projects/management/CalendarItem.vue?54af","webpack:///./src/modules/forms/FormSubmissionList.vue?0962","webpack:///./src/modules/meetings/MeetingDetail.vue?d917","webpack:///./src/modules/tickets/TicketList.vue?edf2","webpack:///./src/components/HHeader.vue?6f76","webpack:///./src/modules/files/LightBox.vue?eeaa","webpack:///./src/modules/proposal/viewer/ProposalViewer.vue?4240","webpack:///./src/modules/projects/deliverable/DeliverableDetail.vue?ab11","webpack:///./src/components/ConfirmDialog.vue?d8a3","webpack:///./src/components/LanguageSwitcher.vue?7fb1","webpack:///./src/components/HIcon.vue?2fa7","webpack:///./src/modules/agreements/schema/MeetingInfo.vue?d4f8","webpack:///./src/views/nav/MobileNav.vue?2d63","webpack:///./src/components/ConfirmModal.vue","webpack:///src/components/ConfirmModal.vue","webpack:///./src/components/ConfirmModal.vue?0722","webpack:///./src/components/ConfirmModal.vue?415a","webpack:///./src/modules/projects/DeliverableCard.vue?7927","webpack:///./src/modules/projects/ProjectMain.vue?d43e","webpack:///./src/modules/projects/Project.vue?3b2b","webpack:///./src/modules/projects/management/ProjectKanban.vue?40ff","webpack:///./src/modules/invoices/InvoiceRenderer/PaymentHistory.vue?95cf","webpack:///./src/modules/forms/v2/schema/ItemRenderer.vue","webpack:///./src/modules/forms/v2/schema/TextBlock.vue","webpack:///src/modules/forms/v2/schema/TextBlock.vue","webpack:///./src/modules/forms/v2/schema/TextBlock.vue?1cf4","webpack:///./src/modules/forms/v2/schema/TextBlock.vue?454f","webpack:///./src/modules/forms/v2/schema/TextArea.vue","webpack:///src/modules/forms/v2/schema/TextArea.vue","webpack:///./src/modules/forms/v2/schema/TextArea.vue?2863","webpack:///./src/modules/forms/v2/schema/TextArea.vue?206f","webpack:///./src/modules/forms/v2/schema/TextInput.vue","webpack:///src/modules/forms/v2/schema/TextInput.vue","webpack:///./src/modules/forms/v2/schema/TextInput.vue?6de1","webpack:///./src/modules/forms/v2/schema/TextInput.vue?3e4e","webpack:///./src/modules/forms/v2/schema/Spacer.vue","webpack:///src/modules/templates/invoices/schema/Spacer.vue","webpack:///./src/modules/forms/v2/schema/Spacer.vue?24be","webpack:///./src/modules/forms/v2/schema/Spacer.vue?4003","webpack:///./src/modules/forms/v2/schema/Select.vue","webpack:///src/modules/forms/v2/schema/Select.vue","webpack:///./src/modules/forms/v2/schema/Select.vue?553c","webpack:///./src/modules/forms/v2/schema/Select.vue?63b9","webpack:///./src/modules/forms/v2/schema/Radio.vue","webpack:///src/modules/forms/v2/schema/Radio.vue","webpack:///./src/modules/forms/v2/schema/Radio.vue?ddfb","webpack:///./src/modules/forms/v2/schema/Radio.vue?925c","webpack:///./src/modules/forms/v2/schema/NewPage.vue","webpack:///src/modules/forms/v2/schema/NewPage.vue","webpack:///./src/modules/forms/v2/schema/NewPage.vue?f8cb","webpack:///./src/modules/forms/v2/schema/NewPage.vue?a28d","webpack:///./src/modules/forms/v2/schema/FileInput.vue","webpack:///src/modules/forms/v2/schema/FileInput.vue","webpack:///./src/modules/forms/v2/schema/FileInput.vue?70c7","webpack:///./src/modules/forms/v2/schema/FileInput.vue?bb38","webpack:///./src/modules/forms/v2/schema/ImageBlock.vue","webpack:///src/modules/forms/v2/schema/ImageBlock.vue","webpack:///./src/modules/forms/v2/schema/ImageBlock.vue?3b6e","webpack:///./src/modules/forms/v2/schema/ImageBlock.vue?26f2","webpack:///./src/modules/forms/v2/schema/Divider.vue","webpack:///src/modules/forms/v2/schema/Divider.vue","webpack:///./src/modules/forms/v2/schema/Divider.vue?dcef","webpack:///./src/modules/forms/v2/schema/Divider.vue?30f2","webpack:///./src/modules/forms/v2/schema/DateInput.vue","webpack:///src/modules/forms/v2/schema/DateInput.vue","webpack:///./src/modules/forms/v2/schema/DateInput.vue?faaf","webpack:///./src/modules/forms/v2/schema/DateInput.vue?36e4","webpack:///./src/modules/forms/v2/schema/Container.vue","webpack:///src/modules/forms/v2/schema/Container.vue","webpack:///./src/modules/forms/v2/schema/Container.vue?3b0a","webpack:///./src/modules/forms/v2/schema/Container.vue?3022","webpack:///./src/modules/forms/v2/schema/Checkbox.vue","webpack:///src/modules/forms/v2/schema/Checkbox.vue","webpack:///./src/modules/forms/v2/schema/Checkbox.vue?d10d","webpack:///./src/modules/forms/v2/schema/Checkbox.vue?28d3","webpack:///./src/modules/forms/v2/schema/Logo.vue","webpack:///src/modules/forms/v2/schema/Logo.vue","webpack:///./src/modules/forms/v2/schema/Logo.vue?2a6a","webpack:///./src/modules/forms/v2/schema/Logo.vue?9d1d","webpack:///./src/modules/forms/v2/schema/Button.vue","webpack:///src/modules/forms/v2/schema/Button.vue","webpack:///./src/modules/forms/v2/schema/Button.vue?803a","webpack:///./src/modules/forms/v2/schema/Button.vue?9db9","webpack:///src/modules/forms/v2/schema/ItemRenderer.vue","webpack:///./src/modules/forms/v2/schema/ItemRenderer.vue?d25c","webpack:///./src/modules/forms/v2/schema/ItemRenderer.vue?d5ab","webpack:///./src/views/nav/TopNav.vue?0ca3","webpack:///./src/views/NotFound.vue?c9b2","webpack:///./src/modules/forms/FormResultViewer.vue?1d3a","webpack:///./src/modules/forms/v2/schema/Checkbox.vue?5f7d","webpack:///./src/modules/proposal/proposal-renderer/DeliverableFees.vue?7986","webpack:///./src/modules/proposal/proposal-renderer/ProposalRenderer.vue?6daa","webpack:///./src/modules/invoices/InvoiceTable.vue?7074","webpack:///./src/modules/proposal/proposal-renderer/TermsDialog.vue?b7d1","webpack:///./src/modules/tickets/ExistingTicket.vue?08c9","webpack:///./src/modules/agreements/schema/MeetingSchedule.vue?5d77","webpack:///./src/modules/invoices/viewer/Payment.vue?3f3e","webpack:///./src/components/DateSelector.vue","webpack:///src/components/DateSelector.vue","webpack:///./src/components/DateSelector.vue?ec7f","webpack:///./src/components/DateSelector.vue?3d1b","webpack:///./src/modules/agreements/schema/Services.vue?232a","webpack:///./src/modules/meetings/MeetingList.vue?a79f","webpack:///./src/modules/proposal/proposal-renderer/ProposalRenderer.vue?1ed7","webpack:///./src/modules/forms/v2/schema/Container.vue?c925","webpack:///./src/modules/templates/invoices/schema/ItemRenderer.vue?c784","webpack:///./src/modules/templates/invoices/schema/ItemRenderer.vue","webpack:///./src/modules/templates/invoices/schema/Container.vue","webpack:///src/modules/templates/invoices/schema/Container.vue","webpack:///./src/modules/templates/invoices/schema/Container.vue?824e","webpack:///./src/modules/templates/invoices/schema/Container.vue?78ef","webpack:///./src/modules/templates/invoices/schema/Divider.vue","webpack:///src/modules/templates/invoices/schema/Divider.vue","webpack:///./src/modules/templates/invoices/schema/Divider.vue?7ae6","webpack:///./src/modules/templates/invoices/schema/Divider.vue?fa7d","webpack:///./src/modules/templates/invoices/schema/FileInput.vue","webpack:///src/modules/templates/invoices/schema/FileInput.vue","webpack:///./src/modules/templates/invoices/schema/FileInput.vue?9654","webpack:///./src/modules/templates/invoices/schema/FileInput.vue?a2bb","webpack:///./src/modules/templates/invoices/schema/ImageBlock.vue","webpack:///src/modules/templates/invoices/schema/ImageBlock.vue","webpack:///./src/modules/templates/invoices/schema/ImageBlock.vue?21c6","webpack:///./src/modules/templates/invoices/schema/ImageBlock.vue?8508","webpack:///./src/modules/templates/invoices/schema/Spacer.vue","webpack:///./src/modules/templates/invoices/schema/Spacer.vue?d5e9","webpack:///./src/modules/templates/invoices/schema/Spacer.vue?3979","webpack:///./src/modules/templates/invoices/schema/TextBlock.vue","webpack:///src/modules/templates/invoices/schema/TextBlock.vue","webpack:///./src/modules/templates/invoices/schema/TextBlock.vue?ae4e","webpack:///./src/modules/templates/invoices/schema/TextBlock.vue?caf1","webpack:///./src/modules/templates/invoices/schema/Logo.vue","webpack:///src/modules/templates/invoices/schema/Logo.vue","webpack:///./src/modules/templates/invoices/schema/Logo.vue?1f49","webpack:///./src/modules/templates/invoices/schema/Logo.vue?d163","webpack:///./src/modules/templates/invoices/schema/LineItems.vue","webpack:///./src/modules/templates/invoices/schema/LineItemEditor.vue","webpack:///src/modules/templates/invoices/schema/LineItemEditor.vue","webpack:///./src/modules/templates/invoices/schema/LineItemEditor.vue?5a14","webpack:///./src/modules/templates/invoices/schema/LineItemEditor.vue?4492","webpack:///./src/modules/invoices/invoiceRendererV2/TimeEntries.vue","webpack:///src/modules/invoices/invoiceRendererV2/TimeEntries.vue","webpack:///./src/modules/invoices/invoiceRendererV2/TimeEntries.vue?2f0d","webpack:///./src/modules/invoices/invoiceRendererV2/TimeEntries.vue?00f6","webpack:///./src/modules/invoices/invoiceRendererV2/FixedPriceProjectList.vue","webpack:///src/modules/invoices/invoiceRendererV2/FixedPriceProjectList.vue","webpack:///./src/modules/invoices/invoiceRendererV2/FixedPriceProjectList.vue?f2ee","webpack:///./src/modules/invoices/invoiceRendererV2/FixedPriceProjectList.vue?b4dc","webpack:///./src/modules/templates/invoices/schema/ScheduledPayments.vue","webpack:///src/modules/templates/invoices/schema/ScheduledPayments.vue","webpack:///./src/modules/templates/invoices/schema/ScheduledPayments.vue?6899","webpack:///./src/modules/templates/invoices/schema/ScheduledPayments.vue?a2a8","webpack:///src/modules/templates/invoices/schema/LineItems.vue","webpack:///./src/modules/templates/invoices/schema/LineItems.vue?7f79","webpack:///./src/modules/templates/invoices/schema/LineItems.vue?20f0","webpack:///./src/modules/templates/invoices/schema/FileAttachments.vue","webpack:///src/modules/templates/invoices/schema/FileAttachments.vue","webpack:///./src/modules/templates/invoices/schema/FileAttachments.vue?6e56","webpack:///./src/modules/templates/invoices/schema/FileAttachments.vue?f162","webpack:///src/modules/templates/invoices/schema/ItemRenderer.vue","webpack:///./src/modules/templates/invoices/schema/ItemRenderer.vue?9851","webpack:///./src/modules/templates/invoices/schema/ItemRenderer.vue?dfdc"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","jsonpScriptSrc","p","exports","module","l","e","promises","installedChunkData","promise","Promise","resolve","reject","onScriptComplete","script","document","createElement","charset","timeout","nc","setAttribute","src","error","Error","event","onerror","onload","clearTimeout","chunk","errorType","type","realSrc","target","message","name","request","undefined","setTimeout","head","appendChild","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","err","console","jsonpArray","window","oldJsonpFunction","slice","render","_vm","this","_c","_self","class","active","inContainer","attrs","item","id","editMode","_e","scopedSlots","_u","fn","on","staticClass","_g","_v","staticStyle","$event","$emit","directives","rawName","content","expression","stopPropagation","ref","tag","agreement","accountLogo","index","tokens","mceConfig","clientMode","signer","templateMode","pageWidth","isMobile","handleSigned","staticRenderFns","style","buttonAlignment","padding","pl","pr","pb","pt","buttonStyle","accepted","buttonColor","button","xSmall","small","large","xLarge","block","buttonDisabled","handleClick","buttonFontColor","_s","acceptedText","text","methods","props","components","mixins","ResponsiveMixin","mounted","beforeDestroy","finalize","getElementById","classList","remove","scrollIntoView","behavior","add","ix","acceptedBy","indexOf","computed","fullyExecuted","locked","clientSigned","buttonSize","bgColor","color","charAt","substring","parseInt","g","b","component","VBtn","alignment","buttonSettings","outlined","textColor","template","disabled","open","redirectUrl","size","minHeight","background","_l","filteredColumns","column","colIndex","width","cols","items","subIndex","refInFor","styles","containerItemClick","containerItemUpdated","containerItemSigned","schemaTypes","category","sIndex","label","types","filter","allowInContainer","schema","addItem","icon","description","Draggable","ItemRenderer","editItem","AgreementSchemaTypes","$refs","reset","container","element","clickEvent","containerTarget","signature","pageSize","columnCount","backgroundImageUrl","backgroundImageSize","backgroundColor","columns","Math","round","VCol","VContainer","VIcon","VMenu","VRow","weight","isReady","refreshKey","completed","formStyle","discoveryTemplate","pages","currentPage","font","buttonProps","results","knownData","nextPage","previousPage","handleInput","isLastPage","justification","buttonTextColor","prevPageIcon","prevPageText","form","setKnownData","formData","formatPreviousAnswers","loadPartialForm","_this$agreement","_this$agreement2","_this$agreement3","_this$agreement4","_this$agreement5","_this$agreement6","_this$agreement7","_this$agreement8","_this$agreement9","signerType","firstName","lastName","email","phone","client","businessName","website","address1","address2","city","locality","postal","country","partialResult","localStorage","getItem","savedFormKey","JSON","parse","log","doValidation","sort","a","toString","localeCompare","formResult","files","answer","schemaMapping","Array","isArray","join","stringify","map","f","answers","fieldKey","fieldName","fieldType","question","fileUploads","invalidCount","validate","errorText","showError","findIndex","setItem","schemaV2","isInputType","columnSchemaItems","k","resultIndex","processItem","$nextTick","find","split","forEach","trim","fileName","s3File","attachedFormId","borderColor","borderWidth","borderRadius","formSettingsV2","submitAlignment","url","imageStyle","scale","minWidth","maxWidth","paymentStyle","pendingCharge","clientPaymentMethod","last4","$formatters","dollars","amount","currency","$DateTime","fromISO","timestamp","toLocaleString","DATETIME_MED","stripe","account","stripeAccountId","Stripe","process","stripeAccount","elements","card","base","$vuetify","theme","dark","mount","preAuth","Number","token","createToken","then","res","errorState","$store","commit","goodState","update","catch","VImg","userSigners","userSigner","clientSigners","clientSigner","state","eventBus","isSigned","isCurrentUser","doSign","arguments","signatureType","DateTime","DATETIME_SHORT","signingFor","title","enableGeoLocationOnSignature","ip","countryFlag","region","signDialog","tabChanged","$t","signatureFont","domProps","fonts","model","callback","$$v","$set","proxy","initials","cancelDragDrop","handleDrop","clearDrawingPad","cancelSign","confirmSign","x","toUpperCase","tabNumber","preventDefault","dt","dataTransfer","file","reader","FileReader","onloadend","fileLoaded","readAsDataURL","progressEvent","signaturePad","fromDataURL","undoSignature","pngSignature","saveSignature","isEmpty","now","toISO","VSelect","VTab","VTabItem","VTabs","VTextField","SignDialog","BasicModal","hasCreatedSignature","accountName","signedBy","Signer","includes","clientOnly","signers","breakpoint","smAndDown","height","fontSize","tokenizedText","evaluatedTerms","replaceAll","activeElementId","getters","getTinyMceKey","mceConfigText","handleTextInput","editor","isEditorActive","initialAiContext","initialAiPrompt","finalizationPrompt","contextmenu","setup","onAction","insertContent","ui","registry","addMenuButton","fetch","addButton","aiHelper","addNestedMenuItem","getSubmenuItems","rewrite","editorActive","broadcastChange","modifier","default","AiAssistantService","aiAssistantService","textEditor","selection","getContent","format","response","setContent","_err$response","finally","AiChatWidget","binding","maxHeight","context","initialPrompt","useCase","resultFormat","globalModalController","openModal","marked","breaks","currentContent","isFocused","agreementBuilderState","watch","itemText","val","focus","stacked","packages","onDragStart","onDragEnd","servicePackage","handleChange","deletePackage","addNewPackage","packageTemplates","importTemplate","wrapperStyle","services","tableBorderColor","tokensForItem","lineItemMenu","cursor","addLineItem","addOns","addOn","getCustomBranding","primaryColor","addOnsDisabled","selected","addOnMenu","showButton","mainButtonDisabled","handleSelection","buttonText","packageMenu","handlePackageEditorClose","dialog","menuY","menuX","deleteItem","saveItem","handleClose","packageName","startDate","fees","feeType","periods","retainerPeriods","feeTypes","schedule","retainerSchedule","retainerTiming","validateMinMax","estimateMin","estimateMax","currencySymbol","retainerOverageRate","depositAmount","taxable","packageList","overrideDeliverablePackageId","projectTypes","projectTypeId","confirmDelete","save","EmbeddedServices","constructor","_defineProperty","httpClient","HttpClient","getDeliverablePackages","AgreementMixin","DateSelector","embeddedServices","getPackageList","minOrMax","assign","headingText","bodyText","ConfirmModal","periodsLabel","getHourlyDepositAmount","getPerItemDepositAmount","VCheckbox","showTinyMCE","qtyChanged","quantity","rate","oneTimeFeeOptions","oneTimeFee","relativeDueDate","units","humanUnits","handleDurationKeydown","dueDateRelative","duration","timeUnits","timeUnit","dueDate","serviceItem","quantityUpdated","handleNoProduct","beforeUnmount","confirm","product","productName","replace","descriptionFormat","uuid","showQuantity","u","VSwitch","initialize","convertMarkdown","formatMarkdown","ServiceItemRenderer","ServiceItemEditor","PackageEditor","Products","isEditorFocused","menuWidth","addOnItem","optional","packageTokens","setReadOnly","readOnly","setMode","pointerEvent","clientX","clientY","list","currencyRate","currencyRates","uuid4","_item$product","Map","set","dueDateFormatted","totalTax","taxRate","taxLabel","selectionType","pkg","unit","toLowerCase","$tc","DATE_MED","syncItemsAndAddOns","deep","handler","isSinglePackageAndRequired","selectionRequired","getCurrency","getTaxRate","getTaxLabel","packageTotal","packageTotalWithTax","packageTax","feeLabel","getPackageTotalPreTax","getPackageTotalWithTax","getPackageTax","getFeeLabel","getDepositAmount","ServicePackage","getPackageTemplates","newPackage","feeSchedule","defaultSelection","deliverables","retainerOverage","verifySelection","schedulerStyle","meetingInfo","scheduledMeeting","showInfo","confirmedTime","tokenMap","selectedLocation","attachedSchedulerId","timeConfirmed","meetingStatus","start","toFormat","Settings","defaultZone","location","zoomMeeting","join_url","pstnPassword","zoomDialIn","number","country_name","microsoftEvent","meetingLink","openTeamsMeeting","googleMeeting","hangoutLink","googleDialIn","regionCode","pin","address","custom","openLink","cancelUrl","rescheduleUrl","selectedDate","incrementDay","zoomOut","DATE_HUGE","availableSlots","slot","contrast","lightAccent","selectTimeSlot","selectedSlot","TIME_SIMPLE","disablePrevious","incrementMonth","monthStart","month","year","disableNext","minDate","toISODate","hasAvailability","firstDayOfWeek","dateClicked","timezones","startOf","monthEnd","plus","months","minus","seconds","timezoneMenu","count","days","params","accountId","meet","end","conflictCheck","availableMeetings","date","dateString","availableDates","toMillis","suffix","num","maxMeetingDate","endOf","black","chroma","white","alpha","hex","dates","VDatePicker","locations","isScheduled","ourLocation","getIcon","getLabel","scheduleMeeting","schedulerInfo","VRadio","VRadioGroup","MeetingInfo","MeetingSchedule","scheduledTimezone","scheduledLocale","locale","_this$scheduledMeetin","axios","baseURL","getPodUrl","withCredentials","getMeetingInfo","urlPath","uniqueUrlPath","meetingId","checkNull","timeUnitTitleCase","str","locationDesc","_this$selectedLocatio","_this$selectedLocatio2","formatConfirmedTime","ownerName","weekday","day","settings","global_dial_in_numbers","entryPoints","entryPointType","fullMeetingLink","scheduledPayments","payment","triggerType","triggerDate","calculateRelativeDate","relativeTriggerDate","calculatedAmount","relativeDate","dateCompleted","weeks","calculateTotals","totalPercentage","total","totalAmount","calculatedPercentage","amountType","factor","pow","immediate","totalUpFront","getTotalUpFront","totalPreTax","showPaymentElement","_m","stripePaymentIntent","status","DATETIME_FULL","invoiceId","invoiceNumberFormatted","paymentElement","setupStripePayment","agreementPaymentElement","paymentIntent","retrievePaymentIntent","clientSecret","options","paymentMethodCreation","cssSrc","body","fontFamily","appearance","stripeTheme","variables","fontSizeBase","colorBackground","colorText","stripeContrast","calculateAdditionalFee","feeDecimal","netAmount","totalInvoice","submitError","submit","paymentMethodResult","createPaymentMethod","cardTypes","paymentMethod","whoPaysCardFees","baseCardFeeRate","splitCardFeeRate","qs","post","headers","confirmPayment","redirect","disableDrag","ElementTypes","AcceptButton","Button","Container","Services","Divider","Footer","FormEmbed","SchedulerEmbed","Header","ImageBlock","Logo","Payment","Scheduler","Signature","Spacer","Terms","TextBlock","PaymentPlan","PaymentV2","overlayColor","overlayOpacity","fullscreen","persistent","_t","Boolean","String","closeOnEscape","alert","addEventListener","handleKeyDown","removeEventListener","setAlert","newVal","VDialog","getClient","authWithCredentials","password","config","refreshToken","store","getAccountId","requestMagicLink","baseUrl","magicToken","logout","Authorization","removeItem","force","getProfile","accessToken","getCustomPages","clientId","encodeURIComponent","getCustomEmbed","getDomainSettings","domain","ProjectService","getProjectTypes","getClientId","getProjects","getDeliverables","getDeliverableDetail","deliverableId","getAssignableUsers","projectId","getAllAssignableUsers","updateKanbanProperties","updates","put","createDeliverable","deliverable","patchDeliverable","patchData","patch","deleteDeliverable","delete","getProjectDeliverables","approveDeliverable","addComment","comment","editComment","deleteComment","commentId","getProjectPayments","getTimeWorkedForProject","getSignedProjectUrl","getSignedUrl","deleteFile","loadFonts","Set","h1","h2","h3","families","WebFontLoader","load","google","getFullCountry","isoCode","countries","code","getTokensFromAgreement","_agreement$client","_agreement$client2","_agreement$client3","_agreement$client4","_agreement$client5","_agreement$client6","_agreement$client7","_agreement$client8","_agreement$client9","_agreement$client10","_agreement$client11","_agreement$client12","_agreement$opportunit","_agreement$opportunit2","_agreement$opportunit3","_agreement$opportunit4","_agreement$opportunit5","_agreement$opportunit6","_agreement$opportunit7","_agreement$opportunit8","_agreement$opportunit9","_agreement$opportunit10","_agreement$opportunit11","_agreement$opportunit12","_agreement$opportunit13","_agreement$opportunit14","_agreement$opportunit15","_agreement$opportunit16","_agreement$client14","_this$agreement$clien","dateCreated","DATE_FULL","taxId","hourlyAmount","clientFields","_agreement$client13","customValues","v","mappingKey","opportunity","role","pipelineFields","_agreement$opportunit17","paymentPlan","getPaymentPlan","groupedRecurring","getGroupedRecurring","firstPayment","recurringInvestment","getRecurringInvestment","cardProcessingFees","oneTimeTotal","recurringTotal","recurringTaxAmount","taxAmount","formatServiceItemDate","formatPackageFeeType","formatServiceItemTotal","getItemRate","getPackageTotal","taxableTotal","_agreement$client15","_agreement$client16","_agreement$client17","defaultTaxRate","hours","min","max","itemTotal","advancedOnly","selectedPackages","getSelectedPackages","totals","selectedPackage","includeRetainer","grouping","schedulers","getServices","service","getItemsOfType","paymentPlans","page","containerItem","fields","contactFields","CustomEventBus","EventBus","$on","eventName","functionReference","trace","$off","detach","payload","emit","Vue","use","Vuex","Store","initialized","origRequestedUri","darkMode","selectLang","selectedClientId","loggedInUser","leftNavExpanded","rightNavExpanded","rightNavFocus","isLoggedIn","loadingState","pubNub","pubNubToken","pubNubChannels","accountFonts","customPages","projectFields","customEmbed","usersForAccount","defaultCurrency","weekStartsOn","navDetailKeys","chartColors","actionCount","tabs","stripeKey","payPalClientId","getMessageChannelPrefix","getClientAccounts","clientAccess","clients","getClientName","clientName","getBaseUrl","podUrl","warn","getFeatures","clientFeatureMap","portalFeatures","getFullName","customBranding","mutations","setDomain","setSelectedClient","setInitialized","setAccessToken","authenticatedUser","authToken","setToken","setOrigRequestedUri","uri","setContactRecord","contact","userId","setLoggedInUser","user","PubNub","subscribeKey","publishKey","pubNubAuth","logVerbosity","auto_reconnect","restore","addListener","subscription","subscriptionSet","channels","msg","channel","parts","truncated","pop","subscribe","setAccountId","setUserId","startLoading","stopLoading","success","info","actions","webpackContext","req","webpackContextResolve","keys","primaryFont","rightNavWidth","leftNavWidth","mobile","show","$router","logo","navLinks","link","route","hyperLink","clientInitials","placement","arrow","arrowType","animation","delay","boundary","expanded","disableActive","$route","path","startsWith","altRoutes","getCountriesTranslate","switchLocale","themeIcon","handleThemeSelection","Countries","getCountriesSimple","countriesSimple","getCountries","countriesTranslate","codeToName","tmp","navigator","language","PodService","standardHttpClient","ping","getIpInfo","clearCookies","expandClientList","clientList","handleClientSelection","getClientInitials","href","ignoreMe","words","ret","ua","VAvatar","children","child","selectValue","pro","required","SettingsLink","SettingsLocale","WorkspaceSelector","lang","reload","doLogout","accounts","disableAutoSelect","AuthService","podLogout","podService","finalizeLogout","isFullUser","isAccountFullUser","sortPages","sortOrder","standardPages","features","invoicesEnabled","summaryFinancialsEnabled","timeEnabled","projectsEnabled","proposalsEnabled","filesEnabled","meetingsEnabled","formsEnabled","ticketsEnabled","slug","isDefault","totalPages","pagePosition","logoDark","NavLink","SettingsNav","NavMixin","actionItems","getActionItems","invoices","forms","proposals","agreements","meetings","subscriptionRequests","openRequest","productSelections","subscriptionProduct","prices","unitAmount","checkoutUrl","openDeliverable","project","tabItem","isReadOnly","approvalRequired","approvalRequestedAt","confirmApproval","approvals","approval","approverName","approvedAt","approvalStatus","mdAndUp","projectService","statusList","statusId","currentStatus","hexColor","assignedToList","assignedTo","assignableUsers","_i","$$a","$$el","$$c","checked","$$i","concat","showDeleted","confirmDeleteDeliverable","saveAndCloseInternal","sendComment","sortedActivity","canEdit","setHoverIndex","events","showEvents","_f","author","nativeOn","editIndex","commentToEdit","saveEdit","cancelEdit","confirmDeleteDialog","cancelDelete","newComment","newCommentObj","getPendingComment","clearComment","VTextarea","_k","keyCode","severity","handleSubmit","hideNo","no","yes","yesText","noText","VForm","TagUserField","ConfirmDialog","hoverIndex","commentToDelete","moment","checkCommentBeforeSave","pendingComment","tagUserField","privateComment","sendEmail","comments","authorId","compareDates","getName","activity","tasks","endDragHandler","detailView","complete","checkDeleteTask","innerText","ctrlKey","shiftKey","altKey","metaKey","setDescription","addNewTask","deleteTask","updateCounter","focusId","focusEditable","doFocus","el","getSelection","range","createRange","removeAllRanges","selectNodeContents","collapse","addRange","clearEmpty","task","$validations","deleteCheck","uuidv4","editing","inputOnlyMode","compiledMarkdown","setEditing","localId","placeholder","solo","flat","handleBlur","handleEnter","handleShiftEnter","cloneDeep","getId","caret","getCaretPosition","setCaretPosition","markdownEditor","selectionStart","pos","setSelectionRange","createTextRange","moveEnd","moveStart","select","assignedUser","profilePicture","substr","showName","domainRoot","FileSystem","showContextMenu","sortBy","sortDir","folderId","isDragging","handleUploadFile","handleDragStart","handleDragOver","handleDragEnd","addNew","Files","fileSystemService","FileSystemService","getDomainRoot","File","Tasks","Activity","Markdown","AssignedUser","DomainRoot","origDeliverable","observer","isSaving","jsonPatch","observe","getChannelName","eventHandler","checkClear","propName","userMetadata","handleCommentEvent","Date","toISOString","edited","generatePatchFiltered","generate","deleted","noIsSuperAction","formatTime","portalAccess","reverse","projects","getProjectList","getProjectType","DeliverableDetail","invoice","openInvoice","dateDue","invoiceNumber","payments","openPaymentDetail","downloadInvoice","rendererType","invoiceService","InvoiceService","setInvoice","getInvoice","getAchEnabled","getInvoices","earliest","latest","getDepositAccount","responseType","getInvoiceItem","invoiceItemId","forceRenderIndex","documentHeader","editable","xsOnly","invoiceNumberFormattedPreview","smAndUp","localTotal","purchaseOrder","handlePurchaseOrderClick","recurring","shortDate","dateSent","handlePaymentTermsClick","paymentDays","dateDueWarning","dateDueMenu","accountInfo","accountInfoCityStateZip","clientInfo","clientInfoCityStateZip","itemHeaders","moveUp","moveDown","handleDeleteItemDialog","assignProjectToItem","manualQtyFocus","manualQtyBlur","itemChange","qty","manualPriceFocus","manualPriceBlur","price","taxEnabled","subtotal","handleItemDetailsClick","retainerPeriod","timerEventIds","allowDetailedInvoice","hourly","clickableQty","handleQtyClick","decimal","clickableFee","handlePriceClick","totalLateFee","lateFeeWaived","daysPastDue","lateFee","lateFeePercentage","paymentTerms","latePaymentFee","waiveLateFee","invoiceType","showProductsMenu","handleSelectProduct","handleAddNewTrackedItemModal","hasExpenses","handleAddExpenses","balanceExists","creditAmount","handleApplyDeposit","itemSubtotal","convenienceFee","taxRateLocked","discountPercentage","forceSave","discountAmount","additionalTaxRates","taxPercentage","paymentTotal","amountDue","payOnlineUrl","handlePaymentAction","notes","handleNotesChange","payInstructions","handlePayInstructionsChange","attachments","attachmentService","termsSentence","autoPayMethod","wasAutoPaid","confirmCancelAutoPay","showPaymentCardBanner","acceptStripe","acceptPayPal","showSetupPaymentCardBanner","deleteItemDialog","cancelDeleteItem","handleDeleteItem","showPaymentDetails","showItemDetailsModal","itemDetailsItemId","formattedDate","pending","localAmount","paymentProvider","memo","paidBy","referenceNumber","DATETIME_SHORT_WITH_SECONDS","integrationKeys","quickbooksId","integratedPayment","deletePayment","paymentProviders","humanDateTime","datePaid","timerEvents","dateDisplay","timeWorked","projectName","deliverableName","fixupEventList","fixupEvent","_item$projectName","_item$deliverableName","_item$notes","humanDate","timerStart","timerEnd","dateTime","durationHoursDecimal","diff","values","timeWorkedSortable","valueTooltip","sortable","filters","empty","VDataTable","inputValue","submitDisabled","input","PaymentIcon","FileAttachments","Modal","PaymentDetailsModal","ItemDetailsModal","ProjectSelect","depositAccount","saving","itemFocus","itemTypes","discountTypes","deleteItemIndex","showItemHoursModal","itemModalIndex","itemTableKey","showAddNewItemModal","showInvoiceNumberFormatModal","handleDiscountChange","handlePayInstructionsClick","innerHTML","handleAddNewLineItemModal","paymentDateFormat","SimpleTextInput","lateFeeApplied","lateFeeCalculated","accountPreferences","invoiceFormat","paidInvoiceDocumentHeader","invoiceDocumentHeader","gst","tax","invoiceUseTax","showTaxWithZeroPercent","dateDueCalculated","accountLogoDark","balance","h","_this$invoice$account","_this$invoice$account2","_this$invoice$account3","_this$invoice$clientI","_this$invoice$clientI2","_this$invoice$clientI3","stripeIntegration","chargesEnabled","payPalEnabled","getUser","VSimpleCheckbox","VSimpleTable","openPaymentDetails","titleCase","tab","selectTab","pageColor","editItemId","editContainerId","elementUpdated","containerItemClicked","PhoneUtil","libPhoneNumber","PhoneNumberUtil","getInstance","PNF","PhoneNumberFormat","getTokensFromInvoice","formatPhone","longDate","depositBalance","viewOnlineUrl","replaceLineBreaksWithBR","phoneNumber","NATIONAL","InvoiceSettings","InvoiceTemplateMixin","handleEvent","containerId","containerIx","invoiceTemplate","invoiceStyle","InvoiceRenderer","InvoiceRendererV2","PaymentHistory","fileURL","URL","createObjectURL","Blob","fileLink","click","InvoiceDetails","sentTimestamp","schemaVersion","isComplete","saveForm","inFrame","accentColor","showLogo","handleResult","_b","field","previewMode","updateForm","isValid","htmlText","option","inputRequired","hasOther","otherValue","otherSelected","otherIx","selectedValue","multi","htmlHeader","rows","showBusiness","showWebsite","showContact","showEmail","showPhone","emailRequired","showAddress","test","getSelected","VAutocomplete","wasValidated","ourDate","setDate","VChip","VFileInput","CheckboxInput","RadioInput","SelectInput","TextInput","LeadContact","DateInput","FileInput","inputField","Renderer","showSubmitButton","renderer","schemaIndex","schemaItem","contactInfo","fileResult","VSnackbar","fontColor","formInputColor","confirmationText","defaultContact","submitForm","submitText","submitIcon","RendererMixin","customCss","setCustomCss","urlParams","URLSearchParams","search","removeChild","disablePartialData","uniqueTemplateId","append","textContent","colConditionMet","scrollToTop","div","setResults","previousResults","confirmationRedirect","inPortal","parent","postMessage","FormV1","FormV2","notFound","isSending","requestToken","queryString","self","atob","setFont","FormData","DiscoveryForm","parsedUrl","FormRequestViewer","meeting","openScheduledMeeting","meetingName","view","isCancelled","minutes","frameEvent","MeetingService","getSchedulerList","getMeeting","getScheduledMeetings","frameUrl","frameId","resizerOptions","heightCalculationMethod","sizeWidth","sizeHeight","iFrameResize","handleFrameMessage","IFrameWrapper","uniqueAccountUrl","meetingService","MeetingDetail","proposal","openProposal","coverPage","heading","openAgreement","proposalService","viewedTimestamps","isLocked","cardPaymentFailed","deliverableSelected","clientFinalized","ProposalService","setProposal","getProposalList","getProposal","executeProposal","proposalId","updateComment","setLastViewed","setEditIndex","proposalHeight","proposalType","mceConfigCover","formatting","contractorName","headingPosition","handleCoverPageChange","dragEnd","contentBlocks","handleIntersect","scrollObserverOptions","isEditable","addContentAt","shiftUp","shiftDown","confirmRemoveSection","blockType","accountMini","clientMini","mceConfigHeader","deliverablesCount","forceAllDeliverables","allowMultipleDeliverables","templateService","headerStyle","bodyStyle","upFrontAmount","paymentCount","handleContentBlockChange","toggleMultipleDeliverables","handleUpFrontAmount","requestThemSign","removeSectionDialog","cancelRemoveSection","removeSection","contentMenuOpen","signatureCount","termsCount","acceptCount","addSection","isPreview","getHeightClass","backgroundImage","coverTextClass","headingClass","headingInitial","handleHeaderInput","preparedStyle","customByInitial","handleByInput","customForInitial","handleForInput","image","subHeading","preparedBy","customBy","customFor","lHeading","lPreparedBy","lCustomBy","lCustomFor","lSubHeading","forDefault","byDefault","headerEditor","notifyChange","logoSize","img","Image","css","headerWeight","headerFont","lHeader","lText","header","visible","totalUpfrontAmount","lAutomations","paymentRequiredToStart","lFeeSchedule","openFeeSchedule","feeSchedulePrimary","feeScheduleSecondary","createPackageAllowed","menu","createPackage","lDeliverables","deliverableCss","computedTaxRate","anyDeliverableWithDueDate","showDeliverablePricing","mainDeliverableColumns","initialSetupTask","addDeliverable","packageSelect","buttonLabel","editFees","paymentNodeCount","handleFeeChange","autoCreateProject","invoicePercentage","scrubInput","invoiceAmount","amountTypeOptions","invoiceLabel","automations","autoInvoice","parseFloat","isNaN","podAccount","hovering","deliverableLabel","descriptionLabel","showPricing","deliverablePricing","showDueDate","edit","showProductSelect","handleProductSelected","handleQuantityUpdated","showPricingDetail","handleDateTypeSwitch","dateTypeSwitch","dateType","dueDateFormattedInput","dueDateMenu","dueDateEdited","deleteDialog","doDelete","PerItemPricing","backup","productDialog","dateTypes","products","dueDateCols","priceCols","fee","dateUnit","isNew","overrideDeliverableName","setProducts","Deliverable","DeliverableFees","draggable","deliverableAutomation","lSelectedPackage","scrubDeliverables","calculateTotalUpfrontAmount","setFeeType","usePercentage","setupFeeTotal","subTotal","isPaid","isPaidAccount","userType","getUserType","buttonClass","innerRadioClass","packageTextClass","bodyFont","packageLabel","hasAnySetupTasks","feeStyle","terms","openTermsEditor","termsDialog","handelCancel","handleSave","dayOptions","lTerms","fullLegalTerms","effectiveDateFormatted","effectiveMenu","effectiveDateUpdated","effectiveDate","governingLaw","cancellationNoticeDays","displayInPortfolio","grantLicenseForFramework","processingFeePassThrough","entityTypes","entityType","states","entityState","clientLegalName","clientEntityType","clientState","confirmTextConversion","requestSave","confirmConversion","requestTextConversion","depositOptions","scheduleOptions","rules","fetchAccountInfo","contractorInfo","getAccountInfo","saveContractorInfo","dispatch","TermsDialog","generateTerms","convertToText","notifyChangeWithConversion","createTerms","newBlock","fontStyle","templateAccountName","us","areDeliverablesSelected","signedUs","signerName","signerTitle","dts","templateClientName","settingSigner","saveSignerInfo","cancelSignerInfo","them","signedThem","signerInfoUpdated","themSignerName","themSignerTitle","signatureContainerCss","shouldRenderKeyboard","signatureObj","shouldRenderPad","svgSignature","isApp","setSigner","isThem","setSignerInfo","signerLocked","isUs","isPortal","finalizeSign","textSignature","composing","disableInput","signatureObject","fontMenu","tinyMceConfig","menubar","inline","plugins","toolbar","forced_root_block","ed","signatureEditor","clearSignature","keyboardSignature","tmpSignature","btoa","utc","SignatureDialog","created","allowThemSign","lUs","lThem","localFiles","downloadFile","iconName","confirmDeleteFile","dropzoneOptions","uploadSuccess","uploadFailure","addFileUploadAuthHeader","cancelDeleteFile","vueDropzone","fileToDelete","removeFileByName","xhr","setRequestHeader","fileDropzone","removeFile","deleteFileInternal","deleteFileAttachment","downloadFileInternal","signedUrl","method","fileType","theUrl","thumbnailWidth","maxFilesize","autoProcessQueue","duplicateCheck","createImageThumbnails","acceptedFiles","includeStyling","VCard","VCardActions","VCardText","VSpacer","sliderChanged","lScale","calculatedImageWidth","lFile","setSignedUrl","maxFiles","VSlider","lAlign","imageAlign","outerContainerCss","align","lBorder","border","direction","integratedPaymentsEnabled","gettingPackages","packageClass","addSectionFromPackage","showAllPackages","componentType","createProposalDeliverables","args","deliverableBlock","packagesToShow","componentTypes","baseComponentTypes","computedItems","scrollAnchorIdPrefix","offset","scrollOffset","selectedIndex","selectMe","selectedNew","heightCssVars","option1css","selectedColorsCss","optionSelected","option1","option2css","option2","selectedOption","dense","selectedBackground","selectedColor","currentTheme","primary","openMenu","lastEvent","hasUnread","closeMenu","formattedList","lastReadDate","getLastViewedDate","newStatusEvent","statusItems","getTime","unReadCount","willSendEmail","newCommentEvent","scrollToBottom","scrollTop","scrollHeight","unreadCount","lastComment","headerAlignment","seedText","confirmAccept","acceptedAt","exchangeCardForToken","ProposalMixin","StatusMenu","CommentsMenu","PillSelector","ComponentIcons","AddComponent","CoverPage","TextArea","Deliverables","SignatureBlock","AcceptBlock","ImageTextBlock","PaymentCaptureBlock","HNav","addSectionIndex","removeSectionIndex","selectedNavItem","navIncrement","contentBlockChangeMonitor","addContentAtIndex","upFrontAmounts","cardTokenId","hasAcknowledgedPayment","rootMargin","threshold","paste_as_text","skin","content_css","paste_data_images","table_style_by_css","statusbar","indentation","style_formats","table_toolbar","scrubContentBlocks","initFonts","signatureBlock","paymentCaptureBlock","getPaymentCaptureBlock","processPaymentCapture","navClick","ourDiv","shareProposal","sendProposal","newIndex","returnToDraft","deleteProposal","createProject","newSection","getLoggedInUserName","invoicingSchedule","depositType","deletedContentBlocks","deletedContentBlock","finalizeDeleteFilesBlock","finalizeDeleteImageBlock","clearOtherSelectedPackages","$forceUpdate","proposalStatus","currentIndex","entry","isIntersecting","intersectionRatio","typeCount","counter","amounts","navItems","contentIndex","Intersect","ProposalRenderer","selectedPackageIds","theirSignature","requirePackageSelection","clientAccept","acceptBlock","deliverableCount","ProposalDetails","DashboardService","SubscriptionRequests","Invoices","Meetings","Proposals","Forms","dashboardService","Notifications","modals","modal","fullScreen","onResult","onError","Deferred","finalUrl","searchParams","connectPlaid","connectManually","noBlank","accountHolderName","holderTypes","accountHolderType","requiredRules","routingNumber","accountNumber","accountTypes","accountType","linkNewAccount","PaymentsService","getStripeAccountId","getPaymentMethods","getBankAccounts","addBankAccount","stripeToken","verifyBankAccount","bankAccountId","amount1","amount2","deleteBankAccount","createACHLinkSession","redirectUri","getACHLinkSession","sessionToken","getPlaidLinkToken","exchangePlaidPublicToken","plaidAccountId","paymentsService","accountForm","routing_number","account_number","account_holder_name","account_holder_type","handleError","verifyAccount","bankAccount","yesNoFromBoolean","paid","SubscriptionService","checkSubscriptionsEnabled","getSubscriptions","getSubscriptionRequests","getSubscriptionPayments","subscriptionId","getSubscriptionPortalLink","stripeSubscriptionService","getPayments","selectProject","sortCol","sortAscending","row","passwordRules","confirmPasswordRules","confirmPassword","disablePasswordLogin","PasswordService","setPassword","passwordService","submission","formName","submittedAt","fullUrl","podId","submissionToken","hostname","MeetingEmbed","NewAchAccount","ManualAchAccount","VerifyAchAccount","SubscriptionPayments","ProjectSelector","UpdatePassword","FormResultViewer","ignoreBackEvent","onpopstate","handleHistoryPop","removeModal","dfd","history","pushState","goBack","back","CustomFontService","getCustomFonts","currentTabsConfig","currentPath","rightSide","clientWidth","openRightNav","titleClass","goTo","parentValue","navDetailValue","visibleTabs","menuTabs","tabClass","menuActivatorClass","moreVerb","menuTabsOpen","internalHover","disableHover","hoverColor","offsetWidth","tabConfig","emits","HIcon3","availableWidth","windowWidth","innerWidth","onResize","debounce","setTabs","totalTabWidth","widthOk","widthOfMoreButton","tabWidth","moduleTitle","from","func","debounceTimer","navDetailKey","parentRoute","idx","VList","VListItem","confirmLogout","VListGroup","VListItemIcon","VListItemTitle","updatePassword","UserMenu","MobileNav","Tabs","userMenuOpen","isOpen","navConfig","NavConfig","mobileNav","checkScreen","setNavStateFromLocalStorage","saveNavState","navState","strNavState","setLeftNavExpanded","leftNavState","toggleMobileNav","handlePageClick","fullPath","currentRootPath","TopNav","LeftNav","RightNav","GlobalModalController","showFullApp","timeouts","warning","languages","host","initLocale","initBranding","initDarkMode","setMaxVh","vh","innerHeight","documentElement","setProperty","availableLocales","$i18n","usersLanguage","LuxonSettings","defaultLocale","branding","themes","light","sidebar","navColor","primaryColorDark","navColorDark","favicon","rel","customFontService","loadCustomFonts","loadGoogleFont","newFont","FontFace","fontName","fontUrl","loadedFonts","darkMediaQuery","matchMedia","darkModePref","updateDarkMode","enableAutomaticDarkMode","matches","disableAutomaticDarkMode","toggleDarkMode","notificationWindow","notificationWindowOpenState","to","meta","insecure","script_tag","newAlert","VApp","VMain","VOverlay","VProgressCircular","alignItems","loginSplash","isAccountPaid","isStarterAccount","loginGreeting","entryScreen","magicLinkMode","emailRules","errorMsg","handleFormSubmit","rememberEmail","showBackground","savedEmail","protocol","loginBoxPosition","customPage","welcomeGreeting","pageLayout","col","initialContent","ContentBlock","setupPage","colsInRow","layoutOptions","layout","currentLayout","layoutKey","CustomPage","freshLogin","origUri","ClientService","getContact","getContactList","getDefaultCurrency","handleLoginSuccess","handleLoginFailure","clientService","getContactRecord","setRefresh","embed","setInterval","paymentInfo","achEnabled","paymentMethods","editSavedPaymentMethods","initializeACHLink","cardEnabled","initiateStripeCheckout","paypalConnection","payment_intent","payPalConnection","finalizePaymentIntent","handleSuccess","returnUrl","cardPaymentsEnabled","achPaymentsEnabled","payPalPaymentsEnabled","initializePayPal","_err$response2","detail","getStripeCheckoutByToken","redirectToCheckout","sessionId","checkoutSessionId","attributionId","version","loadScript","merchantId","paypal","Buttons","createOrder","order","purchase_units","custom_id","invoice_id","onApprove","capture","orderData","links","capturePayPalPayment","linkUri","prompt","stripeCardFeeRate","toFixed","feeAmount","stripeCardFeeAmount","paymentMethodId","handle3DSRedirect","doClose","close","smallScreen","mdAndDown","downloadPdf","LanguageSwitcher","dateOptions","dateFilter","dateFilteredInvoices","borderBottom","addNewLabel","showMenu","newButtonDisabled","showMenuModel","addNewItems","handleAddNewItem","handleAddNew","filteredResults","getStatusHtml","statusDetail","payable","allowOnlinePayment","payNow","formatDate","metrics","totalInvoiced","totalReceived","avgDaysToPay","liabilities","credits","chartData","reactiveProp","extends","Line","renderChart","LineChart","showTooltips","responsive","maintainAspectRatio","point","radius","line","tension","scales","xAxes","display","ticks","autoSkip","maxRotation","minRotation","yAxes","position","tooltips","callbacks","tooltipItems","xLabel","tti","Intl","NumberFormat","maximumFractionDigits","minimumFractionDigits","datasets","datasetIndex","sortByDateSent","labels","invoiced","invoiceByMonth","Pie","PieChart","legend","dataValue","invoiceByProject","projectMap","has","SpendByProject","InvoiceByMonth","validStatusList","totalPayDays","totalPayments","loadLocaleMessages","locales","require","messages","matched","match","VueI18n","fallbackLocale","FilterHelpers","i18n","local","allOptions","allDateOptions","dateSpecifier","isoFormat","toObject","today","fromObject","firstOfWeek","firstOfMonth","week","routing","deleteAccount","managePaymentMethods","subscriptionService","getAccounts","linkWithPlaid","openManualAchInput","confirmMicroDeposits","subscriptionsComputed","handleItemClick","periodStart","periodEnd","daysUntilDue","subscriptionItems","subItem","cancelAtPeriodEnd","manageSubscriptions","subscriptions","requests","viewPayments","pendingSubscription","SubscriptionList","InvoiceCharts","InvoiceTable","HHeader","PaymentMethods","subscriptionsEnabled","getDateOptions","getDeposits","checkAchEnabled","checkSubscriptionEnabled","setView","currentRoute","getStatus","helper","getEarliestAndLatest","linkToken","pod","getAchSession","achSession","processOAuthFlow","plaidHandler","Plaid","onSuccess","metadata","plaidSuccess","onLoad","onExit","plaidExit","onEvent","plaidEvent","receivedRedirectUri","plaidError","error_code","error_message","initializePlaidLink","InvoiceMain","query","InvoiceViewer","PlaidOAuthHandler","PlaidLinkHandler","handleFilterChange","handleDateFilterChange","TimerEventService","getTimerEvents","downloadTimerEvents","fixedUpEvents","timeWorkedTotal","deliverableOrTicket","ticketName","reduce","starty","fromSeconds","endy","formatSeconds","totalTime","averageMonthTime","averageWeekTime","floor","incrementOrSet","timeByProject","durationSeconds","sortByDate","timeByMonth","totalHours","totalSeconds","TimeByProject","TimeByMonth","earliestWeek","earliestMonth","latestWeek","latestMonth","monthKey","weekKey","monthCount","monthSum","weekCount","weekSum","TimerEventCharts","TimerEventTable","timerEventService","getDateFilter","init","setEarliestAndLatest","setFilter","getFilter","sessionStorage","setDateFilter","endDate","TimerEventList","print","ProposalViewerService","docId","contactId","setupPubNub","authKey","ssl","onMessage","filteredProposalList","formatStatus","AgreementService","getAgreementList","agreementService","proposalList","agreementList","getProposals","getAgreements","normalizedProposals","_p$coverPage","dateSigned","normalizedAgreements","ProposalList","ProposalViewer","taskStatus","taskFilter","projectsByType","projectIdFilter","saveProjectTypeId","headerHeight","filteredProjects","fullReadProjects","fullAccessProjects","filteredDeliverables","activeProjectType","editDeliverable","createSubtask","datesUpdated","toggleExpanded","isExpanded","formattedDueDate","proposalName","pendingDeliverables","previousDeliverables","previous","lastApproval","formatTimeEstimate","formattedTimeWorked","getInvoicesForProject","showTimeWorkedInPortal","sum","invoiceStatus","TimeAndMoney","DeliverableCard","toggleShowDeleted","initExpanded","populateMap","organizeDeliverables","statusIx","pendingApproval","previouslyApproved","formattedFees","cards","pull","cardDragHandler","isCollaborator","hasFullAccessProjects","addDeliverableNoWait","isMac","addSubTask","emptyCard","showStatus","showTasks","getTaskCountLabel","addFirstTask","parentTaskId","showSubtasks","subtasks","updateTasks","subtask","HDateTime","deliverableService","setShowTasks","expandTasks","collapseTasks","taskCount","completedCount","op","highlightColor","allowAddDeliverable","maxHeaderWidth","KanbanHeader","KanbanCard","projectSelectorDialog","newProjectStatus","selectedCard","targetSortIndex","fromStatusId","toStatusId","clickCount","clickTimer","parentTask","parentNode","draggedContext","futureIndex","parentElement","sortArray","kanbanSort","statusLabel","cardSort","cardSortDue","calculatedWidth","unknown","updateFlag","colId","arr","deliverablesWithDates","dateAxis","propertyName","calculatedRows","blocks","handleEndResize","handleDragEnter","VueResizable","xAdjust","scrollTodayIntoView","scrollLeft","offsetLeft","getWidth","scrollWidth","opacity","effectAllowed","getBoundingClientRect","getAttribute","daySpan","ceil","findDateFromCoordinate","bounds","cmp","$el","left","coordinate","coordinates","loadCoordinates","found","childNodes","dayBound","dayStart","dayEnd","groupBy","array","currentValue","calculateBlocks","diffFromStart","diffFromEnd","grouped","GanttChart","sortByName","sensitivity","sortByStatusAndName","sortByStatus","sortByNameAndStartDate","sortByStartDate","sortByStartDateAndNameAndStatus","sortByStartDateAndName","ai","bi","getDeliverableStatusById","ganttSort","monthName","calendar","prev","next","weekdays","mouseMove","mouseUp","todayNumber","dayHeight","maxItems","startDrag","isInStatusFilter","tippyLabel","KanbanMixin","CalendarItem","weekdayOnly","dragEvent","internalUpdate","beforeMount","startTime","keyDown","deliverableStatusMap","modalOpen","checkAndSetMap","statusMap","lastOfMonth","used","getDay","getDate","localDeliverables","VBtnToggle","VCalendar","ProjectCalendar","GanttView","ProjectKanban","Project","filterOptions","sortByActive","fixupTabs","savedProjectTypeId","defaultProjectType","isDefaultProjectType","hasProjectManagement","archived","processDeliverableDataEvent","processKanbanUpdate","getDefaultProjectType","isInTaskStatusFilter","isInNameFilter","protectedIds","subTaskMap","deliverableMap","obj","unshift","ProjectMain","scheduler","meetingLength","bookNow","clearFilter","tableKey","filteredMeetingList","scheduledMeetings","isDefaultFilter","filterDescription","menuOpen","updated","showMeetingStatus","dateExpanded","showEarliest","showLatest","optionList","ourValue","FilterOption","meetingStatusExpanded","showDateRange","showClientList","MeetingListFilter","emptyFilter","loadSavedFilter","saveCurrentFilter","filterStateKey","filterString","compareDate","years","SchedulerList","MeetingList","combinedList","routeClick","FormService","getFormSubmissionList","getFormSubmission","getFormRequestList","submissions","formService","initData","getFormSubmissions","getFormRequests","openSubmission","_s$formData","_s$formData2","_s$formData3","contactName","FormSubmissionList","Subscribe","newTicket","filteredTickets","viewTicketDetail","unreadClient","getTicketType","truncate","subject","toggleClosedTickets","showClosedTickets","closedTicketCount","TicketService","getTicketTypes","getTicketList","getTicketDetail","createTicket","createComment","ticketId","markAsRead","ticketService","ticketTypes","tickets","setupTicketListeners","stopTicketListeners","ticketNotification","ticket","getTickets","string","pageHeader","isNewTicket","returnToList","ticketType","ccList","contacts","updateCcList","selectedType","addDropFile","confirmCancel","contactMap","toList","isMatch","val1","val2","validateEmail","re","VCombobox","setFormResult","TicketFormV1","TicketFormV2","ContactSelector","ticketNumber","getCommentBy","commentBy","commentFormat","attachment","requester","users","getContacts","commentAdded","download","clientContactId","NewTicket","ExistingTicket","getTicketSettings","TicketList","TicketDetail","appendIfPresent","accountKey","hasAccountKey","pathSegments","resourceId","pathname","segment","showWarning","submitFinalized","zoom","openPrint","showFinishWarning","finishedButton","indexedPages","scrollToPage","itemSigned","zoomIn","pageShadow","layoutClass","drop","allowDrop","allowDrag","handleDragLeave","reOrderDragStart","activeContainerId","addContainerElement","setDragEnabled","handleAddElement","pageIndex","dropIndex","refreshIndex","foundItem","getAndRemoveElement","focusItem","dragEnabled","ev","setData","agreementHasElementOfType","doesElementTypeExist","getData","allowSingleElement","newElement","landscape","Page","resizeObserver","initializeZoom","ResizeObserver","setPageWidth","listenForPageChanges","unobserve","requireMinimumPackageSelection","noPackageSelectionError","handlePostSignature","signedConfirmationMessage","handleOptionalRedirect","signerIx","signerRecord","handleGestureEvent","browserWidth","targetZoom","widthInPixels","pageArea","baseCSS","canvasColor","bodyCSS","fontWeight","lineHeight","h1CSS","h2CSS","h3CSS","AgreementViewerService","secretKey","getAgreement","updatePaymentIntent","finalizeAgreement","finalizeAgreementFormData","AgreementRenderer","finalized","viewerService","checkFinalized","returnValue","processPayment","AgreementViewer","VueRouter","baseRoutes","Loader","initState","Login","MagicToken","LogOut","WelcomePage","MainFileSystem","PublicRouter","NotFound","routes","InvoiceRoutes","TimeWorkedRoutes","ProposalRoutes","ProjectRoutes","MeetingRoutes","FormRoutes","SubscriptionRoutes","TicketRoutes","AgreementRoutes","router","beforeEach","install","defineProperties","$luxon","Interval","Duration","DATETIME_FULL_WITH_SECONDS","parseHumanTime","cleaned","_m$","_m$2","_m$3","time","hour","minute","second","alwaysShowTime","parsed","relative","toRelativeCalendar","interval","fromDateTimes","daysDiff","showTime","hasSame","isDateTime","toLocal","formatters","sentence","cents","currencySign","minimumFactionDigits","thousandsSeparator","strWithHtml","phoneNumberString","countryCode","ext","getPhoneExt","breakOn","chars","digits","ts","DATE_SHORT","yesterday","tomorrow","equals","due","bytes","decimals","dm","sizes","converted","formatForTimeAgo","formatTimeFromNow","tooltip","twoColor","clicking","secondary","accent","anchor","custom_light","custom_dark","modal_overlay","success_10","success_50","warning_10","warning_50","alert_10","alert_50","gray_10","gray_20","gray_30","gray_50","gray_60","gray_70","gray_80","gray_90","blue_90","blue_70","blue_50","blue_30","blue_20","blue_10","blue_5","bali_hai","sundown","heliothrope","cornflower","dodger","turquoise","emerald","sunglow","pumpkin","carnation","iconfont","accounting","reports","todo","notifications","ribbon","partyPopper","party","wavingHand","rocket","svgFile","csvFile","pdfFile","pptFile","zipFile","unknownFile","safe","timetracking","bizdev","expenses","team","apple","googleCalendar","microsoft","zoomIcon","phoneOut","plaid","plaidVertical","hummingbird","drag","openInNew","phoneInTalk","stopwatch","vendor","onBoarding","help","checkOrig","check","clock","deliverableBox","ideaLightBulb","integrationsPlug","calculator","wallet","moreHorizontal","moreVertical","plusSmall","photo","money","calendarMono","alignLeft","alignRight","alignCenter","alignJustify","arrowUp","arrowDown","arrowLeft","arrowRight","arrowCurlyLeft","arrowCurlyRight","discovery","listBullet","graph","book","upload","triangleUp","triangleDown","triangleLeft","triangleRight","visibility","visibilityOff","chevronUp","chevronDown","chevronRight","chevronLeft","imageLeft","imageRight","alarm","cashInHand","magnet","apps","handshake","imageAndText","atSymbol","celebration","mail","mailOpen","table","simpleUser","share","kanban","searchBolt","chat","closeSmall","nearMe","lock","subtract","dragSecondary","duplicate","box","questionMark","multipleAnswers","bulb","playCircle","play","stopCircle","stop","paperAirplane","copyToClipboard","plusCircle","comment3","paperClip","VueTippy","directive","ignoreAttributes","onShow","TippyComponent","productionTip","Vuetify","Luxon","VueTelInput","Formatters","Validations","VueSignaturePad","HIcon","HIcon2","VueScrollTo","easing","cancelable","onStart","onDone","onCancel","y","lodash","vuetify","icons","customProperties","App","$mount","millisecond","super","fromJSDate","opts","milliseconds","fromMillis","normalizedUnit","normalizeUnit","weekdayShort","parentFolderId","rename","move","destinationFolderId","unDelete","createDirectory","directoryName","timeoutHandler","clearAlert","VAlert","Alert","itemClass","selectProduct","createNewProduct","editProduct","deleteProduct","cancel","productModal","editingProduct","handleHourlyClick","ProductService","productService","getProducts","postProduct","updateProduct","initNewProduct","newId","selectProductAndProject","currentProjectLabel","showHide","menuItemClass","clearSelection","projectHeaders","getProjectsByClient","prefix","showKanbanIcon","isConditionMet","getCurrentResult","checkSingleCondition","cond","some","operation","colItem","builder","conditionsEnabled","conditions","conditionalType","every","inputStyle","filled","showConditionalHelper","handleFiles","filteredItems","depth","assetType","toggle","isDeleted","parentDeleted","fileIconUrl","handleMouseDown","preventLineBreak","saveName","formatBytes","versions","contextMenu","contextActionItem","isImageType","openFile","moreMenu","handleNewFolder","lightBoxUrl","lightBoxFileName","closeLightBox","currentTarget","isPdf","endsWith","LightBox","isLoading","expandedFolders","uploadFileFolderId","fetchFolderContents","hideContextMenu","handleMoveEvent","fileAsset","sortItems","itemArray","valA","valB","temporaryName","forbiddenKeys","isDropEnabled","dataset","dropEnabled","dropEffect","sourceId","uploadFolderId","assetId","uploadFiles","targetId","fileInput","ourFiles","uploadedFiles","addFolder","parentId","unDeleteItem","_this$contextActionIt","refreshLogic","failedRequest","useAccessToken","createAuthRefreshInterceptor","interceptors","conf","previewImage","imageModal","imagePreview","deleteFileDialog","fileService","previewsSupported","VueDropzone","getFilePreview","getPreviewUrl","getUploadUrl","parallelUploads","pageCount","fontsize_formats","toolbar_groups","formatting_group","media_group","textInput","currentResult","isPhoneInput","phoneIsValid","preferredCountries","phoneUpdated","autoComplete","phoneInput","isPhoneValid","doValidate","valid","isEmailInput","validateFor","formatVertically","radioInputRequired","nextPageText","nextPageIcon","accept","fileInputRequired","isOpenableFile","fileTypes","br","dateFormatted","dateUpdated","clearDate","localDate","containerElementUpdated","SchemaTypes","checkboxInputRequired","Checkbox","NewPage","Radio","Select","minimal","dateFormattedMinimal","contentClass","micro","microFont","standard","dateMenu","showYear","inBuilder","enabledColumns","lineItem","showTimeDetails","isTransientItem","editLineItem","roundQty","formatQuantity","colspanSpacer","showProjectMenu","handleSelectProject","payNowButton","handlePayNow","payNowIcon","payNowText","colspanSubTotal","discount","creditApplied","processingFee","showTax","updateLineItem","deleteLineItem","showEditor","projectDisabled","browser_spellcheck","extended_valid_elements","default_link_target","content_style","qtyDisabled","handleProjectSelected","getFixedPriceProjects","getBillable","paymentAmount","paymentHistory","mileStoneAchieved","invoiceDate","lineItems","ScheduledPayments","TimeEntries","LineItemEditor","FixedPriceProjectList","closeEditModal","rect","containsHTML","htmlTagPattern","deposit","showTimeInHourMinute","isInteger","colspan","FileAttachment","LineItems"],"mappings":"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","file":"js/app.c98e1e1d.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-2d0cc0a3\":\"aad9b977\",\"chunk-2d0e60e5\":\"890b77c4\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Page.vue?vue&type=style&index=1&id=11ee5d0c&prod&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:`item ${_vm.active && !_vm.inContainer ? 'item-active' : 'item-inactive'}`,attrs:{\"id\":'itemRenderer-' + _vm.item.id}},[(!_vm.active && _vm.editMode && !_vm.inContainer)?_c('v-menu',{attrs:{\"max-width\":\"700\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',{staticClass:\"line-container\"},[_c('div',{staticClass:\"line\"}),_c('div',_vm._g({staticClass:\"icon\"},on),[_vm._v(\"+\")])])]}}],null,false,2738191429)},[_c('div',{staticClass:\"pl-3 pt-3 pb-3\",staticStyle:{\"background-color\":\"var(--v-white-base)\"}},[_c('element-types',{attrs:{\"disable-drag\":true},on:{\"selected\":function($event){return _vm.$emit('add-element-above', $event)}}})],1)]):_vm._e(),(_vm.active && !_vm.inContainer)?_c('div',{staticClass:\"builder-control\"},[_c('v-btn',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({ content: 'Move Up' }),expression:\"{ content: 'Move Up' }\"}],attrs:{\"icon\":\"\",\"text\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('move-up')}}},[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"size\":\"20\",\"color\":\"white\"}},[_vm._v(\"keyboard_arrow_up\")])],1),_c('v-btn',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({ content: 'Move Down' }),expression:\"{ content: 'Move Down' }\"}],attrs:{\"icon\":\"\",\"text\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('move-down')}}},[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"size\":\"20\",\"color\":\"white\"}},[_vm._v(\"keyboard_arrow_down\")])],1),_c('v-btn',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({ content: 'Delete section' }),expression:\"{ content: 'Delete section' }\"}],attrs:{\"icon\":\"\",\"text\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('delete')}}},[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"size\":\"20\",\"color\":\"white\"}},[_vm._v(\"delete\")])],1)],1):_vm._e(),_c(_vm.item.type,{key:_vm.item.type,ref:\"component\",tag:\"component\",attrs:{\"item\":_vm.item,\"agreement\":_vm.agreement,\"active\":_vm.active,\"account-logo\":_vm.accountLogo,\"index\":_vm.index,\"tokens\":_vm.tokens,\"mce-config\":_vm.mceConfig,\"client-mode\":_vm.clientMode,\"edit-mode\":_vm.editMode,\"signer\":_vm.signer,\"template-mode\":_vm.templateMode,\"page-width\":_vm.pageWidth,\"is-mobile\":_vm.isMobile},on:{\"click\":function($event){return _vm.$emit('click', $event)},\"delete\":function($event){return _vm.$emit('delete')},\"change\":function($event){return _vm.$emit('change', $event)},\"signed\":function($event){return _vm.handleSigned($event)},\"drag-enabled\":function($event){return _vm.$emit('drag-enabled', $event)},\"container-item-click\":function($event){return _vm.$emit('container-item-click', $event)},\"container-item-update\":function($event){return _vm.$emit('container-item-update', $event)},\"container-item-signed\":function($event){return _vm.$emit('container-item-signed', $event)},\"add-container-element\":function($event){return _vm.$emit('add-container-element', $event)}}}),(!_vm.active && _vm.editMode && !_vm.inContainer)?_c('v-menu',{attrs:{\"max-width\":\"700\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',{staticClass:\"line-container\"},[_c('div',{staticClass:\"line\"}),_c('div',_vm._g({staticClass:\"icon\"},on),[_vm._v(\"+\")])])]}}],null,false,2738191429)},[_c('div',{staticClass:\"pl-3 pt-3 pb-3\",staticStyle:{\"background-color\":\"var(--v-white-base)\"}},[_c('element-types',{attrs:{\"disable-drag\":true},on:{\"selected\":function($event){return _vm.$emit('add-element-below', $event)}}})],1)]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"mt-auto\",style:(`width:100%; text-align: ${_vm.buttonAlignment}; padding-left: ${_vm.padding(_vm.item.pl)}px; padding-right: ${_vm.padding(_vm.item.pr)}px; padding-bottom: ${_vm.item.pb}px; padding-top: ${_vm.item.pt}px;`),attrs:{\"id\":_vm.item.id},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('v-btn',{staticClass:\"elevation-3\",style:(_vm.buttonStyle),attrs:{\"color\":_vm.accepted ? _vm.item.buttonColor : '#FFFFFF',\"x-small\":_vm.button.xSmall,\"small\":_vm.button.small,\"large\":_vm.button.large,\"x-large\":_vm.button.xLarge,\"block\":_vm.button.block,\"disabled\":_vm.buttonDisabled},on:{\"click\":_vm.handleClick}},[_c('div',{staticClass:\"pa-1\",style:(`color: ${_vm.buttonFontColor}`)},[_vm._v(\" \"+_vm._s(_vm.accepted ? _vm.item.acceptedText : _vm.item.text)+\" \")])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default {\n    data: function () {\n        return {};\n    },\n\n    methods: {\n        padding: function(value){\n            if(value === 0){\n                return 0;\n            }\n            if(this.pageWidth <= 400) {\n                return 12;\n            }else if(this.pageWidth <= 800){\n                return 20;\n            }else{\n                return value;\n            }\n        }\n    }\n}","<template>\n\t<div :id=\"item.id\" @click=\"$emit('click', $event)\" :style=\"`width:100%; text-align: ${buttonAlignment}; padding-left: ${padding(item.pl)}px; padding-right: ${padding(item.pr)}px; padding-bottom: ${item.pb}px; padding-top: ${item.pt}px;`\" class=\"mt-auto\" >\n\t\t<v-btn\n\t\t\t\tclass=\"elevation-3\"\n\t\t\t\t:style=\"buttonStyle\"\n\t\t\t\t:color=\"accepted ? item.buttonColor : '#FFFFFF'\"\n\t\t\t\t:x-small=\"button.xSmall\"\n\t\t\t\t:small=\"button.small\"\n\t\t\t\t:large=\"button.large\"\n\t\t\t\t:x-large=\"button.xLarge\"\n\t\t\t\t:block=\"button.block\"\n        :disabled=\"buttonDisabled\"\n\t\t\t\t@click=\"handleClick\"\n\t\t>\n\t\t\t<div\n\t\t\t\t\tclass=\"pa-1\"\n\t\t\t\t\t:style=\"`color: ${buttonFontColor}`\"\n\t\t\t>\n\t\t\t\t{{ accepted ? item.acceptedText : item.text }}\n\t\t\t</div>\n\t\t</v-btn>\n\t</div>\n</template>\n\n<script>\n\timport ResponsiveMixin from \"./ResponsiveMixin\";\n\n\texport default {\n\t\tname: 'AcceptButton',\n\n\t\tprops: ['agreement','item','signer','clientMode','isMobile','pageWidth'],\n\n\t\tcomponents: {},\n\n\t\tmixins: [ResponsiveMixin],\n\n\t\tdata: function() {\n\t\t\treturn {\n\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n      finalize: function(){\n        return new Promise((resolve,reject) => {\n          if(!this.accepted){\n            document.getElementById(this.item.id).scrollIntoView({ block: 'start', behavior: 'smooth' });\n            document.getElementById(this.item.id).classList.add(\"red-border\");\n            reject();\n          }else {\n            document.getElementById(this.item.id).classList.remove(\"red-border\");\n            resolve();\n          }\n        })\n      },\n\n\t\t\thandleClick: function(){\n        if(this.clientMode) {\n          let ix = this.item.acceptedBy.indexOf(this.signer.id);\n          if (ix > -1) {\n            this.item.acceptedBy.splice(ix, 1);\n          } else {\n            document.getElementById(this.item.id).classList.remove(\"red-border\");\n            this.item.acceptedBy.push(this.signer.id);\n          }\n        }\n\t\t\t}\n\t\t},\n\n\t\tcomputed: {\n      accepted: function(){\n        return this.item.acceptedBy.length > 0\n      },\n\n      buttonDisabled: function(){\n        return this.agreement.fullyExecuted || (this.signer && this.signer.locked) || (!this.clientMode && this.agreement.clientSigned);\n      },\n\n      buttonStyle: function(){\n        if(this.buttonDisabled){\n          if(this.item.acceptedBy.length) {\n            return `border: 1px solid ${this.item.buttonColor}; background-color: ${this.item.buttonColor}!important`;\n          }else{\n            return '';\n          }\n        }else{\n          return `border: 1px solid ${this.item.buttonColor}`;\n        }\n      },\n\n\t\t\tbuttonAlignment: function() {\n\t\t\t\tif (this.item.buttonAlignment === 'block') {\n\t\t\t\t\treturn 'unset';\n\t\t\t\t} else {\n\t\t\t\t\treturn this.item.buttonAlignment;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tbutton: function() {\n\t\t\t\treturn {\n\t\t\t\t\txSmall: this.item.buttonSize === 'X-Small',\n\t\t\t\t\tsmall: this.item.buttonSize === 'Small',\n\t\t\t\t\tlarge: this.item.buttonSize === 'Large',\n\t\t\t\t\txLarge: this.item.buttonSize === 'X-Large',\n\t\t\t\t\tblock: this.item.buttonAlignment === 'block',\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tbuttonFontColor: function() {\n\t\t\t\tif (!this.accepted) {\n\t\t\t\t\treturn this.item.buttonColor;\n\t\t\t\t} else {\n\t\t\t\t\tlet bgColor = this.item.buttonColor;\n\t\t\t\t\tlet color = bgColor.charAt(0) === '#' ? bgColor.substring(1, 7) : bgColor;\n\t\t\t\t\tlet r = parseInt(color.substring(0, 2), 16); // hexToR\n\t\t\t\t\tlet g = parseInt(color.substring(2, 4), 16); // hexToG\n\t\t\t\t\tlet b = parseInt(color.substring(4, 6), 16); // hexToB\n\t\t\t\t\treturn r * 0.299 + g * 0.587 + b * 0.114 > 186 ? '#000000' : '#FFFFFF';\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AcceptButton.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AcceptButton.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AcceptButton.vue?vue&type=template&id=45c5c3ce&scoped=true\"\nimport script from \"./AcceptButton.vue?vue&type=script&lang=js\"\nexport * from \"./AcceptButton.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"45c5c3ce\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\ninstallComponents(component, {VBtn})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{style:(`text-align: ${_vm.alignment}`),on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('v-btn',{staticClass:\"elevation-0\",style:(`font-size: var(--form-font-size) !important;`),attrs:{\"color\":_vm.item.color,\"x-small\":_vm.buttonSettings.xSmall,\"small\":_vm.buttonSettings.small,\"large\":_vm.buttonSettings.large,\"x-large\":_vm.buttonSettings.xLarge,\"outlined\":_vm.buttonSettings.outlined,\"block\":_vm.buttonSettings.block,\"text\":_vm.buttonSettings.text},on:{\"click\":_vm.handleClick}},[_c('span',{style:(`color: ${_vm.item.textColor}`)},[_vm._v(_vm._s(_vm.item.text))])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div @click=\"$emit('click', $event)\" :style=\"`text-align: ${alignment}`\">\n\t\t<v-btn\n\t\t\tclass=\"elevation-0\"\n\t\t\t:style=\"`font-size: var(--form-font-size) !important;`\"\n\t\t\t:color=\"item.color\"\n\t\t\t:x-small=\"buttonSettings.xSmall\"\n\t\t\t:small=\"buttonSettings.small\"\n\t\t\t:large=\"buttonSettings.large\"\n\t\t\t:x-large=\"buttonSettings.xLarge\"\n\t\t\t:outlined=\"buttonSettings.outlined\"\n\t\t\t:block=\"buttonSettings.block\"\n\t\t\t:text=\"buttonSettings.text\"\n\t\t\t@click=\"handleClick\"\n\t\t>\n\t\t\t<span :style=\"`color: ${item.textColor}`\">{{ item.text }}</span>\n\t\t</v-btn>\n\t</div>\n</template>\n\n<script>\nexport default {\n\t\tname: 'Button',\n\n\t\tprops: ['disabled','item'],\n\n\t\tmixins: [],\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\ttemplate: null,\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\thandleClick: function(){\n\t\t\t\tif(!this.disabled) {\n\t\t\t\t\twindow.open(this.item.redirectUrl, '_blank');\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\talignment: function(){\n\t\t\t\tif(this.item.alignment === 'block'){\n\t\t\t\t\treturn 'unset';\n\t\t\t\t}else{\n\t\t\t\t\treturn this.item.alignment;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tbuttonSettings: function() {\n\t\t\t\treturn {\n\t\t\t\t\txSmall: this.item.size === 'X-Small',\n\t\t\t\t\tsmall: this.item.size === 'Small',\n\t\t\t\t\tlarge: this.item.size === 'Large',\n\t\t\t\t\txLarge: this.item.size === 'X-Large',\n\t\t\t\t\toutlined: this.item.style === 'Outlined',\n\t\t\t\t\tblock: this.item.alignment === 'block',\n\t\t\t\t\ttext: this.item.style === 'Text'\n\t\t\t\t};\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Button.vue?vue&type=template&id=900bcc6e&scoped=true\"\nimport script from \"./Button.vue?vue&type=script&lang=js\"\nexport * from \"./Button.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"900bcc6e\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\ninstallComponents(component, {VBtn})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"pa-0 ma-0\",style:(`min-height: ${_vm.item.minHeight}px; ${_vm.background}`),attrs:{\"fluid\":\"\",\"id\":`container-${_vm.item.id}`},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('v-row',{staticClass:\"pa-0 ma-0\"},_vm._l((_vm.filteredColumns),function(column,colIndex){return _c('v-col',{key:column.id,staticClass:\"column-format\",style:(`width:${_vm.width}%; padding-left: ${_vm.padding(column.pl)}px; padding-right: ${_vm.padding(column.pr)}px; padding-bottom: ${column.pb}px; padding-top: ${column.pt}px; min-height:40px `),attrs:{\"cols\":_vm.cols},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('draggable',{attrs:{\"list\":column.items,\"group\":_vm.item.id,\"disabled\":!_vm.active}},_vm._l((column.items),function(item,subIndex){return _c('div',{key:item.id},[_c('item-renderer',{ref:`item-${item.id}`,refInFor:true,attrs:{\"index\":`${_vm.index}.${colIndex}.${subIndex}`,\"item\":item,\"agreement\":_vm.agreement,\"styles\":_vm.styles,\"in-container\":true,\"account-logo\":_vm.accountLogo,\"mce-config\":_vm.mceConfig,\"active\":false,\"client-mode\":_vm.clientMode,\"edit-mode\":_vm.editMode,\"tokens\":_vm.tokens,\"signer\":_vm.signer,\"template-mode\":_vm.templateMode,\"page-width\":_vm.pageWidth,\"is-mobile\":_vm.isMobile},on:{\"click\":function($event){_vm.active ? _vm.containerItemClick(colIndex, item, $event) : null},\"change\":function($event){return _vm.containerItemUpdated(colIndex, $event)},\"signed\":function($event){return _vm.containerItemSigned(colIndex, $event)},\"drag-enabled\":function($event){return _vm.$emit('drag-enabled', $event)}}})],1)}),0),(_vm.active)?_c('v-menu',{attrs:{\"close-on-content-click\":true,\"close-on-click\":true,\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"small\":\"\",\"text\":\"\",\"color\":\"primary\"}},on),[_vm._v(\"+ Add element\")])]}}],null,true)},[_c('div',{staticClass:\"pa-2\",staticStyle:{\"background-color\":\"var(--v-white-base)\"}},_vm._l((_vm.schemaTypes),function(category,sIndex){return _c('div',{key:sIndex,staticClass:\"mb-2 pb-1\",staticStyle:{\"border-bottom\":\"1px solid var(--v-gray_30-base)\"}},[_c('div',{staticClass:\"text-left\"},[_vm._v(_vm._s(category.label))]),_vm._l((category.types.filter((t) => t.allowInContainer)),function(schema){return _c('div',{key:schema.type,staticClass:\"row-format align-center schema-item pa-1 gap-2\",on:{\"click\":function($event){return _vm.addItem(_vm.item, colIndex, schema, $event)}}},[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"color\":\"secondary\",\"size\":\"24\"}},[_vm._v(_vm._s(schema.icon))]),_c('div',{staticClass:\"column-format text-left\"},[_c('div',{staticClass:\"font-14\"},[_vm._v(_vm._s(schema.label))]),_c('div',{staticClass:\"font-12 mt-n1 font-gray_70\"},[_vm._v(_vm._s(schema.description))])])],1)})],2)}),0)]):_vm._e()],1)}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<v-container\n\t\tfluid\n\t\tclass=\"pa-0 ma-0\"\n\t\t@click=\"$emit('click', $event)\"\n\t\t:style=\"`min-height: ${item.minHeight}px; ${background}`\"\n\t\t:id=\"`container-${item.id}`\"\n\t>\n\t\t<v-row class=\"pa-0 ma-0\">\n\t\t\t<v-col\n\t\t\t\t:cols=\"cols\"\n\t\t\t\tv-for=\"(column, colIndex) in filteredColumns\"\n\t\t\t\t:key=\"column.id\"\n\t\t\t\tclass=\"column-format\"\n\t\t\t\t:style=\"\n\t\t\t\t\t`width:${width}%; padding-left: ${padding(column.pl)}px; padding-right: ${padding(column.pr)}px; padding-bottom: ${column.pb}px; padding-top: ${column.pt}px; min-height:40px `\n\t\t\t\t\"\n\t\t\t\t@click=\"$emit('click', $event)\"\n\t\t\t>\n\t\t\t\t<draggable :list=\"column.items\" :group=\"item.id\" :disabled=\"!active\">\n\t\t\t\t\t<div v-for=\"(item, subIndex) in column.items\" :key=\"item.id\">\n\t\t\t\t\t\t<item-renderer\n\t\t\t\t\t\t\t:ref=\"`item-${item.id}`\"\n\t\t\t\t\t\t\t:index=\"`${index}.${colIndex}.${subIndex}`\"\n\t\t\t\t\t\t\t:item=\"item\"\n\t\t\t\t\t\t\t:agreement=\"agreement\"\n\t\t\t\t\t\t\t:styles=\"styles\"\n\t\t\t\t\t\t\t:in-container=\"true\"\n\t\t\t\t\t\t\t:account-logo=\"accountLogo\"\n\t\t\t\t\t\t\t:mce-config=\"mceConfig\"\n\t\t\t\t\t\t\t:active=\"false\"\n\t\t\t\t\t\t\t:client-mode=\"clientMode\"\n\t\t\t\t\t\t\t:edit-mode=\"editMode\"\n\t\t\t\t\t\t\t:tokens=\"tokens\"\n\t\t\t\t\t\t\t:signer=\"signer\"\n\t\t\t\t\t\t\t:template-mode=\"templateMode\"\n\t\t\t\t\t\t\t:page-width=\"pageWidth\"\n\t\t\t\t\t\t\t:is-mobile=\"isMobile\"\n\t\t\t\t\t\t\t@click=\"active ? containerItemClick(colIndex, item, $event) : null\"\n\t\t\t\t\t\t\t@change=\"containerItemUpdated(colIndex, $event)\"\n\t\t\t\t\t\t\t@signed=\"containerItemSigned(colIndex, $event)\"\n\t\t\t\t\t\t\t@drag-enabled=\"$emit('drag-enabled', $event)\"\n\t\t\t\t\t\t></item-renderer>\n\t\t\t\t\t</div>\n\t\t\t\t</draggable>\n\n\t\t\t\t<v-menu :close-on-content-click=\"true\" :close-on-click=\"true\" v-if=\"active\" bottom>\n\t\t\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t\t\t<v-btn small text v-on=\"on\" color=\"primary\">+ Add element</v-btn>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<div style=\"background-color: var(--v-white-base)\" class=\"pa-2\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-for=\"(category, sIndex) in schemaTypes\"\n\t\t\t\t\t\t\t:key=\"sIndex\"\n\t\t\t\t\t\t\tstyle=\"border-bottom: 1px solid var(--v-gray_30-base)\"\n\t\t\t\t\t\t\tclass=\"mb-2 pb-1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div class=\"text-left\">{{ category.label }}</div>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tv-for=\"schema in category.types.filter((t) => t.allowInContainer)\"\n\t\t\t\t\t\t\t\t:key=\"schema.type\"\n\t\t\t\t\t\t\t\tclass=\"row-format align-center schema-item pa-1 gap-2\"\n\t\t\t\t\t\t\t\t@click=\"addItem(item, colIndex, schema, $event)\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<v-icon class=\"material-symbols-outlined\" color=\"secondary\" size=\"24\">{{ schema.icon }}</v-icon>\n\t\t\t\t\t\t\t\t<div class=\"column-format text-left\">\n\t\t\t\t\t\t\t\t\t<div class=\"font-14\">{{ schema.label }}</div>\n\t\t\t\t\t\t\t\t\t<div class=\"font-12 mt-n1 font-gray_70\">{{ schema.description }}</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</v-menu>\n\t\t\t</v-col>\n\t\t</v-row>\n\t</v-container>\n</template>\n\n<script>\n\timport AgreementSchemaTypes from '@/modules/agreements/AgreementSchemaTypes.json';\n\timport Draggable from 'vuedraggable';\n\timport ResponsiveMixin from \"./ResponsiveMixin\";\n\n\texport default {\n\t\tname: 'Container',\n\n\t\tprops: [\n\t\t\t'item',\n\t\t\t'agreement',\n\t\t\t'styles',\n\t\t\t'active',\n\t\t\t'accountLogo',\n\t\t\t'disabled',\n\t\t\t'index',\n\t\t\t'results',\n\t\t\t'mceConfig',\n\t\t\t'clientMode',\n\t\t\t'editMode',\n\t\t\t'tokens',\n\t\t\t'signer',\n\t\t\t'templateMode',\n\t\t\t'pageWidth',\n\t\t\t'isMobile',\n\t\t],\n\n\t\tcomponents: {\n\t\t\tDraggable,\n\t\t\tItemRenderer: () => import('./ItemRenderer'),\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\teditItem: null,\n\t\t\t\tschemaTypes: AgreementSchemaTypes,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmixins: [ResponsiveMixin],\n\n\t\tmethods: {\n\t\t\tasync finalize() {\n\t\t\t\tfor (let i = 0; i < this.filteredColumns.length; i++) {\n\t\t\t\t\tfor (let j = 0; j < this.filteredColumns[i].items.length; j++) {\n\t\t\t\t\t\tlet item = this.filteredColumns[i].items[j];\n\t\t\t\t\t\tif (typeof this.$refs['item-' + item.id][0].finalize === 'function') {\n\t\t\t\t\t\t\tawait this.$refs['item-' + item.id][0].finalize();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\tasync reset() {\n\t\t\t\tfor (let i = 0; i < this.filteredColumns.length; i++) {\n\t\t\t\t\tfor (let j = 0; j < this.filteredColumns[i].items.length; j++) {\n\t\t\t\t\t\tlet item = this.filteredColumns[i].items[j];\n\t\t\t\t\t\tif (typeof this.$refs['item-' + item.id][0].reset === 'function') {\n\t\t\t\t\t\t\tawait this.$refs['item-' + item.id][0].reset();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\taddItem: function(item, colIndex, schema, event) {\n\t\t\t\tthis.$emit('add-container-element', { container: item, column: colIndex, element: schema, clickEvent: event });\n\t\t\t},\n\n\t\t\tcontainerItemClick: function(index, item, event) {\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tthis.editItem = item;\n\t\t\t\tthis.$emit('container-item-click', {\n\t\t\t\t\tcontainer: this.item,\n\t\t\t\t\titem: item,\n\t\t\t\t\tindex: index,\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tcontainerItemUpdated: function(index, item) {\n\t\t\t\tthis.$emit('container-item-update', {\n\t\t\t\t\tcontainer: this.item,\n\t\t\t\t\titem: item,\n\t\t\t\t\tindex: index,\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tcontainerItemSigned: function(index, item) {\n\t\t\t\tthis.$emit('container-item-signed', {\n\t\t\t\t\tcontainerTarget: this.item,\n\t\t\t\t\tsignature: item.signature,\n\t\t\t\t\tsigner: item.signer,\n\t\t\t\t\tindex: index,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tcols: function() {\n\t\t\t\tif(this.agreement.styles.pageSize === 'RESPONSIVE' && this.isMobile){\n\t\t\t\t\treturn 12;\n\t\t\t\t}else {\n\t\t\t\t\treturn 12 / this.item.columnCount;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tbackground: function() {\n\t\t\t\tlet result = '';\n\t\t\t\tif (this.item.backgroundImageUrl) {\n\t\t\t\t\tresult =\n\t\t\t\t\t\tresult +\n\t\t\t\t\t\t`background-image: url(${this.item.backgroundImageUrl}); background-size: ${this.item.backgroundImageSize}; `;\n\t\t\t\t}\n\t\t\t\tif (this.item.backgroundColor) {\n\t\t\t\t\tresult = result + `background-color: ${this.item.backgroundColor}; `;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\tfilteredColumns: function() {\n\t\t\t\tlet columns = [...this.item.columns];\n\t\t\t\treturn columns.splice(0, this.item.columnCount);\n\t\t\t},\n\n\t\t\twidth: function() {\n\t\t\t\treturn Math.round((100 / this.item.columnCount) * 100) / 100;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.schema-item {\n\t\tborder-radius: 4px;\n\t\t&:hover {\n\t\t\tbackground-color: var(--v-gray_10-base);\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Container.vue?vue&type=template&id=48446c38&scoped=true\"\nimport script from \"./Container.vue?vue&type=script&lang=js\"\nexport * from \"./Container.vue?vue&type=script&lang=js\"\nimport style0 from \"./Container.vue?vue&type=style&index=0&id=48446c38&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"48446c38\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VIcon,VMenu,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"row-format centered\",style:(`--d-weight: ${_vm.item.weight}px; --d-style: ${_vm.item.style}; --d-color: ${_vm.item.color}; --d-width: ${_vm.item.width}%; padding-top:${_vm.item.pt}px!important; padding-bottom:${_vm.item.pb}px!important`),on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('hr',{staticClass:\"form-divider\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div\n\t\t@click=\"$emit('click', $event)\"\n\t\tclass=\"row-format centered\"\n\t\t:style=\"\n\t\t\t`--d-weight: ${item.weight}px; --d-style: ${item.style}; --d-color: ${item.color}; --d-width: ${item.width}%; padding-top:${item.pt}px!important; padding-bottom:${item.pb}px!important`\n\t\t\"\n\t>\n\t\t<hr class=\"form-divider\" />\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'Divider',\n\n\t\tprops: ['item'],\n\n\t\tmixins: [],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.form-divider {\n\t\tborder-radius: 4px;\n\t\tborder-left: 0px;\n\t\tborder-right: 0px;\n\t\tborder-bottom: 0px;\n\t\tborder-top: var(--d-weight) var(--d-style) var(--d-color);\n\t\twidth: var(--d-width);\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Divider.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Divider.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Divider.vue?vue&type=template&id=947cfe8e&scoped=true\"\nimport script from \"./Divider.vue?vue&type=script&lang=js\"\nexport * from \"./Divider.vue?vue&type=script&lang=js\"\nimport style0 from \"./Divider.vue?vue&type=style&index=0&id=947cfe8e&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"947cfe8e\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{on:{\"click\":function($event){return _vm.$emit('click',$event)}}},[_vm._v(\" FOOTER \")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div @click=\"$emit('click',$event)\">\n\t\tFOOTER\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: \"Footer\",\n\n\tprops: [],\n\n\tcomponents: {},\n\n\tdata: function () {\n\t\treturn {}\n\t},\n\n\tmounted() {\n\t},\n\n\tbeforeDestroy() {\n\t},\n\n\tmethods: {},\n\n\tcomputed: {},\n\n}\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=403eb6d8&scoped=true\"\nimport script from \"./Footer.vue?vue&type=script&lang=js\"\nexport * from \"./Footer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"403eb6d8\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isReady)?_c('div',{key:_vm.refreshKey,class:_vm.completed ? 'completed-form-embed' : '',style:(_vm.formStyle),attrs:{\"id\":_vm.item.id},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[(_vm.item.discoveryTemplate && _vm.schema.length)?_c('div',[_vm._l((_vm.pages[_vm.currentPage]),function(item,index){return _c('div',{key:item.id},[_c('item-renderer',{ref:\"item\",refInFor:true,attrs:{\"index\":index + (_vm.currentPage + 1) * 1000,\"item\":item,\"styles\":_vm.styles,\"font\":_vm.font,\"button-props\":_vm.buttonProps,\"disabled\":!_vm.clientMode || _vm.agreement.fullyExecuted,\"current-page\":_vm.currentPage + 1,\"page-count\":_vm.pages.length,\"account-logo\":_vm.accountLogo,\"active\":false,\"results\":_vm.results,\"known-data\":_vm.knownData},on:{\"next-page\":function($event){return _vm.nextPage()},\"previous-page\":function($event){return _vm.previousPage()},\"input\":function($event){return _vm.handleInput($event)}}})],1)}),(_vm.isLastPage)?_c('div',[_c('div',{staticClass:\"row-format gap-2 pt-2 px-2\",style:(`width: 100%; justify-content: ${_vm.justification}`)},[(_vm.pages.length > 1)?_c('v-btn',{staticClass:\"elevation-0\",style:(`font-size: var(--form-font-size) !important; ${_vm.buttonProps.block ? 'width: 49%!important;' : ''}`),attrs:{\"color\":_vm.styles.buttonColor,\"x-small\":_vm.buttonProps.xSmall,\"small\":_vm.buttonProps.small,\"large\":_vm.buttonProps.large,\"x-large\":_vm.buttonProps.xLarge},on:{\"click\":_vm.previousPage}},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"color\":_vm.styles.buttonTextColor}},[_vm._v(_vm._s(_vm.styles.prevPageIcon))]),_c('span',{style:(`font-family: ${_vm.font}; ; text-transform: none; color: ${_vm.styles.buttonTextColor}`)},[_vm._v(_vm._s(_vm.styles.prevPageText))])],1):_vm._e()],1)]):_vm._e()],2):(_vm.form && _vm.schema.length === 0)?_c('div',{staticClass:\"row-format centered\",staticStyle:{\"height\":\"100%\",\"border\":\"1px solid var(--v-gray_20-base)\",\"min-height\":\"100px\"}},[_c('div',{staticClass:\"font-gray_60 row-format align-center\"},[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"color\":\"gray_60\"}},[_vm._v(\"warning\")]),_c('div',[_vm._v(\"Selected form has no content\")])],1)]):_c('div',{staticClass:\"row-format centered\",staticStyle:{\"height\":\"100%\",\"border\":\"1px solid var(--v-gray_20-base)\",\"min-height\":\"100px\"}},[_c('div',{staticClass:\"font-gray_60 row-format align-center\"},[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"color\":\"gray_60\"}},[_vm._v(\"description\")]),_c('div',[_vm._v(\"Please select an embedded form template\")])],1)])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div\n\t\t@click=\"$emit('click', $event)\"\n\t\t:style=\"formStyle\"\n\t\t:id=\"item.id\"\n\t\tv-if=\"isReady\"\n\t\t:key=\"refreshKey\"\n\t\t:class=\"completed ? 'completed-form-embed' : ''\"\n\t>\n\t\t<div v-if=\"item.discoveryTemplate && schema.length\">\n\t\t\t<div v-for=\"(item, index) in pages[currentPage]\" :key=\"item.id\">\n\t\t\t\t<item-renderer\n\t\t\t\t\tref=\"item\"\n\t\t\t\t\t:index=\"index + (currentPage + 1) * 1000\"\n\t\t\t\t\t:item=\"item\"\n\t\t\t\t\t:styles=\"styles\"\n\t\t\t\t\t:font=\"font\"\n\t\t\t\t\t:button-props=\"buttonProps\"\n\t\t\t\t\t:disabled=\"!clientMode || agreement.fullyExecuted\"\n\t\t\t\t\t:current-page=\"currentPage + 1\"\n\t\t\t\t\t:page-count=\"pages.length\"\n\t\t\t\t\t:account-logo=\"accountLogo\"\n\t\t\t\t\t:active=\"false\"\n\t\t\t\t\t:results=\"results\"\n\t\t\t\t\t:known-data=\"knownData\"\n\t\t\t\t\t@next-page=\"nextPage()\"\n\t\t\t\t\t@previous-page=\"previousPage()\"\n\t\t\t\t\t@input=\"handleInput($event)\"\n\t\t\t\t></item-renderer>\n\t\t\t</div>\n\t\t\t<div v-if=\"isLastPage\">\n\t\t\t\t<div class=\"row-format gap-2 pt-2 px-2\" :style=\"`width: 100%; justify-content: ${justification}`\">\n\t\t\t\t\t<v-btn\n\t\t\t\t\t\tv-if=\"pages.length > 1\"\n\t\t\t\t\t\tclass=\"elevation-0\"\n\t\t\t\t\t\t:color=\"styles.buttonColor\"\n\t\t\t\t\t\t:style=\"\n\t\t\t\t\t\t\t`font-size: var(--form-font-size) !important; ${buttonProps.block ? 'width: 49%!important;' : ''}`\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t:x-small=\"buttonProps.xSmall\"\n\t\t\t\t\t\t:small=\"buttonProps.small\"\n\t\t\t\t\t\t:large=\"buttonProps.large\"\n\t\t\t\t\t\t:x-large=\"buttonProps.xLarge\"\n\t\t\t\t\t\t@click=\"previousPage\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<v-icon class=\"mr-1\" :color=\"styles.buttonTextColor\">{{ styles.prevPageIcon }}</v-icon>\n\t\t\t\t\t\t<span :style=\"`font-family: ${font}; ; text-transform: none; color: ${styles.buttonTextColor}`\">{{\n\t\t\t\t\t\t\tstyles.prevPageText\n\t\t\t\t\t\t}}</span>\n\t\t\t\t\t</v-btn>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div\n\t\t\tv-else-if=\"form && schema.length === 0\"\n\t\t\tclass=\"row-format centered\"\n\t\t\tstyle=\"height:100%; border: 1px solid var(--v-gray_20-base); min-height: 100px\"\n\t\t>\n\t\t\t<div class=\"font-gray_60 row-format align-center\">\n\t\t\t\t<v-icon class=\"material-symbols-outlined\" color=\"gray_60\">warning</v-icon>\n\t\t\t\t<div>Selected form has no content</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-else class=\"row-format centered\" style=\"height:100%; border: 1px solid var(--v-gray_20-base); min-height: 100px\">\n\t\t\t<div class=\"font-gray_60 row-format align-center\">\n\t\t\t\t<v-icon class=\"material-symbols-outlined\" color=\"gray_60\">description</v-icon>\n\t\t\t\t<div>Please select an embedded form template</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport ItemRenderer from '@/modules/forms/v2/schema/ItemRenderer';\n\timport ResponsiveMixin from './ResponsiveMixin';\n\texport default {\n\t\tname: 'FormEmbed',\n\n\t\tprops: ['agreement', 'item', 'accountLogo', 'editMode', 'clientMode', 'signer', 'isMobile', 'pageWidth'],\n\n\t\tcomponents: { ItemRenderer },\n\n\t\tmixins: [ResponsiveMixin],\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tcurrentPage: 0,\n\t\t\t\tresults: [],\n\t\t\t\tisReady: false,\n\t\t\t\trefreshKey: 0,\n\t\t\t\tcompleted: false,\n\t\t\t\tknownData: null,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.setKnownData();\n\t\t\tif (this.item.formData) {\n\t\t\t\tthis.formatPreviousAnswers();\n\t\t\t} else {\n\t\t\t\tthis.loadPartialForm();\n\t\t\t}\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tsetKnownData: function() {\n\t\t\t\tlet signer = this.signer && this.signer.signerType !== 'USER' ? this.signer : null;\n\n\t\t\t\tthis.knownData = {\n\t\t\t\t\tfirstName: signer?.firstName,\n\t\t\t\t\tlastName: signer?.lastName,\n\t\t\t\t\temail: signer?.email,\n\t\t\t\t\tphone: this.agreement?.client?.phone,\n\t\t\t\t\tbusinessName: this.agreement?.client?.name,\n\t\t\t\t\twebsite: this.agreement?.client?.website,\n\t\t\t\t\taddress1: this.agreement?.client?.address1,\n\t\t\t\t\taddress2: this.agreement?.client?.address2,\n\t\t\t\t\tcity: this.agreement?.client?.city,\n\t\t\t\t\tlocality: this.agreement?.client?.locality,\n\t\t\t\t\tpostal: this.agreement?.client?.postal,\n\t\t\t\t\tcountry: this.agreement?.client?.country,\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tloadPartialForm: function() {\n\t\t\t\ttry {\n\t\t\t\t\tlet partialResult = localStorage.getItem(this.savedFormKey);\n\t\t\t\t\tif (partialResult) {\n\t\t\t\t\t\tthis.results.push(...JSON.parse(partialResult));\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t}\n\t\t\t\tthis.isReady = true;\n\t\t\t},\n\n\t\t\tfinalize: function() {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (this.schema.length === 0) {\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!this.doValidation() || this.currentPage < this.pages.length - 1) {\n\t\t\t\t\t\tdocument.getElementById(this.item.id).scrollIntoView({ block: 'start', behavior: 'smooth' });\n\t\t\t\t\t\tdocument.getElementById(this.item.id).classList.add('red-border');\n\t\t\t\t\t\treject();\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.getElementById(this.item.id).classList.remove('red-border');\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.results.sort((a, b) => a.index.toString().localeCompare(b.index.toString()));\n\n\t\t\t\t\tlet formResult = {};\n\t\t\t\t\tformResult.answers = [];\n\t\t\t\t\tlet files = [];\n\n\t\t\t\t\tfor (let i = 0; i < this.results.length; i++) {\n\t\t\t\t\t\tlet item = this.results[i].item;\n\t\t\t\t\t\tlet value = this.results[i].value;\n\n\t\t\t\t\t\tif (item.schemaMapping) {\n\t\t\t\t\t\t\tformResult[item.schemaMapping] = Array.isArray(value) ? value.join(', ') : value;\n\t\t\t\t\t\t\t//continue;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet answer;\n\t\t\t\t\t\tif (item.type === 'FileInput') {\n\t\t\t\t\t\t\tfiles.push(...value);\n\t\t\t\t\t\t\tanswer = JSON.stringify(value.map((f) => f.name));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tanswer = Array.isArray(value) ? value.join(', ') : value;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tformResult.answers.push({\n\t\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\t\tfieldKey: item.fieldName,\n\t\t\t\t\t\t\tfieldType: item.type,\n\t\t\t\t\t\t\tquestion: item.question,\n\t\t\t\t\t\t\tanswer: answer,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.item.formData = formResult;\n\t\t\t\t\tif (this.agreement.fileUploads) {\n\t\t\t\t\t\tthis.agreement.fileUploads.push(...files);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.agreement.fileUploads = [...files];\n\t\t\t\t\t}\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tdoValidation: function() {\n\t\t\t\tlet invalidCount = 0;\n\t\t\t\tfor (let i = 0; i < this.$refs.item.length; i++) {\n\t\t\t\t\tif (!this.$refs.item[i].validate()) {\n\t\t\t\t\t\tinvalidCount++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn !invalidCount;\n\t\t\t},\n\n\t\t\tnextPage: function() {\n\t\t\t\tif (!this.doValidation()) {\n\t\t\t\t\tthis.errorText = 'Please correct the errors in your form';\n\t\t\t\t\tthis.showError = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.currentPage++;\n\t\t\t},\n\n\t\t\tpreviousPage: function() {\n\t\t\t\tthis.currentPage--;\n\t\t\t},\n\n\t\t\thandleInput: function(event) {\n\t\t\t\tlet ix = this.results.findIndex((r) => r.item.id === event.item.id);\n\t\t\t\tif (ix > -1) {\n\t\t\t\t\tthis.results.splice(ix, 1, event);\n\t\t\t\t} else {\n\t\t\t\t\tthis.results.push(event);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tlocalStorage.setItem(this.savedFormKey, JSON.stringify(this.results));\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tformatPreviousAnswers: function() {\n\t\t\t\tlet items = this.item.discoveryTemplate.schemaV2.filter(this.isInputType);\n\t\t\t\tlet formData = this.item.formData;\n\t\t\t\tlet index = 0;\n\t\t\t\tlet currentPage = 0;\n\n\t\t\t\tfor (let i = 0; i < items.length; i++) {\n\t\t\t\t\tlet item = items[i];\n\n\t\t\t\t\tif (item.type === 'NewPage') {\n\t\t\t\t\t\tindex = 0;\n\t\t\t\t\t\tcurrentPage = currentPage + 1;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (item.type === 'Container') {\n\t\t\t\t\t\tfor (let j = 0; j < item.columns.length; j++) {\n\t\t\t\t\t\t\tlet columnSchemaItems = item.columns[j].items.filter(this.isInputType);\n\t\t\t\t\t\t\tfor (let k = 0; k < columnSchemaItems.length; k++) {\n\t\t\t\t\t\t\t\tlet resultIndex = index++ + (currentPage + 1) * 1000;\n\t\t\t\t\t\t\t\tthis.processItem(formData, columnSchemaItems[k], resultIndex);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet resultIndex = index++ + (currentPage + 1) * 1000;\n\t\t\t\t\t\tthis.processItem(formData, item, resultIndex);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.isReady = true;\n\t\t\t\tthis.completed = true;\n\t\t\t\tthis.$nextTick(() => this.refreshKey++);\n\t\t\t},\n\n\t\t\tprocessItem(formData, item, resultIndex) {\n\t\t\t\tlet value = null;\n\n\t\t\t\tlet answer = formData.answers.find((a) => a.id === item.id);\n\t\t\t\tif (answer) {\n\t\t\t\t\tif (item.type === 'Checkbox') {\n\t\t\t\t\t\tvalue = [];\n\t\t\t\t\t\tif (answer.answer) {\n\t\t\t\t\t\t\tanswer.answer.split(',').forEach((a) => value.push(a.trim()));\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (item.type === 'FileInput') {\n\t\t\t\t\t\tanswer.answer = JSON.parse(answer.answer);\n\t\t\t\t\t\tvalue = [];\n\t\t\t\t\t\tfor (let i = 0; i < answer.answer.length; i++) {\n\t\t\t\t\t\t\tlet fileName = answer.answer[i];\n\t\t\t\t\t\t\tlet s3File = this.item.files.find((f) => f.fileName === fileName);\n\t\t\t\t\t\t\tvalue.push(s3File);\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvalue = answer.answer;\n\t\t\t\t\t}\n\t\t\t\t} else if (item.schemaMapping) {\n\t\t\t\t\tvalue = formData[item.schemaMapping];\n\t\t\t\t}\n\n\t\t\t\tthis.results.push({\n\t\t\t\t\titem: item,\n\t\t\t\t\tindex: resultIndex,\n\t\t\t\t\tvalue: value,\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tisInputType(item) {\n\t\t\t\tlet type = item.type;\n\t\t\t\treturn (\n\t\t\t\t\ttype === 'FileInput' ||\n\t\t\t\t\ttype === 'Checkbox' ||\n\t\t\t\t\ttype === 'DateInput' ||\n\t\t\t\t\ttype === 'Radio' ||\n\t\t\t\t\ttype === 'Select' ||\n\t\t\t\t\ttype === 'TextArea' ||\n\t\t\t\t\ttype === 'TextInput' ||\n\t\t\t\t\ttype === 'Container' ||\n\t\t\t\t\ttype === 'NewPage'\n\t\t\t\t);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tsavedFormKey: function() {\n\t\t\t\treturn `form-${this.agreement.id}-${this.item.attachedFormId}`;\n\t\t\t},\n\n\t\t\tformStyle: function() {\n\t\t\t\tlet style = `margin: ${this.item.padding}px; padding-top: ${this.item.pt}px; padding-bottom: ${\n\t\t\t\t\tthis.item.pb\n\t\t\t\t}px; padding-left: ${this.padding(this.item.pl)}px; padding-right: ${this.padding(this.item.pr)}px;`;\n\n\t\t\t\tif (this.item.borderColor) {\n\t\t\t\t\tstyle = style + `border-color: ${this.item.borderColor}; `;\n\t\t\t\t}\n\t\t\t\tif (this.item.borderWidth) {\n\t\t\t\t\tstyle = style + `border-style: solid; border-width: ${this.item.borderWidth}px; `;\n\t\t\t\t}\n\t\t\t\tif (this.item.borderRadius) {\n\t\t\t\t\tstyle = style + `border-radius: ${this.item.borderRadius}px; `;\n\t\t\t\t}\n\t\t\t\treturn style;\n\t\t\t},\n\n\t\t\tisLastPage: function() {\n\t\t\t\tif (this.currentPage === this.pages.length - 1) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tpages: function() {\n\t\t\t\tlet pages = [[]];\n\t\t\t\tfor (let i = 0; i < this.schema.length; i++) {\n\t\t\t\t\tpages[pages.length - 1].push(this.schema[i]);\n\t\t\t\t\tif (this.schema[i].type === 'NewPage') {\n\t\t\t\t\t\tpages.push([]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn pages;\n\t\t\t},\n\n\t\t\tform: function() {\n\t\t\t\treturn this.item.discoveryTemplate;\n\t\t\t},\n\n\t\t\tstyles: function() {\n\t\t\t\treturn this.form ? this.form.formSettingsV2 : {};\n\t\t\t},\n\n\t\t\tschema: function() {\n\t\t\t\treturn this.form ? this.form.schemaV2 : [];\n\t\t\t},\n\n\t\t\tfont: function() {\n\t\t\t\treturn this.form ? this.form.font : null;\n\t\t\t},\n\n\t\t\tbuttonProps: function() {\n\t\t\t\tlet result = {\n\t\t\t\t\txSmall: this.styles.buttonSize === 'X-Small',\n\t\t\t\t\tsmall: this.styles.buttonSize === 'Small',\n\t\t\t\t\tlarge: this.styles.buttonSize === 'Large',\n\t\t\t\t\txLarge: this.styles.buttonSize === 'X-Large',\n\t\t\t\t\tblock: this.styles.buttonStyle === 'Block',\n\t\t\t\t};\n\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\tjustification: function() {\n\t\t\t\tif (this.styles.submitAlignment === 'JUSTIFIED') {\n\t\t\t\t\treturn 'space-between';\n\t\t\t\t} else if (this.styles.submitAlignment === 'LEFT') {\n\t\t\t\t\treturn 'flex-start';\n\t\t\t\t} else if (this.styles.submitAlignment === 'RIGHT') {\n\t\t\t\t\treturn 'flex-end';\n\t\t\t\t} else {\n\t\t\t\t\treturn 'center';\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.completed-form-embed {\n\t\t.v-input {\n\t\t\ttextarea {\n\t\t\t\tcolor: var(--v-black-base) !important;\n\t\t\t}\n\n\t\t\tinput {\n\t\t\t\tcolor: var(--v-black-base) !important;\n\t\t\t}\n\n\t\t\t.v-select__selection--disabled {\n\t\t\t\tcolor: var(--v-black-base) !important;\n\t\t\t}\n\n\t\t\t.v-label--is-disabled {\n\t\t\t\tcolor: var(--v-black-base) !important;\n\t\t\t}\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormEmbed.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormEmbed.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FormEmbed.vue?vue&type=template&id=783b13d2\"\nimport script from \"./FormEmbed.vue?vue&type=script&lang=js\"\nexport * from \"./FormEmbed.vue?vue&type=script&lang=js\"\nimport style0 from \"./FormEmbed.vue?vue&type=style&index=0&id=783b13d2&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{on:{\"click\":function($event){return _vm.$emit('click',$event)}}},[_vm._v(\" HEADER \")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div @click=\"$emit('click',$event)\">\n\t\tHEADER\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: \"Header\",\n\n\tprops: [],\n\n\tcomponents: {},\n\n\tdata: function () {\n\t\treturn {}\n\t},\n\n\tmounted() {\n\t},\n\n\tbeforeDestroy() {\n\t},\n\n\tmethods: {},\n\n\tcomputed: {},\n\n}\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=27b6987e&scoped=true\"\nimport script from \"./Header.vue?vue&type=script&lang=js\"\nexport * from \"./Header.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"27b6987e\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{style:(`width: 100%; text-align: ${_vm.item.alignment};`),on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[(_vm.item.url)?_c('img',{style:(_vm.imageStyle),attrs:{\"alt\":\"image\",\"src\":_vm.item.url}}):_c('div',[_c('v-icon',{staticClass:\"material-symbols-rounded\",attrs:{\"size\":\"100\"}},[_vm._v(\"image\")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div\n\t\t@click=\"$emit('click', $event)\"\n\t\t:style=\"`width: 100%; text-align: ${item.alignment};`\"\n\t>\n\t\t<img alt=\"image\" v-if=\"item.url\" :src=\"item.url\" :style=\"imageStyle\" />\n\t\t<div v-else><v-icon class=\"material-symbols-rounded\" size=\"100\">image</v-icon></div>\n\t</div>\n</template>\n\n<script>\n\timport ResponsiveMixin from \"./ResponsiveMixin\";\n\n\texport default {\n\t\tname: 'ImageBlock',\n\n\t\tprops: ['item','isMobile','pageWidth'],\n\n\t\tmixins: [ResponsiveMixin],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {},\n\n\t\tcomputed: {\n\t\t\timageStyle: function(){\n\t\t\t\tlet style = `width: ${this.item.scale}%;  padding: ${this.item.padding}px; margin-top: ${this.item.pt}px; margin-bottom: ${this.item.pb}px; margin-left: ${this.padding(this.item.pl)}px; margin-right: ${this.padding(this.item.pr)}px;  `\n\t\t\t\tif(this.item.backgroundColor){\n\t\t\t\t\tstyle = style + `background-color: ${this.item.backgroundColor}; `\n\t\t\t\t}\n\t\t\t\tif(this.item.borderColor){\n\t\t\t\t\tstyle = style + `border-color: ${this.item.borderColor}; `\n\t\t\t\t}\n\t\t\t\tif(this.item.borderWidth){\n\t\t\t\t\tstyle = style + `border-style: solid; border-width: ${this.item.borderWidth}px; `\n\t\t\t\t}\n\t\t\t\tif(this.item.borderRadius){\n\t\t\t\t\tstyle = style + `border-radius: ${this.item.borderRadius}px; `\n\t\t\t\t}\n\t\t\t\tif(this.item.minWidth){\n\t\t\t\t\tstyle = style + `min-width: ${this.item.minWidth}px; `\n\t\t\t\t}\n\t\t\t\tif(this.item.maxWidth){\n\t\t\t\t\tstyle = style + `max-width: ${this.item.maxWidth}px; `\n\t\t\t\t}\n\t\t\t\treturn style;\n\t\t\t}\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageBlock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageBlock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ImageBlock.vue?vue&type=template&id=2703cb75&scoped=true\"\nimport script from \"./ImageBlock.vue?vue&type=script&lang=js\"\nexport * from \"./ImageBlock.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2703cb75\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{style:(`width: 100%; text-align: ${_vm.item.alignment};`),on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('img',{style:(_vm.imageStyle),attrs:{\"alt\":\"logo\",\"src\":_vm.accountLogo}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div @click=\"$emit('click', $event)\" :style=\"`width: 100%; text-align: ${item.alignment};`\">\n\t\t<img alt=\"logo\" :src=\"accountLogo\" :style=\"imageStyle\">\n\t</div>\n</template>\n\n<script>\n\timport ResponsiveMixin from \"./ResponsiveMixin\";\n\n\texport default {\n\t\tname: 'ImageBlock',\n\n\t\tprops: ['accountLogo','item','isMobile','pageWidth'],\n\n\t\tmixins: [ResponsiveMixin],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {},\n\n\t\tcomputed: {\n\t\t\timageStyle: function(){\n\t\t\t\tlet style = `height: auto; min-width: 50px; width: ${this.item.width}px; max-width: min(${this.item.width}px,100%); padding: ${this.item.padding}px; margin-top: ${this.item.pt}px; margin-bottom: ${this.item.pb}px; margin-left: ${this.padding(this.item.pl)}px; margin-right: ${this.padding(this.item.pr)}px; `\n\t\t\t\tif(this.item.backgroundColor){\n\t\t\t\t\tstyle = style + `background-color: ${this.item.backgroundColor}; `\n\t\t\t\t}\n\t\t\t\tif(this.item.borderColor){\n\t\t\t\t\tstyle = style + `border-color: ${this.item.borderColor}; `\n\t\t\t\t}\n\t\t\t\tif(this.item.borderWidth){\n\t\t\t\t\tstyle = style + `border-style: solid; border-width: ${this.item.borderWidth}px; `\n\t\t\t\t}\n\t\t\t\tif(this.item.borderRadius){\n\t\t\t\t\tstyle = style + `border-radius: ${this.item.borderRadius}px; `\n\t\t\t\t}\n\t\t\t\treturn style;\n\t\t\t}\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logo.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logo.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Logo.vue?vue&type=template&id=09a17872&scoped=true\"\nimport script from \"./Logo.vue?vue&type=script&lang=js\"\nexport * from \"./Logo.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"09a17872\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{style:(_vm.paymentStyle),attrs:{\"id\":_vm.item.id},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.pendingCharge),expression:\"!pendingCharge\"}],staticClass:\"text-left column-format gap-1\"},[_c('div',{ref:\"card\",staticStyle:{\"border-bottom\":\"1px solid var(--v-gray_30-base)\"}}),_c('div',{staticClass:\"row-format gap-1 mt-1\"},[_c('v-img',{staticStyle:{\"max-width\":\"30px\",\"margin-left\":\"-2px\"},attrs:{\"src\":\"/images/payment/american_express.svg\"}}),_c('v-img',{staticStyle:{\"max-width\":\"30px\"},attrs:{\"src\":\"/images/payment/visa.svg\"}}),_c('v-img',{staticStyle:{\"max-width\":\"30px\"},attrs:{\"src\":\"/images/payment/mastercard.svg\"}}),_c('v-img',{staticStyle:{\"max-width\":\"30px\"},attrs:{\"src\":\"/images/payment/discover.svg\"}})],1)]),(_vm.pendingCharge && _vm.pendingCharge.clientPaymentMethod)?_c('div',{staticClass:\"font-14 text-left column-format gap-2\"},[_c('div',[_vm._v(\" \"+_vm._s(_vm.pendingCharge.clientPaymentMethod.label)+\" \"+_vm._s(_vm.pendingCharge.clientPaymentMethod.last4)+\" charged \"+_vm._s(_vm.$formatters.dollars(_vm.pendingCharge.amount, true, true, _vm.pendingCharge.currency))+\" \"+_vm._s(_vm.pendingCharge.currency)+\" on \"+_vm._s(_vm.$DateTime.fromISO(_vm.pendingCharge.timestamp).toLocaleString(_vm.$DateTime.DATETIME_MED))+\" \")]),_c('div',{staticClass:\"row-format gap-1 mt-0\"},[_c('v-img',{staticStyle:{\"max-width\":\"30px\",\"margin-left\":\"-2px\"},attrs:{\"src\":\"/images/payment/american_express.svg\"}}),_c('v-img',{staticStyle:{\"max-width\":\"30px\"},attrs:{\"src\":\"/images/payment/visa.svg\"}}),_c('v-img',{staticStyle:{\"max-width\":\"30px\"},attrs:{\"src\":\"/images/payment/mastercard.svg\"}}),_c('v-img',{staticStyle:{\"max-width\":\"30px\"},attrs:{\"src\":\"/images/payment/discover.svg\"}})],1)]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div @click=\"$emit('click', $event)\" :style=\"paymentStyle\" :id=\"item.id\">\n    <div class=\"text-left column-format gap-1\" v-show=\"!pendingCharge\">\n\t\t\t<div ref=\"card\" style=\"border-bottom: 1px solid var(--v-gray_30-base)\"></div>\n\t\t\t<div class=\"row-format gap-1 mt-1\">\n\t\t\t\t<v-img src=\"/images/payment/american_express.svg\" style=\"max-width: 30px; margin-left: -2px\"></v-img>\n\t\t\t\t<v-img src=\"/images/payment/visa.svg\" style=\"max-width: 30px\"></v-img>\n\t\t\t\t<v-img src=\"/images/payment/mastercard.svg\" style=\"max-width: 30px\"></v-img>\n\t\t\t\t<v-img src=\"/images/payment/discover.svg\" style=\"max-width: 30px\"></v-img>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"font-14 text-left column-format gap-2\" v-if=\"pendingCharge && pendingCharge.clientPaymentMethod\">\n\t\t\t<div>\n\t\t\t\t{{ pendingCharge.clientPaymentMethod.label }} {{ pendingCharge.clientPaymentMethod.last4 }} charged\n\t\t\t\t{{ $formatters.dollars(pendingCharge.amount, true, true, pendingCharge.currency) }}\n\t\t\t\t{{ pendingCharge.currency }} on\n\t\t\t\t{{ $DateTime.fromISO(pendingCharge.timestamp).toLocaleString($DateTime.DATETIME_MED) }}\n\t\t\t</div>\n\t\t\t<div class=\"row-format gap-1 mt-0\">\n\t\t\t\t<v-img src=\"/images/payment/american_express.svg\" style=\"max-width: 30px; margin-left: -2px\"></v-img>\n\t\t\t\t<v-img src=\"/images/payment/visa.svg\" style=\"max-width: 30px\"></v-img>\n\t\t\t\t<v-img src=\"/images/payment/mastercard.svg\" style=\"max-width: 30px\"></v-img>\n\t\t\t\t<v-img src=\"/images/payment/discover.svg\" style=\"max-width: 30px\"></v-img>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'Payment',\n\n\t\tprops: ['agreement', 'item','tokens'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tstripe: null,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tif (this.agreement.account.stripeAccountId && !this.agreement.fullyExecuted) {\n\t\t\t\tthis.stripe = window.Stripe(process.env.VUE_APP_STRIPE_KEY, {\n\t\t\t\t\tstripeAccount: this.agreement.account.stripeAccountId,\n\t\t\t\t});\n\t\t\t\tthis.elements = this.stripe.elements();\n\t\t\t\tthis.card = this.elements.create('card', {\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\tbase: {\n\t\t\t\t\t\t\tcolor: this.$vuetify.theme.dark ? 'white' : 'black',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t});\n\t\t\t\tthis.card.mount(this.$refs.card);\n\t\t\t}\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n      finalize() {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tthis.item.preAuth = Number(this.tokens.get('UpFront.UnformattedTotal'));\n          if(!this.item.token) {\n            this.stripe\n                .createToken(this.card)\n                .then((res) => {\n                  if (res.error) {\n                    this.errorState()\n                    this.$store.commit('error', res.error.message);\n                    reject(res.error.message);\n                  } else {\n                    this.goodState();\n                    this.card.update({disabled:true});\n                    this.item.token = res.token.id;\n                    resolve();\n                  }\n                })\n                .catch((err) => {\n                  this.errorState();\n                  reject(err)\n                });\n          }else{\n            resolve();\n          }\n\t\t\t\t});\n\t\t\t},\n\n      reset: function(){\n        return new Promise((resolve) => {\n          this.card.update({disabled:false});\n          this.item.token = null;\n          resolve();\n        });\n      },\n\n      errorState: function(){\n        document.getElementById(this.item.id).scrollIntoView({ block: 'start', behavior: 'smooth' });\n        document.getElementById(this.item.id).classList.add(\"red-border\");\n      },\n\n      goodState: function(){\n        document.getElementById(this.item.id).classList.remove(\"red-border\");\n      }\n\t\t},\n\n\t\tcomputed: {\n\t\t\tpendingCharge: function() {\n\t\t\t\tif (this.item && this.item.pendingCharge) {\n\t\t\t\t\treturn this.item.pendingCharge;\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tpaymentStyle: function() {\n\t\t\t\tlet style = `width: ${this.item.scale}%; padding: ${this.item.padding}px; margin-top: ${this.item.pt}px; margin-bottom: ${this.item.pb}px; margin-left: ${this.item.pl}px; margin-right: ${this.item.pr}px; `\n\t\t\t\tif(this.item.backgroundColor){\n\t\t\t\t\tstyle = style + `background-color: ${this.item.backgroundColor}; `\n\t\t\t\t}\n\t\t\t\tif(this.item.borderColor){\n\t\t\t\t\tstyle = style + `border-color: ${this.item.borderColor}; `\n\t\t\t\t}\n\t\t\t\tif(this.item.borderWidth){\n\t\t\t\t\tstyle = style + `border-style: solid; border-width: ${this.item.borderWidth}px; `\n\t\t\t\t}\n\t\t\t\tif(this.item.borderRadius){\n\t\t\t\t\tstyle = style + `border-radius: ${this.item.borderRadius}px; `\n\t\t\t\t}\n\t\t\t\treturn style;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Payment.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Payment.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Payment.vue?vue&type=template&id=16f9fc30&scoped=true\"\nimport script from \"./Payment.vue?vue&type=script&lang=js\"\nexport * from \"./Payment.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"16f9fc30\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VImg } from 'vuetify/lib/components/VImg';\ninstallComponents(component, {VImg})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{on:{\"click\":function($event){return _vm.$emit('click',$event)}}},[_vm._v(\" SCHEDULER \")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div @click=\"$emit('click',$event)\">\n\t\tSCHEDULER\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: \"Scheduler\",\n\n\tprops: [],\n\n\tcomponents: {},\n\n\tdata: function () {\n\t\treturn {}\n\t},\n\n\tmounted() {\n\t},\n\n\tbeforeDestroy() {\n\t},\n\n\tmethods: {},\n\n\tcomputed: {},\n\n}\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Scheduler.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Scheduler.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Scheduler.vue?vue&type=template&id=10903e36&scoped=true\"\nimport script from \"./Scheduler.vue?vue&type=script&lang=js\"\nexport * from \"./Scheduler.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"10903e36\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{style:(`padding-left: ${_vm.padding(_vm.item.pl)}px; padding-right: ${_vm.padding(_vm.item.pr)}px; padding-bottom: ${_vm.item.pb}px; padding-top: ${_vm.item.pt}px;`),attrs:{\"id\":_vm.item.id},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('v-container',[_c('v-row',[(_vm.userSigners.length)?_c('v-col',{staticClass:\"column-format gap-2\",attrs:{\"cols\":_vm.cols}},_vm._l((_vm.userSigners),function(userSigner){return _c('signer',{key:userSigner.id,attrs:{\"agreement\":_vm.agreement,\"item\":_vm.element,\"signer\":userSigner,\"is-current-user\":_vm.signer && (_vm.signer.id === userSigner.id)},on:{\"signed\":function($event){return _vm.handleSigned($event)}}})}),1):_vm._e(),(_vm.clientSigners.length)?_c('v-col',{staticClass:\"column-format gap-2\",attrs:{\"cols\":_vm.cols}},_vm._l((_vm.clientSigners),function(clientSigner){return _c('signer',{key:clientSigner.id,attrs:{\"agreement\":_vm.agreement,\"item\":_vm.element,\"signer\":clientSigner,\"is-current-user\":_vm.signer && (_vm.signer.id === clientSigner.id)},on:{\"signed\":function($event){return _vm.handleSigned($event)}}})}),1):_vm._e(),(_vm.userSigners.length === 0 && _vm.clientSigners.length === 0)?_c('v-col',{staticClass:\"font-gray_80 py-8\"},[_c('v-btn',{attrs:{\"elevation\":\"0\",\"color\":\"secondary\",\"outlined\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$store.state.eventBus.$emit('agreement-show-signers')}}},[_vm._v(\"Add signers\")])],1):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-left font-14 column-format\"},[_c('div',{staticClass:\"signature-line row-format centered\"},[(!_vm.isSigned && _vm.isCurrentUser)?_c('div',{staticClass:\"sign column-format centered pointer\",on:{\"click\":function($event){$event.stopPropagation();return _vm.doSign.apply(null, arguments)}}},[_c('div',[_vm._v(\"Sign\")]),_c('v-icon',{attrs:{\"color\":\"black\",\"size\":\"18\"}},[_vm._v(\"arrow_downward\")])],1):(!_vm.isSigned && !_vm.isCurrentUser)?_c('div',{staticClass:\"no-sign column-format centered\"},[_c('v-icon',{attrs:{\"color\":\"#bec4ca\",\"size\":\"18\"}},[_vm._v(\"block\")])],1):(_vm.isSigned)?_c('div',{staticClass:\"column-format align-center\"},[(_vm.signer.signatureType === 'Image')?_c('div',{staticStyle:{\"height\":\"100%\"}},[_c('img',{staticStyle:{\"height\":\"70px\",\"max-height\":\"70px\",\"padding\":\"8px\"},attrs:{\"src\":_vm.signer.signature,\"alt\":\"signature\"}})]):_c('div',{style:(`font-family: ${_vm.signer.font}; font-size:40px`)},[_vm._v(\" \"+_vm._s(_vm.signer.signature)+\" \")]),_c('div',{staticClass:\"font-12\"},[_vm._v(_vm._s(_vm.DateTime.fromISO(_vm.signer.timestamp).toLocaleString(_vm.DateTime.DATETIME_SHORT)))])]):_vm._e()]),_c('div',{staticStyle:{\"font-weight\":\"500\"}},[_vm._v(\" \"+_vm._s(_vm.signer.firstName)+\" \"+_vm._s(_vm.signer.lastName)+\" \")]),_c('div',{staticClass:\"font-12\"},[_vm._v(_vm._s(_vm.signingFor))]),_c('div',{staticClass:\"font-12\"},[_vm._v(_vm._s(_vm.signer.title ? _vm.signer.title : ' '))]),(_vm.agreement.account.enableGeoLocationOnSignature && _vm.signer.ip && _vm.signer.ip.ip)?_c('div',{staticClass:\"font-12 row-format align-center gap-1\"},[_c('img',{attrs:{\"src\":_vm.signer.ip.countryFlag,\"width\":\"15px\"}}),_c('div',[_vm._v(_vm._s(_vm.signer.ip.ip)+\" - \"+_vm._s(_vm.signer.ip.city)+\", \"+_vm._s(_vm.signer.ip.region)+\", \"+_vm._s(_vm.signer.ip.country))])]):_vm._e(),_c('basic-modal',{attrs:{\"dialog\":_vm.signDialog}},[_c('sign-dialog',{attrs:{\"signer\":_vm.signer},on:{\"cancel\":function($event){_vm.signDialog=false},\"signed\":_vm.handleSigned}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isReady)?_c('div',{staticStyle:{\"background-color\":\"#fff\"},attrs:{\"id\":\"sign-dialog\"}},[_c('div',{staticClass:\"pa-4\"},[_c('v-tabs',{attrs:{\"slider-size\":\"4\",\"slider-color\":\"black\"},on:{\"change\":_vm.tabChanged}},[_c('v-tab',[_vm._v(_vm._s(_vm.$t('proposal.signature.type-signature')))]),_c('v-tab',[_vm._v(_vm._s(_vm.$t('proposal.signature.draw-signature')))]),_c('v-tab-item',{staticClass:\"column-format gap-2\"},[_c('div',{staticClass:\"signature-block mt-4 mb-3\",style:(_vm.signatureFont)},[_c('div',{staticClass:\"signature\"},[_c('input',{staticClass:\"keyboardInput\",attrs:{\"disabled\":\"\",\"type\":\"text\"},domProps:{\"value\":`${_vm.signer.firstName} ${_vm.signer.lastName}`}})])]),_c('v-select',{attrs:{\"outlined\":\"\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"dense\":\"\",\"label\":_vm.$t('proposal.signature.signature-font'),\"items\":_vm.fonts},scopedSlots:_vm._u([{key:\"item\",fn:function({ item }){return [_c('span',{style:(`font-family: ${item}, cursive; font-size:30px`)},[_vm._v(_vm._s(_vm.$t('proposal.signature.signature')))])]}},{key:\"selection\",fn:function({ item }){return [_c('span',{style:(`font-family: ${item}, cursive; font-size:30px`)},[_vm._v(_vm._s(_vm.$t('proposal.signature.signature')))])]}}],null,false,2745115292),model:{value:(_vm.element.font),callback:function ($$v) {_vm.$set(_vm.element, \"font\", $$v)},expression:\"element.font\"}}),_c('div',{staticClass:\"row-format gap-2\"},[_c('v-text-field',{attrs:{\"outlined\":\"\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"dense\":\"\",\"label\":\"Title\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_vm._v(\" Title\"),_c('span',{staticClass:\"red--text\"},[_c('strong',[_vm._v(\"* \")])])]},proxy:true}],null,false,861112194),model:{value:(_vm.element.title),callback:function ($$v) {_vm.$set(_vm.element, \"title\", $$v)},expression:\"element.title\"}}),_c('v-text-field',{attrs:{\"outlined\":\"\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"dense\":\"\",\"label\":\"Initials\",\"maxlength\":\"3\",\"aria-required\":\"true\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_vm._v(\" Initials\"),_c('span',{staticClass:\"red--text\"},[_c('strong',[_vm._v(\"* \")])])]},proxy:true}],null,false,4092781647),model:{value:(_vm.element.initials),callback:function ($$v) {_vm.$set(_vm.element, \"initials\", $$v)},expression:\"element.initials\"}})],1)],1),_c('v-tab-item',{staticClass:\"column-format gap-2\"},[_c('div',{staticClass:\"signature-block mt-4 mb-3\",on:{\"dragover\":_vm.cancelDragDrop,\"dragenter\":_vm.cancelDragDrop,\"drop\":_vm.handleDrop}},[_c('div',{staticClass:\"instructions row-format align-center\"},[_c('div',[_vm._v(_vm._s(_vm.$t('proposal.signature.draw-in-box')))]),_c('v-icon',{staticClass:\"ml-auto material-symbols-outlined pointer mr-3\",attrs:{\"size\":\"16\"},on:{\"click\":_vm.clearDrawingPad}},[_vm._v(\"cancel\")])],1),_c('div',{staticClass:\"signature\",style:('background-color: var(--v-gray_10-base);' + _vm.signatureFont)},[_c('vue-signature-pad',{ref:\"signaturePad\",attrs:{\"width\":\"476px\",\"height\":\"150px\"}})],1)]),_c('v-text-field',{attrs:{\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":\"Name\",\"disabled\":\"\",\"value\":`${_vm.signer.firstName} ${_vm.signer.lastName}`}}),_c('div',{staticClass:\"row-format gap-2\"},[_c('v-text-field',{attrs:{\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":\"Title\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_vm._v(\" Title\"),_c('span',{staticClass:\"red--text\"},[_c('strong',[_vm._v(\"*\")])])]},proxy:true}],null,false,3582623618),model:{value:(_vm.element.title),callback:function ($$v) {_vm.$set(_vm.element, \"title\", $$v)},expression:\"element.title\"}}),_c('v-text-field',{attrs:{\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":\"Initials\",\"maxlength\":\"3\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_vm._v(\" Initials\"),_c('span',{staticClass:\"red--text\"},[_c('strong',[_vm._v(\"*\")])])]},proxy:true}],null,false,2053561423),model:{value:(_vm.element.initials),callback:function ($$v) {_vm.$set(_vm.element, \"initials\", $$v)},expression:\"element.initials\"}})],1)],1)],1)],1),_c('div',{staticClass:\"modal-footer\"},[_c('v-btn',{staticClass:\"mr-1\",attrs:{\"elevation\":\"0\",\"color\":\"gray_20\"},on:{\"click\":function($event){return _vm.cancelSign()}}},[_vm._v(_vm._s(_vm.$t('global.cancel')))]),_c('v-btn',{staticClass:\"ml-1\",attrs:{\"color\":\"primary\",\"disabled\":!_vm.element.initials || !_vm.element.title},on:{\"click\":function($event){return _vm.confirmSign()}}},[_vm._v(_vm._s(_vm.$t('proposal.signature.sign-accept')))])],1)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div id=\"sign-dialog\" style=\"background-color: #fff\" v-if=\"isReady\">\n\t\t<div class=\"pa-4\">\n\t\t\t<v-tabs @change=\"tabChanged\" slider-size=\"4\" slider-color=\"black\">\n\t\t\t\t<v-tab>{{ $t('proposal.signature.type-signature') }}</v-tab>\n\t\t\t\t<v-tab>{{ $t('proposal.signature.draw-signature') }}</v-tab>\n\t\t\t\t<v-tab-item class=\"column-format gap-2\">\n\t\t\t\t\t<div class=\"signature-block mt-4 mb-3\" :style=\"signatureFont\">\n\t\t\t\t\t\t<div class=\"signature\">\n\t\t\t\t\t\t\t<input :value=\"`${signer.firstName} ${signer.lastName}`\" disabled type=\"text\" class=\"keyboardInput\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<v-select\n\t\t\t\t\t\toutlined\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n            dense\n\t\t\t\t\t\t:label=\"$t('proposal.signature.signature-font')\"\n\t\t\t\t\t\tv-model=\"element.font\"\n\t\t\t\t\t\t:items=\"fonts\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<template v-slot:item=\"{ item }\">\n\t\t\t\t\t\t\t<span :style=\"`font-family: ${item}, cursive; font-size:30px`\">{{\n\t\t\t\t\t\t\t\t$t('proposal.signature.signature')\n\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-slot:selection=\"{ item }\">\n\t\t\t\t\t\t\t<span :style=\"`font-family: ${item}, cursive; font-size:30px`\">{{\n\t\t\t\t\t\t\t\t$t('proposal.signature.signature')\n\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</v-select>\n\n\t\t\t\t\t<div class=\"row-format gap-2\">\n\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\toutlined\n\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\tpersistent-placeholder\n                dense\n\t\t\t\t\t\t\t\tlabel=\"Title\"\n\t\t\t\t\t\t\t\tv-model=\"element.title\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<template #label>\n\t\t\t\t\t\t\t\tTitle<span class=\"red--text\"><strong>* </strong></span>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</v-text-field>\n\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\toutlined\n\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\tpersistent-placeholder\n                dense\n\t\t\t\t\t\t\t\tlabel=\"Initials\"\n\t\t\t\t\t\t\t\tmaxlength=\"3\"\n\t\t\t\t\t\t\t\tv-model=\"element.initials\"\n\t\t\t\t\t\t\t\taria-required=\"true\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<template #label>\n\t\t\t\t\t\t\t\tInitials<span class=\"red--text\"><strong>* </strong></span>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</v-text-field>\n\t\t\t\t\t</div>\n\n\t\t\t\t</v-tab-item>\n\n\t\t\t\t<v-tab-item class=\"column-format gap-2\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"signature-block mt-4 mb-3\"\n\t\t\t\t\t\t@dragover=\"cancelDragDrop\"\n\t\t\t\t\t\t@dragenter=\"cancelDragDrop\"\n\t\t\t\t\t\t@drop=\"handleDrop\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"instructions row-format align-center\">\n\t\t\t\t\t\t\t<div>{{ $t('proposal.signature.draw-in-box') }}</div>\n\t\t\t\t\t\t\t<v-icon size=\"16\" class=\"ml-auto material-symbols-outlined pointer mr-3\" @click=\"clearDrawingPad\"\n\t\t\t\t\t\t\t\t>cancel</v-icon\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"signature\" :style=\"'background-color: var(--v-gray_10-base);' + signatureFont\">\n\t\t\t\t\t\t\t<vue-signature-pad width=\"476px\" height=\"150px\" ref=\"signaturePad\"></vue-signature-pad>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\toutlined\n            dense\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\tlabel=\"Name\"\n\t\t\t\t\t\tdisabled\n\t\t\t\t\t\t:value=\"`${signer.firstName} ${signer.lastName}`\"\n\t\t\t\t\t></v-text-field>\n\t\t\t\t\t<div class=\"row-format gap-2\">\n\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\toutlined\n                dense\n\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\tlabel=\"Title\"\n\t\t\t\t\t\t\t\tv-model=\"element.title\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<template #label>\n\t\t\t\t\t\t\t\tTitle<span class=\"red--text\"><strong>*</strong></span>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</v-text-field>\n\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\toutlined\n                dense\n\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\tlabel=\"Initials\"\n\t\t\t\t\t\t\t\tmaxlength=\"3\"\n\t\t\t\t\t\t\t\tv-model=\"element.initials\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<template #label>\n\t\t\t\t\t\t\t\tInitials<span class=\"red--text\"><strong>*</strong></span>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</v-text-field>\n\t\t\t\t\t</div>\n\t\t\t\t</v-tab-item>\n\t\t\t</v-tabs>\n\t\t</div>\n\t\t<div class=\"modal-footer\">\n\t\t\t<v-btn class=\"mr-1\" @click=\"cancelSign()\" elevation=\"0\" color=\"gray_20\">{{ $t('global.cancel') }}</v-btn>\n\t\t\t<v-btn class=\"ml-1\" @click=\"confirmSign()\" color=\"primary\" :disabled=\"!element.initials || !element.title\">{{ $t('proposal.signature.sign-accept') }}</v-btn>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport {DateTime} from 'luxon';\n\n\texport default {\n\t\tname: 'SignDialog',\n\n\t\tprops: ['agreement', 'signer'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tisReady: false,\n\t\t\t\telement:  {... this.signer},\n\t\t\t\tsignatureType: 'Keyboard',\n\t\t\t\tfonts: ['Arizonia', 'Charmonman', 'Herr Von Muellerhoff', 'Reenie Beanie'],\n\t\t\t};\n\t\t},\n\n\t\tmounted: function(){\n\t\t\tif(!this.element.initials){\n\t\t\t\tlet name = this.signer.firstName + ' ' + this.signer.lastName;\n\t\t\t\tthis.element.initials = '';\n\t\t\t\tname.split(\" \").forEach(x => {\n\t\t\t\t\tthis.element.initials = this.element.initials + x.charAt(0).toUpperCase();\n\t\t\t\t})\n\t\t\t}\n\t\t\tthis.isReady = true;\n\t\t},\n\n\t\tmethods: {\n\t\t\ttabChanged: function(tabNumber) {\n\t\t\t\tif (tabNumber === 0) {\n\t\t\t\t\tthis.signatureType = 'Keyboard';\n\t\t\t\t} else {\n\t\t\t\t\tthis.signatureType = 'Image';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcancelDragDrop: function(e) {\n\t\t\t\tif (e.preventDefault) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandleDrop: function(e) {\n\t\t\t\tif (e.preventDefault) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t}\n\t\t\t\tlet dt = e.dataTransfer;\n\t\t\t\tlet files = dt.files;\n\t\t\t\tfor (let i = 0; i < files.length; i++) {\n\t\t\t\t\tlet file = files[i];\n\t\t\t\t\tlet reader = new FileReader();\n\t\t\t\t\treader.onloadend = (e) => this.fileLoaded(e);\n\t\t\t\t\treader.readAsDataURL(file);\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\tfileLoaded: function(progressEvent) {\n\t\t\t\tthis.clearDrawingPad();\n\t\t\t\tthis.$refs.signaturePad.fromDataURL(progressEvent.target.result);\n\t\t\t},\n\n\t\t\tclearDrawingPad: function() {\n\t\t\t\tthis.$refs.signaturePad.undoSignature();\n\t\t\t},\n\n\t\t\tconfirmSign: function() {\n\t\t\t\tif (this.signatureType === 'Keyboard') {\n\t\t\t\t\tthis.element.signatureType = 'Keyboard';\n\t\t\t\t\tthis.element.signature = this.signer.firstName + ' ' + this.signer.lastName;\n\t\t\t\t} else {\n\t\t\t\t\tlet pngSignature = this.$refs.signaturePad.saveSignature('image/png');\n\n\t\t\t\t\tif(pngSignature.isEmpty){\n\t\t\t\t\t\tthis.$store.commit('error', this.$t('error.signature'));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.element.signatureType = 'Image';\n\t\t\t\t\tthis.element.signature = pngSignature.data;\n\t\t\t\t}\n\t\t\t\tthis.element.timestamp = DateTime.now().toISO();\n\t\t\t\tthis.$emit('signed',this.element);\n\t\t\t},\n\n\t\t\tcancelSign: function() {\n\t\t\t\tthis.$emit('cancel');\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tsignatureFont: function() {\n\t\t\t\treturn `font-family: ${this.element.font};`;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t#sign-dialog {\n\t\t.signature-block {\n\t\t\tbackground-color: var(--v-gray_20-base);\n\t\t\tborder-radius: 4px;\n\t\t\tborder: 1px solid var(--v-gray_50-base);\n\t\t\theight: 224px;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\t> div.signature {\n\t\t\t\tfont-size: 40px;\n\t\t\t\tborder-bottom: 1px solid var(--v-gray_50-base);\n\t\t\t}\n\t\t\tposition: relative;\n\t\t\t.instructions {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 4px;\n\t\t\t\tleft: 8px;\n\t\t\t\tfont-weight: 500;\n\t\t\t\tfont-size: 12px;\n\t\t\t\twidth: 100%;\n\t\t\t}\n\t\t}\n\t\t.keyboardInput {\n\t\t\twidth: 337px;\n\t\t\toutline: none;\n\t\t\ttext-align: center;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SignDialog.vue?vue&type=template&id=84c8e582\"\nimport script from \"./SignDialog.vue?vue&type=script&lang=js\"\nexport * from \"./SignDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./SignDialog.vue?vue&type=style&index=0&id=84c8e582&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VIcon,VSelect,VTab,VTabItem,VTabs,VTextField})\n","<template>\n\t<div class=\"text-left font-14 column-format\">\n\t\t<div class=\"signature-line row-format centered\">\n\t\t\t<div v-if=\"!isSigned && isCurrentUser\" class=\"sign column-format centered pointer\" @click.stop=\"doSign\">\n\t\t\t\t<div>Sign</div>\n\t\t\t\t<v-icon color=\"black\" size=\"18\">arrow_downward</v-icon>\n\t\t\t</div>\n\t\t\t<div v-else-if=\"!isSigned && !isCurrentUser\" class=\"no-sign column-format centered\">\n\t\t\t\t<v-icon color=\"#bec4ca\" size=\"18\">block</v-icon>\n\t\t\t</div>\n\t\t\t<div v-else-if=\"isSigned\" class=\"column-format align-center\">\n\t\t\t\t<div v-if=\"signer.signatureType === 'Image'\" style=\"height:100%\" class=\"\">\n\t\t\t\t\t<img :src=\"signer.signature\" alt=\"signature\" style=\"height: 70px; max-height:70px; padding: 8px\">\n\t\t\t\t</div>\n\t\t\t\t<div v-else :style=\"`font-family: ${signer.font}; font-size:40px`\">\n\t\t\t\t\t{{signer.signature}}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"font-12\">{{DateTime.fromISO(signer.timestamp).toLocaleString(DateTime.DATETIME_SHORT)}}</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div style=\"font-weight: 500\">\n\t\t\t{{signer.firstName}} {{signer.lastName}}\n\t\t</div>\n\t\t<div class=\"font-12\">{{signingFor}}</div>\n\t\t<div class=\"font-12\">{{signer.title ? signer.title : '&nbsp;'}}</div>\n\t\t<div v-if=\"agreement.account.enableGeoLocationOnSignature && signer.ip && signer.ip.ip\" class=\"font-12 row-format align-center gap-1\">\n\t\t\t<img :src=\"signer.ip.countryFlag\" width=\"15px\" />\n\t\t\t<div>{{ signer.ip.ip }} - {{ signer.ip.city }}, {{ signer.ip.region }}, {{ signer.ip.country }}</div>\n\t\t</div>\n\n\t\t<basic-modal :dialog=\"signDialog\">\n\t\t\t<sign-dialog @cancel=\"signDialog=false\" :signer=\"signer\" @signed=\"handleSigned\"></sign-dialog>\n\t\t</basic-modal>\n\t</div>\n</template>\n\n<script>\nimport BasicModal from \"@/components/BasicModal\";\nimport SignDialog from \"@/modules/agreements/schema/SignDialog\";\nimport {DateTime} from 'luxon';\n\nexport default {\n\tname: \"Signer\",\n\n\tprops: ['agreement','item','signer','isCurrentUser'],\n\n\tcomponents: {SignDialog, BasicModal},\n\n\tdata: function () {\n\t\treturn {\n\t\t\tsignDialog: false,\n\t\t\tDateTime: DateTime\n\t\t}\n\t},\n\n\tmounted() {\n\t},\n\n\tbeforeDestroy() {\n\t},\n\n\tmethods: {\n\t\tdoSign: function(){\n\t\t\tif(this.hasCreatedSignature){\n\t\t\t\tthis.handleSigned(this.signer);\n\t\t\t}else {\n\t\t\t\tthis.signDialog = true;\n\t\t\t}\n\t\t},\n\n\t\thandleSigned: function(event){\n\t\t\tthis.signDialog = false;\n\t\t\tthis.$emit('signed',event);\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tsigningFor: function(){\n\t\t\treturn this.signer.signerType === 'USER' ? this.agreement.account.accountName : this.agreement.client.name;\n\t\t},\n\n\t\thasCreatedSignature: function(){\n\t\t\treturn !!this.signer.signature;\n\t\t},\n\n\t\tisSigned: function(){\n\t\t\treturn this.item.signedBy.indexOf(this.signer.id) >= 0;\n\t\t}\n\t},\n\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t.signature-line {\n\t\tborder-bottom: 1px solid #bec4ca;\n\t\twidth: 100%;\n\t\theight: 90px;\n\t\tmin-height: 90px;\n\t\tmax-height: 90px;\n\t}\n\n\t.sign {\n\t\tbackground-color: gold;\n\t\tcolor: black;\n\t\tmin-width: 80px;\n\t\tmax-width: 80px;\n\t\tmin-height: 45px;\n\t\tmargin: 6px;\n\t\tborder-radius: 4px;\n\t\tfilter: drop-shadow(0px 2px 4px #bec4ca);\n\t}\n\n\t.no-sign {\n\t\tborder: 1px solid #bec4ca;\n\t\tbackground-color: #eeeeee;\n\t\tcolor: black;\n\t\tmin-width: 80px;\n\t\tmax-width: 80px;\n\t\tmin-height: 45px;\n\t\tmargin: 6px;\n\t\tborder-radius: 4px;\n\t}\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Signer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Signer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Signer.vue?vue&type=template&id=39f43c00&scoped=true\"\nimport script from \"./Signer.vue?vue&type=script&lang=js\"\nexport * from \"./Signer.vue?vue&type=script&lang=js\"\nimport style0 from \"./Signer.vue?vue&type=style&index=0&id=39f43c00&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"39f43c00\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","<template>\n\t<div :id=\"item.id\" @click=\"$emit('click', $event)\" :style=\"`padding-left: ${padding(item.pl)}px; padding-right: ${padding(item.pr)}px; padding-bottom: ${item.pb}px; padding-top: ${item.pt}px;`\">\n\t\t<v-container>\n\t\t\t<v-row>\n\t\t\t\t<v-col :cols=\"cols\" v-if=\"userSigners.length\" class=\"column-format gap-2\">\n\t\t\t\t\t<signer\n\t\t\t\t\t\tv-for=\"userSigner in userSigners\"\n\t\t\t\t\t\t:key=\"userSigner.id\"\n\t\t\t\t\t\t:agreement=\"agreement\"\n\t\t\t\t\t\t:item=\"element\"\n\t\t\t\t\t\t:signer=\"userSigner\"\n\t\t\t\t\t\t:is-current-user=\"signer && (signer.id === userSigner.id)\"\n\t\t\t\t\t\t@signed=\"handleSigned($event)\"\n\t\t\t\t\t></signer>\n\t\t\t\t</v-col>\n\t\t\t\t<v-col :cols=\"cols\" v-if=\"clientSigners.length\" class=\"column-format gap-2\">\n\t\t\t\t\t<signer\n\t\t\t\t\t\tv-for=\"clientSigner in clientSigners\"\n\t\t\t\t\t\t:key=\"clientSigner.id\"\n\t\t\t\t\t\t:agreement=\"agreement\"\n\t\t\t\t\t\t:item=\"element\"\n\t\t\t\t\t\t:signer=\"clientSigner\"\n\t\t\t\t\t\t:is-current-user=\"signer && (signer.id === clientSigner.id)\"\n\t\t\t\t\t\t@signed=\"handleSigned($event)\"\n\t\t\t\t\t></signer>\n\t\t\t\t</v-col>\n\t\t\t\t<v-col v-if=\"userSigners.length === 0 && clientSigners.length === 0\" class=\"font-gray_80 py-8\">\n\t\t\t\t\t<v-btn @click.stop=\"$store.state.eventBus.$emit('agreement-show-signers')\" elevation=\"0\" color=\"secondary\" outlined>Add signers</v-btn>\n\t\t\t\t</v-col>\n\t\t\t</v-row>\n\t\t</v-container>\n\t</div>\n</template>\n\n<script>\n\timport Signer from '@/modules/agreements/schema/Signer';\n\timport ResponsiveMixin from \"./ResponsiveMixin\";\n\n\texport default {\n\t\tname: 'Signature',\n\n\t\tprops: ['agreement', 'item', 'active','signer','isMobile','pageWidth'],\n\n\t\tmixins: [ResponsiveMixin],\n\n\t\tcomponents: { Signer },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\telement: { ...this.item },\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\thandleSigned: function(signer) {\n\t\t\t\tif (signer.id === this.signer.id) {\n\t\t\t\t\tthis.$emit('signed', signer);\n\t\t\t\t}\n\t\t\t},\n\n      finalize: function(){\n        return new Promise((resolve,reject) => {\n          if(this.signer) {\n            if (!this.item.signedBy.includes(this.signer.id)) {\n              this.errorState();\n              reject();\n              return false;\n            }\n          }\n          this.goodState();\n          resolve();\n        })\n      },\n\n      errorState: function(){\n        document.getElementById(this.item.id).scrollIntoView({ block: 'start', behavior: 'smooth' });\n        document.getElementById(this.item.id).classList.add(\"red-border\");\n      },\n\n      goodState: function(){\n        document.getElementById(this.item.id).classList.remove(\"red-border\");\n      }\n\t\t},\n\n\t\tcomputed: {\n\t\t\tuserSigners: function() {\n\t\t\t\tif(this.item.clientOnly){\n\t\t\t\t\treturn [];\n\t\t\t\t}else {\n\t\t\t\t\treturn this.agreement.signers.filter((s) => s.signerType === 'USER');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tclientSigners: function() {\n\t\t\t\treturn this.agreement.signers.filter((s) => s.signerType === 'CLIENT');\n\t\t\t},\n\n\t\t\tcols: function() {\n        if(this.agreement.styles.pageSize === 'RESPONSIVE' && this.$vuetify.breakpoint.smAndDown){\n          return 12;\n        }else {\n          return this.userSigners.length && this.clientSigners.length ? 6 : 12;\n        }\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Signature.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Signature.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Signature.vue?vue&type=template&id=191670d7&scoped=true\"\nimport script from \"./Signature.vue?vue&type=script&lang=js\"\nexport * from \"./Signature.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"191670d7\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{style:(`height: ${_vm.height}px; min-height: ${_vm.height}px`),on:{\"click\":function($event){return _vm.$emit('click', $event)}}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div @click=\"$emit('click', $event)\" :style=\"`height: ${height}px; min-height: ${height}px`\"></div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'Spacer',\n\n\t\tprops: ['item'],\n\n\t\tmixins: [],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {},\n\n\t\tcomputed: {\n\t\t\theight: function() {\n\t\t\t\tif (this.item.height && this.item.height > 10) {\n\t\t\t\t\treturn this.item.height;\n\t\t\t\t} else {\n\t\t\t\t\treturn 10;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spacer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spacer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Spacer.vue?vue&type=template&id=0411b8e2&scoped=true\"\nimport script from \"./Spacer.vue?vue&type=script&lang=js\"\nexport * from \"./Spacer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"0411b8e2\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-left\",style:(`padding-left: ${_vm.padding(_vm.item.pl)}px; padding-right: ${_vm.padding(_vm.item.pr)}px; padding-bottom: ${_vm.item.pb}px; padding-top: ${_vm.item.pt}px; font-size: ${_vm.item.fontSize}px `),on:{\"click\":function($event){return _vm.$emit('click', $event);}}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.tokenizedText)}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div\n\t\t\tclass=\"text-left\"\n\t\t\t@click=\"$emit('click', $event);\"\n\t\t\t:style=\"\n\t\t\t`padding-left: ${padding(item.pl)}px; padding-right: ${padding(item.pr)}px; padding-bottom: ${item.pb}px; padding-top: ${item.pt}px; font-size: ${item.fontSize}px `\n\t\t\"\n\t>\n\t\t<div v-html=\"tokenizedText\"></div>\n\t</div>\n</template>\n\n<script>\nimport ResponsiveMixin from \"./ResponsiveMixin\";\n\nexport default {\n\tname: \"Terms\",\n\n\tprops: ['item', 'active','tokens','templateMode','isMobile','pageWidth'],\n\n\tmixins: [ResponsiveMixin],\n\n\tcomponents: {},\n\n\tdata: function () {\n\t\treturn {}\n\t},\n\n\tmounted() {\n\t},\n\n\tbeforeDestroy() {\n\t},\n\n\tmethods: {},\n\n\tcomputed: {\n\t\ttokenizedText: function() {\n\t\t\tif (!this.item.evaluatedTerms) {\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tlet text = this.item.evaluatedTerms;\n\t\t\tif(!this.templateMode) {\n\t\t\t\tthis.tokens.forEach((value, key) => {\n\t\t\t\t\ttext = text.replaceAll(`{{${key}}}`, value);\n\t\t\t\t});\n\t\t\t}\n\t\t\treturn text;\n\t\t},\n\t},\n\n}\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Terms.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Terms.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Terms.vue?vue&type=template&id=53a1e504&scoped=true\"\nimport script from \"./Terms.vue?vue&type=script&lang=js\"\nexport * from \"./Terms.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"53a1e504\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-left\",style:(`padding-left: ${_vm.padding(_vm.item.pl)}px; padding-right: ${_vm.padding(_vm.item.pr)}px; padding-bottom: ${_vm.item.pb}px; padding-top: ${_vm.item.pt}px; `),on:{\"click\":function($event){return _vm.handleClick($event)}}},[(_vm.isReady && _vm.activeElementId === _vm.item.id && _vm.editMode)?_c('editor',{ref:\"textEditor\",attrs:{\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.text,\"inline\":true,\"init\":_vm.mceConfigText,\"spellcheck\":true},on:{\"input\":_vm.handleTextInput}}):_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.tokenizedText)}}),(_vm.active)?_c('div',{staticClass:\"row-format mb-n1 mt-1\"},[_c('v-icon',{staticClass:\"material-symbols-outlined\",staticStyle:{\"cursor\":\"grab\"},attrs:{\"size\":\"22\"}},[_vm._v(\"drag_indicator\")])],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div\n\t\tclass=\"text-left\"\n\t\t@click=\"handleClick($event)\"\n\t\t:style=\"\n\t\t\t`padding-left: ${padding(item.pl)}px; padding-right: ${padding(item.pr)}px; padding-bottom: ${item.pb}px; padding-top: ${item.pt}px; `\n\t\t\"\n\t>\n\t\t<editor\n\t\t\tv-if=\"isReady && activeElementId === item.id && editMode\"\n\t\t\tref=\"textEditor\"\n\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t:initial-value=\"text\"\n\t\t\t:inline=\"true\"\n\t\t\t:init=\"mceConfigText\"\n\t\t\t@input=\"handleTextInput\"\n\t\t\t:spellcheck=\"true\"\n\t\t></editor>\n\n\t\t<div v-else v-html=\"tokenizedText\"></div>\n\n\t\t<div v-if=\"active\" class=\"row-format mb-n1 mt-1\">\n\t\t\t<v-icon size=\"22\" class=\"material-symbols-outlined\" style=\"cursor: grab\">drag_indicator</v-icon>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport marked from \"marked\";\n\timport ResponsiveMixin from \"./ResponsiveMixin\";\n\n\texport default {\n\t\tname: 'TextBlock',\n\n\t\tprops: ['item', 'active', 'mceConfig','tokens','editMode','templateMode','isMobile','pageWidth'],\n\n\t\tmixins: [ResponsiveMixin],\n\n\t\tcomponents: {\n\t\t\teditor: () => import(/* webpackChunkName: \"tinymce\" */ '@tinymce/tinymce-vue'),\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tmceConfigText: null,\n\t\t\t\ttext: this.item.text,\n\t\t\t\tisEditorActive: false,\n\t\t\t\tisReady: false,\n\n\t\t\t\tinitialAiContext: [\n\t\t\t\t\t'You are helping to write content for a proposal.',\n\t\t\t\t\t'Feel free to ask clarifying questions.',\n\t\t\t\t\t'Once you have gathered enough information from the user, please output a nicely formatted version and prompt the user to click the \"Create\" button if they are happy with result.',\n\t\t\t\t],\n\n\t\t\t\tinitialAiPrompt: 'Please tell me a bit about what I can help you write today.',\n\t\t\t\tfinalizationPrompt: `Please return the final copy nicely formatted without any explanations or additional text.  No additional prompts to the user should be included.`\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.mceConfigText = JSON.parse(JSON.stringify(this.mceConfig));\n\t\t\tthis.mceConfigText.contextmenu =  'paste | link | table | assistant';\n\t\t\tthis.mceConfigText.setup = (editor) => {\n\t\t\t\tlet items = [];\n\n\t\t\t\tthis.tokens.forEach((value,key) => {\n\t\t\t\t\titems.push({\n\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\ttext: key,\n\t\t\t\t\t\tonAction: function () {\n\t\t\t\t\t\t\teditor.insertContent('{{' + key + '}}');\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t})\n\n\t\t\t\teditor.ui.registry.addMenuButton('tokenbutton', {\n\t\t\t\t\ttext: 'Tokens',\n\t\t\t\t\tfetch: function (callback) {\n\t\t\t\t\t\tcallback(items);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\teditor.ui.registry.addButton('ai', {\n\t\t\t\t\ttext: '✨Assistant',\n\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\tthis.aiHelper();\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\teditor.ui.registry.addNestedMenuItem('assistant', {\n\t\t\t\t\ttext: '✨Assistant',\n\t\t\t\t\tgetSubmenuItems: () => {\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\t\t\ttext: 'Elaborate',\n\t\t\t\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\t\t\t\tthis.rewrite('elaborate');\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\t\t\ttext: 'Simplify',\n\t\t\t\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\t\t\t\tthis.rewrite('simplify');\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\t\t\ttext: 'Make more formal',\n\t\t\t\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\t\t\t\tthis.rewrite('formalize');\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\t\t\ttext: 'Make friendlier',\n\t\t\t\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\t\t\t\tthis.rewrite('friendlier');\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\t\t\ttext: 'Summarize',\n\t\t\t\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\t\t\t\tthis.rewrite('summarize');\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\t\t\ttext: 'Paraphrase',\n\t\t\t\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\t\t\t\tthis.rewrite('paraphrase');\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\teditor.on('init', () => {\n\t\t\t\t\tthis.editorActive(true);\n\t\t\t\t});\n\n\t\t\t\teditor.on('focusin', () => {\n\t\t\t\t\tthis.editorActive(true);\n\t\t\t\t});\n\n\t\t\t\teditor.on('focusout', () => {\n\t\t\t\t\tthis.broadcastChange();\n\t\t\t\t});\n\t\t\t};\n\t\t\tthis.isReady = true;\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tasync rewrite(modifier) {\n\t\t\t\tconst { default: AiAssistantService } = await import('@/modules/ai/AiAssistantService');\n\t\t\t\tlet aiAssistantService = new AiAssistantService();\n\t\t\t\tlet editor = this.$refs.textEditor.editor;\n\t\t\t\tlet selection = editor.selection.getContent({ format: 'html' });\n\n\t\t\t\tif (selection) {\n\t\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\t\taiAssistantService\n\t\t\t\t\t\t\t.rewrite(selection, modifier)\n\t\t\t\t\t\t\t.then((response) => {\n\t\t\t\t\t\t\t\teditor.selection.setContent(response);\n\t\t\t\t\t\t\t\tthis.text = editor.getContent();\n\t\t\t\t\t\t\t\tlet element = {... this.item};\n\t\t\t\t\t\t\t\telement.text = this.text;\n\t\t\t\t\t\t\t\tthis.$emit('change', element);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch((err) => this.$store.commit('error', err.response?.data?.message))\n\t\t\t\t\t\t\t.finally(() => this.$store.commit('stopLoading'));\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tbroadcastChange: function(){\n\t\t\t\tthis.editorActive(false);\n\t\t\t\tlet element = {... this.item};\n\t\t\t\telement.text = this.text;\n\t\t\t\tthis.$emit('change', element);\n\t\t\t},\n\n\t\t\tasync aiHelper(){\n\t\t\t\tconst { default: AiChatWidget } = await import('@/modules/ai/AiChatWidget');\n\t\t\t\tlet binding = {\n\t\t\t\t\tmaxHeight: 'calc(100vh - 350px)',\n\t\t\t\t\tcontext: this.initialAiContext,\n\t\t\t\t\tinitialPrompt: this.initialAiPrompt,\n\t\t\t\t\tfinalizationPrompt: this.finalizationPrompt,\n\t\t\t\t\tuseCase: 'GeneralChat',\n\t\t\t\t\tmodel: \"gpt-4o\",\n\t\t\t\t\tresultFormat: \"text\"\n\t\t\t\t}\n\t\t\t\tthis.$store.state.globalModalController.openModal(AiChatWidget,binding).then((res) => {\n\t\t\t\t\tif(res){\n\t\t\t\t\t\tlet m = marked(res, { breaks: true });\n\t\t\t\t\t\tm = m.replaceAll('<a href', '<a target=\"_blank\" href');\n\n\t\t\t\t\t\tconst editor = this.$refs.textEditor.editor;\n\t\t\t\t\t\tconst currentContent = editor.getContent();\n\t\t\t\t\t\teditor.setContent(currentContent + m);\n\t\t\t\t\t\tthis.text = currentContent + m;\n\t\t\t\t\t\tthis.broadcastChange();\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\n\n\t\t\thandleClick: function(event) {\n\t\t\t\tif ((!this.isEditorActive || !this.active) && !this.isFocused) {\n\t\t\t\t\tthis.$emit('click', event);\n\t\t\t\t} else {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\teditorActive: function(value) {\n\t\t\t\tthis.isEditorActive = value;\n\t\t\t\tthis.$store.state.eventBus.$emit('drag-enabled', !value);\n\t\t\t\tthis.$store.state.eventBus.$emit('undo-enabled', !value);\n\t\t\t},\n\n\t\t\thandleTextInput: function() {\n\t\t\t\tthis.text = this.$refs.textEditor.editor.getContent();\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tactiveElementId: function(){\n\t\t\t\treturn this.$store.state.agreementBuilderState.activeElementId;\n\t\t\t},\n\n\t\t\ttokenizedText: function() {\n\t\t\t\tif (!this.item.text) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tlet text = this.item.text;\n\n\t\t\t\tif(!this.templateMode) {\n\t\t\t\t\tthis.tokens.forEach((value, key) => {\n\t\t\t\t\t\ttext = text.replaceAll(`{{${key}}}`, value);\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn text;\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n\t\t\titemText: function(val){\n\t\t\t\tthis.text = val;\n\t\t\t},\n\n\t\t\tactive: function(val) {\n\t\t\t\tif (val) {\n\t\t\t\t\tsetTimeout(() => {if(this.$refs.textEditor && this.$refs.textEditor.editor)this.$refs.textEditor.editor.focus()}, 200);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextBlock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextBlock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextBlock.vue?vue&type=template&id=60342993&scoped=true\"\nimport script from \"./TextBlock.vue?vue&type=script&lang=js\"\nexport * from \"./TextBlock.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"60342993\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"column-format\",on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('draggable',{class:`${_vm.item.stacked ? 'column-format' : 'row-format'} gap-3`,style:(`padding-left: ${_vm.padding(_vm.item.pl)}px; padding-right: ${_vm.padding(_vm.item.pr)}px; padding-bottom: ${_vm.item.pb}px; padding-top: ${\n\t\t\t\t_vm.item.pt\n\t\t\t}px; ${_vm.agreement.styles.pageSize === 'RESPONSIVE' ? 'flex-wrap: wrap;' : 'flex-wrap:wrap'}`),attrs:{\"disabled\":!_vm.active || !_vm.editMode || _vm.item.packages.length < 2,\"id\":_vm.item.id,\"handle\":\".dragHandle\"},on:{\"start\":_vm.onDragStart,\"end\":_vm.onDragEnd},model:{value:(_vm.item.packages),callback:function ($$v) {_vm.$set(_vm.item, \"packages\", $$v)},expression:\"item.packages\"}},_vm._l((_vm.item.packages),function(servicePackage){return _c('div',{key:servicePackage.id,style:(`flex: 1 1 0; ${_vm.agreement.styles.pageSize === 'RESPONSIVE' ? 'min-width:300px' : 'min-width:300px'}`)},[_c('service-package',{ref:\"servicePackage\",refInFor:true,attrs:{\"agreement\":_vm.agreement,\"services\":_vm.item,\"service-package\":servicePackage,\"mce-config\":_vm.mceConfig,\"active\":_vm.active,\"client-mode\":_vm.clientMode,\"edit-mode\":_vm.editMode,\"tokens\":_vm.tokens,\"signer\":_vm.signer,\"template-mode\":_vm.templateMode},on:{\"click\":function($event){return _vm.$emit('click', $event)},\"change\":function($event){return _vm.handleChange(servicePackage, $event)},\"delete\":function($event){return _vm.deletePackage(servicePackage)}}})],1)}),0),(_vm.active && _vm.editMode)?_c('div',{staticClass:\"row-format centered py-4\"},[_c('div',{staticClass:\"row-format add-button align-center\",staticStyle:{\"min-width\":\"400px\"}},[_c('div',{staticClass:\"new row-format centered\",on:{\"click\":function($event){return _vm.addNewPackage()}}},[_c('v-icon',{staticClass:\"material-symbols-rounded\",attrs:{\"color\":\"primary\",\"size\":\"20\"}},[_vm._v(\"add\")]),_c('div',[_vm._v(\"Add package\")])],1),_c('v-menu',{attrs:{\"close-on-content-click\":\"\",\"close-on-click\":\"\",\"nudge-top\":\"100\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"from-package row-format centered\"},on),[_c('div',[_vm._v(\"From template\")]),_c('v-icon',{staticClass:\"material-symbols-rounded\",attrs:{\"color\":\"primary\"}},[_vm._v(\"arrow_drop_down\")])],1)]}}],null,false,2925733456)},[_c('div',{staticClass:\"more-menu show-scrollbar\",staticStyle:{\"max-height\":\"500px\"}},_vm._l((_vm.packageTemplates),function(template){return _c('div',{key:template.id,staticClass:\"more-menu-item font-14\",on:{\"click\":function($event){return _vm.importTemplate(template)}}},[_vm._v(\" \"+_vm._s(template.name)+\" \")])}),0)])],1)]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isReady)?_c('div',{staticClass:\"column-format gap-6\",staticStyle:{\"min-height\":\"40px\",\"height\":\"100%\",\"position\":\"relative\"},style:(`${_vm.wrapperStyle}`),attrs:{\"id\":`service-package-${_vm.servicePackage.id}`},on:{\"click\":_vm.handleClick}},[(_vm.active && _vm.editMode)?_c('editor',{ref:\"textEditor\",attrs:{\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.servicePackage.description,\"inline\":true,\"init\":_vm.mceConfigText,\"spellcheck\":true},on:{\"input\":_vm.handleTextInput}}):_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.tokenizedText)}}),(_vm.items.length)?_c('div',{staticClass:\"column-format\",style:(`border: 1px solid ${_vm.services.tableBorderColor}; border-radius: 4px;`)},[_c('draggable',{attrs:{\"disabled\":!_vm.editMode || !_vm.active},model:{value:(_vm.items),callback:function ($$v) {_vm.items=$$v},expression:\"items\"}},_vm._l((_vm.items),function(item,index){return _c('div',{key:item.id,staticClass:\"row-format align-start pa-2\",style:(`${index < _vm.items.length - 1 ? 'border-bottom: 1px solid' + _vm.services.tableBorderColor : ''}`)},[_c('service-item-renderer',{staticClass:\"flex-grow-1\",attrs:{\"item\":item,\"tokens\":_vm.tokensForItem(item)}}),(_vm.editMode && _vm.active)?_c('v-icon',{staticClass:\"pl-2 mt-1 ml-auto material-symbols-rounded pointer\",attrs:{\"size\":\"18\",\"color\":\"gray_70\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.editItem(item, $event)}}},[_vm._v(\"edit\")]):_vm._e()],1)}),0)],1):_vm._e(),(_vm.active && _vm.editMode)?_c('v-menu',{attrs:{\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"font-primary pointer\"},on),[_vm._v(\"+ Line item\")])]}}],null,false,833037200),model:{value:(_vm.lineItemMenu),callback:function ($$v) {_vm.lineItemMenu=$$v},expression:\"lineItemMenu\"}},[_c('products',{attrs:{\"currency\":_vm.agreement.cursor},on:{\"select\":function($event){_vm.addLineItem($event);\n\t\t\t\t_vm.lineItemMenu = false;},\"close\":function($event){_vm.lineItemMenu = false}}})],1):_vm._e(),(_vm.addOns.length)?_c('div',{staticClass:\"ml-1\"},[_c('draggable',{attrs:{\"disabled\":!_vm.editMode || !_vm.active},model:{value:(_vm.addOns),callback:function ($$v) {_vm.addOns=$$v},expression:\"addOns\"}},_vm._l((_vm.addOns),function(addOn){return _c('div',{key:addOn.id,staticClass:\"column-format font-14 text-left\",attrs:{\"id\":`item-${addOn.id}`}},[_c('div',{staticClass:\"row-format align-start pr-2\"},[_c('v-switch',{staticClass:\"flex-grow-1 custom-switch\",staticStyle:{\"align-items\":\"start!important\"},attrs:{\"dark\":false,\"inset\":true,\"hide-details\":\"\",\"dense\":\"\",\"color\":_vm.$store.getters.getCustomBranding.primaryColor,\"disabled\":_vm.addOnsDisabled},on:{\"click\":function($event){$event.stopPropagation();}},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('service-item-renderer',{staticClass:\"flex-grow-1\",attrs:{\"item\":addOn,\"tokens\":_vm.tokensForItem(addOn)}})]},proxy:true}],null,true),model:{value:(addOn.selected),callback:function ($$v) {_vm.$set(addOn, \"selected\", $$v)},expression:\"addOn.selected\"}}),(_vm.active && _vm.editMode)?_c('v-icon',{staticClass:\"pl-2 mt-5 material-symbols-rounded pointer\",attrs:{\"size\":\"18\",\"color\":\"gray_70\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.editItem(addOn, $event)}}},[_vm._v(\"edit\")]):_vm._e()],1)])}),0)],1):_vm._e(),(_vm.active && _vm.editMode)?_c('v-menu',{attrs:{\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"font-primary pointer\"},on),[_vm._v(\"+ Optional add-on\")])]}}],null,false,2205783528),model:{value:(_vm.addOnMenu),callback:function ($$v) {_vm.addOnMenu=$$v},expression:\"addOnMenu\"}},[_c('products',{attrs:{\"currency\":_vm.agreement.cursor},on:{\"select\":function($event){_vm.addLineItem($event, true);\n\t\t\t\t_vm.addOnMenu = false;},\"close\":function($event){_vm.addOnMenu = false}}})],1):_vm._e(),(_vm.showButton)?_c('div',{staticClass:\"mt-auto\",style:(`width:100%; text-align: ${_vm.buttonAlignment}`)},[_c('v-btn',{staticClass:\"elevation-3\",style:(_vm.buttonStyle),attrs:{\"dark\":false,\"color\":_vm.servicePackage.selected ? _vm.services.buttonColor : '#FFFFFF',\"x-small\":_vm.button.xSmall,\"small\":_vm.button.small,\"large\":_vm.button.large,\"x-large\":_vm.button.xLarge,\"block\":_vm.button.block,\"disabled\":_vm.mainButtonDisabled},on:{\"click\":function($event){$event.stopPropagation();return _vm.handleSelection.apply(null, arguments)}}},[_c('div',{staticClass:\"pa-1 row-format centered\",style:(`color: ${_vm.buttonFontColor}!important`)},[_c('div',{style:(`color: ${_vm.buttonFontColor}!important`)},[_vm._v(_vm._s(_vm.servicePackage.buttonText))]),(_vm.servicePackage.selected)?_c('span',{staticClass:\"material-symbols-rounded\",style:(`font-size: 20px; color:#${_vm.buttonFontColor}!important`)},[_vm._v(\"verified\")]):_vm._e()])])],1):_vm._e(),(_vm.active && _vm.editMode)?_c('v-icon',{staticClass:\"dragHandle\",staticStyle:{\"position\":\"absolute\",\"top\":\"10px\",\"left\":\"10px\",\"cursor\":\"grab\"},attrs:{\"size\":\"20\",\"color\":\"gray_70\"}},[_vm._v(\"drag_handle\")]):_vm._e(),(_vm.active && _vm.editMode)?_c('v-menu',{attrs:{\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-icon',_vm._g({staticClass:\"pointer\",staticStyle:{\"position\":\"absolute\",\"top\":\"10px\",\"right\":\"10px\"},attrs:{\"size\":\"20\",\"color\":\"gray_50\"}},on),[_vm._v(\"settings\")])]}}],null,false,3558731917),model:{value:(_vm.packageMenu),callback:function ($$v) {_vm.packageMenu=$$v},expression:\"packageMenu\"}},[_c('package-editor',{attrs:{\"agreement\":_vm.agreement,\"services\":_vm.services,\"service-package\":_vm.servicePackage},on:{\"close\":_vm.handlePackageEditorClose,\"delete\":function($event){return _vm.$emit('delete', $event)}}})],1):_vm._e(),(_vm.dialog)?_c('v-menu',{attrs:{\"max-width\":\"500\",\"bottom\":\"\",\"left\":\"\",\"nudge-bottom\":_vm.menuY,\"nudge-right\":_vm.menuX,\"close-on-content-click\":false},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('div',{staticClass:\"pa-4\",staticStyle:{\"background-color\":\"var(--v-white-base)\",\"min-width\":\"500px\",\"max-width\":\"500px\",\"width\":\"500px\"}},[_c('service-item-editor',{attrs:{\"mce-config\":_vm.mceConfig,\"agreement\":_vm.agreement,\"service-package\":_vm.servicePackage,\"service-item\":_vm.item},on:{\"delete\":function($event){return _vm.deleteItem($event)},\"save\":function($event){return _vm.saveItem($event)},\"close\":function($event){_vm.dialog = false}}})],1)]):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"column-format gap-2\",staticStyle:{\"width\":\"700px\",\"min-width\":\"700px\",\"max-width\":\"700px\",\"background-color\":\"var(--v-white-base)\"},attrs:{\"id\":\"package-editor\"}},[_c('div',{staticClass:\"row-format gap-1 align-center pa-3\"},[_c('div',{staticClass:\"brand-medium\"},[_vm._v(\"Edit package\")]),_c('div',{staticClass:\"ml-auto\"},[_c('v-icon',{staticClass:\"pointer\",on:{\"click\":function($event){return _vm.handleClose()}}},[_vm._v(\"close\")])],1)]),_c('div',{staticClass:\"column-format gap-2 pa-3\"},[_c('div',{staticClass:\"row-format gap-2\"},[_c('v-text-field',{staticClass:\"equal-size\",attrs:{\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"persistent-placeholder\":\"\",\"label\":\"Package name\"},model:{value:(_vm.element.packageName),callback:function ($$v) {_vm.$set(_vm.element, \"packageName\", $$v)},expression:\"element.packageName\"}}),_c('div',{staticClass:\"row-format gap-2 equal-size\"},[_c('date-selector',{staticClass:\"equal-size\",attrs:{\"standard\":true,\"label\":\"Start date (optional)\",\"date\":_vm.element.startDate},on:{\"change\":function($event){_vm.element.startDate = $event}}}),(_vm.element.fees.feeType === 'Retainer')?_c('v-select',{staticClass:\"equal-size\",attrs:{\"items\":_vm.periods,\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"dense\":\"\",\"outlined\":\"\",\"item-text\":\"label\",\"item-value\":\"value\",\"label\":\"Billable periods\"},model:{value:(_vm.element.fees.retainerPeriods),callback:function ($$v) {_vm.$set(_vm.element.fees, \"retainerPeriods\", $$v)},expression:\"element.fees.retainerPeriods\"}}):_vm._e()],1)],1),_c('div',{staticClass:\"row-format gap-2\"},[_c('v-select',{staticClass:\"equal-size\",attrs:{\"items\":_vm.feeTypes,\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"item-text\":\"label\",\"item-value\":\"value\",\"dense\":\"\",\"outlined\":\"\",\"label\":\"Fee type\"},model:{value:(_vm.element.fees.feeType),callback:function ($$v) {_vm.$set(_vm.element.fees, \"feeType\", $$v)},expression:\"element.fees.feeType\"}}),(_vm.element.fees.feeType === 'Retainer')?_c('div',{staticClass:\"equal-size row-format gap-2\"},[_c('v-select',{staticClass:\"equal-size\",attrs:{\"items\":_vm.schedule,\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"dense\":\"\",\"outlined\":\"\",\"label\":\"Recurring period\"},model:{value:(_vm.element.fees.retainerSchedule),callback:function ($$v) {_vm.$set(_vm.element.fees, \"retainerSchedule\", $$v)},expression:\"element.fees.retainerSchedule\"}}),_c('v-select',{staticClass:\"equal-size\",attrs:{\"items\":['Advanced', 'Arrears'],\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"dense\":\"\",\"outlined\":\"\",\"label\":\"Recurring timing\"},scopedSlots:_vm._u([{key:\"item\",fn:function({ item }){return [_c('span',[_vm._v(_vm._s(item))])]}}],null,false,2957485812),model:{value:(_vm.element.fees.retainerTiming),callback:function ($$v) {_vm.$set(_vm.element.fees, \"retainerTiming\", $$v)},expression:\"element.fees.retainerTiming\"}})],1):_vm._e()],1),(_vm.element.fees.feeType !== 'Per Item')?_c('div',{staticClass:\"row-format gap-2\"},[_c('v-text-field',{staticClass:\"equal-size\",attrs:{\"label\":\"Hour estimate (min)\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\",\"min\":\"0\",\"max\":\"10000\"},on:{\"change\":function($event){return _vm.validateMinMax('min')}},model:{value:(_vm.element.fees.estimateMin),callback:function ($$v) {_vm.$set(_vm.element.fees, \"estimateMin\", $$v)},expression:\"element.fees.estimateMin\"}}),_c('v-text-field',{staticClass:\"equal-size\",attrs:{\"label\":\"Hour estimate (max)\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"dense\":\"\",\"outlined\":\"\",\"type\":\"number\",\"min\":\"0\",\"max\":\"10000\"},on:{\"change\":function($event){return _vm.validateMinMax('max')}},model:{value:(_vm.element.fees.estimateMax),callback:function ($$v) {_vm.$set(_vm.element.fees, \"estimateMax\", $$v)},expression:\"element.fees.estimateMax\"}})],1):_vm._e(),_c('div',{staticClass:\"row-format gap-2\"},[(_vm.element.fees.feeType !== 'Per Item')?_c('v-text-field',{staticClass:\"equal-size\",attrs:{\"prefix\":_vm.currencySymbol,\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"dense\":\"\",\"outlined\":\"\",\"oninput\":\"if(this.value < 0) this.value = this.value*-1;\",\"type\":\"number\",\"label\":\"Amount\"},model:{value:(_vm.element.fees.amount),callback:function ($$v) {_vm.$set(_vm.element.fees, \"amount\", $$v)},expression:\"element.fees.amount\"}}):_vm._e(),(_vm.element.fees.feeType === 'Retainer' && _vm.element.fees.estimateMax)?_c('v-text-field',{staticClass:\"equal-size\",attrs:{\"prefix\":_vm.currencySymbol,\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"dense\":\"\",\"outlined\":\"\",\"oninput\":\"if(this.value < 0) this.value = this.value*-1;\",\"type\":\"number\",\"label\":\"Overage hourly amount\"},model:{value:(_vm.element.fees.retainerOverageRate),callback:function ($$v) {_vm.$set(_vm.element.fees, \"retainerOverageRate\", $$v)},expression:\"element.fees.retainerOverageRate\"}}):_vm._e(),(_vm.element.fees.feeType === 'Hourly')?_c('v-text-field',{staticClass:\"equal-size\",attrs:{\"suffix\":\"%\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"dense\":\"\",\"outlined\":\"\",\"oninput\":\"if(this.value < 0){ this.value = this.value*-1}else if(this.value > 100){this.value = 100}\",\"type\":\"number\",\"label\":`Deposit (${_vm.depositAmount})`},model:{value:(_vm.element.depositAmount),callback:function ($$v) {_vm.$set(_vm.element, \"depositAmount\", $$v)},expression:\"element.depositAmount\"}}):_vm._e()],1),_c('v-checkbox',{attrs:{\"dense\":\"\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"true-value\":true,\"false-value\":false,\"label\":\"Taxable\"},model:{value:(_vm.element.fees.taxable),callback:function ($$v) {_vm.$set(_vm.element.fees, \"taxable\", $$v)},expression:\"element.fees.taxable\"}}),(_vm.element.fees.feeType !== 'Per Item')?_c('div',{staticClass:\"row-format align-center gap-2\"},[_c('v-select',{attrs:{\"items\":_vm.packageList,\"item-text\":\"name\",\"item-value\":\"id\",\"hide-details\":\"\",\"dense\":\"\",\"persistent-placeholder\":\"\",\"outlined\":\"\",\"clearable\":\"\",\"label\":\"Use tasks from project template\"},model:{value:(_vm.element.overrideDeliverablePackageId),callback:function ($$v) {_vm.$set(_vm.element, \"overrideDeliverablePackageId\", $$v)},expression:\"element.overrideDeliverablePackageId\"}}),_c('v-icon',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({\n\t\t\t\t\tcontent:\n\t\t\t\t\t\t'Selecting this value will replace the service items specified in the agreement with tasks from the specified project template when the project is automatically created.',\n\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\tcontent:\\n\\t\\t\\t\\t\\t\\t'Selecting this value will replace the service items specified in the agreement with tasks from the specified project template when the project is automatically created.',\\n\\t\\t\\t\\t}\"}],staticClass:\"ml-auto pointer\",attrs:{\"color\":\"accent\"}},[_vm._v(\"help\")])],1):_vm._e(),(!_vm.element.overrideDeliverablePackageId)?_c('v-select',{attrs:{\"items\":_vm.projectTypes,\"item-text\":\"name\",\"item-value\":\"id\",\"hide-details\":\"\",\"dense\":\"\",\"persistent-placeholder\":\"\",\"outlined\":\"\",\"clearable\":\"\",\"label\":\"Project type\",\"placeholder\":\"Default project type...\"},model:{value:(_vm.element.projectTypeId),callback:function ($$v) {_vm.$set(_vm.element, \"projectTypeId\", $$v)},expression:\"element.projectTypeId\"}}):_vm._e(),_c('v-text-field',{attrs:{\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"persistent-placeholder\":\"\",\"label\":\"Button text\"},model:{value:(_vm.element.buttonText),callback:function ($$v) {_vm.$set(_vm.element, \"buttonText\", $$v)},expression:\"element.buttonText\"}})],1),_c('div',{staticClass:\"mt-2 px-2 pt-2 pb-4 row-format gap-2 centered\",staticStyle:{\"border-top\":\"1px solid var(--v-gray_50-base)\"}},[_c('v-btn',{staticClass:\"delete\",attrs:{\"icon\":\"\"},on:{\"click\":_vm.confirmDelete}},[_c('v-icon',[_vm._v(\"$delete\")])],1),_c('v-btn',{staticClass:\"primary-action\",attrs:{\"width\":\"160\"},on:{\"click\":_vm.save}},[_vm._v(\" \"+_vm._s(_vm.$t('global.save'))+\" \")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import HttpClient from '@/services/HttpClient';\n\nexport default class EmbeddedServices {\n    httpClient;\n\n    constructor() {\n        this.httpClient = new HttpClient();\n    }\n\n    getDeliverablePackages() {\n        return this.httpClient\n            .get('/templates/deliverablePackages')\n            .then((res) => Promise.resolve(res))\n            .catch((err) => Promise.reject(err));\n    }\n}","<template>\n\t<div\n\t\tstyle=\"width: 700px; min-width: 700px; max-width: 700px; background-color: var(--v-white-base)\"\n\t\tclass=\"column-format gap-2\"\n\t\tid=\"package-editor\"\n\t>\n\t\t<div class=\"row-format gap-1 align-center pa-3\">\n\t\t\t<div class=\"brand-medium\">Edit package</div>\n\t\t\t<div class=\"ml-auto\"><v-icon class=\"pointer\" @click=\"handleClose()\">close</v-icon></div>\n\t\t</div>\n\t\t<div class=\"column-format gap-2 pa-3\">\n\t\t\t<div class=\"row-format gap-2\">\n\t\t\t\t<v-text-field\n\t\t\t\t\thide-details\n\t\t\t\t\tclass=\"equal-size\"\n\t\t\t\t\tdense\n\t\t\t\t\toutlined\n\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\tlabel=\"Package name\"\n\t\t\t\t\tv-model=\"element.packageName\"\n\t\t\t\t></v-text-field>\n\t\t\t\t<div class=\"row-format gap-2 equal-size\">\n\t\t\t\t\t<date-selector\n\t\t\t\t\t\tclass=\"equal-size\"\n\t\t\t\t\t\t:standard=\"true\"\n\t\t\t\t\t\tlabel=\"Start date (optional)\"\n\t\t\t\t\t\t:date=\"element.startDate\"\n\t\t\t\t\t\t@change=\"element.startDate = $event\"\n\t\t\t\t\t></date-selector>\n\t\t\t\t\t<v-select\n\t\t\t\t\t\tv-if=\"element.fees.feeType === 'Retainer'\"\n\t\t\t\t\t\tclass=\"equal-size\"\n\t\t\t\t\t\t:items=\"periods\"\n\t\t\t\t\t\tv-model=\"element.fees.retainerPeriods\"\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\tdense\n\t\t\t\t\t\toutlined\n\t\t\t\t\t\titem-text=\"label\"\n\t\t\t\t\t\titem-value=\"value\"\n\t\t\t\t\t\tlabel=\"Billable periods\"\n\t\t\t\t\t>\n\t\t\t\t\t</v-select>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"row-format gap-2\">\n\t\t\t\t<v-select\n\t\t\t\t\tclass=\"equal-size\"\n\t\t\t\t\t:items=\"feeTypes\"\n\t\t\t\t\tv-model=\"element.fees.feeType\"\n\t\t\t\t\thide-details\n\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\titem-text=\"label\"\n\t\t\t\t\titem-value=\"value\"\n\t\t\t\t\tdense\n\t\t\t\t\toutlined\n\t\t\t\t\tlabel=\"Fee type\"\n\t\t\t\t>\n\t\t\t\t</v-select>\n\t\t\t\t<div class=\"equal-size row-format gap-2\" v-if=\"element.fees.feeType === 'Retainer'\">\n\t\t\t\t\t<v-select\n\t\t\t\t\t\tclass=\"equal-size\"\n\t\t\t\t\t\t:items=\"schedule\"\n\t\t\t\t\t\tv-model=\"element.fees.retainerSchedule\"\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\tdense\n\t\t\t\t\t\toutlined\n\t\t\t\t\t\tlabel=\"Recurring period\"\n\t\t\t\t\t>\n\t\t\t\t\t</v-select>\n\t\t\t\t\t<v-select\n\t\t\t\t\t\tclass=\"equal-size\"\n\t\t\t\t\t\t:items=\"['Advanced', 'Arrears']\"\n\t\t\t\t\t\tv-model=\"element.fees.retainerTiming\"\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\tdense\n\t\t\t\t\t\toutlined\n\t\t\t\t\t\tlabel=\"Recurring timing\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<template v-slot:item=\"{ item }\">\n\t\t\t\t\t\t\t<span>{{ item }}</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</v-select>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class=\"row-format gap-2\" v-if=\"element.fees.feeType !== 'Per Item'\">\n\t\t\t\t<v-text-field\n\t\t\t\t\tclass=\"equal-size\"\n\t\t\t\t\tv-model=\"element.fees.estimateMin\"\n\t\t\t\t\tlabel=\"Hour estimate (min)\"\n\t\t\t\t\thide-details\n\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\tdense\n\t\t\t\t\toutlined\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tmin=\"0\"\n\t\t\t\t\tmax=\"10000\"\n\t\t\t\t\t@change=\"validateMinMax('min')\"\n\t\t\t\t></v-text-field>\n\n\t\t\t\t<v-text-field\n\t\t\t\t\tclass=\"equal-size\"\n\t\t\t\t\tv-model=\"element.fees.estimateMax\"\n\t\t\t\t\tlabel=\"Hour estimate (max)\"\n\t\t\t\t\thide-details\n\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\tdense\n\t\t\t\t\toutlined\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tmin=\"0\"\n\t\t\t\t\tmax=\"10000\"\n\t\t\t\t\t@change=\"validateMinMax('max')\"\n\t\t\t\t></v-text-field>\n\t\t\t</div>\n\n\t\t\t<div class=\"row-format gap-2\">\n\t\t\t\t<v-text-field\n\t\t\t\t\tv-if=\"element.fees.feeType !== 'Per Item'\"\n\t\t\t\t\tclass=\"equal-size\"\n\t\t\t\t\tv-model=\"element.fees.amount\"\n\t\t\t\t\t:prefix=\"currencySymbol\"\n\t\t\t\t\thide-details\n\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\tdense\n\t\t\t\t\toutlined\n\t\t\t\t\toninput=\"if(this.value < 0) this.value = this.value*-1;\"\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tlabel=\"Amount\"\n\t\t\t\t></v-text-field>\n\t\t\t\t<v-text-field\n\t\t\t\t\tclass=\"equal-size\"\n\t\t\t\t\tv-if=\"element.fees.feeType === 'Retainer' && element.fees.estimateMax\"\n\t\t\t\t\tv-model=\"element.fees.retainerOverageRate\"\n\t\t\t\t\t:prefix=\"currencySymbol\"\n\t\t\t\t\thide-details\n\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\tdense\n\t\t\t\t\toutlined\n\t\t\t\t\toninput=\"if(this.value < 0) this.value = this.value*-1;\"\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\tlabel=\"Overage hourly amount\"\n\t\t\t\t></v-text-field>\n\t\t\t\t<v-text-field\n\t\t\t\t\tclass=\"equal-size\"\n\t\t\t\t\tv-if=\"element.fees.feeType === 'Hourly'\"\n\t\t\t\t\tv-model=\"element.depositAmount\"\n\t\t\t\t\tsuffix=\"%\"\n\t\t\t\t\thide-details\n\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\tdense\n\t\t\t\t\toutlined\n\t\t\t\t\toninput=\"if(this.value < 0){ this.value = this.value*-1}else if(this.value > 100){this.value = 100}\"\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t:label=\"`Deposit (${depositAmount})`\"\n\t\t\t\t></v-text-field>\n\t\t\t</div>\n\t\t\t<v-checkbox\n\t\t\t\tdense\n\t\t\t\thide-details\n\t\t\t\tpersistent-placeholder\n\t\t\t\t:true-value=\"true\"\n\t\t\t\t:false-value=\"false\"\n\t\t\t\tv-model=\"element.fees.taxable\"\n\t\t\t\tlabel=\"Taxable\"\n\t\t\t></v-checkbox>\n\n\t\t\t<div class=\"row-format align-center gap-2\" v-if=\"element.fees.feeType !== 'Per Item'\">\n\t\t\t\t<v-select\n\t\t\t\t\tv-model=\"element.overrideDeliverablePackageId\"\n\t\t\t\t\t:items=\"packageList\"\n\t\t\t\t\titem-text=\"name\"\n\t\t\t\t\titem-value=\"id\"\n\t\t\t\t\thide-details\n\t\t\t\t\tdense\n\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\toutlined\n\t\t\t\t\tclearable\n\t\t\t\t\tlabel=\"Use tasks from project template\"\n\t\t\t\t>\n\t\t\t\t</v-select>\n\t\t\t\t<v-icon\n\t\t\t\t\tclass=\"ml-auto pointer\"\n\t\t\t\t\tcolor=\"accent\"\n\t\t\t\t\tv-tippy=\"{\n\t\t\t\t\t\tcontent:\n\t\t\t\t\t\t\t'Selecting this value will replace the service items specified in the agreement with tasks from the specified project template when the project is automatically created.',\n\t\t\t\t\t}\"\n\t\t\t\t\t>help</v-icon\n\t\t\t\t>\n\t\t\t</div>\n\n\t\t\t<v-select\n\t\t\t\tv-if=\"!element.overrideDeliverablePackageId\"\n\t\t\t\tv-model=\"element.projectTypeId\"\n\t\t\t\t:items=\"projectTypes\"\n\t\t\t\titem-text=\"name\"\n\t\t\t\titem-value=\"id\"\n\t\t\t\thide-details\n\t\t\t\tdense\n\t\t\t\tpersistent-placeholder\n\t\t\t\toutlined\n\t\t\t\tclearable\n\t\t\t\tlabel=\"Project type\"\n\t\t\t\tplaceholder=\"Default project type...\"\n\t\t\t>\n\t\t\t</v-select>\n\n\t\t\t<v-text-field\n\t\t\t\thide-details\n\t\t\t\tdense\n\t\t\t\toutlined\n\t\t\t\tpersistent-placeholder\n\t\t\t\tlabel=\"Button text\"\n\t\t\t\tv-model=\"element.buttonText\"\n\t\t\t></v-text-field>\n\t\t</div>\n\t\t<div style=\"border-top: 1px solid var(--v-gray_50-base)\" class=\"mt-2 px-2 pt-2 pb-4 row-format gap-2 centered\">\n\t\t\t<v-btn icon class=\"delete\" @click=\"confirmDelete\">\n\t\t\t\t<v-icon>$delete</v-icon>\n\t\t\t</v-btn>\n\t\t\t<v-btn class=\"primary-action\" width=\"160\" @click=\"save\">\n\t\t\t\t{{ $t('global.save') }}\n\t\t\t</v-btn>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport ConfirmModal from '@/components/ConfirmModal';\n\timport AgreementMixin from '@/modules/agreements/schema/AgreementMixin';\n\timport DateSelector from '@/components/DateSelector';\n\timport EmbeddedServices from '@/modules/agreements/schema/EmbeddedServices';\n\n\texport default {\n\t\tname: 'PackageEditor',\n\n\t\tprops: ['agreement', 'services', 'servicePackage'],\n\n\t\tmixins: [AgreementMixin],\n\n\t\tcomponents: { DateSelector },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tembeddedServices: new EmbeddedServices(),\n\n\t\t\t\telement: { ...this.servicePackage },\n\t\t\t\tpackageList: [],\n\n\t\t\t\tfeeTypes: [\n\t\t\t\t\t{ label: 'Hourly', value: 'Hourly' },\n\t\t\t\t\t{ label: 'Fixed Price', value: 'Fixed Price' },\n\t\t\t\t\t{ label: 'Recurring', value: 'Retainer' },\n\t\t\t\t\t{ label: 'Per Item', value: 'Per Item' },\n\t\t\t\t],\n\n\t\t\t\tschedule: ['Weekly', 'Bi-Weekly', 'Monthly', 'Quarterly', 'Bi-Annually', 'Annually'],\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getPackageList();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tgetPackageList: function() {\n\t\t\t\tthis.embeddedServices.getDeliverablePackages().then((res) => {\n\t\t\t\t\tthis.packageList.splice(0);\n\t\t\t\t\tthis.packageList.push(...res.data);\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tvalidateMinMax: function(minOrMax) {\n\t\t\t\tlet val;\n\n\t\t\t\tif (minOrMax === 'min') {\n\t\t\t\t\tval = this.element.fees.estimateMin;\n\t\t\t\t} else {\n\t\t\t\t\tval = this.element.fees.estimateMax;\n\t\t\t\t}\n\n\t\t\t\tif (!val) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tval = parseInt(val, 10);\n\n\t\t\t\tif (val < 0) {\n\t\t\t\t\tval = 0;\n\t\t\t\t} else if (val > 10000) {\n\t\t\t\t\tval = 10000;\n\t\t\t\t}\n\n\t\t\t\tif (minOrMax === 'min') {\n\t\t\t\t\tthis.element.fees.estimateMin = val;\n\t\t\t\t} else {\n\t\t\t\t\tthis.element.fees.estimateMax = val;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandleClose: function() {\n\t\t\t\tthis.save();\n\t\t\t},\n\n\t\t\tsave: function() {\n\t\t\t\tthis.element.description = this.servicePackage.description;\n\t\t\t\tObject.assign(this.servicePackage, this.element);\n\t\t\t\tthis.$emit('close');\n\t\t\t},\n\n\t\t\tconfirmDelete: function() {\n\t\t\t\tlet binding = {\n\t\t\t\t\theadingText: 'Confirm',\n\t\t\t\t\tbodyText: 'Are you sure you want to delete this package?',\n\t\t\t\t};\n\n\t\t\t\tthis.$store.state.globalModalController.openModal(ConfirmModal, binding).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tthis.$emit('delete', this.element);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tperiodsLabel: function() {\n\t\t\t\tlet val = this.element.fees.retainerSchedule;\n\t\t\t\tif (val === 'Weekly') {\n\t\t\t\t\treturn 'weeks';\n\t\t\t\t} else if (val === 'Bi-Weekly') {\n\t\t\t\t\treturn 'two week periods';\n\t\t\t\t} else if (val === 'Monthly') {\n\t\t\t\t\treturn 'months';\n\t\t\t\t} else if (val === 'Quarterly') {\n\t\t\t\t\treturn 'quarters';\n\t\t\t\t} else if (val === 'Bi-Annually') {\n\t\t\t\t\treturn 'six month periods';\n\t\t\t\t} else if (val === 'Annually') {\n\t\t\t\t\treturn 'years';\n\t\t\t\t} else {\n\t\t\t\t\treturn '?';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tperiods: function() {\n\t\t\t\tlet result = [];\n\t\t\t\tresult.push({ label: 'Until complete', value: -1 });\n\t\t\t\tfor (let i = 1; i <= 104; i++) {\n\t\t\t\t\tresult.push({ label: `${i} ${this.periodsLabel}`, value: i });\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\tcurrencySymbol: function() {\n\t\t\t\treturn this.$formatters.currencySymbol(this.agreement.currency);\n\t\t\t},\n\n\t\t\tprojectTypes: function() {\n\t\t\t\tif (this.$store.state.projectTypes) {\n\t\t\t\t\treturn this.$store.state.projectTypes;\n\t\t\t\t} else {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tdepositAmount: function() {\n\t\t\t\tif (this.element.fees.feeType === 'Hourly') {\n\t\t\t\t\treturn this.$formatters.dollars(\n\t\t\t\t\t\tthis.getHourlyDepositAmount(this.element),\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tthis.agreement.currency\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\treturn this.$formatters.dollars(\n\t\t\t\t\t\tthis.getPerItemDepositAmount(this.element),\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tthis.agreement.currency\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.override-menu {\n\t\ttop: var(--menuY) !important;\n\t\tleft: var(--menuX) !important;\n\t\tposition: absolute !important;\n\t}\n</style>\n\n<style scoped lang=\"scss\">\n\t.equal-size {\n\t\tflex-grow: 1;\n\t\tflex-basis: 0;\n\t\tmin-width: 0;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PackageEditor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PackageEditor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PackageEditor.vue?vue&type=template&id=be24bb42&scoped=true\"\nimport script from \"./PackageEditor.vue?vue&type=script&lang=js\"\nexport * from \"./PackageEditor.vue?vue&type=script&lang=js\"\nimport style0 from \"./PackageEditor.vue?vue&type=style&index=0&id=be24bb42&prod&lang=scss\"\nimport style1 from \"./PackageEditor.vue?vue&type=style&index=1&id=be24bb42&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"be24bb42\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCheckbox,VIcon,VSelect,VTextField})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"column-format gap-2\"},[_c('div',{staticClass:\"row-format gap-1 align-center\"},[_c('div',{staticClass:\"brand-medium\"},[_vm._v(\"Edit product or service\")]),_c('div',{staticClass:\"ml-auto\"},[_c('v-icon',{staticClass:\"pointer\",on:{\"click\":function($event){return _vm.handleClose()}}},[_vm._v(\"close\")])],1)]),(_vm.showTinyMCE)?_c('editor',{ref:\"description\",attrs:{\"init\":_vm.mceConfig,\"rows\":\"3\",\"auto-grow\":\"\"},model:{value:(_vm.item.description),callback:function ($$v) {_vm.$set(_vm.item, \"description\", $$v)},expression:\"item.description\"}}):_vm._e(),_c('div',{staticClass:\"row-format align-center gap-2\"},[_c('v-text-field',{staticStyle:{\"background-color\":\"var(--v-white-base)\"},attrs:{\"type\":\"number\",\"dense\":\"\",\"hide-details\":\"\",\"outlined\":\"\",\"persistent-placeholder\":\"\",\"label\":\"Quantity\"},on:{\"change\":_vm.qtyChanged},model:{value:(_vm.item.quantity),callback:function ($$v) {_vm.$set(_vm.item, \"quantity\", $$v)},expression:\"item.quantity\"}}),_c('v-text-field',{staticStyle:{\"background-color\":\"var(--v-white-base)\"},attrs:{\"type\":\"number\",\"dense\":\"\",\"hide-details\":\"\",\"outlined\":\"\",\"persistent-placeholder\":\"\",\"prefix\":_vm.$formatters.currencySymbol(_vm.agreement.currency),\"label\":\"Rate\",\"placeholder\":\"Included\"},model:{value:(_vm.item.rate),callback:function ($$v) {_vm.$set(_vm.item, \"rate\", $$v)},expression:\"item.rate\"}}),_c('v-checkbox',{attrs:{\"dense\":\"\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"true-value\":true,\"false-value\":false,\"label\":\"Taxable\"},model:{value:(_vm.item.taxable),callback:function ($$v) {_vm.$set(_vm.item, \"taxable\", $$v)},expression:\"item.taxable\"}})],1),(_vm.servicePackage.fees.feeType === 'Retainer')?_c('v-select',{attrs:{\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"items\":_vm.oneTimeFeeOptions},model:{value:(_vm.item.oneTimeFee),callback:function ($$v) {_vm.$set(_vm.item, \"oneTimeFee\", $$v)},expression:\"item.oneTimeFee\"}}):_vm._e(),_c('v-switch',{staticClass:\"mt-0\",attrs:{\"hide-details\":\"\",\"dense\":\"\",\"label\":\"Relative due date\"},model:{value:(_vm.item.relativeDueDate),callback:function ($$v) {_vm.$set(_vm.item, \"relativeDueDate\", $$v)},expression:\"item.relativeDueDate\"}}),_c('div',{staticClass:\"row-format gap-2 align-center\"},[(_vm.item.relativeDueDate)?_c('v-text-field',{staticStyle:{\"background-color\":\"var(--v-white-base)\"},attrs:{\"type\":\"number\",\"inputmode\":\"number\",\"min\":\"0\",\"placeholder\":\"No due date\",\"label\":_vm.$t('templates.packages.deliverable-detail-modal.duration-placeholder', {\n\t\t\t\t\t\tunits: _vm.humanUnits,\n\t\t\t\t\t}),\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"persistent-placeholder\":\"\"},on:{\"keydown\":function($event){return _vm.handleDurationKeydown($event)}},model:{value:(_vm.item.dueDateRelative.duration),callback:function ($$v) {_vm.$set(_vm.item.dueDateRelative, \"duration\", $$v)},expression:\"item.dueDateRelative.duration\"}}):_vm._e(),(_vm.item.relativeDueDate)?_c('v-select',{staticStyle:{\"background-color\":\"var(--v-white-base)\"},attrs:{\"label\":_vm.$t('templates.packages.deliverable-detail-modal.units-placeholder'),\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"persistent-placeholder\":\"\",\"items\":_vm.timeUnits,\"item-value\":\"value\",\"item-text\":\"text\"},model:{value:(_vm.item.dueDateRelative.timeUnit),callback:function ($$v) {_vm.$set(_vm.item.dueDateRelative, \"timeUnit\", $$v)},expression:\"item.dueDateRelative.timeUnit\"}}):_vm._e(),(!_vm.item.relativeDueDate)?_c('date-selector',{staticStyle:{\"background-color\":\"var(--v-white-base)\",\"width\":\"100%\"},attrs:{\"label\":\"Due date\",\"standard\":true,\"date\":_vm.item.dueDate},on:{\"change\":function($event){_vm.item.dueDate = $event}}}):_vm._e()],1),_c('div',{staticClass:\"row-format centered gap-2\"},[_c('v-btn',{attrs:{\"icon\":\"\"}},[_c('v-icon',{staticClass:\"material-symbols-rounded\",on:{\"click\":function($event){return _vm.confirmDelete()}}},[_vm._v(\"delete\")])],1),_c('v-btn',{staticClass:\"super-action\",staticStyle:{\"min-width\":\"150px\"},on:{\"click\":function($event){return _vm.save()}}},[_vm._v(\"Save\")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"column-format gap-2\">\n    <div class=\"row-format gap-1 align-center\">\n      <div class=\"brand-medium\">Edit product or service</div>\n      <div class=\"ml-auto\"><v-icon class=\"pointer\" @click=\"handleClose()\">close</v-icon></div>\n    </div>\n    <editor v-if=\"showTinyMCE\" ref=\"description\" :init=\"mceConfig\" rows=\"3\" auto-grow v-model=\"item.description\"> </editor>\n\t\t<div class=\"row-format align-center gap-2\">\n\t\t\t<v-text-field\n\t\t\t\ttype=\"number\"\n\t\t\t\tdense\n\t\t\t\thide-details\n\t\t\t\toutlined\n\t\t\t\tpersistent-placeholder\n\t\t\t\tv-model=\"item.quantity\"\n\t\t\t\t@change=\"qtyChanged\"\n\t\t\t\tlabel=\"Quantity\"\n\t\t\t\tstyle=\"background-color: var(--v-white-base)\"\n\t\t\t></v-text-field>\n\t\t\t<v-text-field\n\t\t\t\ttype=\"number\"\n\t\t\t\tdense\n\t\t\t\thide-details\n\t\t\t\toutlined\n\t\t\t\tpersistent-placeholder\n\t\t\t\t:prefix=\"$formatters.currencySymbol(agreement.currency)\"\n\t\t\t\tv-model=\"item.rate\"\n\t\t\t\tlabel=\"Rate\"\n\t\t\t\tplaceholder=\"Included\"\n\t\t\t\tstyle=\"background-color: var(--v-white-base)\"\n\t\t\t></v-text-field>\n\t\t\t<v-checkbox\n\t\t\t\tdense\n\t\t\t\thide-details\n\t\t\t\tpersistent-placeholder\n\t\t\t\t:true-value=\"true\"\n\t\t\t\t:false-value=\"false\"\n\t\t\t\tv-model=\"item.taxable\"\n\t\t\t\tlabel=\"Taxable\"\n\t\t\t></v-checkbox>\n\t\t</div>\n\n\t\t<v-select\n\t\t\thide-details\n\t\t\tdense\n\t\t\toutlined\n\t\t\tv-model=\"item.oneTimeFee\"\n\t\t\t:items=\"oneTimeFeeOptions\"\n\t\t\tv-if=\"servicePackage.fees.feeType === 'Retainer'\"\n\t\t>\n\t\t</v-select>\n\n\t\t<v-switch hide-details dense class=\"mt-0\" v-model=\"item.relativeDueDate\" label=\"Relative due date\"></v-switch>\n\t\t<div class=\"row-format gap-2 align-center\">\n\t\t\t<v-text-field\n\t\t\t\tv-if=\"item.relativeDueDate\"\n\t\t\t\ttype=\"number\"\n\t\t\t\tinputmode=\"number\"\n\t\t\t\tmin=\"0\"\n\t\t\t\tplaceholder=\"No due date\"\n\t\t\t\t:label=\"\n\t\t\t\t\t$t('templates.packages.deliverable-detail-modal.duration-placeholder', {\n\t\t\t\t\t\tunits: humanUnits,\n\t\t\t\t\t})\n\t\t\t\t\"\n\t\t\t\thide-details\n\t\t\t\tdense\n\t\t\t\toutlined\n\t\t\t\tpersistent-placeholder\n\t\t\t\tv-model=\"item.dueDateRelative.duration\"\n\t\t\t\t@keydown=\"handleDurationKeydown($event)\"\n\t\t\t\tstyle=\"background-color: var(--v-white-base)\"\n\t\t\t/>\n\t\t\t<v-select\n\t\t\t\tv-if=\"item.relativeDueDate\"\n\t\t\t\t:label=\"$t('templates.packages.deliverable-detail-modal.units-placeholder')\"\n\t\t\t\thide-details\n\t\t\t\tdense\n\t\t\t\toutlined\n\t\t\t\tpersistent-placeholder\n\t\t\t\t:items=\"timeUnits\"\n\t\t\t\titem-value=\"value\"\n\t\t\t\titem-text=\"text\"\n\t\t\t\tv-model=\"item.dueDateRelative.timeUnit\"\n\t\t\t\tstyle=\"background-color: var(--v-white-base)\"\n\t\t\t/>\n\t\t\t<date-selector\n\t\t\t\tlabel=\"Due date\"\n\t\t\t\tstyle=\"background-color: var(--v-white-base); width:100%\"\n\t\t\t\t:standard=\"true\"\n\t\t\t\t:date=\"item.dueDate\"\n\t\t\t\t@change=\"item.dueDate = $event\"\n\t\t\t\tv-if=\"!item.relativeDueDate\"\n\t\t\t></date-selector>\n\t\t</div>\n\t\t<div class=\"row-format centered gap-2\">\n\t\t\t<v-btn icon><v-icon class=\"material-symbols-rounded\" @click=\"confirmDelete()\">delete</v-icon></v-btn>\n\t\t\t<v-btn class=\"super-action\" style=\"min-width: 150px\" @click=\"save()\">Save</v-btn>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport { v4 as uuid } from 'uuid';\n\timport DateSelector from '@/components/DateSelector';\n\timport ConfirmModal from '@/components/ConfirmModal';\nimport editor from '@tinymce/tinymce-vue';\n\texport default {\n\t\tname: 'ServiceItemEditor',\n\n\t\tprops: ['agreement', 'serviceItem', 'servicePackage'],\n\n\t\tcomponents: { DateSelector, editor },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\titem: { ...this.serviceItem },\n\t\t\t\tquantityUpdated: false,\n\t\t\t\toneTimeFeeOptions: [\n\t\t\t\t\t{ text: 'One time / setup fee', value: true },\n\t\t\t\t\t{ text: `Adds to ${this.servicePackage.fees.retainerSchedule} fees`, value: false },\n\t\t\t\t],\n\t\t\t\ttimeUnits: [\n\t\t\t\t\t{ text: 'Days', value: 'DAYS' },\n\t\t\t\t\t{ text: 'Weeks', value: 'WEEKS' },\n\t\t\t\t\t{ text: 'Months', value: 'MONTHS' },\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n      this.$nextTick(() => {\n        this.showTinyMCE = true;\n      });\n      this.handleNoProduct();\n    },\n\n    beforeUnmount() {\n      this.showTinyMCE = false;\n    },\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n      handleClose: function() {\n        this.$emit('close');\n      },\n\n\t\t\tsave: function() {\n\t\t\t\tthis.$emit('save', this.item);\n\t\t\t\tthis.$emit('close');\n\t\t\t},\n\n\t\t\tqtyChanged: function() {\n\t\t\t\tthis.quantityUpdated = true;\n\t\t\t},\n\n\t\t\thandleDurationKeydown(event) {\n\t\t\t\tif (event.key === '.') {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tconfirmDelete: function() {\n\t\t\t\tlet confirm = {\n\t\t\t\t\theadingText: 'Confirm',\n\t\t\t\t\tbodyText: 'Are you sure you want to delete this item from the package?',\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController.openModal(ConfirmModal, confirm).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tthis.$emit('delete', this.item);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n      handleNoProduct: function() {\n        if (!this.item.product) {\n          this.item.product = {\n            description: this.item.description,\n            productName: this.item.description.split(/\\n|<br>/)[0].replace(/<\\/?p>/g, \"\"),\n            descriptionFormat: \"HTML\",\n            id: uuid()\n          }\n        }\n      }\n\t\t},\n\n\t\tcomputed: {\n\t\t\tshowQuantity: function() {\n\t\t\t\treturn this.servicePackage.fees.feeType === 'Per Item';\n\t\t\t},\n\n\t\t\thumanUnits() {\n\t\t\t\tif (!this.item.dueDateRelative) return 'Units';\n\t\t\t\tlet i = this.timeUnits.findIndex((u) => {\n\t\t\t\t\treturn u.value === this.item.dueDateRelative.timeUnit;\n\t\t\t\t});\n\t\t\t\tif (i > -1) return this.timeUnits[i].text;\n\t\t\t\treturn 'Units';\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\thr {\n\t\tbackground-color: var(--v-gray_30-base);\n\t\tborder: none;\n\t\theight: 1px;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceItemEditor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceItemEditor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ServiceItemEditor.vue?vue&type=template&id=d59e0eac\"\nimport script from \"./ServiceItemEditor.vue?vue&type=script&lang=js\"\nexport * from \"./ServiceItemEditor.vue?vue&type=script&lang=js\"\nimport style0 from \"./ServiceItemEditor.vue?vue&type=style&index=0&id=d59e0eac&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCheckbox,VIcon,VSelect,VSwitch,VTextField})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-left\",staticStyle:{\"color\":\"var(--body-color)!important\",\"font-size\":\"var(--body-size) !important\"}},[_c('div',{staticClass:\"row-format gap-3\"},[_c('div',[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.item.description)}}),(_vm.tokens.get('Item.DueDate'))?_c('div',{staticClass:\"font-14\"},[_vm._v(_vm._s(_vm.tokens.get('Item.DueDate')))]):_vm._e()]),_c('div',{staticClass:\"ml-auto text-right\"},[_c('span',{staticStyle:{\"font-weight\":\"600\"}},[_vm._v(_vm._s(_vm.tokens.get('Item.Total')))]),_c('br'),(_vm.item.taxable && _vm.item.quantity && _vm.item.rate)?_c('span',{staticClass:\"font-14\"},[_vm._v(\"+\"+_vm._s(_vm.tokens.get('Item.TaxRate'))+\" \"+_vm._s(_vm.tokens.get('Item.TaxLabel')))]):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"text-left\" style=\"color: var(--body-color)!important; font-size: var(--body-size) !important\">\n\t\t<div class=\"row-format gap-3\">\n\t\t\t<div>\n          <div v-html=\"item.description\"></div>\n\t\t\t\t<div class=\"font-14\" v-if=\"tokens.get('Item.DueDate')\">{{ tokens.get('Item.DueDate') }}</div>\n\t\t\t</div>\n\t\t\t<div class=\"ml-auto text-right\">\n\t\t\t\t<span style=\"font-weight: 600\">{{ tokens.get('Item.Total') }}</span\n\t\t\t\t><br />\n\t\t\t\t<span v-if=\"item.taxable && item.quantity && item.rate\" class=\"font-14\">+{{ tokens.get('Item.TaxRate') }} {{ tokens.get('Item.TaxLabel') }}</span>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport marked from \"marked\";\n\n\texport default {\n\t\tname: 'ServiceItemRenderer',\n\n\t\tprops: ['item', 'tokens'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {};\n\t\t},\n\n    mounted() {\n      this.initialize();\n    },\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n      initialize: function() {\n        this.convertMarkdown();\n      },\n\n      convertMarkdown: function() {\n        if (this.item && this.item.format === 'Markdown' && this.item.description) {\n          this.item.description = this.formatMarkdown(this.item.description);\n          this.item.format = 'HTML';\n        }\n      },\n\n      formatMarkdown: function(description) {\n        if (description) {\n          let m = marked(description, { breaks: true });\n          m = m.replaceAll('<a href', '<a target=\"_blank\" href');\n          return m;\n        } else {\n          return null;\n        }\n      },\n    },\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceItemRenderer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceItemRenderer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ServiceItemRenderer.vue?vue&type=template&id=67420a15&scoped=true\"\nimport script from \"./ServiceItemRenderer.vue?vue&type=script&lang=js\"\nexport * from \"./ServiceItemRenderer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"67420a15\",\n  null\n  \n)\n\nexport default component.exports","<template>\n\t<div\n\t\t@click=\"handleClick\"\n\t\tv-if=\"isReady\"\n\t\t:id=\"`service-package-${servicePackage.id}`\"\n\t\tstyle=\"min-height: 40px; height:100%; position: relative\"\n\t\t:style=\"`${wrapperStyle}`\"\n\t\tclass=\"column-format gap-6\"\n\t>\n\t\t<editor\n\t\t\tv-if=\"active && editMode\"\n\t\t\tref=\"textEditor\"\n\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t:initial-value=\"servicePackage.description\"\n\t\t\t:inline=\"true\"\n\t\t\t:init=\"mceConfigText\"\n\t\t\t@input=\"handleTextInput\"\n\t\t\t:spellcheck=\"true\"\n\t\t></editor>\n\n\t\t<div v-else v-html=\"tokenizedText\"></div>\n\n\t\t<div\n\t\t\tv-if=\"items.length\"\n\t\t\tclass=\"column-format\"\n\t\t\t:style=\"`border: 1px solid ${services.tableBorderColor}; border-radius: 4px;`\"\n\t\t>\n\t\t\t<draggable v-model=\"items\" :disabled=\"!editMode || !active\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"row-format align-start pa-2\"\n\t\t\t\t\tv-for=\"(item, index) in items\"\n\t\t\t\t\t:key=\"item.id\"\n\t\t\t\t\t:style=\"`${index < items.length - 1 ? 'border-bottom: 1px solid' + services.tableBorderColor : ''}`\"\n\t\t\t\t>\n\t\t\t\t\t<service-item-renderer class=\"flex-grow-1\" :item=\"item\" :tokens=\"tokensForItem(item)\"></service-item-renderer>\n\t\t\t\t\t<v-icon\n\t\t\t\t\t\tv-if=\"editMode && active\"\n\t\t\t\t\t\tclass=\"pl-2 mt-1 ml-auto material-symbols-rounded pointer\"\n\t\t\t\t\t\tsize=\"18\"\n\t\t\t\t\t\t@click.stop=\"editItem(item, $event)\"\n\t\t\t\t\t\tcolor=\"gray_70\"\n\t\t\t\t\t\t>edit</v-icon\n\t\t\t\t\t>\n\t\t\t\t</div>\n\t\t\t</draggable>\n\t\t</div>\n\n\t\t<v-menu v-if=\"active && editMode\" v-model=\"lineItemMenu\" :close-on-content-click=\"false\">\n\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t<div class=\"font-primary pointer\" v-on=\"on\">+ Line item</div>\n\t\t\t</template>\n\t\t\t<products\n\t\t\t\t@select=\"\n\t\t\t\t\taddLineItem($event);\n\t\t\t\t\tlineItemMenu = false;\n\t\t\t\t\"\n\t\t\t\t@close=\"lineItemMenu = false\"\n\t\t\t\t:currency=\"agreement.cursor\"\n\t\t\t></products>\n\t\t</v-menu>\n\n\t\t<div v-if=\"addOns.length\" class=\"ml-1\">\n\t\t\t<draggable v-model=\"addOns\" :disabled=\"!editMode || !active\">\n\t\t\t\t<div v-for=\"addOn in addOns\" :key=\"addOn.id\" class=\"column-format font-14 text-left\" :id=\"`item-${addOn.id}`\">\n\t\t\t\t\t<div class=\"row-format align-start pr-2\">\n\t\t\t\t\t\t<v-switch\n\t\t\t\t\t\t\t:dark=\"false\"\n\t\t\t\t\t\t\tclass=\"flex-grow-1 custom-switch\"\n\t\t\t\t\t\t\t:inset=\"true\"\n\t\t\t\t\t\t\tv-model=\"addOn.selected\"\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\t@click.stop\n\t\t\t\t\t\t\t:color=\"$store.getters.getCustomBranding.primaryColor\"\n\t\t\t\t\t\t\t:disabled=\"addOnsDisabled\"\n\t\t\t\t\t\t\tstyle=\"align-items: start!important;\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<template #label>\n\t\t\t\t\t\t\t\t<service-item-renderer\n\t\t\t\t\t\t\t\t\tclass=\"flex-grow-1\"\n\t\t\t\t\t\t\t\t\t:item=\"addOn\"\n\t\t\t\t\t\t\t\t\t:tokens=\"tokensForItem(addOn)\"\n\t\t\t\t\t\t\t\t></service-item-renderer>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t</v-switch>\n\n\t\t\t\t\t\t<v-icon\n\t\t\t\t\t\t\tv-if=\"active && editMode\"\n\t\t\t\t\t\t\tclass=\"pl-2 mt-5 material-symbols-rounded pointer\"\n\t\t\t\t\t\t\tsize=\"18\"\n\t\t\t\t\t\t\t@click.stop=\"editItem(addOn, $event)\"\n\t\t\t\t\t\t\tcolor=\"gray_70\"\n\t\t\t\t\t\t\t>edit</v-icon\n\t\t\t\t\t\t>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</draggable>\n\t\t</div>\n\n\t\t<v-menu v-if=\"active && editMode\" v-model=\"addOnMenu\" :close-on-content-click=\"false\">\n\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t<div class=\"font-primary pointer\" v-on=\"on\">+ Optional add-on</div>\n\t\t\t</template>\n\t\t\t<products\n\t\t\t\t@select=\"\n\t\t\t\t\taddLineItem($event, true);\n\t\t\t\t\taddOnMenu = false;\n\t\t\t\t\"\n\t\t\t\t@close=\"addOnMenu = false\"\n\t\t\t\t:currency=\"agreement.cursor\"\n\t\t\t></products>\n\t\t</v-menu>\n\n\t\t<div :style=\"`width:100%; text-align: ${buttonAlignment}`\" class=\"mt-auto\" v-if=\"showButton\">\n\t\t\t<v-btn\n\t\t\t\t:dark=\"false\"\n\t\t\t\tclass=\"elevation-3\"\n\t\t\t\t:style=\"buttonStyle\"\n\t\t\t\t:color=\"servicePackage.selected ? services.buttonColor : '#FFFFFF'\"\n\t\t\t\t:x-small=\"button.xSmall\"\n\t\t\t\t:small=\"button.small\"\n\t\t\t\t:large=\"button.large\"\n\t\t\t\t:x-large=\"button.xLarge\"\n\t\t\t\t:block=\"button.block\"\n\t\t\t\t@click.stop=\"handleSelection\"\n\t\t\t\t:disabled=\"mainButtonDisabled\"\n\t\t\t>\n\t\t\t\t<div class=\"pa-1 row-format centered\" :style=\"`color: ${buttonFontColor}!important`\">\n\t\t\t\t\t<div :style=\"`color: ${buttonFontColor}!important`\">{{ servicePackage.buttonText }}</div>\n\t\t\t\t\t<span\n\t\t\t\t\t\tv-if=\"servicePackage.selected\"\n\t\t\t\t\t\tclass=\"material-symbols-rounded\"\n\t\t\t\t\t\t:style=\"`font-size: 20px; color:#${buttonFontColor}!important`\"\n\t\t\t\t\t\t>verified</span\n\t\t\t\t\t>\n\t\t\t\t</div>\n\t\t\t</v-btn>\n\t\t</div>\n\n\t\t<v-icon\n\t\t\tv-if=\"active && editMode\"\n\t\t\tstyle=\"position:absolute; top: 10px; left: 10px; cursor: grab\"\n\t\t\tsize=\"20\"\n\t\t\tcolor=\"gray_70\"\n\t\t\tclass=\"dragHandle\"\n\t\t\t>drag_handle</v-icon\n\t\t>\n\n\t\t<v-menu v-if=\"active && editMode\" :close-on-content-click=\"false\" v-model=\"packageMenu\">\n\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t<v-icon style=\"position:absolute; top: 10px; right: 10px\" size=\"20\" color=\"gray_50\" class=\"pointer\" v-on=\"on\"\n\t\t\t\t\t>settings</v-icon\n\t\t\t\t>\n\t\t\t</template>\n\t\t\t<package-editor\n\t\t\t\t:agreement=\"agreement\"\n\t\t\t\t:services=\"services\"\n\t\t\t\t:service-package=\"servicePackage\"\n\t\t\t\t@close=\"handlePackageEditorClose\"\n\t\t\t\t@delete=\"$emit('delete', $event)\"\n\t\t\t></package-editor>\n\t\t</v-menu>\n\n\t\t<!-- :attach=\"`#service-package-${servicePackage.id}`\"-->\n\n\t\t<v-menu\n\t\t\tv-model=\"dialog\"\n\t\t\tv-if=\"dialog\"\n\t\t\tmax-width=\"500\"\n\t\t\tbottom\n\t\t\tleft\n\t\t\t:nudge-bottom=\"menuY\"\n\t\t\t:nudge-right=\"menuX\"\n\t\t\t:close-on-content-click=\"false\"\n\t\t>\n\t\t\t<div style=\"background-color: var(--v-white-base);min-width: 500px; max-width: 500px; width: 500px\" class=\"pa-4\">\n\t\t\t\t<service-item-editor\n\t\t\t\t\t:mce-config=\"mceConfig\"\n\t\t\t\t\t:agreement=\"agreement\"\n\t\t\t\t\t:service-package=\"servicePackage\"\n\t\t\t\t\t:service-item=\"item\"\n\t\t\t\t\t@delete=\"deleteItem($event)\"\n\t\t\t\t\t@save=\"saveItem($event)\"\n\t\t\t\t\t@close=\"dialog = false\"\n\t\t\t\t></service-item-editor>\n\t\t\t</div>\n\t\t</v-menu>\n\t</div>\n</template>\n\n<script>\n\timport { v4 as uuid4 } from 'uuid';\n\timport Products from '@/modules/invoices/InvoiceRenderer/Products';\n\timport { DateTime } from 'luxon';\n\timport AgreementMixin from '@/modules/agreements/schema/AgreementMixin';\n\timport PackageEditor from '@/modules/agreements/schema/PackageEditor';\n\timport ServiceItemEditor from '@/modules/agreements/schema/ServiceItemEditor';\n\timport ServiceItemRenderer from '@/modules/agreements/schema/ServiceItemRenderer';\n\timport Draggable from 'vuedraggable';\n\timport marked from 'marked';\n\n\texport default {\n\t\tname: 'ServicePackage',\n\n\t\tprops: [\n\t\t\t'active',\n\t\t\t'agreement',\n\t\t\t'services',\n\t\t\t'servicePackage',\n\t\t\t'mceConfig',\n\t\t\t'editMode',\n\t\t\t'clientMode',\n\t\t\t'tokens',\n\t\t\t'signer',\n\t\t\t'templateMode',\n\t\t],\n\n\t\tcomponents: {\n\t\t\tServiceItemRenderer,\n\t\t\tServiceItemEditor,\n\t\t\tPackageEditor,\n\t\t\tProducts,\n\t\t\tDraggable,\n\t\t\teditor: () => import(/* webpackChunkName: \"tinymce\" */ '@tinymce/tinymce-vue'),\n\t\t},\n\n\t\tmixins: [AgreementMixin],\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\t//element: { ...this.servicePackage },\n\t\t\t\tmceConfigText: null,\n\t\t\t\tisEditorFocused: false,\n\t\t\t\tisEditorActive: false,\n\t\t\t\tisReady: false,\n\t\t\t\tpackageMenu: false,\n\t\t\t\tlineItemMenu: false,\n\t\t\t\taddOnMenu: false,\n\t\t\t\tdialog: false,\n\t\t\t\tmenuX: 0,\n\t\t\t\tmenuY: 0,\n\t\t\t\tmenuWidth: 0,\n\t\t\t\titem: null,\n\t\t\t\titems: [],\n\t\t\t\taddOns: [],\n\n\t\t\t\tinitialAiContext: [\n\t\t\t\t\t'You are helping to write content for a proposal.',\n\t\t\t\t\t'Feel free to ask clarifying questions.',\n\t\t\t\t\t'Once you have gathered enough information from the user, please output a nicely formatted version and prompt the user to click the \"Create\" button if they are happy with result.',\n\t\t\t\t],\n\n\t\t\t\tinitialAiPrompt: 'Please tell me a bit about what I can help you write today.',\n\t\t\t\tfinalizationPrompt: `Please return the final copy nicely formatted without any explanations or additional text.  No additional prompts to the user should be included.`,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.items = [...this.servicePackage.items.filter((i) => !i.addOnItem || (i.addOnItem && !i.optional))];\n\t\t\tthis.addOns = [...this.servicePackage.items.filter((i) => i.addOnItem && i.optional)];\n\n\t\t\tthis.mceConfigText = JSON.parse(JSON.stringify(this.mceConfig));\n\t\t\tthis.mceConfigText.contextmenu = 'paste | link | table | assistant';\n\t\t\tthis.mceConfigText.setup = (editor) => {\n\t\t\t\tlet items = [];\n\t\t\t\tthis.packageTokens.forEach((value, key) => {\n\t\t\t\t\titems.push({\n\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\ttext: key,\n\t\t\t\t\t\tonAction: function() {\n\t\t\t\t\t\t\teditor.insertContent('{{' + key + '}}');\n\t\t\t\t\t\t},\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\teditor.ui.registry.addNestedMenuItem('assistant', {\n\t\t\t\t\ttext: '✨Assistant',\n\t\t\t\t\tgetSubmenuItems: () => {\n\t\t\t\t\t\treturn [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\t\t\ttext: 'Elaborate',\n\t\t\t\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\t\t\t\tthis.rewrite('elaborate');\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\t\t\ttext: 'Simplify',\n\t\t\t\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\t\t\t\tthis.rewrite('simplify');\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\t\t\ttext: 'Make more formal',\n\t\t\t\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\t\t\t\tthis.rewrite('formalize');\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\t\t\ttext: 'Make friendlier',\n\t\t\t\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\t\t\t\tthis.rewrite('friendlier');\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\t\t\ttext: 'Summarize',\n\t\t\t\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\t\t\t\tthis.rewrite('summarize');\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\t\t\ttext: 'Paraphrase',\n\t\t\t\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\t\t\t\tthis.rewrite('paraphrase');\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t];\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\teditor.ui.registry.addMenuButton('tokenbutton', {\n\t\t\t\t\ttext: 'Tokens',\n\t\t\t\t\tfetch: function(callback) {\n\t\t\t\t\t\tcallback(items);\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\teditor.on('focus', () => {\n\t\t\t\t\tthis.editorActive(true);\n\t\t\t\t});\n\n\t\t\t\teditor.ui.registry.addButton('ai', {\n\t\t\t\t\ttext: '✨Assistant',\n\t\t\t\t\tonAction: () => {\n\t\t\t\t\t\tthis.aiHelper();\n\t\t\t\t\t},\n\t\t\t\t});\n\n\t\t\t\teditor.on('blur', () => {\n\t\t\t\t\tthis.editorActive(false);\n\t\t\t\t\tthis.$emit('change', this.servicePackage);\n\t\t\t\t});\n\t\t\t};\n\t\t\tthis.isReady = true;\n      this.handleNoProduct();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tasync rewrite(modifier) {\n\t\t\t\tconst { default: AiAssistantService } = await import('@/modules/ai/AiAssistantService');\n\t\t\t\tlet aiAssistantService = new AiAssistantService();\n\t\t\t\tlet editor = this.$refs.textEditor.editor;\n\t\t\t\tlet selection = editor.selection.getContent({ format: 'html' });\n\n\t\t\t\tif (selection) {\n\t\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\t\taiAssistantService\n\t\t\t\t\t\t.rewrite(selection, modifier)\n\t\t\t\t\t\t.then((response) => {\n\t\t\t\t\t\t\teditor.selection.setContent(response);\n\t\t\t\t\t\t\tthis.text = editor.getContent();\n\t\t\t\t\t\t\tlet element = { ...this.item };\n\t\t\t\t\t\t\telement.text = this.text;\n\t\t\t\t\t\t\tthis.$emit('change', element);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((err) => this.$store.commit('error', err.response.data.message))\n\t\t\t\t\t\t.finally(() => this.$store.commit('stopLoading'));\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsetReadOnly: function(readOnly = true) {\n\t\t\t\tif (this.$refs.textEditor && this.$refs.textEditor.editor) {\n\t\t\t\t\tthis.$refs.textEditor.editor.setMode(readOnly ? 'readonly' : 'design');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tasync aiHelper() {\n\t\t\t\tconst { default: AiChatWidget } = await import('@/modules/ai/AiChatWidget');\n\t\t\t\tlet binding = {\n\t\t\t\t\tmaxHeight: 'calc(100vh - 350px)',\n\t\t\t\t\tcontext: this.initialAiContext,\n\t\t\t\t\tinitialPrompt: this.initialAiPrompt,\n\t\t\t\t\tfinalizationPrompt: this.finalizationPrompt,\n\t\t\t\t\tuseCase: 'GeneralChat',\n\t\t\t\t\tmodel: 'gpt-4o',\n\t\t\t\t\tresultFormat: 'text',\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController.openModal(AiChatWidget, binding).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tlet m = marked(res, { breaks: true });\n\t\t\t\t\t\tm = m.replaceAll('<a href', '<a target=\"_blank\" href');\n\n\t\t\t\t\t\tconst editor = this.$refs.textEditor.editor;\n\t\t\t\t\t\tconst currentContent = editor.getContent();\n\t\t\t\t\t\teditor.setContent(currentContent + m);\n\t\t\t\t\t\tthis.servicePackage.description = currentContent + m;\n\t\t\t\t\t\tthis.$emit('change', this.servicePackage);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\teditItem: function(item, pointerEvent) {\n\t\t\t\tthis.dialog = true;\n\t\t\t\tthis.item = item;\n\t\t\t\t//let div = document.getElementById(`service-package-${this.servicePackage.id}`).getBoundingClientRect();\n\t\t\t\tthis.menuX = pointerEvent.clientX;\n\t\t\t\tthis.menuY = pointerEvent.clientY;\n\t\t\t\tconsole.log(pointerEvent);\n\t\t\t\tconsole.log(this.menuX);\n\t\t\t\tconsole.log(this.menuY);\n\t\t\t},\n\n\t\t\tdeleteItem: function(item) {\n\t\t\t\tlet list = item.addOnItem && item.optional ? this.addOns : this.items;\n\t\t\t\tlet ix = list.findIndex((i) => i.id === item.id);\n\t\t\t\tif (ix > -1) {\n\t\t\t\t\tlist.splice(ix, 1);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsaveItem: function(item) {\n\t\t\t\tlet list = item.addOnItem && item.optional ? this.addOns : this.items;\n\n\t\t\t\tlet ix = list.findIndex((i) => i.id === item.id);\n\t\t\t\tif (ix > -1) {\n\t\t\t\t\tlist.splice(ix, 1, item);\n\t\t\t\t}\n        item.product.description = item.description;\n\t\t\t},\n\n\t\t\taddLineItem: function(result, optional = false) {\n\t\t\t\tlet product = result.product;\n\n\t\t\t\tlet currencyRate = result.product.currencyRates.find((r) => r.currency === this.agreement.currency);\n\n\t\t\t\tlet serviceItem = {};\n\t\t\t\tserviceItem.id = uuid4();\n\t\t\t\tserviceItem.description = product.productName + (product.description ? '\\n' + product.description : '');\n\t\t\t\tserviceItem.product = product;\n\t\t\t\tserviceItem.quantity = 1;\n\t\t\t\tserviceItem.rate = currencyRate ? currencyRate.rate : product.rate;\n\t\t\t\tserviceItem.taxable = product.taxable;\n\t\t\t\tserviceItem.relativeDueDate = true;\n\t\t\t\tserviceItem.dueDate = null;\n\t\t\t\tserviceItem.dueDateRelative = { duration: null, timeUnit: 'WEEKS' };\n\t\t\t\tserviceItem.addOnItem = true;\n\t\t\t\tserviceItem.oneTimeFee = true;\n\t\t\t\tserviceItem.optional = optional;\n\t\t\t\tserviceItem.format = 'Markdown';\n\n\t\t\t\tlet list = serviceItem.addOnItem && serviceItem.optional ? this.addOns : this.items;\n\t\t\t\tlist.push(serviceItem);\n\t\t\t},\n\n\t\t\ttokensForItem(item) {\n\t\t\t\tlet quantity = item.quantity ? item.quantity : 0;\n\t\t\t\tlet rate = item.rate ? item.rate : 0;\n\n\t\t\t\tlet tokens = new Map();\n\t\t\t\ttokens.set('Item.Product', item.product?.name);\n\t\t\t\ttokens.set('Item.Quantity', item.quantity ? item.quantity : '');\n\n\t\t\t\tif (item.rate) {\n\t\t\t\t\ttokens.set(\n\t\t\t\t\t\t'Item.Rate',\n\t\t\t\t\t\titem.rate ? this.$formatters.dollars(item.rate, true, true, this.agreement.currency) : ''\n\t\t\t\t\t);\n\t\t\t\t\ttokens.set('Item.Total', this.$formatters.dollars(quantity * rate, true, true, this.agreement.currency));\n\t\t\t\t} else {\n\t\t\t\t\ttokens.set('Item.Rate', '');\n\t\t\t\t\ttokens.set('Item.Total', '');\n\t\t\t\t}\n\t\t\t\ttokens.set('Item.DueDate', this.dueDateFormatted(item));\n\n\t\t\t\tif (item.taxable) {\n\t\t\t\t\tlet totalTax = quantity * rate * (this.taxRate / 100);\n\t\t\t\t\ttokens.set('Item.TaxLabel', this.taxLabel);\n\t\t\t\t\ttokens.set('Item.TaxRate', this.taxRate + '%');\n\t\t\t\t\ttokens.set('Item.Tax', this.$formatters.dollars(totalTax, true, true, this.agreement.currency));\n\t\t\t\t\ttokens.set(\n\t\t\t\t\t\t'Item.TotalWithTax',\n\t\t\t\t\t\tthis.$formatters.dollars(totalTax + quantity * rate, true, true, this.agreement.currency)\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\ttokens.set('Item.TaxLabel', this.taxLabel);\n\t\t\t\t\ttokens.set('Item.TaxRate', '0%');\n\t\t\t\t\ttokens.set('Item.Tax', this.$formatters.dollars(0, true, true, this.agreement.currency));\n\t\t\t\t\ttokens.set(\n\t\t\t\t\t\t'Item.TotalWithTax',\n\t\t\t\t\t\tthis.$formatters.dollars(quantity * rate, true, true, this.agreement.currency)\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn tokens;\n\t\t\t},\n\n\t\t\thandleSelection: function() {\n\t\t\t\tthis.servicePackage.selected = !this.servicePackage.selected;\n\t\t\t\tif (!this.servicePackage.selected) {\n\t\t\t\t\tthis.servicePackage.items.forEach((a) => (a.selected = false));\n\t\t\t\t}\n\n\t\t\t\tif (this.services.selectionType === 'SINGLE') {\n\t\t\t\t\tfor (let i = 0; i < this.services.packages.length; i++) {\n\t\t\t\t\t\tlet pkg = this.services.packages[i];\n\t\t\t\t\t\tif (pkg.id === this.servicePackage.id) {\n\t\t\t\t\t\t\tcontinue;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tpkg.selected = false;\n\t\t\t\t\t\tpkg.items.forEach((a) => (a.selected = false));\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandlePackageEditorClose: function() {\n\t\t\t\tthis.$emit('change', this.servicePackage);\n\t\t\t\tthis.packageMenu = false;\n\t\t\t},\n\n\t\t\thandleClick: function(event) {\n\t\t\t\tthis.isEditorActive = true;\n\t\t\t\tthis.$emit('click', event);\n\t\t\t},\n\n\t\t\teditorActive: function(value) {\n\t\t\t\tthis.isEditorActive = value;\n\t\t\t\tthis.$store.state.eventBus.$emit('drag-enabled', !value);\n\t\t\t\tthis.$store.state.eventBus.$emit('undo-enabled', !value);\n\t\t\t},\n\n\t\t\thandleTextInput: function() {\n\t\t\t\tthis.servicePackage.description = this.$refs.textEditor.editor.getContent();\n\t\t\t},\n\n\t\t\tdueDateFormatted: function(item) {\n\t\t\t\tif (item.dueDate !== null && !item.relativeDueDate) {\n\t\t\t\t\treturn DateTime.fromISO(item.dueDate).toLocaleString(DateTime.DATE_MED);\n\t\t\t\t} else if (item.dueDateRelative && item.dueDateRelative.duration && item.dueDateRelative.timeUnit) {\n\t\t\t\t\tlet unit = item.dueDateRelative.timeUnit.toLowerCase();\n\t\t\t\t\treturn this.$tc('global.' + unit, item.dueDateRelative.duration);\n\t\t\t\t} else {\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsyncItemsAndAddOns: function() {\n\t\t\t\tthis.servicePackage.items.splice(0);\n\t\t\t\tthis.servicePackage.items.push(...this.items);\n\t\t\t\tthis.servicePackage.items.push(...this.addOns);\n\t\t\t},\n\n      handleNoProduct: function() {\n        this.items.forEach(item => {\n          if (!item.product) {\n            item.product = {\n              description: item.description,\n              productName: item.description.split(/\\n|<br>/)[0].replace(/<\\/?p>/g, \"\"),\n              descriptionFormat: \"HTML\",\n              id: uuid4()\n            };\n          }\n        });\n      }\n\t\t},\n\n\t\twatch: {\n\t\t\tactive: function(val) {\n\t\t\t\tif (!val) {\n\t\t\t\t\tthis.packageMenu = false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\titems: {\n\t\t\t\tdeep: true,\n\t\t\t\thandler: function() {\n\t\t\t\t\tthis.syncItemsAndAddOns();\n\t\t\t\t},\n\t\t\t},\n\n\t\t\taddOns: {\n\t\t\t\tdeep: true,\n\t\t\t\thandler: function() {\n\t\t\t\t\tthis.syncItemsAndAddOns();\n\t\t\t\t},\n\t\t\t},\n\n\t\t\tservicePackage: {\n\t\t\t\tdeep: true,\n\t\t\t\thandler: function() {\n\t\t\t\t\tif (!this.isEditorActive) {\n\t\t\t\t\t\tthis.$emit('change', this.servicePackage);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\taddOnsDisabled: function() {\n\t\t\t\treturn (\n\t\t\t\t\t(!this.servicePackage.selected && !this.isSinglePackageAndRequired) ||\n\t\t\t\t\tthis.agreement.fullyExecuted ||\n\t\t\t\t\t(this.signer && this.signer.locked) ||\n\t\t\t\t\tthis.mainButtonDisabled\n\t\t\t\t);\n\t\t\t},\n\n\t\t\tmainButtonDisabled: function() {\n\t\t\t\tif (this.editMode) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\tthis.agreement.fullyExecuted ||\n\t\t\t\t\t(this.signer && this.signer.locked) ||\n\t\t\t\t\t(!this.clientMode && this.agreement.clientSigned)\n\t\t\t\t);\n\t\t\t},\n\n\t\t\tisSinglePackageAndRequired: function() {\n\t\t\t\treturn this.services.packages.length === 1 && this.services.selectionRequired;\n\t\t\t},\n\n\t\t\tshowButton: function() {\n\t\t\t\treturn !this.isSinglePackageAndRequired;\n\t\t\t},\n\n\t\t\tcurrency: function() {\n\t\t\t\treturn this.getCurrency(this.agreement);\n\t\t\t},\n\n\t\t\ttaxRate: function() {\n\t\t\t\treturn this.getTaxRate(this.agreement);\n\t\t\t},\n\n\t\t\ttaxLabel: function() {\n\t\t\t\treturn this.getTaxLabel(this.agreement);\n\t\t\t},\n\n\t\t\tbuttonFontColor: function() {\n\t\t\t\tif (!this.servicePackage.selected) {\n\t\t\t\t\tif (this.mainButtonDisabled) {\n\t\t\t\t\t\treturn this.$vuetify.theme.dark ? '#7F7F7F' : '#FFF';\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn this.services.buttonColor;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tlet bgColor = this.services.buttonColor;\n\t\t\t\t\tlet color = bgColor.charAt(0) === '#' ? bgColor.substring(1, 7) : bgColor;\n\t\t\t\t\tlet r = parseInt(color.substring(0, 2), 16); // hexToR\n\t\t\t\t\tlet g = parseInt(color.substring(2, 4), 16); // hexToG\n\t\t\t\t\tlet b = parseInt(color.substring(4, 6), 16); // hexToB\n\t\t\t\t\treturn r * 0.299 + g * 0.587 + b * 0.114 > 186 ? '#000000' : '#FFFFFF';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\twrapperStyle: function() {\n\t\t\t\tlet style = `padding: ${this.services.padding}px; `;\n\n\t\t\t\tif (this.services.backgroundColor) {\n\t\t\t\t\tstyle = style + `background-color: ${this.services.backgroundColor}; `;\n\t\t\t\t}\n\t\t\t\tif (this.services.borderColor) {\n\t\t\t\t\tstyle = style + `border-color: ${this.services.borderColor}; `;\n\t\t\t\t}\n\t\t\t\tif (this.services.borderWidth) {\n\t\t\t\t\tstyle = style + `border-style: solid; border-width: ${this.services.borderWidth}px; `;\n\t\t\t\t}\n\t\t\t\tif (this.services.borderRadius) {\n\t\t\t\t\tstyle = style + `border-radius: ${this.services.borderRadius}px; `;\n\t\t\t\t}\n\n\t\t\t\treturn style;\n\t\t\t},\n\n\t\t\tbuttonStyle: function() {\n\t\t\t\tif (this.mainButtonDisabled) {\n\t\t\t\t\tif (this.servicePackage.selected) {\n\t\t\t\t\t\treturn `border: 1px solid ${this.services.buttonColor}; background-color: ${this.services.buttonColor}!important`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn ``;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn `border: 1px solid ${this.services.buttonColor}`;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tbutton: function() {\n\t\t\t\treturn {\n\t\t\t\t\txSmall: this.services.buttonSize === 'X-Small',\n\t\t\t\t\tsmall: this.services.buttonSize === 'Small',\n\t\t\t\t\tlarge: this.services.buttonSize === 'Large',\n\t\t\t\t\txLarge: this.services.buttonSize === 'X-Large',\n\t\t\t\t\tblock: this.services.buttonAlignment === 'block',\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tbuttonAlignment: function() {\n\t\t\t\tif (this.services.buttonAlignment === 'block') {\n\t\t\t\t\treturn 'unset';\n\t\t\t\t} else {\n\t\t\t\t\treturn this.services.buttonAlignment;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tpackageTokens: function() {\n\t\t\t\tlet result = new Map();\n\t\t\t\tresult.set('Package.Name', this.servicePackage.packageName);\n\t\t\t\tresult.set('Package.Total', this.$formatters.dollars(this.packageTotal, true, true, this.currency));\n\t\t\t\tresult.set('Package.TotalWithTax', this.$formatters.dollars(this.packageTotalWithTax, true, true, this.currency));\n\t\t\t\tresult.set('Package.Tax', this.$formatters.dollars(this.packageTax, true, true, this.currency));\n\t\t\t\tresult.set('Package.TaxRate', this.taxRate);\n\t\t\t\tresult.set('Package.FeeLabel', this.feeLabel);\n\t\t\t\tresult.set(\n\t\t\t\t\t'Package.StartDate',\n\t\t\t\t\tthis.servicePackage.startDate\n\t\t\t\t\t\t? DateTime.fromISO(this.servicePackage.startDate).toLocaleString(DateTime.DATE_MED)\n\t\t\t\t\t\t: '--'\n\t\t\t\t);\n\t\t\t\tresult.set('Package.HourEstimateMin', this.servicePackage.fees.estimateMin);\n\t\t\t\tresult.set('Package.HourEstimateMax', this.servicePackage.fees.estimateMax);\n\t\t\t\tresult.set(\n\t\t\t\t\t'Package.DepositPercent',\n\t\t\t\t\tthis.servicePackage.fees.feeType === 'Hourly' || this.servicePackage.fees.feeType === 'Per Item'\n\t\t\t\t\t\t? this.servicePackage.depositAmount\n\t\t\t\t\t\t: 'N/A'\n\t\t\t\t);\n\t\t\t\tresult.set(\n\t\t\t\t\t'Package.HourlyOverage',\n\t\t\t\t\tthis.$formatters.dollars(this.servicePackage.fees.retainerOverageRate, true, true, this.currency)\n\t\t\t\t);\n\t\t\t\tresult.set('Package.DepositAmount', this.depositAmount);\n\t\t\t\tresult.set('------------------------', null);\n\n\t\t\t\tif (this.tokens) {\n\t\t\t\t\tthis.tokens.forEach((value, key) => {\n\t\t\t\t\t\tif (this.templateMode) {\n\t\t\t\t\t\t\tresult.set(key, '{{' + key + '}}');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tresult.set(key, value);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\tpackageTotal: function() {\n\t\t\t\treturn this.getPackageTotalPreTax(this.agreement, this.servicePackage);\n\t\t\t},\n\n\t\t\tpackageTotalWithTax: function() {\n\t\t\t\treturn this.getPackageTotalWithTax(this.agreement, this.servicePackage);\n\t\t\t},\n\n\t\t\tpackageTax: function() {\n\t\t\t\treturn this.getPackageTax(this.agreement, this.servicePackage);\n\t\t\t},\n\n\t\t\tfeeLabel: function() {\n\t\t\t\treturn this.getFeeLabel(this.servicePackage);\n\t\t\t},\n\n\t\t\tdepositAmount: function() {\n\t\t\t\treturn this.getDepositAmount(this.servicePackage);\n\t\t\t},\n\n\t\t\ttokenizedText: function() {\n\t\t\t\tif (!this.servicePackage.description) {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\n\t\t\t\tlet text = this.servicePackage.description;\n\n\t\t\t\tthis.packageTokens.forEach((value, key) => {\n\t\t\t\t\ttext = text.replaceAll(`{{${key}}}`, value);\n\t\t\t\t});\n\n\t\t\t\treturn text;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.custom-switch {\n\t\t.v-input__slot {\n\t\t\talign-items: start!important;\n\t\t}\n\n\t\t&:not(.v-input--is-disabled) {\n\t\t\t.v-input--switch__track {\n\t\t\t\tcolor: var(--primary-brand-color) !important; // Replace \"black\" with your desired hex color\n\t\t\t\tbackground-color: var(--primary-brand-color) !important; // Replace \"black\" with your desired hex color\n\t\t\t\topacity: 0.5 !important;\n\t\t\t}\n\t\t}\n\t\t&.v-input--is-disabled {\n\t\t\t.v-input--switch__track {\n\t\t\t\tcolor: var(--primary-brand-color) !important; // Replace \"black\" with your desired hex color\n\t\t\t\tbackground-color: var(--primary-brand-color) !important; // Replace \"black\" with your desired hex color\n\t\t\t\topacity: 0.3 !important;\n\t\t\t}\n\t\t}\n\t}\n</style>\n\n<style scoped lang=\"scss\">\n\t.line-item-table {\n\t\twidth: 100%;\n\t\ttext-align: left;\n\t\tborder-collapse: collapse;\n\n\t\ttbody {\n\t\t\ttr {\n\t\t\t\ttd {\n\t\t\t\t\tvertical-align: top;\n\t\t\t\t\ttext-align: right;\n\t\t\t\t\tborder-bottom: 1px solid var(--v-table-border);\n\t\t\t\t\tborder-top: 1px solid var(--v-table-border);\n\t\t\t\t\tborder-left: 1px solid var(--v-table-border);\n\t\t\t\t\tpadding: 6px;\n\t\t\t\t}\n\n\t\t\t\ttd:nth-child(1) {\n\t\t\t\t\tvertical-align: top;\n\t\t\t\t\ttext-align: left;\n\t\t\t\t\tpadding-left: 8px;\n\t\t\t\t}\n\n\t\t\t\ttd:last-child {\n\t\t\t\t\tpadding-right: 8px;\n\t\t\t\t\tborder-right: 1px solid var(--v-table-border);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.description {\n\t\tfont-weight: 400;\n\t\tdiv::first-line {\n\t\t\tfont-weight: 600;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServicePackage.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServicePackage.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ServicePackage.vue?vue&type=template&id=42726092&scoped=true\"\nimport script from \"./ServicePackage.vue?vue&type=script&lang=js\"\nexport * from \"./ServicePackage.vue?vue&type=script&lang=js\"\nimport style0 from \"./ServicePackage.vue?vue&type=style&index=0&id=42726092&prod&lang=scss\"\nimport style1 from \"./ServicePackage.vue?vue&type=style&index=1&id=42726092&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"42726092\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\ninstallComponents(component, {VBtn,VIcon,VMenu,VSwitch})\n","<template>\n\t<div class=\"column-format\" @click=\"$emit('click', $event)\">\n\t\t<draggable\n\t\t\t:disabled=\"!active || !editMode || item.packages.length < 2\"\n\t\t\tv-model=\"item.packages\"\n\t\t\t:class=\"`${item.stacked ? 'column-format' : 'row-format'} gap-3`\"\n\t\t\t:id=\"item.id\"\n\t\t\thandle=\".dragHandle\"\n\t\t\t@start=\"onDragStart\" @end=\"onDragEnd\"\n\t\t\t:style=\"\n\t\t\t\t`padding-left: ${padding(item.pl)}px; padding-right: ${padding(item.pr)}px; padding-bottom: ${item.pb}px; padding-top: ${\n\t\t\t\t\titem.pt\n\t\t\t\t}px; ${agreement.styles.pageSize === 'RESPONSIVE' ? 'flex-wrap: wrap;' : 'flex-wrap:wrap'}`\n\t\t\t\"\n\t\t>\n\t\t\t<div\n\t\t\t\tv-for=\"servicePackage in item.packages\"\n\t\t\t\t:key=\"servicePackage.id\"\n\t\t\t\t:style=\"`flex: 1 1 0; ${agreement.styles.pageSize === 'RESPONSIVE' ? 'min-width:300px' : 'min-width:300px'}`\"\n\t\t\t>\n\t\t\t\t<service-package\n\t\t\t\t\tref=\"servicePackage\"\n\t\t\t\t\t:agreement=\"agreement\"\n\t\t\t\t\t:services=\"item\"\n\t\t\t\t\t:service-package=\"servicePackage\"\n\t\t\t\t\t:mce-config=\"mceConfig\"\n\t\t\t\t\t:active=\"active\"\n\t\t\t\t\t:client-mode=\"clientMode\"\n\t\t\t\t\t:edit-mode=\"editMode\"\n\t\t\t\t\t:tokens=\"tokens\"\n\t\t\t\t\t:signer=\"signer\"\n\t\t\t\t\t:template-mode=\"templateMode\"\n\t\t\t\t\t@click=\"$emit('click', $event)\"\n\t\t\t\t\t@change=\"handleChange(servicePackage, $event)\"\n\t\t\t\t\t@delete=\"deletePackage(servicePackage)\"\n\t\t\t\t></service-package>\n\t\t\t</div>\n\t\t</draggable>\n\n\t\t<div class=\"row-format centered py-4\" v-if=\"active && editMode\" >\n\t\t\t<div class=\"row-format add-button align-center\" style=\"min-width: 400px\">\n\t\t\t\t<div class=\"new row-format centered\" @click=\"addNewPackage()\">\n\t\t\t\t\t<v-icon class=\"material-symbols-rounded\" color=\"primary\" size=\"20\">add</v-icon>\n\t\t\t\t\t<div>Add package</div>\n\t\t\t\t</div>\n\t\t\t\t<v-menu close-on-content-click close-on-click nudge-top=\"100\">\n\t\t\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t\t\t<div class=\"from-package row-format centered\" v-on=\"on\">\n\t\t\t\t\t\t\t<div>From template</div>\n\t\t\t\t\t\t\t<v-icon class=\"material-symbols-rounded\" color=\"primary\">arrow_drop_down</v-icon>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t\t<div class=\"more-menu show-scrollbar\" style=\"max-height: 500px\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tv-for=\"template in packageTemplates\"\n\t\t\t\t\t\t\t\t:key=\"template.id\"\n\t\t\t\t\t\t\t\tclass=\"more-menu-item font-14\"\n\t\t\t\t\t\t\t\t@click=\"importTemplate(template)\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ template.name }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</v-menu>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport ServicePackage from '@/modules/agreements/schema/ServicePackage';\n\timport Draggable from 'vuedraggable';\n\timport {v4 as uuid4} from \"uuid\";\n\timport EmbeddedServices from \"@/modules/agreements/schema/EmbeddedServices\";\n\timport ResponsiveMixin from \"./ResponsiveMixin\";\n\n\texport default {\n\t\tname: 'Services',\n\n\t\tprops: ['agreement', 'item', 'mceConfig', 'editMode', 'clientMode', 'tokens', 'signer', 'templateMode','isMobile','pageWidth'],\n\n\t\tcomponents: { ServicePackage, Draggable },\n\n\t\tmixins: [ResponsiveMixin],\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tembeddedServices: new EmbeddedServices(),\n\t\t\t\tpackageTemplates: [],\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tif(this.editMode){\n\t\t\t\tthis.getPackageTemplates();\n\t\t\t}\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tgetPackageTemplates: function() {\n\t\t\t\tthis.embeddedServices.getDeliverablePackages().then((res) => {\n\t\t\t\t\tthis.packageTemplates.splice(0);\n\t\t\t\t\tthis.packageTemplates.push(...res.data);\n\t\t\t\t\tthis.packageTemplates.sort((a,b) => {\n\t\t\t\t\t\tif(a.name && b.name){\n\t\t\t\t\t\t\treturn a.name.localeCompare(b.name);\n\t\t\t\t\t\t}else if(a.name){\n\t\t\t\t\t\t\treturn -1;\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\treturn 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t});\n\t\t\t},\n\n\t\t\timportTemplate: function(template) {\n\t\t\t\tlet newPackage = {\n\t\t\t\t\tid: uuid4(),\n\t\t\t\t\tpackageName: template.name,\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'<h2>{{Package.Name}}</h2><br>Description that shows the price of the package<br>{{Package.Total}} {{Package.FeeLabel}}<br>',\n\t\t\t\t\tfees: template.feeSchedule,\n\t\t\t\t\tprojectTypeId: template.projectTypeId,\n\t\t\t\t\tbuttonText: 'Select',\n\t\t\t\t\tselected: false,\n\t\t\t\t\tdefaultSelection: false,\n\t\t\t\t\titems: [],\n\t\t\t\t};\n\n\t\t\t\ttemplate.deliverables.forEach((d) => {\n\t\t\t\t\tnewPackage.items.push({\n\t\t\t\t\t\tid: uuid4(),\n\t\t\t\t\t\tdescription: d.name + '\\n' + d.description,\n\t\t\t\t\t\tproduct: d.product,\n\t\t\t\t\t\tquantity: d.quantity,\n\t\t\t\t\t\trate: d.product ? d.product.rate : 0,\n\t\t\t\t\t\ttaxable: d.product ? d.product.taxable : false,\n\t\t\t\t\t\trelativeDueDate: true,\n\t\t\t\t\t\tdueDateRelative: d.dueDate,\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\tthis.item.packages.push(newPackage);\n\t\t\t\tthis.$emit('change', this.item);\n\t\t\t},\n\n\n\t\t\taddNewPackage: function() {\n\t\t\t\tlet newPackage = {\n\t\t\t\t\tid: uuid4(),\n\t\t\t\t\tpackageName: 'Sample package',\n\t\t\t\t\tdescription:\n\t\t\t\t\t\t\t'<h2>{{Package.Name}}</h2><br>Description that shows the price of the package<br>{{Package.Total}} {{Package.FeeLabel}}<br>',\n\t\t\t\t\tdefaultSelection: false,\n\t\t\t\t\tselected: false,\n\t\t\t\t\tbuttonText: 'Select',\n\t\t\t\t\tfees: {\n\t\t\t\t\t\tfeeType: 'Fixed Price',\n\t\t\t\t\t\tamount: 500,\n\t\t\t\t\t\tretainerSchedule: 'Monthly',\n\t\t\t\t\t\tretainerTiming: 'Advanced',\n\t\t\t\t\t\testimateMin: 0,\n\t\t\t\t\t\testimateMax: 0,\n\t\t\t\t\t\tretainerOverage: 0,\n\t\t\t\t\t},\n\t\t\t\t\titems: [],\n\t\t\t\t};\n\n\t\t\t\tthis.item.packages.push(newPackage);\n\t\t\t\tthis.$emit('change', this.item);\n\t\t\t},\n\n\t\t\tonDragStart: function(){\n\t\t\t\tif(this.$refs.servicePackage.length) {\n\t\t\t\t\tfor (let i = 0; i < this.$refs.servicePackage.length; i++) {\n\t\t\t\t\t\tthis.$refs.servicePackage[i].setReadOnly(true);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tonDragEnd: function(){\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\tif(this.$refs.servicePackage.length) {\n\t\t\t\t\t\tfor (let i = 0; i < this.$refs.servicePackage.length; i++) {\n\t\t\t\t\t\t\tthis.$refs.servicePackage[i].setReadOnly(false);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\thandleChange: function(servicePackage, update) {\n\t\t\t\tconsole.log(update);\n\t\t\t\tlet ix = this.item.packages.findIndex((p) => p.id === servicePackage.id);\n\t\t\t\tlet p = this.item.packages[ix];\n\t\t\t\tp.description = update.description;\n\t\t\t\tthis.item.packages.splice(ix, 1, p);\n\t\t\t\tthis.$emit('change', this.item);\n\t\t\t},\n\n\t\t\tdeletePackage: function(servicePackage) {\n\t\t\t\tlet ix = this.item.packages.findIndex((p) => p.id === servicePackage.id);\n\t\t\t\tthis.item.packages.splice(ix, 1);\n\t\t\t\tthis.$emit('change', this.item);\n\t\t\t},\n\n\t\t\tfinalize: function() {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (this.verifySelection) {\n\t\t\t\t\t\tif (!this.item.packages.find((p) => p.selected)) {\n\t\t\t\t\t\t\tdocument.getElementById(this.item.id).scrollIntoView({ block: 'start', behavior: 'smooth' });\n\t\t\t\t\t\t\tdocument.getElementById(this.item.id).classList.add('red-border');\n\t\t\t\t\t\t\treject();\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (this.item.selectionRequired) {\n\t\t\t\t\t\tthis.item.packages.forEach((p) => (p.selected = true));\n\t\t\t\t\t}\n\t\t\t\t\tdocument.getElementById(this.item.id).classList.remove('red-border');\n\t\t\t\t\tresolve();\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tverifySelection: function() {\n\t\t\t\tif (this.item.packages.length > 1 && this.item.selectionRequired) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tactive: function() {\n\t\t\t\treturn this.item.id === this.$store.state.agreementBuilderState.activeElementId;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.add-button {\n\t\tborder: 1px solid var(--v-gray_30-base);\n\t\tborder-radius: 4px;\n\t\tcursor: pointer;\n\t\tmin-height: 32px;\n\t\theight: 32px;\n\t\tfont-size: 14px;\n\t\tfont-weight: 500;\n\t\tcolor: var(--v-primary-base);\n\t\tbackground-color: var(--v-white-base);\n\t}\n\n\t.new {\n\t\tpadding-left: 8px;\n\t\tpadding-right: 8px;\n\t\theight: 100%;\n\t\tborder-radius: 4px 0 0 4px;\n\t\tflex-grow: 1;\n\n\t\t&:hover {\n\t\t\tbackground-color: var(--v-gray_20-base);\n\t\t}\n\t}\n\n\t.from-package {\n\t\tborder-left: 1px solid var(--v-gray_30-base);\n\t\tpadding-right: 8px;\n\t\tpadding-left: 8px;\n\t\theight: 100%;\n\t\tborder-radius: 0 4px 4px 0;\n\t\tflex-grow: 1;\n\t\t&:hover {\n\t\t\tbackground-color: var(--v-gray_20-base);\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Services.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Services.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Services.vue?vue&type=template&id=62ac5598&scoped=true\"\nimport script from \"./Services.vue?vue&type=script&lang=js\"\nexport * from \"./Services.vue?vue&type=script&lang=js\"\nimport style0 from \"./Services.vue?vue&type=style&index=0&id=62ac5598&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"62ac5598\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VIcon,VMenu})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{style:(_vm.schedulerStyle),attrs:{\"id\":_vm.item.id},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[(_vm.meetingInfo)?_c('div',{class:`flex-wrap row-format gap-2 ${_vm.scheduledMeeting ? '' : 'centered'}`},[(_vm.meetingInfo && (_vm.item.showInfo || _vm.scheduledMeeting))?_c('meeting-info',{staticStyle:{\"flex\":\"1 1 0\",\"min-width\":\"250px\"},attrs:{\"meet\":_vm.meetingInfo,\"confirmed-time\":_vm.confirmedTime,\"token-map\":_vm.tokenMap,\"selected-location\":_vm.selectedLocation,\"is-scheduled\":!!_vm.scheduledMeeting},on:{\"select-location\":function($event){_vm.selectedLocation = $event}}}):_vm._e(),(_vm.meetingInfo && !_vm.scheduledMeeting)?_c('meeting-schedule',{staticStyle:{\"flex\":\"1 1 0\"},attrs:{\"meet\":_vm.meetingInfo,\"scheduler-id\":_vm.item.attachedSchedulerId,\"http-client\":_vm.httpClient},on:{\"time-confirmed\":function($event){return _vm.timeConfirmed($event)}}}):_vm._e(),(_vm.scheduledMeeting)?_c('v-container',{staticClass:\"font-14 text-left mx-5\",staticStyle:{\"border\":\"1px solid var(--v-gray_30-base)\",\"border-radius\":\"4px\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"4\"}},[_vm._v(\"Meeting status\")]),_c('v-col',{staticStyle:{\"font-weight\":\"600\"},attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.scheduledMeeting.meetingStatus))])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"4\"}},[_vm._v(\"Date/Time\")]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.DateTime.fromISO(_vm.scheduledMeeting.confirmedTime.start).toFormat('cccc') + ' ' + _vm.DateTime.fromISO(_vm.scheduledMeeting.confirmedTime.start).toLocaleString(_vm.DateTime.DATETIME_MED) + ' (' + _vm.Settings.defaultZone.name + ')'))])],1),(_vm.scheduledMeeting.location.type === 'Zoom' && _vm.scheduledMeeting.zoomMeeting)?_c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"4\"}},[_vm._v(\"Join URL\")]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_c('a',{attrs:{\"href\":_vm.scheduledMeeting.zoomMeeting.join_url,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.scheduledMeeting.zoomMeeting.join_url))])])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"4\"}},[_vm._v(\"Meeting Id\")]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.scheduledMeeting.zoomMeeting.id))])],1),(_vm.scheduledMeeting.zoomMeeting.pstnPassword)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"4\"}},[_vm._v(\"Passcode\")]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.scheduledMeeting.zoomMeeting.pstnPassword))])],1):_vm._e(),(_vm.zoomDialIn)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"4\"}},[_vm._v(\"Dial in\")]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.zoomDialIn.number.replaceAll(' ', ''))+\" (\"+_vm._s(_vm.zoomDialIn.city)+\", \"+_vm._s(_vm.zoomDialIn.country_name)+\")\")])],1):_vm._e()],1):(_vm.scheduledMeeting.microsoftEvent && _vm.scheduledMeeting.microsoftEvent.meetingLink)?_c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"4\"}}),_c('v-col',{staticClass:\"my-2\",attrs:{\"cols\":\"8\"}},[_c('v-btn',{attrs:{\"elevation\":\"0\"},on:{\"click\":function($event){return _vm.openTeamsMeeting(_vm.scheduledMeeting.microsoftEvent.meetingLink)}}},[_c('v-icon',{staticClass:\"mr-1\"},[_vm._v(\"$microsoft\")]),_vm._v(\" Join Teams meeting\")],1)],1)],1)],1):(_vm.scheduledMeeting.location.type === 'Google' && _vm.scheduledMeeting.googleMeeting)?_c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"4\"}},[_vm._v(\"Join URL\")]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_c('a',{attrs:{\"href\":_vm.scheduledMeeting.googleMeeting.hangoutLink,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.scheduledMeeting.googleMeeting.hangoutLink))])])],1),(_vm.googleDialIn)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"4\"}},[_vm._v(\"Dial in\")]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.googleDialIn.label)+\" (\"+_vm._s(_vm.googleDialIn.regionCode)+\")\")])],1):_vm._e(),(_vm.googleDialIn)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"4\"}},[_vm._v(\"Pin\")]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.googleDialIn.pin))])],1):_vm._e()],1):(_vm.scheduledMeeting.location.type === 'PhoneIn')?_c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"4\"}},[_vm._v(\"Invitee will call\")]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.scheduledMeeting.location.phone))])],1)],1):(_vm.scheduledMeeting.location.type === 'PhoneOut')?_c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"4\"}},[_vm._v(\"Call invitee at\")]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.scheduledMeeting.formData.phone))])],1)],1):(_vm.scheduledMeeting.location.type === 'InPerson')?_c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"4\"}},[_vm._v(\"Meet at\")]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.scheduledMeeting.location.address))])],1)],1):(_vm.scheduledMeeting.meetingStatus !== 'Cancelled')?_c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(_vm._s(_vm.scheduledMeeting.location.custom))])],1)],1):_vm._e(),(_vm.scheduledMeeting.meetingStatus === 'Scheduled')?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"mt-4 d-flex align-center justify-space-between gap-3\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"secondary-action\",staticStyle:{\"flex\":\"0 1 50%\"},on:{\"click\":function($event){return _vm.openLink(_vm.scheduledMeeting.cancelUrl)}}},[_c('span',{staticStyle:{\"color\":\"var(--v-error-base)\"}},[_vm._v(\"Cancel meeting\")])]),_c('v-btn',{staticClass:\"primary-action\",staticStyle:{\"flex\":\"0 1 50%\"},on:{\"click\":function($event){return _vm.openLink(_vm.scheduledMeeting.rescheduleUrl)}}},[_vm._v(\"Reschedule meeting\")])],1)],1):_vm._e()],1):_vm._e()],1):_c('div',{staticClass:\"row-format centered\",staticStyle:{\"height\":\"200px\",\"border\":\"1px solid var(--v-gray_20-base)\"}},[_c('div',{staticClass:\"font-gray_60 row-format align-center\"},[_c('v-icon',{staticClass:\"material-symbols-rounded\",attrs:{\"color\":\"gray_60\"}},[_vm._v(\"event\")]),_c('div',[_vm._v(\"Please select an embedded meeting scheduler\")])],1)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"meeting-schedule\"}},[(!_vm.selectedDate)?_c('div',[_c('div',{staticClass:\"row-format centered mt-1 mb-2\"},[_c('div',[_c('v-btn',{attrs:{\"icon\":\"\",\"disabled\":_vm.disablePrevious},on:{\"click\":function($event){$event.stopPropagation();return _vm.incrementMonth(-1)}}},[_c('v-icon',{attrs:{\"size\":\"30\"}},[_vm._v(\"$prev\")])],1)],1),_c('div',{staticClass:\"font-16 brand-medium px-4\"},[_vm._v(\" \"+_vm._s(_vm.monthStart.toLocaleString({ month: 'long', year: 'numeric' }))+\" \")]),_c('div',[_c('v-btn',{attrs:{\"icon\":\"\",\"disabled\":_vm.disableNext}},[_c('v-icon',{attrs:{\"size\":\"30\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.incrementMonth(1)}}},[_vm._v(\"$next\")])],1)],1)]),_c('v-date-picker',{staticClass:\"schedule-picker\",style:(`--light-accent:${_vm.lightAccent}; --accent:${_vm.$store.getters.getCustomBranding.primaryColor};`),attrs:{\"min\":_vm.minDate,\"full-width\":\"\",\"picker-date\":_vm.monthStart.toISODate(),\"no-title\":true,\"allowed-dates\":_vm.hasAvailability,\"first-day-of-week\":_vm.$store.state.firstDayOfWeek},on:{\"click\":function($event){$event.stopPropagation();},\"change\":_vm.dateClicked}})],1):_c('div',{staticClass:\"fill-height\"},[_c('div',{staticClass:\"row-format centered mt-1 mb-2\"},[_c('div',[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.incrementDay(-1)}}},[_c('v-icon',{attrs:{\"size\":\"30\"}},[_vm._v(\"$prev\")])],1)],1),_c('div',{staticClass:\"font-16 brand-medium pointer px-4\",on:{\"click\":function($event){$event.stopPropagation();return _vm.zoomOut()}}},[_vm._v(\" \"+_vm._s(_vm.selectedDate.toLocaleString(_vm.DateTime.DATE_HUGE))+\" \")]),_c('div',[_c('v-btn',{attrs:{\"icon\":\"\"}},[_c('v-icon',{attrs:{\"size\":\"30\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.incrementDay(1)}}},[_vm._v(\"$next\")])],1)],1)]),_c('div',{staticClass:\"brand-medium my-2 pointer\",on:{\"click\":function($event){_vm.selectedDate = null}}}),(_vm.availableSlots.length)?_c('div',{staticClass:\"row-format\",staticStyle:{\"flex-wrap\":\"wrap\"}},_vm._l((_vm.availableSlots),function(slot,index){return _c('div',{key:index,staticClass:\"slot pointer row-format centered\",style:(`--accent-color: ${_vm.$store.getters.getCustomBranding.primaryColor}; --contrast-color: ${_vm.contrast}; --light-accent:${_vm.lightAccent}`),on:{\"click\":function($event){$event.stopPropagation();return _vm.selectTimeSlot(slot)}}},[_c('div',{class:`pa-1 ${_vm.selectedSlot && _vm.selectedSlot.start === slot.start ? 'selected' : ''}`},[_vm._v(\" \"+_vm._s(_vm.DateTime.fromISO(slot.start).toLocaleString(_vm.DateTime.TIME_SIMPLE))+\" \")]),_c('div',{staticClass:\"selected selected-slot pa-1\",style:(`overflow: hidden; ${\n\t\t\t\t\t\t\t_vm.selectedSlot && _vm.selectedSlot.start === slot.start\n\t\t\t\t\t\t\t\t? 'visibility:visible; width:50%'\n\t\t\t\t\t\t\t\t: 'visibility:hidden; width:0px'\n\t\t\t\t\t\t}`),on:{\"click\":function($event){$event.stopPropagation();return _vm.timeConfirmed.apply(null, arguments)}}},[_vm._v(\" Selected \")])])}),0):_c('div',{staticClass:\"column-format centered\"},[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"size\":\"80\"}},[_vm._v(\"hourglass_disabled\")])],1),(_vm.availableSlots.length)?_c('div',{staticClass:\"mt-5 font-12\"},[_vm._v(_vm._s(_vm.Settings.defaultZone.name))]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"\" id=\"meeting-schedule\">\n\t\t<div v-if=\"!selectedDate\">\n\t\t\t<div class=\"row-format centered mt-1 mb-2\">\n\t\t\t\t<div>\n\t\t\t\t\t<v-btn icon :disabled=\"disablePrevious\" @click.stop=\"incrementMonth(-1)\"><v-icon size=\"30\">$prev</v-icon></v-btn>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"font-16 brand-medium px-4\">\n\t\t\t\t\t{{ monthStart.toLocaleString({ month: 'long', year: 'numeric' }) }}\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<v-btn icon :disabled=\"disableNext\"><v-icon size=\"30\" @click.stop=\"incrementMonth(1)\">$next</v-icon></v-btn>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<v-date-picker\n\t\t\t\tclass=\"schedule-picker\"\n\t\t\t\t:min=\"minDate\"\n\t\t\t\tfull-width\n\t\t\t\t:picker-date=\"monthStart.toISODate()\"\n\t\t\t\t:style=\"`--light-accent:${lightAccent}; --accent:${$store.getters.getCustomBranding.primaryColor};`\"\n\t\t\t\t:no-title=\"true\"\n\t\t\t\t@click.stop\n\t\t\t\t@change=\"dateClicked\"\n\t\t\t\t:allowed-dates=\"hasAvailability\"\n\t\t\t\t:first-day-of-week=\"$store.state.firstDayOfWeek\"\n\t\t\t></v-date-picker>\n\t\t</div>\n\t\t<div v-else class=\"fill-height\">\n\t\t\t<div class=\"row-format centered mt-1 mb-2\">\n\t\t\t\t<div>\n\t\t\t\t\t<v-btn icon @click.stop=\"incrementDay(-1)\"><v-icon size=\"30\">$prev</v-icon></v-btn>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"font-16 brand-medium pointer px-4\" @click.stop=\"zoomOut()\">\n\t\t\t\t\t{{ selectedDate.toLocaleString(DateTime.DATE_HUGE) }}\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<v-btn icon><v-icon size=\"30\" @click.stop=\"incrementDay(1)\">$next</v-icon></v-btn>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"brand-medium my-2 pointer\" @click=\"selectedDate = null\"></div>\n\t\t\t<div class=\"row-format\" style=\"flex-wrap: wrap\" v-if=\"availableSlots.length\">\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(slot, index) in availableSlots\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t@click.stop=\"selectTimeSlot(slot)\"\n\t\t\t\t\tclass=\"slot pointer row-format centered\"\n\t\t\t\t\t:style=\"\n\t\t\t\t\t\t`--accent-color: ${$store.getters.getCustomBranding.primaryColor}; --contrast-color: ${contrast}; --light-accent:${lightAccent}`\n\t\t\t\t\t\"\n\t\t\t\t>\n\t\t\t\t\t<div :class=\"`pa-1 ${selectedSlot && selectedSlot.start === slot.start ? 'selected' : ''}`\">\n\t\t\t\t\t\t{{ DateTime.fromISO(slot.start).toLocaleString(DateTime.TIME_SIMPLE) }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div\n\t\t\t\t\t\t@click.stop=\"timeConfirmed\"\n\t\t\t\t\t\tclass=\"selected selected-slot pa-1\"\n\t\t\t\t\t\t:style=\"\n\t\t\t\t\t\t\t`overflow: hidden; ${\n\t\t\t\t\t\t\t\tselectedSlot && selectedSlot.start === slot.start\n\t\t\t\t\t\t\t\t\t? 'visibility:visible; width:50%'\n\t\t\t\t\t\t\t\t\t: 'visibility:hidden; width:0px'\n\t\t\t\t\t\t\t}`\n\t\t\t\t\t\t\"\n\t\t\t\t\t>\n\t\t\t\t\t\tSelected\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div v-else class=\"column-format centered\">\n\t\t\t\t<v-icon class=\"material-symbols-outlined\" size=\"80\">hourglass_disabled</v-icon>\n\t\t\t</div>\n\t\t\t<div class=\"mt-5 font-12\" v-if=\"availableSlots.length\">{{ Settings.defaultZone.name }}</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport { DateTime, Settings } from 'luxon';\n\timport chroma from 'chroma-js';\n\timport timezones from '@/assets/data/timezones.json';\n\n\texport default {\n\t\tname: 'MeetingSchedule',\n\n\t\tprops: ['meet', 'schedulerId', 'start', 'httpClient'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\ttimezones: timezones,\n\t\t\t\tDateTime: DateTime,\n\t\t\t\tselectedDate: null,\n\t\t\t\tselectedSlot: null,\n\t\t\t\tSettings: Settings,\n\t\t\t\tmonthStart: DateTime.now().startOf('month'),\n\t\t\t\tmonthEnd: DateTime.now().startOf('month').plus({ months: 1 }).minus({ seconds: 1 }),\n\t\t\t\tfilter: null,\n\t\t\t\ttimezoneMenu: false,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\ttimeConfirmed: function() {\n\t\t\t\tthis.$emit('time-confirmed', this.selectedSlot);\n\t\t\t},\n\n\t\t\tincrementDay: function(count) {\n\t\t\t\tthis.selectedDate = this.selectedDate.plus({ days: count });\n\t\t\t\tthis.selectedSlot = null;\n\n\t\t\t\tif(this.selectedDate < this.monthStart){\n\t\t\t\t\tthis.incrementMonth(-1);\n\t\t\t\t}else if(this.selectedDate > this.monthEnd){\n\t\t\t\t\tthis.incrementMonth(1);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tzoomOut: function() {\n\t\t\t\tthis.selectedDate = null;\n\t\t\t\tthis.selectedSlot = null;\n\t\t\t\tthis.timeConfirmed();\n\t\t\t},\n\n\t\t\tincrementMonth: function(count) {\n\t\t\t\tthis.monthStart = this.monthStart\n\t\t\t\t\t.startOf('month')\n\t\t\t\t\t.plus({ months: count });\n\t\t\t\tthis.monthEnd = this.monthStart.plus({ months: 1 }).minus({ seconds: 1 });\n\n\t\t\t\tthis.selectedSlot = null;\n\t\t\t\tthis.$store.commit('startLoading');\n\n\t\t\t\tlet params = {\n\t\t\t\t\taccountId: this.meet.account.accountId,\n\t\t\t\t\tid: this.meet.id,\n\t\t\t\t\tstart: this.monthStart.toISODate(),\n\t\t\t\t\tend: this.monthEnd.toISODate(),\n\t\t\t\t\tconflictCheck: true,\n\t\t\t\t};\n\n\t\t\t\tthis.httpClient\n\t\t\t\t\t.get('/api/meeting/availability', { params: params })\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tthis.meet.availableMeetings.splice(0, this.meet.availableMeetings.length);\n\t\t\t\t\t\tthis.meet.availableMeetings.push(...res.data);\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => this.$store.commit('stopLoading'));\n\t\t\t},\n\n\t\t\tselectTimeSlot: function(slot) {\n\t\t\t\tthis.selectedSlot = slot;\n\t\t\t\tthis.timeConfirmed();\n\t\t\t},\n\n\t\t\tdateClicked: function(date) {\n\t\t\t\tthis.selectedDate = DateTime.fromISO(date).startOf('day');\n\t\t\t\tthis.selectedSlot = null;\n\t\t\t\tthis.timeConfirmed();\n\t\t\t},\n\n\t\t\thasAvailability(dateString) {\n\t\t\t\tlet date = DateTime.fromISO(dateString).startOf('day');\n\t\t\t\tif (this.availableDates.findIndex((d) => d.toMillis() === date.toMillis()) > -1) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsuffix: function(num) {\n\t\t\t\tlet j = num % 10,\n\t\t\t\t\tk = num % 100;\n\t\t\t\tif (j === 1 && k !== 11) {\n\t\t\t\t\treturn `${num}st`;\n\t\t\t\t} else if (j === 2 && k !== 12) {\n\t\t\t\t\treturn `${num}nd`;\n\t\t\t\t} else if (j === 3 && k !== 13) {\n\t\t\t\t\treturn `${num}rd`;\n\t\t\t\t} else {\n\t\t\t\t\treturn `${num}th`;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tdisablePrevious: function() {\n\t\t\t\tlet m = this.monthStart;\n\t\t\t\tlet t = DateTime.now().startOf('month');\n\t\t\t\tif (t < m) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tdisableNext: function() {\n\t\t\t\tif (this.meet.maxMeetingDate) {\n\t\t\t\t\tlet m = this.monthEnd;\n\t\t\t\t\tlet t = DateTime.fromISO(this.meet.maxMeetingDate).endOf('month');\n\t\t\t\t\treturn t <= m;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tminDate: function() {\n\t\t\t\treturn DateTime.now().toISODate();\n\t\t\t},\n\n\t\t\tcontrast: function() {\n\t\t\t\tlet black = chroma.contrast(this.$store.getters.getCustomBranding.primaryColor, '#000000');\n\t\t\t\tlet white = chroma.contrast(this.$store.getters.getCustomBranding.primaryColor, '#FFFFFF');\n\t\t\t\tif (black > white) {\n\t\t\t\t\treturn '#000';\n\t\t\t\t} else {\n\t\t\t\t\treturn '#FFF';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tlightAccent: function() {\n\t\t\t\treturn chroma(this.$store.getters.getCustomBranding.primaryColor)\n\t\t\t\t\t.alpha(0.18)\n\t\t\t\t\t.hex();\n\t\t\t},\n\n\t\t\tavailableSlots: function() {\n\t\t\t\tlet result = [];\n\t\t\t\tif (this.selectedDate) {\n\t\t\t\t\tthis.meet.availableMeetings.forEach((m) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tDateTime.fromISO(m.start)\n\t\t\t\t\t\t\t\t.startOf('day')\n\t\t\t\t\t\t\t\t.toISODate() === this.selectedDate.toISODate()\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tresult.push(m);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\tavailableDates: function() {\n\t\t\t\tlet dates = [];\n\t\t\t\tthis.meet.availableMeetings.forEach((m) => {\n\t\t\t\t\tlet date = DateTime.fromISO(m.start).startOf('day');\n\t\t\t\t\tlet ix = dates.findIndex((d) => d.toMillis() === date.toMillis());\n\t\t\t\t\tif (ix === -1) {\n\t\t\t\t\t\tdates.push(date);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn dates;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t#meeting-schedule {\n\t\t.v-date-picker-header {\n\t\t\tdisplay: none !important;\n\t\t}\n\n\t\t.v-date-picker-table {\n\t\t\theight: unset !important;\n\n\t\t\ttd {\n\t\t\t\tpadding-bottom: 8px;\n\t\t\t}\n\n\t\t\t.v-btn {\n\t\t\t\t&:not(.v-btn--disabled) {\n\t\t\t\t\tfont-weight: 800;\n\t\t\t\t\tfont-size: 13px;\n\t\t\t\t\tcolor: var(--accent) !important;\n\t\t\t\t\tbackground-color: var(--light-accent);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.slot {\n\t\t\tmin-width: 170px;\n\t\t\tflex: 1 1 0px;\n\t\t\tborder: 1px solid var(--v-gray_30-base);\n\t\t\tborder-radius: 4px;\n\t\t\tmargin: 4px;\n\t\t\tcolor: var(--accent-color);\n\t\t\tfont-weight: 600;\n\t\t\ttransition: all 150ms ease;\n\n\t\t\t&:hover {\n\t\t\t\tbox-shadow: rgba(0, 0, 0, 0.24) 0px 1px 3px;\n\t\t\t}\n\t\t}\n\n\t\t.selected {\n\t\t\twidth: 50%;\n\t\t}\n\n\t\t.selected-slot {\n\t\t\tbackground-color: var(--light-accent);\n\t\t\tcolor: var(--accent-color);\n\t\t\ttransition: all 150ms ease;\n\t\t}\n\n\t\t.dot-class {\n\t\t\tborder-radius: 20px;\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetingSchedule.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetingSchedule.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MeetingSchedule.vue?vue&type=template&id=f308c132\"\nimport script from \"./MeetingSchedule.vue?vue&type=script&lang=js\"\nexport * from \"./MeetingSchedule.vue?vue&type=script&lang=js\"\nimport style0 from \"./MeetingSchedule.vue?vue&type=style&index=0&id=f308c132&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VDatePicker,VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',[_c('v-row',[_c('v-col',{staticClass:\"solid-hr\",attrs:{\"cols\":\"12\",\"align\":\"left\"}},[_c('div',{staticStyle:{\"line-height\":\"1.8\"},domProps:{\"innerHTML\":_vm._s(_vm.tokenizedText)}})])],1),(_vm.meet.locations.length > 1 && !_vm.isScheduled)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-radio-group',{staticClass:\"mt-n4\",attrs:{\"hide-details\":\"\",\"dense\":\"\"},on:{\"change\":function($event){return _vm.$emit('select-location',_vm.ourLocation)}},model:{value:(_vm.ourLocation),callback:function ($$v) {_vm.ourLocation=$$v},expression:\"ourLocation\"}},_vm._l((_vm.meet.locations),function(location,index){return _c('v-radio',{key:index,attrs:{\"value\":location},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('div',{staticClass:\"row-format align-center gap-2\"},[_c('v-icon',{staticClass:\"material-symbols-rounded\"},[_vm._v(_vm._s(_vm.getIcon(location)))]),_c('div',{staticClass:\"brand-medium\"},[_vm._v(_vm._s(_vm.getLabel(location)))])],1)]},proxy:true}],null,true)})}),1)],1)],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<v-container>\n\t\t<v-row>\n\t\t\t<v-col cols=\"12\" align=\"left\" class=\"solid-hr\">\n\t\t\t\t<div style=\"line-height: 1.8;\"  v-html=\"tokenizedText\"></div>\n\t\t\t</v-col>\n\t\t</v-row>\n\t\t<v-row dense v-if=\"meet.locations.length > 1 && !isScheduled\">\n\t\t\t<v-col cols=\"12\">\n\t\t\t\t<v-radio-group v-model=\"ourLocation\" hide-details dense @change=\"$emit('select-location',ourLocation)\" class=\"mt-n4\">\n\t\t\t\t\t<v-radio  v-for=\"(location,index) in meet.locations\" :key=\"index\" :value=\"location\">\n\t\t\t\t\t\t<template v-slot:label>\n\t\t\t\t\t\t\t<div class=\"row-format align-center gap-2\">\n\t\t\t\t\t\t\t\t<v-icon class=\"material-symbols-rounded\">{{ getIcon(location) }}</v-icon>\n\t\t\t\t\t\t\t\t<div class=\"brand-medium\">{{getLabel(location)}}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</v-radio>\n\t\t\t\t</v-radio-group>\n\t\t\t</v-col>\n\t\t</v-row>\n\t</v-container>\n</template>\n\n<script>\nimport { Settings } from 'luxon';\nimport timezones from '@/assets/data/timezones.json';\n\nexport default {\n\tname: 'MeetingInfo',\n\n\tprops: ['meet', 'confirmedTime','action', 'tokenMap','selectedLocation','isScheduled'],\n\n\tcomponents: {},\n\n\tdata: function () {\n\t\treturn {\n\t\t\tSettings:Settings,\n\t\t\ttimezones: timezones,\n\t\t\tourLocation: this.selectedLocation\n\t\t};\n\t},\n\n\tmounted() {},\n\n\tbeforeDestroy() {},\n\n\tmethods: {\n\t\tgetLabel: function(location){\n\t\t\tswitch(location.type){\n\t\t\t\tcase 'Google':{return 'Google meet'}\n\t\t\t\tcase 'Microsoft':{return 'Microsoft teams'}\n\t\t\t\tcase 'Zoom':{return 'Zoom'}\n\t\t\t\tcase 'PhoneIn':{return `Call ${location.phone}`}\n\t\t\t\tcase 'PhoneOut':{return 'I\\'ll call you'}\n\t\t\t\tcase 'InPerson':{return `In person`}\n\t\t\t\tcase 'Custom':{return location.custom}\n\t\t\t}\n\t\t},\n\n\t\tgetIcon: function(location){\n\t\t\tswitch(location.type){\n\t\t\t\tcase 'Google':{return '$googleCalendar'}\n\t\t\t\tcase 'Microsoft':{return '$microsoft'}\n\t\t\t\tcase 'Zoom':{return '$zoomIcon'}\n\t\t\t\tcase 'PhoneIn':{return `$phoneInTalk`}\n\t\t\t\tcase 'PhoneOut':{return '$phoneOut'}\n\t\t\t\tcase 'InPerson':{return `$map`}\n\t\t\t\tcase 'Custom':{return `info`}\n\t\t\t}\n\t\t},\n\t},\n\n\tcomputed: {\n\t\ttokenizedText: function() {\n\t\t\tlet result = this.meet.scheduleMeeting.schedulerInfo;\n\t\t\tthis.tokenMap.forEach((value, key) => (result = result.replaceAll('{{' + key + '}}', value)));\n\t\t\treturn result;\n\t\t},\n\t},\n};\n</script>\n\n<style scoped lang=\"scss\">\n\t.solid-hr {\n\t\thr {\n\t\t\tborder-top: 1px solid var(--v-black-base) !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetingInfo.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetingInfo.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MeetingInfo.vue?vue&type=template&id=4378976a&scoped=true\"\nimport script from \"./MeetingInfo.vue?vue&type=script&lang=js\"\nexport * from \"./MeetingInfo.vue?vue&type=script&lang=js\"\nimport style0 from \"./MeetingInfo.vue?vue&type=style&index=0&id=4378976a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4378976a\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VIcon,VRadio,VRadioGroup,VRow})\n","<template>\n\t<div @click=\"$emit('click', $event)\" class=\"\" :style=\"schedulerStyle\" :id=\"item.id\">\n\t\t<div v-if=\"meetingInfo\" :class=\"`flex-wrap row-format gap-2 ${scheduledMeeting ? '' : 'centered'}`\">\n\t\t\t<meeting-info\n\t\t\t\tv-if=\"meetingInfo && (item.showInfo || scheduledMeeting)\"\n\t\t\t\t:meet=\"meetingInfo\"\n\t\t\t\t:confirmed-time=\"confirmedTime\"\n\t\t\t\t:token-map=\"tokenMap\"\n\t\t\t\t:selected-location=\"selectedLocation\"\n\t\t\t\t:is-scheduled=\"!!scheduledMeeting\"\n\t\t\t\t@select-location=\"selectedLocation = $event\"\n\t\t\t\tstyle=\"flex: 1 1 0; min-width: 250px\"\n\t\t\t></meeting-info>\n\t\t\t<meeting-schedule\n\t\t\t\tv-if=\"meetingInfo && !scheduledMeeting\"\n\t\t\t\t:meet=\"meetingInfo\"\n\t\t\t\t:scheduler-id=\"item.attachedSchedulerId\"\n\t\t\t\t:http-client=\"httpClient\"\n\t\t\t\tstyle=\"flex: 1 1 0;\"\n\t\t\t\t@time-confirmed=\"timeConfirmed($event)\"\n\t\t\t></meeting-schedule>\n\t\t\t<v-container\n\t\t\t\tv-if=\"scheduledMeeting\"\n\t\t\t\tclass=\"font-14 text-left mx-5\"\n\t\t\t\tstyle=\"border: 1px solid var(--v-gray_30-base); border-radius: 4px\"\n\t\t\t>\n\t\t\t\t<v-row dense>\n\t\t\t\t\t<v-col cols=\"4\" class=\"brand-medium\">Meeting status</v-col>\n\t\t\t\t\t<v-col cols=\"8\" style=\"font-weight: 600\">{{ scheduledMeeting.meetingStatus }}</v-col>\n\t\t\t\t</v-row>\n\t\t\t\t<v-row dense>\n\t\t\t\t\t<v-col cols=\"4\" class=\"brand-medium\">Date/Time</v-col>\n\t\t\t\t\t<v-col cols=\"8\">{{\n\t\t\t\t\t\tDateTime.fromISO(scheduledMeeting.confirmedTime.start).toFormat('cccc') +\n\t\t\t\t\t\t\t' ' +\n\t\t\t\t\t\t\tDateTime.fromISO(scheduledMeeting.confirmedTime.start).toLocaleString(DateTime.DATETIME_MED) +\n\t\t\t\t\t\t\t' (' +\n\t\t\t\t\t\t\tSettings.defaultZone.name +\n\t\t\t\t\t\t\t')'\n\t\t\t\t\t}}</v-col>\n\t\t\t\t</v-row>\n\t\t\t\t<div v-if=\"scheduledMeeting.location.type === 'Zoom' && scheduledMeeting.zoomMeeting\">\n\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t<v-col cols=\"4\" class=\"brand-medium\">Join URL</v-col>\n\t\t\t\t\t\t<v-col cols=\"8\"\n\t\t\t\t\t\t\t><a :href=\"scheduledMeeting.zoomMeeting.join_url\" target=\"_blank\">{{\n\t\t\t\t\t\t\t\tscheduledMeeting.zoomMeeting.join_url\n\t\t\t\t\t\t\t}}</a></v-col\n\t\t\t\t\t\t>\n\t\t\t\t\t</v-row>\n\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t<v-col cols=\"4\" class=\"brand-medium\">Meeting Id</v-col>\n\t\t\t\t\t\t<v-col cols=\"8\">{{ scheduledMeeting.zoomMeeting.id }}</v-col>\n\t\t\t\t\t</v-row>\n\t\t\t\t\t<v-row dense v-if=\"scheduledMeeting.zoomMeeting.pstnPassword\">\n\t\t\t\t\t\t<v-col cols=\"4\" class=\"brand-medium\">Passcode</v-col>\n\t\t\t\t\t\t<v-col cols=\"8\">{{ scheduledMeeting.zoomMeeting.pstnPassword }}</v-col>\n\t\t\t\t\t</v-row>\n\t\t\t\t\t<v-row dense v-if=\"zoomDialIn\">\n\t\t\t\t\t\t<v-col cols=\"4\" class=\"brand-medium\">Dial in</v-col>\n\t\t\t\t\t\t<v-col cols=\"8\"\n\t\t\t\t\t\t\t>{{ zoomDialIn.number.replaceAll(' ', '') }} ({{ zoomDialIn.city }},\n\t\t\t\t\t\t\t{{ zoomDialIn.country_name }})</v-col\n\t\t\t\t\t\t>\n\t\t\t\t\t</v-row>\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"scheduledMeeting.microsoftEvent && scheduledMeeting.microsoftEvent.meetingLink\">\n\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t<v-col cols=\"4\" class=\"brand-medium\"></v-col>\n\t\t\t\t\t\t<v-col cols=\"8\" class=\"my-2\">\n\t\t\t\t\t\t\t<v-btn elevation=\"0\" @click=\"openTeamsMeeting(scheduledMeeting.microsoftEvent.meetingLink)\"\n\t\t\t\t\t\t\t\t><v-icon class=\"mr-1\">$microsoft</v-icon> Join Teams meeting</v-btn\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</v-col>\n\t\t\t\t\t</v-row>\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"scheduledMeeting.location.type === 'Google' && scheduledMeeting.googleMeeting\">\n\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t<v-col cols=\"4\" class=\"brand-medium\">Join URL</v-col>\n\t\t\t\t\t\t<v-col cols=\"8\"\n\t\t\t\t\t\t\t><a :href=\"scheduledMeeting.googleMeeting.hangoutLink\" target=\"_blank\">{{\n\t\t\t\t\t\t\t\tscheduledMeeting.googleMeeting.hangoutLink\n\t\t\t\t\t\t\t}}</a></v-col\n\t\t\t\t\t\t>\n\t\t\t\t\t</v-row>\n\t\t\t\t\t<v-row dense v-if=\"googleDialIn\">\n\t\t\t\t\t\t<v-col cols=\"4\" class=\"brand-medium\">Dial in</v-col>\n\t\t\t\t\t\t<v-col cols=\"8\">{{ googleDialIn.label }} ({{ googleDialIn.regionCode }})</v-col>\n\t\t\t\t\t</v-row>\n\t\t\t\t\t<v-row dense v-if=\"googleDialIn\">\n\t\t\t\t\t\t<v-col cols=\"4\" class=\"brand-medium\">Pin</v-col>\n\t\t\t\t\t\t<v-col cols=\"8\">{{ googleDialIn.pin }}</v-col>\n\t\t\t\t\t</v-row>\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"scheduledMeeting.location.type === 'PhoneIn'\">\n\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t<v-col cols=\"4\" class=\"brand-medium\">Invitee will call</v-col>\n\t\t\t\t\t\t<v-col cols=\"8\">{{ scheduledMeeting.location.phone }}</v-col>\n\t\t\t\t\t</v-row>\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"scheduledMeeting.location.type === 'PhoneOut'\">\n\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t<v-col cols=\"4\" class=\"brand-medium\">Call invitee at</v-col>\n\t\t\t\t\t\t<v-col cols=\"8\">{{ scheduledMeeting.formData.phone }}</v-col>\n\t\t\t\t\t</v-row>\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"scheduledMeeting.location.type === 'InPerson'\">\n\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t<v-col cols=\"4\" class=\"brand-medium\">Meet at</v-col>\n\t\t\t\t\t\t<v-col cols=\"8\">{{ scheduledMeeting.location.address }}</v-col>\n\t\t\t\t\t</v-row>\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"scheduledMeeting.meetingStatus !== 'Cancelled'\">\n\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t<v-col cols=\"12\">{{ scheduledMeeting.location.custom }}</v-col>\n\t\t\t\t\t</v-row>\n\t\t\t\t</div>\n\t\t\t\t<v-row dense v-if=\"scheduledMeeting.meetingStatus === 'Scheduled'\">\n\t\t\t\t\t<v-col cols=\"12\" class=\"mt-4 d-flex align-center justify-space-between gap-3\">\n\t\t\t\t\t\t<v-btn class=\"secondary-action\" style=\"flex:0 1 50%;\" @click=\"openLink(scheduledMeeting.cancelUrl)\"\n\t\t\t\t\t\t\t><span style=\"color: var(--v-error-base)\">Cancel meeting</span></v-btn\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<v-btn class=\"primary-action\" style=\"flex:0 1 50%\" @click=\"openLink(scheduledMeeting.rescheduleUrl)\"\n\t\t\t\t\t\t\t>Reschedule meeting</v-btn\n\t\t\t\t\t\t>\n\t\t\t\t\t</v-col>\n\t\t\t\t</v-row>\n\t\t\t</v-container>\n\t\t</div>\n\t\t<div v-else class=\"row-format centered\" style=\"height:200px; border: 1px solid var(--v-gray_20-base)\">\n\t\t\t<div class=\"font-gray_60 row-format align-center\">\n\t\t\t\t<v-icon class=\"material-symbols-rounded\" color=\"gray_60\">event</v-icon>\n\t\t\t\t<div>Please select an embedded meeting scheduler</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport axios from 'axios';\n\timport { DateTime, Settings } from 'luxon';\n\timport MeetingSchedule from '@/modules/agreements/schema/MeetingSchedule';\n\timport MeetingInfo from '@/modules/agreements/schema/MeetingInfo';\n\timport ResponsiveMixin from './ResponsiveMixin';\n\n\texport default {\n\t\tname: 'SchedulerEmbed',\n\n\t\tprops: ['agreement', 'item', 'isMobile', 'pageWidth'],\n\n\t\tmixins: [ResponsiveMixin],\n\n\t\tcomponents: { MeetingInfo, MeetingSchedule },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tDateTime: DateTime,\n\t\t\t\tSettings: Settings,\n\t\t\t\thttpClient: null,\n\t\t\t\tmeetingInfo: null,\n\t\t\t\tstart: DateTime.now(),\n\t\t\t\tend: DateTime.now().endOf('month'),\n\t\t\t\tconfirmedTime: null,\n\t\t\t\tscheduledTimezone: Settings.defaultZone.name,\n\t\t\t\tscheduledLocale: this.$store.state.locale,\n\t\t\t\tscheduledMeeting: null,\n\t\t\t\tselectedLocation: null,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.scheduledMeeting = this.item.scheduledMeeting;\n\t\t\tthis.selectedLocation = this.scheduledMeeting?.location;\n\n\t\t\tthis.httpClient = axios.create({\n\t\t\t\tbaseURL: this.$store.getters.getPodUrl,\n\t\t\t\twithCredentials: true,\n\t\t\t});\n\t\t\tif (this.item.attachedSchedulerId) {\n\t\t\t\tthis.getMeetingInfo();\n\t\t\t}\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tfinalize: function() {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tif (!this.confirmedTime) {\n\t\t\t\t\t\tdocument.getElementById(this.item.id).scrollIntoView({ block: 'start', behavior: 'smooth' });\n\t\t\t\t\t\tdocument.getElementById(this.item.id).classList.add('red-border');\n\t\t\t\t\t\treject();\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t\tdocument.getElementById(this.item.id).classList.remove('red-border');\n\t\t\t\t\tthis.item.confirmedTime = this.confirmedTime;\n\t\t\t\t\tthis.item.scheduledTimezone = this.scheduledTimezone;\n\t\t\t\t\tthis.item.scheduledLocale = this.scheduledLocale;\n\t\t\t\t\tthis.item.location = this.selectedLocation;\n          resolve();\n\t\t\t\t\treturn true;\n\t\t\t\t});\n\t\t\t},\n\n\t\t\ttimeConfirmed: function(slot) {\n\t\t\t\tthis.confirmedTime = slot;\n\t\t\t},\n\n\t\t\topenTeamsMeeting: function(url) {\n\t\t\t\twindow.open(url, '_blank');\n\t\t\t},\n\n\t\t\topenLink: function(url) {\n\t\t\t\twindow.open(url, '_blank');\n\t\t\t},\n\n\t\t\tgetMeetingInfo: function() {\n\t\t\t\tlet params = {\n\t\t\t\t\turlPath: this.agreement.account.uniqueUrlPath,\n\t\t\t\t\tmeetingId: this.item.attachedSchedulerId,\n\t\t\t\t\tstart: this.start.toISODate(),\n\t\t\t\t\tend: this.end.toISODate(),\n\t\t\t\t};\n\n\t\t\t\tthis.httpClient\n\t\t\t\t\t.get(`/api/meeting/info`, { params: params })\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tthis.meetingInfo = res.data;\n\t\t\t\t\t\tif(!this.selectedLocation) {\n\t\t\t\t\t\t\tthis.selectedLocation = this.meetingInfo.locations[0];\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => this.$store.commit('error', err.response.data.message));\n\t\t\t},\n\n\t\t\tcheckNull: function(val) {\n\t\t\t\treturn val ? val : '';\n\t\t\t},\n\n\t\t\ttimeUnitTitleCase: function(str) {\n\t\t\t\treturn str.substring(0, 1) + str.substring(1).toLowerCase();\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n\t\t\tattachedSchedulerId: function(val) {\n\t\t\t\tif (val) {\n\t\t\t\t\tthis.getMeetingInfo();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tlocationDesc: function() {\n\t\t\t\tswitch (this.selectedLocation?.type) {\n\t\t\t\t\tcase 'Google':\n\t\t\t\t\t\treturn 'Google Meet';\n\t\t\t\t\tcase 'Microsoft':\n\t\t\t\t\t\treturn 'Microsoft Teams';\n\t\t\t\t\tcase 'Zoom':\n\t\t\t\t\t\treturn 'Zoom';\n\t\t\t\t\tcase 'PhoneIn':\n\t\t\t\t\t\treturn 'Phone';\n\t\t\t\t\tcase 'PhoneOut':\n\t\t\t\t\t\treturn 'Phone';\n\t\t\t\t\tcase 'InPerson':\n\t\t\t\t\t\treturn 'In person';\n\t\t\t\t\tcase 'Custom':\n\t\t\t\t\t\treturn this.selectedLocation.custom;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\treturn 'Meeting location';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\ttokenMap: function() {\n\t\t\t\tlet result = new Map();\n\n\t\t\t\tif (this.meetingInfo) {\n\t\t\t\t\tresult.set('Meeting.Name', this.checkNull(this.meetingInfo.name));\n\t\t\t\t\tresult.set('Meeting.Duration', this.checkNull(this.meetingInfo.length.duration));\n\t\t\t\t\tresult.set('Meeting.Location', this.checkNull(this.selectedLocation?.type));\n\t\t\t\t\tresult.set('Meeting.TimeUnit', this.checkNull(this.timeUnitTitleCase(this.meetingInfo.length.timeUnit)));\n\t\t\t\t\tresult.set('Meeting.ScheduledTime', this.checkNull(this.formatConfirmedTime));\n\t\t\t\t\tresult.set('Meeting.AccountName', this.checkNull(this.meetingInfo.account.accountName));\n\t\t\t\t\tresult.set('Meeting.OwnerName', this.checkNull(this.meetingInfo.ownerName));\n\t\t\t\t\tresult.set('Meeting.LocationInfo', this.checkNull(this.locationDesc));\n\t\t\t\t\tresult.set('Meeting.TimeZone', this.checkNull(Settings.defaultZone.name));\n\t\t\t\t\tresult.set('Meeting.Description', this.checkNull(this.meetingInfo.description));\n\t\t\t\t\tresult.set(\n\t\t\t\t\t\t'Icons.Clock',\n\t\t\t\t\t\t`<span><i class=\"v-icon notranslate material-icons\" aria-hidden=\"true\">schedule</i></span>`\n\t\t\t\t\t);\n\t\t\t\t\tresult.set(\n\t\t\t\t\t\t'Icons.Mic',\n\t\t\t\t\t\t`<span><i class=\"v-icon notranslate material-icons\" aria-hidden=\"true\">mic</i></span>`\n\t\t\t\t\t);\n\t\t\t\t\tresult.set(\n\t\t\t\t\t\t'Icons.Event',\n\t\t\t\t\t\tthis.confirmedTime\n\t\t\t\t\t\t\t? `<span><i class=\"v-icon notranslate material-icons\" aria-hidden=\"true\">event</i></span>`\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t);\n\t\t\t\t\tresult.set(\n\t\t\t\t\t\t'Icons.Public',\n\t\t\t\t\t\t`<span><i class=\"v-icon notranslate material-icons\" aria-hidden=\"true\">public</i></span>`\n\t\t\t\t\t);\n\t\t\t\t\tresult.set(\n\t\t\t\t\t\t'Icons.Info',\n\t\t\t\t\t\t`<span><i class=\"v-icon notranslate material-icons\" aria-hidden=\"true\">info</i></span>`\n\t\t\t\t\t);\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\tformatConfirmedTime: function() {\n\t\t\t\tif (this.confirmedTime) {\n\t\t\t\t\tlet s = DateTime.fromISO(this.confirmedTime.start);\n\t\t\t\t\tlet e = DateTime.fromISO(this.confirmedTime.end);\n\n\t\t\t\t\treturn (\n\t\t\t\t\t\ts.toLocaleString(DateTime.TIME_SIMPLE) +\n\t\t\t\t\t\t' - ' +\n\t\t\t\t\t\te.toLocaleString(DateTime.TIME_SIMPLE) +\n\t\t\t\t\t\t', ' +\n\t\t\t\t\t\ts.toLocaleString({ weekday: 'short', month: 'short', day: 'numeric', year: 'numeric' })\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tattachedSchedulerId: function() {\n\t\t\t\treturn this.item.attachedSchedulerId;\n\t\t\t},\n\n\t\t\tzoomDialIn: function() {\n\t\t\t\tif (\n\t\t\t\t\tthis.scheduledMeeting &&\n\t\t\t\t\tthis.scheduledMeeting.zoomMeeting &&\n\t\t\t\t\tthis.scheduledMeeting.zoomMeeting.settings &&\n\t\t\t\t\tthis.scheduledMeeting.zoomMeeting.settings.global_dial_in_numbers &&\n\t\t\t\t\tthis.scheduledMeeting.zoomMeeting.settings.global_dial_in_numbers.length\n\t\t\t\t) {\n\t\t\t\t\treturn this.scheduledMeeting.zoomMeeting.settings.global_dial_in_numbers[0];\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tgoogleDialIn: function() {\n\t\t\t\tif (this.scheduledMeeting && this.scheduledMeeting.googleMeeting) {\n\t\t\t\t\treturn this.scheduledMeeting.googleMeeting.entryPoints.find((e) => e.entryPointType === 'phone');\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcancelUrl: function() {\n\t\t\t\tif (this.scheduledMeeting) {\n\t\t\t\t\treturn `${this.fullMeetingLink}?id=${this.id}&action=cancel&inFrame=true`;\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\trescheduleUrl: function() {\n\t\t\t\tif (this.scheduledMeeting) {\n\t\t\t\t\treturn `${this.fullMeetingLink}?id=${this.id}&action=change&inFrame=true`;\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tschedulerStyle: function() {\n\t\t\t\tlet style = `padding: ${this.item.padding}px; margin-top: ${this.item.pt}px; margin-bottom: ${\n\t\t\t\t\tthis.item.pb\n\t\t\t\t}px; margin-left: ${this.padding(this.item.pl)}px; margin-right: ${this.padding(this.item.pr)}px; `;\n\n\t\t\t\tif (this.item.borderColor) {\n\t\t\t\t\tstyle = style + `border-color: ${this.item.borderColor}; `;\n\t\t\t\t}\n\t\t\t\tif (this.item.borderWidth) {\n\t\t\t\t\tstyle = style + `border-style: solid; border-width: ${this.item.borderWidth}px; `;\n\t\t\t\t}\n\t\t\t\tif (this.item.borderRadius) {\n\t\t\t\t\tstyle = style + `border-radius: ${this.item.borderRadius}px; `;\n\t\t\t\t}\n\t\t\t\treturn style;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SchedulerEmbed.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SchedulerEmbed.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SchedulerEmbed.vue?vue&type=template&id=6941ddf1&scoped=true\"\nimport script from \"./SchedulerEmbed.vue?vue&type=script&lang=js\"\nexport * from \"./SchedulerEmbed.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6941ddf1\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VIcon,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{style:(`width:100%; padding-left: ${_vm.padding(_vm.item.pl)}px; padding-right: ${_vm.padding(_vm.item.pr)}px; padding-bottom: ${_vm.item.pb}px; padding-top: ${_vm.item.pt}px;`),attrs:{\"id\":_vm.item.id},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('table',{staticClass:\"text-left payment-plan-table\",style:(`--v-table-border: ${_vm.item.borderColor}; --v-table-padding: ${_vm.item.padding}px; ${_vm.wrapperStyle}; --v-table-border-width: ${_vm.item.borderWidth}px`)},[_c('tbody',_vm._l((_vm.item.scheduledPayments),function(payment,index){return _c('tr',{key:payment.id,style:(`height: 1px;`)},[_c('td',{staticClass:\"text-left font-14\",attrs:{\"colspan\":(payment.triggerType === 'Date'  && payment.triggerDate) || payment.triggerType === 'RelativeDate' ? 1 : 2}},[_vm._v(_vm._s(index + 1)+\") \"+_vm._s(payment.label))]),(payment.triggerType === 'Date' && payment.triggerDate)?_c('td',{staticClass:\"text-center font-14\"},[_vm._v(\" \"+_vm._s(_vm.DateTime.fromISO(payment.triggerDate).toLocaleString(_vm.DateTime.DATE_MED))+\" \")]):_vm._e(),(payment.triggerType === 'RelativeDate')?_c('td',{staticClass:\"text-center font-14\"},[_vm._v(\" \"+_vm._s(_vm.calculateRelativeDate(payment.relativeTriggerDate).toLocaleString(_vm.DateTime.DATE_MED))+\" \")]):_vm._e(),_c('td',{staticClass:\"text-right font-14\"},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(payment.calculatedAmount, true, true, _vm.agreement.currency))+\" \")])])}),0)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div :id=\"item.id\" @click=\"$emit('click', $event)\" :style=\"`width:100%; padding-left: ${padding(item.pl)}px; padding-right: ${padding(item.pr)}px; padding-bottom: ${item.pb}px; padding-top: ${item.pt}px;`\">\n\t\t<table class=\"text-left payment-plan-table\" :style=\"`--v-table-border: ${item.borderColor}; --v-table-padding: ${item.padding}px; ${wrapperStyle}; --v-table-border-width: ${item.borderWidth}px`\">\n\t\t\t<tbody>\n\t\t\t\t<tr\n\t\t\t\t\tv-for=\"(payment, index) in item.scheduledPayments\"\n\t\t\t\t\t:key=\"payment.id\"\n\t\t\t\t\t:style=\"`height: 1px;`\"\n\t\t\t\t>\n\t\t\t\t\t<td class=\"text-left font-14\" :colspan=\"(payment.triggerType === 'Date'  && payment.triggerDate) || payment.triggerType === 'RelativeDate' ? 1 : 2\">{{ index + 1 }}) {{ payment.label }}</td>\n\t\t\t\t\t<td class=\"text-center font-14\" v-if=\"payment.triggerType === 'Date' && payment.triggerDate\">\n\t\t\t\t\t\t{{DateTime.fromISO(payment.triggerDate).toLocaleString(DateTime.DATE_MED)}}\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=\"text-center font-14\" v-if=\"payment.triggerType === 'RelativeDate'\">\n\t\t\t\t\t\t{{calculateRelativeDate(payment.relativeTriggerDate).toLocaleString(DateTime.DATE_MED)}}\n\t\t\t\t\t</td>\n\t\t\t\t\t<td class=\"text-right font-14\">\n\t\t\t\t\t\t{{ $formatters.dollars(payment.calculatedAmount, true, true, agreement.currency) }}\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</template>\n\n<script>\n\timport { DateTime } from 'luxon';\n\timport AgreementMixin from \"@/modules/agreements/schema/AgreementMixin\";\n\timport ResponsiveMixin from \"./ResponsiveMixin\";\n\n\texport default {\n\t\tname: 'PaymentPlan',\n\n\t\tprops: ['agreement', 'item','isMobile','pageWidth'],\n\n\t\tmixins: [AgreementMixin, ResponsiveMixin],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tDateTime: DateTime,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tcalculateRelativeDate: function(relativeDate){\n\t\t\t\tlet date = this.agreement.dateCompleted ? DateTime.fromISO(this.agreement.dateCompleted) : DateTime.now();\n\t\t\t\tif(relativeDate.timeUnit === 'DAYS'){\n\t\t\t\t\treturn date.plus({days:relativeDate.duration});\n\t\t\t\t}else if(relativeDate.timeUnit === 'WEEKS'){\n\t\t\t\t\treturn date.plus({weeks:relativeDate.duration});\n\t\t\t\t}else if(relativeDate.timeUnit === 'MONTHS'){\n\t\t\t\t\treturn date.plus({months:relativeDate.duration});\n\t\t\t\t}else{\n\t\t\t\t\treturn date;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcalculateTotals: function(){\n\t\t\t\tlet totalPercentage = 0;\n\t\t\t\tlet total = this.totalAmount;\n\n\t\t\t\tfor(let i=0; i < this.item.scheduledPayments.length; i++){\n\t\t\t\t\tlet p = this.item.scheduledPayments[i];\n\n\t\t\t\t\tif(total === 0){\n\t\t\t\t\t\tp.calculatedPercentage = 0;\n\t\t\t\t\t\tp.calculatedAmount = 0;\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\tif(i === (this.item.scheduledPayments.length -1)){\n\t\t\t\t\t\tp.calculatedPercentage = this.round(100 - totalPercentage, 6);\n\t\t\t\t\t\tp.calculatedAmount = this.round(total * (p.calculatedPercentage / 100), 2);\n\t\t\t\t\t}else{\n\t\t\t\t\t\tif (p.amountType === 'Percentage') {\n\t\t\t\t\t\t\tp.calculatedPercentage = this.round(p.amount, 6);\n\t\t\t\t\t\t\tp.calculatedAmount = this.round(total * (p.amount / 100), 2);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tp.calculatedAmount = this.round(p.calculatedAmount, 2);\n\t\t\t\t\t\t\tp.calculatedPercentage = this.round((p.amount / total) * 100, 6);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tp.calculatedAmount = this.round(total * (p.calculatedPercentage / 100), 2);\n\t\t\t\t\ttotalPercentage += p.calculatedPercentage;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tround: function(d, scale) {\n\t\t\t\tconst factor = Math.pow(10, scale);\n\t\t\t\treturn Math.round(d * factor) / factor;\n\t\t\t}\n\t\t},\n\n\t\twatch: {\n\t\t\ttotalAmount: {\n\t\t\t\timmediate: true,\n\t\t\t\thandler: function(){\n\t\t\t\t\tthis.calculateTotals();\n\t\t\t\t}\n\t\t\t},\n\t\t\titem: {\n\t\t\t\tdeep: true,\n\t\t\t\thandler: function(){\n\t\t\t\t\tthis.calculateTotals();\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tcomputed: {\n\t\t\ttotalAmount: function(){\n\t\t\t\tlet totalUpFront = this.getTotalUpFront(this.agreement,false);\n\t\t\t\treturn totalUpFront.totalTax + totalUpFront.totalPreTax;\n\t\t\t},\n\n\t\t\twrapperStyle: function() {\n\t\t\t\tlet style = ``;\n\n\t\t\t\tif (this.item.backgroundColor) {\n\t\t\t\t\tstyle = style + `background-color: ${this.item.backgroundColor}; `;\n\t\t\t\t}\n\n\t\t\t\treturn style;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.payment-plan-table {\n\t\twidth: 100%;\n\t\ttext-align: left;\n\t\t//border-collapse: collapse;\n\n\t\t\tborder-radius: 4px;\n\t\t\tborder:  var(--v-table-border-width) solid var(--v-table-border);\n\n\t\ttbody {\n\t\t\ttr {\n\t\t\t\ttd {\n\t\t\t\t\tvertical-align: top;\n\t\t\t\t\ttext-align: right;\n\t\t\t\t\tborder-bottom: var(--v-table-border-width) solid var(--v-table-border);\n\t\t\t\t\tpadding: var(--v-table-padding);\n\t\t\t\t}\n\n\t\t\t\ttd:nth-child(1) {\n\t\t\t\t\tvertical-align: middle;\n\t\t\t\t\ttext-align: left;\n\t\t\t\t}\n\t\t\t}\n\t\t\ttr:last-child {\n\t\t\t\ttd {\n\t\t\t\t\tborder-bottom: none;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentPlan.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentPlan.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PaymentPlan.vue?vue&type=template&id=2ca18dfc&scoped=true\"\nimport script from \"./PaymentPlan.vue?vue&type=script&lang=js\"\nexport * from \"./PaymentPlan.vue?vue&type=script&lang=js\"\nimport style0 from \"./PaymentPlan.vue?vue&type=style&index=0&id=2ca18dfc&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2ca18dfc\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{style:(_vm.paymentStyle),attrs:{\"id\":_vm.item.id},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[(_vm.showPaymentElement)?_c('div',[_c('div',{attrs:{\"id\":\"payment-element\"}}),_vm._m(0)]):_c('div',{staticClass:\"row-format text-left align-center font-14\"},[_c('div',{staticStyle:{\"text-transform\":\"capitalize\"}},[_vm._v(\" \"+_vm._s(_vm.item.stripePaymentIntent.status)+\" - \"+_vm._s(this.$formatters.dollars(_vm.item.stripePaymentIntent.amount / 100, true, true, _vm.item.stripePaymentIntent.currency))+\" - \"+_vm._s(_vm.item.stripePaymentIntent.clientPaymentMethod.type)+\" - \"+_vm._s(_vm.item.stripePaymentIntent.clientPaymentMethod.label)+\" - \"+_vm._s(_vm.item.stripePaymentIntent.clientPaymentMethod.last4)),_c('br'),_vm._v(\" \"+_vm._s(_vm.DateTime.fromISO(_vm.item.stripePaymentIntent.timestamp).toLocaleString(_vm.DateTime.DATETIME_FULL))),_c('br'),_c('a',{attrs:{\"href\":`/invoice/${_vm.agreement.invoiceId}`,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.agreement.invoiceNumberFormatted))])]),_vm._m(1)])])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-left mt-3 row-format gap-1 align-center\"},[_c('div',{staticClass:\"ml-auto font-14 font-gray_80\"},[_vm._v(\"Pay securely with\")]),_c('img',{attrs:{\"src\":\"/images/invoices/stripe-logo.svg\",\"alt\":\"Stripe Logo\",\"width\":\"50\"}})])\n},function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"ml-auto row-format gap-1 align-center\"},[_c('div',{staticClass:\"ml-auto font-14 font-gray_80\"},[_vm._v(\"Pay securely with\")]),_c('img',{attrs:{\"src\":\"/images/invoices/stripe-logo.svg\",\"alt\":\"Stripe Logo\",\"width\":\"50\"}})])\n}]\n\nexport { render, staticRenderFns }","<template>\n\t<div @click=\"$emit('click', $event)\" :style=\"paymentStyle\" :id=\"item.id\">\n\t\t<div v-if=\"showPaymentElement\">\n\t\t\t<div id=\"payment-element\"></div>\n\t\t\t<div class=\"text-left mt-3 row-format gap-1 align-center\">\n\t\t\t\t<div class=\"ml-auto font-14 font-gray_80\">Pay securely with</div>\n\t\t\t\t<img src=\"/images/invoices/stripe-logo.svg\" alt=\"Stripe Logo\" width=\"50\" />\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-else class=\"row-format text-left align-center font-14\">\n\t\t\t<div style=\"text-transform: capitalize;\">\n\t\t\t\t{{ item.stripePaymentIntent.status }} -\n\t\t\t\t{{\n\t\t\t\t\tthis.$formatters.dollars(item.stripePaymentIntent.amount / 100, true, true, item.stripePaymentIntent.currency)\n\t\t\t\t}}\n\t\t\t\t- {{ item.stripePaymentIntent.clientPaymentMethod.type }} -\n\t\t\t\t{{ item.stripePaymentIntent.clientPaymentMethod.label }} - {{ item.stripePaymentIntent.clientPaymentMethod.last4\n\t\t\t\t}}<br />\n\t\t\t\t{{ DateTime.fromISO(item.stripePaymentIntent.timestamp).toLocaleString(DateTime.DATETIME_FULL) }}<br>\n        <a :href=\"`/invoice/${agreement.invoiceId}`\" target=\"_blank\">{{agreement.invoiceNumberFormatted}}</a>\n\t\t\t</div>\n\t\t\t<div class=\"ml-auto row-format gap-1 align-center\">\n\t\t\t\t<div class=\"ml-auto font-14 font-gray_80\">Pay securely with</div>\n\t\t\t\t<img src=\"/images/invoices/stripe-logo.svg\" alt=\"Stripe Logo\" width=\"50\" />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport chroma from 'chroma-js';\n\timport axios from 'axios';\n\timport qs from 'qs';\n\timport { DateTime } from 'luxon';\n\timport ResponsiveMixin from \"./ResponsiveMixin\";\n\n\texport default {\n\t\tname: 'PaymentV2',\n\n\t\tprops: ['agreement', 'item', 'tokens','isMobile','pageWidth'],\n\n\t\tcomponents: {},\n\n\t\tmixins: [ResponsiveMixin],\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tDateTime: DateTime,\n\t\t\t\tshowPaymentElement: true,\n\t\t\t\tstripe: null,\n\t\t\t\telements: null,\n\t\t\t\tpaymentElement: null,\n\t\t\t\thttpClient: null,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.setupStripePayment();\n\n\t\t\tthis.httpClient = axios.create({\n\t\t\t\tbaseURL: this.$store.getters.getPodUrl,\n\t\t\t\twithCredentials: true,\n\t\t\t});\n\n\t\t\tthis.$store.state.agreementPaymentElement = this;\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tasync setupStripePayment() {\n\t\t\t\tif (this.agreement.account.stripeAccountId) {\n\t\t\t\t\tthis.stripe = window.Stripe(process.env.VUE_APP_STRIPE_KEY, {\n\t\t\t\t\t\tstripeAccount: this.agreement.account.stripeAccountId,\n\t\t\t\t\t});\n\n\t\t\t\t\tif (this.item.stripePaymentIntent) {\n\t\t\t\t\t\tconst { paymentIntent } = await this.stripe.retrievePaymentIntent(\n\t\t\t\t\t\t\tthis.item.stripePaymentIntent.clientSecret\n\t\t\t\t\t\t);\n\t\t\t\t\t\tthis.item.stripePaymentIntent.status = paymentIntent.status;\n\t\t\t\t\t\tthis.item.stripePaymentIntent.amount = paymentIntent.amount;\n\n\t\t\t\t\t\tif (paymentIntent.status !== 'requires_payment_method') {\n\t\t\t\t\t\t\tthis.showPaymentElement = false;\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tconst options = {\n\t\t\t\t\t\tpaymentMethodCreation: 'manual',\n\t\t\t\t\t\tfonts: [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tcssSrc: `https://fonts.googleapis.com/css2?family=${this.agreement.styles.body.fontFamily}:wght@400;700&display=swap`,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t],\n\t\t\t\t\t\tappearance: {\n\t\t\t\t\t\t\ttheme: this.stripeTheme,\n\t\t\t\t\t\t\tvariables: {\n\t\t\t\t\t\t\t\tfontFamily: this.agreement.styles.body.fontFamily,\n\t\t\t\t\t\t\t\tfontSizeBase: this.agreement.styles.body.fontSize + 'px',\n\t\t\t\t\t\t\t\tcolorBackground: this.item.backgroundColor,\n\t\t\t\t\t\t\t\tcolorText: this.stripeContrast,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\n\t\t\t\t\tif (this.item.stripePaymentIntent) {\n\t\t\t\t\t\toptions.clientSecret = this.item.stripePaymentIntent.clientSecret;\n\t\t\t\t\t} else {\n\t\t\t\t\t\toptions.mode = 'payment';\n\t\t\t\t\t\toptions.amount = 100;\n\t\t\t\t\t\toptions.currency = this.agreement.currency ? this.agreement.currency.toLowerCase() : 'usd';\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.elements = this.stripe.elements(options);\n\t\t\t\t\tthis.paymentElement = this.elements.create('payment');\n\t\t\t\t\tthis.paymentElement.mount('#payment-element');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tfinalize() {},\n\n\t\t\treset: function() {},\n\n\t\t\tcalculateAdditionalFee: function(feeDecimal, netAmount) {\n\t\t\t\tlet totalInvoice = netAmount / (1 - feeDecimal);\n\t\t\t\treturn totalInvoice - netAmount;\n\t\t\t},\n\n\t\t\tasync processPayment() {\n\t\t\t\ttry {\n\t\t\t\t\tconsole.log('Processing payment', this.item.stripePaymentIntent);\n\n\t\t\t\t\tif (this.item.stripePaymentIntent.status === 'requires_payment_method') {\n\t\t\t\t\t\tlet submitError = await this.elements.submit();\n\n\t\t\t\t\t\tif (submitError.message) {\n\t\t\t\t\t\t\tthis.$store.commit('error', submitError.message);\n\t\t\t\t\t\t\tthis.errorState();\n\t\t\t\t\t\t\treturn this.item.stripePaymentIntent;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst paymentMethodResult = await this.stripe.createPaymentMethod({ elements: this.elements });\n\n\t\t\t\t\t\tif (paymentMethodResult.error) {\n\t\t\t\t\t\t\tthis.$store.commit('error', paymentMethodResult.message);\n\t\t\t\t\t\t\tthis.errorState();\n\t\t\t\t\t\t\treturn this.item.stripePaymentIntent;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet amount = Number(this.tokens.get('UpFront.UnformattedTotal'));\n\n\t\t\t\t\t\tlet cardTypes = ['apple_pay', 'google_pay', 'microsoft_pay', 'card'];\n\n\t\t\t\t\t\tif (cardTypes.includes(paymentMethodResult.paymentMethod.type)) {\n\t\t\t\t\t\t\tif (this.agreement.client.whoPaysCardFees === 'Client') {\n                amount = amount + this.calculateAdditionalFee(this.agreement.account.baseCardFeeRate,amount);\n\t\t\t\t\t\t\t} else if (this.agreement.client.whoPaysCardFees === 'Split') {\n                amount = amount + this.calculateAdditionalFee(this.agreement.account.splitCardFeeRate,amount);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tlet data = qs.stringify({\n\t\t\t\t\t\t\tid: this.agreement.id,\n\t\t\t\t\t\t\tamount: amount,\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tlet result = await this.httpClient.post(`/api/docs/agreement/paymentIntent`, data, {\n\t\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tthis.item.stripePaymentIntent = result.data;\n\n\t\t\t\t\t\tconst { error, paymentIntent } = await this.stripe.confirmPayment({\n\t\t\t\t\t\t\telements: this.elements,\n\t\t\t\t\t\t\tredirect: 'if_required',\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tif (error) {\n\t\t\t\t\t\t\tthis.$store.commit('error', error.message);\n\t\t\t\t\t\t\tthis.errorState();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tconsole.log(paymentIntent);\n\t\t\t\t\t\t\tthis.item.stripePaymentIntent.status = paymentIntent.status;\n\t\t\t\t\t\t\tthis.item.stripePaymentIntent.amount = paymentIntent.amount;\n\t\t\t\t\t\t\tthis.goodState();\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tthis.$store.commit('error', err.response.data.message);\n\t\t\t\t\tthis.errorState();\n\t\t\t\t}\n\n\t\t\t\treturn this.item.stripePaymentIntent;\n\t\t\t},\n\n\t\t\terrorState: function() {\n\t\t\t\tdocument.getElementById(this.item.id).scrollIntoView({ block: 'start', behavior: 'smooth' });\n\t\t\t\tdocument.getElementById(this.item.id).classList.add('red-border');\n\t\t\t},\n\n\t\t\tgoodState: function() {\n\t\t\t\tdocument.getElementById(this.item.id).classList.remove('red-border');\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tstripeContrast: function() {\n\t\t\t\tlet black = chroma.contrast(this.item.backgroundColor, '#000000');\n\t\t\t\tlet white = chroma.contrast(this.item.backgroundColor, '#FFFFFF');\n\t\t\t\tif (black > white) {\n\t\t\t\t\treturn '#3C3F44';\n\t\t\t\t} else {\n\t\t\t\t\treturn '#FFFFFF';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tpaymentStyle: function() {\n\t\t\t\tlet style = `width: ${this.item.scale}%; padding: ${this.item.padding}px; margin-top: ${this.item.pt}px; margin-bottom: ${this.item.pb}px; margin-left: ${this.padding(this.item.pl)}px; margin-right: ${this.padding(this.item.pr)}px; `;\n\t\t\t\tif (this.item.backgroundColor) {\n\t\t\t\t\tstyle = style + `background-color: ${this.item.backgroundColor}; `;\n\t\t\t\t}\n\t\t\t\tif (this.item.borderColor) {\n\t\t\t\t\tstyle = style + `border-color: ${this.item.borderColor}; `;\n\t\t\t\t}\n\t\t\t\tif (this.item.borderWidth) {\n\t\t\t\t\tstyle = style + `border-style: solid; border-width: ${this.item.borderWidth}px; `;\n\t\t\t\t}\n\t\t\t\tif (this.item.borderRadius) {\n\t\t\t\t\tstyle = style + `border-radius: ${this.item.borderRadius}px; `;\n\t\t\t\t}\n\t\t\t\treturn style;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentV2.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentV2.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PaymentV2.vue?vue&type=template&id=905358aa&scoped=true\"\nimport script from \"./PaymentV2.vue?vue&type=script&lang=js\"\nexport * from \"./PaymentV2.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"905358aa\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_vm._m(0),_vm._l((_vm.schemaTypes),function(category,index){return _c('div',{key:index,staticClass:\"mb-3\",staticStyle:{\"width\":\"100%\"}},[_c('div',{staticClass:\"text-left font-14 pb-3\"},[_vm._v(_vm._s(category.label))]),_c('div',{staticClass:\"row-format flex-wrap gap-2\"},_vm._l((category.types),function(schema){return _c('div',{key:schema.type,class:`row-format schema-item align-start px-3 py-2 text-left ${_vm.disableDrag ? 'drag-disabled' : 'drag-enabled'}`,attrs:{\"id\":schema.type,\"draggable\":!_vm.disableDrag},on:{\"click\":function($event){_vm.disableDrag ? _vm.$emit('selected',schema) : null},\"dragstart\":function($event){return _vm.$emit('dragstart', $event)}}},[_c('div',{staticClass:\"font-14\"},[_vm._v(_vm._s(schema.label))]),_c('v-icon',{staticClass:\"material-symbols-outlined ml-auto\",attrs:{\"color\":\"black\",\"size\":\"22\"}},[_vm._v(_vm._s(schema.icon))])],1)}),0)])})],2)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"column-format pt-1 pb-2 text-left\"},[_c('div',{staticClass:\"brand-bold font-18\"},[_vm._v(\"Elements\")]),_c('div',{staticClass:\"font-14 font-gray_80\"},[_vm._v(\"Click or drag into your document\")])])\n}]\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<div class=\"column-format pt-1 pb-2 text-left\">\n\t\t\t<div class=\"brand-bold font-18\">Elements</div>\n\t\t\t<div class=\"font-14 font-gray_80\">Click or drag into your document</div>\n\t\t</div>\n\t\t<div v-for=\"(category, index) in schemaTypes\" :key=\"index\" style=\"width:100%;\" class=\"mb-3\">\n\t\t\t<div class=\"text-left font-14 pb-3\">{{ category.label }}</div>\n\t\t\t<div class=\"row-format flex-wrap gap-2\">\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"schema in category.types\"\n\t\t\t\t\t:key=\"schema.type\"\n\t\t\t\t\t:id=\"schema.type\"\n\t\t\t\t\t:draggable=\"!disableDrag\"\n\t\t\t\t\t@click=\"disableDrag ? $emit('selected',schema) : null\"\n\t\t\t\t\t:class=\"`row-format schema-item align-start px-3 py-2 text-left ${disableDrag ? 'drag-disabled' : 'drag-enabled'}`\"\n\t\t\t\t\t@dragstart=\"$emit('dragstart', $event)\"\n\t\t\t\t>\n\t\t\t\t\t<div class=\"font-14\">{{ schema.label }}</div>\n\t\t\t\t\t<v-icon class=\"material-symbols-outlined ml-auto\" color=\"black\" size=\"22\">{{ schema.icon }}</v-icon>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport AgreementSchemaTypes from '@/modules/agreements/AgreementSchemaTypes.json';\n\texport default {\n\t\tname: 'ElementTypes',\n\n\t\tprops: ['disableDrag','inContainer'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tschemaTypes: AgreementSchemaTypes,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.schema-item {\n\t\tbackground-color: var(--v-gray_20-base);\n\t\tborder: 1px solid var(--v-gray_20-base);\n\t\twidth: 154px;\n\t\theight: 64px;\n\t\tborder-radius: 4px;\n\t\t&:hover {\n\t\t\tbackground-color: var(--v-gray_20-base);\n\t\t\tborder: 1px solid var(--v-gray_50-base);\n\t\t}\n\t}\n\n\t.drag-enabled {\n\t\tcursor: grab;\n\t}\n\n\t.drag-disabled {\n\t\tcursor: pointer;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ElementTypes.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ElementTypes.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ElementTypes.vue?vue&type=template&id=48ed4d70&scoped=true\"\nimport script from \"./ElementTypes.vue?vue&type=script&lang=js\"\nexport * from \"./ElementTypes.vue?vue&type=script&lang=js\"\nimport style0 from \"./ElementTypes.vue?vue&type=style&index=0&id=48ed4d70&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"48ed4d70\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","<template>\n\t<div :class=\"`item ${active && !inContainer ? 'item-active' : 'item-inactive'}`\" :id=\"'itemRenderer-' + item.id\">\n\t\t<v-menu max-width=\"700\" v-if=\"!active && editMode && !inContainer\">\n\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t<div class=\"line-container\">\n\t\t\t\t\t<div class=\"line\"></div>\n\t\t\t\t\t<div class=\"icon\" v-on=\"on\">+</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<div style=\"background-color: var(--v-white-base)\" class=\"pl-3 pt-3 pb-3\">\n\t\t\t\t<element-types :disable-drag=\"true\" @selected=\"$emit('add-element-above', $event)\"></element-types>\n\t\t\t</div>\n\t\t</v-menu>\n\n\t\t<div class=\"builder-control\" v-if=\"active && !inContainer\">\n\t\t\t<v-btn icon text v-tippy=\"{ content: 'Move Up' }\" @click.stop=\"$emit('move-up')\">\n\t\t\t\t<v-icon size=\"20\" color=\"white\" class=\"material-symbols-outlined\">keyboard_arrow_up</v-icon>\n\t\t\t</v-btn>\n\t\t\t<v-btn icon text v-tippy=\"{ content: 'Move Down' }\" @click.stop=\"$emit('move-down')\">\n\t\t\t\t<v-icon size=\"20\" color=\"white\" class=\"material-symbols-outlined\">keyboard_arrow_down</v-icon>\n\t\t\t</v-btn>\n\t\t\t<v-btn icon text v-tippy=\"{ content: 'Delete section' }\" @click.stop=\"$emit('delete')\">\n\t\t\t\t<v-icon size=\"20\" color=\"white\" class=\"material-symbols-outlined\">delete</v-icon>\n\t\t\t</v-btn>\n\t\t</div>\n\t\t<component\n\t\t\tref=\"component\"\n\t\t\t:key=\"item.type\"\n\t\t\t:is=\"item.type\"\n\t\t\t:item=\"item\"\n\t\t\t:agreement=\"agreement\"\n\t\t\t:active=\"active\"\n\t\t\t:account-logo=\"accountLogo\"\n\t\t\t:index=\"index\"\n\t\t\t:tokens=\"tokens\"\n\t\t\t:mce-config=\"mceConfig\"\n\t\t\t:client-mode=\"clientMode\"\n\t\t\t:edit-mode=\"editMode\"\n\t\t\t:signer=\"signer\"\n\t\t\t:template-mode=\"templateMode\"\n\t\t\t:page-width=\"pageWidth\"\n\t\t\t:is-mobile=\"isMobile\"\n\t\t\t@click=\"$emit('click', $event)\"\n\t\t\t@delete=\"$emit('delete')\"\n\t\t\t@change=\"$emit('change', $event)\"\n\t\t\t@signed=\"handleSigned($event)\"\n\t\t\t@drag-enabled=\"$emit('drag-enabled', $event)\"\n\t\t\t@container-item-click=\"$emit('container-item-click', $event)\"\n\t\t\t@container-item-update=\"$emit('container-item-update', $event)\"\n\t\t\t@container-item-signed=\"$emit('container-item-signed', $event)\"\n\t\t\t@add-container-element=\"$emit('add-container-element', $event)\"\n\t\t></component>\n\t\t<v-menu max-width=\"700\" v-if=\"!active && editMode && !inContainer\">\n\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t<div class=\"line-container\">\n\t\t\t\t\t<div class=\"line\"></div>\n\t\t\t\t\t<div class=\"icon\" v-on=\"on\">+</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t\t<div style=\"background-color: var(--v-white-base)\" class=\"pl-3 pt-3 pb-3\">\n\t\t\t\t<element-types :disable-drag=\"true\" @selected=\"$emit('add-element-below', $event)\"></element-types>\n\t\t\t</div>\n\t\t</v-menu>\n\t</div>\n</template>\n\n<script>\n\timport AcceptButton from './AcceptButton';\n\timport Button from './Button';\n\timport Container from './Container';\n\timport Divider from './Divider';\n\timport Footer from './Footer';\n\timport FormEmbed from './FormEmbed';\n\timport Header from './Header';\n\timport ImageBlock from './ImageBlock';\n\timport Logo from './Logo';\n\timport Payment from './Payment';\n\timport Scheduler from './Scheduler';\n\timport Signature from './Signature';\n\timport Spacer from './Spacer';\n\timport Terms from './Terms';\n\timport TextBlock from './TextBlock';\n\timport Services from './Services';\n\timport SchedulerEmbed from './SchedulerEmbed';\n\timport PaymentPlan from './PaymentPlan';\n\timport PaymentV2 from './PaymentV2';\n\timport ElementTypes from './ElementTypes';\n\n\texport default {\n\t\tname: 'ItemRenderer',\n\n\t\tprops: [\n\t\t\t'agreement',\n\t\t\t'item',\n\t\t\t'active',\n\t\t\t'inContainer',\n\t\t\t'index',\n\t\t\t'tokens',\n\t\t\t'mceConfig',\n\t\t\t'editMode',\n\t\t\t'clientMode',\n\t\t\t'signer',\n\t\t\t'templateMode',\n\t\t\t'pageWidth',\n\t\t\t'isMobile',\n\t\t],\n\n\t\tcomponents: {\n\t\t\tElementTypes,\n\t\t\tAcceptButton,\n\t\t\tButton,\n\t\t\tContainer,\n\t\t\tServices,\n\t\t\tDivider,\n\t\t\tFooter,\n\t\t\tFormEmbed,\n\t\t\tSchedulerEmbed,\n\t\t\tHeader,\n\t\t\tImageBlock,\n\t\t\tLogo,\n\t\t\tPayment,\n\t\t\tScheduler,\n\t\t\tSignature,\n\t\t\tSpacer,\n\t\t\tTerms,\n\t\t\tTextBlock,\n\t\t\tPaymentPlan,\n\t\t\tPaymentV2,\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tfinalize: function() {\n\t\t\t\tif (typeof this.$refs.component.finalize === 'function') {\n\t\t\t\t\treturn this.$refs.component.finalize();\n\t\t\t\t} else {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\treset: function() {\n\t\t\t\tif (typeof this.$refs.component.reset === 'function') {\n\t\t\t\t\treturn this.$refs.component.reset();\n\t\t\t\t} else {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandleSigned: function(signer) {\n\t\t\t\tlet result = {\n\t\t\t\t\tsigner: signer,\n\t\t\t\t\tsignature: this.item,\n\t\t\t\t};\n\t\t\t\tthis.$emit('signed', result);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\taccountLogo: function() {\n\t\t\t\treturn this.agreement.account.accountLogo;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.item {\n\t\tposition: relative;\n\n\t\t.builder-control {\n\t\t\tposition: absolute;\n\t\t\twidth: 40px;\n\t\t\t//height: 120px;\n\t\t\ttop: 18px;\n\t\t\tleft: -40px;\n\t\t\tbackground: var(--v-primary-base);\n\t\t\t//box-shadow: 0px 1px 4px rgba(16, 17, 15, 0.2);\n\t\t\tborder-radius: 4px;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\talign-items: center;\n\t\t\tjustify-content: space-between;\n\t\t\tpadding: 8px 0;\n\t\t\t.v-btn:hover .v-icon {\n\t\t\t\tcolor: var(--v-white-base);\n\t\t\t}\n\t\t}\n\n\t\t.line-container {\n\t\t\tposition: relative;\n\t\t\twidth: 100%;\n\t\t\theight: 0; /* Adjust height as needed */\n\t\t\topacity: 0;\n\t\t\tcursor: pointer;\n\t\t\ttransition: all 300ms;\n\t\t}\n\n\t\t.line {\n\t\t\twidth: 100%;\n\t\t\theight: 1px;\n\t\t\tbackground-color: var(--v-gray_50-base);\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\ttransform: translateY(-50%);\n\t\t}\n\n\t\t.icon {\n\t\t\tposition: absolute;\n\t\t\ttop: 50%;\n\t\t\tleft: 50%;\n\t\t\ttransform: translate(-50%, -50%);\n\t\t\tbackground-color: var(--v-white-base);\n\t\t\tborder: 1px solid var(--v-gray_50-base);\n\t\t\tcolor: var(--v-gray_50-base);\n\t\t\tborder-radius: 50%;\n\t\t\twidth: 30px;\n\t\t\theight: 30px;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t}\n\n\t\t&:hover {\n\t\t\t.line-container {\n\t\t\t\theight: 40px;\n\t\t\t\topacity: 1;\n\t\t\t\ttransition: all 300ms;\n\t\t\t}\n\t\t}\n\t}\n\n\t.item-active {\n\t\tborder-radius: 4px;\n\t\tbox-shadow: 0 3px 15px rgba(0, 0, 0, 0.2);\n\t}\n\n\t.item-inactive {\n\t\tborder-radius: 4px;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemRenderer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemRenderer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ItemRenderer.vue?vue&type=template&id=55380502&scoped=true\"\nimport script from \"./ItemRenderer.vue?vue&type=script&lang=js\"\nexport * from \"./ItemRenderer.vue?vue&type=script&lang=js\"\nimport style0 from \"./ItemRenderer.vue?vue&type=style&index=0&id=55380502&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"55380502\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBtn,VIcon,VMenu})\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageBlock.vue?vue&type=style&index=0&id=f5a001bc&prod&scoped=true&lang=scss\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=1&id=fc9e95a2&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimerEventTable.vue?vue&type=style&index=0&id=c15a31e2&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Deliverable.vue?vue&type=style&index=0&id=0aa16663&prod&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"value\":_vm.dialog,\"width\":\"unset\",\"persistent\":true,\"overlay-color\":_vm.overlayColor,\"overlay-opacity\":_vm.overlayOpacity,\"fullscreen\":_vm.fullscreen,\"content-class\":\"basic-modal\"},on:{\"click:outside\":function($event){!_vm.persistent ? _vm.handleClose() : ''}}},[_vm._t(\"default\")],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<v-dialog\n\t\t:value=\"dialog\"\n\t\twidth=\"unset\"\n\t\t:persistent=\"true\"\n\t\t:overlay-color=\"overlayColor\"\n\t\t:overlay-opacity=\"overlayOpacity\"\n\t\t@click:outside=\"!persistent ? handleClose() : ''\"\n\t\t:fullscreen=\"fullscreen\"\n\t\tcontent-class=\"basic-modal\"\n\t>\n\t\t<slot></slot>\n\t</v-dialog>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'BasicModal',\n\t\tcomponents: {},\n\n\t\tprops: {\n\t\t\tdialog: { type: Boolean, default: false },\n\t\t\tfullscreen: { type: Boolean, default: false },\n\t\t\tpersistent: { type: Boolean, default: true },\n\t\t\toverlayColor: { type: String, default: 'modal_overlay' },\n\t\t\toverlayOpacity: { type: String, default: '0.8' },\n\t\t\tcloseOnEscape: { type: Boolean, default: true },\n\t\t},\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\talert: {},\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tif (this.closeOnEscape) {\n\t\t\t\tdocument.addEventListener('keydown', this.handleKeyDown);\n\t\t\t}\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t\tif (this.closeOnEscape) {\n\t\t\t\tdocument.removeEventListener('keydown', this.handleKeyDown);\n\t\t\t}\n\t\t},\n\n\t\tmethods: {\n\t\t\thandleClose: function() {\n\t\t\t\tthis.$emit('close');\n\t\t\t},\n\n\t\t\thandleKeyDown: function(e) {\n\t\t\t\tif (e.key === 'Escape') {\n\t\t\t\t\tthis.handleClose();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsetAlert: function(alert) {\n\t\t\t\tthis.alert = alert;\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n\t\t\tdialog(newVal) {\n\t\t\t\tif (this.closeOnEscape) {\n\t\t\t\t\tif (newVal) {\n\t\t\t\t\t\tdocument.addEventListener('keydown', this.handleKeyDown);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tdocument.removeEventListener('keydown', this.handleKeyDown);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.v-dialog.basic-modal {\n\t\tbackground-color: var(--v-white-base);\n\t}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BasicModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BasicModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./BasicModal.vue?vue&type=template&id=0ee124b5\"\nimport script from \"./BasicModal.vue?vue&type=script&lang=js\"\nexport * from \"./BasicModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./BasicModal.vue?vue&type=style&index=0&id=0ee124b5&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDialog } from 'vuetify/lib/components/VDialog';\ninstallComponents(component, {VDialog})\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterOption.vue?vue&type=style&index=0&id=2123a47b&prod&scoped=true&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineItems.vue?vue&type=style&index=1&id=a6eb0e3a&prod&scoped=true&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Divider.vue?vue&type=style&index=0&id=1ba1bc44&prod&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSelector.vue?vue&type=style&index=0&id=22337458&prod&lang=scss\"","import axios from 'axios';\nimport qs from 'qs';\nimport store from '@/store';\n\nconst getClient = () => {\n\tconst options = {\n\t\tbaseURL: process.env.VUE_APP_BASE_AUTH_URL,\n\t\twithCredentials: true,\n\t};\n\n\tconst client = axios.create(options);\n\treturn client;\n};\n\nexport default {\n\tauthWithCredentials(accountId, email, password){\n\t\tconst request = {\n\t\t\taccountId,\n\t\t\temail,\n\t\t\tpassword\n\t\t};\n\n\t\tconst config = {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\n\t\t\t},\n\t\t};\n\n\t\treturn getClient()\n\t\t\t.post('/auth/portal/credentials', qs.stringify(request), config)\n\t\t\t.then((response) => {\n\t\t\t\tconsole.log('Refresh Token: ' + response.data.refreshToken);\n\t\t\t\tlocalStorage.setItem(store.getters.getAccountId + '-RefreshToken', response.data.refreshToken);\n\t\t\t\treturn Promise.resolve(response.data);\n\t\t\t})\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\n\trequestMagicLink(accountId, email, baseUrl) {\n\t\tconst request = {\n\t\t\taccountId,\n\t\t\temail,\n\t\t\tbaseUrl,\n\t\t};\n\n\t\tconst config = {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\n\t\t\t},\n\t\t};\n\n\t\treturn getClient()\n\t\t\t.post('/auth/portal/requestMagicLink', qs.stringify(request), config)\n\t\t\t.then((response) => response.data)\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\n\tmagicToken(token) {\n\t\tconst request = {\n\t\t\ttoken,\n\t\t};\n\n\t\tconst config = {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\n\t\t\t},\n\t\t};\n\n\t\treturn getClient()\n\t\t\t.post('/auth/portal/magicToken', qs.stringify(request), config)\n\t\t\t.then((response) => {\n\t\t\t\tconsole.log('Refresh Token: ' + response.data.refreshToken);\n\t\t\t\tlocalStorage.setItem(store.getters.getAccountId + '-RefreshToken', response.data.refreshToken);\n\t\t\t\treturn Promise.resolve(response.data);\n\t\t\t})\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\n\tlogout() {\n\t\tlet refreshToken = localStorage.getItem(store.getters.getAccountId + '-RefreshToken');\n\n\t\tlet config = {\n\t\t\theaders: {\n\t\t\t\tAuthorization: 'Refresh ' + refreshToken,\n\t\t\t},\n\t\t};\n\n\t\treturn getClient()\n\t\t\t.post('/auth/portal/logout', null, config)\n\t\t\t.then((response) => Promise.resolve(response.data))\n\t\t\t.catch((error) => Promise.reject(error))\n\t\t\t.finally(() => {\n\t\t\t\tlocalStorage.removeItem(store.getters.getAccountId + '-RefreshToken');\n\t\t\t\tstore.commit('logout');\n\t\t\t});\n\t},\n\n\trefreshToken(force = false) {\n\t\tlet refreshToken = localStorage.getItem(store.getters.getAccountId + '-RefreshToken');\n\n\t\tlet config = {\n\t\t\theaders: {\n\t\t\t\tAuthorization: 'Refresh ' + refreshToken,\n\t\t\t},\n\t\t};\n\n\t\treturn getClient()\n\t\t\t.post(`/auth/portal/refresh?force=${force}`, null, config)\n\t\t\t.then((response) => {\n\t\t\t\tlocalStorage.setItem(store.getters.getAccountId + '-RefreshToken', response.data.refreshToken);\n\t\t\t\treturn Promise.resolve(response.data);\n\t\t\t})\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\n\tgetProfile() {\n\t\tconst config = {\n\t\t\theaders: {\n\t\t\t\tAuthorization: 'Bearer ' + store.state.accessToken,\n\t\t\t},\n\t\t};\n\n\t\treturn getClient()\n\t\t\t.get('/auth/portal/me', config)\n\t\t\t.then((response) => Promise.resolve(response.data))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\n\tgetCustomPages(clientId) {\n\t\tconst config = {\n\t\t\theaders: {\n\t\t\t\tAuthorization: 'Bearer ' + store.state.accessToken,\n\t\t\t},\n\t\t};\n\n\t\treturn getClient()\n\t\t\t.get(`/auth/portal/pages/?clientId=${encodeURIComponent(clientId)}`, config)\n\t\t\t.then((response) => Promise.resolve(response.data))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\n\tgetCustomEmbed() {\n\t\tconst config = {\n\t\t\theaders: {\n\t\t\t\tAuthorization: 'Bearer ' + store.state.accessToken,\n\t\t\t},\n\t\t};\n\n\t\treturn getClient()\n\t\t\t.get('/auth/portal/embed', config)\n\t\t\t.then((response) => Promise.resolve(response.data))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n\n\tgetDomainSettings(domain) {\n\t\treturn getClient()\n\t\t\t.get('/domains', {\n\t\t\t\tparams: {\n\t\t\t\t\tdomain: domain,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((response) => Promise.resolve(response.data))\n\t\t\t.catch((error) => Promise.reject(error));\n\t},\n};\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignDialog.vue?vue&type=style&index=0&id=84c8e582&prod&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmModal.vue?vue&type=style&index=0&id=aa70cd06&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=1&id=698b91f6&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Products.vue?vue&type=style&index=0&id=09bf9171&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=style&index=0&id=698b91f6&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceTable.vue?vue&type=style&index=1&id=aeeb515c&prod&scoped=true&lang=scss\"","import HttpClient from '@/services/HttpClient';\nimport store from '@/store';\n\nexport default class ProjectService {\n\thttpClient;\n\n\tconstructor() {\n\t\tthis.httpClient = new HttpClient();\n\t}\n\n\tgetProjectTypes() {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/projectTypes`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetProjects() {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/projects`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetDeliverables(projectTypeId){\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/deliverables?projectTypeId=${projectTypeId}`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetDeliverableDetail(deliverableId){\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/deliverables/${deliverableId}`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetAssignableUsers(projectId){\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/projects/${projectId}/assignableUsers`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetAllAssignableUsers(){\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/assignableUsers`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tupdateKanbanProperties(updates) {\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.put(`/${clientId}/deliverables/kanban`, updates)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tcreateDeliverable(projectId, deliverable){\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.post(`/${clientId}/projects/${projectId}/deliverables`, deliverable)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tpatchDeliverable(deliverableId, patchData) {\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.patch(`/${clientId}/deliverables/${deliverableId}`, patchData)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tdeleteDeliverable(deliverableId) {\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.delete(`/${clientId}/deliverables/${deliverableId}`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetProjectDeliverables(projectId) {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/projects/${projectId}/deliverables`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tapproveDeliverable(projectId,deliverableId) {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.post(`/${clientId}/projects/${projectId}/deliverables/${deliverableId}/approve`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\taddComment(projectId,deliverableId,comment){\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.post(`/${clientId}/projects/${projectId}/deliverables/${deliverableId}/comment`,comment)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\teditComment(projectId,deliverableId,comment){\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.put(`/${clientId}/projects/${projectId}/deliverables/${deliverableId}/comment`,comment)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tdeleteComment(projectId,deliverableId,commentId){\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.delete(`/${clientId}/projects/${projectId}/deliverables/${deliverableId}/comment`,{\n\t\t\t\tparams:{\n\t\t\t\t\tcommentId:commentId\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetProjectPayments(projectId) {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/projects/${projectId}/payments`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetTimeWorkedForProject(projectId) {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/projects/${projectId}/timeWorked`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetSignedProjectUrl(projectId,fileName){\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/projects/${projectId}/files`, {\n\t\t\t\tparams: {\n\t\t\t\t\tfileName: fileName,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetSignedUrl(projectId, deliverableId, fileName) {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/projects/${projectId}/deliverables/${deliverableId}/files`, {\n\t\t\t\tparams: {\n\t\t\t\t\tfileName: fileName,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tdeleteFile(projectId, deliverableId, fileName) {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.delete(`/${clientId}/projects/${projectId}/deliverables/${deliverableId}/files`, {\n\t\t\t\tparams: {\n\t\t\t\t\tfileName: fileName,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VerifyAchAccount.vue?vue&type=style&index=0&id=ba558080&prod&scoped=true&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PillSelector.vue?vue&type=style&index=0&id=628e78f6&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServiceItemEditor.vue?vue&type=style&index=0&id=d59e0eac&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Files.vue?vue&type=style&index=0&id=0937c352&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ManualAchAccount.vue?vue&type=style&index=0&id=767db05c&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignatureBlock.vue?vue&type=style&index=0&id=011af6e6&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Divider.vue?vue&type=style&index=0&id=947cfe8e&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Page.vue?vue&type=style&index=0&id=11ee5d0c&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tabs.vue?vue&type=style&index=0&id=48472eee&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Deliverables.vue?vue&type=style&index=0&id=890a8924&prod&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Divider.vue?vue&type=style&index=0&id=b5c21b28&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KanbanCard.vue?vue&type=style&index=0&id=23345c64&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusMenu.vue?vue&type=style&index=0&id=e3e78f9a&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Signature.vue?vue&type=style&index=0&id=709bf016&prod&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetingEmbed.vue?vue&type=style&index=0&id=a1cad342&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Activity.vue?vue&type=style&index=0&id=3d7ed73e&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PackageEditor.vue?vue&type=style&index=0&id=be24bb42&prod&lang=scss\"","export * from \"-!../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=style&index=0&id=fc9e95a2&prod&lang=scss\"","import DateTime from '@/modules/utils/HDateTime';\nimport WebFontLoader from \"webfontloader\";\nimport countries from '@/assets/data/countries-simple.json';\n\nexport default {\n\tdata: function() {\n\t\treturn {\n\t\t\ttimeUnits: [\n\t\t\t\t{ text: 'Days', value: 'DAYS' },\n\t\t\t\t{ text: 'Weeks', value: 'WEEKS' },\n\t\t\t\t{ text: 'Months', value: 'MONTHS' },\n\t\t\t],\n\t\t};\n\t},\n\n\tmethods: {\n\t\tloadFonts: function(agreement){\n\t\t\tlet fonts = new Set();\n\n\t\t\tfonts.add(agreement.styles.body.fontFamily);\n\t\t\tfonts.add(agreement.styles.h1.fontFamily);\n\t\t\tfonts.add(agreement.styles.h2.fontFamily);\n\t\t\tfonts.add(agreement.styles.h3.fontFamily);\n\t\t\tlet families =  [];\n\n\t\t\tfonts.forEach(f => {\n\t\t\t\tfamilies.push(`${f}:100,200,300,400,500,600,700,800`);\n\t\t\t});\n\n\t\t\tconsole.log('loading',families);\n\t\t\t\n\t\t\tWebFontLoader.load({\n\t\t\t\tgoogle: {\n\t\t\t\t\tfamilies: families,\n\t\t\t\t},\n\t\t\t\tactive: () => console.log('fonts are active'),\n\t\t\t});\n\t\t},\n\n\t\tcheckNull: function(val) {\n\t\t\treturn val ? val : '';\n\t\t},\n\n\t\tgetFullCountry(isoCode){\n\t\t\tlet country = countries.find(c => c.code === isoCode);\n\t\t\tif(country){\n\t\t\t\treturn country.name;\n\t\t\t}else{\n\t\t\t\treturn isoCode;\n\t\t\t}\n\t\t},\n\n\t\tgetTokensFromAgreement: function(agreement) {\n\t\t\tlet result = new Map();\n\n\t\t\tif (agreement) {\n\t\t\t\tresult.set('Agreement.Name',agreement.name)\n\t\t\t\tresult.set('Agreement.DateCreated',DateTime.fromISO(agreement.dateCreated).toLocaleString(DateTime.DATE_MED));\n\t\t\t\tresult.set('Agreement.DateCreatedFull',DateTime.fromISO(agreement.dateCreated).toLocaleString(DateTime.DATE_FULL));\n\t\t\t\tif(agreement.dateCompleted) {\n\t\t\t\t\tresult.set('Agreement.DateSigned', DateTime.fromISO(agreement.dateCompleted).toLocaleString(DateTime.DATE_MED));\n\t\t\t\t\tresult.set('Agreement.DateSignedFull', DateTime.fromISO(agreement.dateCompleted).toLocaleString(DateTime.DATETIME_FULL));\n\t\t\t\t}else{\n\t\t\t\t\tresult.set('Agreement.DateSigned',DateTime.now().toLocaleString(DateTime.DATE_MED));\n\t\t\t\t\tresult.set('Agreement.DateSignedFull',DateTime.now().toLocaleString(DateTime.DATE_FULL));\n\t\t\t\t}\n\t\t\t\tresult.set('Account.Name', this.checkNull(agreement.account.accountName));\n\t\t\t\tresult.set('Account.TaxId', this.checkNull(agreement.account.taxId));\n\t\t\t\tresult.set('Account.Address1', this.checkNull(agreement.account.address1));\n\t\t\t\tresult.set('Account.Address2', this.checkNull(agreement.account.address2));\n\t\t\t\tresult.set('Account.City', this.checkNull(agreement.account.city));\n\t\t\t\tresult.set('Account.Locality', this.checkNull(agreement.account.locality));\n\t\t\t\tresult.set('Account.Postal', this.checkNull(agreement.account.postal));\n\t\t\t\tresult.set('Account.Country', this.checkNull(agreement.account.country));\n\t\t\t\tresult.set('Account.CountryName', this.getFullCountry(agreement.account.country));\n\t\t\t\tresult.set('Account.Phone', this.checkNull(agreement.account.phone));\n\t\t\t\tresult.set('Account.Website', this.checkNull(agreement.account.website));\n\n\t\t\t\tresult.set('Client.Name', this.checkNull(agreement.client?.name));\n\t\t\t\tresult.set('Client.TaxId', this.checkNull(agreement.client?.taxId));\n\t\t\t\tresult.set('Client.Address1', this.checkNull(agreement.client?.address1));\n\t\t\t\tresult.set('Client.Address2', this.checkNull(agreement.client?.address2));\n\t\t\t\tresult.set('Client.City', this.checkNull(agreement.client?.city));\n\t\t\t\tresult.set('Client.Locality', this.checkNull(agreement.client?.locality));\n\t\t\t\tresult.set('Client.Postal', this.checkNull(agreement.client?.postal));\n\t\t\t\tresult.set('Client.Country', this.checkNull(agreement.client?.country));\n\t\t\t\tresult.set('Client.CountryName', this.getFullCountry(agreement.client?.country));\n\t\t\t\tresult.set('Client.Phone', this.checkNull(agreement.client?.phone));\n\t\t\t\tresult.set('Client.Website', this.checkNull(agreement.client?.website));\n\t\t\t\tresult.set('Client.TaxRate',this.getTaxRate(agreement));\n\t\t\t\tresult.set('Client.HourlyRate',this.$formatters.dollars(agreement.client?.hourlyAmount, true, true, agreement.currency));\n\n\t\t\t\tthis.clientFields.forEach((f) => {\n\t\t\t\t\tlet value = agreement.client?.customValues.find((v) => v.mappingKey === f.mappingKey);\n\t\t\t\t\tif(f.type === 'Date' && value && value.value){\n\t\t\t\t\t\tresult.set('Client.Custom.' + f.mappingKey, DateTime.fromISO(value.value).toLocaleString(DateTime.DATE_FULL));\n\t\t\t\t\t}else {\n\t\t\t\t\t\tresult.set('Client.Custom.' + f.mappingKey, value ? value.value : '');\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tresult.set('Opportunity.Name',this.checkNull(agreement.opportunity?.name));\n\t\t\t\tresult.set('Opportunity.Description',this.checkNull(agreement.opportunity?.description));\n\t\t\t\tresult.set('Opportunity.FirstName',this.checkNull(agreement.opportunity?.formData?.firstName));\n\t\t\t\tresult.set('Opportunity.LastName',this.checkNull(agreement.opportunity?.formData?.lastName));\n\t\t\t\tresult.set('Opportunity.Email',this.checkNull(agreement.opportunity?.formData?.email));\n\t\t\t\tresult.set('Opportunity.Phone',this.checkNull(agreement.opportunity?.formData?.phone));\n\t\t\t\tresult.set('Opportunity.Role',this.checkNull(agreement.opportunity?.formData?.role));\n\t\t\t\tresult.set('Opportunity.BusinessName',this.checkNull(agreement.opportunity?.formData?.businessName));\n\t\t\t\tresult.set('Opportunity.Website',this.checkNull(agreement.opportunity?.formData?.website));\n\t\t\t\tresult.set('Opportunity.Address1',this.checkNull(agreement.opportunity?.formData?.address1));\n\t\t\t\tresult.set('Opportunity.Address2',this.checkNull(agreement.opportunity?.formData?.address2));\n\t\t\t\tresult.set('Opportunity.City',this.checkNull(agreement.opportunity?.formData?.city));\n\t\t\t\tresult.set('Opportunity.Locality',this.checkNull(agreement.opportunity?.formData?.locality));\n\t\t\t\tresult.set('Opportunity.Postal',this.checkNull(agreement.opportunity?.formData?.postal));\n\t\t\t\tresult.set('Opportunity.Country',this.checkNull(agreement.opportunity?.formData?.country));\n\t\t\t\tresult.set('Opportunity.CountryName',this.getFullCountry(agreement.opportunity?.formData?.country));\n\n\t\t\t\tthis.pipelineFields.forEach((f) => {\n\t\t\t\t\tlet value = agreement.opportunity?.customValues.find((v) => v.mappingKey === f.mappingKey);\n\n\t\t\t\t\tif(f.type === 'Date' && value && value.value){\n\t\t\t\t\t\tresult.set('Opportunity.Custom.' + f.mappingKey, DateTime.fromISO(value.value).toLocaleString(DateTime.DATE_FULL));\n\t\t\t\t\t}else {\n\t\t\t\t\t\tresult.set('Opportunity.Custom.' + f.mappingKey, value ? value.value : '');\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tagreement.signers\n\t\t\t\t\t.filter((s) => s.signerType === 'CLIENT')\n\t\t\t\t\t.forEach((s) => {\n\t\t\t\t\t\tresult.set('Signer.FirstName', this.checkNull(s.firstName));\n\t\t\t\t\t\tresult.set('Signer.LastName', this.checkNull(s.lastName));\n\t\t\t\t\t\tresult.set('Signer.Email', this.checkNull(s.email));\n\t\t\t\t\t\tresult.set('Signer.Title', this.checkNull(s.title));\n\t\t\t\t\t});\n\n\t\t\t\tlet paymentPlan = this.getPaymentPlan(agreement);\n\n\t\t\t\tlet groupedRecurring = this.getGroupedRecurring(agreement);\n\n\t\t\t\tif(paymentPlan){\n\t\t\t\t\tlet firstPayment = paymentPlan.scheduledPayments[0];\n\t\t\t\t\tlet recurringInvestment = this.getRecurringInvestment(agreement,true);\n\t\t\t\t\tlet total = Number(firstPayment.calculatedAmount) + Number(recurringInvestment.totalPreTax) + Number(recurringInvestment.totalTax);\n\t\t\t\t\tresult.set('UpFront.Total', this.$formatters.dollars(total, true, true, agreement.currency));\n\t\t\t\t\tresult.set('UpFront.UnformattedTotal',total);\n\t\t\t\t}else {\n\t\t\t\t\tlet totalUpFront = this.getTotalUpFront(agreement);\n\t\t\t\t\tresult.set('UpFront.Total', this.$formatters.dollars(totalUpFront.totalPreTax + totalUpFront.totalTax, true, true, agreement.currency));\n\t\t\t\t\tresult.set('UpFront.UnformattedTotal',totalUpFront.totalPreTax + totalUpFront.totalTax);\n\t\t\t\t}\n\n\t\t\t\tlet cardProcessingFees = result.get('UpFront.UnformattedTotal');\n\n\t\t\t\tif (agreement.client?.whoPaysCardFees === 'Client') {\n\t\t\t\t\tcardProcessingFees = this.calculateAdditionalFee(agreement.account.baseCardFeeRate,cardProcessingFees);\n\t\t\t\t} else if (this.agreement.client?.whoPaysCardFees === 'Split') {\n\t\t\t\t\tcardProcessingFees = this.calculateAdditionalFee(agreement.account.splitCardFeeRate,cardProcessingFees);\n\t\t\t\t}else{\n\t\t\t\t\tcardProcessingFees = 0;\n\t\t\t\t}\n\n\t\t\t\tresult.set('UpFront.CardProcessingFees', this.$formatters.dollars(cardProcessingFees, true, true, agreement.currency));\n\n\t\t\t\tlet oneTimeTotal = this.getTotalUpFront(agreement,false);\n\t\t\t\tresult.set('OneTime.Total', this.$formatters.dollars(oneTimeTotal.totalPreTax, true, true, agreement.currency));\n\t\t\t\tresult.set('OneTime.TotalWithTax', this.$formatters.dollars(Number(oneTimeTotal.totalPreTax) + Number(oneTimeTotal.totalTax), true, true, agreement.currency));\n\t\t\t\tresult.set('OneTime.Tax', this.$formatters.dollars(oneTimeTotal.totalTax, true, true, agreement.currency));\n\n\t\t\t\tlet recurringTotal = 0;\n\t\t\t\tlet recurringTaxAmount =0;\n\n\t\t\t\tgroupedRecurring.forEach((value) => {\n\t\t\t\t\t// result.set(`Recurring.${key}.Total`,this.$formatters.dollars(value.total,true,true,agreement.currency));\n\t\t\t\t\t// result.set(`Recurring.${key}.TotalWithTax`,this.$formatters.dollars(value.taxAmount + value.total,true,true,agreement.currency));\n\t\t\t\t\t// result.set(`Recurring.${key}.Tax`,this.$formatters.dollars(value.taxAmount,true,true,agreement.currency));\n\t\t\t\t\trecurringTotal = recurringTotal + value.total;\n\t\t\t\t\trecurringTaxAmount = recurringTaxAmount + value.taxAmount;\n\t\t\t\t})\n\n\t\t\t\tresult.set(`Recurring.Total`,this.$formatters.dollars(recurringTotal,true,true,agreement.currency));\n\t\t\t\tresult.set(`Recurring.TotalWithTax`,this.$formatters.dollars(recurringTaxAmount + recurringTotal,true,true,agreement.currency));\n\t\t\t\tresult.set(`Recurring.Tax`,this.$formatters.dollars(recurringTaxAmount,true,true,agreement.currency));\n\t\t\t}\n\n\t\t\treturn result;\n\t\t},\n\n\t\tcalculateAdditionalFee: function(feeDecimal, netAmount) {\n\t\t\tlet totalInvoice = netAmount / (1 - feeDecimal);\n\t\t\treturn totalInvoice - netAmount;\n\t\t},\n\n\t\tformatServiceItemDate: function(item) {\n\t\t\tif (item.relativeDueDate && item.dueDateRelative) {\n\t\t\t\tlet timeUnit = this.timeUnits.find((u) => u.value === item.dueDateRelative.timeUnit);\n\t\t\t\tif (timeUnit && item.dueDateRelative.duration) {\n\t\t\t\t\treturn item.dueDateRelative.duration + ' ' + timeUnit.text;\n\t\t\t\t} else {\n\t\t\t\t\treturn '--';\n\t\t\t\t}\n\t\t\t} else if (item.dueDate) {\n\t\t\t\treturn DateTime.fromISO(item.dueDate).toLocaleString(DateTime.DATE_FULL);\n\t\t\t} else {\n\t\t\t\treturn '--';\n\t\t\t}\n\t\t},\n\n\t\tformatPackageFeeType: function(servicePackage) {\n\t\t\tif (servicePackage.fees.feeType === 'Retainer') {\n\t\t\t\treturn servicePackage.fees.retainerSchedule + ' recurring';\n\t\t\t} else {\n\t\t\t\treturn servicePackage.fees.feeType;\n\t\t\t}\n\t\t},\n\n\t\tformatServiceItemTotal: function(agreement, servicePackage, item) {\n\t\t\tif (item.addOnItem) {\n\t\t\t\tif (servicePackage.fees.feeType === 'Retainer' && !item.oneTimeFee) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\tthis.$formatters.dollars(item.quantity * item.rate, true, true, agreement.currency) +\n\t\t\t\t\t\t'/' +\n\t\t\t\t\t\tservicePackage.fees.retainerSchedule.toLowerCase()\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\treturn this.$formatters.dollars(item.quantity * item.rate, true, true, agreement.currency);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (servicePackage.fees.feeType === 'Per Item') {\n\t\t\t\t\treturn `${this.$formatters.dollars(item.quantity * item.rate, true, true, agreement.currency)}`;\n\t\t\t\t} else {\n\t\t\t\t\treturn '--';\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\tgetItemRate: function(item) {\n\t\t\treturn item.quantity * item.rate;\n\t\t},\n\n\t\tgetPackageTotal: function(agreement, servicePackage, taxableTotal = false) {\n\t\t\tif (servicePackage.fees.feeType !== 'Per Item') {\n\t\t\t\tlet total = Number(0);\n\n\t\t\t\tif(!taxableTotal || servicePackage.fees.taxable){\n\t\t\t\t\ttotal = Number(servicePackage.fees.amount)\n\t\t\t\t}\n\n\t\t\t\tif(servicePackage.fees.feeType === 'Fixed Price'){\n\t\t\t\t\tservicePackage.items.forEach((i) => {\n\t\t\t\t\t\tif((i.addOnItem && i.optional && i.selected) || (i.addOnItem && !i.optional)){\n\t\t\t\t\t\t\tif(!taxableTotal || i.taxable) {\n\t\t\t\t\t\t\t\ttotal = total + (i.quantity * i.rate);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}else if(servicePackage.fees.feeType === 'Retainer'){\n\t\t\t\t\tservicePackage.items.forEach((i) => {\n\t\t\t\t\t\tif(i.oneTimeFee || !i.addOnItem){\n\t\t\t\t\t\t\t//do nothing\n\t\t\t\t\t\t}else if((i.addOnItem && i.optional && i.selected) || (i.addOnItem && !i.optional)){\n\t\t\t\t\t\t\tif(!taxableTotal || i.taxable) {\n\t\t\t\t\t\t\t\ttotal = total + (i.quantity * i.rate);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn total;\n\t\t\t} else {\n\t\t\t\tlet total = 0;\n\t\t\t\tservicePackage.items.forEach((i) => {\n\t\t\t\t\tif((i.addOnItem && i.optional && i.selected) || !i.addOnItem || !i.optional){\n\t\t\t\t\t\tif(!taxableTotal || i.taxable) {\n\t\t\t\t\t\t\ttotal = total + i.quantity * i.rate;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn total;\n\t\t\t}\n\t\t},\n\n\t\tgetPackageTotalPreTax: function(agreement, servicePackage){\n\t\t\treturn this.getPackageTotal(agreement,servicePackage,false);\n\t\t},\n\n\t\tgetPackageTotalWithTax: function(agreement, servicePackage) {\n\t\t\treturn this.getPackageTotal(agreement, servicePackage, false) + this.getPackageTax(agreement, servicePackage);\n\t\t},\n\n\t\tgetPackageTax(agreement, servicePackage) {\n\t\t\tlet taxRate = this.getTaxRate(agreement) / 100;\n\t\t\treturn this.getPackageTotal(agreement, servicePackage, true) * taxRate;\n\t\t},\n\n\t\tgetFeeLabel: function(servicePackage) {\n\t\t\tif (servicePackage.fees.feeType === 'Retainer') {\n\t\t\t\treturn servicePackage.fees.retainerSchedule;\n\t\t\t} else {\n\t\t\t\treturn servicePackage.fees.feeType;\n\t\t\t}\n\t\t},\n\n\t\tgetCurrency: function(agreement) {\n\t\t\tif (agreement) {\n\t\t\t\treturn agreement.currency;\n\t\t\t} else {\n\t\t\t\treturn '';\n\t\t\t}\n\t\t},\n\n\t\tgetTaxLabel: function(agreement) {\n\t\t\tif (agreement) {\n\t\t\t\treturn agreement.account.taxLabel;\n\t\t\t} else {\n\t\t\t\treturn '';\n\t\t\t}\n\t\t},\n\n\t\tgetTaxRate: function(agreement) {\n\t\t\tif (agreement) {\n\t\t\t\treturn Number((agreement.client?.defaultTaxRate || agreement.client?.defaultTaxRate === 0) ? agreement.client?.defaultTaxRate : agreement.account.defaultTaxRate);\n\t\t\t} else {\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t},\n\n\t\tgetHourlyDepositAmount: function(servicePackage){\n\t\t\tlet hours;\n\t\t\tlet min = servicePackage.fees.estimateMin;\n\t\t\tlet max = servicePackage.fees.estimateMax;\n\n\t\t\tif(min && max){\n\t\t\t\thours = (min + max) / 2;\n\t\t\t}else{\n\t\t\t\thours = min ? min : max;\n\t\t\t}\n\n\t\t\treturn ((hours * servicePackage.fees.amount) * (servicePackage.depositAmount / 100));\n\t\t},\n\n\t\tgetPerItemDepositAmount: function(servicePackage){\n\t\t\tif(servicePackage && servicePackage.items) {\n\t\t\t\tlet itemTotal = 0;\n\t\t\t\tservicePackage.items.filter(i => !i.optional || (i.optional && i.selected)).forEach((i) => {\n\t\t\t\t\titemTotal = itemTotal + (i.quantity * i.rate);\n\t\t\t\t});\n\t\t\t\treturn (itemTotal) * (servicePackage.depositAmount / 100);\n\t\t\t}else{\n\t\t\t\treturn 0;\n\t\t\t}\n\t\t},\n\n\t\tgetDepositAmount: function(servicePackage){\n\t\t\tif(servicePackage.fees.feeType === 'Hourly') {\n\t\t\t\treturn this.$formatters.dollars(this.getHourlyDepositAmount(servicePackage), true, true, this.agreement.currency);\n\t\t\t}else if(servicePackage.fees.feeType === 'Per Item'){\n\t\t\t\treturn this.$formatters.dollars(this.getPerItemDepositAmount(this.element), true, true, this.agreement.currency);\n\t\t\t}else{\n\t\t\t\treturn this.$formatters.dollars(0, true, true, this.agreement.currency);\n\t\t\t}\n\t\t},\n\n\t\tgetRecurringInvestment: function(agreement, advancedOnly=false){\n\t\t\tlet taxRate = this.getTaxRate(agreement) / 100;\n\t\t\tlet selectedPackages = this.getSelectedPackages(agreement);\n\n\t\t\tlet totals = {\n\t\t\t\ttotalPreTax: 0,\n\t\t\t\ttotalTax: 0\n\t\t\t}\n\n\t\t\tfor(let i=0; i < selectedPackages.length; i++) {\n\t\t\t\tlet selectedPackage = selectedPackages[i];\n\t\t\t\tlet taxAmount = 0;\n\t\t\t\tlet total = 0;\n\n\t\t\t\tif (selectedPackage.fees.feeType === 'Retainer') {\n\t\t\t\t\tif(selectedPackage.fees.retainerTiming === 'Arrears' && advancedOnly){\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\t\t\t\t\ttotal = selectedPackage.fees.amount;\n\t\t\t\t\ttaxAmount = selectedPackage.fees.taxable ? (total * taxRate) : 0;\n\n\t\t\t\t\tselectedPackage.items.filter(i => i.addOnItem && ((i.optional && i.selected) || !i.optional) && !i.oneTimeFee).forEach(i => {\n\t\t\t\t\t\ttotal = total + (i.quantity * i.rate);\n\t\t\t\t\t\ttaxAmount = taxAmount + (i.taxable ? ((i.quantity * i.rate) * taxRate) : 0);\n\t\t\t\t\t})\n\n\t\t\t\t\ttotals.totalPreTax = totals.totalPreTax + total;\n\t\t\t\t\ttotals.totalTax = totals.totalTax + taxAmount;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn totals;\n\t\t},\n\n\t\tgetTotalUpFront: function(agreement, includeRetainer = true) {\n\t\t\tlet selectedPackages = this.getSelectedPackages(agreement);\n\t\t\tlet taxRate = this.getTaxRate(agreement) / 100;\n\n\t\t\tlet totals = {\n\t\t\t\ttotalPreTax: 0,\n\t\t\t\ttotalTax: 0\n\t\t\t}\n\n\t\t\tfor(let i=0; i < selectedPackages.length; i++){\n\t\t\t\tlet selectedPackage = selectedPackages[i];\n\t\t\t\tlet taxAmount =0;\n\t\t\t\tlet total = 0;\n\n\t\t\t\tif(selectedPackage.fees.feeType === 'Hourly'){\n\t\t\t\t\ttotal = this.getHourlyDepositAmount(selectedPackage);\n\t\t\t\t\ttaxAmount = selectedPackage.fees.taxable ? (total * taxRate) : 0;\n\t\t\t\t}else if(includeRetainer && selectedPackage.fees.feeType === 'Retainer' && selectedPackage.fees.retainerTiming === 'Advanced'){\n\t\t\t\t\ttotal = selectedPackage.fees.amount;\n\t\t\t\t\ttaxAmount = selectedPackage.fees.taxable ? (total * taxRate) : 0;\n\t\t\t\t}else if(selectedPackage.fees.feeType === 'Per Item'){\n\t\t\t\t\tselectedPackage.items.forEach((i) => {\n\t\t\t\t\t\tif((i.addOnItem && i.optional && i.selected) || !i.addOnItem || !i.optional){\n\t\t\t\t\t\t\ttotal = total + (i.quantity * i.rate);\n\t\t\t\t\t\t\ttaxAmount = taxAmount + (i.taxable ? ((i.quantity * i.rate) * taxRate) : 0);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}else if(selectedPackage.fees.feeType === 'Fixed Price'){\n\t\t\t\t\ttotal = Number(selectedPackage.fees.amount);\n\t\t\t\t\ttaxAmount = selectedPackage.fees.taxable ? (total * taxRate) : 0;\n\t\t\t\t}\n\n\t\t\t\tif(selectedPackage.fees.feeType !== 'Per Item') {\n\t\t\t\t\tselectedPackage.items.filter(i => (i.addOnItem || i.oneTimeFee) && ((i.optional && i.selected) || !i.optional)).forEach(i => {\n\t\t\t\t\t\tif ((selectedPackage.fees.feeType === 'Retainer' && includeRetainer && !i.oneTimeFee) || i.oneTimeFee) {\n\t\t\t\t\t\t\ttotal = total + (i.quantity * i.rate);\n\t\t\t\t\t\t\ttaxAmount = taxAmount + (i.taxable ? ((i.quantity * i.rate) * taxRate) : 0);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t}\n\n\t\t\t\ttotals.totalPreTax = Number(totals.totalPreTax) + Number(total);\n\t\t\t\ttotals.totalTax = Number(totals.totalTax) + Number(taxAmount);\n\t\t\t}\n\n\t\t\treturn totals;\n\t\t},\n\n\n\t\tgetGroupedRecurring: function(agreement) {\n\t\t\tlet selectedPackages = this.getSelectedPackages(agreement);\n\t\t\tlet taxRate = this.getTaxRate(agreement) / 100;\n\t\t\tlet grouping = new Map();\n\t\t\tlet schedulers = ['Weekly', 'Bi-Weekly', 'Monthly', 'Quarterly', 'Bi-Annually', 'Annually'];\n\n\t\t\tfor(let i=0; i < schedulers.length; i++){\n\t\t\t\tgrouping.set(schedulers[i],{taxAmount:0,total:0})\n\t\t\t}\n\n\t\t\tfor(let i=0; i < selectedPackages.length; i++){\n\t\t\t\tlet selectedPackage = selectedPackages[i];\n\t\t\t\tlet taxAmount =0;\n\t\t\t\tlet total = 0;\n\n\t\t\t\tif(selectedPackage.fees.feeType === 'Retainer'){\n\t\t\t\t\ttotal = Number(selectedPackage.fees.amount);\n\t\t\t\t\ttaxAmount = Number(selectedPackage.fees.taxable) ? (total * taxRate) : 0;\n\t\t\t\t}\n\n\t\t\t\tselectedPackage.items.filter(i => i.addOnItem && (i.optional ? i.selected : true) && !i.oneTimeFee).forEach(i => {\n\t\t\t\t\ttotal = total + (i.quantity * i.rate);\n\t\t\t\t\ttaxAmount = taxAmount + (i.taxable ? ((i.quantity * i.rate) * taxRate) : 0);\n\t\t\t\t})\n\n\t\t\t\tlet result = grouping.get(selectedPackage.fees.retainerSchedule);\n\t\t\t\tif(result){\n\t\t\t\t\tresult.taxAmount = result.taxAmount + taxAmount;\n\t\t\t\t\tresult.total = result.total + total;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn grouping;\n\t\t},\n\n\t\tgetSelectedPackages: function(agreement) {\n\t\t\tlet services = this.getServices(agreement);\n\t\t\tlet selectedPackages = [];\n\n\t\t\tfor (let i = 0; i < services.length; i++) {\n\t\t\t\tlet service = services[i];\n\n\t\t\t\tif (!service.packages.length) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tif (service.selectionRequired && service.packages.length === 1) {\n\t\t\t\t\tselectedPackages.push(service.packages[0]);\n\t\t\t\t} else {\n\t\t\t\t\tselectedPackages.push(...service.packages.filter((p) => p && p.selected));\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn selectedPackages;\n\t\t},\n\n\t\tgetServices: function(agreement) {\n\t\t\treturn this.getItemsOfType(agreement,'Services');\n\t\t},\n\n\t\tgetPaymentPlan: function(agreement){\n\t\t\tlet paymentPlans = this.getItemsOfType(agreement,'PaymentPlan');\n\t\t\tif(paymentPlans.length){\n\t\t\t\treturn paymentPlans[0];\n\t\t\t}else{\n\t\t\t\treturn null;\n\t\t\t}\n\t\t},\n\n\t\tgetItemsOfType: function(agreement,type){\n\t\t\tlet result = [];\n\n\t\t\tfor (let i = 0; i < agreement.pages.length; i++) {\n\t\t\t\tlet page = agreement.pages[i];\n\t\t\t\tpage.schema.forEach((item) => {\n\t\t\t\t\tif (item.type === type) {\n\t\t\t\t\t\tresult.push(item);\n\t\t\t\t\t} else if (item.type === 'Container') {\n\t\t\t\t\t\tfor (let j = 0; j < item.columnCount; j++) {\n\t\t\t\t\t\t\titem.columns[j].items.forEach((containerItem) => {\n\t\t\t\t\t\t\t\tif (containerItem.type === type) {\n\t\t\t\t\t\t\t\t\tresult.push(containerItem);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t}\n\n\t\t\treturn result;\n\t\t}\n\t},\n\n\tcomputed: {\n\t\tclientFields: function() {\n\t\t\tif (this.$store.state.clientFields && this.$store.state.clientFields.fields) {\n\t\t\t\treturn this.$store.state.clientFields.fields;\n\t\t\t} else {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t},\n\n\t\tpipelineFields: function() {\n\t\t\tif (this.$store.state.pipelineFields && this.$store.state.pipelineFields.fields) {\n\t\t\t\treturn this.$store.state.pipelineFields.fields;\n\t\t\t} else {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t},\n\n\t\tcontactFields: function() {\n\t\t\tif (this.$store.state.contactFields && this.$store.state.contactFields.fields) {\n\t\t\t\treturn this.$store.state.contactFields.fields;\n\t\t\t} else {\n\t\t\t\treturn [];\n\t\t\t}\n\t\t},\n\t},\n};\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notifications.vue?vue&type=style&index=0&id=b949556c&prod&scoped=true&lang=scss\"","import EventBus from 'js-event-bus';\n\nexport default class CustomEventBus {\n    constructor() {\n        this.eventBus = new EventBus()\n    }\n\n    $on(eventName,functionReference){\n        if (functionReference) {\n            this.eventBus.on(eventName, functionReference);\n        }else{\n            console.trace('ERROR: No function reference provided ' + eventName);\n        }\n       \n    }\n\n    $off(eventName,functionReference){\n        if(functionReference){\n            this.eventBus.detach(eventName,functionReference)\n        }else{\n            this.eventBus.detach(eventName);\n        }\n\n    }\n\n    $emit(eventName,payload){\n        this.eventBus.emit(eventName,null,payload);\n    }\n\n}","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport PubNub from 'pubnub';\nimport CustomEventBus from '@/utils/CustomEventBus';\n\nVue.use(Vuex)\n\nexport default new Vuex.Store({\n  state: {\n    initialized: false,\n    origRequestedUri: '/welcome',\n    accessToken:null,\n    eventBus: new CustomEventBus(),\n    darkMode: 'automatic',\n    selectLang: 'en-US',\n    domain: null,\n    accountId:null,\n    selectedClientId:null,\n    loggedInUser: {},\n    leftNavExpanded: true,\n    rightNavExpanded: false,\n    rightNavFocus: false,\n    isLoggedIn: false,\n    loadingState: false,\n    globalModalController: null,\n    pubNub: null,\n    pubNubToken: null,\n    pubNubChannels: [],\n    accountFonts: [],\n    customPages: [],\n    clientFields: null,\n    contactFields: null,\n    projectFields: null,\n    pipelineFields: null,\n    customEmbed: null,\n    usersForAccount: [],\n    defaultCurrency: 'USD',\n    locale: 'en-US',\n    weekStartsOn: 'Sunday',\n    navDetailKeys: [],\n    chartColors: ['#8EA3B8', '#FFA5B6', '#CE62E9', '#008556','#3BDBBE', '#51CF66', '#FEBB37', '#E86825','#FD7E14', '#FA5252', '#7950F2', '#4F72FF'],\n    actionCount: 0,\n    tabs: [],\n    agreementBuilderState: {},\n    agreementPaymentElement: null,\n\n    alert: { type: null, message: null},\n    stripeKey: process.env.VUE_APP_STRIPE_KEY,\n    payPalClientId: process.env.VUE_APP_PAYPAL_CLIENT_ID,\n  },\n\n  getters: {\n    getMessageChannelPrefix: (state,getters) => {\n      if(getters.getClientId){\n        return 'cp-' + getters.getClientId;\n      }else{\n        return 'c-' + state.accountId\n      }\n    },\n\n    getAccountId: (state) => {\n      if(state.domain && state.domain.accountId) {\n        return state.domain.accountId;\n      }else{\n        return state.accountId;\n      }\n    },\n\n    getClientAccounts(state) {\n      if (state.loggedInUser) {\n        return state.loggedInUser.clientAccess.clients;\n      }\n    },\n\n    getClientId: (state, getters) => {\n      if(getters.getClient){\n        return getters.getClient.clientId;\n      }else{\n        return null;\n      }\n    },\n\n    getClientName: (state, getters) => {\n      if(getters.getClient){\n        return getters.getClient.clientName;\n      }else{\n        return null;\n      }\n    },\n\n    getClient: (state) => {\n      if(state.loggedInUser && state.loggedInUser.clientAccess){\n        if(state.selectedClientId){\n          let client =  state.loggedInUser.clientAccess.clients.find(c => c.clientId === state.selectedClientId);\n          if(client){\n            return client;\n          }\n        }\n        return state.loggedInUser.clientAccess.clients[0];\n      }else{\n        return null;\n      }\n    },\n\n    getBaseUrl: (state, getters) => {\n      if (state.domain && state.domain.podUrl) {\n        return state.domain.podUrl + 'api/v1/' + getters.getAccountId + '/portal';\n      } else {\n        return null;\n      }\n    },\n\n    getPodUrl: (state) => {\n      if (state.domain && state.domain.podUrl) {\n        return state.domain.podUrl\n      } else {\n        console.warn('Unable to locate POD, returning default');\n        return 'https://pod01.withmoxie.com/';\n      }\n    },\n\n    getFeatures: (state,getters) => {\n      if(state.loggedInUser){\n        return state.loggedInUser.clientFeatureMap[getters.getClientId];\n      }else if(state.domain && state.domain.portalFeatures){\n        return state.domain.portalFeatures;\n      }else{\n        return { } ;\n      }\n    },\n\n    getFullName: (state) => {\n      return state.loggedInUser.firstName + ' ' + state.loggedInUser.lastName;\n    },\n\n    getCustomBranding: (state) => {\n      if(state.domain){\n        return state.domain.customBranding;\n      }else{\n        return {};\n      }\n    }\n  },\n\n  mutations: {\n    setDomain(state,domain){\n      state.domain = domain;\n    },\n\n    setSelectedClient(state,clientId){\n      state.selectedClientId = clientId;\n    },\n\n    setInitialized(state, initialized) {\n      state.initialized = initialized;\n    },\n\n    setAccessToken(state,authenticatedUser){\n      state.accessToken = authenticatedUser.authToken;\n      state.pubNubToken = authenticatedUser.pubNubToken;\n      if(state.pubNub){\n        state.pubNub.setToken(state.pubNubToken);\n      }\n    },\n\n    setOrigRequestedUri(state,uri){\n      state.origRequestedUri = uri;\n    },\n\n    setContactRecord(state,contact){\n      state.contact = contact;\n      state.loggedInUser.userId = contact.id;\n    },\n\n    setLoggedInUser(state,user){\n      state.loggedInUser = user;\n      state.isLoggedIn = true;\n\n      if(state.pubNub == null) {\n        state.pubNub = new PubNub({\n          subscribeKey: process.env.VUE_APP_PUBNUB_SUBSCRIBE,\n          publishKey: process.env.VUE_APP_PUBNUB_PUBLISH,\n          uuid: user.pubNubAuth,\n          logVerbosity: false,\n          auto_reconnect: true,\n          restore: true,\n        });\n\n        state.pubNub.setToken(state.pubNubToken);\n\n        // add a status listener\n        state.pubNub.addListener({\n          status: (s) => {console.log('Status', s) }\n        });\n\n        for(let i=0; i < state.loggedInUser.clientAccess.clients.length; i++){\n          let clientId = state.loggedInUser.clientAccess.clients[i].clientId;\n          state.pubNubChannels.push('cp-' + clientId + '.*');\n        }\n\n        let subscription = state.pubNub.subscriptionSet({\n          channels: state.pubNubChannels,\n        });\n\n        state.pubNub.addListener({\n          //This function will broadcast on the specific channel as well as a more broad channel\n          //for the event.  a-1016.p-123445 will also broadcast on a-1016.p to allow for broader\n          //event handling based solely on the category of message and not the ID\n          message: function (msg) {\n            //console.log(msg.channel,msg);\n\n            state.eventBus.$emit(msg.channel, msg); //broadcast on original channel\n\n            let parts = msg.channel.split('.');\n            let channel = '';\n            for (let i = 0; i < parts.length; i++) {\n              if (channel === '') {\n                channel = parts[i];\n              } else {\n                channel = channel + '.' + parts[i];\n              }\n\n              if (channel !== msg.channel) {\n                state.eventBus.$emit(channel, msg);\n              }\n\n              let truncated = channel.split('-');\n              if (truncated.length > 1) {\n                truncated.pop();\n                truncated = truncated.join('-');\n                state.eventBus.$emit(truncated, msg);\n              }\n            }\n          },\n        });\n\n        subscription.subscribe();\n      }\n    },\n\n    logout(state){\n      state.isLoggedIn = false;\n      state.loggedInUser = {};\n      state.accessToken = null;\n    },\n\n    setAccountId(state,id){\n      state.accountId = id;\n    },\n\n    setUserId(state,id){\n      state.loggedInUser.userId = id;\n    },\n\n    startLoading(state){\n      state.loadingState = true;\n    },\n\n    stopLoading(state){\n      state.loadingState = false;\n    },\n\n    success(state, message){\n      state.alert = {\n        type: 'success',\n        message: message\n      }\n    },\n\n    info(state, message){\n      state.alert = {\n        type: 'info',\n        message: message\n      }\n    },\n\n    warn(state, message){\n      state.alert = {\n        type: 'warning',\n        message: message\n      }\n    },\n\n    error(state, message) {\n      state.alert = {\n        type: 'error',\n        message: message\n      }\n    },\n  },\n\n  actions: {\n  },\n})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SchedulerList.vue?vue&type=style&index=0&id=5c8b65d0&prod&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavLink.vue?vue&type=style&index=0&id=4433a4e4&prod&scoped=true&lang=scss\"","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-ps\": \"4c98\",\n\t\"./ar-ps.js\": \"4c98\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku-kmr\": \"7558\",\n\t\"./ku-kmr.js\": \"7558\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\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 = \"4678\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewAchAccount.vue?vue&type=style&index=0&id=ddb85c8a&prod&scoped=true&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=style&index=0&id=bd857d84&prod&scoped=true&lang=scss\"","var map = {\n\t\"./bg.json\": \"dcd0\",\n\t\"./cs.json\": \"c686\",\n\t\"./da.json\": \"21aa\",\n\t\"./de.json\": \"6ce2\",\n\t\"./el.json\": \"f184\",\n\t\"./en copy.json\": \"b662\",\n\t\"./en.json\": \"edd4\",\n\t\"./es.json\": \"a306\",\n\t\"./et.json\": \"e1db\",\n\t\"./fi.json\": \"5754\",\n\t\"./fr.json\": \"f693\",\n\t\"./hr.json\": \"92d7\",\n\t\"./hu.json\": \"4e73\",\n\t\"./it.json\": \"0825\",\n\t\"./lt.json\": \"6045\",\n\t\"./lv.json\": \"f620\",\n\t\"./mt.json\": \"31f2\",\n\t\"./nl.json\": \"a625\",\n\t\"./pl.json\": \"89b2\",\n\t\"./pt.json\": \"5d67\",\n\t\"./ro.json\": \"9542\",\n\t\"./sk.json\": \"3da9\",\n\t\"./sl.json\": \"d34a\",\n\t\"./sv.json\": \"4c5b\",\n\t\"./tr.json\": \"ffeb\"\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 = \"49f8\";","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentDetailsModal.vue?vue&type=style&index=0&id=ba270e52&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceDetails.vue?vue&type=style&index=0&id=a58314c8&prod&scoped=true&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Radio.vue?vue&type=style&index=0&id=73432154&prod&scoped=true&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SimpleTextInput.vue?vue&type=style&index=0&id=45db6e44&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeAndMoney.vue?vue&type=style&index=0&id=deea9f30&prod&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdatePassword.vue?vue&type=style&index=0&id=4cd2483e&prod&scoped=true&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewPage.vue?vue&type=style&index=0&id=51c3995a&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSelect.vue?vue&type=style&index=0&id=85b6249e&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceRenderer.vue?vue&type=style&index=0&id=45dc81f9&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemRenderer.vue?vue&type=style&index=0&id=55380502&prod&scoped=true&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isReady)?_c('v-app',{style:(`--primary-font: ${_vm.primaryFont}; height:100%;`),attrs:{\"data-app\":\"\"}},[(_vm.$store.state.isLoggedIn)?_c('div',{staticClass:\"column-format fill-all\"},[_c('div',{staticClass:\"row-format\",style:(`--v-right-nav-width:${_vm.rightNavWidth}; --v-left-nav-width:${_vm.leftNavWidth}; overflow-y: hidden`),attrs:{\"id\":\"app-area\"}},[_c('div',{staticClass:\"d-none d-sm-flex\",class:this.$store.state.leftNavExpanded ? 'left-nav-expanded' : 'left-nav-collapsed',attrs:{\"id\":\"left-nav\"}},[_c('left-nav')],1),_c('div',{staticClass:\"column-format\",attrs:{\"id\":\"right-section\"}},[_c('top-nav'),_c('div',{attrs:{\"id\":\"main-app\"}},[_c('div',{staticClass:\"row-format\"},[_c('div',{attrs:{\"id\":\"main-content\"}},[_c('v-main',[_c('router-view')],1)],1),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.$store.state.rightNavExpanded || !_vm.mobile),expression:\"$store.state.rightNavExpanded || !mobile\"}],staticClass:\"ml-4\",attrs:{\"id\":\"right-bar\"}},[_c('right-nav')],1)])])],1)])]):_c('div',{staticStyle:{\"height\":\"100%\"}},[_c('router-view')],1),_c('v-snackbar',{staticStyle:{\"font-size\":\"1.1em\"},attrs:{\"id\":\"main-snackbar\",\"color\":_vm.color,\"timeout\":_vm.timeout,\"top\":true},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_c('div',[_vm._v(_vm._s(_vm.message))]),_c('v-btn',{attrs:{\"dark\":\"\",\"icon\":\"\",\"id\":\"main-snackbar-close\"},on:{\"click\":function($event){_vm.show = false}}},[_c('v-icon',[_vm._v(\"close\")])],1)],1),_c('v-overlay',{staticStyle:{\"z-index\":\"1000\"},attrs:{\"value\":_vm.$store.state.loadingState}},[_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":\"64\"}})],1),_c('global-modal-controller',{ref:\"gmc\"})],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.$store.state.isLoggedIn)?_c('div',{staticClass:\"column-format fill-height\"},[_c('div',{class:`row-format align-center mx-2 mt-2 mb-2 nav-link${_vm.$store.state.leftNavExpanded ? '-expanded' : ''}`},[_c('div',{staticClass:\"row-format align-center px-3 pb-3 pt-2\",staticStyle:{\"width\":\"100%\",\"min-height\":\"56px\",\"min-width\":\"56px\"}},[_c('div',{staticClass:\"mt-2 pr-2\",staticStyle:{\"cursor\":\"pointer\",\"text-align\":\"left\",\"width\":\"100%\"},on:{\"click\":function($event){return _vm.$router.push('/welcome')}}},[(_vm.$store.state.leftNavExpanded)?_c('img',{staticStyle:{\"max-width\":\"120px\",\"max-height\":\"50px\"},attrs:{\"src\":_vm.logo}}):_c('img',{staticStyle:{\"max-width\":\"120px\",\"max-height\":\"35px\"},attrs:{\"src\":_vm.logo}})])])]),_c('div',{staticStyle:{\"max-height\":\"calc(var(--vh) - 114px)\",\"overflow-y\":\"auto\"}},_vm._l((_vm.navLinks),function(link,index){return _c('nav-link',{key:`navlink-${index}`,attrs:{\"label\":link.label,\"icon\":link.icon,\"route\":link.route,\"hyper-link\":link.hyperLink}})}),1),_c('v-menu',{attrs:{\"offset-x\":\"\",\"nudge-left\":\"10\",\"content-class\":\"workspace-menu\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"workspace-settings row-format align-center pa-3\"},on),[(!_vm.$store.state.leftNavExpanded)?_c('div',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({\n\t\t\t\t\t\t\tplacement: 'right',\n\t\t\t\t\t\t\tarrow: true,\n\t\t\t\t\t\t\tarrowType: 'round',\n\t\t\t\t\t\t\tanimation: 'fade',\n\t\t\t\t\t\t\tdelay: 50,\n\t\t\t\t\t\t\tboundary: 'window',\n\t\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\t\\tplacement: 'right',\\n\\t\\t\\t\\t\\t\\t\\tarrow: true,\\n\\t\\t\\t\\t\\t\\t\\tarrowType: 'round',\\n\\t\\t\\t\\t\\t\\t\\tanimation: 'fade',\\n\\t\\t\\t\\t\\t\\t\\tdelay: 50,\\n\\t\\t\\t\\t\\t\\t\\tboundary: 'window',\\n\\t\\t\\t\\t\\t\\t}\"}],staticClass:\"row-format centered\",staticStyle:{\"margin-left\":\"6px\"},attrs:{\"content\":`Settings`}},[_c('v-avatar',{attrs:{\"size\":\"20\",\"color\":\"accent\"}},[_c('span',{staticClass:\"white--text brand-bold font-12\"},[_vm._v(_vm._s(_vm.clientInitials))])])],1):_c('div',{staticClass:\"row-format centered\",staticStyle:{\"margin-left\":\"6px\"}},[_c('v-avatar',{attrs:{\"size\":\"20\",\"color\":\"accent\"}},[_c('span',{staticClass:\"white--text brand-bold font-12\"},[_vm._v(_vm._s(_vm.clientInitials))])])],1),(_vm.$store.state.leftNavExpanded)?_c('div',{staticClass:\"nav-label ml-2\"},[_vm._v(_vm._s(_vm.$t('settings.label')))]):_vm._e(),(_vm.$store.state.leftNavExpanded)?_c('v-icon',{staticClass:\"ml-auto\",attrs:{\"small\":\"\"}},[_vm._v(\"$chevronRight\")]):_vm._e()],1)]}}],null,false,965967893)},[_c('settings-nav')],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:`${_vm.route ? 'pointer' : ''} row-format ${_vm.expanded ? 'align-center' : 'align-center'} mx-2 ${_vm.active ? 'nav-link-active' : ''} nav-link${\n\t\t\t_vm.expanded ? '-expanded' : ''\n\t\t}`,on:{\"click\":_vm.handleClick}},[(_vm.expanded)?_c('div',{staticClass:\"row-format align-center\",staticStyle:{\"padding-left\":\"10px\"}},[_c('v-icon',{class:!_vm.active ? 'material-symbols-outlined' : 'material-symbols-outlined',attrs:{\"color\":_vm.active ? 'primary' : 'custom'}},[_vm._v(_vm._s(_vm.icon))]),_c('div',{class:`ml-2 nav-label ${_vm.active ? 'active' : ''}`},[_vm._v(_vm._s(_vm.label))])],1):_c('div',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({placement : 'right',arrow : true, arrowType : 'round', animation : 'fade', delay: 50, boundary: 'window' }),expression:\"{placement : 'right',arrow : true, arrowType : 'round', animation : 'fade', delay: 50, boundary: 'window' }\"}],staticClass:\"row-format centered\",staticStyle:{\"padding-left\":\"10px\"},attrs:{\"content\":_vm.label}},[_c('v-icon',{class:!_vm.active ? 'material-symbols-outlined' : 'material-symbols-outlined',attrs:{\"color\":_vm.active ? 'primary' : 'custom'}},[_vm._v(_vm._s(_vm.icon))])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n<div\n    @click=\"handleClick\"\n    :class=\"`${route ? 'pointer' : ''} row-format ${expanded ? 'align-center' : 'align-center'} mx-2 ${active ? 'nav-link-active' : ''} nav-link${\n\t\t\texpanded ? '-expanded' : ''\n\t\t}`\"\n>\n<div v-if=\"expanded\" class=\"row-format align-center\" style=\"padding-left: 10px;\">\n  <v-icon :class=\"!active ? 'material-symbols-outlined' : 'material-symbols-outlined'\" :color=\"active ? 'primary' : 'custom'\">{{icon}}</v-icon>\n  <div :class=\"`ml-2 nav-label ${active ? 'active' : ''}`\">{{ label }}</div>\n</div>\n<div v-else class=\"row-format centered\"  style=\"padding-left: 10px;\" :content=\"label\" v-tippy=\"{placement : 'right',arrow : true, arrowType : 'round', animation : 'fade', delay: 50, boundary: 'window' }\">\n  <v-icon :class=\"!active ? 'material-symbols-outlined' : 'material-symbols-outlined'\" :color=\"active ? 'primary' : 'custom'\">{{icon}}</v-icon>\n</div>\n</div>\n</template>\n\n<script>\n//import HIcon3 from '@/components/HIcon3';\nexport default {\n  name: 'NavLink',\n\n  props: ['label', 'icon', 'route', 'disableActive','altRoutes','hyperLink'],\n\n  components: {  },\n\n  data: function () {\n    return {};\n  },\n\n  mounted() {},\n\n  beforeDestroy() {},\n\n  methods: {\n    handleClick: function () {\n      if(this.hyperLink) {\n        window.open(this.hyperLink,'_blank');\n      }else{\n        this.$router.push(this.route);\n      }\n    },\n  },\n\n  computed: {\n    expanded: function () {\n      return this.$store.state.leftNavExpanded;\n    },\n    active: function () {\n      if (this.disableActive) {\n        return false;\n      }\n      let active =  this.$route.path.startsWith(this.route.split(\"?\")[0]);\n      if(active){\n        return true;\n      }\n\n      if(this.altRoutes){\n        for(let i=0; i < this.altRoutes.length; i++){\n          if(this.$route.path.startsWith(this.altRoutes[i])){\n            return true;\n          }\n        }\n      }\n\n      return false;\n    },\n  },\n};\n</script>\n\n<style scoped lang=\"scss\">\n.nav-label {\n  font-size: 14px;\n  line-height: 14px;\n  color: var(--v-custom-base);\n  font-weight: 500;\n  text-align: left;\n}\n\n.filled {\n  font-variation-settings:\n      'FILL' 100,\n      'wght' 400,\n      'GRAD' 0,\n      'opsz' 48\n}\n\n.active {\n  color: var(--v-primary-base) !important;\n  background-color: var(--v-white-base);\n  border: none;\n}\n\n.nav-link-active {\n  background-color: var(--v-white-base);\n}\n\n.nav-link {\n  width: 44px;\n  height: 44px;\n  border-radius: 8px;\n}\n\n.nav-link-expanded {\n  width: 150px;\n  height: 44px;\n  border-radius: 8px;\n}\n</style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavLink.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavLink.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./NavLink.vue?vue&type=template&id=4433a4e4&scoped=true\"\nimport script from \"./NavLink.vue?vue&type=script&lang=js\"\nexport * from \"./NavLink.vue?vue&type=script&lang=js\"\nimport style0 from \"./NavLink.vue?vue&type=style&index=0&id=4433a4e4&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4433a4e4\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-container',{staticClass:\"pa-0 ma-0 text-left overflow-hidden\",staticStyle:{\"max-width\":\"425px\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('workspace-selector')],1),_c('v-col',{staticClass:\"pa-4\"},[_c('settings-locale',{attrs:{\"label\":_vm.$t('settings.language'),\"children\":_vm.countries.getCountriesTranslate(),\"icon\":\"translate\"},on:{\"selected\":function($event){return _vm.switchLocale($event)}}}),_c('settings-link',{attrs:{\"label\":_vm.$t('settings.theme'),\"children\":_vm.theme,\"icon\":_vm.themeIcon},on:{\"selected\":function($event){return _vm.handleThemeSelection($event)}}})],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import countriesSimple from '@/assets/data/countries-simple.json';\nimport countries from '@/assets/data/countries.json';\nimport countriesTranslate from '@/assets/data/languages.json';\n\nexport default class Countries {\n\tgetCountriesSimple() {\n\t\treturn countriesSimple;\n\t}\n\tgetCountries() {\n\t\treturn countries;\n\t}\n\tgetCountriesTranslate() {\n\t\treturn countriesTranslate;\n\t}\n\tcodeToName(code) {\n\t\tif (!code) return '';\n\t\tlet country = code;\n\t\tlet tmp = countriesSimple.find((c) => c.code === code);\n\t\tif (tmp) country = tmp.name;\n\t\treturn country;\n\t}\n\tstatic getCodeFromLocale() {\n\t\tconsole.log(navigator.language.slice(-2));\n\t\tconsole.log(navigator);\n\t\treturn navigator.language.slice(-2);\n\t}\n}\n","import HttpClient from \"./HttpClient\";\nimport store from '@/store';\n\nexport default class PodService {\n    httpClient;\n    standardHttpClient;\n\n    constructor() {\n        this.httpClient = new HttpClient(store.getters.getPodUrl + 'api');\n        this.standardHttpClient = new HttpClient();\n    }\n\n    ping(){\n        return this.standardHttpClient.get('/ping')\n            .then((res) => Promise.resolve(res))\n            .catch((err) => Promise.reject(err));\n    }\n\n    getIpInfo(){\n        return this.httpClient.get('/insecure/ip')\n            .then((res) => Promise.resolve(res))\n            .catch((err) => Promise.reject(err));\n    }\n\n    clearCookies() {\n        return this.httpClient.get('/insecure/clearCookies')\n            .then((res) => Promise.resolve(res))\n            .catch((err) => Promise.reject(err));\n    }\n\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"pointer\",staticStyle:{\"width\":\"100%\",\"border-bottom\":\"1px solid var(--v-gray_50-base)\"},on:{\"click\":function($event){$event.stopPropagation();_vm.expandClientList = !_vm.expandClientList}}},[_c('v-container',{staticClass:\"ma-0 pa-0\",style:(_vm.expandClientList && _vm.$store.getters.getClientAccounts.length > 1 ? 'border-bottom: 1px solid var(--v-gray_50-base)' : ''),attrs:{\"fluid\":\"\"}},_vm._l((_vm.clientList),function(client,index){return _c('v-row',{key:client.clientId,staticClass:\"ma-0 pt-2 pb-2 pl-3\",style:(index === 0 ? 'background: var(--v-primary-base)' : 'background: var(--v-sidebar-base);'),attrs:{\"dense\":\"\",\"align\":\"center\"}},[_c('v-col',{attrs:{\"cols\":\"10\",\"align\":\"left\"}},[_c('div',{staticClass:\"row-format pointer align-center\",staticStyle:{\"align-items\":\"center\"},on:{\"click\":function($event){$event.stopPropagation();_vm.expandClientList ? _vm.handleClientSelection(client) : (_vm.expandClientList = true)}}},[_c('div',[_c('v-avatar',{attrs:{\"size\":\"25\",\"color\":\"accent\"}},[_c('span',{staticClass:\"white--text brand-bold\"},[_vm._v(_vm._s(_vm.getClientInitials(client.clientName)))])])],1),_c('div',{class:`pl-2 ${index === 0 ? 'black--text' : ''}`,staticStyle:{\"margin-left\":\"-2px\"}},[_c('span',{staticStyle:{\"font-size\":\"14px\",\"font-weight\":\"600\"}},[_vm._v(_vm._s(client.clientName))])])])]),(index === 0)?_c('v-col',{staticClass:\"pointer\",attrs:{\"cols\":\"2\",\"align\":\"right\"}},[(_vm.$store.getters.getClientAccounts.length > 1)?_c('v-icon',{staticStyle:{\"margin-right\":\"12px\"},attrs:{\"color\":\"black\",\"size\":\"25\"}},[_vm._v(_vm._s(_vm.expandClientList ? 'unfold_less' : 'unfold_more'))]):_vm._e()],1):_vm._e()],1)}),1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <div\n        class=\"pointer\"\n        style=\"width:100%;border-bottom: 1px solid var(--v-gray_50-base)\"\n        @click.stop=\"expandClientList = !expandClientList\"\n    >\n      <v-container\n          fluid\n          class=\"ma-0 pa-0\"\n          :style=\"expandClientList && $store.getters.getClientAccounts.length > 1 ? 'border-bottom: 1px solid var(--v-gray_50-base)' : ''\"\n      >\n        <v-row\n            dense\n            class=\"ma-0 pt-2 pb-2 pl-3\"\n            align=\"center\"\n            v-for=\"(client, index) in clientList\"\n            :key=\"client.clientId\"\n            :style=\"index === 0 ? 'background: var(--v-primary-base)' : 'background: var(--v-sidebar-base);'\"\n        >\n          <v-col cols=\"10\" align=\"left\">\n            <div\n                class=\"row-format pointer align-center\"\n                style=\"align-items: center\"\n                @click.stop=\"\n\t\t\t\t\t\t\t\texpandClientList ? handleClientSelection(client) : (expandClientList = true)\n\t\t\t\t\t\t\t\"\n            >\n              <div>\n                <v-avatar size=\"25\" color=\"accent\">\n                  <span class=\"white--text brand-bold\">{{ getClientInitials(client.clientName) }}</span>\n                </v-avatar>\n              </div>\n              <div :class=\"`pl-2 ${index === 0 ? 'black--text' : ''}`\" style=\"margin-left: -2px\">\n                <span style=\"font-size: 14px; font-weight: 600\">{{ client.clientName }}</span>\n              </div>\n            </div>\n          </v-col>\n          <v-col cols=\"2\" align=\"right\" class=\"pointer\" v-if=\"index === 0\">\n            <v-icon color=\"black\" style=\"margin-right:12px\" size=\"25\" v-if=\"$store.getters.getClientAccounts.length > 1\">{{\n                expandClientList ? 'unfold_less' : 'unfold_more'\n              }}</v-icon>\n          </v-col>\n        </v-row>\n      </v-container>\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  name: \"WorkspaceSelector\",\n\n  props: [],\n\n  components: {},\n\n  data: function () {\n    return {\n      expandClientList: false,\n    }\n  },\n\n  mounted() {\n  },\n\n  beforeDestroy() {\n  },\n\n  methods: {\n    handleClientSelection(client) {\n\n      if (this.$store.getters.getClient === client) {\n        return;\n      }\n\n      // for (let i = 0; i <this.$store.getters.getClientAccounts.length; i++) {\n      //   let ua = client.clientId[i];\n      //   if (ua.client.clientId === client) {\n      //     this.$store.dispatch('setSelectedClient', ua);\n      //     this.expandClientList = false\n      //     return;\n      //   }\n      // }\n\n      this.$store.commit('setSelectedClient',client.clientId);\n      localStorage.setItem('SELECTED_CLIENT',client.clientId);\n      window.location.href = \"/\";\n    },\n\n    getClientInitials(clientName) {\n      if(!clientName){\n        return '?'\n      }\n      let ignoreMe = ['a', 'an', 'as', 'to', 'and', 'of', 'if', 'in', 'the', '-'];\n      let words = clientName.toLowerCase().split(' ');\n      let ret = [];\n      for (let i = 0; i < words.length; i++) {\n        if (ignoreMe.indexOf(words[i]) > -1) continue;\n        ret[i] = words[i].substring(0, 1);\n        if (ret.length == 3) break;\n      }\n      return ret.join('').toUpperCase();\n    },\n\n  },\n\n  computed: {\n    clientList() {\n      let clientList = [];\n      clientList.push(this.$store.getters.getClient);\n      console.log(this.$store.getters.get);\n\n      if (this.expandClientList) {\n        // return this.$store.getters.getClientAccounts;\n\n        for ( let i = 0; i < this.$store.getters.getClientAccounts.length; i++) {\n          let ua = this.$store.getters.getClientAccounts[i];\n          if (ua.clientId !== this.$store.getters.getClientId) {\n            clientList.push(ua);\n          }\n        }\n      }\n      return clientList;\n    },\n  },\n}\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WorkspaceSelector.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WorkspaceSelector.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./WorkspaceSelector.vue?vue&type=template&id=7028505a&scoped=true\"\nimport script from \"./WorkspaceSelector.vue?vue&type=script&lang=js\"\nexport * from \"./WorkspaceSelector.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7028505a\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAvatar,VCol,VContainer,VIcon,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.children.length)?_c('v-menu',{attrs:{\"offset-x\":\"\",\"content-class\":\"workspace-sub-menu\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"settings-link row-format align-center pointer\"},on),[_c('v-icon',{attrs:{\"size\":\"16\",\"color\":\"custom\"}},[_vm._v(_vm._s(_vm.icon))]),_c('div',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.label))]),(_vm.children.length)?_c('v-icon',{staticClass:\"ml-auto\",attrs:{\"small\":\"\"}},[_vm._v(\"$chevronRight\")]):_vm._e()],1)]}}],null,false,1675812709)},[_c('div',{staticClass:\"column-format\"},_vm._l((_vm.children),function(child){return _c('settings-link',{key:child.route,attrs:{\"label\":child.label,\"route\":child.route,\"icon\":child.icon,\"select-value\":child.selectValue},on:{\"selected\":function($event){return _vm.$emit('selected',$event)}}})}),1)]):_c('div',{staticClass:\"settings-link row-format align-center pointer\",on:{\"click\":_vm.handleClick}},[_c('v-icon',{attrs:{\"size\":\"16\",\"color\":\"custom\"}},[_vm._v(_vm._s(_vm.icon))]),_c('div',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.label))])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <v-menu offset-x content-class=\"workspace-sub-menu\" v-if=\"children.length\">\n      <template v-slot:activator=\"{ on }\">\n        <div class=\"settings-link row-format align-center pointer\" v-on=\"on\">\n          <v-icon size=\"16\" color=\"custom\">{{icon}}</v-icon>\n          <div class=\"ml-1\">{{label}}</div>\n          <v-icon small class=\"ml-auto\" v-if=\"children.length\">$chevronRight</v-icon>\n        </div>\n      </template>\n      <div class=\"column-format\">\n        <settings-link v-for=\"child in children\" :key=\"child.route\" :label=\"child.label\" :route=\"child.route\" :icon=\"child.icon\" :select-value=\"child.selectValue\" @selected=\"$emit('selected',$event)\"></settings-link>\n      </div>\n    </v-menu>\n\n    <div class=\"settings-link row-format align-center pointer\" v-else @click=\"handleClick\">\n      <v-icon size=\"16\" color=\"custom\">{{icon}}</v-icon>\n      <div class=\"ml-1\">{{label}}</div>\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  name: \"SettingsLink\",\n\n  props: {\n    pro: {type: Boolean, required: false, default: false},\n    icon: { type: String, required: false},\n    label: { type: String, required: true },\n    route: { type: String, required: false },\n    selectValue: {type: String, required: false},\n    children: { type: Array, required: false, default: () => []},\n  },\n\n  components: {},\n\n  data: function () {\n    return {}\n  },\n\n  mounted() {\n  },\n\n  beforeDestroy() {\n  },\n\n  methods: {\n    handleClick: function(){\n      if(this.route){\n        this.$router.push(this.route);\n      }\n      if(this.selectValue){\n        this.$emit('selected',this.selectValue);\n      }\n    }\n  },\n\n  computed: {},\n\n}\n</script>\n\n<style lang=\"scss\">\n.workspace-sub-menu {\n  filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.2));\n  box-shadow: none !important;\n  border-radius: 8px !important;\n  background-color: var(--v-white-base);\n  padding: 4px 12px;\n}\n</style>\n\n<style scoped lang=\"scss\">\n.settings-link {\n  font-weight: 500;\n  width: 100%;\n  font-size: 14px;\n  line-height: 14px;\n\n  padding: 8px 0px;\n  color: var(--v-custom-base);\n\n  &:hover {\n    color: var(--v-primary-base);\n  }\n}\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsLink.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsLink.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SettingsLink.vue?vue&type=template&id=1c4be502&scoped=true\"\nimport script from \"./SettingsLink.vue?vue&type=script&lang=js\"\nexport * from \"./SettingsLink.vue?vue&type=script&lang=js\"\nimport style0 from \"./SettingsLink.vue?vue&type=style&index=0&id=1c4be502&prod&lang=scss\"\nimport style1 from \"./SettingsLink.vue?vue&type=style&index=1&id=1c4be502&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1c4be502\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VIcon,VMenu})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.children.length)?_c('v-menu',{attrs:{\"offset-x\":\"\",\"content-class\":\"locale-workspace-sub-menu\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"settings-link row-format align-center pointer\"},on),[_c('v-icon',{attrs:{\"size\":\"16\",\"color\":\"custom\"}},[_vm._v(_vm._s(_vm.icon))]),_c('div',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.label))]),(_vm.children.length)?_c('v-icon',{staticClass:\"ml-auto\",attrs:{\"small\":\"\"}},[_vm._v(\"$chevronRight\")]):_vm._e()],1)]}}],null,false,1675812709)},[_c('div',{staticClass:\"column-format\"},_vm._l((_vm.children),function(child){return _c('locale-switcher',{key:child.code,attrs:{\"label\":child.name,\"route\":child.route,\"select-value\":child.code},on:{\"selected\":function($event){return _vm.$emit('selected',$event)}}})}),1)]):_c('div',{staticClass:\"settings-link row-format align-center pointer\",on:{\"click\":_vm.handleClick}},[_c('v-icon',{attrs:{\"size\":\"16\",\"color\":\"custom\"}},[_vm._v(_vm._s(_vm.icon))]),_c('div',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.label))])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <v-menu offset-x content-class=\"locale-workspace-sub-menu\" v-if=\"children.length\">\n      <template v-slot:activator=\"{ on }\">\n        <div class=\"settings-link row-format align-center pointer\" v-on=\"on\">\n          <v-icon size=\"16\" color=\"custom\">{{icon}}</v-icon>\n          <div class=\"ml-1\">{{label}}</div>\n          <v-icon small class=\"ml-auto\" v-if=\"children.length\">$chevronRight</v-icon>\n        </div>\n      </template>\n      <div class=\"column-format\">\n        <locale-switcher v-for=\"child in children\" :key=\"child.code\" :label=\"child.name\" :route=\"child.route\" :select-value=\"child.code\" @selected=\"$emit('selected',$event)\"></locale-switcher>\n      </div>\n    </v-menu>\n\n    <div class=\"settings-link row-format align-center pointer\" v-else @click=\"handleClick\">\n      <v-icon size=\"16\" color=\"custom\">{{icon}}</v-icon>\n      <div class=\"ml-1\">{{label}}</div>\n    </div>\n  </div>\n</template>\n\n<script>\nexport default {\n  name: \"LocaleSwitcher\",\n\n  props: {\n    pro: {type: Boolean, required: false, default: false},\n    icon: { type: String, required: false},\n    label: { type: String, required: true },\n    route: { type: String, required: false },\n    selectValue: {type: String, required: false},\n    children: { type: Array, required: false, default: () => []},\n  },\n\n  components: {},\n\n  data: function () {\n    return {}\n  },\n\n  mounted() {\n  },\n\n  beforeDestroy() {\n  },\n\n  methods: {\n    handleClick: function(){\n      if(this.route){\n        this.$router.push(this.route);\n      }\n      if(this.selectValue){\n        this.$emit('selected',this.selectValue);\n      }\n    }\n  },\n\n  computed: {},\n\n}\n</script>\n\n<style lang=\"scss\">\n.locale-workspace-sub-menu {\n  height: 280px;\n  filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.2));\n  box-shadow: none !important;\n  border-radius: 8px !important;\n  background-color: var(--v-white-base);\n  padding: 4px 12px;\n}\n</style>\n\n<style scoped lang=\"scss\">\n.settings-link {\n  font-weight: 500;\n  width: 100%;\n  font-size: 14px;\n  line-height: 14px;\n\n  padding: 8px 0px;\n  color: var(--v-custom-base);\n\n  &:hover {\n    color: var(--v-primary-base);\n  }\n}\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsLanguage.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsLanguage.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SettingsLanguage.vue?vue&type=template&id=1985a90c&scoped=true\"\nimport script from \"./SettingsLanguage.vue?vue&type=script&lang=js\"\nexport * from \"./SettingsLanguage.vue?vue&type=script&lang=js\"\nimport style0 from \"./SettingsLanguage.vue?vue&type=style&index=0&id=1985a90c&prod&lang=scss\"\nimport style1 from \"./SettingsLanguage.vue?vue&type=style&index=1&id=1985a90c&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1985a90c\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VIcon,VMenu})\n","<template>\n  <div>\n    <v-container class=\"pa-0 ma-0 text-left overflow-hidden\" style=\"max-width: 425px\">\n      <v-row dense>\n        <v-col cols=\"12\">\n          <workspace-selector></workspace-selector>\n        </v-col>\n        <v-col class=\"pa-4\">\n          <settings-locale :label=\"$t('settings.language')\" :children=\"countries.getCountriesTranslate()\" icon=\"translate\" @selected=\"switchLocale($event)\"></settings-locale>\n          <settings-link :label=\"$t('settings.theme')\" :children=\"theme\" :icon=\"themeIcon\" @selected=\"handleThemeSelection($event)\"></settings-link>\n        </v-col>\n      </v-row>\n    </v-container>\n  </div>\n</template>\n\n<script>\nimport Countries from '@/modules/utils/Countries.js'\nimport AuthService from \"@/modules/auth/AuthService\";\nimport PodService from \"@/services/PodService\";\nimport WorkspaceSelector from \"@/views/nav/settings/WorkspaceSelector\";\nimport SettingsLink from \"@/views/nav/settings/SettingsLink\";\nimport SettingsLocale from \"@/views/nav/settings/SettingsLanguage.vue\";\n\nexport default {\n  name: \"SettingsNav\",\n\n  props: [],\n\n  components: {SettingsLink, SettingsLocale, WorkspaceSelector},\n\n  data: function () {\n    return {\n      countries: new Countries(),\n      theme: [\n        { label: this.$t('settings.light-mode'), selectValue: 'never', icon: 'light_mode'},\n        { label: this.$t('settings.dark-mode'), selectValue: 'always', icon: 'dark_mode'},\n        { label: this.$t('settings.system-default'), selectValue: 'automatic', icon: 'settings_brightness' }\n      ],\n    }\n  },\n\n  mounted() {\n  },\n\n  beforeDestroy() {\n  },\n\n  methods: {\n    handleThemeSelection: function(theme){\n      localStorage.setItem('DARK_MODE', theme);\n      this.$store.state.darkMode = theme;\n      this.$store.state.eventBus.$emit('dark-mode-changed', theme);\n    },\n\n    switchLocale: function(lang) {\n      localStorage.setItem('lang', lang);\n      this.$store.state.selectLang = lang;\n      this.$store.state.eventBus.$emit('lang-changed', lang);\n      window.location.reload()\n      console.log('Im hit!');\n    },\n\n    doLogout() {\n      this.dialog = false;\n      try {\n        window.google.accounts.id.disableAutoSelect();\n      }catch(err){\n        console.log(err);\n      }\n\n      AuthService.logout()\n          .then(() => {\n            console.log('Logout Success');\n            this.podLogout();\n          })\n          .catch((err) => {\n            console.log(err);\n            this.podLogout();\n          });\n    },\n\n    podLogout() {\n      let podService = new PodService();\n      podService\n          .clearCookies()\n          .then(() => {\n            this.finalizeLogout();\n          })\n          .catch(() => {\n            this.finalizeLogout();\n          });\n    },\n\n\n    finalizeLogout() {\n      this.$store.commit('logOut');\n      location.reload();\n    },\n  },\n\n  computed: {\n    isFullUser(){\n      return this.$store.getters.isAccountFullUser;\n    },\n\n    themeIcon: function(){\n      if(this.$store.state.darkMode === 'never'){\n        return 'light_mode';\n      }else if(this.$store.state.darkMode === 'always'){\n        return 'dark_mode';\n      }else{\n        return 'settings_brightness'\n      }\n    }\n  },\n\n}\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsNav.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsNav.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SettingsNav.vue?vue&type=template&id=71bf3db6&scoped=true\"\nimport script from \"./SettingsNav.vue?vue&type=script&lang=js\"\nexport * from \"./SettingsNav.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"71bf3db6\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VRow})\n","export default {\n\tmethods: {\n\t\tsortPages: function(a, b) {\n\t\t\tlet result = a.sortOrder - b.sortOrder;\n\t\t\tif (result == 0) {\n\t\t\t\treturn a.title.localeCompare(b.title);\n\t\t\t} else {\n\t\t\t\treturn result;\n\t\t\t}\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tnavLinks: function() {\n\t\t\tlet standardPages = [];\n\t\t\tlet customPages = [];\n\t\t\tlet result = [];\n\n\t\t\tif (this.features.invoicesEnabled) {\n\t\t\t\tlet page = {\n\t\t\t\t\tlabel: this.$t('nav.invoices'),\n\t\t\t\t\ticon: 'request_quote',\n\t\t\t\t\troute: '/invoices?v=list',\n\t\t\t\t\ttabs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: this.$t('invoices.list.heading'),\n\t\t\t\t\t\t\troute: '/invoices?v=list',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: this.$t('invoices.reports.heading'),\n\t\t\t\t\t\t\troute: '/invoices?v=reports',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: this.$t('invoices.ach-account.heading'),\n\t\t\t\t\t\t\troute: '/invoices?v=accounts',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: this.$t('subscriptions.heading'),\n\t\t\t\t\t\t\troute: '/invoices?v=subscriptions',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t}\n\n\t\t\t\tif(!this.features.summaryFinancialsEnabled){\n\t\t\t\t\tlet ix = page.tabs.findIndex(t => t.route === '/invoices?v=reports');\n\t\t\t\t\tpage.tabs.splice(ix,1);\n\t\t\t\t}\n\n\t\t\t\tstandardPages.push(page);\n\t\t\t}\n\n\n\t\t\tif (this.features.timeEnabled) {\n\t\t\t\tstandardPages.push({\n\t\t\t\t\tlabel: this.$t('nav.timetrack'),\n\t\t\t\t\ticon: 'timer',\n\t\t\t\t\troute: '/time?v=list',\n\t\t\t\t\ttabs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: this.$t('timetrack.time-entries.heading'),\n\t\t\t\t\t\t\troute: '/time?v=list',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: this.$t('timetrack.reports.heading'),\n\t\t\t\t\t\t\troute: '/time?v=reports',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (this.features.projectsEnabled) {\n\t\t\t\tstandardPages.push({\n\t\t\t\t\tlabel: this.$t('nav.projects'),\n\t\t\t\t\ticon: 'folder_special',\n\t\t\t\t\troute: '/projects?v=overview',\n\t\t\t\t\ttabs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: this.$t('projects.overview.heading'),\n\t\t\t\t\t\t\troute: '/projects?v=overview',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: this.$t('projects.kanban'),\n\t\t\t\t\t\t\troute: '/projects?v=kanban',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: this.$t('projects.timeline'),\n\t\t\t\t\t\t\troute: '/projects?v=timeline',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (this.features.proposalsEnabled) {\n\t\t\t\tstandardPages.push({ label: this.$t('nav.agreements'), icon: 'handshake', route: '/agreements' });\n\t\t\t}\n\n\t\t\tif (this.features.filesEnabled) {\n\t\t\t\tstandardPages.push({ label: this.$t('nav.files'), icon: 'folder_open', route: '/files' });\n\t\t\t}\n\n\t\t\tif (this.features.meetingsEnabled) {\n\t\t\t\tstandardPages.push({\n\t\t\t\t\tlabel: this.$t('nav.meetings'),\n\t\t\t\t\ticon: 'group',\n\t\t\t\t\troute: '/meetings/schedulers',\n\t\t\t\t\ttabs: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: this.$t('meetings.schedule.heading'),\n\t\t\t\t\t\t\troute: '/meetings/schedulers',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: this.$t('meetings.booked.heading'),\n\t\t\t\t\t\t\troute: '/meetings/booked',\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (this.features.formsEnabled) {\n\t\t\t\tstandardPages.push({\n\t\t\t\t\tlabel: this.$t('nav.forms'),\n\t\t\t\t\ticon: 'list',\n\t\t\t\t\troute: '/forms',\n\t\t\t\t});\n\t\t\t}\n\n\t\t\tif (this.features.ticketsEnabled) {\n\t\t\t\tstandardPages.push({ label: this.$t('nav.requests'), icon: 'contact_support', route: '/requests' });\n\t\t\t}\n\n\t\t\tthis.customPages.forEach((p) => {\n\t\t\t\tlet page = {\n\t\t\t\t\tlabel: p.title,\n\t\t\t\t\ticon: p.icon,\n\t\t\t\t\thyperLink: p.type === 'External' ? p.hyperLink : null,\n\t\t\t\t\troute: `/pages/${p.slug}`,\n\t\t\t\t\tsortOrder: p.sortOrder,\n\t\t\t\t};\n\n\t\t\t\tif(p.isDefault) {\n\t\t\t\t\tresult.push(page);\n\t\t\t\t}else{\n\t\t\t\t\tcustomPages.push(page);\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tlet totalPages = customPages.length + standardPages.length;\n\n\t\t\tfor (let i = 0; i <= totalPages; i++) {\n\t\t\t\tlet pagePosition = i + 1;\n\t\t\t\tlet ix = customPages.findIndex((p) => p.sortOrder === pagePosition);\n\t\t\t\tif (ix > -1) {\n\t\t\t\t\tlet page = customPages.splice(ix, 1)[0];\n\t\t\t\t\tresult.push(page);\n\t\t\t\t} else if (standardPages.length) {\n\t\t\t\t\tresult.push(standardPages.shift());\n\t\t\t\t} else if (customPages.length) {\n\t\t\t\t\tresult.push(customPages.shift());\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn result;\n\t\t},\n\n\t\tcustomPages: function() {\n\t\t\tlet result = [... this.$store.state.customPages];\n\t\t\tresult.sort(this.sortPages);\n\t\t\treturn result;\n\t\t},\n\n\t\tclientInitials() {\n\t\t\tlet ignoreMe = ['a', 'an', 'as', 'to', 'and', 'of', 'if', 'in', '-'];\n\t\t\tlet accountName = this.$store.getters.getClientName;\n\t\t\tif (!accountName) {\n\t\t\t\treturn '?';\n\t\t\t}\n\t\t\tlet words = this.$store.getters.getClientName.toLowerCase().split(' ');\n\t\t\tlet ret = [];\n\t\t\tfor (let i = 0; i < words.length; i++) {\n\t\t\t\tif (ignoreMe.indexOf(words[i]) > -1) continue;\n\t\t\t\tret[i] = words[i].substring(0, 1);\n\t\t\t\tif (ret.length == 3) break;\n\t\t\t}\n\t\t\treturn ret.join('').toUpperCase();\n\t\t},\n\n\t\tlogo: function() {\n\t\t\tif (this.$vuetify.theme.dark && this.$store.state.domain.logoDark) {\n\t\t\t\treturn this.$store.state.domain.logoDark;\n\t\t\t} else {\n\t\t\t\treturn this.$store.state.domain.logo;\n\t\t\t}\n\t\t},\n\n\t\tfeatures: function() {\n\t\t\treturn this.$store.getters.getFeatures;\n\t\t},\n\t},\n};\n","<template>\n\t<div class=\"column-format fill-height\" style=\"\" v-if=\"$store.state.isLoggedIn\">\n\t\t<div :class=\"`row-format align-center mx-2 mt-2 mb-2 nav-link${$store.state.leftNavExpanded ? '-expanded' : ''}`\">\n\t\t\t<div class=\"row-format align-center px-3 pb-3 pt-2\" style=\"width: 100%; min-height: 56px; min-width: 56px\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"mt-2 pr-2\"\n\t\t\t\t\tstyle=\"cursor: pointer; text-align: center; width: 100%; text-align: left\"\n\t\t\t\t\t@click=\"$router.push('/welcome')\"\n\t\t\t\t>\n\t\t\t\t\t<img v-if=\"$store.state.leftNavExpanded\" :src=\"logo\" style=\"max-width: 120px; max-height: 50px\" />\n\t\t\t\t\t<img v-else :src=\"logo\" style=\"max-width: 120px; max-height: 35px\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div style=\"max-height: calc(var(--vh) - 114px); overflow-y: auto\">\n\t\t\t<nav-link\n\t\t\t\tv-for=\"(link, index) in navLinks\"\n\t\t\t\t:key=\"`navlink-${index}`\"\n\t\t\t\t:label=\"link.label\"\n\t\t\t\t:icon=\"link.icon\"\n\t\t\t\t:route=\"link.route\"\n\t\t\t\t:hyper-link=\"link.hyperLink\"\n\t\t\t></nav-link>\n\t\t</div>\n\t\t<v-menu offset-x nudge-left=\"10\" content-class=\"workspace-menu\">\n\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t<div class=\"workspace-settings row-format align-center pa-3\" v-on=\"on\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"!$store.state.leftNavExpanded\"\n\t\t\t\t\t\tstyle=\"margin-left: 6px\"\n\t\t\t\t\t\tclass=\"row-format centered\"\n\t\t\t\t\t\t:content=\"`Settings`\"\n\t\t\t\t\t\tv-tippy=\"{\n\t\t\t\t\t\t\tplacement: 'right',\n\t\t\t\t\t\t\tarrow: true,\n\t\t\t\t\t\t\tarrowType: 'round',\n\t\t\t\t\t\t\tanimation: 'fade',\n\t\t\t\t\t\t\tdelay: 50,\n\t\t\t\t\t\t\tboundary: 'window',\n\t\t\t\t\t\t}\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<v-avatar size=\"20\" color=\"accent\">\n\t\t\t\t\t\t\t<span class=\"white--text brand-bold font-12\">{{ clientInitials }}</span>\n\t\t\t\t\t\t</v-avatar>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-else style=\"margin-left: 6px\" class=\"row-format centered\">\n\t\t\t\t\t\t<v-avatar size=\"20\" color=\"accent\">\n\t\t\t\t\t\t\t<span class=\"white--text brand-bold font-12\">{{ clientInitials }}</span>\n\t\t\t\t\t\t</v-avatar>\n\t\t\t\t\t</div>\n\n          <div class=\"nav-label ml-2\" v-if=\"$store.state.leftNavExpanded\">{{ $t('settings.label') }}</div>\n          <v-icon class=\"ml-auto\" small v-if=\"$store.state.leftNavExpanded\">$chevronRight</v-icon>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<settings-nav></settings-nav>\n\t\t</v-menu>\n\t</div>\n</template>\n\n<script>\n\timport NavLink from '@/views/nav/NavLink.vue';\n\timport SettingsNav from '@/views/nav/settings/SettingsNav.vue';\n\timport NavMixin from '@/views/nav/NavMixin';\n\texport default {\n\t\tname: 'LeftNav',\n\n\t\tprops: [],\n\n\t\tcomponents: { NavLink, SettingsNav },\n\n\t\tmixins: [NavMixin],\n\n\t\tdata: function() {\n\t\t\treturn {};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.workspace-menu {\n\t\tfilter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.2));\n\t\tbox-shadow: none !important;\n\t\tborder-radius: 8px !important;\n\t\tposition: absolute;\n\t\tbottom: 20px !important;\n\t\ttop: unset !important;\n\t\tbackground-color: var(--v-white-base);\n\t\tz-index: 1000 !important;\n\t}\n</style>\n\n<style scoped lang=\"scss\">\n\t.fill-height {\n\t\theight: var(--vh);\n\t}\n\n\t.nav-link {\n\t\twidth: 44px;\n\t\theight: 44px;\n\t\tborder-radius: 8px;\n\t}\n\n\t.nav-link-expanded {\n\t\twidth: 180px;\n\t\theight: 44px;\n\t\tborder-radius: 8px;\n\t}\n\n\t.nav-label {\n\t\tfont-weight: 500;\n\t\tfont-size: 14px;\n\t\tline-height: 14px;\n\t\t//letter-spacing: -0.01em;\n\t\tcolor: var(--v-custom-base);\n\t}\n\n\t.workspace-settings {\n\t\tcursor: pointer;\n\t\tmargin-top: auto;\n\t\tpadding: 0px 8px;\n\n\t\twidth: 100%;\n\t\theight: 52px;\n\n\t\t/* Blues/Royal Blue 05 */\n\n\t\tbackground: var(--v-sidebar-base);\n\t\tborder-top: 1px solid rgba(0, 0, 0, 0.02);\n\t\tbox-shadow: 0px -1px 4px rgba(0, 0, 0, 0.2);\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeftNav.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeftNav.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LeftNav.vue?vue&type=template&id=562a40fa&scoped=true\"\nimport script from \"./LeftNav.vue?vue&type=script&lang=js\"\nexport * from \"./LeftNav.vue?vue&type=script&lang=js\"\nimport style0 from \"./LeftNav.vue?vue&type=style&index=0&id=562a40fa&prod&lang=scss\"\nimport style1 from \"./LeftNav.vue?vue&type=style&index=1&id=562a40fa&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"562a40fa\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VAvatar,VIcon,VMenu})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"show-scrollbar\",staticStyle:{\"max-height\":\"calc(var(--vh) - 50px)\",\"overflow-y\":\"auto\"}},[_c('notifications')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.actionItems)?_c('div',{staticClass:\"column-format font-14 ma-3\"},[(_vm.features.projectsEnabled)?_c('deliverables',{staticClass:\"action-item\",attrs:{\"deliverables\":_vm.actionItems.deliverables},on:{\"refresh\":_vm.getActionItems}}):_vm._e(),(_vm.features.invoicesEnabled)?_c('invoices',{staticClass:\"action-item\",attrs:{\"invoices\":_vm.actionItems.invoices},on:{\"refresh\":_vm.getActionItems}}):_vm._e(),(_vm.features.formsEnabled)?_c('forms',{staticClass:\"action-item\",attrs:{\"forms\":_vm.actionItems.forms},on:{\"refresh\":_vm.getActionItems}}):_vm._e(),(_vm.features.proposalsEnabled)?_c('proposals',{staticClass:\"action-item\",attrs:{\"proposals\":_vm.actionItems.proposals,\"agreements\":_vm.actionItems.agreements},on:{\"refresh\":_vm.getActionItems}}):_vm._e(),(_vm.features.meetingsEnabled)?_c('meetings',{staticClass:\"action-item\",attrs:{\"meetings\":_vm.actionItems.meetings},on:{\"refresh\":_vm.getActionItems}}):_vm._e(),(_vm.features.invoicesEnabled)?_c('subscription-requests',{staticClass:\"action-item\",attrs:{\"subscription-requests\":_vm.actionItems.subscriptionRequests},on:{\"refresh\":_vm.getActionItems}}):_vm._e(),(_vm.actionCount === 0)?_c('div',{staticStyle:{\"text-align\":\"center\",\"width\":\"100%\"}},[_c('div',{staticClass:\"font-14 font-gray_70\"},[_vm._v(\"Zero notifications found\")])]):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.subscriptionRequests.length)?_c('div',[_c('div',{staticClass:\"brand-medium pointer\",on:{\"click\":function($event){return _vm.$router.push('/invoices?v=subscriptions')}}},[_vm._v(\" \"+_vm._s(_vm.$t('welcome.currently-have'))+\" \"),_c('span',{staticStyle:{\"color\":\"var(--v-primary-base)\"}},[_vm._v(_vm._s(_vm.subscriptionRequests.length))]),_vm._v(\" \"+_vm._s(_vm.$tc('welcome.subscription-payments',_vm.subscriptionRequests.length))+\". \")]),_c('div',{staticClass:\"column-format\",staticStyle:{\"gap\":\"8px\",\"margin-top\":\"12px\"}},_vm._l((_vm.subscriptionRequests),function(request){return _c('div',{key:request.id,staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.openRequest(request)}}},_vm._l((request.productSelections),function(product,index){return _c('div',{key:index},[_vm._v(\" \"+_vm._s(product.quantity)+\" x \"+_vm._s(product.subscriptionProduct.name)+\" @ \"+_vm._s(_vm.$formatters.dollars( product.subscriptionProduct.prices[0].unitAmount / 100, true, true, product.subscriptionProduct.prices[0].currency ))+\" \")])}),0)}),0)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div v-if=\"subscriptionRequests.length\">\n\t\t<div class=\"brand-medium pointer\" @click=\"$router.push('/invoices?v=subscriptions')\">\n\t\t\t{{ $t('welcome.currently-have') }}\n\t\t\t<span style=\"color: var(--v-primary-base)\">{{ subscriptionRequests.length }}</span>\n\t\t\t{{ $tc('welcome.subscription-payments',subscriptionRequests.length) }}.\n\t\t</div>\n\t\t<div class=\"column-format\" style=\"gap: 8px; margin-top: 12px\">\n\t\t\t<div\n\t\t\t\tv-for=\"request in subscriptionRequests\"\n\t\t\t\t:key=\"request.id\"\n\t\t\t\tclass=\"action-button\"\n\t\t\t\t@click.stop=\"openRequest(request)\"\n\t\t\t>\n        <div v-for=\"(product,index) in request.productSelections\" :key=\"index\">\n          {{ product.quantity }} x {{ product.subscriptionProduct.name }} @\n          {{\n            $formatters.dollars(\n                product.subscriptionProduct.prices[0].unitAmount / 100,\n                true,\n                true,\n                product.subscriptionProduct.prices[0].currency\n            )\n          }}\n        </div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport { DateTime } from 'luxon';\n\n\texport default {\n\t\tname: 'SubscriptionRequests',\n\n\t\tprops: ['subscriptionRequests'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tDateTime: DateTime,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\topenRequest: function(request) {\n\t\t\t\twindow.location.href = request.checkoutUrl;\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubscriptionRequests.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubscriptionRequests.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SubscriptionRequests.vue?vue&type=template&id=0ffee97c&scoped=true\"\nimport script from \"./SubscriptionRequests.vue?vue&type=script&lang=js\"\nexport * from \"./SubscriptionRequests.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"0ffee97c\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.deliverables.length)?_c('div',[_c('div',{staticClass:\"brand-medium pointer\",on:{\"click\":function($event){return _vm.$router.push('/projects?v=overview')}}},[_vm._v(\" \"+_vm._s(_vm.$t('welcome.currently-have'))+\" \"),_c('span',{staticStyle:{\"color\":\"var(--v-primary-base)\"}},[_vm._v(_vm._s(_vm.deliverables.length))]),_vm._v(\" \"+_vm._s(_vm.$tc('welcome.approval', _vm.deliverables.length))+\". \")]),_c('div',{staticClass:\"column-format\",staticStyle:{\"gap\":\"8px\",\"margin-top\":\"12px\"}},_vm._l((_vm.deliverables),function(deliverable){return _c('div',{key:deliverable.id,staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.openDeliverable(deliverable)}}},[_vm._v(\" \"+_vm._s(deliverable.name)+\" \")])}),0)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"column-format\",attrs:{\"id\":\"deliverable-detail\"}},[_c('div',{staticClass:\"modal-header row-format align-center\"},[_c('div',{staticClass:\"row-format align-center\"},[_c('v-icon',{attrs:{\"size\":\"24\"}},[_vm._v(\"$projects\")]),_c('div',{staticStyle:{\"margin-left\":\"8px\"}},[_vm._v(_vm._s(_vm.project.name))])],1),_c('div',{staticClass:\"font-14\"},[_c('v-btn',{staticClass:\"ml-auto mr-n2\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('result', _vm.deliverable)}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$close\")])],1)],1)]),_c('div',{staticClass:\"mb-4\"},[_c('v-tabs',{model:{value:(_vm.tabItem),callback:function ($$v) {_vm.tabItem=$$v},expression:\"tabItem\"}},[_c('v-tab',[_vm._v(\"Overview\")]),_c('v-tab',[_vm._v(\"Files\")])],1)],1),(_vm.tabItem === 0)?_c('div',{staticClass:\"task-padding d-md-flex show-scrollbar\",attrs:{\"id\":\"deliverable-inner-wrapper\"}},[_c('div',{staticClass:\"left-block\"},[_c('v-textarea',{staticClass:\"h-outline font-12\",staticStyle:{\"font-size\":\"14px\"},attrs:{\"rows\":1,\"disabled\":_vm.isReadOnly,\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"auto-grow\":\"\",\"placeholder\":_vm.$t('projects.new-deliverable'),\"prepend-icon\":\"$deliverableBox\",\"label\":_vm.$t('projects.deliverable-name')},model:{value:(_vm.deliverable.name),callback:function ($$v) {_vm.$set(_vm.deliverable, \"name\", $$v)},expression:\"deliverable.name\"}}),_c('div',{staticClass:\"text-left mt-3\"},[_c('div',{staticClass:\"font-grey font-12\"},[_vm._v(_vm._s(_vm.$t('projects.description')))]),_c('div',{staticClass:\"mt-1 font-14\"},[_c('markdown',{attrs:{\"value\":_vm.deliverable.description,\"id\":_vm.deliverable.id,\"placeholder\":_vm.$t('projects.description-placeholder'),\"input-only-mode\":false,\"disabled\":_vm.isReadOnly},on:{\"update\":function($event){_vm.deliverable.description = $event}}})],1)]),_c('div',{staticClass:\"mt-4 d-none d-md-block\"},[_c('div',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('projects.tasks')))]),_c('tasks',{ref:\"tasks\",attrs:{\"deliverable\":_vm.deliverable,\"detail-view\":true,\"disabled\":_vm.isReadOnly}})],1),(_vm.deliverable.approvalRequired)?_c('div',{staticClass:\"mt-2\"},[(_vm.deliverable.approvalRequestedAt)?_c('div',{staticClass:\"submitted\"},[_vm._v(\" \"+_vm._s(_vm.$t('projects.submitted'))+\" \"+_vm._s(_vm.DateTime.fromISO(_vm.deliverable.approvalRequestedAt).toFormat('DD'))+\" \")]):_vm._e()]):_vm._e(),(_vm.deliverable.approvalRequired)?_c('div',{staticClass:\"mt-4\"},[_c('v-btn',{attrs:{\"color\":\"success\",\"elevation\":\"0\",\"block\":\"\"},on:{\"click\":_vm.confirmApproval}},[_vm._v(_vm._s(_vm.$t('global.ok'))+\" \"),_c('v-icon',{staticClass:\"ml-2\",attrs:{\"small\":\"\"}},[_vm._v(\"$success\")])],1)],1):_vm._e(),(_vm.approvals.length)?_c('div',{staticClass:\"mt-4 d-none d-md-block\"},[_c('div',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('projects.client-workflow')))]),_vm._l((_vm.approvals),function(approval){return _c('ul',{key:approval.id,staticClass:\"font-gray_80 font-12 text-left\"},[_c('li',[_vm._v(\" \"+_vm._s(approval.approverName)+\" \"+_vm._s(_vm.$t('global.on'))+\" \"+_vm._s(_vm.DateTime.fromISO(approval.approvedAt).toFormat('DD'))+\" \"+_vm._s(_vm.$t('global.from'))+\" [\"+_vm._s(approval.approvalStatus)+\"] \"+_vm._s(_vm.$t('global.status'))+\" \")])])})],2):_vm._e(),(_vm.$vuetify.breakpoint.mdAndUp)?_c('div',{staticClass:\"mt-4 d-none d-md-block\"},[_c('div',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('projects.feed')))]),_c('activity',{ref:\"activity\",attrs:{\"project\":_vm.project,\"deliverable\":_vm.deliverable,\"project-service\":_vm.projectService}})],1):_vm._e()],1),_c('div',{staticClass:\"right-block column-format gap-4\"},[_c('div',[_c('v-select',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"disabled\":_vm.isReadOnly,\"persistent-placeholder\":\"\",\"label\":_vm.$t('projects.filter.status'),\"items\":_vm.statusList,\"item-text\":\"label\",\"item-value\":\"id\"},model:{value:(_vm.deliverable.statusId),callback:function ($$v) {_vm.$set(_vm.deliverable, \"statusId\", $$v)},expression:\"deliverable.statusId\"}},[_c('template',{slot:\"append\"},[_c('div',{staticClass:\"v-input__icon v-input__icon--append\"},[_c('div',{staticClass:\"status-box\",style:(`--status-color: ${_vm.currentStatus.hexColor}`)})])])],2)],1),_c('v-menu',{attrs:{\"close-on-click\":true,\"close-on-content-click\":false,\"offset-y\":\"\",\"disabled\":_vm.isReadOnly},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"pointer h-outline text-left pr-3 mb-2\"},on),[_c('div',{staticClass:\"font-12 font-gray_80\"},[_vm._v(_vm._s(_vm.$t('projects.assigned-to')))]),(_vm.deliverable.assignedToList.length)?_c('div',{staticClass:\"row-format align-center\"},_vm._l((_vm.deliverable.assignedToList),function(assignedTo,index){return _c('assigned-user',_vm._g({key:assignedTo,style:(`${\n\t\t\t\t\t\t\t\t\t\t\tindex > 0 ? 'margin-left: -6px' : ''\n\t\t\t\t\t\t\t\t\t\t}; border: 2px solid var(--v-white-base); border-radius: 100%; z-index: ${index}`),attrs:{\"assigned-to\":assignedTo,\"show-name\":false,\"assignable-users\":_vm.assignableUsers,\"empty-label\":\"--\"}},on))}),1):_c('div',[_vm._v(\"--\")])])]}}],null,false,3996636394)},[_c('div',{staticClass:\"text-left pa-3 font-14\",staticStyle:{\"background-color\":\"var(--v-white-base)\"}},_vm._l((_vm.assignableUsers),function(user){return _c('div',{key:user.userId,staticClass:\"row-format align-center text-left py-1 pointer\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.deliverable.assignedToList),expression:\"deliverable.assignedToList\"}],staticStyle:{\"width\":\"20px\",\"height\":\"20px\",\"border-radius\":\"4px\"},attrs:{\"type\":\"checkbox\"},domProps:{\"value\":user.userId,\"checked\":Array.isArray(_vm.deliverable.assignedToList)?_vm._i(_vm.deliverable.assignedToList,user.userId)>-1:(_vm.deliverable.assignedToList)},on:{\"change\":function($event){var $$a=_vm.deliverable.assignedToList,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=user.userId,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.deliverable, \"assignedToList\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.deliverable, \"assignedToList\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.deliverable, \"assignedToList\", $$c)}}}}),(user.userId)?_c('assigned-user',{staticClass:\"mx-2\",attrs:{\"assigned-to\":user.userId,\"show-name\":true,\"assignable-users\":_vm.assignableUsers}}):_vm._e()],1)}),0)]),_c('date-selector',{attrs:{\"date\":_vm.deliverable.startDate,\"label\":_vm.$t('projects.start'),\"disabled\":_vm.isReadOnly},on:{\"change\":function($event){_vm.deliverable.startDate = $event}}}),_c('date-selector',{attrs:{\"date\":_vm.deliverable.dueDate,\"label\":_vm.$t('projects.due'),\"disabled\":_vm.isReadOnly},on:{\"change\":function($event){_vm.deliverable.dueDate = $event}}}),_c('div',{staticClass:\"mt-4 d-md-none\"},[_c('div',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('projects.tasks')))]),_c('tasks',{ref:\"tasks\",attrs:{\"deliverable\":_vm.deliverable,\"detail-view\":true,\"disabled\":_vm.isReadOnly}})],1),(_vm.approvals.length)?_c('div',{staticClass:\"mt-4 d-md-none\"},[_c('div',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('projects.client-workflow')))]),_vm._l((_vm.approvals),function(approval){return _c('ul',{key:approval.id,staticClass:\"font-gray_80 font-12 text-left\"},[_c('li',[_vm._v(\" \"+_vm._s(approval.approverName)+\" \"+_vm._s(_vm.$t('global.on'))+\" \"+_vm._s(_vm.DateTime.fromISO(approval.approvedAt).toFormat('DD'))+\" \"+_vm._s(_vm.$t('global.from'))+\" [\"+_vm._s(approval.approvalStatus)+\"] \"+_vm._s(_vm.$t('global.status'))+\" \")])])})],2):_vm._e(),(_vm.$vuetify.breakpoint.smAndDown)?_c('div',{staticClass:\"mt-4 d-md-none\"},[_c('div',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('projects.feed')))]),_c('activity',{ref:\"activity\",attrs:{\"project\":_vm.project,\"deliverable\":_vm.deliverable,\"project-service\":_vm.projectService}})],1):_vm._e()],1)]):_c('div',{staticClass:\"d-md-flex show-scrollbar\",attrs:{\"id\":\"deliverable-files\"}},[_c('domain-root',{staticClass:\"flex-grow-1\",attrs:{\"type\":\"Task\",\"id\":_vm.deliverable.id,\"show-deleted\":_vm.showDeleted,\"read-only\":false}})],1),(_vm.isReadOnly)?_c('div',{staticClass:\"mt-auto modal-footer\"},[_c('v-btn',{staticClass:\"primary-action ml-1\",staticStyle:{\"width\":\"160px\"},on:{\"click\":function($event){return _vm.$emit('result')}}},[_vm._v(\" \"+_vm._s(_vm.$t('global.close'))+\" \")])],1):_c('div',{staticClass:\"mt-auto modal-footer\"},[_c('v-btn',{staticClass:\"secondary-action mr-1\",attrs:{\"icon\":\"\"},on:{\"click\":_vm.confirmDeleteDeliverable}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$delete\")])],1),_c('v-btn',{staticClass:\"primary-action ml-1\",staticStyle:{\"width\":\"160px\"},on:{\"click\":_vm.saveAndCloseInternal}},[_vm._v(\" \"+_vm._s(_vm.$t('global.save'))+\" \")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"pa-0 ma-0\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('tag-user-field',{ref:\"tagUserField\",attrs:{\"commentToEdit\":null},on:{\"sendComment\":function($event){return _vm.sendComment($event)}}})],1)],1),_c('v-row',{attrs:{\"no-gutters\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},_vm._l((_vm.sortedActivity),function(comment,index){return _c('div',{key:comment.id,class:_vm.canEdit(comment, index) ? 'can-edit' : '',staticStyle:{\"word-wrap\":\"anywhere\"},on:{\"mouseover\":function($event){return _vm.setHoverIndex(index)},\"mouseleave\":function($event){return _vm.setHoverIndex(null)}}},[(comment.events && _vm.showEvents)?_c('div',{staticClass:\"font-12 text-left my-2 brand-semilight\"},[_c('div',[_c('span',{staticClass:\"brand-medium\"},[_vm._v(_vm._s(comment.user))]),_vm._v(\" \"+_vm._s(comment.events.join(' and '))+\" \")]),_c('div',{staticStyle:{\"color\":\"var(--v-gray_70-base)\"}},[_c('v-icon',{attrs:{\"size\":\"12\",\"color\":\"gray_70\"}},[_vm._v(\"$clock\")]),_vm._v(_vm._s(_vm._f(\"formatForTimeAgo\")(comment.timestamp))+\" \")],1)]):_vm._e(),(comment.comment)?_c('div',{staticClass:\"mt-2 comment-box\"},[_c('div',{staticClass:\"row-format align-center font-12\"},[_c('div',{staticClass:\"ml-1\"},[_vm._v(\" \"+_vm._s(comment.author)+\" \")]),_c('v-icon',{staticClass:\"ml-3 mr-1\",attrs:{\"size\":\"14\"}},[_vm._v(\"$clock\")]),_c('div',{staticStyle:{\"color\":\"var(--v-gray_70-base)\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"formatForTimeAgo\")(comment.timestamp))+\" \")]),(_vm.canEdit(comment, index))?_c('div',{staticStyle:{\"margin-left\":\"auto\"}},[_c('v-icon',{staticClass:\"pointer mr-2\",attrs:{\"small\":\"\",\"color\":\"grey\"},nativeOn:{\"click\":function($event){return _vm.editComment(comment, index)}}},[_vm._v(\"$edit\")]),_c('v-icon',{staticClass:\"pointer\",attrs:{\"small\":\"\",\"color\":\"grey\"},nativeOn:{\"click\":function($event){return _vm.confirmDelete(comment)}}},[_vm._v(\"$delete\")])],1):_vm._e()],1),(_vm.editIndex !== index)?_c('div',{staticClass:\"pl-1 font-14 comment\",staticStyle:{\"width\":\"100%\",\"text-align\":\"left\"},domProps:{\"innerHTML\":_vm._s(_vm.formatMarkdown(comment.comment))}}):_vm._e(),(_vm.editIndex === index)?_c('div',{staticClass:\"pl-1 comment\",staticStyle:{\"width\":\"100%\",\"text-align\":\"left\"}},[_c('tag-user-field',{attrs:{\"commentToEdit\":_vm.commentToEdit},on:{\"sendComment\":function($event){return _vm.sendComment($event)},\"saveEdit\":function($event){return _vm.saveEdit($event)},\"cancelEdit\":function($event){return _vm.cancelEdit($event)}}})],1):_vm._e()]):_vm._e()])}),0)],1),_c('confirm-dialog',{attrs:{\"dialog\":_vm.confirmDeleteDialog,\"heading-text\":_vm.$t('global.confirm'),\"yes-text\":_vm.$t('global.delete'),\"no-text\":_vm.$t('global.cancel'),\"body-text\":_vm.$t('projects.delete-note')},on:{\"close\":function($event){return _vm.cancelDelete()},\"confirm\":function($event){return _vm.deleteComment()}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticStyle:{\"position\":\"relative\"},attrs:{\"id\":`comment-wrapper-${_vm.uuid}`}},[_c('v-textarea',{staticStyle:{\"font-size\":\"14px\"},attrs:{\"id\":`comment-${_vm.uuid}`,\"dense\":\"\",\"hide-details\":\"\",\"rows\":\"1\",\"auto-grow\":\"\",\"outlined\":\"\",\"placeholder\":_vm.$t('projects.comment-placeholder')},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [(!_vm.commentToEdit)?_c('v-icon',{staticClass:\"pointer\",attrs:{\"color\":!_vm.newComment || _vm.newComment.length == 0 ? 'gray' : 'primary',\"disabled\":!_vm.newComment || _vm.newComment.length == 0},nativeOn:{\"click\":function($event){return _vm.sendComment()}}},[_vm._v(\"$comment \")]):_vm._e()]},proxy:true}]),model:{value:(_vm.newComment),callback:function ($$v) {_vm.newComment=$$v},expression:\"newComment\"}}),(_vm.commentToEdit)?_c('div',{staticClass:\"row-format mt-2\"},[_c('v-btn',{staticClass:\"secondary-action mr-1\",on:{\"click\":function($event){return _vm.cancelEdit()}}},[_vm._v(\" \"+_vm._s(_vm.$t('global.cancel'))+\" \")]),_c('v-btn',{staticClass:\"primary-action ml-1\",staticStyle:{\"min-width\":\"100px\"},on:{\"click\":function($event){return _vm.saveEdit()}}},[_vm._v(\" \"+_vm._s(_vm.$t('global.save'))+\" \")])],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div :id=\"`comment-wrapper-${uuid}`\" style=\"position: relative\">\n\t\t<v-textarea\n\t\t\t:id=\"`comment-${uuid}`\"\n\t\t\tdense\n\t\t\thide-details\n\t\t\trows=\"1\"\n\t\t\tauto-grow\n\t\t\toutlined\n\t\t\t:placeholder=\"$t('projects.comment-placeholder')\"\n\t\t\tv-model=\"newComment\"\n\t\t\tstyle=\"font-size: 14px;\"\n\t\t>\n\t\t\t<template v-slot:append>\n\t\t\t\t<v-icon\n\t\t\t\t\tv-if=\"!commentToEdit\"\n\t\t\t\t\t:color=\"!newComment || newComment.length == 0 ? 'gray' : 'primary'\"\n\t\t\t\t\t@click.native=\"sendComment()\"\n\t\t\t\t\tclass=\"pointer\"\n\t\t\t\t\t:disabled=\"!newComment || newComment.length == 0\"\n\t\t\t\t\t>$comment\n\t\t\t\t</v-icon>\n\t\t\t</template>\n\t\t</v-textarea>\n\t\t<div v-if=\"commentToEdit\" class=\"row-format mt-2\">\n\t\t\t<v-btn class=\"secondary-action mr-1\" @click=\"cancelEdit()\">\n\t\t\t\t{{ $t('global.cancel') }}\n\t\t\t</v-btn>\n\t\t\t<v-btn class=\"primary-action ml-1\" style=\"min-width: 100px\" @click=\"saveEdit()\">\n\t\t\t\t{{ $t('global.save') }}\n\t\t\t</v-btn>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport { v4 as uuid4 } from 'uuid';\n\n\texport default {\n\t\tname: 'TagUserField',\n\n\t\tprops: ['commentToEdit'],\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tnewComment: '',\n\t\t\t\tuuid: uuid4(),\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tif (this.commentToEdit) {\n\t\t\t\tthis.newComment = this.commentToEdit.comment;\n\t\t\t}\n\t\t},\n\n\t\tmethods: {\n\t\t\tsaveEdit: function() {\n        let newCommentObj = Object.assign({}, this.commentToEdit);\n        newCommentObj.comment = this.newComment;\n\t\t\t\tthis.$emit('saveEdit', newCommentObj);\n\t\t\t},\n\n\t\t\tcancelEdit: function() {\n\t\t\t\tthis.$emit('cancelEdit', this.newComment);\n\t\t\t},\n\n\t\t\tsendComment: function() {\n\t\t\t\tthis.$emit('sendComment', this.newComment);\n\t\t\t\tthis.newComment = '';\n\t\t\t},\n\n\t\t\tgetPendingComment: function() {\n\t\t\t\treturn this.newComment;\n\t\t\t},\n\n      clearComment: function(){\n        this.newComment = '';\n      }\n\t\t},\n\n\t\tcomputed: {\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t#comment-wrapper {\n\t\twidth: 100%;\n\t\talign-items: center;\n\t}\n\n\t.tribute-container {\n\t\tbackground-color: var(--v-white-base);\n\t\tcolor: var(--v-gray_80-base);\n\t\tborder: 1px solid var(--v-gray_50-base);\n\t\tborder-radius: 4px;\n\t\tbox-shadow: 0px 3px 15px rgba(0, 0, 0, 0.2);\n\t\tz-index: 100 !important;\n\t\tmargin-top: 15px;\n\t\tpadding: 0 !important;\n\t\t//padding: 10px;\n\n\t\tul {\n\t\t\tlist-style-type: none; /* Remove bullets */\n\t\t\tpadding: 0 !important; /* Remove padding */\n\t\t\tmargin: 0 !important; /* Remove margins */\n\t\t\tli {\n\t\t\t\tpadding: 8px 12px;\n\t\t\t\tmargin: 0;\n\t\t\t\tmin-width: 180px;\n\t\t\t\tcursor: pointer;\n\t\t\t\t&.selected {\n\t\t\t\t\tbackground-color: var(--v-gray_20-base);\n\t\t\t\t\tcolor: var(--v-black-base);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagUserField.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagUserField.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TagUserField.vue?vue&type=template&id=18788c36\"\nimport script from \"./TagUserField.vue?vue&type=script&lang=js\"\nexport * from \"./TagUserField.vue?vue&type=script&lang=js\"\nimport style0 from \"./TagUserField.vue?vue&type=style&index=0&id=18788c36&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VIcon,VTextarea})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"value\":_vm.dialog,\"transition\":\"fade\",\"persistent\":_vm.persistent,\"scrollable\":\"\",\"max-width\":\"320\"},on:{\"click:outside\":function($event){!_vm.persistent ? _vm.handleClose() : ''},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.handleClose()}}},[_c('div',{staticClass:\"confirm-dialog-div\"},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\",\"rounded\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.handleClose()}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$close\")])],1),_c('div',{staticClass:\"modal-padding\"},[(_vm.headingText)?_c('div',{staticClass:\"modal-title text-center mb-2 mt-4\"},[_c('span',{staticClass:\"pr-1\"},[_c('v-icon',{staticClass:\"mt-n1\",attrs:{\"color\":_vm.severity,\"size\":\"24\"}},[_vm._v(_vm._s(_vm.icon))])],1),_vm._v(\" \"+_vm._s(_vm.headingText)+\" \")]):_c('div',{staticClass:\"mt-6\"}),(_vm.bodyText)?_c('div',{staticClass:\"modal-subtitle text-center\",domProps:{\"innerHTML\":_vm._s(_vm.bodyText)}}):_vm._e()]),_c('v-form',{ref:\"confirmDialog\",attrs:{\"id\":\"confirmDialog\",\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.handleSubmit()}}},[_c('div',{staticClass:\"modal-footer\"},[(!_vm.hideNo)?_c('v-btn',{staticClass:\"super-action mr-1\",attrs:{\"min-width\":\"100\"},on:{\"click\":function($event){$event.preventDefault();return _vm.handleClose()}}},[_vm._v(_vm._s(_vm.no))]):_vm._e(),_c('v-btn',{staticClass:\"primary-action ml-1\",attrs:{\"type\":\"submit\",\"min-width\":\"100\",\"elevation\":\"0\"},on:{\"click\":function($event){$event.preventDefault();return _vm.handleSubmit()}}},[_vm._v(\" \"+_vm._s(_vm.yes)+\" \")])],1)])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<v-dialog\n\t\t:value=\"dialog\"\n\t\ttransition=\"fade\"\n\t\t:persistent=\"persistent\"\n\t\tscrollable\n\t\t@click:outside=\"!persistent ? handleClose() : ''\"\n\t\t@keydown.esc=\"handleClose()\"\n\t\tmax-width=\"320\"\n\t>\n\t\t<div class=\"confirm-dialog-div\">\n\t\t\t<v-btn class=\"close-dialog\" icon rounded @click.prevent=\"handleClose()\">\n\t\t\t\t<v-icon size=\"20\">$close</v-icon>\n\t\t\t</v-btn>\n\t\t\t<div class=\"modal-padding\">\n\t\t\t\t<div class=\"modal-title text-center mb-2 mt-4\" v-if=\"headingText\">\n\t\t\t\t\t<span class=\"pr-1\">\n\t\t\t\t\t\t<v-icon :color=\"severity\" class=\"mt-n1\" size=\"24\">{{ icon }}</v-icon>\n\t\t\t\t\t</span>\n\t\t\t\t\t{{ headingText }}\n\t\t\t\t</div>\n\t\t\t\t<div v-else class=\"mt-6\"></div>\n\t\t\t\t<div class=\"modal-subtitle text-center\" v-if=\"bodyText\" v-html=\"bodyText\"></div>\n\t\t\t</div>\n\t\t\t<v-form @submit.prevent=\"handleSubmit()\" ref=\"confirmDialog\" id=\"confirmDialog\" lazy-validation>\n\t\t\t\t<div class=\"modal-footer\">\n\t\t\t\t\t<v-btn v-if=\"!hideNo\" min-width=\"100\" class=\"super-action mr-1\" @click.prevent=\"handleClose()\">{{\n\t\t\t\t\t\tno\n\t\t\t\t\t}}</v-btn>\n\t\t\t\t\t<v-btn\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tmin-width=\"100\"\n\t\t\t\t\t\televation=\"0\"\n\t\t\t\t\t\tclass=\"primary-action ml-1\"\n\t\t\t\t\t\t@click.prevent=\"handleSubmit()\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ yes }}\n\t\t\t\t\t</v-btn>\n\t\t\t\t</div>\n\t\t\t</v-form>\n\t\t</div>\n\t</v-dialog>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'ConfirmDialog',\n\n\t\tprops: {\n\t\t\tseverity: { type: String, required: false, default: 'warning' }, // info, warning, error, success\n\t\t\ticon: { type: String, required: false, default: '$alert' }, // $alert, $info, etc.\n\t\t\theadingText: String,\n\t\t\tbodyText: String,\n\t\t\thideNo: { type: Boolean, required: false, default: false },\n\t\t\tyesText: { type: String, required: false },\n\t\t\tnoText: { type: String, required: false } ,\n\t\t\tdialog: Boolean,\n\t\t\tpersistent: { type: Boolean, default: false },\n\t\t},\n\n\t\tdata() {\n\t\t\treturn {\n        yes: this.yesText ? this.yesText : this.$t('global.yes'),\n        no: this.noText ? this.noText : this.$t('global.no')\n      };\n\t\t},\n\n\t\tmounted() {},\n\n\t\tmethods: {\n\t\t\thandleSubmit() {\n\t\t\t\tthis.$emit('confirm');\n\t\t\t},\n\t\t\thandleClose() {\n\t\t\t\tthis.$emit('close');\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.confirm-dialog-div {\n\t\tbackground-color: var(--v-white-base) !important;\n\t\tcolor: var(--v-black-base) !important;\n\t\tposition: relative;\n\t\tborder-radius: 4px !important;\n\n\t\tbutton.v-btn.close-dialog {\n\t\t\tright: 4px !important;\n\t\t\ttop: 6px !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ConfirmDialog.vue?vue&type=template&id=91bc6a72\"\nimport script from \"./ConfirmDialog.vue?vue&type=script&lang=js\"\nexport * from \"./ConfirmDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./ConfirmDialog.vue?vue&type=style&index=0&id=91bc6a72&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VDialog,VForm,VIcon})\n","<template>\n\t<v-container fluid class=\"pa-0 ma-0\">\n\t\t<v-row no-gutters>\n\t\t\t<v-col cols=\"12\">\n\t\t\t\t<tag-user-field\n\t\t\t\t\tref=\"tagUserField\"\n\t\t\t\t\t:commentToEdit=\"null\"\n\t\t\t\t\t@sendComment=\"sendComment($event)\"\n\t\t\t\t/>\n\t\t\t</v-col>\n\t\t</v-row>\n\t\t<v-row no-gutters>\n\t\t\t<v-col cols=\"12\">\n\t\t\t\t<div\n\t\t\t\t\tstyle=\"word-wrap: anywhere\"\n\t\t\t\t\tv-for=\"(comment, index) in sortedActivity\"\n\t\t\t\t\t:key=\"comment.id\"\n\t\t\t\t\t:class=\"canEdit(comment, index) ? 'can-edit' : ''\"\n\t\t\t\t\t@mouseover=\"setHoverIndex(index)\"\n\t\t\t\t\t@mouseleave=\"setHoverIndex(null)\"\n\t\t\t\t>\n\t\t\t\t\t<div v-if=\"comment.events && showEvents\" class=\"font-12 text-left my-2 brand-semilight\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<span class=\"brand-medium\">{{ comment.user }}</span> {{ comment.events.join(' and ') }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div style=\"color: var(--v-gray_70-base)\">\n\t\t\t\t\t\t\t<v-icon size=\"12\" color=\"gray_70\">$clock</v-icon>{{ comment.timestamp | formatForTimeAgo }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-if=\"comment.comment\" class=\"mt-2 comment-box\">\n\t\t\t\t\t\t<div class=\"row-format align-center font-12\">\n\t\t\t\t\t\t\t<div class=\"ml-1\">\n\t\t\t\t\t\t\t\t{{ comment.author }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<v-icon size=\"14\" class=\"ml-3 mr-1\">$clock</v-icon>\n\t\t\t\t\t\t\t<div style=\"color: var(--v-gray_70-base)\">\n\t\t\t\t\t\t\t\t{{ comment.timestamp | formatForTimeAgo }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div v-if=\"canEdit(comment, index)\" style=\"margin-left: auto\">\n\t\t\t\t\t\t\t\t<v-icon small color=\"grey\" @click.native=\"editComment(comment, index)\" class=\"pointer mr-2\"\n\t\t\t\t\t\t\t\t\t>$edit</v-icon\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<v-icon small color=\"grey\" @click.native=\"confirmDelete(comment)\" class=\"pointer\">$delete</v-icon>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-if=\"editIndex !== index\"\n\t\t\t\t\t\t\tclass=\"pl-1 font-14 comment\"\n\t\t\t\t\t\t\tstyle=\"width: 100%; text-align: left;\"\n\t\t\t\t\t\t\tv-html=\"formatMarkdown(comment.comment)\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div v-if=\"editIndex === index\" class=\"pl-1 comment\" style=\"width: 100%; text-align: left;\">\n\t\t\t\t\t\t\t<tag-user-field\n\t\t\t\t\t\t\t\t:commentToEdit=\"commentToEdit\"\n\t\t\t\t\t\t\t\t@sendComment=\"sendComment($event)\"\n\t\t\t\t\t\t\t\t@saveEdit=\"saveEdit($event)\"\n\t\t\t\t\t\t\t\t@cancelEdit=\"cancelEdit($event)\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</v-col>\n\t\t</v-row>\n\n\t\t<confirm-dialog\n\t\t\t:dialog=\"confirmDeleteDialog\"\n\t\t\t@close=\"cancelDelete()\"\n\t\t\t@confirm=\"deleteComment()\"\n\t\t\t:heading-text=\"$t('global.confirm')\"\n\t\t\t:yes-text=\"$t('global.delete')\"\n\t\t\t:no-text=\"$t('global.cancel')\"\n\t\t\t:body-text=\"$t('projects.delete-note')\"\n\t\t/>\n\t</v-container>\n</template>\n\n<script>\n\timport TagUserField from './TagUserField';\n\timport marked from 'marked';\n\timport moment from 'moment';\n\timport ConfirmDialog from '@/components/ConfirmDialog';\n  import ProjectService from '@/modules/projects/ProjectService';\n\n\texport default {\n\t\tname: 'Activity',\n\n\t\tprops: ['project', 'deliverable'],\n\n\t\tcomponents: {\n\t\t\tTagUserField,\n\t\t\tConfirmDialog,\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\thoverIndex: null,\n\t\t\t\teditIndex: null,\n\t\t\t\tcommentToEdit: null,\n\t\t\t\tcommentToDelete: null,\n\t\t\t\tconfirmDeleteDialog: false,\n\t\t\t\tshowEvents: false,\n\t\t\t\tmoment: moment,\n        projectService: new ProjectService(),\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\tcheckCommentBeforeSave: function() {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tlet pendingComment = this.$refs.tagUserField.getPendingComment();\n\t\t\t\t\tif (pendingComment && pendingComment.length > 0) {\n\t\t\t\t\t\tthis.sendComment(pendingComment)\n\t\t\t\t\t\t\t.then(() => {\n                this.$refs.tagUserField.clearComment();\n                resolve();\n              })\n\t\t\t\t\t\t\t.catch((err) => reject(err));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresolve();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tsendComment: function(comment) {\n        return this.projectService.addComment(this.project.id,this.deliverable.id,{\n          comment: comment,\n          privateComment: false,\n          sendEmail: false,\n        })\n\t\t\t},\n\n\t\t\tconfirmDelete: function(comment) {\n\t\t\t\tthis.commentToDelete = comment;\n\t\t\t\tthis.confirmDeleteDialog = true;\n\t\t\t},\n\n\t\t\tcancelDelete: function() {\n\t\t\t\tthis.commentToDelete = null;\n\t\t\t\tthis.confirmDeleteDialog = false;\n\t\t\t},\n\n\t\t\tdeleteComment: function() {\n\t\t\t\tthis.projectService.deleteComment(this.project.id, this.deliverable.id, this.commentToDelete.id).then(() => {\n\t\t\t\t\tthis.commentToDelete = null;\n\t\t\t\t\tthis.confirmDeleteDialog = false;\n\t\t\t\t});\n\t\t\t},\n\n\t\t\teditComment: function(comment, index) {\n\t\t\t\tthis.commentToEdit = Object.assign({}, comment);\n\t\t\t\tthis.editIndex = index;\n\t\t\t},\n\n\t\t\tcancelEdit: function() {\n\t\t\t\tthis.commentToEdit = null;\n\t\t\t\tthis.editIndex = null;\n\t\t\t},\n\n\t\t\tsaveEdit: function(comment) {\n\t\t\t\tthis.projectService.editComment(this.project.id, this.deliverable.id, comment).then(() => {\n\t\t\t\t\tlet ix = this.deliverable.comments.findIndex((c) => c.id === comment.id);\n\t\t\t\t\tif (ix > -1) {\n\t\t\t\t\t\tthis.deliverable.comments.splice(ix, 1, comment);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.deliverable.comments.push(comment);\n\t\t\t\t\t}\n\t\t\t\t\tthis.editIndex = null;\n\t\t\t\t\tthis.commentToEdit = null;\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tcanEdit(comment, index) {\n\t\t\t\tif (\n\t\t\t\t\tthis.editIndex === null &&\n\t\t\t\t\tcomment.authorId == this.$store.state.loggedInUser.email &&\n\t\t\t\t\tindex === this.hoverIndex\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsetHoverIndex: function(index) {\n\t\t\t\tthis.hoverIndex = index;\n\t\t\t},\n\n\t\t\tcompareDates: function(a, b) {\n\t\t\t\tif (a.timestamp > b.timestamp) {\n\t\t\t\t\treturn -1;\n\t\t\t\t} else if (a.timestamp < b.timestamp) {\n\t\t\t\t\treturn 1;\n\t\t\t\t} else {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tformatMarkdown: function(comment) {\n        let m = marked(comment, { breaks: true });\n\t\t\t\tm = m.replaceAll('<a href', '<a target=\"_blank\" href');\n\t\t\t\treturn m;\n\t\t\t},\n\n\t\t\tgetName: function(user) {\n\t\t\t\tlet name = '';\n\n\t\t\t\tif (user.firstName) {\n\t\t\t\t\tname += user.firstName + ' ';\n\t\t\t\t}\n\n\t\t\t\tif (user.lastName) {\n\t\t\t\t\tname += user.lastName;\n\t\t\t\t}\n\n\t\t\t\tif (name === '') {\n\t\t\t\t\tname = user.email;\n\t\t\t\t}\n\n\t\t\t\treturn name;\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tsortedActivity: function() {\n\t\t\t\tlet activity = [...this.deliverable.comments, ...this.deliverable.events];\n\t\t\t\tactivity.sort(this.compareDates);\n\t\t\t\treturn activity;\n\t\t\t},\n\t\t},\n\n\t\twatch: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.comment-box {\n\t\tpadding: 8px;\n\t\tborder: 1px solid var(--v-gray_50-base);\n\t\tborder-radius: 4px;\n    word-break: break-word;\n\t}\n\n\t.can-edit {\n\t\t&:hover {\n\t\t\tbackground-color: var(--v-gray_10-base);\n\t\t}\n\t}\n\n\t.comment ::v-deep p {\n\t\tpadding: 0;\n\t\tmargin: 0;\n\t}\n\n\t.iconBlock {\n\t\tposition: relative;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Activity.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Activity.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Activity.vue?vue&type=template&id=3d7ed73e&scoped=true\"\nimport script from \"./Activity.vue?vue&type=script&lang=js\"\nexport * from \"./Activity.vue?vue&type=script&lang=js\"\nimport style0 from \"./Activity.vue?vue&type=style&index=0&id=3d7ed73e&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3d7ed73e\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VIcon,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticStyle:{\"margin-left\":\"0px\",\"margin-right\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_c('draggable',{attrs:{\"list\":_vm.tasks,\"tag\":\"section\",\"animation\":200,\"handle\":\".drag\"},on:{\"end\":_vm.endDragHandler}},_vm._l((_vm.tasks),function(t,index){return _c('div',{key:t.id,class:`row-format ${_vm.detailView ? 'task-item-detail' : 'task-item'}`},[_c('div',{staticStyle:{\"margin-top\":\"1px\"}},[_c('v-checkbox',{staticStyle:{\"margin-top\":\"-7px\"},attrs:{\"dense\":\"\",\"ripple\":false,\"disabled\":_vm.disabled,\"hide-details\":\"\"},on:{\"change\":function($event){return _vm.$emit('tasks-updated')}},model:{value:(t.complete),callback:function ($$v) {_vm.$set(t, \"complete\", $$v)},expression:\"t.complete\"}})],1),_c('div',{class:'force-wrap edit-content ' + (t.complete ? 'item-complete' : ''),staticStyle:{\"outline\":\"none\",\"max-width\":\"320px\"},attrs:{\"contenteditable\":!t.complete && !_vm.disabled,\"id\":`task${t.id}`},on:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"delete\",[8,46],$event.key,[\"Backspace\",\"Delete\",\"Del\"]))return null;return _vm.checkDeleteTask(t, index, $event.target.innerText)},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey)return null;$event.preventDefault();_vm.setDescription(t, $event.target.innerText);\n\t\t\t\t\t_vm.addNewTask(index + 1);},\"blur\":function($event){return _vm.setDescription(t, $event)}}},[_vm._v(_vm._s(t.description))]),(!_vm.disabled)?_c('div',{staticClass:\"row-format\",staticStyle:{\"margin-left\":\"auto\"}},[(_vm.detailView)?_c('div',{staticClass:\"icon mr-1 pointer\",on:{\"click\":function($event){return _vm.deleteTask(index)}}},[_c('v-icon',{attrs:{\"size\":_vm.detailView ? 18 : 12}},[_vm._v(\"$delete\")])],1):_vm._e(),_c('div',{staticClass:\"drag icon\"},[_c('v-icon',{attrs:{\"size\":_vm.detailView ? 18 : 12}},[_vm._v(\"$drag\")])],1)]):_vm._e()])}),0),(!_vm.disabled)?_c('div',{class:_vm.detailView ? 'add-full' : 'add-compact',on:{\"click\":function($event){$event.stopPropagation();return _vm.addNewTask(_vm.tasks.length)}}},[_c('div',{staticStyle:{\"width\":\"fit-content\"}},[_c('v-icon',{staticClass:\"mb-1\",attrs:{\"size\":\"14\"}},[_vm._v(\"$plus\")]),_vm._v(\" \"+_vm._s(_vm.$t('projects.add-task')))],1)]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div @click.stop style=\"margin-left: 0px; margin-right: 3px;\">\n\t\t<draggable\n\t\t\t:list=\"tasks\"\n\t\t\ttag=\"section\"\n\t\t\t:animation=\"200\"\n\t\t\thandle=\".drag\"\n\t\t\t@end=\"endDragHandler\"\n\t\t>\n\t\t\t<div v-for=\"(t, index) in tasks\" :key=\"t.id\" :class=\"`row-format ${detailView ? 'task-item-detail' : 'task-item'}`\">\n\t\t\t\t<div style=\"margin-top:1px\">\n\t\t\t\t\t<v-checkbox style=\"margin-top: -7px;\" dense :ripple=\"false\" v-model=\"t.complete\" :disabled=\"disabled\" hide-details @change=\"$emit('tasks-updated')\"></v-checkbox>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tstyle=\"outline: none; max-width: 320px;\"\n\t\t\t\t\t:contenteditable=\"!t.complete && !disabled\"\n\t\t\t\t\t:id=\"`task${t.id}`\"\n\t\t\t\t\t:class=\"'force-wrap edit-content ' + (t.complete ? 'item-complete' : '')\"\n\t\t\t\t\t@keyup.delete=\"checkDeleteTask(t, index, $event.target.innerText)\"\n\t\t\t\t\t@keydown.enter.exact.prevent=\"\n\t\t\t\t\t\tsetDescription(t, $event.target.innerText);\n\t\t\t\t\t\taddNewTask(index + 1);\n\t\t\t\t\t\"\n\t\t\t\t\t@blur=\"setDescription(t, $event)\"\n\t\t\t\t>{{t.description}}</div>\n\t\t\t\t<div style=\"margin-left: auto\" class=\"row-format\" v-if=\"!disabled\">\n\t\t\t\t\t<div v-if=\"detailView\" class=\"icon mr-1 pointer\" @click=\"deleteTask(index)\"><v-icon :size=\"detailView ? 18 : 12\">$delete</v-icon></div>\n\t\t\t\t\t<div class=\"drag icon\"><v-icon :size=\"detailView ? 18 : 12\">$drag</v-icon></div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</draggable>\n\n\t\t<div :class=\"detailView ? 'add-full' : 'add-compact'\" @click.stop=\"addNewTask(tasks.length)\" v-if=\"!disabled\">\n\t\t\t<div style=\"width:fit-content\"><v-icon size=\"14\" class=\"mb-1\">$plus</v-icon> {{ $t('projects.add-task') }}</div>\n\t\t</div>\n\n\t</div>\n</template>\n\n<script>\n\timport { v4 as uuidv4 } from 'uuid';\n\timport Draggable from 'vuedraggable';\n\n\texport default {\n\t\tname: 'Tasks',\n\t\tprops: ['deliverable','detailView','disabled'],\n\n\t\tcomponents: {\n\t\t\tDraggable,\n\t\t},\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tupdateCounter: 0,\n\t\t\t\tfocusId: null,\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\tfocusEditable: function(id){\n\t\t\t\tthis.focusId = id;\n\t\t\t},\n\n\t\t\tdoFocus: function(){\n\t\t\t\tif(!this.focusId){\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\tconst el = document.getElementById(this.focusId);\n\t\t\t\t\tthis.focusId = null;\n\n\t\t\t\t\tif(!el){\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst selection = window.getSelection();\n\t\t\t\t\tconst range = document.createRange();\n\t\t\t\t\tselection.removeAllRanges();\n\t\t\t\t\trange.selectNodeContents(el);\n\t\t\t\t\trange.collapse(false);\n\t\t\t\t\tselection.addRange(range);\n\t\t\t\t\tel.focus();\n\t\t\t\t})\n\t\t\t},\n\n\t\t\tclearEmpty: function(){\n\t\t\t\tfor(let i=(this.tasks.length-1); i >=0; i--){\n\t\t\t\t\tif(!this.tasks[i].description){\n\t\t\t\t\t\tthis.tasks.splice(i,1);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcheckDeleteTask: function (task, index, value) {\n\t\t\t\tif (this.$validations.isEmpty(value)) {\n\t\t\t\t\ttask.description = null;\n\n\t\t\t\t\tif (task.deleteCheck) {\n\t\t\t\t\t\tthis.deleteTask(index);\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttask.deleteCheck = true;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\ttask.deleteCheck = null;\n\t\t\t\t}\n\t\t\t},\n\n\n\t\t\tdeleteTask: function(index){\n\t\t\t\tthis.tasks.splice(index, 1);\n\n\t\t\t\tif(this.tasks.length === 0){\n\t\t\t\t\tthis.$emit('empty');\n\t\t\t\t}\n\n\t\t\t\tthis.$emit('tasks-updated');\n\n\t\t\t\tif (this.tasks.length > 0 && index !== 0) {\n\t\t\t\t\tthis.focusEditable('task' + this.tasks[index - 1].id);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsetDescription: function (task, event) {\n\t\t\t\tif (event.target && event.target.innerText) {\n\t\t\t\t\ttask.description = event.target.innerText;\n\t\t\t\t\tevent.target.innerText = task.description;\n\t\t\t\t\ttask.deleteCheck = null;\n\n\t\t\t\t\tthis.$emit('tasks-updated');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\taddNewTask: function (index) {\n\t\t\t\tlet id = uuidv4().replace(/-/g, '');\n\n\t\t\t\tthis.tasks.splice(index, 0, {\n\t\t\t\t\tid: id,\n\t\t\t\t\tcomplete: false,\n\t\t\t\t\tdescription: '',\n\t\t\t\t});\n\n\t\t\t\tthis.$emit('tasks-updated');\n\t\t\t\tthis.focusEditable('task' + id);\n\t\t\t},\n\n\t\t\tendDragHandler: function () {\n\t\t\t\tthis.updateCounter++;\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\ttasks: function(){\n\t\t\t\treturn this.deliverable.tasks;\n\t\t\t}\n\t\t},\n\n\t\twatch: {\n\t\t\ttasks: function(){\n\t\t\t\tthis.doFocus();\n\t\t\t}\n\t\t}\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.task-item-detail {\n\t\ttransition: all ease 250ms;\n\t\tfont-size: 14px;\n\t\tpadding: 5px 0px 5px 2px;\n\n\t\t&:hover {\n\t\t\tbackground-color: var(--v-gray_10-base);\n\n\t\t\t.icon {\n\t\t\t\tvisibility: visible;\n\t\t\t}\n\t\t}\n\n\t\t.icon {\n\t\t\tvisibility: hidden;\n\t\t}\n\t}\n\n\t.task-item {\n\t\tborder-top: 1px solid var(--v-gray_30-base);\n\t\tpadding: 8px 8px 8px 8px;\n\t\ttransition: all ease 250ms;\n\t\tfont-size: 12px;\n\n\t\t&:last-child{\n\t\t\tborder-bottom: 1px solid var(--v-gray_30-base);\n\t\t}\n\n\t\t&:hover {\n\t\t\tbackground-color: var(--v-gray_10-base);\n\n\t\t\t.icon {\n\t\t\t\tvisibility: visible;\n\t\t\t}\n\t\t}\n\n\t\t.icon {\n\t\t\tvisibility: hidden;\n\t\t}\n\t}\n\n\t.add-full {\n\t\tcursor: pointer;\n\t\tcolor: var(--v-gray_70-base);\n\t\tfont-size: 14px;\n\t\tfont-weight:500;\n\t\tpadding-left: 6px;\n\t\tpadding-top: 6px;\n\t}\n\n\t.add-compact {\n\t\tcursor: pointer;\n\t\tcolor: var(--v-gray_70-base);\n\t\tfont-size: 12px;\n\t\tfont-weight:500;\n\t\tpadding: 8px 12px;\n\t}\n\n\t.edit-content {\n\t\twidth:100%;\n\t\toutline: none;\n\t\twhite-space: pre-line;\n\t\tcolor: var(--v-gray_80-base);\n\t\ttext-align: left;\n\t}\n\n\t.item-complete {\n\t\tcolor: var(--v-gray_70-base)!important;\n\t\ttext-align: left;\n\t}\n\n\t.drag {\n\t\tcursor: grab!important;\n\n\t\t&:active {\n\t\t\tcursor: grabbing!important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tasks.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tasks.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Tasks.vue?vue&type=template&id=53e91ea4&scoped=true\"\nimport script from \"./Tasks.vue?vue&type=script&lang=js\"\nexport * from \"./Tasks.vue?vue&type=script&lang=js\"\nimport style0 from \"./Tasks.vue?vue&type=style&index=0&id=53e91ea4&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"53e91ea4\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VCheckbox,VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[((_vm.editing || _vm.inputOnlyMode) && !_vm.disabled)?_c('v-textarea',{ref:\"markdownEditor\",staticClass:\"ma-0 pa-0\",staticStyle:{\"font-size\":\"14px\"},attrs:{\"auto-grow\":\"\",\"rows\":\"1\",\"id\":'markdown_editor_' + _vm.localId,\"placeholder\":_vm.placeholder,\"solo\":_vm.solo,\"flat\":_vm.flat},on:{\"blur\":function($event){return _vm.handleBlur()},\"keydown\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey)return null;$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;if(!$event.shiftKey)return null;if($event.ctrlKey||$event.altKey||$event.metaKey)return null;$event.preventDefault();}],\"keyup\":[function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey)return null;return _vm.handleEnter()},function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;if(!$event.shiftKey)return null;if($event.ctrlKey||$event.altKey||$event.metaKey)return null;return _vm.handleShiftEnter()}]},model:{value:(_vm.data),callback:function ($$v) {_vm.data=$$v},expression:\"data\"}}):_c('div',{staticClass:\"marked\",domProps:{\"innerHTML\":_vm._s(_vm.compiledMarkdown)},on:{\"click\":function($event){return _vm.setEditing(true, true)}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<v-textarea\n\t\t\tclass=\"ma-0 pa-0\"\n\t\t\tstyle=\"font-size:14px;\"\n\t\t\t@blur=\"handleBlur()\"\n\t\t\t@keydown.enter.exact.prevent\n\t\t\t@keydown.enter.shift.exact.prevent\n\t\t\t@keyup.enter.exact=\"handleEnter()\"\n\t\t\t@keyup.enter.shift.exact=\"handleShiftEnter()\"\n\t\t\tauto-grow\n\t\t\trows=\"1\"\n\t\t\tv-model=\"data\"\n\t\t\tref=\"markdownEditor\"\n\t\t\t:id=\"'markdown_editor_' + localId\"\n\t\t\t:placeholder=\"placeholder\"\n\t\t\tv-if=\"(editing || inputOnlyMode) && !disabled\"\n\t\t\t:solo=\"solo\"\n\t\t\t:flat=\"flat\"\n\t\t></v-textarea>\n\t\t<div class=\"marked\" v-else v-html=\"compiledMarkdown\" @click=\"setEditing(true, true)\"></div>\n\t</div>\n</template>\n\n<script>\n\timport marked from 'marked';\n\timport { v4 as uuidv4 } from 'uuid';\n\timport { cloneDeep } from 'lodash';\n\n\texport default {\n\t\tname: 'Markdown',\n\t\tprops: {\n\t\t\tvalue: { type: String, required: false, default: '' },\n\t\t\tid: { type: String, required: false },\n\t\t\tinputOnlyMode: { type: Boolean, required: false, default: false },\n\t\t\tfocus: { type: Boolean, required: false, default: false },\n\t\t\tplaceholder: { type: String, required: false, default: '' },\n\t\t\tflat: { type: Boolean, required: false, default: false },\n      solo: { type: Boolean, required: false, default: false },\n      disabled: { type: Boolean, required: false, default: false },\n\t\t},\n\t\tcomponents: {},\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tediting: false,\n\t\t\t\tdata: '',\n\t\t\t\tlocalId: null,\n\t\t\t};\n\t\t},\n\t\tmounted() {\n\t\t\tthis.data = cloneDeep(this.value);\n\t\t\tif (this.id) this.localId = this.id;\n\t\t\telse this.localId = this.getId();\n\t\t\tthis.setEditing(this.inputOnlyMode, this.focus);\n\t\t},\n\t\tmethods: {\n\t\t\thandleShiftEnter() {\n\t\t\t\tconst el = document.getElementById('markdown_editor_' + this.localId);\n\t\t\t\tconst caret = this.getCaretPosition(el);\n\t\t\t\tthis.data = this.data.slice(0, caret) + '\\r\\n' + this.data.slice(caret);\n\t\t\t\tthis.$nextTick(() => this.setCaretPosition(el, caret + 1));\n\t\t\t},\n\t\t\thandleEnter() {\n\t\t\t\tthis.data = this.data ? this.data.trim() : '';\n\t\t\t\tthis.$emit('update', this.data);\n\t\t\t\tthis.editing = false;\n\t\t\t},\n\t\t\thandleBlur() {\n\t\t\t\treturn this.handleEnter();\n\t\t\t},\n\t\t\tgetId() {\n\t\t\t\treturn uuidv4().replace(/-/g, '');\n\t\t\t},\n\t\t\tsetEditing(editing, focus) {\n        if(this.disabled){\n          return;\n        }\n\t\t\t\tthis.editing = editing;\n\t\t\t\tif (editing && focus) {\n\t\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\t\tthis.$refs.markdownEditor.focus();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tgetCaretPosition(el) {\n\t\t\t\tlet caret = 0;\n\t\t\t\tif (el.selectionStart || el.selectionStart == '0') caret = el.selectionStart;\n\t\t\t\treturn caret;\n\t\t\t},\n\t\t\tsetCaretPosition(el, pos) {\n\t\t\t\tif (el.setSelectionRange) {\n\t\t\t\t\tel.focus();\n\t\t\t\t\tel.setSelectionRange(pos, pos);\n\t\t\t\t} else if (el.createTextRange) {\n\t\t\t\t\tvar range = el.createTextRange();\n\t\t\t\t\trange.collapse(true);\n\t\t\t\t\trange.moveEnd('character', pos);\n\t\t\t\t\trange.moveStart('character', pos);\n\t\t\t\t\trange.select();\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tcomputed: {\n\t\t\tcompiledMarkdown: function() {\n\t\t\t\tif (this.data == null || this.data.length === 0) {\n\t\t\t\t\treturn `<span style=\"color:var(--v-gray_70-base)\">${this.placeholder}</span>`;\n\t\t\t\t}\n\t\t\t\tlet m = marked(this.data, { breaks: true });\n\t\t\t\tm = m.replaceAll('<a href', '<a target=\"_blank\" href');\n\t\t\t\treturn m;\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n\t\t\tvalue: function(newVal) {\n\t\t\t\tthis.data = cloneDeep(newVal);\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.marked {\n\t\tmargin: 0;\n\t\tpadding: 0;\n    text-align: left;\n    word-break: break-word;\n\t\ta {\n\t\t\tword-wrap: anywhere;\n\t\t\tword-break: break-all;\n\t\t\toverflow-wrap: break-word;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Markdown.vue?vue&type=template&id=0d867969\"\nimport script from \"./Markdown.vue?vue&type=script&lang=js\"\nexport * from \"./Markdown.vue?vue&type=script&lang=js\"\nimport style0 from \"./Markdown.vue?vue&type=style&index=0&id=0d867969&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VTextarea})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.assignedUser)?_c('div',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({ content: _vm.firstName + ' ' + _vm.lastName }),expression:\"{ content: firstName + ' ' + lastName }\"}],staticClass:\"row-format align-center\"},[(_vm.assignedUser.profilePicture)?_c('v-avatar',{attrs:{\"size\":\"25\"}},[_c('img',{staticClass:\"pic\",attrs:{\"src\":_vm.assignedUser.profilePicture}})]):_c('v-avatar',{attrs:{\"size\":\"25\",\"color\":\"primary\"}},[_c('span',{staticStyle:{\"color\":\"white\"}},[_vm._v(_vm._s(_vm.firstName.substr(0, 1).toUpperCase() + _vm.lastName.substr(0, 1).toUpperCase()))])]),(_vm.showName)?_c('div',{staticClass:\"ml-2 assigned-user-name ellipsis\"},[_vm._v(_vm._s(_vm.firstName)+\" \"+_vm._s(_vm.lastName))]):_vm._e()],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<div v-if=\"assignedUser\" v-tippy=\"{ content: firstName + ' ' + lastName }\" class=\"row-format align-center\">\n\t\t\t<v-avatar size=\"25\" v-if=\"assignedUser.profilePicture\">\n\t\t\t\t<img class=\"pic\" :src=\"assignedUser.profilePicture\" />\n\t\t\t</v-avatar>\n\t\t\t<v-avatar size=\"25\" v-else color=\"primary\">\n\t\t\t\t<span style=\"color: white;\">{{\n\t\t\t\t\tfirstName.substr(0, 1).toUpperCase() + lastName.substr(0, 1).toUpperCase()\n\t\t\t\t}}</span>\n\t\t\t</v-avatar>\n\t\t\t<div class=\"ml-2 assigned-user-name ellipsis\" v-if=\"showName\">{{ firstName }} {{ lastName }}</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'AssignedUser',\n\n\t\tprops: {\n      assignableUsers: Array,\n\t\t\tassignedTo: Number,\n\t\t\tshowName: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: true\n\t\t\t}\n\t\t},\n\n\t\tcomponents: {},\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t},\n\n\t\tcomputed: {\n\t\t\tassignedUser: function() {\n\t\t\t\treturn this.assignableUsers.find((u) => u.userId === this.assignedTo)\n\t\t\t},\n\n\t\t\tfirstName: function(){\n\t\t\t\tif(this.assignedUser && this.assignedUser.firstName){\n\t\t\t\t\treturn this.assignedUser.firstName;\n\t\t\t\t}else{\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tlastName: function(){\n\t\t\t\tif(this.assignedUser && this.assignedUser.lastName){\n\t\t\t\t\treturn this.assignedUser.lastName;\n\t\t\t\t}else{\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssignedUser.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AssignedUser.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AssignedUser.vue?vue&type=template&id=576b7332&scoped=true\"\nimport script from \"./AssignedUser.vue?vue&type=script&lang=js\"\nexport * from \"./AssignedUser.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"576b7332\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\ninstallComponents(component, {VAvatar})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.domainRoot)?_c('files',{ref:\"File\",attrs:{\"show-deleted\":_vm.showDeleted,\"folder-id\":_vm.domainRoot.id,\"read-only\":_vm.readOnly}}):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{staticClass:\"font-12\",staticStyle:{\"background-color\":\"var(--v-sidebar-base)\",\"border-radius\":\"4px\"},on:{\"contextmenu\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.$refs.FileSystem.showContextMenu($event, null)}}},[_c('v-col',{staticClass:\"text-left brand-medium pointer row-format align-center\",attrs:{\"cols\":\"6\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.sort('name')}}},[_c('div',[_vm._v(\"Name\")]),(_vm.sortBy === 'name')?_c('v-icon',[_vm._v(_vm._s(_vm.sortDir === 'asc' ? 'arrow_drop_down' : 'arrow_drop_up'))]):_vm._e()],1),_c('v-col',{staticClass:\"text-left brand-medium pointer row-format align-center\",attrs:{\"cols\":\"2\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.sort('updated')}}},[_c('div',[_vm._v(\"Modified\")]),(_vm.sortBy === 'updated')?_c('v-icon',[_vm._v(_vm._s(_vm.sortDir === 'asc' ? 'arrow_drop_down' : 'arrow_drop_up'))]):_vm._e()],1),_c('v-col',{staticClass:\"text-left brand-medium pointer row-format align-center\",attrs:{\"cols\":\"2\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.sort('size')}}},[_c('div',[_vm._v(\"Size\")]),(_vm.sortBy === 'size')?_c('v-icon',[_vm._v(_vm._s(_vm.sortDir === 'asc' ? 'arrow_drop_down' : 'arrow_drop_up'))]):_vm._e()],1),_c('v-col',{staticClass:\"text-left brand-medium row-format align-center\",attrs:{\"cols\":\"1\"}},[_c('div',[_vm._v(\"Ver\")])]),_c('v-col',{staticClass:\"text-left brand-medium row-format align-center\",attrs:{\"cols\":\"1\"}})],1),_c('file-system',{ref:\"FileSystem\",attrs:{\"sort-by\":_vm.sortBy,\"sort-dir\":_vm.sortDir,\"parent-folder-id\":_vm.folderId,\"show-deleted\":_vm.showDeleted,\"parent-deleted\":false,\"depth\":0,\"is-dragging\":_vm.isDragging,\"read-only\":_vm.readOnly}}),(!_vm.readOnly)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-btn',{attrs:{\"text\":\"\",\"small\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$refs.FileSystem.handleUploadFile()}}},[_vm._v(\"+ Upload file\")])],1)],1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<v-container fluid>\n\t\t\t<v-row\n\t\t\t\tclass=\"font-12\"\n\t\t\t\tstyle=\"background-color: var(--v-sidebar-base); border-radius: 4px\"\n\t\t\t\t@contextmenu.stop.prevent=\"$refs.FileSystem.showContextMenu($event, null)\"\n\t\t\t>\n\t\t\t\t<v-col cols=\"6\" class=\"text-left brand-medium pointer row-format align-center\" @click.stop=\"sort('name')\"\n\t\t\t\t\t><div>Name</div>\n\t\t\t\t\t<v-icon v-if=\"sortBy === 'name'\">{{\n\t\t\t\t\t\tsortDir === 'asc' ? 'arrow_drop_down' : 'arrow_drop_up'\n\t\t\t\t\t}}</v-icon></v-col\n\t\t\t\t>\n\t\t\t\t<v-col cols=\"2\" class=\"text-left brand-medium pointer row-format align-center\" @click.stop=\"sort('updated')\"\n\t\t\t\t\t><div>Modified</div>\n\t\t\t\t\t<v-icon v-if=\"sortBy === 'updated'\">{{\n\t\t\t\t\t\tsortDir === 'asc' ? 'arrow_drop_down' : 'arrow_drop_up'\n\t\t\t\t\t}}</v-icon></v-col\n\t\t\t\t>\n\t\t\t\t<v-col cols=\"2\" class=\"text-left brand-medium pointer row-format align-center\" @click.stop=\"sort('size')\"\n\t\t\t\t\t><div>Size</div>\n\t\t\t\t\t<v-icon v-if=\"sortBy === 'size'\">{{\n\t\t\t\t\t\tsortDir === 'asc' ? 'arrow_drop_down' : 'arrow_drop_up'\n\t\t\t\t\t}}</v-icon></v-col\n\t\t\t\t>\n        <v-col cols=\"1\" class=\"text-left brand-medium row-format align-center\"><div>Ver</div></v-col>\n        <v-col cols=\"1\" class=\"text-left brand-medium row-format align-center\"></v-col>\n\n      </v-row>\n\t\t\t<file-system\n\t\t\t\tref=\"FileSystem\"\n\t\t\t\t:sort-by=\"sortBy\"\n\t\t\t\t:sort-dir=\"sortDir\"\n\t\t\t\t:parent-folder-id=\"folderId\"\n\t\t\t\t:show-deleted=\"showDeleted\"\n\t\t\t\t:parent-deleted=\"false\"\n\t\t\t\t:depth=\"0\"\n\t\t\t\t:is-dragging=\"isDragging\"\n        :read-only=\"readOnly\"\n\t\t\t></file-system>\n      <v-row v-if=\"!readOnly\">\n        <v-col cols=\"12\">\n          <v-btn text small @click.stop=\"$refs.FileSystem.handleUploadFile()\">+ Upload file</v-btn>\n        </v-col>\n      </v-row>\n\t\t</v-container>\n\t</div>\n</template>\n\n<script>\n\timport FileSystem from '@/modules/files/FileSystem';\n\texport default {\n\t\tname: 'Files',\n\n\t\tprops: {\n\t\t\tfolderId: {\n\t\t\t\ttype: String,\n\t\t\t\tdefault: null,\n\t\t\t},\n      showDeleted: {\n        type: Boolean,\n        default: false,\n      },\n      readOnly: {\n        type: Boolean,\n        default: false,\n      },\n\t\t},\n\n\t\tcomponents: { FileSystem },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tisDragging: false,\n\t\t\t\tsortBy: 'name',\n\t\t\t\tsortDir: 'asc',\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tdocument.addEventListener('dragstart', this.handleDragStart);\n\t\t\tdocument.addEventListener('dragover', this.handleDragOver);\n\t\t\tdocument.addEventListener('dragend', this.handleDragEnd);\n\t\t\tdocument.addEventListener('drop', this.handleDrop);\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t\tdocument.removeEventListener('dragstart', this.handleDragStart);\n\t\t\tdocument.removeEventListener('dragover', this.handleDragOver);\n\t\t\tdocument.removeEventListener('dragend', this.handleDragEnd);\n\t\t\tdocument.removeEventListener('drop', this.handleDrop);\n\t\t},\n\n\t\tmethods: {\n\t\t\tsort: function(key) {\n\t\t\t\tif (this.sortBy === key) {\n\t\t\t\t\tthis.sortDir = this.sortDir === 'desc' ? 'asc' : 'desc';\n\t\t\t\t} else {\n\t\t\t\t\tthis.sortBy = key;\n\t\t\t\t\tthis.sortDir = 'asc';\n\t\t\t\t}\n\t\t\t},\n\t\t\taddNew: function() {\n\t\t\t\tthis.$refs.FileSystem.handleUploadFile();\n\t\t\t},\n\t\t\thandleDragStart() {\n\t\t\t\tthis.isDragging = true;\n\t\t\t},\n\t\t\thandleDragOver() {\n\t\t\t\tthis.isDragging = true;\n\t\t\t},\n\t\t\thandleDragEnd() {\n\t\t\t\tthis.isDragging = false;\n\t\t\t},\n\t\t\thandleDrop() {\n\t\t\t\tthis.isDragging = false;\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Files.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Files.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Files.vue?vue&type=template&id=7cb1d37a&scoped=true\"\nimport script from \"./Files.vue?vue&type=script&lang=js\"\nexport * from \"./Files.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7cb1d37a\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VIcon,VRow})\n","<template>\n\t<files ref=\"File\" v-if=\"domainRoot\" :show-deleted=\"showDeleted\" :folder-id=\"domainRoot.id\" :read-only=\"readOnly\"></files>\n</template>\n\n<script>\n\timport FileSystemService from '@/modules/files/FileSystemService';\n\timport Files from '@/modules/files/Files';\n\n\texport default {\n\t\tname: 'DomainRoot',\n\n\t\tprops: {\n      showDeleted: {\n        type: Boolean,\n        default: false,\n      },\n      readOnly: {\n        type: Boolean,\n        default: true,\n      },\n\t\t\ttype: {\n\t\t\t\ttype: String,\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t\tid: {\n\t\t\t\ttype: String,\n\t\t\t\tdefault: null,\n\t\t\t},\n\t\t},\n\n\t\tcomponents: { Files },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tdomainRoot: null,\n\t\t\t\tfileSystemService: new FileSystemService(),\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getDomainRoot();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\taddNew: function(){\n\t\t\t\tthis.$refs.File.addNew();\n\t\t\t},\n\n\t\t\tgetDomainRoot: function() {\n\t\t\t\tthis.fileSystemService.domainRoot(this.type, this.id).then((res) => {\n\t\t\t\t\tthis.domainRoot = res.data;\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DomainRoot.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DomainRoot.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DomainRoot.vue?vue&type=template&id=18d1d07f&scoped=true\"\nimport script from \"./DomainRoot.vue?vue&type=script&lang=js\"\nexport * from \"./DomainRoot.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"18d1d07f\",\n  null\n  \n)\n\nexport default component.exports","<template>\n\t<div id=\"deliverable-detail\" class=\"column-format\">\n\t\t<div class=\"modal-header row-format align-center\">\n\t\t\t<div class=\"row-format align-center\">\n\t\t\t\t<v-icon size=\"24\">$projects</v-icon>\n\t\t\t\t<div style=\"margin-left: 8px\">{{ project.name }}</div>\n\t\t\t</div>\n\t\t\t<div class=\"font-14\">\n\t\t\t\t<v-btn class=\"ml-auto mr-n2\" icon @click.stop=\"$emit('result', deliverable)\">\n\t\t\t\t\t<v-icon size=\"20\">$close</v-icon>\n\t\t\t\t</v-btn>\n\t\t\t</div>\n\t\t</div>\n\n    <div class=\"mb-4\">\n      <v-tabs v-model=\"tabItem\">\n        <v-tab>Overview</v-tab>\n        <v-tab>Files</v-tab>\n      </v-tabs>\n    </div>\n\n\t\t<div v-if=\"tabItem === 0\" id=\"deliverable-inner-wrapper\" class=\"task-padding d-md-flex show-scrollbar\">\n\t\t\t<div class=\"left-block\">\n\t\t\t\t<v-textarea\n\t\t\t\t\t:rows=\"1\"\n\t\t\t\t\t:disabled=\"isReadOnly\"\n\t\t\t\t\tclass=\"h-outline font-12\"\n\t\t\t\t\thide-details\n\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\tauto-grow\n\t\t\t\t\tv-model=\"deliverable.name\"\n\t\t\t\t\t:placeholder=\"$t('projects.new-deliverable')\"\n\t\t\t\t\tprepend-icon=\"$deliverableBox\"\n\t\t\t\t\tstyle=\"font-size: 14px\"\n\t\t\t\t\t:label=\"$t('projects.deliverable-name')\"\n\t\t\t\t></v-textarea>\n\n\t\t\t\t<div class=\"text-left mt-3\">\n\t\t\t\t\t<div class=\"font-grey font-12\">{{ $t('projects.description') }}</div>\n\t\t\t\t\t<div class=\"mt-1 font-14\">\n\t\t\t\t\t\t<markdown\n\t\t\t\t\t\t\t:value=\"deliverable.description\"\n\t\t\t\t\t\t\t:id=\"deliverable.id\"\n\t\t\t\t\t\t\t:placeholder=\"$t('projects.description-placeholder')\"\n\t\t\t\t\t\t\t:input-only-mode=\"false\"\n\t\t\t\t\t\t\t@update=\"deliverable.description = $event\"\n\t\t\t\t\t\t\t:disabled=\"isReadOnly\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mt-4 d-none d-md-block\">\n\t\t\t\t\t<div class=\"label\">{{ $t('projects.tasks') }}</div>\n\t\t\t\t\t<tasks ref=\"tasks\" :deliverable=\"deliverable\" :detail-view=\"true\" :disabled=\"isReadOnly\"></tasks>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mt-2\" v-if=\"deliverable.approvalRequired\">\n\t\t\t\t\t<div class=\"submitted\" v-if=\"deliverable.approvalRequestedAt\">\n\t\t\t\t\t\t{{ $t('projects.submitted') }} {{ DateTime.fromISO(deliverable.approvalRequestedAt).toFormat('DD') }}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mt-4\" v-if=\"deliverable.approvalRequired\">\n\t\t\t\t\t<v-btn color=\"success\" elevation=\"0\" block @click=\"confirmApproval\"\n\t\t\t\t\t\t>{{ $t('global.ok') }} <v-icon small class=\"ml-2\">$success</v-icon></v-btn\n\t\t\t\t\t>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mt-4 d-none d-md-block\" v-if=\"approvals.length\">\n\t\t\t\t\t<div class=\"label\">{{ $t('projects.client-workflow') }}</div>\n\t\t\t\t\t<ul v-for=\"approval in approvals\" :key=\"approval.id\" class=\"font-gray_80 font-12 text-left\">\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t{{ approval.approverName }} {{ $t('global.on') }}\n\t\t\t\t\t\t\t{{ DateTime.fromISO(approval.approvedAt).toFormat('DD') }} {{ $t('global.from') }} [{{\n\t\t\t\t\t\t\t\tapproval.approvalStatus\n\t\t\t\t\t\t\t}}] {{ $t('global.status') }}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mt-4 d-none d-md-block\" v-if=\"$vuetify.breakpoint.mdAndUp\">\n\t\t\t\t\t<div class=\"label\">{{ $t('projects.feed') }}</div>\n\t\t\t\t\t<activity ref=\"activity\" :project=\"project\" :deliverable=\"deliverable\" :project-service=\"projectService\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"right-block column-format gap-4\">\n\t\t\t\t<div>\n\t\t\t\t\t<v-select\n\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\t:disabled=\"isReadOnly\"\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t:label=\"$t('projects.filter.status')\"\n\t\t\t\t\t\t:items=\"statusList\"\n\t\t\t\t\t\tv-model=\"deliverable.statusId\"\n\t\t\t\t\t\titem-text=\"label\"\n\t\t\t\t\t\titem-value=\"id\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<template slot=\"append\">\n\t\t\t\t\t\t\t<div class=\"v-input__icon v-input__icon--append\">\n\t\t\t\t\t\t\t\t<div class=\"status-box\" :style=\"`--status-color: ${currentStatus.hexColor}`\"></div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</v-select>\n\t\t\t\t</div>\n\n\t\t\t\t<v-menu :close-on-click=\"true\" :close-on-content-click=\"false\" offset-y :disabled=\"isReadOnly\">\n\t\t\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t\t\t<div v-on=\"on\" class=\"pointer h-outline text-left pr-3 mb-2\">\n\t\t\t\t\t\t\t<div class=\"font-12 font-gray_80\">{{ $t('projects.assigned-to') }}</div>\n\t\t\t\t\t\t\t<div v-if=\"deliverable.assignedToList.length\" class=\"row-format align-center\">\n\t\t\t\t\t\t\t\t<assigned-user\n\t\t\t\t\t\t\t\t\tv-on=\"on\"\n\t\t\t\t\t\t\t\t\tv-for=\"(assignedTo, index) in deliverable.assignedToList\"\n\t\t\t\t\t\t\t\t\t:key=\"assignedTo\"\n\t\t\t\t\t\t\t\t\t:assigned-to=\"assignedTo\"\n\t\t\t\t\t\t\t\t\t:show-name=\"false\"\n\t\t\t\t\t\t\t\t\t:assignable-users=\"assignableUsers\"\n\t\t\t\t\t\t\t\t\tempty-label=\"--\"\n\t\t\t\t\t\t\t\t\t:style=\"\n\t\t\t\t\t\t\t\t\t\t`${\n\t\t\t\t\t\t\t\t\t\t\tindex > 0 ? 'margin-left: -6px' : ''\n\t\t\t\t\t\t\t\t\t\t}; border: 2px solid var(--v-white-base); border-radius: 100%; z-index: ${index}`\n\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t></assigned-user>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div v-else>--</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t\t<div style=\"background-color: var(--v-white-base)\" class=\"text-left pa-3 font-14\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-for=\"user in assignableUsers\"\n\t\t\t\t\t\t\t:key=\"user.userId\"\n\t\t\t\t\t\t\tclass=\"row-format align-center text-left py-1 pointer\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<input\n\t\t\t\t\t\t\t\tstyle=\"width: 20px; height: 20px; border-radius: 4px\"\n\t\t\t\t\t\t\t\ttype=\"checkbox\"\n\t\t\t\t\t\t\t\t:value=\"user.userId\"\n\t\t\t\t\t\t\t\tv-model=\"deliverable.assignedToList\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<assigned-user\n\t\t\t\t\t\t\t\tclass=\"mx-2\"\n\t\t\t\t\t\t\t\tv-if=\"user.userId\"\n\t\t\t\t\t\t\t\t:assigned-to=\"user.userId\"\n\t\t\t\t\t\t\t\t:show-name=\"true\"\n\t\t\t\t\t\t\t\t:assignable-users=\"assignableUsers\"\n\t\t\t\t\t\t\t></assigned-user>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</v-menu>\n\n\t\t\t\t<date-selector\n\t\t\t\t\t:date=\"deliverable.startDate\"\n\t\t\t\t\t:label=\"$t('projects.start')\"\n\t\t\t\t\t@change=\"deliverable.startDate = $event\"\n\t\t\t\t\t:disabled=\"isReadOnly\"\n\t\t\t\t/>\n\n\t\t\t\t<date-selector\n\t\t\t\t\t:date=\"deliverable.dueDate\"\n\t\t\t\t\t:label=\"$t('projects.due')\"\n\t\t\t\t\t@change=\"deliverable.dueDate = $event\"\n\t\t\t\t\t:disabled=\"isReadOnly\"\n\t\t\t\t/>\n\n\t\t\t\t<div class=\"mt-4 d-md-none\">\n\t\t\t\t\t<div class=\"label\">{{ $t('projects.tasks') }}</div>\n\t\t\t\t\t<tasks ref=\"tasks\" :deliverable=\"deliverable\" :detail-view=\"true\" :disabled=\"isReadOnly\"></tasks>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mt-4 d-md-none\" v-if=\"approvals.length\">\n\t\t\t\t\t<div class=\"label\">{{ $t('projects.client-workflow') }}</div>\n\t\t\t\t\t<ul v-for=\"approval in approvals\" :key=\"approval.id\" class=\"font-gray_80 font-12 text-left\">\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t{{ approval.approverName }} {{ $t('global.on') }}\n\t\t\t\t\t\t\t{{ DateTime.fromISO(approval.approvedAt).toFormat('DD') }} {{ $t('global.from') }} [{{\n\t\t\t\t\t\t\t\tapproval.approvalStatus\n\t\t\t\t\t\t\t}}] {{ $t('global.status') }}\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"mt-4 d-md-none\" v-if=\"$vuetify.breakpoint.smAndDown\">\n\t\t\t\t\t<div class=\"label\">{{ $t('projects.feed') }}</div>\n\t\t\t\t\t<activity ref=\"activity\" :project=\"project\" :deliverable=\"deliverable\" :project-service=\"projectService\" />\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div v-else id=\"deliverable-files\" class=\" d-md-flex show-scrollbar\">\n\t\t\t<domain-root\n\t\t\t\tclass=\"flex-grow-1\"\n\t\t\t\ttype=\"Task\"\n\t\t\t\t:id=\"deliverable.id\"\n\t\t\t\t:show-deleted=\"showDeleted\"\n\t\t\t\t:read-only=\"false\"\n\t\t\t></domain-root>\n\t\t</div>\n\n\t\t<div class=\"mt-auto modal-footer\" v-if=\"isReadOnly\">\n\t\t\t<v-btn class=\"primary-action ml-1\" style=\"width: 160px\" @click=\"$emit('result')\">\n\t\t\t\t{{ $t('global.close') }}\n\t\t\t</v-btn>\n\t\t</div>\n\t\t<div class=\"mt-auto modal-footer\" v-else>\n\t\t\t<v-btn class=\"secondary-action mr-1\" icon @click=\"confirmDeleteDeliverable\">\n\t\t\t\t<v-icon size=\"20\">$delete</v-icon>\n\t\t\t</v-btn>\n\t\t\t<v-btn class=\"primary-action ml-1\" style=\"width: 160px\" @click=\"saveAndCloseInternal\">\n\t\t\t\t{{ $t('global.save') }}\n\t\t\t</v-btn>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport Activity from '@/modules/projects/deliverable/Activity';\n\timport Tasks from '@/modules/projects/deliverable/Tasks';\n\timport { DateTime } from 'luxon';\n\timport ProjectService from '@/modules/projects/ProjectService';\n\timport marked from 'marked';\n\timport ConfirmModal from '@/components/ConfirmModal';\n\timport Markdown from '@/components/Markdown';\n\timport DateSelector from '@/components/DateSelector';\n\timport jsonPatch from 'fast-json-patch';\n\timport AssignedUser from '@/components/AssignedUser';\n\timport DomainRoot from '@/modules/files/DomainRoot';\n\n\texport default {\n\t\tname: 'DeliverableDetail',\n\n\t\tprops: ['project', 'origDeliverable', 'statusList'],\n\n\t\tcomponents: {\n\t\t\tTasks,\n\t\t\tActivity,\n\t\t\tMarkdown,\n\t\t\tDateSelector,\n\t\t\tAssignedUser,\n\t\t\tDomainRoot,\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\ttabItem: null,\n\t\t\t\tdeliverable: JSON.parse(JSON.stringify(this.origDeliverable)),\n\t\t\t\tobserver: null,\n\t\t\t\tisSaving: false,\n\t\t\t\tDateTime: DateTime,\n\t\t\t\tprojectService: new ProjectService(),\n\t\t\t\tassignableUsers: [],\n\t\t\t\tshowDeleted: false,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.observer = jsonPatch.observe(this.deliverable);\n\t\t\tthis.$store.state.eventBus.$on(this.getChannelName(), this.eventHandler);\n\t\t\tif (!this.isReadOnly) {\n\t\t\t\tthis.getAssignableUsers();\n\t\t\t}\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t\tthis.$store.state.eventBus.$off(this.getChannelName(), this.eventHandler);\n\t\t},\n\n\t\tmethods: {\n\t\t\tgetAssignableUsers: function() {\n\t\t\t\tthis.projectService.getAssignableUsers(this.project.id).then((res) => {\n\t\t\t\t\tthis.assignableUsers.splice(0, this.assignableUsers.length);\n\t\t\t\t\tthis.assignableUsers.push(...res.data);\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tcheckClear: function(propName) {\n\t\t\t\tif (this.deliverable[propName] === '--clear--') {\n\t\t\t\t\tthis.deliverable[propName] = null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\teventHandler: function(event) {\n\t\t\t\tif (event.userMetadata === 'Comment') {\n\t\t\t\t\tthis.handleCommentEvent(event);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tgetChannelName() {\n\t\t\t\treturn this.$store.getters.getMessageChannelPrefix + '.pr-' + this.project.id + '.d-' + this.deliverable.id;\n\t\t\t},\n\n\t\t\thandleCommentEvent(event) {\n\t\t\t\tevent.message.timestamp = new Date().toISOString().split('.')[0] + 'Z';\n\t\t\t\tlet comment = event.message;\n\t\t\t\tconsole.log(comment);\n\n\t\t\t\tif (comment.edited) {\n\t\t\t\t\tlet ix = this.deliverable.comments.findIndex((c) => c.id === comment.id);\n\t\t\t\t\tif (ix > -1) {\n\t\t\t\t\t\tif (comment.comment === '_deleted_') {\n\t\t\t\t\t\t\tthis.deliverable.comments.splice(ix, 1);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.deliverable.comments.splice(ix, 1, comment);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.deliverable.comments.push(comment);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsaveAndCloseInternal: function() {\n\t\t\t\tthis.$refs.tasks.clearEmpty();\n\t\t\t\tthis.$refs.activity.checkCommentBeforeSave().finally(() => {\n\t\t\t\t\tthis.isSaving = true;\n\t\t\t\t\tconst patch = this.generatePatchFiltered();\n\n\t\t\t\t\tif (patch.length > 0) {\n\t\t\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\t\t\tthis.save(patch)\n\t\t\t\t\t\t\t.then()\n\t\t\t\t\t\t\t.catch()\n\t\t\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\t\t\tthis.$store.commit('stopLoading');\n\t\t\t\t\t\t\t\tthis.isSaving = false;\n\t\t\t\t\t\t\t\tthis.$emit('result', this.deliverable);\n\t\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.$emit('result');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tgeneratePatchFiltered: function() {\n\t\t\t\tconst patch = jsonPatch.generate(this.observer, false);\n\t\t\t\tif (patch.length > 0) {\n\t\t\t\t\tfor (let i = patch.length - 1; i >= 0; i--) {\n\t\t\t\t\t\tlet path = patch[i].path;\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\tpath.startsWith('/comments/') ||\n\t\t\t\t\t\t\tpath.startsWith('/files/') ||\n\t\t\t\t\t\t\tpath.startsWith('/events/') ||\n\t\t\t\t\t\t\tpath.startsWith('/product')\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tpatch.splice(i, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn patch;\n\t\t\t\t} else {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsave: function(patch) {\n\t\t\t\tthis.$refs.tasks.clearEmpty();\n\t\t\t\tlet result = this.projectService.patchDeliverable(this.deliverable.id, patch);\n\n\t\t\t\treturn result\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\treturn Promise.resolve(res);\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tthis.$store.commit('error', err.response.data.message);\n\t\t\t\t\t\treturn Promise.reject(err);\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\tconfirmDeleteDeliverable: function() {\n\t\t\t\tlet binding = {\n\t\t\t\t\theadingText: this.$t('global.confirm'),\n\t\t\t\t\tbodyText: this.$t('projects.delete-deliverable'),\n\t\t\t\t\tyesText: this.$t('global.delete'),\n\t\t\t\t\tnoText: this.$t('global.cancel'),\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController.openModal(ConfirmModal, binding, false, false).then((confirm) => {\n\t\t\t\t\tif (confirm) {\n\t\t\t\t\t\tthis.projectService.deleteDeliverable(this.deliverable.id).then(() => {\n\t\t\t\t\t\t\tthis.deliverable.deleted = true;\n\t\t\t\t\t\t\tthis.$emit('result', this.deliverable);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tconfirmApproval: function() {\n\t\t\t\tlet binding = {\n\t\t\t\t\ticon: '$success',\n\t\t\t\t\tseverity: 'success',\n\t\t\t\t\theadingText: this.$t('projects.submit'),\n\t\t\t\t\tbodyText: this.$t('projects.confirm-approval'),\n\t\t\t\t\tyesText: this.$t('global.submit'),\n\t\t\t\t\tnoText: this.$t('global.cancel'),\n\t\t\t\t\tnoIsSuperAction: false,\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController.openModal(ConfirmModal, binding, false, false).then((confirm) => {\n\t\t\t\t\tif (confirm) {\n\t\t\t\t\t\tthis.$refs.activity.checkCommentBeforeSave().finally(() => {\n\t\t\t\t\t\t\tthis.projectService.approveDeliverable(this.project.id, this.deliverable.id).then((res) => {\n\t\t\t\t\t\t\t\tthis.deliverable = res.data;\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tformatMarkdown: function(comment) {\n\t\t\t\tif (comment) {\n\t\t\t\t\tlet m = marked(comment, { breaks: true });\n\t\t\t\t\tm = m.replaceAll('<a href', '<a target=\"_blank\" href');\n\t\t\t\t\treturn m;\n\t\t\t\t} else {\n\t\t\t\t\treturn '--';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tformatTime: function(number, type) {\n\t\t\t\tif (number < 0) {\n\t\t\t\t\tnumber = number * -1;\n\t\t\t\t\treturn number + ' ' + type + (number > 1 ? 's' : '') + ' ' + this.$t('global.ago');\n\t\t\t\t} else {\n\t\t\t\t\treturn number + ' ' + type + (number > 1 ? 's' : '') + ' ' + this.$t('global.remaining');\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tisReadOnly: function() {\n\t\t\t\treturn this.project.portalAccess !== 'Full access';\n\t\t\t},\n\n\t\t\tcurrentStatus: function() {\n\t\t\t\treturn this.statusList.find((s) => s.id === this.deliverable.statusId);\n\t\t\t},\n\n\t\t\tapprovals: function() {\n\t\t\t\tif (this.deliverable.approvals && this.deliverable.approvals.length) {\n\t\t\t\t\tlet result = [...this.deliverable.approvals];\n\t\t\t\t\treturn result.reverse();\n\t\t\t\t} else {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\twatch: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.approval {\n\t\tborder: 1px solid var(--v-gray_30-base);\n\t\tborder-radius: 4px;\n\t\tpadding: 4px;\n\t\tmargin-top: 4px;\n\t\tmargin-bottom: 4px;\n\t}\n\n\t.modal-header {\n\t\tpadding: 22px 24px 0;\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t}\n\n\t.task-padding {\n\t\tpadding: 8px 24px 24px;\n\t}\n\n\t#deliverable-detail {\n\t\twidth: 700px;\n\t\tmin-height: 500px;\n\n\t\t#deliverable-files {\n\t\t\tmax-height: calc(100vh - 250px);\n\t\t\toverflow-y: auto;\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t#deliverable-inner-wrapper {\n\t\t\tmax-height: calc(100vh - 250px);\n\t\t\toverflow-y: auto;\n\n\t\t\t.left-block {\n\t\t\t\tflex: 1 1 420px;\n\t\t\t\tmax-width: 420px !important;\n\t\t\t\tword-break: break-all;\n\t\t\t\tpadding-right: 20px;\n\t\t\t}\n\n\t\t\t.right-block {\n\t\t\t\tflex: 1 1 220px;\n\t\t\t}\n\n\t\t\t#deliverable-name {\n\t\t\t\tfont-size: 18px !important;\n\t\t\t\tmargin-top: 8px;\n\t\t\t}\n\n\t\t\t.label {\n\t\t\t\tcolor: var(--v-gray_80-base);\n\t\t\t\tfont-size: 12px;\n\t\t\t\ttext-align: left;\n\t\t\t\tmargin-bottom: 8px;\n\t\t\t}\n\t\t}\n\n\t\t.time-worked {\n\t\t\tborder: 1px solid var(--v-gray_50-base);\n\t\t\tborder-radius: 4px;\n\t\t\theight: 24px;\n\t\t\tpadding: 0px 4px;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: space-between;\n\t\t\tline-height: 18px;\n\n\t\t\t&:hover:not(.disabled) {\n\t\t\t\tbackground-color: var(--v-gray_10-base);\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t}\n\t\t//.timer-container.running-not-in-scope,\n\t\t//.timer-container.running-not-in-scope .radial-progress-container {\n\t\t//\topacity: 0.5;\n\t\t//\tcursor: auto;\n\t\t//}\n\n\t\t.status-box {\n\t\t\tbackground-color: var(--status-color);\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tborder-radius: 4px;\n\t\t}\n\n\t\t.modal-footer {\n\t\t\tposition: sticky;\n\t\t\tposition: -webkit-sticky;\n\t\t\tmargin-top: 8px;\n\t\t}\n\t}\n\n\t.submitted {\n\t\tbackground-color: var(--v-blue_10-base);\n\t\tfont-size: 12px;\n\t\tpadding: 4px 8px;\n\t\tborder-radius: 4px;\n\t\tfont-weight: 600;\n\t\twidth: fit-content;\n\t}\n\n\t.description {\n\t\t//word-wrap: anywhere;\n\t\tword-break: break-all;\n\t\toverflow-wrap: break-word;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeliverableDetail.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeliverableDetail.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DeliverableDetail.vue?vue&type=template&id=85245bd4&scoped=true\"\nimport script from \"./DeliverableDetail.vue?vue&type=script&lang=js\"\nexport * from \"./DeliverableDetail.vue?vue&type=script&lang=js\"\nimport style0 from \"./DeliverableDetail.vue?vue&type=style&index=0&id=85245bd4&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"85245bd4\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VIcon,VMenu,VSelect,VTab,VTabs,VTextarea})\n","<template>\n\t<div v-if=\"deliverables.length\">\n\t\t<div class=\"brand-medium pointer\" @click=\"$router.push('/projects?v=overview')\">\n\t\t\t{{ $t('welcome.currently-have') }} <span style=\"color: var(--v-primary-base)\">{{ deliverables.length }}</span>\n\t\t\t{{ $tc('welcome.approval', deliverables.length) }}.\n\t\t</div>\n\t\t<div class=\"column-format\" style=\"gap: 8px; margin-top: 12px\">\n\t\t\t<div\n\t\t\t\tv-for=\"deliverable in deliverables\"\n\t\t\t\t:key=\"deliverable.id\"\n\t\t\t\tclass=\"action-button\"\n\t\t\t\t@click.stop=\"openDeliverable(deliverable)\"\n\t\t\t>\n\t\t\t\t{{ deliverable.name }}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport ProjectService from '@/modules/projects/ProjectService';\n\timport DeliverableDetail from '@/modules/projects/deliverable/DeliverableDetail';\n\n\texport default {\n\t\tname: 'Deliverables',\n\n\t\tprops: ['deliverables'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tprojectService: new ProjectService(),\n\t\t\t\tprojectTypes: [],\n\t\t\t\tprojects: [],\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getProjectTypes();\n\t\t\tthis.getProjectList();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tgetProjectList: function() {\n\t\t\t\tthis.projectService.getProjects().then((res) => {\n\t\t\t\t\tthis.projects.splice(0, this.projects.length);\n\t\t\t\t\tthis.projects.push(...res.data);\n\t\t\t\t});\n\t\t\t},\n\n      getProjectTypes: function() {\n\t\t\t\tthis.projectService.getProjectTypes().then((res) => {\n\t\t\t\t\tthis.projectTypes.push(...res.data);\n\t\t\t\t});\n\t\t\t},\n\n      getProjectType: function(projectTypeId){\n        return this.projectTypes.find(p => p.id === projectTypeId);\n      },\n\n\t\t\topenDeliverable: function(deliverable) {\n\t\t\t\tlet binding = {\n\t\t\t\t\torigDeliverable: deliverable,\n\t\t\t\t\tproject: this.projects.find((p) => p.id === deliverable.projectId),\n\t\t\t\t\tstatusList: this.getProjectType(deliverable.projectTypeId).statusList,\n\t\t\t\t};\n\n\t\t\t\tthis.$store.state.globalModalController.openModal(DeliverableDetail, binding, true, false).then((res) => {\n\t\t\t\t\tif (res && !res.approvalRequired) {\n\t\t\t\t\t\tlet ix = this.deliverables.findIndex((d) => d.id === res.id);\n\t\t\t\t\t\tif (ix > -1) {\n\t\t\t\t\t\t\tthis.deliverables.splice(ix, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Deliverables.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Deliverables.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Deliverables.vue?vue&type=template&id=4d8b66ce&scoped=true\"\nimport script from \"./Deliverables.vue?vue&type=script&lang=js\"\nexport * from \"./Deliverables.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4d8b66ce\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.invoices.length)?_c('div',[_c('div',{staticClass:\"brand-medium pointer\",on:{\"click\":function($event){return _vm.$router.push('/invoices?v=list')}}},[_vm._v(\" \"+_vm._s(_vm.$t('welcome.currently-have'))+\" \"),_c('span',{staticStyle:{\"color\":\"var(--v-primary-base)\"}},[_vm._v(_vm._s(_vm.invoices.length))]),_vm._v(\" \"+_vm._s(_vm.$tc('welcome.invoices-ready', _vm.invoices.length))+\". \")]),_c('div',{staticClass:\"column-format\",staticStyle:{\"gap\":\"8px\",\"margin-top\":\"12px\"}},_vm._l((_vm.invoices),function(invoice){return _c('div',{key:invoice.id,staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.openInvoice(invoice)}}},[_vm._v(\" \"+_vm._s(invoice.invoiceNumberFormatted)+\" - \"+_vm._s(_vm.$formatters.dollars(invoice.total))+\" - \"+_vm._s(_vm.$t('global.due'))+\" \"+_vm._s(_vm.DateTime.fromISO(invoice.dateDue).toFormat('MMM dd'))+\" \")])}),0)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"invoice-details\"}},[(_vm.invoice)?_c('div',{attrs:{\"id\":\"header-area\"}},[_c('div',{staticClass:\"header-left pl-md-6 pl-4\"},[_c('div',{staticClass:\"mr-6 brand-medium\"},[_c('h-icon2',{staticClass:\"mr-4\",attrs:{\"name\":\"invoices\",\"active\":true,\"size\":\"24\"}}),_vm._v(\" \"+_vm._s(_vm.$t('invoice.invoice-number-appended', { invoiceNumber: _vm.invoice.invoiceNumberFormatted }))+\" \")],1),(_vm.$vuetify.breakpoint.mdAndUp)?_c('div',[_c('v-menu',{attrs:{\"close-on-click\":true,\"nudge-bottom\":30,\"disabled\":!_vm.invoice.payments.length},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({staticClass:\"secondary-action\",attrs:{\"disabled\":!_vm.invoice.payments.length}},on),[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"size\":\"14\"}},[_vm._v(\"$time\")]),_c('span',{staticClass:\"body-12\"},[_vm._v(_vm._s(_vm.$t('invoices.details.payment-history')))]),(_vm.invoice.payments.length)?_c('span',{staticClass:\"body-10 ml-2 px-1\",staticStyle:{\"background-color\":\"var(--v-gray_10-base)\"}},[_vm._v(_vm._s(_vm.invoice.payments.length))]):_vm._e()],1)]}}],null,false,1492662527)},[_c('payment-history',{attrs:{\"invoice\":_vm.invoice},on:{\"openPayment\":function($event){return _vm.openPaymentDetail($event)}}})],1)],1):_vm._e()]),_c('div',{staticClass:\"header-right pr-md-6 pr-4\"},[_c('div',[_c('v-btn',{staticClass:\"mr-3\",attrs:{\"icon\":\"\"},on:{\"click\":_vm.downloadInvoice}},[_c('v-icon',{attrs:{\"size\":\"25\",\"color\":\"gray_60\"}},[_vm._v(\"$download\")])],1),_c('v-btn',{staticClass:\"primary-action\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.handleClose()}}},[_c('v-icon',{attrs:{\"size\":20}},[_vm._v(\"$close\")])],1)],1)])]):_vm._e(),_c('div',{staticClass:\"show-scrollbar\"},[(_vm.invoice && _vm.account)?_c(_vm.rendererType,{key:_vm.refreshKey,tag:\"component\",staticStyle:{\"max-height\":\"calc(100vh - 55px)\",\"height\":\"calc(100vh - 55px)\"},attrs:{\"invoice\":_vm.invoice,\"scheduled-payments\":_vm.invoice.scheduledPayments,\"account\":_vm.account,\"edit-mode\":false,\"attachment-service\":_vm.invoiceService,\"invoice-service\":_vm.invoiceService}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import HttpClient from '@/services/HttpClient';\nimport store from '@/store';\n\nexport default class InvoiceService {\n\thttpClient;\n\tinvoice;\n\n\tconstructor() {\n\t\tthis.httpClient = new HttpClient();\n\t}\n\n\tsetInvoice(invoice){\n\t\tthis.invoice = invoice;\n\t}\n\n\tgetInvoice(id) {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/invoices/${id}`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\n\tgetAchEnabled() {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/bankAccountsEnabled`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\n\tgetInvoices(earliest, latest) {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/invoices`, {\n\t\t\t\tparams: {\n\t\t\t\t\tearliest: earliest,\n\t\t\t\t\tlatest: latest,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetDepositAccount() {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/deposits`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetSignedUrl(fileName) {\n\t\treturn this.httpClient\n\t\t\t.get(`/${this.invoice.clientId}/invoices/${this.invoice.id}/files`, {\n\t\t\t\tparams: {\n\t\t\t\t\tfileName: fileName,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tdownloadInvoice(){\n\t\treturn this.httpClient\n\t\t\t.get(`/${this.invoice.clientId}/invoices/${this.invoice.id}/download`, {\n\t\t\t\tresponseType: 'blob',\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetInvoiceItem(clientId, invoiceId, invoiceItemId) {\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/invoices/${invoiceId}/item/${invoiceItemId}`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"row-format\",staticStyle:{\"height\":\"100%\",\"width\":\"100%\",\"max-height\":\"100%\"}},[_c('v-container',{key:_vm.forceRenderIndex,staticClass:\"px-0 px-md-4 mt-0\",staticStyle:{\"width\":\"100%\",\"height\":\"100%\",\"max-height\":\"100%\",\"overflow-y\":\"auto\",\"background-color\":\"var(--v-gray_20-base)\"},attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"id\":\"invoice-wrapper\"}},[(_vm.invoice && _vm.account)?_c('div',[_c('div',{ref:\"invoice-renderer\",style:(`width:${_vm.$vuetify.breakpoint.width > 1000 ? 1000 : _vm.$vuetify.breakpoint.width}px`),attrs:{\"id\":\"invoice-renderer\"}},[_c('div',{attrs:{\"id\":\"header\"}},[_c('div',{staticClass:\"column-format text-left\",style:(_vm.$vuetify.breakpoint.smAndDown ? 'flex: 0 0 100%;' : 'flex: 0 0 50%;')},[(_vm.documentHeader)?_c('div',{staticClass:\"font-20 inter-medium\"},[_vm._v(_vm._s(_vm.documentHeader))]):_vm._e(),(_vm.logo)?_c('div',{class:_vm.editable ? 'pointer text-left' : 'text-left',attrs:{\"id\":\"logo\"},domProps:{\"innerHTML\":_vm._s(_vm.logo)},on:{\"click\":function($event){_vm.editable ? _vm.$emit('account-info-modal') : null}}}):(_vm.editable)?_c('div',[_c('div',{attrs:{\"id\":\"add-logo\"},on:{\"click\":function($event){return _vm.$emit('account-info-modal')}}},[_c('div',[_c('v-icon',{staticClass:\"mt-n1\",attrs:{\"size\":\"32\",\"left\":\"\"}},[_vm._v(\"$ribbon\")])],1),_c('div',{staticClass:\"font-12 text-left\"},[_vm._v(_vm._s(_vm.$t('invoice.upload-logo')))])])]):_vm._e()]),_c('div',{attrs:{\"id\":\"details\"}},[_c('div',{class:_vm.$vuetify.breakpoint.xsOnly ? 'column-format' : 'row-format'},[_c('div',[_c('div',{class:'mr-5 font-20 inter-medium' + (_vm.editable ? ' pointer' : ''),staticStyle:{\"letter-spacing\":\"-0.15px\"},on:{\"click\":function($event){_vm.editable ? _vm.$emit('invoice-number-format-modal') : null}}},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.invoice-number-appended', { invoiceNumber: _vm.invoice.invoiceNumberFormatted ? _vm.invoice.invoiceNumberFormatted : _vm.invoice.invoiceNumberFormattedPreview, }))+\" \")])]),_c('div',{class:(_vm.$vuetify.breakpoint.smAndUp ? 'ml-auto' : 'mt-2') +\n\t\t\t\t\t\t\t\t\t\t\t\t' font-20 inter-semibold text-right',staticStyle:{\"letter-spacing\":\"-0.18px\"}},[_c('div',[_vm._v(_vm._s(_vm.$formatters.dollars(_vm.invoice.total, true, true, _vm.invoice.currency)))]),(_vm.editMode && _vm.invoice.currency !== _vm.$store.state.defaultCurrency)?_c('div',{staticClass:\"font-12 font-gray_70\"},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars( _vm.invoice.localTotal ? _vm.invoice.localTotal : 0, true, true, _vm.$store.state.defaultCurrency ))+\" \")]):_vm._e()])]),(_vm.invoice.purchaseOrder)?_c('div',{class:'font-16' + (_vm.editable ? ' pointer' : ''),on:{\"click\":function($event){_vm.editable ? _vm.handlePurchaseOrderClick() : null}}},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.purchase-order-display', { purchaseOrder: _vm.invoice.purchaseOrder }))+\" \")]):(_vm.editable)?_c('div',{staticClass:\"payment-link mb-0 mt-1\",on:{\"click\":function($event){return _vm.handlePurchaseOrderClick()}}},[_c('span',{staticClass:\"brand-regular\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.purchase-order-button'))+\" \")])]):_vm._e(),_c('v-menu',{attrs:{\"disabled\":!_vm.editable || _vm.recurring,\"close-on-content-click\":true,\"close-on-click\":true,\"min-width\":250,\"max-width\":300,\"nudge-bottom\":28,\"nudge-right\":0,\"bottom\":\"\",\"left\":\"\",\"origin\":\"bottom left\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({class:'due-date mt-4' + (_vm.editable && !_vm.recurring ? ' editable' : '')},on),[_c('div',{staticClass:\"d-flex justify-space-between\"},[_c('div',[_c('div',{staticClass:\"inter-semibold gray_80--text\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.issued'))+\" \")]),(_vm.recurring)?_c('div',{staticClass:\"font-14 font-gray_80 mt-1\"},[_vm._v(\" [\"+_vm._s(_vm.$t('invoice.details.recurring-disclaimer'))+\"] \")]):_vm._e(),_c('div',{staticClass:\"date-due-display\"},[_vm._v(\" \"+_vm._s(_vm.$DateTime.shortDate(_vm.invoice.dateSent))+\" \")])]),_c('div',{staticClass:\"ml-1\"},[(_vm.editable && !_vm.recurring)?_c('v-btn',{attrs:{\"icon\":\"\",\"rounded\":\"\"}},[_c('v-icon',[_vm._v(\"$edit\")])],1):_vm._e()],1)])])]}}],null,false,265804599)},[_c('v-date-picker',{staticClass:\"invoice-renderer-date-picker\",attrs:{\"first-day-of-week\":_vm.$store.getters.firstDayOfWeek,\"value\":_vm.invoice.dateSent,\"no-title\":true},on:{\"input\":function($event){_vm.invoice.dateSent = $event}}})],1),_c('v-menu',{attrs:{\"disabled\":!_vm.editable || _vm.recurring,\"close-on-content-click\":true,\"close-on-click\":true,\"min-width\":250,\"max-width\":300,\"nudge-bottom\":28,\"nudge-right\":0,\"bottom\":\"\",\"left\":\"\",\"origin\":\"bottom left\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({class:'due-date mt-4' + (_vm.editable && !_vm.recurring ? ' editable' : '')},on),[_c('div',{staticClass:\"d-flex justify-space-between\"},[_c('div',[_c('div',{staticClass:\"inter-semibold gray_80--text\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.due'))+\" \")]),(_vm.recurring)?_c('div',{staticClass:\"font-14 brand-medium font-primary mt-1 pointer\",on:{\"click\":function($event){$event.stopPropagation();return _vm.handlePaymentTermsClick.apply(null, arguments)}}},[(_vm.paymentDays > 0)?_c('div',[_vm._v(\" \"+_vm._s(_vm.paymentDays)+\" days after invoice is sent \")]):_c('div',[_vm._v(\"On receipt\")])]):_c('div',{class:_vm.dateDueWarning + ' date-due-display'},[_vm._v(\" \"+_vm._s(_vm.$DateTime.shortDate(_vm.dateDue))+\" \"),(_vm.invoice.status === 'DRAFT' && _vm.invoice.dateDue)?_c('v-btn',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({ content: 'Revert to default due date' }),expression:\"{ content: 'Revert to default due date' }\"}],attrs:{\"icon\":\"\",\"x-small\":\"\"},on:{\"click\":function($event){$event.stopPropagation();_vm.invoice.dateDue = null}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"$close\")])],1):_vm._e()],1)]),_c('div',{staticClass:\"ml-1\"},[(_vm.editable && !_vm.recurring)?_c('v-btn',{attrs:{\"icon\":\"\",\"rounded\":\"\"}},[_c('v-icon',[_vm._v(\"$edit\")])],1):_vm._e()],1)])])]}}],null,false,3042489266),model:{value:(_vm.dateDueMenu),callback:function ($$v) {_vm.dateDueMenu=$$v},expression:\"dateDueMenu\"}},[_c('v-date-picker',{staticClass:\"invoice-renderer-date-picker\",attrs:{\"first-day-of-week\":_vm.$store.getters.firstDayOfWeek,\"value\":_vm.dateDue,\"no-title\":true},on:{\"input\":function($event){_vm.invoice.dateDue = $event}}})],1)],1)]),_c('div',{class:_vm.$vuetify.breakpoint.xsOnly ? 'column-format' : 'd-flex justify-space-between',attrs:{\"id\":\"subheader\"}},[(_vm.invoice.accountInfo)?_c('div',{class:_vm.editable ? 'editable' : '',attrs:{\"id\":\"freelancer-address\"},on:{\"click\":function($event){_vm.editable ? _vm.$emit('account-info-modal') : ''}}},[_c('div',{staticClass:\"d-flex justify-space-between\"},[_c('div',{staticClass:\"inter-medium\"},[_vm._v(_vm._s(_vm.$t('invoice.from')))]),(_vm.editable)?_c('div',{staticClass:\"mt-n1\"},[_c('v-btn',{attrs:{\"icon\":\"\",\"rounded\":\"\"},on:{\"click\":function($event){return _vm.$emit('account-info-modal')}}},[_c('v-icon',[_vm._v(\"$edit\")])],1)],1):_vm._e()]),_c('div',[_vm._v(_vm._s(_vm.invoice.accountInfo.accountName))]),(_vm.invoice.accountInfo.address1)?_c('div',[_vm._v(_vm._s(_vm.invoice.accountInfo.address1))]):_vm._e(),(_vm.invoice.accountInfo.address2)?_c('div',[_vm._v(_vm._s(_vm.invoice.accountInfo.address2))]):_vm._e(),(_vm.accountInfoCityStateZip)?_c('div',[_vm._v(_vm._s(_vm.accountInfoCityStateZip))]):_vm._e(),(_vm.invoice.accountInfo.country)?_c('div',[_vm._v(\" \"+_vm._s(_vm.countries.codeToName(_vm.invoice.accountInfo.country))+\" \")]):_vm._e(),(_vm.invoice.accountInfo.phone)?_c('div',[_vm._v(_vm._s(_vm.invoice.accountInfo.phone))]):_vm._e(),(_vm.invoice.accountInfo.taxId)?_c('div',[_vm._v(\" \"+_vm._s(_vm.invoice.accountInfo.taxId)+\" \")]):_vm._e()]):_vm._e(),_c('div',{class:_vm.editable ? 'editable' : '',attrs:{\"id\":\"bill-to-details\"},on:{\"click\":function($event){_vm.editable ? _vm.$emit('client-info-modal') : ''}}},[_c('div',{staticClass:\"d-flex justify-space-between\"},[_c('div',{staticClass:\"inter-medium\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.bill-to'))+\" \")]),(_vm.editable)?_c('div',{staticClass:\"mt-n1\"},[_c('v-btn',{attrs:{\"icon\":\"\",\"rounded\":\"\"},on:{\"click\":function($event){return _vm.$emit('client-info-modal')}}},[_c('v-icon',[_vm._v(\"$edit\")])],1)],1):_vm._e()]),_c('div',[_vm._v(_vm._s(_vm.invoice.clientInfo.name))]),_c('div',[_vm._v(_vm._s(_vm.invoice.clientInfo.address1))]),_c('div',[_vm._v(_vm._s(_vm.invoice.clientInfo.address2))]),(_vm.clientInfoCityStateZip)?_c('div',[_vm._v(_vm._s(_vm.clientInfoCityStateZip))]):_vm._e(),(_vm.invoice.clientInfo.country)?_c('div',[_vm._v(\" \"+_vm._s(_vm.countries.codeToName(_vm.invoice.clientInfo.country))+\" \")]):_vm._e(),(_vm.invoice.clientInfo.phone)?_c('div',[_vm._v(_vm._s(_vm.invoice.clientInfo.phone))]):_vm._e(),(_vm.invoice.clientInfo.taxId)?_c('div',[_vm._v(\" \"+_vm._s(_vm.invoice.clientInfo.taxId)+\" \")]):_vm._e()])]),(_vm.invoice)?_c('v-simple-table',{staticStyle:{\"background-color\":\"var(--v-white-base)\"},attrs:{\"id\":\"invoice-items-table\"},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('thead',[_c('tr',_vm._l((_vm.itemHeaders),function(item,i){return _c('th',{key:i,class:item.class + (_vm.editable ? ' editable' : '')},[_vm._v(\" \"+_vm._s(item.text)+\" \")])}),0)]),_c('tbody',[_vm._l((_vm.invoice.items),function(item,i){return [((_vm.editable && item.type === 'ADHOC') || item.type === 'EXPENSE')?[_c('tr',{key:i,staticClass:\"text-left\"},[_c('td',{staticClass:\"trash\"},[(_vm.editable)?_c('div',{staticClass:\"row-format align-center\"},[_c('div',{staticClass:\"column-format ml-3\"},[_c('v-icon',{attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.moveUp(i)}}},[_vm._v(\"$arrowUp\")]),_c('v-icon',{attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.moveDown(i)}}},[_vm._v(\"$arrowDown\")])],1),_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\",\"rounded\":\"\"},on:{\"click\":function($event){return _vm.handleDeleteItemDialog(i)}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$delete\")])],1)],1):_vm._e()]),_c('td',{staticClass:\"description editable\"},[_c('v-textarea',{staticClass:\"pause-save item-description\",staticStyle:{\"margin-bottom\":\"-10px\"},attrs:{\"rows\":\"1\",\"auto-grow\":\"\",\"dense\":\"\",\"id\":`item-description-${i}`},on:{\"focus\":function($event){return _vm.$emit('pause-auto-save', true)},\"blur\":function($event){return _vm.$emit('pause-auto-save', false)}},model:{value:(_vm.invoice.items[i].description),callback:function ($$v) {_vm.$set(_vm.invoice.items[i], \"description\", $$v)},expression:\"invoice.items[i].description\"}}),_c('project-select',{staticClass:\"mt-2\",attrs:{\"clientId\":_vm.invoice.clientId,\"item\":item,\"editable\":_vm.editable},on:{\"select-project\":function($event){return _vm.assignProjectToItem($event, item)}}})],1),_c('td',{staticClass:\"qty\"},[_c('v-text-field',{ref:\"qty\",refInFor:true,staticClass:\"pause-save text-hover-blue\",attrs:{\"type\":\"number\",\"min\":\"0\",\"dense\":\"\"},on:{\"focus\":function($event){return _vm.manualQtyFocus(i)},\"blur\":function($event){return _vm.manualQtyBlur(i)},\"keyup\":function($event){return _vm.itemChange()},\"change\":function($event){return _vm.itemChange()}},model:{value:(_vm.invoice.items[i].qty),callback:function ($$v) {_vm.$set(_vm.invoice.items[i], \"qty\", $$v)},expression:\"invoice.items[i].qty\"}})],1),_c('td',{staticClass:\"price\"},[_c('v-text-field',{staticClass:\"pause-save text-hover-blue\",attrs:{\"type\":\"number\",\"dense\":\"\"},on:{\"focus\":function($event){return _vm.manualPriceFocus(i)},\"blur\":function($event){return _vm.manualPriceBlur(i)},\"keyup\":function($event){return _vm.itemChange()},\"change\":function($event){return _vm.itemChange()}},model:{value:(_vm.invoice.items[i].price),callback:function ($$v) {_vm.$set(_vm.invoice.items[i], \"price\", $$v)},expression:\"invoice.items[i].price\"}})],1),(_vm.taxEnabled)?_c('td',{staticClass:\"taxable\"},[_c('v-simple-checkbox',{attrs:{\"dense\":\"\",\"right\":\"\"},on:{\"click\":function($event){return _vm.itemChange(true)}},model:{value:(_vm.invoice.items[i].taxable),callback:function ($$v) {_vm.$set(_vm.invoice.items[i], \"taxable\", $$v)},expression:\"invoice.items[i].taxable\"}})],1):_vm._e(),_c('td',{staticClass:\"subtotal\"},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars( _vm.invoice.items[i].subtotal, true, true, _vm.invoice.currency ))+\" \")])])]:[_c('tr',{key:i,class:item.type === 'HOURS' || item.type === 'OVERAGE' ? 'pointer' : '',on:{\"click\":function($event){return _vm.handleItemDetailsClick(item)}}},[_c('td',{staticClass:\"trash\"},[(_vm.editable)?_c('div',{staticClass:\"row-format align-center\"},[_c('div',{staticClass:\"column-format ml-3\"},[_c('v-icon',{attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.moveUp(i)}}},[_vm._v(\"$arrowUp\")]),_c('v-icon',{attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.moveDown(i)}}},[_vm._v(\"$arrowDown\")])],1),(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t_vm.editable && item.type !== 'DEPOSIT' && item.type !== 'OVERAGE'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)?_c('v-btn',{attrs:{\"icon\":\"\",\"small\":\"\",\"rounded\":\"\"},on:{\"click\":function($event){return _vm.handleDeleteItemDialog(i)}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$delete\")])],1):_vm._e()],1):_vm._e()]),(_vm.editable && item.type !== 'OVERAGE')?_c('td',{staticClass:\"description editable\"},[_c('v-textarea',{staticClass:\"pause-save item-description\",staticStyle:{\"margin-bottom\":\"-10px\"},attrs:{\"rows\":\"1\",\"auto-grow\":\"\",\"dense\":\"\"},on:{\"change\":function($event){return _vm.itemChange()}},model:{value:(_vm.invoice.items[i].description),callback:function ($$v) {_vm.$set(_vm.invoice.items[i], \"description\", $$v)},expression:\"invoice.items[i].description\"}}),_c('div',{staticClass:\"row-format mt-2\",staticStyle:{\"gap\":\"4px\"}},[(item.type === 'DEPOSIT')?_c('div',{staticClass:\"font-12\",staticStyle:{\"color\":\"var(--v-black-base)\",\"cursor\":\"default\"}},[_vm._v(\" Deposit \")]):_vm._e(),_c('project-select',{attrs:{\"clientId\":_vm.invoice.clientId,\"item\":item,\"editable\":_vm.editable,\"prefix\":item.type === 'DEPOSIT' ? ' / ' : null},on:{\"select-project\":function($event){return _vm.assignProjectToItem($event, item)}}}),(item.retainerPeriod)?_c('div',{staticClass:\"font-12\",staticStyle:{\"color\":\"var(--v-black-base)\",\"cursor\":\"default\"}},[_vm._v(\" \"+_vm._s(_vm.DateTime.fromISO(item.retainerPeriod.start).toLocaleString( _vm.DateTime.DATE_MED ))+\" - \"+_vm._s(_vm.DateTime.fromISO(item.retainerPeriod.end).toLocaleString( _vm.DateTime.DATE_MED ))+\" \")]):_vm._e()],1)],1):_c('td',{staticClass:\"description\",staticStyle:{\"min-width\":\"200px !important\"}},[_c('div',{staticClass:\"item-description my-1\",staticStyle:{\"white-space\":\"pre-wrap\"}},[_c('div',[_vm._v(_vm._s(item.description))])]),_c('div',{staticClass:\"row-format align-center\",staticStyle:{\"gap\":\"4px\"}},[(item.type === 'DEPOSIT')?_c('div',{staticClass:\"font-12\",staticStyle:{\"color\":\"var(--v-black-base)\",\"cursor\":\"default\"}},[_vm._v(\" Deposit \")]):_vm._e(),_c('project-select',{attrs:{\"clientId\":_vm.invoice.clientId,\"item\":item,\"editable\":_vm.editable,\"prefix\":item.type === 'DEPOSIT' ? ' / ' : null},on:{\"select-project\":function($event){return _vm.assignProjectToItem($event, item)}}}),(item.retainerPeriod)?_c('div',{staticClass:\"font-12\",staticStyle:{\"color\":\"var(--v-black-base)\",\"cursor\":\"default\"}},[_vm._v(\" \"+_vm._s(_vm.DateTime.fromISO(item.retainerPeriod.start).toLocaleString( _vm.DateTime.DATE_MED ))+\" - \"+_vm._s(_vm.DateTime.fromISO(item.retainerPeriod.end).toLocaleString( _vm.DateTime.DATE_MED ))+\" \")]):_vm._e(),(item.timerEventIds.length && _vm.allowDetailedInvoice)?_c('div',{staticClass:\"font-12 font-primary nowrap pointer\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.show-hours'))+\" \")]):_vm._e()],1)]),(item.type === 'DELIVERABLE' && !item.product.hourly && _vm.editable)?_c('td',{staticClass:\"qty editable\"},[_c('v-text-field',{ref:\"qty\",refInFor:true,staticClass:\"pause-save text-hover-blue\",attrs:{\"type\":\"number\",\"min\":\"0\",\"dense\":\"\"},on:{\"focus\":function($event){return _vm.manualQtyFocus(i)},\"blur\":function($event){return _vm.manualQtyBlur(i)},\"keyup\":function($event){return _vm.itemChange()},\"change\":function($event){return _vm.itemChange()}},model:{value:(_vm.invoice.items[i].qty),callback:function ($$v) {_vm.$set(_vm.invoice.items[i], \"qty\", $$v)},expression:\"invoice.items[i].qty\"}})],1):_c('td',{class:'qty' + (_vm.clickableQty(item) ? ' editable pointer' : ''),on:{\"click\":function($event){return _vm.handleQtyClick(i)}}},[_c('div',[_vm._v(_vm._s(_vm.$formatters.decimal(_vm.invoice.items[i].qty, 0, 3)))])]),_c('td',{class:'price' + (_vm.clickableFee(item) ? ' editable' : ''),on:{\"click\":function($event){return _vm.handlePriceClick(i)}}},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars( _vm.invoice.items[i].price, true, _vm.editable ? false : true, _vm.invoice.currency ))+\" \")]),(_vm.taxEnabled)?_c('td',{staticClass:\"taxable\"},[_c('v-simple-checkbox',{attrs:{\"disabled\":!_vm.editable,\"dense\":\"\",\"right\":\"\"},on:{\"click\":function($event){return _vm.itemChange(true)}},model:{value:(_vm.invoice.items[i].taxable),callback:function ($$v) {_vm.$set(_vm.invoice.items[i], \"taxable\", $$v)},expression:\"invoice.items[i].taxable\"}})],1):_vm._e(),_c('td',{staticClass:\"subtotal\"},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars( _vm.invoice.items[i].subtotal, true, true, _vm.invoice.currency ))+\" \")])])]]})],2)]},proxy:true}],null,false,3777519586)}):_vm._e(),(_vm.editMode && (_vm.totalLateFee || _vm.invoice.lateFeeWaived) && _vm.invoice.daysPastDue > 0)?_c('div',{class:'calculated text-left' + (_vm.invoice.lateFeeWaived ? ' waived' : ''),attrs:{\"id\":\"late-payment\"}},[_c('div',{staticClass:\"left\"}),(_vm.invoice.lateFeeWaived && _vm.invoice.status === 'PAID')?_c('div',{staticClass:\"center\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.late-payment-fee-waived-paid', { lateFee: _vm.$formatters.dollars(_vm.totalLateFee, true, true, _vm.invoice.currency), days: _vm.invoice.daysPastDue, lateFeePercentage: _vm.invoice.paymentTerms ? _vm.invoice.paymentTerms.latePaymentFee : 0, }))+\" \"),(_vm.editMode && _vm.invoice.status !== 'PAID')?_c('v-btn',{attrs:{\"text\":\"\",\"small\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.waiveLateFee}},[_vm._v(_vm._s(_vm.$t('invoice.details.apply-late-fee')))]):_vm._e()],1):(_vm.invoice.lateFeeWaived)?_c('div',{staticClass:\"center\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.late-payment-fee-waived', { lateFee: _vm.$formatters.dollars(_vm.totalLateFee, true, true, _vm.invoice.currency), days: _vm.invoice.daysPastDue, lateFeePercentage: _vm.invoice.paymentTerms ? _vm.invoice.paymentTerms.latePaymentFee : 0, }))+\" \"),(_vm.editMode && _vm.invoice.status !== 'PAID')?_c('v-btn',{attrs:{\"text\":\"\",\"small\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.waiveLateFee}},[_vm._v(_vm._s(_vm.$t('invoice.details.apply-late-fee')))]):_vm._e()],1):_c('div',{staticClass:\"center\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.late-payment-fee-added', { lateFee: _vm.$formatters.dollars(_vm.totalLateFee, true, true, _vm.invoice.currency), days: _vm.invoice.daysPastDue, lateFeePercentage: _vm.invoice.paymentTerms ? _vm.invoice.paymentTerms.latePaymentFee : 0, }))+\" \"),(_vm.editMode && _vm.invoice.status !== 'PAID')?_c('v-btn',{attrs:{\"text\":\"\",\"small\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.waiveLateFee}},[_vm._v(_vm._s(_vm.$t('invoice.details.waive-late-fee')))]):_vm._e()],1)]):(_vm.totalLateFee && _vm.invoice.daysPastDue > 0)?_c('div',{staticClass:\"applied text-left\",attrs:{\"id\":\"late-payment\"}},[_c('div',{staticClass:\"left\"}),_c('div',{staticClass:\"center\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.late-payment-fee-added', { lateFee: _vm.$formatters.dollars(_vm.totalLateFee, true, true, _vm.invoice.currency), days: _vm.invoice.daysPastDue, lateFeePercentage: _vm.invoice.paymentTerms ? _vm.invoice.paymentTerms.latePaymentFee : 0, }))+\" \")]),_c('div',{staticClass:\"right\"},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(_vm.totalLateFee, true, true, _vm.invoice.currency))+\" \")])]):_vm._e(),(_vm.editable && _vm.invoice.invoiceType === 'STANDARD')?[_c('div',{attrs:{\"id\":\"add-a-new-line\"}},[_c('div',{attrs:{\"id\":\"product-container\"}},[_c('v-menu',{staticStyle:{\"overflow-y\":\"auto\"},attrs:{\"max-height\":\"90vh\",\"max-width\":\"900\",\"attach\":\"#add-a-new-line\",\"close-on-content-click\":false,\"close-on-click\":true,\"content-class\":\"filter-menu-class\",\"origin\":\"top center\",\"transition\":\"scale-transition\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"pointer row-format align-center\"},on),[_c('div',[_c('v-icon',{attrs:{\"size\":\"20\",\"left\":\"\"}},[_vm._v(\"$plusCircle\")]),_c('span',{staticClass:\"brand-regular\"},[_vm._v(_vm._s(_vm.$t('invoice.details.add-a-new-line-item')))])],1)])]}}],null,false,437715740),model:{value:(_vm.showProductsMenu),callback:function ($$v) {_vm.showProductsMenu=$$v},expression:\"showProductsMenu\"}},[_c('products',{attrs:{\"currency\":_vm.invoice.currency,\"client-id\":_vm.invoice.clientId},on:{\"close\":function($event){_vm.showProductsMenu = false},\"select\":function($event){return _vm.handleSelectProduct($event)}}})],1)],1)]),(!_vm.recurring)?_c('div',{attrs:{\"id\":\"add-a-new-line2\"}},[_c('span',{on:{\"click\":function($event){return _vm.handleAddNewTrackedItemModal()}}},[_c('v-icon',{attrs:{\"size\":\"20\",\"left\":\"\"}},[_vm._v(\"$kanban\")]),_c('span',{staticClass:\"brand-regular\"},[_vm._v(_vm._s(_vm.$t('invoice.details.add-line-item-from-billable')))])],1)]):_vm._e(),(_vm.hasExpenses && !_vm.recurring)?_c('div',{attrs:{\"id\":\"add-a-new-expense\"}},[_c('span',{on:{\"click\":function($event){return _vm.handleAddExpenses()}}},[_c('v-icon',{attrs:{\"size\":\"20\",\"left\":\"\"}},[_vm._v(\"$plusCircle\")]),_c('span',{staticClass:\"brand-regular\"},[_vm._v(_vm._s(_vm.$t('invoice.details.add-expenses')))])],1)]):_vm._e(),(_vm.balanceExists && !_vm.invoice.creditAmount && !_vm.recurring)?_c('div',{attrs:{\"id\":\"apply-deposit\"}},[_c('span',{on:{\"click\":function($event){return _vm.handleApplyDeposit()}}},[_c('v-icon',{attrs:{\"size\":\"20\",\"left\":\"\"}},[_vm._v(\"$money\")]),_c('span',{staticClass:\"brand-regular\"},[_vm._v(_vm._s(_vm.$t('invoice.details.apply-deposit-credit')))])],1)]):_vm._e()]:_vm._e(),_c('div',{attrs:{\"id\":\"totals\"}},[_c('div',{staticClass:\"line\"},[(_vm.invoice.invoiceType === 'STANDARD')?[_c('div',{staticClass:\"left\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.subtotal'))+\" \")]),_c('div',{staticClass:\"center\"}),_c('div',{staticClass:\"right\"},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(_vm.invoice.itemSubtotal, true, true, _vm.invoice.currency))+\" \")])]:_vm._e()],2),(_vm.invoice.convenienceFee)?_c('div',{staticClass:\"line\"},[_c('div',{staticClass:\"left\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.convenience-fee'))+\" \")]),_c('div',{staticClass:\"center\"}),_c('div',{staticClass:\"right\"},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(_vm.invoice.convenienceFee, true, true, _vm.invoice.currency))+\" \")])]):_vm._e(),(_vm.totalLateFee)?_c('div',{staticClass:\"line\"},[_c('div',{staticClass:\"left\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.late-fee'))+\" \")]),_c('div',{staticClass:\"center\"}),_c('div',{staticClass:\"right\"},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(_vm.totalLateFee, true, true, _vm.invoice.currency))+\" \")])]):_vm._e(),(_vm.invoice.invoiceType !== 'DEPOSIT' && _vm.invoice.taxRateLocked === false)?[(_vm.editable || _vm.invoice.discountPercentage)?_c('div',{staticClass:\"line\"},[_c('div',{staticClass:\"left\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.discount'))+\" \")]),_c('div',{class:'center' + (_vm.editable ? ' editable' : '')},[(_vm.editable)?[_c('v-text-field',{attrs:{\"type\":\"number\",\"min\":0,\"max\":100,\"suffix\":\"%\",\"dense\":\"\",\"rules\":[\n\t\t\t\t\t\t\t\t\t\t\t\t\t() => _vm.invoice.discountPercentage >= 0 || 'Must be 0 or more',\n\t\t\t\t\t\t\t\t\t\t\t\t\t() => _vm.invoice.discountPercentage <= 100 || 'Must be 100 or less',\n\t\t\t\t\t\t\t\t\t\t\t\t]},on:{\"change\":_vm.forceSave},model:{value:(_vm.invoice.discountPercentage),callback:function ($$v) {_vm.$set(_vm.invoice, \"discountPercentage\", $$v)},expression:\"invoice.discountPercentage\"}})]:(_vm.invoice.discountPercentage)?[_vm._v(\" \"+_vm._s(_vm.$formatters.decimal(_vm.invoice.discountPercentage) + '%')+\" \")]:_vm._e()],2),_c('div',{staticClass:\"right\"},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(0 - _vm.invoice.discountAmount, true, true, _vm.invoice.currency))+\" \")])]):_vm._e()]:_vm._e(),(_vm.taxEnabled)?_c('div',{staticClass:\"line\"},[_c('div',{staticClass:\"left\"},[_vm._v(\" \"+_vm._s(_vm.taxLabel)+\" \")]),_c('div',{class:'center' + (_vm.editable ? ' editable' : '')},[(_vm.editable)?[(_vm.invoice.taxRateLocked && _vm.additionalTaxRates.length)?_c('div',[_c('v-menu',{attrs:{\"close-on-content-click\":true,\"close-on-click\":true},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"pointer font-gray_70\"},on),[_vm._v(\" \"+_vm._s(_vm.$formatters.decimal(_vm.invoice.taxPercentage) + '%')+\" \")])]}}],null,false,3070340451)},[_c('div',{staticClass:\"column-format pa-3 font-14 gap-2\",staticStyle:{\"background-color\":\"var(--v-white-base)\"}},_vm._l((_vm.additionalTaxRates),function(taxRate){return _c('div',{key:taxRate.id,staticClass:\"row-format gap-3 pointer\",on:{\"click\":function($event){return _vm.$emit('tax-rate-selected', taxRate)}}},[_c('div',[_vm._v(_vm._s(taxRate.name))]),_c('div',{staticClass:\"ml-auto\"},[_vm._v(_vm._s(taxRate.rate)+\"%\")])])}),0)])],1):_c('div',[_c('v-text-field',{attrs:{\"type\":\"number\",\"disabled\":_vm.invoice.taxRateLocked,\"min\":0,\"max\":100,\"step\":\"1\",\"dense\":\"\",\"suffix\":\"%\"},on:{\"change\":_vm.forceSave},model:{value:(_vm.invoice.taxPercentage),callback:function ($$v) {_vm.$set(_vm.invoice, \"taxPercentage\", $$v)},expression:\"invoice.taxPercentage\"}})],1)]:[_vm._v(\" \"+_vm._s(_vm.$formatters.decimal(_vm.invoice.taxPercentage) + '%')+\" \")]],2),_c('div',{staticClass:\"right\"},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(_vm.invoice.taxAmount, true, true, _vm.invoice.currency))+\" \")])]):_vm._e(),(_vm.invoice.creditAmount)?_c('div',{staticClass:\"line credit-applied\"},[_c('div',{staticClass:\"left\"},[_c('div',{staticClass:\"mr-1\"},[(_vm.editable)?_c('v-btn',{attrs:{\"icon\":\"\",\"rounded\":\"\"},on:{\"click\":function($event){return _vm.$emit('apply-deposit-modal')}}},[_c('v-icon',[_vm._v(\"$edit\")])],1):_vm._e()],1),_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.credit-amount'))+\" \")]),_c('div',{staticClass:\"center\"}),_c('div',{staticClass:\"right\"},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(0 - _vm.invoice.creditAmount, true, true, _vm.invoice.currency))+\" \")])]):_vm._e(),_c('div',{staticClass:\"line total\"},[_c('div',{staticClass:\"left\"}),(_vm.invoice.status === 'DRAFT' || _vm.invoice.status === 'SENT')?_c('div',{staticClass:\"center\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.total-due'))+\" \")]):_c('div',{staticClass:\"center\"},[_vm._v(_vm._s(_vm.$t('invoice.details.total')))]),_c('div',{staticClass:\"right\"},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(_vm.invoice.total, true, true, _vm.invoice.currency))+\" \")])]),_c('div',{staticClass:\"line total\"},[_c('div',{staticClass:\"left\"}),_c('div',{staticClass:\"center font-14\"},[_c('span',{staticStyle:{\"font-weight\":\"300\"}},[_vm._v(_vm._s(_vm.$t('invoice.all-amounts'))+\" \"+_vm._s(_vm.invoice.currency))])])]),(\n\t\t\t\t\t\t\t\t\t_vm.invoice.status === 'PARTIAL' || _vm.invoice.status === 'PAID' || _vm.invoice.status === 'PENDING'\n\t\t\t\t\t\t\t\t)?[_c('div',{staticClass:\"line balance-due\"},[_c('div',{staticClass:\"left\"}),_c('div',{staticClass:\"center\"},[_vm._v(_vm._s(_vm.$t('invoice.details.payments-applied')))]),_c('div',{staticClass:\"right\"},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(_vm.invoice.paymentTotal, true, true, _vm.invoice.currency))+\" \")])]),_c('div',{staticClass:\"line balance-due mb-3\"},[_c('div',{staticClass:\"left\"}),_c('div',{staticClass:\"center\"},[_vm._v(_vm._s(_vm.$t('invoice.details.balance-due')))]),_c('div',{staticClass:\"right\"},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(_vm.invoice.amountDue, true, true, _vm.invoice.currency))+\" \")])])]:_vm._e()],2),(_vm.invoice.payOnlineUrl && !_vm.editable && _vm.invoice.amountDue)?_c('div',{staticClass:\"pay-button\"},[_c('v-btn',{staticClass:\"primary-action\",attrs:{\"width\":191},on:{\"click\":_vm.handlePaymentAction}},[_vm._v(_vm._s(_vm.$t('invoice.details.pay-button')))])],1):_vm._e(),_c('div',{staticClass:\"text-left\",attrs:{\"id\":\"footer\"}},[(_vm.invoice.notes || _vm.editable)?_c('div',[_c('h3',[_vm._v(_vm._s(_vm.$t('invoice.details.notes')))]),_c('div',{style:(`${_vm.editable ? 'border: 1px solid var(--v-gray_30-base); padding:4px' : ''}`),attrs:{\"contenteditable\":_vm.editable},domProps:{\"innerHTML\":_vm._s(_vm.notes)},on:{\"input\":_vm.handleNotesChange}})]):_vm._e(),(_vm.invoice.payInstructions || _vm.editable)?_c('div',{staticClass:\"my-5\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('invoice.details.payment-instructions')))]),_c('div',{style:(`${_vm.editable ? 'border: 1px solid var(--v-gray_30-base); padding:4px' : ''}`),attrs:{\"contenteditable\":_vm.editable},domProps:{\"innerHTML\":_vm._s(_vm.payInstructions)},on:{\"input\":_vm.handlePayInstructionsChange}})]):_vm._e(),(_vm.editable || _vm.invoice.attachments.length > 0)?_c('div',{staticClass:\"my-8\"},[_c('file-attachments',{attrs:{\"files\":_vm.invoice.attachments,\"file-service\":_vm.attachmentService,\"edit-mode\":_vm.editable,\"previews-supported\":false}})],1):_vm._e(),(_vm.invoice.paymentTerms || _vm.editable)?_c('div',{staticClass:\"my-5\"},[(_vm.termsSentence)?[_c('div',{class:'body-14 font-italic ' + (_vm.editable ? 'pointer' : ''),domProps:{\"innerHTML\":_vm._s(_vm.termsSentence)},on:{\"click\":_vm.handlePaymentTermsClick}})]:(_vm.editable)?[_c('div',{staticClass:\"pl-0 payment-link\"},[_c('span',{on:{\"click\":function($event){return _vm.handlePaymentTermsClick()}}},[_c('v-icon',{attrs:{\"size\":\"20\",\"left\":\"\"}},[_vm._v(\"$handshake\")]),_c('span',{staticClass:\"brand-regular\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.add-payment-terms-button'))+\" \")])],1)])]:_vm._e()],2):_vm._e(),(_vm.invoice.autoPayMethod && !_vm.invoice.wasAutoPaid)?_c('div',{staticClass:\"body-14 font-italic font-primary my-5\"},[_vm._v(\" Automatic payment scheduled for \"+_vm._s(_vm.$DateTime.shortDate(_vm.invoice.dateDue))+\" from \"),_c('span',{staticStyle:{\"text-transform\":\"capitalize\"}},[_vm._v(_vm._s(_vm.invoice.autoPayMethod.label))]),_vm._v(\" \"+_vm._s(_vm.invoice.autoPayMethod.last4)+\" \"),(_vm.editable)?_c('v-icon',{staticClass:\"material-symbols-outlined pointer\",attrs:{\"size\":\"20\",\"color\":\"primary\"},on:{\"click\":_vm.confirmCancelAutoPay}},[_vm._v(\"cancel\")]):_vm._e()],1):_vm._e()]),(_vm.$vuetify.breakpoint.mdAndUp)?_c('div',{class:_vm.invoice.status.toLowerCase(),attrs:{\"id\":\"status-overlay\"}},[_vm._v(\" \"+_vm._s(_vm.invoice.status)+\" \")]):_vm._e()],2),(_vm.showPaymentCardBanner)?_c('div',{staticClass:\"payment-card-pay-now pointer\",style:(`width:${_vm.$vuetify.breakpoint.width > 1200 ? 1000 : _vm.$vuetify.breakpoint.width}px`),on:{\"click\":_vm.handlePaymentAction}},[_c('div',{},[_c('div',{staticClass:\"d-flex justify-center align-center\"},[_c('div',{staticClass:\"column-format\"},[_c('div',[(_vm.acceptStripe)?_c('img',{staticStyle:{\"max-width\":\"140px\"},attrs:{\"src\":\"/images/invoices/stripe-logo.svg\",\"width\":\"100\"}}):_vm._e()]),_c('div',[(_vm.acceptPayPal)?_c('img',{staticStyle:{\"max-width\":\"140px\"},attrs:{\"src\":\"/images/invoices/paypal.svg\",\"width\":\"100\"}}):_vm._e()])])]),_c('div',[_c('p',{staticClass:\"inter-medium text-left\",domProps:{\"innerHTML\":_vm._s(_vm.$t('invoice.details.payment-card.heading'))}}),(_vm.acceptPayPal && _vm.acceptStripe)?_c('p',{staticClass:\"text-left\",domProps:{\"innerHTML\":_vm._s(_vm.$t('invoice.details.payment-card.message-both'))}}):(_vm.acceptStripe)?_c('p',{staticClass:\"text-left\",domProps:{\"innerHTML\":_vm._s(_vm.$t('invoice.details.payment-card.message-stripe'))}}):(_vm.acceptPayPal)?_c('p',{staticClass:\"text-left\",domProps:{\"innerHTML\":_vm._s(_vm.$t('invoice.details.payment-card.message-paypal'))}}):_vm._e(),_c('p',{staticClass:\"mt-3 text-left\"},[_c('span',{staticClass:\"mr-2\"},[_c('payment-icon',{attrs:{\"size\":\"16\",\"name\":\"amex\"}})],1),_c('span',{staticClass:\"mr-2\"},[_c('payment-icon',{attrs:{\"size\":\"16\",\"name\":\"master_card\"}})],1),_c('span',{staticClass:\"mr-2\"},[_c('payment-icon',{attrs:{\"size\":\"16\",\"name\":\"visa\"}})],1),_c('span',{staticClass:\"mr-2\"},[_c('payment-icon',{attrs:{\"size\":\"16\",\"name\":\"discover\"}})],1),_c('span',{staticClass:\"mr-2\"},[(_vm.acceptPayPal)?_c('payment-icon',{attrs:{\"size\":\"16\",\"name\":\"paypal\"}}):_vm._e()],1)])])]),_c('div',{},[_c('v-btn',{staticClass:\"primary-action\",attrs:{\"block\":\"\",\"small\":\"\",\"text\":\"\"}},[_c('span',{staticClass:\"inter-medium font-16\"},[_vm._v(_vm._s(_vm.$t('invoice.details.payment-card.button')))])])],1)]):_vm._e(),(_vm.showSetupPaymentCardBanner)?_c('div',{staticClass:\"payment-card-setup pointer\",style:(`width:${_vm.$vuetify.breakpoint.width > 1200 ? 1000 : _vm.$vuetify.breakpoint.width}px`),on:{\"click\":function($event){return _vm.$emit('payment-connect')}}},[_c('div',{staticClass:\"d-flex justify-center align-center\"},[_c('div',[_c('v-img',{attrs:{\"src\":\"/images/invoices/stripe-logo.svg\",\"width\":154}}),_c('v-img',{attrs:{\"src\":\"/images/invoices/paypal.svg\",\"width\":154}})],1)]),_c('div',[_c('p',{staticClass:\"inter-medium text-left\",domProps:{\"innerHTML\":_vm._s(_vm.$t('invoice.details.payment-card-setup.heading'))}}),_c('p',{staticClass:\"gray_80--text text-left\",domProps:{\"innerHTML\":_vm._s(_vm.$t('invoice.details.payment-card-setup.message'))}}),_c('p',{staticClass:\"text-left mt-1\"},[_c('v-btn',{staticClass:\"px-0 primary-action\",attrs:{\"small\":\"\",\"text\":\"\"}},[_c('span',{staticClass:\"inter-medium\"},[_vm._v(_vm._s(_vm.$t('invoice.details.payment-card-setup.button')))])])],1)])]):_vm._e(),_c('confirm-dialog',{attrs:{\"dialog\":_vm.deleteItemDialog,\"heading-text\":\"Confirm\",\"yes-text\":\"Yes\",\"no-text\":\"No\",\"body-text\":_vm.$t('invoice.details.delete-item-confirm')},on:{\"close\":function($event){return _vm.cancelDeleteItem()},\"confirm\":function($event){return _vm.handleDeleteItem()}}}),_c('modal',{ref:\"paymentDetailsModal\",attrs:{\"dialog\":!!_vm.showPaymentDetails,\"persistent\":false,\"max-width\":350},on:{\"close\":function($event){_vm.showPaymentDetails = null}}},[(_vm.showPaymentDetails)?_c('payment-details-modal',{attrs:{\"invoice\":_vm.invoice,\"edit-mode\":_vm.editMode,\"payment\":_vm.showPaymentDetails,\"client\":_vm.invoice.client},on:{\"close\":function($event){_vm.showPaymentDetails = null},\"updated\":function($event){return _vm.$emit('updated', $event)}}}):_vm._e()],1),_c('modal',{ref:\"itemDetailsModal\",attrs:{\"dialog\":!!_vm.showItemDetailsModal,\"persistent\":false,\"max-width\":600},on:{\"close\":function($event){_vm.showItemDetailsModal = false}}},[(_vm.itemDetailsItemId)?_c('item-details-modal',{key:_vm.itemDetailsItemId,attrs:{\"invoice\":_vm.invoice,\"invoice-item-id\":_vm.itemDetailsItemId,\"invoice-service\":_vm.invoiceService,\"client\":_vm.invoice.client},on:{\"close\":function($event){_vm.showItemDetailsModal = false}}}):_vm._e()],1)],1):_vm._e()])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"value\":_vm.dialog,\"transition\":\"fade\",\"persistent\":_vm.persistent,\"scrollable\":\"\",\"max-width\":\"320\"},on:{\"click:outside\":function($event){!_vm.persistent ? _vm.handleClose() : ''},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"esc\",27,$event.key,[\"Esc\",\"Escape\"]))return null;return _vm.handleClose()}}},[_c('div',{staticClass:\"confirm-dialog-div\"},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\",\"rounded\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.handleClose()}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$close\")])],1),_c('div',{staticClass:\"modal-padding\"},[_c('div',{staticClass:\"modal-title text-center my-2\"},[_c('span',{staticClass:\"pr-1\"},[_c('v-icon',{staticClass:\"mt-n1\",attrs:{\"color\":_vm.severity,\"size\":\"24\"}},[_vm._v(_vm._s(_vm.icon))])],1),_vm._v(\" \"+_vm._s(_vm.headingText)+\" \")]),(_vm.bodyText)?_c('div',{staticClass:\"modal-subtitle text-center\",domProps:{\"innerHTML\":_vm._s(_vm.bodyText)}}):_vm._e()]),_c('v-form',{ref:\"confirmDialog\",attrs:{\"id\":\"confirmDialog\",\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.handleSubmit()}}},[_c('div',{staticClass:\"modal-footer\"},[(!_vm.hideNo)?_c('v-btn',{staticClass:\"super-action mr-1\",attrs:{\"min-width\":\"100\"},on:{\"click\":function($event){$event.preventDefault();return _vm.handleClose()}}},[_vm._v(_vm._s(_vm.no))]):_vm._e(),_c('v-btn',{staticClass:\"primary-action ml-1\",attrs:{\"type\":\"submit\",\"min-width\":\"100\",\"elevation\":\"0\"},on:{\"click\":function($event){$event.preventDefault();return _vm.handleSubmit()}}},[_vm._v(\" \"+_vm._s(_vm.yes)+\" \")])],1)])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<v-dialog\n\t\t:value=\"dialog\"\n\t\ttransition=\"fade\"\n\t\t:persistent=\"persistent\"\n\t\tscrollable\n\t\t@click:outside=\"!persistent ? handleClose() : ''\"\n\t\t@keydown.esc=\"handleClose()\"\n\t\tmax-width=\"320\"\n\t>\n\t\t<div class=\"confirm-dialog-div\">\n\t\t\t<v-btn class=\"close-dialog\" icon rounded @click.prevent=\"handleClose()\">\n\t\t\t\t<v-icon size=\"20\">$close</v-icon>\n\t\t\t</v-btn>\n\t\t\t<div class=\"modal-padding\">\n\t\t\t\t<div class=\"modal-title text-center my-2\">\n\t\t\t\t\t<span class=\"pr-1\">\n\t\t\t\t\t\t<v-icon :color=\"severity\" class=\"mt-n1\" size=\"24\">{{ icon }}</v-icon>\n\t\t\t\t\t</span>\n\t\t\t\t\t{{ headingText }}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"modal-subtitle text-center\" v-if=\"bodyText\" v-html=\"bodyText\"></div>\n\t\t\t</div>\n\t\t\t<v-form @submit.prevent=\"handleSubmit()\" ref=\"confirmDialog\" id=\"confirmDialog\" lazy-validation>\n\t\t\t\t<div class=\"modal-footer\">\n\t\t\t\t\t<v-btn v-if=\"!hideNo\" min-width=\"100\" class=\"super-action mr-1\" @click.prevent=\"handleClose()\">{{\n\t\t\t\t\t\tno\n\t\t\t\t\t}}</v-btn>\n\t\t\t\t\t<v-btn\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\tmin-width=\"100\"\n\t\t\t\t\t\televation=\"0\"\n\t\t\t\t\t\tclass=\"primary-action ml-1\"\n\t\t\t\t\t\t@click.prevent=\"handleSubmit()\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ yes }}\n\t\t\t\t\t</v-btn>\n\t\t\t\t</div>\n\t\t\t</v-form>\n\t\t</div>\n\t</v-dialog>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'ConfirmDialog',\n\n\t\tprops: {\n\t\t\tseverity: { type: String, required: false, default: 'warning' }, // info, warning, error, success\n\t\t\ticon: { type: String, required: false, default: '$alert' }, // $alert, $info, etc.\n\t\t\theadingText: String,\n\t\t\tbodyText: String,\n\t\t\thideNo: { type: Boolean, required: false, default: false },\n\t\t\tyesText: { type: String, required: false },\n\t\t\tnoText: { type: String, required: false},\n\t\t\tdialog: Boolean,\n\t\t\tpersistent: { type: Boolean, default: false },\n\t\t},\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tnotes: null,\n        yes: this.yesText ? this.yesText : this.$t('global.yes'),\n        no: this.noText ? this.noText : this.$t('global.no')\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tmethods: {\n\t\t\thandleSubmit() {\n\t\t\t\tthis.$emit('confirm');\n\t\t\t},\n\t\t\thandleClose() {\n\t\t\t\tthis.$emit('close');\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.confirm-dialog-div {\n\t\tbackground-color: var(--v-white-base) !important;\n\t\tcolor: var(--v-black-base) !important;\n\t\tposition: relative;\n\t\tborder-radius: 4px !important;\n\n\t\t.close-x {\n\t\t\tposition: relative;\n\t\t\tfloat: right;\n\t\t\tright: 8px;\n\t\t\ttop: 8px;\n\t\t\theight: 40px;\n\t\t\twidth: 40px;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ConfirmDialog.vue?vue&type=template&id=448ee8b1\"\nimport script from \"./ConfirmDialog.vue?vue&type=script&lang=js\"\nexport * from \"./ConfirmDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./ConfirmDialog.vue?vue&type=style&index=0&id=448ee8b1&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VDialog,VForm,VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('img',{style:(_vm.styles),attrs:{\"id\":_vm.id,\"src\":_vm.href}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<img :id=\"id\" :src=\"href\" :style=\"styles\" />\n</template>\n\n<script>\n\texport default {\n\t\tname: 'PaymentImg',\n\n\t\tprops: {\n\t\t\tsize: { type: String, default: '24' },\n\t\t\tname: { type: String, required: true },\n\t\t\tid: String, // id for direct styling\n\t\t},\n\n\t\tcomputed: {\n\t\t\thref() {\n\t\t\t\treturn '/images/payment/' + this.name.toLowerCase() + '.svg';\n\t\t\t},\n\t\t\tstyles() {\n\t\t\t\treturn 'height:' + this.size + 'px;width:' + this.size * 1.5 + 'px';\n\t\t\t},\n\t\t},\n\t};\n</script>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentIcon.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentIcon.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PaymentIcon.vue?vue&type=template&id=6647da11\"\nimport script from \"./PaymentIcon.vue?vue&type=script&lang=js\"\nexport * from \"./PaymentIcon.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"payment-details-modal\"}},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.handleClose()}}},[_c('v-icon',[_vm._v(\"$close\")])],1),_c('div',{staticClass:\"modal-padding\"},[_c('h2',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t('invoice.details.payment-details-modal.heading')))]),_c('p',{staticClass:\"modal-subtitle\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.mark-paid-modal.subheading', { invoiceNumber: _vm.invoice.invoiceNumberFormatted }))+\" \")]),_c('v-container',{staticClass:\"px-0 pb-0\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"label\",attrs:{\"cols\":\"5\"}},[_vm._v(_vm._s(_vm.$t('invoice.details.payment-details-modal.date-paid')))]),_c('v-col',{staticClass:\"value\",attrs:{\"cols\":\"7\"}},[_vm._v(\" \"+_vm._s(this.formattedDate())+\" \")])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"label\",attrs:{\"cols\":\"5\"}},[_vm._v(_vm._s(_vm.$t('invoice.status')))]),(_vm.payment.pending)?_c('v-col',{staticClass:\"value\",attrs:{\"cols\":\"7\"}},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.pending'))+\" \"),_c('v-icon',{staticClass:\"mb-1\",attrs:{\"small\":\"\",\"color\":\"warning\"}},[_vm._v(\"$alert\")])],1):_c('v-col',{staticClass:\"value\",attrs:{\"cols\":\"7\"}},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.cleared'))+\" \"),_c('v-icon',{staticClass:\"mb-1\",attrs:{\"small\":\"\",\"color\":\"success\"}},[_vm._v(\"$success\")])],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"label\",attrs:{\"cols\":\"5\"}},[_vm._v(_vm._s(_vm.$t('invoice.details.payment-details-modal.amount')))]),_c('v-col',{staticClass:\"value\",attrs:{\"cols\":\"7\"}},[_c('span',[_vm._v(_vm._s(_vm.$formatters.dollars(_vm.payment.amount,true,true,_vm.payment.currency)))]),(_vm.payment.localAmount)?_c('span',{staticClass:\"font-12 font-gray_70\"},[_vm._v(\" / \"+_vm._s(_vm.$formatters.dollars(_vm.payment.localAmount,true,true,_vm.$store.state.defaultCurrency)))]):_vm._e()])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"label\",attrs:{\"cols\":\"5\"}},[_vm._v(_vm._s(_vm.$t('invoice.details.payment-details-modal.payment-type')))]),_c('v-col',{staticClass:\"value\",attrs:{\"cols\":\"7\"}},[_vm._v(\" \"+_vm._s(this.$t('invoice.payment-providers.' + _vm.payment.paymentProvider))+\" \")])],1),(_vm.payment.memo)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"label\",attrs:{\"cols\":\"5\"}},[_vm._v(_vm._s(_vm.$t('invoice.details.payment-details-modal.memo')))]),_c('v-col',{staticClass:\"value\",attrs:{\"cols\":\"7\"}},[_vm._v(\" \"+_vm._s(_vm.payment.memo)+\" \")])],1):_vm._e(),_c('v-row',{staticClass:\"mt-4\",attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"body-12 text-left gray_70--text\",attrs:{\"cols\":\"12\"}},[_c('span',{staticClass:\"mr-1\"},[_vm._v(_vm._s(_vm.$t('invoice.details.payment-details-modal.paid-by')))]),_c('span',[_vm._v(_vm._s(_vm.payment.paidBy))]),_c('br'),(_vm.payment.referenceNumber)?_c('div',{staticClass:\"my-2\",staticStyle:{\"word-wrap\":\"break-word\"}},[_c('span',{staticClass:\"mr-1\"},[_vm._v(_vm._s(_vm.$t('invoice.details.payment-details-modal.reference-number')))]),_c('br'),_c('span',[_vm._v(_vm._s(_vm.payment.referenceNumber))]),_c('br')]):_vm._e(),_c('span',{staticClass:\"mr-1\"},[_vm._v(_vm._s(_vm.$t('invoice.details.payment-details-modal.timestamp')))]),_c('span',[_vm._v(_vm._s(_vm.$DateTime.fromISO(_vm.payment.timestamp).toLocaleString(_vm.$DateTime.DATETIME_SHORT_WITH_SECONDS)))])])],1),(_vm.payment.integrationKeys.quickbooksId)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"align\":\"left\"}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$quickbooks\")])],1)],1):_vm._e()],1)],1),_c('div',{staticClass:\"modal-footer\"},[(_vm.editMode && !_vm.payment.integratedPayment)?_c('v-btn',{staticClass:\"secondary-action mr-1\",attrs:{\"icon\":\"\"},on:{\"click\":_vm.confirmDelete}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$delete\")])],1):_vm._e(),_c('v-btn',{staticClass:\"primary-action ml-1\",staticStyle:{\"width\":\"140px\"},on:{\"click\":function($event){return _vm.handleClose()}}},[_vm._v(_vm._s(_vm.$t('global.close')))])],1),_c('confirm-dialog',{attrs:{\"dialog\":_vm.confirmDeleteDialog,\"heading-text\":_vm.$t('global.confirm'),\"yes-text\":_vm.$t('global.yes'),\"no-text\":_vm.$t('global.no'),\"body-text\":_vm.$t('invoice.delete-payment')},on:{\"close\":function($event){_vm.confirmDeleteDialog = false},\"confirm\":function($event){return _vm.deletePayment()}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div id=\"payment-details-modal\">\n\t\t<v-btn icon class=\"close-dialog\" @click=\"handleClose()\">\n\t\t\t<v-icon>$close</v-icon>\n\t\t</v-btn>\n\t\t<div class=\"modal-padding\">\n\t\t\t<h2 class=\"modal-title\">{{ $t('invoice.details.payment-details-modal.heading') }}</h2>\n\t\t\t<p class=\"modal-subtitle\">\n\t\t\t\t{{ $t('invoice.mark-paid-modal.subheading', { invoiceNumber: invoice.invoiceNumberFormatted }) }}\n\t\t\t</p>\n\n\t\t\t<v-container fluid class=\"px-0 pb-0\">\n\t\t\t\t<v-row dense>\n\t\t\t\t\t<v-col cols=\"5\" class=\"label\">{{ $t('invoice.details.payment-details-modal.date-paid') }}</v-col>\n\t\t\t\t\t<v-col cols=\"7\" class=\"value\">\n\t\t\t\t\t\t{{ this.formattedDate() }}\n\t\t\t\t\t</v-col>\n\t\t\t\t</v-row>\n\t\t\t\t<v-row dense>\n\t\t\t\t\t<v-col cols=\"5\" class=\"label\">{{ $t('invoice.status') }}</v-col>\n\t\t\t\t\t<v-col cols=\"7\" class=\"value\"  v-if=\"payment.pending\">\n\t\t\t\t\t\t{{ $t('invoice.pending') }}\n\t\t\t\t\t\t<v-icon small color=\"warning\" class=\"mb-1\">$alert</v-icon>\n\t\t\t\t\t</v-col>\n\t\t\t\t\t<v-col v-else cols=\"7\" class=\"value\">\n\t\t\t\t\t\t{{ $t('invoice.cleared') }} <v-icon small color=\"success\" class=\"mb-1\">$success</v-icon>\n\t\t\t\t\t</v-col>\n\t\t\t\t</v-row>\n\t\t\t\t<v-row dense>\n\t\t\t\t\t<v-col cols=\"5\" class=\"label\">{{ $t('invoice.details.payment-details-modal.amount') }}</v-col>\n\t\t\t\t\t<v-col cols=\"7\" class=\"value\">\n\t\t\t\t\t\t<span>{{ $formatters.dollars(payment.amount,true,true,payment.currency) }}</span>\n\t\t\t\t\t\t<span v-if=\"payment.localAmount\" class=\"font-12 font-gray_70\"> / {{ $formatters.dollars(payment.localAmount,true,true,$store.state.defaultCurrency) }}</span>\n\t\t\t\t\t</v-col>\n\t\t\t\t</v-row>\n\t\t\t\t<v-row dense>\n\t\t\t\t\t<v-col cols=\"5\" class=\"label\">{{ $t('invoice.details.payment-details-modal.payment-type') }}</v-col>\n\t\t\t\t\t<v-col cols=\"7\" class=\"value\">\n\t\t\t\t\t\t{{ this.$t('invoice.payment-providers.' + payment.paymentProvider) }}\n\t\t\t\t\t</v-col>\n\t\t\t\t</v-row>\n\t\t\t\t<v-row dense v-if=\"payment.memo\">\n\t\t\t\t\t<v-col cols=\"5\" class=\"label\">{{ $t('invoice.details.payment-details-modal.memo') }}</v-col>\n\t\t\t\t\t<v-col cols=\"7\" class=\"value\">\n\t\t\t\t\t\t{{ payment.memo }}\n\t\t\t\t\t</v-col>\n\t\t\t\t</v-row>\n\n\t\t\t\t<v-row dense class=\"mt-4\">\n\t\t\t\t\t<v-col cols=\"12\" class=\"body-12 text-left gray_70--text\">\n\t\t\t\t\t\t<span class=\"mr-1\">{{ $t('invoice.details.payment-details-modal.paid-by') }}</span>\n\t\t\t\t\t\t<span>{{ payment.paidBy }}</span>\n\t\t\t\t\t\t<br />\n\n\t\t\t\t\t\t<div v-if=\"payment.referenceNumber\" style=\"word-wrap:break-word\" class=\"my-2\">\n\t\t\t\t\t\t\t<span class=\"mr-1\">{{ $t('invoice.details.payment-details-modal.reference-number') }}</span>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t\t<span>{{ payment.referenceNumber }}</span>\n\t\t\t\t\t\t\t<br />\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<span class=\"mr-1\">{{ $t('invoice.details.payment-details-modal.timestamp') }}</span>\n\t\t\t\t\t\t<span>{{\n\t\t\t\t\t\t\t$DateTime.fromISO(payment.timestamp).toLocaleString($DateTime.DATETIME_SHORT_WITH_SECONDS)\n\t\t\t\t\t\t}}</span>\n\t\t\t\t\t</v-col>\n\t\t\t\t</v-row>\n\t\t\t\t<v-row dense v-if=\"payment.integrationKeys.quickbooksId\">\n\t\t\t\t\t<v-col cols=\"12\" align=\"left\">\n\t\t\t\t\t\t<v-icon size=\"20\">$quickbooks</v-icon>\n\t\t\t\t\t</v-col>\n\t\t\t\t</v-row>\n\t\t\t</v-container>\n\t\t</div>\n\t\t<div class=\"modal-footer\">\n\t\t\t<v-btn class=\"secondary-action mr-1\" icon @click=\"confirmDelete\" v-if=\"editMode && !payment.integratedPayment\"\n\t\t\t\t><v-icon size=\"20\">$delete</v-icon></v-btn\n\t\t\t>\n\t\t\t<v-btn class=\"primary-action ml-1\" style=\"width: 140px;\" @click=\"handleClose()\">{{ $t('global.close') }}</v-btn>\n\t\t</div>\n\n\t\t<confirm-dialog\n\t\t\t:dialog=\"confirmDeleteDialog\"\n\t\t\t@close=\"confirmDeleteDialog = false\"\n\t\t\t@confirm=\"deletePayment()\"\n\t\t\t:heading-text=\"$t('global.confirm')\"\n\t\t\t:yes-text=\"$t('global.yes')\"\n\t\t\t:no-text=\"$t('global.no')\"\n\t\t\t:body-text=\"$t('invoice.delete-payment')\"\n\t\t>\n\t\t</confirm-dialog>\n\t</div>\n</template>\n\n<script>\n\timport ConfirmDialog from './ConfirmDialog';\n\timport InvoiceService from '@/modules/invoices/InvoiceService';\n\t// import ConfirmDialog from '@/components/ConfirmDialog';\n\n\texport default {\n\t\tname: 'PaymentDetailsModal',\n\n\t\tcomponents: {\n\t\t\tConfirmDialog,\n\t\t},\n\n\t\tprops: {\n\t\t\tinvoice: { type: Object, required: true },\n\t\t\tpayment: { type: Object, required: true },\n\t\t\teditMode: { type: Boolean, required: false, default: false },\n\t\t\t// client: { type: Object, required: true },\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tconfirmDeleteDialog: false,\n\t\t\t\tinvoiceService: new InvoiceService(),\n\t\t\t\tpaymentProviders: [\n\t\t\t\t\t{ value: 'CHECK', text: this.$t('invoice.payment-providers.CHECK') },\n\t\t\t\t\t{ value: 'CASH', text: this.$t('invoice.payment-providers.CASH') },\n\t\t\t\t\t{ value: 'STRIPE', text: this.$t('invoice.payment-providers.STRIPE') },\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tconsole.log('payment', this.payment);\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tformattedDate() {\n        if(this.payment.integratedPayment){\n          return this.$DateTime.humanDateTime(this.payment.timestamp);\n        }else if (this.payment.datePaid){\n          return this.payment.datePaid;\n        } else {\n          return this.$DateTime.humanDateTime(this.payment.timestamp);\n        }\n\t\t\t},\n\n\t\t\thandleClose: function(){\n\t\t\t\tthis.$emit('close');\n\t\t\t\tthis.$emit('result');\n\t\t\t},\n\n\t\t\tconfirmDelete() {\n\t\t\t\tthis.confirmDeleteDialog = true;\n\t\t\t},\n\n\t\t\tdeletePayment() {\n\t\t\t\tthis.confirmDeleteDialog = false;\n\t\t\t\tthis.invoiceService.deletePayment(this.invoice.clientId, this.invoice.id, this.payment.id).then((res) => {\n\t\t\t\t\tthis.$emit('updated', res.data);\n\t\t\t\t\tthis.$emit('close');\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\twatch: {},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t#payment-details-modal {\n\t\tmin-width: 300px;\n\n\t\t.label {\n\t\t\tfont-size: 14px;\n\t\t\ttext-align: left;\n\t\t\tcolor: var(--v-gray_70-base);\n\t\t}\n\t\t.value {\n\t\t\tfont-size: 14px;\n\t\t\ttext-align: left;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentDetailsModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentDetailsModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PaymentDetailsModal.vue?vue&type=template&id=ba270e52\"\nimport script from \"./PaymentDetailsModal.vue?vue&type=script&lang=js\"\nexport * from \"./PaymentDetailsModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./PaymentDetailsModal.vue?vue&type=style&index=0&id=ba270e52&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VIcon,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"item-details-modal\"}},[_c('v-container',{staticClass:\"pa-0 ma-0\"},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',[_vm._v(_vm._s(_vm.$t('invoice.item-details-modal.heading', { invoiceNumber: _vm.invoice.invoiceNumber })))]),(_vm.item)?_c('p',{staticClass:\"mt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.item-details-modal.subheading', { description: _vm.item.description }))+\" \")]):_vm._e()])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.timerEvents)?_c('v-data-table',{staticClass:\"row-pointer mb-6\",attrs:{\"id\":\"timer-events-table\",\"hide-default-header\":this.$vuetify.breakpoint.xsOnly ? true : false,\"headers\":_vm.headers,\"sort-by\":\"dateDisplay\",\"sort-desc\":true,\"items\":_vm.timerEvents,\"hide-default-footer\":true,\"disable-pagination\":true},scopedSlots:_vm._u([{key:\"item.dateDisplay\",fn:function({ item }){return [_c('div',{staticStyle:{\"margin-top\":\"6px\"}},[_vm._v(\" \"+_vm._s(item.dateDisplay)+\" \")])]}},{key:\"item.timeWorkedSortable\",fn:function({ item }){return [_c('div',{staticStyle:{\"margin-top\":\"6px\"}},[_vm._v(\" \"+_vm._s(item.timeWorked)+\" \")])]}},{key:\"item.projectName\",fn:function({ item }){return [_c('div',{staticStyle:{\"margin-top\":\"5px\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"empty\")(item.projectName))+\" \")])]}},{key:\"item.deliverableName\",fn:function({ item }){return [_c('div',{staticStyle:{\"margin-top\":\"5px\"}},[_vm._v(\" \"+_vm._s(_vm._f(\"empty\")(item.deliverableName))+\" \")])]}},{key:\"item.notes\",fn:function({ item }){return [_c('div',{staticStyle:{\"margin-top\":\"5px\"}},[_vm._v(\" \"+_vm._s(item.notes)+\" \")])]}},{key:\"item.xsRenderSlot\",fn:function({ item }){return [_c('div',{staticClass:\"row-format\"},[_vm._v(\" \"+_vm._s(item.dateDisplay)+\" — \"+_vm._s(item.timeWorked)+\" \")])]}}],null,false,926451105)}):_vm._e()],1)],1),_c('v-row',{staticClass:\"mb-4 mt-0\",attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"px-16\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"primary-action\",on:{\"click\":function($event){return _vm.$emit('close')}}},[_vm._v(_vm._s(_vm.$t('global.close')))])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div id=\"item-details-modal\">\n\t\t<v-container class=\"pa-0 ma-0\">\n\t\t\t<v-row dense>\n\t\t\t\t<v-col cols=\"12\">\n\t\t\t\t\t<h2>{{ $t('invoice.item-details-modal.heading', { invoiceNumber: invoice.invoiceNumber }) }}</h2>\n\t\t\t\t\t<p class=\"mt-4\" v-if=\"item\">\n\t\t\t\t\t\t{{ $t('invoice.item-details-modal.subheading', { description: item.description }) }}\n\t\t\t\t\t</p>\n\t\t\t\t</v-col>\n\t\t\t</v-row>\n\t\t\t<v-row dense>\n\t\t\t\t<v-col cols=\"12\">\n\t\t\t\t\t<!-- TABLE -->\n\t\t\t\t\t<v-data-table\n\t\t\t\t\t\tv-if=\"timerEvents\"\n\t\t\t\t\t\tid=\"timer-events-table\"\n\t\t\t\t\t\tclass=\"row-pointer mb-6\"\n\t\t\t\t\t\t:hide-default-header=\"this.$vuetify.breakpoint.xsOnly ? true : false\"\n\t\t\t\t\t\t:headers=\"headers\"\n\t\t\t\t\t\tsort-by=\"dateDisplay\"\n\t\t\t\t\t\t:sort-desc=\"true\"\n\t\t\t\t\t\t:items=\"timerEvents\"\n\t\t\t\t\t\t:hide-default-footer=\"true\"\n\t\t\t\t\t\t:disable-pagination=\"true\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<template v-slot:item.dateDisplay=\"{ item }\">\n\t\t\t\t\t\t\t<div style=\"margin-top: 6px\">\n\t\t\t\t\t\t\t\t{{ item.dateDisplay }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t<template v-slot:item.timeWorkedSortable=\"{ item }\">\n\t\t\t\t\t\t\t<div style=\"margin-top: 6px\">\n\t\t\t\t\t\t\t\t{{ item.timeWorked }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t<template v-slot:item.projectName=\"{ item }\">\n\t\t\t\t\t\t\t<div style=\"margin-top: 5px\">\n\t\t\t\t\t\t\t\t{{ item.projectName | empty }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t<template v-slot:item.deliverableName=\"{ item }\">\n\t\t\t\t\t\t\t<div style=\"margin-top: 5px\">\n\t\t\t\t\t\t\t\t{{ item.deliverableName | empty }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t<template v-slot:item.notes=\"{ item }\">\n\t\t\t\t\t\t\t<div style=\"margin-top: 5px\">\n\t\t\t\t\t\t\t\t{{ item.notes }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t<template v-slot:item.xsRenderSlot=\"{ item }\">\n\t\t\t\t\t\t\t<div class=\"row-format\">\n\t\t\t\t\t\t\t\t{{ item.dateDisplay }}\n\t\t\t\t\t\t\t\t—\n\t\t\t\t\t\t\t\t{{ item.timeWorked }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</v-data-table>\n\t\t\t\t</v-col>\n\t\t\t</v-row>\n\n\t\t\t<v-row dense class=\"mb-4 mt-0\">\n\t\t\t\t<v-col cols=\"12\" class=\"px-16\">\n\t\t\t\t\t<v-btn class=\"primary-action\" @click=\"$emit('close')\">{{ $t('global.close') }}</v-btn>\n\t\t\t\t</v-col>\n\t\t\t</v-row>\n\t\t</v-container>\n\t</div>\n</template>\n\n<script>\n\t// import InvoiceService from '@/modules/invoices/InvoiceService';\n\n\texport default {\n\t\tname: 'ItemDetailsModal',\n\n\t\tcomponents: {},\n\t\tprops: {\n\t\t\tinvoice: { type: Object, required: true },\n\t\t\tinvoiceItemId: { type: String, required: true },\n\t\t\tinvoiceService: { type: Object, required: true },\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\t// invoiceService: new InvoiceService(),\n\t\t\t\titem: null,\n\t\t\t\ttimerEvents: null,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getInvoiceItem();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tgetInvoiceItem() {\n\t\t\t\tthis.invoiceService\n\t\t\t\t\t.getInvoiceItem(this.invoice.clientId, this.invoice.id, this.invoiceItemId)\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tthis.item = res.data.item;\n\t\t\t\t\t\tthis.timerEvents = this.fixupEventList(res.data.timerEvents);\n\t\t\t\t\t\tconsole.log(res.data);\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\tfixupEventList(list) {\n\t\t\t\tfor (let i = 0; i < list.length; i++) {\n\t\t\t\t\tthis.fixupEvent(list[i]);\n\t\t\t\t}\n\t\t\t\treturn list;\n\t\t\t},\n\n\t\t\tfixupEvent(item) {\n\t\t\t\titem.dateDisplay = this.$DateTime.humanDate(item.timerStart);\n\n\t\t\t\tlet timerStart = this.$DateTime.fromISO(item.timerStart);\n        let timerEnd = timerStart.plus({seconds: item.duration});\n\t\t\t\titem.dateTime = timerStart;\n\t\t\t\titem.durationHoursDecimal = timerEnd.diff(timerStart, ['hours']).values.hours; // Store as Duration in hours decimal for chart calculations\n\t\t\t\titem.duration = timerEnd.diff(timerStart, ['hours', 'minutes', 'seconds']);\n\t\t\t\t// if (item.duration.seconds > 29) item.duration.plus({ minutes: 1 });\n\t\t\t\t// console.log(item.duration);\n\t\t\t\titem.timeWorked = item.duration.plus(item.duration.seconds > 29 ? 60000 : 0).toFormat('h:mm'); // Table display\n\t\t\t\titem.timeWorkedSortable = item.duration.toFormat('hh:mm:ss'); // Table sortability\n\t\t\t\titem.value = '--'; // Value of time worked in dollars. Update later\n\t\t\t\titem.valueTooltip = this.$t('timetrack.value-tooltip.default');\n\t\t\t\titem.projectName = item.projectName ?? '';\n\t\t\t\titem.deliverableName = item.deliverableName ?? '';\n\t\t\t\titem.notes = item.notes ?? '';\n\n\t\t\t\treturn item;\n\t\t\t},\n\t\t},\n\t\tcomputed: {\n\t\t\theaders() {\n\t\t\t\tif (this.$vuetify.breakpoint.xsOnly) {\n\t\t\t\t\treturn [{ text: 'Entries', value: 'xsRenderSlot', sortable: false }];\n\t\t\t\t}\n\t\t\t\treturn [\n\t\t\t\t\t{ text: this.$t('global.date'), value: 'dateDisplay', class: 'nowrap' },\n\t\t\t\t\t{ text: this.$t('invoice.item-details-modal.time-worked'), value: 'timeWorkedSortable', class: 'nowrap' },\n\t\t\t\t\t// { text: this.$t('projects.project'), value: 'projectName', class: 'd-none d-sm-table-cell nowrap' },\n\t\t\t\t\t{ text: this.$t('projects.deliverable'), value: 'deliverableName', class: 'd-none d-sm-table-cell nowrap' },\n\t\t\t\t\t{ text: this.$t('timetrack.time-entries.notes'), value: 'notes', class: 'd-none d-sm-table-cell nowrap' },\n\t\t\t\t];\n\t\t\t},\n\t\t},\n\t\tfilters: {\n\t\t\tempty: function(value) {\n\t\t\t\tif (!value) return '--';\n\t\t\t\treturn value;\n\t\t\t},\n\t\t},\n\t\twatch: {},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t#item-details-modal {\n\t\t.amount-due-wrapper {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t\tdiv {\n\t\t\t\tmargin: 0 0 12px;\n\t\t\t\t//border: 1px solid red;\n\t\t\t\t&.amount-due-label {\n\t\t\t\t\tmargin-right: 8px;\n\t\t\t\t\tfont-size: 16px;\n\t\t\t\t}\n\t\t\t\t&.amount-due {\n\t\t\t\t\tmargin-left: 8px;\n\t\t\t\t\tfont-size: 56px;\n\t\t\t\t\tcolor: var(--v-gray_70-base);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t.client-name {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: center;\n\t\t\tmargin-bottom: 16px;\n\n\t\t\tdiv {\n\t\t\t\talign-self: center;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\tflex: 0 0 auto;\n\t\t\t}\n\t\t}\n\t\t.divider {\n\t\t\tbackground-color: var(--v-gray_50-base);\n\t\t\tcolor: var(--v-gray_50-base);\n\t\t\theight: 1px;\n\t\t}\n\t\t.label {\n\t\t\ttext-align: left;\n\t\t}\n\t\t.date-paid {\n\t\t\tborder-bottom: 1px solid var(v-grey-base);\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemDetailsModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemDetailsModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ItemDetailsModal.vue?vue&type=template&id=be2524ec\"\nimport script from \"./ItemDetailsModal.vue?vue&type=script&lang=js\"\nexport * from \"./ItemDetailsModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./ItemDetailsModal.vue?vue&type=style&index=0&id=be2524ec&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VDataTable,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"confirm-dialog-div\",staticStyle:{\"width\":\"500px\"}},[_c('div',{staticClass:\"ma-4\"},[_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"type\":\"text\",\"label\":_vm.label,\"persistent-placeholder\":\"\",\"autofocus\":\"\",\"hide-details\":\"\"},model:{value:(_vm.inputValue),callback:function ($$v) {_vm.inputValue=$$v},expression:\"inputValue\"}})],1),_c('v-form',{ref:\"confirmDialog\",attrs:{\"id\":\"confirmDialog\",\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.handleSubmit()}}},[_c('div',{staticClass:\"modal-footer\"},[(!_vm.hideNo)?_c('v-btn',{staticClass:\"secondary-action mr-1\",attrs:{\"min-width\":\"100\"},on:{\"click\":function($event){$event.preventDefault();return _vm.handleClose()}}},[_vm._v(_vm._s(_vm.no))]):_vm._e(),_c('v-btn',{staticClass:\"primary-action ml-1\",attrs:{\"type\":\"submit\",\"min-width\":\"100\",\"elevation\":\"0\",\"disabled\":_vm.submitDisabled},on:{\"click\":function($event){$event.preventDefault();return _vm.handleSubmit()}}},[_vm._v(\" \"+_vm._s(_vm.yes)+\" \")])],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"confirm-dialog-div\" style=\"width:500px\">\n\t\t<div class=\"ma-4\">\n\t\t\t<v-text-field\n\t\t\t\tv-model=\"inputValue\"\n\t\t\t\ttype=\"text\"\n\t\t\t\t:label=\"label\"\n\t\t\t\tpersistent-placeholder\n\t\t\t\tautofocus hide-details class=\"h-outline\"\n\t\t\t></v-text-field>\n\t\t</div>\n\t\t<v-form @submit.prevent=\"handleSubmit()\" ref=\"confirmDialog\" id=\"confirmDialog\" lazy-validation>\n\t\t\t<div class=\"modal-footer\">\n\t\t\t\t<v-btn v-if=\"!hideNo\" min-width=\"100\" class=\"secondary-action mr-1\" @click.prevent=\"handleClose()\">{{\n\t\t\t\t\tno\n\t\t\t\t}}</v-btn>\n\t\t\t\t<v-btn\n\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\tmin-width=\"100\"\n\t\t\t\t\televation=\"0\"\n\t\t\t\t\t:disabled=\"submitDisabled\"\n\t\t\t\t\tclass=\"primary-action ml-1\"\n\t\t\t\t\t@click.prevent=\"handleSubmit()\"\n\t\t\t\t>\n\t\t\t\t\t{{ yes }}\n\t\t\t\t</v-btn>\n\t\t\t</div>\n\t\t</v-form>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'SimpleTextInput',\n\n\t\tprops: {\n\t\t\tlabel: String,\n\t\t\thideNo: { type: Boolean, required: false, default: false },\n\t\t\tyesText: { type: String, required: false },\n\t\t\tnoText: { type: String, required: false } ,\n\t\t\tinput: { type: String, required: false },\n\t\t\trequired: {type: Boolean, required: false, default: true}\n\t\t},\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tinputValue: this.input ? this.input : null,\n        yes: this.yesText ? this.yesText : this.$t('global.ok'),\n        no: this.noText ? this.noText : this.$t('global.cancel')\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tmethods: {\n\t\t\thandleSubmit() {\n\t\t\t\tthis.$emit('result', this.inputValue);\n\t\t\t},\n\t\t\thandleClose() {\n\t\t\t\tthis.$emit('result', null);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tsubmitDisabled() {\n\t\t\t\tif (this.inputValue || !this.required) return false;\n\t\t\t\telse return true;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.confirm-dialog-div {\n\t\tbackground-color: var(--v-white-base);\n\t\tposition: relative;\n\t\tborder-radius: 4px !important;\n\t\twidth: 500px;\n\n\t\tbutton.v-btn.close-dialog {\n\t\t\tright: 4px !important;\n\t\t\ttop: 6px !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SimpleTextInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SimpleTextInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SimpleTextInput.vue?vue&type=template&id=45db6e44\"\nimport script from \"./SimpleTextInput.vue?vue&type=script&lang=js\"\nexport * from \"./SimpleTextInput.vue?vue&type=script&lang=js\"\nimport style0 from \"./SimpleTextInput.vue?vue&type=style&index=0&id=45db6e44&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VForm,VTextField})\n","<template>\n\t<div class=\"row-format\" style=\"height: 100%; width: 100%; max-height: 100%;\">\n\t\t<v-container\n\t\t\tfluid\n\t\t\tclass=\"px-0 px-md-4 mt-0\"\n\t\t\t:key=\"forceRenderIndex\"\n\t\t\tstyle=\"width:100%; height: 100%; max-height: 100%; overflow-y: auto; background-color: var(--v-gray_20-base)\"\n\t\t>\n\t\t\t<v-row dense>\n\t\t\t\t<v-col cols=\"12\" id=\"invoice-wrapper\">\n\t\t\t\t\t<div v-if=\"invoice && account\">\n\t\t\t\t\t\t<!-- Remove this div at your peril -->\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tid=\"invoice-renderer\"\n\t\t\t\t\t\t\tref=\"invoice-renderer\"\n\t\t\t\t\t\t\t:style=\"`width:${$vuetify.breakpoint.width > 1000 ? 1000 : $vuetify.breakpoint.width}px`\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<!-- Header / Freelancer Info and Invoice Details -->\n\t\t\t\t\t\t\t<div id=\"header\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclass=\"column-format text-left\"\n\t\t\t\t\t\t\t\t\t:style=\"$vuetify.breakpoint.smAndDown ? 'flex: 0 0 100%;' : 'flex: 0 0 50%;'\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div v-if=\"documentHeader\" class=\"font-20 inter-medium\">{{ documentHeader }}</div>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tid=\"logo\"\n\t\t\t\t\t\t\t\t\t\tv-if=\"logo\"\n\t\t\t\t\t\t\t\t\t\tv-html=\"logo\"\n\t\t\t\t\t\t\t\t\t\t@click=\"editable ? $emit('account-info-modal') : null\"\n\t\t\t\t\t\t\t\t\t\t:class=\"editable ? 'pointer text-left' : 'text-left'\"\n\t\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t\t\t<div v-else-if=\"editable\">\n\t\t\t\t\t\t\t\t\t\t<div id=\"add-logo\" @click=\"$emit('account-info-modal')\">\n\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-icon size=\"32\" left class=\"mt-n1\">$ribbon</v-icon>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"font-12 text-left\">{{ $t('invoice.upload-logo') }}</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div id=\"details\">\n\t\t\t\t\t\t\t\t\t<div :class=\"$vuetify.breakpoint.xsOnly ? 'column-format' : 'row-format'\">\n\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"letter-spacing: -0.15px\"\n\t\t\t\t\t\t\t\t\t\t\t\t:class=\"'mr-5 font-20 inter-medium' + (editable ? ' pointer' : '')\"\n\t\t\t\t\t\t\t\t\t\t\t\t@click=\"editable ? $emit('invoice-number-format-modal') : null\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t$t('invoice.invoice-number-appended', {\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinvoiceNumber: invoice.invoiceNumberFormatted\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t? invoice.invoiceNumberFormatted\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t: invoice.invoiceNumberFormattedPreview,\n\t\t\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t:class=\"\n\t\t\t\t\t\t\t\t\t\t\t\t($vuetify.breakpoint.smAndUp ? 'ml-auto' : 'mt-2') +\n\t\t\t\t\t\t\t\t\t\t\t\t\t' font-20 inter-semibold text-right'\n\t\t\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"letter-spacing: -0.18px\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<div>{{ $formatters.dollars(invoice.total, true, true, invoice.currency) }}</div>\n\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"font-12 font-gray_70\"\n\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"editMode && invoice.currency !== $store.state.defaultCurrency\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t$formatters.dollars(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tinvoice.localTotal ? invoice.localTotal : 0,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t$store.state.defaultCurrency\n\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tv-if=\"invoice.purchaseOrder\"\n\t\t\t\t\t\t\t\t\t\t@click=\"editable ? handlePurchaseOrderClick() : null\"\n\t\t\t\t\t\t\t\t\t\t:class=\"'font-16' + (editable ? ' pointer' : '')\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t$t('invoice.details.purchase-order-display', { purchaseOrder: invoice.purchaseOrder })\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div v-else-if=\"editable\" @click=\"handlePurchaseOrderClick()\" class=\"payment-link mb-0 mt-1\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"brand-regular\">\n\t\t\t\t\t\t\t\t\t\t\t{{ $t('invoice.details.purchase-order-button') }}\n\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t<v-menu\n\t\t\t\t\t\t\t\t\t\t:disabled=\"!editable || recurring\"\n\t\t\t\t\t\t\t\t\t\t:close-on-content-click=\"true\"\n\t\t\t\t\t\t\t\t\t\t:close-on-click=\"true\"\n\t\t\t\t\t\t\t\t\t\t:min-width=\"250\"\n\t\t\t\t\t\t\t\t\t\t:max-width=\"300\"\n\t\t\t\t\t\t\t\t\t\t:nudge-bottom=\"28\"\n\t\t\t\t\t\t\t\t\t\t:nudge-right=\"0\"\n\t\t\t\t\t\t\t\t\t\tbottom\n\t\t\t\t\t\t\t\t\t\tleft\n\t\t\t\t\t\t\t\t\t\torigin=\"bottom left\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t\t\t\t\t\t\t\t<div :class=\"'due-date mt-4' + (editable && !recurring ? ' editable' : '')\" v-on=\"on\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"d-flex justify-space-between\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"inter-semibold gray_80--text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ $t('invoice.details.issued') }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"font-14 font-gray_80 mt-1\" v-if=\"recurring\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t[{{ $t('invoice.details.recurring-disclaimer') }}]\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"date-due-display\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ $DateTime.shortDate(invoice.dateSent) }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ml-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-btn v-if=\"editable && !recurring\" icon rounded\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t><v-icon>$edit</v-icon></v-btn\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t<v-date-picker\n\t\t\t\t\t\t\t\t\t\t\t:first-day-of-week=\"$store.getters.firstDayOfWeek\"\n\t\t\t\t\t\t\t\t\t\t\t:value=\"invoice.dateSent\"\n\t\t\t\t\t\t\t\t\t\t\t@input=\"invoice.dateSent = $event\"\n\t\t\t\t\t\t\t\t\t\t\t:no-title=\"true\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"invoice-renderer-date-picker\"\n\t\t\t\t\t\t\t\t\t\t></v-date-picker>\n\t\t\t\t\t\t\t\t\t</v-menu>\n\t\t\t\t\t\t\t\t\t<v-menu\n\t\t\t\t\t\t\t\t\t\t:disabled=\"!editable || recurring\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"dateDueMenu\"\n\t\t\t\t\t\t\t\t\t\t:close-on-content-click=\"true\"\n\t\t\t\t\t\t\t\t\t\t:close-on-click=\"true\"\n\t\t\t\t\t\t\t\t\t\t:min-width=\"250\"\n\t\t\t\t\t\t\t\t\t\t:max-width=\"300\"\n\t\t\t\t\t\t\t\t\t\t:nudge-bottom=\"28\"\n\t\t\t\t\t\t\t\t\t\t:nudge-right=\"0\"\n\t\t\t\t\t\t\t\t\t\tbottom\n\t\t\t\t\t\t\t\t\t\tleft\n\t\t\t\t\t\t\t\t\t\torigin=\"bottom left\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t\t\t\t\t\t\t\t<div :class=\"'due-date mt-4' + (editable && !recurring ? ' editable' : '')\" v-on=\"on\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"d-flex justify-space-between\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"inter-semibold gray_80--text\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ $t('invoice.details.due') }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"font-14 brand-medium font-primary mt-1 pointer\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"recurring\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click.stop=\"handlePaymentTermsClick\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div v-if=\"paymentDays > 0\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ paymentDays }} days after invoice is sent\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div v-else>On receipt</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div v-else :class=\"dateDueWarning + ' date-due-display'\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ $DateTime.shortDate(dateDue) }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-btn\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-tippy=\"{ content: 'Revert to default due date' }\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tx-small\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"invoice.status === 'DRAFT' && invoice.dateDue\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click.stop=\"invoice.dateDue = null\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t><v-icon small>$close</v-icon></v-btn\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ml-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-btn v-if=\"editable && !recurring\" icon rounded\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t><v-icon>$edit</v-icon></v-btn\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t<v-date-picker\n\t\t\t\t\t\t\t\t\t\t\t:first-day-of-week=\"$store.getters.firstDayOfWeek\"\n\t\t\t\t\t\t\t\t\t\t\t:value=\"dateDue\"\n\t\t\t\t\t\t\t\t\t\t\t@input=\"invoice.dateDue = $event\"\n\t\t\t\t\t\t\t\t\t\t\t:no-title=\"true\"\n\t\t\t\t\t\t\t\t\t\t\tclass=\"invoice-renderer-date-picker\"\n\t\t\t\t\t\t\t\t\t\t></v-date-picker>\n\t\t\t\t\t\t\t\t\t</v-menu>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<!-- Subheader / Client Info -->\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tid=\"subheader\"\n\t\t\t\t\t\t\t\t:class=\"$vuetify.breakpoint.xsOnly ? 'column-format' : 'd-flex justify-space-between'\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tid=\"freelancer-address\"\n\t\t\t\t\t\t\t\t\t:class=\"editable ? 'editable' : ''\"\n\t\t\t\t\t\t\t\t\tv-if=\"invoice.accountInfo\"\n\t\t\t\t\t\t\t\t\t@click=\"editable ? $emit('account-info-modal') : ''\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div class=\"d-flex justify-space-between\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"inter-medium\">{{ $t('invoice.from') }}</div>\n\t\t\t\t\t\t\t\t\t\t<div v-if=\"editable\" class=\"mt-n1\">\n\t\t\t\t\t\t\t\t\t\t\t<v-btn icon rounded @click=\"$emit('account-info-modal')\"\n\t\t\t\t\t\t\t\t\t\t\t\t><v-icon>$edit</v-icon></v-btn\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div>{{ invoice.accountInfo.accountName }}</div>\n\t\t\t\t\t\t\t\t\t<div v-if=\"invoice.accountInfo.address1\">{{ invoice.accountInfo.address1 }}</div>\n\t\t\t\t\t\t\t\t\t<div v-if=\"invoice.accountInfo.address2\">{{ invoice.accountInfo.address2 }}</div>\n\t\t\t\t\t\t\t\t\t<div v-if=\"accountInfoCityStateZip\">{{ accountInfoCityStateZip }}</div>\n\t\t\t\t\t\t\t\t\t<div v-if=\"invoice.accountInfo.country\">\n\t\t\t\t\t\t\t\t\t\t{{ countries.codeToName(invoice.accountInfo.country) }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div v-if=\"invoice.accountInfo.phone\">{{ invoice.accountInfo.phone }}</div>\n\t\t\t\t\t\t\t\t\t<div v-if=\"invoice.accountInfo.taxId\">\n\t\t\t\t\t\t\t\t\t\t{{ invoice.accountInfo.taxId }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tid=\"bill-to-details\"\n\t\t\t\t\t\t\t\t\t:class=\"editable ? 'editable' : ''\"\n\t\t\t\t\t\t\t\t\t@click=\"editable ? $emit('client-info-modal') : ''\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div class=\"d-flex justify-space-between\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"inter-medium\">\n\t\t\t\t\t\t\t\t\t\t\t{{ $t('invoice.bill-to') }}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div v-if=\"editable\" class=\"mt-n1\">\n\t\t\t\t\t\t\t\t\t\t\t<v-btn icon rounded @click=\"$emit('client-info-modal')\"><v-icon>$edit</v-icon></v-btn>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div>{{ invoice.clientInfo.name }}</div>\n\t\t\t\t\t\t\t\t\t<div>{{ invoice.clientInfo.address1 }}</div>\n\t\t\t\t\t\t\t\t\t<div>{{ invoice.clientInfo.address2 }}</div>\n\t\t\t\t\t\t\t\t\t<div v-if=\"clientInfoCityStateZip\">{{ clientInfoCityStateZip }}</div>\n\t\t\t\t\t\t\t\t\t<div v-if=\"invoice.clientInfo.country\">\n\t\t\t\t\t\t\t\t\t\t{{ countries.codeToName(invoice.clientInfo.country) }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div v-if=\"invoice.clientInfo.phone\">{{ invoice.clientInfo.phone }}</div>\n\t\t\t\t\t\t\t\t\t<div v-if=\"invoice.clientInfo.taxId\">\n\t\t\t\t\t\t\t\t\t\t{{ invoice.clientInfo.taxId }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<!-- Items -->\n\t\t\t\t\t\t\t<v-simple-table id=\"invoice-items-table\" style=\"background-color: var(--v-white-base)\" v-if=\"invoice\">\n\t\t\t\t\t\t\t\t<template v-slot:default>\n\t\t\t\t\t\t\t\t\t<thead>\n\t\t\t\t\t\t\t\t\t\t<tr>\n\t\t\t\t\t\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t\t\t\t\t\tv-for=\"(item, i) in itemHeaders\"\n\t\t\t\t\t\t\t\t\t\t\t\t:key=\"i\"\n\t\t\t\t\t\t\t\t\t\t\t\t:class=\"item.class + (editable ? ' editable' : '')\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t{{ item.text }}\n\t\t\t\t\t\t\t\t\t\t\t</th>\n\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t</thead>\n\t\t\t\t\t\t\t\t\t<tbody>\n\t\t\t\t\t\t\t\t\t\t<template v-for=\"(item, i) in invoice.items\">\n\t\t\t\t\t\t\t\t\t\t\t<!-- Ad hoc and Editable -->\n\t\t\t\t\t\t\t\t\t\t\t<template v-if=\"(editable && item.type === 'ADHOC') || item.type === 'EXPENSE'\">\n\t\t\t\t\t\t\t\t\t\t\t\t<tr class=\"text-left\" :key=\"i\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"trash\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"row-format align-center\" v-if=\"editable\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"column-format ml-3\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-icon small @click=\"moveUp(i)\">$arrowUp</v-icon>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-icon small @click=\"moveDown(i)\">$arrowDown</v-icon>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-btn icon small rounded @click=\"handleDeleteItemDialog(i)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t><v-icon size=\"20\">$delete</v-icon></v-btn\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"description editable\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-textarea\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trows=\"1\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tauto-grow\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"margin-bottom: -10px\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-model=\"invoice.items[i].description\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@focus=\"$emit('pause-auto-save', true)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@blur=\"$emit('pause-auto-save', false)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"pause-save item-description\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:id=\"`item-description-${i}`\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<project-select\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"mt-2\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:clientId=\"invoice.clientId\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:item=\"item\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:editable=\"editable\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@select-project=\"assignProjectToItem($event, item)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"qty\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-model=\"invoice.items[i].qty\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin=\"0\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tref=\"qty\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"pause-save text-hover-blue\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@focus=\"manualQtyFocus(i)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@blur=\"manualQtyBlur(i)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@keyup=\"itemChange()\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@change=\"itemChange()\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<!--td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span v-if=\"item.product\">{{ item.product.unit }}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span v-else>{{ $t('invoice.details.item-type.' + item.type) }}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</td-->\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"price\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-model=\"invoice.items[i].price\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"pause-save text-hover-blue\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@focus=\"manualPriceFocus(i)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@blur=\"manualPriceBlur(i)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@keyup=\"itemChange()\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@change=\"itemChange()\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"taxable\" v-if=\"taxEnabled\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-simple-checkbox\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-model=\"invoice.items[i].taxable\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tright\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"itemChange(true)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t></v-simple-checkbox>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"subtotal\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$formatters.dollars(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinvoice.items[i].subtotal,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinvoice.currency\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t<!-- Project/Client/Expense linked or non-editable -->\n\t\t\t\t\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t\t\t\t\t<tr\n\t\t\t\t\t\t\t\t\t\t\t\t\t:key=\"i\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"handleItemDetailsClick(item)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:class=\"item.type === 'HOURS' || item.type === 'OVERAGE' ? 'pointer' : ''\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"trash\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"row-format align-center\" v-if=\"editable\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"column-format ml-3\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-icon small @click=\"moveUp(i)\">$arrowUp</v-icon>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-icon small @click=\"moveDown(i)\">$arrowDown</v-icon>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-btn\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\teditable && item.type !== 'DEPOSIT' && item.type !== 'OVERAGE'\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ticon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tsmall\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trounded\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"handleDeleteItemDialog(i)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-icon size=\"20\">$delete</v-icon>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td v-if=\"editable && item.type !== 'OVERAGE'\" class=\"description editable\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-textarea\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trows=\"1\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tauto-grow\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-model=\"invoice.items[i].description\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"margin-bottom: -10px\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@change=\"itemChange()\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"pause-save item-description\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t\t\t\t\t<span>{{ item.type }}</span>-->\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"row-format mt-2\" style=\"gap: 4px\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"font-12\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"item.type === 'DEPOSIT'\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: var(--v-black-base); cursor: default\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDeposit\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<project-select\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:clientId=\"invoice.clientId\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:item=\"item\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:editable=\"editable\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:prefix=\"item.type === 'DEPOSIT' ? ' / ' : null\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@select-project=\"assignProjectToItem($event, item)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"item.retainerPeriod\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"font-12\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: var(--v-black-base); cursor: default\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDateTime.fromISO(item.retainerPeriod.start).toLocaleString(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDateTime.DATE_MED\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t-\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDateTime.fromISO(item.retainerPeriod.end).toLocaleString(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDateTime.DATE_MED\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td v-else class=\"description\" style=\"min-width: 200px !important\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div style=\"white-space: pre-wrap\" class=\"item-description my-1\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div>{{ item.description }}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"row-format align-center\" style=\"gap: 4px\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"font-12\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"item.type === 'DEPOSIT'\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: var(--v-black-base); cursor: default\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDeposit\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<project-select\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:clientId=\"invoice.clientId\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:item=\"item\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:editable=\"editable\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:prefix=\"item.type === 'DEPOSIT' ? ' / ' : null\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@select-project=\"assignProjectToItem($event, item)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"item.retainerPeriod\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"font-12\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"color: var(--v-black-base); cursor: default\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDateTime.fromISO(item.retainerPeriod.start).toLocaleString(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDateTime.DATE_MED\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t-\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDateTime.fromISO(item.retainerPeriod.end).toLocaleString(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tDateTime.DATE_MED\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"item.timerEventIds.length && allowDetailedInvoice\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"font-12 font-primary nowrap pointer\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ $t('invoice.details.show-hours') }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"item.type === 'DELIVERABLE' && !item.product.hourly && editable\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"qty editable\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-model=\"invoice.items[i].qty\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tmin=\"0\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tref=\"qty\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"pause-save text-hover-blue\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@focus=\"manualQtyFocus(i)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@blur=\"manualQtyBlur(i)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@keyup=\"itemChange()\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@change=\"itemChange()\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t:class=\"'qty' + (clickableQty(item) ? ' editable pointer' : '')\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"handleQtyClick(i)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div>{{ $formatters.decimal(invoice.items[i].qty, 0, 3) }}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<!--td\n\t\t\t\t\t\t\t\t\t\t\t\t\t:class=\"'type' + (clickableQty(item) ? ' editable' : '')\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"handleQtyClick(i)\"\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span v-if=\"item.product\">{{ item.product.unit }}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<span v-else>{{ $t('invoice.details.item-type.' + item.type) }}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t</td-->\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t:class=\"'price' + (clickableFee(item) ? ' editable' : '')\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"handlePriceClick(i)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$formatters.dollars(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinvoice.items[i].price,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\teditable ? false : true,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinvoice.currency\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"taxable\" v-if=\"taxEnabled\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-simple-checkbox\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:disabled=\"!editable\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-model=\"invoice.items[i].taxable\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tright\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"itemChange(true)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t></v-simple-checkbox>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<td class=\"subtotal\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$formatters.dollars(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinvoice.items[i].subtotal,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tinvoice.currency\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t</tbody>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</v-simple-table>\n\n\t\t\t\t\t\t\t<!-- Late Payment -->\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tid=\"late-payment\"\n\t\t\t\t\t\t\t\t:class=\"'calculated text-left' + (invoice.lateFeeWaived ? ' waived' : '')\"\n\t\t\t\t\t\t\t\tv-if=\"editMode && (totalLateFee || invoice.lateFeeWaived) && invoice.daysPastDue > 0\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div class=\"left\"></div>\n\t\t\t\t\t\t\t\t<div class=\"center\" v-if=\"invoice.lateFeeWaived && invoice.status === 'PAID'\">\n\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t$t('invoice.details.late-payment-fee-waived-paid', {\n\t\t\t\t\t\t\t\t\t\t\tlateFee: $formatters.dollars(totalLateFee, true, true, invoice.currency),\n\t\t\t\t\t\t\t\t\t\t\tdays: invoice.daysPastDue,\n\t\t\t\t\t\t\t\t\t\t\tlateFeePercentage: invoice.paymentTerms ? invoice.paymentTerms.latePaymentFee : 0,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t<v-btn\n\t\t\t\t\t\t\t\t\t\ttext\n\t\t\t\t\t\t\t\t\t\tsmall\n\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\t\t\t\t@click=\"waiveLateFee\"\n\t\t\t\t\t\t\t\t\t\tv-if=\"editMode && invoice.status !== 'PAID'\"\n\t\t\t\t\t\t\t\t\t\t>{{ $t('invoice.details.apply-late-fee') }}</v-btn\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"center\" v-else-if=\"invoice.lateFeeWaived\">\n\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t$t('invoice.details.late-payment-fee-waived', {\n\t\t\t\t\t\t\t\t\t\t\tlateFee: $formatters.dollars(totalLateFee, true, true, invoice.currency),\n\t\t\t\t\t\t\t\t\t\t\tdays: invoice.daysPastDue,\n\t\t\t\t\t\t\t\t\t\t\tlateFeePercentage: invoice.paymentTerms ? invoice.paymentTerms.latePaymentFee : 0,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t<v-btn\n\t\t\t\t\t\t\t\t\t\ttext\n\t\t\t\t\t\t\t\t\t\tsmall\n\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\t\t\t\t@click=\"waiveLateFee\"\n\t\t\t\t\t\t\t\t\t\tv-if=\"editMode && invoice.status !== 'PAID'\"\n\t\t\t\t\t\t\t\t\t\t>{{ $t('invoice.details.apply-late-fee') }}</v-btn\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"center\" v-else>\n\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t$t('invoice.details.late-payment-fee-added', {\n\t\t\t\t\t\t\t\t\t\t\tlateFee: $formatters.dollars(totalLateFee, true, true, invoice.currency),\n\t\t\t\t\t\t\t\t\t\t\tdays: invoice.daysPastDue,\n\t\t\t\t\t\t\t\t\t\t\tlateFeePercentage: invoice.paymentTerms ? invoice.paymentTerms.latePaymentFee : 0,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t<v-btn\n\t\t\t\t\t\t\t\t\t\ttext\n\t\t\t\t\t\t\t\t\t\tsmall\n\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\t\t\t\t@click=\"waiveLateFee\"\n\t\t\t\t\t\t\t\t\t\tv-if=\"editMode && invoice.status !== 'PAID'\"\n\t\t\t\t\t\t\t\t\t\t>{{ $t('invoice.details.waive-late-fee') }}</v-btn\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<!--div :class=\"'right' + (invoice.lateFeeWaived ? ' waived' : '')\">\n\t\t\t\t\t\t\t\t{{ $formatters.dollars(invoice.lateFeeCalculated, true, true, invoice.currency) }}\n\t\t\t\t\t\t\t</div-->\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div id=\"late-payment\" class=\"applied text-left\" v-else-if=\"totalLateFee && invoice.daysPastDue > 0\">\n\t\t\t\t\t\t\t\t<div class=\"left\"></div>\n\t\t\t\t\t\t\t\t<div class=\"center\" style=\"\">\n\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t$t('invoice.details.late-payment-fee-added', {\n\t\t\t\t\t\t\t\t\t\t\tlateFee: $formatters.dollars(totalLateFee, true, true, invoice.currency),\n\t\t\t\t\t\t\t\t\t\t\tdays: invoice.daysPastDue,\n\t\t\t\t\t\t\t\t\t\t\tlateFeePercentage: invoice.paymentTerms ? invoice.paymentTerms.latePaymentFee : 0,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"right\">\n\t\t\t\t\t\t\t\t\t{{ $formatters.dollars(totalLateFee, true, true, invoice.currency) }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<template v-if=\"editable && invoice.invoiceType === 'STANDARD'\">\n\t\t\t\t\t\t\t\t<!-- Add a new line -->\n\t\t\t\t\t\t\t\t<div id=\"add-a-new-line\">\n\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t<span @click=\"handleAddNewLineItemModal()\"-->\n\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t><v-icon size=\"20\" left>$plusCircle</v-icon-->\n\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t><span class=\"brand-regular\">{{ $t('invoice.details.add-a-new-line-item') }}</span></span-->\n\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t>-->\n\t\t\t\t\t\t\t\t\t<div id=\"product-container\">\n\t\t\t\t\t\t\t\t\t\t<v-menu\n\t\t\t\t\t\t\t\t\t\t\tv-model=\"showProductsMenu\"\n\t\t\t\t\t\t\t\t\t\t\tmax-height=\"90vh\"\n\t\t\t\t\t\t\t\t\t\t\tmax-width=\"900\"\n\t\t\t\t\t\t\t\t\t\t\tattach=\"#add-a-new-line\"\n\t\t\t\t\t\t\t\t\t\t\t:close-on-content-click=\"false\"\n\t\t\t\t\t\t\t\t\t\t\t:close-on-click=\"true\"\n\t\t\t\t\t\t\t\t\t\t\tcontent-class=\"filter-menu-class\"\n\t\t\t\t\t\t\t\t\t\t\tstyle=\"overflow-y: auto\"\n\t\t\t\t\t\t\t\t\t\t\torigin=\"top center\"\n\t\t\t\t\t\t\t\t\t\t\ttransition=\"scale-transition\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div v-on=\"on\" class=\"pointer row-format align-center\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<v-icon size=\"20\" left>$plusCircle</v-icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t><span class=\"brand-regular\">{{\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t$t('invoice.details.add-a-new-line-item')\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t<products\n\t\t\t\t\t\t\t\t\t\t\t\t@close=\"showProductsMenu = false\"\n\t\t\t\t\t\t\t\t\t\t\t\t@select=\"handleSelectProduct($event)\"\n\t\t\t\t\t\t\t\t\t\t\t\t:currency=\"invoice.currency\"\n\t\t\t\t\t\t\t\t\t\t\t\t:client-id=\"invoice.clientId\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</v-menu>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div id=\"add-a-new-line2\" v-if=\"!recurring\">\n\t\t\t\t\t\t\t\t\t<span @click=\"handleAddNewTrackedItemModal()\"\n\t\t\t\t\t\t\t\t\t\t><v-icon size=\"20\" left>$kanban</v-icon\n\t\t\t\t\t\t\t\t\t\t><span class=\"brand-regular\">{{\n\t\t\t\t\t\t\t\t\t\t\t$t('invoice.details.add-line-item-from-billable')\n\t\t\t\t\t\t\t\t\t\t}}</span></span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<!-- Add a new expense -->\n\t\t\t\t\t\t\t\t<div id=\"add-a-new-expense\" v-if=\"hasExpenses && !recurring\">\n\t\t\t\t\t\t\t\t\t<span @click=\"handleAddExpenses()\"\n\t\t\t\t\t\t\t\t\t\t><v-icon size=\"20\" left>$plusCircle</v-icon\n\t\t\t\t\t\t\t\t\t\t><span class=\"brand-regular\">{{ $t('invoice.details.add-expenses') }}</span></span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<!-- Apply a deposit -->\n\t\t\t\t\t\t\t\t<div id=\"apply-deposit\" v-if=\"balanceExists && !invoice.creditAmount && !recurring\">\n\t\t\t\t\t\t\t\t\t<span @click=\"handleApplyDeposit()\"\n\t\t\t\t\t\t\t\t\t\t><v-icon size=\"20\" left>$money</v-icon\n\t\t\t\t\t\t\t\t\t\t><span class=\"brand-regular\">{{ $t('invoice.details.apply-deposit-credit') }}</span></span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t\t<!-- Totals -->\n\t\t\t\t\t\t\t<div id=\"totals\">\n\t\t\t\t\t\t\t\t<div class=\"line\">\n\t\t\t\t\t\t\t\t\t<template v-if=\"invoice.invoiceType === 'STANDARD'\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"left\">\n\t\t\t\t\t\t\t\t\t\t\t{{ $t('invoice.details.subtotal') }}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"center\"></div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"right\">\n\t\t\t\t\t\t\t\t\t\t\t{{ $formatters.dollars(invoice.itemSubtotal, true, true, invoice.currency) }}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"line\" v-if=\"invoice.convenienceFee\">\n\t\t\t\t\t\t\t\t\t<div class=\"left\">\n\t\t\t\t\t\t\t\t\t\t{{ $t('invoice.details.convenience-fee') }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"center\"></div>\n\t\t\t\t\t\t\t\t\t<div class=\"right\">\n\t\t\t\t\t\t\t\t\t\t{{ $formatters.dollars(invoice.convenienceFee, true, true, invoice.currency) }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"line\" v-if=\"totalLateFee\">\n\t\t\t\t\t\t\t\t\t<div class=\"left\">\n\t\t\t\t\t\t\t\t\t\t{{ $t('invoice.details.late-fee') }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"center\"></div>\n\t\t\t\t\t\t\t\t\t<div class=\"right\">\n\t\t\t\t\t\t\t\t\t\t{{ $formatters.dollars(totalLateFee, true, true, invoice.currency) }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<template v-if=\"invoice.invoiceType !== 'DEPOSIT' && invoice.taxRateLocked === false\">\n\t\t\t\t\t\t\t\t\t<div v-if=\"editable || invoice.discountPercentage\" class=\"line\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"left\">\n\t\t\t\t\t\t\t\t\t\t\t{{ $t('invoice.details.discount') }}\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t<div :class=\"'center' + (editable ? ' editable' : '')\">\n\t\t\t\t\t\t\t\t\t\t\t<template v-if=\"editable\">\n\t\t\t\t\t\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tv-model=\"invoice.discountPercentage\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:min=\"0\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:max=\"100\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t@change=\"forceSave\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tsuffix=\"%\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\t\t\t\t\t\t\t:rules=\"[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t() => invoice.discountPercentage >= 0 || 'Must be 0 or more',\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t() => invoice.discountPercentage <= 100 || 'Must be 100 or less',\n\t\t\t\t\t\t\t\t\t\t\t\t\t]\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t<template v-else-if=\"invoice.discountPercentage\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{ $formatters.decimal(invoice.discountPercentage) + '%' }}\n\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"right\">\n\t\t\t\t\t\t\t\t\t\t\t{{ $formatters.dollars(0 - invoice.discountAmount, true, true, invoice.currency) }}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t\t\t<div class=\"line\" v-if=\"taxEnabled\">\n\t\t\t\t\t\t\t\t\t<div class=\"left\">\n\t\t\t\t\t\t\t\t\t\t{{ taxLabel }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div :class=\"'center' + (editable ? ' editable' : '')\">\n\t\t\t\t\t\t\t\t\t\t<template v-if=\"editable\">\n\t\t\t\t\t\t\t\t\t\t\t<div v-if=\"invoice.taxRateLocked && additionalTaxRates.length\">\n\t\t\t\t\t\t\t\t\t\t\t\t<v-menu :close-on-content-click=\"true\" :close-on-click=\"true\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div v-on=\"on\" class=\"pointer font-gray_70\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{{ $formatters.decimal(invoice.taxPercentage) + '%' }}\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"column-format pa-3 font-14 gap-2\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"background-color: var(--v-white-base)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tv-for=\"taxRate in additionalTaxRates\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t:key=\"taxRate.id\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tclass=\"row-format gap-3 pointer\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t@click=\"$emit('tax-rate-selected', taxRate)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div>{{ taxRate.name }}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"ml-auto\">{{ taxRate.rate }}%</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t\t</v-menu>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div v-else>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tv-model=\"invoice.taxPercentage\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:disabled=\"invoice.taxRateLocked\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:min=\"0\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:max=\"100\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tstep=\"1\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t@change=\"forceSave\"\n\t\t\t\t\t\t\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\t\t\t\t\t\t\tsuffix=\"%\"\n\t\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t\t<template v-else>\n\t\t\t\t\t\t\t\t\t\t\t{{ $formatters.decimal(invoice.taxPercentage) + '%' }}\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"right\">\n\t\t\t\t\t\t\t\t\t\t{{ $formatters.dollars(invoice.taxAmount, true, true, invoice.currency) }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div class=\"line credit-applied\" v-if=\"invoice.creditAmount\">\n\t\t\t\t\t\t\t\t\t<div class=\"left\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"mr-1\">\n\t\t\t\t\t\t\t\t\t\t\t<v-btn v-if=\"editable\" icon rounded @click=\"$emit('apply-deposit-modal')\"\n\t\t\t\t\t\t\t\t\t\t\t\t><v-icon>$edit</v-icon></v-btn\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t{{ $t('invoice.details.credit-amount') }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"center\"></div>\n\t\t\t\t\t\t\t\t\t<div class=\"right\">\n\t\t\t\t\t\t\t\t\t\t{{ $formatters.dollars(0 - invoice.creditAmount, true, true, invoice.currency) }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"line total\">\n\t\t\t\t\t\t\t\t\t<div class=\"left\"></div>\n\t\t\t\t\t\t\t\t\t<div class=\"center\" v-if=\"invoice.status === 'DRAFT' || invoice.status === 'SENT'\">\n\t\t\t\t\t\t\t\t\t\t{{ $t('invoice.details.total-due') }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"center\" v-else>{{ $t('invoice.details.total') }}</div>\n\t\t\t\t\t\t\t\t\t<div class=\"right\">\n\t\t\t\t\t\t\t\t\t\t{{ $formatters.dollars(invoice.total, true, true, invoice.currency) }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div class=\"line total\">\n\t\t\t\t\t\t\t\t\t<div class=\"left\"></div>\n\t\t\t\t\t\t\t\t\t<div class=\"center font-14\">\n\t\t\t\t\t\t\t\t\t\t<span style=\"font-weight: 300\"\n\t\t\t\t\t\t\t\t\t\t\t>{{ $t('invoice.all-amounts') }} {{ invoice.currency }}</span\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<template\n\t\t\t\t\t\t\t\t\tv-if=\"\n\t\t\t\t\t\t\t\t\t\tinvoice.status === 'PARTIAL' || invoice.status === 'PAID' || invoice.status === 'PENDING'\n\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div class=\"line balance-due\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"left\"></div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"center\">{{ $t('invoice.details.payments-applied') }}</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"right\">\n\t\t\t\t\t\t\t\t\t\t\t{{ $formatters.dollars(invoice.paymentTotal, true, true, invoice.currency) }}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"line balance-due mb-3\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"left\"></div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"center\">{{ $t('invoice.details.balance-due') }}</div>\n\t\t\t\t\t\t\t\t\t\t<div class=\"right\">\n\t\t\t\t\t\t\t\t\t\t\t{{ $formatters.dollars(invoice.amountDue, true, true, invoice.currency) }}\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<!-- Payment Button -->\n\t\t\t\t\t\t\t<div class=\"pay-button\" v-if=\"invoice.payOnlineUrl && !editable && invoice.amountDue\">\n\t\t\t\t\t\t\t\t<v-btn @click=\"handlePaymentAction\" :width=\"191\" class=\"primary-action\">{{\n\t\t\t\t\t\t\t\t\t$t('invoice.details.pay-button')\n\t\t\t\t\t\t\t\t}}</v-btn>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<!-- Footer -->\n\t\t\t\t\t\t\t<div id=\"footer\" class=\"text-left\">\n\t\t\t\t\t\t\t\t<div v-if=\"invoice.notes || editable\">\n\t\t\t\t\t\t\t\t\t<h3>{{ $t('invoice.details.notes') }}</h3>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tv-html=\"notes\"\n\t\t\t\t\t\t\t\t\t\t:contenteditable=\"editable\"\n\t\t\t\t\t\t\t\t\t\t@input=\"handleNotesChange\"\n\t\t\t\t\t\t\t\t\t\t:style=\"`${editable ? 'border: 1px solid var(--v-gray_30-base); padding:4px' : ''}`\"\n\t\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div v-if=\"invoice.payInstructions || editable\" class=\"my-5\">\n\t\t\t\t\t\t\t\t\t<h3>{{ $t('invoice.details.payment-instructions') }}</h3>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tv-html=\"payInstructions\"\n\t\t\t\t\t\t\t\t\t\t:contenteditable=\"editable\"\n\t\t\t\t\t\t\t\t\t\t@input=\"handlePayInstructionsChange\"\n\t\t\t\t\t\t\t\t\t\t:style=\"`${editable ? 'border: 1px solid var(--v-gray_30-base); padding:4px' : ''}`\"\n\t\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div class=\"my-8\" v-if=\"editable || invoice.attachments.length > 0\">\n\t\t\t\t\t\t\t\t\t<file-attachments\n\t\t\t\t\t\t\t\t\t\t:files=\"invoice.attachments\"\n\t\t\t\t\t\t\t\t\t\t:file-service=\"attachmentService\"\n\t\t\t\t\t\t\t\t\t\t:edit-mode=\"editable\"\n\t\t\t\t\t\t\t\t\t\t:previews-supported=\"false\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t</file-attachments>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div v-if=\"invoice.paymentTerms || editable\" class=\"my-5\">\n\t\t\t\t\t\t\t\t\t<template v-if=\"termsSentence\">\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\t:class=\"'body-14 font-italic ' + (editable ? 'pointer' : '')\"\n\t\t\t\t\t\t\t\t\t\t\t@click=\"handlePaymentTermsClick\"\n\t\t\t\t\t\t\t\t\t\t\tv-html=\"termsSentence\"\n\t\t\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t<template v-else-if=\"editable\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"pl-0 payment-link\">\n\t\t\t\t\t\t\t\t\t\t\t<span @click=\"handlePaymentTermsClick()\">\n\t\t\t\t\t\t\t\t\t\t\t\t<v-icon size=\"20\" left>$handshake</v-icon>\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"brand-regular\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t{{ $t('invoice.details.add-payment-terms-button') }}\n\t\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tv-if=\"invoice.autoPayMethod && !invoice.wasAutoPaid\"\n\t\t\t\t\t\t\t\t\tclass=\"body-14 font-italic font-primary my-5\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\tAutomatic payment scheduled for {{ $DateTime.shortDate(invoice.dateDue) }} from\n\t\t\t\t\t\t\t\t\t<span style=\"text-transform: capitalize\">{{ invoice.autoPayMethod.label }}</span>\n\t\t\t\t\t\t\t\t\t{{ invoice.autoPayMethod.last4 }}\n\t\t\t\t\t\t\t\t\t<v-icon\n\t\t\t\t\t\t\t\t\t\tclass=\"material-symbols-outlined pointer\"\n\t\t\t\t\t\t\t\t\t\tv-if=\"editable\"\n\t\t\t\t\t\t\t\t\t\tsize=\"20\"\n\t\t\t\t\t\t\t\t\t\t@click=\"confirmCancelAutoPay\"\n\t\t\t\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\t\t\t\t>cancel</v-icon\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div id=\"status-overlay\" :class=\"invoice.status.toLowerCase()\" v-if=\"$vuetify.breakpoint.mdAndUp\">\n\t\t\t\t\t\t\t\t{{ invoice.status }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<!-- Payment Card -->\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-if=\"showPaymentCardBanner\"\n\t\t\t\t\t\t\tclass=\"payment-card-pay-now pointer\"\n\t\t\t\t\t\t\t@click=\"handlePaymentAction\"\n\t\t\t\t\t\t\t:style=\"`width:${$vuetify.breakpoint.width > 1200 ? 1000 : $vuetify.breakpoint.width}px`\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div class=\"\">\n\t\t\t\t\t\t\t\t<div class=\"d-flex justify-center align-center\">\n\t\t\t\t\t\t\t\t\t<div class=\"column-format\">\n\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"/images/invoices/stripe-logo.svg\"\n\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"acceptStripe\"\n\t\t\t\t\t\t\t\t\t\t\t\twidth=\"100\"\n\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"max-width: 140px\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t\t\t<img\n\t\t\t\t\t\t\t\t\t\t\t\tsrc=\"/images/invoices/paypal.svg\"\n\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"acceptPayPal\"\n\t\t\t\t\t\t\t\t\t\t\t\twidth=\"100\"\n\t\t\t\t\t\t\t\t\t\t\t\tstyle=\"max-width: 140px\"\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<p class=\"inter-medium text-left\" v-html=\"$t('invoice.details.payment-card.heading')\"></p>\n\t\t\t\t\t\t\t\t\t<p\n\t\t\t\t\t\t\t\t\t\tclass=\"text-left\"\n\t\t\t\t\t\t\t\t\t\tv-if=\"acceptPayPal && acceptStripe\"\n\t\t\t\t\t\t\t\t\t\tv-html=\"$t('invoice.details.payment-card.message-both')\"\n\t\t\t\t\t\t\t\t\t></p>\n\t\t\t\t\t\t\t\t\t<p\n\t\t\t\t\t\t\t\t\t\tclass=\"text-left\"\n\t\t\t\t\t\t\t\t\t\tv-else-if=\"acceptStripe\"\n\t\t\t\t\t\t\t\t\t\tv-html=\"$t('invoice.details.payment-card.message-stripe')\"\n\t\t\t\t\t\t\t\t\t></p>\n\t\t\t\t\t\t\t\t\t<p\n\t\t\t\t\t\t\t\t\t\tclass=\"text-left\"\n\t\t\t\t\t\t\t\t\t\tv-else-if=\"acceptPayPal\"\n\t\t\t\t\t\t\t\t\t\tv-html=\"$t('invoice.details.payment-card.message-paypal')\"\n\t\t\t\t\t\t\t\t\t></p>\n\t\t\t\t\t\t\t\t\t<p class=\"mt-3 text-left\">\n\t\t\t\t\t\t\t\t\t\t<span class=\"mr-2\"><payment-icon size=\"16\" name=\"amex\"></payment-icon></span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"mr-2\"><payment-icon size=\"16\" name=\"master_card\"></payment-icon></span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"mr-2\"><payment-icon size=\"16\" name=\"visa\"></payment-icon></span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"mr-2\"><payment-icon size=\"16\" name=\"discover\"></payment-icon></span>\n\t\t\t\t\t\t\t\t\t\t<span class=\"mr-2\"\n\t\t\t\t\t\t\t\t\t\t\t><payment-icon size=\"16\" name=\"paypal\" v-if=\"acceptPayPal\"></payment-icon\n\t\t\t\t\t\t\t\t\t\t></span>\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"\">\n\t\t\t\t\t\t\t\t<v-btn class=\"primary-action\" block small text>\n\t\t\t\t\t\t\t\t\t<span class=\"inter-medium font-16\">{{\n\t\t\t\t\t\t\t\t\t\t$t('invoice.details.payment-card.button')\n\t\t\t\t\t\t\t\t\t}}</span></v-btn\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-if=\"showSetupPaymentCardBanner\"\n\t\t\t\t\t\t\tclass=\"payment-card-setup pointer\"\n\t\t\t\t\t\t\t@click=\"$emit('payment-connect')\"\n\t\t\t\t\t\t\t:style=\"`width:${$vuetify.breakpoint.width > 1200 ? 1000 : $vuetify.breakpoint.width}px`\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div class=\"d-flex justify-center align-center\">\n\t\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t\t<v-img src=\"/images/invoices/stripe-logo.svg\" :width=\"154\" />\n\t\t\t\t\t\t\t\t\t<v-img src=\"/images/invoices/paypal.svg\" :width=\"154\"></v-img>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<p class=\"inter-medium text-left\" v-html=\"$t('invoice.details.payment-card-setup.heading')\"></p>\n\t\t\t\t\t\t\t\t<p class=\"gray_80--text text-left\" v-html=\"$t('invoice.details.payment-card-setup.message')\"></p>\n\t\t\t\t\t\t\t\t<p class=\"text-left mt-1\">\n\t\t\t\t\t\t\t\t\t<v-btn class=\"px-0 primary-action\" small text>\n\t\t\t\t\t\t\t\t\t\t<span class=\"inter-medium\">{{ $t('invoice.details.payment-card-setup.button') }}</span>\n\t\t\t\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<confirm-dialog\n\t\t\t\t\t\t\t:dialog=\"deleteItemDialog\"\n\t\t\t\t\t\t\t@close=\"cancelDeleteItem()\"\n\t\t\t\t\t\t\t@confirm=\"handleDeleteItem()\"\n\t\t\t\t\t\t\theading-text=\"Confirm\"\n\t\t\t\t\t\t\tyes-text=\"Yes\"\n\t\t\t\t\t\t\tno-text=\"No\"\n\t\t\t\t\t\t\t:body-text=\"$t('invoice.details.delete-item-confirm')\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t</confirm-dialog>\n\n\t\t\t\t\t\t<modal\n\t\t\t\t\t\t\t:dialog=\"!!showPaymentDetails\"\n\t\t\t\t\t\t\tv-on:close=\"showPaymentDetails = null\"\n\t\t\t\t\t\t\tref=\"paymentDetailsModal\"\n\t\t\t\t\t\t\t:persistent=\"false\"\n\t\t\t\t\t\t\t:max-width=\"350\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<payment-details-modal\n\t\t\t\t\t\t\t\tv-if=\"showPaymentDetails\"\n\t\t\t\t\t\t\t\t:invoice=\"invoice\"\n\t\t\t\t\t\t\t\t:edit-mode=\"editMode\"\n\t\t\t\t\t\t\t\t:payment=\"showPaymentDetails\"\n\t\t\t\t\t\t\t\t:client=\"invoice.client\"\n\t\t\t\t\t\t\t\t@close=\"showPaymentDetails = null\"\n\t\t\t\t\t\t\t\t@updated=\"$emit('updated', $event)\"\n\t\t\t\t\t\t\t></payment-details-modal>\n\t\t\t\t\t\t</modal>\n\t\t\t\t\t\t<modal\n\t\t\t\t\t\t\t:dialog=\"!!showItemDetailsModal\"\n\t\t\t\t\t\t\tv-on:close=\"showItemDetailsModal = false\"\n\t\t\t\t\t\t\tref=\"itemDetailsModal\"\n\t\t\t\t\t\t\t:persistent=\"false\"\n\t\t\t\t\t\t\t:max-width=\"600\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<item-details-modal\n\t\t\t\t\t\t\t\tv-if=\"itemDetailsItemId\"\n\t\t\t\t\t\t\t\t:key=\"itemDetailsItemId\"\n\t\t\t\t\t\t\t\t:invoice=\"invoice\"\n\t\t\t\t\t\t\t\t:invoice-item-id=\"itemDetailsItemId\"\n\t\t\t\t\t\t\t\t:invoice-service=\"invoiceService\"\n\t\t\t\t\t\t\t\t:client=\"invoice.client\"\n\t\t\t\t\t\t\t\t@close=\"showItemDetailsModal = false\"\n\t\t\t\t\t\t\t></item-details-modal>\n\t\t\t\t\t\t</modal>\n\t\t\t\t\t</div>\n\t\t\t\t</v-col>\n\t\t\t</v-row>\n\t\t</v-container>\n\t</div>\n</template>\n\n<script>\n\timport ConfirmDialog from './ConfirmDialog';\n\timport Modal from '@/components/Modal';\n\timport PaymentIcon from './PaymentIcon';\n\timport PaymentDetailsModal from './PaymentDetailsModal';\n\timport ItemDetailsModal from '@/modules/invoices/InvoiceRenderer/ItemDetailsModal';\n\timport FileAttachments from '@/components/FileAttachments';\n\timport Countries from '@/modules/utils/Countries.js';\n\timport Products from '@/modules/invoices/InvoiceRenderer/Products';\n\timport ProjectSelect from '@/modules/invoices/InvoiceRenderer/ProjectSelect';\n\timport SimpleTextInput from '@/components/SimpleTextInput';\n\timport DateTime from '@/modules/utils/HDateTime';\n\timport { v4 as uuid4 } from 'uuid';\n\timport ConfirmModal from '@/components/ConfirmModal';\n\n\texport default {\n\t\tname: 'InvoiceRenderer',\n\t\tcomponents: {\n\t\t\tPaymentIcon,\n\t\t\tFileAttachments,\n\t\t\tConfirmDialog,\n\t\t\tModal,\n\t\t\tPaymentDetailsModal,\n\t\t\tItemDetailsModal,\n\t\t\tProducts,\n\t\t\tProjectSelect,\n\t\t},\n\n\t\tprops: {\n\t\t\tforceRenderIndex: { type: Number, required: false, default: 0 },\n\t\t\tinvoice: { type: Object, required: true },\n\t\t\taccount: { type: Object, required: true },\n\t\t\tdepositAccount: { type: Object, required: false },\n\t\t\teditMode: { type: Boolean, required: false, default: false },\n\t\t\thasExpenses: { type: Boolean, required: false, default: false },\n\t\t\tadditionalTaxRates: { type: Array, required: false, default: () => [] },\n\t\t\tsaving: { type: Boolean, required: false, default: false },\n\t\t\tattachmentService: { type: Object, required: true },\n\t\t\tinvoiceService: { type: Object, required: true },\n\t\t\titemFocus: { type: Number, required: false, default: -1 },\n\t\t\trecurring: { type: Boolean, required: false, default: false },\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tcountries: new Countries(),\n\n\t\t\t\titemTypes: [\n\t\t\t\t\t{ value: 'DEPOSIT', text: this.$t('invoice.details.item-type.DEPOSIT') },\n\t\t\t\t\t{ value: 'HOURS', text: this.$t('invoice.details.item-type.HOURS') },\n\t\t\t\t\t{ value: 'RETAINER', text: this.$t('invoice.details.item-type.RETAINER') },\n\t\t\t\t\t{ value: 'ADHOC', text: this.$t('invoice.details.item-type.ADHOC') },\n\t\t\t\t\t{ value: 'PROJECT', text: this.$t('invoice.details.item-type.PROJECT') },\n\t\t\t\t],\n\t\t\t\tdiscountTypes: [\n\t\t\t\t\t{ value: 'NONE', text: this.$t('invoice.details.discount-type.NONE') },\n\t\t\t\t\t{ value: 'FIXED', text: this.$t('invoice.details.discount-type.FIXED') },\n\t\t\t\t\t{ value: 'PERCENTAGE', text: this.$t('invoice.details.discount-type.PERCENTAGE') },\n\t\t\t\t],\n\n\t\t\t\tdeleteItemIndex: null,\n\t\t\t\tdeleteItemDialog: false,\n\t\t\t\tdateDueMenu: false,\n\n\t\t\t\tshowItemHoursModal: false,\n\t\t\t\titemModalIndex: null,\n\t\t\t\tshowPaymentDetails: null, // Stores payment record selected for viewing\n\t\t\t\titemTableKey: 0,\n\n\t\t\t\tshowItemDetailsModal: false,\n\t\t\t\titemDetailsItemId: null,\n\n\t\t\t\tshowAddNewItemModal: false,\n\n\t\t\t\tshowInvoiceNumberFormatModal: false,\n\n\t\t\t\tshowProductsMenu: false,\n\t\t\t\t// showProjectsModal: false,\n\t\t\t\t// projectModalItemToEdit: null,\n\n\t\t\t\tnotes: '',\n\t\t\t\tpayInstructions: '',\n\t\t\t\tDateTime: DateTime,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.notes = this.invoice.notes;\n\t\t\tthis.payInstructions = this.invoice.payInstructions;\n\t\t},\n\n\t\tmethods: {\n\t\t\tmoveUp: function(index) {\n\t\t\t\tif (index == 0) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlet item = this.invoice.items.splice(index, 1)[0];\n\t\t\t\tthis.invoice.items.splice(index - 1, 0, item);\n\t\t\t},\n\n\t\t\tmoveDown: function(index) {\n\t\t\t\tif (index == this.invoice.items.length - 1) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlet item = this.invoice.items.splice(index, 1)[0];\n\t\t\t\tthis.invoice.items.splice(index + 1, 0, item);\n\t\t\t},\n\n\t\t\thandleApplyDeposit() {\n\t\t\t\tthis.$emit('apply-deposit-modal');\n\t\t\t},\n\t\t\thandleDiscountChange() {\n\t\t\t\tthis.$emit('discount-change');\n\t\t\t},\n\t\t\thandlePayInstructionsClick() {\n\t\t\t\tif (!this.editable) return;\n\t\t\t\tthis.$emit('payment-instructions-modal');\n\t\t\t},\n\t\t\thandlePaymentTermsClick() {\n\t\t\t\tif (!this.editable) return;\n\t\t\t\tthis.$emit('payment-terms-modal');\n\t\t\t},\n\t\t\thandlePaymentAction() {\n\t\t\t\tif (!['SENT', 'PARTIAL'].includes(this.invoice.status)) {\n\t\t\t\t\tif (['DRAFT', 'INIT'].includes(this.invoice.status)) {\n\t\t\t\t\t\tthis.alert(\n\t\t\t\t\t\t\t'warn',\n\t\t\t\t\t\t\tthis.$t('invoice.payment-action.send-warning', {\n\t\t\t\t\t\t\t\tstatus: this.$t('invoice.statuses.' + this.invoice.status),\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.alert(\n\t\t\t\t\t\t\t'warn',\n\t\t\t\t\t\t\tthis.$t('invoice.payment-action.sent-or-partial-warning', {\n\t\t\t\t\t\t\t\tstatus: this.$t('invoice.statuses.' + this.invoice.status),\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tif (!this.invoice.payOnlineUrl) {\n\t\t\t\t\tthis.alert('error', 'No payment URL has been generated. Try again later.');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\twindow.open(this.invoice.payOnlineUrl, '_blank');\n\t\t\t},\n\t\t\talert(type, message) {\n\t\t\t\tthis.$store.commit(type, message);\n\t\t\t},\n\t\t\twaiveLateFee() {\n\t\t\t\tthis.$emit('waive-late-fee');\n\t\t\t},\n\t\t\thandleQtyClick(index) {\n\t\t\t\tif (!this.editable) return;\n\t\t\t\tif (['PROJECT', 'RETAINER'].includes(this.invoice.items[index].type)) {\n\t\t\t\t\tthis.$emit('item-price-modal', index);\n\t\t\t\t}\n\t\t\t\tif (this.invoice.items[index].type === 'HOURS') {\n\t\t\t\t\tthis.$emit('item-hours-modal', index);\n\t\t\t\t}\n\t\t\t},\n\t\t\tclickableFee(item) {\n\t\t\t\tif (item.type === 'EXPENSE' || item.type === 'OVERAGE') return false;\n\t\t\t\treturn this.editable;\n\t\t\t},\n\t\t\tclickableQty(item) {\n\t\t\t\tif (!['PROJECT', 'HOURS', 'RETAINER'].includes(item.type)) return false;\n\t\t\t\treturn this.editable;\n\t\t\t},\n\t\t\tmanualQtyFocus(i) {\n\t\t\t\tthis.$emit('pause-auto-save', true);\n\t\t\t\tthis.invoice.items[i].qty = [0].includes(this.invoice.items[i].qty) ? 0 : this.invoice.items[i].qty;\n\t\t\t},\n\t\t\tmanualQtyBlur(i) {\n\t\t\t\tthis.$emit('pause-auto-save', false);\n\t\t\t\tthis.invoice.items[i].qty = this.invoice.items[i].qty === '' ? 1 : this.invoice.items[i].qty;\n\t\t\t\tthis.itemChange(true);\n\t\t\t},\n\t\t\tmanualPriceFocus(i) {\n\t\t\t\tthis.$emit('pause-auto-save', true);\n\t\t\t\tthis.invoice.items[i].price = !this.invoice.items[i].price ? '' : this.invoice.items[i].price;\n\t\t\t},\n\t\t\tmanualPriceBlur(i) {\n\t\t\t\tthis.$emit('pause-auto-save', false);\n\t\t\t\tthis.invoice.items[i].price = !this.invoice.items[i].price ? 0 : this.invoice.items[i].price;\n\t\t\t\tthis.itemChange(true);\n\t\t\t},\n\n\t\t\titemChange(forceSave = false) {\n\t\t\t\tif (!this.editable) return;\n\t\t\t\tfor (let i = 0; i < this.invoice.items.length; i++) {\n\t\t\t\t\tlet item = this.invoice.items[i];\n\t\t\t\t\tthis.invoice.items[i].subtotal = Math.round(item.qty * item.price * 100) / 100;\n\t\t\t\t}\n\t\t\t\tif (forceSave) this.forceSave();\n\t\t\t},\n\n\t\t\thandleNotesChange(event) {\n\t\t\t\tthis.invoice.notes = event.target.innerHTML;\n\t\t\t},\n\n\t\t\thandlePayInstructionsChange(event) {\n\t\t\t\tthis.invoice.payInstructions = event.target.innerHTML;\n\t\t\t},\n\t\t\thandlePriceClick(index) {\n\t\t\t\tif (!this.editable || this.invoice.items[index].type === 'OVERAGE') return;\n\t\t\t\tthis.$emit('item-price-modal', index);\n\t\t\t},\n\t\t\thandleItemDetailsClick(item) {\n\t\t\t\tif (!this.allowDetailedInvoice || this.editable) return;\n\t\t\t\tif (item.timerEventIds.length === 0) return;\n\t\t\t\tthis.itemDetailsItemId = item.id;\n\t\t\t\tthis.showItemDetailsModal = true;\n\t\t\t},\n\t\t\thandleDeleteItemDialog(i) {\n\t\t\t\tthis.deleteItemIndex = i;\n\t\t\t\tthis.deleteItemDialog = true;\n\t\t\t},\n\t\t\tcancelDeleteItem() {\n\t\t\t\tthis.deleteItemDialog = false;\n\t\t\t\tthis.deleteItemIndex = null;\n\t\t\t},\n\t\t\thandleDeleteItem() {\n\t\t\t\tthis.invoice.items.splice(this.deleteItemIndex, 1);\n\t\t\t\tthis.itemChange(true);\n\t\t\t\tthis.cancelDeleteItem();\n\t\t\t\tthis.forceSave();\n\t\t\t},\n\t\t\thandleAddNewLineItemModal() {\n\t\t\t\tthis.showProductsMenu = true;\n\t\t\t},\n\t\t\thandleSelectProduct(event) {\n\t\t\t\tlet item = {};\n\t\t\t\titem.id = uuid4();\n\t\t\t\titem.type = 'ADHOC';\n\t\t\t\titem.product = event.product;\n\t\t\t\titem.description = event.product.productName;\n\n\t\t\t\tif (event.product.description) {\n\t\t\t\t\titem.description = item.description + '\\n' + event.product.description;\n\t\t\t\t}\n\n\t\t\t\tlet currencyRate = event.product.currencyRates.find((c) => c.currency === this.invoice.currency);\n\n\t\t\t\tif (currencyRate) {\n\t\t\t\t\titem.price = currencyRate.rate;\n\t\t\t\t} else {\n\t\t\t\t\titem.price = event.product.rate;\n\t\t\t\t}\n\n\t\t\t\titem.qty = 1;\n\t\t\t\titem.taxable = event.product.taxable;\n\t\t\t\tthis.invoice.items.push(item);\n\t\t\t\tthis.showProductsMenu = false;\n\t\t\t\tthis.$emit('force-save');\n\t\t\t},\n\t\t\thandleAddNewTrackedItemModal() {\n\t\t\t\tthis.$emit('tracked-item-modal');\n\t\t\t},\n\t\t\thandleAddExpenses() {\n\t\t\t\tthis.$emit('expenses-modal');\n\t\t\t},\n\t\t\tforceSave() {\n\t\t\t\tthis.$emit('force-save');\n\t\t\t},\n\t\t\tpaymentDateFormat(payment) {\n\t\t\t\tif (payment.datePaid) {\n\t\t\t\t\treturn this.$DateTime.humanDate(payment.datePaid);\n\t\t\t\t}\n\t\t\t\treturn this.$DateTime.humanDate(payment.timestamp);\n\t\t\t},\n\t\t\tassignProjectToItem(project, item) {\n\t\t\t\tif (project) {\n\t\t\t\t\titem.projectId = project.id;\n\t\t\t\t\titem.projectName = project.name;\n\t\t\t\t}\n\t\t\t\tlet index = this.invoice.items.findIndex((i) => i.id === item.id);\n\t\t\t\tif (index > -1) {\n\t\t\t\t\tthis.invoice.items.splice(index, 1, item);\n\t\t\t\t}\n\t\t\t},\n\t\t\thandlePurchaseOrderClick() {\n\t\t\t\tif (!this.editable) return;\n\t\t\t\tlet binding = {\n\t\t\t\t\tlabel: 'Purchase order',\n\t\t\t\t\tbodyText: null,\n\t\t\t\t\tinput: this.invoice.purchaseOrder,\n\t\t\t\t\thideNo: true,\n\t\t\t\t\trequired: false,\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController.openModal(SimpleTextInput, binding, false, false).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tthis.invoice.purchaseOrder = res;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.invoice.purchaseOrder = null;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\tconfirmCancelAutoPay: function() {\n\t\t\t\tlet binding = {\n\t\t\t\t\theadingText: 'Confirm',\n\t\t\t\t\tbodyText: 'Are you sure you want to cancel the scheduled auto-pay on this invoice?',\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController.openModal(ConfirmModal, binding).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tthis.invoice.autoPayMethod = null;\n\t\t\t\t\t\tthis.forceSave();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t\tcomputed: {\n\t\t\ttotalLateFee: function() {\n\t\t\t\treturn this.invoice.lateFeeApplied + this.invoice.lateFeeCalculated;\n\t\t\t},\n\n\t\t\tallowDetailedInvoice: function() {\n\t\t\t\treturn this.invoice.accountInfo.accountPreferences.invoiceFormat === 'DETAILED';\n\t\t\t},\n\n\t\t\tdocumentHeader: function() {\n\t\t\t\tif (this.invoice.status === 'PAID' && this.invoice.accountInfo.accountPreferences.paidInvoiceDocumentHeader) {\n\t\t\t\t\treturn this.invoice.accountInfo.accountPreferences.paidInvoiceDocumentHeader;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.invoice.accountInfo.accountPreferences.invoiceDocumentHeader;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\ttaxLabel: function() {\n\t\t\t\tif (this.invoice.accountInfo.accountPreferences.taxLabel) {\n\t\t\t\t\treturn this.invoice.accountInfo.accountPreferences.taxLabel;\n\t\t\t\t}\n\n\t\t\t\tlet gst = ['NZ', 'AU', 'CA', 'IN', 'SG'];\n\t\t\t\tlet tax = ['US'];\n\t\t\t\tlet country = this.invoice.accountInfo.country;\n\n\t\t\t\tif (gst.includes(country)) {\n\t\t\t\t\treturn this.$t('invoice.details.gst');\n\t\t\t\t} else if (tax.includes(country)) {\n\t\t\t\t\treturn this.$t('invoice.details.tax');\n\t\t\t\t} else {\n\t\t\t\t\treturn this.$t('invoice.details.vat');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\ttaxEnabled: function() {\n\t\t\t\tif (this.editable) {\n\t\t\t\t\treturn this.invoice.accountInfo.accountPreferences.invoiceUseTax;\n\t\t\t\t} else {\n\t\t\t\t\tif (this.invoice.accountInfo.accountPreferences.showTaxWithZeroPercent) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn this.invoice.taxPercentage > 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tdateDue() {\n\t\t\t\tlet dateDue = this.invoice.dateDue;\n\t\t\t\tif (this.invoice.status === 'DRAFT' && !dateDue) {\n\t\t\t\t\tdateDue = this.invoice.dateDueCalculated;\n\t\t\t\t\t// console.log(this.invoice.dateDueCalculated);\n\t\t\t\t}\n\t\t\t\treturn dateDue;\n\t\t\t},\n\t\t\tdateDueWarning() {\n\t\t\t\tif (this.invoice.status !== 'DRAFT') return '';\n\t\t\t\tif (!this.invoice.dateDue) return '';\n\n\t\t\t\tconst dateDue = this.$DateTime.fromISO(this.invoice.dateDue);\n\t\t\t\tconst diff = dateDue.diff(this.$DateTime.now(), ['days']);\n\t\t\t\tif (diff.days < 1) {\n\t\t\t\t\t// warn if less than X days\n\t\t\t\t\treturn 'date-due-warning';\n\t\t\t\t}\n\t\t\t\treturn '';\n\t\t\t},\n\n\t\t\tlogo() {\n\t\t\t\tif (this.$vuetify.theme.dark && this.account.accountLogoDark) {\n\t\t\t\t\treturn '<img src=\"' + this.account.accountLogoDark + '\" />';\n\t\t\t\t} else if (this.account.accountLogo) {\n\t\t\t\t\treturn '<img src=\"' + this.account.accountLogo + '\" />';\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tbalanceExists() {\n\t\t\t\tif (!this.depositAccount) return false;\n\t\t\t\treturn !!this.depositAccount.balance;\n\t\t\t},\n\t\t\titemHeaders() {\n\t\t\t\tlet headers = [\n\t\t\t\t\t{ text: this.$t('invoice.details.item.description'), value: 'description', class: 'description' },\n\t\t\t\t\t{ text: this.$t('invoice.details.item.quantity'), value: 'qty', class: 'qty' },\n\t\t\t\t\t//{ text: this.$t('invoice.details.item.type'), value: 'type', class: 'type' },\n\t\t\t\t\t{ text: this.$t('invoice.details.item.price'), value: 'price', class: 'price' },\n\t\t\t\t\t{ text: this.taxLabel, value: 'taxable', class: 'taxable' },\n\t\t\t\t\t{ text: this.$t('invoice.details.item.subtotal'), value: 'subtotal', class: 'subtotal' },\n\t\t\t\t];\n\n\t\t\t\tif (!this.taxEnabled) {\n\t\t\t\t\tlet ix = headers.findIndex((h) => h.value === 'taxable');\n\t\t\t\t\theaders.splice(ix, 1);\n\t\t\t\t}\n\n\t\t\t\theaders.splice(0, 0, { text: '', value: 'trash', class: 'trash' });\n\t\t\t\t// }\n\t\t\t\treturn headers;\n\t\t\t},\n\t\t\tshowPaymentCardBanner() {\n\t\t\t\tif (['DRAFT', 'PAID', 'VOIDED', 'WRITEOFF'].includes(this.invoice.status)) return false;\n\t\t\t\treturn this.invoice.payOnlineUrl;\n\t\t\t},\n\t\t\tshowSetupPaymentCardBanner() {\n\t\t\t\tif (!['DRAFT', 'INIT'].includes(this.invoice.status)) return false;\n\t\t\t\tif (!this.editable) return false;\n\t\t\t\treturn !this.acceptStripe && !this.acceptPayPal;\n\t\t\t},\n\t\t\teditable() {\n\t\t\t\treturn this.editMode && ['INIT', 'DRAFT'].includes(this.invoice.status);\n\t\t\t},\n\t\t\taccountInfoCityStateZip() {\n\t\t\t\treturn (\n\t\t\t\t\t(this.invoice.accountInfo.city ?? '') +\n\t\t\t\t\t(this.invoice.accountInfo.locality || this.invoice.accountInfo.postal ? ', ' : '') +\n\t\t\t\t\t(this.invoice.accountInfo.locality ?? '') +\n\t\t\t\t\t' ' +\n\t\t\t\t\t(this.invoice.accountInfo.postal ?? '')\n\t\t\t\t);\n\t\t\t},\n\t\t\tclientInfoCityStateZip() {\n\t\t\t\treturn (\n\t\t\t\t\t(this.invoice.clientInfo.city ?? '') +\n\t\t\t\t\t(this.invoice.clientInfo.locality || this.invoice.clientInfo.postal ? ', ' : '') +\n\t\t\t\t\t(this.invoice.clientInfo.locality ?? '') +\n\t\t\t\t\t' ' +\n\t\t\t\t\t(this.invoice.clientInfo.postal ?? '')\n\t\t\t\t);\n\t\t\t},\n\t\t\tacceptStripe() {\n\t\t\t\tif (!this.account.stripeIntegration) return false;\n\t\t\t\treturn this.account.stripeIntegration.chargesEnabled;\n\t\t\t},\n\t\t\tacceptPayPal() {\n\t\t\t\treturn this.account.payPalEnabled;\n\t\t\t},\n\t\t\tuser() {\n\t\t\t\treturn this.$store.getters.getUser;\n\t\t\t},\n\t\t\tpaymentDays: function() {\n\t\t\t\tlet paymentTerms = this.invoice.paymentTerms;\n\t\t\t\tif (paymentTerms) {\n\t\t\t\t\treturn paymentTerms.paymentDays;\n\t\t\t\t} else {\n\t\t\t\t\treturn 7;\n\t\t\t\t}\n\t\t\t},\n\t\t\ttermsSentence: function() {\n\t\t\t\tlet paymentTerms = this.invoice.paymentTerms;\n\t\t\t\tif (paymentTerms && paymentTerms.latePaymentFee > 0) {\n\t\t\t\t\treturn `${this.$t('invoice.paid-in-full')} ${paymentTerms.latePaymentFee}${this.$t('invoice.monthly-fee')}`;\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\twatch: {\n\t\t\titemFocus: {\n\t\t\t\thandler(n) {\n\t\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\t\tlet item = document.getElementById(`item-description-${n}`);\n\t\t\t\t\t\tif (item) item.focus();\n\t\t\t\t\t});\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.item-description {\n\t\tfont-size: 12px;\n\t\tfont-weight: 300;\n\t\tdiv::first-line {\n\t\t\tfont-size: 14px;\n\t\t\tfont-weight: 400;\n\t\t}\n\t}\n\n\t.invoice-renderer-date-picker {\n\t\t.v-date-picker-header__value {\n\t\t\tpointer-events: none;\n\t\t}\n\t}\n\t.payment-details-link {\n\t\t&:hover {\n\t\t\topacity: 0.7;\n\t\t}\n\t}\n\t#invoice-wrapper {\n\t\tfont-weight: 300;\n\t\t.inter-medium {\n\t\t\tfont-weight: 500;\n\t\t\tfont-family: Inter !important;\n\t\t}\n\t\t.inter-semibold {\n\t\t\tfont-weight: 600;\n\t\t\tfont-family: Inter !important;\n\t\t}\n\n\t\tfont-size: 16px;\n\t\tcolor: var(--v-gray_90-base);\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\twidth: 100%;\n\n\t\t#invoice-renderer {\n\t\t\tbackground-color: var(--v-white-base);\n\t\t\tborder-radius: 4px;\n\t\t\tmargin-top: 24px;\n\t\t\tbox-shadow: 0px 1px 4px rgba(16, 17, 15, 0.2);\n\t\t\tletter-spacing: 0.1px;\n\t\t\t//max-width: 1048px;\n\t\t\tmin-height: 1352px;\n\t\t\tposition: relative; // For paid stamp\n\n\t\t\t.v-btn {\n\t\t\t\tcolor: var(--v-primary-base);\n\t\t\t\tsvg {\n\t\t\t\t\twidth: 20px;\n\t\t\t\t\theight: 20px;\n\t\t\t\t}\n\t\t\t}\n\t\t\t.trash {\n\t\t\t\t.v-btn {\n\t\t\t\t\tcolor: var(--v-gray_70-base);\n\t\t\t\t}\n\t\t\t}\n\t\t\tinput[type='number'] {\n\t\t\t\ttext-align: right;\n\t\t\t}\n\t\t\t& > div {\n\t\t\t\tpadding: 0 48px;\n\t\t\t}\n\n\t\t\t#header {\n\t\t\t\tpadding: 40px;\n\t\t\t\tdisplay: flex;\n\t\t\t\tflex-wrap: wrap;\n\t\t\t\tjustify-content: space-between;\n\t\t\t\talign-items: flex-start;\n\t\t\t\tbackground: var(--v-gray_10-base);\n\t\t\t\t& > div {\n\t\t\t\t\t//border: 1px solid red;\n\t\t\t\t\tmargin: 0;\n\t\t\t\t}\n\t\t\t\tdiv#logo {\n\t\t\t\t\timg {\n\t\t\t\t\t\tmax-height: 160px;\n\t\t\t\t\t\tmax-width: 350px;\n\t\t\t\t\t}\n\n\t\t\t\t\t#add-logo {\n\t\t\t\t\t\twidth: 258px;\n\t\t\t\t\t\tmin-height: 148px;\n\t\t\t\t\t\tborder: 1px dotted var(--v-gray_50-base);\n\t\t\t\t\t\tborder-radius: 4px;\n\t\t\t\t\t\tbackground-color: var(--v-gray_10-base);\n\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\tjustify-content: center;\n\t\t\t\t\t\tcolor: var(--v-gray_80-base);\n\n\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t//opacity: 0.7;\n\t\t\t\t\t\t\tbackground-color: var(--v-gray_20-base);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tdiv#details {\n\t\t\t\t\tflex: 1 0 auto;\n\t\t\t\t\t& > div {\n\t\t\t\t\t\tpadding-left: 12px;\n\t\t\t\t\t\t//max-width: 180px;\n\t\t\t\t\t}\n\t\t\t\t\ttext-align: left;\n\t\t\t\t\t.due-date.editable {\n\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t\tborder-radius: 4px;\n\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\tbackground-color: var(--v-gray_20-base);\n\t\t\t\t\t\t\t.v-btn {\n\t\t\t\t\t\t\t\tvisibility: visible !important;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t.date-due-display {\n\t\t\t\t\t\t\tborder-radius: 4px;\n\t\t\t\t\t\t\tpadding: 0 4px;\n\t\t\t\t\t\t\tmargin: 0 -4px;\n\t\t\t\t\t\t\t.v-btn {\n\t\t\t\t\t\t\t\tmargin-top: -2px;\n\t\t\t\t\t\t\t\tcolor: var(--v-gray_70-base);\n\t\t\t\t\t\t\t\tvisibility: visible !important;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t&.date-due-warning {\n\t\t\t\t\t\t\t\t//border: 1px solid var(--v-warning-base);\n\t\t\t\t\t\t\t\tbackground-color: var(--v-warning_10-base);\n\t\t\t\t\t\t\t\tcolor: var(--v-black-base);\n\t\t\t\t\t\t\t\t//background-color: var(--v-alert_10-base);\n\t\t\t\t\t\t\t\t.v-btn {\n\t\t\t\t\t\t\t\t\tcolor: var(--v-gray_80-base);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t.v-btn {\n\t\t\t\t\t\tvisibility: hidden;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t#subheader {\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: space-between;\n\t\t\t\tpadding: 36px 36px;\n\n\t\t\t\t& > div {\n\t\t\t\t\tflex: 0 0 50%;\n\t\t\t\t\ttext-align: left;\n\t\t\t\t\tpadding: 16px;\n\t\t\t\t\tborder-radius: 4px;\n\t\t\t\t\t.v-btn {\n\t\t\t\t\t\tvisibility: hidden;\n\t\t\t\t\t}\n\t\t\t\t\t&.editable:hover {\n\t\t\t\t\t\tbackground-color: var(--v-gray_10-base);\n\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t\t.v-btn {\n\t\t\t\t\t\t\tvisibility: visible !important;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t#invoice-items-table {\n\t\t\t\t//border: 1px solid red;\n\t\t\t\tmargin-top: 52px;\n\t\t\t\tpadding: 0;\n\t\t\t\tborder-bottom: 1px solid var(--v-gray_50-base);\n\n\t\t\t\tthead {\n\t\t\t\t\t//background-color: var(--v-gray_20-base);\n\t\t\t\t\t//letter-spacing: 0.4px;\n\t\t\t\t\t//text-transform: uppercase;\n\t\t\t\t\theight: 48px;\n\n\t\t\t\t\tth {\n\t\t\t\t\t\t//&:first-child {\n\t\t\t\t\t\t//\tpadding-left: 64px;\n\t\t\t\t\t\t//}\n\t\t\t\t\t\t&:last-child {\n\t\t\t\t\t\t\tpadding-right: 64px;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t//border: 1px solid red;\n\t\t\t\t\t\ttext-align: right;\n\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t\tborder-bottom: 1px solid var(--v-gray_50-base);\n\t\t\t\t\t\tcolor: var(--v-gray_70-base);\n\t\t\t\t\t\tfont-weight: 600;\n\t\t\t\t\t\t&.taxable {\n\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t&.description {\n\t\t\t\t\t\t\twidth: 50%;\n\t\t\t\t\t\t\ttext-align: left;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\ttbody {\n\t\t\t\t\ttr {\n\t\t\t\t\t\theight: 72px;\n\t\t\t\t\t\t//line-height: 20px;\n\t\t\t\t\t\ttd {\n\t\t\t\t\t\t\t//height: 70px;\n\t\t\t\t\t\t\t//line-height: 20px;\n\t\t\t\t\t\t\tpadding-top: 0 !important;\n\t\t\t\t\t\t\tpadding-bottom: 0 !important;\n\t\t\t\t\t\t\tvertical-align: middle;\n\t\t\t\t\t\t\t//&:first-child {\n\t\t\t\t\t\t\t//\tpadding-left: 64px;\n\t\t\t\t\t\t\t//}\n\t\t\t\t\t\t\t&:last-child {\n\t\t\t\t\t\t\t\tpadding-right: 64px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\ttext-align: right;\n\t\t\t\t\t\t\tfont-size: 16px;\n\t\t\t\t\t\t\tcolor: var(--v-gray_90-base);\n\t\t\t\t\t\t\tfont-weight: 300;\n\t\t\t\t\t\t\tfont-size: 14px;\n\n\t\t\t\t\t\t\t//.second-line {\n\t\t\t\t\t\t\t//\theight: 20px;\n\t\t\t\t\t\t\t//\tfont-size: 12px;\n\t\t\t\t\t\t\t//\toverflow: hidden;\n\t\t\t\t\t\t\t//}\n\t\t\t\t\t\t\t//.second-line.show-hide {\n\t\t\t\t\t\t\t//\ttransition: height 200ms;\n\t\t\t\t\t\t\t//\theight: 0;\n\t\t\t\t\t\t\t//}\n\n\t\t\t\t\t\t\t&.price {\n\t\t\t\t\t\t\t\tmin-width: 120px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&.qty {\n\t\t\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&.rate {\n\t\t\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&.subtotal {\n\t\t\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&.trash {\n\t\t\t\t\t\t\t\tpadding: 0 !important;\n\t\t\t\t\t\t\t\ttext-align: right;\n\t\t\t\t\t\t\t\twidth: 36px !important;\n\n\t\t\t\t\t\t\t\t.v-icon {\n\t\t\t\t\t\t\t\t\topacity: 0;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tbutton.v-btn {\n\t\t\t\t\t\t\t\t\topacity: 0;\n\t\t\t\t\t\t\t\t\tmargin-right: -8px;\n\t\t\t\t\t\t\t\t\tsvg:focus {\n\t\t\t\t\t\t\t\t\t\toutline: none;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t//.v-input.v-input--dense.v-text-field\n\t\t\t\t\t\t\t.v-input.v-text-field {\n\t\t\t\t\t\t\t\t//margin-top: 0;\n\t\t\t\t\t\t\t\t.v-input__control {\n\t\t\t\t\t\t\t\t\t.v-text-field__slot {\n\t\t\t\t\t\t\t\t\t\tinput {\n\t\t\t\t\t\t\t\t\t\t\tpadding-top: 0;\n\t\t\t\t\t\t\t\t\t\t\tpadding-bottom: 0;\n\t\t\t\t\t\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t.v-text-field__details {\n\t\t\t\t\t\t\t\t\t\tdisplay: none;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t.v-input__slot {\n\t\t\t\t\t\t\t\t\t\t&:before,\n\t\t\t\t\t\t\t\t\t\t&:after {\n\t\t\t\t\t\t\t\t\t\t\tborder-style: none !important;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/* Hide spinner for alignment (and mb usability!) */\n\t\t\t\t\t\t\t/* Chrome, Safari, Edge, Opera */\n\t\t\t\t\t\t\tinput::-webkit-outer-spin-button,\n\t\t\t\t\t\t\tinput::-webkit-inner-spin-button {\n\t\t\t\t\t\t\t\t-webkit-appearance: none;\n\t\t\t\t\t\t\t\tmargin: 0;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t/* Firefox */\n\t\t\t\t\t\t\tinput[type='number'] {\n\t\t\t\t\t\t\t\t-moz-appearance: textfield;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t&.description {\n\t\t\t\t\t\t\t\twidth: 50%;\n\t\t\t\t\t\t\t\ttext-align: left;\n\t\t\t\t\t\t\t\t//padding: 0;\n\t\t\t\t\t\t\t\t&:not(.editable) {\n\t\t\t\t\t\t\t\t\t//padding-left: 16px;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t.activator-label.show-hide {\n\t\t\t\t\t\t\t\t\ttransition: height 200ms;\n\t\t\t\t\t\t\t\t\theight: 0;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t\t\t.activator-label.show-hide {\n\t\t\t\t\t\t\t\t\t\theight: 20px;\n\t\t\t\t\t\t\t\t\t\ttransition: height 200ms;\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t&.type {\n\t\t\t\t\t\t\t\ttext-align: right;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t&.editable {\n\t\t\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t\t\tcolor: var(--v-primary-base);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t&.taxable {\n\t\t\t\t\t\t\t\ttext-align: center;\n\t\t\t\t\t\t\t\t.v-input--selection-controls__input {\n\t\t\t\t\t\t\t\t\tmargin: 0px;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tinput {\n\t\t\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t// row hover\n\t\t\t\t\t\t\t.trash {\n\t\t\t\t\t\t\t\topacity: 1;\n\n\t\t\t\t\t\t\t\t.v-icon {\n\t\t\t\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t//border: 1px solid red;\n\t\t\t\t\t\t\t\tbutton.v-btn {\n\t\t\t\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t\t\t\t\t//svg:focus {\n\t\t\t\t\t\t\t\t\t//\toutline: none;\n\t\t\t\t\t\t\t\t\t//}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t#late-payment {\n\t\t\t\tmargin-top: 20px;\n\t\t\t\tpadding-bottom: 20px;\n\t\t\t\tborder-bottom: 1px solid var(--v-gray_50-base);\n\t\t\t\tpadding-left: 8px;\n\t\t\t\tdisplay: flex;\n\t\t\t\tfont-size: 14px;\n\n\t\t\t\t//font-size: 14px;\n\n\t\t\t\tdiv.left {\n\t\t\t\t\tflex: 0 1 38px;\n\t\t\t\t}\n\n\t\t\t\tdiv.center {\n\t\t\t\t\t//flex: 1 0 auto;\n\t\t\t\t\tbutton {\n\t\t\t\t\t\tmargin-top: -4px;\n\t\t\t\t\t\tspan.v-btn__content {\n\t\t\t\t\t\t\tfont-size: 16px;\n\t\t\t\t\t\t\t//font-weight: normal;\n\t\t\t\t\t\t\t//font-family: stratos-semibold;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\tspan.v-btn__content {\n\t\t\t\t\t\t\t\tcolor: var(--v-black-base);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tdiv.right {\n\t\t\t\t\tflex: 0 1 auto;\n\t\t\t\t\tpadding-right: 16px;\n\t\t\t\t\tmargin-left: auto;\n\n\t\t\t\t\t&.waived {\n\t\t\t\t\t\t//text-decoration: line-through;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.payment-link,\n\t\t\t#add-a-new-line,\n\t\t\t#add-a-new-line2,\n\t\t\t#add-a-new-expense,\n\t\t\t#apply-deposit {\n\t\t\t\tline-height: 48px;\n\t\t\t\ttext-align: left;\n\t\t\t\tpadding-left: 48px;\n\t\t\t\tborder-bottom: 1px solid var(--v-gray_50-base);\n\t\t\t\tfont-size: 14px;\n\t\t\t\tfont-weight: 500;\n\t\t\t\t//--icon-color: var(--v-primary-base);\n\t\t\t\tspan {\n\t\t\t\t\tcursor: pointer;\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\topacity: 0.7;\n\t\t\t\t\t}\n\t\t\t\t\t.v-icon {\n\t\t\t\t\t\tmargin-top: -3px;\n\t\t\t\t\t}\n\t\t\t\t\tcolor: var(--v-primary-base);\n\t\t\t\t}\n\t\t\t}\n\t\t\t.payment-link {\n\t\t\t\tline-height: 24px;\n\n\t\t\t\tborder-bottom: none;\n\t\t\t}\n\t\t\t#totals {\n\t\t\t\tfont-size: 16px;\n\t\t\t\tfont-weight: 300;\n\t\t\t\tcolor: var(--v-gray_90-base);\n\n\t\t\t\t.v-input.v-text-field {\n\t\t\t\t\t.v-input__control {\n\t\t\t\t\t\t.v-text-field__slot {\n\t\t\t\t\t\t\tinput {\n\t\t\t\t\t\t\t\tpadding-top: 0;\n\t\t\t\t\t\t\t\tpadding-bottom: 0;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t.v-text-field__details {\n\t\t\t\t\t\t\tdisplay: none;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t.v-input__slot {\n\t\t\t\t\t\t\t&:before,\n\t\t\t\t\t\t\t&:after {\n\t\t\t\t\t\t\t\tborder-style: none !important;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t.line {\n\t\t\t\t\theight: 48px;\n\t\t\t\t\tfloat: right;\n\t\t\t\t\tclear: right;\n\t\t\t\t\twidth: 380px;\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tjustify-content: space-between;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tfont-size: 16px;\n\n\t\t\t\t\t.v-text-field__prefix,\n\t\t\t\t\t.v-text-field__suffix {\n\t\t\t\t\t\tline-height: 24px;\n\t\t\t\t\t}\n\n\t\t\t\t\t.v-text-field__details {\n\t\t\t\t\t\tdisplay: none;\n\t\t\t\t\t}\n\t\t\t\t\t.left,\n\t\t\t\t\t.right,\n\t\t\t\t\t.center {\n\t\t\t\t\t\theight: 48px;\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\tjustify-content: flex-end;\n\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\t//outline: 1px solid blue;\n\t\t\t\t\t}\n\n\t\t\t\t\t.left {\n\t\t\t\t\t\tjustify-content: flex-end;\n\t\t\t\t\t\tflex: 1 1 148px;\n\t\t\t\t\t\tpadding: 0 12px;\n\t\t\t\t\t\tfont-weight: 500;\n\t\t\t\t\t\tcolor: var(--v-gray_80-base);\n\t\t\t\t\t}\n\n\t\t\t\t\t.center {\n\t\t\t\t\t\tflex: 0 0 80px;\n\t\t\t\t\t\tpadding-left: 12px;\n\t\t\t\t\t\t&:not(.editable) {\n\t\t\t\t\t\t\tpadding-right: 12px;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t.right {\n\t\t\t\t\t\tflex: 0 0 124px;\n\t\t\t\t\t\tpadding-right: 16px;\n\t\t\t\t\t}\n\n\t\t\t\t\t&.total {\n\t\t\t\t\t\tfont-weight: 600;\n\t\t\t\t\t\t.left {\n\t\t\t\t\t\t\tdisplay: none;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t.center {\n\t\t\t\t\t\t\tflex: 1 0 auto;\n\t\t\t\t\t\t\tpadding-left: 0;\n\t\t\t\t\t\t\tpadding-right: 12px;\n\t\t\t\t\t\t\ttext-align: right;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t& > div {\n\t\t\t\t\t\t\tborder-top: 1px solid var(--v-gray_50-base);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t&.balance-due {\n\t\t\t\t\t\t& > div {\n\t\t\t\t\t\t\tborder-top: none !important;\n\t\t\t\t\t\t\tbackground-color: var(--v-gray_20-base);\n\t\t\t\t\t\t\tcolor: var(--v-gray_80-base);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t.left {\n\t\t\t\t\t\t\tflex: 0 1 0px;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t.center {\n\t\t\t\t\t\t\tflex: 1 0 auto;\n\t\t\t\t\t\t\tpadding-left: 0;\n\t\t\t\t\t\t\tpadding-right: 12px;\n\t\t\t\t\t\t\tfont-weight: 500;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t.right {\n\t\t\t\t\t\t\tfont-weight: 300;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t& > div {\n\t\t\t\t\t\t\tborder-top: 1px solid var(--v-gray_50-base);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t.pay-button {\n\t\t\t\tclear: both;\n\t\t\t\ttext-align: right;\n\t\t\t\t.v-btn .v-btn__content {\n\t\t\t\t\tline-height: 18px;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t#footer {\n\t\t\t\t//border-top: 1px solid var(--v-gray_50-base);\n\t\t\t\tclear: both;\n\t\t\t\tpadding-top: 24px;\n\t\t\t\tpadding-bottom: 4px;\n\t\t\t\ttext-align: left;\n\n\t\t\t\t.payment-stuff {\n\t\t\t\t\tmargin-bottom: 16px;\n\n\t\t\t\t\t.line {\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\tjustify-content: flex-start;\n\t\t\t\t\t\tline-height: 48px;\n\n\t\t\t\t\t\t.left {\n\t\t\t\t\t\t\tflex: 0 1 auto;\n\t\t\t\t\t\t\ttext-align: left;\n\t\t\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t.right {\n\t\t\t\t\t\t\tflex: 0 0 auto;\n\t\t\t\t\t\t\ttext-align: left;\n\t\t\t\t\t\t\tpadding-right: 16px;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t//p {\n\t\t\t\t//\tmargin: 12px 0;\n\t\t\t\t//\tcolor: var(--v-gray_70-base);\n\t\t\t\t//}\n\n\t\t\t\th3 {\n\t\t\t\t\tfont-weight: 500;\n\t\t\t\t\tfont-size: 16px;\n\t\t\t\t\ttext-align: left;\n\t\t\t\t\tmargin: 0;\n\t\t\t\t}\n\n\t\t\t\t#payment-terms,\n\t\t\t\t#pay-instructions {\n\t\t\t\t\t.termItem {\n\t\t\t\t\t\tfont-weight: 600;\n\t\t\t\t\t}\n\t\t\t\t\t.editable {\n\t\t\t\t\t\topacity: 0;\n\t\t\t\t\t\ttransition: opacity 300ms;\n\t\t\t\t\t}\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\t//background-color: var(--v-gray_10-base);\n\t\t\t\t\t\t.editable {\n\t\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t\t\ttransition: opacity 300ms;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.payment-card-setup {\n\t\t\tmargin: 28px auto 44px;\n\t\t\theight: 152px;\n\t\t\tmax-width: 684px;\n\t\t\tborder-radius: 4px;\n\t\t\tbackground: var(--v-gray_30-base);\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: space-between;\n\t\t\t& > div {\n\t\t\t\tflex: 0 0 50%;\n\t\t\t\t&:last-child {\n\t\t\t\t\tpadding: 0 40px 0 12px;\n\t\t\t\t}\n\t\t\t}\n\t\t\tp {\n\t\t\t\tfont-size: 14px;\n\t\t\t\tline-height: 20px;\n\t\t\t\tmargin: 8px 0;\n\t\t\t}\n\t\t}\n\n\t\t.payment-card-pay-now {\n\t\t\tmargin: 28px auto 44px;\n\t\t\tmax-width: 684px;\n\t\t\tborder-radius: 4px;\n\t\t\tbackground: var(--v-gray_10-base);\n\t\t\tborder: 1px solid var(--v-gray_50-base);\n\t\t\t& > div:first-child {\n\t\t\t\theight: 124px;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: space-between;\n\n\t\t\t\t& > div {\n\t\t\t\t\tflex: 0 0 50%;\n\t\t\t\t\tcolor: var(--v-black-base);\n\t\t\t\t\t&:last-child {\n\t\t\t\t\t\tpadding: 0 40px 0 12px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t& > div:last-child {\n\t\t\t\theight: 48px;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t\tbackground-color: var(--v-gray_10-base);\n\t\t\t}\n\n\t\t\tp {\n\t\t\t\tfont-size: 14px;\n\t\t\t\tline-height: 20px;\n\t\t\t\tmargin: 8px 0;\n\t\t\t}\n\t\t}\n\t}\n\t//#invoice-wrapper {\n\t//\tposition: relative;\n\t//}\n\t/* PAID / VOIDED / WRITE-OFF stamp */\n\t#status-overlay {\n\t\tposition: absolute;\n\t\topacity: 0.35;\n\t\tcolor: var(--v-gray_70-base);\n\t\ttransform: rotate(-25deg);\n\t\tletter-spacing: 8px;\n\t\tz-index: 4;\n\t\tfont-weight: 600;\n\t\tline-height: 1em;\n\t\tdisplay: none; // only display completed invoices\n\t\t&.paid,\n\t\t&.voided,\n\t\t&.pending,\n\t\t&.write-off {\n\t\t\tdisplay: block;\n\t\t\ttop: 130px;\n\t\t\tleft: 200px;\n\t\t\tfont-size: 172px;\n\t\t}\n\t\t&.paid {\n\t\t\ttop: 110px;\n\t\t\tfont-size: 252px;\n\t\t}\n\t\t&.pending {\n\t\t\ttop: 180px;\n\t\t\tleft: 0px;\n\t\t\tfont-size: 200px;\n\t\t}\n\t\t&.write-off {\n\t\t\tleft: 120px;\n\t\t\ttop: 200px;\n\t\t\twidth: auto;\n\t\t}\n\t}\n\n\t.text-hover-blue input {\n\t\t&:hover {\n\t\t\tcursor: pointer !important;\n\t\t\tcolor: var(--v-primary-base) !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceRenderer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceRenderer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoiceRenderer.vue?vue&type=template&id=45dc81f9\"\nimport script from \"./InvoiceRenderer.vue?vue&type=script&lang=js\"\nexport * from \"./InvoiceRenderer.vue?vue&type=script&lang=js\"\nimport style0 from \"./InvoiceRenderer.vue?vue&type=style&index=0&id=45dc81f9&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSimpleCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VSimpleTable } from 'vuetify/lib/components/VDataTable';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VCol,VContainer,VDatePicker,VIcon,VImg,VMenu,VRow,VSimpleCheckbox,VSimpleTable,VTextField,VTextarea})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"pa-4\",attrs:{\"id\":\"invoice-payment-history\"}},_vm._l((_vm.invoice.payments),function(payment){return _c('div',{key:payment.id,staticClass:\"payment\",on:{\"click\":function($event){return _vm.openPaymentDetails(payment)}}},[_c('div',{staticClass:\"d-flex justify-space-between\"},[_c('div',{staticClass:\"timestamp\"},[_c('v-icon',{attrs:{\"size\":\"12\"}},[_vm._v(\"$clock\")]),_vm._v(\" \"+_vm._s(_vm.paymentDateFormat(payment))+\" \")],1)]),_c('div',{staticClass:\"d-flex justify-space-between\"},[_c('div',{staticClass:\"payment-provider\"},[_vm._v(\" \"+_vm._s(_vm.$formatters.titleCase(payment.paymentProvider))+\" \")]),_c('div',{staticClass:\"amount\"},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(payment.amount, true, true, payment.currency))+\" \")])])])}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div id=\"invoice-payment-history\" class=\"pa-4\">\n\t\t<div v-for=\"payment in invoice.payments\" :key=\"payment.id\" @click=\"openPaymentDetails(payment)\" class=\"payment\">\n\t\t\t<div class=\"d-flex justify-space-between\">\n\t\t\t\t<div class=\"timestamp\">\n\t\t\t\t\t<v-icon size=\"12\">$clock</v-icon>\n\t\t\t\t\t{{ paymentDateFormat(payment) }}\n\t\t\t\t</div>\n\t\t\t\t<!--\t\t\t\t<div class=\"paid-by\">-->\n\t\t\t\t<!--\t\t\t\t\t{{ payment.paidBy }}-->\n\t\t\t\t<!--\t\t\t\t</div>-->\n\t\t\t</div>\n\t\t\t<div class=\"d-flex justify-space-between\">\n\t\t\t\t<div class=\"payment-provider\">\n\t\t\t\t\t{{ $formatters.titleCase(payment.paymentProvider) }}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"amount\">\n\t\t\t\t\t{{ $formatters.dollars(payment.amount, true, true, payment.currency) }}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<!--\t\t\t<div class=\"memo\">-->\n\t\t\t<!--\t\t\t\t{{ payment.memo }}-->\n\t\t\t<!--\t\t\t</div>-->\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'PaymentHistory',\n\n\t\tprops: ['invoice'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {};\n\t\t},\n\n\t\tmounted() {\n\t\t\tconsole.log(this.invoice.payments);\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\topenPaymentDetails: function(payment) {\n\t\t\t\tthis.$emit('openPayment', payment);\n\t\t\t},\n\n\t\t\tpaymentDateFormat(payment) {\n\t\t\t\tif (payment.datePaid) {\n\t\t\t\t\treturn this.$DateTime.humanDate(payment.datePaid);\n\t\t\t\t}\n\t\t\t\treturn this.$DateTime.humanDate(payment.timestamp);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t#invoice-payment-history {\n\t\tmin-height: 200px;\n\t\twidth: 212px;\n\t\tbackground-color: var(--v-white-base);\n\t\tfont-size: 16px;\n\n\t\t.payment {\n\t\t\tcolor: var(--v-black-base);\n\t\t\t&:hover {\n\t\t\t\tcolor: var(--v-gray_70-base);\n\t\t\t}\n\t\t\tcursor: pointer;\n\t\t\ttext-align: left;\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-top: 12px;\n\t\t\t}\n\t\t\t.timestamp {\n\t\t\t\tcolor: var(--v-gray_70-base);\n\t\t\t\tfont-size: 12px;\n\t\t\t\t.v-icon {\n\t\t\t\t\tmargin-top: -3px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentHistory.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentHistory.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PaymentHistory.vue?vue&type=template&id=58a4be64&scoped=true\"\nimport script from \"./PaymentHistory.vue?vue&type=script&lang=js\"\nexport * from \"./PaymentHistory.vue?vue&type=script&lang=js\"\nimport style0 from \"./PaymentHistory.vue?vue&type=style&index=0&id=58a4be64&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"58a4be64\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"row-format\",staticStyle:{\"height\":\"100%\",\"width\":\"100%\",\"max-height\":\"100%\"}},[(_vm.editable)?_c('div',{staticClass:\"show-scrollbar\",staticStyle:{\"height\":\"100%\",\"max-height\":\"100%\",\"overflow-x\":\"hidden\",\"overflow-y\":\"auto\",\"max-width\":\"400px\",\"width\":\"400px\",\"background-color\":\"var(--v-white-base)\"}},[(_vm.recurring || _vm.paymentPlan)?_c('div',{staticClass:\"row-format py-2 px-2\",staticStyle:{\"border-bottom\":\"1px solid var(--v-gray_30-base)\"}},[_c('div',{class:`row-format align-center page-link ${_vm.tab === 'Settings' ? 'page-link-active' : ''}`,on:{\"click\":function($event){return _vm.selectTab('Settings')}}},[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"size\":\"22\",\"color\":_vm.tab === 'Elements' ? 'primary' : 'gray_50'}},[_vm._v(\"settings\")]),_c('div',{staticClass:\"ml-1\"},[_vm._v(\"Settings\")])],1),(_vm.recurring)?_c('div',{class:`row-format align-center page-link ${_vm.tab === 'Additional' ? 'page-link-active' : ''}`,on:{\"click\":function($event){return _vm.selectTab('Additional')}}},[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"size\":\"22\",\"color\":_vm.tab === 'Additional' ? 'primary' : 'gray_50'}},[_vm._v(\"replay_circle_filled\")]),_c('div',{staticClass:\"ml-1\"},[_vm._v(\"Recurring\")])],1):_vm._e(),(_vm.paymentPlan)?_c('div',{class:`row-format align-center page-link ${_vm.tab === 'Additional' ? 'page-link-active' : ''}`,on:{\"click\":function($event){return _vm.selectTab('Additional')}}},[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"size\":\"22\",\"color\":_vm.tab === 'Additional' ? 'primary' : 'gray_50'}},[_vm._v(\"timeline\")]),_c('div',{staticClass:\"ml-1\"},[_vm._v(\"Payment plan\")])],1):_vm._e()]):_vm._e(),_c('invoice-settings',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.tab === 'Settings'),expression:\"tab === 'Settings'\"}],attrs:{\"invoice\":_vm.invoice,\"additional-tax-rates\":_vm.additionalTaxRates,\"recurring\":_vm.recurring,\"payment-plan\":_vm.paymentPlan,\"hide-auto-pay\":_vm.recurring || _vm.paymentPlan},on:{\"force-save\":function($event){return _vm.$emit('force-save')}}}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.tab === 'Additional'),expression:\"tab === 'Additional'\"}],staticClass:\"px-3\"},[_vm._t(\"default\")],2)],1):_vm._e(),_c('div',{staticClass:\"pa-8 column-format align-center show-scrollbar main-form\",style:(`width:100%; height: 100%; max-height: 100%; overflow-y: auto; background-color: ${_vm.styles.backgroundColor}`),on:{\"click\":function($event){return _vm.handleClick(null)}}},[_c('div',{style:(`width:100%; min-width: 300px; max-width: ${_vm.styles.maxWidth}px; background-color: ${_vm.styles.pageColor}`)},_vm._l((_vm.schema),function(item){return _c('div',{key:item.id},[_c('item-renderer',{attrs:{\"item\":item,\"styles\":_vm.styles,\"font\":_vm.template.font,\"invoice\":_vm.invoice,\"edit-mode\":_vm.editable,\"in-builder\":false,\"account-logo\":_vm.accountLogo,\"tokens\":_vm.tokens,\"token-map\":_vm.tokenMap,\"deposit-account\":_vm.depositAccount,\"has-expenses\":_vm.hasExpenses,\"recurring\":_vm.recurring,\"payment-plan\":_vm.paymentPlan,\"invoice-service\":_vm.invoiceService,\"attachment-service\":_vm.attachmentService,\"scheduled-payments\":_vm.scheduledPayments,\"active\":item.id === _vm.editItemId || item.id === _vm.editContainerId},on:{\"click\":function($event){$event.stopPropagation();return _vm.handleClick(item)},\"change\":function($event){return _vm.elementUpdated($event)},\"container-item-update\":function($event){return _vm.containerItemUpdated($event)},\"container-item-click\":function($event){return _vm.containerItemClicked($event)}}})],1)}),0)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import DateTime from \"@/modules/utils/HDateTime\";\nimport libPhoneNumber from \"google-libphonenumber\";\n\nexport default {\n\n    data: function () {\n        return {\n            PhoneUtil: libPhoneNumber.PhoneNumberUtil.getInstance(),\n            PNF: libPhoneNumber.PhoneNumberFormat,\n        }\n    },\n\n    methods: {\n        checkNull: function(val){\n            return val ? val : ''\n        },\n\n        getTokensFromInvoice: function(invoice, recurring = false, paymentPlan = false){\n            let result = new Map();\n            result.set('Account.Name', this.checkNull(invoice.accountInfo.accountName));\n            result.set('Account.TaxId', this.checkNull(invoice.accountInfo.taxId));\n            result.set('Account.Address1',this.checkNull(invoice.accountInfo.address1));\n            result.set('Account.Address2',this.checkNull(invoice.accountInfo.address2));\n            result.set('Account.City',this.checkNull(invoice.accountInfo.city));\n            result.set('Account.Locality',this.checkNull(invoice.accountInfo.locality));\n            result.set('Account.Postal',this.checkNull(invoice.accountInfo.postal));\n            result.set('Account.Country',this.checkNull(invoice.accountInfo.country));\n            result.set('Account.Phone',this.checkNull(this.formatPhone(invoice.accountInfo.phone)));\n            result.set('Account.Website',this.checkNull(invoice.accountInfo.website));\n            result.set('Invoice.Total', this.$formatters.dollars(invoice.total,true,true,invoice.currency));\n            result.set('Invoice.AmountDue', this.$formatters.dollars(invoice.amountDue,true,true,invoice.currency));\n            result.set('Invoice.Number', this.checkNull(invoice.invoiceNumberFormatted));\n            result.set('Invoice.Status', invoice.status);\n\n            if(recurring || paymentPlan) {\n                result.set('Invoice.DateCreated', '[Set when created]');\n                result.set('Invoice.DateIssued', '[Set when created]');\n                if(!invoice.paymentTerms || invoice.paymentTerms.paymentDays === 0){\n                    result.set('Invoice.DateDue', '[On receipt]');\n                }else{\n                    result.set('Invoice.DateDue', '[+' + invoice.paymentTerms.paymentDays + ' days]');\n                }\n                result.set('Client.DepositBalance','[Set when created]');\n            }else{\n                result.set('Invoice.DateCreated', this.$DateTime.longDate(invoice.dateCreated, '--'));\n                result.set('Invoice.DateIssued', this.$DateTime.longDate(invoice.dateSent, '--'));\n                result.set('Invoice.DateDue', this.$DateTime.longDate(invoice.dateDue, '--'));\n\n                if(invoice.clientInfo.depositBalance || invoice.clientInfo.depositBalance === 0){\n                    result.set('Client.DepositBalance',this.$formatters.dollars(invoice.clientInfo.depositBalance,true,true, invoice.currency));\n                }else{\n                    result.set('Client.DepositBalance','');\n                }\n            }\n\n            result.set('Invoice.OnlineUrl', this.checkNull(invoice.viewOnlineUrl));\n            result.set('Invoice.PayUrl', this.checkNull(invoice.payOnlineUrl));\n            result.set('Invoice.Currency', this.checkNull(invoice.currency));\n            result.set('Invoice.PurchaseOrder',this.checkNull(invoice.purchaseOrder));\n            result.set('Client.Name', this.checkNull(invoice.clientInfo.name));\n            result.set('Client.TaxId', this.checkNull(invoice.clientInfo.taxId));\n            result.set('Client.Address1',this.checkNull(invoice.clientInfo.address1));\n            result.set('Client.Address2',this.checkNull(invoice.clientInfo.address2));\n            result.set('Client.City',this.checkNull(invoice.clientInfo.city));\n            result.set('Client.Locality',this.checkNull(invoice.clientInfo.locality));\n            result.set('Client.Postal',this.checkNull(invoice.clientInfo.postal));\n            result.set('Client.Country',this.checkNull(invoice.clientInfo.country));\n            result.set('Client.Phone',this.checkNull(this.formatPhone(invoice.clientInfo.phone)));\n            result.set('Client.Website',this.checkNull(invoice.clientInfo.website));\n\n            if(invoice.accountInfo && invoice.accountInfo.accountPreferences) {\n                result.set('Invoice.ComplianceHeader', invoice.status === 'PAID' ? invoice.accountInfo.accountPreferences.paidInvoiceDocumentHeader : invoice.accountInfo.accountPreferences.invoiceDocumentHeader);\n            }else{\n                result.set('Invoice.ComplianceHeader','');\n            }\n\n            if(invoice.paymentTerms){\n                result.set('Invoice.LateFee',invoice.paymentTerms.latePaymentFee);\n            }else{\n                result.set('Invoice.LateFee','');\n            }\n\n            if(invoice.payInstructions){\n                result.set('Invoice.PayInstructions',`${this.replaceLineBreaksWithBR(invoice.payInstructions)}</span>`);\n            }else{\n                result.set('Invoice.PayInstructions','');\n            }\n\n            if(invoice.clientInfo.contact) {\n                result.set('Contact.First', this.checkNull(invoice.clientInfo.contact.firstName));\n                result.set('Contact.Last', this.checkNull(invoice.clientInfo.contact.lastName));\n                result.set('Contact.FullName', this.checkNull(invoice.clientInfo.contact.firstName) + ' ' + this.checkNull(invoice.clientInfo.contact.lastName));\n                result.set('Contact.Email', this.checkNull(invoice.clientInfo.contact.email));\n                result.set('Contact.Phone', this.checkNull(this.formatPhone(invoice.clientInfo.contact.phone)));\n\n                this.contactFields.forEach((f) => {\n                    let value = invoice.clientInfo.contact.customValues.find((v) => v.mappingKey === f.mappingKey);\n                    if(f.type === 'Date' && value && value.value) {\n                        result.set('Contact.Custom.' + f.mappingKey, DateTime.fromISO(value.value).toLocaleString(DateTime.DATE_FULL));\n                    }else if(f.type === 'Phone' && value && value.value){\n                        result.set('Contact.Custom.' + f.mappingKey, this.formatPhone(value.value));\n                    }else {\n                        result.set('Contact.Custom.' + f.mappingKey, value ? value.value : '');\n                    }\n                });\n            }else{\n                result.set('Contact.First', '');\n                result.set('Contact.Last', '');\n                result.set('Contact.FullName', '');\n                result.set('Contact.Email', '');\n                result.set('Contact.Phone', '');\n\n                this.contactFields.forEach(f => {\n                    result.set('Contact.Custom.' + f.mappingKey,'');\n                });\n            }\n\n            this.clientFields.forEach((f) => {\n                let value = invoice.clientInfo.customValues.find((v) => v.mappingKey === f.mappingKey);\n                if(f.type === 'Date' && value && value.value) {\n                    result.set('Client.Custom.' + f.mappingKey, DateTime.fromISO(value.value).toLocaleString(DateTime.DATE_FULL));\n                }else if(f.type === 'Phone' && value && value.value){\n                    result.set('Client.Custom.' + f.mappingKey, this.formatPhone(value.value));\n                }else {\n                    result.set('Client.Custom.' + f.mappingKey, value ? value.value : '');\n                }\n            });\n\n\n            return result;\n        },\n\n        replaceLineBreaksWithBR: function(text) {\n            return text.replace(/\\n/g, '<br>');\n        },\n\n        formatPhone: function(phoneNumber) {\n            try {\n                let phone = this.PhoneUtil.parse(phoneNumber,'US');\n                return this.PhoneUtil.format(phone, this.PNF.NATIONAL);\n            } catch (err) {\n                return phoneNumber;\n            }\n        },\n    },\n\n    computed: {\n        clientFields: function(){\n            if(this.$store.state.clientFields && this.$store.state.clientFields.fields){\n                return this.$store.state.clientFields.fields;\n            }else{\n                return [];\n            }\n        },\n\n        contactFields: function(){\n            if(this.$store.state.contactFields && this.$store.state.contactFields.fields){\n                return this.$store.state.contactFields.fields;\n            }else{\n                return [];\n            }\n        },\n\n        tokens: function(){\n            let invoice = [\n                'Account.Name',\n                'Account.TaxId',\n                'Account.Address1',\n                'Account.Address2',\n                'Account.City',\n                'Account.Locality',\n                'Account.Postal',\n                'Account.Country',\n                'Account.Phone',\n                'Account.Website',\n                'Invoice.Total',\n                'Invoice.AmountDue',\n                'Invoice.Number',\n                'Invoice.DateIssued',\n                'Invoice.DateDue',\n                'Invoice.OnlineUrl',\n                'Invoice.PayUrl',\n                'Invoice.Currency',\n                'Invoice.PurchaseOrder',\n                'Invoice.PayInstructions',\n                'Invoice.LateFee',\n                'Invoice.Status',\n                'Invoice.ComplianceHeader'\n            ]\n\n            let client = [\n                'Client.Name',\n                'Client.TaxId',\n                'Client.Address1',\n                'Client.Address2',\n                'Client.City',\n                'Client.Locality',\n                'Client.Postal',\n                'Client.Country',\n                'Client.Phone',\n                'Client.Website',\n                'Client.DepositBalance'\n            ];\n\n            let contact = [\n                'Contact.First',\n                'Contact.Last',\n                'Contact.FullName',\n                'Contact.Email',\n                'Contact.Phone',\n            ];\n\n            this.clientFields.forEach(f => {\n                client.push('Client.Custom.' + f.mappingKey);\n            })\n\n            this.contactFields.forEach(f => {\n                contact.push('Contact.Custom.' + f.mappingKey);\n            });\n\n            return [].concat(invoice,client,contact);\n        }\n    }\n}","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div></div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'InvoiceSettings',\n\n\t\tprops: [],\n\n\t\tcomponents: {  },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceSettings.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceSettings.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoiceSettings.vue?vue&type=template&id=1371e9c4&scoped=true\"\nimport script from \"./InvoiceSettings.vue?vue&type=script&lang=js\"\nexport * from \"./InvoiceSettings.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1371e9c4\",\n  null\n  \n)\n\nexport default component.exports","<template>\n\t<div class=\"row-format\" style=\"height: 100%; width: 100%; max-height: 100%;\">\n\t\t<div v-if=\"editable\" style=\"height: 100%; max-height: 100%; overflow-x: hidden; overflow-y: auto; max-width: 400px; width: 400px; background-color: var(--v-white-base)\" class=\"show-scrollbar\">\n\t\t\t<div class=\"row-format py-2 px-2\" style=\"border-bottom: 1px solid var(--v-gray_30-base)\" v-if=\"recurring || paymentPlan\">\n\t\t\t\t<div\n\t\t\t\t\t\t:class=\"`row-format align-center page-link ${tab === 'Settings' ? 'page-link-active' : ''}`\"\n\t\t\t\t\t\t@click=\"selectTab('Settings')\"\n\t\t\t\t>\n\t\t\t\t\t<v-icon\n\t\t\t\t\t\t\tclass=\"material-symbols-outlined\"\n\t\t\t\t\t\t\tsize=\"22\"\n\t\t\t\t\t\t\t:color=\"tab === 'Elements' ? 'primary' : 'gray_50'\"\n\t\t\t\t\t>settings</v-icon\n\t\t\t\t\t>\n\t\t\t\t\t<div class=\"ml-1\">Settings</div>\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\t\t:class=\"`row-format align-center page-link ${tab === 'Additional' ? 'page-link-active' : ''}`\"\n\t\t\t\t\t\t@click=\"selectTab('Additional')\" v-if=\"recurring\"\n\t\t\t\t>\n\t\t\t\t\t<v-icon\n\t\t\t\t\t\t\tclass=\"material-symbols-outlined\"\n\t\t\t\t\t\t\tsize=\"22\"\n\t\t\t\t\t\t\t:color=\"tab === 'Additional' ? 'primary' : 'gray_50'\"\n\t\t\t\t\t>replay_circle_filled</v-icon\n\t\t\t\t\t>\n\t\t\t\t\t<div class=\"ml-1\">Recurring</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div\n\t\t\t\t\t\t:class=\"`row-format align-center page-link ${tab === 'Additional' ? 'page-link-active' : ''}`\"\n\t\t\t\t\t\t@click=\"selectTab('Additional')\" v-if=\"paymentPlan\"\n\t\t\t\t>\n\t\t\t\t\t<v-icon\n\t\t\t\t\t\t\tclass=\"material-symbols-outlined\"\n\t\t\t\t\t\t\tsize=\"22\"\n\t\t\t\t\t\t\t:color=\"tab === 'Additional' ? 'primary' : 'gray_50'\"\n\t\t\t\t\t>timeline</v-icon\n\t\t\t\t\t>\n\t\t\t\t\t<div class=\"ml-1\">Payment plan</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<invoice-settings v-show=\"tab === 'Settings'\" :invoice=\"invoice\" :additional-tax-rates=\"additionalTaxRates\" :recurring=\"recurring\" :payment-plan=\"paymentPlan\" @force-save=\"$emit('force-save')\" :hide-auto-pay=\"recurring || paymentPlan\"></invoice-settings>\n\t\t\t<div class=\"px-3\" v-show=\"tab === 'Additional'\">\n\t\t\t\t<slot></slot>\n\t\t\t</div>\n\t\t</div>\n\t\t<div\n\t\t\t\t:style=\"`width:100%; height: 100%; max-height: 100%; overflow-y: auto; background-color: ${styles.backgroundColor}`\"\n\t\t\t\tclass=\"pa-8 column-format align-center show-scrollbar main-form\" @click=\"handleClick(null)\"\n\t\t>\n\t\t\t<div\n\t\t\t\t\t:style=\"\n\t\t\t\t\t\t`width:100%; min-width: 300px; max-width: ${styles.maxWidth}px; background-color: ${styles.pageColor}`\n\t\t\t\t\t\"\n\t\t\t>\n\t\t\t\t<div v-for=\"item in schema\" :key=\"item.id\">\n\t\t\t\t\t<item-renderer\n\t\t\t\t\t\t\t:item=\"item\"\n\t\t\t\t\t\t\t:styles=\"styles\"\n\t\t\t\t\t\t\t:font=\"template.font\"\n\t\t\t\t\t\t\t:invoice=\"invoice\"\n\t\t\t\t\t\t\t:edit-mode=\"editable\"\n\t\t\t\t\t\t\t:in-builder=\"false\"\n\t\t\t\t\t\t\t:account-logo=\"accountLogo\"\n\t\t\t\t\t\t\t:tokens=\"tokens\"\n\t\t\t\t\t\t\t:token-map=\"tokenMap\"\n\t\t\t\t\t\t\t:deposit-account=\"depositAccount\"\n\t\t\t\t\t\t\t:has-expenses=\"hasExpenses\"\n\t\t\t\t\t\t\t:recurring=\"recurring\"\n\t\t\t\t\t\t\t:payment-plan=\"paymentPlan\"\n\t\t\t\t\t\t\t:invoice-service=\"invoiceService\"\n\t\t\t\t\t\t\t:attachment-service=\"attachmentService\"\n\t\t\t\t\t\t\t:scheduled-payments=\"scheduledPayments\"\n\t\t\t\t\t\t\t@click.stop=\"handleClick(item)\"\n\t\t\t\t\t\t\t@change=\"elementUpdated($event)\"\n\t\t\t\t\t\t\t@container-item-update=\"containerItemUpdated($event)\"\n\t\t\t\t\t\t\t@container-item-click=\"containerItemClicked($event)\"\n\t\t\t\t\t\t\t:active=\"item.id === editItemId || item.id === editContainerId\"\n\t\t\t\t\t></item-renderer>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport ItemRenderer from \"@/modules/templates/invoices/schema/ItemRenderer\";\n\timport InvoiceTemplateMixin from \"@/modules/templates/invoices/InvoiceTemplateMixin\";\n\timport WebFontLoader from \"webfontloader\";\n\timport InvoiceSettings from \"@/modules/invoices/invoiceRendererV2/InvoiceSettings\";\n\n\texport default {\n\t\tname: 'InvoiceRendererV2',\n\n\t\tprops: {\n\t\t\tforceRenderIndex: { type: Number, required: false, default: 0 },\n\t\t\tinvoice: { type: Object, required: true },\n\t\t\taccount: { type: Object, required: true },\n\t\t\tdepositAccount: { type: Object, required: false },\n\t\t\teditMode: { type: Boolean, required: false, default: false },\n\t\t\thasExpenses: { type: Boolean, required: false, default: false },\n\t\t\tadditionalTaxRates: { type: Array, required: false, default: () => [] },\n\t\t\tsaving: { type: Boolean, required: false, default: false },\n\t\t\tattachmentService: { type: Object, required: true },\n\t\t\tinvoiceService: { type: Object, required: true },\n\t\t\titemFocus: { type: Number, required: false, default: -1 },\n\t\t\trecurring: { type: Boolean, required: false, default: false },\n\t\t\tpaymentPlan: { type: Boolean, required: false, default: false },\n\t\t\tscheduledPayments: { type: Array, required: false, default: () => [] },\n\t\t},\n\n\t\tcomponents: {InvoiceSettings, ItemRenderer},\n\n\t\tmixins: [InvoiceTemplateMixin],\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\teditItem: null,\n\t\t\t\ttab: 'Settings',\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.$store.state.eventBus.$on('invoice',this.handleEvent);\n\t\t\tthis.loadFonts();\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t\tthis.$store.state.eventBus.$off('invoice',this.handleEvent);\n\t\t},\n\n\t\tmethods: {\n\t\t\tselectTab: function(tab){\n\t\t\t\tthis.tab = tab;\n\t\t\t},\n\n\t\t\tloadFonts: function(){\n\t\t\t\tWebFontLoader.load({\n\t\t\t\t\tgoogle: {\n\t\t\t\t\t\tfamilies: [`${this.styles.font}:200,300,400,500,600,700,800`],\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\thandleEvent(eventName){\n\t\t\t\tthis.$emit(eventName);\n\t\t\t},\n\n\t\t\thandleClick: function(item) {\n\t\t\t\tif(this.editable) {\n\t\t\t\t\tthis.editItem = item;\n\t\t\t\t}else{\n\t\t\t\t\tthis.editItem = null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcontainerItemUpdated: function(event) {\n\t\t\t\tlet container = event.container;\n\t\t\t\tlet item = event.item;\n\t\t\t\tlet index = event.index;\n\n\t\t\t\titem.containerTarget = {\n\t\t\t\t\tcontainerId: container.id,\n\t\t\t\t\tindex: index,\n\t\t\t\t};\n\n\t\t\t\tthis.elementUpdated(item);\n\t\t\t},\n\n\t\t\telementUpdated: function(element) {\n\t\t\t\tif (element.containerTarget) {\n\t\t\t\t\tlet containerIx = this.schema.findIndex((i) => i.id === element.containerTarget.containerId);\n\t\t\t\t\tlet column = element.containerTarget.index;\n\t\t\t\t\tif (containerIx > -1) {\n\t\t\t\t\t\tlet container = this.schema[containerIx];\n\t\t\t\t\t\tlet ix = container.columns[column].items.findIndex((i) => i.id === element.id);\n\t\t\t\t\t\tif (ix > -1) {\n\t\t\t\t\t\t\tcontainer.columns[column].items.splice(ix, 1, element);\n\t\t\t\t\t\t\tthis.schema.splice(containerIx, 1, container);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tlet ix = this.schema.findIndex((i) => i.id === element.id);\n\t\t\t\t\tif (ix > -1) {\n\t\t\t\t\t\tthis.schema.splice(ix, 1, element);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcontainerItemClicked: function(event) {\n\t\t\t\tlet container = event.container;\n\t\t\t\tlet item = event.item;\n\t\t\t\tlet index = event.index;\n\n\t\t\t\titem.containerTarget = {\n\t\t\t\t\tcontainerId: container.id,\n\t\t\t\t\tindex: index,\n\t\t\t\t};\n\n\t\t\t\tthis.handleClick(item);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\ttemplate: function(){\n\t\t\t\treturn this.invoice.invoiceTemplate;\n\t\t\t},\n\n\t\t\tschema: function(){\n\t\t\t\treturn this.invoice.invoiceTemplate.schema\n\t\t\t},\n\n\t\t\tstyles: function(){\n\t\t\t\treturn this.invoice.invoiceTemplate.invoiceStyle\n\t\t\t},\n\n\t\t\teditable() {\n\t\t\t\treturn this.editMode && ['INIT', 'DRAFT'].includes(this.invoice.status);\n\t\t\t},\n\n\t\t\ttokenMap: function(){\n\t\t\t\treturn this.getTokensFromInvoice(this.invoice,this.recurring,this.paymentPlan);\n\t\t\t},\n\n\t\t\taccountLogo: function() {\n\t\t\t\treturn this.account.accountLogo;\n\t\t\t},\n\n\t\t\teditContainerId: function() {\n\t\t\t\tif (this.editItem && this.editItem.containerTarget) {\n\t\t\t\t\treturn this.editItem.containerTarget.containerId;\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\teditItemId: function() {\n\t\t\t\tif (this.editItem) {\n\t\t\t\t\treturn this.editItem.id;\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceRendererV2.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceRendererV2.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoiceRendererV2.vue?vue&type=template&id=ed53523c&scoped=true\"\nimport script from \"./InvoiceRendererV2.vue?vue&type=script&lang=js\"\nexport * from \"./InvoiceRendererV2.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"ed53523c\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","<template>\n  <div id=\"invoice-details\">\n    <div id=\"header-area\" class=\"\" v-if=\"invoice\">\n      <div class=\"header-left pl-md-6 pl-4\">\n        <div class=\"mr-6 brand-medium\">\n          <h-icon2 name=\"invoices\" :active=\"true\" size=\"24\" class=\"mr-4\"></h-icon2>\n          {{ $t('invoice.invoice-number-appended', { invoiceNumber: invoice.invoiceNumberFormatted }) }}\n        </div>\n        <div v-if=\"$vuetify.breakpoint.mdAndUp\">\n          <v-menu :close-on-click=\"true\" :nudge-bottom=\"30\" :disabled=\"!invoice.payments.length\">\n            <template v-slot:activator=\"{ on }\">\n              <v-btn v-on=\"on\" class=\"secondary-action\" :disabled=\"!invoice.payments.length\">\n                <v-icon size=\"14\" class=\"mr-1\">$time</v-icon>\n                <span class=\"body-12\">{{ $t('invoices.details.payment-history') }}</span>\n                <span\n                    v-if=\"invoice.payments.length\"\n                    class=\"body-10 ml-2 px-1\"\n                    style=\"background-color: var(--v-gray_10-base)\"\n                >{{ invoice.payments.length }}</span\n                >\n              </v-btn>\n            </template>\n            <payment-history :invoice=\"invoice\" @openPayment=\"openPaymentDetail($event)\"></payment-history>\n          </v-menu>\n        </div>\n      </div>\n      <div class=\"header-right pr-md-6 pr-4\">\n        <div>\n          <v-btn icon class=\"mr-3\" @click=\"downloadInvoice\">\n            <v-icon size=\"25\" color=\"gray_60\">$download</v-icon>\n          </v-btn>\n          <v-btn icon class=\"primary-action\" @click=\"handleClose()\">\n            <v-icon :size=\"20\">$close</v-icon>\n          </v-btn>\n        </div>\n      </div>\n    </div>\n    <div class=\"show-scrollbar\">\n      <component\n          style=\"max-height: calc(100vh - 55px); height: calc(100vh - 55px)\"\n          :is=\"rendererType\"\n          v-if=\"invoice && account\"\n          :invoice=\"invoice\"\n          :scheduled-payments=\"invoice.scheduledPayments\"\n          :account=\"account\"\n          :edit-mode=\"false\"\n          :key=\"refreshKey\"\n          :attachment-service=\"invoiceService\"\n          :invoice-service=\"invoiceService\"\n      ></component>\n    </div>\n  </div>\n</template>\n\n<script>\n\timport InvoiceService from '@/modules/invoices/InvoiceService';\n  import InvoiceRenderer from '@/modules/invoices/InvoiceRenderer/InvoiceRenderer';\n  import PaymentHistory from '@/modules/invoices/InvoiceRenderer/PaymentHistory';\n  import PaymentDetailsModal from '@/modules/invoices/InvoiceRenderer/PaymentDetailsModal';\n  import InvoiceRendererV2 from '@/modules/invoices/invoiceRendererV2/InvoiceRendererV2';\n\n  export default {\n\t\tname: 'InvoiceDetails',\n\n\t\tprops: ['invoiceId'],\n\n\t\tcomponents: {InvoiceRenderer,InvoiceRendererV2,PaymentHistory},\n\n\t\tdata: function() {\n\t\t\treturn {\n        refreshKey:0,\n        invoice:null,\n        account:null,\n        invoiceService: new InvoiceService(),\n      };\n\t\t},\n\n\t\tmounted() {\n      this.invoiceService.getInvoice(this.invoiceId).then((res) => {\n        this.invoice = res.data.invoice;\n        this.account = res.data.account;\n        this.invoiceService.setInvoice(this.invoice);\n      })\n    },\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n      handleClose: function(){\n        this.$emit('result');\n      },\n\n      openPaymentDetail(payment){\n        let binding = {\n          invoice:this.invoice,\n          payment:payment,\n          editMode:false\n        }\n        this.$store.state.globalModalController.openModal(PaymentDetailsModal,binding,true,false);\n      },\n\n      downloadInvoice: function(){\n        this.$store.commit('startLoading')\n        this.invoiceService\n            .downloadInvoice()\n            .then((res) => {\n              let fileURL = window.URL.createObjectURL(new Blob([res.data]));\n\n              let fileLink = document.createElement('a');\n              fileLink.href = fileURL;\n              fileLink.setAttribute('download', 'Invoice-' + this.invoice.invoiceNumberFormatted + '.pdf');\n              document.body.appendChild(fileLink);\n              fileLink.click();\n            }).finally(() => this.$store.commit('stopLoading'))\n      }\n    },\n\n\t\tcomputed: {\n      rendererType: function(){\n        return (this.invoice && this.invoice.invoiceTemplate) ? 'InvoiceRendererV2' : 'InvoiceRenderer';\n      },\n    },\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t#invoice-details {\n\t\tbackground-color: var(--v-white-base);\n\t\t#header-area {\n\t\t\theight: 56px;\n\t\t\twidth: 100%;\n\t\t\tbackground-color: var(--v-white-base);\n\t\t\tborder-bottom: 1px solid var(--v-gray_50-base);\n\t\t\t// Needed for sticky positioning\n\t\t\tposition: sticky;\n\t\t\tposition: -webkit-sticky;\n\t\t\ttop: 0;\n\t\t\tz-index: 203;\n\t\t\t// end sticky\n\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\talign-items: center;\n\n\t\t\t.header-left {\n\t\t\t\ttext-align: left;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-items: flex-start;\n\t\t\t\t& > div {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-items: flex-start;\n\t\t\t\t}\n\t\t\t\tbutton,\n\t\t\t\tdiv {\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tcolor: var(--v-black-base);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t.header-right {\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: flex-end;\n\t\t\t\talign-items: center;\n\n\t\t\t\tdiv {\n\t\t\t\t\tflex: 0 0 auto;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceDetails.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceDetails.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoiceDetails.vue?vue&type=template&id=a58314c8&scoped=true\"\nimport script from \"./InvoiceDetails.vue?vue&type=script&lang=js\"\nexport * from \"./InvoiceDetails.vue?vue&type=script&lang=js\"\nimport style0 from \"./InvoiceDetails.vue?vue&type=style&index=0&id=a58314c8&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"a58314c8\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBtn,VIcon,VMenu})\n","<template>\n\t<div v-if=\"invoices.length\">\n\t\t<div class=\"brand-medium pointer\" @click=\"$router.push('/invoices?v=list')\">\n\t\t\t{{ $t('welcome.currently-have') }} <span style=\"color: var(--v-primary-base)\">{{ invoices.length }}</span>\n\t\t\t{{ $tc('welcome.invoices-ready', invoices.length) }}.\n\t\t</div>\n\t\t<div class=\"column-format\" style=\"gap: 8px; margin-top: 12px\">\n\t\t\t<div v-for=\"invoice in invoices\" :key=\"invoice.id\" class=\"action-button\" @click.stop=\"openInvoice(invoice)\">\n\t\t\t\t{{ invoice.invoiceNumberFormatted }} - {{ $formatters.dollars(invoice.total) }} - {{ $t('global.due') }}\n\t\t\t\t{{ DateTime.fromISO(invoice.dateDue).toFormat('MMM dd') }}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport { DateTime } from 'luxon';\n\timport InvoiceDetails from '@/modules/invoices/InvoiceDetails';\n\n\texport default {\n\t\tname: 'Invoices',\n\n\t\tprops: ['invoices'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tDateTime: DateTime,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\topenInvoice: function(invoice) {\n\t\t\t\tlet binding = {\n\t\t\t\t\tinvoiceId: invoice.id,\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController\n\t\t\t\t\t.openModal(InvoiceDetails, binding, true, true)\n\t\t\t\t\t.then(() => this.$emit('refresh'));\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Invoices.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Invoices.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Invoices.vue?vue&type=template&id=19760c5e&scoped=true\"\nimport script from \"./Invoices.vue?vue&type=script&lang=js\"\nexport * from \"./Invoices.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"19760c5e\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.forms.length)?_c('div',[_c('div',{staticClass:\"brand-medium pointer\",on:{\"click\":function($event){return _vm.$router.push('/forms')}}},[_vm._v(\" \"+_vm._s(_vm.$t('welcome.currently-have'))+\" \"),_c('span',{staticStyle:{\"color\":\"var(--v-primary-base)\"}},[_vm._v(_vm._s(_vm.forms.length))]),_vm._v(\" \"+_vm._s(_vm.$tc('forms.forms-ready', _vm.forms.length))+\". \")]),_c('div',{staticClass:\"column-format\",staticStyle:{\"gap\":\"8px\",\"margin-top\":\"12px\"}},_vm._l((_vm.forms),function(form){return _c('div',{key:form.id,staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.openRequest(form)}}},[_vm._v(\" \"+_vm._s(form.name)+\" - \"+_vm._s(_vm.DateTime.fromISO(form.sentTimestamp).toLocaleString(_vm.DateTime.DATETIME_SHORT))+\" \")])}),0)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"submission-details\"}},[_c('div',{attrs:{\"id\":\"header-area\"}},[_c('div',{staticClass:\"header-left pl-md-6 pl-4\"},[_c('div',{staticClass:\"mr-6 brand-medium\"},[_vm._v(\" \"+_vm._s(_vm.request.name)+\" \")])]),_c('div',{staticClass:\"header-right pr-md-6 pr-4\"},[_c('div',[_c('v-btn',{staticClass:\"primary-action\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.handleClose()}}},[_c('v-icon',{attrs:{\"size\":20}},[_vm._v(\"$close\")])],1)],1)])]),_c('div',{staticClass:\"show-scrollbar\",staticStyle:{\"width\":\"100%\",\"height\":\"100%\"}},[(_vm.token)?_c('discovery-form',{attrs:{\"request-token\":_vm.token},on:{\"result\":function($event){return _vm.$emit('result',$event)}}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticStyle:{\"width\":\"100%\",\"height\":\"100%\",\"min-height\":\"100%\"}},[(_vm.schemaVersion === 1)?_c('form-v1',{ref:\"form\",attrs:{\"form\":_vm.form,\"font\":_vm.font,\"in-frame\":false,\"complete\":_vm.isComplete},on:{\"complete\":function($event){return _vm.saveForm($event)}}}):_vm._e(),(_vm.schemaVersion === 2)?_c('form-v2',{ref:\"form\",attrs:{\"form\":_vm.form,\"font\":_vm.font,\"in-frame\":false,\"complete\":_vm.isComplete},on:{\"complete\":function($event){return _vm.saveForm($event)}}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.form)?_c('div',{class:`${_vm.inFrame ? 'outer-wrapper-in-frame' : 'outer-wrapper'} row-format centered`,style:(`font-family: ${_vm.font}; --background-color: ${_vm.form.accentColor}`)},[(_vm.form)?_c('v-container',{class:`${_vm.inFrame ? 'main-wrapper-in-frame' : 'main-wrapper'}`},[(_vm.form.showLogo && _vm.form.accountLogo)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('img',{staticStyle:{\"max-height\":\"100px\",\"max-width\":\"250px\"},attrs:{\"src\":_vm.form.accountLogo}})])],1):_vm._e(),(!_vm.complete)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"mx-4\"},[_c('renderer',{ref:\"renderer\",attrs:{\"schema\":_vm.form.schema},on:{\"input\":_vm.handleResult}})],1)]),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"mx-8 mt-4\"},[_c('v-btn',{attrs:{\"width\":\"150\",\"color\":_vm.form.accentColor,\"elevation\":\"0\"},on:{\"click\":_vm.saveForm}},[_c('span',{style:(`font-weight: 600; color: ${_vm.form.buttonText}!important; text-transform:none!important`)},[_vm._v(_vm._s(_vm.$t('global.submit')))])]),_c('div',{staticClass:\"font-10 font-gray_70 mt-8\"},[_vm._v(\" This page is protected by reCAPTCHA and the Google \"),_c('a',{attrs:{\"href\":\"https://policies.google.com/privacy\"}},[_vm._v(\"Privacy Policy\")]),_vm._v(\" and \"),_c('a',{attrs:{\"href\":\"https://policies.google.com/terms\"}},[_vm._v(\"Terms of Service\")]),_vm._v(\" apply. \")])],1)])],1):_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(_vm._s(_vm.$t('discovery.complete')))])],1)],1):_vm._e(),_c('v-snackbar',{attrs:{\"top\":\"\",\"color\":\"gray_80\",\"timeout\":5000},scopedSlots:_vm._u([{key:\"action\",fn:function({ attrs }){return [_c('v-btn',_vm._b({attrs:{\"color\":\"error\",\"text\":\"\"},on:{\"click\":function($event){_vm.showError = false}}},'v-btn',attrs,false),[_vm._v(\" OK \")])]}}],null,false,441339782),model:{value:(_vm.showError),callback:function ($$v) {_vm.showError=$$v},expression:\"showError\"}},[_vm._v(\" \"+_vm._s(_vm.errorText)+\" \")])],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',_vm._l((_vm.schema),function(field){return _c('div',{key:field.id,staticClass:\"text-left\"},[_c(field.fieldType,_vm._b({key:field.id,ref:\"inputField\",refInFor:true,tag:\"component\",attrs:{\"value\":_vm.formData[field.name],\"preview-mode\":_vm.previewMode},on:{\"input\":function($event){return _vm.updateForm(field.id, $event)}}},'component',field,false))],1)}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('label',{staticClass:\"question\",domProps:{\"innerHTML\":_vm._s(_vm.htmlText)}}),_c('div',{staticClass:\"pt-3\"},[_vm._l((_vm.options),function(option){return _c('v-checkbox',{key:option,staticClass:\"box\",staticStyle:{\"margin\":\"0px\",\"padding\":\"0px\"},attrs:{\"dense\":\"\",\"hide-details\":\"\",\"label\":option,\"value\":option,\"rules\":_vm.required ? _vm.inputRequired : [],\"disabled\":_vm.previewMode},on:{\"change\":function($event){return _vm.handleChange()}},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}})}),(_vm.hasOther)?_c('div',{staticClass:\"row-format\"},[_c('v-checkbox',{staticStyle:{\"margin\":\"0px\",\"padding\":\"0px\"},attrs:{\"value\":\"$$other\",\"label\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"rules\":_vm.required ? _vm.inputRequired : [],\"disabled\":_vm.previewMode},on:{\"change\":function($event){return _vm.handleChange()}},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}}),_c('div',{staticStyle:{\"width\":\"320px\"}},[_c('v-text-field',{attrs:{\"placeholder\":_vm.$t('discovery.other'),\"dense\":\"\",\"hide-details\":\"\",\"disabled\":_vm.selected.indexOf('$$other') === -1 || _vm.previewMode},on:{\"input\":function($event){return _vm.handleChange()}},model:{value:(_vm.otherValue),callback:function ($$v) {_vm.otherValue=$$v},expression:\"otherValue\"}})],1)],1):_vm._e()],2)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<v-form @submit.prevent v-model=\"isValid\" lazy-validation ref=\"form\">\n\t\t\t<label v-html=\"htmlText\" class=\"question\"></label>\n\t\t\t<div class=\"pt-3\">\n\t\t\t\t<v-checkbox\n\t\t\t\t\tdense\n\t\t\t\t\thide-details\n\t\t\t\t\tclass=\"box\"\n\t\t\t\t\tstyle=\"margin: 0px; padding: 0px\"\n\t\t\t\t\tv-model=\"selected\"\n\t\t\t\t\t@change=\"handleChange()\"\n\t\t\t\t\tv-for=\"option in options\"\n\t\t\t\t\t:key=\"option\"\n\t\t\t\t\t:label=\"option\"\n\t\t\t\t\t:value=\"option\"\n\t\t\t\t\t:rules=\"required ? inputRequired : []\"\n\t\t\t\t\t:disabled=\"previewMode\"\n\t\t\t\t></v-checkbox>\n\t\t\t\t<div v-if=\"hasOther\" class=\"row-format\">\n\t\t\t\t\t<v-checkbox\n\t\t\t\t\t\tvalue=\"$$other\"\n\t\t\t\t\t\tlabel=\"\"\n\t\t\t\t\t\tdense\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\t@change=\"handleChange()\"\n\t\t\t\t\t\tstyle=\"margin: 0px; padding: 0px\"\n\t\t\t\t\t\tv-model=\"selected\"\n\t\t\t\t\t\t:rules=\"required ? inputRequired : []\"\n\t\t\t\t\t\t:disabled=\"previewMode\"\n\t\t\t\t\t></v-checkbox>\n\t\t\t\t\t<div style=\"width: 320px\">\n\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\tv-model=\"otherValue\"\n              :placeholder=\"$t('discovery.other')\"\n\t\t\t\t\t\t\t@input=\"handleChange()\"\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t:disabled=\"selected.indexOf('$$other') === -1 || previewMode\"\n\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</v-form>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'CheckboxInput',\n\t\tprops: ['options', 'htmlText', 'hasOther', 'previewMode','required'],\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tselected: [],\n\t\t\t\totherValue: '',\n\t\t\t\totherSelected: null,\n\t\t\t\tisValid: false,\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\tvalidate: function () {\n\t\t\t\treturn this.$refs.form.validate();\n\t\t\t},\n\n\t\t\thandleChange: function () {\n\t\t\t\tlet values = [...this.selected];\n\t\t\t\tlet otherIx = this.selected.indexOf('$$other');\n\n\t\t\t\tif (otherIx > -1) {\n\t\t\t\t\tvalues[otherIx] = this.otherValue;\n\t\t\t\t}\n\n\t\t\t\tthis.$emit('input', values);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tinputRequired() {\n\t\t\t\treturn [this.selected.length > 0 || 'Required']\n\t\t\t}\n\t\t}\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CheckboxInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CheckboxInput.vue?vue&type=template&id=77332e61&scoped=true\"\nimport script from \"./CheckboxInput.vue?vue&type=script&lang=js\"\nexport * from \"./CheckboxInput.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"77332e61\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VCheckbox,VForm,VTextField})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('label',{staticClass:\"question\",domProps:{\"innerHTML\":_vm._s(_vm.htmlText)}}),_c('v-radio-group',{attrs:{\"rules\":_vm.required ? _vm.inputRequired : []},on:{\"change\":function($event){return _vm.handleChange()}},model:{value:(_vm.selectedValue),callback:function ($$v) {_vm.selectedValue=$$v},expression:\"selectedValue\"}},[_vm._l((_vm.options),function(option){return _c('v-radio',{key:option,staticClass:\"box\",attrs:{\"value\":option,\"label\":option,\"disabled\":_vm.previewMode}})}),(_vm.hasOther)?_c('v-radio',{staticClass:\"box\",attrs:{\"value\":\"$$other\",\"disabled\":_vm.previewMode}},[_c('template',{slot:\"label\"},[_c('div',{staticStyle:{\"width\":\"320px\"}},[_c('v-text-field',{attrs:{\"placeholder\":_vm.$t('discovery.other'),\"dense\":\"\",\"hide-details\":\"\",\"disabled\":this.selectedValue !== '$$other'},on:{\"input\":function($event){return _vm.handleChange()}},model:{value:(_vm.otherValue),callback:function ($$v) {_vm.otherValue=$$v},expression:\"otherValue\"}})],1)])],2):_vm._e()],2)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<v-form @submit.prevent v-model=\"isValid\" lazy-validation ref=\"form\">\n\t\t\t<label v-html=\"htmlText\" class=\"question\"></label>\n\t\t\t<v-radio-group v-model=\"selectedValue\" :rules=\"required ? inputRequired : []\" @change=\"handleChange()\">\n\t\t\t\t<v-radio\n\t\t\t\t\tclass=\"box\"\n\t\t\t\t\tv-for=\"option in options\"\n\t\t\t\t\t:key=\"option\"\n\t\t\t\t\t:value=\"option\"\n\t\t\t\t\t:label=\"option\"\n\t\t\t\t\t:disabled=\"previewMode\"\n\t\t\t\t></v-radio>\n\t\t\t\t<v-radio class=\"box\" v-if=\"hasOther\" value=\"$$other\" :disabled=\"previewMode\">\n\t\t\t\t\t<template slot=\"label\">\n\t\t\t\t\t\t<div style=\"width: 320px\">\n\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\tv-model=\"otherValue\"\n\t\t\t\t\t\t\t\t:placeholder=\"$t('discovery.other')\"\n\t\t\t\t\t\t\t\t@input=\"handleChange()\"\n\t\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\t:disabled=\"this.selectedValue !== '$$other'\"\n\t\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</v-radio>\n\t\t\t</v-radio-group>\n\t\t</v-form>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'RadioInput',\n\t\tprops: ['options', 'htmlText', 'hasOther', 'previewMode','required'],\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tselectedValue: null,\n\t\t\t\totherValue: null,\n\t\t\t\tisValid: false,\n\t\t\t\tinputRequired: [(v) => !!v || 'Required'],\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\tvalidate: function () {\n\t\t\t\treturn this.$refs.form.validate();\n\t\t\t},\n\n\t\t\thandleChange: function () {\n\t\t\t\tif (this.selectedValue === '$$other') {\n\t\t\t\t\tthis.$emit('input', this.otherValue);\n\t\t\t\t} else {\n\t\t\t\t\tthis.$emit('input', this.selectedValue);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\"></style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RadioInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RadioInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RadioInput.vue?vue&type=template&id=f5e9b3ee\"\nimport script from \"./RadioInput.vue?vue&type=script&lang=js\"\nexport * from \"./RadioInput.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VForm,VRadio,VRadioGroup,VTextField})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('label',{staticClass:\"question\",domProps:{\"innerHTML\":_vm._s(_vm.htmlText)}}),_c('v-select',{attrs:{\"outlined\":\"\",\"hide-details\":\"\",\"dense\":\"\",\"persistent-placeholder\":\"\",\"attach\":true,\"multiple\":_vm.multi,\"rules\":_vm.required ? _vm.inputRequired : [],\"items\":_vm.options,\"full-width\":false,\"disabled\":_vm.previewMode},on:{\"input\":function($event){return _vm.$emit('input', $event)}}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<v-form @submit.prevent v-model=\"isValid\" lazy-validation ref=\"form\">\n\t\t\t<label v-html=\"htmlText\" class=\"question\"></label>\n\t\t\t<v-select\n\t\t\t\toutlined\n\t\t\t\thide-details\n\t\t\t\tdense\n\t\t\t\tpersistent-placeholder\n\t\t\t\t:attach=\"true\"\n\t\t\t\t:multiple=\"multi\"\n\t\t\t\t:rules=\"required ? inputRequired : []\"\n\t\t\t\t@input=\"$emit('input', $event)\"\n\t\t\t\t:items=\"options\"\n\t\t\t\t:full-width=\"false\"\n\t\t\t\t:disabled=\"previewMode\"\n\t\t\t>\n\t\t\t</v-select>\n\t\t</v-form>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'SelectInput',\n\t\tprops: ['multi', 'options', 'htmlText', 'previewMode', 'required'],\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tisValid: false,\n\t\t\t\tinputRequired: [(v) => !!v || 'Required'],\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\tvalidate: function () {\n\t\t\t\treturn this.$refs.form.validate();\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\"></style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SelectInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SelectInput.vue?vue&type=template&id=2195cf30\"\nimport script from \"./SelectInput.vue?vue&type=script&lang=js\"\nexport * from \"./SelectInput.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VForm,VSelect})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('div',{staticClass:\"pb-1 question\",domProps:{\"innerHTML\":_vm._s(_vm.htmlHeader)}}),_c('div',{staticClass:\"words\",domProps:{\"innerHTML\":_vm._s(_vm.htmlText)}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<div v-html=\"htmlHeader\" class=\"pb-1 question\"></div>\n\t\t<div v-html=\"htmlText\" class=\"words\"></div>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'TextBlock',\n\t\tprops: ['htmlText', 'htmlHeader'],\n\n\t\tmethods: {\n\t\t\tvalidate: function(){\n\t\t\t\treturn true;\n\t\t\t}\n\t\t}\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextBlock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextBlock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextBlock.vue?vue&type=template&id=4d80b24e&scoped=true\"\nimport script from \"./TextBlock.vue?vue&type=script&lang=js\"\nexport * from \"./TextBlock.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4d80b24e\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-input\"},[_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('label',{staticClass:\"question\",domProps:{\"innerHTML\":_vm._s(_vm.htmlText)}}),_c('v-textarea',{attrs:{\"type\":\"text\",\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"placeholder\":_vm.placeholder,\"rules\":_vm.required ? _vm.inputRequired : [],\"rows\":parseInt(_vm.rows,10),\"auto-grow\":\"\",\"disabled\":_vm.previewMode},on:{\"input\":function($event){return _vm.$emit('input', $event)}}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"text-input\">\n\t\t<v-form @submit.prevent v-model=\"isValid\" lazy-validation ref=\"form\">\n\t\t\t<label v-html=\"htmlText\" class=\"question\"></label>\n\t\t\t<v-textarea\n\t\t\t\ttype=\"text\"\n\t\t\t\toutlined\n\t\t\t\tdense\n\t\t\t\thide-details\n\t\t\t\tpersistent-placeholder\n\t\t\t\t:placeholder=\"placeholder\"\n\t\t\t\t:rules=\"required ? inputRequired : []\"\n\t\t\t\t@input=\"$emit('input', $event)\"\n\t\t\t\t:rows=\"parseInt(rows,10)\"\n\t\t\t\tauto-grow\n\t\t\t\t:disabled=\"previewMode\"\n\t\t\t/>\n\t\t</v-form>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'TextInput',\n\t\tprops: ['htmlHeader', 'options', 'htmlText', 'fieldType', 'previewMode','required'],\n\n\t\tmounted() {},\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tisValid: false,\n\t\t\t\tinputRequired: [(v) => !!v || 'Required'],\n\t\t\t\trows: (this.options && this.options.length) ? this.options[0] : \"1\"\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\tvalidate: function () {\n\t\t\t\treturn this.$refs.form.validate();\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tplaceholder: function () {\n\t\t\t\tif (this.previewMode) {\n\t\t\t\t\treturn this.$t('discovery.client-answer');\n\t\t\t\t} else {\n\t\t\t\t\treturn this.$t('discovery.your-answer');\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextInput.vue?vue&type=template&id=1f007220&scoped=true\"\nimport script from \"./TextInput.vue?vue&type=script&lang=js\"\nexport * from \"./TextInput.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1f007220\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VForm,VTextarea})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('div',{staticClass:\"column-format gap-2\"},[(_vm.showBusiness || _vm.showWebsite)?_c('div',{staticClass:\"row-format gap-2\",staticStyle:{\"flex-wrap\":\"wrap\"}},[(_vm.showBusiness)?_c('v-text-field',{staticStyle:{\"min-width\":\"250px\"},attrs:{\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"label\":\"Business / Organization name\",\"disabled\":_vm.previewMode,\"rules\":_vm.required ? _vm.inputRequired : []},on:{\"input\":_vm.handleChange},model:{value:(_vm.businessName),callback:function ($$v) {_vm.businessName=$$v},expression:\"businessName\"}}):_vm._e(),(_vm.showWebsite)?_c('v-text-field',{staticStyle:{\"min-width\":\"250px\"},attrs:{\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"label\":_vm.$t('contact.website'),\"disabled\":_vm.previewMode,\"rules\":_vm.required ? _vm.inputRequired : []},on:{\"input\":_vm.handleChange},model:{value:(_vm.website),callback:function ($$v) {_vm.website=$$v},expression:\"website\"}}):_vm._e()],1):_vm._e(),(_vm.showContact)?_c('div',{staticClass:\"row-format gap-2\",staticStyle:{\"flex-wrap\":\"wrap\"}},[_c('v-text-field',{staticStyle:{\"min-width\":\"250px\"},attrs:{\"label\":\"First name\",\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"rules\":_vm.required ? _vm.inputRequired : [],\"disabled\":_vm.previewMode},on:{\"input\":_vm.handleChange},model:{value:(_vm.firstName),callback:function ($$v) {_vm.firstName=$$v},expression:\"firstName\"}}),_c('v-text-field',{staticStyle:{\"min-width\":\"250px\"},attrs:{\"label\":\"Last name\",\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"disabled\":_vm.previewMode,\"rules\":_vm.required ? _vm.inputRequired : []},on:{\"input\":_vm.handleChange},model:{value:(_vm.lastName),callback:function ($$v) {_vm.lastName=$$v},expression:\"lastName\"}})],1):_vm._e(),(_vm.showEmail || _vm.showPhone)?_c('div',{staticClass:\"row-format gap-2\",staticStyle:{\"flex-wrap\":\"wrap\"}},[(_vm.showEmail)?_c('v-text-field',{staticStyle:{\"min-width\":\"250px\"},attrs:{\"label\":\"Email\",\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"disabled\":_vm.previewMode,\"rules\":_vm.required ? _vm.emailRequired : []},on:{\"input\":_vm.handleChange},model:{value:(_vm.email),callback:function ($$v) {_vm.email=$$v},expression:\"email\"}}):_vm._e(),(_vm.showPhone)?_c('v-text-field',{staticStyle:{\"min-width\":\"250px\"},attrs:{\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"label\":\"Phone\",\"disabled\":_vm.previewMode,\"rules\":_vm.required ? _vm.inputRequired : []},on:{\"input\":_vm.handleChange},model:{value:(_vm.phone),callback:function ($$v) {_vm.phone=$$v},expression:\"phone\"}}):_vm._e()],1):_vm._e(),(_vm.showAddress)?_c('div',{staticClass:\"column-format gap-2\"},[_c('div',{staticClass:\"row-format gap-2\",staticStyle:{\"flex-wrap\":\"wrap\"}},[_c('v-text-field',{staticStyle:{\"min-width\":\"250px\"},attrs:{\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"label\":_vm.$t('contact.address1'),\"disabled\":_vm.previewMode,\"rules\":_vm.required ? _vm.inputRequired : []},on:{\"input\":_vm.handleChange},model:{value:(_vm.address1),callback:function ($$v) {_vm.address1=$$v},expression:\"address1\"}}),_c('v-text-field',{staticStyle:{\"min-width\":\"250px\"},attrs:{\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"label\":_vm.$t('contact.address2'),\"disabled\":_vm.previewMode},on:{\"input\":_vm.handleChange},model:{value:(_vm.address2),callback:function ($$v) {_vm.address2=$$v},expression:\"address2\"}})],1),_c('div',{staticClass:\"row-format gap-2\",staticStyle:{\"flex-wrap\":\"wrap\"}},[_c('v-text-field',{staticStyle:{\"min-width\":\"250px\"},attrs:{\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"label\":_vm.$t('contact.city'),\"disabled\":_vm.previewMode,\"rules\":_vm.required ? _vm.inputRequired : []},on:{\"input\":_vm.handleChange},model:{value:(_vm.city),callback:function ($$v) {_vm.city=$$v},expression:\"city\"}}),_c('v-text-field',{staticStyle:{\"min-width\":\"250px\"},attrs:{\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"label\":_vm.$t('contact.locality'),\"disabled\":_vm.previewMode,\"rules\":_vm.required ? _vm.inputRequired : []},on:{\"input\":_vm.handleChange},model:{value:(_vm.locality),callback:function ($$v) {_vm.locality=$$v},expression:\"locality\"}})],1),_c('div',{staticClass:\"row-format gap-2\",staticStyle:{\"flex-wrap\":\"wrap\"}},[_c('v-text-field',{staticStyle:{\"min-width\":\"250px\"},attrs:{\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"label\":_vm.$t('contact.postal'),\"disabled\":_vm.previewMode,\"rules\":_vm.required ? _vm.inputRequired : []},on:{\"input\":_vm.handleChange},model:{value:(_vm.postal),callback:function ($$v) {_vm.postal=$$v},expression:\"postal\"}}),_c('div',{style:(_vm.$vuetify.breakpoint.smAndDown ? 'width: 100%' : 'width:49%')},[_c('v-autocomplete',{attrs:{\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"disabled\":_vm.previewMode,\"label\":_vm.$t('contact.country'),\"items\":_vm.countries.getCountriesSimple(),\"item-value\":\"code\",\"item-text\":\"name\",\"rules\":_vm.required ? _vm.inputRequired : []},on:{\"input\":_vm.handleChange},model:{value:(_vm.country),callback:function ($$v) {_vm.country=$$v},expression:\"country\"}})],1)],1)]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<v-form @submit.prevent v-model=\"isValid\" lazy-validation ref=\"form\">\n\t\t<div class=\"column-format gap-2\">\n\t\t\t<div class=\"row-format gap-2\" style=\"flex-wrap: wrap\" v-if=\"showBusiness || showWebsite\">\n\t\t\t\t<v-text-field\n\t\t\t\t\thide-details\n\t\t\t\t\tdense\n\t\t\t\t\toutlined\n\t\t\t\t\tclass=\"\"\n\t\t\t\t\tstyle=\"min-width: 250px\"\n\t\t\t\t\tlabel=\"Business / Organization name\"\n\t\t\t\t\tv-if=\"showBusiness\"\n\t\t\t\t\tv-model=\"businessName\"\n\t\t\t\t\t:disabled=\"previewMode\"\n\t\t\t\t\t:rules=\"required ? inputRequired : []\"\n\t\t\t\t\t@input=\"handleChange\"\n\t\t\t\t></v-text-field>\n\t\t\t\t<v-text-field\n\t\t\t\t\thide-details\n\t\t\t\t\tdense\n\t\t\t\t\toutlined\n\t\t\t\t\tclass=\"\"\n\t\t\t\t\tstyle=\"min-width: 250px\"\n\t\t\t\t\t:label=\"$t('contact.website')\"\n\t\t\t\t\tv-model=\"website\"\n\t\t\t\t\tv-if=\"showWebsite\"\n\t\t\t\t\t:disabled=\"previewMode\"\n\t\t\t\t\t:rules=\"required ? inputRequired : []\"\n\t\t\t\t\t@input=\"handleChange\"\n\t\t\t\t></v-text-field>\n\t\t\t</div>\n\n\t\t\t<div class=\"row-format gap-2\" style=\"flex-wrap: wrap\" v-if=\"showContact\">\n\t\t\t\t<v-text-field\n\t\t\t\t\tlabel=\"First name\"\n\t\t\t\t\thide-details\n\t\t\t\t\tdense\n\t\t\t\t\toutlined\n\t\t\t\t\tclass=\"\"\n\t\t\t\t\tstyle=\"min-width: 250px\"\n\t\t\t\t\tv-model=\"firstName\"\n\t\t\t\t\t:rules=\"required ? inputRequired : []\"\n\t\t\t\t\t:disabled=\"previewMode\"\n\t\t\t\t\t@input=\"handleChange\"\n\t\t\t\t></v-text-field>\n\t\t\t\t<v-text-field\n\t\t\t\t\tlabel=\"Last name\"\n\t\t\t\t\thide-details\n\t\t\t\t\tdense\n\t\t\t\t\toutlined\n\t\t\t\t\tclass=\"\"\n\t\t\t\t\tstyle=\"min-width: 250px\"\n\t\t\t\t\tv-model=\"lastName\"\n\t\t\t\t\t:disabled=\"previewMode\"\n\t\t\t\t\t:rules=\"required ? inputRequired : []\"\n\t\t\t\t\t@input=\"handleChange\"\n\t\t\t\t></v-text-field>\n\t\t\t</div>\n\t\t\t<div class=\"row-format gap-2\" style=\"flex-wrap: wrap\" v-if=\"showEmail || showPhone\">\n\t\t\t\t<v-text-field\n\t\t\t\t\tlabel=\"Email\"\n\t\t\t\t\thide-details\n\t\t\t\t\tdense\n\t\t\t\t\toutlined\n\t\t\t\t\tclass=\"\"\n\t\t\t\t\tstyle=\"min-width: 250px\"\n\t\t\t\t\tv-model=\"email\"\n\t\t\t\t\tv-if=\"showEmail\"\n\t\t\t\t\t:disabled=\"previewMode\"\n\t\t\t\t\t:rules=\"required ? emailRequired : []\"\n\t\t\t\t\t@input=\"handleChange\"\n\t\t\t\t></v-text-field>\n\t\t\t\t<v-text-field\n\t\t\t\t\thide-details\n\t\t\t\t\tdense\n\t\t\t\t\toutlined\n\t\t\t\t\tclass=\"\"\n\t\t\t\t\tstyle=\"min-width: 250px\"\n\t\t\t\t\tlabel=\"Phone\"\n\t\t\t\t\tv-model=\"phone\"\n\t\t\t\t\tv-if=\"showPhone\"\n\t\t\t\t\t:disabled=\"previewMode\"\n\t\t\t\t\t:rules=\"required ? inputRequired : []\"\n\t\t\t\t\t@input=\"handleChange\"\n\t\t\t\t></v-text-field>\n\t\t\t</div>\n\t\t\t<div v-if=\"showAddress\" class=\"column-format gap-2\">\n\t\t\t\t<div class=\"row-format gap-2\" style=\"flex-wrap: wrap\">\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tdense\n\t\t\t\t\t\toutlined\n\t\t\t\t\t\tclass=\"\"\n\t\t\t\t\t\tstyle=\"min-width: 250px\"\n\t\t\t\t\t\tv-model=\"address1\"\n\t\t\t\t\t\t:label=\"$t('contact.address1')\"\n\t\t\t\t\t\t:disabled=\"previewMode\"\n\t\t\t\t\t\t:rules=\"required ? inputRequired : []\"\n\t\t\t\t\t\t@input=\"handleChange\"\n\t\t\t\t\t></v-text-field>\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tdense\n\t\t\t\t\t\toutlined\n\t\t\t\t\t\tclass=\"\"\n\t\t\t\t\t\tstyle=\"min-width: 250px\"\n\t\t\t\t\t\tv-model=\"address2\"\n\t\t\t\t\t\t:label=\"$t('contact.address2')\"\n\t\t\t\t\t\t:disabled=\"previewMode\"\n\t\t\t\t\t\t@input=\"handleChange\"\n\t\t\t\t\t></v-text-field>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"row-format gap-2\" style=\"flex-wrap: wrap\">\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tdense\n\t\t\t\t\t\toutlined\n\t\t\t\t\t\tclass=\"\"\n\t\t\t\t\t\tstyle=\"min-width: 250px\"\n\t\t\t\t\t\tv-model=\"city\"\n\t\t\t\t\t\t:label=\"$t('contact.city')\"\n\t\t\t\t\t\t:disabled=\"previewMode\"\n\t\t\t\t\t\t:rules=\"required ? inputRequired : []\"\n\t\t\t\t\t\t@input=\"handleChange\"\n\t\t\t\t\t></v-text-field>\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\tv-model=\"locality\"\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tdense\n\t\t\t\t\t\toutlined\n\t\t\t\t\t\tclass=\"\"\n\t\t\t\t\t\tstyle=\"min-width: 250px\"\n\t\t\t\t\t\t:label=\"$t('contact.locality')\"\n\t\t\t\t\t\t:disabled=\"previewMode\"\n\t\t\t\t\t\t:rules=\"required ? inputRequired : []\"\n\t\t\t\t\t\t@input=\"handleChange\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"row-format gap-2\" style=\"flex-wrap: wrap\">\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\tv-model=\"postal\"\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tdense\n\t\t\t\t\t\toutlined\n\t\t\t\t\t\tclass=\"\"\n\t\t\t\t\t\tstyle=\"min-width: 250px\"\n\t\t\t\t\t\t:label=\"$t('contact.postal')\"\n\t\t\t\t\t\t:disabled=\"previewMode\"\n\t\t\t\t\t\t:rules=\"required ? inputRequired : []\"\n\t\t\t\t\t\t@input=\"handleChange\"\n\t\t\t\t\t></v-text-field>\n\n\t\t\t\t\t<div :style=\"$vuetify.breakpoint.smAndDown ? 'width: 100%' : 'width:49%'\" class=\"\">\n\t\t\t\t\t\t<v-autocomplete\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\toutlined\n\t\t\t\t\t\t\t:disabled=\"previewMode\"\n\t\t\t\t\t\t\tv-model=\"country\"\n\t\t\t\t\t\t\t:label=\"$t('contact.country')\"\n\t\t\t\t\t\t\t:items=\"countries.getCountriesSimple()\"\n\t\t\t\t\t\t\titem-value=\"code\"\n\t\t\t\t\t\t\titem-text=\"name\"\n\t\t\t\t\t\t\t:rules=\"required ? inputRequired : []\"\n\t\t\t\t\t\t\t@input=\"handleChange\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</v-form>\n</template>\n\n<script>\n\timport Countries from '@/modules/utils/Countries.js';\n\texport default {\n\t\tname: 'LeadContact',\n\t\tprops: ['previewMode', 'options', 'required'],\n\n\t\tcomponents: {},\n\n\t\tmounted() {},\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tbusinessName: null,\n\t\t\t\tfirstName: null,\n\t\t\t\tlastName: null,\n\t\t\t\temail: null,\n\t\t\t\tphone: null,\n\t\t\t\twebsite: null,\n\t\t\t\taddress1: null,\n\t\t\t\taddress2: null,\n\t\t\t\tcity: null,\n\t\t\t\tlocality: null,\n\t\t\t\tpostal: null,\n\t\t\t\tcountry: null,\n\t\t\t\tcountries: new Countries(),\n\n\t\t\t\tisValid: false,\n\t\t\t\tinputRequired: [(v) => !!v || 'Required'],\n\n\t\t\t\temailRequired: [\n\t\t\t\t\t(v) => !!v || 'Email is required',\n\t\t\t\t\t(v) =>\n\t\t\t\t\t\t\t/^(([^<>()[\\]\\\\.,;:\\s@']+(\\.[^<>()\\\\[\\]\\\\.,;:\\s@']+)*)|('.+'))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(\n\t\t\t\t\t\t\t\t\tv\n\t\t\t\t\t\t\t) || 'Please enter a valid email address',\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\thandleChange: function () {\n\t\t\t\tthis.$emit('input', {\n\t\t\t\t\tbusinessName: this.businessName,\n\t\t\t\t\tfirstName: this.firstName,\n\t\t\t\t\tlastName: this.lastName,\n\t\t\t\t\temail: this.email,\n\t\t\t\t\tphone: this.phone,\n\t\t\t\t\twebsite: this.website,\n\t\t\t\t\taddress1: this.address1,\n\t\t\t\t\taddress2: this.address2,\n\t\t\t\t\tcity: this.city,\n\t\t\t\t\tlocality: this.locality,\n\t\t\t\t\tpostal: this.postal,\n\t\t\t\t\tcountry: this.country,\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tvalidate: function(){\n\t\t\t\treturn this.$refs.form.validate();\n\t\t\t},\n\n\t\t\tgetSelected: function (key) {\n\t\t\t\treturn this.options.includes(key);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tshowBusiness: function () {\n\t\t\t\treturn this.getSelected('BusinessName');\n\t\t\t},\n\t\t\tshowContact: function () {\n\t\t\t\treturn this.getSelected('ContactName');\n\t\t\t},\n\t\t\tshowPhone: function () {\n\t\t\t\treturn this.getSelected('Phone');\n\t\t\t},\n\t\t\tshowEmail: function () {\n\t\t\t\treturn this.getSelected('Email');\n\t\t\t},\n\t\t\tshowWebsite: function () {\n\t\t\t\treturn this.getSelected('Website');\n\t\t\t},\n\t\t\tshowAddress: function () {\n\t\t\t\treturn this.getSelected('Address');\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeadContact.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeadContact.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LeadContact.vue?vue&type=template&id=722343bb&scoped=true\"\nimport script from \"./LeadContact.vue?vue&type=script&lang=js\"\nexport * from \"./LeadContact.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"722343bb\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAutocomplete,VForm,VTextField})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-input\"},[_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('label',{staticClass:\"question\",domProps:{\"innerHTML\":_vm._s(_vm.htmlText)}}),_c('date-selector',{class:_vm.wasValidated && !_vm.ourDate ? 'error-state' : '',attrs:{\"disabled\":_vm.previewMode,\"standard\":true},on:{\"change\":function($event){return _vm.setDate($event)}}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"text-input\">\n\t\t<v-form @submit.prevent v-model=\"isValid\" lazy-validation ref=\"form\">\n\t\t\t<label v-html=\"htmlText\" class=\"question\"></label>\n\t\t\t<date-selector :disabled=\"previewMode\" :standard=\"true\" @change=\"setDate($event)\" :class=\"wasValidated && !ourDate ? 'error-state' : ''\"></date-selector>\n\t\t</v-form>\n\t</div>\n</template>\n\n<script>\n\timport DateSelector from \"@/components/DateSelector\";\n\texport default {\n\t\tname: 'DateInput',\n\t\tcomponents: {DateSelector},\n\t\tprops: ['htmlHeader', 'options', 'htmlText', 'fieldType', 'previewMode','required'],\n\n\t\tmounted() {},\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tourDate: null,\n\t\t\t\tisValid: false,\n\t\t\t\twasValidated: false,\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\tvalidate: function () {\n\t\t\t\tthis.wasValidated = true;\n\t\t\t\tif(this.required && !this.ourDate){\n\t\t\t\t\treturn false;\n\t\t\t\t}else{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsetDate: function(date){\n\t\t\t\tthis.ourDate = date;\n\t\t\t\tthis.$emit('input',date);\n\t\t\t}\n\t\t},\n\n\t\tcomputed: {\n\t\t\tplaceholder: function () {\n\t\t\t\tif (this.previewMode) {\n\t\t\t\t\treturn this.$t('discovery.client-answer');\n\t\t\t\t} else {\n\t\t\t\t\treturn this.$t('discovery.your-answer');\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.error-state {\n\t\tborder: 1px solid var(--v-error-base);\n\t\tborder-radius: 4px\n\t}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DateInput.vue?vue&type=template&id=15d25c73&scoped=true\"\nimport script from \"./DateInput.vue?vue&type=script&lang=js\"\nexport * from \"./DateInput.vue?vue&type=script&lang=js\"\nimport style0 from \"./DateInput.vue?vue&type=style&index=0&id=15d25c73&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"15d25c73\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VForm } from 'vuetify/lib/components/VForm';\ninstallComponents(component, {VForm})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-input\"},[_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('label',{staticClass:\"question\",domProps:{\"innerHTML\":_vm._s(_vm.htmlText)}}),_c('v-file-input',{staticClass:\"file-upload pointer\",attrs:{\"disabled\":_vm.previewMode,\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"multiple\":\"\",\"append-icon\":\"attach_file\"},on:{\"change\":_vm.handleChange},scopedSlots:_vm._u([{key:\"selection\",fn:function({ text }){return [_c('v-chip',{attrs:{\"small\":\"\",\"label\":\"\",\"color\":\"primary\"}},[_vm._v(\" \"+_vm._s(text)+\" \")])]}}]),model:{value:(_vm.files),callback:function ($$v) {_vm.files=$$v},expression:\"files\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"text-input\">\n    <v-form @submit.prevent v-model=\"isValid\" lazy-validation ref=\"form\">\n\t\t\t<label v-html=\"htmlText\" class=\"question\"></label>\n\t\t\t<v-file-input class=\"file-upload pointer\" :disabled=\"previewMode\" hide-details dense outlined multiple append-icon=\"attach_file\" @change=\"handleChange\" v-model=\"files\">\n\t\t\t\t<template v-slot:selection=\"{ text }\">\n\t\t\t\t\t<v-chip small label color=\"primary\">\n\t\t\t\t\t\t{{ text }}\n\t\t\t\t\t</v-chip>\n\t\t\t\t</template>\n\t\t\t</v-file-input>\n\t\t</v-form>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'DateInput',\n\t\tcomponents: {},\n\t\tprops: ['htmlHeader', 'options', 'htmlText', 'fieldType', 'previewMode', 'required'],\n\n\t\tmounted() {},\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tourDate: null,\n\t\t\t\tisValid: false,\n\t\t\t\twasValidated: false,\n\t\t\t\tfiles: [],\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\tvalidate: function() {\n\t\t\t\tthis.wasValidated = true;\n\t\t\t\tif (this.required && !this.files.length) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandleChange: function() {\n\t\t\t\tthis.$emit('input', this.files);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\n\t.file-upload .v-input__prepend-outer {\n\t\tdisplay: none!important;\n\t}\n\n\t.error-state {\n\t\tborder: 1px solid var(--v-error-base);\n\t\tborder-radius: 4px;\n\t}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileInput.vue?vue&type=template&id=7ee01af8\"\nimport script from \"./FileInput.vue?vue&type=script&lang=js\"\nexport * from \"./FileInput.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileInput.vue?vue&type=style&index=0&id=7ee01af8&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VFileInput } from 'vuetify/lib/components/VFileInput';\nimport { VForm } from 'vuetify/lib/components/VForm';\ninstallComponents(component, {VChip,VFileInput,VForm})\n","<template>\n\t<div>\n    <div v-for=\"field in schema\" :key=\"field.id\" class=\"text-left\">\n\t\t\t<component\n\t\t\t\t\tref=\"inputField\"\n\t\t\t\t\t:key=\"field.id\"\n\t\t\t\t\t:is=\"field.fieldType\"\n\t\t\t\t\t:value=\"formData[field.name]\"\n\t\t\t\t\t:preview-mode=\"previewMode\"\n\t\t\t\t\t@input=\"updateForm(field.id, $event)\"\n\t\t\t\t\tv-bind=\"field\"\n\t\t\t></component>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport CheckboxInput from '@/modules/forms/v1/renderer/CheckboxInput';\n\timport RadioInput from '@/modules/forms/v1/renderer/RadioInput';\n\timport SelectInput from '@/modules/forms/v1/renderer/SelectInput';\n\timport TextBlock from '@/modules/forms/v1/renderer/TextBlock';\n\timport TextInput from '@/modules/forms/v1/renderer/TextInput';\n\timport LeadContact from \"@/modules/forms/v1/renderer/LeadContact\";\n\timport DateInput from \"@/modules/forms/v1/renderer/DateInput\";\n\timport FileInput from \"@/modules/forms/v1/renderer/FileInput\";\n\n\texport default {\n\t\tname: 'Renderer',\n\n\t\tprops: ['schema','value'],\n\n\t\tcomponents: { CheckboxInput, RadioInput, SelectInput, TextBlock, TextInput, LeadContact, DateInput, FileInput },\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tformData: this.value || {},\n\t\t\t\tpreviewMode: false\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tvalidate: function(){\n\t\t\t\tlet invalidCount = 0;\n\t\t\t\tfor(let i=0; i < this.schema.length; i++){\n\t\t\t\t\tif(!this.$refs.inputField[i].validate()){\n\t\t\t\t\t\tinvalidCount++\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif(invalidCount){\n\t\t\t\t\treturn false;\n\t\t\t\t}else{\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tupdateForm(id, value) {\n\t\t\t\tthis.$set(this.formData, id, value);\n\t\t\t\tthis.$emit('input', this.formData);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Renderer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Renderer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Renderer.vue?vue&type=template&id=c60b50b0&scoped=true\"\nimport script from \"./Renderer.vue?vue&type=script&lang=js\"\nexport * from \"./Renderer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"c60b50b0\",\n  null\n  \n)\n\nexport default component.exports","<template>\n\t<div\n\t\tv-if=\"form\"\n\t\t:class=\"`${inFrame ? 'outer-wrapper-in-frame' : 'outer-wrapper'} row-format centered`\"\n\t\t:style=\"`font-family: ${font}; --background-color: ${form.accentColor}`\"\n\t>\n\t\t<v-container :class=\"`${inFrame ? 'main-wrapper-in-frame' : 'main-wrapper'}`\" v-if=\"form\">\n\t\t\t<v-row v-if=\"form.showLogo && form.accountLogo\">\n\t\t\t\t<v-col cols=\"12\">\n\t\t\t\t\t<img :src=\"form.accountLogo\" style=\"max-height: 100px; max-width: 250px\" />\n\t\t\t\t</v-col>\n\t\t\t</v-row>\n\t\t\t<v-row v-if=\"!complete\" dense>\n\t\t\t\t<v-col cols=\"12\">\n\t\t\t\t\t<div class=\"mx-4\">\n\t\t\t\t\t\t<renderer ref=\"renderer\" :schema=\"form.schema\" @input=\"handleResult\"></renderer>\n\t\t\t\t\t</div>\n\t\t\t\t</v-col>\n\t\t\t\t<v-col cols=\"12\">\n\t\t\t\t\t<div class=\"mx-8 mt-4\">\n\t\t\t\t\t\t<v-btn width=\"150\" :color=\"form.accentColor\" elevation=\"0\" @click=\"saveForm\"\n\t\t\t\t\t\t\t><span\n\t\t\t\t\t\t\t\t:style=\"`font-weight: 600; color: ${form.buttonText}!important; text-transform:none!important`\"\n\t\t\t\t\t\t\t\t>{{ $t('global.submit') }}</span\n\t\t\t\t\t\t\t></v-btn\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"font-10 font-gray_70 mt-8\">\n\t\t\t\t\t\t\tThis page is protected by reCAPTCHA and the Google\n\t\t\t\t\t\t\t<a href=\"https://policies.google.com/privacy\">Privacy Policy</a> and\n\t\t\t\t\t\t\t<a href=\"https://policies.google.com/terms\">Terms of Service</a> apply.\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</v-col>\n\t\t\t</v-row>\n\t\t\t<v-row v-else>\n\t\t\t\t<v-col cols=\"12\">{{ $t('discovery.complete') }}</v-col>\n\t\t\t</v-row>\n\t\t</v-container>\n\n\t\t<v-snackbar v-model=\"showError\" top color=\"gray_80\" :timeout=\"5000\">\n\t\t\t{{ errorText }}\n\t\t\t<template v-slot:action=\"{ attrs }\">\n\t\t\t\t<v-btn color=\"error\" text v-bind=\"attrs\" @click=\"showError = false\"> OK </v-btn>\n\t\t\t</template>\n\t\t</v-snackbar>\n\t</div>\n</template>\n\n<script>\n  import Renderer from '@/modules/forms/v1/renderer/Renderer';\n\n  export default {\n\t\tname: 'FormV1',\n\n\t\tprops: ['form', 'font', 'inFrame','complete'],\n\n\t\tcomponents: { Renderer },\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tresult: null,\n\t\t\t\tshowError: false,\n\t\t\t\terrorText: null,\n\t\t\t\tshowSubmitButton: true,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tsaveForm: function () {\n\t\t\t\tif (!this.$refs.renderer.validate()) {\n\t\t\t\t\tthis.errorText = 'Please correct the errors in your form';\n\t\t\t\t\tthis.showError = true;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tlet formResult = {};\n\n\t\t\t\tlet answers = [];\n\t\t\t\tlet files = [];\n\t\t\t\tlet keys = Object.keys(this.result);\n\n\t\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\t\tlet id = keys[i];\n\t\t\t\t\tlet schemaIndex = this.form.schema.findIndex((s) => s.id === keys[i]);\n\t\t\t\t\tlet schemaItem = this.form.schema.find((s) => s.id === keys[i]);\n\n\t\t\t\t\tif (schemaItem.fieldType === 'LeadContact') {\n\t\t\t\t\t\tlet contactInfo = this.result[keys[i]];\n\t\t\t\t\t\tObject.keys(contactInfo).forEach((p) => {\n\t\t\t\t\t\t\tif (contactInfo[p]) {\n\t\t\t\t\t\t\t\tformResult[p] = contactInfo[p];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet answer;\n\t\t\t\t\t\tlet question = schemaItem.htmlText;\n\n\t\t\t\t\t\tif (schemaItem.fieldType === 'FileInput') {\n\t\t\t\t\t\t\tlet fileResult = this.result[keys[i]];\n\t\t\t\t\t\t\tfiles.push(...fileResult);\n\t\t\t\t\t\t\tanswer = JSON.stringify(files.map((f) => f.name));\n\t\t\t\t\t\t} else if (Array.isArray(this.result[keys[i]])) {\n\t\t\t\t\t\t\tanswer = this.result[keys[i]].join(',');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tanswer = this.result[keys[i]];\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tanswers.push({\n\t\t\t\t\t\t\tindex: schemaIndex,\n\t\t\t\t\t\t\tid: id,\n\t\t\t\t\t\t\tquestion: question,\n\t\t\t\t\t\t\tanswer: answer,\n\t\t\t\t\t\t\tfieldKey: schemaItem.fieldKey,\n\t\t\t\t\t\t\tfieldType: schemaItem.fieldType,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tanswers.sort((a, b) => a.index - b.index);\n\t\t\t\tformResult.answers = answers;\n\n\t\t\t\tthis.$emit('complete', {\n\t\t\t\t\tformResult: formResult,\n\t\t\t\t\tfiles: files,\n\t\t\t\t});\n\t\t\t},\n\n\t\t\thandleResult: function (result) {\n\t\t\t\tthis.result = result;\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.outer-wrapper {\n\t\tbackground-color: var(--v-gray_20-base);\n\t\tmin-height: 100vh;\n\t}\n\n\t.outer-wrapper-in-frame {\n\t}\n\n\t.main-wrapper {\n\t\t//box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;\n\t\tborder: 1px solid var(--v-gray_50-base);\n\t\tborder-radius: 2px;\n\t\tmax-width: 900px;\n\t\tmargin: 20px;\n\t\tpadding: 24px;\n\t\theight: fit-content;\n\t\tbackground-color: var(--v-white-base);\n\t}\n\n\t.main-wrapper-in-frame {\n\t\t//border: 1px solid var(--v-gray_50-base);\n\t\t//border-radius: 2px;\n\t\t//margin: 5px;\n\t\t//background-color: var(--v-white-base);\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormV1.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormV1.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FormV1.vue?vue&type=template&id=fa62fc7e&scoped=true\"\nimport script from \"./FormV1.vue?vue&type=script&lang=js\"\nexport * from \"./FormV1.vue?vue&type=script&lang=js\"\nimport style0 from \"./FormV1.vue?vue&type=style&index=0&id=fa62fc7e&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"fa62fc7e\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\ninstallComponents(component, {VBtn,VCol,VContainer,VRow,VSnackbar})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isReady)?_c('div',{key:_vm.refreshKey,class:`${_vm.inFrame ? 'outer-wrapper-in-frame' : 'outer-wrapper'} pa-6 column-format align-center main-form`,style:(`background-color: ${_vm.styles.backgroundColor}; width:100%; --font-color: ${_vm.styles.fontColor}; --form-font-size: ${_vm.styles.fontSize}px; --form-input-color: ${_vm.styles.formInputColor}; font-family: '${_vm.form.font}'; color: ${_vm.styles.fontColor}!important`)},[(!_vm.complete)?_c('div',{style:(`width:100%; min-width: 300px; max-width: ${_vm.styles.maxWidth}px`)},[_vm._l((_vm.pages[_vm.currentPage]),function(item,index){return _c('div',{key:item.id,attrs:{\"id\":item.id}},[_c('item-renderer',{ref:\"item\",refInFor:true,attrs:{\"index\":index + ((_vm.currentPage + 1) * 1000),\"item\":item,\"styles\":_vm.styles,\"font\":_vm.font,\"button-props\":_vm.buttonProps,\"disabled\":_vm.disabled,\"current-page\":_vm.currentPage + 1,\"page-count\":_vm.pages.length,\"account-logo\":_vm.accountLogo,\"active\":false,\"results\":_vm.results,\"known-data\":_vm.defaultContact},on:{\"next-page\":function($event){return _vm.nextPage()},\"previous-page\":function($event){return _vm.previousPage()},\"input\":function($event){return _vm.handleInput($event)}}})],1)}),(_vm.isLastPage)?_c('div',[_c('div',{staticClass:\"row-format gap-2 pt-2 px-2\",style:(`width: 100%; justify-content: ${_vm.justification}`)},[(_vm.pages.length > 1)?_c('v-btn',{staticClass:\"elevation-0\",style:(`font-size: var(--form-font-size) !important; ${\n\t\t\t\t\t\t_vm.buttonProps.block ? 'width: 49%!important;' : ''\n\t\t\t\t\t}`),attrs:{\"color\":_vm.styles.buttonColor,\"x-small\":_vm.buttonProps.xSmall,\"small\":_vm.buttonProps.small,\"large\":_vm.buttonProps.large,\"x-large\":_vm.buttonProps.xLarge},on:{\"click\":_vm.previousPage}},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"color\":_vm.styles.buttonTextColor}},[_vm._v(_vm._s(_vm.styles.prevPageIcon))]),_c('span',{style:(`font-family: ${_vm.font}; ; text-transform: none; color: ${_vm.styles.buttonTextColor}`)},[_vm._v(_vm._s(_vm.styles.prevPageText))])],1):_vm._e(),_c('v-btn',{staticClass:\"elevation-0\",style:(`font-size: var(--form-font-size) !important; ${\n\t\t\t\t\t\t_vm.pages.length > 1 && _vm.buttonProps.block ? 'width: 49%!important;' : ''\n\t\t\t\t\t}`),attrs:{\"color\":_vm.styles.buttonColor,\"x-small\":_vm.buttonProps.xSmall,\"small\":_vm.buttonProps.small,\"large\":_vm.buttonProps.large,\"x-large\":_vm.buttonProps.xLarge,\"block\":_vm.pages.length === 1 && _vm.buttonProps.block,\"disabled\":_vm.disabled},on:{\"click\":function($event){return _vm.submitForm()}}},[_c('span',{style:(`font-family: ${_vm.font}; ; text-transform: none; color: ${_vm.styles.buttonTextColor}`)},[_vm._v(_vm._s(_vm.styles.submitText))]),(_vm.styles.submitIcon)?_c('v-icon',{staticClass:\"ml-1 material-symbols-outlined\",attrs:{\"color\":_vm.$vuetify.theme.dark ? 'black' : _vm.styles.buttonTextColor}},[_vm._v(_vm._s(_vm.styles.submitIcon))]):_vm._e()],1)],1),_vm._m(0)]):_vm._e()],2):_c('div',[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.form.confirmationText)}})]),_c('v-snackbar',{attrs:{\"top\":\"\",\"color\":\"gray_80\",\"timeout\":5000},scopedSlots:_vm._u([{key:\"action\",fn:function({ attrs }){return [_c('v-btn',_vm._b({attrs:{\"color\":\"error\",\"text\":\"\"},on:{\"click\":function($event){_vm.showError = false}}},'v-btn',attrs,false),[_vm._v(\" OK \")])]}}],null,false,441339782),model:{value:(_vm.showError),callback:function ($$v) {_vm.showError=$$v},expression:\"showError\"}},[_vm._v(\" \"+_vm._s(_vm.errorText)+\" \")])],1):_vm._e()\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"font-10 font-gray_60 mt-8\"},[_vm._v(\" This page is protected by reCAPTCHA and the Google \"),_c('a',{attrs:{\"href\":\"https://policies.google.com/privacy\"}},[_vm._v(\"Privacy Policy\")]),_vm._v(\" and \"),_c('a',{attrs:{\"href\":\"https://policies.google.com/terms\"}},[_vm._v(\"Terms of Service\")]),_vm._v(\" apply. \")])\n}]\n\nexport { render, staticRenderFns }","<template>\n\t<div\n\t\t:style=\"`background-color: ${styles.backgroundColor}; width:100%; --font-color: ${styles.fontColor}; --form-font-size: ${styles.fontSize}px; --form-input-color: ${styles.formInputColor}; font-family: '${form.font}'; color: ${styles.fontColor}!important`\"\n\t\t:class=\"`${inFrame ? 'outer-wrapper-in-frame' : 'outer-wrapper'} pa-6 column-format align-center main-form`\"\n\t\t:key=\"refreshKey\" v-if=\"isReady\"\n\t>\n\t\t<div :style=\"`width:100%; min-width: 300px; max-width: ${styles.maxWidth}px`\" v-if=\"!complete\">\n\t\t\t<div v-for=\"(item, index) in pages[currentPage]\" :key=\"item.id\" :id=\"item.id\">\n\t\t\t\t<item-renderer\n\t\t\t\t\tref=\"item\"\n\t\t\t\t\t:index=\"index + ((currentPage + 1) * 1000)\"\n\t\t\t\t\t:item=\"item\"\n\t\t\t\t\t:styles=\"styles\"\n\t\t\t\t\t:font=\"font\"\n\t\t\t\t\t:button-props=\"buttonProps\"\n\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t:current-page=\"currentPage + 1\"\n\t\t\t\t\t:page-count=\"pages.length\"\n\t\t\t\t\t:account-logo=\"accountLogo\"\n\t\t\t\t\t:active=\"false\"\n\t\t\t\t\t:results=\"results\"\n\t\t\t\t\t:known-data=\"defaultContact\"\n\t\t\t\t\t@next-page=\"nextPage()\"\n\t\t\t\t\t@previous-page=\"previousPage()\"\n\t\t\t\t\t@input=\"handleInput($event)\"\n\t\t\t\t></item-renderer>\n\t\t\t</div>\n\t\t\t<div v-if=\"isLastPage\">\n\t\t\t\t<div class=\"row-format gap-2 pt-2 px-2\" :style=\"`width: 100%; justify-content: ${justification}`\">\n\t\t\t\t\t<!--v-btn class=\"elevation-0\" :color=\"styles.buttonColor\" style=\"font-size: var(--form-font-size)!important\" v-if=\"styles.enableDraftSave\" @click=\"saveForm()\">\n\t\t\t\t\t\t<v-icon class=\"mr-1 material-symbols-outlined\" :color=\"styles.buttonTextColor\" v-if=\"styles.draftIcon\">{{ styles.draftIcon }}</v-icon>\n\t\t\t\t\t\t<span :style=\"`color: ${styles.buttonTextColor}`\">{{ styles.saveDraftText }}</span>\n\t\t\t\t\t</v-btn-->\n\t\t\t\t\t<v-btn\n\t\t\t\t\t\tv-if=\"pages.length > 1\"\n\t\t\t\t\t\tclass=\"elevation-0\"\n\t\t\t\t\t\t:color=\"styles.buttonColor\"\n\t\t\t\t\t\t:style=\"`font-size: var(--form-font-size) !important; ${\n\t\t\t\t\t\t\tbuttonProps.block ? 'width: 49%!important;' : ''\n\t\t\t\t\t\t}`\"\n\t\t\t\t\t\t:x-small=\"buttonProps.xSmall\"\n\t\t\t\t\t\t:small=\"buttonProps.small\"\n\t\t\t\t\t\t:large=\"buttonProps.large\"\n\t\t\t\t\t\t:x-large=\"buttonProps.xLarge\"\n\t\t\t\t\t\t@click=\"previousPage\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<v-icon class=\"mr-1\" :color=\"styles.buttonTextColor\">{{ styles.prevPageIcon }}</v-icon>\n\t\t\t\t\t\t<span :style=\"`font-family: ${font}; ; text-transform: none; color: ${styles.buttonTextColor}`\">{{ styles.prevPageText }}</span>\n\t\t\t\t\t</v-btn>\n\t\t\t\t\t<v-btn\n\t\t\t\t\t\tclass=\"elevation-0\"\n\t\t\t\t\t\t:style=\"`font-size: var(--form-font-size) !important; ${\n\t\t\t\t\t\t\tpages.length > 1 && buttonProps.block ? 'width: 49%!important;' : ''\n\t\t\t\t\t\t}`\"\n\t\t\t\t\t\t:color=\"styles.buttonColor\"\n\t\t\t\t\t\t:x-small=\"buttonProps.xSmall\"\n\t\t\t\t\t\t:small=\"buttonProps.small\"\n\t\t\t\t\t\t:large=\"buttonProps.large\"\n\t\t\t\t\t\t:x-large=\"buttonProps.xLarge\"\n\t\t\t\t\t\t:block=\"pages.length === 1 && buttonProps.block\"\n\t\t\t\t\t\t@click=\"submitForm()\"\n\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<span :style=\"`font-family: ${font}; ; text-transform: none; color: ${styles.buttonTextColor}`\">{{ styles.submitText }}</span>\n\t\t\t\t\t\t<v-icon\n\t\t\t\t\t\t\tclass=\"ml-1 material-symbols-outlined\"\n\t\t\t\t\t\t\t:color=\"$vuetify.theme.dark ? 'black' : styles.buttonTextColor\"\n\t\t\t\t\t\t\tv-if=\"styles.submitIcon\"\n\t\t\t\t\t\t\t>{{ styles.submitIcon }}</v-icon\n\t\t\t\t\t\t>\n\t\t\t\t\t</v-btn>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"font-10 font-gray_60 mt-8\">\n\t\t\t\t\tThis page is protected by reCAPTCHA and the Google\n\t\t\t\t\t<a href=\"https://policies.google.com/privacy\">Privacy Policy</a> and\n\t\t\t\t\t<a href=\"https://policies.google.com/terms\">Terms of Service</a> apply.\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-else>\n\t\t\t<div v-html=\"form.confirmationText\"></div>\n\t\t</div>\n\t\t<v-snackbar v-model=\"showError\" top color=\"gray_80\" :timeout=\"5000\">\n\t\t\t{{ errorText }}\n\t\t\t<template v-slot:action=\"{ attrs }\">\n\t\t\t\t<v-btn color=\"error\" text v-bind=\"attrs\" @click=\"showError = false\"> OK </v-btn>\n\t\t\t</template>\n\t\t</v-snackbar>\n\t</div>\n</template>\n\n<script>\n\timport ItemRenderer from '@/modules/forms/v2/schema/ItemRenderer';\n  import RendererMixin from \"@/modules/forms/v2/schema/RendererMixin\";\n\n\texport default {\n\t\tname: 'FormV2',\n\n\t\tprops: ['form', 'font', 'inFrame', 'inPortal', 'complete','disablePartialData'],\n\n\t\tcomponents: { ItemRenderer },\n\n    mixins: [RendererMixin],\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tcustomCss: null,\n\t\t\t\terrorText: null,\n\t\t\t\tshowError: false,\n\t\t\t\tresults: [],\n\t\t\t\tcurrentPage: 0,\n\t\t\t\trefreshKey: 0,\n\t\t\t\tdisabled: false,\n\t\t\t\tisReady: false,\n\t\t\t\tdefaultContact: null\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.loadPartialForm();\n\t\t\tthis.setCustomCss();\n\n\t\t\tlet urlParams = new URLSearchParams(window.location.search);\n\n\t\t\tif (urlParams.get('knownUser') === 'true') {\n\t\t\t\tthis.defaultContact = {\n\t\t\t\t\tfirstName: urlParams.get('firstName'),\n\t\t\t\t\tlastName: urlParams.get('lastName'),\n\t\t\t\t\temail: urlParams.get('email'),\n\t\t\t\t\tphone: urlParams.get('phone'),\n\t\t\t\t};\n\t\t\t}else if(this.$store.state.loggedInUser){\n        this.defaultContact = {\n          firstName: this.$store.state.loggedInUser.firstName,\n          lastName: this.$store.state.loggedInUser.lastName,\n          email: this.$store.state.loggedInUser.email,\n          phone: this.$store.state.loggedInUser.phone,\n        };\n      }\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t\tdocument.head.removeChild(this.customCss);\n\t\t},\n\n\t\tmethods: {\n\t\t\tloadPartialForm: function(){\n\t\t\t\tif(this.disablePartialData){\n\t\t\t\t\tthis.isReady = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tlet partialResult = localStorage.getItem(`${this.form.accountId}.${this.form.uniqueTemplateId}`);\n\t\t\t\t\tif (partialResult) {\n\t\t\t\t\t\tthis.results.push(...JSON.parse(partialResult));\n\t\t\t\t\t}\n\t\t\t\t}catch(err){\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t}\n\t\t\t\tthis.isReady = true;\n\t\t\t},\n\n\t\t\tsetCustomCss: function(){\n\t\t\t\tif(!this.customCss){\n\t\t\t\t\tthis.customCss = document.createElement('style');\n\t\t\t\t\tdocument.head.append(this.customCss);\n\t\t\t\t}\n\n\t\t\t\tthis.customCss.textContent = this.styles.customCss;\n\t\t\t},\n\n\t\t\tdoValidation: function () {\n\t\t\t\tlet invalidCount = 0;\n\t\t\t\tfor (let i = 0; i < this.$refs.item.length; i++) {\n\t\t\t\t\tif (!this.$refs.item[i].validate()) {\n\t\t\t\t\t\tinvalidCount++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (invalidCount) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsubmitForm: function () {\n\t\t\t\tif (!this.doValidation()) {\n\t\t\t\t\tthis.errorText = 'Please correct the errors in your form';\n\t\t\t\t\tthis.showError = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.results.sort((a, b) => a.index.toString().localeCompare(b.index.toString()));\n\t\t\t\t\n\t\t\t\tlet formResult = {};\n\t\t\t\tformResult.answers = [];\n\t\t\t\tlet files = [];\n\n\t\t\t\tfor (let i = 0; i < this.results.length; i++) {\n\t\t\t\t\tlet item = this.results[i].item;\n\t\t\t\t\tlet value = this.results[i].value;\n\t\t\t\t\tlet container = this.results[i].container;\n\n\t\t\t\t\tconsole.log('******************************************');\n\t\t\t\t\tconsole.log(item.fieldName);\n\n\t\t\t\t\tif(container && !this.colConditionMet(container)){\n\t\t\t\t\t\tconsole.log('exiting because container is hidden');\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}else if(!this.colConditionMet(item)) {\n\t\t\t\t\t\tconsole.log('exiting because item is hidden');\n            continue\n          }\n\n\t\t\t\t\tif (item.schemaMapping) {\n\t\t\t\t\t\tformResult[item.schemaMapping] = Array.isArray(value) ? value.join(', ') : value;\n\t\t\t\t\t\t//continue;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet answer;\n\t\t\t\t\tif (item.type === 'FileInput') {\n\t\t\t\t\t\tfiles.push(...value);\n\t\t\t\t\t\tanswer = JSON.stringify(value.map((f) => f.name));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tanswer = Array.isArray(value) ? value.join(', ') : value;\n\t\t\t\t\t}\n\n\t\t\t\t\tformResult.answers.push({\n\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\tfieldKey: item.fieldName,\n\t\t\t\t\t\tfieldType: item.type,\n\t\t\t\t\t\tquestion: item.question,\n\t\t\t\t\t\tanswer: answer,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tthis.$emit('complete', {\n\t\t\t\t\tformResult: formResult,\n\t\t\t\t\tfiles: files,\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tnextPage: function () {\n\t\t\t\tif (!this.disabled && !this.doValidation()) {\n\t\t\t\t\tthis.errorText = 'Please correct the errors in your form';\n\t\t\t\t\tthis.showError = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.currentPage++;\n\t\t\t\tthis.$nextTick(() => this.scrollToTop());\n\t\t\t},\n\n\t\t\tpreviousPage: function () {\n\t\t\t\tthis.currentPage--;\n\t\t\t\tthis.$nextTick(() => this.scrollToTop());\n\t\t\t},\n\n\t\t\tscrollToTop: function(){\n\t\t\t\tif(this.pages[this.currentPage] && this.pages[this.currentPage].length){\n\t\t\t\t\tlet id = this.pages[this.currentPage][0].id;\n\t\t\t\t\tlet div = document.getElementById(id);\n\t\t\t\t\tif(div){\n\t\t\t\t\t\tdiv.scrollIntoView({ block: 'start', behavior: 'smooth' });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandleInput: function (event) {\n\t\t\t\tlet ix = this.results.findIndex((r) => r.item.id === event.item.id);\n\n\t\t\t\tif (ix > -1) {\n\t\t\t\t\tthis.results.splice(ix, 1, event);\n\t\t\t\t} else {\n\t\t\t\t\tthis.results.push(event);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tlocalStorage.setItem(`${this.form.accountId}.${this.form.uniqueTemplateId}`, JSON.stringify(this.results));\n\t\t\t\t}catch(err){\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsetResults: function(previousResults){\n\t\t\t\tthis.results.push(... previousResults);\n\t\t\t\tthis.refreshKey++;\n\t\t\t\tthis.disabled = true;\n\t\t\t}\n\t\t},\n\n\t\twatch: {\n\t\t\tcomplete: function (val) {\n\t\t\t\tif (val) {\n\t\t\t\t\tif (this.form.confirmationRedirect) {\n\t\t\t\t\t\tif(this.inFrame || this.inPortal){\n              if(this.form.confirmationText) {\n                setTimeout(() => window.parent.postMessage('[Redirect]' + this.form.confirmationRedirect, '*'),5000);\n              }else{\n                window.parent.postMessage('[Redirect]' + this.form.confirmationRedirect, '*');\n              }\n\t\t\t\t\t\t}else {\n              if(this.form.confirmationText){\n                setTimeout(() => window.location = this.form.confirmationRedirect,5000);\n              }else {\n                window.location = this.form.confirmationRedirect;\n              }\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tisLastPage: function () {\n\t\t\t\tif (this.currentPage === this.pages.length - 1) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tpages: function () {\n\t\t\t\tlet pages = [[]];\n\t\t\t\tfor (let i = 0; i < this.schema.length; i++) {\n\t\t\t\t\tpages[pages.length - 1].push(this.schema[i]);\n\t\t\t\t\tif (this.schema[i].type === 'NewPage') {\n\t\t\t\t\t\tpages.push([]);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn pages;\n\t\t\t},\n\n\t\t\tstyles: function () {\n\t\t\t\treturn this.form.formSettingsV2;\n\t\t\t},\n\n\t\t\tschema: function () {\n\t\t\t\treturn this.form.schemaV2;\n\t\t\t},\n\n\t\t\tbuttonProps: function () {\n\t\t\t\tlet result = {\n\t\t\t\t\txSmall: this.styles.buttonSize === 'X-Small',\n\t\t\t\t\tsmall: this.styles.buttonSize === 'Small',\n\t\t\t\t\tlarge: this.styles.buttonSize === 'Large',\n\t\t\t\t\txLarge: this.styles.buttonSize === 'X-Large',\n\t\t\t\t\tblock: this.styles.buttonStyle === 'Block',\n\t\t\t\t};\n\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\taccountLogo: function () {\n\t\t\t\tif (this.$vuetify.theme.dark && this.form.accountLogoDark) {\n\t\t\t\t\treturn this.form.accountLogoDark;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.form.accountLogo;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tjustification: function () {\n\t\t\t\tif (this.styles.submitAlignment === 'JUSTIFIED') {\n\t\t\t\t\treturn 'space-between';\n\t\t\t\t} else if (this.styles.submitAlignment === 'LEFT') {\n\t\t\t\t\treturn 'flex-start';\n\t\t\t\t} else if (this.styles.submitAlignment === 'RIGHT') {\n\t\t\t\t\treturn 'flex-end';\n\t\t\t\t} else {\n\t\t\t\t\treturn 'center';\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.main-form {\n\t\t.v-text-field {\n\t\t\tbackground: var(--form-input-color) !important;\n\t\t\tbackground-color: var(--form-input-color) !important;\n\t\t}\n\t}\n\n\t.outer-wrapper {\n\t\tmin-height: 100vh;\n\t}\n\n\t.outer-wrapper-in-frame {\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormV2.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormV2.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FormV2.vue?vue&type=template&id=4d70f012\"\nimport script from \"./FormV2.vue?vue&type=script&lang=js\"\nexport * from \"./FormV2.vue?vue&type=script&lang=js\"\nimport style0 from \"./FormV2.vue?vue&type=style&index=0&id=4d70f012&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\ninstallComponents(component, {VBtn,VIcon,VSnackbar})\n","<template>\n  <div style=\"width:100%; height:100%; min-height: 100%\">\n    <form-v1 v-if=\"schemaVersion === 1\" :form=\"form\" :font=\"font\" :in-frame=\"false\" :complete=\"isComplete\" ref=\"form\" @complete=\"saveForm($event)\"></form-v1>\n    <form-v2 v-if=\"schemaVersion === 2\" :form=\"form\" :font=\"font\" :in-frame=\"false\" :complete=\"isComplete\" ref=\"form\" @complete=\"saveForm($event)\"></form-v2>\n  </div>\n</template>\n\n<script>\n\timport qs from 'qs';\n\timport HttpClient from '../../services/HttpClient';\n\timport WebFontLoader from 'webfontloader';\n  import FormV1 from '@/modules/forms/v1/FormV1';\n  import FormV2 from '@/modules/forms/v2/FormV2';\n\n\texport default {\n\t\tname: 'DiscoveryForm',\n\n    props: ['requestToken'],\n\n\t\tcomponents: { FormV1, FormV2 },\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\thttpClient: null,\n\t\t\t\tform: null,\n        schemaVersion: 0,\n\t\t\t\tresult: null,\n\t\t\t\ttoken: null,\n\t\t\t\tisComplete: false,\n\t\t\t\tnotFound: false,\n\t\t\t\tisSending: false,\n\t\t\t\tfont: null\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n      this.$vuetify.theme.dark = false;\n      setTimeout(() => this.$vuetify.theme.dark = false,50);\n\n      if(!this.requestToken){\n        let queryString = qs.parse(self.location.search.slice(1));\n        this.token = queryString.token;\n      }else{\n        this.token = this.requestToken;\n      }\n\n      let request = JSON.parse(atob(this.token.split('.')[0]));\n      this.podUrl = request.podUrl;\n      this.httpClient = new HttpClient(this.podUrl, false);\n\n      this.httpClient\n\t\t\t\t.get('/api/docs/discovery', {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\ttoken: this.token,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.then((res) => {\n\t\t\t\t\tthis.form = res.data;\n          this.schemaVersion = this.form.schemaVersion;\n\t\t\t\t\tWebFontLoader.load({\n\t\t\t\t\t\tgoogle: {\n\t\t\t\t\t\t\tfamilies: [`${this.form.font}:200,300,400,500,600`],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tactive: this.setFont,\n\t\t\t\t\t});\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tthis.notFound = true;\n\t\t\t\t\tconsole.log(err.response.data);\n\t\t\t\t});\n\t\t},\n\n\t\tmethods: {\n\t\t\thandleResult(result) {\n\t\t\t\tthis.result = result;\n\t\t\t},\n\n\t\t\tsetFont: function() {\n\t\t\t\tthis.font = this.form.font;\n\t\t\t},\n\n\t\t\tsaveForm(result) {\n        this.$store.commit('startLoading');\n        let formResult = result.formResult;\n        let files = result.files;\n\n\t\t\t\tlet response = {\n\t\t\t\t\ttoken: this.token,\n\t\t\t\t\tformData: formResult,\n\t\t\t\t};\n\n\t\t\t\tlet formData = new FormData();\n\t\t\t\tformData.append('response', JSON.stringify(response));\n\t\t\t\tfiles.forEach((a) => {\n\t\t\t\t\tformData.append('files', a);\n\t\t\t\t});\n\n\t\t\t\tthis.httpClient\n\t\t\t\t\t.post('/api/docs/discovery', formData, {\n\t\t\t\t\t\theaders: {\n\t\t\t\t\t\t\t'Content-Type': 'multipart/form-data',\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tthis.isComplete = true;\n\n            try {\n              localStorage.removeItem(`${this.form.accountId}.${this.form.uniqueTemplateId}`);\n            }catch(err){\n              console.log(err);\n            }\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tthis.$store.commit('error', err.response.data.status + ' - ' + err.response.data.message);\n\t\t\t\t\t\tconsole.log(err.response.data);\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tthis.$store.commit('stopLoading');\n            this.$emit('result',true);\n\t\t\t\t\t});\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped>\n\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiscoveryForm.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DiscoveryForm.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DiscoveryForm.vue?vue&type=template&id=6cacb0f1&scoped=true\"\nimport script from \"./DiscoveryForm.vue?vue&type=script&lang=js\"\nexport * from \"./DiscoveryForm.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6cacb0f1\",\n  null\n  \n)\n\nexport default component.exports","<template>\n\t<div id=\"submission-details\">\n\t\t<div id=\"header-area\" class=\"\">\n\t\t\t<div class=\"header-left pl-md-6 pl-4\">\n\t\t\t\t<div class=\"mr-6 brand-medium\">\n\t\t\t\t\t{{ request.name }}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"header-right pr-md-6 pr-4\">\n\t\t\t\t<div>\n\t\t\t\t\t<v-btn icon class=\"primary-action\" @click=\"handleClose()\">\n\t\t\t\t\t\t<v-icon :size=\"20\">$close</v-icon>\n\t\t\t\t\t</v-btn>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"show-scrollbar\" style=\"width: 100%; height: 100%\">\n      <discovery-form :request-token=\"token\" v-if=\"token\" @result=\"$emit('result',$event)\"></discovery-form>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n  import DiscoveryForm from '@/modules/forms/DiscoveryForm';\n  export default {\n\t\tname: 'FormRequestViewer',\n\n\t\tprops: ['request'],\n\n\t\tcomponents: { DiscoveryForm },\n\n\t\tdata: function() {\n\t\t\treturn {\n\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t},\n\n\t\tmethods: {\n\t\t\thandleClose: function() {\n\t\t\t\tthis.$emit('result');\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n      token: function(){\n        const parsedUrl = new URL(this.request.url);\n        const params = new URLSearchParams(parsedUrl.search);\n        return params.get('token');\n      }\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n  #submission-details {\n\t\tbackground-color: var(--v-white-base);\n\t\t#header-area {\n\t\t\theight: 56px;\n\t\t\twidth: 100%;\n\t\t\tbackground-color: var(--v-white-base);\n\t\t\tborder-bottom: 1px solid var(--v-gray_50-base);\n\t\t\t// Needed for sticky positioning\n\t\t\tposition: sticky;\n\t\t\tposition: -webkit-sticky;\n\t\t\ttop: 0;\n\t\t\tz-index: 203;\n\t\t\t// end sticky\n\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\talign-items: center;\n\n\t\t\t.header-left {\n\t\t\t\ttext-align: left;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-items: flex-start;\n\t\t\t\t& > div {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-items: flex-start;\n\t\t\t\t}\n\t\t\t\tbutton,\n\t\t\t\tdiv {\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tcolor: var(--v-black-base);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t.header-right {\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: flex-end;\n\t\t\t\talign-items: center;\n\n\t\t\t\tdiv {\n\t\t\t\t\tflex: 0 0 auto;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormRequestViewer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormRequestViewer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FormRequestViewer.vue?vue&type=template&id=2e16f560&scoped=true\"\nimport script from \"./FormRequestViewer.vue?vue&type=script&lang=js\"\nexport * from \"./FormRequestViewer.vue?vue&type=script&lang=js\"\nimport style0 from \"./FormRequestViewer.vue?vue&type=style&index=0&id=2e16f560&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2e16f560\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","<template>\n\t<div v-if=\"forms.length\">\n\t\t<div class=\"brand-medium pointer\" @click=\"$router.push('/forms')\">\n\t\t\t{{ $t('welcome.currently-have') }} <span style=\"color: var(--v-primary-base)\">{{ forms.length }}</span>\n\t\t\t{{ $tc('forms.forms-ready', forms.length) }}.\n\t\t</div>\n\t\t<div class=\"column-format\" style=\"gap: 8px; margin-top: 12px\">\n\t\t\t<div v-for=\"form in forms\" :key=\"form.id\" class=\"action-button\" @click.stop=\"openRequest(form)\">\n\t\t\t\t{{ form.name }} - {{DateTime.fromISO(form.sentTimestamp).toLocaleString(DateTime.DATETIME_SHORT)}}\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n  import {DateTime} from 'luxon';\n  import FormRequestViewer from '@/modules/forms/FormRequestViewer';\n\n\texport default {\n\t\tname: 'Forms',\n\n\t\tprops: ['forms'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n        DateTime: DateTime\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n      openRequest: function(request) {\n        let binding = {\n          request: request,\n        };\n        this.$store.state.globalModalController.openModal(FormRequestViewer, binding, true, true).then((res) => {\n          if (res) {\n            this.$emit('refresh')\n          }\n        });\n      },\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Forms.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Forms.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Forms.vue?vue&type=template&id=615712b8&scoped=true\"\nimport script from \"./Forms.vue?vue&type=script&lang=js\"\nexport * from \"./Forms.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"615712b8\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.meetings.length)?_c('div',[_c('div',{staticClass:\"brand-medium pointer\",on:{\"click\":function($event){return _vm.$router.push('/meetings/booked')}}},[_vm._v(\" \"+_vm._s(_vm.$t('welcome.currently-have'))+\" \"),_c('span',{staticStyle:{\"color\":\"var(--v-primary-base)\"}},[_vm._v(_vm._s(_vm.meetings.length))]),_vm._v(\" \"+_vm._s(_vm.$tc('welcome.upcoming-meetings', _vm.meetings.length))+\". \")]),_c('div',{staticClass:\"column-format\",staticStyle:{\"gap\":\"8px\",\"margin-top\":\"12px\"}},_vm._l((_vm.meetings),function(meeting){return _c('div',{key:meeting.id,staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.openScheduledMeeting(meeting)}}},[_vm._v(\" \"+_vm._s(meeting.meetingName)+\" \"+_vm._s(_vm.$t('global.on'))+\" \"+_vm._s(_vm.DateTime.fromISO(meeting.confirmedTime.start).toFormat('MMM dd @ hh:mma'))+\" \")])}),0)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isReady)?_c('div',{style:(_vm.scheduledMeeting.formData.answers.length ? 'min-width: 60vw; max-width: 60vw;' : 'width:500px'),attrs:{\"id\":\"meeting-detail\"}},[_c('div',{staticClass:\"pa-5 d-flex\",attrs:{\"id\":\"meeting-inner-wrapper\"}},[_c('div',{staticClass:\"row-format mb-2 align-center\"},[(_vm.view === 'MAIN')?_c('div',{staticClass:\"brand-medium font-18 ml-1\"},[_vm._v(_vm._s(_vm.scheduledMeeting.meetingName))]):_c('v-icon',{on:{\"click\":function($event){_vm.view = 'MAIN'}}},[_vm._v(\"$arrowLeft\")]),_c('v-icon',{staticClass:\"ml-auto pointer\",attrs:{\"size\":\"20\"},on:{\"click\":function($event){return _vm.$emit('result')}}},[_vm._v(\"$close\")])],1),(_vm.view === 'MAIN')?_c('div',[_c('div',[_c('v-container',{staticClass:\"ml-0 pl-1\"},[_c('v-row',[_c('v-col',{staticClass:\"ml-0\",attrs:{\"md\":_vm.scheduledMeeting.formData.answers.length ? 6 : 12,\"cols\":\"12\",\"align\":\"left\"}},[_c('v-container',{staticClass:\"pa-2 ma-0 font-14\"},[(_vm.isCancelled)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"3\"}},[_vm._v(_vm._s(_vm.$t('meetings.detail.status')))]),_c('v-col',{staticClass:\"brand-medium\",staticStyle:{\"color\":\"var(--v-error-base)\"},attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.$t('meetings.detail.cancelled')))])],1):_vm._e(),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"3\"}},[_vm._v(_vm._s(_vm.$t('meetings.detail.name')))]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.scheduledMeeting.formData.firstName)+\" \"+_vm._s(_vm.scheduledMeeting.formData.lastName))])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"3\"}},[_vm._v(_vm._s(_vm.$t('meetings.detail.email')))]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.scheduledMeeting.formData.email))])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"3\"}},[_vm._v(_vm._s(_vm.$t('meetings.detail.phone')))]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.scheduledMeeting.formData.phone))])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"3\"}},[_vm._v(_vm._s(_vm.$t('meetings.detail.time')))]),_c('v-col',{class:_vm.isCancelled ? 'strike' : '',attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.DateTime.fromISO(_vm.scheduledMeeting.confirmedTime.start).toFormat('cccc, LLL dd yyyy \\'@\\' t')))])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"brand-medium\",attrs:{\"cols\":\"3\"}},[_vm._v(_vm._s(_vm.$t('meetings.detail.duration')))]),_c('v-col',{class:_vm.isCancelled ? 'strike' : '',attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.DateTime.fromISO(_vm.scheduledMeeting.confirmedTime.end).diff(_vm.DateTime.fromISO(_vm.scheduledMeeting.confirmedTime.start),\"minutes\").minutes)+\" \"+_vm._s(_vm.$t('meetings.detail.minutes')))])],1),(!_vm.isCancelled)?_c('div',[(_vm.scheduledMeeting.location.type === 'Zoom')?_c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"3\"}},[_vm._v(_vm._s(_vm.$t('meetings.detail.join')))]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_c('a',{attrs:{\"href\":_vm.scheduledMeeting.zoomMeeting.join_url,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.scheduledMeeting.zoomMeeting.join_url))])])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"3\"}},[_vm._v(_vm._s(_vm.$t('meetings.detail.id')))]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.scheduledMeeting.zoomMeeting.id))])],1),(_vm.scheduledMeeting.zoomMeeting.pstnPassword)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"3\"}},[_vm._v(_vm._s(_vm.$t('meetings.detail.passcode')))]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.scheduledMeeting.zoomMeeting.pstnPassword))])],1):_vm._e(),(_vm.zoomDialIn)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"3\"}},[_vm._v(_vm._s(_vm.$t('meetings.detail.dial-in')))]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.zoomDialIn.number.replaceAll(' ',''))+\" (\"+_vm._s(_vm.zoomDialIn.city)+\", \"+_vm._s(_vm.zoomDialIn.country_name)+\")\")])],1):_vm._e()],1):(_vm.scheduledMeeting.location.type === 'Google')?_c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"3\"}},[_vm._v(_vm._s(_vm.$t('meetings.detail.join')))]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_c('a',{attrs:{\"href\":_vm.scheduledMeeting.googleMeeting.hangoutLink,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.scheduledMeeting.googleMeeting.hangoutLink))])])],1),(_vm.googleDialIn)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"3\"}},[_vm._v(_vm._s(_vm.$t('meetings.detail.dial-in')))]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.googleDialIn.label)+\" (\"+_vm._s(_vm.googleDialIn.regionCode)+\")\")])],1):_vm._e(),(_vm.googleDialIn)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"3\"}},[_vm._v(_vm._s(_vm.$t('meetings.detail.pin')))]),_c('v-col',{attrs:{\"cols\":\"8\"}},[_vm._v(_vm._s(_vm.googleDialIn.pin))])],1):_vm._e()],1):(_vm.scheduledMeeting.location.type === 'PhoneIn')?_c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(_vm._s(_vm.$t('meetings.detail.invitee-call'))+\" \"+_vm._s(_vm.scheduledMeeting.location.phone))])],1)],1):(_vm.scheduledMeeting.location.type === 'PhoneOut')?_c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(_vm._s(_vm.$t('meetings.detail.call-invitee'))+\" \"+_vm._s(_vm.scheduledMeeting.formData.phone))])],1)],1):(_vm.scheduledMeeting.location.type === 'InPerson')?_c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(_vm._s(_vm.$t('meetings.detail.meet'))+\" \"+_vm._s(_vm.scheduledMeeting.location.address))])],1)],1):_c('div',[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(_vm._s(_vm.scheduledMeeting.location.custom))])],1)],1)]):_vm._e(),(!_vm.isCancelled)?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"mt-2\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"secondary-action mb-1 mr-2\",on:{\"click\":function($event){_vm.view='CANCEL'}}},[_c('span',{staticStyle:{\"color\":\"var(--v-error-base)\"}},[_vm._v(_vm._s(_vm.$t('meetings.detail.cancel')))])]),_c('v-btn',{staticClass:\"primary-action mb-1\",on:{\"click\":function($event){_vm.view='RESCHEDULE'}}},[_vm._v(_vm._s(_vm.$t('meetings.detail.reschedule')))])],1)],1):_vm._e()],1)],1),(_vm.scheduledMeeting.formData.answers.length)?_c('v-col',{attrs:{\"md\":\"6\",\"cols\":\"12\",\"align\":\"left\"}},[_c('v-container',{staticClass:\"pa-2 ma-0 font-14\",staticStyle:{\"background-color\":\"var(--v-gray_20-base)\",\"border-radius\":\"4px\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pa-4\"},_vm._l((_vm.scheduledMeeting.formData.answers),function(answer,index){return _c('div',{key:index,staticClass:\"text-left font-14 pb-3\"},[_c('div',{staticClass:\"brand-medium\"},[_vm._v(_vm._s(answer.question))]),_c('div',[_vm._v(_vm._s(answer.answer))])])}),0)],1)],1)],1):_vm._e()],1)],1)],1)]):_vm._e()]),(_vm.view === 'CANCEL')?_c('div',[_c('i-frame-wrapper',{attrs:{\"frame-url\":_vm.cancelUrl},on:{\"frame-event\":_vm.frameEvent}})],1):_vm._e(),(_vm.view === 'RESCHEDULE')?_c('div',[_c('i-frame-wrapper',{attrs:{\"frame-url\":_vm.rescheduleUrl},on:{\"frame-event\":_vm.frameEvent}})],1):_vm._e()]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import HttpClient from '@/services/HttpClient';\nimport store from '@/store';\n\nexport default class MeetingService {\n\thttpClient;\n\n\tconstructor() {\n\t\tthis.httpClient = new HttpClient();\n\t}\n\n\tgetSchedulerList(){\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/schedulers`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetMeeting(id){\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/schedulers/${id}`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetScheduledMeetings(){\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/meetings`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"container\"},[_c('iframe',{staticClass:\"responsive-iframe\",attrs:{\"src\":_vm.frameUrl,\"id\":`frame-${_vm.frameId}`}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"container\">\n\t\t<iframe :src=\"frameUrl\" :id=\"`frame-${frameId}`\" class=\"responsive-iframe\"></iframe>\n\t</div>\n</template>\n\n<script>\n\timport iFrameResize from 'iframe-resizer/js/iframeResizer';\n\timport {v4 as uuid4} from 'uuid';\n\n\texport default {\n\t\tname: 'iFrameWrapper',\n\n\t\tprops: ['frameUrl'],\n\n\t\tcomponents: {},\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tframeId: uuid4().replaceAll(\"-\",\"\"),\n\t\t\t\tresizerOptions: {\n\t\t\t\t\tlog: false,\n\t\t\t\t\theightCalculationMethod: 'min',\n\t\t\t\t\tsizeWidth: true,\n\t\t\t\t\tsizeHeight: true,\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tiFrameResize(this.resizerOptions, `#frame-${this.frameId}`);\n\t\t\twindow.addEventListener('message',this.handleFrameMessage);\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t\twindow.removeEventListener('message',this.handleFrameMessage);\n\t\t},\n\n\t\tmethods: {\n\t\t\thandleFrameMessage(e){\n\t\t\t\tif(e.data.startsWith('[iFrameSizer]')){\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconsole.log('Frame message received',e);\n\t\t\t\tthis.$emit('frame-event',e);\n\t\t\t}\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.container {\n\t\twidth: 100%;\n\t\tmin-height: 500px;\n    background-color: #fff;\n\t}\n\n\t.responsive-iframe {\n\t\tpadding: 0px;\n\t\tmargin: 0px;\n\t\tborder: 0;\n\t\tmax-width: 100%;\n\t\tmin-width: 100%;\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./iFrameWrapper.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./iFrameWrapper.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./iFrameWrapper.vue?vue&type=template&id=8c8b0b1a&scoped=true\"\nimport script from \"./iFrameWrapper.vue?vue&type=script&lang=js\"\nexport * from \"./iFrameWrapper.vue?vue&type=script&lang=js\"\nimport style0 from \"./iFrameWrapper.vue?vue&type=style&index=0&id=8c8b0b1a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"8c8b0b1a\",\n  null\n  \n)\n\nexport default component.exports","<template>\n\t<div v-if=\"isReady\" id=\"meeting-detail\" :style=\"scheduledMeeting.formData.answers.length ? 'min-width: 60vw; max-width: 60vw;' : 'width:500px'\">\n\t\t<div id=\"meeting-inner-wrapper\" class=\"pa-5 d-flex\">\n\t\t\t<div class=\"row-format mb-2 align-center\">\n\t\t\t\t<div class=\"brand-medium font-18 ml-1\" v-if=\"view === 'MAIN'\">{{scheduledMeeting.meetingName}}</div>\n\t\t\t\t<v-icon v-else @click=\"view = 'MAIN'\">$arrowLeft</v-icon>\n\t\t\t\t<v-icon size=\"20\" class=\"ml-auto pointer\" @click=\"$emit('result')\">$close</v-icon>\n\t\t\t</div>\n\t\t\t<div v-if=\"view === 'MAIN'\">\n\t\t\t\t<div>\n\t\t\t\t\t<v-container class=\"ml-0 pl-1\">\n\t\t\t\t\t\t<v-row>\n\t\t\t\t\t\t\t<v-col :md=\"scheduledMeeting.formData.answers.length ? 6 : 12\" cols=\"12\" class=\"ml-0\" align=\"left\">\n\t\t\t\t\t\t\t\t<v-container class=\"pa-2 ma-0 font-14\">\n\t\t\t\t\t\t\t\t\t<v-row dense v-if=\"isCancelled\">\n\t\t\t\t\t\t\t\t\t\t<v-col cols=\"3\" class=\"brand-medium\">{{ $t('meetings.detail.status') }}</v-col>\n\t\t\t\t\t\t\t\t\t\t<v-col cols=\"8\" class=\"brand-medium\" style=\"color: var(--v-error-base)\">{{ $t('meetings.detail.cancelled') }}</v-col>\n\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t\t\t\t<v-col cols=\"3\" class=\"brand-medium\">{{ $t('meetings.detail.name') }}</v-col>\n\t\t\t\t\t\t\t\t\t\t<v-col cols=\"8\">{{scheduledMeeting.formData.firstName}} {{scheduledMeeting.formData.lastName}}</v-col>\n\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t\t\t\t<v-col cols=\"3\" class=\"brand-medium\">{{ $t('meetings.detail.email') }}</v-col>\n\t\t\t\t\t\t\t\t\t\t<v-col cols=\"8\">{{scheduledMeeting.formData.email}}</v-col>\n\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t\t\t\t<v-col cols=\"3\" class=\"brand-medium\">{{ $t('meetings.detail.phone') }}</v-col>\n\t\t\t\t\t\t\t\t\t\t<v-col cols=\"8\">{{scheduledMeeting.formData.phone}}</v-col>\n\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t\t\t\t<v-col cols=\"3\" class=\"brand-medium\">{{ $t('meetings.detail.time') }}</v-col>\n\t\t\t\t\t\t\t\t\t\t<v-col cols=\"8\" :class=\"isCancelled ? 'strike' : ''\">{{ DateTime.fromISO(scheduledMeeting.confirmedTime.start).toFormat('cccc, LLL dd yyyy \\'@\\'  t') }}</v-col>\n\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t\t\t\t<v-col cols=\"3\" class=\"brand-medium\">{{ $t('meetings.detail.duration') }}</v-col>\n\t\t\t\t\t\t\t\t\t\t<v-col cols=\"8\" :class=\"isCancelled ? 'strike' : ''\">{{ DateTime.fromISO(scheduledMeeting.confirmedTime.end).diff(DateTime.fromISO(scheduledMeeting.confirmedTime.start),\"minutes\").minutes }} {{ $t('meetings.detail.minutes') }}</v-col>\n\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t\t<div v-if=\"!isCancelled\">\n\t\t\t\t\t\t\t\t\t\t<div v-if=\"scheduledMeeting.location.type === 'Zoom'\">\n\t\t\t\t\t\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-col cols=\"3\">{{ $t('meetings.detail.join') }}</v-col>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-col cols=\"8\"><a :href=\"scheduledMeeting.zoomMeeting.join_url\" target=\"_blank\">{{scheduledMeeting.zoomMeeting.join_url}}</a></v-col>\n\t\t\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-col cols=\"3\">{{ $t('meetings.detail.id') }}</v-col>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-col cols=\"8\">{{scheduledMeeting.zoomMeeting.id}}</v-col>\n\t\t\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t\t\t\t<v-row dense v-if=\"scheduledMeeting.zoomMeeting.pstnPassword\">\n\t\t\t\t\t\t\t\t\t\t\t\t<v-col cols=\"3\">{{ $t('meetings.detail.passcode') }}</v-col>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-col cols=\"8\">{{scheduledMeeting.zoomMeeting.pstnPassword}}</v-col>\n\t\t\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t\t\t\t<v-row dense v-if=\"zoomDialIn\">\n\t\t\t\t\t\t\t\t\t\t\t\t<v-col cols=\"3\">{{ $t('meetings.detail.dial-in') }}</v-col>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-col cols=\"8\">{{zoomDialIn.number.replaceAll(' ','')}} ({{zoomDialIn.city}}, {{zoomDialIn.country_name}})</v-col>\n\t\t\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div v-else-if=\"scheduledMeeting.location.type === 'Google'\">\n\t\t\t\t\t\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-col cols=\"3\">{{ $t('meetings.detail.join') }}</v-col>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-col cols=\"8\"><a :href=\"scheduledMeeting.googleMeeting.hangoutLink\" target=\"_blank\">{{scheduledMeeting.googleMeeting.hangoutLink}}</a></v-col>\n\t\t\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t\t\t\t<v-row dense v-if=\"googleDialIn\">\n\t\t\t\t\t\t\t\t\t\t\t\t<v-col cols=\"3\">{{ $t('meetings.detail.dial-in') }}</v-col>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-col cols=\"8\">{{googleDialIn.label}} ({{googleDialIn.regionCode}})</v-col>\n\t\t\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t\t\t\t<v-row dense v-if=\"googleDialIn\">\n\t\t\t\t\t\t\t\t\t\t\t\t<v-col cols=\"3\">{{ $t('meetings.detail.pin') }}</v-col>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-col cols=\"8\">{{googleDialIn.pin}}</v-col>\n\t\t\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div v-else-if=\"scheduledMeeting.location.type === 'PhoneIn'\">\n\t\t\t\t\t\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-col cols=\"12\">{{ $t('meetings.detail.invitee-call') }} {{scheduledMeeting.location.phone}}</v-col>\n\t\t\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div v-else-if=\"scheduledMeeting.location.type === 'PhoneOut'\">\n\t\t\t\t\t\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-col cols=\"12\">{{ $t('meetings.detail.call-invitee') }} {{scheduledMeeting.formData.phone}}</v-col>\n\t\t\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div v-else-if=\"scheduledMeeting.location.type === 'InPerson'\">\n\t\t\t\t\t\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-col cols=\"12\">{{ $t('meetings.detail.meet') }} {{scheduledMeeting.location.address}}</v-col>\n\t\t\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t<div v-else>\n\t\t\t\t\t\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-col cols=\"12\">{{scheduledMeeting.location.custom}}</v-col>\n\t\t\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<v-row v-if=\"!isCancelled\" dense>\n\t\t\t\t\t\t\t\t\t\t<v-col cols=\"12\" class=\"mt-2\">\n\t\t\t\t\t\t\t\t\t\t\t\t<v-btn class=\"secondary-action mb-1 mr-2\" @click=\"view='CANCEL'\"><span style=\"color: var(--v-error-base)\">{{ $t('meetings.detail.cancel') }}</span></v-btn>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-btn class=\"primary-action mb-1\" @click=\"view='RESCHEDULE'\">{{ $t('meetings.detail.reschedule') }}</v-btn>\n\t\t\t\t\t\t\t\t\t\t</v-col>\n\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t</v-container>\n\t\t\t\t\t\t\t</v-col>\n\t\t\t\t\t\t\t<v-col md=\"6\" cols=\"12\" align=\"left\"  v-if=\"scheduledMeeting.formData.answers.length\">\n\t\t\t\t\t\t\t\t<v-container class=\"pa-2 ma-0 font-14\" style=\"background-color: var(--v-gray_20-base); border-radius: 4px\">\n\t\t\t\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t\t\t\t<v-col class=\"pa-4\">\n\t\t\t\t\t\t\t\t\t\t\t<div v-for=\"(answer,index) in scheduledMeeting.formData.answers\" :key=\"index\" class=\"text-left font-14 pb-3\">\n\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"brand-medium\">{{answer.question}}</div>\n\t\t\t\t\t\t\t\t\t\t\t\t<div>{{answer.answer}}</div>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</v-col>\n\t\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t</v-container>\n\t\t\t\t\t\t\t</v-col>\n\t\t\t\t\t\t</v-row>\n\t\t\t\t\t</v-container>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-if=\"view === 'CANCEL'\">\n\t\t\t<i-frame-wrapper :frame-url=\"cancelUrl\" @frame-event=\"frameEvent\"></i-frame-wrapper>\n\t\t</div>\n\t\t<div v-if=\"view === 'RESCHEDULE'\">\n\t\t\t<i-frame-wrapper :frame-url=\"rescheduleUrl\" @frame-event=\"frameEvent\"></i-frame-wrapper>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport MeetingService from \"@/modules/meetings/MeetingService\";\n\timport {DateTime} from 'luxon';\n  import IFrameWrapper from \"@/modules/meetings/iFrameWrapper\";\n\n\texport default {\n\t\tname: 'MeetingDetail',\n\n\t\tprops: ['scheduledMeeting'],\n\n\t\tcomponents: {IFrameWrapper},\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tview: 'MAIN',\n\t\t\t\tuniqueAccountUrl: null,\n\t\t\t\tmeetingService: new MeetingService(),\n\t\t\t\tDateTime:DateTime,\n\t\t\t\tbaseUrl: process.env.VUE_APP_MEET_LINK,\n        meeting: null,\n        isReady: false,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n      this.getMeeting();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n      frameEvent: function(event){\n        if(event.data === 'MEETING_CANCELLED' || event.data === 'MEETING_RESCHEDULED'){\n          this.$emit('result',true);\n        }\n      },\n\n      getMeeting: function () {\n        this.meetingService.getMeeting(this.scheduledMeeting.meetingId).then((res) => {\n          this.meeting = res.data;\n          this.isReady = true;\n        })\n      },\n\t\t},\n\n\t\tcomputed: {\n\t\t\tfullMeetingLink: function () {\n\t\t\t\treturn this.meeting.meetingLink;\n\t\t\t},\n\n\t\t\tcancelUrl: function(){\n\t\t\t\treturn `${this.fullMeetingLink}/?id=${this.scheduledMeeting.id}&action=cancel&inFrame=true`;\n\t\t\t},\n\n\t\t\trescheduleUrl: function(){\n\t\t\t\treturn `${this.fullMeetingLink}/?id=${this.scheduledMeeting.id}&action=change&inFrame=true`;\n\t\t\t},\n\n\t\t\tisCancelled: function(){\n\t\t\t\tif(this.scheduledMeeting && this.scheduledMeeting.meetingStatus === 'Cancelled'){\n\t\t\t\t\treturn true;\n\t\t\t\t}else{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n      zoomDialIn: function(){\n        if(this.scheduledMeeting.zoomMeeting &&\n            this.scheduledMeeting.zoomMeeting.settings &&\n            this.scheduledMeeting.zoomMeeting.settings.global_dial_in_numbers &&\n            this.scheduledMeeting.zoomMeeting.settings.global_dial_in_numbers.length){\n          return this.scheduledMeeting.zoomMeeting.settings.global_dial_in_numbers[0];\n        }else{\n          return null;\n        }\n      },\n\n\t\t\tgoogleDialIn: function(){\n\t\t\t\tif(this.scheduledMeeting.googleMeeting){\n\t\t\t\t\treturn this.scheduledMeeting.googleMeeting.entryPoints.find(e => e.entryPointType === 'phone');\n\t\t\t\t}else{\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n#meeting-detail {\n\t#meeting-inner-wrapper {\n\t\tmax-height: calc(100vh - 180px);\n\t\toverflow-y: auto;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t}\n\n\t.modal-footer {\n\t\tposition: sticky;\n\t\tposition: -webkit-sticky;\n\t\tmargin-top: 8px;\n\t}\n\n\t.strike {\n\t\ttext-decoration: line-through;\n\t}\n}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetingDetail.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetingDetail.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MeetingDetail.vue?vue&type=template&id=b38dd990&scoped=true\"\nimport script from \"./MeetingDetail.vue?vue&type=script&lang=js\"\nexport * from \"./MeetingDetail.vue?vue&type=script&lang=js\"\nimport style0 from \"./MeetingDetail.vue?vue&type=style&index=0&id=b38dd990&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"b38dd990\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VIcon,VRow})\n","<template>\n\t<div v-if=\"meetings.length\">\n\t\t<div class=\"brand-medium pointer\" @click=\"$router.push('/meetings/booked')\">\n\t\t\t{{ $t('welcome.currently-have') }} <span style=\"color: var(--v-primary-base)\">{{ meetings.length }}</span>\n\t\t\t{{ $tc('welcome.upcoming-meetings', meetings.length) }}.\n\t\t</div>\n    <div class=\"column-format\" style=\"gap: 8px; margin-top: 12px\">\n      <div\n          v-for=\"meeting in meetings\"\n          :key=\"meeting.id\"\n          class=\"action-button\"\n          @click.stop=\"openScheduledMeeting(meeting)\"\n      >\n        {{ meeting.meetingName }} {{ $t('global.on') }}\n        {{ DateTime.fromISO(meeting.confirmedTime.start).toFormat('MMM dd @ hh:mma') }}\n      </div>\n    </div>\n\t</div>\n</template>\n\n<script>\n\timport MeetingDetail from '@/modules/meetings/MeetingDetail';\n\timport { DateTime } from 'luxon';\n\n\texport default {\n\t\tname: 'Meetings',\n\n\t\tprops: ['meetings'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tDateTime: DateTime,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\topenScheduledMeeting: function(meeting) {\n\t\t\t\tlet binding = {\n\t\t\t\t\tscheduledMeeting: meeting,\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController.openModal(MeetingDetail, binding, false, false).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tthis.$emit('refresh');\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Meetings.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Meetings.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Meetings.vue?vue&type=template&id=3cd9b8ac&scoped=true\"\nimport script from \"./Meetings.vue?vue&type=script&lang=js\"\nexport * from \"./Meetings.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3cd9b8ac\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.proposals.length || _vm.agreements.length)?_c('div',[_c('div',{staticClass:\"brand-medium pointer\",on:{\"click\":function($event){return _vm.$router.push('/agreements')}}},[_vm._v(\" \"+_vm._s(_vm.$t('welcome.currently-have'))+\" \"),_c('span',{staticStyle:{\"color\":\"var(--v-primary-base)\"}},[_vm._v(_vm._s(_vm.proposals.length + _vm.agreements.length))]),_vm._v(\" \"+_vm._s(_vm.$tc('welcome.proposals-ready', _vm.proposals.length + _vm.agreements.length))+\". \")]),_c('div',{staticClass:\"column-format\",staticStyle:{\"gap\":\"8px\",\"margin-top\":\"12px\"}},[_vm._l((_vm.proposals),function(proposal){return _c('div',{key:proposal.id,staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.openProposal(proposal)}}},[_c('span',{domProps:{\"innerHTML\":_vm._s(proposal.coverPage.heading)}}),_vm._v(\" - \"+_vm._s(_vm.$t('global.submitted'))+\" \"+_vm._s(_vm.DateTime.fromISO(proposal.dateSent).toFormat('MMM dd'))+\" \")])}),_vm._l((_vm.agreements),function(agreement){return _c('div',{key:agreement.id,staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.openAgreement(agreement)}}},[_c('span',[_vm._v(_vm._s(agreement.name))]),_vm._v(\" - \"+_vm._s(_vm.$t('global.submitted'))+\" \"+_vm._s(_vm.DateTime.fromISO(agreement.dateCreated).toFormat('MMM dd'))+\" \")])})],2)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"proposal-details\"}},[(_vm.proposal)?_c('div',{attrs:{\"id\":\"header-area\"}},[_c('div',{staticClass:\"header-left pl-md-6 pl-4\"},[_c('div',{staticClass:\"mr-6 brand-medium\"},[_c('h-icon2',{staticClass:\"mr-4\",attrs:{\"name\":\"proposals\",\"active\":true,\"size\":\"24\"}}),_vm._v(\" \"+_vm._s(_vm.proposal.coverPage.heading)+\" \")],1),_c('div',[(_vm.proposal)?_c('comments-menu',{staticClass:\"mr-1\",attrs:{\"comments\":_vm.proposal.comments,\"proposal-id\":_vm.proposal.id,\"client-id\":_vm.proposal.clientId,\"proposal-service\":_vm.proposalService,\"client-mode\":true,\"viewed-timestamps\":_vm.proposal.viewedTimestamps}}):_vm._e()],1)]),_c('div',{staticClass:\"header-right pr-md-6 pr-4\"},[_c('div',[_c('v-btn',{staticClass:\"primary-action\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.handleClose()}}},[_c('v-icon',{attrs:{\"size\":20}},[_vm._v(\"$close\")])],1)],1)])]):_vm._e(),_c('div',{staticClass:\"show-scrollbar\",staticStyle:{\"max-height\":\"calc(100vh - 50px)\"}},[(_vm.isReady)?_c('proposal-renderer',{attrs:{\"proposal\":_vm.proposal,\"account\":_vm.account,\"proposal-service\":_vm.proposalService,\"edit-mode\":false,\"pod-service\":null,\"client-service\":null,\"need-save\":false,\"saving\":false,\"client-mode\":true,\"is-locked\":_vm.isLocked,\"card-payment-failed\":_vm.cardPaymentFailed},on:{\"deliverable-selected\":function($event){return _vm.deliverableSelected($event)},\"client-signed\":function($event){return _vm.clientFinalized($event)},\"client-accepted\":function($event){return _vm.clientFinalized($event)}}}):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import HttpClient from '@/services/HttpClient';\nimport store from '@/store';\n\nexport default class ProposalService {\n\thttpClient;\n\tproposal;\n\n\tconstructor() {\n\t\tthis.httpClient = new HttpClient();\n\t}\n\n\tsetProposal(proposal){\n\t\tthis.proposal = proposal;\n\t}\n\n\tgetProposalList(){\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/proposals`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetProposal(id) {\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/proposals/${id}`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\texecuteProposal(result) {\n\t\tlet clientId = store.getters.getClientId;\n\t\tlet id = this.proposal.id;\n\n\t\treturn this.httpClient\n\t\t\t.post(`/${clientId}/proposals/${id}/execute`, result)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tsendComment(clientId,proposalId,comment){\n\t\treturn this.httpClient\n\t\t\t.post(`/${clientId}/proposals/${proposalId}/comment`, comment)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tupdateComment(clientId,proposalId,comment){\n\t\treturn this.httpClient\n\t\t\t.put(`/${clientId}/proposals/${proposalId}/comment`,comment)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tdeleteComment(clientId,proposalId,commentId){\n\t\treturn this.httpClient\n\t\t\t.delete(`/${clientId}/proposals/${proposalId}/comment?commentId=${commentId}`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tsetLastViewed(){\n\t\tlet clientId = store.getters.getClientId;\n\t\tlet id = this.proposal.id;\n\n\t\treturn this.httpClient\n\t\t\t.post(`/${clientId}/proposals/${id}/viewed`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetSignedUrl(clientId, proposalId, fileName) {\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/proposals/${proposalId}/files`, {\n\t\t\t\tparams: {\n\t\t\t\t\tfileName: fileName,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"mx-0 my-5\",attrs:{\"id\":\"proposal-wrapper\"},on:{\"click\":function($event){return _vm.setEditIndex(-1)}}},[_c('div',{attrs:{\"id\":\"proposal-area\"}},[_c('div',{style:(`--v-proposal-height:${_vm.proposalHeight}px;`),attrs:{\"id\":\"proposal\"}},[_c('div',{staticClass:\"proposal-wrapper\",attrs:{\"id\":\"proposal-background\"}},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{class:_vm.editMode ? 'edit-mode' : '',attrs:{\"id\":\"cover-page-row\"}},[_c('v-col',{staticClass:\"pa-0 mb-5\",attrs:{\"cols\":\"12\"}},[_c('cover-page',_vm._b({attrs:{\"proposal-type\":_vm.proposal.proposalType,\"mceConfigHeader\":_vm.mceConfigCover,\"editMode\":_vm.editMode,\"templateMode\":_vm.templateMode,\"formatting\":_vm.proposal.formatting,\"client-name\":_vm.clientName,\"contractor-name\":_vm.contractorName,\"client-mode\":_vm.clientMode,\"heading-position\":_vm.proposal.coverPage.headingPosition,\"logo\":_vm.logo},on:{\"changed\":function($event){return _vm.handleCoverPageChange($event)},\"cover-modal\":function($event){return _vm.$emit('cover-menu-open')}}},'cover-page',_vm.proposal.coverPage,false))],1)],1),(_vm.isReady)?_c('draggable',{attrs:{\"group\":\"schema\",\"handle\":\".handle\"},on:{\"end\":_vm.dragEnd},model:{value:(_vm.proposal.contentBlocks),callback:function ($$v) {_vm.$set(_vm.proposal, \"contentBlocks\", $$v)},expression:\"proposal.contentBlocks\"}},_vm._l((_vm.contentBlocks),function(block,index){return _c('v-row',{key:block.id,attrs:{\"align\":\"center\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.setEditIndex(index)}}},[_c('v-col',{staticClass:\"content-block pa-0 mb-1\",attrs:{\"cols\":\"12\"}},[_c('div',{directives:[{name:\"intersect\",rawName:\"v-intersect\",value:({\n\t\t\t\t\t\t\t\t\t\thandler: _vm.handleIntersect,\n\t\t\t\t\t\t\t\t\t\toptions: _vm.scrollObserverOptions,\n\t\t\t\t\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\thandler: handleIntersect,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\toptions: scrollObserverOptions,\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t}\"}],staticStyle:{\"height\":\"1px\"},attrs:{\"id\":`proposal-wrapper-${index}`}}),_c('div',{staticClass:\"builder-wrapper\"},[(!_vm.clientMode && _vm.isEditable)?_c('div',{staticClass:\"add-new-button\"},[_c('div',{staticClass:\"add-new-rule\"}),_c('v-btn',{attrs:{\"color\":\"gray_20\",\"elevation\":\"0\",\"small\":\"\"},on:{\"click\":function($event){return _vm.addContentAt(index)}}},[_c('v-icon',{attrs:{\"size\":\"16\"}},[_vm._v(\"$plus\")]),_c('span',{staticClass:\"ml-1 brand-semilight\"},[_vm._v(_vm._s(_vm.$t('proposal.content.add')))])],1)],1):_vm._e(),(!_vm.clientMode && _vm.isEditable && _vm.editIndex === index)?_c('div',{staticClass:\"builder-control\"},[_c('v-btn',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({ content: 'Move Up' }),expression:\"{ content: 'Move Up' }\"}],staticClass:\"secondary-action\",attrs:{\"icon\":\"\",\"text\":\"\"},nativeOn:{\"click\":function($event){return _vm.shiftUp(index)}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$chevronUp\")])],1),_c('v-btn',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({ content: 'Move Down' }),expression:\"{ content: 'Move Down' }\"}],staticClass:\"secondary-action\",attrs:{\"icon\":\"\",\"text\":\"\"},nativeOn:{\"click\":function($event){return _vm.shiftDown(index)}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$chevronDown\")])],1),_c('v-btn',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({ content: 'Delete section' }),expression:\"{ content: 'Delete section' }\"}],staticClass:\"secondary-action\",attrs:{\"icon\":\"\",\"text\":\"\"},nativeOn:{\"click\":function($event){return _vm.confirmRemoveSection(index)}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$delete\")])],1)],1):_vm._e(),_c(block.blockType,_vm._b({key:block.id,ref:block.id,refInFor:true,tag:\"component\",attrs:{\"block\":block,\"edit-mode\":!_vm.clientMode && _vm.isEditable && _vm.editIndex === index,\"template-mode\":_vm.templateMode,\"account\":_vm.proposal.accountMini,\"client\":_vm.proposal.clientMini,\"proposal-id\":_vm.proposal.id,\"client-id\":_vm.proposal.clientId,\"mce-config-cover\":_vm.mceConfigCover,\"mce-config-header\":_vm.mceConfigHeader,\"mce-config-text\":_vm.mceConfigText,\"deliverables-count\":_vm.deliverablesCount,\"force-all-deliverables\":_vm.proposal.forceAllDeliverables,\"allow-multiple-deliverables\":_vm.proposal.allowMultipleDeliverables,\"deliverable-selected\":_vm.deliverableSelected,\"proposal-service\":_vm.proposalService,\"template-service\":_vm.templateService,\"client-mode\":_vm.clientMode,\"formatting\":_vm.proposal.formatting,\"header-style\":_vm.headerStyle,\"body-style\":_vm.bodyStyle,\"is-locked\":_vm.isLocked,\"refresh-key\":_vm.refreshKey,\"currency\":_vm.proposal.currency,\"proposal-type\":_vm.proposal.proposalType,\"up-front-amount\":_vm.upFrontAmount,\"payment-node-count\":_vm.paymentCount,\"pending-charge\":_vm.proposal.pendingCharge,\"card-payment-failed\":_vm.cardPaymentFailed},on:{\"changed\":function($event){return _vm.handleContentBlockChange(index, $event)},\"toggleMultipleDeliverables\":function($event){return _vm.toggleMultipleDeliverables()},\"total-upfront-amount\":function($event){return _vm.handleUpFrontAmount(block, $event)},\"create-package-from-deliverables\":function($event){return _vm.$emit('create-package-from-deliverables', $event)},\"request-them-sign\":function($event){return _vm.requestThemSign(block)}}},'component',block,false))],1)])],1)}),1):_vm._e(),_c('v-row',{attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"content-block py-0 px-12\",attrs:{\"cols\":\"12\"}},[(!_vm.clientMode && _vm.isEditable)?_c('div',{staticClass:\"add-new-button\"},[_c('div',{staticClass:\"add-new-rule\"}),_c('v-btn',{attrs:{\"color\":\"gray_20\",\"elevation\":\"0\",\"small\":\"\"},on:{\"click\":function($event){return _vm.addContentAt(_vm.proposal.contentBlocks.length)}}},[_c('v-icon',{attrs:{\"size\":\"16\"}},[_vm._v(\"$plus\")]),_c('span',{staticClass:\"ml-1 brand-semilight\"},[_vm._v(_vm._s(_vm.$t('proposal.content.add')))])],1)],1):_vm._e()])],1)],1)],1)])]),_c('basic-modal',{attrs:{\"dialog\":_vm.removeSectionDialog,\"persistent\":true},on:{\"close\":function($event){return _vm.cancelRemoveSection()}}},[_c('div',{attrs:{\"id\":\"delete-section-modal\"}},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_c('v-icon',[_vm._v(\"$close\")])],1),_c('div',{staticClass:\"modal-padding\"},[_c('div',{staticClass:\"modal-title text-center\"},[_c('span',{staticClass:\"pr-1\"},[_c('v-icon',{staticClass:\"mt-n1\",attrs:{\"color\":\"warning\",\"size\":\"24\"}},[_vm._v(\"$alert\")])],1),_vm._v(\" \"+_vm._s(_vm.$t('global.confirm'))+\" \")]),_c('div',{staticClass:\"modal-subtitle text-center mx-4\"},[_vm._v(_vm._s(_vm.$t('proposal.delete.section')))])]),_c('div',{staticClass:\"modal-footer\"},[_c('v-btn',{staticClass:\"super-action mr-1\",staticStyle:{\"width\":\"120px\"},on:{\"click\":function($event){return _vm.cancelRemoveSection()}}},[_vm._v(_vm._s(_vm.$t('global.cancel')))]),_c('v-btn',{staticClass:\"primary-action ml-1\",staticStyle:{\"width\":\"120px\"},on:{\"click\":function($event){return _vm.removeSection()}}},[_vm._v(_vm._s(_vm.$t('global.delete')))])],1)],1)]),_c('basic-modal',{attrs:{\"dialog\":_vm.contentMenuOpen,\"persistent\":true},on:{\"close\":function($event){_vm.contentMenuOpen = false}}},[_c('add-component',{attrs:{\"signature-count\":_vm.signatureCount,\"terms-count\":_vm.termsCount,\"accept-count\":_vm.acceptCount,\"payment-count\":_vm.paymentCount},on:{\"add-section\":_vm.addSection,\"close\":function($event){_vm.contentMenuOpen = false}}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:(_vm.isPreview ? 'preview' : '') + (_vm.logo ? ' with-logo' : ' without-logo') + ' ' + _vm.getHeightClass(),style:(_vm.backgroundImage),attrs:{\"id\":\"cover-wrapper\"}},[_c('div',{class:_vm.coverTextClass},[(_vm.headingPosition === 'Prominent')?_c('h1',{class:_vm.headingClass,style:(_vm.headerStyle)},[_c('editor',{ref:\"headerEditor\",attrs:{\"disabled\":!_vm.editMode || _vm.clientMode,\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.headingInitial,\"inline\":true,\"init\":_vm.mceConfigHeader,\"placeholder\":_vm.$t('proposals.cover-page.heading-placeholder')},on:{\"input\":_vm.handleHeaderInput}})],1):_vm._e(),_c('div',{class:'subheader ' + (_vm.logo ? 'with-logo' : 'without-logo') + (_vm.isPreview ? ' preview' : '')},[_c('div',{staticClass:\"logo-box\"},[_c('div',{staticClass:\"logo-box-inner\",style:(`background-image: url(${_vm.logo});`)},[_c('img',{staticClass:\"account-logo\",staticStyle:{\"visibility\":\"hidden\"},attrs:{\"src\":_vm.logo,\"alt\":\"Placeholder for sizing\"}})])]),_c('h2',{class:_vm.headingClass,style:(_vm.preparedStyle)},[_c('editor',{ref:\"customBy\",attrs:{\"disabled\":!_vm.editMode || _vm.clientMode,\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.customByInitial,\"inline\":true,\"init\":_vm.mceConfigHeader,\"placeholder\":_vm.$t('proposals.cover-page.by-placeholder')},on:{\"onblur\":_vm.handleByInput}}),_c('editor',{ref:\"customFor\",attrs:{\"disabled\":!_vm.editMode || _vm.clientMode,\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.customForInitial,\"inline\":true,\"init\":_vm.mceConfigHeader,\"placeholder\":_vm.$t('proposals.cover-page.for-placeholder')},on:{\"onblur\":_vm.handleForInput}})],1)])]),(!_vm.isPreview && _vm.editMode)?_c('div',{staticClass:\"edit-button\"},[_c('v-btn',{staticClass:\"secondary-action\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$emit('cover-modal')}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$edit\")])],1)],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div\n\t\t:style=\"backgroundImage\"\n\t\t:class=\"(isPreview ? 'preview' : '') + (logo ? ' with-logo' : ' without-logo') + ' ' + getHeightClass()\"\n\t\tid=\"cover-wrapper\"\n\t>\n\t\t<div :class=\"coverTextClass\">\n\t\t\t<h1 :class=\"headingClass\" :style=\"headerStyle\" v-if=\"headingPosition === 'Prominent'\">\n\t\t\t\t<editor\n\t\t\t\t\tref=\"headerEditor\"\n\t\t\t\t\t:disabled=\"!editMode || clientMode\"\n\t\t\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t\t\t:initial-value=\"headingInitial\"\n\t\t\t\t\t:inline=\"true\"\n\t\t\t\t\t:init=\"mceConfigHeader\"\n\t\t\t\t\t:placeholder=\"$t('proposals.cover-page.heading-placeholder')\"\n\t\t\t\t\t@input=\"handleHeaderInput\"\n\t\t\t\t></editor>\n\t\t\t</h1>\n\t\t\t<div :class=\"'subheader ' + (logo ? 'with-logo' : 'without-logo') + (isPreview ? ' preview' : '')\">\n\t\t\t\t<div class=\"logo-box\">\n\t\t\t\t\t<div class=\"logo-box-inner\" :style=\"`background-image: url(${logo});`\">\n\t\t\t\t\t\t<img class=\"account-logo\" :src=\"logo\" alt=\"Placeholder for sizing\" style=\"visibility: hidden\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<h2 :class=\"headingClass\" :style=\"preparedStyle\">\n\t\t\t\t\t<editor\n\t\t\t\t\t\t\tref=\"customBy\"\n\t\t\t\t\t\t\t:disabled=\"!editMode || clientMode\"\n\t\t\t\t\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t\t\t\t\t:initial-value=\"customByInitial\"\n\t\t\t\t\t\t\t:inline=\"true\"\n\t\t\t\t\t\t\t:init=\"mceConfigHeader\"\n\t\t\t\t\t\t\t:placeholder=\"$t('proposals.cover-page.by-placeholder')\"\n\t\t\t\t\t\t\t@onblur=\"handleByInput\"\n\t\t\t\t\t></editor>\n\t\t\t\t\t<editor\n\t\t\t\t\t\tref=\"customFor\"\n\t\t\t\t\t\t:disabled=\"!editMode || clientMode\"\n\t\t\t\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t\t\t\t:initial-value=\"customForInitial\"\n\t\t\t\t\t\t:inline=\"true\"\n\t\t\t\t\t\t:init=\"mceConfigHeader\"\n\t\t\t\t\t\t:placeholder=\"$t('proposals.cover-page.for-placeholder')\"\n\t\t\t\t\t\t@onblur=\"handleForInput\"\n\t\t\t\t\t></editor>\n\t\t\t\t</h2>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-if=\"!isPreview && editMode\" class=\"edit-button\">\n\t\t\t<v-btn icon class=\"secondary-action\" @click=\"$emit('cover-modal')\">\n\t\t\t\t<v-icon size=\"20\">$edit</v-icon>\n\t\t\t</v-btn>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'CoverPage',\n\n\t\tprops: {\n\t\t\tproposalType: String,\n\t\t\ttheme: String,\n\t\t\timage: String,\n\t\t\theading: String,\n\t\t\tsubHeading: String,\n\t\t\tpreparedBy: String,\n\t\t\tcustomBy: String,\n\t\t\tcustomFor: String,\n\t\t\teditMode: Boolean,\n\t\t\tmceConfigHeader: Object,\n\t\t\tformatting: Object,\n\t\t\tclientName: String,\n\t\t\tcontractorName: String,\n\t\t\tclientMode: Boolean,\n\t\t\ttemplateMode: Boolean,\n\t\t\theadingPosition: String,\n\t\t\tisPreview: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tlogo: String,\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tlHeading: this.heading,\n\t\t\t\tlPreparedBy: this.preparedBy,\n\t\t\t\tlCustomBy: this.customBy,\n\t\t\t\tlCustomFor: this.customFor,\n\t\t\t\tlSubHeading: this.subHeading,\n\t\t\t\tforDefault: 'For <strong>' + this.clientName + '</strong>',\n\t\t\t\tbyDefault: 'By <strong>' + this.contractorName + '</strong>',\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t},\n\t\tcomponents: {\n\t\t\teditor: () => import(/* webpackChunkName: \"tinymce\" */ '@tinymce/tinymce-vue'),\n\t\t},\n\n\t\tmethods: {\n\t\t\thandleHeaderInput: function() {\n\t\t\t\tthis.lHeading = this.$refs.headerEditor.editor.getContent();\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\tgetHeightClass: function(){\n\t\t\t\tif(!this.backgroundImage && this.headingPosition === 'Prominent'){\n\t\t\t\t\treturn 'no-image';\n\t\t\t\t}else if(!this.backgroundImage){\n\t\t\t\t\treturn 'no-image-no-header'\n\t\t\t\t}else{\n\t\t\t\t\treturn ''\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandleByInput: function() {\n\t\t\t\t// this.proposal.coverPage.customBy = this.$refs.customBy.editor.getContent();\n\t\t\t\tthis.lCustomBy = this.$refs.customBy.editor.getContent();\n\t\t\t\tif (!this.lCustomBy) {\n\t\t\t\t\tthis.$refs.customBy.editor.setContent(this.byDefault);\n\t\t\t\t\tthis.lCustomBy = null;\n\t\t\t\t}\n\t\t\t\tconsole.log(this.lCustomBy);\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\thandleForInput: function() {\n\t\t\t\t// this.proposal.coverPage.customFor = this.$refs.customFor.editor.getContent();\n\t\t\t\tthis.lCustomFor = this.$refs.customFor.editor.getContent();\n\t\t\t\tif (!this.lCustomFor) {\n\t\t\t\t\tthis.$refs.customFor.editor.setContent(this.forDefault);\n\t\t\t\t\tthis.lCustomFor = null;\n\t\t\t\t}\n\t\t\t\tconsole.log(this.lCustomFor);\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\tnotifyChange: function() {\n\t\t\t\tthis.$emit('changed', {\n\t\t\t\t\theading: this.lHeading,\n\t\t\t\t\tcustomBy: this.lCustomBy,\n\t\t\t\t\tcustomFor: this.lCustomFor,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\theadingInitial() {\n\t\t\t\tif (this.heading) {\n\t\t\t\t\treturn this.heading;\n\t\t\t\t}\n\t\t\t\treturn this.$t('proposals.cover-page.heading-default');\n\t\t\t},\n\n\t\t\tcustomForInitial() {\n\t\t\t\tif (this.customFor) {\n\t\t\t\t\tconsole.log(this.customFor);\n\t\t\t\t\treturn this.customFor;\n\t\t\t\t}\n\t\t\t\treturn this.forDefault;\n\t\t\t},\n\n\t\t\tcustomByInitial() {\n\t\t\t\tif (this.customBy) {\n\t\t\t\t\tconsole.log(this.customBy);\n\t\t\t\t\treturn this.customBy;\n\t\t\t\t}\n\t\t\t\treturn this.byDefault;\n\t\t\t},\n\n\t\t\tlogoSize() {\n\t\t\t\tif (!this.coverPage.showLogo) return;\n\t\t\t\tlet img = new Image();\n\n\t\t\t\timg.onload = function() {\n\t\t\t\t\tlet height = img.height;\n\t\t\t\t\tlet width = img.width;\n\t\t\t\t\treturn { height: height, width: width };\n\t\t\t\t};\n\n\t\t\t\timg.src = this.account.accountLogo;\n\t\t\t\treturn { height: 'auto', width: 'auto' };\n\t\t\t},\n\n\t\t\tkey() {\n\t\t\t\treturn '';\n\t\t\t},\n\n\t\t\tcoverTextClass: function() {\n\t\t\t\tlet css = ['cover-text'];\n\n\t\t\t\tif (this.isPreview) {\n\t\t\t\t\tcss.push('preview');\n\t\t\t\t}\n\n\t\t\t\tif (this.theme === 'dark') {\n\t\t\t\t\tcss.push('cover-dark');\n\t\t\t\t} else {\n\t\t\t\t\tcss.push('cover-light');\n\t\t\t\t}\n\t\t\t\treturn css.join(' ');\n\t\t\t},\n\n\t\t\theadingClass: function() {\n\t\t\t\tlet css = [];\n\t\t\t\tif (this.isPreview) {\n\t\t\t\t\tcss.push('preview');\n\t\t\t\t}\n\t\t\t\tif (this.theme === 'dark') {\n\t\t\t\t\tcss.push('header-dark');\n\t\t\t\t} else {\n\t\t\t\t\tcss.push('header-light');\n\t\t\t\t}\n\t\t\t\treturn css.join(' ');\n\t\t\t},\n\n\t\t\tbackgroundImage: function() {\n\t\t\t\tif(this.image){\n\t\t\t\t\tlet height = 400;\n\t\t\t\t\tlet width = 918;\n\n\t\t\t\t\tif (this.theme === 'blank') {\n\t\t\t\t\t\treturn 'background-color: #FFF';\n\t\t\t\t\t} else if (this.image.includes('.amazonaws.com/')) {\n\t\t\t\t\t\t// Custom image; Appending things breaks URL.\n\t\t\t\t\t\treturn `background-image: url('${this.image}');`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// Unsplash\n\t\t\t\t\t\tif (this.isPreview) {\n\t\t\t\t\t\t\twidth = 537;\n\t\t\t\t\t\t\theight = 234;\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn `background-image: url('${this.image}&q=50&h=${height}&w=${width}&crop=edges&fit=crop');`;\n\t\t\t\t\t}\n\t\t\t\t}else{\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\n\t\t\theaderWeight: function() {\n\t\t\t\tif (this.formatting.headerWeight === 'Regular') {\n\t\t\t\t\treturn 400;\n\t\t\t\t} else {\n\t\t\t\t\treturn 600;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tpreparedStyle: function() {\n\t\t\t\t// let fontSize = this.isPreview ? 12 : 16;\n\t\t\t\treturn `font-family: ${this.formatting.headerFont}; text-align: left;`;\n\t\t\t},\n\n\t\t\theaderStyle: function() {\n\t\t\t\t// let fontSize = this.isPreview ? 35 : 50;\n\t\t\t\tif(this.$vuetify.breakpoint.xsOnly){\n\t\t\t\t\treturn `font-size: 36px; font-family: ${this.formatting.headerFont}; font-weight: ${this.headerWeight}; text-align: left; line-height: 36px;`;\n\t\t\t\t}\n\t\t\t\treturn `font-family: ${this.formatting.headerFont}; font-weight: ${this.headerWeight}; text-align: left`;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t#cover-wrapper {\n\t\tborder-radius: 4px;\n\t\tbackground-color: var(--v-gray_10-base);\n\t\theight: 400px;\n\t\t&.preview {\n\t\t\theight: 234px;\n\t\t}\n\t\t&.no-image-no-header {\n\t\t\theight: 100px;\n\t\t}\n\t\t&.no-image {\n\t\t\tpadding-top: 16px;\n\t\t\theight: auto;\n\t\t}\n\t\tbackground-size: cover;\n\t\tbackground-repeat: no-repeat !important;\n\t\tbackground-position: center center;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: flex-end;\n\t\talign-items: flex-start;\n\t\tposition: relative;\n\t\ttransition: margin-bottom 600ms;\n\t\t&.with-logo {\n\t\t\tmargin-bottom: 86px;\n\t\t\ttransition: margin-bottom 600ms;\n\t\t}\n\t\t//border: 1px solid pink;\n\n\t\t.edit-button {\n\t\t\tposition: absolute;\n\t\t\ttop: 56px;\n\t\t\tright: 56px;\n\t\t}\n\t\t//transform: scale(0.7);\n\n\t\t.cover-text {\n\t\t\tborder-radius: 4px;\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: column;\n\t\t\tjustify-content: flex-end;\n\t\t\talign-items: flex-start;\n\t\t\tpadding: 0 24px 12px 48px;\n\n\t\t\th1 {\n\t\t\t\twidth: 100%;\n\t\t\t\tfont-size: 56px;\n\t\t\t\tline-height: 72px;\n\t\t\t\tmargin: 12px 0 0 !important;\n\t\t\t}\n\t\t\t.subheader {\n\t\t\t\t//transition: margin-bottom 600ms;\n\t\t\t\twidth: 100%;\n\n\t\t\t\th2 {\n\t\t\t\t\t// For/by header\n\t\t\t\t\tfont-size: 16px;\n\t\t\t\t\tline-height: 24px;\n\t\t\t\t\tmargin-bottom: 48px;\n\t\t\t\t\t//transition: margin-bottom 600ms;\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tjustify-content: flex-start;\n\t\t\t\t\talign-items: flex-start;\n\t\t\t\t\tflex-wrap: wrap;\n\t\t\t\t\tflex: 1 0 auto;\n\t\t\t\t\tcolumn-gap: 24px;\n\t\t\t\t\t> div {\n\t\t\t\t\t\twhite-space: nowrap;\n\t\t\t\t\t\tspan {\n\t\t\t\t\t\t\tfont-weight: 300;\n\t\t\t\t\t\t\tmargin-right: 4px;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t&:first-child {\n\t\t\t\t\t\t\tflex: 0 1 100px;\n\t\t\t\t\t\t}\n\t\t\t\t\t\t&:last-child {\n\t\t\t\t\t\t\tflex: 1 0 100px;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n          @media (max-width: 436px) {\n            display: block;\n          }\n\t\t\t\t}\n\t\t\t\t&.without-logo {\n\t\t\t\t\t.logo-box {\n\t\t\t\t\t\theight: 0;\n\t\t\t\t\t\twidth: 0;\n\t\t\t\t\t\tmin-width: 0;\n\t\t\t\t\t\ttransition: height 300ms linear 0ms, width 300ms linear 0ms, min-width 300ms linear 0ms;\n\t\t\t\t\t\t.logo-box-inner {\n\t\t\t\t\t\t\topacity: 0;\n\t\t\t\t\t\t\ttransition: opacity 300ms linear 0ms;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t&.with-logo {\n\t\t\t\t\tmargin-top: 24px;\n\t\t\t\t\tmargin-bottom: -86px;\n\t\t\t\t\t//transition: margin-bottom 600ms;\n\t\t\t\t\t//border: 1px solid white;\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\talign-items: flex-end;\n\t\t\t\t\tjustify-content: flex-start;\n\t\t\t\t\t.logo-box {\n\t\t\t\t\t\tmin-width: 120px;\n\t\t\t\t\t\tpadding: 8px;\n\t\t\t\t\t\theight: 120px;\n\t\t\t\t\t\ttransition: min-width 300ms linear 300ms;\n\t\t\t\t\t\tborder-radius: 4px;\n\t\t\t\t\t\tborder: 1px solid var(--v-gray_50-base);\n\t\t\t\t\t\tbackground-color: var(--v-white-base);\n\t\t\t\t\t\tmargin-right: 12px;\n\t\t\t\t\t\t.logo-box-inner {\n\t\t\t\t\t\t\theight: 104px;\n\t\t\t\t\t\t\t//border: 1px solid gold;\n\t\t\t\t\t\t\tbackground-size: 90%;\n\t\t\t\t\t\t\tbackground-position: center;\n\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\tjustify-content: center;\n\t\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t\t\ttransition: opacity 300ms linear 600ms;\n\t\t\t\t\t\t\t.account-logo {\n\t\t\t\t\t\t\t\tmax-width: 240px;\n\t\t\t\t\t\t\t\tmax-height: 104px;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\th2 {\n\t\t\t\t\t\tmargin-bottom: 24px;\n\t\t\t\t\t\t//transition: margin-bottom 300ms;\n\t\t\t\t\t\tcolor: var(--v-black-base);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t&.preview {\n\t\t\t\t\t&.with-logo {\n\t\t\t\t\t\tmargin-top: 18px;\n\t\t\t\t\t\tmargin-bottom: -60px;\n\t\t\t\t\t\t.logo-box {\n\t\t\t\t\t\t\tpadding: 6px;\n\t\t\t\t\t\t\tmin-width: 90px;\n\t\t\t\t\t\t\theight: 90px;\n\t\t\t\t\t\t\t.logo-box-inner {\n\t\t\t\t\t\t\t\theight: 78px;\n\t\t\t\t\t\t\t\t.account-logo {\n\t\t\t\t\t\t\t\t\tmax-width: 180px;\n\t\t\t\t\t\t\t\t\tmax-height: 78px;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\th2 {\n\t\t\t\t\t\tmargin-bottom: 21px;\n\t\t\t\t\t\t> div {\n\t\t\t\t\t\t\tspan {\n\t\t\t\t\t\t\t\tmargin-right: 3px;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t&:first-child {\n\t\t\t\t\t\t\t\tmargin-right: 21px;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t&.preview {\n\t\t\t\tpadding: 0 12px 9px 36px;\n\t\t\t\th1 {\n\t\t\t\t\tfont-size: 40px;\n\t\t\t\t\tline-height: 40px;\n\t\t\t\t\tmargin: 9px 0 0 !important;\n\t\t\t\t}\n\t\t\t\th2 {\n\t\t\t\t\tfont-size: 11px;\n\t\t\t\t\tline-height: 14px;\n\t\t\t\t\tmargin-bottom: 24px;\n\t\t\t\t}\n\t\t\t}\n\t\t\twidth: 100%;\n\t\t\t&.cover-light {\n\t\t\t\tbackground-image: linear-gradient(to top, rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0));\n\t\t\t}\n\t\t\t&.cover-dark {\n\t\t\t\tbackground-image: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0));\n\t\t\t}\n\t\t}\n\n\t\t.header-dark {\n\t\t\tcolor: white;\n\t\t}\n\n\t\t.header-light {\n\t\t\tcolor: black;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CoverPage.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CoverPage.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CoverPage.vue?vue&type=template&id=38ca5f7e&scoped=true\"\nimport script from \"./CoverPage.vue?vue&type=script&lang=js\"\nexport * from \"./CoverPage.vue?vue&type=script&lang=js\"\nimport style0 from \"./CoverPage.vue?vue&type=style&index=0&id=38ca5f7e&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"38ca5f7e\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"pa-0 ma-0 selector_text proposal-text-area\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{style:(_vm.headerStyle),attrs:{\"cols\":\"12\"}},[(!_vm.editMode)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.lHeader)}}):_vm._e(),(_vm.editMode)?_c('editor',{ref:\"headerEditor\",staticClass:\"grey-dots\",attrs:{\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.lHeader,\"inline\":true,\"init\":_vm.mceConfigHeader},on:{\"input\":_vm.handleHeaderInput}}):_vm._e()],1),_c('v-col',{staticStyle:{\"text-align\":\"left\"},attrs:{\"cols\":\"12\"}},[_c('span',{style:(_vm.bodyStyle)},[(!_vm.editMode)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.lText)}}):_vm._e(),(_vm.editMode)?_c('editor',{ref:\"textEditor\",staticStyle:{\"padding\":\"4px\"},attrs:{\"iniline\":true,\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.lText,\"init\":_vm.mceConfigText},on:{\"input\":_vm.handleTextInput}}):_vm._e()],1)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<v-container fluid class=\"pa-0 ma-0 selector_text proposal-text-area\">\n\t\t<v-row>\n\t\t\t<v-col cols=\"12\" :style=\"headerStyle\">\n\t\t\t\t<span v-html=\"lHeader\" v-if=\"!editMode\"></span>\n\t\t\t\t<editor\n\t\t\t\t\tref=\"headerEditor\"\n\t\t\t\t\tclass=\"grey-dots\"\n\t\t\t\t\tv-if=\"editMode\"\n\t\t\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t\t\t:initial-value=\"lHeader\"\n\t\t\t\t\t:inline=\"true\"\n\t\t\t\t\t:init=\"mceConfigHeader\"\n\t\t\t\t\t@input=\"handleHeaderInput\"\n\t\t\t\t></editor>\n\t\t\t</v-col>\n\t\t\t<v-col cols=\"12\" style=\"text-align: left;\">\n\t\t\t\t<span :style=\"bodyStyle\">\n\t\t\t\t\t<span v-html=\"lText\" v-if=\"!editMode\"></span>\n\t\t\t\t\t<editor\n\t\t\t\t\t\tv-if=\"editMode\"\n\t\t\t\t\t\tref=\"textEditor\"\n\t\t\t\t\t\t:iniline=\"true\"\n\t\t\t\t\t\tstyle=\"padding: 4px\"\n\t\t\t\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t\t\t\t:initial-value=\"lText\"\n\t\t\t\t\t\t:init=\"mceConfigText\"\n\t\t\t\t\t\t@input=\"handleTextInput\"\n\t\t\t\t\t></editor>\n\t\t\t\t</span>\n\t\t\t</v-col>\n\t\t</v-row>\n\t</v-container>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'TextArea',\n\n\t\tprops: ['header', 'text', 'id', 'editMode', 'blockType', 'mceConfigHeader', 'mceConfigText', 'headerStyle','bodyStyle'],\n\n\t\tcomponents: {\n\t\t\teditor: () => import(/* webpackChunkName: \"tinymce\" */ '@tinymce/tinymce-vue'),\n\t\t},\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tlText: this.text,\n\t\t\t\tlHeader: this.header,\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\thandleHeaderInput: function () {\n\t\t\t\tthis.lHeader = this.$refs.headerEditor.editor.getContent();\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\thandleTextInput: function () {\n\t\t\t\tthis.lText = this.$refs.textEditor.editor.getContent();\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\tnotifyChange() {\n\t\t\t\tthis.$emit('changed', {\n\t\t\t\t\tid: this.id,\n\t\t\t\t\tblockType: this.blockType,\n\t\t\t\t\theader: this.lHeader,\n\t\t\t\t\ttext: this.lText,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextArea.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextArea.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextArea.vue?vue&type=template&id=b1fe8d6e\"\nimport script from \"./TextArea.vue?vue&type=script&lang=js\"\nexport * from \"./TextArea.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"proposal-deliverables\"}},[_c('v-container',{staticClass:\"pa-0 ma-0\",style:(_vm.visible ? '' : 'opacity: 0.3'),attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"7\",\"align\":\"left\"}},[_c('div',{style:(_vm.headerStyle)},[(!_vm.editMode)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.lHeader)}}):_vm._e(),(_vm.editMode)?_c('editor',{ref:\"headerEditor\",staticClass:\"grey-dots\",attrs:{\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.lHeader,\"inline\":true,\"init\":_vm.mceConfigCover},on:{\"input\":_vm.handleHeaderInput}}):_vm._e()],1),(_vm.totalUpfrontAmount && _vm.lAutomations.paymentRequiredToStart)?_c('div',{staticClass:\"font-14 font-gray_70 font-italic\"},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(_vm.totalUpfrontAmount, true, true, _vm.currency))+\" payment required before project start. \")]):_vm._e()]),_c('v-col',{class:`align-start ${_vm.$vuetify.breakpoint.xsOnly ? 'my-n5' : 'justify-end'} d-flex`,staticStyle:{\"gap\":\"8px\"},attrs:{\"cols\":\"12\",\"sm\":\"5\",\"align\":\"right\"}},[(_vm.lFeeSchedule)?[_c('div',{class:'pr-2 column-format' + (_vm.editMode ? ' feeEditMode' : ''),staticStyle:{\"text-align\":\"right\",\"width\":\"fit-content\"},on:{\"click\":function($event){return _vm.openFeeSchedule()}}},[_c('div',{staticClass:\"text-right mr-n3\",style:(_vm.headerStyle),domProps:{\"innerHTML\":_vm._s(_vm.feeSchedulePrimary)}}),_c('div',{staticClass:\"text-right mr-n3\",style:(_vm.bodyStyle),domProps:{\"innerHTML\":_vm._s(_vm.feeScheduleSecondary)}})]),(_vm.createPackageAllowed && _vm.editMode)?_c('v-menu',{attrs:{\"nudge-bottom\":0,\"elevation\":0,\"content-class\":\"add-new-menu\",\"bottom\":\"\",\"left\":\"\",\"rounded\":\"\",\"offset-overflow\":\"\",\"offset-y\":\"\",\"transition\":\"slide-y-transition\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(menu){return [_c('v-btn',_vm._g({staticClass:\"secondary-action\",attrs:{\"icon\":\"\"}},menu.on),[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$moreHorizontal\")])],1)]}}],null,false,681035982)},[_c('div',{staticClass:\"add-new-dropdown\"},[_c('div',{staticClass:\"add-new-item nowrap\",on:{\"click\":function($event){return _vm.openFeeSchedule()}}},[_vm._v(\" Edit settings \")]),_c('div',{staticClass:\"add-new-item nowrap\",on:{\"click\":_vm.createPackage}},[_vm._v(\" \"+_vm._s(_vm.$t('templates.save-as-deliverable-package'))+\" \")])])]):_vm._e()]:_vm._e()],2)],1),(_vm.lDeliverables.length > 0)?_c('v-row',{staticClass:\"mt-2\",class:_vm.deliverableCss,style:(_vm.bodyStyle)},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-container',{staticClass:\"pa-0 ma-0\",attrs:{\"fluid\":\"\"}},[_c('draggable',{attrs:{\"handle\":\".deliverableHandle\"},on:{\"end\":_vm.dragEnd},model:{value:(_vm.lDeliverables),callback:function ($$v) {_vm.lDeliverables=$$v},expression:\"lDeliverables\"}},_vm._l((_vm.lDeliverables),function(item,index){return _c('div',{key:item.id},[_c('deliverable',{attrs:{\"index\":index,\"currency\":_vm.currency,\"tax-label\":_vm.taxLabel,\"tax-rate\":_vm.computedTaxRate,\"fee-schedule\":_vm.feeSchedule,\"deliverable\":item,\"edit-mode\":_vm.editMode,\"show-due-date\":_vm.anyDeliverableWithDueDate,\"show-pricing\":_vm.showDeliverablePricing,\"main-deliverable-columns\":_vm.mainDeliverableColumns,\"show-product-select\":(_vm.feeSchedule && _vm.feeSchedule.feeType === 'Per Item') || item.initialSetupTask},on:{\"delete\":function($event){return _vm.deleteDeliverable(item.id)},\"changed\":_vm.notifyChange}})],1)}),0)],1)],1)],1):_vm._e(),_c('v-row',{staticClass:\"text-left\",style:(_vm.bodyStyle)},[(_vm.editMode)?_c('v-col',{staticClass:\"pa-0 ma-0 gap-3 row-format\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"px-0\",attrs:{\"text\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.addDeliverable(false)}}},[_c('v-icon',{attrs:{\"size\":\"16\"}},[_vm._v(\"$plusCircle\")]),_c('span',{staticClass:\"font-14 brand-medium\"},[_vm._v(_vm._s(_vm.$t('proposal.deliverables.add')))])],1),_c('v-btn',{staticClass:\"px-0\",attrs:{\"text\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.addDeliverable(true)}}},[_c('v-icon',{attrs:{\"size\":\"16\"}},[_vm._v(\"$plusCircle\")]),_c('span',{staticClass:\"font-14 brand-medium\"},[_vm._v(_vm._s(_vm.$t('proposal.deliverables.add-setup')))])],1)],1):_vm._e(),_c('input',{attrs:{\"type\":\"hidden\"},domProps:{\"value\":_vm.totalUpfrontAmount}}),(_vm.deliverablesCount > 1)?_c('v-col',{staticClass:\"mt-1\",attrs:{\"cols\":\"12\",\"align\":\"left\"}},[(_vm.deliverablesCount > 0 && !_vm.forceAllDeliverables)?_c('v-btn',{class:!_vm.clientMode ? 'mt-2' : '',attrs:{\"disabled\":!_vm.clientMode,\"color\":\"primary\",\"outlined\":!_vm.selectedPackage},on:{\"click\":_vm.packageSelect}},[_vm._v(\" \"+_vm._s(_vm.selectedPackage ? _vm.$t('proposal.deliverables.selected') : _vm.$t('proposal.deliverables.select-this'))+\" \"),(_vm.selectedPackage)?_c('v-icon',{staticClass:\"ml-2\",attrs:{\"x-small\":\"\"}},[_vm._v(\"$check\")]):_vm._e()],1):_vm._e(),(!_vm.clientMode && !_vm.isLocked)?_c('div',{staticClass:\"mt-2\"},[_c('div',{staticClass:\"font-primary pointer\",attrs:{\"text\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleMultipleDeliverables.apply(null, arguments)}}},[_vm._v(\"*\"+_vm._s(_vm.buttonLabel))])]):_vm._e()],1):_vm._e()],1)],1),(_vm.editFees)?_c('basic-modal',{attrs:{\"dialog\":_vm.editFees,\"persistent\":true},on:{\"close\":function($event){_vm.editFees = false}}},[_c('deliverable-fees',{attrs:{\"currency\":_vm.currency,\"fee-schedule\":_vm.lFeeSchedule,\"automations\":_vm.lAutomations,\"payment-node-count\":_vm.paymentNodeCount},on:{\"change\":_vm.handleFeeChange,\"close\":function($event){_vm.editFees = false}}})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isReady)?_c('div',{attrs:{\"id\":\"proposal-deliverable-fees\"}},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_c('v-icon',[_vm._v(\"$close\")])],1),_c('div',{staticClass:\"modal-padding\"},[_c('div',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t('proposal.deliverables.project-fees')))]),_c('v-select',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"items\":_vm.feeTypes,\"item-text\":\"label\",\"item-value\":\"value\",\"label\":_vm.$t('proposal.deliverables.fee-type')},scopedSlots:_vm._u([{key:\"item\",fn:function({ item }){return [_c('span',{staticStyle:{\"font-size\":\"16px\"}},[_vm._v(_vm._s(item.label))])]}}],null,false,2814369483),model:{value:(_vm.lFeeSchedule.feeType),callback:function ($$v) {_vm.$set(_vm.lFeeSchedule, \"feeType\", $$v)},expression:\"lFeeSchedule.feeType\"}}),(_vm.lFeeSchedule.feeType === 'Per Item')?_c('div',{staticClass:\"row-format text-left font-14 font-gray_80\",staticStyle:{\"align-items\":\"flex-end\"}},[_vm._v(\" \"+_vm._s(_vm.$t('proposal.deliverables.is-null.per-item-text'))+\" \")]):_vm._e(),(_vm.lFeeSchedule.feeType !== 'Per Item')?_c('div',{staticClass:\"row-format\",staticStyle:{\"align-items\":\"flex-end\"}},[_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"prefix\":_vm.currencySymbol,\"type\":\"number\",\"label\":_vm.$t('proposal.deliverables.amount')},model:{value:(_vm.lFeeSchedule.amount),callback:function ($$v) {_vm.$set(_vm.lFeeSchedule, \"amount\", $$v)},expression:\"lFeeSchedule.amount\"}}),(_vm.taxEnabled)?_c('v-checkbox',{staticClass:\"ml-3 mb-2\",attrs:{\"dense\":\"\",\"hide-details\":\"\"},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('span',{staticClass:\"font-14 ml-n2\"},[_vm._v(_vm._s(_vm.$t('proposal.deliverables.taxable')))])]},proxy:true}],null,false,2763662694),model:{value:(_vm.lFeeSchedule.taxable),callback:function ($$v) {_vm.$set(_vm.lFeeSchedule, \"taxable\", $$v)},expression:\"lFeeSchedule.taxable\"}}):_vm._e()],1):_vm._e(),(_vm.lFeeSchedule.feeType === 'Retainer')?_c('v-select',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"items\":_vm.schedule,\"label\":_vm.$t('proposal.deliverables.frequency')},scopedSlots:_vm._u([{key:\"item\",fn:function({ item }){return [_c('span',[_vm._v(_vm._s(item))])]}}],null,false,2957485812),model:{value:(_vm.lFeeSchedule.retainerSchedule),callback:function ($$v) {_vm.$set(_vm.lFeeSchedule, \"retainerSchedule\", $$v)},expression:\"lFeeSchedule.retainerSchedule\"}}):_vm._e(),(_vm.lFeeSchedule.feeType === 'Hourly' || _vm.lFeeSchedule.feeType === 'Retainer')?_c('div',[_c('div',{staticClass:\"modal-subtitle mt-3 mb-0\"},[_vm._v(\" \"+_vm._s(_vm.$t('proposal.deliverables.hour-estimate'))+\" \"),_c('span',{staticClass:\"ml-1\",staticStyle:{\"font-style\":\"italic\",\"font-weight\":\"300\",\"font-size\":\"12px\"}},[_vm._v(_vm._s(_vm.$t('proposal.deliverables.hour-estimate-optional')))])]),_c('div',{staticClass:\"d-flex justify-space-between\"},[_c('div',{staticClass:\"pr-1\",staticStyle:{\"flex\":\"0 0 50%\"}},[_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('proposal.deliverables.hour-estimate-min-label'),\"type\":\"number\"},model:{value:(_vm.lFeeSchedule.estimateMin),callback:function ($$v) {_vm.$set(_vm.lFeeSchedule, \"estimateMin\", $$v)},expression:\"lFeeSchedule.estimateMin\"}})],1),_c('div',{staticClass:\"pl-1\",staticStyle:{\"flex\":\"0 0 50%\"}},[_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('proposal.deliverables.hour-estimate-max-label'),\"type\":\"number\"},model:{value:(_vm.lFeeSchedule.estimateMax),callback:function ($$v) {_vm.$set(_vm.lFeeSchedule, \"estimateMax\", $$v)},expression:\"lFeeSchedule.estimateMax\"}})],1)]),(_vm.lFeeSchedule.feeType === 'Retainer' && _vm.lFeeSchedule.estimateMax)?_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"prefix\":_vm.currencySymbol,\"type\":\"number\",\"label\":_vm.$t('proposal.deliverables.retainer-overage')},model:{value:(_vm.lFeeSchedule.retainerOverageRate),callback:function ($$v) {_vm.$set(_vm.lFeeSchedule, \"retainerOverageRate\", $$v)},expression:\"lFeeSchedule.retainerOverageRate\"}}):_vm._e()],1):_vm._e(),_c('div',{staticClass:\"column-format gap-3 mt-2\",staticStyle:{\"border-top\":\"1px solid var(--v-gray_30-base)\"}},[_c('div',{staticClass:\"row-format align-center gap-2 mt-3\"},[_c('v-switch',{staticClass:\"mt-n1\",attrs:{\"inset\":\"\",\"flat\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"label\":\"Enable automations & payment\"},model:{value:(_vm.lAutomations.autoCreateProject),callback:function ($$v) {_vm.$set(_vm.lAutomations, \"autoCreateProject\", $$v)},expression:\"lAutomations.autoCreateProject\"}}),_c('v-icon',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({content: 'When this is enabled, Moxie will automatically create a corresponding project and first invoice based on the settings on this package.'}),expression:\"{content: 'When this is enabled, Moxie will automatically create a corresponding project and first invoice based on the settings on this package.'}\"}],staticClass:\"ml-auto pointer\",attrs:{\"color\":\"accent\"}},[_vm._v(\"help\")])],1),(_vm.lAutomations.autoCreateProject)?_c('div',{staticClass:\"row-format align-center gap-2\"},[(_vm.lAutomations.autoCreateProject)?_c('v-text-field',{staticClass:\"h-outline\",staticStyle:{\"margin-bottom\":\"-4px\"},attrs:{\"hide-details\":\"\",\"persistent-placeholder\":true,\"label\":\"New project name (optional)\"},model:{value:(_vm.lAutomations.projectName),callback:function ($$v) {_vm.$set(_vm.lAutomations, \"projectName\", $$v)},expression:\"lAutomations.projectName\"}}):_vm._e(),_c('v-icon',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({content:'This value will be the name for the new project that is created.'}),expression:\"{content:'This value will be the name for the new project that is created.'}\"}],staticClass:\"ml-auto pointer\",attrs:{\"color\":\"accent\"}},[_vm._v(\"help\")])],1):_vm._e(),(_vm.lAutomations.autoCreateProject)?_c('div',{staticClass:\"row-format align-center gap-2\"},[_c('v-select',{staticClass:\"h-outline\",staticStyle:{\"margin-top\":\"0\"},attrs:{\"items\":_vm.packageList,\"item-text\":\"name\",\"item-value\":\"id\",\"hide-details\":\"\",\"persistent-placeholder\":true,\"clearable\":\"\",\"label\":\"Use tasks from project template\"},model:{value:(_vm.lAutomations.overrideDeliverablePackageId),callback:function ($$v) {_vm.$set(_vm.lAutomations, \"overrideDeliverablePackageId\", $$v)},expression:\"lAutomations.overrideDeliverablePackageId\"}}),_c('v-icon',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({content:'Selecting this value will replace the deliverables specified in the agreement with tasks from the specified template when the project is automatically created.'}),expression:\"{content:'Selecting this value will replace the deliverables specified in the agreement with tasks from the specified template when the project is automatically created.'}\"}],staticClass:\"ml-auto pointer\",attrs:{\"color\":\"accent\"}},[_vm._v(\"help\")])],1):_vm._e(),(_vm.lAutomations.autoCreateProject)?_c('div',[(_vm.lFeeSchedule.feeType !== 'Retainer')?_c('div',{staticClass:\"row-format gap-2\"},[_c('v-text-field',{staticClass:\"h-outline\",staticStyle:{\"min-width\":\"200px\",\"margin-top\":\"0px\"},attrs:{\"type\":\"number\",\"hide-details\":\"\",\"persistent-placeholder\":true,\"label\":\"Initial invoice amount\",\"prefix\":_vm.lAutomations.invoicePercentage ? '' : _vm.currencySymbol,\"suffix\":_vm.lAutomations.invoicePercentage ? '%' : '',\"min\":_vm.lAutomations.invoicePercentage ? '0' : null,\"max\":_vm.lAutomations.invoicePercentage ? '100' : null},on:{\"change\":_vm.scrubInput},model:{value:(_vm.lAutomations.invoiceAmount),callback:function ($$v) {_vm.$set(_vm.lAutomations, \"invoiceAmount\", $$v)},expression:\"lAutomations.invoiceAmount\"}}),_c('v-select',{staticClass:\"h-outline\",staticStyle:{\"margin-top\":\"0px\"},attrs:{\"hide-details\":\"\",\"persistent-placeholder\":true,\"label\":\"Type\",\"item-value\":\"value\",\"item-text\":\"label\",\"items\":_vm.amountTypeOptions},on:{\"change\":_vm.scrubInput},model:{value:(_vm.lAutomations.invoicePercentage),callback:function ($$v) {_vm.$set(_vm.lAutomations, \"invoicePercentage\", $$v)},expression:\"lAutomations.invoicePercentage\"}})],1):_vm._e(),(_vm.lAutomations.invoiceAmount || _vm.lFeeSchedule.feeType === 'Retainer')?_c('v-switch',{staticStyle:{\"margin-top\":\"0px\"},attrs:{\"inset\":\"\",\"flat\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"label\":`Show ${_vm.invoiceLabel} amount on agreement`},model:{value:(_vm.lAutomations.paymentRequiredToStart),callback:function ($$v) {_vm.$set(_vm.lAutomations, \"paymentRequiredToStart\", $$v)},expression:\"lAutomations.paymentRequiredToStart\"}}):_vm._e(),(!_vm.paymentNodeCount)?_c('v-switch',{staticStyle:{\"margin-top\":\"0px\"},attrs:{\"inset\":\"\",\"flat\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"label\":`Approval required to send ${_vm.invoiceLabel}`},model:{value:(_vm.lAutomations.approvalRequired),callback:function ($$v) {_vm.$set(_vm.lAutomations, \"approvalRequired\", $$v)},expression:\"lAutomations.approvalRequired\"}}):_vm._e()],1):_vm._e()])],1),_c('div',{staticClass:\"modal-footer\"},[_c('v-btn',{staticClass:\"secondary-action mr-1\",attrs:{\"width\":\"120\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_vm._v(_vm._s(_vm.$t('global.cancel')))]),_c('v-btn',{staticClass:\"primary-action ml-1\",attrs:{\"width\":\"120\"},on:{\"click\":function($event){return _vm.save()}}},[_vm._v(_vm._s(_vm.$t('global.save')))])],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div id=\"proposal-deliverable-fees\" v-if=\"isReady\">\n\t\t<v-btn icon class=\"close-dialog\" @click=\"$emit('close')\">\n\t\t\t<v-icon>$close</v-icon>\n\t\t</v-btn>\n\t\t<div class=\"modal-padding\">\n\t\t\t<div class=\"modal-title\">{{ $t('proposal.deliverables.project-fees') }}</div>\n\n\t\t\t<v-select\n\t\t\t\tclass=\"h-outline\"\n\t\t\t\thide-details\n\t\t\t\tpersistent-placeholder\n\t\t\t\t:items=\"feeTypes\"\n\t\t\t\tv-model=\"lFeeSchedule.feeType\"\n\t\t\t\titem-text=\"label\"\n\t\t\t\titem-value=\"value\"\n\t\t\t\t:label=\"$t('proposal.deliverables.fee-type')\"\n\t\t\t>\n\t\t\t\t<template v-slot:item=\"{ item }\">\n\t\t\t\t\t<span style=\"font-size: 16px\">{{ item.label }}</span>\n\t\t\t\t</template>\n\t\t\t</v-select>\n\n\t\t\t<div\n\t\t\t\tv-if=\"lFeeSchedule.feeType === 'Per Item'\"\n\t\t\t\tclass=\"row-format text-left font-14 font-gray_80\"\n\t\t\t\tstyle=\"align-items: flex-end\"\n\t\t\t>\n\t\t\t\t{{ $t('proposal.deliverables.is-null.per-item-text') }}\n\t\t\t</div>\n\n\t\t\t<div v-if=\"lFeeSchedule.feeType !== 'Per Item'\" class=\"row-format\" style=\"align-items: flex-end\">\n\t\t\t\t<v-text-field\n\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\thide-details\n\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\tv-model=\"lFeeSchedule.amount\"\n\t\t\t\t\t:prefix=\"currencySymbol\"\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t:label=\"$t('proposal.deliverables.amount')\"\n\t\t\t\t></v-text-field>\n\t\t\t\t<v-checkbox v-if=\"taxEnabled\" class=\"ml-3 mb-2\" dense hide-details v-model=\"lFeeSchedule.taxable\"\n\t\t\t\t\t><template v-slot:label\n\t\t\t\t\t\t><span class=\"font-14 ml-n2\">{{ $t('proposal.deliverables.taxable') }}</span></template\n\t\t\t\t\t></v-checkbox\n\t\t\t\t>\n\t\t\t</div>\n\n\t\t\t<v-select\n\t\t\t\tv-if=\"lFeeSchedule.feeType === 'Retainer'\"\n\t\t\t\tclass=\"h-outline\"\n\t\t\t\thide-details\n\t\t\t\tpersistent-placeholder\n\t\t\t\t:items=\"schedule\"\n\t\t\t\tv-model=\"lFeeSchedule.retainerSchedule\"\n\t\t\t\t:label=\"$t('proposal.deliverables.frequency')\"\n\t\t\t>\n\t\t\t\t<template v-slot:item=\"{ item }\">\n\t\t\t\t\t<span>{{ item }}</span>\n\t\t\t\t</template>\n\t\t\t</v-select>\n\n\t\t\t<div v-if=\"lFeeSchedule.feeType === 'Hourly' || lFeeSchedule.feeType === 'Retainer'\">\n\t\t\t\t<div class=\"modal-subtitle mt-3 mb-0\">\n\t\t\t\t\t{{ $t('proposal.deliverables.hour-estimate') }}\n\t\t\t\t\t<span style=\"font-style: italic; font-weight: 300; font-size: 12px\" class=\"ml-1\">{{\n\t\t\t\t\t\t$t('proposal.deliverables.hour-estimate-optional')\n\t\t\t\t\t}}</span>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"d-flex justify-space-between\">\n\t\t\t\t\t<div style=\"flex: 0 0 50%\" class=\"pr-1\">\n\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\tv-model=\"lFeeSchedule.estimateMin\"\n\t\t\t\t\t\t\t:label=\"$t('proposal.deliverables.hour-estimate-min-label')\"\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div style=\"flex: 0 0 50%\" class=\"pl-1\">\n\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\tv-model=\"lFeeSchedule.estimateMax\"\n\t\t\t\t\t\t\t:label=\"$t('proposal.deliverables.hour-estimate-max-label')\"\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<v-text-field\n\t\t\t\t\tv-if=\"lFeeSchedule.feeType === 'Retainer' && lFeeSchedule.estimateMax\"\n\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\thide-details\n\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\tv-model=\"lFeeSchedule.retainerOverageRate\"\n\t\t\t\t\t:prefix=\"currencySymbol\"\n\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t:label=\"$t('proposal.deliverables.retainer-overage')\"\n\t\t\t\t></v-text-field>\n\t\t\t</div>\n\t\t\t<div class=\"column-format gap-3 mt-2\" style=\"border-top: 1px solid var(--v-gray_30-base)\">\n\t\t\t\t<div class=\"row-format align-center gap-2 mt-3\">\n\t\t\t\t\t<v-switch\n\t\t\t\t\t\tclass=\"mt-n1\"\n\t\t\t\t\t\tv-model=\"lAutomations.autoCreateProject\"\n\t\t\t\t\t\tinset\n\t\t\t\t\t\tflat\n\t\t\t\t\t\tdense\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tlabel=\"Enable automations & payment\"\n\t\t\t\t\t></v-switch>\n\t\t\t\t\t<v-icon class=\"ml-auto pointer\" color=\"accent\" v-tippy=\"{content: 'When this is enabled, Moxie will automatically create a corresponding project and first invoice based on the settings on this package.'}\">help</v-icon>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"row-format align-center gap-2\" v-if=\"lAutomations.autoCreateProject\">\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\tv-if=\"lAutomations.autoCreateProject\"\n\t\t\t\t\t\tv-model=\"lAutomations.projectName\"\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tstyle=\"margin-bottom: -4px\"\n\t\t\t\t\t\t:persistent-placeholder=\"true\"\n\t\t\t\t\t\tlabel=\"New project name (optional)\"\n\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t></v-text-field>\n\t\t\t\t\t<v-icon class=\"ml-auto pointer\" color=\"accent\" v-tippy=\"{content:'This value will be the name for the new project that is created.'}\">help</v-icon>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"row-format align-center gap-2\" v-if=\"lAutomations.autoCreateProject\">\n\t\t\t\t\t<v-select\n\t\t\t\t\t\tv-model=\"lAutomations.overrideDeliverablePackageId\"\n\t\t\t\t\t\t:items=\"packageList\"\n\t\t\t\t\t\titem-text=\"name\"\n\t\t\t\t\t\titem-value=\"id\"\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tstyle=\"margin-top: 0;\"\n\t\t\t\t\t\t:persistent-placeholder=\"true\"\n\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\tclearable\n\t\t\t\t\t\tlabel=\"Use tasks from project template\"\n\t\t\t\t\t>\n\t\t\t\t\t</v-select>\n\t\t\t\t\t<v-icon class=\"ml-auto pointer\" color=\"accent\" v-tippy=\"{content:'Selecting this value will replace the deliverables specified in the agreement with tasks from the specified template when the project is automatically created.'}\">help</v-icon>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"lAutomations.autoCreateProject\">\n\t\t\t\t\t<div v-if=\"lFeeSchedule.feeType !== 'Retainer'\" class=\"row-format gap-2\">\n\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\tstyle=\"min-width:200px; margin-top: 0px;\"\n\t\t\t\t\t\t\tv-model=\"lAutomations.invoiceAmount\"\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t:persistent-placeholder=\"true\"\n\t\t\t\t\t\t\tlabel=\"Initial invoice amount\"\n\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t\t:prefix=\"lAutomations.invoicePercentage ? '' : currencySymbol\"\n\t\t\t\t\t\t\t:suffix=\"lAutomations.invoicePercentage ? '%' : ''\"\n\t\t\t\t\t\t\t:min=\"lAutomations.invoicePercentage ? '0' : null\"\n\t\t\t\t\t\t\t:max=\"lAutomations.invoicePercentage ? '100' : null\"\n\t\t\t\t\t\t\t@change=\"scrubInput\"\n\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\tv-model=\"lAutomations.invoicePercentage\"\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\tstyle=\"margin-top: 0px;\"\n\t\t\t\t\t\t\t:persistent-placeholder=\"true\"\n\t\t\t\t\t\t\tlabel=\"Type\"\n\t\t\t\t\t\t\titem-value=\"value\"\n\t\t\t\t\t\t\titem-text=\"label\"\n\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t\t@change=\"scrubInput\"\n\t\t\t\t\t\t\t:items=\"amountTypeOptions\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t</v-select>\n\t\t\t\t\t</div>\n\t\t\t\t\t<v-switch\n\t\t\t\t\t\tclass=\"\"\n\t\t\t\t\t\tstyle=\"margin-top: 0px\"\n\t\t\t\t\t\tv-if=\"lAutomations.invoiceAmount || lFeeSchedule.feeType === 'Retainer'\"\n\t\t\t\t\t\tv-model=\"lAutomations.paymentRequiredToStart\"\n\t\t\t\t\t\tinset\n\t\t\t\t\t\tflat\n\t\t\t\t\t\tdense\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\t:label=\"`Show ${invoiceLabel} amount on agreement`\"\n\t\t\t\t\t></v-switch>\n\t\t\t\t\t<v-switch\n\t\t\t\t\t\tv-if=\"!paymentNodeCount\"\n\t\t\t\t\t\tclass=\"\"\n\t\t\t\t\t\tstyle=\"margin-top: 0px;\"\n\t\t\t\t\t\tv-model=\"lAutomations.approvalRequired\"\n\t\t\t\t\t\tinset\n\t\t\t\t\t\tflat\n\t\t\t\t\t\tdense\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\t:label=\"`Approval required to send ${invoiceLabel}`\"\n\t\t\t\t\t></v-switch>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"modal-footer\">\n\t\t\t<v-btn class=\"secondary-action mr-1\" width=\"120\" @click=\"$emit('close')\">{{ $t('global.cancel') }}</v-btn>\n\t\t\t<v-btn class=\"primary-action ml-1\" width=\"120\" @click=\"save()\">{{ $t('global.save') }}</v-btn>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'DeliverableFees',\n\n\t\tprops: ['automations', 'feeSchedule', 'currency', 'paymentNodeCount'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\ttemplateService: {},\n\t\t\t\tisReady: false,\n\t\t\t\tpackageList: [],\n\t\t\t\tfeeTypes: [\n\t\t\t\t\t{ label: 'Hourly', value: 'Hourly' },\n\t\t\t\t\t{ label: 'Fixed Price', value: 'Fixed Price' },\n\t\t\t\t\t{ label: 'Recurring', value: 'Retainer' },\n\t\t\t\t\t{ label: 'Per Item', value: 'Per Item' },\n\t\t\t\t],\n\t\t\t\tschedule: ['Weekly', 'Bi-Weekly', 'Monthly', 'Quarterly', 'Bi-Annually', 'Annually'],\n\t\t\t\tamountTypeOptions: [\n\t\t\t\t\t{ value: true, label: 'Percentage' },\n\t\t\t\t\t{ value: false, label: 'Fixed amount' },\n\t\t\t\t],\n\t\t\t\tlAutomations: null,\n\t\t\t\tlFeeSchedule: JSON.parse(JSON.stringify(this.feeSchedule)),\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tif (this.automations) {\n\t\t\t\tthis.lAutomations = JSON.parse(JSON.stringify(this.automations));\n\t\t\t} else {\n\t\t\t\tthis.lAutomations = {\n\t\t\t\t\tautoCreateProject: true,\n\t\t\t\t\tautoInvoice: true,\n\t\t\t\t\tinvoicePercentage: true,\n\t\t\t\t\tinvoiceAmount: 50,\n\t\t\t\t\tpaymentRequiredToStart: true,\n\t\t\t\t};\n\t\t\t}\n\t\t\tthis.getPackageList();\n\t\t\tthis.isReady = true;\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tsave: function() {\n\t\t\t\tthis.$emit('change', {\n\t\t\t\t\tfeeSchedule: this.lFeeSchedule,\n\t\t\t\t\tautomations: this.lAutomations,\n\t\t\t\t});\n\t\t\t\tthis.$emit('close');\n\t\t\t},\n\n\t\t\tgetPackageList: function() {\n\t\t\t\tthis.templateService.getDeliverablePackages().then((res) => {\n\t\t\t\t\tthis.packageList.splice(0);\n\t\t\t\t\tthis.packageList.push(...res.data);\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tscrubInput: function() {\n\t\t\t\tlet result = parseFloat(this.lAutomations.invoiceAmount);\n\t\t\t\tif (isNaN(result)) {\n\t\t\t\t\tthis.lAutomations.invoiceAmount = 0;\n\t\t\t\t} else {\n\t\t\t\t\tif (result < 0) {\n\t\t\t\t\t\tresult = 0;\n\t\t\t\t\t} else if (this.lAutomations.invoicePercentage && result > 100) {\n\t\t\t\t\t\tresult = 100;\n\t\t\t\t\t}\n\t\t\t\t\tthis.lAutomations.invoiceAmount = result;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tcurrencySymbol: function() {\n\t\t\t\treturn this.$formatters.currencySymbol(this.currency ? this.currency : this.$store.state.defaultCurrency);\n\t\t\t},\n\n\t\t\ttaxEnabled: function() {\n\t\t\t\treturn this.$store.state.podAccount.accountPreferences.invoiceUseTax;\n\t\t\t},\n\n\t\t\tinvoiceLabel: function() {\n\t\t\t\tlet feeType = this.lFeeSchedule.feeType;\n\t\t\t\tif (feeType === 'Hourly' || feeType === 'Per Item') {\n\t\t\t\t\treturn 'deposit invoice';\n\t\t\t\t} else {\n\t\t\t\t\treturn 'initial invoice';\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t#proposal-deliverable-fees {\n\t\twidth: 450px;\n\t\tbackground-color: var(--v-white-base);\n\t}\n\t.label {\n\t\ttext-align: left;\n\t\tfont-weight: bold;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeliverableFees.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeliverableFees.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DeliverableFees.vue?vue&type=template&id=31b0745a&scoped=true\"\nimport script from \"./DeliverableFees.vue?vue&type=script&lang=js\"\nexport * from \"./DeliverableFees.vue?vue&type=script&lang=js\"\nimport style0 from \"./DeliverableFees.vue?vue&type=style&index=0&id=31b0745a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"31b0745a\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCheckbox,VIcon,VSelect,VSwitch,VTextField})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"proposal-deliverable-wrapper\"},[_c('v-row',{class:_vm.classList,style:(_vm.index === 0 ? 'border-top: 1px solid var(--v-gray_50-base);' : ''),on:{\"click\":function($event){return _vm.handleClick()},\"mouseover\":function($event){_vm.hovering = true},\"mouseleave\":function($event){_vm.hovering = false}}},[_c('v-col',{staticClass:\"deliverable\",staticStyle:{\"align-items\":\"center\"},attrs:{\"cols\":_vm.mainDeliverableColumns,\"align\":\"left\"}},[(_vm.editMode)?_c('v-btn',{staticClass:\"deliverableHandle mr-1\",attrs:{\"icon\":\"\",\"x-small\":\"\"},on:{\"click\":function($event){$event.preventDefault();return (() => {}).apply(null, arguments)}}},[(_vm.editMode)?_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$drag\")]):_vm._e()],1):_vm._e(),_c('div',{staticClass:\"column-format\"},[_c('div',{staticClass:\"brand-medium\"},[_vm._v(_vm._s(_vm.deliverableLabel))]),(_vm.descriptionLabel)?_c('div',{staticClass:\"font-gray_80\",staticStyle:{\"white-space\":\"pre-wrap\"}},[_vm._v(_vm._s(_vm.descriptionLabel))]):_vm._e()])],1),(_vm.showPricing)?_c('v-col',{staticClass:\"deliverable\",style:(_vm.$vuetify.breakpoint.xsOnly ? '' : 'justify-content: flex-end; text-align: right'),attrs:{\"cols\":\"12\",\"sm\":\"3\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.deliverablePricing)}})]):_vm._e(),(_vm.showDueDate)?_c('v-col',{staticClass:\"deliverable\",style:(_vm.$vuetify.breakpoint.xsOnly ? '' : 'justify-content: flex-end'),attrs:{\"cols\":\"12\",\"sm\":\"2\"}},[_c('div',[_vm._v(_vm._s(_vm.dueDateFormatted))])]):_vm._e()],1),(_vm.isReady)?_c('basic-modal',{attrs:{\"dialog\":_vm.edit,\"persistent\":true,\"max-width\":565},on:{\"close\":function($event){return _vm.cancelEdit()}}},[_c('div',{attrs:{\"id\":\"proposal-deliverable-modal\"}},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.cancelEdit()}}},[_c('v-icon',[_vm._v(\"$close\")])],1),_c('v-form',{nativeOn:{\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;$event.stopPropagation();}}},[_c('div',{staticClass:\"modal-padding\"},[(_vm.deliverable.initialSetupTask)?_c('div',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t('proposal.deliverables.setup')))]):_c('div',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t('proposal.deliverables.deliverable')))]),_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.deliverable.initialSetupTask ? _vm.$t('proposal.deliverables.fee-name') : _vm.$t('proposal.deliverables.name')},model:{value:(_vm.deliverable.deliverable),callback:function ($$v) {_vm.$set(_vm.deliverable, \"deliverable\", $$v)},expression:\"deliverable.deliverable\"}}),_c('v-textarea',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('proposal.deliverables.description'),\"auto-grow\":\"\",\"rows\":\"1\"},model:{value:(_vm.deliverable.description),callback:function ($$v) {_vm.$set(_vm.deliverable, \"description\", $$v)},expression:\"deliverable.description\"}}),(_vm.showProductSelect)?_c('div',[_c('per-item-pricing',{attrs:{\"hide-icon\":true,\"product\":_vm.deliverable.product,\"quantity\":_vm.deliverable.quantity,\"editable\":true,\"currency\":_vm.currency},on:{\"product-selected\":function($event){return _vm.handleProductSelected($event)},\"quantity-updated\":function($event){return _vm.handleQuantityUpdated($event)}}}),_c('v-switch',{staticClass:\"mt-2 date-type-switch\",attrs:{\"label\":_vm.$t('proposal.deliverables.show-pricing-detail'),\"inset\":\"\",\"dense\":\"\",\"hide-details\":\"\"},model:{value:(_vm.deliverable.showPricingDetail),callback:function ($$v) {_vm.$set(_vm.deliverable, \"showPricingDetail\", $$v)},expression:\"deliverable.showPricingDetail\"}})],1):_vm._e(),_c('v-switch',{staticClass:\"mt-2 date-type-switch\",attrs:{\"label\":_vm.$t('proposal.content.relative-date'),\"inset\":\"\",\"dense\":\"\",\"hide-details\":\"\"},on:{\"change\":_vm.handleDateTypeSwitch},model:{value:(_vm.dateTypeSwitch),callback:function ($$v) {_vm.dateTypeSwitch=$$v},expression:\"dateTypeSwitch\"}}),(_vm.dateType === 'RELATIVE')?[_c('div',{staticClass:\"label-style\"},[_vm._v(_vm._s(_vm.$t('proposal.content.how-soon')))]),_c('div',{staticClass:\"d-flex align-center justify-space-between half\",staticStyle:{\"gap\":\"12px\"}},[_c('v-text-field',{staticClass:\"h-outline-no-label mb-0\",attrs:{\"type\":\"number\",\"inputmode\":\"number\",\"min\":\"0\",\"placeholder\":_vm.$t('templates.packages.deliverable-detail-modal.duration-placeholder', {\n\t\t\t\t\t\t\t\t\t\tunits: _vm.humanUnits,\n\t\t\t\t\t\t\t\t\t}),\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"disabled\":_vm.dateType === 'FIXED'},on:{\"keydown\":function($event){return _vm.handleDurationKeydown($event)}},model:{value:(_vm.deliverable.dueDateRelative.duration),callback:function ($$v) {_vm.$set(_vm.deliverable.dueDateRelative, \"duration\", $$v)},expression:\"deliverable.dueDateRelative.duration\"}}),_c('v-select',{staticClass:\"h-outline-no-label mb-0\",attrs:{\"placeholder\":_vm.$t('templates.packages.deliverable-detail-modal.units-placeholder'),\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"items\":_vm.timeUnits,\"item-value\":\"value\",\"item-text\":\"text\",\"disabled\":_vm.dateType === 'FIXED'},model:{value:(_vm.deliverable.dueDateRelative.timeUnit),callback:function ($$v) {_vm.$set(_vm.deliverable.dueDateRelative, \"timeUnit\", $$v)},expression:\"deliverable.dueDateRelative.timeUnit\"}})],1)]:_vm._e(),(_vm.dateType === 'FIXED')?[_c('div',{staticClass:\"label-style\"},[_vm._v(_vm._s(_vm.$t('proposal.content.fixed-date')))]),_c('v-menu',{ref:\"menu\",attrs:{\"close-on-content-click\":false,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"min-width\":\"290px\",\"disabled\":_vm.dateType === 'RELATIVE'},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-text-field',_vm._g(_vm._b({staticClass:\"h-outline-no-label pr-2 mb-0\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"placeholder\":_vm.$t('proposal.deliverables.delivery-date'),\"value\":_vm.dueDateFormattedInput,\"readonly\":\"\"},scopedSlots:_vm._u([{key:\"append\",fn:function(){return [_c('div',{staticClass:\"clear-date-icon\"},[(_vm.deliverable.dueDate !== null)?_c('v-icon',{nativeOn:{\"click\":function($event){_vm.deliverable.dueDate = null}}},[_vm._v(\"$clear\")]):_vm._e()],1),_c('div',{staticClass:\"due-date-icon\"},[_c('v-icon',{class:'icon-two-color' + (_vm.dateType === 'RELATIVE' ? ' disabled' : ''),nativeOn:{\"click\":function($event){_vm.dueDateMenu = true}}},[_vm._v(\"$calendar\")])],1)]},proxy:true}],null,true)},'v-text-field',attrs,false),on))]}}],null,false,2307620320),model:{value:(_vm.dueDateMenu),callback:function ($$v) {_vm.dueDateMenu=$$v},expression:\"dueDateMenu\"}},[_c('v-date-picker',{attrs:{\"first-day-of-week\":_vm.$store.getters.firstDayOfWeek,\"no-title\":\"\",\"scrollable\":\"\"},on:{\"change\":function($event){return _vm.dueDateEdited()}},model:{value:(_vm.deliverable.dueDate),callback:function ($$v) {_vm.$set(_vm.deliverable, \"dueDate\", $$v)},expression:\"deliverable.dueDate\"}})],1)]:_vm._e()],2),_c('div',{staticClass:\"modal-footer\"},[_c('v-btn',{staticClass:\"secondary-action mr-1\",on:{\"click\":function($event){$event.preventDefault();_vm.deleteDialog=true}}},[_c('v-icon',{attrs:{\"color\":\"gray_70\",\"size\":\"20\"}},[_vm._v(\"$delete\")])],1),_c('v-btn',{staticClass:\"primary-action ml-1\",attrs:{\"width\":120},on:{\"click\":function($event){$event.preventDefault();return _vm.saveEdit()}}},[_vm._v(\" \"+_vm._s(_vm.$t('global.save'))+\" \")])],1)])],1)]):_vm._e(),_c('basic-modal',{attrs:{\"dialog\":_vm.deleteDialog,\"persistent\":false,\"max-width\":290},on:{\"close\":function($event){return _vm.cancelDelete()}}},[_c('div',{attrs:{\"id\":\"delete-deliverable-modal\"}},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.cancelDelete()}}},[_c('v-icon',[_vm._v(\"$close\")])],1),_c('div',{staticClass:\"px-10 py-6\"},[_c('div',{staticClass:\"brand-semilight font-16\"},[_vm._v(_vm._s(_vm.$t('proposal.deliverables.delete-confirm')))])]),_c('div',{staticClass:\"modal-footer\"},[_c('v-btn',{attrs:{\"color\":\"primary-action mr-1\",\"width\":\"100\"},on:{\"click\":function($event){return _vm.cancelDelete()}}},[_vm._v(_vm._s(_vm.$t('global.no')))]),_c('v-btn',{attrs:{\"color\":\"secondary-action ml-1\",\"width\":\"100\"},on:{\"click\":function($event){return _vm.doDelete()}}},[_vm._v(_vm._s(_vm.$t('global.yes')))])],1)],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n\n  </div>\n</template>\n\n<script>\nexport default {\n  name: 'PerItemPricing',\n\n  props: [],\n\n  components: {},\n\n  data: function() {\n    return {};\n  },\n\n  mounted() {\n  },\n\n  beforeDestroy() {\n  },\n\n  methods: {},\n\n  computed: {},\n\n};\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PerItemPricing.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PerItemPricing.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PerItemPricing.vue?vue&type=template&id=74a1384e&scoped=true\"\nimport script from \"./PerItemPricing.vue?vue&type=script&lang=js\"\nexport * from \"./PerItemPricing.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"74a1384e\",\n  null\n  \n)\n\nexport default component.exports","<template>\n\t<div class=\"proposal-deliverable-wrapper\">\n\t\t<v-row @click=\"handleClick()\" :class=\"classList\" @mouseover=\"hovering = true\" @mouseleave=\"hovering = false\" :style=\"index === 0 ? 'border-top: 1px solid var(--v-gray_50-base);' : ''\">\n\t\t\t<v-col class=\"deliverable\" :cols=\"mainDeliverableColumns\" style=\"align-items: center\" align=\"left\">\n\t\t\t\t<v-btn icon x-small class=\"deliverableHandle mr-1\" @click.prevent=\"() => {}\" v-if=\"editMode\">\n\t\t\t\t\t<v-icon size=\"20\" v-if=\"editMode\">$drag</v-icon>\n\t\t\t\t</v-btn>\n\t\t\t\t<div class=\"column-format\">\n\t\t\t\t\t<div class=\"brand-medium\">{{ deliverableLabel }}</div>\n\t\t\t\t\t<div v-if=\"descriptionLabel\" class=\"font-gray_80\" style=\"white-space: pre-wrap\">{{ descriptionLabel }}</div>\n\t\t\t\t</div>\n\t\t\t</v-col>\n\t\t\t<v-col class=\"deliverable\" :style=\"$vuetify.breakpoint.xsOnly ? '' : 'justify-content: flex-end; text-align: right'\" cols=\"12\" sm=\"3\" v-if=\"showPricing\"><div v-html=\"deliverablePricing\"></div></v-col>\n\t\t\t<v-col class=\"deliverable\" :style=\"$vuetify.breakpoint.xsOnly ? '' : 'justify-content: flex-end'\" cols=\"12\" sm=\"2\" v-if=\"showDueDate\"><div>{{ dueDateFormatted }}</div></v-col>\n\t\t</v-row>\n\n\t\t<basic-modal v-if=\"isReady\" :dialog=\"edit\" :persistent=\"true\" :max-width=\"565\" @close=\"cancelEdit()\">\n\t\t\t<div id=\"proposal-deliverable-modal\">\n\t\t\t\t<v-btn icon class=\"close-dialog\" @click=\"cancelEdit()\">\n\t\t\t\t\t<v-icon>$close</v-icon>\n\t\t\t\t</v-btn>\n\t\t\t\t<v-form @keyup.native.enter.stop>\n\t\t\t\t\t<div class=\"modal-padding\">\n\t\t\t\t\t\t<div class=\"modal-title\" v-if=\"deliverable.initialSetupTask\">{{ $t('proposal.deliverables.setup') }}</div>\n\t\t\t\t\t\t<div class=\"modal-title\" v-else>{{ $t('proposal.deliverables.deliverable') }}</div>\n\n\n\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t:label=\"deliverable.initialSetupTask ? $t('proposal.deliverables.fee-name') : $t('proposal.deliverables.name')\"\n\t\t\t\t\t\t\tv-model=\"deliverable.deliverable\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t</v-text-field>\n\n\t\t\t\t\t\t<v-textarea\n\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t:label=\"$t('proposal.deliverables.description')\"\n\t\t\t\t\t\t\tv-model=\"deliverable.description\"\n\t\t\t\t\t\t\tauto-grow\n\t\t\t\t\t\t\trows=\"1\"\n\t\t\t\t\t\t></v-textarea>\n\n\t\t\t\t\t\t<div v-if=\"showProductSelect\">\n\t\t\t\t\t\t\t<per-item-pricing\n\t\t\t\t\t\t\t\t:hide-icon=\"true\"\n\t\t\t\t\t\t\t\t:product=\"deliverable.product\"\n\t\t\t\t\t\t\t\t:quantity=\"deliverable.quantity\"\n\t\t\t\t\t\t\t\t:editable=\"true\"\n\t\t\t\t\t\t\t\t:currency=\"currency\"\n\t\t\t\t\t\t\t\t@product-selected=\"handleProductSelected($event)\"\n\t\t\t\t\t\t\t\t@quantity-updated=\"handleQuantityUpdated($event)\"\n\t\t\t\t\t\t\t></per-item-pricing>\n\t\t\t\t\t\t\t<v-switch\n\t\t\t\t\t\t\t\t\t:label=\"$t('proposal.deliverables.show-pricing-detail')\"\n\t\t\t\t\t\t\t\t\tv-model=\"deliverable.showPricingDetail\"\n\t\t\t\t\t\t\t\t\tinset\n\t\t\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\t\tclass=\"mt-2 date-type-switch\"\n\t\t\t\t\t\t\t></v-switch>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<v-switch\n\t\t\t\t\t\t\t:label=\"$t('proposal.content.relative-date')\"\n\t\t\t\t\t\t\tv-model=\"dateTypeSwitch\"\n\t\t\t\t\t\t\tinset\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\tclass=\"mt-2 date-type-switch\"\n\t\t\t\t\t\t\t@change=\"handleDateTypeSwitch\"\n\t\t\t\t\t\t></v-switch>\n\n\t\t\t\t\t\t<template v-if=\"dateType === 'RELATIVE'\">\n\t\t\t\t\t\t\t<div class=\"label-style\">{{ $t('proposal.content.how-soon') }}</div>\n\t\t\t\t\t\t\t<div class=\"d-flex align-center justify-space-between half\" style=\"gap: 12px\">\n\t\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t\t\tinputmode=\"number\"\n\t\t\t\t\t\t\t\t\tmin=\"0\"\n\t\t\t\t\t\t\t\t\t:placeholder=\"\n\t\t\t\t\t\t\t\t\t\t$t('templates.packages.deliverable-detail-modal.duration-placeholder', {\n\t\t\t\t\t\t\t\t\t\t\tunits: humanUnits,\n\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\t\tclass=\"h-outline-no-label mb-0\"\n\t\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\t\tv-model=\"deliverable.dueDateRelative.duration\"\n\t\t\t\t\t\t\t\t\t:disabled=\"dateType === 'FIXED'\"\n\t\t\t\t\t\t\t\t\t@keydown=\"handleDurationKeydown($event)\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\t\t\t:placeholder=\"$t('templates.packages.deliverable-detail-modal.units-placeholder')\"\n\t\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\t\tclass=\"h-outline-no-label mb-0\"\n\t\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\t\t:items=\"timeUnits\"\n\t\t\t\t\t\t\t\t\titem-value=\"value\"\n\t\t\t\t\t\t\t\t\titem-text=\"text\"\n\t\t\t\t\t\t\t\t\tv-model=\"deliverable.dueDateRelative.timeUnit\"\n\t\t\t\t\t\t\t\t\t:disabled=\"dateType === 'FIXED'\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t<template v-if=\"dateType === 'FIXED'\">\n\t\t\t\t\t\t\t<div class=\"label-style\">{{ $t('proposal.content.fixed-date') }}</div>\n\n\t\t\t\t\t\t\t<v-menu\n\t\t\t\t\t\t\t\tref=\"menu\"\n\t\t\t\t\t\t\t\tv-model=\"dueDateMenu\"\n\t\t\t\t\t\t\t\t:close-on-content-click=\"false\"\n\t\t\t\t\t\t\t\ttransition=\"scale-transition\"\n\t\t\t\t\t\t\t\toffset-y\n\t\t\t\t\t\t\t\tmin-width=\"290px\"\n\t\t\t\t\t\t\t\t:disabled=\"dateType === 'RELATIVE'\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<template v-slot:activator=\"{ on, attrs }\">\n\t\t\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\t\t\tclass=\"h-outline-no-label pr-2 mb-0\"\n\t\t\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\t\t\t:placeholder=\"$t('proposal.deliverables.delivery-date')\"\n\t\t\t\t\t\t\t\t\t\t:value=\"dueDateFormattedInput\"\n\t\t\t\t\t\t\t\t\t\treadonly\n\t\t\t\t\t\t\t\t\t\tv-bind=\"attrs\"\n\t\t\t\t\t\t\t\t\t\tv-on=\"on\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<template v-slot:append>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"clear-date-icon\">\n\t\t\t\t\t\t\t\t\t\t\t\t<v-icon\n\t\t\t\t\t\t\t\t\t\t\t\t\tv-if=\"deliverable.dueDate !== null\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t@click.native=\"deliverable.dueDate = null\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>$clear</v-icon\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"due-date-icon\">\n\t\t\t\t\t\t\t\t\t\t\t\t<v-icon\n\t\t\t\t\t\t\t\t\t\t\t\t\t@click.native=\"dueDateMenu = true\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t:class=\"'icon-two-color' + (dateType === 'RELATIVE' ? ' disabled' : '')\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t>$calendar</v-icon\n\t\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t</v-text-field>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t<v-date-picker\n\t\t\t\t\t\t\t\t\t:first-day-of-week=\"$store.getters.firstDayOfWeek\"\n\t\t\t\t\t\t\t\t\tv-model=\"deliverable.dueDate\"\n\t\t\t\t\t\t\t\t\t@change=\"dueDateEdited()\"\n\t\t\t\t\t\t\t\t\tno-title\n\t\t\t\t\t\t\t\t\tscrollable\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</v-date-picker>\n\t\t\t\t\t\t\t</v-menu>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"modal-footer\">\n\t\t\t\t\t\t<v-btn class=\"secondary-action mr-1\" @click.prevent=\"deleteDialog=true\">\n\t\t\t\t\t\t\t<v-icon color=\"gray_70\" size=\"20\">$delete</v-icon>\n\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t<v-btn class=\"primary-action ml-1\" :width=\"120\" @click.prevent=\"saveEdit()\">\n\t\t\t\t\t\t\t{{ $t('global.save') }}\n\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t</div>\n\t\t\t\t</v-form>\n\t\t\t</div>\n\t\t</basic-modal>\n\n\t\t<basic-modal :dialog=\"deleteDialog\" :persistent=\"false\" :max-width=\"290\" @close=\"cancelDelete()\">\n\t\t\t<div id=\"delete-deliverable-modal\">\n\t\t\t\t<v-btn icon class=\"close-dialog\" @click=\"cancelDelete()\">\n\t\t\t\t\t<v-icon>$close</v-icon>\n\t\t\t\t</v-btn>\n\t\t\t\t<div class=\"px-10 py-6\">\n\t\t\t\t\t<div class=\"brand-semilight font-16\">{{ $t('proposal.deliverables.delete-confirm') }}</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"modal-footer\">\n\t\t\t\t\t<v-btn color=\"primary-action mr-1\" width=\"100\" @click=\"cancelDelete()\">{{ $t('global.no') }}</v-btn>\n\t\t\t\t\t<v-btn color=\"secondary-action ml-1\" width=\"100\" @click=\"doDelete()\">{{ $t('global.yes') }}</v-btn>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</basic-modal>\n\t</div>\n</template>\n\n<script>\n  import {DateTime} from 'luxon';\n\timport BasicModal from '@/components/BasicModal';\n\timport PerItemPricing from '@/modules/projects/deliverable/PerItemPricing';\n\n\texport default {\n\t\tname: 'Deliverable',\n\t\tcomponents: { PerItemPricing, BasicModal },\n\t\tprops: ['feeSchedule','index','deliverable', 'editMode', 'hasOptional', 'showDueDate','showPricing','showProductSelect','mainDeliverableColumns','currency','taxLabel','taxRate'],\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\t// item: this.deliverable,\n\t\t\t\tbackup: null,\n\t\t\t\tedit: false,\n\t\t\t\tmenu: false,\n\t\t\t\tdeleteDialog: false,\n\t\t\t\tproductDialog: false,\n\t\t\t\thovering: false,\n\t\t\t\tdueDateMenu: false,\n\t\t\t\ttimeUnits: [\n\t\t\t\t\t{ text: 'Days', value: 'DAYS' },\n\t\t\t\t\t{ text: 'Weeks', value: 'WEEKS' },\n\t\t\t\t\t{ text: 'Months', value: 'MONTHS' },\n\t\t\t\t],\n\t\t\t\tdateType: null,\n\t\t\t\tdateTypes: ['RELATIVE', 'FIXED'],\n\t\t\t\tdateTypeSwitch: null,\n\t\t\t\tisReady: false,\n\t\t\t\tproducts: [],\n\t\t\t\tdueDateCols: 2,\n\t\t\t\tpriceCols: 2,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tif (this.deliverable.dueDate) {\n\t\t\t\tthis.dateType = 'FIXED';\n\t\t\t\tthis.dateTypeSwitch = false;\n\t\t\t} else {\n\t\t\t\tthis.dateType = 'RELATIVE';\n\t\t\t\tthis.dateTypeSwitch = true;\n\t\t\t}\n\t\t\tif (this.showProductSelect && !this.deliverable.fee) {\n\t\t\t\tthis.deliverable.fee = {};\n\t\t\t}\n\t\t\tif (!this.deliverable.dueDateRelative) {\n\t\t\t\t// this.$nextTick(() => {\n\t\t\t\tthis.deliverable.dueDateRelative = { duration: null, dateUnit: null };\n\t\t\t\t// });\n\t\t\t}\n\t\t\tif (this.deliverable.isNew) {\n\t\t\t\tthis.deliverable.isNew = false;\n\t\t\t\tthis.handleClick();\n\t\t\t}\n\t\t\tthis.isReady = true;\n\t\t},\n\n\t\tmethods: {\n\t\t\tnotifyChange: function () {\n\t\t\t\tif (this.dateType === 'RELATIVE') {\n\t\t\t\t\tthis.deliverable.dueDate = null;\n\t\t\t\t} else if (this.dateType === 'FIXED') {\n\t\t\t\t\tthis.deliverable.dueDateRelative.timeUnit = null;\n\t\t\t\t\tthis.deliverable.dueDateRelative.duration = null;\n\t\t\t\t}\n\t\t\t\tthis.$emit('changed');\n\t\t\t},\n\n\t\t\thandleProductSelected: function(product){\n\t\t\t\tthis.deliverable.product = product;\n\t\t\t\tif(product) {\n\t\t\t\t\tif (!this.deliverable.deliverable) {\n\t\t\t\t\t\tthis.deliverable.deliverable = product.productName;\n\t\t\t\t\t}\n\t\t\t\t\tif (!this.deliverable.description) {\n\t\t\t\t\t\tthis.deliverable.description = product.description;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tthis.$emit('changed');\n\t\t\t},\n\n\t\t\thandleQuantityUpdated: function(quantity){\n\t\t\t\tthis.deliverable.quantity = quantity;\n\t\t\t\tthis.$emit('changed');\n\t\t\t},\n\n\t\t\thandleClick: function () {\n\t\t\t\tif (this.editMode) {\n\t\t\t\t\tthis.backup = JSON.parse(JSON.stringify(this.deliverable));\n\t\t\t\t\tthis.edit = true;\n\t\t\t\t} else if (this.deliverable.optional) {\n\t\t\t\t\tthis.deliverable.selected = !this.deliverable.selected;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandleSelectProduct: function (product) {\n\t\t\t\tthis.deliverable.product = product;\n\t\t\t\tif (this.overrideDeliverableName()) {\n\t\t\t\t\tthis.deliverable.deliverable = product.productName;\n\t\t\t\t}\n\t\t\t\tthis.productDialog = false;\n\t\t\t},\n\t\t\tsetProducts: function (products) {\n\t\t\t\tthis.products = products;\n\t\t\t\tconsole.log(products);\n\t\t\t},\n\t\t\toverrideDeliverableName: function () {\n\t\t\t\tif (!this.deliverable.deliverable) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif (this.products.findIndex((p) => p.productName === this.deliverable.deliverable) > -1) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\tdueDateEdited: function () {\n\t\t\t\tthis.deliverable.dueDate = this.deliverable.dueDate + 'T12:00:00Z';\n\t\t\t\tthis.dueDateMenu = false;\n\t\t\t},\n\n\t\t\tsaveEdit: function () {\n\t\t\t\tthis.backup = null;\n\t\t\t\tthis.edit = false;\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\tcancelEdit: function () {\n\t\t\t\tfor (const property in this.backup) {\n\t\t\t\t\tthis.deliverable[property] = this.backup[property];\n\t\t\t\t}\n\t\t\t\tthis.edit = false;\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\tconfirmDelete(event) {\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tthis.deleteDialog = true;\n\t\t\t},\n\n\t\t\tcancelDelete() {\n\t\t\t\tthis.deleteDialog = false;\n\t\t\t},\n\n\t\t\tdoDelete() {\n\t\t\t\tthis.$emit('delete');\n\t\t\t\tthis.deleteDialog = false;\n\t\t\t},\n\n\t\t\thandleDurationKeydown(event) {\n\t\t\t\tif (event.key === '.') {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandleDateTypeSwitch() {\n\t\t\t\tif (this.dateTypeSwitch) {\n\t\t\t\t\tthis.dateType = 'RELATIVE';\n\t\t\t\t} else {\n\t\t\t\t\tthis.dateType = 'FIXED';\n\t\t\t\t}\n\t\t\t},\n\n\n\n\t\t},\n\n\t\tcomputed: {\n\t\t\tclassList: function () {\n\t\t\t\tif (this.editMode || this.deliverable.optional) {\n\t\t\t\t\treturn 'py-1 baseDeliverableWrapper deliverableWrapper editableDeliverable';\n\t\t\t\t} else {\n\t\t\t\t\treturn 'py-1 baseDeliverableWrapper';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tdeliverablePricing: function(){\n\t\t\t\tlet product = this.deliverable.product;\n\n\t\t\t\tif(this.feeSchedule.feeType !== 'Per Item' && !this.deliverable.initialSetupTask){\n\t\t\t\t\treturn this.$t('proposal.deliverables.included');\n\t\t\t\t}\n\n\t\t\t\tif(product){\n\t\t\t\t\tlet quantity = this.deliverable.quantity ? this.deliverable.quantity : 0;\n\t\t\t\t\tlet total = this.$formatters.dollars((quantity * product.rate), true, true, this.currency);\n\t\t\t\t\tlet result = `<span class=\"brand-medium\">${total}</span>`;\n\n\t\t\t\t\tif(product.taxable && this.taxRate){\n\t\t\t\t\t\tresult = result + `<span class=\"font-12\"> +${this.taxRate}% ${this.taxLabel}</span>`;\n\t\t\t\t\t}\n\n\t\t\t\t\tif(this.deliverable.showPricingDetail){\n\t\t\t\t\t\tresult = result + `<br><span class=\"font-gray_70\">${product.hourly ? '~': ''}${quantity} @ ${this.$formatters.dollars(product.rate, true, true, this.currency)}/ea</span>`\n\t\t\t\t\t}\n\n\t\t\t\t\treturn result;\n\t\t\t\t}else{\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tdueDateFormattedInput: function () {\n\t\t\t\tif (this.deliverable.dueDate !== null) {\n\t\t\t\t\treturn DateTime.fromISO(this.deliverable.dueDate).toLocaleString(DateTime.DATE_MED);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tdueDateFormatted: function () {\n\t\t\t\t// console.log(this.item);\n\t\t\t\tif (this.deliverable.dueDate !== null) {\n\t\t\t\t\treturn DateTime.fromISO(this.deliverable.dueDate).toLocaleString(DateTime.DATE_MED);\n\t\t\t\t} else if (\n\t\t\t\t\tthis.deliverable.dueDateRelative &&\n\t\t\t\t\tthis.deliverable.dueDateRelative.duration &&\n\t\t\t\t\tthis.deliverable.dueDateRelative.timeUnit\n\t\t\t\t) {\n\t\t\t\t\tlet unit = this.deliverable.dueDateRelative.timeUnit.toLowerCase();\n\t\t\t\t\treturn this.$tc('global.' + unit, this.deliverable.dueDateRelative.duration);\n\t\t\t\t} else {\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t},\n\n\n\n\t\t\tdeliverableLabel: function () {\n\t\t\t\tif (this.$validations.isEmpty(this.deliverable.deliverable)) {\n\t\t\t\t\treturn '-';\n\t\t\t\t} else {\n\t\t\t\t\treturn this.deliverable.deliverable;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tdescriptionLabel: function () {\n\t\t\t\tif (this.$validations.isEmpty(this.deliverable.description)) {\n\t\t\t\t\treturn '';\n\t\t\t\t} else {\n\t\t\t\t\treturn this.deliverable.description;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thumanUnits() {\n\t\t\t\tif (!this.deliverable.dueDateRelative) return 'Units';\n\t\t\t\tlet i = this.timeUnits.findIndex((u) => {\n\t\t\t\t\treturn u.value === this.deliverable.dueDateRelative.timeUnit;\n\t\t\t\t});\n\t\t\t\tif (i > -1) return this.timeUnits[i].text;\n\t\t\t\treturn 'Units';\n\t\t\t},\n\n\t\t\ttaxEnabled: function () {\n\t\t\t\treturn this.$store.state.podAccount.accountPreferences.invoiceUseTax;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.proposal-deliverable-wrapper {\n\t\t.no-margin ::v-deep {\n\t\t\t.v-input--selection-controls__input {\n\t\t\t\tmargin-right: 0px !important;\n\t\t\t}\n\t\t}\n\n\t\t.v-input--selection-controls {\n\t\t\tmargin-top: 0px;\n\t\t\tmargin-right: 0px;\n\t\t}\n\n\t\t.deliverable {\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tpadding: 8px 0px;\n\n\t\t\t&:first-child {\n\t\t\t\t.v-icon:hover {\n\t\t\t\t\tcolor: var(--v-blue_50-base);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.baseDeliverableWrapper {\n\t\t\tborder-bottom: 1px solid var(--v-gray_50-base);\n\t\t\tmargin-top: 0 !important;\n\t\t\tmargin-bottom: 0 !important;\n\t\t\tfont-weight: 300;\n\t\t\tfont-size: 16px;\n\t\t}\n\n\t\t.editableDeliverable {\n\t\t\t&:hover {\n\t\t\t\tbackground-color: var(--v-gray_10-base);\n\t\t\t\tcolor: var(--v-gray_50-base);\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t}\n\n\t\t.row.deliverableLabel {\n\t\t\tword-wrap: break-word;\n\t\t\toverflow-wrap: break-word;\n\t\t}\n\t}\n\t#proposal-deliverable-modal {\n\t\twidth: 500px;\n\t\tbackground-color: var(--v-white-base);\n\t\t.label-style {\n\t\t\tfont-size: 12px;\n\t\t\tcolor: var(--v-gray_80-base);\n\t\t\ttext-align: left;\n\t\t\tmargin-top: 12px;\n\t\t}\n\t\t.product-button {\n\t\t\tinput {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\t\t\t.v-input__icon.v-input__icon--append .v-icon svg {\n\t\t\t\theight: 16px;\n\t\t\t}\n\t\t}\n\t\t.half > div {\n\t\t\tflex: 0 1 50%;\n\t\t\tgap: 12px;\n\t\t}\n\t\t.date-type-switch.v-input {\n\t\t\t.v-input__control .v-label {\n\t\t\t\tfont-size: 12px;\n\t\t\t\tfont-weight: 500;\n\t\t\t\tcolor: var(--v-gray_80-base);\n\t\t\t}\n\t\t\t&.v-input--is-label-active {\n\t\t\t\t.v-input__control .v-label {\n\t\t\t\t\tcolor: var(--v-gray_90-base);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t.clear-date-icon {\n\t\t\t//margin-top: -11px;\n\t\t\t//border: 1px solid red;\n\t\t\tmargin-right: 12px;\n\t\t}\n\t\t.due-date-icon {\n\t\t\t//margin-top: -2px;\n\t\t\t//border: 1px solid red;\n\t\t\tborder-left: 1px solid var(--v-gray_50-base);\n\t\t\t//height: 28px;\n\t\t\twidth: 40px;\n\t\t\tpadding-right: 4px;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: flex-end;\n\t\t\t.disabled {\n\t\t\t\topacity: 0.6;\n\t\t\t}\n\t\t}\n\t}\n\t#delete-deliverable-modal {\n\t\twidth: 300px;\n\t\tbackground-color: var(--v-white-base);\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Deliverable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Deliverable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Deliverable.vue?vue&type=template&id=0aa16663\"\nimport script from \"./Deliverable.vue?vue&type=script&lang=js\"\nexport * from \"./Deliverable.vue?vue&type=script&lang=js\"\nimport style0 from \"./Deliverable.vue?vue&type=style&index=0&id=0aa16663&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VCol,VDatePicker,VForm,VIcon,VMenu,VRow,VSelect,VSwitch,VTextField,VTextarea})\n","<template>\n\t<div id=\"proposal-deliverables\">\n\t\t<v-container fluid class=\"pa-0 ma-0\" :style=\"visible ? '' : 'opacity: 0.3'\">\n\t\t\t<v-row>\n\t\t\t\t<v-col cols=\"12\" sm=\"7\" align=\"left\">\n\t\t\t\t\t<div :style=\"headerStyle\">\n\t\t\t\t\t\t<span v-html=\"lHeader\" v-if=\"!editMode\"></span>\n\t\t\t\t\t\t<editor\n\t\t\t\t\t\t\tref=\"headerEditor\"\n\t\t\t\t\t\t\tv-if=\"editMode\"\n\t\t\t\t\t\t\tclass=\"grey-dots\"\n\t\t\t\t\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t\t\t\t\t:initial-value=\"lHeader\"\n\t\t\t\t\t\t\t:inline=\"true\"\n\t\t\t\t\t\t\t:init=\"mceConfigCover\"\n\t\t\t\t\t\t\t@input=\"handleHeaderInput\"\n\t\t\t\t\t\t></editor>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"font-14 font-gray_70 font-italic\"  v-if=\"totalUpfrontAmount && lAutomations.paymentRequiredToStart\">\n\t\t\t\t\t\t{{ $formatters.dollars(totalUpfrontAmount, true, true, currency) }} payment required before project start.\n\t\t\t\t\t</div>\n\t\t\t\t</v-col>\n\t\t\t\t<v-col cols=\"12\" sm=\"5\" align=\"right\" :class=\"`align-start ${$vuetify.breakpoint.xsOnly ? 'my-n5' : 'justify-end'} d-flex`\" style=\"gap: 8px\">\n\t\t\t\t\t<template v-if=\"lFeeSchedule\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t@click=\"openFeeSchedule()\"\n\t\t\t\t\t\t\t:class=\"'pr-2 column-format' + (editMode ? ' feeEditMode' : '')\"\n\t\t\t\t\t\t\tstyle=\"text-align: right; width: fit-content\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div :style=\"headerStyle\" class=\"text-right mr-n3\" v-html=\"feeSchedulePrimary\"></div>\n\t\t\t\t\t\t\t<div :style=\"bodyStyle\" class=\"text-right mr-n3\" v-html=\"feeScheduleSecondary\"></div>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<v-menu\n\t\t\t\t\t\t\tv-if=\"createPackageAllowed && editMode\"\n\t\t\t\t\t\t\t:nudge-bottom=\"0\"\n\t\t\t\t\t\t\t:elevation=\"0\"\n\t\t\t\t\t\t\tcontent-class=\"add-new-menu\"\n\t\t\t\t\t\t\tbottom\n\t\t\t\t\t\t\tleft\n\t\t\t\t\t\t\trounded\n\t\t\t\t\t\t\toffset-overflow\n\t\t\t\t\t\t\toffset-y\n\t\t\t\t\t\t\ttransition=\"slide-y-transition\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<template v-slot:activator=\"menu\">\n\t\t\t\t\t\t\t\t<v-btn v-on=\"menu.on\" icon class=\"secondary-action\"\n\t\t\t\t\t\t\t\t\t><v-icon size=\"20\">$moreHorizontal</v-icon></v-btn\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<div class=\"add-new-dropdown\">\n\t\t\t\t\t\t\t\t<div @click=\"openFeeSchedule()\" class=\"add-new-item nowrap\">\n\t\t\t\t\t\t\t\t\tEdit settings\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div @click=\"createPackage\" class=\"add-new-item nowrap\">\n\t\t\t\t\t\t\t\t\t{{ $t('templates.save-as-deliverable-package') }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</v-menu>\n\t\t\t\t\t</template>\n\t\t\t\t</v-col>\n\t\t\t</v-row>\n\t\t\t<v-row :class=\"deliverableCss\" :style=\"bodyStyle\" class=\"mt-2\" v-if=\"lDeliverables.length > 0\">\n\t\t\t\t<v-col cols=\"12\">\n\t\t\t\t\t<v-container fluid class=\"pa-0 ma-0\">\n\t\t\t\t\t\t<draggable v-model=\"lDeliverables\" handle=\".deliverableHandle\" @end=\"dragEnd\">\n\t\t\t\t\t\t\t<div v-for=\"(item, index) in lDeliverables\" :key=\"item.id\">\n\t\t\t\t\t\t\t\t<deliverable\n\t\t\t\t\t\t\t\t\t:index=\"index\"\n\t\t\t\t\t\t\t\t\t:currency=\"currency\"\n\t\t\t\t\t\t\t\t\t:tax-label=\"taxLabel\"\n\t\t\t\t\t\t\t\t\t:tax-rate=\"computedTaxRate\"\n\t\t\t\t\t\t\t\t\t:fee-schedule=\"feeSchedule\"\n\t\t\t\t\t\t\t\t\t:deliverable=\"item\"\n\t\t\t\t\t\t\t\t\t:edit-mode=\"editMode\"\n\t\t\t\t\t\t\t\t\t:show-due-date=\"anyDeliverableWithDueDate\"\n\t\t\t\t\t\t\t\t\t:show-pricing=\"showDeliverablePricing\"\n\t\t\t\t\t\t\t\t\t:main-deliverable-columns=\"mainDeliverableColumns\"\n\t\t\t\t\t\t\t\t\t:show-product-select=\"\n\t\t\t\t\t\t\t\t\t\t(feeSchedule && feeSchedule.feeType === 'Per Item') || item.initialSetupTask\n\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\t@delete=\"deleteDeliverable(item.id)\"\n\t\t\t\t\t\t\t\t\t@changed=\"notifyChange\"\n\t\t\t\t\t\t\t\t></deliverable>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</draggable>\n\t\t\t\t\t</v-container>\n\t\t\t\t</v-col>\n\t\t\t</v-row>\n\t\t\t<v-row class=\"text-left\" :style=\"bodyStyle\">\n\t\t\t\t<v-col cols=\"12\" v-if=\"editMode\" class=\"pa-0 ma-0 gap-3 row-format\">\n\t\t\t\t\t<v-btn text color=\"primary\" @click=\"addDeliverable(false)\" class=\"px-0\">\n\t\t\t\t\t\t<v-icon size=\"16\">$plusCircle</v-icon>\n\t\t\t\t\t\t<span class=\"font-14 brand-medium\">{{ $t('proposal.deliverables.add') }}</span>\n\t\t\t\t\t</v-btn>\n\t\t\t\t\t<v-btn text color=\"primary\" @click=\"addDeliverable(true)\" class=\"px-0\">\n\t\t\t\t\t\t<v-icon size=\"16\">$plusCircle</v-icon>\n\t\t\t\t\t\t<span class=\"font-14 brand-medium\">{{ $t('proposal.deliverables.add-setup') }}</span>\n\t\t\t\t\t</v-btn>\n\t\t\t\t</v-col>\n\t\t\t\t<input type=\"hidden\" :value=\"totalUpfrontAmount\" />\n\t\t\t\t<v-col cols=\"12\" v-if=\"deliverablesCount > 1\" align=\"left\" class=\"mt-1\">\n\t\t\t\t\t<v-btn\n\t\t\t\t\t\t:disabled=\"!clientMode\"\n\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t:outlined=\"!selectedPackage\"\n\t\t\t\t\t\t@click=\"packageSelect\"\n\t\t\t\t\t\tv-if=\"deliverablesCount > 0 && !forceAllDeliverables\"\n\t\t\t\t\t\t:class=\"!clientMode ? 'mt-2' : ''\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ selectedPackage ? $t('proposal.deliverables.selected') : $t('proposal.deliverables.select-this') }}\n\t\t\t\t\t\t<v-icon v-if=\"selectedPackage\" x-small class=\"ml-2\">$check</v-icon>\n\t\t\t\t\t</v-btn>\n\t\t\t\t\t<div class=\"mt-2\" v-if=\"!clientMode && !isLocked\">\n\t\t\t\t\t\t<div @click.stop=\"toggleMultipleDeliverables\" text class=\"font-primary pointer\">*{{ buttonLabel }}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</v-col>\n\t\t\t</v-row>\n\t\t</v-container>\n\n\t\t<basic-modal v-if=\"editFees\" :dialog=\"editFees\" :persistent=\"true\" @close=\"editFees = false\">\n\t\t\t<deliverable-fees\n\t\t\t\t:currency=\"currency\"\n\t\t\t\t:fee-schedule=\"lFeeSchedule\"\n\t\t\t\t:automations=\"lAutomations\"\n\t\t\t\t:payment-node-count=\"paymentNodeCount\"\n\t\t\t\t@change=\"handleFeeChange\"\n\t\t\t\t@close=\"editFees = false\"\n\t\t\t></deliverable-fees>\n\t\t</basic-modal>\n\t</div>\n</template>\n\n<script>\n  import DeliverableFees from './DeliverableFees';\n\timport Deliverable from './Deliverable';\n\timport { v4 as uuidv4 } from 'uuid';\n\timport draggable from 'vuedraggable';\n\timport BasicModal from '@/components/BasicModal';\n\timport { cloneDeep } from 'lodash';\n\n\texport default {\n\t\tname: 'Deliverables',\n\n\t\tprops: [\n\t\t\t'account',\n\t\t\t'blockType',\n\t\t\t'header',\n\t\t\t'selectedPackage',\n\t\t\t'deliverables',\n\t\t\t'feeSchedule',\n\t\t\t'deliverableAutomation',\n\t\t\t'deliverablesCount',\n\t\t\t'deliverableSelected',\n\t\t\t'id',\n\t\t\t'editMode',\n\t\t\t'mceConfigHeader',\n\t\t\t'mceConfigCover',\n\t\t\t'headerStyle',\n\t\t\t'formatting',\n\t\t\t'clientMode',\n\t\t\t'isLocked',\n\t\t\t'currency',\n\t\t\t'allowMultipleDeliverables',\n\t\t\t'forceAllDeliverables',\n\t\t\t'templateMode',\n\t\t\t'taxRate',\n\t\t\t'paymentNodeCount',\n\t\t],\n\n\t\tcomponents: {\n\t\t\teditor: () => import(/* webpackChunkName: \"tinymce\" */ '@tinymce/tinymce-vue'),\n\t\t\tDeliverable,\n\t\t\tDeliverableFees,\n\t\t\tBasicModal,\n\t\t\tdraggable,\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\teditFees: false,\n\t\t\t\tlDeliverables: [],\n\t\t\t\tlHeader: this.header,\n\t\t\t\t// lFeeSchedule: this.initNullFeeScheduled(this.feeSchedule),\n\t\t\t\tlFeeSchedule: cloneDeep(this.feeSchedule),\n\t\t\t\tlAutomations: cloneDeep(this.deliverableAutomation),\n\t\t\t\tlSelectedPackage: this.selectedPackage,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.scrubDeliverables();\n\t\t},\n\n\t\tmethods: {\n\t\t\tscrubDeliverables() {\n\t\t\t\tlet deliverables = [];\n\t\t\t\tfor (let i = 0; i < this.deliverables.length; i++) {\n\t\t\t\t\tif (!this.deliverables[i]) continue;\n\t\t\t\t\tdeliverables.push(this.deliverables[i]);\n\t\t\t\t}\n\t\t\t\tthis.lDeliverables = deliverables;\n\t\t\t\tthis.isReady = true;\n\t\t\t},\n\n\t\t\tdragEnd: function() {\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\thandleFeeChange: function(event) {\n\t\t\t\tthis.lFeeSchedule = event.feeSchedule;\n\t\t\t\tthis.lAutomations = event.automations;\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\topenFeeSchedule: function() {\n\t\t\t\tif (this.editMode) {\n\t\t\t\t\tthis.editFees = true;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tpackageSelect: function() {\n\t\t\t\tif (this.clientMode && !this.isLocked) {\n\t\t\t\t\tthis.lSelectedPackage = !this.lSelectedPackage;\n\t\t\t\t\tthis.notifyChange();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tnotifyChange: function() {\n\t\t\t\tthis.$emit('changed', {\n\t\t\t\t\tid: this.id,\n\t\t\t\t\tblockType: this.blockType,\n\t\t\t\t\theader: this.lHeader,\n\t\t\t\t\tdeliverables: this.lDeliverables,\n\t\t\t\t\tselectedPackage: this.lSelectedPackage,\n\t\t\t\t\tfeeSchedule: this.lFeeSchedule,\n\t\t\t\t\tdeliverableAutomation: this.lAutomations,\n\t\t\t\t\ttaxRate: this.computedTaxRate,\n\t\t\t\t});\n\t\t\t\tthis.$nextTick(() => this.$emit('total-upfront-amount', this.calculateTotalUpfrontAmount()));\n\t\t\t},\n\n\t\t\ttoggleMultipleDeliverables: function() {\n\t\t\t\tthis.$emit('toggleMultipleDeliverables');\n\t\t\t},\n\n\t\t\thandleHeaderInput: function() {\n\t\t\t\tthis.lHeader = this.$refs.headerEditor.editor.getContent();\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\tdeleteDeliverable: function(id) {\n\t\t\t\tfor (let i = 0; i < this.lDeliverables.length; i++) {\n\t\t\t\t\tif (this.lDeliverables[i].id === id) {\n\t\t\t\t\t\tthis.lDeliverables.splice(i, 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\taddDeliverable: function(initialSetupTask = false) {\n\t\t\t\tlet deliverable = {};\n\t\t\t\tdeliverable.id = uuidv4();\n\t\t\t\tdeliverable.deliverable = null;\n\t\t\t\tdeliverable.description = null;\n\t\t\t\tdeliverable.dueDate = null;\n\t\t\t\tdeliverable.dueDateRelative = {};\n\t\t\t\tdeliverable.product = null;\n\t\t\t\tdeliverable.quantity = 0;\n\t\t\t\tdeliverable.isNew = true;\n\t\t\t\tdeliverable.initialSetupTask = initialSetupTask;\n\n\t\t\t\tthis.lDeliverables.push(deliverable);\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\tsetFeeType: function(feeType) {\n\t\t\t\tthis.lFeeSchedule = {\n\t\t\t\t\tfeeType: feeType,\n\t\t\t\t\tamount: 0,\n\t\t\t\t\tretainerSchedule: 'Monthly',\n\t\t\t\t\testimateMax: 0,\n\t\t\t\t\testimateMin: 0,\n\t\t\t\t};\n\t\t\t\tif (feeType !== 'Per Item') {\n\t\t\t\t\tthis.openFeeSchedule();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcreatePackage() {\n\t\t\t\tthis.$emit('create-package-from-deliverables', {\n\t\t\t\t\tid: this.id,\n\t\t\t\t\tblockType: this.blockType,\n\t\t\t\t\theader: this.lHeader,\n\t\t\t\t\tdeliverables: this.lDeliverables,\n\t\t\t\t\tselectedPackage: this.lSelectedPackage,\n\t\t\t\t\tfeeSchedule: this.lFeeSchedule,\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tcalculateTotalUpfrontAmount: function() {\n\t\t\t\tif (!this.lFeeSchedule || !this.lAutomations || !this.lAutomations.autoCreateProject) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\n\t\t\t\tlet amount = parseFloat(this.lFeeSchedule.amount ? this.lFeeSchedule.amount : 0);\n\t\t\t\tlet usePercentage = this.lAutomations.invoicePercentage;\n\t\t\t\tlet invoiceAmount = this.lAutomations.invoiceAmount;\n\t\t\t\tlet invoicePercentage = invoiceAmount / 100;\n\t\t\t\tlet taxPercentage = this.taxRate / 100;\n\n\t\t\t\tif (this.lFeeSchedule.feeType === 'Retainer') {\n\t\t\t\t\tlet total = parseFloat(this.lFeeSchedule.amount);\n\t\t\t\t\tif (this.lFeeSchedule.taxable && taxPercentage) {\n\t\t\t\t\t\ttotal = total + total * taxPercentage;\n\t\t\t\t\t}\n\t\t\t\t\treturn total + this.setupFeeTotal;\n\t\t\t\t}\n\n\t\t\t\tif (!usePercentage) {\n\t\t\t\t\tlet total = invoiceAmount;\n\t\t\t\t\tif (this.lFeeSchedule.taxable && taxPercentage) {\n\t\t\t\t\t\ttotal = total + total * taxPercentage;\n\t\t\t\t\t}\n\t\t\t\t\treturn total + this.setupFeeTotal;\n\t\t\t\t}\n\n\t\t\t\tif (this.lFeeSchedule.feeType === 'Hourly') {\n\t\t\t\t\tlet min = parseInt(this.lFeeSchedule.estimateMin ? this.lFeeSchedule.estimateMin : 0, 10);\n\t\t\t\t\tlet max = parseInt(this.lFeeSchedule.estimateMax ? this.lFeeSchedule.estimateMax : 0, 10);\n\t\t\t\t\tlet hours = 0;\n\t\t\t\t\tif (min && max) {\n\t\t\t\t\t\thours = (min + max) / 2;\n\t\t\t\t\t} else if (min) {\n\t\t\t\t\t\thours = min;\n\t\t\t\t\t} else if (max) {\n\t\t\t\t\t\thours = max;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet total = (hours * amount) * invoicePercentage;\n\t\t\t\t\tif (this.lFeeSchedule.taxable && taxPercentage) {\n\t\t\t\t\t\ttotal = total + (total * taxPercentage);\n\t\t\t\t\t}\n\t\t\t\t\treturn total + this.setupFeeTotal;\n\t\t\t\t} else if (this.lFeeSchedule.feeType === 'Fixed Price') {\n\t\t\t\t\tlet total = amount * invoicePercentage;\n\t\t\t\t\tif (this.lFeeSchedule.taxable && taxPercentage) {\n\t\t\t\t\t\ttotal = total + (total * taxPercentage);\n\t\t\t\t\t}\n\t\t\t\t\treturn total + this.setupFeeTotal;\n\t\t\t\t} else if (this.lFeeSchedule.feeType === 'Per Item') {\n\t\t\t\t\tlet total = 0;\n\n\t\t\t\t\tthis.lDeliverables.forEach((d) => {\n\t\t\t\t\t\tif (!d.initialSetupTask && d.quantity && d.product && d.product.rate) {\n\t\t\t\t\t\t\tlet subTotal = d.quantity * d.product.rate;\n\t\t\t\t\t\t\tif (d.product.taxable && taxPercentage) {\n\t\t\t\t\t\t\t\tsubTotal = subTotal + subTotal * taxPercentage;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttotal = total + subTotal;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\ttotal = total * invoicePercentage;\n\t\t\t\t\treturn total + this.setupFeeTotal;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.setupFeeTotal;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n\t\t\tselectedPackage: function(val) {\n\t\t\t\tthis.lSelectedPackage = val;\n\t\t\t},\n\n\t\t\ttotalUpfrontAmount: {\n\t\t\t\timmediate: true,\n\t\t\t\thandler: function(val) {\n\t\t\t\t\tthis.$emit('total-upfront-amount', val);\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tbuttonLabel: function() {\n\t\t\t\tif (!this.allowMultipleDeliverables) {\n\t\t\t\t\treturn this.$t('proposal.deliverables.single-package');\n\t\t\t\t} else if (this.allowMultipleDeliverables && this.forceAllDeliverables) {\n\t\t\t\t\treturn this.$t('proposal.deliverables.all-packages');\n\t\t\t\t} else {\n\t\t\t\t\treturn this.$t('proposal.deliverables.multiple-packages');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcomputedTaxRate: function() {\n\t\t\t\tif (this.$store.state.podAccount) {\n\t\t\t\t\treturn this.$store.state.podAccount.accountPreferences.defaultTaxRate;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.taxRate;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\ttaxLabel: function() {\n\t\t\t\tif (this.account.taxLabel) {\n\t\t\t\t\treturn this.account.taxLabel;\n\t\t\t\t}\n\n\t\t\t\tlet gst = ['NZ', 'AU', 'CA', 'IN', 'SG'];\n\t\t\t\tlet tax = ['US'];\n\t\t\t\tlet country = this.account.country;\n\n\t\t\t\tif (!country) {\n\t\t\t\t\treturn this.$t('invoice.details.tax');\n\t\t\t\t} else if (gst.includes(country)) {\n\t\t\t\t\treturn this.$t('invoice.details.gst');\n\t\t\t\t} else if (tax.includes(country)) {\n\t\t\t\t\treturn this.$t('invoice.details.tax');\n\t\t\t\t} else {\n\t\t\t\t\treturn this.$t('invoice.details.vat');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcreatePackageAllowed: function() {\n\t\t\t\tif (this.clientMode) return false;\n\t\t\t\tlet isPaid = this.$store.getters.isPaidAccount;\n\t\t\t\tlet userType = this.$store.getters.getUserType;\n\t\t\t\treturn isPaid && (userType === 'OWNER' || userType === 'FULL_USER' || userType === 'IMPLEMENTER');\n\t\t\t},\n\n\t\t\tanyDeliverableWithDueDate: function() {\n\t\t\t\tfor (let i = 0; i < this.lDeliverables.length; i++) {\n\t\t\t\t\tif (this.lDeliverables[i].dueDate) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.lDeliverables[i].dueDateRelative &&\n\t\t\t\t\t\tthis.lDeliverables[i].dueDateRelative.duration &&\n\t\t\t\t\t\tthis.lDeliverables[i].dueDateRelative.timeUnit\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\tbuttonClass: function() {\n\t\t\t\tlet classList = 'packageSelectButton row-format';\n\n\t\t\t\tif (!this.deliverableSelected) {\n\t\t\t\t\tclassList = classList + ' noSelection';\n\t\t\t\t} else if (this.selectedPackage) {\n\t\t\t\t\tclassList = classList + ' selfSelection';\n\t\t\t\t} else {\n\t\t\t\t\tclassList = classList + ' otherSelection';\n\t\t\t\t}\n\n\t\t\t\treturn classList;\n\t\t\t},\n\n\t\t\tinnerRadioClass: function() {\n\t\t\t\tif (this.selectedPackage) {\n\t\t\t\t\treturn 'innerRadio';\n\t\t\t\t} else {\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tpackageTextClass: function() {\n\t\t\t\tif (this.selectedPackage) {\n\t\t\t\t\treturn 'packageSelectText selectedText';\n\t\t\t\t} else {\n\t\t\t\t\treturn 'packageSelectText';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tvisible: function() {\n\t\t\t\t// return true;\n\t\t\t\tif (!this.isLocked) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else if (this.templateMode) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else if (this.forceAllDeliverables) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else if (this.deliverablesCount === 1 || (this.deliverablesCount > 1 && this.lSelectedPackage === true)) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tbodyStyle: function() {\n\t\t\t\treturn `font-family: ${this.formatting.bodyFont}; text-align:left; font-size: 14px`;\n\t\t\t},\n\n\t\t\tpackageLabel: function() {\n\t\t\t\tif (this.selectedPackage) {\n\t\t\t\t\treturn 'Selected';\n\t\t\t\t} else {\n\t\t\t\t\treturn 'Select Package';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tdeliverableCss: function() {\n\t\t\t\tif (this.selectedPackage && this.deliverablesCount > 1) {\n\t\t\t\t\treturn 'deliverableBlock deliverableBlockSelected';\n\t\t\t\t} else {\n\t\t\t\t\treturn 'deliverableBlock';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tshowDeliverablePricing: function() {\n\t\t\t\tif ((this.lFeeSchedule && this.lFeeSchedule.feeType === 'Per Item') || this.hasAnySetupTasks) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thasAnySetupTasks: function() {\n\t\t\t\tlet d = this.lDeliverables.findIndex((d) => d.initialSetupTask);\n\t\t\t\tif (d > -1) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tmainDeliverableColumns: function() {\n\t\t\t\tlet cols = 12;\n\n\t\t\t\tif(this.$vuetify.breakpoint.xsOnly){\n\t\t\t\t\treturn 12;\n\t\t\t\t}\n\t\t\t\tif (this.showDeliverablePricing || this.hasAnySetupTasks) {\n\t\t\t\t\tcols = cols - 3;\n\t\t\t\t}\n\t\t\t\tif (this.anyDeliverableWithDueDate) {\n\t\t\t\t\tcols = cols - 2;\n\t\t\t\t}\n\t\t\t\treturn cols;\n\t\t\t},\n\n\t\t\ttotalUpfrontAmount: function() {\n\t\t\t\treturn this.calculateTotalUpfrontAmount();\n\t\t\t},\n\n\t\t\tsetupFeeTotal: function() {\n\t\t\t\tlet taxPercentage = this.taxRate / 100;\n\t\t\t\tlet total = 0;\n\n\t\t\t\tthis.lDeliverables.forEach((d) => {\n\t\t\t\t\tif (d.initialSetupTask && d.quantity && d.product && d.product.rate) {\n\t\t\t\t\t\tlet subTotal = d.quantity * d.product.rate;\n\t\t\t\t\t\tif (d.product.taxable && taxPercentage) {\n\t\t\t\t\t\t\tsubTotal = subTotal + subTotal * taxPercentage;\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttotal = total + subTotal;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\treturn total;\n\t\t\t},\n\n\t\t\tfeeSchedulePrimary: function() {\n\t\t\t\tlet currency;\n\t\t\t\tif (this.currency) {\n\t\t\t\t\tcurrency = this.currency;\n\t\t\t\t} else {\n\t\t\t\t\tcurrency = this.$store.state.defaultCurrency;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t(!this.lFeeSchedule ||\n\t\t\t\t\t\tthis.lFeeSchedule.amount === undefined ||\n\t\t\t\t\t\tthis.lFeeSchedule.amount === null ||\n\t\t\t\t\t\tthis.lFeeSchedule.amount === 0) &&\n\t\t\t\t\tthis.lFeeSchedule.feeType !== 'Per Item'\n\t\t\t\t) {\n\t\t\t\t\treturn this.editMode ? '[Set up fees]' : '';\n\t\t\t\t}\n\n\t\t\t\tif (this.lFeeSchedule.feeType === 'Per Item') {\n\t\t\t\t\tlet total = 0;\n\t\t\t\t\tlet taxPercentage = this.taxRate / 100;\n\t\t\t\t\tthis.lDeliverables.forEach((d) => {\n\t\t\t\t\t\tif (!d.initialSetupTask && d.quantity && d.product && d.product.rate) {\n\t\t\t\t\t\t\tlet subTotal = d.quantity * d.product.rate;\n\t\t\t\t\t\t\tif (d.product.taxable && taxPercentage) {\n\t\t\t\t\t\t\t\tsubTotal = subTotal + subTotal * taxPercentage;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\ttotal = total + subTotal;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t\ttotal = total + this.setupFeeTotal;\n\t\t\t\t\treturn this.$formatters.dollars(total, true, true, currency);\n\t\t\t\t}\n\n\n\t\t\t\tlet total = parseFloat(this.lFeeSchedule.amount);\n\n\t\t\t\tif(this.lFeeSchedule.feeType === 'Fixed Price'){\n\t\t\t\t\ttotal = total + this.setupFeeTotal;\n\t\t\t\t}\n\n\t\t\t\tlet amount = this.$formatters.dollars(total, true, true, currency);\n\n\t\t\t\tif (this.lFeeSchedule.feeType === 'Hourly') {\n\t\t\t\t\tamount = amount + '/hr';\n\t\t\t\t}\n\n\t\t\t\tif (this.lFeeSchedule.taxable && this.taxRate) {\n\t\t\t\t\tamount = amount + ` <span class=\"font-12 font-gray_70\">+${this.taxRate}% ${this.taxLabel}</span>`;\n\t\t\t\t}\n\n\t\t\t\treturn amount;\n\t\t\t},\n\n\t\t\tfeeScheduleSecondary: function() {\n\t\t\t\tlet currency;\n\t\t\t\tif (this.currency) {\n\t\t\t\t\tcurrency = this.currency;\n\t\t\t\t} else {\n\t\t\t\t\tcurrency = this.$store.state.defaultCurrency;\n\t\t\t\t}\n\n\t\t\t\tif (\n\t\t\t\t\t!this.lFeeSchedule ||\n\t\t\t\t\tthis.lFeeSchedule.amount === undefined ||\n\t\t\t\t\tthis.lFeeSchedule.amount === null ||\n\t\t\t\t\tthis.lFeeSchedule.amount === 0\n\t\t\t\t) {\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\n\t\t\t\tif (this.lFeeSchedule.feeType === 'Hourly') {\n\t\t\t\t\tlet min = this.lFeeSchedule.estimateMin;\n\t\t\t\t\tlet max = this.lFeeSchedule.estimateMax;\n\n\t\t\t\t\tif (min && max && min !== max) {\n\t\t\t\t\t\treturn `Estimate: ${min}-${max} hours`;\n\t\t\t\t\t} else if (min) {\n\t\t\t\t\t\treturn `Estimate: ${min} hours`;\n\t\t\t\t\t} else if (max) {\n\t\t\t\t\t\treturn `Estimate: ${max} hours`;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\t\t\t\t} else if (this.lFeeSchedule.feeType === 'Retainer') {\n\t\t\t\t\tlet result;\n\t\t\t\t\tif (this.lFeeSchedule.retainerSchedule) {\n\t\t\t\t\t\tresult = this.lFeeSchedule.retainerSchedule + ' recurring';\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult = 'Recurring';\n\t\t\t\t\t}\n\t\t\t\t\tlet min = this.lFeeSchedule.estimateMin;\n\t\t\t\t\tlet max = this.lFeeSchedule.estimateMax;\n\n\t\t\t\t\tif (min && max && min !== max) {\n\t\t\t\t\t\tresult += `: ${min}-${max} hours`;\n\t\t\t\t\t} else if (min) {\n\t\t\t\t\t\tresult += `: ${min} hours`;\n\t\t\t\t\t} else if (max) {\n\t\t\t\t\t\tresult += `: ${max} hours`;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (max && this.lFeeSchedule.retainerOverageRate) {\n\t\t\t\t\t\tresult += `<br>+${this.$formatters.dollars(\n\t\t\t\t\t\t\tthis.lFeeSchedule.retainerOverageRate,\n\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\tcurrency\n\t\t\t\t\t\t)}/hr beyond ${max} hours`;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn result;\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tfeeStyle: function() {\n\t\t\t\treturn `font-size: 22px; font-family: ${this.formatting.headerFont}; font-weight: ${this.formatting.headerWeight}; text-align: right`;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t#proposal-deliverables {\n\t\t.feeEditMode {\n\t\t\tborder: 1px dotted var(--v-gray_10-base);\n\t\t\tcursor: pointer;\n\n\t\t\t&:hover {\n\t\t\t\tbackground-color: var(--v-gray_10-base);\n\t\t\t\tcolor: var(--v-gray_50-base);\n\t\t\t}\n\t\t}\n\n\t\t.feeSecondary {\n\t\t\tfont-size: 12px;\n\t\t\tcolor: var(--v-gray_50-base);\n\t\t}\n\n\t\t.noSelection {\n\t\t\tbackground-color: var(--v-gray_20-base);\n\t\t}\n\n\t\t.otherSelection {\n\t\t\tbackground-color: var(--v-gray_20-base);\n\t\t}\n\n\t\t.selfSelection {\n\t\t\tbackground-color: var(--v-gray_20-base);\n\t\t}\n\n\t\t.packageSelectButton {\n\t\t\tborder-radius: 8px 24px 24px 8px;\n\t\t\twidth: 221px;\n\t\t\theight: 48px;\n\t\t\tjustify-content: flex-end;\n\t\t\talign-items: center;\n\t\t}\n\n\t\t.packageSelectText {\n\t\t\tcolor: var(--v-gray_80-base);\n\t\t\tfont-size: 16px;\n\t\t\ttext-align: center;\n\t\t\tmargin-right: 15px;\n\t\t}\n\n\t\t.selectedText {\n\t\t\tcolor: var(--v-blue_50-base) !important;\n\t\t\tmargin-right: 30px !important;\n\t\t}\n\n\t\t.innerRadio {\n\t\t\twidth: 20px;\n\t\t\theight: 20px;\n\t\t\tborder-radius: 10px;\n\t\t\tbackground-color: var(--v-blue_50-base);\n\t\t}\n\n\t\t.packageSelectRadio {\n\t\t\twidth: 32px;\n\t\t\theight: 32px;\n\t\t\tbackground-color: var(--v-white-base);\n\t\t\tborder-radius: 16px;\n\t\t\tborder: 2.66667px solid var(--v-gray_50-base);\n\t\t\tmargin-right: 10px;\n\t\t\tcursor: pointer;\n\t\t\tjustify-content: center;\n\t\t\talign-items: center;\n\t\t}\n\n\t\t.deliverableHeading {\n\t\t\tpadding: 8px 0px;\n\t\t\tcolor: var(--v-gray_70-base);\n\t\t}\n\n\t\t.deliverableBlock {\n\t\t\tmargin-left: 0;\n\t\t\tmargin-right: 0;\n\t\t}\n\n\t\t.deliverableBlockSelected {\n\t\t\t//box-shadow: 2px 5px 10px #888888;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Deliverables.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Deliverables.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Deliverables.vue?vue&type=template&id=890a8924\"\nimport script from \"./Deliverables.vue?vue&type=script&lang=js\"\nexport * from \"./Deliverables.vue?vue&type=script&lang=js\"\nimport style0 from \"./Deliverables.vue?vue&type=style&index=0&id=890a8924&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VIcon,VMenu,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"pa-0 ma-0 selector_terms\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{style:(_vm.headerStyle),attrs:{\"cols\":\"12\"}},[(!_vm.editMode)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.terms.header)}}):_vm._e(),(_vm.editMode)?_c('editor',{ref:\"headerEditor\",staticClass:\"grey-dots\",attrs:{\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.terms.header,\"inline\":true,\"init\":_vm.mceConfigHeader},on:{\"input\":_vm.handleHeaderInput}}):_vm._e()],1),_c('v-col',{staticStyle:{\"text-align\":\"left\",\"position\":\"relative\"},attrs:{\"cols\":\"12\"},on:{\"click\":function($event){return _vm.openTermsEditor()}}},[_c('span',{class:this.editMode ? 'pointer' : '',style:(_vm.bodyStyle),domProps:{\"innerHTML\":_vm._s(_vm.terms.evaluatedTerms)}}),(_vm.editMode)?_c('div',{staticClass:\"brand-medium font-primary pointer\",staticStyle:{\"transform\":\"rotate(-20deg)\",\"width\":\"100%\",\"position\":\"absolute\",\"top\":\"20%\",\"text-align\":\"center\",\"font-size\":\"70px\",\"opacity\":\"0.4\"}},[_vm._v(\"Click to edit\")]):_vm._e()])],1),(_vm.termsDialog)?_c('basic-modal',{attrs:{\"dialog\":_vm.termsDialog,\"persistent\":true},on:{\"close\":_vm.handelCancel}},[_c('terms-dialog',{attrs:{\"proposal-service\":_vm.proposalService,\"client-mode\":_vm.clientMode,\"terms\":_vm.terms},on:{\"cancel\":function($event){return _vm.handelCancel()},\"save\":function($event){return _vm.handleSave($event, false)},\"text-conversion\":function($event){return _vm.handleSave($event, true)}}})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"proposal-terms-dialog\"}},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$emit('cancel')}}},[_c('v-icon',[_vm._v(\"$close\")])],1),_c('v-form',{model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('div',{staticClass:\"px-4 pt-4 pb-6 form-inner-wrapper\"},[_c('div',{staticClass:\"modal-title mb-2\"},[_vm._v(_vm._s(_vm.$t('proposal.terms.payment-terms')))]),(_vm.terms)?_c('div',[_c('v-select',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('proposal.terms.payment-terms'),\"items\":_vm.dayOptions},scopedSlots:_vm._u([{key:\"selection\",fn:function({ item }){return [(item === 0)?_c('span',[_vm._v(_vm._s(_vm.$t('proposal.terms.on-receipt')))]):_vm._e(),(item !== 0)?_c('span',[_vm._v(_vm._s(item)+\" \"+_vm._s(_vm.$t('proposal.terms.days')))]):_vm._e()]}},{key:\"item\",fn:function({ item }){return [(item === 0)?_c('span',[_vm._v(_vm._s(_vm.$t('proposal.terms.on-receipt')))]):_vm._e(),(item !== 0)?_c('span',[_vm._v(_vm._s(item)+\" \"+_vm._s(_vm.$t('proposal.terms.days')))]):_vm._e()]}}],null,false,1002020988),model:{value:(_vm.lTerms.paymentDays),callback:function ($$v) {_vm.$set(_vm.lTerms, \"paymentDays\", $$v)},expression:\"lTerms.paymentDays\"}}),_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('proposal.terms.late-payment'),\"placeholder\":\"No fee\",\"suffix\":\"% mo.\",\"type\":\"number\"},model:{value:(_vm.lTerms.latePaymentFee),callback:function ($$v) {_vm.$set(_vm.lTerms, \"latePaymentFee\", $$v)},expression:\"lTerms.latePaymentFee\"}}),_c('div',{staticClass:\"ml-1\"},[_c('v-switch',{attrs:{\"inset\":\"\",\"dense\":\"\",\"label\":_vm.$t('proposal.terms.include-terms')},model:{value:(_vm.lTerms.fullLegalTerms),callback:function ($$v) {_vm.$set(_vm.lTerms, \"fullLegalTerms\", $$v)},expression:\"lTerms.fullLegalTerms\"}})],1)],1):_vm._e(),(_vm.terms && _vm.lTerms.fullLegalTerms)?_c('div',[_c('div',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t('proposal.terms.legal-terms')))]),_c('div',{staticClass:\"disclaimer my-2\"},[_c('div',[_c('v-icon',{attrs:{\"size\":\"30\",\"color\":\"gray_90\"}},[_vm._v(\"$info\")])],1),_c('div',{staticStyle:{\"font-size\":\"12px\",\"font-style\":\"italic\"}},[_vm._v(_vm._s(_vm.$t('proposal.terms.disclaimer')))])]),_c('v-menu',{ref:\"menu\",attrs:{\"close-on-content-click\":true,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"min-width\":\"290px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-text-field',_vm._g(_vm._b({staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('proposal.terms.effective-date'),\"value\":_vm.effectiveDateFormatted,\"readonly\":\"\"}},'v-text-field',attrs,false),on))]}}],null,false,2294835018),model:{value:(_vm.effectiveMenu),callback:function ($$v) {_vm.effectiveMenu=$$v},expression:\"effectiveMenu\"}},[_c('v-date-picker',{attrs:{\"first-day-of-week\":_vm.$store.getters.firstDayOfWeek,\"no-title\":\"\",\"scrollable\":\"\"},on:{\"change\":function($event){return _vm.effectiveDateUpdated()}},model:{value:(_vm.effectiveDate),callback:function ($$v) {_vm.effectiveDate=$$v},expression:\"effectiveDate\"}})],1),_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('proposal.terms.governing-law')},model:{value:(_vm.lTerms.governingLaw),callback:function ($$v) {_vm.$set(_vm.lTerms, \"governingLaw\", $$v)},expression:\"lTerms.governingLaw\"}}),_c('v-select',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('proposal.terms.cancellation'),\"items\":_vm.dayOptions},scopedSlots:_vm._u([{key:\"selection\",fn:function({ item }){return [(item === 0)?_c('span',[_vm._v(_vm._s(_vm.$t('proposal.terms.no-notice')))]):_vm._e(),(item !== 0)?_c('span',[_vm._v(_vm._s(item)+\" \"+_vm._s(_vm.$t('proposal.terms.days')))]):_vm._e()]}},{key:\"item\",fn:function({ item }){return [(item === 0)?_c('span',[_vm._v(_vm._s(_vm.$t('proposal.terms.no-notice')))]):_vm._e(),(item !== 0)?_c('span',[_vm._v(_vm._s(item)+\" \"+_vm._s(_vm.$t('proposal.terms.days')))]):_vm._e()]}}],null,false,4019304860),model:{value:(_vm.lTerms.cancellationNoticeDays),callback:function ($$v) {_vm.$set(_vm.lTerms, \"cancellationNoticeDays\", $$v)},expression:\"lTerms.cancellationNoticeDays\"}}),_c('div',{staticClass:\"checkbox-flex\"},[_c('div',[_c('v-simple-checkbox',{attrs:{\"color\":_vm.lTerms.displayInPortfolio ? 'var(--v-blue_50-base)' : 'var(--v-gray_70-base)'},model:{value:(_vm.lTerms.displayInPortfolio),callback:function ($$v) {_vm.$set(_vm.lTerms, \"displayInPortfolio\", $$v)},expression:\"lTerms.displayInPortfolio\"}})],1),_c('div',[_c('div',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('proposal.terms.portfolio-label')))]),_c('div',{staticClass:\"details\"},[_vm._v(_vm._s(_vm.$t('proposal.terms.portfolio-details')))])])]),_c('div',{staticClass:\"checkbox-flex\"},[_c('div',[_c('v-simple-checkbox',{attrs:{\"color\":_vm.lTerms.grantLicenseForFramework ? 'var(--v-blue_50-base)' : 'var(--v-gray_70-base)'},model:{value:(_vm.lTerms.grantLicenseForFramework),callback:function ($$v) {_vm.$set(_vm.lTerms, \"grantLicenseForFramework\", $$v)},expression:\"lTerms.grantLicenseForFramework\"}})],1),_c('div',[_c('div',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('proposal.terms.frameworks-label')))])])]),_c('div',{staticClass:\"checkbox-flex\"},[_c('div',[_c('v-simple-checkbox',{attrs:{\"color\":_vm.lTerms.processingFeePassThrough ? 'var(--v-blue_50-base)' : 'var(--v-gray_70-base)'},model:{value:(_vm.lTerms.processingFeePassThrough),callback:function ($$v) {_vm.$set(_vm.lTerms, \"processingFeePassThrough\", $$v)},expression:\"lTerms.processingFeePassThrough\"}})],1),_c('div',[_c('div',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('proposal.terms.fee-pass-through-label')))]),_c('div',{staticClass:\"details\"},[_vm._v(_vm._s(_vm.$t('proposal.terms.fee-pass-through-detail')))])])]),_c('div',{staticClass:\"modal-title mt-4 mb-2\"},[_vm._v(_vm._s(_vm.$t('proposal.terms.the-contractor')))]),(_vm.isReady)?[_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('proposal.terms.legal-name')},model:{value:(_vm.account.accountName),callback:function ($$v) {_vm.$set(_vm.account, \"accountName\", $$v)},expression:\"account.accountName\"}}),_c('div',{staticClass:\"d-flex justify-space-between\"},[_c('div',{staticClass:\"pr-1\",staticStyle:{\"flex\":\"1 1 50%\"}},[(_vm.entityTypes.length)?_c('v-select',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('proposal.terms.entity-type'),\"items\":_vm.entityTypes},scopedSlots:_vm._u([{key:\"item\",fn:function({ item }){return [_c('span',[_vm._v(_vm._s(item))])]}}],null,false,2957485812),model:{value:(_vm.account.entityType),callback:function ($$v) {_vm.$set(_vm.account, \"entityType\", $$v)},expression:\"account.entityType\"}}):_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('proposal.terms.entity-type')},model:{value:(_vm.account.entityType),callback:function ($$v) {_vm.$set(_vm.account, \"entityType\", $$v)},expression:\"account.entityType\"}})],1),_c('div',{staticClass:\"pl-1\",staticStyle:{\"flex\":\"1 1 50%\"}},[(_vm.states.length)?_c('v-select',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('proposal.terms.entity-state'),\"item-value\":\"name\",\"item-text\":\"name\",\"items\":_vm.states},scopedSlots:_vm._u([{key:\"item\",fn:function({ item }){return [_c('span',[_vm._v(_vm._s(item.name))])]}}],null,false,3625759709),model:{value:(_vm.account.entityState),callback:function ($$v) {_vm.$set(_vm.account, \"entityState\", $$v)},expression:\"account.entityState\"}}):_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('proposal.terms.entity-state')},model:{value:(_vm.account.entityState),callback:function ($$v) {_vm.$set(_vm.account, \"entityState\", $$v)},expression:\"account.entityState\"}})],1)])]:_vm._e(),_c('div',{staticClass:\"modal-title mt-4 mb-2\"},[_vm._v(_vm._s(_vm.$t('proposal.terms.the-client')))]),_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('proposal.terms.legal-name')},model:{value:(_vm.lTerms.clientLegalName),callback:function ($$v) {_vm.$set(_vm.lTerms, \"clientLegalName\", $$v)},expression:\"lTerms.clientLegalName\"}}),_c('div',{staticClass:\"d-flex justify-space-between\"},[_c('div',{staticClass:\"pr-1\",staticStyle:{\"flex\":\"1 1 50%\"}},[_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('proposal.terms.entity-type')},model:{value:(_vm.lTerms.clientEntityType),callback:function ($$v) {_vm.$set(_vm.lTerms, \"clientEntityType\", $$v)},expression:\"lTerms.clientEntityType\"}})],1),_c('div',{staticClass:\"pl-1\",staticStyle:{\"flex\":\"1 1 50%\"}},[_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('proposal.terms.entity-state')},model:{value:(_vm.lTerms.clientState),callback:function ($$v) {_vm.$set(_vm.lTerms, \"clientState\", $$v)},expression:\"lTerms.clientState\"}})],1)])],2):_vm._e(),_c('v-btn',{staticClass:\"mt-4\",attrs:{\"color\":\"primary-action\",\"block\":\"\"},on:{\"click\":function($event){return _vm.confirmTextConversion()}}},[_vm._v(_vm._s(_vm.$t('proposal.terms.convert-button')))])],1),_c('div',{staticClass:\"modal-footer\"},[_c('v-btn',{staticClass:\"secondary-action mr-1\",staticStyle:{\"width\":\"160px\"},on:{\"click\":function($event){return _vm.$emit('cancel')}}},[_vm._v(_vm._s(_vm.$t('global.cancel')))]),_c('v-btn',{staticClass:\"super-action ml-1\",staticStyle:{\"width\":\"160px\"},on:{\"click\":function($event){return _vm.requestSave()}}},[_vm._v(_vm._s(_vm.$t('global.save')))])],1)]),_c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"600\"},model:{value:(_vm.confirmConversion),callback:function ($$v) {_vm.confirmConversion=$$v},expression:\"confirmConversion\"}},[_c('div',{staticStyle:{\"background-color\":\"var(--v-white-base)\"}},[_c('v-container',{staticClass:\"pa-8\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('h2',[_vm._v(_vm._s(_vm.$t('proposal.terms.convert-header')))])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\",\"align\":\"left\"}},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.$t('proposal.terms.confirm-convert'))}})])],1)],1),_c('div',{staticClass:\"modal-footer\"},[_c('v-btn',{staticClass:\"primary-action mr-1\",on:{\"click\":function($event){_vm.confirmConversion = false}}},[_vm._v(_vm._s(_vm.$t('global.cancel')))]),_c('v-btn',{staticClass:\"secondary-action ml-1\",on:{\"click\":function($event){return _vm.requestTextConversion()}}},[_vm._v(_vm._s(_vm.$t('global.continue')))])],1)],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div id=\"proposal-terms-dialog\">\n\t\t<v-btn icon class=\"close-dialog\" @click=\"$emit('cancel')\">\n\t\t\t<v-icon>$close</v-icon>\n\t\t</v-btn>\n\t\t<v-form v-model=\"isValid\">\n\t\t\t<div class=\"px-4 pt-4 pb-6 form-inner-wrapper\">\n\t\t\t\t<div class=\"modal-title mb-2\">{{ $t('proposal.terms.payment-terms') }}</div>\n\n\t\t\t\t<div v-if=\"terms\">\n\t\t\t\t\t<v-select\n\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t:label=\"$t('proposal.terms.payment-terms')\"\n\t\t\t\t\t\t:items=\"dayOptions\"\n\t\t\t\t\t\tv-model=\"lTerms.paymentDays\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<template v-slot:selection=\"{ item }\">\n\t\t\t\t\t\t\t<span v-if=\"item === 0\">{{ $t('proposal.terms.on-receipt') }}</span>\n\t\t\t\t\t\t\t<span v-if=\"item !== 0\">{{ item }} {{ $t('proposal.terms.days') }}</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-slot:item=\"{ item }\">\n\t\t\t\t\t\t\t<span v-if=\"item === 0\">{{ $t('proposal.terms.on-receipt') }}</span>\n\t\t\t\t\t\t\t<span v-if=\"item !== 0\">{{ item }} {{ $t('proposal.terms.days') }}</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</v-select>\n\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t:label=\"$t('proposal.terms.late-payment')\"\n\t\t\t\t\t\tv-model=\"lTerms.latePaymentFee\"\n\t\t\t\t\t\tplaceholder=\"No fee\"\n\t\t\t\t\t\tsuffix=\"% mo.\"\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t></v-text-field>\n\n\t\t\t\t\t<!--div class=\"d-flex justify-space-between\">\n\t\t\t\t\t\t<div style=\"flex: 1 1 auto\">\n\t\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\t:label=\"$t('proposal.terms.deposit-required')\"\n\t\t\t\t\t\t\t\t:items=\"depositOptions\"\n\t\t\t\t\t\t\t\tv-model=\"lTerms.depositType\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<template v-slot:item=\"{ item }\">\n\t\t\t\t\t\t\t\t\t<span>{{ item }}</span>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</v-select>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-if=\"lTerms.depositType !== 'No deposit'\" style=\"flex: 0 1 50%\" class=\"pl-2\">\n\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\t:label=\"$t('proposal.terms.deposit-amount')\"\n\t\t\t\t\t\t\t\tv-model=\"lTerms.depositAmount\"\n\t\t\t\t\t\t\t\t:suffix=\"lTerms.depositType === 'Percentage' ? '%' : ''\"\n\t\t\t\t\t\t\t\t:prefix=\"lTerms.depositType === 'Fixed amount' ? '$' : ''\"\n\t\t\t\t\t\t\t\t:rules=\"\n\t\t\t\t\t\t\t\t\tlTerms.depositType === 'Percentage'\n\t\t\t\t\t\t\t\t\t\t? [rules.min(1, lTerms.depositAmount), rules.max(100, lTerms.depositAmount)]\n\t\t\t\t\t\t\t\t\t\t: [rules.min(1, lTerms.depositAmount)]\n\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div-->\n\n\t\t\t\t\t<div class=\"ml-1\">\n\t\t\t\t\t\t<v-switch\n\t\t\t\t\t\t\tinset\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\tv-model=\"lTerms.fullLegalTerms\"\n\t\t\t\t\t\t\t:label=\"$t('proposal.terms.include-terms')\"\n\t\t\t\t\t\t></v-switch>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div v-if=\"terms && lTerms.fullLegalTerms\">\n\t\t\t\t\t<div class=\"modal-title\">{{ $t('proposal.terms.legal-terms') }}</div>\n\n\t\t\t\t\t<div class=\"disclaimer my-2\">\n\t\t\t\t\t\t<div><v-icon size=\"30\" color=\"gray_90\">$info</v-icon></div>\n\t\t\t\t\t\t<div style=\"font-size: 12px; font-style: italic\">{{ $t('proposal.terms.disclaimer') }}</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<v-menu\n\t\t\t\t\t\tref=\"menu\"\n\t\t\t\t\t\tv-model=\"effectiveMenu\"\n\t\t\t\t\t\t:close-on-content-click=\"true\"\n\t\t\t\t\t\ttransition=\"scale-transition\"\n\t\t\t\t\t\toffset-y\n\t\t\t\t\t\tmin-width=\"290px\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<template v-slot:activator=\"{ on, attrs }\">\n\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\t:label=\"$t('proposal.terms.effective-date')\"\n\t\t\t\t\t\t\t\t:value=\"effectiveDateFormatted\"\n\t\t\t\t\t\t\t\treadonly\n\t\t\t\t\t\t\t\tv-bind=\"attrs\"\n\t\t\t\t\t\t\t\tv-on=\"on\"\n\t\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<v-date-picker :first-day-of-week=\"$store.getters.firstDayOfWeek\" v-model=\"effectiveDate\" @change=\"effectiveDateUpdated()\" no-title scrollable>\n\t\t\t\t\t\t</v-date-picker>\n\t\t\t\t\t</v-menu>\n\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t:label=\"$t('proposal.terms.governing-law')\"\n\t\t\t\t\t\tv-model=\"lTerms.governingLaw\"\n\t\t\t\t\t></v-text-field>\n\n\t\t\t\t\t<v-select\n\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t:label=\"$t('proposal.terms.cancellation')\"\n\t\t\t\t\t\t:items=\"dayOptions\"\n\t\t\t\t\t\tv-model=\"lTerms.cancellationNoticeDays\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<template v-slot:selection=\"{ item }\">\n\t\t\t\t\t\t\t<span v-if=\"item === 0\">{{ $t('proposal.terms.no-notice') }}</span>\n\t\t\t\t\t\t\t<span v-if=\"item !== 0\">{{ item }} {{ $t('proposal.terms.days') }}</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template v-slot:item=\"{ item }\">\n\t\t\t\t\t\t\t<span v-if=\"item === 0\">{{ $t('proposal.terms.no-notice') }}</span>\n\t\t\t\t\t\t\t<span v-if=\"item !== 0\">{{ item }} {{ $t('proposal.terms.days') }}</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</v-select>\n\n\t\t\t\t\t<div class=\"checkbox-flex\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<v-simple-checkbox\n\t\t\t\t\t\t\t\t:color=\"lTerms.displayInPortfolio ? 'var(--v-blue_50-base)' : 'var(--v-gray_70-base)'\"\n\t\t\t\t\t\t\t\tv-model=\"lTerms.displayInPortfolio\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div class=\"label\">{{ $t('proposal.terms.portfolio-label') }}</div>\n\t\t\t\t\t\t\t<div class=\"details\">{{ $t('proposal.terms.portfolio-details') }}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"checkbox-flex\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<v-simple-checkbox\n\t\t\t\t\t\t\t\t:color=\"lTerms.grantLicenseForFramework ? 'var(--v-blue_50-base)' : 'var(--v-gray_70-base)'\"\n\t\t\t\t\t\t\t\tv-model=\"lTerms.grantLicenseForFramework\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div class=\"label\">{{ $t('proposal.terms.frameworks-label') }}</div>\n\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t<div>{{ $t('proposal.terms.frameworks-details') }}</div>-->\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"checkbox-flex\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<v-simple-checkbox\n\t\t\t\t\t\t\t\t:color=\"lTerms.processingFeePassThrough ? 'var(--v-blue_50-base)' : 'var(--v-gray_70-base)'\"\n\t\t\t\t\t\t\t\tv-model=\"lTerms.processingFeePassThrough\"\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div class=\"label\">{{ $t('proposal.terms.fee-pass-through-label') }}</div>\n\t\t\t\t\t\t\t<div class=\"details\">{{ $t('proposal.terms.fee-pass-through-detail') }}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"modal-title mt-4 mb-2\">{{ $t('proposal.terms.the-contractor') }}</div>\n\t\t\t\t\t<template v-if=\"isReady\">\n\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t:label=\"$t('proposal.terms.legal-name')\"\n\t\t\t\t\t\t\tv-model=\"account.accountName\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t</v-text-field>\n\n\t\t\t\t\t\t<div class=\"d-flex justify-space-between\">\n\t\t\t\t\t\t\t<div style=\"flex: 1 1 50%\" class=\"pr-1\">\n\t\t\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\t\t\tv-if=\"entityTypes.length\"\n\t\t\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\t\t:label=\"$t('proposal.terms.entity-type')\"\n\t\t\t\t\t\t\t\t\t:items=\"entityTypes\"\n\t\t\t\t\t\t\t\t\tv-model=\"account.entityType\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<template v-slot:item=\"{ item }\">\n\t\t\t\t\t\t\t\t\t\t<span>{{ item }}</span>\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t</v-select>\n\t\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t\t\t\tv-model=\"account.entityType\"\n\t\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\t\t:label=\"$t('proposal.terms.entity-type')\"\n\t\t\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div style=\"flex: 1 1 50%\" class=\"pl-1\">\n\t\t\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\t\t\tv-if=\"states.length\"\n\t\t\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\t\t:label=\"$t('proposal.terms.entity-state')\"\n\t\t\t\t\t\t\t\t\titem-value=\"name\"\n\t\t\t\t\t\t\t\t\titem-text=\"name\"\n\t\t\t\t\t\t\t\t\t:items=\"states\"\n\t\t\t\t\t\t\t\t\tv-model=\"account.entityState\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<template v-slot:item=\"{ item }\">\n\t\t\t\t\t\t\t\t\t\t<span>{{ item.name }}</span>\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t</v-select>\n\t\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\t\tv-else\n\t\t\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t\t\t\tv-model=\"account.entityState\"\n\t\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\t\t:label=\"$t('proposal.terms.entity-state')\"\n\t\t\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\n\t\t\t\t\t<div class=\"modal-title mt-4 mb-2\">{{ $t('proposal.terms.the-client') }}</div>\n\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t:label=\"$t('proposal.terms.legal-name')\"\n\t\t\t\t\t\tv-model=\"lTerms.clientLegalName\"\n\t\t\t\t\t>\n\t\t\t\t\t</v-text-field>\n\n\t\t\t\t\t<div class=\"d-flex justify-space-between\">\n\t\t\t\t\t\t<div style=\"flex: 1 1 50%\" class=\"pr-1\">\n\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t\t\t\tv-model=\"lTerms.clientEntityType\"\n\t\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\t\t:label=\"$t('proposal.terms.entity-type')\"\n\t\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div style=\"flex: 1 1 50%\" class=\"pl-1\">\n\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t\t\t\tv-model=\"lTerms.clientState\"\n\t\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\t\t:label=\"$t('proposal.terms.entity-state')\"\n\t\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<v-btn color=\"primary-action\" block class=\"mt-4\" @click=\"confirmTextConversion()\">{{\n\t\t\t\t\t$t('proposal.terms.convert-button')\n\t\t\t\t}}</v-btn>\n\t\t\t</div>\n\t\t\t<div class=\"modal-footer\">\n\t\t\t\t<v-btn class=\"secondary-action mr-1\" style=\"width: 160px\" @click=\"$emit('cancel')\">{{\n\t\t\t\t\t$t('global.cancel')\n\t\t\t\t}}</v-btn>\n\t\t\t\t<v-btn class=\"super-action ml-1\" style=\"width: 160px\" @click=\"requestSave()\">{{ $t('global.save') }}</v-btn>\n\t\t\t</div>\n\t\t</v-form>\n\n\t\t<v-dialog v-model=\"confirmConversion\" persistent max-width=\"600\">\n\t\t\t<div style=\"background-color: var(--v-white-base)\">\n\t\t\t\t<v-container fluid class=\"pa-8\">\n\t\t\t\t\t<v-row>\n\t\t\t\t\t\t<v-col cols=\"12\"\n\t\t\t\t\t\t\t><h2>{{ $t('proposal.terms.convert-header') }}</h2></v-col\n\t\t\t\t\t\t>\n\t\t\t\t\t</v-row>\n\t\t\t\t\t<v-row>\n\t\t\t\t\t\t<v-col cols=\"12\" align=\"left\"><div v-html=\"$t('proposal.terms.confirm-convert')\"></div></v-col>\n\t\t\t\t\t</v-row>\n\t\t\t\t</v-container>\n\t\t\t\t<div class=\"modal-footer\">\n\t\t\t\t\t<v-btn class=\"primary-action mr-1\" @click=\"confirmConversion = false\">{{ $t('global.cancel') }}</v-btn>\n\t\t\t\t\t<v-btn class=\"secondary-action ml-1\" @click=\"requestTextConversion()\">{{ $t('global.continue') }}</v-btn>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</v-dialog>\n\t</div>\n</template>\n\n<script>\n\timport countries from '@/assets/data/countries.json';\n\t// import moment from 'moment';\n\n\texport default {\n\t\tname: 'TermsDialog',\n\n\t\tcomponents: {},\n\n\t\tprops: ['terms', 'openStatus', 'proposalService'],\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tisValid: true,\n\t\t\t\tlTerms: JSON.parse(JSON.stringify(this.terms)),\n\t\t\t\tdayOptions: [0, 7, 15, 30, 45, 60, 90],\n\t\t\t\tdepositOptions: ['No deposit', 'Fixed amount', 'Percentage'],\n\t\t\t\tscheduleOptions: ['Weekly', 'Bi-Weekly', 'Monthly', 'Quarterly', 'Annually', 'As Needed'],\n\t\t\t\teffectiveMenu: false,\n\t\t\t\teffectiveDate: this.terms.effectiveDate,\n\t\t\t\tconfirmConversion: false,\n\t\t\t\t// editContractorInfo: false,\n\t\t\t\taccount: null,\n\t\t\t\tcountries: countries,\n\t\t\t\tisReady: false,\n\n\t\t\t\trules: {\n\t\t\t\t\tmin(min, v) {\n\t\t\t\t\t\treturn v >= min || `Must be at least ${min}`;\n\t\t\t\t\t},\n\t\t\t\t\tmax(max, v) {\n\t\t\t\t\t\treturn v <= max || `Cannot be greater than ${max}.`;\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.fetchAccountInfo();\n\t\t},\n\n\t\tcomputed: {\n\t\t\tcontractorInfo: function () {\n\t\t\t\tif (this.account.entityType === 'Individual') {\n\t\t\t\t\treturn this.account.accountName + ' an ' + this.account.entityType;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.account.accountName + ' a ' + this.account.entityState + ' ' + this.account.entityType;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\teffectiveDateFormatted: function () {\n\t\t\t\treturn this.$DateTime.fromISO(this.effectiveDate).toLocaleString(this.$DateTime.DATE_MED);\n\t\t\t\t// return moment(this.effectiveDate).format('MM/DD/YYYY');\n\t\t\t},\n\n\t\t\tentityTypes: function () {\n\t\t\t\tif (this.account.country == 'US' || this.account.country == 'CA') {\n\t\t\t\t\tlet country = this.countries.find((c) => c.code === this.account.country);\n\t\t\t\t\tif (country) {\n\t\t\t\t\t\treturn country.entityTypes;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tstates: function () {\n\t\t\t\tif (this.account.country == 'US' || this.account.country == 'CA') {\n\t\t\t\t\tlet country = this.countries.find((c) => c.code === this.account.country);\n\t\t\t\t\tif (country) {\n\t\t\t\t\t\treturn country.states;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn [];\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tmethods: {\n\t\t\tfetchAccountInfo: function () {\n\t\t\t\tthis.proposalService.getAccountInfo().then((res) => {\n\t\t\t\t\tthis.account = res.data;\n\t\t\t\t\tthis.isReady = true;\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tsaveContractorInfo: function () {\n\t\t\t\tthis.$store.dispatch('updateAccountInfo', this.account);\n\t\t\t\t// this.editContractorInfo = false;\n\t\t\t},\n\n\t\t\t// cancelEditContractorInfo: function() {\n\t\t\t// \tthis.fetchAccountInfo();\n\t\t\t// \t// this.editContractorInfo = false;\n\t\t\t// },\n\n\t\t\trequestSave: function () {\n\t\t\t\tthis.saveContractorInfo();\n\t\t\t\tthis.$emit('save', this.lTerms);\n\t\t\t},\n\n\t\t\tconfirmTextConversion: function () {\n\t\t\t\tthis.confirmConversion = true;\n\t\t\t},\n\n\t\t\trequestTextConversion: function () {\n\t\t\t\tthis.$emit('text-conversion', this.lTerms);\n\t\t\t},\n\n\t\t\t// yesNoFromBoolean: function(val) {\n\t\t\t// \treturn val ? 'Yes' : 'No';\n\t\t\t// },\n\n\t\t\t// booleanFromYesNo: function(val) {\n\t\t\t// \treturn val === 'Yes' ? true : false;\n\t\t\t// },\n\n\t\t\teffectiveDateUpdated: function () {\n\t\t\t\tthis.lTerms.effectiveDate = this.effectiveDate + 'T12:00:00Z';\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t#proposal-terms-dialog {\n\t\twidth: 447px;\n\t\tbackground-color: var(--v-white-base);\n\n\t\t.disclaimer {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\talign-content: flex-start;\n\t\t\tbackground-color: var(--v-blue_5-base);\n\t\t\tborder-radius: 4px;\n\t\t\t> div:first-child {\n\t\t\t\tflex: 0 0 40px;\n\t\t\t\tpadding: 8px;\n\t\t\t}\n\t\t\t> div:last-child {\n\t\t\t\tflex: 1 1 auto;\n\t\t\t\ttext-align: left;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tfont-weight: 300;\n\t\t\t\tpadding: 8px 8px 8px 0;\n\t\t\t}\n\t\t}\n\n\t\t.checkbox-flex {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\talign-content: flex-start;\n\t\t\tborder: 1px solid var(--v-gray_50-base);\n\t\t\t//background-color: var(--v-blue_5-base);\n\t\t\tborder-radius: 4px;\n\t\t\tmargin-bottom: 8px;\n\t\t\t> div:first-child {\n\t\t\t\tflex: 0 0 40px;\n\t\t\t\tpadding: 8px;\n\t\t\t}\n\t\t\t> div:last-child {\n\t\t\t\tflex: 1 1 auto;\n\t\t\t\ttext-align: left;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tfont-weight: 300;\n\t\t\t\tpadding: 8px 8px 8px 0;\n\t\t\t\t> div.label {\n\t\t\t\t\tmargin-top: 2px;\n\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\tfont-weight: 300;\n\t\t\t\t}\n\t\t\t\t> div.details {\n\t\t\t\t\tmargin-top: 8px;\n\t\t\t\t\tcolor: var(--v-gray_80-base);\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\tfont-weight: 400;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t//.label {\n\t//\ttext-align: left;\n\t//\tfont-weight: bold;\n\t//}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TermsDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TermsDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TermsDialog.vue?vue&type=template&id=3302e731\"\nimport script from \"./TermsDialog.vue?vue&type=script&lang=js\"\nexport * from \"./TermsDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./TermsDialog.vue?vue&type=style&index=0&id=3302e731&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSimpleCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCol,VContainer,VDatePicker,VDialog,VForm,VIcon,VMenu,VRow,VSelect,VSimpleCheckbox,VSwitch,VTextField})\n","<template>\n\t<v-container fluid class=\"pa-0 ma-0 selector_terms\">\n\t\t<v-row>\n\t\t\t<v-col cols=\"12\" :style=\"headerStyle\">\n\t\t\t\t<span v-html=\"terms.header\" v-if=\"!editMode\"></span>\n\t\t\t\t<editor\n\t\t\t\t\tref=\"headerEditor\"\n\t\t\t\t\tv-if=\"editMode\"\n\t\t\t\t\tclass=\"grey-dots\"\n\t\t\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t\t\t:initial-value=\"terms.header\"\n\t\t\t\t\t:inline=\"true\"\n\t\t\t\t\t:init=\"mceConfigHeader\"\n\t\t\t\t\t@input=\"handleHeaderInput\"\n\t\t\t\t></editor>\n\t\t\t</v-col>\n\t\t\t<v-col cols=\"12\" style=\"text-align: left; position: relative\" @click=\"openTermsEditor()\">\n\t\t\t\t<span\n\t\t\t\t\t:style=\"bodyStyle\"\n\t\t\t\t\t:class=\"this.editMode ? 'pointer' : ''\"\n\t\t\t\t\tv-html=\"terms.evaluatedTerms\"\n\t\t\t\t></span>\n\t\t\t\t<div class=\"brand-medium font-primary pointer\" v-if=\"editMode\" style=\"transform: rotate(-20deg); width: 100%; position: absolute; top: 20%; text-align: center; font-size: 70px; opacity: 0.4\">Click to edit</div>\n\t\t\t</v-col>\n\t\t</v-row>\n\n\t\t<basic-modal v-if=\"termsDialog\" :dialog=\"termsDialog\" :persistent=\"true\" @close=\"handelCancel\">\n\t\t\t<terms-dialog\n\t\t\t\t:proposal-service=\"proposalService\"\n\t\t\t\t:client-mode=\"clientMode\"\n\t\t\t\t:terms=\"terms\"\n\t\t\t\t@cancel=\"handelCancel()\"\n\t\t\t\t@save=\"handleSave($event, false)\"\n\t\t\t\t@text-conversion=\"handleSave($event, true)\"\n\t\t\t></terms-dialog>\n\t\t</basic-modal>\n\t</v-container>\n</template>\n\n<script>\n  import TermsDialog from './TermsDialog';\n\timport BasicModal from '@/components/BasicModal';\n\n\texport default {\n\t\tname: 'Terms',\n\n\t\tprops: [\n\t\t\t'id',\n\t\t\t'clientId',\n\t\t\t'proposalId',\n\t\t\t'proposalService',\n\t\t\t'editMode',\n\t\t\t'clientMode',\n\t\t\t'mceConfigHeader',\n\t\t\t'headerStyle',\n\t\t\t'bodyStyle',\n\t\t\t'block',\n\t\t\t'templateMode',\n\t\t\t'templateService',\n\t\t],\n\n\t\tcomponents: {\n\t\t\tTermsDialog,\n\t\t\tBasicModal,\n\t\t\teditor: () => import(/* webpackChunkName: \"tinymce\" */ '@tinymce/tinymce-vue'),\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\ttermsDialog: false,\n\t\t\t\tterms: this.block,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tif (!this.clientMode && this.$validations.isEmpty(this.terms.evaluatedTerms)) {\n\t\t\t\tthis.generateTerms().then(() => {\n\t\t\t\t\tthis.notifyChange();\n\t\t\t\t});\n\t\t\t}\n\t\t},\n\n\t\tmethods: {\n\t\t\thandleSave: function(terms, convertToText) {\n\t\t\t\tthis.termsDialog = false;\n\t\t\t\tthis.terms = terms;\n\t\t\t\tthis.generateTerms().then(() => {\n\t\t\t\t\tif (convertToText) {\n\t\t\t\t\t\tthis.notifyChangeWithConversion();\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.notifyChange();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tgenerateTerms: function() {\n\t\t\t\tif (this.templateMode) {\n\t\t\t\t\treturn this.templateService\n\t\t\t\t\t\t.createTerms(this.proposalId, this.terms)\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\tthis.terms.evaluatedTerms = res.data.terms;\n\t\t\t\t\t\t\treturn Promise.resolve(res);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\t\tthis.$store.commit('error', err.response.data.message);\n\t\t\t\t\t\t\treturn Promise.reject(err);\n\t\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\treturn this.proposalService\n\t\t\t\t\t.createTerms(this.clientId, this.proposalId, this.terms)\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tthis.terms.evaluatedTerms = res.data.terms;\n\t\t\t\t\t\treturn Promise.resolve(res);\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tthis.$store.commit('error', err.response.data.message);\n\t\t\t\t\t\treturn Promise.reject(err);\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\thandelCancel: function() {\n\t\t\t\tthis.termsDialog = false;\n\t\t\t},\n\n\t\t\topenTermsEditor: function() {\n\t\t\t\tif (this.editMode && !this.clientMode) {\n\t\t\t\t\tthis.termsDialog = true;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandleHeaderInput: function() {\n\t\t\t\tthis.terms.header = this.$refs.headerEditor.editor.getContent();\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\tnotifyChange: function() {\n\t\t\t\tthis.$emit('changed', this.terms);\n\t\t\t},\n\n\t\t\tnotifyChangeWithConversion: function() {\n\t\t\t\tlet newBlock = {\n\t\t\t\t\tid: this.terms.id,\n\t\t\t\t\tblockType: 'TextArea',\n\t\t\t\t\theader: this.terms.header,\n\t\t\t\t\ttext: this.terms.evaluatedTerms,\n\t\t\t\t};\n\n\t\t\t\tthis.$emit('changed', newBlock);\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Terms.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Terms.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Terms.vue?vue&type=template&id=8cbf1b68&scoped=true\"\nimport script from \"./Terms.vue?vue&type=script&lang=js\"\nexport * from \"./Terms.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"8cbf1b68\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"pa-0 ma-0 selector_signature\",staticStyle:{\"text-align\":\"left\"},attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('span',{style:(_vm.headerStyle)},[(!_vm.editMode)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.lHeader)}}):_vm._e(),(_vm.editMode)?_c('editor',{ref:\"headerEditor\",staticClass:\"grey-dots\",attrs:{\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.lHeader,\"inline\":true,\"init\":_vm.mceConfigHeader},on:{\"input\":_vm.handleHeaderInput}}):_vm._e()],1)])],1),_c('v-row',{style:(_vm.fontStyle)},[_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('span',{staticClass:\"label-wrapper font-14\"},[_vm._v(\" \"+_vm._s(_vm.account ? _vm.account.accountName : _vm.templateAccountName))])]),_c('signature',{ref:\"us\",attrs:{\"align\":\"center\",\"signature\":_vm.us,\"mode\":\"us\",\"edit-mode\":_vm.editMode,\"client-mode\":_vm.clientMode,\"template-mode\":_vm.templateMode,\"deliverable-selected\":_vm.areDeliverablesSelected},on:{\"signed\":_vm.signedUs}}),_c('div',{staticClass:\"column-format\",staticStyle:{\"text-align\":\"left\"}},[_c('div',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.us.signerName))]),_c('div',[_vm._v(_vm._s(_vm.us.signerTitle))])]),(_vm.us.ip.ip)?_c('div',{staticClass:\"ipBlock\"},[_vm._v(\" \"+_vm._s(_vm.$t('proposals.country'))+\": \"),_c('img',{attrs:{\"src\":_vm.us.ip.countryFlag,\"width\":\"15px\"}}),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('proposals.ip'))+\": \"+_vm._s(_vm.us.ip.ip)),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('proposals.location'))+\": \"+_vm._s(_vm.us.ip.city)+\", \"+_vm._s(_vm.us.ip.region)+\", \"+_vm._s(_vm.us.ip.country)),_c('br')]):_vm._e(),(_vm.us.dts)?_c('div',{staticClass:\"ipBlock\"},[_vm._v(\" \"+_vm._s(_vm.DateTime.fromISO(_vm.us.dts).toLocaleString(_vm.DateTime.DATETIME_FULL))+\" \")]):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"12\",\"sm\":\"6\"}},[_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('span',{staticClass:\"label-wrapper truncate font-14\"},[_vm._v(_vm._s(_vm.client ? _vm.client.name : _vm.templateClientName))]),(_vm.settingSigner === true)?_c('div',{staticStyle:{\"margin-left\":\"auto\"}},[_c('v-icon',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"small\":\"\",\"color\":\"green\"},nativeOn:{\"click\":function($event){return _vm.saveSignerInfo()}}},[_vm._v(\"$success\")]),_c('v-icon',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"small\":\"\",\"color\":\"grey\"},nativeOn:{\"click\":function($event){return _vm.cancelSignerInfo()}}},[_vm._v(\"$cancel \")])],1):_vm._e()]),_c('signature',{ref:\"them\",attrs:{\"align\":\"center\",\"signature\":_vm.them,\"mode\":\"them\",\"edit-mode\":_vm.editMode,\"client-mode\":_vm.clientMode,\"template-mode\":_vm.templateMode,\"deliverable-selected\":_vm.areDeliverablesSelected},on:{\"signed\":_vm.signedThem,\"signer-info\":_vm.signerInfoUpdated,\"set-signer\":function($event){_vm.settingSigner = true},\"request-them-sign\":_vm.requestThemSign}}),(!_vm.settingSigner && (_vm.themSignerName || _vm.themSignerTitle))?_c('div',{staticClass:\"column-format\",staticStyle:{\"text-align\":\"left\"}},[_c('div',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(this.them.signerName))]),_c('div',[_vm._v(_vm._s(this.them.signerTitle))])]):_vm._e(),(_vm.them.ip.ip)?_c('div',{staticClass:\"ipBlock\"},[_vm._v(\" \"+_vm._s(_vm.$t('proposals.country'))+\" \"),_c('img',{attrs:{\"src\":_vm.them.ip.countryFlag,\"width\":\"15px\"}}),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('proposals.ip'))+\": \"+_vm._s(_vm.them.ip.ip)),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('proposals.location'))+\": \"+_vm._s(_vm.them.ip.city)+\", \"+_vm._s(_vm.them.ip.region)+\", \"+_vm._s(_vm.them.ip.country)),_c('br')]):_vm._e(),(_vm.them.dts)?_c('div',{staticClass:\"ipBlock\"},[_vm._v(\" \"+_vm._s(_vm.DateTime.fromISO(_vm.them.dts).toLocaleString(_vm.DateTime.DATETIME_FULL))+\" \")]):_vm._e(),(_vm.cardPaymentFailed)?_c('v-btn',{staticClass:\"my-3\",attrs:{\"large\":\"\",\"block\":\"\",\"color\":\"primary\"},on:{\"click\":_vm.requestThemSign}},[_vm._v(\"Resubmit Payment\")]):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:_vm.signatureContainerCss},[_c('v-container',{staticClass:\"pa-0 ma-0\",attrs:{\"fluid\":\"\",\"fill-height\":\"\"}},[(_vm.isSigned)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[(_vm.shouldRenderKeyboard)?_c('div',{staticClass:\"signatureWrapper\",style:(_vm.signatureFont)},[_c('div',{staticClass:\"signature\"},[_vm._v(_vm._s(_vm.signatureObj.signature))])]):_vm._e(),(_vm.shouldRenderPad)?_c('div',{staticClass:\"svgSignature\"},[_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.svgSignature)}})]):_vm._e()])],1):_vm._e(),(!_vm.isSigned)?_c('div',{staticStyle:{\"width\":\"100%\"}},[(_vm.isApp)?_c('div',{staticStyle:{\"width\":\"100%\"}},[(_vm.setSigner)?_c('v-row',[_c('v-col',{staticStyle:{\"display\":\"flex\",\"flex-direction\":\"row\"},attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"ml-2\",staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\",\"width\":\"90%\"}},[_c('v-text-field',{staticStyle:{\"font-size\":\"0.9em\"},attrs:{\"label\":_vm.$t('proposal.name'),\"hide-details\":true},nativeOn:{\"keypress\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.saveSignerInfo()}},model:{value:(_vm.signerName),callback:function ($$v) {_vm.signerName=$$v},expression:\"signerName\"}}),_c('v-text-field',{staticStyle:{\"font-size\":\"0.9em\"},attrs:{\"label\":_vm.$t('proposal.title'),\"hide-details\":true},nativeOn:{\"keypress\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.saveSignerInfo()}},model:{value:(_vm.signerTitle),callback:function ($$v) {_vm.signerTitle=$$v},expression:\"signerTitle\"}})],1)])],1):_vm._e(),(!_vm.setSigner)?_c('v-row',[_c('v-col',{staticClass:\"pa-0 ma-0\",attrs:{\"cols\":\"12\",\"align\":\"center\"}},[(_vm.isThem && !_vm.editMode)?_c('v-btn',{attrs:{\"disabled\":true,\"text\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('proposals.pending'))+\" \")]):_vm._e(),(_vm.isThem && _vm.editMode)?_c('v-btn',{attrs:{\"text\":\"\",\"disabled\":_vm.templateMode},on:{\"click\":function($event){return _vm.setSignerInfo()}}},[_vm._v(\" \"+_vm._s(this.signatureObj.signerLocked ? 'Change signatory' : 'Set signatory (optional)')+\" \")]):_vm._e(),(_vm.isUs)?_c('v-btn',{attrs:{\"text\":\"\",\"disabled\":_vm.templateMode},on:{\"click\":function($event){_vm.doSign = true}}},[_vm._v(\" \"+_vm._s(_vm.editMode ? 'Sign before sending' : 'Sign')+\" \")]):_vm._e()],1)],1):_vm._e()],1):_vm._e(),(_vm.isPortal)?_c('v-row',[_c('v-col',{staticClass:\"pa-0 ma-0\",attrs:{\"cols\":\"12\"}},[(_vm.isThem)?_c('v-btn',{attrs:{\"text\":\"\",\"disabled\":!_vm.deliverableSelected},on:{\"click\":function($event){return _vm.requestThemSign()}}},[_vm._v(\" \"+_vm._s(_vm.deliverableSelected ? 'Sign' : 'Select Package')+\" \")]):_vm._e(),(_vm.isUs)?_c('v-btn',{attrs:{\"text\":\"\",\"disabled\":\"\"}},[_vm._v(\" \"+_vm._s(_vm.$t('proposals.pending'))+\" \")]):_vm._e()],1)],1):_vm._e()],1):_vm._e(),(!_vm.isSigned)?_c('basic-modal',{attrs:{\"dialog\":_vm.doSign,\"persistent\":\"\"},on:{\"close\":function($event){_vm.doSign = false}}},[_c('signature-dialog',{attrs:{\"signature-object\":_vm.signatureObj,\"mode\":_vm.mode,\"client-mode\":_vm.clientMode},on:{\"cancel\":function($event){_vm.doSign = false},\"signed\":function($event){return _vm.finalizeSign($event)}}})],1):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"signature-dialog\"}},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.cancelSign()}}},[_c('v-icon',[_vm._v(\"$close\")])],1),_c('div',{staticClass:\"pa-4\"},[_c('div',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t('proposal.signature.signature')))]),_c('v-tabs',{attrs:{\"slider-size\":\"4\",\"slider-color\":\"blue_50\"},on:{\"change\":_vm.tabChanged}},[_c('v-tab',[_vm._v(_vm._s(_vm.$t('proposal.signature.type-signature')))]),_c('v-tab',[_vm._v(_vm._s(_vm.$t('proposal.signature.draw-signature')))]),_c('v-tab-item',[_c('div',{staticClass:\"signature-block mt-4 mb-3\",style:(_vm.signatureFont)},[_c('div',{staticClass:\"signature\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.textSignature),expression:\"textSignature\"}],staticClass:\"keyboardInput\",attrs:{\"placeholder\":\"Your Name Here\",\"type\":\"text\"},domProps:{\"value\":(_vm.textSignature)},on:{\"input\":function($event){if($event.target.composing)return;_vm.textSignature=$event.target.value}}})])]),_c('v-select',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('proposal.signature.signature-font'),\"items\":_vm.fonts},scopedSlots:_vm._u([{key:\"item\",fn:function(data){return [_c('span',{style:(`font-family: ${data.item}, cursive; font-size:30px`)},[_vm._v(_vm._s(_vm.$t('proposal.signature.signature')))])]}},{key:\"selection\",fn:function(data){return [_c('span',{style:(`font-family: ${data.item}, cursive; font-size:30px`)},[_vm._v(_vm._s(_vm.$t('proposal.signature.signature')))])]}}]),model:{value:(_vm.signatureObj.font),callback:function ($$v) {_vm.$set(_vm.signatureObj, \"font\", $$v)},expression:\"signatureObj.font\"}}),_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"disabled\":_vm.disableInput,\"label\":_vm.$t('proposal.signature.title')},model:{value:(_vm.signatureObj.signerTitle),callback:function ($$v) {_vm.$set(_vm.signatureObj, \"signerTitle\", $$v)},expression:\"signatureObj.signerTitle\"}})],1),_c('v-tab-item',[_c('div',{staticClass:\"signature-block mt-4 mb-3\"},[_c('div',{staticClass:\"instructions\"},[_vm._v(_vm._s(_vm.$t('proposal.signature.draw-in-box')))]),_c('div',{staticClass:\"signature\",style:('background-color: var(--v-gray_10-base);' + _vm.signatureFont)},[_c('vue-signature-pad',{ref:\"signaturePad\",attrs:{\"width\":\"476px\",\"height\":\"150px\"}})],1)]),_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"disabled\":_vm.disableInput,\"label\":\"Full Name\"},model:{value:(_vm.signatureObj.signerName),callback:function ($$v) {_vm.$set(_vm.signatureObj, \"signerName\", $$v)},expression:\"signatureObj.signerName\"}}),_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"disabled\":_vm.disableInput,\"label\":\"Title\"},model:{value:(_vm.signatureObj.signerTitle),callback:function ($$v) {_vm.$set(_vm.signatureObj, \"signerTitle\", $$v)},expression:\"signatureObj.signerTitle\"}})],1)],1)],1),_c('div',{staticClass:\"modal-footer\"},[_c('v-btn',{staticClass:\"secondary-action mr-1\",on:{\"click\":function($event){return _vm.cancelSign()}}},[_vm._v(_vm._s(_vm.$t('global.cancel')))]),_c('v-btn',{staticClass:\"super-action ml-1\",on:{\"click\":function($event){return _vm.confirmSign()}}},[_vm._v(_vm._s(_vm.$t('proposal.signature.sign-accept')))])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div id=\"signature-dialog\">\n\t\t<v-btn icon class=\"close-dialog\" @click=\"cancelSign()\">\n\t\t\t<v-icon>$close</v-icon>\n\t\t</v-btn>\n\n\t\t<div class=\"pa-4\">\n\t\t\t<div class=\"modal-title\">{{ $t('proposal.signature.signature') }}</div>\n\n\t\t\t<v-tabs @change=\"tabChanged\" slider-size=\"4\" slider-color=\"blue_50\">\n\t\t\t\t<v-tab>{{ $t('proposal.signature.type-signature') }}</v-tab>\n\t\t\t\t<v-tab>{{ $t('proposal.signature.draw-signature') }}</v-tab>\n\t\t\t\t<v-tab-item>\n\t\t\t\t\t<div class=\"signature-block mt-4 mb-3\" :style=\"signatureFont\">\n\t\t\t\t\t\t<div class=\"signature\">\n\t\t\t\t\t\t\t<input placeholder=\"Your Name Here\" v-model=\"textSignature\" type=\"text\" class=\"keyboardInput\" />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<v-select\n\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t:label=\"$t('proposal.signature.signature-font')\"\n\t\t\t\t\t\t:items=\"fonts\"\n\t\t\t\t\t\tv-model=\"signatureObj.font\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<template slot=\"item\" slot-scope=\"data\">\n\t\t\t\t\t\t\t<span :style=\"`font-family: ${data.item}, cursive; font-size:30px`\">{{ $t('proposal.signature.signature') }}</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t\t<template slot=\"selection\" slot-scope=\"data\">\n\t\t\t\t\t\t\t<span :style=\"`font-family: ${data.item}, cursive; font-size:30px`\">{{ $t('proposal.signature.signature') }}</span>\n\t\t\t\t\t\t</template>\n\t\t\t\t\t</v-select>\n\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t:disabled=\"disableInput\"\n\t\t\t\t\t\tv-model=\"signatureObj.signerTitle\"\n\t\t\t\t\t\t:label=\"$t('proposal.signature.title')\"\n\t\t\t\t\t></v-text-field>\n\t\t\t\t</v-tab-item>\n\n\t\t\t\t<v-tab-item>\n\t\t\t\t\t<div class=\"signature-block mt-4 mb-3\">\n\t\t\t\t\t\t<div class=\"instructions\">{{ $t('proposal.signature.draw-in-box') }}</div>\n\t\t\t\t\t\t<div class=\"signature\" :style=\"'background-color: var(--v-gray_10-base);' + signatureFont\">\n\t\t\t\t\t\t\t<vue-signature-pad width=\"476px\" height=\"150px\" ref=\"signaturePad\"></vue-signature-pad>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t:disabled=\"disableInput\"\n\t\t\t\t\t\tv-model=\"signatureObj.signerName\"\n\t\t\t\t\t\tlabel=\"Full Name\"\n\t\t\t\t\t></v-text-field>\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t:disabled=\"disableInput\"\n\t\t\t\t\t\tv-model=\"signatureObj.signerTitle\"\n\t\t\t\t\t\tlabel=\"Title\"\n\t\t\t\t\t></v-text-field>\n\t\t\t\t</v-tab-item>\n\t\t\t</v-tabs>\n\t\t</div>\n\n\t\t<div class=\"modal-footer\">\n\t\t\t<v-btn class=\"secondary-action mr-1\" @click=\"cancelSign()\">{{ $t('global.cancel') }}</v-btn>\n\t\t\t<v-btn class=\"super-action ml-1\" @click=\"confirmSign()\">{{ $t('proposal.signature.sign-accept') }}</v-btn>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'SignatureDialog',\n\n\t\tprops: ['proposalService', 'signatureObject', 'mode', 'clientMode'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tsignatureObj: this.signatureObject,\n\t\t\t\tsignatureType: 'Keyboard',\n\t\t\t\tfontMenu: false,\n\t\t\t\ttextSignature: null,\n\n\t\t\t\tfonts: ['Arizonia', 'Charmonman', 'Herr Von Muellerhoff', 'Reenie Beanie'],\n\n\t\t\t\ttinyMceConfig: {\n\t\t\t\t\tmenubar: false,\n\t\t\t\t\tinline: true,\n\t\t\t\t\tplugins: [],\n\t\t\t\t\ttoolbar: [],\n\t\t\t\t\tforced_root_block: '',\n\t\t\t\t\tsetup: function(ed) {\n\t\t\t\t\t\ted.on('keyDown', function(event) {\n\t\t\t\t\t\t\tif (event.keyCode == 13) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\ttabChanged: function(tabNumber) {\n\t\t\t\tif (tabNumber === 0) {\n\t\t\t\t\tthis.signatureType = 'Keyboard';\n\t\t\t\t} else {\n\t\t\t\t\tthis.signatureType = 'Pad';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcancelSign: function() {\n\t\t\t\tif (this.$refs.signatureEditor) {\n\t\t\t\t\tthis.$refs.signatureEditor.editor.setContent('');\n\t\t\t\t}\n\n\t\t\t\tif (this.$refs.signaturePad) {\n\t\t\t\t\tthis.$refs.signaturePad.clearSignature();\n\t\t\t\t}\n\n\t\t\t\tthis.$emit('cancel');\n\t\t\t},\n\n\t\t\tconfirmSign: function() {\n\t\t\t\tif (this.signatureType === 'Keyboard') {\n\t\t\t\t\tlet keyboardSignature = this.textSignature;\n\n\t\t\t\t\tif (this.$validations.isEmpty(keyboardSignature)) {\n\t\t\t\t\t\tthis.$store.commit('error', this.$t('error.signature'));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!this.signatureObj.signerLocked) {\n\t\t\t\t\t\tthis.signatureObj.signerName = keyboardSignature;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.signatureObj.type = 'Keyboard';\n\t\t\t\t\tthis.signatureObj.signature = keyboardSignature;\n\t\t\t\t} else {\n\t\t\t\t\tlet svgSignature = this.$refs.signaturePad.saveSignature('image/svg+xml');\n\n\t\t\t\t\tif (svgSignature.isEmpty) {\n\t\t\t\t\t\tthis.$store.commit('error', this.$t('error.signature'));\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet tmpSignature = atob(svgSignature.data.split(',')[1]);\n\t\t\t\t\ttmpSignature = tmpSignature.replace('height', 'invalidate-height');\n\t\t\t\t\ttmpSignature = tmpSignature.replace('width', 'invalidate-width');\n\n\t\t\t\t\tthis.signatureObj.type = 'Pad';\n\t\t\t\t\tthis.signatureObj.signature = btoa(tmpSignature);\n\t\t\t\t}\n\n\t\t\t\tthis.signatureObj.dts = this.$DateTime.utc().toISO();\n\t\t\t\tthis.finalizeSign();\n\t\t\t},\n\n\t\t\tfinalizeSign() {\n\t\t\t\tthis.$emit('signed', this.signatureObj);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tsignatureFont: function() {\n\t\t\t\treturn `font-family: ${this.signatureObj.font}, cursive;`;\n\t\t\t},\n\n\t\t\tdisableInput: function() {\n\t\t\t\tif (this.mode === 'them' && this.clientMode === true && this.signatureObj.signerLocked) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t#signature-dialog {\n\t\tbackground-color: var(--v-white-base);\n    max-width: 580px;\n\t\t.v-slide-group__content.v-tabs-bar__content {\n\t\t\tborder-bottom: 1px solid var(--v-gray_50-base) !important;\n\t\t}\n\t\t.signature-block {\n\t\t\tbackground-color: var(--v-gray_20-base);\n\t\t\tborder-radius: 4px;\n\t\t\tborder: 1px solid var(--v-gray_50-base);\n\t\t\theight: 224px;\n\t\t\tdisplay: flex;\n\t\t\talign-items: center;\n\t\t\tjustify-content: center;\n\t\t\t> div.signature {\n\t\t\t\tfont-size: 40px;\n\t\t\t\tborder-bottom: 1px solid var(--v-gray_50-base);\n\t\t\t}\n\t\t\tposition: relative;\n\t\t\t.instructions {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 4px;\n\t\t\t\tleft: 8px;\n        font-weight: 500;\n        font-size: 12px;\n\t\t\t}\n\t\t}\n\t\t.keyboardInput {\n\t\t\twidth: 337px;\n\t\t\toutline: none;\n\t\t\ttext-align: center;\n\t\t}\n\n\t\t.v-tab {\n\t\t\ttext-transform: none;\n\t\t\tbackground-color: transparent;\n\t\t\t&:hover {\n\t\t\t\tbackground-color: transparent;\n\t\t\t}\n\t\t}\n\t\t.v-tab--active {\n\t\t\tbackground-color: var(--v-white-base) !important;\n\t\t\tborder: none;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignatureDialog.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignatureDialog.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SignatureDialog.vue?vue&type=template&id=62ae11c9\"\nimport script from \"./SignatureDialog.vue?vue&type=script&lang=js\"\nexport * from \"./SignatureDialog.vue?vue&type=script&lang=js\"\nimport style0 from \"./SignatureDialog.vue?vue&type=style&index=0&id=62ae11c9&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTab } from 'vuetify/lib/components/VTabs';\nimport { VTabItem } from 'vuetify/lib/components/VTabs';\nimport { VTabs } from 'vuetify/lib/components/VTabs';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VIcon,VSelect,VTab,VTabItem,VTabs,VTextField})\n","<template>\n\t<div :class=\"signatureContainerCss\">\n\t\t<v-container fluid fill-height class=\"pa-0 ma-0\">\n\t\t\t<v-row v-if=\"isSigned\">\n\t\t\t\t<v-col cols=\"12\">\n\t\t\t\t\t<div class=\"signatureWrapper\" v-if=\"shouldRenderKeyboard\" :style=\"signatureFont\">\n\t\t\t\t\t\t<div class=\"signature\">{{ signatureObj.signature }}</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div v-if=\"shouldRenderPad\" class=\"svgSignature\">\n\t\t\t\t\t\t<div v-html=\"svgSignature\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</v-col>\n\t\t\t</v-row>\n\n\t\t\t<div v-if=\"!isSigned\" style=\"width: 100%;\">\n\t\t\t\t<div v-if=\"isApp\" style=\"width: 100%;\">\n\t\t\t\t\t<v-row v-if=\"setSigner\">\n\t\t\t\t\t\t<v-col cols=\"12\" style=\"display: flex; flex-direction: row;\">\n\t\t\t\t\t\t\t<div style=\"display: flex; flex-direction: column; width: 90%;\" class=\"ml-2\">\n\t\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\t\t:label=\"$t('proposal.name')\"\n\t\t\t\t\t\t\t\t\tv-model=\"signerName\"\n\t\t\t\t\t\t\t\t\t:hide-details=\"true\"\n\t\t\t\t\t\t\t\t\tstyle=\"font-size: 0.9em;\"\n\t\t\t\t\t\t\t\t\t@keypress.native.enter=\"saveSignerInfo()\"\n\t\t\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\t\t:label=\"$t('proposal.title')\"\n\t\t\t\t\t\t\t\t\tv-model=\"signerTitle\"\n\t\t\t\t\t\t\t\t\t:hide-details=\"true\"\n\t\t\t\t\t\t\t\t\tstyle=\"font-size: 0.9em;\"\n\t\t\t\t\t\t\t\t\t@keypress.native.enter=\"saveSignerInfo()\"\n\t\t\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</v-col>\n\t\t\t\t\t</v-row>\n\n\t\t\t\t\t<v-row v-if=\"!setSigner\">\n\t\t\t\t\t\t<v-col cols=\"12\" class=\"pa-0 ma-0\" align=\"center\">\n\t\t\t\t\t\t\t<v-btn v-if=\"isThem && !editMode\" :disabled=\"true\" text>\n\t\t\t\t\t\t\t\t{{ $t('proposals.pending') }}\n\t\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t\t<v-btn v-if=\"isThem && editMode\" text @click=\"setSignerInfo()\" :disabled=\"templateMode\">\n\t\t\t\t\t\t\t\t{{ this.signatureObj.signerLocked ? 'Change signatory' : 'Set signatory (optional)' }}\n\t\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t\t<v-btn v-if=\"isUs\" text @click=\"doSign = true\" :disabled=\"templateMode\">\n\t\t\t\t\t\t\t\t{{ editMode ? 'Sign before sending' : 'Sign' }}\n\t\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t</v-col>\n\t\t\t\t\t</v-row>\n\t\t\t\t</div>\n\n\t\t\t\t<v-row v-if=\"isPortal\">\n\t\t\t\t\t<v-col cols=\"12\" class=\"pa-0 ma-0\">\n\t\t\t\t\t\t<v-btn v-if=\"isThem\" text @click=\"requestThemSign()\" :disabled=\"!deliverableSelected\">\n\t\t\t\t\t\t\t{{ deliverableSelected ? 'Sign' : 'Select Package' }}\n\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t<v-btn v-if=\"isUs\" text disabled>\n\t\t\t\t\t\t\t{{ $t('proposals.pending') }}\n\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t</v-col>\n\t\t\t\t</v-row>\n\t\t\t</div>\n\n\t\t\t<basic-modal v-if=\"!isSigned\" :dialog=\"doSign\" persistent @close=\"doSign = false\">\n\t\t\t\t<signature-dialog\n\t\t\t\t\t:signature-object=\"signatureObj\"\n\t\t\t\t\t:mode=\"mode\"\n\t\t\t\t\t:client-mode=\"clientMode\"\n\t\t\t\t\t@cancel=\"doSign = false\"\n\t\t\t\t\t@signed=\"finalizeSign($event)\"\n\t\t\t\t></signature-dialog>\n\t\t\t</basic-modal>\n\t\t</v-container>\n\t</div>\n</template>\n\n<script>\n\timport SignatureDialog from './SignatureDialog';\n\timport BasicModal from '@/components/BasicModal';\n\n\texport default {\n\t\tname: 'Signature',\n\n\t\tprops: ['signature', 'mode', 'clientMode', 'editMode', 'templateMode', 'deliverableSelected'],\n\n\t\tcomponents: {\n\t\t\tSignatureDialog,\n\t\t\tBasicModal,\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tsignatureObj: null,\n\t\t\t\tdoSign: false,\n\t\t\t\tsetSigner: false,\n\t\t\t\tsignerName: null,\n\t\t\t\tsignerTitle: null,\n\t\t\t\tsignatureType: 'Keyboard',\n\t\t\t};\n\t\t},\n\n\t\tcreated() {\n\t\t\tthis.signatureObj = this.signature;\n\t\t\tthis.signerName = this.signatureObj.signerName;\n\t\t\tthis.signerTitle = this.signatureObj.signerTitle;\n\t\t},\n\n\t\tmethods: {\n\t\t\tsetSignerInfo() {\n\t\t\t\tif (this.templateMode) return;\n\t\t\t\tthis.setSigner = true;\n\t\t\t\tthis.$emit('set-signer');\n\t\t\t},\n\n      requestThemSign: function(){\n        this.$emit('request-them-sign');\n      },\n\n      allowThemSign: function(){\n        this.doSign = true;\n      },\n\n\t\t\tcancelSignerInfo() {\n\t\t\t\tthis.signerName = this.signatureObj.signerName;\n\t\t\t\tthis.signerTitle = this.signatureObj.signerTitle;\n\t\t\t\tthis.setSigner = false;\n\t\t\t},\n\n\t\t\tsaveSignerInfo() {\n\t\t\t\tthis.signatureObj.signerName = this.signerName;\n\t\t\t\tthis.signatureObj.signerTitle = this.signerTitle;\n\n\t\t\t\tif (this.$validations.isEmpty(this.signerName) && this.$validations.isEmpty(this.signerTitle)) {\n\t\t\t\t\tthis.signatureObj.signerLocked = false;\n\t\t\t\t} else {\n\t\t\t\t\tthis.signatureObj.signerLocked = true;\n\t\t\t\t}\n\n\t\t\t\tthis.setSigner = false;\n\t\t\t\tthis.$emit('signer-info', this.signatureObj);\n\t\t\t},\n\n\t\t\tfinalizeSign(signatureObj) {\n\t\t\t\tthis.signatureObj = signatureObj;\n\t\t\t\tthis.$emit('signed', this.signatureObj);\n\t\t\t\tthis.doSign = false;\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tisUs: function() {\n\t\t\t\treturn this.mode === 'us';\n\t\t\t},\n\n\t\t\tisThem: function() {\n\t\t\t\treturn this.mode === 'them';\n\t\t\t},\n\n\t\t\tisApp: function() {\n\t\t\t\tif (this.clientMode === false) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tisPortal: function() {\n\t\t\t\tif (this.clientMode === true) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tisSigned: function() {\n\t\t\t\treturn this.shouldRenderKeyboard || this.shouldRenderPad;\n\t\t\t},\n\n\t\t\tsignatureFont: function() {\n\t\t\t\treturn `font-family: ${this.signatureObj.font}, cursive;`;\n\t\t\t},\n\n\t\t\tshouldRenderKeyboard: function() {\n\t\t\t\tif (this.signatureObj.type === 'Keyboard' && !this.$validations.isEmpty(this.signatureObj.signature)) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tshouldRenderPad: function() {\n\t\t\t\tif (this.signatureObj.type === 'Pad' && !this.$validations.isEmpty(this.signatureObj.signature)) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsvgSignature: function() {\n\t\t\t\tif (this.signatureObj.type === 'Pad') {\n\t\t\t\t\treturn atob(this.signatureObj.signature);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsignatureContainerCss: function() {\n\t\t\t\tif (!this.isSigned && !this.setSigner) {\n\t\t\t\t\treturn 'signatureContainer signatureContainerBorder' + (this.templateMode ? ' templateMode' : '');\n\t\t\t\t} else {\n\t\t\t\t\treturn 'signatureContainer' + (this.templateMode ? ' templateMode' : '');\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n\t\t\teditMode: function(newVal) {\n\t\t\t\tif (newVal === false) {\n\t\t\t\t\tthis.setSigner = false;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.signatureContainer {\n\t\theight: 120px;\n\t\twidth: 100%;\n\t}\n\n\t.templateMode {\n\t\topacity: 0.7;\n\t}\n\n\t.signatureContainerBorder {\n\t\tborder: 2px solid var(--v-primary-base);\n\t\tborder-radius: 8px;\n\t\t&.templateMode {\n\t\t\tborder: 2px solid var(--v-gray_50-base);\n\t\t}\n\t}\n\n\t.signatureWrapper {\n\t\tmargin-left: 20px;\n\t\tfont-size: 35px;\n\t\theight: 100px;\n\t\tposition: relative;\n\t}\n\n\t.signature {\n\t\tposition: absolute;\n\t\tbottom: 20px;\n\t\tleft: 0px;\n\t}\n\n\t.svgSignature {\n\t\theight: 120px;\n\t}\n\n\t.signButtons {\n\t\tmargin-left: 10px;\n\t}\n\n\t.v-text-field {\n\t\tfont-size: 30px;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Signature.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Signature.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Signature.vue?vue&type=template&id=709bf016&scoped=true\"\nimport script from \"./Signature.vue?vue&type=script&lang=js\"\nexport * from \"./Signature.vue?vue&type=script&lang=js\"\nimport style0 from \"./Signature.vue?vue&type=style&index=0&id=709bf016&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"709bf016\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCol,VContainer,VRow,VTextField})\n","<template>\n\t<v-container fluid class=\"pa-0 ma-0 selector_signature\" style=\"text-align: left\">\n\t\t<v-row>\n\t\t\t<v-col cols=\"12\">\n\t\t\t\t<span :style=\"headerStyle\">\n\t\t\t\t\t<span v-html=\"lHeader\" v-if=\"!editMode\"></span>\n\t\t\t\t\t<editor\n\t\t\t\t\t\tref=\"headerEditor\"\n\t\t\t\t\t\tv-if=\"editMode\"\n\t\t\t\t\t\tclass=\"grey-dots\"\n\t\t\t\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t\t\t\t:initial-value=\"lHeader\"\n\t\t\t\t\t\t:inline=\"true\"\n\t\t\t\t\t\t:init=\"mceConfigHeader\"\n\t\t\t\t\t\t@input=\"handleHeaderInput\"\n\t\t\t\t\t></editor>\n\t\t\t\t</span>\n\t\t\t</v-col>\n\t\t</v-row>\n\n    <v-row :style=\"fontStyle\">\n      <v-col cols=\"12\" sm=\"6\" class=\"\">\n\t\t\t\t<div style=\"display: flex\">\n\t\t\t\t<span class=\"label-wrapper font-14\"> {{ account ? account.accountName : templateAccountName }}</span>\n\t\t\t\t</div>\n        <signature\n            align=\"center\"\n            ref=\"us\"\n            :signature=\"us\"\n            @signed=\"signedUs\"\n            mode=\"us\"\n            :edit-mode=\"editMode\"\n            :client-mode=\"clientMode\"\n            :template-mode=\"templateMode\"\n            :deliverable-selected=\"areDeliverablesSelected\"\n        ></signature>\n          <div style=\"text-align: left\" class=\"column-format\">\n            <div style=\"font-weight: bold\">{{ us.signerName }}</div>\n            <div>{{ us.signerTitle }}</div>\n          </div>\n          <div class=\"ipBlock\" v-if=\"us.ip.ip\">\n            {{ $t('proposals.country') }}: <img :src=\"us.ip.countryFlag\" width=\"15px\" /><br />\n            {{ $t('proposals.ip') }}: {{ us.ip.ip }}<br />\n            {{ $t('proposals.location') }}: {{ us.ip.city }}, {{ us.ip.region }}, {{ us.ip.country }}<br />\n          </div>\n          <div v-if=\"us.dts\" class=\"ipBlock\">\n            {{ DateTime.fromISO(us.dts).toLocaleString(DateTime.DATETIME_FULL) }}\n          </div>\n      </v-col>\n\n      <v-col cols=\"12\" sm=\"6\"  class=\"\">\n        <div style=\"display: flex\">\n          <span class=\"label-wrapper truncate font-14\">{{ client ? client.name : templateClientName }}</span>\n          <div style=\"margin-left: auto\" v-if=\"settingSigner === true\">\n            <v-icon small color=\"green\" @click.native=\"saveSignerInfo()\" style=\"cursor: pointer\">$success</v-icon>\n            <v-icon small color=\"grey\" @click.native=\"cancelSignerInfo()\" style=\"cursor: pointer\">$cancel </v-icon>\n          </div>\n        </div>\n        <signature\n            align=\"center\"\n            ref=\"them\"\n            :signature=\"them\"\n            @signed=\"signedThem\"\n            @signer-info=\"signerInfoUpdated\"\n            @set-signer=\"settingSigner = true\"\n            @request-them-sign=\"requestThemSign\"\n            mode=\"them\"\n            :edit-mode=\"editMode\"\n            :client-mode=\"clientMode\"\n            :template-mode=\"templateMode\"\n            :deliverable-selected=\"areDeliverablesSelected\"\n        ></signature>\n          <div style=\"text-align: left\" class=\"column-format\" v-if=\"!settingSigner && (themSignerName || themSignerTitle)\">\n            <div style=\"font-weight: bold\">{{ this.them.signerName }}</div>\n            <div>{{ this.them.signerTitle }}</div>\n          </div>\n\n          <div class=\"ipBlock\" v-if=\"them.ip.ip\">\n            {{ $t('proposals.country') }} <img :src=\"them.ip.countryFlag\" width=\"15px\" /><br />\n            {{ $t('proposals.ip') }}: {{ them.ip.ip }}<br />\n            {{ $t('proposals.location') }}: {{ them.ip.city }}, {{ them.ip.region }}, {{ them.ip.country }}<br />\n          </div>\n          <div v-if=\"them.dts\" class=\"ipBlock\">\n            {{ DateTime.fromISO(them.dts).toLocaleString(DateTime.DATETIME_FULL) }}\n          </div>\n          <v-btn v-if=\"cardPaymentFailed\" class=\"my-3\" large block color=\"primary\" @click=\"requestThemSign\">Resubmit Payment</v-btn>\n      </v-col>\n    </v-row>\n\n\t</v-container>\n</template>\n\n<script>\n\timport Signature from './Signature';\n\timport {DateTime} from 'luxon';\n\n\texport default {\n\t\tname: 'SignatureBlock',\n\n\t\tprops: [\n\t\t\t'id',\n\t\t\t'header',\n\t\t\t'blockType',\n\t\t\t'editMode',\n\t\t\t'them',\n\t\t\t'us',\n\t\t\t'mceConfigHeader',\n\t\t\t'clientMode',\n\t\t\t'headerStyle',\n\t\t\t'formatting',\n\t\t\t'deliverableSelected',\n      'forceAllDeliverables',\n\t\t\t'templateMode',\n\t\t\t'account',\n\t\t\t'client',\n      'cardPaymentFailed',\n      'isLocked',\n\t\t],\n\n\t\tcomponents: {\n\t\t\tSignature,\n\t\t\teditor: () => import(/* webpackChunkName: \"tinymce\" */ '@tinymce/tinymce-vue'),\n\t\t},\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tlHeader: this.header,\n\t\t\t\t// lUs: JSON.parse(JSON.stringify(this.us)),\n\t\t\t\t// lThem: JSON.parse(JSON.stringify(this.them)),\n\t\t\t\tlUs: this.us,\n\t\t\t\tlThem: this.them,\n\t\t\t\tsettingSigner: false,\n\t\t\t\ttemplateAccountName: \"{{MyBusinessName}}\",\n\t\t\t\ttemplateClientName: \"{{Client.Name}}\",\n\t\t\t\tDateTime: DateTime,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tmethods: {\n\t\t\tnotifyChange: function () {\n\t\t\t\tthis.$emit('changed', {\n\t\t\t\t\tid: this.id,\n\t\t\t\t\tblockType: this.blockType,\n\t\t\t\t\theader: this.lHeader,\n\t\t\t\t\tus: this.lUs,\n\t\t\t\t\tthem: this.lThem,\n\t\t\t\t});\n\t\t\t},\n\n      requestThemSign: function(){\n        this.$emit('request-them-sign');\n      },\n\n      allowThemSign: function(){\n        if(this.isLocked){\n          this.notifyChange();\n        }else{\n          this.$refs.them.allowThemSign();\n        }\n      },\n\n\t\t\tsaveSignerInfo: function () {\n\t\t\t\tthis.settingSigner = false;\n\t\t\t\tthis.$refs.them.saveSignerInfo();\n\t\t\t},\n\n\t\t\tcancelSignerInfo: function () {\n\t\t\t\tthis.settingSigner = false;\n\t\t\t\tthis.$refs.them.cancelSignerInfo();\n\t\t\t},\n\n\t\t\tsignerInfoUpdated: function (signatureObj) {\n\t\t\t\tthis.settingSigner = false;\n\t\t\t\tthis.lThem = signatureObj;\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\thandleHeaderInput: function () {\n\t\t\t\tthis.lHeader = this.$refs.headerEditor.editor.getContent();\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\tsignedUs: function (signatureObj) {\n\t\t\t\tthis.lUs = signatureObj;\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\tsignedThem: function (signatureObj) {\n\t\t\t\tthis.lThem = signatureObj;\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n      areDeliverablesSelected: function(){\n        return this.deliverableSelected || this.forceAllDeliverables;\n      },\n\n\t\t\tfontStyle: function () {\n\t\t\t\treturn `font-family: ${this.formatting.bodyFont}`;\n\t\t\t},\n\n\t\t\tthemSignerName: function () {\n\t\t\t\treturn !this.$validations.isEmpty(this.them.signerName);\n\t\t\t},\n\n\t\t\tthemSignerTitle: function () {\n\t\t\t\treturn !this.$validations.isEmpty(this.them.signerTitle);\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n\t\t\tus: function (newVal) {\n\t\t\t\tthis.lUs = newVal;\n\t\t\t},\n\n\t\t\tthem: function (newVal) {\n\t\t\t\tthis.lThem = newVal;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.ipBlock {\n\t\ttext-align: left;\n\t\tcolor: darkgray;\n\t\tfont-size: 0.7em;\n\t}\n</style>\n\n<style lang=\"scss\">\n\t.selector_signature {\n\t\t.label-wrapper {\n\t\t\t.v-input {\n\t\t\t\t:not(.v-input--is-focussed) {\n\t\t\t\t\t&::before {\n\t\t\t\t\t\tborder: none;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t.v-input__control .v-input__slot .v-text-field__slot {\n\t\t\t\t\tinput {\n\t\t\t\t\t\tfont-size: 16px !important;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignatureBlock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignatureBlock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SignatureBlock.vue?vue&type=template&id=011af6e6&scoped=true\"\nimport script from \"./SignatureBlock.vue?vue&type=script&lang=js\"\nexport * from \"./SignatureBlock.vue?vue&type=script&lang=js\"\nimport style0 from \"./SignatureBlock.vue?vue&type=style&index=0&id=011af6e6&prod&scoped=true&lang=scss\"\nimport style1 from \"./SignatureBlock.vue?vue&type=style&index=1&id=011af6e6&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"011af6e6\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VIcon,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"pa-0 ma-0 selector_files\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{style:(_vm.headerStyle),attrs:{\"cols\":\"12\"}},[(!_vm.editMode)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.lHeader)}}):_vm._e(),(_vm.editMode)?_c('editor',{ref:\"headerEditor\",staticClass:\"grey-dots\",attrs:{\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.lHeader,\"inline\":true,\"init\":_vm.mceConfigHeader},on:{\"input\":_vm.handleHeaderInput}}):_vm._e()],1),_c('v-col',{staticStyle:{\"text-align\":\"left\"},attrs:{\"cols\":\"12\"}},[_c('span',{style:(_vm.bodyStyle)},[(!_vm.editMode)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.lText)}}):_vm._e(),(_vm.editMode)?_c('editor',{ref:\"textEditor\",staticClass:\"grey-dots\",attrs:{\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.lText,\"inline\":true,\"init\":_vm.mceConfigText},on:{\"input\":_vm.handleTextInput}}):_vm._e()],1)]),_c('v-col',{staticClass:\"px-0 mx-0\",attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"fileWrapper\"},_vm._l((this.localFiles),function(file){return _c('div',{key:file.fileName,staticClass:\"fileContainer\"},[_c('v-icon',{attrs:{\"size\":\"48\"},on:{\"click\":function($event){return _vm.downloadFile(file)}}},[_vm._v(_vm._s(_vm.iconName(file)))]),_c('div',{staticClass:\"font-14\"},[_vm._v(_vm._s(file.fileName))]),(_vm.editMode)?_c('div',{staticClass:\"deleteButton\"},[_c('v-btn',{staticClass:\"deleteIcon\",attrs:{\"icon\":\"\",\"color\":\"gray_50\"},on:{\"click\":function($event){return _vm.confirmDeleteFile(file)}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$delete\")])],1)],1):_vm._e()],1)}),0)])],1),(_vm.editMode)?_c('v-row',[_c('v-col',{staticClass:\"mx-0 px-0\",attrs:{\"cols\":\"12\"}},[_c('vue-dropzone',{ref:\"fileDropzone\",attrs:{\"id\":\"dropzone\",\"use-custom-slot\":true,\"options\":_vm.dropzoneOptions},on:{\"vdropzone-success\":_vm.uploadSuccess,\"vdropzone-error\":_vm.uploadFailure,\"vdropzone-sending\":_vm.addFileUploadAuthHeader}},[_c('div',[_c('v-icon',[_vm._v(\"$vuetify.icons.upload\")]),_c('span',{staticClass:\"ml-2\",staticStyle:{\"font-size\":\"0.8em\"}},[_vm._v(_vm._s(_vm.$t('proposal.files.upload')))])],1)])],1)],1):_vm._e(),_c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"290\"},model:{value:(_vm.confirmDelete),callback:function ($$v) {_vm.confirmDelete=$$v},expression:\"confirmDelete\"}},[_c('v-card',{staticClass:\"brand-regular\"},[_c('v-card-text',{staticClass:\"pt-4\"},[_vm._v(_vm._s(_vm.$t('proposal.files.delete')))]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"green darken-1\",\"text\":\"\"},on:{\"click\":function($event){return _vm.cancelDeleteFile()}}},[_vm._v(_vm._s(_vm.$t('global.no')))]),_c('v-btn',{attrs:{\"color\":\"red darken-1\",\"text\":\"\"},on:{\"click\":function($event){return _vm.deleteFile()}}},[_vm._v(_vm._s(_vm.$t('global.yes')))])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<v-container fluid class=\"pa-0 ma-0 selector_files\">\n\t\t<v-row>\n\t\t\t<v-col cols=\"12\" :style=\"headerStyle\">\n\t\t\t\t<span v-html=\"lHeader\" v-if=\"!editMode\"></span>\n\t\t\t\t<editor\n\t\t\t\t\tref=\"headerEditor\"\n\t\t\t\t\tv-if=\"editMode\"\n\t\t\t\t\tclass=\"grey-dots\"\n\t\t\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t\t\t:initial-value=\"lHeader\"\n\t\t\t\t\t:inline=\"true\"\n\t\t\t\t\t:init=\"mceConfigHeader\"\n\t\t\t\t\t@input=\"handleHeaderInput\"\n\t\t\t\t></editor>\n\t\t\t</v-col>\n\t\t\t<v-col cols=\"12\" style=\"text-align: left;\">\n\t\t\t\t<span :style=\"bodyStyle\">\n\t\t\t\t\t<span v-html=\"lText\" v-if=\"!editMode\"></span>\n\t\t\t\t\t<editor\n\t\t\t\t\t\tref=\"textEditor\"\n\t\t\t\t\t\tv-if=\"editMode\"\n\t\t\t\t\t\tclass=\"grey-dots\"\n\t\t\t\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t\t\t\t:initial-value=\"lText\"\n\t\t\t\t\t\t:inline=\"true\"\n\t\t\t\t\t\t:init=\"mceConfigText\"\n\t\t\t\t\t\t@input=\"handleTextInput\"\n\t\t\t\t\t></editor>\n\t\t\t\t</span>\n\t\t\t</v-col>\n\t\t\t<v-col cols=\"12\" class=\"px-0 mx-0\">\n\t\t\t\t<div class=\"fileWrapper\">\n\t\t\t\t\t<div class=\"fileContainer\" v-for=\"file in this.localFiles\" :key=\"file.fileName\">\n\t\t\t\t\t\t<!--\t\t\t\t\t\t<v-img-->\n\t\t\t\t\t\t<!--\t\t\t\t\t\t\tcontain-->\n\t\t\t\t\t\t<!--\t\t\t\t\t\t\t:src=\"file.fileIconUrl\"-->\n\t\t\t\t\t\t<!--\t\t\t\t\t\t\twidth=\"100\"-->\n\t\t\t\t\t\t<!--\t\t\t\t\t\t\t@click=\"downloadFile(file)\"-->\n\t\t\t\t\t\t<!--\t\t\t\t\t\t\tstyle=\"cursor: pointer;\"-->\n\t\t\t\t\t\t<!--\t\t\t\t\t\t></v-img>-->\n\t\t\t\t\t\t<v-icon size=\"48\" @click=\"downloadFile(file)\">{{ iconName(file) }}</v-icon>\n\t\t\t\t\t\t<div class=\"font-14\">{{ file.fileName }}</div>\n\t\t\t\t\t\t<div v-if=\"editMode\" class=\"deleteButton\">\n\t\t\t\t\t\t\t<v-btn @click=\"confirmDeleteFile(file)\" icon color=\"gray_50\" class=\"deleteIcon\">\n\t\t\t\t\t\t\t\t<v-icon size=\"20\">$delete</v-icon>\n\t\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</v-col>\n\t\t</v-row>\n\t\t<v-row v-if=\"editMode\">\n\t\t\t<v-col cols=\"12\" class=\"mx-0 px-0\">\n\t\t\t\t<vue-dropzone\n\t\t\t\t\tref=\"fileDropzone\"\n\t\t\t\t\tid=\"dropzone\"\n\t\t\t\t\tv-on:vdropzone-success=\"uploadSuccess\"\n\t\t\t\t\tv-on:vdropzone-error=\"uploadFailure\"\n\t\t\t\t\tv-on:vdropzone-sending=\"addFileUploadAuthHeader\"\n\t\t\t\t\t:use-custom-slot=\"true\"\n\t\t\t\t\t:options=\"dropzoneOptions\"\n\t\t\t\t>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<v-icon>$vuetify.icons.upload</v-icon>\n\t\t\t\t\t\t<span class=\"ml-2\" style=\"font-size: 0.8em;\">{{ $t('proposal.files.upload') }}</span>\n\t\t\t\t\t</div>\n\t\t\t\t</vue-dropzone>\n\t\t\t</v-col>\n\t\t</v-row>\n\t\t<v-dialog v-model=\"confirmDelete\" persistent max-width=\"290\">\n\t\t\t<v-card class=\"brand-regular\">\n\t\t\t\t<v-card-text class=\"pt-4\">{{ $t('proposal.files.delete') }}</v-card-text>\n\t\t\t\t<v-card-actions>\n\t\t\t\t\t<v-spacer></v-spacer>\n\t\t\t\t\t<v-btn color=\"green darken-1\" text @click=\"cancelDeleteFile()\">{{ $t('global.no') }}</v-btn>\n\t\t\t\t\t<v-btn color=\"red darken-1\" text @click=\"deleteFile()\">{{ $t('global.yes') }}</v-btn>\n\t\t\t\t</v-card-actions>\n\t\t\t</v-card>\n\t\t</v-dialog>\n\t</v-container>\n</template>\n\n<script>\n\timport vueDropzone from 'vue2-dropzone';\n\timport 'vue2-dropzone/dist/vue2Dropzone.min.css';\n\timport axios from 'axios';\n\n\texport default {\n\t\tname: 'Files',\n\n\t\tprops: [\n\t\t\t'header',\n\t\t\t'text',\n\t\t\t'files',\n\t\t\t'id',\n\t\t\t'editMode',\n\t\t\t'clientId',\n\t\t\t'proposalId',\n\t\t\t'mceConfigHeader',\n\t\t\t'mceConfigText',\n\t\t\t'blockType',\n\t\t\t'proposalService',\n\t\t\t'headerStyle',\n\t\t\t'bodyStyle',\n\t\t\t'templateMode',\n\t\t\t'templateService',\n\t\t],\n\n\t\tcomponents: {\n\t\t\tvueDropzone,\n\t\t\teditor: () => import(/* webpackChunkName: \"tinymce\" */ '@tinymce/tinymce-vue'),\n\t\t},\n\n\t\tmounted() {\n\t\t\tconsole.log(this.files);\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tlocalFiles: JSON.parse(JSON.stringify(this.files)),\n\t\t\t\tfileToDelete: null,\n\t\t\t\tconfirmDelete: false,\n\t\t\t\tlHeader: this.header,\n\t\t\t\tlText: this.text,\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\tnotifyChange: function() {\n\t\t\t\tthis.$emit('changed', {\n\t\t\t\t\tid: this.id,\n\t\t\t\t\tblockType: this.blockType,\n\t\t\t\t\theader: this.lHeader,\n\t\t\t\t\ttext: this.lText,\n\t\t\t\t\tfiles: this.localFiles,\n\t\t\t\t});\n\t\t\t},\n\n\t\t\thandleHeaderInput: function() {\n\t\t\t\tthis.lHeader = this.$refs.headerEditor.editor.getContent();\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\thandleTextInput: function() {\n\t\t\t\tthis.lText = this.$refs.textEditor.editor.getContent();\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\tremoveFileByName: function(fileName) {\n\t\t\t\tfor (let i = 0; i < this.localFiles.length; i++) {\n\t\t\t\t\tif (this.localFiles[i].fileName === fileName) {\n\t\t\t\t\t\tthis.localFiles.splice(i, 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\taddFileUploadAuthHeader: function(file, xhr) {\n\t\t\t\txhr.setRequestHeader('Authorization', `Bearer ${this.$store.state.accessToken}`);\n\t\t\t},\n\n\t\t\tuploadSuccess: function(file, response) {\n\t\t\t\tthis.$refs.fileDropzone.removeFile(file);\n\t\t\t\tthis.removeFileByName(response.fileName);\n\t\t\t\tthis.localFiles.push(response);\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\tuploadFailure: function(file, message) {\n\t\t\t\tthis.$store.commit('error', this.$t('error.error-uploading') + message);\n\t\t\t\tthis.$refs.fileDropzone.removeFile(file);\n\t\t\t},\n\n\t\t\tconfirmDeleteFile: function(file) {\n\t\t\t\tthis.fileToDelete = file;\n\t\t\t\tthis.confirmDelete = true;\n\t\t\t},\n\n\t\t\tcancelDeleteFile: function() {\n\t\t\t\tthis.fileToDelete = null;\n\t\t\t\tthis.confirmDelete = false;\n\t\t\t},\n\n\t\t\tdeleteFile: function() {\n\t\t\t\tthis.deleteFileInternal()\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tthis.removeFileByName(this.fileToDelete.fileName);\n\t\t\t\t\t\tthis.notifyChange();\n\t\t\t\t\t\tthis.cancelDeleteFile();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tthis.$store.commit('error', this.$t('error.error-deleting') + err.response.data.message);\n\t\t\t\t\t\tthis.cancelDeleteFile();\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\tdeleteFileInternal() {\n\t\t\t\tif (this.templateMode) {\n\t\t\t\t\treturn this.templateService.deleteFileAttachment(this.proposalId, this.fileToDelete.fileName);\n\t\t\t\t} else {\n\t\t\t\t\treturn this.proposalService.deleteFileAttachment(this.clientId, this.proposalId, this.fileToDelete.fileName);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tdownloadFile(s3File) {\n\t\t\t\tthis.downloadFileInternal(s3File).then((res) => {\n\t\t\t\t\tlet signedUrl = res.data.signedUrl;\n\n\t\t\t\t\taxios({\n\t\t\t\t\t\turl: signedUrl, //your url\n\t\t\t\t\t\tmethod: 'GET',\n\t\t\t\t\t\tresponseType: 'blob', // important\n\t\t\t\t\t}).then((response) => {\n\t\t\t\t\t\tconst url = window.URL.createObjectURL(new Blob([response.data]));\n\t\t\t\t\t\tconst link = document.createElement('a');\n\t\t\t\t\t\tlink.href = url;\n\t\t\t\t\t\tlink.setAttribute('download', s3File.fileName); //or any other extension\n\t\t\t\t\t\tdocument.body.appendChild(link);\n\t\t\t\t\t\tlink.click();\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tdownloadFileInternal(s3File) {\n\t\t\t\tif (this.templateMode) {\n\t\t\t\t\treturn this.templateService.getSignedUrl(this.proposalId, s3File.fileName);\n\t\t\t\t} else {\n\t\t\t\t\treturn this.proposalService.getSignedUrl(this.clientId, this.proposalId, s3File.fileName);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\ticonName(file) {\n\t\t\t\tif (['svg', 'csv', 'pdf', 'ppt', 'zip'].includes(file.fileType.toLowerCase())) {\n\t\t\t\t\treturn '$' + file.fileType.toLowerCase() + 'File';\n\t\t\t\t}\n\t\t\t\treturn '$unknownFile';\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tdropzoneOptions: function() {\n\t\t\t\tlet theUrl;\n\n\t\t\t\tif (this.templateMode){\n\t\t\t\t\ttheUrl = `${this.$store.getters.getBaseUrl}/templates/proposals/${this.proposalId}/files`;\n\t\t\t\t}else{\n\t\t\t\t\ttheUrl = `${this.$store.getters.getBaseUrl}/clients/${this.clientId}/proposals/${this.proposalId}/files`;\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\turl: theUrl,\n\t\t\t\t\tthumbnailWidth: 50,\n\t\t\t\t\tmaxFilesize: 50,\n\t\t\t\t\twithCredentials: true,\n\t\t\t\t\tautoProcessQueue: true,\n\t\t\t\t\tduplicateCheck: true,\n\t\t\t\t\tcreateImageThumbnails: false,\n\t\t\t\t\tacceptedFiles: this.blockType == 'Images' ? 'image/*' : null,\n\t\t\t\t\tincludeStyling: false,\n\t\t\t\t};\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.deleteButton {\n\t\tposition: absolute;\n\t\ttop: -10px;\n\t\tright: -10px;\n\t\tz-index: 150;\n\t\topacity: 0;\n\t\ttransition: opacity 300ms;\n\t\t&:hover {\n\t\t\t.v-btn .v-icon {\n\t\t\t\tcolor: var(--v-primary-base);\n\t\t\t}\n\t\t}\n\t}\n\n\t.deleteIcon {\n\t\t/*border: 1px solid lightgray;*/\n\t\t/*border-radius: 40px;*/\n\t}\n\n\t.fileWrapper {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t}\n\n\t.fileContainer {\n\t\twidth: 100px;\n\t\ttext-align: center;\n\t\tmargin: 10px;\n\t\toverflow-wrap: break-word;\n\t\tposition: relative;\n\t\t&:hover {\n\t\t\t.deleteButton {\n\t\t\t\topacity: 1;\n\t\t\t\ttransition: opacity 300ms;\n\t\t\t}\n\t\t}\n\t}\n\n\t.vue-dropzone {\n\t\tposition: relative;\n\t\tmin-height: 75px;\n\t\tborder: 1px dashed var(--v-schooner_20-lighten1);\n\t}\n\n\t.dz-message {\n\t\tmargin: 0px !important;\n\t}\n\n\t.dropzone {\n\t\tmargin: 0px !important;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Files.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Files.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Files.vue?vue&type=template&id=0937c352\"\nimport script from \"./Files.vue?vue&type=script&lang=js\"\nexport * from \"./Files.vue?vue&type=script&lang=js\"\nimport style0 from \"./Files.vue?vue&type=style&index=0&id=0937c352&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCol,VContainer,VDialog,VIcon,VRow,VSpacer})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"pa-0 ma-0 selector_image\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[(_vm.editMode)?_c('v-col',{attrs:{\"cols\":\"12\",\"align\":\"center\"}},[(_vm.signedUrl !== null)?_c('v-slider',{staticStyle:{\"width\":\"400px\"},attrs:{\"min\":\"0\",\"max\":\"100\",\"thumb-label\":\"\"},on:{\"end\":_vm.sliderChanged},model:{value:(_vm.lScale),callback:function ($$v) {_vm.lScale=$$v},expression:\"lScale\"}}):_vm._e()],1):_vm._e()],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"baseContainer\"},[_c('div',{staticClass:\"imageContainer\",style:(_vm.calculatedImageWidth)},[(_vm.templateMode || (_vm.editMode && _vm.signedUrl !== null))?_c('div',{staticClass:\"deleteButton\"},[_c('v-btn',{staticClass:\"deleteIcon\",attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.confirmDeleteFile()}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$delete\")])],1)],1):_vm._e(),(_vm.signedUrl !== null)?_c('img',{staticClass:\"image\",attrs:{\"src\":_vm.signedUrl}}):_vm._e(),(_vm.editMode && _vm.lFile === null)?_c('vue-dropzone',{ref:\"fileDropzone\",attrs:{\"id\":\"dropzone\",\"use-custom-slot\":true,\"options\":_vm.dropzoneOptions},on:{\"vdropzone-success\":_vm.uploadSuccess,\"vdropzone-error\":_vm.uploadFailure,\"vdropzone-sending\":_vm.addFileUploadAuthHeader}},[_c('div',[_c('v-icon',[_vm._v(\"$vuetify.icons.upload\")]),_c('span',{staticClass:\"ml-2\",staticStyle:{\"font-size\":\"0.8em\"}},[_vm._v(_vm._s(_vm.$t('proposal.image.upload')))])],1)]):_vm._e()],1)])])],1),_c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"290\"},model:{value:(_vm.confirmDelete),callback:function ($$v) {_vm.confirmDelete=$$v},expression:\"confirmDelete\"}},[_c('div',{staticClass:\"brand-regular\",staticStyle:{\"background-color\":\"var(--v-white-base)\"}},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\",\"rounded\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.cancelDeleteFile()}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$close\")])],1),_c('div',{staticClass:\"modal-padding\"},[_c('div',{staticClass:\"modal-title text-center\"},[_c('span',{staticClass:\"pr-1\"},[_c('v-icon',{staticClass:\"mt-n1\",attrs:{\"color\":\"warning\",\"size\":\"24\"}},[_vm._v(\"$alert\")])],1),_vm._v(\" \"+_vm._s(_vm.$t('global.confirm'))+\" \")]),_c('div',{staticClass:\"modal-subtitle text-center mx-3\"},[_vm._v(_vm._s(_vm.$t('proposal.image.delete')))])]),_c('div',{staticClass:\"modal-footer\"},[_c('v-btn',{staticClass:\"mr-1 super-action\",attrs:{\"width\":\"120\"},on:{\"click\":function($event){return _vm.cancelDeleteFile()}}},[_vm._v(_vm._s(_vm.$t('global.cancel')))]),_c('v-btn',{staticClass:\"ml-1 primary-action\",attrs:{\"width\":\"120\"},on:{\"click\":function($event){return _vm.deleteFile()}}},[_vm._v(_vm._s(_vm.$t('global.delete')))])],1)],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<v-container fluid class=\"pa-0 ma-0 selector_image\">\n\t\t<v-row dense>\n\t\t\t<v-col cols=\"12\" v-if=\"editMode\" align=\"center\">\n\t\t\t\t<v-slider\n\t\t\t\t\tv-if=\"signedUrl !== null\"\n\t\t\t\t\tmin=\"0\"\n\t\t\t\t\tmax=\"100\"\n\t\t\t\t\tthumb-label\n\t\t\t\t\tstyle=\"width: 400px;\"\n\t\t\t\t\tv-model=\"lScale\"\n\t\t\t\t\t@end=\"sliderChanged\"\n\t\t\t\t></v-slider>\n\t\t\t</v-col>\n\t\t</v-row>\n\t\t<v-row dense>\n\t\t\t<v-col cols=\"12\">\n\t\t\t\t<div class=\"baseContainer\">\n\t\t\t\t\t<div class=\"imageContainer\" :style=\"calculatedImageWidth\">\n\t\t\t\t\t\t<div v-if=\"templateMode || (editMode && signedUrl !== null)\" class=\"deleteButton\">\n\t\t\t\t\t\t\t<v-btn small icon class=\"deleteIcon\" @click=\"confirmDeleteFile()\"\n\t\t\t\t\t\t\t><v-icon size=\"20\">$delete</v-icon></v-btn\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<img v-if=\"signedUrl !== null\" :src=\"signedUrl\" class=\"image\" />\n\n\t\t\t\t\t\t<vue-dropzone\n\t\t\t\t\t\t\tv-if=\"editMode && lFile === null\"\n\t\t\t\t\t\t\tref=\"fileDropzone\"\n\t\t\t\t\t\t\tid=\"dropzone\"\n\t\t\t\t\t\t\tv-on:vdropzone-success=\"uploadSuccess\"\n\t\t\t\t\t\t\tv-on:vdropzone-error=\"uploadFailure\"\n\t\t\t\t\t\t\tv-on:vdropzone-sending=\"addFileUploadAuthHeader\"\n\t\t\t\t\t\t\t:use-custom-slot=\"true\"\n\t\t\t\t\t\t\t:options=\"dropzoneOptions\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<v-icon>$vuetify.icons.upload</v-icon>\n\t\t\t\t\t\t\t\t<span class=\"ml-2\" style=\"font-size: 0.8em;\">{{ $t('proposal.image.upload') }}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</vue-dropzone>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</v-col>\n\t\t</v-row>\n\t\t<v-dialog v-model=\"confirmDelete\" persistent max-width=\"290\">\n\t\t\t<div class=\"brand-regular\" style=\"background-color: var(--v-white-base);\">\n\t\t\t\t<v-btn class=\"close-dialog\" icon rounded @click.prevent=\"cancelDeleteFile()\">\n\t\t\t\t\t<v-icon size=\"20\">$close</v-icon>\n\t\t\t\t</v-btn>\n\t\t\t\t<div class=\"modal-padding\">\n\t\t\t\t\t<div class=\"modal-title text-center\">\n\t\t\t\t\t\t<span class=\"pr-1\">\n\t\t\t\t\t\t\t<v-icon color=\"warning\" class=\"mt-n1\" size=\"24\">$alert</v-icon>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{{ $t('global.confirm') }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"modal-subtitle text-center mx-3\">{{ $t('proposal.image.delete') }}</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"modal-footer\">\n\t\t\t\t\t<v-btn class=\"mr-1 super-action\" width=\"120\" @click=\"cancelDeleteFile()\">{{ $t('global.cancel') }}</v-btn>\n\t\t\t\t\t<v-btn class=\"ml-1 primary-action\" width=\"120\" @click=\"deleteFile()\">{{ $t('global.delete') }}</v-btn>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</v-dialog>\n\t</v-container>\n</template>\n\n<script>\n\timport vueDropzone from 'vue2-dropzone';\n\timport 'vue2-dropzone/dist/vue2Dropzone.min.css';\n\n\texport default {\n\t\tname: 'ImageBlock',\n\n\t\tprops: [\n\t\t\t'file',\n\t\t\t'scale',\n\t\t\t'id',\n\t\t\t'editMode',\n\t\t\t'clientId',\n\t\t\t'proposalId',\n\t\t\t'blockType',\n\t\t\t'proposalService',\n\t\t\t'templateService',\n\t\t\t'templateMode',\n\t\t],\n\n\t\tcomponents: {\n\t\t\tvueDropzone,\n\t\t},\n\n\t\tmounted() {\n\t\t\tif (this.file) {\n\t\t\t\tthis.setSignedUrl(this.file);\n\t\t\t}\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tlFile: this.file,\n\t\t\t\tlScale: this.scale,\n\t\t\t\tsignedUrl: null,\n\t\t\t\tconfirmDelete: false,\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\tsliderChanged: function() {\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\tnotifyChange: function() {\n\t\t\t\tthis.$emit('changed', {\n\t\t\t\t\tid: this.id,\n\t\t\t\t\tblockType: this.blockType,\n\t\t\t\t\tfile: this.lFile,\n\t\t\t\t\tscale: this.lScale,\n\t\t\t\t});\n\t\t\t},\n\n\t\t\taddFileUploadAuthHeader: function(file, xhr) {\n\t\t\t\txhr.setRequestHeader('Authorization', `Bearer ${this.$store.state.accessToken}`);\n\t\t\t},\n\n\t\t\tuploadSuccess: function(file, response) {\n\t\t\t\tthis.$refs.fileDropzone.removeFile(file);\n\t\t\t\tthis.setSignedUrl(response);\n\t\t\t\tthis.lFile = response;\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\tuploadFailure: function(file, message) {\n\t\t\t\tthis.$store.commit('error', this.$t('error.error-uploading') + message);\n\t\t\t\tthis.$refs.fileDropzone.removeFile(file);\n\t\t\t},\n\n\t\t\tsetSignedUrl: function(s3File) {\n\t\t\t\tif (this.templateMode) {\n\t\t\t\t\tthis.templateService.getSignedUrl(this.proposalId, s3File.fileName).then((res) => {\n\t\t\t\t\t\tthis.signedUrl = res.data.signedUrl;\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.proposalService.getSignedUrl(this.clientId, this.proposalId, s3File.fileName).then((res) => {\n\t\t\t\t\t\tthis.signedUrl = res.data.signedUrl;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tconfirmDeleteFile: function() {\n\t\t\t\tthis.confirmDelete = true;\n\t\t\t},\n\n\t\t\tcancelDeleteFile: function() {\n\t\t\t\tthis.confirmDelete = false;\n\t\t\t},\n\n\t\t\tdeleteFile: function () {\n\t\t\t\tthis.deleteFileInternal()\n\t\t\t\t\t\t.then(() => {\n\t\t\t\t\t\t\tthis.lFile = null;\n\t\t\t\t\t\t\tthis.signedUrl = null;\n\t\t\t\t\t\t\tthis.notifyChange();\n\t\t\t\t\t\t\tthis.cancelDeleteFile();\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\t\tthis.$store.commit('error', this.$t('error.error-deleting') + err.response.data.message);\n\t\t\t\t\t\t\tthis.cancelDeleteFile();\n\t\t\t\t\t\t});\n\t\t\t},\n\n\t\t\tdeleteFileInternal: function () {\n\t\t\t\tif (this.templateMode) {\n\t\t\t\t\treturn this.templateService.deleteFileAttachment(this.proposalId, this.lFile.fileName);\n\t\t\t\t} else {\n\t\t\t\t\treturn this.proposalService.deleteFileAttachment(this.clientId, this.proposalId, this.lFile.fileName);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tcalculatedImageWidth: function() {\n\t\t\t\treturn `width: ${this.lScale}%`;\n\t\t\t},\n\n\t\t\tdropzoneOptions: function() {\n\t\t\t\tlet theUrl;\n\n\t\t\t\tif (this.templateMode){\n\t\t\t\t\ttheUrl = `${this.$store.getters.getBaseUrl}/templates/proposals/${this.proposalId}/files`;\n\t\t\t\t}else{\n\t\t\t\t\ttheUrl = `${this.$store.getters.getBaseUrl}/clients/${this.clientId}/proposals/${this.proposalId}/files`;\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\turl: theUrl,\n\t\t\t\t\tthumbnailWidth: 50,\n\t\t\t\t\tmaxFiles: 1,\n\t\t\t\t\tmaxFilesize: 50,\n\t\t\t\t\twithCredentials: true,\n\t\t\t\t\tautoProcessQueue: true,\n\t\t\t\t\tduplicateCheck: true,\n\t\t\t\t\tcreateImageThumbnails: false,\n\t\t\t\t\tacceptedFiles: 'image/*',\n\t\t\t\t\tincludeStyling: false,\n\t\t\t\t};\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.baseContainer {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tmargin: 0px;\n\t\tpadding: 0px;\n\t}\n\n\t.imageContainer {\n\t\tmargin-left: 5px;\n\t\tmargin-right: 5px;\n\t\toverflow: hidden;\n\t\tposition: relative;\n\t\t.deleteButton {\n\t\t\tposition: absolute;\n\t\t\ttop: 8px;\n\t\t\tright: 8px;\n\t\t\topacity: 0.5;\n\t\t\t&:hover {\n\t\t\t\topacity: 1;\n\t\t\t}\n\t\t\tbutton {\n\t\t\t\tbackground-color: var(--v-white-base);\n\t\t\t\tz-index: 100;\n\t\t\t}\n\t\t}\n\t}\n\n\t.image {\n\t\twidth: 100%;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageBlock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageBlock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ImageBlock.vue?vue&type=template&id=f5a001bc&scoped=true\"\nimport script from \"./ImageBlock.vue?vue&type=script&lang=js\"\nexport * from \"./ImageBlock.vue?vue&type=script&lang=js\"\nimport style0 from \"./ImageBlock.vue?vue&type=style&index=0&id=f5a001bc&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"f5a001bc\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSlider } from 'vuetify/lib/components/VSlider';\ninstallComponents(component, {VBtn,VCol,VContainer,VDialog,VIcon,VRow,VSlider})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"pa-0 ma-0 proposal-image-text-block proposal-text-area\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"align\":\"center\"}},[(_vm.editMode)?_c('v-col',{staticClass:\"py-0 my-0\",attrs:{\"cols\":\"12\",\"align\":\"left\"}},[_c('v-icon',{staticClass:\"customIcon\",attrs:{\"disabled\":_vm.lAlign === 'Left'},nativeOn:{\"click\":function($event){return _vm.imageAlign('Left')}}},[_vm._v(\"$vuetify.icons.imageLeft\")]),_c('v-icon',{staticClass:\"customIcon\",attrs:{\"disabled\":_vm.lAlign === 'Right'},nativeOn:{\"click\":function($event){return _vm.imageAlign('Right')}}},[_vm._v(\"$vuetify.icons.imageRight\")])],1):_vm._e(),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{class:_vm.outerContainerCss},[_c('div',{staticClass:\"imageContainer\"},[(_vm.signedUrl !== null)?_c('img',{staticClass:\"imageNone\",staticStyle:{\"border-radius\":\"4px\"},attrs:{\"src\":_vm.signedUrl}}):_vm._e(),(_vm.templateMode || (_vm.editMode && _vm.signedUrl !== null))?_c('div',{staticClass:\"deleteButton\"},[_c('v-btn',{staticClass:\"deleteIcon\",attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":function($event){return _vm.confirmDeleteFile()}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$delete\")])],1)],1):_vm._e(),(_vm.editMode && _vm.lFile === null)?_c('vue-dropzone',{ref:\"fileDropzone\",attrs:{\"id\":\"dropzone\",\"use-custom-slot\":true,\"options\":_vm.dropzoneOptions},on:{\"vdropzone-success\":_vm.uploadSuccess,\"vdropzone-error\":_vm.uploadFailure,\"vdropzone-sending\":_vm.addFileUploadAuthHeader}},[_c('div',[_c('v-icon',[_vm._v(\"$vuetify.icons.upload\")]),_c('span',{staticClass:\"ml-2\",staticStyle:{\"font-size\":\"0.8em\"}},[_vm._v(_vm._s(_vm.$t('proposal.image.upload')))])],1)]):_vm._e()],1),_c('div',{staticStyle:{\"width\":\"20px\"}}),_c('div',{staticClass:\"textContainer\",staticStyle:{\"text-align\":\"left\"}},[_c('div',{style:(_vm.headerStyle)},[(!_vm.editMode)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.lHeader)}}):_vm._e(),(_vm.editMode)?_c('editor',{ref:\"headerEditor\",staticClass:\"grey-dots\",attrs:{\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.lHeader,\"inline\":true,\"init\":_vm.mceConfigHeader},on:{\"input\":_vm.handleHeaderInput}}):_vm._e()],1),_c('div',{staticClass:\"mt-4\",style:(_vm.bodyStyle)},[(!_vm.editMode)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.lText)}}):_vm._e(),(_vm.editMode)?_c('editor',{ref:\"textEditor\",staticClass:\"grey-dots\",attrs:{\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.lText,\"inline\":true,\"init\":_vm.mceConfigText},on:{\"input\":_vm.handleTextInput}}):_vm._e()],1)])])])],1),_c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"290\"},model:{value:(_vm.confirmDelete),callback:function ($$v) {_vm.confirmDelete=$$v},expression:\"confirmDelete\"}},[_c('div',{staticClass:\"brand-regular\",staticStyle:{\"background-color\":\"var(--v-white-base)\"}},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\",\"rounded\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.cancelDeleteFile()}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$close\")])],1),_c('div',{staticClass:\"modal-padding\"},[_c('div',{staticClass:\"modal-title text-center\"},[_c('span',{staticClass:\"pr-1\"},[_c('v-icon',{staticClass:\"mt-n1\",attrs:{\"color\":\"warning\",\"size\":\"24\"}},[_vm._v(\"$alert\")])],1),_vm._v(\" \"+_vm._s(_vm.$t('global.confirm'))+\" \")]),_c('div',{staticClass:\"modal-subtitle text-center mx-3\"},[_vm._v(_vm._s(_vm.$t('proposal.image.delete')))])]),_c('div',{staticClass:\"modal-footer\"},[_c('v-btn',{staticClass:\"mr-1 super-action\",attrs:{\"width\":\"120\"},on:{\"click\":function($event){return _vm.cancelDeleteFile()}}},[_vm._v(_vm._s(_vm.$t('global.cancel')))]),_c('v-btn',{staticClass:\"ml-1 primary-action\",attrs:{\"width\":\"120\"},on:{\"click\":function($event){return _vm.deleteFile()}}},[_vm._v(_vm._s(_vm.$t('global.delete')))])],1)],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<v-container fluid class=\"pa-0 ma-0 proposal-image-text-block proposal-text-area\">\n\t\t<v-row align=\"center\">\n\t\t\t<v-col v-if=\"editMode\" cols=\"12\" align=\"left\" class=\"py-0 my-0\">\n\t\t\t\t<v-icon class=\"customIcon\" @click.native=\"imageAlign('Left')\" :disabled=\"lAlign === 'Left'\"\n\t\t\t\t\t>$vuetify.icons.imageLeft</v-icon\n\t\t\t\t>\n\t\t\t\t<v-icon class=\"customIcon\" @click.native=\"imageAlign('Right')\" :disabled=\"lAlign === 'Right'\"\n\t\t\t\t\t>$vuetify.icons.imageRight</v-icon\n\t\t\t\t>\n\t\t\t</v-col>\n\t\t\t<v-col cols=\"12\">\n\t\t\t\t<div :class=\"outerContainerCss\">\n\t\t\t\t\t<div class=\"imageContainer\">\n\t\t\t\t\t\t<img v-if=\"signedUrl !== null\" :src=\"signedUrl\" class=\"imageNone\" style=\"border-radius: 4px\" />\n\n\t\t\t\t\t\t<div v-if=\"templateMode || (editMode && signedUrl !== null)\" class=\"deleteButton\">\n\t\t\t\t\t\t\t<v-btn small icon class=\"deleteIcon\" @click=\"confirmDeleteFile()\"\n\t\t\t\t\t\t\t\t><v-icon size=\"20\">$delete</v-icon></v-btn\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<vue-dropzone\n\t\t\t\t\t\t\tv-if=\"editMode && lFile === null\"\n\t\t\t\t\t\t\tref=\"fileDropzone\"\n\t\t\t\t\t\t\tid=\"dropzone\"\n\t\t\t\t\t\t\tv-on:vdropzone-success=\"uploadSuccess\"\n\t\t\t\t\t\t\tv-on:vdropzone-error=\"uploadFailure\"\n\t\t\t\t\t\t\tv-on:vdropzone-sending=\"addFileUploadAuthHeader\"\n\t\t\t\t\t\t\t:use-custom-slot=\"true\"\n\t\t\t\t\t\t\t:options=\"dropzoneOptions\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<v-icon>$vuetify.icons.upload</v-icon>\n\t\t\t\t\t\t\t\t<span class=\"ml-2\" style=\"font-size: 0.8em\">{{ $t('proposal.image.upload') }}</span>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</vue-dropzone>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div style=\"width: 20px\"></div>\n\t\t\t\t\t<div class=\"textContainer\" style=\"text-align: left\">\n\t\t\t\t\t\t<div :style=\"headerStyle\">\n\t\t\t\t\t\t\t<span v-html=\"lHeader\" v-if=\"!editMode\"></span>\n\t\t\t\t\t\t\t<editor\n\t\t\t\t\t\t\t\tref=\"headerEditor\"\n\t\t\t\t\t\t\t\tv-if=\"editMode\"\n\t\t\t\t\t\t\t\tclass=\"grey-dots\"\n\t\t\t\t\t\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t\t\t\t\t\t:initial-value=\"lHeader\"\n\t\t\t\t\t\t\t\t:inline=\"true\"\n\t\t\t\t\t\t\t\t:init=\"mceConfigHeader\"\n\t\t\t\t\t\t\t\t@input=\"handleHeaderInput\"\n\t\t\t\t\t\t\t></editor>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div :style=\"bodyStyle\" class=\"mt-4\">\n\t\t\t\t\t\t\t<span v-html=\"lText\" v-if=\"!editMode\"></span>\n\t\t\t\t\t\t\t<editor\n\t\t\t\t\t\t\t\tref=\"textEditor\"\n\t\t\t\t\t\t\t\tv-if=\"editMode\"\n\t\t\t\t\t\t\t\tclass=\"grey-dots\"\n\t\t\t\t\t\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t\t\t\t\t\t:initial-value=\"lText\"\n\t\t\t\t\t\t\t\t:inline=\"true\"\n\t\t\t\t\t\t\t\t:init=\"mceConfigText\"\n\t\t\t\t\t\t\t\t@input=\"handleTextInput\"\n\t\t\t\t\t\t\t></editor>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</v-col>\n\t\t</v-row>\n\t\t<v-dialog v-model=\"confirmDelete\" persistent max-width=\"290\">\n\t\t\t<div class=\"brand-regular\" style=\"background-color: var(--v-white-base)\">\n\t\t\t\t<v-btn class=\"close-dialog\" icon rounded @click.prevent=\"cancelDeleteFile()\">\n\t\t\t\t\t<v-icon size=\"20\">$close</v-icon>\n\t\t\t\t</v-btn>\n\t\t\t\t<div class=\"modal-padding\">\n\t\t\t\t\t<div class=\"modal-title text-center\">\n\t\t\t\t\t\t<span class=\"pr-1\">\n\t\t\t\t\t\t\t<v-icon color=\"warning\" class=\"mt-n1\" size=\"24\">$alert</v-icon>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{{ $t('global.confirm') }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"modal-subtitle text-center mx-3\">{{ $t('proposal.image.delete') }}</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"modal-footer\">\n\t\t\t\t\t<v-btn class=\"mr-1 super-action\" width=\"120\" @click=\"cancelDeleteFile()\">{{ $t('global.cancel') }}</v-btn>\n\t\t\t\t\t<v-btn class=\"ml-1 primary-action\" width=\"120\" @click=\"deleteFile()\">{{ $t('global.delete') }}</v-btn>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</v-dialog>\n\t</v-container>\n</template>\n\n<script>\n\timport vueDropzone from 'vue2-dropzone';\n\timport 'vue2-dropzone/dist/vue2Dropzone.min.css';\n\n\texport default {\n\t\tname: 'ImageTextBlock',\n\n\t\tprops: [\n\t\t\t'header',\n\t\t\t'text',\n\t\t\t'file',\n\t\t\t'align',\n\t\t\t'border',\n\t\t\t'id',\n\t\t\t'editMode',\n\t\t\t'clientId',\n\t\t\t'proposalId',\n\t\t\t'blockType',\n\t\t\t'proposalService',\n\t\t\t'templateService',\n\t\t\t'mceConfigText',\n\t\t\t'mceConfigHeader',\n\t\t\t'formatting',\n\t\t\t'templateMode',\n\t\t],\n\n\t\tcomponents: {\n\t\t\tvueDropzone,\n\t\t\teditor: () => import(/* webpackChunkName: \"tinymce\" */ '@tinymce/tinymce-vue'),\n\t\t},\n\n\t\tmounted() {\n\t\t\tif (this.file) {\n\t\t\t\tthis.setSignedUrl(this.file);\n\t\t\t}\n\t\t},\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tlHeader: this.header,\n\t\t\t\tlText: this.text,\n\t\t\t\tlFile: this.file,\n\t\t\t\tlAlign: this.align,\n\t\t\t\tlBorder: this.border,\n\t\t\t\tsignedUrl: null,\n\t\t\t\tconfirmDelete: false,\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\timageAlign: function (direction) {\n\t\t\t\tthis.lAlign = direction;\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\tnotifyChange: function () {\n\t\t\t\tthis.$emit('changed', {\n\t\t\t\t\tid: this.id,\n\t\t\t\t\tblockType: this.blockType,\n\t\t\t\t\theader: this.lHeader,\n\t\t\t\t\ttext: this.lText,\n\t\t\t\t\tfile: this.lFile,\n\t\t\t\t\talign: this.lAlign,\n\t\t\t\t\tborder: this.lBorder,\n\t\t\t\t});\n\t\t\t},\n\n\t\t\thandleHeaderInput: function () {\n\t\t\t\tthis.lHeader = this.$refs.headerEditor.editor.getContent();\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\thandleTextInput: function () {\n\t\t\t\tthis.lText = this.$refs.textEditor.editor.getContent();\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\taddFileUploadAuthHeader: function (file, xhr) {\n\t\t\t\txhr.setRequestHeader('Authorization', `Bearer ${this.$store.state.accessToken}`);\n\t\t\t},\n\n\t\t\tuploadSuccess: function (file, response) {\n\t\t\t\tthis.$refs.fileDropzone.removeFile(file);\n\t\t\t\tthis.setSignedUrl(response);\n\t\t\t\tthis.lFile = response;\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\tuploadFailure: function (file, message) {\n\t\t\t\tthis.$store.commit('error', this.$t('error.error-uploading') + message);\n\t\t\t\tthis.$refs.fileDropzone.removeFile(file);\n\t\t\t},\n\n\t\t\tconfirmDeleteFile: function () {\n\t\t\t\tthis.confirmDelete = true;\n\t\t\t},\n\n\t\t\tcancelDeleteFile: function () {\n\t\t\t\tthis.confirmDelete = false;\n\t\t\t},\n\n\t\t\tdeleteFile: function () {\n\t\t\t\tthis.deleteFileInternal()\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tthis.lFile = null;\n\t\t\t\t\t\tthis.signedUrl = null;\n\t\t\t\t\t\tthis.notifyChange();\n\t\t\t\t\t\tthis.cancelDeleteFile();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tthis.$store.commit('error', this.$t('error.error-deleting') + err.response.data.message);\n\t\t\t\t\t\tthis.cancelDeleteFile();\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\tdeleteFileInternal: function () {\n\t\t\t\tif (this.templateMode) {\n\t\t\t\t\treturn this.templateService.deleteFileAttachment(this.proposalId, this.lFile.fileName);\n\t\t\t\t} else {\n\t\t\t\t\treturn this.proposalService.deleteFileAttachment(this.clientId, this.proposalId, this.lFile.fileName);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsetSignedUrl: function (s3File) {\n\t\t\t\tif (this.templateMode) {\n\t\t\t\t\tthis.templateService.getSignedUrl(this.proposalId, s3File.fileName).then((res) => {\n\t\t\t\t\t\tthis.signedUrl = res.data.signedUrl;\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.proposalService.getSignedUrl(this.clientId, this.proposalId, s3File.fileName).then((res) => {\n\t\t\t\t\t\tthis.signedUrl = res.data.signedUrl;\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\theaderWeight: function () {\n\t\t\t\tif (this.formatting.headerWeight === 'Regular') {\n\t\t\t\t\treturn 400;\n\t\t\t\t} else {\n\t\t\t\t\treturn 600;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tbodyStyle: function () {\n\t\t\t\treturn `font-family: ${this.formatting.bodyFont}; text-align:left; color: var(--v-gray_70-base);`;\n\t\t\t},\n\n\t\t\theaderStyle: function () {\n\t\t\t\treturn `font-size: 22px; font-family: ${this.formatting.headerFont}; font-weight: ${this.headerWeight}; text-align:left`;\n\t\t\t},\n\n\t\t\touterContainerCss: function () {\n\t\t\t\tif (this.lAlign === 'Left') {\n\t\t\t\t\treturn 'outerContainerLeft';\n\t\t\t\t} else {\n\t\t\t\t\treturn 'outerContainerRight';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tdropzoneOptions: function () {\n\t\t\t\tlet theUrl;\n\n\t\t\t\tif (this.templateMode){\n\t\t\t\t\ttheUrl = `${this.$store.getters.getBaseUrl}/templates/proposals/${this.proposalId}/files`;\n\t\t\t\t}else{\n\t\t\t\t\ttheUrl = `${this.$store.getters.getBaseUrl}/clients/${this.clientId}/proposals/${this.proposalId}/files`;\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\turl: theUrl,\n\t\t\t\t\tthumbnailWidth: 50,\n\t\t\t\t\tmaxFiles: 1,\n\t\t\t\t\tmaxFilesize: 50,\n\t\t\t\t\twithCredentials: true,\n\t\t\t\t\tautoProcessQueue: true,\n\t\t\t\t\tduplicateCheck: true,\n\t\t\t\t\tcreateImageThumbnails: false,\n\t\t\t\t\tacceptedFiles: 'image/*',\n\t\t\t\t\tincludeStyling: false,\n\t\t\t\t};\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.proposal-image-text-block {\n\t\t.imageNone {\n\t\t\twidth: 100%;\n\t\t}\n\n\t\t.outerContainerRight {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row-reverse;\n\t\t\talign-items: center;\n      @media (max-width: 599px){\n        flex-direction: column;\n      }\n\t\t}\n\n\t\t.outerContainerLeft {\n\t\t\tdisplay: flex;\n\t\t\tflex-direction: row;\n\t\t\talign-items: center;\n      @media (max-width: 599px){\n        flex-direction: column;\n      }\n\t\t}\n\n\t\t.imageContainer {\n\t\t\twidth: 50%;\n\t\t\t//margin: 20px;\n\t\t\tposition: relative;\n\t\t\t.deleteButton {\n\t\t\t\tposition: absolute;\n\t\t\t\ttop: 8px;\n\t\t\t\tright: 8px;\n\t\t\t\topacity: 0.5;\n\t\t\t\t&:hover {\n\t\t\t\t\topacity: 1;\n\t\t\t\t}\n\t\t\t\tbutton {\n\t\t\t\t\tbackground-color: var(--v-white-base);\n\t\t\t\t\tz-index: 100;\n\t\t\t\t}\n\t\t\t}\n      @media (max-width: 599px){\n        width: 90%;\n      }\n\t\t}\n\n\t\t.textContainer {\n\t\t\twidth: 50%;\n\t\t\t//margin: 10px;\n      @media (max-width: 599px){\n        width: 80%;\n      }\n\t\t}\n\n\t\t.customIcon ::v-deep {\n\t\t\tcursor: pointer;\n\t\t\tcolor: var(--v-grey-base);\n\t\t\tmargin-right: 10px;\n\t\t\tmargin-top: 3px;\n\t\t}\n\n\t\t.customIcon:hover {\n\t\t\tcolor: var(--v-primary-base);\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageTextBlock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageTextBlock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ImageTextBlock.vue?vue&type=template&id=8fddb200\"\nimport script from \"./ImageTextBlock.vue?vue&type=script&lang=js\"\nexport * from \"./ImageTextBlock.vue?vue&type=script&lang=js\"\nimport style0 from \"./ImageTextBlock.vue?vue&type=style&index=0&id=8fddb200&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VDialog,VIcon,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"proposal-add-component\"}},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_c('v-icon',[_vm._v(\"$close\")])],1),_c('div',{staticClass:\"modal-padding\"},[_c('div',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t('proposal.content.add')))]),_c('div',{staticClass:\"section\"},[_c('div',{staticClass:\"content-heading\"},[_vm._v(_vm._s(_vm.$t('proposal.content.content')))]),_c('div',{staticClass:\"tiles\"},[_c('div',{staticClass:\"tile\",on:{\"click\":function($event){return _vm.addSection('TextArea')}}},[_c('div',{staticClass:\"icon-box\"},[_c('v-icon',{attrs:{\"size\":\"32\"}},[_vm._v(\"$text\")])],1),_c('div',{staticClass:\"instructions\",domProps:{\"innerHTML\":_vm._s(_vm.$t('proposal.content.text-block'))}})]),_c('div',{staticClass:\"tile\",on:{\"click\":function($event){return _vm.addSection('Files')}}},[_c('div',{staticClass:\"icon-box\"},[_c('v-icon',{attrs:{\"size\":\"32\"}},[_vm._v(\"$attachment\")])],1),_c('div',{staticClass:\"instructions\",domProps:{\"innerHTML\":_vm._s(_vm.$t('proposal.content.files'))}})]),_c('div',{staticClass:\"tile\",on:{\"click\":function($event){return _vm.addSection('ImageTextBlock')}}},[_c('div',{staticClass:\"icon-box\"},[_c('v-icon',{attrs:{\"size\":\"32\"}},[_vm._v(\"$imageAndText\")])],1),_c('div',{staticClass:\"instructions\",domProps:{\"innerHTML\":_vm._s(_vm.$t('proposal.content.image-caption'))}})]),_c('div',{staticClass:\"tile\",on:{\"click\":function($event){return _vm.addSection('ImageBlock')}}},[_c('div',{staticClass:\"icon-box\"},[_c('v-icon',{attrs:{\"size\":\"32\"}},[_vm._v(\"$image\")])],1),_c('div',{staticClass:\"instructions\",domProps:{\"innerHTML\":_vm._s(_vm.$t('proposal.content.image'))}})])])]),(_vm.termsCount == 0 || (_vm.paymentCount == 0 && _vm.integratedPaymentsEnabled))?_c('div',{staticClass:\"section\"},[_c('div',{staticClass:\"content-heading\"},[_vm._v(_vm._s(_vm.$t('proposal.content.legal')))]),_c('div',{staticClass:\"tiles\"},[(_vm.termsCount === 0)?_c('div',{staticClass:\"tile\",on:{\"click\":function($event){return _vm.addSection('Terms')}}},[_c('div',{staticClass:\"icon-box\"},[_c('v-icon',{attrs:{\"size\":\"32\"}},[_vm._v(\"$handshake\")])],1),_c('div',{staticClass:\"instructions\",domProps:{\"innerHTML\":_vm._s(_vm.$t('proposal.content.contract'))}})]):_vm._e(),(_vm.paymentCount === 0 && _vm.integratedPaymentsEnabled)?_c('div',{staticClass:\"tile\",on:{\"click\":function($event){return _vm.addSection('PaymentCaptureBlock')}}},[_c('div',{staticClass:\"icon-box\"},[_c('v-icon',{attrs:{\"size\":\"32\"}},[_vm._v(\"$money\")])],1),_c('div',{staticClass:\"instructions\",domProps:{\"innerHTML\":_vm._s(_vm.$t('proposal.content.payment-instructions'))}})]):_vm._e()])]):_vm._e(),(!_vm.signatureCount && !_vm.acceptCount)?_c('div',{staticClass:\"section\"},[_c('div',{staticClass:\"content-heading\"},[_vm._v(_vm._s(_vm.$t('proposal.content.finalize')))]),_c('div',{staticClass:\"tiles\"},[_c('div',{staticClass:\"tile\",on:{\"click\":function($event){return _vm.addSection('SignatureBlock')}}},[_c('div',{staticClass:\"icon-box\"},[_c('v-icon',{attrs:{\"size\":\"32\"}},[_vm._v(\"$signature\")])],1),_c('div',{staticClass:\"instructions\",domProps:{\"innerHTML\":_vm._s(_vm.$t('proposal.content.signatures'))}})]),_c('div',{staticClass:\"tile\",on:{\"click\":function($event){return _vm.addSection('AcceptBlock')}}},[_c('div',{staticClass:\"icon-box\"},[_c('v-icon',{attrs:{\"size\":\"32\"}},[_vm._v(\"$success\")])],1),_c('div',{staticClass:\"instructions\",domProps:{\"innerHTML\":_vm._s(_vm.$t('proposal.content.accept'))}})])])]):_vm._e(),(_vm.isPaid && _vm.packageList.length && !_vm.gettingPackages)?_c('div',{staticClass:\"section\"},[_c('div',{staticClass:\"content-heading\"},[_vm._v(_vm._s(_vm.$t('proposal.content.fee-structure')))]),_c('div',{staticClass:\"tiles packages\"},[_c('div',{staticClass:\"tile\",on:{\"click\":function($event){return _vm.addSection('Deliverables')}}},[_c('div',{staticClass:\"icon-box\"},[_c('v-icon',{attrs:{\"size\":\"24\"}},[_vm._v(\"$plus\")])],1),_c('div',{staticClass:\"instructions\",domProps:{\"innerHTML\":_vm._s(_vm.$t('proposal.content.from-scratch'))}})]),_c('div',{staticClass:\"content-heading copy-fees\"},[_vm._v(\" \"+_vm._s(_vm.$t('proposal.content.copy-deliverable-packages'))+\" \")]),_vm._l((_vm.packageList),function(pkg,i){return _c('div',{key:pkg.id,class:_vm.packageClass(i),on:{\"click\":function($event){return _vm.addSectionFromPackage(pkg.id)}}},[_c('div',{staticClass:\"icon-box\"},[_c('v-icon',{attrs:{\"size\":\"24\"}},[_vm._v(\"$box\")])],1),_c('div',{staticClass:\"instructions\"},[_vm._v(_vm._s(pkg.name))])])}),(_vm.packageList.length > 3)?_c('div',{staticClass:\"tile\",on:{\"click\":function($event){_vm.showAllPackages = !_vm.showAllPackages}}},[_c('div',{staticClass:\"icon-box\"},[_c('v-icon',{attrs:{\"size\":\"24\"}},[_vm._v(\"$more-hor\")])],1),(_vm.showAllPackages)?_c('div',{staticClass:\"instructions\"},[_vm._v(_vm._s(_vm.$t('proposal.content.see-less')))]):_c('div',{staticClass:\"instructions\"},[_vm._v(_vm._s(_vm.$t('proposal.content.see-more')))])]):_vm._e()],2)]):_c('div',{staticClass:\"section\"},[_c('div',{staticClass:\"content-heading\"},[_vm._v(_vm._s(_vm.$t('proposal.content.fee-structure')))]),_c('div',{staticClass:\"tiles\"},[_c('div',{staticClass:\"tile\",on:{\"click\":function($event){return _vm.addSection('Deliverables')}}},[_c('div',{staticClass:\"icon-box\"},[_c('v-icon',{attrs:{\"size\":\"24\"}},[_vm._v(\"$box\")])],1),_c('div',{staticClass:\"instructions\",domProps:{\"innerHTML\":_vm._s(_vm.$t('proposal.content.from-scratch'))}})])])])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div id=\"proposal-add-component\">\n\t\t<v-btn icon class=\"close-dialog\" @click=\"$emit('close')\">\n\t\t\t<v-icon>$close</v-icon>\n\t\t</v-btn>\n\t\t<div class=\"modal-padding\">\n\t\t\t<div class=\"modal-title\">{{ $t('proposal.content.add') }}</div>\n\t\t\t<!--\t\t\t<div class=\"modal-subtitle\">{{ $t('proposal.content.subtitle') }}</div>-->\n\n\t\t\t<div class=\"section\">\n\t\t\t\t<div class=\"content-heading\">{{ $t('proposal.content.content') }}</div>\n\n\t\t\t\t<div class=\"tiles\">\n\t\t\t\t\t<div class=\"tile\" @click=\"addSection('TextArea')\">\n\t\t\t\t\t\t<div class=\"icon-box\">\n\t\t\t\t\t\t\t<v-icon size=\"32\">$text</v-icon>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"instructions\" v-html=\"$t('proposal.content.text-block')\"></div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"tile\" @click=\"addSection('Files')\">\n\t\t\t\t\t\t<div class=\"icon-box\">\n\t\t\t\t\t\t\t<v-icon size=\"32\">$attachment</v-icon>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"instructions\" v-html=\"$t('proposal.content.files')\"></div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"tile\" @click=\"addSection('ImageTextBlock')\">\n\t\t\t\t\t\t<div class=\"icon-box\">\n\t\t\t\t\t\t\t<v-icon size=\"32\">$imageAndText</v-icon>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"instructions\" v-html=\"$t('proposal.content.image-caption')\"></div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"tile\" @click=\"addSection('ImageBlock')\">\n\t\t\t\t\t\t<div class=\"icon-box\">\n\t\t\t\t\t\t\t<v-icon size=\"32\">$image</v-icon>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"instructions\" v-html=\"$t('proposal.content.image')\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class=\"section\" v-if=\"termsCount == 0 || (paymentCount == 0 && integratedPaymentsEnabled)\">\n\t\t\t\t<div class=\"content-heading\">{{ $t('proposal.content.legal') }}</div>\n\t\t\t\t<div class=\"tiles\">\n\t\t\t\t\t<div class=\"tile\" @click=\"addSection('Terms')\" v-if=\"termsCount === 0\">\n\t\t\t\t\t\t<div class=\"icon-box\">\n\t\t\t\t\t\t\t<v-icon size=\"32\">$handshake</v-icon>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"instructions\" v-html=\"$t('proposal.content.contract')\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"tile\" @click=\"addSection('PaymentCaptureBlock')\" v-if=\"paymentCount === 0 && integratedPaymentsEnabled\">\n\t\t\t\t\t\t<div class=\"icon-box\">\n\t\t\t\t\t\t\t<v-icon size=\"32\">$money</v-icon>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"instructions\" v-html=\"$t('proposal.content.payment-instructions')\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div class=\"section\" v-if=\"!signatureCount && !acceptCount\">\n\t\t\t\t<div class=\"content-heading\">{{ $t('proposal.content.finalize') }}</div>\n\t\t\t\t<div class=\"tiles\">\n\t\t\t\t\t<div class=\"tile\" @click=\"addSection('SignatureBlock')\">\n\t\t\t\t\t\t<div class=\"icon-box\">\n\t\t\t\t\t\t\t<v-icon size=\"32\">$signature</v-icon>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"instructions\" v-html=\"$t('proposal.content.signatures')\"></div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"tile\" @click=\"addSection('AcceptBlock')\">\n\t\t\t\t\t\t<div class=\"icon-box\">\n\t\t\t\t\t\t\t<v-icon size=\"32\">$success</v-icon>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"instructions\" v-html=\"$t('proposal.content.accept')\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div v-if=\"isPaid && packageList.length && !gettingPackages\" class=\"section\">\n\t\t\t\t<div class=\"content-heading\">{{ $t('proposal.content.fee-structure') }}</div>\n\t\t\t\t<div class=\"tiles packages\">\n\t\t\t\t\t<div class=\"tile\" @click=\"addSection('Deliverables')\">\n\t\t\t\t\t\t<div class=\"icon-box\">\n\t\t\t\t\t\t\t<v-icon size=\"24\">$plus</v-icon>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"instructions\" v-html=\"$t('proposal.content.from-scratch')\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"content-heading copy-fees\">\n\t\t\t\t\t\t{{ $t('proposal.content.copy-deliverable-packages') }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<!-- Package list -->\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-for=\"(pkg, i) in packageList\"\n\t\t\t\t\t\t:key=\"pkg.id\"\n\t\t\t\t\t\t:class=\"packageClass(i)\"\n\t\t\t\t\t\t@click=\"addSectionFromPackage(pkg.id)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"icon-box\">\n\t\t\t\t\t\t\t<v-icon size=\"24\">$box</v-icon>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"instructions\">{{ pkg.name }}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<!-- Show more -->\n\t\t\t\t\t<div class=\"tile\" v-if=\"packageList.length > 3\" @click=\"showAllPackages = !showAllPackages\">\n\t\t\t\t\t\t<div class=\"icon-box\">\n\t\t\t\t\t\t\t<v-icon size=\"24\">$more-hor</v-icon>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"instructions\" v-if=\"showAllPackages\">{{ $t('proposal.content.see-less') }}</div>\n\t\t\t\t\t\t<div class=\"instructions\" v-else>{{ $t('proposal.content.see-more') }}</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<!-- No packages exist -->\n\t\t\t\t\t<!--\t\t\t\t\t<div class=\"tile no-packages\" v-if=\"!gettingPackages && !packageList.length\">-->\n\t\t\t\t\t<!--\t\t\t\t\t\t<div class=\"icon-box\">-->\n\t\t\t\t\t<!--\t\t\t\t\t\t\t<v-icon size=\"24\">$box</v-icon>-->\n\t\t\t\t\t<!--\t\t\t\t\t\t</div>-->\n\t\t\t\t\t<!--\t\t\t\t\t\t<div class=\"instructions\" v-html=\"$t('proposal.content.no-packages')\"></div>-->\n\t\t\t\t\t<!--\t\t\t\t\t</div>-->\n\t\t\t\t</div>\n\t\t\t</div>\n\n\t\t\t<div v-else class=\"section\">\n\t\t\t\t<div class=\"content-heading\">{{ $t('proposal.content.fee-structure') }}</div>\n\t\t\t\t<div class=\"tiles\">\n\t\t\t\t\t<div class=\"tile\" @click=\"addSection('Deliverables')\">\n\t\t\t\t\t\t<div class=\"icon-box\">\n\t\t\t\t\t\t\t<v-icon size=\"24\">$box</v-icon>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"instructions\" v-html=\"$t('proposal.content.from-scratch')\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\n\n\texport default {\n\t\tname: 'AddComponent',\n\n\t\tprops: ['signatureCount', 'termsCount','acceptCount','paymentCount'],\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\ttemplateService: { },\n\t\t\t\t// deliverablePackageId: null,\n\t\t\t\tpackageList: [],\n\t\t\t\tshowAllPackages: false,\n\t\t\t\tgettingPackages: false,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getPackageList();\n\t\t},\n\n\t\tmethods: {\n\t\t\taddSection: function(componentType) {\n\t\t\t\tthis.$emit('add-section', { type: componentType });\n\t\t\t\tthis.$emit('close');\n\t\t\t},\n\n\t\t\taddSectionFromPackage: function(id) {\n\t\t\t\tthis.templateService\n\t\t\t\t\t.createProposalDeliverables(id)\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tconsole.log(res);\n\t\t\t\t\t\tlet args = { type: 'Deliverables', deliverableBlock: res.data };\n\t\t\t\t\t\tthis.$emit('add-section', args);\n\t\t\t\t\t\tthis.$emit('close');\n\t\t\t\t\t})\n\t\t\t\t\t.catch((e) => {\n\t\t\t\t\t\tconsole.log(e);\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\tgetPackageList: function() {\n\t\t\t\tthis.gettingPackages = true;\n\t\t\t\tthis.templateService.getDeliverablePackages().then((res) => {\n\t\t\t\t\tthis.packageList = [];\n\t\t\t\t\tthis.packageList.push(...res.data);\n\t\t\t\t\tthis.gettingPackages = false;\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tpackageClass(i) {\n\t\t\t\tlet css = ['tile'];\n\t\t\t\tif (this.showAllPackages) return css.join(' ');\n\t\t\t\tif (i > this.packagesToShow - 1) {\n\t\t\t\t\tcss.push('no-show');\n\t\t\t\t}\n\t\t\t\treturn css.join(' ');\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tintegratedPaymentsEnabled: function() {\n\t\t\t\tif (\n\t\t\t\t\t\tthis.$store.state.podAccount.stripeIntegration &&\n\t\t\t\t\t\tthis.$store.state.podAccount.stripeIntegration.chargesEnabled\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tpackagesToShow() {\n\t\t\t\tif (this.packageList.length === 3) {\n\t\t\t\t\treturn 3;\n\t\t\t\t}\n\t\t\t\tif (this.packageList.length === 0) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t\treturn 2;\n\t\t\t},\n\t\t\tisPaid: function() {\n\t\t\t\t// return false;\n\t\t\t\treturn this.$store.getters.isPaidAccount;\n\t\t\t},\n\n\t\t\tcomponentTypes: function() {\n\t\t\t\tlet types = [];\n\n\t\t\t\tfor (let i = 0; i < this.baseComponentTypes.length; i++) {\n\t\t\t\t\tif (this.baseComponentTypes[i].type === 'SignatureBlock' && this.signatureCount > 0) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else if (this.baseComponentTypes[i].type === 'Terms' && this.termsCount > 0) {\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}\n\n\t\t\t\t\ttypes.push(this.baseComponentTypes[i]);\n\t\t\t\t}\n\t\t\t\treturn types;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t#proposal-add-component {\n\t\tbackground-color: var(--v-white-base);\n\t\twidth: 420px;\n\n\t\t.modal-title,\n\t\t.modal-subtitle {\n\t\t\t//text-align: center;\n\t\t}\n\t\t.section {\n\t\t\t&:not(:first-child) {\n\t\t\t\tmargin-top: 16px;\n\t\t\t}\n\t\t\t.content-heading {\n\t\t\t\tmargin-bottom: 8px;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tfont-weight: 500;\n\t\t\t\tcolor: var(--v-gray_80-base);\n\t\t\t\ttext-align: left;\n\t\t\t\t&.copy-fees {\n\t\t\t\t\tmargin-top: 8px;\n\t\t\t\t\tmargin-bottom: 0;\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\t.tiles {\n\t\t\t\tdisplay: grid;\n\t\t\t\tgrid-template-columns: 1fr 1fr;\n\t\t\t\tgrid-column-gap: 8px;\n\t\t\t\t.tile {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tflex-direction: column;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\tgap: 8px;\n\t\t\t\t\tcursor: pointer;\n\t\t\t\t\tbackground: var(--v-gray_20-base);\n\t\t\t\t\tborder-radius: 4px;\n\t\t\t\t\theight: 100px;\n\t\t\t\t\toverflow: hidden;\n\t\t\t\t\ttransition: height 300ms, margin-top 300ms;\n\t\t\t\t\t&:not(.first-child) {\n\t\t\t\t\t\tmargin-top: 8px;\n\t\t\t\t\t}\n\t\t\t\t\t&.no-show {\n\t\t\t\t\t\theight: 0 !important;\n\t\t\t\t\t\ttransition: height 300ms, margin-top 300ms;\n\t\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\t}\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tbackground: var(--v-gray_10-base);\n\t\t\t\t\t\tsvg {\n\t\t\t\t\t\t\tfill: var(--v-primary-base);\n\t\t\t\t\t\t\t--secondary-opacity: 1;\n\t\t\t\t\t\t\t--secondary-color: var(--v-accent-base);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\t//&.no-packages {\n\t\t\t\t\t//\tbackground: var(--v-white-base);\n\t\t\t\t\t//\tborder: 1px dotted var(--v-gray_50-base);\n\t\t\t\t\t//}\n\t\t\t\t\t.instructions {\n\t\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\t\tline-height: 18px;\n\t\t\t\t\t\tfont-weight: 400;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t&.packages {\n\t\t\t\t\tgrid-template-columns: 100%;\n\t\t\t\t\t.tile {\n\t\t\t\t\t\tflex-direction: row;\n\t\t\t\t\t\tjustify-content: flex-start;\n\t\t\t\t\t\theight: 48px;\n\t\t\t\t\t\tpadding: 0 12px;\n\t\t\t\t\t\tgap: 12px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddComponent.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddComponent.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AddComponent.vue?vue&type=template&id=0fea76e6\"\nimport script from \"./AddComponent.vue?vue&type=script&lang=js\"\nexport * from \"./AddComponent.vue?vue&type=script&lang=js\"\nimport style0 from \"./AddComponent.vue?vue&type=style&index=0&id=0fea76e6&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"iconContainer\"},[_c('v-icon',{staticClass:\"dragGrouping handle\"},[_vm._v(\" $vuetify.icons.drag \")]),_c('v-icon',{staticClass:\"dragGrouping\",nativeOn:{\"click\":function($event){return _vm.confirmRemoveSection()}}},[_vm._v(\" $vuetify.icons.delete \")]),_c('div',[_vm._t(\"default\")],2)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"iconContainer\">\n\t\t<v-icon class=\"dragGrouping handle\">\n\t\t\t$vuetify.icons.drag\n\t\t</v-icon>\n\t\t<v-icon class=\"dragGrouping\" @click.native=\"confirmRemoveSection()\">\n\t\t\t$vuetify.icons.delete\n\t\t</v-icon>\n\t\t<div><slot></slot></div>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'ComponentIcons',\n\n\t\tprops: ['blockType'],\n\n\t\tmethods: {\n\t\t\tconfirmRemoveSection: function () {\n\t\t\t\tthis.$emit('confirm-remove-section');\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.iconContainer {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t}\n\n\t.dragGrouping {\n\t\tcolor: var(--v-grey-base);\n\t\tcursor: pointer;\n\t\tmargin-right: 10px;\n\t\tmargin-top: 3px;\n\n\t\t&:hover {\n\t\t\tcolor: var(--v-primary-base)\n\t\t}\n\t}\n\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ComponentIcons.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ComponentIcons.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ComponentIcons.vue?vue&type=template&id=be1d4bce&scoped=true\"\nimport script from \"./ComponentIcons.vue?vue&type=script&lang=js\"\nexport * from \"./ComponentIcons.vue?vue&type=script&lang=js\"\nimport style0 from \"./ComponentIcons.vue?vue&type=style&index=0&id=be1d4bce&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"be1d4bce\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('ul',{staticClass:\"detail-nav\"},_vm._l((_vm.computedItems),function(item){return _c('li',{directives:[{name:\"scroll-to\",rawName:\"v-scroll-to\",value:({ el: _vm.scrollAnchorIdPrefix + item.index, offset: _vm.scrollOffset }),expression:\"{ el: scrollAnchorIdPrefix + item.index, offset: scrollOffset }\"}],key:item.index,class:'d-flex pt-2 pb-2 pl-1 ' + (_vm.selectedIndex == item.index ? 'selected' : ''),on:{\"click\":function($event){return _vm.selectMe(item.index)}}},[(item.icon)?_c('div',{staticClass:\"icon\"},[_c('v-icon',{staticClass:\"nav-icon\",domProps:{\"textContent\":_vm._s('$vuetify.icons.' + item.icon)}})],1):_vm._e(),_c('div',{staticClass:\"text\",domProps:{\"innerHTML\":_vm._s(item.label)}})])}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<ul class=\"detail-nav\">\n\t\t<li\n\t\t\t\tv-for=\"item in computedItems\"\n\t\t\t\t:key=\"item.index\"\n\t\t\t\tv-scroll-to=\"{ el: scrollAnchorIdPrefix + item.index, offset: scrollOffset }\"\n\t\t\t\t:class=\"'d-flex pt-2 pb-2 pl-1 ' + (selectedIndex == item.index ? 'selected' : '')\"\n\t\t\t\t@click=\"selectMe(item.index)\"\n\t\t>\n\t\t\t<div class=\"icon\" v-if=\"item.icon\">\n\t\t\t\t<v-icon v-text=\"'$vuetify.icons.' + item.icon\" class=\"nav-icon\"></v-icon>\n\t\t\t</div>\n\t\t\t<div class=\"text\" v-html=\"item.label\">\n\t\t\t</div>\n\t\t</li>\n\t</ul>\n</template>\n\n<script>\nexport default {\n\tname: 'HNav',\n\tprops: {\n\t\titems: Array,\n\t\tselected: Number,\n\t\tscrollAnchorIdPrefix: { type: String, default: '#card-anchor-' },\n\t\tscrollOffset: { type: Number, default: -65 },\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tselectedIndex: null,\n\t\t};\n\t},\n\n\tmounted() {\n\t\tthis.selectedIndex = this.selected;\n\t},\n\n\tmethods: {\n\t\tselectMe(i) {\n\t\t\tthis.selectedIndex = i;\n\t\t},\n\t},\n\n\tcomputed: {\n\t\tcomputedItems: function(){\n\t\t\tlet result = [];\n\n\t\t\tfor(let i=0; i < this.items.length; i++){\n\t\t\t\tif(!this.$validations.isEmpty(this.items[i].label)){\n\t\t\t\t\tresult.push({\n\t\t\t\t\t\tlabel: this.items[i].label,\n\t\t\t\t\t\ticon: this.items[i].icon,\n\t\t\t\t\t\tindex: i\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn(result);\n\t\t}\n\t},\n\n\twatch: {\n\t\tselected: function(selectedNew) {\n\t\t\tthis.selectedIndex = selectedNew;\n\t\t},\n\t},\n};\n</script>\n\n<style lang=\"scss\" scoped>\nul {\n\tmargin-top: 32px;\n\twidth: 100%;\n\tpadding-left: 0;\n\tli {\n\t\tmargin-top: 5px;\n\t\tpadding-top: 9px;\n\t\tpadding-left: 4px;\n\t\tlist-style-type: none;\n\t\tborder-radius: 8px;\n\t\tcursor: pointer;\n\t\tcolor: var(--v-grey-base);\n\t\tdiv.icon {\n\t\t\twidth: 32px;\n\t\t\tpadding-right: 8px;\n\t\t\tcolor: var(--v-blue_40-base);\n\t\t\tpadding-left: 1px;\n\t\t}\n\t\tdiv.text {\n\t\t\tpadding-top: 3px;\n\t\t\tfont-size: 16px;\n\t\t\tfont-family: stratos-semibold;\n\t\t}\n\t\t&.selected {\n\t\t\tcolor: var(--v-primary-base);\n\t\t\t.nav-icon {\n\t\t\t\tcolor: var(--v-primary-base);\n\t\t\t}\n\t\t}\n\t\t&:hover {\n\t\t\tbackground-color: var(--v-carrara_50-base);\n\t\t\tcolor: var(--v-blue_40-base);\n\t\t\t.nav-icon {\n\t\t\t\tcolor: var(--v-blue_40-base);\n\t\t\t}\n\t\t}\n\t}\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HNav.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HNav.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./HNav.vue?vue&type=template&id=3a0d7dd3&scoped=true\"\nimport script from \"./HNav.vue?vue&type=script&lang=js\"\nexport * from \"./HNav.vue?vue&type=script&lang=js\"\nimport style0 from \"./HNav.vue?vue&type=style&index=0&id=3a0d7dd3&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"3a0d7dd3\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"wrapper\",style:(_vm.heightCssVars)},[_c('div',{class:_vm.option1css,style:(_vm.selectedColorsCss),on:{\"click\":function($event){return _vm.optionSelected(_vm.option1)}}},[_vm._v(_vm._s(_vm.option1))]),_c('div',{class:_vm.option2css,style:(_vm.selectedColorsCss),on:{\"click\":function($event){return _vm.optionSelected(_vm.option2)}}},[_vm._v(_vm._s(_vm.option2))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"wrapper\" :style=\"heightCssVars\">\n\t\t<div :class=\"option1css\" :style=\"selectedColorsCss\" @click=\"optionSelected(option1)\">{{ option1 }}</div>\n\t\t<div :class=\"option2css\" :style=\"selectedColorsCss\" @click=\"optionSelected(option2)\">{{ option2 }}</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: 'PillSelector',\n\n\tprops: ['option1', 'option2', 'defaultSelection', 'dense', 'selectedBackground', 'selectedColor'],\n\n\tdata: function () {\n\t\treturn {\n\t\t\tselectedOption: this.defaultSelection === undefined ? this.option1 : this.defaultSelection,\n\t\t};\n\t},\n\n\tmethods: {\n\t\toptionSelected(option) {\n\t\t\tthis.$emit('option-selected', option);\n\t\t\tthis.selectedOption = option;\n\t\t},\n\t},\n\n\tcomputed: {\n\t\theightCssVars: function () {\n\t\t\treturn {\n\t\t\t\t'--height': (this.dense ? 32 : 38) + 'px',\n\t\t\t\t'--line-height': (this.dense ? 30 : 36) + 'px',\n\t\t\t\t'--font-size': (this.dense ? 14 : 16) + 'px',\n\t\t\t};\n\t\t},\n\n\t\tselectedColorsCss: function () {\n\t\t\treturn {\n\t\t\t\t'--background-color': this.selectedBackground ? this.selectedBackground : '#FFF',\n\t\t\t\t'--color': this.selectedColor ? this.selectedColor : this.$vuetify.theme.currentTheme.primary,\n\t\t\t};\n\t\t},\n\n\t\toption1css: function () {\n\t\t\tif (this.selectedOption === this.option1) {\n\t\t\t\treturn 'selected';\n\t\t\t} else {\n\t\t\t\treturn 'unselected';\n\t\t\t}\n\t\t},\n\n\t\toption2css: function () {\n\t\t\tif (this.selectedOption === this.option2) {\n\t\t\t\treturn 'selected';\n\t\t\t} else {\n\t\t\t\treturn 'unselected';\n\t\t\t}\n\t\t},\n\t},\n};\n</script>\n\n<style scoped lang=\"scss\">\n.wrapper {\n\tdisplay: flex;\n\tflex-direction: row;\n\twidth: 100%;\n\tborder-radius: 24px;\n\tbackground-color: var(--v-carrara_50-base);\n\theight: var(--height);\n\tline-height: var(--line-height);\n\tfont-size: var(--font-size);\n\tfont-family: stratos-semibold;\n}\n\n.selected {\n\tborder-radius: 24px;\n\twidth: 50%;\n\tbackground-color: var(--background-color);\n\tcursor: pointer;\n\theight: 100%;\n\ttext-align: center;\n\tcolor: var(--color);\n\ttransition: all 200ms ease;\n}\n\n.unselected {\n\twidth: 50%;\n\tcursor: pointer;\n\theight: 100%;\n\ttext-align: center;\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PillSelector.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PillSelector.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PillSelector.vue?vue&type=template&id=628e78f6&scoped=true\"\nimport script from \"./PillSelector.vue?vue&type=script&lang=js\"\nexport * from \"./PillSelector.vue?vue&type=script&lang=js\"\nimport style0 from \"./PillSelector.vue?vue&type=style&index=0&id=628e78f6&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"628e78f6\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"proposal-status-menu\"}},[_c('v-btn',{staticClass:\"secondary-action activator-button\",on:{\"click\":function($event){return _vm.openMenu()}}},[_c('div',{staticClass:\"font-12 d-flex align-center\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"info\")]),_c('div',{staticClass:\"ml-2\"},[_vm._v(_vm._s(_vm.lastEvent))]),(_vm.hasUnread)?_c('div',{staticClass:\"unread-indicator\"}):_vm._e()],1)]),_c('basic-modal',{attrs:{\"dialog\":_vm.menu,\"persistent\":false},on:{\"close\":function($event){return _vm.closeMenu()}}},[_c('div',{attrs:{\"id\":\"proposal-status-modal\"}},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.closeMenu()}}},[_c('v-icon',[_vm._v(\"$close\")])],1),_c('div',{staticClass:\"pa-4\"},[_c('div',{staticClass:\"modal-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('proposal.activity'))+\" \")]),_c('div',{attrs:{\"id\":\"events-wrapper\"}},_vm._l((_vm.formattedList),function(item){return _c('div',{key:item.timestamp,staticClass:\"event-wrapper\"},[_c('div',{staticClass:\"timestamp\"},[_c('v-icon',{attrs:{\"size\":\"12\"}},[_vm._v(\"$clock\")]),_vm._v(\" \"+_vm._s(_vm._f(\"formatForTimeAgo\")(item.timestamp))+\" \")],1),_c('div',{staticClass:\"event\"},[_vm._v(_vm._s(item.event))])])}),0)])],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div id=\"proposal-status-menu\">\n\t\t<v-btn class=\"secondary-action activator-button\" @click=\"openMenu()\">\n\t\t\t<div class=\"font-12 d-flex align-center\">\n\t\t\t\t<v-icon small>info</v-icon>\n\t\t\t\t<div class=\"ml-2\">{{ lastEvent }}</div>\n\t\t\t\t<div class=\"unread-indicator\" v-if=\"hasUnread\"></div>\n\t\t\t</div>\n\t\t</v-btn>\n\n\t\t<basic-modal :dialog=\"menu\" :persistent=\"false\" @close=\"closeMenu()\">\n\t\t\t<div id=\"proposal-status-modal\">\n\t\t\t\t<v-btn icon class=\"close-dialog\" @click=\"closeMenu()\">\n\t\t\t\t\t<v-icon>$close</v-icon>\n\t\t\t\t</v-btn>\n\t\t\t\t<div class=\"pa-4\">\n\t\t\t\t\t<div class=\"modal-title\">\n\t\t\t\t\t\t{{ $t('proposal.activity') }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div id=\"events-wrapper\">\n\t\t\t\t\t\t<div v-for=\"item in formattedList\" :key=\"item.timestamp\" class=\"event-wrapper\">\n\t\t\t\t\t\t\t<div class=\"timestamp\">\n\t\t\t\t\t\t\t\t<v-icon size=\"12\">$clock</v-icon>\n\t\t\t\t\t\t\t\t{{ item.timestamp | formatForTimeAgo }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"event\">{{ item.event }}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</basic-modal>\n\t</div>\n</template>\n\n<script>\n  import BasicModal from '@/components/BasicModal';\n\n\texport default {\n\t\tname: 'StatusMenu',\n\n\t\tprops: ['clientId', 'proposalId', 'statusItems', 'viewedTimestamps'],\n\n\t\tcomponents: { BasicModal },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tmenu: false,\n\t\t\t\tlastReadDate: this.getLastViewedDate(),\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.$store.state.eventBus.$on(this.getChannelName(), this.newStatusEvent);\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t\tthis.$store.state.eventBus.$off(this.getChannelName(), this.newStatusEvent);\n\t\t},\n\n\t\tmethods: {\n\t\t\topenMenu() {\n\t\t\t\tthis.menu = true;\n\t\t\t\tthis.lastReadDate = new Date();\n\t\t\t},\n\n\t\t\tcloseMenu() {\n\t\t\t\tthis.menu = false;\n\t\t\t\tthis.lastReadDate = new Date();\n\t\t\t},\n\n\t\t\tgetLastViewedDate: function() {\n\t\t\t\tlet timestamp = this.viewedTimestamps['user-' + this.$store.state.loggedInUser.userId];\n\t\t\t\tif (timestamp) {\n\t\t\t\t\treturn new Date(timestamp);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tnewStatusEvent: function(event) {\n\t\t\t\tif (event.userMetadata === 'EventLog') {\n\t\t\t\t\tevent.message.timestamp = new Date().toISOString();\n\t\t\t\t\tthis.statusItems.push(event.message);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tgetChannelName() {\n\t\t\t\treturn this.$store.getters.getMessageChannelPrefix + '.p-' + this.proposalId;\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\thasUnread: function() {\n\t\t\t\tif (!this.menu && this.lastEvent !== '') {\n\t\t\t\t\tlet event = this.statusItems[this.statusItems.length - 1];\n\n\t\t\t\t\tif (this.lastReadDate === null || new Date(event.timestamp).getTime() > this.lastReadDate.getTime()) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tlastEvent: function() {\n\t\t\t\tif (this.statusItems && this.statusItems.length > 0) {\n\t\t\t\t\tlet event = this.statusItems[this.statusItems.length - 1];\n\t\t\t\t\treturn event.event + ' - ' + this.$DateTime.shortDate(event.timestamp);\n\t\t\t\t} else {\n\t\t\t\t\treturn '';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tformattedList: function() {\n\t\t\t\tlet events = [...this.statusItems];\n\t\t\t\tlet result = [];\n\t\t\t\tevents = events.reverse();\n\n\t\t\t\tfor (let i = 0; i < events.length; i++) {\n\t\t\t\t\tlet event = events[i];\n\t\t\t\t\tresult.push(event);\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t#proposal-status-menu {\n\t\t.activator-button {\n\t\t\t.unread-indicator {\n\t\t\t\tbackground-color: var(--v-primary-base);\n\t\t\t\theight: 8px;\n\t\t\t\twidth: 8px;\n\t\t\t\tborder-radius: 4px;\n\t\t\t\tmargin-top: -6px;\n\t\t\t}\n\t\t}\n\t}\n\n\t#proposal-status-modal {\n\t\twidth: 300px;\n\t\t//background-color: var(--v-white-base);\n\t\t#events-wrapper {\n\t\t\t.event-wrapper {\n\t\t\t\ttext-align: left;\n\t\t\t\tmargin-top: 8px;\n\t\t\t\t.timestamp {\n\t\t\t\t\tcolor: var(--v-gray_70-base);\n\t\t\t\t\tfont-size: 12px;\n\t\t\t\t\t.v-icon {\n\t\t\t\t\t\tmargin-top: -3px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t.event {\n          font-weight: 300;\n\t\t\t\t\tfont-size: 14px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusMenu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StatusMenu.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./StatusMenu.vue?vue&type=template&id=e3e78f9a&scoped=true\"\nimport script from \"./StatusMenu.vue?vue&type=script&lang=js\"\nexport * from \"./StatusMenu.vue?vue&type=script&lang=js\"\nimport style0 from \"./StatusMenu.vue?vue&type=style&index=0&id=e3e78f9a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"e3e78f9a\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"proposal-comments-menu\"}},[(!_vm.clientMode)?_c('v-btn',{staticClass:\"secondary-action activator-button\",on:{\"click\":function($event){return _vm.openMenu()}}},[_c('div',{staticClass:\"font-12 d-flex align-center\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"$comment\")]),_c('div',{staticClass:\"ml-2\"},[_vm._v(\" \"+_vm._s(_vm.$t('proposal.comments.comments'))+\" \")]),(_vm.hasUnread)?_c('div',{staticClass:\"unread-indicator\"}):_vm._e()],1)]):_vm._e(),(_vm.clientMode)?_c('v-btn',{staticClass:\"primary-action\",on:{\"click\":function($event){return _vm.openMenu()}}},[_c('div',{staticClass:\"row-format align-center\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"$comment\")]),_c('div',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.$t('proposals.leave-a-comment')))]),(_vm.unReadCount)?_c('div',{staticClass:\"ml-1\"},[_vm._v(\"(\"+_vm._s(_vm.unReadCount)+\" unread)\")]):_vm._e()],1)]):_vm._e(),_c('basic-modal',{attrs:{\"dialog\":_vm.menu,\"persistent\":false},on:{\"close\":function($event){return _vm.closeMenu()}}},[_c('div',{attrs:{\"id\":\"proposal-comments-modal\"}},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.closeMenu()}}},[_c('v-icon',[_vm._v(\"$close\")])],1),_c('div',{staticClass:\"modal-padding\"},[_c('div',{staticClass:\"modal-title\"},[_vm._v(\" \"+_vm._s(_vm.$t('proposals.comments'))+\" \"),_c('v-chip',{attrs:{\"pill\":\"\",\"x-small\":\"\"}},[_vm._v(_vm._s(_vm.comments.length))])],1),_c('div',{attrs:{\"id\":\"comments-wrapper\"}},_vm._l((_vm.comments),function(comment,index){return _c('div',{key:comment.id,class:'comment-wrapper' + (_vm.canEdit(comment, index) ? ' editable' : ''),on:{\"mouseover\":function($event){return _vm.setHoverIndex(index)},\"mouseleave\":function($event){return _vm.setHoverIndex(null)}}},[_c('div',{staticClass:\"author-timestamp-buttons\"},[_c('div',{staticClass:\"author-timestamp\"},[_c('div',{staticClass:\"author\"},[(comment.privateComment)?_c('v-icon',{attrs:{\"size\":\"12\",\"color\":\"var(--v-gray_90-base)\"}},[_vm._v(\"$lock\")]):_vm._e(),_vm._v(\" \"+_vm._s(comment.author)+\" \")],1),_c('div',{staticClass:\"timestamp\"},[_c('v-icon',{attrs:{\"size\":\"12\"}},[_vm._v(\"$clock\")]),_vm._v(\" \"+_vm._s(_vm._f(\"formatForTimeAgo\")(comment.timestamp))+\" \")],1)]),_c('div',{staticClass:\"edit-delete-buttons\"},[_c('v-btn',{attrs:{\"x-small\":\"\",\"icon\":\"\"},nativeOn:{\"click\":function($event){return _vm.editComment(comment, index)}}},[_c('v-icon',{attrs:{\"size\":\"16\"}},[_vm._v(\"$edit\")])],1),_c('v-btn',{attrs:{\"x-small\":\"\",\"icon\":\"\"},nativeOn:{\"click\":function($event){return _vm.confirmDelete(comment)}}},[_c('v-icon',{attrs:{\"size\":\"16\"}},[_vm._v(\"$delete\")])],1)],1)]),(_vm.editIndex !== index)?_c('div',{staticClass:\"comment\",domProps:{\"innerHTML\":_vm._s(comment.comment)}}):_vm._e(),(_vm.editIndex === index)?_c('div',{staticClass:\"comment\"},[_c('v-textarea',{attrs:{\"rows\":\"1\",\"auto-grow\":\"\",\"outlined\":\"\",\"hide-details\":\"\"},model:{value:(_vm.commentToEdit.comment),callback:function ($$v) {_vm.$set(_vm.commentToEdit, \"comment\", $$v)},expression:\"commentToEdit.comment\"}}),_c('div',{staticClass:\"foot\"},[_c('v-btn',{staticStyle:{\"width\":\"120px\"},attrs:{\"color\":\"secondary-action mr-1\",\"small\":\"\"},on:{\"click\":function($event){return _vm.cancelEdit()}}},[_vm._v(_vm._s(_vm.$t('global.cancel')))]),_c('v-btn',{staticClass:\"primary-action ml-1\",staticStyle:{\"width\":\"120px\"},attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.saveEdit()}}},[_vm._v(_vm._s(_vm.$t('global.save')))])],1)],1):_vm._e()])}),0)]),_c('div',{staticClass:\"modal-footer px-6 pb-5\"},[_c('div',{staticClass:\"textarea-wrapper\"},[_c('div',[_c('v-textarea',{staticClass:\"no-rules\",attrs:{\"persistent-placeholder\":\"\",\"hide-details\":\"\",\"autofocus\":true,\"auto-grow\":\"\",\"placeholder\":_vm.$t('proposals.write-a-comment'),\"rows\":\"1\"},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;return _vm.handleEnter($event)}},model:{value:(_vm.newComment),callback:function ($$v) {_vm.newComment=$$v},expression:\"newComment\"}})],1),_c('div',{staticClass:\"vertical-rule\"}),_c('div',[_c('div',{staticClass:\"send-button\",on:{\"click\":function($event){return _vm.sendComment()}}},[(_vm.willSendEmail)?[_vm._v(\" \"+_vm._s(_vm.$t('global.send'))+\" \")]:[_vm._v(_vm._s(_vm.$t('global.save')))]],2)])]),(!_vm.clientMode)?_c('div',{staticClass:\"checkboxes mt-3\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.privateComment),expression:\"privateComment\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.privateComment)?_vm._i(_vm.privateComment,null)>-1:(_vm.privateComment)},on:{\"change\":function($event){var $$a=_vm.privateComment,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.privateComment=$$a.concat([$$v]))}else{$$i>-1&&(_vm.privateComment=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.privateComment=$$c}}}}),_c('span',[_vm._v(_vm._s(_vm.$t('proposals.private-comment')))])]),(!_vm.privateComment)?_c('label',{staticClass:\"ml-8\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.sendEmail),expression:\"sendEmail\"}],attrs:{\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.sendEmail)?_vm._i(_vm.sendEmail,null)>-1:(_vm.sendEmail)},on:{\"change\":function($event){var $$a=_vm.sendEmail,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.sendEmail=$$a.concat([$$v]))}else{$$i>-1&&(_vm.sendEmail=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.sendEmail=$$c}}}}),_c('span',[_vm._v(_vm._s(_vm.$t('proposals.send-email')))])]):_vm._e()]):_vm._e()])],1)]),(_vm.confirmDeleteDialog)?_c('confirm-dialog',{attrs:{\"dialog\":_vm.confirmDeleteDialog,\"body-text\":_vm.$t('proposal.comments.confirm-delete')},on:{\"close\":function($event){return _vm.cancelDelete()},\"confirm\":function($event){return _vm.deleteComment()}}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div id=\"proposal-comments-menu\">\n\t\t<v-btn v-if=\"!clientMode\" class=\"secondary-action activator-button\" @click=\"openMenu()\">\n\t\t\t<div class=\"font-12 d-flex align-center\">\n\t\t\t\t<v-icon small>$comment</v-icon>\n\t\t\t\t<div class=\"ml-2\">\n\t\t\t\t\t{{ $t('proposal.comments.comments') }}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"unread-indicator\" v-if=\"hasUnread\"></div>\n\t\t\t</div>\n\t\t</v-btn>\n\n\t\t<v-btn v-if=\"clientMode\" class=\"primary-action\" @click=\"openMenu()\">\n\t\t\t<div class=\"row-format align-center\">\n\t\t\t\t<v-icon small class=\"\">$comment</v-icon>\n\t\t\t\t<div class=\"ml-1\">{{ $t('proposals.leave-a-comment') }}</div>\n\t\t\t\t<div v-if=\"unReadCount\" class=\"ml-1\">({{ unReadCount }} unread)</div>\n\t\t\t</div>\n\t\t</v-btn>\n\n\t\t<basic-modal :dialog=\"menu\" @close=\"closeMenu()\" :persistent=\"false\">\n\t\t\t<div id=\"proposal-comments-modal\">\n\t\t\t\t<v-btn icon class=\"close-dialog\" @click=\"closeMenu()\">\n\t\t\t\t\t<v-icon>$close</v-icon>\n\t\t\t\t</v-btn>\n\t\t\t\t<div class=\"modal-padding\">\n\t\t\t\t\t<div class=\"modal-title\">\n\t\t\t\t\t\t{{ $t('proposals.comments') }}\n\t\t\t\t\t\t<v-chip pill x-small>{{ comments.length }}</v-chip>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div id=\"comments-wrapper\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-for=\"(comment, index) in comments\"\n\t\t\t\t\t\t\t:key=\"comment.id\"\n\t\t\t\t\t\t\t:class=\"'comment-wrapper' + (canEdit(comment, index) ? ' editable' : '')\"\n\t\t\t\t\t\t\t@mouseover=\"setHoverIndex(index)\"\n\t\t\t\t\t\t\t@mouseleave=\"setHoverIndex(null)\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div class=\"author-timestamp-buttons\">\n\t\t\t\t\t\t\t\t<div class=\"author-timestamp\">\n\t\t\t\t\t\t\t\t\t<div class=\"author\">\n\t\t\t\t\t\t\t\t\t\t<v-icon size=\"12\" color=\"var(--v-gray_90-base)\" v-if=\"comment.privateComment\"\n\t\t\t\t\t\t\t\t\t\t\t>$lock</v-icon\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{{ comment.author }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t<div class=\"timestamp\">\n\t\t\t\t\t\t\t\t\t\t<v-icon size=\"12\">$clock</v-icon>\n\t\t\t\t\t\t\t\t\t\t{{ comment.timestamp | formatForTimeAgo }}\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"edit-delete-buttons\">\n\t\t\t\t\t\t\t\t\t<v-btn x-small icon @click.native=\"editComment(comment, index)\">\n\t\t\t\t\t\t\t\t\t\t<v-icon size=\"16\">$edit</v-icon>\n\t\t\t\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t\t\t\t<v-btn x-small icon @click.native=\"confirmDelete(comment)\">\n\t\t\t\t\t\t\t\t\t\t<v-icon size=\"16\">$delete</v-icon>\n\t\t\t\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div v-if=\"editIndex !== index\" class=\"comment\" v-html=\"comment.comment\"></div>\n\t\t\t\t\t\t\t<div v-if=\"editIndex === index\" class=\"comment\">\n\t\t\t\t\t\t\t\t<v-textarea rows=\"1\" auto-grow outlined hide-details v-model=\"commentToEdit.comment\"></v-textarea>\n\t\t\t\t\t\t\t\t<div class=\"foot\">\n\t\t\t\t\t\t\t\t\t<v-btn color=\"secondary-action mr-1\" small style=\"width: 120px;\" @click=\"cancelEdit()\"\n\t\t\t\t\t\t\t\t\t\t>{{ $t('global.cancel') }}</v-btn\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<v-btn class=\"primary-action ml-1\" small style=\"width: 120px;\" @click=\"saveEdit()\"\n\t\t\t\t\t\t\t\t\t\t>{{ $t('global.save') }}</v-btn\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"modal-footer px-6 pb-5\">\n\t\t\t\t\t<div class=\"textarea-wrapper\">\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<v-textarea\n\t\t\t\t\t\t\t\tclass=\"no-rules\"\n\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\t:autofocus=\"true\"\n\t\t\t\t\t\t\t\tv-model=\"newComment\"\n\t\t\t\t\t\t\t\tauto-grow\n\t\t\t\t\t\t\t\t:placeholder=\"$t('proposals.write-a-comment')\"\n\t\t\t\t\t\t\t\trows=\"1\"\n\t\t\t\t\t\t\t\t@keydown.enter=\"handleEnter($event)\"\n\t\t\t\t\t\t\t></v-textarea>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"vertical-rule\"></div>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t<div class=\"send-button\" @click=\"sendComment()\">\n\t\t\t\t\t\t\t\t<template v-if=\"willSendEmail\">\n\t\t\t\t\t\t\t\t\t{{ $t('global.send') }}\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t<template v-else>{{ $t('global.save') }}</template>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-if=\"!clientMode\" class=\"checkboxes mt-3\">\n\t\t\t\t\t\t<label>\n\t\t\t\t\t\t\t<input v-model=\"privateComment\" type=\"checkbox\" />\n\t\t\t\t\t\t\t<span>{{ $t('proposals.private-comment') }}</span>\n\t\t\t\t\t\t</label>\n\n\t\t\t\t\t\t<label class=\"ml-8\" v-if=\"!privateComment\">\n\t\t\t\t\t\t\t<input v-model=\"sendEmail\" type=\"checkbox\" />\n\t\t\t\t\t\t\t<span>{{ $t('proposals.send-email') }}</span>\n\t\t\t\t\t\t</label>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</basic-modal>\n\t\t<confirm-dialog\n\t\t\tv-if=\"confirmDeleteDialog\"\n\t\t\t:dialog=\"confirmDeleteDialog\"\n\t\t\t:body-text=\"$t('proposal.comments.confirm-delete')\"\n\t\t\t@close=\"cancelDelete()\"\n\t\t\t@confirm=\"deleteComment()\"\n\t\t></confirm-dialog>\n\t</div>\n</template>\n\n<script>\n\timport BasicModal from '@/components/BasicModal';\n\timport ConfirmDialog from '@/components/ConfirmDialog';\n\n\texport default {\n\t\tname: 'CommentsMenu',\n\n\t\tprops: ['clientId', 'proposalId', 'comments', 'proposalService', 'viewedTimestamps', 'clientMode'],\n\n\t\tcomponents: { BasicModal, ConfirmDialog },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tmenu: false,\n\t\t\t\tnewComment: null,\n\t\t\t\tlastReadDate: this.getLastViewedDate(),\n\t\t\t\thoverIndex: null,\n\t\t\t\teditIndex: null,\n\t\t\t\tcommentToEdit: null,\n\t\t\t\tconfirmDeleteDialog: false,\n\t\t\t\tcommentToDelete: null,\n\t\t\t\tprivateComment: false,\n\t\t\t\tsendEmail: true,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.$store.state.eventBus.$on(this.getChannelName(), this.newCommentEvent);\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t\tthis.$store.state.eventBus.$off(this.getChannelName(), this.newCommentEvent);\n\t\t},\n\n\t\tmethods: {\n\t\t\tgetLastViewedDate: function() {\n\t\t\t\tlet timestamp = this.viewedTimestamps['user-' + this.$store.state.loggedInUser.userId];\n\t\t\t\tif (timestamp) {\n\t\t\t\t\treturn new Date(timestamp);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tconfirmDelete: function(comment) {\n\t\t\t\tthis.commentToDelete = comment;\n\t\t\t\tthis.confirmDeleteDialog = true;\n\t\t\t},\n\n\t\t\tcancelDelete: function() {\n\t\t\t\tthis.commentToDelete = null;\n\t\t\t\tthis.confirmDeleteDialog = false;\n\t\t\t},\n\n\t\t\tdeleteComment: function() {\n\t\t\t\tthis.proposalService.deleteComment(this.clientId, this.proposalId, this.commentToDelete.id).then(() => {\n\t\t\t\t\tthis.commentToDelete = null;\n\t\t\t\t\tthis.confirmDeleteDialog = false;\n\t\t\t\t});\n\t\t\t},\n\n\t\t\teditComment: function(comment, index) {\n\t\t\t\tthis.commentToEdit = Object.assign({}, comment);\n\t\t\t\tthis.editIndex = index;\n\n\t\t\t\tif (this.editIndex === this.comments.length - 1) {\n\t\t\t\t\tthis.$nextTick(this.scrollToBottom);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcancelEdit: function() {\n\t\t\t\tthis.commentToEdit = null;\n\t\t\t\tthis.editIndex = null;\n\t\t\t},\n\n\t\t\tsaveEdit: function() {\n\t\t\t\tthis.proposalService.updateComment(this.clientId, this.proposalId, this.commentToEdit).then(() => {\n\t\t\t\t\tthis.comments[this.editIndex] = this.commentToEdit;\n\t\t\t\t\tthis.editIndex = null;\n\t\t\t\t\tthis.commentToEdit = null;\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tcanEdit(comment, index) {\n\t\t\t\tif (\n\t\t\t\t\tthis.editIndex === null &&\n\t\t\t\t\tcomment.authorId == this.$store.state.loggedInUser.userId &&\n\t\t\t\t\tindex === this.hoverIndex\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsetHoverIndex: function(index) {\n\t\t\t\tthis.hoverIndex = index;\n\t\t\t},\n\n\t\t\thandleEnter: function(event) {\n\t\t\t\tif (!event.shiftKey) {\n\t\t\t\t\tthis.sendComment();\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tnewCommentEvent: function(event) {\n\t\t\t\tif (event.userMetadata === 'Comment') {\n\t\t\t\t\tevent.message.timestamp = new Date().toISOString().split('.')[0] + 'Z';\n\t\t\t\t\tlet comment = event.message;\n\n\t\t\t\t\tif (comment.edited) {\n\t\t\t\t\t\tfor (let i = 0; i < this.comments.length; i++) {\n\t\t\t\t\t\t\tif (this.comments[i].id === comment.id) {\n\t\t\t\t\t\t\t\tif (comment.comment === '_deleted_') {\n\t\t\t\t\t\t\t\t\tthis.comments.splice(i, 1);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.comments[i] = comment;\n\t\t\t\t\t\t\t\t\tif (i === this.comments.length - 1) {\n\t\t\t\t\t\t\t\t\t\tthis.$nextTick(this.scrollToBottom);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.comments.push(comment);\n\t\t\t\t\t\tthis.$nextTick(this.scrollToBottom);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tscrollToBottom: function() {\n\t\t\t\tlet div = document.getElementById('commentContainer');\n\t\t\t\tif (div) {\n\t\t\t\t\tdiv.scrollTop = div.scrollHeight;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tgetChannelName() {\n\t\t\t\treturn this.$store.getters.getMessageChannelPrefix + '.p-' + this.proposalId;\n\t\t\t},\n\n\t\t\tsendComment: function() {\n\t\t\t\tif (this.$validations.isEmpty(this.newComment)) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.proposalService\n\t\t\t\t\t.sendComment(this.clientId, this.proposalId, {\n\t\t\t\t\t\tcomment: this.newComment,\n\t\t\t\t\t\tprivateComment: this.privateComment,\n\t\t\t\t\t\tsendEmail: this.sendEmail,\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tthis.$store.commit('error', err.response.data.message);\n\t\t\t\t\t});\n\n\t\t\t\tthis.newComment = null;\n\t\t\t},\n\n\t\t\topenMenu: function() {\n\t\t\t\tthis.menu = true;\n\t\t\t\tthis.lastReadDate = new Date();\n\t\t\t\tsetTimeout(this.scrollToBottom, 500);\n\t\t\t},\n\n\t\t\tcloseMenu: function() {\n\t\t\t\tthis.menu = false;\n\t\t\t\tthis.lastReadDate = new Date();\n\t\t\t\tthis.editIndex = null;\n\t\t\t\tthis.commentToEdit = null;\n\t\t\t\tthis.hoverIndex = null;\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\twillSendEmail: function() {\n\t\t\t\tif (this.privateComment || this.sendEmail === false) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tunReadCount: function() {\n\t\t\t\tlet unreadCount = 0;\n\t\t\t\tfor (let i = 0; i < this.comments.length; i++) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tthis.lastReadDate === null ||\n\t\t\t\t\t\tnew Date(this.comments[i].timestamp).getTime() > this.lastReadDate.getTime()\n\t\t\t\t\t) {\n\t\t\t\t\t\tunreadCount++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn unreadCount;\n\t\t\t},\n\n\t\t\thasUnread: function() {\n\t\t\t\tif (!this.menu && this.comments.length > 0) {\n\t\t\t\t\tlet lastComment = this.comments[this.comments.length - 1];\n\n\t\t\t\t\treturn this.lastReadDate === null || new Date(lastComment.timestamp).getTime() > this.lastReadDate.getTime();\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t#proposal-comments-menu {\n\t\t.activator-button {\n\t\t\t.unread-indicator {\n\t\t\t\tbackground-color: var(--v-primary-base);\n\t\t\t\theight: 8px;\n\t\t\t\twidth: 8px;\n\t\t\t\tborder-radius: 4px;\n\t\t\t\tmargin-top: -6px;\n\t\t\t}\n\t\t}\n\t}\n\n\t#proposal-comments-modal {\n\t\tbackground-color: var(--v-white-base);\n\t\twidth: 565px;\n\t\t//overflow: hidden;\n\t\t//position: relative;\n\n\t\t//#comments-wrapper {\n\t\t//\theight: 100%;\n\t\t//}\n\t\t.comment-wrapper {\n\t\t\tpadding: 8px;\n\t\t\tborder-radius: 4px;\n\t\t\tborder: 1px solid var(--v-gray_30-base);\n\t\t\tmargin-top: 8px;\n\n\t\t\t.author-timestamp-buttons {\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: space-between;\n\t\t\t\talign-items: center;\n\t\t\t\tfont-size: 12px;\n\t\t\t\tmin-height: 20px; // make room for buttons on right\n\t\t\t\t.author-timestamp {\n\t\t\t\t\tflex: 0 1 auto;\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tjustify-content: flex-start;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\t.v-icon {\n\t\t\t\t\t\tmargin-top: -2px;\n\t\t\t\t\t}\n\t\t\t\t\t.author {\n\t\t\t\t\t\tflex: 0 1 auto;\n\t\t\t\t\t\tfont-weight:500;\n\t\t\t\t\t\tcolor: var(--v-gray_90-base);\n\t\t\t\t\t\tmargin-right: 12px;\n\t\t\t\t\t}\n\n\t\t\t\t\t.timestamp {\n\t\t\t\t\t\tflex: 0 1 auto;\n\t\t\t\t\t\tcolor: var(--v-gray_70-base);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t.edit-delete-buttons {\n\t\t\t\t\topacity: 0;\n\t\t\t\t\ttransition: opacity 0.3s;\n\t\t\t\t\tflex: 1 0 auto;\n\t\t\t\t\ttext-align: right;\n\t\t\t\t\t.v-btn {\n\t\t\t\t\t\tcolor: var(--v-black-base);\n\t\t\t\t\t\tmargin: 0 4px;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t.comment {\n\t\t\t\ttext-align: left;\n\t\t\t\tfont-weight: 300;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tword-wrap: anywhere;\n\t\t\t\tword-break: break-all;\n\t\t\t\toverflow-wrap: break-word;\n\t\t\t\ttextarea {\n\t\t\t\t\tfont-size: 14px;\n\t\t\t\t}\n\t\t\t\t.foot {\n\t\t\t\t\tmargin-top: 8px;\n\t\t\t\t\ttext-align: right;\n\t\t\t\t}\n\t\t\t}\n\t\t\t&.editable:hover {\n\t\t\t\tbackground-color: var(--v-blue_5-base);\n\t\t\t\t.edit-delete-buttons {\n\t\t\t\t\ttransition: opacity 0.3s;\n\t\t\t\t\topacity: 1;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t//.sticky {\n\t\t//\tposition: sticky;\n\t\t//\tposition: -webkit-sticky;\n\t\t//\t//bottom: 0;\n\t\t//\twidth: 565px;\n\t\t//\tbackground-color: var(--v-white-base);\n\t\t//}\n\t\t.textarea-wrapper {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\talign-items: flex-start;\n\t\t\tborder: 1px solid var(--v-gray_50-base);\n\t\t\tborder-radius: 4px;\n\t\t\tmin-height: 40px;\n\t\t\tmargin-top: 8px;\n\t\t\t> div:first-child {\n\t\t\t\tflex: 1 0 auto;\n\t\t\t\tpadding: 8px 8px 0;\n\t\t\t\t.v-input.v-textarea {\n\t\t\t\t\tpadding-top: 0;\n\t\t\t\t\tmargin-top: 0;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tfont-weight: 300 !important;\n\t\t\t\t}\n\t\t\t}\n\t\t\tdiv.vertical-rule {\n\t\t\t\twidth: 1px;\n\t\t\t\theight: 24px;\n\t\t\t\tbackground-color: var(--v-gray_50-base);\n\t\t\t\tmargin-top: 7px;\n\t\t\t}\n\t\t\t> div:last-child {\n\t\t\t\tflex: 0 0 56px;\n\t\t\t\t.send-button {\n\t\t\t\t\theight: 38px;\n\t\t\t\t\twidth: 56px;\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\tjustify-content: center;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tfont-weight: 500;\n\t\t\t\t\tfont-size: 14px;\n\t\t\t\t\tcolor: var(--v-blue_50-base);\n\t\t\t\t\tcursor: pointer;\n\t\t\t\t\tborder-radius: 4px;\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\topacity: 0.8;\n\t\t\t\t\t}\n\t\t\t\t\t&:active {\n\t\t\t\t\t\tbackground-color: var(--v-blue_10-base);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t.checkboxes {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: flex-start;\n\t\t\talign-items: center;\n\t\t\tlabel {\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tcursor: pointer;\n\t\t\t\tinput {\n\t\t\t\t\twidth: 14px;\n\t\t\t\t\theight: 14px;\n\t\t\t\t\tmargin-right: 8px;\n\t\t\t\t}\n\t\t\t\tfont-size: 14px;\n\t\t\t\tfont-weight:300;\n\t\t\t}\n\t\t}\n\t}\n\t//#proposal-comments-delete-modal {\n\t//\tbackground-color: var(--v-white-base);\n\t//\twidth: 300px;\n\t//}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommentsMenu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommentsMenu.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CommentsMenu.vue?vue&type=template&id=4a89d4f0\"\nimport script from \"./CommentsMenu.vue?vue&type=script&lang=js\"\nexport * from \"./CommentsMenu.vue?vue&type=script&lang=js\"\nimport style0 from \"./CommentsMenu.vue?vue&type=style&index=0&id=4a89d4f0&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VChip,VIcon,VTextarea})\n","export default {\n\tmethods: {},\n\n\tcomputed: {\n\t\tbodyStyle: function() {\n\t\t\tif (!this.proposal) return '';\n\t\t\tif (!this.proposal.formatting) return '';\n\t\t\treturn `font-family: ${this.proposal.formatting.bodyFont}; text-align:left; color: var(--v-gray_80-base); font-size: 16px`;\n\t\t},\n\n\t\theaderStyle: function() {\n\t\t\tif (!this.proposal) return '';\n\t\t\tif (!this.proposal.formatting) return '';\n\t\t\treturn `font-size: 22px; font-family: ${this.proposal.formatting.headerFont}; font-weight: ${this.headerWeight}; text-align: ${this.proposal.formatting.headerAlignment}`;\n\t\t},\n\n\t\tclientName: function() {\n\t\t\tif (!this.proposal) return '';\n\t\t\tif (this.proposal.clientMini != null) {\n\t\t\t\treturn this.proposal.clientMini.name;\n\t\t\t} else if (this.templateMode) {\n\t\t\t\treturn '{{Client.Name}}';\n\t\t\t} else {\n\t\t\t\treturn '';\n\t\t\t}\n\t\t},\n\n\t\tcontractorName: function() {\n\t\t\tif (!this.proposal) return '';\n\t\t\tif (this.proposal.accountMini != null) {\n\t\t\t\treturn this.proposal.accountMini.accountName;\n\t\t\t} else if (this.templateMode) {\n\t\t\t\treturn '{{MyBusinessName}}';\n\t\t\t} else {\n\t\t\t\treturn '';\n\t\t\t}\n\t\t},\n\t},\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"pa-0 ma-0 selector_text\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{style:(_vm.headerStyle),attrs:{\"cols\":\"12\"}},[(!_vm.editMode)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.lHeader)}}):_vm._e(),(_vm.editMode)?_c('editor',{ref:\"headerEditor\",staticClass:\"grey-dots\",attrs:{\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.lHeader,\"inline\":true,\"init\":_vm.mceConfigHeader},on:{\"input\":_vm.handleHeaderInput}}):_vm._e()],1),_c('v-col',{attrs:{\"cols\":\"12\",\"align\":\"center\"}},[(!_vm.editMode)?_c('v-btn',{staticStyle:{\"min-width\":\"200px\"},attrs:{\"large\":\"\",\"elevation\":\"0\",\"color\":\"primary\",\"outlined\":\"\",\"disabled\":!_vm.clientMode || _vm.isLocked},on:{\"click\":function($event){return _vm.confirmAccept()}}},[_c('div',[_vm._v(_vm._s(_vm.lText))]),_c('v-icon',{staticClass:\"ml-2\",attrs:{\"color\":\"primary\"}},[_vm._v(\"$success\")])],1):_c('div',{staticClass:\"row-format centered font-16 font-primary brand-medium\",staticStyle:{\"border\":\"1px solid var(--v-primary-base)\",\"border-radius\":\"4px\",\"width\":\"fit-content\",\"min-width\":\"200px\",\"height\":\"50px\"}},[_c('div',{staticClass:\"px-2\",staticStyle:{\"width\":\"fit-content\"},attrs:{\"contenteditable\":\"\"},on:{\"input\":function($event){return _vm.handleTextInput($event)}}},[_vm._v(_vm._s(_vm.seedText))]),_c('v-icon',{staticClass:\"ml-2\",attrs:{\"color\":\"primary\",\"size\":\"20\"}},[_vm._v(\"$success\")])],1),(_vm.accepted)?_c('div',{staticClass:\"ipBlock mt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('proposals.country'))+\": \"),_c('img',{attrs:{\"src\":_vm.ip.countryFlag,\"width\":\"15px\"}}),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('proposals.ip'))+\": \"+_vm._s(_vm.ip.ip)),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('proposals.location'))+\": \"+_vm._s(_vm.ip.city)+\", \"+_vm._s(_vm.ip.region)+\", \"+_vm._s(_vm.ip.country)),_c('br'),_vm._v(\" \"+_vm._s(_vm.$t('proposals.date'))+\": \"+_vm._s(this.$DateTime.dateTime(_vm.acceptedAt))+\" \")]):_vm._e()],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<v-container fluid class=\"pa-0 ma-0 selector_text\">\n\t\t<v-row>\n\t\t\t<v-col cols=\"12\" :style=\"headerStyle\">\n\t\t\t\t<span v-html=\"lHeader\" v-if=\"!editMode\"></span>\n\t\t\t\t<editor\n\t\t\t\t\tref=\"headerEditor\"\n\t\t\t\t\tclass=\"grey-dots\"\n\t\t\t\t\tv-if=\"editMode\"\n\t\t\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t\t\t:initial-value=\"lHeader\"\n\t\t\t\t\t:inline=\"true\"\n\t\t\t\t\t:init=\"mceConfigHeader\"\n\t\t\t\t\t@input=\"handleHeaderInput\"\n\t\t\t\t></editor>\n\t\t\t</v-col>\n\t\t\t<v-col cols=\"12\" align=\"center\">\n\t\t\t\t<v-btn style=\"min-width: 200px\" large elevation=\"0\" color=\"primary\" outlined v-if=\"!editMode\" :disabled=\"!clientMode || isLocked\" @click=\"confirmAccept()\">\n\t\t\t\t\t<div>{{lText}}</div>\n\t\t\t\t\t<v-icon color=\"primary\" class=\"ml-2\" >$success</v-icon>\n\t\t\t\t</v-btn>\n\t\t\t\t<div v-else class=\"row-format centered font-16 font-primary brand-medium\" style=\"border: 1px solid var(--v-primary-base); border-radius: 4px; width: fit-content; min-width: 200px; height: 50px\">\n\t\t\t\t\t<div contenteditable style=\"width: fit-content\" class=\"px-2\" @input=\"handleTextInput($event)\">{{seedText}}</div>\n\t\t\t\t\t<v-icon color=\"primary\" size=\"20\" class=\"ml-2\" >$success</v-icon>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"ipBlock mt-4\" v-if=\"accepted\">\n\t\t\t\t\t{{ $t('proposals.country') }}: <img :src=\"ip.countryFlag\" width=\"15px\" /><br />\n\t\t\t\t\t{{ $t('proposals.ip') }}: {{ ip.ip }}<br />\n\t\t\t\t\t{{ $t('proposals.location') }}: {{ ip.city }}, {{ ip.region }}, {{ ip.country }}<br />\n\t\t\t\t\t{{ $t('proposals.date') }}: {{ this.$DateTime.dateTime(acceptedAt) }}\n\t\t\t\t</div>\n\t\t\t</v-col>\n\t\t</v-row>\n\t</v-container>\n</template>\n\n<script>\n\timport ConfirmModal from '@/components/ConfirmModal';\n\n  export default {\n\t\tname: 'AcceptBlock',\n\n\t\tprops: ['header', 'text', 'id', 'editMode', 'clientMode', 'isLocked', 'blockType', 'ip', 'acceptedAt', 'accepted', 'mceConfigHeader', 'mceConfigText', 'headerStyle','bodyStyle','proposalType'],\n\n\t\tcomponents: {\n\t\t\teditor: () => import(/* webpackChunkName: \"tinymce\" */ '@tinymce/tinymce-vue'),\n\t\t},\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tlText: this.text,\n\t\t\t\tlHeader: this.header,\n\t\t\t\tseedText: this.text,\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\thandleHeaderInput: function () {\n\t\t\t\tthis.lHeader = this.$refs.headerEditor.editor.getContent();\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\thandleTextInput: function(event){\n\t\t\t\tthis.lText = event.target.innerText;\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n      confirmAccept: function(){\n        this.$emit('request-them-sign');\n      },\n\n      allowThemSign: function(){\n        let binding = {\n          headingText: this.$t('global.confirm'),\n          bodyText: `${this.$t('proposals.accept')} ${this.proposalType}?`\n        }\n        this.$store.state.globalModalController.openModal(ConfirmModal,binding).then((res) => {\n          if(res){\n            this.notifyChange();\n          }\n        });\n      },\n\n\t\t\tnotifyChange() {\n\t\t\t\tthis.$emit('changed', {\n\t\t\t\t\tid: this.id,\n\t\t\t\t\tblockType: this.blockType,\n\t\t\t\t\theader: this.lHeader,\n\t\t\t\t\ttext: this.lText,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n  .ipBlock {\n    width:fit-content;\n    text-align: left;\n    color: darkgray;\n    font-size: 0.7em;\n  }\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AcceptBlock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AcceptBlock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AcceptBlock.vue?vue&type=template&id=060d8bb2&scoped=true\"\nimport script from \"./AcceptBlock.vue?vue&type=script&lang=js\"\nexport * from \"./AcceptBlock.vue?vue&type=script&lang=js\"\nimport style0 from \"./AcceptBlock.vue?vue&type=style&index=0&id=060d8bb2&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"060d8bb2\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VIcon,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"pa-0 ma-0 selector_text\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{style:(_vm.headerStyle),attrs:{\"cols\":\"12\"}},[(!_vm.editMode)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.lHeader)}}):_vm._e(),(_vm.editMode)?_c('editor',{ref:\"headerEditor\",staticClass:\"grey-dots\",attrs:{\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.lHeader,\"inline\":true,\"init\":_vm.mceConfigHeader},on:{\"input\":_vm.handleHeaderInput}}):_vm._e()],1),_c('v-col',{staticStyle:{\"text-align\":\"left\"},attrs:{\"cols\":\"12\"}},[_c('span',{style:(_vm.bodyStyle)},[(!_vm.editMode)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.lText)}}):_vm._e(),(_vm.editMode)?_c('editor',{ref:\"textEditor\",staticStyle:{\"padding\":\"4px\"},attrs:{\"iniline\":true,\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.lText,\"init\":_vm.mceConfigText},on:{\"input\":_vm.handleTextInput}}):_vm._e()],1)]),_c('v-col',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.isLocked || _vm.cardPaymentFailed || (!_vm.pendingCharge && !_vm.clientMode)),expression:\"!isLocked || cardPaymentFailed || (!pendingCharge && !clientMode)\"}],attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"pa-3 text-left column-format\",staticStyle:{\"border\":\"1px solid var(--v-gray_50-base)\",\"border-radius\":\"8px\",\"gap\":\"16px\"}},[(!_vm.clientMode && !_vm.forceAllDeliverables)?_c('div',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({ content: 'Amount will be set based on client selections' }),expression:\"{ content: 'Amount will be set based on client selections' }\"}],staticClass:\"brand-medium\",staticStyle:{\"width\":\"fit-content\"}},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(_vm.upFrontAmount, true, true, _vm.currency))+\" \")]):_c('div',{staticClass:\"brand-medium\"},[_vm._v(_vm._s(_vm.$formatters.dollars(_vm.upFrontAmount, true, true, _vm.currency)))]),_c('div',{ref:\"card\",staticStyle:{\"border-bottom\":\"1px solid var(--v-gray_50-base)\"}}),_c('div',{staticClass:\"row-format gap-1 mt-1\"},[_c('v-img',{staticStyle:{\"max-width\":\"30px\",\"margin-left\":\"-2px\"},attrs:{\"src\":\"/images/payment/american_express.svg\"}}),_c('v-img',{staticStyle:{\"max-width\":\"30px\"},attrs:{\"src\":\"/images/payment/visa.svg\"}}),_c('v-img',{staticStyle:{\"max-width\":\"30px\"},attrs:{\"src\":\"/images/payment/mastercard.svg\"}}),_c('v-img',{staticStyle:{\"max-width\":\"30px\"},attrs:{\"src\":\"/images/payment/discover.svg\"}})],1)])]),(_vm.pendingCharge && _vm.pendingCharge.clientPaymentMethod)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"pa-3 font-14 text-left column-format font-italic font-primary\",staticStyle:{\"border\":\"1px solid var(--v-gray_50-base)\",\"border-radius\":\"8px\",\"gap\":\"16px\"}},[_c('div',[_vm._v(\" \"+_vm._s(_vm.pendingCharge.clientPaymentMethod.label)+\" \"+_vm._s(_vm.pendingCharge.clientPaymentMethod.last4)+\" charged \"+_vm._s(_vm.$formatters.dollars(_vm.pendingCharge.amount, true, true, _vm.pendingCharge.currency))+\" \"+_vm._s(_vm.pendingCharge.currency)+\" on \"+_vm._s(_vm.$DateTime.fromISO(_vm.pendingCharge.timestamp).toLocaleString(_vm.$DateTime.DATETIME_MED))+\" \")]),_c('div',{staticClass:\"row-format gap-1 mt-0\"},[_c('v-img',{staticStyle:{\"max-width\":\"30px\",\"margin-left\":\"-2px\"},attrs:{\"src\":\"/images/payment/american_express.svg\"}}),_c('v-img',{staticStyle:{\"max-width\":\"30px\"},attrs:{\"src\":\"/images/payment/visa.svg\"}}),_c('v-img',{staticStyle:{\"max-width\":\"30px\"},attrs:{\"src\":\"/images/payment/mastercard.svg\"}}),_c('v-img',{staticStyle:{\"max-width\":\"30px\"},attrs:{\"src\":\"/images/payment/discover.svg\"}})],1)])]):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<v-container fluid class=\"pa-0 ma-0 selector_text\">\n\t\t<v-row>\n\t\t\t<v-col cols=\"12\" :style=\"headerStyle\">\n\t\t\t\t<span v-html=\"lHeader\" v-if=\"!editMode\"></span>\n\t\t\t\t<editor\n\t\t\t\t\tref=\"headerEditor\"\n\t\t\t\t\tclass=\"grey-dots\"\n\t\t\t\t\tv-if=\"editMode\"\n\t\t\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t\t\t:initial-value=\"lHeader\"\n\t\t\t\t\t:inline=\"true\"\n\t\t\t\t\t:init=\"mceConfigHeader\"\n\t\t\t\t\t@input=\"handleHeaderInput\"\n\t\t\t\t></editor>\n\t\t\t</v-col>\n\t\t\t<v-col cols=\"12\" style=\"text-align: left;\">\n\t\t\t\t<span :style=\"bodyStyle\">\n\t\t\t\t\t<span v-html=\"lText\" v-if=\"!editMode\"></span>\n\t\t\t\t\t<editor\n\t\t\t\t\t\tv-if=\"editMode\"\n\t\t\t\t\t\tref=\"textEditor\"\n\t\t\t\t\t\t:iniline=\"true\"\n\t\t\t\t\t\tstyle=\"padding: 4px\"\n\t\t\t\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t\t\t\t:initial-value=\"lText\"\n\t\t\t\t\t\t:init=\"mceConfigText\"\n\t\t\t\t\t\t@input=\"handleTextInput\"\n\t\t\t\t\t></editor>\n\t\t\t\t</span>\n\t\t\t</v-col>\n\t\t\t<v-col cols=\"12\" v-show=\"!isLocked || cardPaymentFailed || (!pendingCharge && !clientMode)\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"pa-3 text-left column-format\"\n\t\t\t\t\tstyle=\"border: 1px solid var(--v-gray_50-base); border-radius: 8px; gap: 16px\"\n\t\t\t\t>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"brand-medium\"\n\t\t\t\t\t\tstyle=\"width: fit-content\"\n\t\t\t\t\t\tv-if=\"!clientMode && !forceAllDeliverables\"\n\t\t\t\t\t\tv-tippy=\"{ content: 'Amount will be set based on client selections' }\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ $formatters.dollars(upFrontAmount, true, true, currency) }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"brand-medium\" v-else>{{ $formatters.dollars(upFrontAmount, true, true, currency) }}</div>\n\t\t\t\t\t<div ref=\"card\" style=\"border-bottom: 1px solid var(--v-gray_50-base)\"></div>\n\t\t\t\t\t<div class=\"row-format gap-1 mt-1\">\n\t\t\t\t\t\t<v-img src=\"/images/payment/american_express.svg\" style=\"max-width: 30px; margin-left: -2px\"></v-img>\n\t\t\t\t\t\t<v-img src=\"/images/payment/visa.svg\" style=\"max-width: 30px\"></v-img>\n\t\t\t\t\t\t<v-img src=\"/images/payment/mastercard.svg\" style=\"max-width: 30px\"></v-img>\n\t\t\t\t\t\t<v-img src=\"/images/payment/discover.svg\" style=\"max-width: 30px\"></v-img>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</v-col>\n\t\t\t<v-col v-if=\"pendingCharge && pendingCharge.clientPaymentMethod\" cols=\"12\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"pa-3 font-14 text-left column-format font-italic font-primary\"\n\t\t\t\t\tstyle=\"border: 1px solid var(--v-gray_50-base); border-radius: 8px; gap: 16px\"\n\t\t\t\t>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{{ pendingCharge.clientPaymentMethod.label }} {{ pendingCharge.clientPaymentMethod.last4 }} charged\n\t\t\t\t\t\t{{ $formatters.dollars(pendingCharge.amount, true, true, pendingCharge.currency) }}\n\t\t\t\t\t\t{{ pendingCharge.currency }} on\n\t\t\t\t\t\t{{ $DateTime.fromISO(pendingCharge.timestamp).toLocaleString($DateTime.DATETIME_MED) }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"row-format gap-1 mt-0\">\n\t\t\t\t\t\t<v-img src=\"/images/payment/american_express.svg\" style=\"max-width: 30px; margin-left: -2px\"></v-img>\n\t\t\t\t\t\t<v-img src=\"/images/payment/visa.svg\" style=\"max-width: 30px\"></v-img>\n\t\t\t\t\t\t<v-img src=\"/images/payment/mastercard.svg\" style=\"max-width: 30px\"></v-img>\n\t\t\t\t\t\t<v-img src=\"/images/payment/discover.svg\" style=\"max-width: 30px\"></v-img>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</v-col>\n\t\t</v-row>\n\t</v-container>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'PaymentCaptureBlock',\n\n\t\tprops: [\n\t\t\t'header',\n\t\t\t'text',\n\t\t\t'id',\n\t\t\t'editMode',\n\t\t\t'clientMode',\n\t\t\t'upFrontAmount',\n\t\t\t'forceAllDeliverables',\n\t\t\t'currency',\n\t\t\t'isLocked',\n\t\t\t'blockType',\n\t\t\t'mceConfigHeader',\n\t\t\t'mceConfigText',\n\t\t\t'headerStyle',\n\t\t\t'bodyStyle',\n\t\t\t'proposalType',\n\t\t\t'account',\n\t\t\t'pendingCharge',\n\n\t\t\t'cardPaymentFailed',\n\t\t],\n\n\t\tcomponents: {\n\t\t\teditor: () => import(/* webpackChunkName: \"tinymce\" */ '@tinymce/tinymce-vue'),\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tlText: this.text,\n\t\t\t\tlHeader: this.header,\n\t\t\t\tseedText: this.text,\n\t\t\t\tstripe: null,\n\t\t\t};\n\t\t},\n\n\t\tmounted: function() {\n\t\t\tif (this.account.stripeAccountId) {\n\t\t\t\tthis.stripe = window.Stripe(process.env.VUE_APP_STRIPE_KEY, { stripeAccount: this.account.stripeAccountId });\n\t\t\t\tthis.elements = this.stripe.elements();\n\t\t\t\tthis.card = this.elements.create('card',{\n          style: {\n            base: {\n              color: this.$vuetify.theme.dark ? 'white' : 'black'\n            },\n          }\n        });\n\t\t\t\tthis.card.mount(this.$refs.card);\n\t\t\t}\n\t\t},\n\n\t\tmethods: {\n\t\t\thandleHeaderInput: function() {\n\t\t\t\tthis.lHeader = this.$refs.headerEditor.editor.getContent();\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\thandleTextInput: function() {\n\t\t\t\tthis.lText = this.$refs.textEditor.editor.getContent();\n\t\t\t\tthis.notifyChange();\n\t\t\t},\n\n\t\t\texchangeCardForToken() {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\tthis.stripe\n\t\t\t\t\t\t.createToken(this.card)\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\tif (res.error) {\n\t\t\t\t\t\t\t\treject(res.error.message);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tresolve(res.token.id);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((err) => reject(err));\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tnotifyChange() {\n\t\t\t\tthis.$emit('changed', {\n\t\t\t\t\tid: this.id,\n\t\t\t\t\tblockType: this.blockType,\n\t\t\t\t\theader: this.lHeader,\n\t\t\t\t\ttext: this.lText,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.ipBlock {\n\t\twidth: fit-content;\n\t\ttext-align: left;\n\t\tcolor: darkgray;\n\t\tfont-size: 0.7em;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentCaptureBlock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentCaptureBlock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PaymentCaptureBlock.vue?vue&type=template&id=4eaf54b2&scoped=true\"\nimport script from \"./PaymentCaptureBlock.vue?vue&type=script&lang=js\"\nexport * from \"./PaymentCaptureBlock.vue?vue&type=script&lang=js\"\nimport style0 from \"./PaymentCaptureBlock.vue?vue&type=style&index=0&id=4eaf54b2&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4eaf54b2\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VImg } from 'vuetify/lib/components/VImg';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VImg,VRow})\n","<template>\n\t<div id=\"proposal-wrapper\" class=\"mx-0 my-5\" @click=\"setEditIndex(-1)\">\n\t\t<div id=\"proposal-area\">\n\t\t\t<div id=\"proposal\" :style=\"`--v-proposal-height:${proposalHeight}px;`\">\n\t\t\t\t<div id=\"proposal-background\" class=\"proposal-wrapper\">\n\t\t\t\t\t<v-container fluid>\n\t\t\t\t\t\t<v-row id=\"cover-page-row\" :class=\"editMode ? 'edit-mode' : ''\">\n\t\t\t\t\t\t\t<v-col cols=\"12\" class=\"pa-0 mb-5\">\n\t\t\t\t\t\t\t\t<cover-page\n\t\t\t\t\t\t\t\t\t:proposal-type=\"proposal.proposalType\"\n\t\t\t\t\t\t\t\t\t:mceConfigHeader=\"mceConfigCover\"\n\t\t\t\t\t\t\t\t\tv-bind=\"proposal.coverPage\"\n\t\t\t\t\t\t\t\t\t:editMode=\"editMode\"\n\t\t\t\t\t\t\t\t\t:templateMode=\"templateMode\"\n\t\t\t\t\t\t\t\t\t:formatting=\"proposal.formatting\"\n\t\t\t\t\t\t\t\t\t:client-name=\"clientName\"\n\t\t\t\t\t\t\t\t\t:contractor-name=\"contractorName\"\n\t\t\t\t\t\t\t\t\t:client-mode=\"clientMode\"\n\t\t\t\t\t\t\t\t\t:heading-position=\"proposal.coverPage.headingPosition\"\n\t\t\t\t\t\t\t\t\t@changed=\"handleCoverPageChange($event)\"\n\t\t\t\t\t\t\t\t\t@cover-modal=\"$emit('cover-menu-open')\"\n\t\t\t\t\t\t\t\t\t:logo=\"logo\"\n\t\t\t\t\t\t\t\t></cover-page>\n\t\t\t\t\t\t\t</v-col>\n\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t<draggable v-model=\"proposal.contentBlocks\" group=\"schema\" handle=\".handle\" @end=\"dragEnd\" v-if=\"isReady\">\n\t\t\t\t\t\t\t<v-row\n\t\t\t\t\t\t\t\tv-for=\"(block, index) in contentBlocks\"\n\t\t\t\t\t\t\t\t:key=\"block.id\"\n\t\t\t\t\t\t\t\talign=\"center\"\n\t\t\t\t\t\t\t\t@click.stop=\"setEditIndex(index)\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<v-col cols=\"12\" class=\"content-block pa-0 mb-1\">\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tstyle=\"height: 1px\"\n\t\t\t\t\t\t\t\t\t\t:id=\"`proposal-wrapper-${index}`\"\n\t\t\t\t\t\t\t\t\t\tv-intersect=\"{\n\t\t\t\t\t\t\t\t\t\t\thandler: handleIntersect,\n\t\t\t\t\t\t\t\t\t\t\toptions: scrollObserverOptions,\n\t\t\t\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t\t\t\t></div>\n\t\t\t\t\t\t\t\t\t<div class=\"builder-wrapper\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"add-new-button\" v-if=\"!clientMode && isEditable\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"add-new-rule\"></div>\n\t\t\t\t\t\t\t\t\t\t\t<v-btn color=\"gray_20\" elevation=\"0\" @click=\"addContentAt(index)\" small>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-icon size=\"16\">$plus</v-icon>\n\t\t\t\t\t\t\t\t\t\t\t\t<span class=\"ml-1 brand-semilight\">{{ $t('proposal.content.add') }}</span>\n\t\t\t\t\t\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t<div class=\"builder-control\" v-if=\"!clientMode && isEditable && editIndex === index\">\n\t\t\t\t\t\t\t\t\t\t\t<v-btn\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"secondary-action\"\n\t\t\t\t\t\t\t\t\t\t\t\ticon\n\t\t\t\t\t\t\t\t\t\t\t\ttext\n\t\t\t\t\t\t\t\t\t\t\t\t@click.native=\"shiftUp(index)\"\n\t\t\t\t\t\t\t\t\t\t\t\tv-tippy=\"{ content: 'Move Up' }\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-icon size=\"20\">$chevronUp</v-icon>\n\t\t\t\t\t\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t\t\t\t\t\t<v-btn\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"secondary-action\"\n\t\t\t\t\t\t\t\t\t\t\t\ticon\n\t\t\t\t\t\t\t\t\t\t\t\ttext\n\t\t\t\t\t\t\t\t\t\t\t\t@click.native=\"shiftDown(index)\"\n\t\t\t\t\t\t\t\t\t\t\t\tv-tippy=\"{ content: 'Move Down' }\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-icon size=\"20\">$chevronDown</v-icon>\n\t\t\t\t\t\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t\t\t\t\t\t<v-btn\n\t\t\t\t\t\t\t\t\t\t\t\tclass=\"secondary-action\"\n\t\t\t\t\t\t\t\t\t\t\t\ticon\n\t\t\t\t\t\t\t\t\t\t\t\ttext\n\t\t\t\t\t\t\t\t\t\t\t\t@click.native=\"confirmRemoveSection(index)\"\n\t\t\t\t\t\t\t\t\t\t\t\tv-tippy=\"{ content: 'Delete section' }\"\n\t\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t\t<v-icon size=\"20\">$delete</v-icon>\n\t\t\t\t\t\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t\t\t<component\n\t\t\t\t\t\t\t\t\t\t\tv-bind=\"block\"\n\t\t\t\t\t\t\t\t\t\t\t:block=\"block\"\n\t\t\t\t\t\t\t\t\t\t\t:key=\"block.id\"\n\t\t\t\t\t\t\t\t\t\t\t:ref=\"block.id\"\n\t\t\t\t\t\t\t\t\t\t\t:is=\"block.blockType\"\n\t\t\t\t\t\t\t\t\t\t\t:edit-mode=\"!clientMode && isEditable && editIndex === index\"\n\t\t\t\t\t\t\t\t\t\t\t:template-mode=\"templateMode\"\n\t\t\t\t\t\t\t\t\t\t\t:account=\"proposal.accountMini\"\n\t\t\t\t\t\t\t\t\t\t\t:client=\"proposal.clientMini\"\n\t\t\t\t\t\t\t\t\t\t\t:proposal-id=\"proposal.id\"\n\t\t\t\t\t\t\t\t\t\t\t:client-id=\"proposal.clientId\"\n\t\t\t\t\t\t\t\t\t\t\t:mce-config-cover=\"mceConfigCover\"\n\t\t\t\t\t\t\t\t\t\t\t:mce-config-header=\"mceConfigHeader\"\n\t\t\t\t\t\t\t\t\t\t\t:mce-config-text=\"mceConfigText\"\n\t\t\t\t\t\t\t\t\t\t\t:deliverables-count=\"deliverablesCount\"\n\t\t\t\t\t\t\t\t\t\t\t:force-all-deliverables=\"proposal.forceAllDeliverables\"\n\t\t\t\t\t\t\t\t\t\t\t:allow-multiple-deliverables=\"proposal.allowMultipleDeliverables\"\n\t\t\t\t\t\t\t\t\t\t\t:deliverable-selected=\"deliverableSelected\"\n\t\t\t\t\t\t\t\t\t\t\t:proposal-service=\"proposalService\"\n\t\t\t\t\t\t\t\t\t\t\t:template-service=\"templateService\"\n\t\t\t\t\t\t\t\t\t\t\t:client-mode=\"clientMode\"\n\t\t\t\t\t\t\t\t\t\t\t:formatting=\"proposal.formatting\"\n\t\t\t\t\t\t\t\t\t\t\t:header-style=\"headerStyle\"\n\t\t\t\t\t\t\t\t\t\t\t:body-style=\"bodyStyle\"\n\t\t\t\t\t\t\t\t\t\t\t:is-locked=\"isLocked\"\n\t\t\t\t\t\t\t\t\t\t\t:refresh-key=\"refreshKey\"\n\t\t\t\t\t\t\t\t\t\t\t:currency=\"proposal.currency\"\n\t\t\t\t\t\t\t\t\t\t\t:proposal-type=\"proposal.proposalType\"\n\t\t\t\t\t\t\t\t\t\t\t:up-front-amount=\"upFrontAmount\"\n\t\t\t\t\t\t\t\t\t\t\t:payment-node-count=\"paymentCount\"\n\t\t\t\t\t\t\t\t\t\t\t:pending-charge=\"proposal.pendingCharge\"\n\t\t\t\t\t\t\t\t\t\t\t:card-payment-failed=\"cardPaymentFailed\"\n\t\t\t\t\t\t\t\t\t\t\t@changed=\"handleContentBlockChange(index, $event)\"\n\t\t\t\t\t\t\t\t\t\t\t@toggleMultipleDeliverables=\"toggleMultipleDeliverables()\"\n\t\t\t\t\t\t\t\t\t\t\t@total-upfront-amount=\"handleUpFrontAmount(block, $event)\"\n\t\t\t\t\t\t\t\t\t\t\t@create-package-from-deliverables=\"$emit('create-package-from-deliverables', $event)\"\n\t\t\t\t\t\t\t\t\t\t\t@request-them-sign=\"requestThemSign(block)\"\n\t\t\t\t\t\t\t\t\t\t></component>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</v-col>\n\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t</draggable>\n\t\t\t\t\t\t<v-row align=\"center\">\n\t\t\t\t\t\t\t<v-col cols=\"12\" class=\"content-block py-0 px-12\">\n\t\t\t\t\t\t\t\t<div class=\"add-new-button\" v-if=\"!clientMode && isEditable\">\n\t\t\t\t\t\t\t\t\t<div class=\"add-new-rule\"></div>\n\t\t\t\t\t\t\t\t\t<v-btn\n\t\t\t\t\t\t\t\t\t\tcolor=\"gray_20\"\n\t\t\t\t\t\t\t\t\t\televation=\"0\"\n\t\t\t\t\t\t\t\t\t\t@click=\"addContentAt(proposal.contentBlocks.length)\"\n\t\t\t\t\t\t\t\t\t\tsmall\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<v-icon size=\"16\">$plus</v-icon>\n\t\t\t\t\t\t\t\t\t\t<span class=\"ml-1 brand-semilight\">{{ $t('proposal.content.add') }}</span>\n\t\t\t\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</v-col>\n\t\t\t\t\t\t</v-row>\n\t\t\t\t\t</v-container>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<basic-modal :dialog=\"removeSectionDialog\" :persistent=\"true\" @close=\"cancelRemoveSection()\">\n\t\t\t<div id=\"delete-section-modal\">\n\t\t\t\t<v-btn icon class=\"close-dialog\" @click=\"$emit('close')\">\n\t\t\t\t\t<v-icon>$close</v-icon>\n\t\t\t\t</v-btn>\n\t\t\t\t<div class=\"modal-padding\">\n\t\t\t\t\t<div class=\"modal-title text-center\">\n\t\t\t\t\t\t<span class=\"pr-1\">\n\t\t\t\t\t\t\t<v-icon color=\"warning\" class=\"mt-n1\" size=\"24\">$alert</v-icon>\n\t\t\t\t\t\t</span>\n\t\t\t\t\t\t{{ $t('global.confirm') }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"modal-subtitle text-center mx-4\">{{ $t('proposal.delete.section') }}</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"modal-footer\">\n\t\t\t\t\t<v-btn class=\"super-action mr-1\" style=\"width: 120px\" @click=\"cancelRemoveSection()\">{{\n\t\t\t\t\t\t$t('global.cancel')\n\t\t\t\t\t}}</v-btn>\n\t\t\t\t\t<v-btn class=\"primary-action ml-1\" style=\"width: 120px\" @click=\"removeSection()\">{{\n\t\t\t\t\t\t$t('global.delete')\n\t\t\t\t\t}}</v-btn>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</basic-modal>\n\n\t\t<basic-modal :dialog=\"contentMenuOpen\" :persistent=\"true\" @close=\"contentMenuOpen = false\">\n\t\t\t<add-component\n\t\t\t\t:signature-count=\"signatureCount\"\n\t\t\t\t:terms-count=\"termsCount\"\n\t\t\t\t:accept-count=\"acceptCount\"\n\t\t\t\t:payment-count=\"paymentCount\"\n\t\t\t\t@add-section=\"addSection\"\n\t\t\t\t@close=\"contentMenuOpen = false\"\n\t\t\t></add-component>\n\t\t</basic-modal>\n\t</div>\n</template>\n\n<script>\n\timport CoverPage from './CoverPage';\n\timport TextArea from './TextArea';\n\timport Deliverables from './Deliverables';\n\timport Terms from './Terms';\n\timport SignatureBlock from './SignatureBlock';\n\timport Files from './Files';\n\timport ImageBlock from './ImageBlock';\n\timport ImageTextBlock from './ImageTextBlock';\n\timport draggable from 'vuedraggable';\n\timport { v4 as uuidv4 } from 'uuid';\n\timport AddComponent from './AddComponent';\n\timport ComponentIcons from './ComponentIcons';\n\timport HNav from '@/components/HNav';\n\timport PillSelector from '@/components/PillSelector';\n\timport Modal from '@/components/Modal';\n\timport BasicModal from '@/components/BasicModal';\n\timport StatusMenu from './StatusMenu';\n\timport CommentsMenu from './CommentsMenu';\n\timport ProposalMixin from './ProposalMixin';\n\timport WebFontLoader from 'webfontloader';\n\timport AcceptBlock from './AcceptBlock';\n\timport PaymentCaptureBlock from './PaymentCaptureBlock';\n\timport ConfirmModal from '@/components/ConfirmModal';\n\n\texport default {\n\t\tname: 'ProposalRenderer',\n\n\t\tprops: [\n\t\t\t'templateMode',\n\t\t\t'editMode',\n\t\t\t'proposal',\n\t\t\t'account',\n\t\t\t'proposalService',\n\t\t\t'clientService',\n\t\t\t'templateService',\n\t\t\t'needSave',\n\t\t\t'saving',\n\t\t\t'clientMode',\n\t\t\t'isLocked',\n\t\t\t'refreshKey',\n\t\t\t'client',\n\t\t\t'cardPaymentFailed',\n\t\t],\n\n\t\tmixins: [ProposalMixin],\n\n\t\tcomponents: {\n\t\t\tStatusMenu,\n\t\t\tCommentsMenu,\n\t\t\tModal,\n\t\t\tBasicModal,\n\t\t\tPillSelector,\n\t\t\tComponentIcons,\n\t\t\tAddComponent,\n\t\t\tCoverPage,\n\t\t\tTextArea,\n\t\t\tDeliverables,\n\t\t\tSignatureBlock,\n\t\t\tAcceptBlock,\n\t\t\tTerms,\n\t\t\tFiles,\n\t\t\tImageBlock,\n\t\t\tImageTextBlock,\n\t\t\tPaymentCaptureBlock,\n\t\t\tdraggable,\n\t\t\tHNav,\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tisReady: false,\n\t\t\t\taddSectionIndex: null,\n\t\t\t\tremoveSectionIndex: null,\n\t\t\t\tremoveSectionDialog: false,\n\t\t\t\tselectedNavItem: 0,\n\t\t\t\tnavIncrement: 1,\n\t\t\t\tcontentBlockChangeMonitor: 1,\n\n\t\t\t\tcontentMenuOpen: false,\n\t\t\t\tselectedIndex: -1,\n\t\t\t\teditIndex: -1,\n\t\t\t\taddContentAtIndex: -1,\n\t\t\t\tupFrontAmounts: [],\n\t\t\t\tcardTokenId: null,\n\t\t\t\thasAcknowledgedPayment: false,\n\n\t\t\t\tscrollObserverOptions: {\n\t\t\t\t\trootMargin: '-54px 0px -70%',\n\t\t\t\t\tthreshold: [0, 0.25, 0.5, 0.75, 1],\n\t\t\t\t},\n\n\t\t\t\tmceConfigCover: {\n\t\t\t\t\tmenubar: false,\n\t\t\t\t\tinline: true,\n\t\t\t\t\tplugins: [],\n\t\t\t\t\tpaste_as_text: true,\n\t\t\t\t\ttoolbar: [],\n\t\t\t\t\tforced_root_block: '',\n\t\t\t\t\tsetup: function(ed) {\n\t\t\t\t\t\ted.on('keyDown', function(event) {\n\t\t\t\t\t\t\tif (event.keyCode == 13) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t},\n\n\t\t\t\tmceConfigHeader: {\n\t\t\t\t\tmenubar: false,\n\t\t\t\t\tinline: true,\n\t\t\t\t\tplugins: ['paste', 'link'],\n\t\t\t\t\tpaste_as_text: true,\n\t\t\t\t\ttoolbar: ['fontsizeselect styleselect forecolor | bold italic underline | link unlink'],\n\t\t\t\t\tforced_root_block: '',\n\t\t\t\t\tskin: this.$vuetify.theme.dark ? 'oxide-dark' : '',\n\t\t\t\t\tcontent_css: this.$vuetify.theme.dark ? 'dark' : '',\n\t\t\t\t\tsetup: function(ed) {\n\t\t\t\t\t\ted.on('keyDown', function(event) {\n\t\t\t\t\t\t\tif (event.keyCode == 13) {\n\t\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t},\n\t\t\t\t},\n\n\t\t\t\tmceConfigText: {\n\t\t\t\t\tmenubar: false,\n\t\t\t\t\tinline: true,\n\t\t\t\t\tpaste_as_text: false,\n\t\t\t\t\tpaste_data_images: true,\n\t\t\t\t\ttable_style_by_css: true,\n\t\t\t\t\tstatusbar: false,\n\t\t\t\t\tforced_root_block: '',\n\t\t\t\t\tplugins: ['paste', 'lists', 'link', 'table', 'autoresize', 'media', 'code'],\n\t\t\t\t\tcontextmenu: 'paste | link image | table',\n\t\t\t\t\tindentation: '12pt',\n\t\t\t\t\tskin: this.$vuetify.theme.dark ? 'oxide-dark' : '',\n\t\t\t\t\tcontent_css: this.$vuetify.theme.dark ? 'dark' : '',\n\t\t\t\t\ttoolbar: [\n\t\t\t\t\t\t'fontsizeselect styleselect forecolor | bold italic underline |  bullist numlist',\n\t\t\t\t\t\t'blockquote alignleft aligncenter alignright alignjustify indent outdent | table link unlink media code',\n\t\t\t\t\t],\n\t\t\t\t\tstyle_formats: [\n\t\t\t\t\t\t{ title: this.$t('proposal.paragraph'), format: 'p' },\n\t\t\t\t\t\t{ title: this.$t('proposal.title'), format: 'h1' },\n\t\t\t\t\t\t{ title: this.$t('proposal.heading'), format: 'h2' },\n\t\t\t\t\t\t{ title: this.$t('proposal.subheading'), format: 'h3' },\n\t\t\t\t\t\t{ title: this.$t('proposal.code'), format: 'code' },\n\t\t\t\t\t],\n\t\t\t\t\ttable_toolbar:\n\t\t\t\t\t\t'tableprops tabledelete | tableinsertrowbefore tableinsertrowafter tabledeleterow | tableinsertcolbefore tableinsertcolafter tabledeletecol',\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\n\t\t//toolbar: ['undo redo | bold italic underline', 'numlist bullist | outdent indent | link unlink'],\n\n\t\tmounted() {\n\t\t\tthis.scrubContentBlocks();\n\t\t\tthis.initFonts();\n\t\t},\n\n\t\tmethods: {\n\t\t\tinitFonts() {\n\t\t\t\tif (this.$store.state.accountFonts.length === 0) {\n\t\t\t\t\tWebFontLoader.load({\n\t\t\t\t\t\tgoogle: {\n\t\t\t\t\t\t\tfamilies: [\n\t\t\t\t\t\t\t\t`${this.proposal.formatting.headerFont}:200,300,400,500,600,700`,\n\t\t\t\t\t\t\t\t`${this.proposal.formatting.bodyFont}:200,300,400,500,600,700`,\n\t\t\t\t\t\t\t],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tactive: this.setFont,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsetFont() {\n\t\t\t\tconsole.log('fonts active');\n\t\t\t},\n\n\t\t\trequestThemSign: function(signatureBlock) {\n\t\t\t\tlet paymentCaptureBlock = this.getPaymentCaptureBlock();\n\t\t\t\tif (paymentCaptureBlock) {\n\t\t\t\t\tif (this.hasAcknowledgedPayment) {\n\t\t\t\t\t\tthis.processPaymentCapture(paymentCaptureBlock, signatureBlock);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet binding = {\n\t\t\t\t\t\t\theadingText: 'Confirm',\n\t\t\t\t\t\t\tbodyText: `By finalizing this agreement you acknowledge that your card will be charged ${this.$formatters.dollars(\n\t\t\t\t\t\t\t\tthis.upFrontAmount,\n\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\ttrue,\n\t\t\t\t\t\t\t\tthis.proposal.currency\n\t\t\t\t\t\t\t)} (${this.proposal.currency}) today.<br>Do you wish to continue?`,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tthis.$store.state.globalModalController.openModal(ConfirmModal, binding).then((res) => {\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tthis.hasAcknowledgedPayment = true;\n\t\t\t\t\t\t\t\tthis.processPaymentCapture(paymentCaptureBlock, signatureBlock);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.$refs[signatureBlock.id][0].allowThemSign();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tprocessPaymentCapture: function(paymentCaptureBlock, signatureBlock) {\n\t\t\t\tthis.$refs[paymentCaptureBlock.id][0]\n\t\t\t\t\t.exchangeCardForToken()\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\tthis.cardTokenId = res;\n\t\t\t\t\t\t\tthis.$refs[signatureBlock.id][0].allowThemSign();\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.$store.commit('error', 'Sorry, there was an error with the card provided.');\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tthis.$store.commit('error', err);\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\thandleUpFrontAmount: function(block, amount) {\n\t\t\t\tlet result = {\n\t\t\t\t\tid: block.id,\n\t\t\t\t\tamount: amount,\n\t\t\t\t\tselectedPackage: block.selectedPackage,\n\t\t\t\t};\n\t\t\t\tlet id = block.id;\n\t\t\t\tlet ix = this.upFrontAmounts.findIndex((u) => u.id === id);\n\t\t\t\tif (ix > -1) {\n\t\t\t\t\tthis.upFrontAmounts.splice(ix, 1, result);\n\t\t\t\t} else {\n\t\t\t\t\tthis.upFrontAmounts.push(result);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tscrubContentBlocks() {\n\t\t\t\tlet contentBlocks = [];\n\t\t\t\tfor (let i = 0; i < this.proposal.contentBlocks.length; i++) {\n\t\t\t\t\tif (!this.proposal.contentBlocks[i]) continue;\n\t\t\t\t\tcontentBlocks.push(this.proposal.contentBlocks[i]);\n\t\t\t\t}\n\t\t\t\tthis.proposal.contentBlocks = contentBlocks;\n\t\t\t\tthis.isReady = true;\n\t\t\t},\n\n\t\t\tnavClick(index) {\n\t\t\t\tthis.selectedIndex = index;\n\t\t\t\tlet ourDiv = document.getElementById(`proposal-wrapper-${index}`);\n\t\t\t\tourDiv.scrollIntoView({ behavior: 'smooth' });\n\t\t\t},\n\n\t\t\tsetEditIndex(index) {\n\t\t\t\tthis.editIndex = index;\n\t\t\t},\n\n\t\t\tshareProposal() {\n\t\t\t\tthis.$emit('share-proposal');\n\t\t\t},\n\n\t\t\tsendProposal() {\n\t\t\t\tthis.$emit('send-proposal');\n\t\t\t},\n\n\t\t\tdragEnd(payload) {\n\t\t\t\tthis.editIndex = payload.newIndex;\n\t\t\t\tthis.requestSave();\n\t\t\t},\n\n\t\t\trequestSave() {\n\t\t\t\tthis.$emit('need-save');\n\t\t\t\tthis.navIncrement++;\n\t\t\t},\n\n\t\t\tgetId() {\n\t\t\t\treturn 'id' + uuidv4().replace(/-/g, '');\n\t\t\t},\n\n\t\t\treturnToDraft() {\n\t\t\t\tthis.$emit('return-to-draft');\n\t\t\t},\n\n\t\t\tdeleteProposal() {\n\t\t\t\tthis.$emit('delete-proposal');\n\t\t\t},\n\n\t\t\tcreateProject() {\n\t\t\t\tthis.$emit('create-project');\n\t\t\t},\n\n\t\t\tshiftUp: function(index) {\n\t\t\t\tif (index > 0) {\n\t\t\t\t\tlet block = this.proposal.contentBlocks[index];\n\t\t\t\t\tthis.proposal.contentBlocks.splice(index, 1);\n\t\t\t\t\tthis.proposal.contentBlocks.splice(index - 1, 0, block);\n\t\t\t\t\tthis.editIndex = this.editIndex - 1;\n\t\t\t\t\tthis.requestSave();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tshiftDown: function(index) {\n\t\t\t\tif (index < this.proposal.contentBlocks.length - 1) {\n\t\t\t\t\tlet block = this.proposal.contentBlocks[index];\n\t\t\t\t\tthis.proposal.contentBlocks.splice(index, 1);\n\t\t\t\t\tthis.proposal.contentBlocks.splice(index + 1, 0, block);\n\t\t\t\t\tthis.editIndex = this.editIndex + 1;\n\t\t\t\t\tthis.requestSave();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandleCoverPageChange(event) {\n\t\t\t\tthis.proposal.coverPage.heading = event.heading;\n\t\t\t\tthis.proposal.coverPage.customBy = event.customBy;\n\t\t\t\tthis.proposal.coverPage.customFor = event.customFor;\n\t\t\t\tthis.requestSave();\n\t\t\t},\n\n\t\t\taddContentAt(index) {\n\t\t\t\tthis.addContentAtIndex = index;\n\t\t\t\tthis.contentMenuOpen = true;\n\t\t\t},\n\n\t\t\taddSection(args) {\n\t\t\t\tlet type = args.type;\n\t\t\t\tlet index;\n\t\t\t\tif (this.addContentAtIndex > -1) {\n\t\t\t\t\tindex = this.addContentAtIndex;\n\t\t\t\t\tthis.addContentAtIndex = -1;\n\t\t\t\t} else {\n\t\t\t\t\tindex = this.proposal.contentBlocks.length;\n\t\t\t\t}\n\n\t\t\t\tlet newSection = {\n\t\t\t\t\tblockType: type,\n\t\t\t\t\tid: this.getId(),\n\t\t\t\t};\n\n\t\t\t\tif (type === 'TextArea') {\n\t\t\t\t\tnewSection.header = this.$t('proposal.content.section-header');\n\t\t\t\t\tnewSection.text = this.$t('proposal.content.enter-text');\n\t\t\t\t} else if (type === 'PaymentCaptureBlock') {\n\t\t\t\t\tnewSection.header = 'Payment information';\n\t\t\t\t\tnewSection.text = 'Please enter your card information to complete the transaction';\n\t\t\t\t} else if (type === 'AcceptBlock') {\n\t\t\t\t\tnewSection.header = '';\n\t\t\t\t\tnewSection.text = this.$t('proposal.content.accept-text');\n\t\t\t\t} else if (type === 'SignatureBlock') {\n\t\t\t\t\tnewSection.header = this.$t('proposal.content.signatures');\n\t\t\t\t\tnewSection.us = {\n\t\t\t\t\t\ttype: 'Keyboard',\n\t\t\t\t\t\tfont: 'Arizonia',\n\t\t\t\t\t\tsignature: '',\n\t\t\t\t\t\tdts: null,\n\t\t\t\t\t\tip: {},\n\t\t\t\t\t\tsignerName: this.$store.getters.getLoggedInUserName,\n\t\t\t\t\t\tsignerTitle: null,\n\t\t\t\t\t\tsignerLocked: false,\n\t\t\t\t\t};\n\t\t\t\t\tnewSection.them = {\n\t\t\t\t\t\ttype: 'Keyboard',\n\t\t\t\t\t\tfont: 'Arizonia',\n\t\t\t\t\t\tsignature: '',\n\t\t\t\t\t\tdts: null,\n\t\t\t\t\t\tip: {},\n\t\t\t\t\t\tsignerName: null,\n\t\t\t\t\t\tsignerTitle: null,\n\t\t\t\t\t\tsignerLocked: false,\n\t\t\t\t\t};\n\t\t\t\t} else if (type === 'Files') {\n\t\t\t\t\tnewSection.header = this.$t('proposal.content.file-attachments');\n\t\t\t\t\tnewSection.text = this.$t('proposal.content.describe-attachments');\n\t\t\t\t\tnewSection.files = [];\n\t\t\t\t} else if (type === 'ImageBlock') {\n\t\t\t\t\tnewSection.file = null;\n\t\t\t\t\tnewSection.scale = 75;\n\t\t\t\t} else if (type === 'ImageTextBlock') {\n\t\t\t\t\tnewSection.file = null;\n\t\t\t\t\tnewSection.align = 'Left';\n\t\t\t\t\tnewSection.border = 'None';\n\t\t\t\t\tnewSection.header = this.$t('proposal.content.section-header');\n\t\t\t\t\tnewSection.text = this.$t('proposal.content.enter-text');\n\t\t\t\t} else if (type === 'Deliverables') {\n\t\t\t\t\tif (args.deliverableBlock) {\n\t\t\t\t\t\tnewSection = args.deliverableBlock;\n\t\t\t\t\t\tnewSection.selectedPackage = false;\n\t\t\t\t\t\tnewSection.taxRate = this.$store.state.podAccount.accountPreferences.defaultTaxRate;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewSection.header = this.$t('proposal.content.project-name');\n\t\t\t\t\t\tnewSection.selectedPackage = false;\n\t\t\t\t\t\tnewSection.taxRate = this.$store.state.podAccount.accountPreferences.defaultTaxRate;\n\t\t\t\t\t\tnewSection.deliverables = [];\n\t\t\t\t\t\tnewSection.feeSchedule = {\n\t\t\t\t\t\t\tfeeType: 'Hourly',\n\t\t\t\t\t\t\tamount: 0,\n\t\t\t\t\t\t\tretainerSchedule: null,\n\t\t\t\t\t\t\testimateMin: 0,\n\t\t\t\t\t\t\testimateMax: 0,\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\tnewSection.deliverableAutomation = {\n\t\t\t\t\t\tautoCreateProject: true,\n\t\t\t\t\t\tprojectName: null,\n\t\t\t\t\t\tautoInvoice: true,\n\t\t\t\t\t\tinvoicePercentage: true,\n\t\t\t\t\t\tinvoiceAmount: 50,\n\t\t\t\t\t\tpaymentRequiredToStart: true,\n\t\t\t\t\t};\n\t\t\t\t} else if (type === 'Terms') {\n\t\t\t\t\tnewSection.header = this.$t('proposal.content.terms');\n\t\t\t\t\tnewSection.paymentDays = 7;\n\t\t\t\t\tnewSection.invoicingSchedule = 'Weekly';\n\t\t\t\t\tnewSection.latePaymentFee = 5;\n\t\t\t\t\tnewSection.depositAmount = 50;\n\t\t\t\t\tnewSection.depositType = 'Percentage';\n\t\t\t\t\tnewSection.fullLegalTerms = true;\n\t\t\t\t\tnewSection.effectiveDate = new Date().toISOString();\n\t\t\t\t\tnewSection.governingLaw = this.$store.state.podAccount.locality;\n\t\t\t\t\tnewSection.cancellationNoticeDays = 30;\n\t\t\t\t\tnewSection.displayInPortfolio = true;\n\t\t\t\t\tnewSection.processingFeePassThrough = true;\n\t\t\t\t\tnewSection.grantLicenseForFramework = false;\n\t\t\t\t\tif (this.client) {\n\t\t\t\t\t\tnewSection.clientLegalName = this.client.name;\n\t\t\t\t\t\tnewSection.clientEntityType = 'Corporation';\n\t\t\t\t\t\tnewSection.clientState = this.client.locality;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnewSection.clientLegalName = '{{ClientLegalName}}';\n\t\t\t\t\t\tnewSection.clientEntityType = '{{ClientEntityType}}';\n\t\t\t\t\t\tnewSection.clientState = '{{ClientLocality}}';\n\t\t\t\t\t}\n\n\t\t\t\t\tnewSection.evaluatedTerms = null;\n\t\t\t\t}\n\n\t\t\t\tthis.proposal.contentBlocks.splice(index, 0, newSection);\n\t\t\t\tthis.editIndex = index;\n\t\t\t\tthis.requestSave();\n\t\t\t},\n\n\t\t\tconfirmRemoveSection(index) {\n\t\t\t\tthis.removeSectionIndex = index;\n\t\t\t\tthis.removeSectionDialog = true;\n\t\t\t},\n\n\t\t\tcancelRemoveSection() {\n\t\t\t\tthis.removeSectionIndex = null;\n\t\t\t\tthis.removeSectionDialog = false;\n\t\t\t},\n\n\t\t\tremoveSection() {\n\t\t\t\tlet deletedContentBlocks = this.proposal.contentBlocks.splice(this.removeSectionIndex, 1);\n\t\t\t\tlet deletedContentBlock = deletedContentBlocks[0];\n\n\t\t\t\tif (deletedContentBlock.blockType === 'Files') {\n\t\t\t\t\tthis.finalizeDeleteFilesBlock(deletedContentBlock);\n\t\t\t\t} else if (deletedContentBlock.blockType === 'ImageBlock') {\n\t\t\t\t\tthis.finalizeDeleteImageBlock(deletedContentBlock);\n\t\t\t\t}\n\n\t\t\t\tthis.removeSectionIndex = null;\n\t\t\t\tthis.removeSectionDialog = false;\n\t\t\t\tthis.editIndex = -1;\n\t\t\t\tthis.requestSave();\n\t\t\t},\n\n\t\t\tfinalizeDeleteFilesBlock(deletedContentBlock) {\n\t\t\t\tfor (let i = 0; i < deletedContentBlock.files.length; i++) {\n\t\t\t\t\tlet file = deletedContentBlock.files[i];\n\t\t\t\t\tthis.deleteFile(file);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tfinalizeDeleteImageBlock(deletedContentBlock) {\n\t\t\t\tif (deletedContentBlock.file !== null) {\n\t\t\t\t\tthis.deleteFile(deletedContentBlock.file);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tdeleteFile(file) {\n\t\t\t\tif (this.templateMode) {\n\t\t\t\t\tthis.templateService.deleteFileAttachment(this.proposal.id, file.fileName);\n\t\t\t\t} else {\n\t\t\t\t\tthis.proposalService.deleteFileAttachment(this.proposal.clientId, this.proposal.id, file.fileName);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\ttoggleMultipleDeliverables() {\n\t\t\t\tif (!this.proposal.allowMultipleDeliverables) {\n\t\t\t\t\tthis.proposal.allowMultipleDeliverables = true;\n\t\t\t\t\tthis.proposal.forceAllDeliverables = false;\n\t\t\t\t} else if (this.proposal.allowMultipleDeliverables && this.proposal.forceAllDeliverables) {\n\t\t\t\t\tthis.proposal.allowMultipleDeliverables = false;\n\t\t\t\t\tthis.proposal.forceAllDeliverables = false;\n\t\t\t\t} else {\n\t\t\t\t\tthis.proposal.allowMultipleDeliverables = true;\n\t\t\t\t\tthis.proposal.forceAllDeliverables = true;\n\t\t\t\t}\n\t\t\t\tthis.requestSave();\n\t\t\t},\n\n\t\t\thandleContentBlockChange(index, block) {\n\t\t\t\tthis.contentBlockChangeMonitor++;\n\t\t\t\tthis.proposal.contentBlocks[index] = block;\n\n\t\t\t\tif (block.blockType === 'Deliverables' && block.selectedPackage && !this.proposal.allowMultipleDeliverables) {\n\t\t\t\t\tthis.clearOtherSelectedPackages(index);\n\t\t\t\t\tthis.$forceUpdate();\n\t\t\t\t}\n\n\t\t\t\tif (this.clientMode) {\n\t\t\t\t\tif (block.blockType === 'Deliverables') {\n\t\t\t\t\t\tthis.$emit('deliverable-selected', block);\n\t\t\t\t\t} else if (block.blockType === 'SignatureBlock') {\n\t\t\t\t\t\tthis.$emit('client-signed', {\n\t\t\t\t\t\t\tblock: block,\n\t\t\t\t\t\t\tcardTokenId: this.cardTokenId,\n\t\t\t\t\t\t\tupFrontAmount: this.upFrontAmount,\n\t\t\t\t\t\t});\n\t\t\t\t\t} else if (block.blockType === 'AcceptBlock') {\n\t\t\t\t\t\tthis.$emit('client-accepted', {\n\t\t\t\t\t\t\tblock: block,\n\t\t\t\t\t\t\tcardTokenId: this.cardTokenId,\n\t\t\t\t\t\t\tupFrontAmount: this.upFrontAmount,\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif (this.proposal.proposalStatus === 'Draft' || block.blockType === 'SignatureBlock' || this.templateMode) {\n\t\t\t\t\t\tthis.requestSave();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tclearOtherSelectedPackages: function(currentIndex) {\n\t\t\t\tfor (let i = 0; i < this.proposal.contentBlocks.length; i++) {\n\t\t\t\t\tif (i !== currentIndex && this.proposal.contentBlocks[i].blockType === 'Deliverables') {\n\t\t\t\t\t\tthis.proposal.contentBlocks[i].selectedPackage = false;\n\t\t\t\t\t\tlet block = this.proposal.contentBlocks[i];\n\t\t\t\t\t\tlet ix = this.upFrontAmounts.findIndex((u) => u.id === block.id);\n\t\t\t\t\t\tif (ix > -1) {\n\t\t\t\t\t\t\tlet u = this.upFrontAmounts[ix];\n\t\t\t\t\t\t\tu.selectedPackage = false;\n\t\t\t\t\t\t\tthis.upFrontAmounts.splice(ix, 1, u);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandleIntersect([entry]) {\n\t\t\t\tif (entry && entry.isIntersecting && entry.intersectionRatio >= 1) {\n\t\t\t\t\tlet id = entry.target.id;\n\t\t\t\t\tid = id.replace(/^proposal-wrapper-/g, '');\n\t\t\t\t\tthis.selectedIndex = parseInt(id, 10);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\ttypeCount: function(type) {\n\t\t\t\tlet counter = 0;\n\t\t\t\tfor (let i = 0; i < this.proposal.contentBlocks.length; i++) {\n\t\t\t\t\tif (!this.proposal.contentBlocks[i]) continue;\n\t\t\t\t\tif (this.proposal.contentBlocks[i].blockType === type) {\n\t\t\t\t\t\tcounter = counter + 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn counter;\n\t\t\t},\n\n\t\t\tgetPaymentCaptureBlock: function() {\n\t\t\t\treturn this.proposal.contentBlocks.find((b) => b.blockType === 'PaymentCaptureBlock');\n\t\t\t},\n\t\t},\n\n\t\twatch: {},\n\n\t\tcomputed: {\n\t\t\tlogo: function() {\n\t\t\t\tif (this.proposal.coverPage && this.proposal.coverPage.showLogo) {\n\t\t\t\t\tif (this.$vuetify.theme.dark && this.account.accountLogoDark) {\n\t\t\t\t\t\treturn this.account.accountLogoDark;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn this.account.accountLogo;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tupFrontAmount: function() {\n\t\t\t\tlet result = 0;\n\t\t\t\tlet amounts = [...this.upFrontAmounts];\n\n\t\t\t\tif (this.deliverablesCount <= 1 || this.proposal.forceAllDeliverables) {\n\t\t\t\t\tamounts.forEach((u) => (result = result + u.amount));\n\t\t\t\t} else {\n\t\t\t\t\tamounts.filter((u) => u.selectedPackage).forEach((u) => (result = result + u.amount));\n\t\t\t\t}\n\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\tisEditable: function() {\n\t\t\t\tif (this.templateMode) return true;\n\t\t\t\treturn this.proposal.proposalStatus === 'Draft';\n\t\t\t},\n\n\t\t\tminWidth: function() {\n\t\t\t\treturn this.$vuetify.breakpoint.width > 918 ? 918 : this.$vuetify.breakpoint.width;\n\t\t\t},\n\n\t\t\tproposalHeight: function() {\n\t\t\t\tif (this.clientMode) {\n\t\t\t\t\treturn this.$vuetify.breakpoint.height - 140;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.$vuetify.breakpoint.height - 105;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tnavItems: function() {\n\t\t\t\tlet items = [];\n\t\t\t\tif (this.navIncrement > 0) {\n\t\t\t\t\tfor (let i = 0; i < this.proposal.contentBlocks.length; i++) {\n\t\t\t\t\t\tif (!this.$validations.isEmpty(this.proposal.contentBlocks[i].header)) {\n\t\t\t\t\t\t\titems.push({\n\t\t\t\t\t\t\t\tlabel: this.proposal.contentBlocks[i].header,\n\t\t\t\t\t\t\t\tcontentIndex: i,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn items;\n\t\t\t},\n\n\t\t\tdeliverablesCount: function() {\n\t\t\t\tthis.contentBlockChangeMonitor;\n\t\t\t\treturn this.typeCount('Deliverables');\n\t\t\t},\n\n\t\t\ttermsCount: function() {\n\t\t\t\tthis.contentBlockChangeMonitor;\n\t\t\t\treturn this.typeCount('Terms');\n\t\t\t},\n\n\t\t\tpaymentCount: function() {\n\t\t\t\tthis.contentBlockChangeMonitor;\n\t\t\t\treturn this.typeCount('PaymentCaptureBlock');\n\t\t\t},\n\n\t\t\tdeliverableSelected: function() {\n\t\t\t\tthis.contentBlockChangeMonitor;\n\t\t\t\tif (this.deliverablesCount < 2) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\n\t\t\t\tfor (let i = 0; i < this.proposal.contentBlocks.length; i++) {\n\t\t\t\t\tif (this.proposal.contentBlocks[i].blockType === 'Deliverables') {\n\t\t\t\t\t\tif (this.proposal.contentBlocks[i].selectedPackage) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\tcontentBlocks: function() {\n\t\t\t\tthis.contentBlockChangeMonitor;\n\t\t\t\tif (this.deliverablesCount > 1 && this.proposal.proposalStatus === 'Fully Executed') {\n\t\t\t\t\tlet result = [...this.proposal.contentBlocks];\n\t\t\t\t\t// result = result.filter(\n\t\t\t\t\t// \t(c) => c.blockType !== 'Deliverables' || (c.blockType === 'Deliverables' && c.selectedPackage)\n\t\t\t\t\t// );\n\t\t\t\t\treturn result;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.proposal.contentBlocks;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsignatureCount: function() {\n\t\t\t\tthis.contentBlockChangeMonitor;\n\t\t\t\treturn this.typeCount('SignatureBlock');\n\t\t\t},\n\n\t\t\tacceptCount: function() {\n\t\t\t\tthis.contentBlockChangeMonitor;\n\t\t\t\treturn this.typeCount('AcceptBlock');\n\t\t\t},\n\n\t\t\theaderWeight: function() {\n\t\t\t\tif (this.proposal.formatting.headerWeight === 'Regular') {\n\t\t\t\t\treturn 400;\n\t\t\t\t} else {\n\t\t\t\t\treturn 700;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t@media print {\n\t\tbody {\n\t\t\tvisibility: hidden;\n\t\t}\n\t\t#proposal-area {\n\t\t\tvisibility: visible;\n\t\t\tposition: absolute;\n\t\t\tleft: 0;\n\t\t\ttop: 0;\n      max-width: 100%!important;\n      min-width: 100% !important;\n      box-shadow: none!important;\n\n\t\t\t.proposal-wrapper {\n\t\t\t\tmargin: 0 !important;\n\t\t\t\twidth: 100% !important;\n\t\t\t\theight: 100% !important;\n        max-width: 100%!important;\n\t\t\t}\n\n\t\t\t.page-wrapper {\n\t\t\t\tpadding-top: 12px !important;\n\t\t\t}\n\n\t\t\t.shadow {\n\t\t\t\tfilter: none !important;\n\t\t\t}\n\t\t}\n\n\t\t.page-break {\n\t\t\tpage-break-after: always;\n\t\t\tpage-break-inside: avoid;\n\t\t}\n\t}\n</style>\n\n<style lang=\"scss\">\n\t.proposal-text-area blockquote {\n\t\tmargin: 1.5em 10px;\n\t\tpadding: 0.5em 10px;\n\t}\n\n\t.proposal-text-area blockquote:before {\n\t\tcolor: #ccc;\n\t\tcontent: '“';\n\t\tfont-size: 4em;\n\t\tline-height: 0.1em;\n\t\tmargin-right: 0.1em;\n\t\tvertical-align: -0.4em;\n\t}\n\n\t.proposal-text-area blockquote::after {\n\t\tcolor: #ccc;\n\t\tcontent: '”';\n\t\tfont-size: 4em;\n\t\tline-height: 0.1em;\n\t\tmargin-left: 0.1em;\n\t\tvertical-align: -0.4em;\n\t}\n\n\t.proposal-text-area blockquote p {\n\t\tdisplay: inline;\n\t}\n\n\t#proposal-wrapper {\n    //width: 100%;\n\t\t//display: flex;\n\t\t//flex-direction: column;\n\t\tpadding-bottom: 32px;\n\t\t#proposal-area {\n      //display: flex;\n\t\t\tmax-width: 918px;\n\t\t\tmin-width: var(--v-min-width);\n\t\t\t//align-self: center;\n\t\t\tmargin: 0 auto;\n\t\t\t//border: 1px solid var(--v-gray_50-base);\n\t\t\tbox-shadow: 0px 1px 4px rgba(16, 17, 15, 0.2);\n\t\t\tborder-radius: 4px;\n\t\t\tbackground-color: var(--v-white-base);\n\t\t\t#proposal {\n\t\t\t\t#proposal-background {\n\t\t\t\t\t#cover-page-row:not(.edit-mode) {\n\t\t\t\t\t\tmargin-bottom: 28px;\n\t\t\t\t\t}\n\t\t\t\t\t.add-new-button {\n\t\t\t\t\t\topacity: 0;\n\t\t\t\t\t\ttransition: opacity 300ms;\n\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t\t\ttransition: opacity 300ms;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tposition: relative;\n\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\tjustify-content: center;\n\t\t\t\t\t\tmargin: 4px 0 24px;\n\t\t\t\t\t\t.add-new-rule {\n\t\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t\t\ttop: 12px;\n\t\t\t\t\t\t\tleft: 0;\n\t\t\t\t\t\t\twidth: 100%;\n\t\t\t\t\t\t\tborder-bottom: 1px solid var(--v-gray_50-base);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t.v-btn {\n\t\t\t\t\t\t\theight: 24px !important;\n\t\t\t\t\t\t\tfont-size: 12px !important;\n\t\t\t\t\t\t\tcolor: var(--v-gray_80-base);\n\t\t\t\t\t\t\tletter-spacing: 0.2px;\n\t\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t\tcolor: var(--v-primary-base);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t.builder-wrapper {\n\t\t\t\t\t\tpadding: 4px 48px 24px;\n\t\t\t\t\t\tposition: relative;\n\t\t\t\t\t\tmargin: 12px 0;\n\t\t\t\t\t\t&:hover {\n\t\t\t\t\t\t\t.add-new-button {\n\t\t\t\t\t\t\t\topacity: 1;\n\t\t\t\t\t\t\t\ttransition: opacity 300ms;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\t.builder-control {\n\t\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t\t\twidth: 40px;\n\t\t\t\t\t\t\t//height: 120px;\n\t\t\t\t\t\t\ttop: 18px;\n\t\t\t\t\t\t\tleft: -40px;\n\t\t\t\t\t\t\tbackground: var(--v-gray_30-base);\n\t\t\t\t\t\t\t//box-shadow: 0px 1px 4px rgba(16, 17, 15, 0.2);\n\t\t\t\t\t\t\tborder-radius: 4px;\n\t\t\t\t\t\t\tdisplay: flex;\n\t\t\t\t\t\t\tflex-direction: column;\n\t\t\t\t\t\t\talign-items: center;\n\t\t\t\t\t\t\tjustify-content: space-between;\n\t\t\t\t\t\t\tpadding: 8px 0;\n\t\t\t\t\t\t\t.v-btn:hover .v-icon {\n\t\t\t\t\t\t\t\tcolor: var(--v-primary-base);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\t#delete-section-modal {\n\t\tmax-width: 290px;\n\t\tbackground-color: var(--v-white-base);\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProposalRenderer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProposalRenderer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProposalRenderer.vue?vue&type=template&id=2a13d88c\"\nimport script from \"./ProposalRenderer.vue?vue&type=script&lang=js\"\nexport * from \"./ProposalRenderer.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProposalRenderer.vue?vue&type=style&index=0&id=2a13d88c&prod&lang=scss\"\nimport style1 from \"./ProposalRenderer.vue?vue&type=style&index=1&id=2a13d88c&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VIcon,VRow})\n\n\n/* vuetify-loader */\nimport installDirectives from \"!../../../../node_modules/vuetify-loader/lib/runtime/installDirectives.js\"\nimport Intersect from 'vuetify/lib/directives/intersect'\ninstallDirectives(component, {Intersect})\n","<template>\n\t<div id=\"proposal-details\">\n\t\t<div id=\"header-area\" class=\"\" v-if=\"proposal\">\n\t\t\t<div class=\"header-left pl-md-6 pl-4\">\n\t\t\t\t<div class=\"mr-6 brand-medium\">\n\t\t\t\t\t<h-icon2 name=\"proposals\" :active=\"true\" size=\"24\" class=\"mr-4\"></h-icon2>\n\t\t\t\t\t{{ proposal.coverPage.heading }}\n\t\t\t\t</div>\n\t\t\t\t<div>\n\t\t\t\t\t<comments-menu\n\t\t\t\t\t\tclass=\"mr-1\"\n\t\t\t\t\t\tv-if=\"proposal\"\n\t\t\t\t\t\t:comments=\"proposal.comments\"\n\t\t\t\t\t\t:proposal-id=\"proposal.id\"\n\t\t\t\t\t\t:client-id=\"proposal.clientId\"\n\t\t\t\t\t\t:proposal-service=\"proposalService\"\n\t\t\t\t\t\t:client-mode=\"true\"\n\t\t\t\t\t\t:viewed-timestamps=\"proposal.viewedTimestamps\"\n\t\t\t\t\t></comments-menu>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"header-right pr-md-6 pr-4\">\n\t\t\t\t<div>\n\t\t\t\t\t<v-btn icon class=\"primary-action\" @click=\"handleClose()\">\n\t\t\t\t\t\t<v-icon :size=\"20\">$close</v-icon>\n\t\t\t\t\t</v-btn>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n    <div class=\"show-scrollbar\" style=\"max-height: calc(100vh - 50px)\">\n      <proposal-renderer\n        v-if=\"isReady\"\n        :proposal=\"proposal\"\n        :account=\"account\"\n        :proposal-service=\"proposalService\"\n        :edit-mode=\"false\"\n        :pod-service=\"null\"\n        :client-service=\"null\"\n        :need-save=\"false\"\n        :saving=\"false\"\n        :client-mode=\"true\"\n        :is-locked=\"isLocked\"\n        :card-payment-failed=\"cardPaymentFailed\"\n        @deliverable-selected=\"deliverableSelected($event)\"\n        @client-signed=\"clientFinalized($event)\"\n        @client-accepted=\"clientFinalized($event)\"\n      ></proposal-renderer>\n    </div>\n\t</div>\n</template>\n\n<script>\n\timport ProposalService from '@/modules/proposal/ProposalService';\n\timport ProposalRenderer from '@/modules/proposal/proposal-renderer/ProposalRenderer';\n  import CommentsMenu from '@/modules/proposal/proposal-renderer/CommentsMenu';\n\n\texport default {\n\t\tname: 'ProposalDetails',\n\n\t\tprops: ['proposalId'],\n\n\t\tcomponents: { ProposalRenderer, CommentsMenu },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\trefreshKey: 0,\n\t\t\t\tisReady: false,\n\t\t\t\tproposal: null,\n\t\t\t\taccount: null,\n\t\t\t\tselectedPackageIds: [],\n\t\t\t\ttheirSignature: null,\n\t\t\t\tproposalService: new ProposalService(),\n        cardPaymentFailed: false,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getProposal();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tgetProposal: function() {\n\t\t\t\tthis.proposalService.getProposal(this.proposalId).then((res) => {\n\t\t\t\t\tthis.proposal = res.data;\n\t\t\t\t\tthis.account = this.proposal.accountMini;\n\t\t\t\t\tthis.proposalService.setProposal(this.proposal);\n\t\t\t\t\tthis.proposalService.setLastViewed();\n\t\t\t\t\tthis.isReady = true;\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tdeliverableSelected: function(deliverable) {\n\t\t\t\tif (this.proposal.allowMultipleDeliverables) {\n\t\t\t\t\tif (deliverable.selectedPackage) {\n\t\t\t\t\t\tthis.selectedPackageIds.push(deliverable.id);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet ix = this.selectedPackageIds.findIndex((p) => p === deliverable.id);\n\t\t\t\t\t\tif (ix > -1) {\n\t\t\t\t\t\t\tthis.selectedPackageIds.splice(ix, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.selectedPackageIds.splice(0, this.selectedPackageIds.length);\n\t\t\t\t\tthis.selectedPackageIds.push(deliverable.id);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tclientFinalized: function(payload) {\n        let block = payload.block;\n\n\t\t\t\tif (this.requirePackageSelection && this.selectedPackageIds.length === 0) {\n\t\t\t\t\tthis.$store.commit('error', 'Package not selected.');\n\t\t\t\t} else {\n          let result = {\n            selectedPackageIds: this.selectedPackageIds,\n            cardTokenId: payload.cardTokenId,\n            upFrontAmount: payload.upFrontAmount\n          }\n\n          if(block.blockType === 'SignatureBlock'){\n            result.signature = block.them;\n          }else{\n            result.clientAccept = true;\n          }\n\n          this.$store.commit('startLoading');\n\t\t\t\t\tthis.proposalService\n\t\t\t\t\t\t.executeProposal(result)\n\t\t\t\t\t\t.then((res) => {\n              this.cardPaymentFailed = false;\n\t\t\t\t\t\t\tthis.proposal = res.data;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((err) => {\n              if(result.cardTokenId){\n                this.cardPaymentFailed = true;\n              }\n\t\t\t\t\t\t\tthis.$store.commit('error', err.response.data.message);\n\t\t\t\t\t\t}).finally(() => this.$store.commit('stopLoading'));\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandleClose: function() {\n\t\t\t\tthis.$emit('result');\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tsignatureBlock: function() {\n\t\t\t\tfor (let i = 0; i < this.proposal.contentBlocks.length; i++) {\n\t\t\t\t\tif (this.proposal.contentBlocks[i].blockType === 'SignatureBlock') {\n\t\t\t\t\t\treturn this.proposal.contentBlocks[i];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn null;\n\t\t\t},\n\n      acceptBlock: function () {\n        for (let i = 0; i < this.proposal.contentBlocks.length; i++) {\n          if (this.proposal.contentBlocks[i].blockType === 'AcceptBlock') {\n            return this.proposal.contentBlocks[i];\n          }\n        }\n\n        return null;\n      },\n\n\t\t\trequirePackageSelection: function() {\n\t\t\t\tif(this.proposal.forceAllDeliverables){\n          return false;\n        }\n\n        let deliverableCount = 0;\n\t\t\t\tfor (let i = 0; i < this.proposal.contentBlocks.length; i++) {\n\t\t\t\t\tif (this.proposal.contentBlocks[i].blockType === 'Deliverables') {\n\t\t\t\t\t\tdeliverableCount = deliverableCount + 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn deliverableCount > 1;\n\t\t\t},\n\n\t\t\tisLocked: function() {\n\t\t\t\tlet signature = this.signatureBlock;\n\t\t\t\tif (signature != null) {\n          return !this.$validations.isEmpty(signature.them.signature);\n        }else if(this.acceptBlock != null){\n          return this.acceptBlock.accepted ? true : false;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t#proposal-details {\n\t\tbackground-color: var(--v-gray_10-base);\n\t\t#header-area {\n\t\t\theight: 56px;\n\t\t\twidth: 100%;\n\t\t\tbackground-color: var(--v-white-base);\n\t\t\tborder-bottom: 1px solid var(--v-gray_50-base);\n\t\t\t// Needed for sticky positioning\n\t\t\tposition: sticky;\n\t\t\tposition: -webkit-sticky;\n\t\t\ttop: 0;\n\t\t\tz-index: 203;\n\t\t\t// end sticky\n\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\talign-items: center;\n\n\t\t\t.header-left {\n\t\t\t\ttext-align: left;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-items: flex-start;\n\t\t\t\t& > div {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-items: flex-start;\n\t\t\t\t}\n\t\t\t\tbutton,\n\t\t\t\tdiv {\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tcolor: var(--v-black-base);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t.header-right {\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: flex-end;\n\t\t\t\talign-items: center;\n\n\t\t\t\tdiv {\n\t\t\t\t\tflex: 0 0 auto;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProposalDetails.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProposalDetails.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProposalDetails.vue?vue&type=template&id=28845975&scoped=true\"\nimport script from \"./ProposalDetails.vue?vue&type=script&lang=js\"\nexport * from \"./ProposalDetails.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProposalDetails.vue?vue&type=style&index=0&id=28845975&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"28845975\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","<template>\n\t<div v-if=\"proposals.length || agreements.length\">\n\t\t<div class=\"brand-medium pointer\" @click=\"$router.push('/agreements')\">\n\t\t\t{{ $t('welcome.currently-have') }} <span style=\"color: var(--v-primary-base)\">{{ proposals.length + agreements.length }}</span>\n\t\t\t{{ $tc('welcome.proposals-ready', proposals.length + agreements.length) }}.\n\t\t</div>\n\t\t<div class=\"column-format\" style=\"gap: 8px; margin-top: 12px\">\n\t\t\t<div @click.stop=\"openProposal(proposal)\" v-for=\"proposal in proposals\" :key=\"proposal.id\" class=\"action-button\">\n\t\t\t\t<span v-html=\"proposal.coverPage.heading\"></span> - {{ $t('global.submitted') }}\n\t\t\t\t{{ DateTime.fromISO(proposal.dateSent).toFormat('MMM dd') }}\n\t\t\t</div>\n      <div @click.stop=\"openAgreement(agreement)\" v-for=\"agreement in agreements\" :key=\"agreement.id\" class=\"action-button\">\n        <span>{{agreement.name}}</span> - {{ $t('global.submitted') }}\n        {{ DateTime.fromISO(agreement.dateCreated).toFormat('MMM dd') }}\n      </div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport { DateTime } from 'luxon';\n\timport ProposalDetails from '@/modules/proposal/ProposalDetails';\n\texport default {\n\t\tname: 'Proposals',\n\n\t\tprops: ['proposals','agreements'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tDateTime: DateTime,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\topenProposal: function(proposal) {\n\t\t\t\tlet binding = {\n\t\t\t\t\tproposalId: proposal.id,\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController\n\t\t\t\t\t.openModal(ProposalDetails, binding, false, true)\n\t\t\t\t\t.then(() => this.$emit('refresh'));\n\t\t\t},\n      openAgreement: function(agreement){\n        let signer = agreement.signers.find(s => s.email === this.$store.state.loggedInUser.email);\n        window.open(`/document/${agreement.id}${signer ? '.' + signer.id : ''}`,'_blank');\n      }\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Proposals.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Proposals.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Proposals.vue?vue&type=template&id=73540359&scoped=true\"\nimport script from \"./Proposals.vue?vue&type=script&lang=js\"\nexport * from \"./Proposals.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"73540359\",\n  null\n  \n)\n\nexport default component.exports","import HttpClient from '@/services/HttpClient';\nimport store from '@/store';\n\nexport default class DashboardService{\n\thttpClient;\n\n\tconstructor() {\n\t\tthis.httpClient = new HttpClient();\n\t}\n\n\tgetActionItems() {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/actionItems`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n}\n","<template>\n\t<div class=\"column-format font-14 ma-3\" v-if=\"actionItems\">\n\t\t<deliverables\n\t\t\tclass=\"action-item\"\n\t\t\tv-if=\"features.projectsEnabled\"\n\t\t\t:deliverables=\"actionItems.deliverables\"\n\t\t\t@refresh=\"getActionItems\"\n\t\t></deliverables>\n    <invoices\n        class=\"action-item\"\n        v-if=\"features.invoicesEnabled\"\n        :invoices=\"actionItems.invoices\"\n        @refresh=\"getActionItems\"\n    ></invoices>\n    <forms\n        class=\"action-item\"\n        v-if=\"features.formsEnabled\"\n        :forms=\"actionItems.forms\"\n        @refresh=\"getActionItems\"\n    ></forms>\n\t\t<proposals\n\t\t\tclass=\"action-item\"\n\t\t\tv-if=\"features.proposalsEnabled\"\n\t\t\t:proposals=\"actionItems.proposals\"\n\t\t\t:agreements=\"actionItems.agreements\"\n\t\t\t@refresh=\"getActionItems\"\n\t\t></proposals>\n\t\t<meetings\n\t\t\tclass=\"action-item\"\n\t\t\tv-if=\"features.meetingsEnabled\"\n\t\t\t:meetings=\"actionItems.meetings\"\n\t\t\t@refresh=\"getActionItems\"\n\t\t></meetings>\n\t\t<subscription-requests\n\t\t\tclass=\"action-item\"\n\t\t\tv-if=\"features.invoicesEnabled\"\n\t\t\t:subscription-requests=\"actionItems.subscriptionRequests\"\n\t\t\t@refresh=\"getActionItems\"\n\t\t></subscription-requests>\n\t\t<div v-if=\"actionCount === 0\" style=\"text-align: center; width:100%\">\n\t\t\t<div class=\"font-14 font-gray_70\">Zero notifications found</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport SubscriptionRequests from '@/modules/welcome/actionItems/SubscriptionRequests';\n\timport Deliverables from '@/modules/welcome/actionItems/Deliverables';\n  import Invoices from '@/modules/welcome/actionItems/Invoices';\n  import Forms from '@/modules/welcome/actionItems/Forms';\n\timport Meetings from '@/modules/welcome/actionItems/Meetings';\n\timport Proposals from '@/modules/welcome/actionItems/Proposals';\n\timport DashboardService from '@/modules/welcome/DashboardService';\n\n\texport default {\n\t\tname: 'Notifications',\n\n\t\tprops: [],\n\n\t\tcomponents: { SubscriptionRequests, Deliverables, Invoices, Meetings, Proposals, Forms },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tactionItems: null,\n\t\t\t\tdashboardService: new DashboardService(),\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getActionItems();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tgetActionItems: function() {\n\t\t\t\tthis.dashboardService.getActionItems().then((res) => {\n\t\t\t\t\tthis.actionItems = res.data;\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n\t\t\tactionCount: function(val) {\n\t\t\t\tthis.$store.state.actionCount = val;\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tdomain: function() {\n\t\t\t\treturn this.$store.state.domain;\n\t\t\t},\n\n\t\t\tfeatures: function() {\n\t\t\t\treturn this.$store.getters.getFeatures;\n\t\t\t},\n\n\t\t\tactionCount: function() {\n\t\t\t\tif (this.actionItems) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\tthis.actionItems.deliverables.length +\n\t\t\t\t\t\tthis.actionItems.invoices.length +\n\t\t\t\t\t\tthis.actionItems.proposals.length +\n\t\t\t\t\t\tthis.actionItems.meetings.length +\n\t\t\t\t\t\tthis.actionItems.subscriptionRequests.length +\n\t\t\t\t\t\tthis.actionItems.agreements.length +\n\t\t\t\t\t\tthis.actionItems.forms.length\n\t\t\t\t\t);\n\t\t\t\t} else {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.action-item {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\twidth: 100%;\n\t\tflex: 1 1 0px;\n\t\ttext-align: left;\n\t\tbackground-color: var(--v-white-base);\n\t\tborder: 1px solid var(--v-gray_30-base);\n\t\tborder-radius: 4px;\n\t\tbox-sizing: border-box;\n\t\tbox-shadow: 0px 1px 0px var(--v-gray_30-base);\n\t\tpadding: 12px;\n\t\t&:hover {\n\t\t\tborder: 1px solid var(--v-gray_50-base);\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notifications.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Notifications.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Notifications.vue?vue&type=template&id=b949556c&scoped=true\"\nimport script from \"./Notifications.vue?vue&type=script&lang=js\"\nexport * from \"./Notifications.vue?vue&type=script&lang=js\"\nimport style0 from \"./Notifications.vue?vue&type=style&index=0&id=b949556c&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"b949556c\",\n  null\n  \n)\n\nexport default component.exports","<template>\n\t<div style=\"max-height: calc(var(--vh) - 50px); overflow-y: auto\" class=\"show-scrollbar\">\n    <notifications></notifications>\n\t</div>\n</template>\n\n<script>\n  import Notifications from '@/views/nav/Notifications';\n  export default {\n\t\tname: 'RightNav',\n\n\t\tprops: [],\n\n\t\tcomponents: {\n      Notifications,\n\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\n\t\t\t};\n\t\t},\n\n\t\tmounted(){\n\n    },\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\n\t\t},\n\n\t\tcomputed: {\n\n    }\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RightNav.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RightNav.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RightNav.vue?vue&type=template&id=cfd717de&scoped=true\"\nimport script from \"./RightNav.vue?vue&type=script&lang=js\"\nexport * from \"./RightNav.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"cfd717de\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',_vm._l((_vm.modals),function(modal){return _c('basic-modal',{key:modal.id,attrs:{\"dialog\":modal.dialog,\"close-on-escape\":modal.closeOnEscape,\"fullscreen\":modal.fullScreen,\"overlay-color\":\"modal_overlay\"},on:{\"close\":function($event){return _vm.handleClose(modal)}}},[_c(modal.component,_vm._b({ref:modal.id,refInFor:true,tag:\"component\",on:{\"result\":function($event){return _vm.onResult(modal, $event)},\"error\":function($event){return _vm.onError(modal, $event)}}},'component',modal.binding,false))],1)}),1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default class Deferred {\n    constructor() {\n        this.promise = new Promise((resolve, reject)=> {\n            this.reject = reject\n            this.resolve = resolve\n        })\n    }\n}","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"container\",style:(`--width: ${_vm.$vuetify.breakpoint.width*0.8}px`)},[_c('div',{staticClass:\"row-format align-center\"},[_c('v-icon',{staticClass:\"ml-auto pointer\",staticStyle:{\"color\":\"#000\"},attrs:{\"size\":\"20\"},on:{\"click\":function($event){return _vm.$emit('result')}}},[_vm._v(\"$close\")])],1),_c('div',[_c('iframe',{staticClass:\"responsive-iframe\",attrs:{\"src\":_vm.finalUrl,\"id\":`frame-${_vm.frameId}`}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"container\" :style=\"`--width: ${$vuetify.breakpoint.width*0.8}px`\">\n    <div class=\"row-format align-center\">\n      <v-icon size=\"20\" style=\"color: #000\" class=\"ml-auto pointer\" @click=\"$emit('result')\">$close</v-icon>\n    </div>\n    <div>\n      <iframe :src=\"finalUrl\" :id=\"`frame-${frameId}`\" class=\"responsive-iframe\"></iframe>\n    </div>\n  </div>\n</template>\n\n<script>\n\timport iFrameResize from 'iframe-resizer/js/iframeResizer';\n\timport { v4 as uuid4 } from 'uuid';\n\n\texport default {\n\t\tname: 'MeetingEmbed',\n\n\t\tprops: ['frameUrl'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tframeId: uuid4().replaceAll('-', ''),\n\t\t\t\tresizerOptions: {\n\t\t\t\t\tlog: false,\n\t\t\t\t\theightCalculationMethod: 'min',\n\t\t\t\t\tsizeWidth: true,\n\t\t\t\t\tsizeHeight: true,\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tiFrameResize(this.resizerOptions, `#frame-${this.frameId}`);\n\t\t\twindow.addEventListener('message', this.handleFrameMessage);\n      console.log(this.$store.state.loggedInUser);\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t\twindow.removeEventListener('message', this.handleFrameMessage);\n\t\t},\n\n\t\tmethods: {\n\t\t\thandleFrameMessage(e) {\n\t\t\t\tif (e.data.startsWith('[iFrameSizer]')) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconsole.log('Frame message received', e);\n\t\t\t\tthis.$emit('frame-event', e);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n      finalUrl: function(){\n        let result = new URL(this.frameUrl);\n        result.searchParams.append('knownUser','true');\n        result.searchParams.append('firstName',this.$store.state.loggedInUser.firstName);\n        result.searchParams.append('lastName',this.$store.state.loggedInUser.lastName);\n        result.searchParams.append('email',this.$store.state.loggedInUser.email);\n        result.searchParams.append('phone',this.$store.state.loggedInUser.phone);\n        return result.href;\n      }\n    },\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.container {\n    min-width: var(--width);\n    min-height: 500px;\n    background-color: #fff;\n\t}\n\n\t.responsive-iframe {\n\t\tpadding: 0px;\n\t\tmargin: 0px;\n\t\tborder: 0;\n\t\tmax-width: 100%;\n\t\tmin-width: 100%;\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetingEmbed.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetingEmbed.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MeetingEmbed.vue?vue&type=template&id=a1cad342&scoped=true\"\nimport script from \"./MeetingEmbed.vue?vue&type=script&lang=js\"\nexport * from \"./MeetingEmbed.vue?vue&type=script&lang=js\"\nimport style0 from \"./MeetingEmbed.vue?vue&type=style&index=0&id=a1cad342&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"a1cad342\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"new-ach-dialog-div\"},[_c('v-container',{staticClass:\"mt-0 mb-4\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"1\"}}),_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('h1',[_vm._v(_vm._s(_vm.$t('invoices.new-ach-account.connect-account')))])]),_c('v-col',{attrs:{\"cols\":\"1\"}},[_c('v-icon',{on:{\"click\":_vm.handleClose}},[_vm._v(\"$close\")])],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticStyle:{\"border-right\":\"1px solid var(--v-gray_50-base)\"},attrs:{\"cols\":\"6\"}},[_c('h2',[_vm._v(_vm._s(_vm.$t('invoices.new-ach-account.verification')))]),_c('v-icon',{staticClass:\"mt-3\",attrs:{\"size\":\"65\",\"color\":\"black\"}},[_vm._v(\"$plaidVertical\")])],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('h2',[_vm._v(_vm._s(_vm.$t('invoices.new-ach-account.enter-info')))]),_c('v-icon',{staticClass:\"mt-3\",attrs:{\"size\":\"52\",\"color\":\"black\"}},[_vm._v(_vm._s(_vm.$t('global.paid')))])],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pa-3\",staticStyle:{\"border-right\":\"1px solid var(--v-gray_50-base)\"},attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"font-14\"},[_vm._v(_vm._s(_vm.$t('invoices.new-ach-account.use-plaid')))]),_c('div',{staticClass:\"brand-bold mt-3\"},[_c('v-icon',{attrs:{\"color\":\"success\"}},[_vm._v(\"$success\")]),_vm._v(_vm._s(_vm.$t('invoices.new-ach-account.recommended')))],1)]),_c('v-col',{staticClass:\"pa-3\",attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"font-14\"},[_vm._v(_vm._s(_vm.$t('invoices.new-ach-account.stripe-verification')))])])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticStyle:{\"border-right\":\"1px solid var(--v-gray_50-base)\"},attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"secondary-action\",on:{\"click\":_vm.connectPlaid}},[_vm._v(_vm._s(_vm.$t('invoices.new-ach-account.connect-plaid')))])],1),_c('v-col',{attrs:{\"cols\":\"6\"}},[_c('v-btn',{staticClass:\"secondary-action\",on:{\"click\":_vm.connectManually}},[_vm._v(_vm._s(_vm.$t('invoices.new-ach-account.connect-manually')))])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"new-ach-dialog-div\">\n    <v-container fluid class=\"mt-0 mb-4\">\n      <v-row dense>\n        <v-col cols=\"1\"></v-col>\n        <v-col cols=\"10\"><h1>{{ $t('invoices.new-ach-account.connect-account') }}</h1></v-col>\n        <v-col cols=\"1\"><v-icon  @click=\"handleClose\">$close</v-icon></v-col>\n      </v-row>\n      <v-row dense>\n        <v-col cols=\"6\" style=\"border-right: 1px solid var(--v-gray_50-base)\">\n          <h2>{{ $t('invoices.new-ach-account.verification') }}</h2>\n          <v-icon size=\"65\" color=\"black\"  class=\"mt-3\">$plaidVertical</v-icon>\n        </v-col>\n        <v-col cols=\"6\">\n          <h2>{{ $t('invoices.new-ach-account.enter-info') }}</h2>\n          <v-icon size=\"52\" color=\"black\" class=\"mt-3\">{{ $t('global.paid') }}</v-icon>\n        </v-col>\n      </v-row>\n      <v-row dense>\n        <v-col cols=\"6\" class=\"pa-3\" style=\"border-right: 1px solid var(--v-gray_50-base)\">\n          <div class=\"font-14\">{{ $t('invoices.new-ach-account.use-plaid') }}</div>\n          <div class=\"brand-bold mt-3\"><v-icon color=\"success\">$success</v-icon>{{ $t('invoices.new-ach-account.recommended') }}</div>\n        </v-col>\n        <v-col cols=\"6\" class=\"pa-3\">\n          <div class=\"font-14\">{{ $t('invoices.new-ach-account.stripe-verification') }}</div>\n        </v-col>\n      </v-row>\n      <v-row dense>\n        <v-col cols=\"6\" style=\"border-right: 1px solid var(--v-gray_50-base)\">\n          <v-btn class=\"secondary-action\" @click=\"connectPlaid\">{{ $t('invoices.new-ach-account.connect-plaid') }}</v-btn>\n        </v-col>\n        <v-col cols=\"6\">\n          <v-btn class=\"secondary-action\" @click=\"connectManually\">{{ $t('invoices.new-ach-account.connect-manually') }}</v-btn>\n        </v-col>\n      </v-row>\n    </v-container>\n  </div>\n</template>\n\n<script>\nexport default {\n  name: 'NewAchAccount',\n\n  props: [],\n\n  components: {},\n\n  data: function() {\n    return {};\n  },\n\n  mounted() {\n  },\n\n  beforeDestroy() {\n  },\n\n  methods: {\n    connectPlaid: function(){\n      this.$emit('result','PLAID');\n    },\n\n    connectManually: function(){\n      this.$emit('result','MANUAL');\n    },\n\n    handleClose() {\n      this.$emit('result', false);\n    },\n  },\n\n  computed: {},\n\n};\n</script>\n\n<style scoped lang=\"scss\">\n  .new-ach-dialog-div {\n    background-color: var(--v-white-base);\n    position: relative;\n    border-radius: 4px !important;\n    width: 600px;\n\n    button.v-btn.close-dialog {\n      right: 4px !important;\n      top: 6px !important;\n    }\n  }\n</style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewAchAccount.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewAchAccount.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./NewAchAccount.vue?vue&type=template&id=ddb85c8a&scoped=true\"\nimport script from \"./NewAchAccount.vue?vue&type=script&lang=js\"\nexport * from \"./NewAchAccount.vue?vue&type=script&lang=js\"\nimport style0 from \"./NewAchAccount.vue?vue&type=style&index=0&id=ddb85c8a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"ddb85c8a\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VIcon,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"new-ach-dialog-div\"},[(_vm.stripeAccountId)?_c('v-container',{staticClass:\"mt-0 mb-4\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"1\"}}),_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('h2',[_vm._v(_vm._s(_vm.$t(\"invoices.manual-ach.account-info\")))])]),_c('v-col',{attrs:{\"cols\":\"1\"}},[_c('v-icon',{on:{\"click\":_vm.handleClose}},[_vm._v(\"$close\")])],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-form',{ref:\"accountForm\",on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"label\":_vm.$t('invoices.manual-ach.name'),\"hide-details\":\"\",\"rules\":_vm.noBlank,\"persistent-placeholder\":\"\"},model:{value:(_vm.accountHolderName),callback:function ($$v) {_vm.accountHolderName=$$v},expression:\"accountHolderName\"}}),_c('v-select',{staticClass:\"h-outline\",attrs:{\"items\":_vm.holderTypes,\"label\":_vm.$t('invoices.manual-ach.type'),\"hide-details\":\"\",\"persistent-placeholder\":\"\"},model:{value:(_vm.accountHolderType),callback:function ($$v) {_vm.accountHolderType=$$v},expression:\"accountHolderType\"}}),_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"label\":_vm.$t('invoices.manual-ach.routing-number'),\"hide-details\":\"\",\"maxlength\":\"9\",\"rules\":_vm.requiredRules,\"persistent-placeholder\":\"\"},model:{value:(_vm.routingNumber),callback:function ($$v) {_vm.routingNumber=$$v},expression:\"routingNumber\"}}),_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"label\":_vm.$t('invoices.manual-ach.account-number'),\"hide-details\":\"\",\"rules\":_vm.requiredRules,\"persistent-placeholder\":\"\"},model:{value:(_vm.accountNumber),callback:function ($$v) {_vm.accountNumber=$$v},expression:\"accountNumber\"}}),_c('v-select',{staticClass:\"h-outline\",attrs:{\"items\":_vm.accountTypes,\"label\":_vm.$t('invoices.manual-ach.account-type'),\"hide-details\":\"\",\"persistent-placeholder\":\"\"},model:{value:(_vm.accountType),callback:function ($$v) {_vm.accountType=$$v},expression:\"accountType\"}})],1)],1)],1)],1):_vm._e(),_c('div',{staticClass:\"pt-2 pb-4\",staticStyle:{\"border-top\":\"1px solid var(--v-gray_50-base)\"}},[_c('v-btn',{staticClass:\"secondary-action mr-1\",on:{\"click\":_vm.handleClose}},[_vm._v(_vm._s(_vm.$t('global.cancel')))]),_c('v-btn',{staticClass:\"primary-action ml-2\",attrs:{\"disabled\":!_vm.isValid},on:{\"click\":_vm.linkNewAccount}},[_vm._v(_vm._s(_vm.$t('invoices.payment.new-linked')))])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import HttpClient from '@/services/HttpClient';\nimport store from '@/store';\n\nexport default class PaymentsService {\n\thttpClient;\n\n\tconstructor() {\n\t\tthis.httpClient = new HttpClient();\n\t}\n\n\tgetStripeAccountId() {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/stripeAccountId`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetPaymentMethods() {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/paymentMethods`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetBankAccounts() {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/bankAccounts`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\taddBankAccount(stripeToken) {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.post(`/${clientId}/bankAccounts`,null,{\n\t\t\t\tparams: {\n\t\t\t\t\tstripeToken:stripeToken\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tverifyBankAccount(bankAccountId,amount1,amount2) {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.post(`/${clientId}/bankAccounts/verify`,null,{\n\t\t\t\tparams: {\n\t\t\t\t\tbankAccountId:bankAccountId,\n\t\t\t\t\tamount1:amount1,\n\t\t\t\t\tamount2:amount2\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\n\tdeleteBankAccount(bankAccountId) {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.delete(`/${clientId}/bankAccounts`,{\n\t\t\t\tparams: {\n\t\t\t\t\tbankAccountId:bankAccountId\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tcreateACHLinkSession(redirectUri){\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.post(`/${clientId}/bankAccounts/session`,null,{\n\t\t\t\tparams:{\n\t\t\t\t\tredirectUri:redirectUri\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\n\tgetACHLinkSession(podUrl,sessionToken){\n\t\tlet httpClient = new HttpClient(podUrl, false);\n\t\treturn httpClient\n\t\t\t.get('/api/insecure/plaid/linkSession',{\n\t\t\t\tparams:{\n\t\t\t\t\tsessionToken:sessionToken\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\n\tgetPlaidLinkToken(podUrl,sessionToken){\n\t\tlet httpClient = new HttpClient(podUrl, false);\n\t\treturn httpClient\n\t\t\t.post('/api/insecure/plaid/token',null,{\n\t\t\t\tparams:{\n\t\t\t\t\tsessionToken:sessionToken\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\texchangePlaidPublicToken(podUrl,sessionToken,token,plaidAccountId){\n\t\tlet httpClient = new HttpClient(podUrl, false);\n\t\treturn httpClient\n\t\t\t.post('/api/insecure/plaid/exchange',null,{\n\t\t\t\tparams:{\n\t\t\t\t\tsessionToken:sessionToken,\n\t\t\t\t\ttoken:token,\n\t\t\t\t\tplaidAccountId:plaidAccountId\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n}\n","<template>\n\t<div class=\"new-ach-dialog-div\">\n\t\t<v-container fluid class=\"mt-0 mb-4\" v-if=\"stripeAccountId\">\n\t\t\t<v-row dense>\n\t\t\t\t<v-col cols=\"1\"></v-col>\n\t\t\t\t<v-col cols=\"10\"><h2>{{ $t(\"invoices.manual-ach.account-info\") }}</h2></v-col>\n\t\t\t\t<v-col cols=\"1\"><v-icon @click=\"handleClose\">$close</v-icon></v-col>\n\t\t\t</v-row>\n\t\t\t<v-row dense>\n\t\t\t\t<v-col cols=\"12\">\n\t\t\t\t\t<v-form ref=\"accountForm\" @submit.prevent v-model=\"isValid\">\n\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\tv-model=\"accountHolderName\"\n\t\t\t\t\t\t\t:label=\"$t('invoices.manual-ach.name')\"\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t:rules=\"noBlank\"\n\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\tv-model=\"accountHolderType\"\n\t\t\t\t\t\t\t:items=\"holderTypes\"\n\t\t\t\t\t\t\t:label=\"$t('invoices.manual-ach.type')\"\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t></v-select>\n\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\tv-model=\"routingNumber\"\n\t\t\t\t\t\t\t:label=\"$t('invoices.manual-ach.routing-number')\"\n\t\t\t\t\t\t\thide-details\n              maxlength=\"9\"\n\t\t\t\t\t\t\t:rules=\"requiredRules\"\n\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\tv-model=\"accountNumber\"\n\t\t\t\t\t\t\t:label=\"$t('invoices.manual-ach.account-number')\"\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t:rules=\"requiredRules\"\n\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\tv-model=\"accountType\"\n\t\t\t\t\t\t\t:items=\"accountTypes\"\n\t\t\t\t\t\t\t:label=\"$t('invoices.manual-ach.account-type')\"\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t></v-select>\n\t\t\t\t\t</v-form>\n\t\t\t\t</v-col>\n\t\t\t</v-row>\n\t\t</v-container>\n\t\t<div style=\"border-top: 1px solid var(--v-gray_50-base)\" class=\"pt-2 pb-4\">\n\t\t\t<v-btn class=\"secondary-action mr-1\" @click=\"handleClose\">{{ $t('global.cancel') }}</v-btn>\n\t\t\t<v-btn class=\"primary-action ml-2\" @click=\"linkNewAccount\" :disabled=\"!isValid\">{{ $t('invoices.payment.new-linked') }}</v-btn>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport PaymentsService from '@/modules/invoices/PaymentsService';\n\timport ConfirmModal from '@/components/ConfirmModal';\n\n\texport default {\n\t\tname: 'ManualAchAccount',\n\n\t\tprops: [''],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\taccountHolderName: null,\n\t\t\t\taccountNumber: null,\n\t\t\t\troutingNumber: null,\n\t\t\t\taccountHolderType: 'individual',\n\t\t\t\taccountType: 'checking',\n\t\t\t\tpaymentsService: new PaymentsService(),\n\t\t\t\tstripeAccountId: null,\n\t\t\t\tisValid: false,\n\n\t\t\t\taccountTypes: [\n\t\t\t\t\t{ text: this.$t('invoices.manual-ach.checking'), value: 'checking' },\n\t\t\t\t\t{ text: this.$t('invoices.manual-ach.savings'), value: 'savings' },\n\t\t\t\t],\n\n\t\t\t\tholderTypes: [\n\t\t\t\t\t{ text: this.$t('invoices.manual-ach.individual'), value: 'individual' },\n\t\t\t\t\t{ text: this.$t('invoices.manual-ach.company'), value: 'company' },\n\t\t\t\t],\n\n        noBlank: [\n          (v) => !!v || 'Required'\n        ],\n\n\t\t\t\trequiredRules: [\n          (v) => !!v || 'Required',\n          (v) => v && v.length >= 5 || 'Required',\n        ],\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getStripeAccountId();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tgetStripeAccountId: function() {\n\t\t\t\tthis.paymentsService.getStripeAccountId().then((res) => {\n\t\t\t\t\tthis.stripeAccountId = res.data;\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tlinkNewAccount: function() {\n        if(!this.$refs.accountForm.validate()){\n          return;\n        }\n\n\t\t\t\tlet stripe = window.Stripe(this.$store.state.stripeKey, {\n\t\t\t\t\tstripeAccount: this.stripeAccountId,\n\t\t\t\t});\n\n        this.$store.commit('startLoading');\n\n\t\t\t\tstripe\n\t\t\t\t\t.createToken('bank_account', {\n\t\t\t\t\t\tcountry: 'US',\n\t\t\t\t\t\tcurrency: 'usd',\n\t\t\t\t\t\trouting_number: this.routingNumber.replace(/\\D/g, ''),\n\t\t\t\t\t\taccount_number: this.accountNumber.replace(/\\D/g, ''),\n\t\t\t\t\t\taccount_holder_name: this.accountHolderName,\n\t\t\t\t\t\taccount_holder_type: this.accountHolderType,\n\t\t\t\t\t})\n\t\t\t\t\t.then((res) => {\n            if(res.token){\n              this.paymentsService.addBankAccount(res.token.id).then((res) => {\n                this.$store.commit('stopLoading');\n                this.$emit('result',res.data);\n              }).catch((err) => {\n                this.handleError(err.response.data.message)\n              })\n            }else if(res.error){\n              this.handleError(res.error.message);\n            }else{\n              this.handleError('There was an unknown error.');\n            }\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tthis.handleError(err.error.message);\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\thandleError: function(message) {\n        this.$store.commit('stopLoading');\n\n\t\t\t\tlet binding = {\n\t\t\t\t\theadingText: this.$t('error.connecting-account'),\n\t\t\t\t\tbodyText: message,\n\t\t\t\t\thideNo: true,\n\t\t\t\t\tyesText: this.$t('global.okay'),\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController.openModal(ConfirmModal, binding, true, false);\n\t\t\t},\n\n\t\t\thandleClose() {\n\t\t\t\tthis.$emit('result', false);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.new-ach-dialog-div {\n\t\tbackground-color: var(--v-white-base);\n\t\tposition: relative;\n\t\tborder-radius: 4px !important;\n\t\twidth: 400px;\n\n\t\tbutton.v-btn.close-dialog {\n\t\t\tright: 4px !important;\n\t\t\ttop: 6px !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ManualAchAccount.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ManualAchAccount.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ManualAchAccount.vue?vue&type=template&id=767db05c&scoped=true\"\nimport script from \"./ManualAchAccount.vue?vue&type=script&lang=js\"\nexport * from \"./ManualAchAccount.vue?vue&type=script&lang=js\"\nimport style0 from \"./ManualAchAccount.vue?vue&type=style&index=0&id=767db05c&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"767db05c\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCol,VContainer,VForm,VIcon,VRow,VSelect,VTextField})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"new-ach-dialog-div\"},[_c('v-container',{staticClass:\"mt-0 mb-4\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"1\"}}),_c('v-col',{attrs:{\"cols\":\"10\"}},[_c('h2',[_vm._v(_vm._s(_vm.$t('invoices.verify-ach-account.enter-verification')))])]),_c('v-col',{attrs:{\"cols\":\"1\"}},[_c('v-icon',{on:{\"click\":_vm.handleClose}},[_vm._v(\"$close\")])],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-form',{ref:\"accountForm\",on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"label\":_vm.$t('invoices.verify-ach-account.enter-deposit-1'),\"hide-details\":\"\",\"maxlength\":\"2\",\"prefix\":\"$0.\",\"rules\":_vm.requiredRules,\"persistent-placeholder\":\"\"},model:{value:(_vm.amount1),callback:function ($$v) {_vm.amount1=$$v},expression:\"amount1\"}}),_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"label\":_vm.$t('invoices.verify-ach-account.enter-deposit-2'),\"hide-details\":\"\",\"maxlength\":\"2\",\"prefix\":\"$0.\",\"rules\":_vm.requiredRules,\"persistent-placeholder\":\"\"},model:{value:(_vm.amount2),callback:function ($$v) {_vm.amount2=$$v},expression:\"amount2\"}})],1)],1)],1)],1),_c('div',{staticClass:\"pt-2 pb-4\",staticStyle:{\"border-top\":\"1px solid var(--v-gray_50-base)\"}},[_c('v-btn',{staticClass:\"secondary-action mr-1\",on:{\"click\":_vm.handleClose}},[_vm._v(_vm._s(_vm.$t('global.cancel')))]),_c('v-btn',{staticClass:\"primary-action ml-2\",attrs:{\"disabled\":!_vm.isValid},on:{\"click\":_vm.verifyAccount}},[_vm._v(_vm._s(_vm.$t('global.verify')))])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"new-ach-dialog-div\">\n\t\t<v-container fluid class=\"mt-0 mb-4\">\n\t\t\t<v-row dense>\n\t\t\t\t<v-col cols=\"1\"></v-col>\n\t\t\t\t<v-col cols=\"10\"><h2>{{ $t('invoices.verify-ach-account.enter-verification') }}</h2></v-col>\n\t\t\t\t<v-col cols=\"1\"><v-icon @click=\"handleClose\">$close</v-icon></v-col>\n\t\t\t</v-row>\n\t\t\t<v-row dense>\n\t\t\t\t<v-col cols=\"12\">\n\t\t\t\t\t<v-form ref=\"accountForm\" @submit.prevent v-model=\"isValid\">\n\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\tv-model=\"amount1\"\n\t\t\t\t\t\t\t:label=\"$t('invoices.verify-ach-account.enter-deposit-1')\"\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\tmaxlength=\"2\"\n\t\t\t\t\t\t\tprefix=\"$0.\"\n\t\t\t\t\t\t\t:rules=\"requiredRules\"\n\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\tv-model=\"amount2\"\n\t\t\t\t\t\t\t:label=\"$t('invoices.verify-ach-account.enter-deposit-2')\"\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\tmaxlength=\"2\"\n\t\t\t\t\t\t\tprefix=\"$0.\"\n\t\t\t\t\t\t\t:rules=\"requiredRules\"\n\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t</v-form>\n\t\t\t\t</v-col>\n\t\t\t</v-row>\n\t\t</v-container>\n\t\t<div style=\"border-top: 1px solid var(--v-gray_50-base)\" class=\"pt-2 pb-4\">\n\t\t\t<v-btn class=\"secondary-action mr-1\" @click=\"handleClose\">{{ $t('global.cancel') }}</v-btn>\n\t\t\t<v-btn class=\"primary-action ml-2\" @click=\"verifyAccount\" :disabled=\"!isValid\">{{ $t('global.verify') }}</v-btn>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport PaymentsService from '@/modules/invoices/PaymentsService';\n\timport ConfirmModal from '@/components/ConfirmModal';\n\n\texport default {\n\t\tname: 'VerifyAchAccount',\n\n\t\tprops: ['bankAccount'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tamount1: null,\n\t\t\t\tamount2: null,\n\t\t\t\tpaymentsService: new PaymentsService(),\n\t\t\t\tisValid: false,\n\n\t\t\t\trequiredRules: [(v) => !!v || 'Required'],\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\thandleError: function(message) {\n\t\t\t\tthis.$store.commit('stopLoading');\n\n\t\t\t\tlet binding = {\n\t\t\t\t\theadingText: this.$t('error.connecting-account'),\n\t\t\t\t\tbodyText: message,\n\t\t\t\t\thideNo: true,\n\t\t\t\t\tyesText: this.$t('global.okay'),\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController.openModal(ConfirmModal, binding, true, false);\n\t\t\t},\n\n\t\t\tverifyAccount: function() {\n        this.$store.commit('startLoading');\n\t\t\t\tthis.paymentsService\n\t\t\t\t\t.verifyBankAccount(this.bankAccount.id, this.amount1, this.amount2)\n\t\t\t\t\t.then((res) => {\n            this.$store.commit('stopLoading');\n\t\t\t\t\t\tthis.$emit('result',res.data);\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tthis.handleError(err.response.data.message);\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\thandleClose() {\n\t\t\t\tthis.$emit('result', false);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.new-ach-dialog-div {\n\t\tbackground-color: var(--v-white-base);\n\t\tposition: relative;\n\t\tborder-radius: 4px !important;\n\t\twidth: 300px;\n\n\t\tbutton.v-btn.close-dialog {\n\t\t\tright: 4px !important;\n\t\t\ttop: 6px !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VerifyAchAccount.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./VerifyAchAccount.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./VerifyAchAccount.vue?vue&type=template&id=ba558080&scoped=true\"\nimport script from \"./VerifyAchAccount.vue?vue&type=script&lang=js\"\nexport * from \"./VerifyAchAccount.vue?vue&type=script&lang=js\"\nimport style0 from \"./VerifyAchAccount.vue?vue&type=style&index=0&id=ba558080&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"ba558080\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCol,VContainer,VForm,VIcon,VRow,VTextField})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticStyle:{\"width\":\"700px\"}},[_c('div',{staticClass:\"modal-padding\"},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"items\":_vm.payments,\"disable-pagination\":\"\",\"hide-default-footer\":\"\"},scopedSlots:_vm._u([{key:\"item.amount\",fn:function({item}){return [_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(item.amount,true,true,item.currency))+\" \")]}},{key:\"item.paid\",fn:function({item}){return [_vm._v(\" \"+_vm._s(_vm.$formatters.yesNoFromBoolean(item.paid))+\" \")]}}])})],1),_c('div',{staticClass:\"modal-footer\"},[_c('v-btn',{staticClass:\"primary-action ml-1\",attrs:{\"width\":\"150\"},on:{\"click\":function($event){return _vm.$emit('result')}}},[_vm._v(_vm._s(_vm.$t('global.done')))])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import HttpClient from '@/services/HttpClient';\nimport store from '@/store';\n\nexport default class SubscriptionService {\n\thttpClient;\n\n\tconstructor() {\n\t\tthis.httpClient = new HttpClient();\n\t}\n\n\tcheckSubscriptionsEnabled() {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/subscriptions/enabled`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetSubscriptions() {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/subscriptions`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\n\tgetSubscriptionRequests() {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/subscriptions/requests`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\n\tgetSubscriptionPayments(subscriptionId) {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/subscriptions/payments`,{\n\t\t\t\tparams: {\n\t\t\t\t\tsubscriptionId:subscriptionId\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\n\tgetSubscriptionPortalLink(redirectUri) {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/subscriptions/portalSession`,{\n\t\t\t\tparams: {\n\t\t\t\t\tredirectUri: redirectUri\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n}\n","<template>\n\t<div style=\"width: 700px\">\n\t\t<div class=\"modal-padding\">\n\t\t\t<v-data-table :headers=\"headers\" :items=\"payments\" disable-pagination hide-default-footer>\n\t\t\t\t<template v-slot:item.amount=\"{item}\">\n\t\t\t\t\t{{$formatters.dollars(item.amount,true,true,item.currency)}}\n\t\t\t\t</template>\n\t\t\t\t<template v-slot:item.paid=\"{item}\">\n\t\t\t\t\t{{$formatters.yesNoFromBoolean(item.paid)}}\n\t\t\t\t</template>\n\t\t\t</v-data-table>\n\t\t</div>\n\t\t<div class=\"modal-footer\">\n\t\t\t<v-btn class=\"primary-action ml-1\" width=\"150\" @click=\"$emit('result')\">{{ $t('global.done') }}</v-btn>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\n\timport SubscriptionService from '@/modules/subscriptions/SubscriptionService';\n\n  export default {\n\t\tname: 'SubscriptionPayments',\n\n\t\tprops: ['subscription'],\n\n\t\tcomponents: {},\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tpayments: [],\n\t\t\t\tstripeSubscriptionService: new SubscriptionService(),\n\t\t\t\theaders: [\n\t\t\t\t\t{ text: this.$t('stripe.subscription.period-start'), value: 'periodStart' },\n\t\t\t\t\t{ text: this.$t('stripe.subscription.period-end'), value: 'periodEnd' },\n\t\t\t\t\t{ text: this.$t('stripe.subscription.invoice-amount'), value: 'amount' },\n\t\t\t\t\t{ text: this.$t('stripe.subscription.paid'), value: 'paid' },\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getPayments();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tgetPayments: function () {\n\t\t\t\tthis.stripeSubscriptionService.getSubscriptionPayments(this.subscription.id).then((res) => {\n\t\t\t\t\tthis.payments.splice(0, this.payments.length);\n\t\t\t\t\tthis.payments.push(...res.data);\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubscriptionPayments.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubscriptionPayments.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SubscriptionPayments.vue?vue&type=template&id=c0206396&scoped=true\"\nimport script from \"./SubscriptionPayments.vue?vue&type=script&lang=js\"\nexport * from \"./SubscriptionPayments.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"c0206396\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VBtn,VDataTable})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticStyle:{\"position\":\"relative\"},attrs:{\"id\":\"project-selector\"}},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\"},on:{\"click\":_vm.handleClose}},[_c('v-icon',[_vm._v(\"$close\")])],1),_c('div',{staticClass:\"modal-padding\"},[_c('h2',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t('projects.add-deliverable')))]),_c('div',{staticClass:\"modal-subtitle\"},[_vm._v(_vm._s(_vm.$t('projects.add-deliverable-sub')))]),_c('div',[_c('v-data-table',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"items-per-page\":100,\"hide-default-footer\":_vm.projects.length <= 100,\"hide-default-header\":true,\"headers\":_vm.headers,\"items\":_vm.projects,\"mobile-breakpoint\":0},on:{\"click:row\":function($event){return _vm.selectProject($event)}},scopedSlots:_vm._u([{key:\"item.name\",fn:function({ item }){return [_c('div',{staticClass:\"project-wrapper\"},[_c('div',{staticClass:\"project-name\"},[_vm._v(_vm._s(item.name))])])]}}])})],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div id=\"project-selector\" style=\"position: relative\">\n\t\t<v-btn icon class=\"close-dialog\" @click=\"handleClose\">\n\t\t\t<v-icon>$close</v-icon>\n\t\t</v-btn>\n\n\t\t<div class=\"modal-padding\">\n\t\t\t<h2 class=\"modal-title\">{{ $t('projects.add-deliverable') }}</h2>\n\t\t\t<div class=\"modal-subtitle\">{{ $t('projects.add-deliverable-sub') }}</div>\n\t\t\t<div>\n\t\t\t\t<v-data-table\n\t\t\t\t\t:items-per-page=\"100\"\n\t\t\t\t\t:hide-default-footer=\"projects.length <= 100\"\n\t\t\t\t\t:hide-default-header=\"true\"\n\t\t\t\t\t:headers=\"headers\"\n\t\t\t\t\t:items=\"projects\"\n\t\t\t\t\tstyle=\"cursor:pointer;\"\n\t\t\t\t\t@click:row=\"selectProject($event)\"\n\t\t\t\t\t:mobile-breakpoint=\"0\"\n\t\t\t\t>\n\t\t\t\t\t<template v-slot:item.name=\"{ item }\">\n\t\t\t\t\t\t<div class=\"project-wrapper\">\n\t\t\t\t\t\t\t<div class=\"project-name\">{{ item.name }}</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</v-data-table>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'ProjectSelector',\n\n\t\tprops: ['projects'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\theaders: [{ text: this.$t('projects.project'), name: 'project', value: 'name', sortable: true }],\n\t\t\t\tsortCol: null,\n\t\t\t\tsortAscending: true,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tselectProject: function(row) {\n\t\t\t\tthis.$emit('result', { type: 'project-selected', project: row });\n\t\t\t},\n\n\t\t\thandleClose() {\n\t\t\t\tthis.$emit('result');\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\n\t\twatch: {},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.project-selector {\n\t\twidth: 600px;\n\t\tposition: relative !important;\n\t\tbackground-color: var(--v-white-base);\n\t\tborder-radius: 4px !important;\n\n\t\tbutton.v-btn.close-dialog {\n\t\t\tposition: absolute;\n\t\t\tright: 4px !important;\n\t\t\ttop: 6px !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSelector.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSelector.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProjectSelector.vue?vue&type=template&id=22337458\"\nimport script from \"./ProjectSelector.vue?vue&type=script&lang=js\"\nexport * from \"./ProjectSelector.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProjectSelector.vue?vue&type=style&index=0&id=22337458&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VDataTable,VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"confirm-dialog-div\"},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\",\"rounded\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.handleClose()}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$close\")])],1),_c('div',{staticClass:\"modal-padding\"},[_c('div',{staticClass:\"modal-title text-center mb-2 mt-4\"}),_c('v-form',{ref:\"confirmDialog\",attrs:{\"id\":\"confirmDialog\",\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.handleSubmit()}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('div',{staticClass:\"column-format gap-2\"},[_c('v-text-field',{attrs:{\"type\":\"password\",\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('login.password'),\"rules\":_vm.passwordRules},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}),_c('v-text-field',{attrs:{\"type\":\"password\",\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"persistent-placeholder\":\"\",\"label\":_vm.$t('login.confirm-password'),\"rules\":_vm.confirmPasswordRules},model:{value:(_vm.confirmPassword),callback:function ($$v) {_vm.confirmPassword=$$v},expression:\"confirmPassword\"}}),_c('v-btn',{staticStyle:{\"height\":\"40px!important\"},attrs:{\"disabled\":!_vm.isValid,\"color\":\"primary\",\"elevation\":\"0\",\"block\":\"\"},on:{\"click\":function($event){return _vm.handleSubmit()}}},[_vm._v(_vm._s(_vm.$t('global.save')))]),_c('v-btn',{attrs:{\"text\":\"\",\"block\":\"\"},on:{\"click\":function($event){return _vm.disablePasswordLogin()}}},[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"color\":\"gray_70\"}},[_vm._v(\"cancel\")]),_vm._v(_vm._s(_vm.$t('login.disable-password')))],1)],1)])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import HttpClient from '@/services/HttpClient';\nimport qs from 'qs';\n\nexport default class PasswordService {\n\thttpClient;\n\n\tconstructor() {\n\t\tthis.httpClient = new HttpClient(process.env.VUE_APP_BASE_AUTH_URL);\n\t}\n\n\tsetPassword(password){\n\t\tconst request = {\n\t\t\tpassword\n\t\t};\n\n\t\tconst config = {\n\t\t\theaders: {\n\t\t\t\t'Content-Type': 'application/x-www-form-urlencoded',\n\t\t\t},\n\t\t};\n\n\t\treturn this.httpClient\n\t\t\t.post('/auth/portal/setPassword', qs.stringify(request), config)\n\t\t\t.then((response) => response.data)\n\t\t\t.catch((error) => Promise.reject(error));\n\t}\n}\n","<template>\n  <div class=\"confirm-dialog-div\">\n    <v-btn class=\"close-dialog\" icon rounded @click.prevent=\"handleClose()\">\n      <v-icon size=\"20\">$close</v-icon>\n    </v-btn>\n    <div class=\"modal-padding\">\n      <div class=\"modal-title text-center mb-2 mt-4\">\n      </div>\n\n      <v-form @submit.prevent=\"handleSubmit()\" v-model=\"isValid\" ref=\"confirmDialog\" id=\"confirmDialog\" lazy-validation>\n        <div class=\"column-format gap-2\">\n          <v-text-field v-model=\"password\" type=\"password\" hide-details dense outlined persistent-placeholder :label=\"$t('login.password')\" :rules=\"passwordRules\"></v-text-field>\n          <v-text-field v-model=\"confirmPassword\" type=\"password\" hide-details dense outlined persistent-placeholder  :label=\"$t('login.confirm-password')\" :rules=\"confirmPasswordRules\"></v-text-field>\n          <v-btn :disabled=\"!isValid\" color=\"primary\" style=\"height: 40px!important;\" elevation=\"0\" block @click=\"handleSubmit()\">{{ $t('global.save') }}</v-btn>\n          <v-btn text block  @click=\"disablePasswordLogin()\"><v-icon class=\"material-symbols-outlined\" color=\"gray_70\">cancel</v-icon>{{$t('login.disable-password')}}</v-btn>\n        </div>\n      </v-form>\n    </div>\n\n  </div>\n</template>\n\n<script>\nimport PasswordService from '@/modules/auth/PasswordService';\n\nexport default {\n  name: 'UpdatePassword',\n\n  props: [],\n\n  components: {},\n\n  data: function() {\n    return {\n      passwordService: new PasswordService(),\n      isValid: false,\n      password: null,\n      confirmPassword: null,\n      passwordRules: [(v) => !!v || '', (v) => v && v.length >= 8 || ''],\n      confirmPasswordRules: [(v) => !!v || '', (v) => v && v === this.password || '']\n    };\n  },\n\n  mounted() {\n  },\n\n  beforeDestroy() {\n  },\n\n  methods: {\n    handleSubmit: function(){\n      this.passwordService.setPassword(this.password).then(() => {\n        this.$store.commit('success','OK');\n        this.$emit('result');\n      }).catch((err) => {\n        this.$store.commit('error',err.response.data.message);\n      })\n    },\n\n    disablePasswordLogin: function(){\n      console.log('disabling');\n      this.passwordService.setPassword(null).then(() => {\n        this.$store.commit('success','OK');\n        this.$emit('result');\n      }).catch((err) => {\n        this.$store.commit('error',err.response.data.message);\n      })\n    },\n\n    handleClose: function(){\n      this.$emit('result');\n    }\n  },\n\n  computed: {},\n\n};\n</script>\n\n<style scoped lang=\"scss\">\n.confirm-dialog-div {\n  background-color: var(--v-white-base);\n  position: relative;\n  border-radius: 4px !important;\n\n  button.v-btn.close-dialog {\n    right: 4px !important;\n    top: 6px !important;\n  }\n}\n</style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdatePassword.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UpdatePassword.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UpdatePassword.vue?vue&type=template&id=4cd2483e&scoped=true\"\nimport script from \"./UpdatePassword.vue?vue&type=script&lang=js\"\nexport * from \"./UpdatePassword.vue?vue&type=script&lang=js\"\nimport style0 from \"./UpdatePassword.vue?vue&type=style&index=0&id=4cd2483e&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4cd2483e\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VForm,VIcon,VTextField})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"submission-details\"}},[_c('div',{attrs:{\"id\":\"header-area\"}},[_c('div',{staticClass:\"header-left pl-md-6 pl-4\"},[_c('div',{staticClass:\"mr-6 brand-medium\"},[_vm._v(\" \"+_vm._s(_vm.submission.formName)+\" - \"+_vm._s(_vm.DateTime.fromISO(_vm.submission.submittedAt).toLocaleString(_vm.DateTime.DATETIME_MED))+\" \")])]),_c('div',{staticClass:\"header-right pr-md-6 pr-4\"},[_c('div',[_c('v-btn',{staticClass:\"primary-action\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.handleClose()}}},[_c('v-icon',{attrs:{\"size\":20}},[_vm._v(\"$close\")])],1)],1)])]),_c('div',{staticClass:\"show-scrollbar\",staticStyle:{\"width\":\"100%\",\"height\":\"100%\"}},[_c('iframe',{staticClass:\"responsive-iframe\",attrs:{\"src\":_vm.fullUrl,\"id\":`frame-${_vm.frameId}`}})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div id=\"submission-details\">\n\t\t<div id=\"header-area\" class=\"\">\n\t\t\t<div class=\"header-left pl-md-6 pl-4\">\n\t\t\t\t<div class=\"mr-6 brand-medium\">\n\t\t\t\t\t{{ submission.formName }} -\n\t\t\t\t\t{{ DateTime.fromISO(submission.submittedAt).toLocaleString(DateTime.DATETIME_MED) }}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"header-right pr-md-6 pr-4\">\n\t\t\t\t<div>\n\t\t\t\t\t<v-btn icon class=\"primary-action\" @click=\"handleClose()\">\n\t\t\t\t\t\t<v-icon :size=\"20\">$close</v-icon>\n\t\t\t\t\t</v-btn>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"show-scrollbar\" style=\"width: 100%; height: 100%\">\n      <iframe :src=\"fullUrl\" :id=\"`frame-${frameId}`\" class=\"responsive-iframe\"></iframe>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport { DateTime } from 'luxon';\n\timport { v4 as uuid4 } from 'uuid';\n\timport iFrameResize from 'iframe-resizer/js/iframeResizer';\n\n\texport default {\n\t\tname: 'FormResultViewer',\n\n\t\tprops: ['submission'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tbaseUrl: process.env.VUE_APP_MEET_LINK,\n\t\t\t\tDateTime: DateTime,\n\t\t\t\tframeId: uuid4().replaceAll('-', ''),\n\t\t\t\tresizerOptions: {\n\t\t\t\t\tlog: false,\n\t\t\t\t\theightCalculationMethod: 'min',\n\t\t\t\t\tsizeWidth: true,\n\t\t\t\t\tsizeHeight: true,\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tiFrameResize(this.resizerOptions, `#frame-${this.frameId}`);\n\t\t\twindow.addEventListener('message', this.handleFrameMessage);\n\t\t\tconsole.log(this.$store.state.loggedInUser);\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t\twindow.removeEventListener('message', this.handleFrameMessage);\n\t\t},\n\n\t\tmethods: {\n\t\t\thandleClose: function() {\n\t\t\t\tthis.$emit('result');\n\t\t\t},\n\n\t\t\thandleFrameMessage(e) {\n\t\t\t\tif (e.data.startsWith('[iFrameSizer]')) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconsole.log('Frame message received', e);\n\t\t\t\tthis.$emit('frame-event', e);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tfullUrl: function() {\n\t\t\t\treturn this.baseUrl + this.podId + '/completedForm?token=' + encodeURIComponent(this.submission.submissionToken);\n\t\t\t},\n\n\t\t\tpodId: function() {\n\t\t\t\tif (this.$store.state.domain) {\n\t\t\t\t\tlet domain = new URL(this.$store.state.domain.podUrl).hostname;\n\t\t\t\t\treturn domain.split('.')[0].replace(/\\D/g, '');\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.responsive-iframe {\n\t\tpadding: 0px;\n\t\tmargin: 0px;\n\t\tborder: 0;\n\t\tmax-width: 100%;\n\t\tmin-width: 100%;\n\t}\n\t#submission-details {\n\t\tbackground-color: var(--v-white-base);\n\t\t#header-area {\n\t\t\theight: 56px;\n\t\t\twidth: 100%;\n\t\t\tbackground-color: var(--v-white-base);\n\t\t\tborder-bottom: 1px solid var(--v-gray_50-base);\n\t\t\t// Needed for sticky positioning\n\t\t\tposition: sticky;\n\t\t\tposition: -webkit-sticky;\n\t\t\ttop: 0;\n\t\t\tz-index: 203;\n\t\t\t// end sticky\n\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\talign-items: center;\n\n\t\t\t.header-left {\n\t\t\t\ttext-align: left;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-items: flex-start;\n\t\t\t\t& > div {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-items: flex-start;\n\t\t\t\t}\n\t\t\t\tbutton,\n\t\t\t\tdiv {\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tcolor: var(--v-black-base);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t.header-right {\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: flex-end;\n\t\t\t\talign-items: center;\n\n\t\t\t\tdiv {\n\t\t\t\t\tflex: 0 0 auto;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormResultViewer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormResultViewer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FormResultViewer.vue?vue&type=template&id=64eba42c&scoped=true\"\nimport script from \"./FormResultViewer.vue?vue&type=script&lang=js\"\nexport * from \"./FormResultViewer.vue?vue&type=script&lang=js\"\nimport style0 from \"./FormResultViewer.vue?vue&type=style&index=0&id=64eba42c&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"64eba42c\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","<template>\n\t<div>\n\t\t<basic-modal\n\t\t\tv-for=\"modal in modals\"\n\t\t\t:key=\"modal.id\"\n\t\t\t:dialog=\"modal.dialog\"\n\t\t\t@close=\"handleClose(modal)\"\n\t\t\t:close-on-escape=\"modal.closeOnEscape\"\n\t\t\t:fullscreen=\"modal.fullScreen\"\n\t\t\toverlay-color=\"modal_overlay\"\n\t\t>\n\t\t\t<component\n\t\t\t\t:ref=\"modal.id\"\n\t\t\t\t:is=\"modal.component\"\n\t\t\t\tv-bind=\"modal.binding\"\n\t\t\t\t@result=\"onResult(modal, $event)\"\n\t\t\t\t@error=\"onError(modal, $event)\"\n\t\t\t></component>\n\t\t</basic-modal>\n\t</div>\n</template>\n\n<script>\n\timport Deferred from '@/modules/utils/Deferred';\n\timport { v4 as uuidv4 } from 'uuid';\n\timport BasicModal from '@/components/BasicModal';\n  import ConfirmModal from '@/components/ConfirmModal';\n  import InvoiceDetails from '@/modules/invoices/InvoiceDetails';\n  import PaymentDetailsModal from '@/modules/invoices/InvoiceRenderer/PaymentDetailsModal';\n  import ProposalDetails from '@/modules/proposal/ProposalDetails';\n  import DeliverableDetail from '@/modules/projects/deliverable/DeliverableDetail';\n  import MeetingEmbed from '@/modules/meetings/MeetingEmbed';\n  import MeetingDetail from '@/modules/meetings/MeetingDetail';\n  import NewAchAccount from '@/modules/invoices/NewAchAccount';\n  import ManualAchAccount from '@/modules/invoices/ManualAchAccount';\n  import VerifyAchAccount from '@/modules/invoices/VerifyAchAccount';\n  import SubscriptionPayments from '@/modules/subscriptions/SubscriptionPayments';\n  import ProjectSelector from '@/modules/projects/ProjectSelector';\n  import UpdatePassword from '@/modules/auth/UpdatePassword';\n  import FormResultViewer from '@/modules/forms/FormResultViewer';\n  import FormRequestViewer from '@/modules/forms/FormRequestViewer';\n\n\texport default {\n\t\tname: 'GlobalModalController',\n\n\t\tprops: [],\n\n\t\tcomponents: {\n\t\t\tBasicModal,\n      ConfirmModal,\n      InvoiceDetails,\n      PaymentDetailsModal,\n      ProposalDetails,\n      DeliverableDetail,\n      MeetingEmbed,\n      MeetingDetail,\n      NewAchAccount,\n      ManualAchAccount,\n      VerifyAchAccount,\n      SubscriptionPayments,\n      ProjectSelector,\n      UpdatePassword,\n      FormResultViewer,\n      FormRequestViewer\n\t\t},\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tignoreBackEvent: false,\n\t\t\t\tmodals: [],\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.$store.state.globalModalController = this;\n\t\t\twindow.onpopstate = this.handleHistoryPop\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t\tthis.$store.state.globalModalController = null;\n\t\t},\n\n\t\tmethods: {\n\t\t\thandleHistoryPop: function(){\n\t\t\t\tif(this.ignoreBackEvent){\n\t\t\t\t\tthis.ignoreBackEvent = false;  //reset flag\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet modal = this.modals.pop();\n\t\t\t\tif(modal){\n\t\t\t\t\tthis.removeModal(modal,false);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\topenModal(component, binding, closeOnEscape = true, fullScreen = false) {\n\t\t\t\tlet dfd = new Deferred();\n\t\t\t\tlet modal = {\n\t\t\t\t\tid: uuidv4(),\n\t\t\t\t\tcomponent: component.name,\n\t\t\t\t\tbinding: binding,\n\t\t\t\t\tdialog: true,\n\t\t\t\t\tcloseOnEscape: closeOnEscape,\n\t\t\t\t\tfullScreen: fullScreen,\n\t\t\t\t\tdfd: dfd,\n\t\t\t\t};\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\twindow.history.pushState({id: modal.id}, document.title, location.href + '#' + modal.id);\n\t\t\t\t},250);\n\n\t\t\t\tthis.modals.push(modal);\n\t\t\t\treturn dfd.promise;\n\t\t\t},\n\n\t\t\thandleClose(modal) {\n\t\t\t\tthis.$refs[modal.id][0].handleClose();\n\t\t\t},\n\n\t\t\tonResult(modal, result) {\n\t\t\t\tmodal.dialog = false;\n\t\t\t\tmodal.dfd.resolve(result);\n\t\t\t\tthis.removeModal(modal);\n\t\t\t},\n\n\t\t\tonError(modal, error) {\n\t\t\t\tmodal.dialog = false;\n\t\t\t\tmodal.dfd.reject(error);\n\t\t\t\tthis.removeModal(modal);\n\t\t\t},\n\n\t\t\tremoveModal(modal,goBack=true) {\n\t\t\t\tif(goBack){\n\t\t\t\t\tthis.ignoreBackEvent = true;\n\t\t\t\t\twindow.history.back();\n\t\t\t\t}\n\n\t\t\t\tlet ix = this.modals.findIndex((m) => m.id === modal.id);\n\t\t\t\tthis.modals.splice(ix, 1);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GlobalModalController.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GlobalModalController.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./GlobalModalController.vue?vue&type=template&id=be88bb18&scoped=true\"\nimport script from \"./GlobalModalController.vue?vue&type=script&lang=js\"\nexport * from \"./GlobalModalController.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"be88bb18\",\n  null\n  \n)\n\nexport default component.exports","import HttpClient from '@/services/HttpClient';\n\nexport default class CustomFontService {\n\thttpClient;\n\n\tconstructor(baseUrl) {\n\t\tthis.httpClient = new HttpClient(baseUrl,false);\n\t}\n\n\tgetCustomFonts(accountId) {\n\t\treturn this.httpClient\n\t\t\t.get(`/api/insecure/${accountId}/fonts`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{ref:\"topNavWrapper\",staticClass:\"row-format align-center\",attrs:{\"id\":\"top-nav-wrapper\"}},[_c('div',{ref:\"topNav\",staticStyle:{\"width\":\"100%\"},attrs:{\"id\":\"top-nav\"}},[(!_vm.mobile)?_c('div',{staticClass:\"row-format\",staticStyle:{\"width\":\"100%\"}},[_c('div',{staticClass:\"row-format align-center\",attrs:{\"id\":\"left-side\"}},[_c('tabs',{attrs:{\"tab-config\":_vm.currentTabsConfig,\"current-path\":_vm.currentPath,\"offset-width\":_vm.$refs.rightSide ? _vm.$refs.rightSide.clientWidth : 508}})],1),_c('div',{ref:\"rightSide\",staticClass:\"ml-auto\",attrs:{\"id\":\"right-side\"}},[_c('div',{class:`mr-2 right ${_vm.$store.state.rightNavExpanded ? 'right-big' : 'right-small'}`,staticStyle:{\"justify-content\":\"space-evenly\",\"border-left\":\"1px solid var(--v-gray_50-base)\"}},[_c('div',{class:`pointer top-button ${_vm.$store.state.rightNavFocus === 'notifications' ? 'active-top' : ''}`,on:{\"click\":function($event){return _vm.openRightNav('notifications')}}},[_c('v-icon',{class:_vm.$store.state.rightNavFocus === 'notifications' ? '' : 'material-symbols-outlined',attrs:{\"color\":_vm.$store.state.rightNavFocus === 'notifications' ? 'primary' : 'secondary'}},[_vm._v(\"notifications_active\")]),(_vm.$store.state.actionCount)?_c('div',{staticClass:\"top-umi\"},[_c('div',[_vm._v(_vm._s(_vm.$store.state.actionCount))])]):_vm._e()],1),_c('v-menu',{attrs:{\"content-class\":\"user-menu\",\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({},on),[_c('div',{staticClass:\"profile-pic\"},[_c('span',{staticClass:\"white--text\"},[_vm._v(_vm._s(_vm.initials))])])])]}}],null,false,2641173716)},[_c('user-menu')],1)],1)])]):_vm._e(),(_vm.mobile)?_c('div',{staticClass:\"row-format align-center\",staticStyle:{\"width\":\"100%\"}},[_c('div',{staticClass:\"ml-2 pointer\"},[_c('img',{staticStyle:{\"max-width\":\"120px\",\"max-height\":\"50px\"},attrs:{\"src\":_vm.logo},on:{\"click\":function($event){return _vm.$router.push('/welcome')}}})]),_c('div',{staticClass:\"ml-auto row-format gap-2\"},[_c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g({staticStyle:{\"position\":\"relative\"}},on),[_c('v-btn',_vm._b({attrs:{\"icon\":\"\"}},'v-btn',attrs,false),[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"size\":\"30\",\"color\":\"black\"}},[_vm._v(\"notifications_active\")])],1),(_vm.$store.state.actionCount)?_c('div',{staticClass:\"top-umi\"},[_c('div',[_vm._v(_vm._s(_vm.$store.state.actionCount))])]):_vm._e()],1)]}}],null,false,4051291297)},[_c('div',{staticClass:\"column-format align-center\",staticStyle:{\"width\":\"300px\",\"height\":\"calc(100vh - 120px)\",\"background-color\":\"var(--v-white-base)\"}},[_c('notifications')],1)]),_c('v-menu',{staticClass:\"pages\",attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('v-btn',_vm._g(_vm._b({staticClass:\"mr-2\",attrs:{\"icon\":\"\"}},'v-btn',attrs,false),on),[_c('v-icon',{attrs:{\"size\":\"30\",\"color\":\"black\"}},[_vm._v(\"menu\")])],1)]}}],null,false,3373471997)},[_c('MobileNav')],1)],1)]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"tabs-component\"},[(_vm.title)?_c('div',{ref:\"moduleTitle\",class:`row-format align-center ${_vm.titleClass()}`,on:{\"click\":function($event){return _vm.goTo(_vm.title)}}},[_c('div',[_c('span',[_vm._v(_vm._s(_vm.$t(_vm.title.label)))])]),(_vm.parentValue)?_c('div',{staticClass:\"row-format align-center\"},[_c('v-icon',{staticClass:\"mx-1\",attrs:{\"size\":\"12\",\"color\":\"secondary\"}},[_vm._v(\"$chevronRight\")]),_c('div',{on:{\"click\":function($event){$event.stopPropagation();return _vm.$router.push(_vm.parentValue.route)}}},[_vm._v(_vm._s(_vm.$t(_vm.parentValue.parent)))])],1):_vm._e(),(_vm.navDetailValue)?_c('div',{staticClass:\"row-format align-center\"},[_c('v-icon',{staticClass:\"mx-1\",attrs:{\"size\":\"12\",\"color\":\"secondary\"}},[_vm._v(\"$chevronRight\")]),_c('div',{staticClass:\"tab-item selected\",staticStyle:{\"cursor\":\"default!important\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_vm._v(_vm._s(_vm.$t(_vm.navDetailValue)))])],1):_vm._e()]):_vm._e(),(_vm.visibleTabs.length || _vm.menuTabs.length)?_c('div',{ref:\"visibleTabs\",staticClass:\"tabs-wrapper\"},[_vm._l((_vm.visibleTabs),function(tab){return _c('div',{key:tab.uri,class:_vm.tabClass(tab),on:{\"click\":function($event){return _vm.goTo(tab)}}},[_vm._v(\" \"+_vm._s(_vm.$t(tab.label))+\" \")])}),(_vm.menuTabs.length)?_c('div',{staticClass:\"menu-wrapper\"},[_c('v-menu',{ref:\"menuTabs\",attrs:{\"close-on-content-click\":true,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"min-width\":\"290px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({ref:\"menuTabsActivator\",class:_vm.menuActivatorClass},on),[_vm._v(\" \"+_vm._s(_vm.$t(_vm.moreVerb))+\" \"),(_vm.menuTabsOpen)?_c('h-icon-3',{staticClass:\"ml-1\",attrs:{\"size\":\"10\",\"name\":\"arrow-up\",\"color\":\"var(--v-secondary-base)\"}}):_c('h-icon-3',{staticClass:\"ml-1\",attrs:{\"size\":\"10\",\"name\":\"arrow-down\",\"color\":\"var(--v-secondary-base)\"}})],1)]}}],null,false,460624119),model:{value:(_vm.menuTabsOpen),callback:function ($$v) {_vm.menuTabsOpen=$$v},expression:\"menuTabsOpen\"}},[_c('v-list',_vm._l((_vm.menuTabs),function(tab){return _c('v-list-item',{key:tab.uri,on:{\"click\":function($event){return _vm.goTo(tab)}}},[_vm._v(\" \"+_vm._s(_vm.$t(tab.label))+\" \")])}),1)],1)],1):_vm._e()],2):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('svg',{style:(_vm.styles),attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"aria-hidden\":\"true\"},on:{\"mouseover\":function($event){_vm.internalHover = true},\"mouseleave\":function($event){_vm.internalHover = false},\"click\":function($event){return _vm.$emit('click')}}},[_c('use',{attrs:{\"id\":_vm.id,\"xlink:href\":_vm.href}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <svg\n      xmlns=\"http://www.w3.org/2000/svg\"\n      aria-hidden=\"true\"\n      :style=\"styles\"\n      @mouseover=\"internalHover = true\"\n      @mouseleave=\"internalHover = false\"\n      @click=\"$emit('click')\">\n    <use :id=\"id\" :xlink:href=\"href\"></use>\n  </svg>\n</template>\n\n<script>\nexport default {\n  name: 'HIcon3',\n\n  props: {\n    size: String, // In pixels\n    width: String, // In pixels\n    height: String,\n    name: { type: String, required: true },\n    id: String, // id of \"use\" block for direct styling\n    active: {type: Boolean, required: false, default: false},\n    disableHover: {type: Boolean, required: false, default: false},\n    hovering: {type: Boolean, required: false, default: false},\n    color:{ type: String, required: false, default: \"var(--v-secondary-base)\" },\n    hoverColor:{ type: String, required: false, default: \"var(--v-primary-base)\" },\n  },\n\n  data() {\n    return {\n      internalHover: false,\n    };\n  },\n\n  computed: {\n\n    href() {\n      // return '/icons/' + this.name + '.svg';\n      return '/icons3.svg#' + this.name;\n\n    },\n\n    styles() {\n      let str = 'outline: none !important; ';\n\n      if (this.size) {\n        str += 'height:' + this.size + 'px;width:' + this.size + 'px;';\n        str += 'min-height:' + this.size + 'px;min-width:' + this.size + 'px;';\n      }else if(this.width && this.height){\n        str += 'height:' + this.height + 'px;width:' + this.width + 'px;';\n        str += 'min-height:' + this.height + 'px;min-width:' + this.width + 'px;';\n      }\n\n      if (this.active) {\n        str += '--icon-color: var(--v-primary-base);'\n      } else if (!this.disableHover && (this.hovering || this.internalHover)){\n        str += `--icon-color: ${this.hoverColor};`;\n      } else {\n        str += `--icon-color: ${this.color};`;\n      }\n\n      if(this.active) {\n        str += '; --icon-fill-color: var(--v-primary-base);';\n      }else{\n        str += '; --icon-fill-color: none; ';\n      }\n\n      return str;\n    },\n  },\n\n  mounted() {},\n};\n</script>\n\n<style lang=\"scss\">\n\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HIcon3.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HIcon3.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./HIcon3.vue?vue&type=template&id=0be0acb0\"\nimport script from \"./HIcon3.vue?vue&type=script&lang=js\"\nexport * from \"./HIcon3.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","<template>\n  <div class=\"tabs-component\">\n    <div :class=\"`row-format align-center ${titleClass()}`\" ref=\"moduleTitle\" v-if=\"title\" @click=\"goTo(title)\">\n      <div><span>{{$t(title.label)}}</span></div>\n      <div v-if=\"parentValue\" class=\"row-format align-center\">\n        <v-icon size=\"12\" color=\"secondary\" class=\"mx-1\">$chevronRight</v-icon>\n        <div @click.stop=\"$router.push(parentValue.route)\">{{$t(parentValue.parent)}}</div>\n      </div>\n      <div v-if=\"navDetailValue\" class=\"row-format align-center\">\n        <v-icon size=\"12\" color=\"secondary\" class=\"mx-1\">$chevronRight</v-icon>\n        <div class=\"tab-item selected\" style=\"cursor: default!important;\" @click.stop>{{$t(navDetailValue)}}</div>\n      </div>\n    </div>\n    <div class=\"tabs-wrapper\" v-if=\"visibleTabs.length || menuTabs.length\" ref=\"visibleTabs\">\n      <div :class=\"tabClass(tab)\" v-for=\"tab in visibleTabs\" :key=\"tab.uri\" @click=\"goTo(tab)\">\n        {{ $t(tab.label) }}\n      </div>\n      <div class=\"menu-wrapper\" v-if=\"menuTabs.length\">\n        <v-menu\n            ref=\"menuTabs\"\n            v-model=\"menuTabsOpen\"\n            :close-on-content-click=\"true\"\n            transition=\"scale-transition\"\n            offset-y\n            min-width=\"290px\"\n        >\n          <template v-slot:activator=\"{ on }\">\n            <div :class=\"menuActivatorClass\" v-on=\"on\" ref=\"menuTabsActivator\">\n              {{ $t(moreVerb) }}\n              <h-icon-3 v-if=\"menuTabsOpen\" class=\"ml-1\" size=\"10\" name=\"arrow-up\" color=\"var(--v-secondary-base)\"></h-icon-3>\n              <h-icon-3 v-else size=\"10\" class=\"ml-1\" name=\"arrow-down\" color=\"var(--v-secondary-base)\"></h-icon-3>\n            </div>\n          </template>\n          <v-list>\n            <v-list-item v-for=\"tab in menuTabs\" :key=\"tab.uri\" @click=\"goTo(tab)\">\n              {{ $t(tab.label) }}\n            </v-list-item>\n          </v-list>\n        </v-menu>\n      </div>\n    </div>\n  </div>\n</template>\n\n\n<script>\nimport HIcon3 from \"@/components/HIcon3\";\nexport default {\n  name: 'TopNav',\n  props: {\n    offsetWidth: { type: Number, required: false, default: 0 }, // Subtracted from overall width\n    currentPath: {type: String, required: true },\n    tabConfig: { type: Object, required: true },\n  },\n  emits: ['set-page'],\n  components: { HIcon3 },\n  data() {\n    return {\n      availableWidth: 0,\n      visibleTabs: [],\n      menuTabs: [],\n      title: null,\n      menuTabsOpen: false,\n      windowWidth: window.innerWidth,\n      leftNavWidth: this.$store.state.leftNavExpanded ? 228 : 64, // See leftNavExpanded watcher below, too\n    };\n  },\n\n  mounted() {\n    setTimeout(() => this.onResize(),500);\n    window.addEventListener('resize', this.debounce(this.onResize, 300));\n  },\n\n\n  beforeDestroy() {\n    window.removeEventListener('resize', this.debounce(this.onResize, 300));\n  },\n\n  methods: {\n    goTo(tab) {\n      if (this.currentPath === tab.uri) return;\n      this.$router.push(tab.uri);\n    },\n\n    tabClass(tab) {\n      // console.log(page);\n      let css = ['tab-item'];\n      if (tab.uri === this.currentPath) {\n        css.push('selected');\n      }\n      return css.join(' ');\n    },\n\n    titleClass() {\n      let css = ['module-title'];\n      if (this.title.uri && this.title.uri !== this.currentPath) {\n        css.push('pointer');\n      }\n      return css.join(' ');\n    },\n\n    onResize() {\n      this.menuTabsOpen = false;\n      this.windowWidth = window.innerWidth;\n      this.availableWidth = this.windowWidth - this.offsetWidth - this.leftNavWidth;\n      this.setTabs();\n    },\n\n    async setTabs() {\n      // Init arrays\n      this.visibleTabs.splice(0, this.visibleTabs.length);\n      this.menuTabs.splice(0, this.menuTabs.length);\n\n      if (!this.tabs.length) return;\n\n\n      if(!this.$store.getters.getFeatures.summaryFinancialsEnabled){\n        let ix = this.tabs.findIndex(t => t.uri === '/invoices?v=reports');\n        if(ix > -1){\n          this.tabs.splice(ix,1);\n        }\n      }\n\n      let i = 0;\n      while (i < this.tabs.length) {\n        let totalTabWidth;\n\n        // Add page to tabs\n        this.visibleTabs.push(this.tabs[i]);\n\n        // Wait for DOM to update then get the total width used\n        await this.$nextTick(()=> {\n          totalTabWidth = this.totalTabWidth();\n        });\n        //console.log('totalTabWidth', totalTabWidth);\n\n        if (!this.widthOk(i, totalTabWidth)) {\n          this.visibleTabs.pop();\n          break;\n        }\n        i++;\n      }\n\n      while (i < this.tabs.length) {\n        this.menuTabs.push(this.tabs[i]);\n        i++;\n      }\n    },\n\n    widthOk(i, totalTabWidth) {\n      if (i === this.tabs.length - 1) { // if last tab, don't include \"more\" button\n        return totalTabWidth <= this.availableWidth;\n      }\n      return totalTabWidth <= this.availableWidth - this.widthOfMoreButton();\n    },\n\n    widthOfMoreButton() {\n      let tabWidth = 50 + 24 + 24; // More link (approx 50px) + gaps\n      // tabWidth += 40; // Shim it a bit for good measure and beauty\n      return tabWidth;\n    },\n\n    totalTabWidth() {\n      let tabWidth = 0;\n\n      if (this.$refs.moduleTitle) {\n        //console.log('titleWidth', this.$refs.moduleTitle.clientWidth);\n        tabWidth = this.$refs.moduleTitle.clientWidth;\n        tabWidth += 24; // gap\n      } else {\n        console.log('moduleTitle is NOT defined');\n      }\n\n      let tabs = [];\n      if (this.$refs.visibleTabs) {\n        tabs = Array.from(this.$refs.visibleTabs.children);\n      }\n\n      for (let v of tabs) {\n        //console.log(v.innerHTML, v.clientWidth);\n        tabWidth += v.clientWidth;\n        tabWidth += 24; // gap\n      }\n      //console.log('tabWidth', tabWidth);\n      return tabWidth;\n    },\n\n    debounce(func, delay) {\n      let debounceTimer;\n      return function() {\n        const context = this\n        const args = arguments\n        clearTimeout(debounceTimer)\n        debounceTimer = setTimeout(() => func.apply(context, args), delay)\n      }\n    }\n  },\n\n  watch: {\n    tabs: {\n      deep: true,\n      handler(){\n        setTimeout(() => this.setTabs(),100);\n      }\n    },\n\n    tabConfig: {\n      immediate: true,\n      deep: true,\n      handler(config) {\n        this.tabs.splice(0, this.tabs.length);\n        this.tabs.push(...config.tabs);\n        this.title = config.title;\n        this.setTabs();\n      }\n    },\n    '$store.state.leftNavExpanded': {\n      immediate: false,\n      handler(expanded) {\n        //console.log('leftNavExpanded changed', expanded);\n        if (expanded) {\n          this.leftNavWidth = 228;\n        } else {\n          this.leftNavWidth = 64;\n        }\n        this.onResize('leftNav');\n      }\n    },\n  },\n\n  computed: {\n    tabs: function(){\n      return this.$store.state.tabs;\n    },\n\n    navDetailValue: function(){\n      if(this.title && this.title.navDetailKey){\n        let value = this.$store.state.navDetailKeys.find(k => k.key === this.title.navDetailKey);\n        if(value){\n          return value.value;\n        }\n      }\n\n      return null;\n    },\n\n    parentValue: function(){\n      if(this.title && this.title.navDetailKey){\n        let value = this.$store.state.navDetailKeys.find(k => k.key === this.title.navDetailKey);\n        if(value && value.parent){\n          return {\n            parent: value.parent,\n            route: value.parentRoute\n          }\n        }\n      }\n\n      return null;\n    },\n\n    moreVerb() {\n      if (this.visibleTabs.length < this.tabs.length) {\n        let tab = this.menuTabs.find((t) => t.uri === this.currentPath);\n        if (tab) {\n          return tab.label;\n        }\n      }\n      return this.$t('global.more');\n    },\n    menuActivatorClass() {\n      let css = ['tab-item', 'row-format'];\n      let idx = this.menuTabs.findIndex((t) => t.uri === this.currentPath);\n      if (idx > -1) {\n        css.push('selected');\n      }\n      return css.join(' ');\n    }\n  },\n};\n</script>\n\n<style lang=\"scss\">\n.tabs-component {\n  display: flex;\n  justify-content: flex-start;\n  align-items: center;\n  gap: 24px;\n\n  .module-title {\n    font-size: 14px;\n    font-weight: 500;\n    color: var(--v-custom-base);\n    padding-left: 12px;\n  }\n  .tabs-wrapper {\n    display: flex;\n    justify-content: flex-start;\n    align-items: center;\n    gap: 24px;\n  }\n\n  .tab-item {\n    white-space: nowrap;\n    color: var(--v-custom-base);\n    font-size: 14px;\n    font-weight: 500;\n    display: flex;\n    align-items: center;\n\n    &:not(.selected) {\n      cursor: pointer;\n      &:hover {\n        opacity: .5;\n      }\n    }\n\n    &.selected {\n      color: var(--v-primary-base);\n      border-bottom: 4px solid var(--v-primary-base);\n      border-top: 4px solid transparent;\n      height: 56px;\n    }\n  }\n}\n</style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tabs.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tabs.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Tabs.vue?vue&type=template&id=48472eee\"\nimport script from \"./Tabs.vue?vue&type=script&lang=js\"\nexport * from \"./Tabs.vue?vue&type=script&lang=js\"\nimport style0 from \"./Tabs.vue?vue&type=style&index=0&id=48472eee&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VIcon,VList,VListItem,VMenu})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[[_c('v-list',{staticStyle:{\"text-align\":\"left\"},attrs:{\"nav\":\"\",\"dense\":\"\"}},_vm._l((_vm.navLinks),function(page,i){return _c('div',{key:i},[(!page.tabs)?_c('v-list-item',{on:{\"click\":function($event){return _vm.handleClick(page)}}},[_c('v-list-item-icon',[_c('v-icon',{staticClass:\"material-symbols-outlined\"},[_vm._v(_vm._s(page.icon))])],1),_c('v-list-item-title',{domProps:{\"textContent\":_vm._s(page.label)}})],1):_c('v-list-group',{key:page.label,attrs:{\"no-action\":\"\",\"value\":false},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();}},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-list-item',[_c('v-list-item-icon',{staticStyle:{\"margin-left\":\"-8px\"}},[_c('v-icon',{staticClass:\"material-symbols-outlined\"},[_vm._v(_vm._s(page.icon))])],1),_c('v-list-item-title',[_c('div',[_vm._v(_vm._s(page.label))])])],1)]},proxy:true}],null,true)},_vm._l((page.tabs),function(tab){return _c('v-list-item',{key:tab.label,on:{\"click\":function($event){return _vm.$router.push(tab.route)}}},[_c('v-list-item-title',[_vm._v(_vm._s(tab.label))])],1)}),1)],1)}),0)],_c('div',[_c('div',{staticClass:\"workspace-settings row-format align-center pa-3\",staticStyle:{\"background-color\":\"var(--v-white-base)\"}},[_c('div',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({\n\t\t\t\t\t\tplacement: 'right',\n\t\t\t\t\t\tarrow: true,\n\t\t\t\t\t\tarrowType: 'round',\n\t\t\t\t\t\tanimation: 'fade',\n\t\t\t\t\t\tdelay: 50,\n\t\t\t\t\t\tboundary: 'window',\n\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\tplacement: 'right',\\n\\t\\t\\t\\t\\t\\tarrow: true,\\n\\t\\t\\t\\t\\t\\tarrowType: 'round',\\n\\t\\t\\t\\t\\t\\tanimation: 'fade',\\n\\t\\t\\t\\t\\t\\tdelay: 50,\\n\\t\\t\\t\\t\\t\\tboundary: 'window',\\n\\t\\t\\t\\t\\t}\"}],staticClass:\"row-format centered\",staticStyle:{\"margin-left\":\"6px\"},attrs:{\"content\":`Workspace settings`}},[_c('v-avatar',{attrs:{\"size\":\"20\",\"color\":\"var(--v-primary-base)\"}},[_c('span',{staticClass:\"white--text brand-bold font-12\"},[_vm._v(_vm._s(_vm.initials))])])],1),_c('settings-link',{staticClass:\"nav-label ml-2\",attrs:{\"label\":_vm.$t('nav.logout'),\"select-value\":\"logout\",\"icon\":\"logout\"},on:{\"selected\":function($event){return _vm.confirmLogout()}}})],1)]),_c('div',[_c('v-menu',{attrs:{\"offset-y\":\"\",\"content-class\":\"settings-menu\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"workspace-settings row-format align-center pa-3\",staticStyle:{\"background-color\":\"var(--v-white-base)\"}},on),[_c('div',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({\n\t\t\t\t\t\t\t\tplacement: 'right',\n\t\t\t\t\t\t\t\tarrow: true,\n\t\t\t\t\t\t\t\tarrowType: 'round',\n\t\t\t\t\t\t\t\tanimation: 'fade',\n\t\t\t\t\t\t\t\tdelay: 50,\n\t\t\t\t\t\t\t\tboundary: 'window',\n\t\t\t\t\t\t\t}),expression:\"{\\n\\t\\t\\t\\t\\t\\t\\t\\tplacement: 'right',\\n\\t\\t\\t\\t\\t\\t\\t\\tarrow: true,\\n\\t\\t\\t\\t\\t\\t\\t\\tarrowType: 'round',\\n\\t\\t\\t\\t\\t\\t\\t\\tanimation: 'fade',\\n\\t\\t\\t\\t\\t\\t\\t\\tdelay: 50,\\n\\t\\t\\t\\t\\t\\t\\t\\tboundary: 'window',\\n\\t\\t\\t\\t\\t\\t\\t}\"}],staticClass:\"row-format centered\",staticStyle:{\"margin-left\":\"6px\"},attrs:{\"content\":`Workspace settings`}},[_c('v-avatar',{attrs:{\"size\":\"20\",\"color\":\"accent\"}},[_c('span',{staticClass:\"white--text brand-bold font-12\"},[_vm._v(_vm._s(_vm.clientInitials))])])],1),_c('div',{staticClass:\"nav-label ml-2\"},[_vm._v(_vm._s(_vm.$t('settings.label')))]),_c('v-icon',{staticClass:\"ml-auto\",attrs:{\"small\":\"\"}},[_vm._v(\"expand_more\")])],1)]}}])},[_c('settings-nav')],1)],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<template>\n      <v-list nav dense style=\"text-align: left\">\n\t\t\t\t<div v-for=\"(page, i) in navLinks\" :key=\"i\">\n\t\t\t\t\t<v-list-item v-if=\"!page.tabs\" @click=\"handleClick(page)\">\n\t\t\t\t\t\t<v-list-item-icon>\n\t\t\t\t\t\t\t<v-icon class=\"material-symbols-outlined\">{{ page.icon }}</v-icon>\n\t\t\t\t\t\t</v-list-item-icon>\n\n\t\t\t\t\t\t<v-list-item-title v-text=\"page.label\" />\n\t\t\t\t\t</v-list-item>\n\n\t\t\t\t\t<v-list-group v-else :key=\"page.label\" no-action :value=\"false\" @click.stop.prevent>\n\t\t\t\t\t\t<template v-slot:activator>\n              <v-list-item>\n                <v-list-item-icon style=\"margin-left: -8px\">\n                  <v-icon class=\"material-symbols-outlined\">{{ page.icon }}</v-icon>\n                </v-list-item-icon>\n                <v-list-item-title>\n                  <div>{{ page.label }}</div>\n                </v-list-item-title>\n              </v-list-item>\n\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t<v-list-item v-for=\"tab in page.tabs\" @click=\"$router.push(tab.route)\" :key=\"tab.label\">\n\t\t\t\t\t\t\t<v-list-item-title>{{ tab.label }}</v-list-item-title>\n\t\t\t\t\t\t</v-list-item>\n\t\t\t\t\t</v-list-group>\n\t\t\t\t</div>\n\t\t\t</v-list>\n\t\t</template>\n\n\t\t<div>\n\t\t\t<div class=\"workspace-settings row-format align-center pa-3\" style=\"background-color: var(--v-white-base)\">\n\t\t\t\t<div\n\t\t\t\t\tstyle=\"margin-left: 6px\"\n\t\t\t\t\tclass=\"row-format centered\"\n\t\t\t\t\t:content=\"`Workspace settings`\"\n\t\t\t\t\tv-tippy=\"{\n\t\t\t\t\t\tplacement: 'right',\n\t\t\t\t\t\tarrow: true,\n\t\t\t\t\t\tarrowType: 'round',\n\t\t\t\t\t\tanimation: 'fade',\n\t\t\t\t\t\tdelay: 50,\n\t\t\t\t\t\tboundary: 'window',\n\t\t\t\t\t}\"\n\t\t\t\t>\n\t\t\t\t\t<v-avatar size=\"20\" color=\"var(--v-primary-base)\">\n\t\t\t\t\t\t<span class=\"white--text brand-bold font-12\">{{ initials }}</span>\n\t\t\t\t\t</v-avatar>\n\t\t\t\t</div>\n\t\t\t\t<settings-link\n\t\t\t\t\tclass=\"nav-label ml-2\"\n          :label=\"$t('nav.logout')\"\n          select-value=\"logout\"\n\t\t\t\t\t@selected=\"confirmLogout()\"\n\t\t\t\t\ticon=\"logout\"\n\t\t\t\t></settings-link>\n\t\t\t</div>\n\t\t</div>\n\t\t<div>\n\t\t\t<v-menu offset-y content-class=\"settings-menu\">\n\t\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"workspace-settings row-format align-center pa-3\"\n\t\t\t\t\t\tstyle=\"background-color: var(--v-white-base)\"\n\t\t\t\t\t\tv-on=\"on\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tstyle=\"margin-left: 6px\"\n\t\t\t\t\t\t\tclass=\"row-format centered\"\n\t\t\t\t\t\t\t:content=\"`Workspace settings`\"\n\t\t\t\t\t\t\tv-tippy=\"{\n\t\t\t\t\t\t\t\tplacement: 'right',\n\t\t\t\t\t\t\t\tarrow: true,\n\t\t\t\t\t\t\t\tarrowType: 'round',\n\t\t\t\t\t\t\t\tanimation: 'fade',\n\t\t\t\t\t\t\t\tdelay: 50,\n\t\t\t\t\t\t\t\tboundary: 'window',\n\t\t\t\t\t\t\t}\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<v-avatar size=\"20\" color=\"accent\">\n\t\t\t\t\t\t\t\t<span class=\"white--text brand-bold font-12\">{{ clientInitials }}</span>\n\t\t\t\t\t\t\t</v-avatar>\n\t\t\t\t\t\t</div>\n            <div class=\"nav-label ml-2\">{{ $t('settings.label') }}</div>\n            <v-icon class=\"ml-auto\" small>expand_more</v-icon>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t<settings-nav></settings-nav>\n\t\t\t</v-menu>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport SettingsNav from '@/views/nav/settings/SettingsNav.vue';\n\timport SettingsLink from '@/views/nav/settings/SettingsLink.vue';\n\timport ConfirmModal from '@/components/ConfirmModal.vue';\n\timport AuthService from '@/modules/auth/AuthService';\n\timport PodService from '@/services/PodService';\n\timport NavMixin from '@/views/nav/NavMixin';\n\n\texport default {\n\t\tname: 'Tabs',\n\n\t\tcomponents: { SettingsNav, SettingsLink },\n\n\t\tmixins: [NavMixin],\n\n    props: {\n\t\t\ticon: { type: String },\n\t\t\ttitle: { type: String, required: false, default: '' },\n      hyperLink: String,\n\t\t},\n\n    data: function() {\n      return {};\n    },\n\n    methods: {\n      handleClick(page) {\n        if (page.hyperLink) {\n          window.open(page.hyperLink, '_blank');\n        } else {\n          this.$router.push(page.route);\n        }\n      },\n\n\t\t\tconfirmLogout() {\n\t\t\t\tlet binding = {\n\t\t\t\t\ticon: 'logout',\n\t\t\t\t\tseverity: 'info',\n          headingText: this.$t('nav.logout-confirm'),\n        };\n\t\t\t\tthis.$store.state.globalModalController.openModal(ConfirmModal, binding).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tthis.doLogout();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tdoLogout() {\n\t\t\t\tthis.dialog = false;\n\t\t\t\ttry {\n\t\t\t\t\twindow.google.accounts.id.disableAutoSelect();\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t}\n\n\t\t\t\tAuthService.logout()\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tconsole.log('Logout Success');\n\t\t\t\t\t\tthis.podLogout();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\tthis.podLogout();\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\tpodLogout() {\n\t\t\t\tlet podService = new PodService();\n\t\t\t\tpodService\n\t\t\t\t\t.clearCookies()\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tthis.finalizeLogout();\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\tthis.finalizeLogout();\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\tfinalizeLogout() {\n\t\t\t\tthis.$store.commit('logOut');\n\t\t\t\tlocation.reload();\n\t\t\t},\n\t\t},\n\t\tcomputed: {\n      initials() {\n\t\t\t\tif (this.$store.state.loggedInUser) {\n\t\t\t\t\tlet firstName = this.$store.state.loggedInUser.firstName;\n\t\t\t\t\tlet lastName = this.$store.state.loggedInUser.lastName;\n\t\t\t\t\tlet initials = '';\n\n\t\t\t\t\tif (firstName) {\n\t\t\t\t\t\tinitials = initials + firstName.slice(0, 1).toUpperCase();\n\t\t\t\t\t}\n\n\t\t\t\t\tif (lastName) {\n\t\t\t\t\t\tinitials = initials + lastName.slice(0, 1).toUpperCase();\n\t\t\t\t\t}\n\n\t\t\t\t\treturn initials;\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\" scoped>\n\tv-list-item {\n\t\tpadding-left: 0px;\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileNav.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileNav.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MobileNav.vue?vue&type=template&id=59857791&scoped=true\"\nimport script from \"./MobileNav.vue?vue&type=script&lang=js\"\nexport * from \"./MobileNav.vue?vue&type=script&lang=js\"\nimport style0 from \"./MobileNav.vue?vue&type=style&index=0&id=59857791&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"59857791\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAvatar } from 'vuetify/lib/components/VAvatar';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListGroup } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemIcon } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VAvatar,VIcon,VList,VListGroup,VListItem,VListItemIcon,VListItemTitle,VMenu})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-container',{staticClass:\"pa-0 ma-0\",staticStyle:{\"max-width\":\"225px\",\"overflow\":\"hidden\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"text-left pa-4\",attrs:{\"cols\":\"12\"}},[_c('settings-link',{attrs:{\"label\":_vm.$t('nav.update-password'),\"select-value\":\"password\",\"icon\":\"lock\"},on:{\"selected\":function($event){return _vm.updatePassword()}}}),_c('settings-link',{attrs:{\"label\":_vm.$t('nav.logout'),\"select-value\":\"logout\",\"icon\":\"logout\"},on:{\"selected\":function($event){return _vm.confirmLogout()}}})],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <v-container class=\"pa-0 ma-0\" style=\"max-width: 225px; overflow: hidden;\">\n      <v-row dense>\n        <v-col cols=\"12\" class=\"text-left pa-4\">\n          <settings-link :label=\"$t('nav.update-password')\" select-value=\"password\" @selected=\"updatePassword()\" icon=\"lock\"></settings-link>\n          <settings-link :label=\"$t('nav.logout')\" select-value=\"logout\" @selected=\"confirmLogout()\" icon=\"logout\"></settings-link>\n        </v-col>\n      </v-row>\n    </v-container>\n  </div>\n</template>\n\n<script>\nimport AuthService from '@/modules/auth/AuthService';\nimport PodService from '@/services/PodService';\nimport SettingsLink from \"@/views/nav/settings/SettingsLink\";\nimport ConfirmModal from \"@/components/ConfirmModal\";\nimport UpdatePassword from '@/modules/auth/UpdatePassword';\n\nexport default {\n  name: 'UserMenu',\n\n  components: { SettingsLink },\n\n  data() {\n    return {\n    };\n  },\n  mounted() {},\n  methods: {\n    updatePassword(){\n      this.$store.state.globalModalController.openModal(UpdatePassword, { }).then((res) => console.log(res));\n    },\n\n    confirmLogout() {\n      let binding = {\n        icon: 'logout',\n        severity: 'info',\n        headingText: this.$t('nav.logout-confirm'),\n      }\n      this.$store.state.globalModalController.openModal(ConfirmModal,binding).then((res) => {\n        if(res){\n          this.doLogout();\n        }\n      })\n    },\n\n    doLogout() {\n      this.dialog = false;\n      try {\n        window.google.accounts.id.disableAutoSelect();\n      }catch(err){\n        console.log(err);\n      }\n\n      AuthService.logout()\n          .then(() => {\n            console.log('Logout Success');\n            this.podLogout();\n          })\n          .catch((err) => {\n            console.log(err);\n            this.podLogout();\n          });\n    },\n\n    podLogout() {\n      let podService = new PodService();\n      podService\n          .clearCookies()\n          .then(() => {\n            this.finalizeLogout();\n          })\n          .catch(() => {\n            this.finalizeLogout();\n          });\n    },\n\n    finalizeLogout() {\n      this.$store.commit('logOut');\n      location.reload();\n    },\n  },\n\n  watch: {\n\n  },\n\n  computed: {\n\n\n  },\n};\n</script>\n\n<style lang=\"scss\">\n\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMenu.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UserMenu.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./UserMenu.vue?vue&type=template&id=4cd2f574\"\nimport script from \"./UserMenu.vue?vue&type=script&lang=js\"\nexport * from \"./UserMenu.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VRow})\n","<template>\n\t<div id=\"top-nav-wrapper\" ref=\"topNavWrapper\" class=\"row-format align-center\">\n\t\t<div id=\"top-nav\" ref=\"topNav\" style=\"width:100%\">\n      <div v-if=\"!mobile\" class=\"row-format\" style=\"width:100%\">\n        <div id=\"left-side\" class=\"row-format align-center\">\n          <tabs\n            :tab-config=\"currentTabsConfig\"\n            :current-path=\"currentPath\"\n            :offset-width=\"$refs.rightSide ? $refs.rightSide.clientWidth : 508\"\n          ></tabs>\n        </div>\n        <div id=\"right-side\" ref=\"rightSide\" class=\"ml-auto\">\n          <div\n            style=\"justify-content: space-evenly; border-left: 1px solid var(--v-gray_50-base)\"\n            :class=\"`mr-2 right ${$store.state.rightNavExpanded ? 'right-big' : 'right-small'}`\"\n          >\n            <div\n              :class=\"`pointer top-button ${$store.state.rightNavFocus === 'notifications' ? 'active-top' : ''}`\"\n              @click=\"openRightNav('notifications')\"\n            >\n              <v-icon\n                :class=\"$store.state.rightNavFocus === 'notifications' ? '' : 'material-symbols-outlined'\"\n                :color=\"$store.state.rightNavFocus === 'notifications' ? 'primary' : 'secondary'\"\n                >notifications_active</v-icon\n              >\n              <div class=\"top-umi\" v-if=\"$store.state.actionCount\">\n                <div>{{ $store.state.actionCount }}</div>\n              </div>\n            </div>\n            <v-menu content-class=\"user-menu\" offset-y>\n              <template v-slot:activator=\"{ on }\">\n                <div v-on=\"on\">\n                  <div class=\"profile-pic\">\n                    <span class=\"white--text\">{{ initials }}</span>\n                  </div>\n                </div>\n              </template>\n              <user-menu></user-menu>\n            </v-menu>\n          </div>\n        </div>\n      </div>\n\n\t\t\t<!--Mobile Navigation-->\n\t\t\t<div class=\"row-format align-center\" style=\"width:100%\" v-if=\"mobile\">\n\t\t\t\t<div class=\"ml-2 pointer\">\n          <img :src=\"logo\" style=\"max-width: 120px; max-height: 50px\"  @click=\"$router.push('/welcome')\"/>\n        </div>\n        <div class=\"ml-auto row-format gap-2\">\n          <v-menu offset-y>\n            <template v-slot:activator=\"{ on, attrs }\">\n              <div style=\"position: relative\" v-on=\"on\">\n                <v-btn icon v-bind=\"attrs\">\n                  <v-icon size=\"30\" color=\"black\" class=\"material-symbols-outlined\">notifications_active</v-icon>\n                </v-btn>\n                <div class=\"top-umi\" v-if=\"$store.state.actionCount\">\n                  <div>{{ $store.state.actionCount }}</div>\n                </div>\n              </div>\n            </template>\n            <div style=\"width:300px; height: calc(100vh - 120px); background-color: var(--v-white-base)\" class=\"column-format align-center\">\n              <notifications></notifications>\n            </div>\n          </v-menu>\n          <v-menu offset-y class=\"pages\">\n            <template v-slot:activator=\"{ on, attrs }\">\n              <v-btn class=\"mr-2\" icon v-bind=\"attrs\" v-on=\"on\">\n                <v-icon size=\"30\" color=\"black\">menu</v-icon>\n              </v-btn>\n            </template>\n            <MobileNav></MobileNav>\n          </v-menu>\n        </div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport Tabs from '@/views/nav/Tabs.vue';\n\timport MobileNav from '@/views/nav/MobileNav.vue';\n\timport UserMenu from '@/views/nav/UserMenu';\n\timport NavConfig from '@/views/nav/NavConfig.json';\n\timport ConfirmModal from '@/components/ConfirmModal.vue';\n\timport AuthService from '@/modules/auth/AuthService';\n\timport PodService from '@/services/PodService';\n  import Notifications from '@/views/nav/Notifications';\n\n\texport default {\n\t\tname: 'TopNav',\n\t\tprops: {},\n\t\temits: ['set-page'],\n\t\tcomponents: { Notifications, UserMenu, MobileNav, Tabs },\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tuserMenuOpen: false,\n\t\t\t\tisOpen: false,\n\t\t\t\tnavConfig: NavConfig,\n\t\t\t\tcurrentTabsConfig: { tabs: [], title: '' },\n\t\t\t\tcurrentPath: null,\n\t\t\t\tmobile: true,\n\t\t\t\tmobileNav: null,\n\t\t\t\twindowWidth: null,\n\t\t\t};\n\t\t},\n\n\t\tcreated() {\n\t\t\twindow.addEventListener('resize', this.checkScreen);\n\t\t\tthis.checkScreen();\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.setNavStateFromLocalStorage();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\topenRightNav: function (focus) {\n\t\t\t\tif (this.$store.state.rightNavExpanded && this.$store.state.rightNavFocus === focus) {\n\t\t\t\t\tthis.$store.state.rightNavExpanded = false;\n\t\t\t\t\tthis.$store.state.rightNavFocus = null;\n\t\t\t\t} else {\n\t\t\t\t\tthis.$store.state.rightNavExpanded = true;\n\t\t\t\t\tthis.$store.state.rightNavFocus = focus;\n\t\t\t\t}\n\t\t\t\tthis.saveNavState();\n\t\t\t},\n\n\t\t\tsaveNavState: function () {\n\t\t\t\tlet navState = {\n\t\t\t\t\trightNavExpanded: this.$store.state.rightNavExpanded,\n\t\t\t\t\trightNavFocus: this.$store.state.rightNavFocus,\n\t\t\t\t};\n\n\t\t\t\tlocalStorage.setItem('RIGHT_NAV_STATE', JSON.stringify(navState));\n\t\t\t},\n\n\t\t\tsetNavStateFromLocalStorage: function () {\n\t\t\t\tlet strNavState = localStorage.getItem('RIGHT_NAV_STATE');\n\t\t\t\tif (strNavState) {\n\t\t\t\t\tlet navState = JSON.parse(strNavState);\n\t\t\t\t\tthis.$store.state.rightNavExpanded = navState.rightNavExpanded;\n\t\t\t\t\tthis.$store.state.rightNavFocus = navState.rightNavFocus;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsetLeftNavExpanded: function (state) {\n\t\t\t\tthis.$store.state.leftNavExpanded = state;\n\n\t\t\t\tlet leftNavState = {\n\t\t\t\t\tstate: state,\n\t\t\t\t};\n\n\t\t\t\tlocalStorage.setItem('LEFT_NAV_STATE', JSON.stringify(leftNavState));\n\t\t\t},\n\n\t\t\tconfirmLogout() {\n\t\t\t\tlet binding = {\n\t\t\t\t\ticon: 'logout',\n\t\t\t\t\tseverity: 'info',\n          headingText: this.$t('nav.logout-confirm'),\n        };\n\t\t\t\tthis.$store.state.globalModalController.openModal(ConfirmModal, binding).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tthis.doLogout();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tdoLogout() {\n\t\t\t\tthis.dialog = false;\n\t\t\t\ttry {\n\t\t\t\t\twindow.google.accounts.id.disableAutoSelect();\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t}\n\n\t\t\t\tAuthService.logout()\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tconsole.log('Logout Success');\n\t\t\t\t\t\tthis.podLogout();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\tthis.podLogout();\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\tpodLogout() {\n\t\t\t\tlet podService = new PodService();\n\t\t\t\tpodService\n\t\t\t\t\t.clearCookies()\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tthis.finalizeLogout();\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => {\n\t\t\t\t\t\tthis.finalizeLogout();\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\tfinalizeLogout() {\n\t\t\t\tthis.$store.commit('logOut');\n\t\t\t\tlocation.reload();\n\t\t\t},\n\t\t\ttoggleMobileNav() {\n\t\t\t\tthis.mobileNav = !this.mobileNav;\n\t\t\t},\n\n\t\t\tcheckScreen() {\n\t\t\t\tthis.windowWidth = window.innerWidth;\n\t\t\t\tif (this.windowWidth <= 599) {\n\t\t\t\t\tthis.mobile = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.mobile = false;\n\t\t\t\tthis.mobileNav = false;\n\t\t\t},\n\n\t\t\thandlePageClick(page) {\n\t\t\t\tthis.$emit('set-page', page.value);\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n\t\t\t$route: {\n\t\t\t\tdeep: true,\n\t\t\t\timmediate: true,\n\t\t\t\thandler(newVal) {\n\t\t\t\t\tconsole.log(newVal);\n\t\t\t\t\tthis.currentPath = newVal.fullPath;\n\t\t\t\t\tlet parts = newVal.path.split('/');\n\t\t\t\t\tif (parts.length < 2) {\n\t\t\t\t\t\tObject.assign(this.currentTabsConfig, { tabs: [] });\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet currentRootPath = '/' + parts[1];\n\t\t\t\t\tif (!this.navConfig[currentRootPath]) {\n\t\t\t\t\t\tObject.assign(this.currentTabsConfig, { tabs: [] });\n\t\t\t\t\t} else {\n\t\t\t\t\t\tObject.assign(this.currentTabsConfig, this.navConfig[currentRootPath]);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tmoreVerb() {\n\t\t\t\tif (this.visibleTabs.length < this.tabs.length) {\n\t\t\t\t\tlet tab = this.menuTabs.find((t) => t.uri === this.currentPath);\n\t\t\t\t\tif (tab) {\n\t\t\t\t\t\treturn tab.label;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn this.$t('global.more');\n\t\t\t},\n\n      logo: function() {\n        if (this.$vuetify.theme.dark && this.$store.state.domain.logoDark) {\n          return this.$store.state.domain.logoDark;\n        } else {\n          return this.$store.state.domain.logo;\n        }\n      },\n\n\t\t\tclientInitials() {\n\t\t\t\tlet ignoreMe = ['a', 'an', 'as', 'to', 'and', 'of', 'if', 'in', '-'];\n\t\t\t\tlet accountName = this.$store.getters.getClientName;\n\t\t\t\tif (!accountName) {\n\t\t\t\t\treturn '?';\n\t\t\t\t}\n\t\t\t\tlet words = this.$store.getters.getClientName.toLowerCase().split(' ');\n\t\t\t\tlet ret = [];\n\t\t\t\tfor (let i = 0; i < words.length; i++) {\n\t\t\t\t\tif (ignoreMe.indexOf(words[i]) > -1) continue;\n\t\t\t\t\tret[i] = words[i].substring(0, 1);\n\t\t\t\t\tif (ret.length == 3) break;\n\t\t\t\t}\n\t\t\t\treturn ret.join('').toUpperCase();\n\t\t\t},\n\n\t\t\tfeatures: function () {\n\t\t\t\treturn this.$store.getters.getFeatures;\n\t\t\t},\n\n\t\t\tinitials() {\n\t\t\t\tif (this.$store.state.loggedInUser) {\n\t\t\t\t\tlet firstName = this.$store.state.loggedInUser.firstName;\n\t\t\t\t\tlet lastName = this.$store.state.loggedInUser.lastName;\n\t\t\t\t\tlet initials = '';\n\n\t\t\t\t\tif (firstName) {\n\t\t\t\t\t\tinitials = initials + firstName.slice(0, 1).toUpperCase();\n\t\t\t\t\t}\n\n\t\t\t\t\tif (lastName) {\n\t\t\t\t\t\tinitials = initials + lastName.slice(0, 1).toUpperCase();\n\t\t\t\t\t}\n\n\t\t\t\t\treturn initials;\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// showMenu() {\n\t\t\t// \treturn !isEmpty(this.addNewItems);\n\t\t\t// },\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.settings-menu {\n\t\tfilter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.2));\n\t\tbox-shadow: none !important;\n\t\tborder-radius: 8px !important;\n\t\tposition: absolute;\n\t\tbackground-color: var(--v-white-base);\n\t\tz-index: 1000 !important;\n\t}\n\n\t.right {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\talign-items: center;\n\t\ttransition: width 200ms linear;\n\t}\n\n\t.right-small {\n\t\twidth: 110px;\n\t}\n\n\t.right-big {\n\t\twidth: 150px;\n\t}\n\n\t.top-button {\n\t\twidth: 40px;\n\t\theight: 40px;\n\t\tborder-radius: 8px;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\tposition: relative;\n\t}\n\n\t.top-umi {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tfont-size: 12px;\n\t\tposition: absolute;\n\t\ttop: 4px;\n\t\tright: 2px;\n\t\tbackground-color: var(--v-error-base);\n\t\tcolor: var(--v-white-base);\n\t\twidth: 16px;\n\t\theight: 16px;\n\t\tborder-radius: 16px;\n\t}\n\n\t.active-top {\n\t\tbackground-color: var(--v-white-base);\n\t}\n\n\t.active {\n\t\tcolor: var(--v-primary-base) !important;\n\t\tbackground-color: var(--v-white-base);\n\t\tborder: none;\n\t}\n\n\t.user-menu {\n\t\tfilter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.2));\n\t\tbox-shadow: none !important;\n\t\tborder-radius: 8px !important;\n\t\tbackground-color: var(--v-white-base);\n\t}\n\n\t#top-nav-wrapper {\n\t\tmin-height: 54px;\n\t\tmax-height: 54px;\n\t\twidth: 100%;\n\t}\n\n\t#top-nav {\n\t\theight: 56px;\n    max-width: calc(100vw - var(--v-left-nav-width));\n\t\tdisplay: flex;\n\t\tjustify-content: space-between;\n\t\talign-items: center;\n\t\tbackground-color: var(--v-sidebar-base);\n\n\t\t#left-side {\n\t\t}\n\n\t\t#right-side {\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-evenly;\n\t\t\talign-items: center;\n\t\t\timg {\n\t\t\t\tcursor: pointer;\n\t\t\t}\n\n\t\t\t//.v-image.v-responsive {\n\t\t\t//\twidth: 40px !important;\n\t\t\t//\theight: 40px !important;\n\t\t\t//}\n\t\t\t.profile-pic {\n\t\t\t\tmargin-left: 20px;\n\t\t\t\tcursor: pointer;\n\t\t\t\tbackground-position: center center;\n\t\t\t\tbackground-size: contain;\n\t\t\t\theight: 30px;\n\t\t\t\twidth: 30px;\n\t\t\t\tborder-radius: 15px;\n\t\t\t\tbackground-color: var(--v-primary-base);\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-content: center;\n\t\t\t}\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopNav.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopNav.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TopNav.vue?vue&type=template&id=925d89fa\"\nimport script from \"./TopNav.vue?vue&type=script&lang=js\"\nexport * from \"./TopNav.vue?vue&type=script&lang=js\"\nimport style0 from \"./TopNav.vue?vue&type=style&index=0&id=925d89fa&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBtn,VIcon,VMenu})\n","<style lang=\"scss\">\n\t#app-area {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t}\n\n\t#left-nav {\n\t\tborder-left: 4px solid var(--v-primary-base);\n\t\ttransition: all 150ms linear;\n\t\tbackground-color: var(--v-sidebar-base);\n\t}\n\n\t.left-nav-expanded {\n\t\twidth: 200px;\n\t\tmin-width: 200px;\n\t\tmax-width: 200px;\n\t}\n\n\t.left-nav-collapsed {\n\t\twidth: 64px;\n\t\tmin-width: 64px;\n\t\tmax-width: 64px;\n\t}\n\n\t#right-section {\n\t\tflex: 1;\n\t}\n\n\t#right-bar {\n\t\tmin-width: var(--v-right-nav-width);\n\t\tmax-width: var(--v-right-nav-width);\n\t\twidth: var(--v-right-nav-width);\n\t\ttransition: all 250ms;\n\t\tbackground-color: var(--v-white-base);\n\t\tbox-shadow: 0px 1px 0px rgba(98, 123, 148, 0.25), 0px 0px 12px rgba(98, 123, 148, 0.1);\n\t\tborder-radius: 16px 0px 0px 0px;\n\t}\n\n\t#main-content {\n\t\tflex: 1;\n\t\tmax-height: calc(var(--vh) - 54px);\n\t\tmin-height: calc(var(--vh) - 54px);\n\t\theight: calc(var(--vh) - 54px);\n\t\tborder-radius: 8px 8px 0px 0px;\n\t\tbackground-color: var(--v-white-base);\n\t\t//border: 1px solid rgba(0, 0, 0, .10);\n\t\toverflow: auto;\n\t\t//box-shadow: 0px 1px 0px rgba(98, 123, 148, 0.25), 0px 0px 12px rgba(98, 123, 148, 0.1);\n\t}\n\n\t#main-app {\n\t\tflex: 1;\n\t\t//max-height: calc(var(--vh) - 53px);\n\t\t//min-height: calc(var(--vh) - 53px);\n\t\tmax-height: calc(var(--vh) - 54px);\n\t\tmin-height: calc(var(--vh) - 54px);\n\t\theight: calc(var(--vh) - 54px);\n\t\tmin-width: calc(100vw - var(--v-left-nav-width));\n\t\tmax-width: calc(100vw - var(--v-left-nav-width));\n\t\toverflow-y: auto;\n\t\toverflow-x: auto;\n    background-color: var(--v-sidebar-base);\n\t}\n\n\t:root {\n\t\t--v-recaptcha-visibility: visible;\n\t}\n\n\t.grecaptcha-badge {\n\t\tvisibility: var(--v-recaptcha-visibility) !important;\n\t}\n</style>\n\n<template>\n\t<v-app data-app :style=\"`--primary-font: ${primaryFont}; height:100%;`\" v-if=\"isReady\">\n\t\t<div class=\"column-format fill-all\" v-if=\"$store.state.isLoggedIn\">\n\t\t\t<div\n\t\t\t\tclass=\"row-format\"\n\t\t\t\tid=\"app-area\"\n\t\t\t\t:style=\"`--v-right-nav-width:${rightNavWidth}; --v-left-nav-width:${leftNavWidth}; overflow-y: hidden`\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tid=\"left-nav\"\n\t\t\t\t\tclass=\"d-none d-sm-flex\"\n\t\t\t\t\t:class=\"this.$store.state.leftNavExpanded ? 'left-nav-expanded' : 'left-nav-collapsed'\"\n\t\t\t\t>\n\t\t\t\t\t<left-nav></left-nav>\n\t\t\t\t</div>\n\t\t\t\t<div id=\"right-section\" class=\"column-format\">\n\t\t\t\t\t<top-nav></top-nav>\n\t\t\t\t\t<div id=\"main-app\">\n\t\t\t\t\t\t<div class=\"row-format\">\n\t\t\t\t\t\t\t<div id=\"main-content\">\n\t\t\t\t\t\t\t\t<v-main>\n\t\t\t\t\t\t\t\t\t<router-view />\n\t\t\t\t\t\t\t\t</v-main>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div id=\"right-bar\" class=\"ml-4\" v-show=\"$store.state.rightNavExpanded || !mobile\">\n\t\t\t\t\t\t\t\t<right-nav></right-nav>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div v-else style=\"height: 100%\">\n\t\t\t<router-view></router-view>\n\t\t</div>\n\t\t<v-snackbar id=\"main-snackbar\" v-model=\"show\" :color=\"color\" :timeout=\"timeout\" :top=\"true\" style=\"font-size: 1.1em\">\n\t\t\t<div>{{ message }}</div>\n\t\t\t<v-btn dark icon @click=\"show = false\" id=\"main-snackbar-close\">\n\t\t\t\t<v-icon>close</v-icon>\n\t\t\t</v-btn>\n\t\t</v-snackbar>\n\t\t<v-overlay style=\"z-index: 1000\" :value=\"$store.state.loadingState\">\n\t\t\t<v-progress-circular indeterminate size=\"64\"></v-progress-circular>\n\t\t</v-overlay>\n\t\t<global-modal-controller ref=\"gmc\"></global-modal-controller>\n\t</v-app>\n</template>\n\n<script>\n\timport AuthService from '@/modules/auth/AuthService';\n\timport WebFontLoader from 'webfontloader';\n\timport LeftNav from '@/views/nav/LeftNav.vue';\n\timport RightNav from '@/views/nav/RightNav';\n\timport GlobalModalController from '@/modules/utils/GlobalModalController';\n\t//import NotificationStateManager from '@/modules/productivity/notifications/NotificationStateManager';\n\timport CustomFontService from '@/modules/utils/CustomFontService';\n\timport { Settings as LuxonSettings } from 'luxon';\n\timport TopNav from '@/views/nav/TopNav.vue';\n\n\texport default {\n\t\tname: 'App',\n\t\tcomponents: {\n\t\t\tTopNav,\n\t\t\tLeftNav,\n\t\t\tRightNav,\n\t\t\tGlobalModalController,\n\t\t},\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tmobile: true,\n\t\t\t\twindowWidth: null,\n\t\t\t\tshow: false,\n\t\t\t\tmessage: null,\n\t\t\t\ttimeout: -1,\n\t\t\t\tcolor: 'success',\n\t\t\t\tisReady: false,\n\t\t\t\tshowFullApp: false,\n\t\t\t\tprimaryFont: null,\n\t\t\t\ttimeouts: { error: 0, warning: 10, info: 7, success: 7 },\n\t\t\t};\n\t\t},\n\n\t\tcreated() {\n\t\t\twindow.addEventListener('resize', this.checkScreen);\n\t\t\tthis.checkScreen();\n\t\t},\n\n\t\tmounted() {\n\t\t\tif (navigator.languages && navigator.languages.length) {\n\t\t\t\tthis.$store.state.locale = navigator.languages[0];\n\t\t\t\tconsole.log('Setting locale to ' + this.$store.state.locale);\n\t\t\t}\n\n\t\t\tlet selectedClientId = localStorage.getItem('SELECTED_CLIENT');\n\t\t\tif (selectedClientId) {\n\t\t\t\tthis.$store.state.selectedClientId = selectedClientId;\n\t\t\t}\n\n\t\t\tlet domain;\n\n\t\t\tif (document.location.host === 'localhost:3001' || document.location.host === 'hectic.ngrok.io') {\n\t\t\t\t//domain = 'austin-morrow1.hecticshare.dev';\n\t\t\t\tdomain = 'clients1.geoffreymina.com';\n        //domain = 'cjschneider.moxieapp.dev'\n\t\t\t} else {\n\t\t\t\tdomain = document.location.host;\n\t\t\t}\n\n\t\t\tAuthService.getDomainSettings(domain)\n\t\t\t\t.then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tthis.$store.commit('setDomain', res);\n\t\t\t\t\t}\n\t\t\t\t\tthis.initLocale();\n\t\t\t\t\tthis.initBranding();\n\t\t\t\t\tthis.initDarkMode();\n\t\t\t\t\tthis.initFonts();\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.log('Error loading branding', err);\n\t\t\t\t\tthis.initBranding();\n\t\t\t\t});\n\n\t\t\tthis.setMaxVh();\n\t\t\twindow.addEventListener('resize', () => {\n\t\t\t\tthis.setMaxVh();\n\t\t\t});\n\t\t},\n\n\t\tmethods: {\n\t\t\tsetMaxVh: function() {\n\t\t\t\tlet vh = window.innerHeight;\n\t\t\t\tdocument.documentElement.style.setProperty('--vh', `${vh}px`);\n\t\t\t},\n\n\t\t\tinitLocale: function() {\n\t\t\t\tlet availableLocales = this.$i18n.availableLocales;\n\t\t\t\tlet usersLanguage = window.navigator.language;\n\t\t\t\tif (localStorage.getItem('lang')) {\n\t\t\t\t\tthis.$i18n.locale = localStorage.getItem('lang');\n\t\t\t\t} else if (availableLocales.includes(usersLanguage)) {\n\t\t\t\t\tthis.$i18n.locale = usersLanguage;\n\t\t\t\t} else {\n\t\t\t\t\tthis.$i18n.locale = 'en';\n\t\t\t\t}\n\n\t\t\t\tLuxonSettings.defaultLocale = navigator.languages[0];\n\t\t\t\tconsole.log(LuxonSettings.defaultLocale);\n\t\t\t},\n\n\t\t\tinitBranding: function() {\n\t\t\t\tif (this.$store.state.domain && this.$store.state.domain.customBranding) {\n\t\t\t\t\tlet branding = this.$store.state.domain.customBranding;\n\t\t\t\t\tthis.$vuetify.theme.themes.light.primary = branding.primaryColor;\n\t\t\t\t\tthis.$vuetify.theme.themes.light.sidebar = branding.navColor;\n\n          if(branding.primaryColorDark){\n            this.$vuetify.theme.themes.dark.primary = branding.primaryColorDark\n          }\n\n          if(branding.navColorDark){\n            this.$vuetify.theme.themes.dark.sidebar = branding.navColorDark;\n          }\n\n\t\t\t\t\tdocument.title = this.$store.state.domain.accountName;\n\n          if(branding.favicon){\n            let link = document.createElement('link');\n            link.rel = 'icon';\n            link.href = branding.favicon;\n            document.head.appendChild(link);\n          }\n\n\t\t\t\t} else {\n\t\t\t\t\tconsole.log('applying default branding');\n\t\t\t\t}\n\t\t\t\tthis.isReady = true;\n\t\t\t},\n\n\t\t\tinitFonts: function() {\n\t\t\t\tif (this.$store.state.domain) {\n\t\t\t\t\tlet customFontService = new CustomFontService(this.$store.state.domain.podUrl);\n\t\t\t\t\tcustomFontService.getCustomFonts(this.$store.state.domain.accountId).then((res) => {\n\t\t\t\t\t\tif (res.data && res.data.length) {\n\t\t\t\t\t\t\tthis.$store.state.accountFonts.push(...res.data);\n\t\t\t\t\t\t\tthis.loadCustomFonts(res.data);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.loadGoogleFont();\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tloadCustomFonts: function(fonts) {\n\t\t\t\tlet p = [];\n\n\t\t\t\tfor (let i = 0; i < fonts.length; i++) {\n\t\t\t\t\tlet font = fonts[i];\n\t\t\t\t\tlet newFont = new FontFace(font.fontName, `url(${font.fontUrl})`);\n\t\t\t\t\tp.push(newFont.load());\n\t\t\t\t}\n\n\t\t\t\tPromise.all(p)\n\t\t\t\t\t.then((loadedFonts) => {\n\t\t\t\t\t\tfor (let i = 0; i < loadedFonts.length; i++) {\n\t\t\t\t\t\t\tconsole.log('loaded font', loadedFonts[i]);\n\t\t\t\t\t\t\tdocument.fonts.add(loadedFonts[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => this.setFont());\n\t\t\t},\n\n\t\t\tloadGoogleFont: function() {\n\t\t\t\tif (this.$store.state.domain && this.$store.state.domain.customBranding) {\n\t\t\t\t\tlet branding = this.$store.state.domain.customBranding;\n\t\t\t\t\tWebFontLoader.load({\n\t\t\t\t\t\tgoogle: {\n\t\t\t\t\t\t\tfamilies: [`${branding.font}:200,300,400,500,600`],\n\t\t\t\t\t\t},\n\t\t\t\t\t\tactive: this.setFont,\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsetFont: function() {\n\t\t\t\tthis.primaryFont = this.$store.state.domain.customBranding.font;\n\t\t\t},\n\n\t\t\tinitDarkMode() {\n\t\t\t\tthis.darkMediaQuery = window.matchMedia('(prefers-color-scheme: dark)');\n\t\t\t\tlet darkModePref = localStorage.getItem('DARK_MODE');\n\t\t\t\tthis.$store.state.eventBus.$on('dark-mode-changed', this.updateDarkMode);\n\n\t\t\t\tif (darkModePref) {\n\t\t\t\t\tthis.$store.state.darkMode = darkModePref;\n\t\t\t\t} else if (this.$store.state.domain && this.$store.state.domain.customBranding) {\n\t\t\t\t\tthis.$store.state.darkMode = this.$store.state.domain.customBranding.darkMode.toLowerCase();\n\t\t\t\t}\n\n\t\t\t\tthis.updateDarkMode(this.$store.state.darkMode);\n\t\t\t},\n\n\t\t\tupdateDarkMode: function(darkModePref) {\n\t\t\t\tif (darkModePref === 'automatic') {\n\t\t\t\t\tthis.enableAutomaticDarkMode();\n\t\t\t\t\tif (window.matchMedia('(prefers-color-scheme: dark)').matches) {\n\t\t\t\t\t\tsetTimeout(() => (this.$vuetify.theme.dark = true), 0);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetTimeout(() => (this.$vuetify.theme.dark = false), 0);\n\t\t\t\t\t}\n\t\t\t\t} else if (darkModePref === 'never') {\n\t\t\t\t\tthis.disableAutomaticDarkMode();\n\t\t\t\t\tsetTimeout(() => (this.$vuetify.theme.dark = false), 0);\n\t\t\t\t} else if (darkModePref === 'always') {\n\t\t\t\t\tthis.disableAutomaticDarkMode();\n\t\t\t\t\tsetTimeout(() => (this.$vuetify.theme.dark = true), 0);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tenableAutomaticDarkMode: function() {\n\t\t\t\tthis.darkMediaQuery.addEventListener('change', this.toggleDarkMode);\n\t\t\t},\n\n\t\t\tdisableAutomaticDarkMode: function() {\n\t\t\t\tthis.darkMediaQuery.removeEventListener('change', this.toggleDarkMode);\n\t\t\t},\n\n\t\t\ttoggleDarkMode() {\n\t\t\t\tthis.$vuetify.theme.dark = !this.$vuetify.theme.dark;\n\t\t\t},\n\n\t\t\tcheckScreen() {\n\t\t\t\tthis.windowWidth = window.innerWidth;\n\t\t\t\tif (this.windowWidth <= 599) {\n\t\t\t\t\tthis.mobile = true;\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.mobile = false;\n\t\t\t\tthis.mobileNav = false;\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\talert() {\n\t\t\t\treturn this.$store.state.alert;\n\t\t\t},\n\n\t\t\tcustomEmbed: function() {\n\t\t\t\treturn this.$store.state.customEmbed;\n\t\t\t},\n\n\t\t\tleftNavWidth: function() {\n\t\t\t\tif (this.$vuetify.breakpoint.xsOnly) {\n\t\t\t\t\treturn '0px';\n\t\t\t\t} else {\n\t\t\t\t\treturn this.$store.state.leftNavExpanded ? '200px' : '64px';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\trightNavWidth: function() {\n\t\t\t\treturn this.$store.state.rightNavExpanded ? '300px' : '0px';\n\t\t\t},\n\n\t\t\tnotificationWindow: {\n\t\t\t\tget: function() {\n\t\t\t\t\treturn this.$store.state.notificationWindowOpenState;\n\t\t\t\t},\n\n\t\t\t\tset: function(val) {\n\t\t\t\t\tthis.$store.commit('notificationWindow', val);\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n\t\t\t$route(to, from) {\n\t\t\t\tconsole.log('Route changed from ' + from.fullPath + ' to ' + to.fullPath);\n\t\t\t\tif (to.meta && to.meta.insecure) {\n\t\t\t\t\tthis.showFullApp = false;\n\t\t\t\t} else {\n\t\t\t\t\tthis.showFullApp = true;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcustomEmbed: function(val) {\n\t\t\t\tif (val) {\n\t\t\t\t\tlet script_tag = document.createElement('script');\n\t\t\t\t\tscript_tag.type = 'text/javascript';\n\t\t\t\t\tscript_tag.text = val;\n\t\t\t\t\tdocument.body.appendChild(script_tag);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\talert(newAlert) {\n\t\t\t\tthis.message = newAlert.message;\n\t\t\t\tthis.color = newAlert.type;\n\t\t\t\tthis.show = true;\n\t\t\t\tthis.timeout = this.timeouts[newAlert.type] * 1000;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t@import './assets/css/fonts.css';\n\t@import './assets/css/vuetify.scss';\n\t@import './assets/css/brand.scss';\n\t@import './assets/css/svg.css';\n\n\t#main-snackbar .v-snack__wrapper.v-sheet .v-snack__content {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: space-between;\n\t\tdiv {\n\t\t\tflex: 1 1 auto;\n\t\t\tfont-size: 16px;\n\t\t}\n\t\t#main-snackbar-close {\n\t\t\tflex: 0 0 32px;\n\t\t\tmargin: 0;\n\t\t\tmargin-right: -12px;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--13-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=fc9e95a2\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=fc9e95a2&prod&lang=scss\"\nimport style1 from \"./App.vue?vue&type=style&index=1&id=fc9e95a2&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VApp } from 'vuetify/lib/components/VApp';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMain } from 'vuetify/lib/components/VMain';\nimport { VOverlay } from 'vuetify/lib/components/VOverlay';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\ninstallComponents(component, {VApp,VBtn,VIcon,VMain,VOverlay,VProgressCircular,VSnackbar})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _vm._m(0)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"notfound\"}},[_c('div',{staticClass:\"notfound\"},[_c('div',{staticClass:\"notfound-404\"},[_c('h3',[_vm._v(\"Oops! Page not found\")]),_c('h1',[_c('span',[_vm._v(\"4\")]),_c('span',[_vm._v(\"0\")]),_c('span',[_vm._v(\"4\")])])]),_c('h2',[_vm._v(\"we are sorry, but the page you requested was not found\")])])])\n}]\n\nexport { render, staticRenderFns }","<template>\n  <div id=\"notfound\">\n    <div class=\"notfound\">\n      <div class=\"notfound-404\">\n        <h3>Oops! Page not found</h3>\n        <h1><span>4</span><span>0</span><span>4</span></h1>\n      </div>\n      <h2>we are sorry, but the page you requested was not found</h2>\n    </div>\n  </div>\n</template>\n\n<script>\n\n\texport default {\n\t\tname: 'NotFound',\n\t\tcomponents: {\n\n\t\t},\n\n\t\tdata() {\n\t\t\treturn {\n\n\t\t\t};\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\" scoped>\n\t* {\n\t\t-webkit-box-sizing: border-box;\n\t\tbox-sizing: border-box;\n\t}\n\n\n\n\t#notfound {\n\t\tposition: relative;\n\t\theight: 100vh;\n\t}\n\n\t#notfound .notfound {\n\t\tposition: absolute;\n\t\tleft: 50%;\n\t\ttop: 50%;\n\t\t-webkit-transform: translate(-50%, -50%);\n\t\t-ms-transform: translate(-50%, -50%);\n\t\ttransform: translate(-50%, -50%);\n\t}\n\n\t.notfound {\n\t\tmax-width: 520px;\n\t\twidth: 100%;\n\t\tline-height: 1.4;\n\t\ttext-align: center;\n\t}\n\n\t.notfound .notfound-404 {\n\t\tposition: relative;\n\t\theight: 240px;\n\t}\n\n\t.notfound .notfound-404 h1 {\n\t\tposition: absolute;\n\t\tleft: 50%;\n\t\ttop: 50%;\n\t\t-webkit-transform: translate(-50%, -50%);\n\t\t-ms-transform: translate(-50%, -50%);\n\t\ttransform: translate(-50%, -50%);\n\t\tfont-size: 252px;\n\t\tfont-weight: 900;\n\t\tmargin: 0px;\n\t\tcolor: #262626;\n\t\ttext-transform: uppercase;\n\t\tletter-spacing: -40px;\n\t\tmargin-left: -20px;\n\t\tcolor:#1766f6;\n\t}\n\n\t.notfound .notfound-404 h1>span {\n\t\ttext-shadow: -8px 0px 0px #fff;\n\t\tcolor:#1766f6;\n\t}\n\n\t.notfound .notfound-404 h3 {\n\t\tposition: relative;\n\t\tfont-size: 16px;\n\t\tfont-weight: 700;\n\t\ttext-transform: uppercase;\n\t\tcolor: #1766f6;\n\t\tmargin: 0px;\n\t\tletter-spacing: 3px;\n\t\tpadding-left: 6px;\n\t}\n\n\t.notfound h2 {\n\t\tfont-size: 20px;\n\t\tfont-weight: 400;\n\t\ttext-transform: uppercase;\n\t\tcolor: #1766f6;\n\t\tmargin-top: 0px;\n\t\tmargin-bottom: 25px;\n\t}\n\n\t@media only screen and (max-width: 767px) {\n\t\t.notfound .notfound-404 {\n\t\t\theight: 200px;\n\t\t}\n\t\t.notfound .notfound-404 h1 {\n\t\t\tfont-size: 200px;\n\t\t}\n\t}\n\n\t@media only screen and (max-width: 480px) {\n\t\t.notfound .notfound-404 {\n\t\t\theight: 162px;\n\t\t}\n\t\t.notfound .notfound-404 h1 {\n\t\t\tfont-size: 162px;\n\t\t\theight: 150px;\n\t\t\tline-height: 162px;\n\t\t}\n\t\t.notfound h2 {\n\t\t\tfont-size: 16px;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./NotFound.vue?vue&type=template&id=ed502d56&scoped=true\"\nimport script from \"./NotFound.vue?vue&type=script&lang=js\"\nexport * from \"./NotFound.vue?vue&type=script&lang=js\"\nimport style0 from \"./NotFound.vue?vue&type=style&index=0&id=ed502d56&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"ed502d56\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.domain)?_c('div',{staticClass:\"fluid fill-height column-format\",style:(`${_vm.alignItems}; justify-content: center; --background:url('${_vm.domain.customBranding.loginSplash}')`),attrs:{\"id\":\"login-panel\"}},[_c('div',{staticClass:\"pa-5\",style:(`max-width: 400px; background-color: var(--v-white-base); ${_vm.borderRadius}`)},[(_vm.isAccountPaid && !_vm.isStarterAccount)?_c('v-container',{staticStyle:{\"max-width\":\"350px\"}},[_c('v-form',{on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"align\":\"center\"}},[_c('img',{staticStyle:{\"max-height\":\"100px\",\"max-width\":\"100%\"},attrs:{\"src\":_vm.logo}})])],1),(_vm.view === 'init')?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"align\":\"left\"}},[_c('div',{staticClass:\"my-3\",staticStyle:{\"white-space\":\"pre-wrap\"},domProps:{\"innerHTML\":_vm._s(_vm.domain.customBranding.loginGreeting)}})]),_c('v-col',{attrs:{\"cols\":\"12\",\"align\":\"left\"}},[(_vm.entryScreen === 'start')?_c('v-btn',{staticStyle:{\"height\":\"40px !important\"},attrs:{\"elevation\":\"0\",\"block\":\"\",\"outlined\":\"\",\"color\":\"gray_60\"},on:{\"click\":function($event){return _vm.magicLinkMode()}}},[_c('div',{staticClass:\"row-format centered\",staticStyle:{\"width\":\"100%\"}},[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"size\":24,\"color\":\"primary\"}},[_vm._v(\"magic_button\")]),_c('span',{staticClass:\"ml-2 font-gray_90 font-14\"},[_vm._v(_vm._s(_vm.$t('login.use-magic-link')))])],1)]):_vm._e(),(_vm.entryScreen === 'start')?_c('div',{staticClass:\"row-format align-center font-14 py-6\"},[_c('div',{staticStyle:{\"background-color\":\"var(--v-gray_50-base)\",\"height\":\"1px\",\"flex-grow\":\"1\"}}),_c('div',{staticClass:\"font-secondary px-2 brand-bold\"},[_vm._v(_vm._s(_vm.$t('login.or-password')))]),_c('div',{staticStyle:{\"background-color\":\"var(--v-gray_50-base)\",\"height\":\"1px\",\"flex-grow\":\"1\"}})]):_vm._e(),_c('v-text-field',{attrs:{\"dense\":\"\",\"outlined\":\"\",\"persistent-placeholder\":\"\",\"hide-details\":\"\",\"label\":_vm.$t('login.email'),\"rules\":_vm.emailRules},model:{value:(_vm.email),callback:function ($$v) {_vm.email=$$v},expression:\"email\"}}),(_vm.entryScreen === 'start')?_c('v-text-field',{staticClass:\"mt-2\",attrs:{\"type\":\"password\",\"dense\":\"\",\"outlined\":\"\",\"persistent-placeholder\":\"\",\"hide-details\":\"\",\"label\":_vm.$t('login.password'),\"rules\":_vm.passwordRules},model:{value:(_vm.password),callback:function ($$v) {_vm.password=$$v},expression:\"password\"}}):_vm._e()],1),(_vm.errorMsg)?_c('v-col',{staticClass:\"mt-2\",attrs:{\"cols\":\"12\",\"align\":\"left\"}},[_c('span',{staticStyle:{\"color\":\"var(--v-warning-base)\"}},[_vm._v(_vm._s(_vm.errorMsg))])]):_vm._e(),_c('v-col',{staticClass:\"mt-0\",attrs:{\"cols\":\"12\",\"align\":\"left\"}},[_c('v-btn',{staticStyle:{\"height\":\"40px!important\"},attrs:{\"elevation\":\"0\",\"color\":\"primary\",\"block\":\"\",\"disabled\":!_vm.isValid},on:{\"click\":_vm.handleFormSubmit}},[_vm._v(_vm._s(_vm.$t('login.sign-in-button')))]),_c('v-checkbox',{attrs:{\"label\":_vm.$t('login.remember-email'),\"hide-details\":\"\",\"dense\":\"\",\"value\":true},model:{value:(_vm.rememberEmail),callback:function ($$v) {_vm.rememberEmail=$$v},expression:\"rememberEmail\"}}),(_vm.entryScreen !== 'start')?_c('div',{staticClass:\"row-format align-center mt-5 font-gray_70 pointer font-14\",on:{\"click\":function($event){_vm.entryScreen = 'start'}}},[_c('v-icon',{attrs:{\"color\":\"gray_70\",\"size\":\"20\"}},[_vm._v(\"arrow_back\")]),_c('div',[_vm._v(_vm._s(_vm.$t('login.all-options')))])],1):_vm._e()],1)],1):_vm._e(),(_vm.view === 'email-sent')?_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"mt-8\",attrs:{\"cols\":\"12\"}},[_c('v-icon',{staticClass:\"mb-2\",attrs:{\"large\":\"\",\"color\":\"primary\"}},[_vm._v(\"$success\")]),_c('div',[_vm._v(_vm._s(_vm.$t('login.magic-link'))+\" \"+_vm._s(_vm.email)+\". \"+_vm._s(_vm.$t('login.click-link')))])],1)],1):_vm._e()],1)],1):_c('v-container',{staticStyle:{\"max-width\":\"350px\"}},[_c('v-row',[_c('v-col',[_c('h1',[_vm._v(_vm._s(_vm.$t('login.feature-not-enabled')))])])],1)],1)],1)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div\n\t\tv-if=\"domain\"\n\t\tid=\"login-panel\"\n\t\tclass=\"fluid fill-height column-format\"\n\t\t:style=\"`${alignItems}; justify-content: center; --background:url('${domain.customBranding.loginSplash}')`\"\n\t>\n\t\t<div :style=\"`max-width: 400px; background-color: var(--v-white-base); ${borderRadius}`\" class=\"pa-5\">\n\t\t\t<v-container style=\"max-width: 350px\" v-if=\"isAccountPaid && !isStarterAccount\">\n\t\t\t\t<v-form v-model=\"isValid\" @submit.prevent>\n\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t<v-col cols=\"12\" align=\"center\">\n\t\t\t\t\t\t\t<img :src=\"logo\" style=\"max-height: 100px; max-width: 100%\" />\n\t\t\t\t\t\t</v-col>\n\t\t\t\t\t</v-row>\n\t\t\t\t\t<v-row dense v-if=\"view === 'init'\">\n\t\t\t\t\t\t<v-col cols=\"12\" align=\"left\">\n\t\t\t\t\t\t\t<div v-html=\"domain.customBranding.loginGreeting\" style=\"white-space: pre-wrap\" class=\"my-3\"></div>\n\t\t\t\t\t\t</v-col>\n\n\t\t\t\t\t\t<v-col cols=\"12\" align=\"left\">\n\t\t\t\t\t\t\t<v-btn\n\t\t\t\t\t\t\t\tv-if=\"entryScreen === 'start'\"\n\t\t\t\t\t\t\t\televation=\"0\"\n\t\t\t\t\t\t\t\tblock\n\t\t\t\t\t\t\t\tstyle=\"height: 40px !important;\"\n\t\t\t\t\t\t\t\toutlined\n\t\t\t\t\t\t\t\tcolor=\"gray_60\"\n\t\t\t\t\t\t\t\t@click=\"magicLinkMode()\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div class=\"row-format centered\" style=\"width: 100%\">\n\t\t\t\t\t\t\t\t\t<v-icon :size=\"24\" color=\"primary\" class=\"material-symbols-outlined\">magic_button</v-icon>\n\t\t\t\t\t\t\t\t\t<span class=\"ml-2 font-gray_90 font-14\">{{ $t('login.use-magic-link') }}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</v-btn>\n\n\t\t\t\t\t\t\t<div class=\"row-format align-center font-14 py-6\" v-if=\"entryScreen === 'start'\">\n\t\t\t\t\t\t\t\t<div style=\"background-color: var(--v-gray_50-base); height: 1px; flex-grow: 1\"></div>\n\t\t\t\t\t\t\t\t<div class=\"font-secondary px-2 brand-bold\">{{ $t('login.or-password') }}</div>\n\t\t\t\t\t\t\t\t<div style=\"background-color: var(--v-gray_50-base); height: 1px; flex-grow: 1\"></div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\t\toutlined\n\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\tv-model=\"email\"\n\t\t\t\t\t\t\t\t:label=\"$t('login.email')\"\n\t\t\t\t\t\t\t\t:rules=\"emailRules\"\n\t\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\tv-if=\"entryScreen === 'start'\"\n                type=\"password\"\n\t\t\t\t\t\t\t\tclass=\"mt-2\"\n\t\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\t\toutlined\n\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\tv-model=\"password\"\n\t\t\t\t\t\t\t\t:label=\"$t('login.password')\"\n\t\t\t\t\t\t\t\t:rules=\"passwordRules\"\n\t\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t\t</v-col>\n\t\t\t\t\t\t<v-col cols=\"12\" align=\"left\" v-if=\"errorMsg\" class=\"mt-2\">\n\t\t\t\t\t\t\t<span style=\"color: var(--v-warning-base)\">{{ errorMsg }}</span>\n\t\t\t\t\t\t</v-col>\n\t\t\t\t\t\t<v-col cols=\"12\" align=\"left\" class=\"mt-0\">\n\t\t\t\t\t\t\t<v-btn\n\t\t\t\t\t\t\t\televation=\"0\"\n\t\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\t\tstyle=\"height: 40px!important;\"\n\t\t\t\t\t\t\t\tblock\n\t\t\t\t\t\t\t\t:disabled=\"!isValid\"\n\t\t\t\t\t\t\t\t@click=\"handleFormSubmit\"\n\t\t\t\t\t\t\t\t>{{ $t('login.sign-in-button') }}</v-btn\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<v-checkbox\n\t\t\t\t\t\t\t\tv-model=\"rememberEmail\"\n\t\t\t\t\t\t\t\t:label=\"$t('login.remember-email')\"\n\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\t\t:value=\"true\"\n\t\t\t\t\t\t\t></v-checkbox>\n\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tv-if=\"entryScreen !== 'start'\"\n\t\t\t\t\t\t\t\tclass=\"row-format align-center mt-5 font-gray_70 pointer font-14\"\n\t\t\t\t\t\t\t\t@click=\"entryScreen = 'start'\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<v-icon color=\"gray_70\" size=\"20\">arrow_back</v-icon>\n\t\t\t\t\t\t\t\t<div>{{ $t('login.all-options') }}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</v-col>\n\t\t\t\t\t</v-row>\n\t\t\t\t\t<v-row dense v-if=\"view === 'email-sent'\">\n\t\t\t\t\t\t<v-col cols=\"12\" class=\"mt-8\">\n\t\t\t\t\t\t\t<v-icon large color=\"primary\" class=\"mb-2\">$success</v-icon>\n\t\t\t\t\t\t\t<div>{{ $t('login.magic-link') }} {{ email }}. {{ $t('login.click-link') }}</div>\n\t\t\t\t\t\t</v-col>\n\t\t\t\t\t</v-row>\n\t\t\t\t</v-form>\n\t\t\t</v-container>\n\t\t\t<v-container style=\"max-width: 350px\" v-else>\n\t\t\t\t<v-row>\n\t\t\t\t\t<v-col>\n\t\t\t\t\t\t<h1>{{ $t('login.feature-not-enabled') }}</h1>\n\t\t\t\t\t</v-col>\n\t\t\t\t</v-row>\n\t\t\t</v-container>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport AuthService from '@/modules/auth/AuthService';\n\n\texport default {\n\t\tname: 'Login',\n\n\t\tprops: [],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tisValid: true,\n\t\t\t\trememberEmail: false,\n\n\t\t\t\terrorMsg: null,\n\t\t\t\tview: 'init',\n\t\t\t\tdisabled: false,\n\t\t\t\tentryScreen: 'start',\n\n\t\t\t\temail: null,\n\t\t\t\tpassword: null,\n\t\t\t\temailRules: [(v) => !!v || this.$t('valid.email-required'), (v) => /.+@.+\\..+/.test(v) || this.$t('valid.email')],\n\t\t\t\tpasswordRules: [\n\t\t\t\t\t(v) => !!v || '',\n\t\t\t\t\t(v) => (v && v.length >= 8) || '',\n\t\t\t\t],\n\n\t\t\t\tshowBackground: this.$vuetify.breakpoint.mdAndUp ? 'show-background' : '',\n\n\t\t\t\t//loginBoxPosition\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tif (this.$store.state.isLoggedIn) {\n\t\t\t\tthis.$router.push('/welcome');\n\t\t\t}\n\n\t\t\ttry {\n\t\t\t\tlet savedEmail = localStorage.getItem('login-email');\n\n\t\t\t\tif (!this.$validations.isEmpty(savedEmail)) {\n\t\t\t\t\tthis.email = savedEmail;\n\t\t\t\t\tthis.rememberEmail = true;\n\t\t\t\t}\n\t\t\t} catch (err) {\n\t\t\t\tconsole.log('Error reading preferences from local storage.');\n\t\t\t}\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tmagicLinkMode: function() {\n\t\t\t\tthis.entryScreen = 'magic';\n\t\t\t},\n\n\t\t\thandleFormSubmit() {\n\t\t\t\tif (this.rememberEmail) {\n\t\t\t\t\ttry {\n\t\t\t\t\t\tconsole.log('writing email to local storage');\n\t\t\t\t\t\tlocalStorage.setItem('login-email', this.email.trim());\n\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\tconsole.log('Error putting preferences into local storage.');\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tlocalStorage.removeItem('login-email');\n\t\t\t\t}\n\n\t\t\t\tif (this.entryScreen === 'magic') {\n\t\t\t\t\tthis.requestMagicLink();\n\t\t\t\t} else {\n\t\t\t\t\tthis.authWithCredentials();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tauthWithCredentials() {\n\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\tAuthService.authWithCredentials(this.$store.getters.getAccountId, this.email.trim(), this.password)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tself.location.href = document.location.protocol + '//' + document.location.host;\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tthis.errorMsg = this.$t('error.bad-credentials') + ' [' + (err.response ? err.response.status : 'Unknown') + ']';\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tthis.$store.commit('stopLoading');\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\trequestMagicLink() {\n\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\tthis.errorMsg = null;\n\t\t\t\tthis.disabled = true;\n\n\t\t\t\tlet url = document.location.protocol + '//' + document.location.host;\n\t\t\t\turl = url + '/magicToken';\n\n\t\t\t\tif (this.$store.state.origRequestedUri) {\n\t\t\t\t\turl = url + '?origUri=' + this.$store.state.origRequestedUri;\n\t\t\t\t} else {\n\t\t\t\t\turl = url + '?origUri=/welcome';\n\t\t\t\t}\n\n\t\t\t\tAuthService.requestMagicLink(this.$store.getters.getAccountId, this.email.trim(), url)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tthis.view = 'email-sent';\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n            this.errorMsg = this.$t('error.unable-to-locate') + ' [' + (err.response ? err.response.status : 'Unknown') + ']';\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => {\n\t\t\t\t\t\tthis.$store.commit('stopLoading');\n\t\t\t\t\t});\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tlogo: function() {\n\t\t\t\tif (this.$vuetify.theme.dark && this.$store.state.domain.logoDark) {\n\t\t\t\t\treturn this.$store.state.domain.logoDark;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.$store.state.domain.logo;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tisAccountPaid: function() {\n\t\t\t\tif (this.$store.state.domain) {\n\t\t\t\t\treturn this.$store.state.domain.isAccountPaid;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n      isStarterAccount: function() {\n        if (this.$store.state.domain) {\n          return this.$store.state.domain.isStarterAccount;\n        } else {\n          return false;\n        }\n      },\n\n\t\t\tdomain: function() {\n\t\t\t\treturn this.$store.state.domain;\n\t\t\t},\n\n\t\t\talignItems: function() {\n\t\t\t\tif (this.domain.customBranding.loginBoxPosition === 'Left') {\n\t\t\t\t\treturn 'align-items: start';\n\t\t\t\t} else if (this.domain.customBranding.loginBoxPosition === 'Right') {\n\t\t\t\t\treturn 'align-items: end';\n\t\t\t\t} else {\n\t\t\t\t\treturn 'align-items: center';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tborderRadius: function() {\n\t\t\t\tif (this.domain.customBranding.loginBoxPosition === 'Left') {\n\t\t\t\t\treturn 'border-radius: 0px 4px 4px 0px;';\n\t\t\t\t} else if (this.domain.customBranding.loginBoxPosition === 'Right') {\n\t\t\t\t\treturn 'border-radius: 4px 0px 0px 4px;';\n\t\t\t\t} else {\n\t\t\t\t\treturn 'border-radius: 4px';\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\twatch: {},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.v-btn--outlined {\n\t\tborder: thin solid var(--v-gray_50-base);\n\t}\n</style>\n\n<style scoped lang=\"scss\">\n\t#login-panel {\n\t\tbackground-image: var(--background);\n\t\tbackground-size: cover;\n\t\tmin-height: 100vh;\n\t\tbackground-position: center;\n\t}\n\n\t.logo {\n\t\tmax-width: 230px;\n\t}\n\n\t.login-box {\n\t\tmax-width: 450px;\n\t\tbackground-color: var(--v-white-base);\n\t\tborder-radius: 4px;\n\t}\n\n\t.primary-link {\n\t\tcolor: var(--v-primary-base);\n\t\tcursor: pointer;\n\t}\n\n\t.informational {\n\t\tcolor: var(--v-white-base);\n\t\tbackground-color: rgba(0, 0, 0, 0.5);\n\t\tborder-radius: 4px;\n\t\tpadding: 8px 16px;\n\t\twidth: 300px;\n\t}\n\n\t.flex-row {\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t}\n\n\t.left-footer {\n\t\tposition: absolute;\n\t\tleft: 16px;\n\t\tbottom: 16px;\n\t}\n\n\t.right-footer {\n\t\tposition: absolute;\n\t\tright: 16px;\n\t\tbottom: 24px;\n\t}\n\n\t#code-input ::v-deep input {\n\t\tfont-family: Inter;\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Login.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Login.vue?vue&type=template&id=698b91f6&scoped=true\"\nimport script from \"./Login.vue?vue&type=script&lang=js\"\nexport * from \"./Login.vue?vue&type=script&lang=js\"\nimport style0 from \"./Login.vue?vue&type=style&index=0&id=698b91f6&prod&lang=scss\"\nimport style1 from \"./Login.vue?vue&type=style&index=1&id=698b91f6&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"698b91f6\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCheckbox,VCol,VContainer,VForm,VIcon,VRow,VTextField})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.customPage)?_c('custom-page',{attrs:{\"slug\":_vm.customPage.slug}}):_c('div',{staticClass:\"column-format centered\",style:(`height:100%; width:100%; --background:url('${_vm.domain.customBranding.loginSplash}')`),attrs:{\"id\":\"welcome-panel\"}},[_c('div',{staticClass:\"content-panel column-format centered\"},[_c('div',{staticStyle:{\"max-width\":\"600px\"}},[_c('div',{staticClass:\"mt-8\",domProps:{\"innerHTML\":_vm._s(_vm.domain.customBranding.welcomeGreeting)}})]),(_vm.actionItems)?_c('div',{staticClass:\"row-format mt-8 px-8\",staticStyle:{\"flex-wrap\":\"wrap\"}},[(_vm.features.projectsEnabled)?_c('deliverables',{staticClass:\"action-item\",attrs:{\"deliverables\":_vm.actionItems.deliverables},on:{\"refresh\":_vm.getActionItems}}):_vm._e(),(_vm.features.invoicesEnabled)?_c('invoices',{staticClass:\"action-item\",attrs:{\"invoices\":_vm.actionItems.invoices},on:{\"refresh\":_vm.getActionItems}}):_vm._e(),(_vm.features.formsEnabled)?_c('forms',{staticClass:\"action-item\",attrs:{\"forms\":_vm.actionItems.forms},on:{\"refresh\":_vm.getActionItems}}):_vm._e(),(_vm.features.proposalsEnabled)?_c('proposals',{staticClass:\"action-item\",attrs:{\"proposals\":_vm.actionItems.proposals,\"agreements\":_vm.actionItems.agreements},on:{\"refresh\":_vm.getActionItems}}):_vm._e(),(_vm.features.meetingsEnabled)?_c('meetings',{staticClass:\"action-item\",attrs:{\"meetings\":_vm.actionItems.meetings},on:{\"refresh\":_vm.getActionItems}}):_vm._e(),(_vm.features.invoicesEnabled)?_c('subscription-requests',{staticClass:\"action-item\",attrs:{\"subscription-requests\":_vm.actionItems.subscriptionRequests},on:{\"refresh\":_vm.getActionItems}}):_vm._e()],1):_vm._e()])])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"content show-scrollbar pa-2\",style:(`height: calc(100vh - 55px)`)},[(_vm.page && _vm.page.type === 'Internal')?_c('v-container',{key:_vm.refreshKey,attrs:{\"fluid\":\"\"}},_vm._l((_vm.pageLayout),function(row,index){return _c('v-row',{key:index},_vm._l((row),function(col){return _c('v-col',{key:'key' + col.contentIndex,attrs:{\"md\":col.cols,\"cols\":\"12\"}},[_c('content-block',{attrs:{\"index\":col.contentIndex,\"content\":_vm.page.content}})],1)}),1)}),1):(_vm.page && _vm.page.type === 'iFrame')?_c('div',{staticClass:\"show-scrollbar\",staticStyle:{\"width\":\"100%\",\"height\":\"100%\"}},[_c('iframe',{staticStyle:{\"border\":\"none\"},attrs:{\"src\":_vm.page.hyperLink,\"width\":\"100%\",\"height\":\"98%\"}})]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{domProps:{\"innerHTML\":_vm._s(_vm.initialContent)}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div v-html=\"initialContent\"></div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'ContentBlock',\n\n\t\tprops: ['index', 'content'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tinitialContent: this.content.length >= this.index ? this.content[this.index] : '',\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {},\n\n\t\tcomputed: {},\n\n\t\twatch: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContentBlock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContentBlock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ContentBlock.vue?vue&type=template&id=7cae912f&scoped=true\"\nimport script from \"./ContentBlock.vue?vue&type=script&lang=js\"\nexport * from \"./ContentBlock.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7cae912f\",\n  null\n  \n)\n\nexport default component.exports","<template>\n  <div :style=\"`height: calc(100vh - 55px)`\" class=\"content show-scrollbar pa-2\">\n    <v-container fluid v-if=\"page && page.type === 'Internal'\" :key=\"refreshKey\">\n      <v-row v-for=\"(row, index) in pageLayout\" :key=\"index\">\n        <v-col v-for=\"col in row\" :key=\"'key' + col.contentIndex\" :md=\"col.cols\" cols=\"12\">\n          <content-block :index=\"col.contentIndex\" :content=\"page.content\"></content-block>\n        </v-col>\n      </v-row>\n    </v-container>\n    <div style=\"width:100%; height: 100%\" v-else-if=\"page && page.type === 'iFrame'\" class=\"show-scrollbar\">\n      <iframe :src=\"page.hyperLink\" width=\"100%\" height=\"98%\" style=\"border: none\"></iframe>\n    </div>\n  </div>\n</template>\n\n<script>\n\timport ContentBlock from '@/modules/custom/ContentBlock';\n\n\texport default {\n\t\tname: 'CustomPage',\n\n\t\tprops: ['slug'],\n\n\t\tcomponents: { ContentBlock },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tpage: null,\n        refreshKey: 0,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.setupPage();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tsetupPage: function() {\n        this.refreshKey++;\n\t\t\t\tthis.page = this.$store.state.customPages.find((p) => p.slug === this.slug);\n\t\t\t},\n\n\t\t\tcolsInRow: function(row, contentIndex) {\n\t\t\t\tlet cols = 12 / row.cols;\n\t\t\t\tlet result = [];\n\t\t\t\tlet i = cols;\n\n\t\t\t\twhile (i <= 12) {\n\t\t\t\t\tresult.push({\n\t\t\t\t\t\tcols: cols,\n\t\t\t\t\t\tcontentIndex: contentIndex.index++,\n\t\t\t\t\t});\n\n\t\t\t\t\ti = i + cols;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n      slug: function() {\n\t\t\t\tthis.setupPage();\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tlayoutOptions: function() {\n\t\t\t\tlet options = [];\n\t\t\t\toptions.push({\n\t\t\t\t\tlabel: 'Single page',\n\t\t\t\t\tkey: '1',\n\t\t\t\t\tlayout: [{ cols: 1 }],\n\t\t\t\t});\n\n\t\t\t\toptions.push({\n\t\t\t\t\tlabel: 'Side-by-side',\n\t\t\t\t\tkey: '2',\n\t\t\t\t\tlayout: [{ cols: 2 }],\n\t\t\t\t});\n\t\t\t\toptions.push({\n\t\t\t\t\tlabel: 'Header & Two-column',\n\t\t\t\t\tkey: '1,2',\n\t\t\t\t\tlayout: [{ cols: 1 }, { cols: 2 }],\n\t\t\t\t});\n\t\t\t\toptions.push({\n\t\t\t\t\tlabel: 'Header, Two-column, Footer',\n\t\t\t\t\tkey: '1,2,1',\n\t\t\t\t\tlayout: [{ cols: 1 }, { cols: 2 }, { cols: 1 }],\n\t\t\t\t});\n\t\t\t\treturn options;\n\t\t\t},\n\n\t\t\tcurrentLayout: function() {\n\t\t\t\tlet result = this.layoutOptions.find((l) => l.key === this.page.layoutKey);\n\t\t\t\tif (!result) {\n\t\t\t\t\tresult = this.layoutOptions[0];\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\tpageLayout: function() {\n\t\t\t\tlet result = [];\n\t\t\t\tlet contentIndex = {\n\t\t\t\t\tindex: 0,\n\t\t\t\t};\n\t\t\t\tfor (let i = 0; i < this.currentLayout.layout.length; i++) {\n\t\t\t\t\tresult.push(this.colsInRow(this.currentLayout.layout[i], contentIndex));\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomPage.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CustomPage.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CustomPage.vue?vue&type=template&id=75ca7f04&scoped=true\"\nimport script from \"./CustomPage.vue?vue&type=script&lang=js\"\nexport * from \"./CustomPage.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"75ca7f04\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VRow})\n","<template>\n\t<div>\n    <custom-page v-if=\"customPage\" :slug=\"customPage.slug\"></custom-page>\n\t\t<div\n      v-else\n\t\t\tid=\"welcome-panel\"\n\t\t\t:style=\"`height:100%; width:100%; --background:url('${domain.customBranding.loginSplash}')`\"\n\t\t\tclass=\"column-format centered\"\n\t\t>\n\t\t\t<div class=\"content-panel column-format centered\">\n\t\t\t\t<div style=\"max-width: 600px\">\n\t\t\t\t\t<div class=\"mt-8\" v-html=\"domain.customBranding.welcomeGreeting\"></div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"row-format mt-8 px-8\" style=\"flex-wrap: wrap\" v-if=\"actionItems\">\n\t\t\t\t\t<deliverables\n\t\t\t\t\t\tclass=\"action-item\"\n\t\t\t\t\t\tv-if=\"features.projectsEnabled\"\n\t\t\t\t\t\t:deliverables=\"actionItems.deliverables\"\n\t\t\t\t\t\t@refresh=\"getActionItems\"\n\t\t\t\t\t></deliverables>\n\t\t\t\t\t<invoices\n\t\t\t\t\t\tclass=\"action-item\"\n\t\t\t\t\t\tv-if=\"features.invoicesEnabled\"\n\t\t\t\t\t\t:invoices=\"actionItems.invoices\"\n\t\t\t\t\t\t@refresh=\"getActionItems\"\n\t\t\t\t\t></invoices>\n          <forms\n              class=\"action-item\"\n              v-if=\"features.formsEnabled\"\n              :forms=\"actionItems.forms\"\n              @refresh=\"getActionItems\"\n          ></forms>\n\t\t\t\t\t<proposals\n\t\t\t\t\t\tclass=\"action-item\"\n\t\t\t\t\t\tv-if=\"features.proposalsEnabled\"\n\t\t\t\t\t\t:proposals=\"actionItems.proposals\"\n            :agreements=\"actionItems.agreements\"\n\t\t\t\t\t\t@refresh=\"getActionItems\"\n\t\t\t\t\t></proposals>\n\t\t\t\t\t<meetings\n\t\t\t\t\t\tclass=\"action-item\"\n\t\t\t\t\t\tv-if=\"features.meetingsEnabled\"\n\t\t\t\t\t\t:meetings=\"actionItems.meetings\"\n\t\t\t\t\t\t@refresh=\"getActionItems\"\n\t\t\t\t\t></meetings>\n\t\t\t\t\t<subscription-requests\n\t\t\t\t\t\tclass=\"action-item\"\n\t\t\t\t\t\tv-if=\"features.invoicesEnabled\"\n\t\t\t\t\t\t:subscription-requests=\"actionItems.subscriptionRequests\"\n\t\t\t\t\t\t@refresh=\"getActionItems\"\n\t\t\t\t\t></subscription-requests>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport DashboardService from '@/modules/welcome/DashboardService';\n\timport Deliverables from '@/modules/welcome/actionItems/Deliverables';\n  import Invoices from '@/modules/welcome/actionItems/Invoices';\n  import Forms from '@/modules/welcome/actionItems/Forms';\n\timport Meetings from '@/modules/welcome/actionItems/Meetings';\n\timport Proposals from '@/modules/welcome/actionItems/Proposals';\n\timport SubscriptionRequests from '@/modules/welcome/actionItems/SubscriptionRequests';\n  import CustomPage from '@/modules/custom/CustomPage';\n\n\texport default {\n\t\tname: 'WelcomePage',\n\n\t\tprops: [],\n\n\t\tcomponents: { CustomPage, SubscriptionRequests, Deliverables, Invoices, Meetings, Proposals, Forms },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tactionItems: null,\n\t\t\t\tdashboardService: new DashboardService(),\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getActionItems();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tgetActionItems: function() {\n\t\t\t\tthis.dashboardService.getActionItems().then((res) => {\n\t\t\t\t\tthis.actionItems = res.data;\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tlogout: function() {\n\t\t\t\tthis.$router.push('/logout');\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n      customPage: function(){\n        return this.$store.state.customPages.find(p => p.isDefault);\n      },\n\n\t\t\tdomain: function() {\n\t\t\t\treturn this.$store.state.domain;\n\t\t\t},\n\n\t\t\tfeatures: function() {\n\t\t\t\treturn this.$store.getters.getFeatures;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.action-item {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tmin-width: 250px;\n\t\tflex: 1 1 0px;\n\t\ttext-align: left;\n\t\tbackground-color: var(--v-white-base);\n\t\tborder: 1px solid var(--v-gray_50-base);\n\t\tborder-radius: 4px;\n\t\tbox-sizing: border-box;\n\t\tbox-shadow: 0px 1px 0px var(--v-gray_50-base);\n\t\tpadding: 8px;\n\t\tmargin: 0px 8px 8px 0px;\n\t\t&:hover {\n\t\t\tborder: 1px solid var(--v-gray_90-base);\n\t\t}\n\t}\n\n\t.content-panel {\n\t\tbackground-color: var(--v-sidebar-base);\n\t\tborder: 1px solid var(--v-gray_50-base);\n\t\tborder-radius: 4px;\n\t\tbox-sizing: border-box;\n\t\tpadding: 24px;\n\t\tmargin: 24px;\n\t\topacity: 0.95;\n\t}\n\n\t#welcome-panel {\n\t\tbackground-image: var(--background);\n\t\tbackground-size: cover;\n\t\tmin-height: 100vh;\n\t\tbackground-position: center;\n\t\tborder-radius: 16px 16px 0px 0px;\n\t}\n</style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WelcomePage.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WelcomePage.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./WelcomePage.vue?vue&type=template&id=9ea709b6\"\nimport script from \"./WelcomePage.vue?vue&type=script&lang=js\"\nexport * from \"./WelcomePage.vue?vue&type=script&lang=js\"\nimport style0 from \"./WelcomePage.vue?vue&type=style&index=0&id=9ea709b6&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[(!_vm.dialog)?_c('div',{staticClass:\"text-center ma-12\"},[_c('v-progress-circular',{attrs:{\"indeterminate\":true,\"size\":\"200\",\"color\":\"light-blue\"}})],1):_vm._e(),_c('v-dialog',{attrs:{\"persistent\":\"\",\"max-width\":\"290\"},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-text',{staticStyle:{\"padding-top\":\"15px\"}},[_vm._v(_vm._s(_vm.$t('login.token-expired')))]),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"red darken-1\",\"text\":\"\"},on:{\"click\":function($event){return _vm.freshLogin()}}},[_vm._v(_vm._s(_vm.$t('global.ok')))])],1)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<v-row justify=\"center\" align=\"center\">\n\t\t<div class=\"text-center ma-12\" v-if=\"!dialog\">\n\t\t\t<v-progress-circular :indeterminate=\"true\" size=\"200\" color=\"light-blue\"></v-progress-circular>\n\t\t</div>\n\t\t<v-dialog v-model=\"dialog\" persistent max-width=\"290\">\n\t\t\t<v-card>\n\t\t\t\t<v-card-text style=\"padding-top: 15px;\">{{ $t('login.token-expired') }}</v-card-text>\n\t\t\t\t<v-card-actions>\n\t\t\t\t\t<v-spacer></v-spacer>\n\t\t\t\t\t<v-btn color=\"red darken-1\" text @click=\"freshLogin()\">{{ $t('global.ok') }}</v-btn>\n\t\t\t\t</v-card-actions>\n\t\t\t</v-card>\n\t\t</v-dialog>\n\t</v-row>\n</template>\n\n<script>\n\timport qs from 'qs';\n\timport AuthService from \"@/modules/auth/AuthService\";\n\n\texport default {\n\t\tname: 'MagicToken',\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tmagicToken: null,\n\t\t\t\torigUri: null,\n\t\t\t\tdialog: false,\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\tfreshLogin() {\n\t\t\t\tself.location.href = document.location.protocol + '//' + document.location.host + '/login';\n\t\t\t},\n\t\t},\n\n\t\tmounted() {\n      let queryString = qs.parse(self.location.search.slice(1));\n      this.magicToken = queryString['magicToken'];\n\t\t\tthis.origUri = queryString['origUri'];\n\n\t\t\tAuthService.magicToken(this.magicToken)\n\t\t\t\t.then(() => {\n          this.origUri = this.origUri.replace('@','');\n          self.location.href = document.location.protocol + '//' + document.location.host + this.origUri;\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.log('Failed to fetch refresh token:' + err);\n\t\t\t\t\tthis.dialog = true;\n\t\t\t\t});\n\t\t},\n\n\t};\n</script>\n\n<style scoped></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MagicToken.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MagicToken.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MagicToken.vue?vue&type=template&id=20bcaea5&scoped=true\"\nimport script from \"./MagicToken.vue?vue&type=script&lang=js\"\nexport * from \"./MagicToken.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"20bcaea5\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VDialog,VProgressCircular,VRow,VSpacer})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('v-progress-circular',{attrs:{\"indeterminate\":true,\"size\":\"200\",\"color\":\"light-blue\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<v-row justify=\"center\" align=\"center\">\n\t\t\t<v-progress-circular :indeterminate=\"true\" size=\"200\" color=\"light-blue\"></v-progress-circular>\n\t</v-row>\n</template>\n\n<script>\n\timport AuthService from \"@/modules/auth/AuthService\";\n\n\texport default {\n\t\tname: 'MagicToken',\n\n\t\tdata() {\n\t\t\treturn {\n\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tAuthService.logout().finally(() => {\n        self.location.href = document.location.protocol + '//' + document.location.host + '/login';\n      })\n\t\t},\n\n\t};\n</script>\n\n<style scoped></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LogOut.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LogOut.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LogOut.vue?vue&type=template&id=985eefb6&scoped=true\"\nimport script from \"./LogOut.vue?vue&type=script&lang=js\"\nexport * from \"./LogOut.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"985eefb6\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VProgressCircular,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-row',{attrs:{\"justify\":\"center\",\"align\":\"center\"}},[_c('div',{staticClass:\"text-center ma-12\"},[_c('v-progress-circular',{attrs:{\"indeterminate\":true,\"size\":\"200\",\"color\":\"light-blue\"}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import HttpClient from '@/services/HttpClient';\nimport store from '@/store';\n\nexport default class ClientService {\n\thttpClient;\n\n\tconstructor() {\n\t\tthis.httpClient = new HttpClient();\n\t}\n\n\tgetContact() {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/contact`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetContactList() {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/contact/list`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetDefaultCurrency() {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/defaultCurrency`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n}\n","<template>\n\t<v-row justify=\"center\" align=\"center\">\n\t\t<div class=\"text-center ma-12\">\n\t\t\t<v-progress-circular :indeterminate=\"true\" size=\"200\" color=\"light-blue\"></v-progress-circular>\n\t\t</div>\n\t</v-row>\n</template>\n\n<script>\n\timport AuthService from '@/modules/auth/AuthService';\n\timport ClientService from '@/modules/client/ClientService';\n\n\texport default {\n\t\tname: 'Loader',\n\n\t\tmounted() {\n\t\t\tAuthService.refreshToken()\n\t\t\t\t.then((res) => {\n\t\t\t\t\tthis.handleLoginSuccess(res);\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.log('Failed to fetch refresh token:' + err);\n\t\t\t\t\tthis.handleLoginFailure();\n\t\t\t\t});\n\t\t},\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tclientService: new ClientService(),\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\thandleLoginSuccess(result) {\n\t\t\t\tconsole.log('handling login results');\n\n\t\t\t\tthis.$store.commit('setInitialized', true);\n\t\t\t\tthis.$store.commit('setAccessToken', result);\n\n\t\t\t\tAuthService.getProfile()\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tthis.$store.commit('setLoggedInUser', res);\n\t\t\t\t\t\tthis.getContactRecord();\n\t\t\t\t\t\tthis.getDefaultCurrency();\n\n\t\t\t\t\t\tlet clientId = this.$store.getters.getClientId;\n\t\t\t\t\t\tif (!clientId) {\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tAuthService.getCustomPages(clientId).then((res) => {\n\t\t\t\t\t\t\tthis.$store.state.customPages.splice(0);\n\t\t\t\t\t\t\tthis.$store.state.customPages.push(...res);\n\t\t\t\t\t\t\tthis.$store.state.customPages.forEach((p) => {\n\t\t\t\t\t\t\t\tif (p.isDefault) {\n\t\t\t\t\t\t\t\t\tp.sortOrder = 1;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tp.slug = p.title.toLowerCase().replace(/[\\W_]+/g, '-');\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t});\n\n\t\t\t\t\t\tthis.setRefresh();\n\t\t\t\t\t\tthis.$router.push(this.$store.state.origRequestedUri);\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tconsole.log('Something went wrong fetching the user profile.' + err);\n\t\t\t\t\t\tthis.$store.commit('logOut');\n\t\t\t\t\t\tthis.$store.commit('setInitialized', true);\n\t\t\t\t\t\tthis.$router.push('/login').catch((err) => console.log(err));\n\t\t\t\t\t});\n\n\t\t\t\tAuthService.getCustomEmbed().then((res) => {\n\t\t\t\t\tthis.$store.state.customEmbed = res.embed;\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tgetContactRecord() {\n\t\t\t\tnew ClientService().getContact().then((res) => {\n\t\t\t\t\tthis.$store.commit('setContactRecord', res.data);\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tgetDefaultCurrency() {\n\t\t\t\tnew ClientService().getDefaultCurrency().then((res) => {\n\t\t\t\t\tthis.$store.state.defaultCurrency = res.data;\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tsetRefresh() {\n\t\t\t\tsetInterval(() => this.clientService.getDefaultCurrency(), 60000);\n\t\t\t},\n\n\t\t\thandleLoginFailure() {\n\t\t\t\tthis.$store.commit('setInitialized', true);\n\t\t\t\tthis.$router.push('/login');\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Loader.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Loader.vue?vue&type=template&id=38ed3d64&scoped=true\"\nimport script from \"./Loader.vue?vue&type=script&lang=js\"\nexport * from \"./Loader.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"38ed3d64\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VProgressCircular,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"centered\",staticStyle:{\"width\":\"100%\",\"height\":\"100%\"}},[(!_vm.isReady)?_c('div',{staticClass:\"brand-medium font-24\"},[_vm._v(_vm._s(_vm.$t('invoices.payment.loading')))]):_c('v-container',{staticClass:\"pa-12\",staticStyle:{\"max-width\":\"1000px\"},attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"text-center pt-10 pb-8\",attrs:{\"cols\":\"12\"}},[_c('img',{staticStyle:{\"max-height\":\"100px\"},attrs:{\"src\":_vm.logo,\"alt\":\"Logo\"}})]),_c('v-col',{attrs:{\"cols\":\"12\",\"align\":\"center\"}},[_c('div',{staticClass:\"column-format\",staticStyle:{\"max-width\":\"fit-content\"}},[_c('div',{staticClass:\"brand-medium font-24\"},[_vm._v(_vm._s(_vm.$t('invoices.payment.options')))]),_c('div',{staticClass:\"column-format gap-1 py-5\"},[_c('div',{staticClass:\"row-format\",staticStyle:{\"border-bottom\":\"1px solid var(--v-gray_30-base)\"}},[_c('div',[_vm._v(_vm._s(_vm.$t('invoices.list.invoice-number'))+\":\")]),_c('div',{staticClass:\"ml-auto font-weight-bold\"},[_vm._v(_vm._s(_vm.paymentInfo.invoiceNumberFormatted))])]),_c('div',{staticClass:\"row-format\",staticStyle:{\"border-bottom\":\"1px solid var(--v-gray_30-base)\"}},[_c('div',[_vm._v(_vm._s(_vm.$t('invoice.details.issued'))+\":\")]),_c('div',{staticClass:\"ml-auto font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.DateTime.fromISO(_vm.paymentInfo.dateSent).toLocaleString(_vm.DateTime.DATE_MED))+\" \")])]),_c('div',{staticClass:\"row-format\",staticStyle:{\"border-bottom\":\"1px solid var(--v-gray_30-base)\"}},[_c('div',[_vm._v(_vm._s(_vm.$t('invoice.details.due'))+\":\")]),_c('div',{staticClass:\"ml-auto font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.DateTime.fromISO(_vm.paymentInfo.dateDue).toLocaleString(_vm.DateTime.DATE_MED))+\" \")])]),_c('div',{staticClass:\"row-format\",staticStyle:{\"border-bottom\":\"1px solid var(--v-gray_30-base)\"}},[_c('div',[_vm._v(_vm._s(_vm.$t('invoice.details.total-due'))+\":\")]),_c('div',{staticClass:\"ml-auto font-weight-bold\"},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(_vm.paymentInfo.invoiceAmount, true, true, _vm.paymentInfo.currency))+\" \")])])])])])],1),_c('v-row',[(_vm.achEnabled || _vm.paymentMethods.length)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":_vm.columns}},[_c('div',{staticClass:\"column-format border\",staticStyle:{\"height\":\"100%\",\"width\":\"100%\"}},[_c('h2',{staticClass:\"mb-4\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoices.payment.ach'))+\" \"),_c('v-icon',{staticClass:\"material-symbols-outlined pointer\",attrs:{\"color\":\"primary\",\"size\":\"20\"},on:{\"click\":_vm.editSavedPaymentMethods}},[_vm._v(\"edit\")])],1),_vm._l((_vm.paymentMethods),function(account){return _c('v-btn',{key:account.id,staticClass:\"primary-action my-1\",staticStyle:{\"height\":\"35px!important\"},on:{\"click\":function($event){return _vm.confirmPayment(account)}}},[_vm._v(_vm._s(_vm.$t('invoices.payment.pay-with'))+\" \"+_vm._s(account.label)+\" - \"+_vm._s(account.last4))])}),(_vm.paymentMethods.length === 0)?_c('div',{staticClass:\"my-3\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoices.payment.no-linked-accounts'))+\" \")]):_vm._e(),(_vm.achEnabled)?_c('div',{staticClass:\"pointer my-1\",on:{\"click\":_vm.initializeACHLink}},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\",\"color\":\"primary\"}},[_vm._v(\"$plus\")]),_c('span',{staticClass:\"brand-medium\",staticStyle:{\"color\":\"var(--v-primary-base)\"}},[_vm._v(_vm._s(_vm.$t('invoices.payment.new-linked')))])],1):_vm._e(),_c('div',{staticClass:\"pt-2 font-12\",staticStyle:{\"font-style\":\"italic\"}},[_c('v-icon',{staticClass:\"mb-1\",attrs:{\"small\":\"\"}},[_vm._v(\"$stripe\")]),_vm._v(_vm._s(_vm.$t('invoices.payment.stripe'))+\" \")],1)],2)]):_vm._e(),(_vm.cardEnabled)?_c('v-col',{attrs:{\"cols\":\"12\",\"md\":_vm.columns}},[_c('div',{staticClass:\"column-format border\",staticStyle:{\"height\":\"100%\",\"width\":\"100%\"}},[_c('h2',[_vm._v(_vm._s(_vm.$t('invoices.payment.payment-options')))]),_c('div',{staticClass:\"pointer payment-container my-1\",on:{\"click\":function($event){return _vm.initiateStripeCheckout()}}},[_c('p',{staticClass:\"mt-3\"},[_c('span',{staticClass:\"mr-2\"},[_c('payment-icon',{attrs:{\"size\":\"30\",\"name\":\"amex\"}})],1),_c('span',{staticClass:\"mr-2\"},[_c('payment-icon',{attrs:{\"size\":\"30\",\"name\":\"master_card\"}})],1),_c('span',{staticClass:\"mr-2\"},[_c('payment-icon',{attrs:{\"size\":\"30\",\"name\":\"visa\"}})],1),_c('span',{staticClass:\"mr-2\"},[_c('payment-icon',{attrs:{\"size\":\"30\",\"name\":\"discover\"}})],1)]),_c('p',[_c('span',{staticClass:\"mr-2\"},[_c('v-icon',{attrs:{\"color\":\"black\"}},[_vm._v(\"$apple\")])],1),_vm._v(\" \"+_vm._s(_vm.$t('invoices.payment.apple-pay'))+\" \")]),_c('p',[_c('span',{staticClass:\"mr-2\"},[_c('v-icon',{attrs:{\"color\":\"black\"}},[_vm._v(\"$google\")])],1),_vm._v(_vm._s(_vm.$t('invoices.payment.google-pay'))+\" \")]),_c('v-btn',{staticClass:\"super-action\",staticStyle:{\"height\":\"35px!important\"},attrs:{\"block\":\"\"}},[_vm._v(\"Pay now\")])],1),_c('div',{staticClass:\"pt-1 font-12\",staticStyle:{\"font-style\":\"italic\"}},[_c('v-icon',{staticClass:\"mb-1\",attrs:{\"small\":\"\"}},[_vm._v(\"$stripe\")]),_vm._v(_vm._s(_vm.$t('invoices.payment.stripe'))+\" \")],1)])]):_vm._e(),_c('v-col',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.payPalEnabled),expression:\"payPalEnabled\"}],attrs:{\"cols\":\"12\",\"md\":_vm.columns}},[_c('div',{staticClass:\"border\",staticStyle:{\"width\":\"100%\",\"height\":\"100%\"}},[_c('h2',[_vm._v(\"PayPal\")]),_c('div',{staticClass:\"mt-4\",attrs:{\"id\":\"paypal-button-container\"}})])])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div style=\"width: 100%; height: 100%\" class=\"centered\">\n\t\t<div class=\"brand-medium font-24\" v-if=\"!isReady\">{{ $t('invoices.payment.loading') }}</div>\n\t\t<v-container v-else fluid style=\"max-width: 1000px\" class=\"pa-12\">\n\t\t\t<v-row dense>\n\t\t\t\t<v-col cols=\"12\" class=\"text-center pt-10 pb-8\">\n\t\t\t\t\t<img :src=\"logo\" style=\"max-height: 100px\" alt=\"Logo\" />\n\t\t\t\t</v-col>\n\t\t\t\t<v-col cols=\"12\" align=\"center\">\n\t\t\t\t\t<div class=\"column-format\" style=\"max-width: fit-content\">\n\t\t\t\t\t\t<div class=\"brand-medium font-24\">{{ $t('invoices.payment.options') }}</div>\n\t\t\t\t\t\t<div class=\"column-format gap-1 py-5\">\n\t\t\t\t\t\t\t<div class=\"row-format\" style=\"border-bottom: 1px solid var(--v-gray_30-base)\">\n\t\t\t\t\t\t\t\t<div>{{ $t('invoices.list.invoice-number') }}:</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-auto font-weight-bold\">{{ paymentInfo.invoiceNumberFormatted }}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"row-format\" style=\"border-bottom: 1px solid var(--v-gray_30-base)\">\n\t\t\t\t\t\t\t\t<div>{{ $t('invoice.details.issued') }}:</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-auto font-weight-bold\">\n\t\t\t\t\t\t\t\t\t{{ DateTime.fromISO(paymentInfo.dateSent).toLocaleString(DateTime.DATE_MED) }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"row-format\" style=\"border-bottom: 1px solid var(--v-gray_30-base)\">\n\t\t\t\t\t\t\t\t<div>{{ $t('invoice.details.due') }}:</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-auto font-weight-bold\">\n\t\t\t\t\t\t\t\t\t{{ DateTime.fromISO(paymentInfo.dateDue).toLocaleString(DateTime.DATE_MED) }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"row-format\" style=\"border-bottom: 1px solid var(--v-gray_30-base)\">\n\t\t\t\t\t\t\t\t<div>{{ $t('invoice.details.total-due') }}:</div>\n\t\t\t\t\t\t\t\t<div class=\"ml-auto font-weight-bold\">\n\t\t\t\t\t\t\t\t\t{{ $formatters.dollars(paymentInfo.invoiceAmount, true, true, paymentInfo.currency) }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</v-col>\n\t\t\t</v-row>\n\t\t\t<v-row>\n\t\t\t\t<v-col cols=\"12\" v-if=\"achEnabled || paymentMethods.length\" :md=\"columns\">\n\t\t\t\t\t<div class=\"column-format border\" style=\"height: 100%; width: 100%\">\n\t\t\t\t\t\t<h2 class=\"mb-4\">\n\t\t\t\t\t\t\t{{ $t('invoices.payment.ach') }}\n\t\t\t\t\t\t\t<v-icon\n\t\t\t\t\t\t\t\tclass=\"material-symbols-outlined pointer\"\n\t\t\t\t\t\t\t\tcolor=\"primary\"\n\t\t\t\t\t\t\t\tsize=\"20\"\n\t\t\t\t\t\t\t\t@click=\"editSavedPaymentMethods\"\n\t\t\t\t\t\t\t\t>edit</v-icon\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</h2>\n\t\t\t\t\t\t<v-btn\n\t\t\t\t\t\t\tclass=\"primary-action my-1\"\n\t\t\t\t\t\t\tstyle=\"height:35px!important;\"\n\t\t\t\t\t\t\t@click=\"confirmPayment(account)\"\n\t\t\t\t\t\t\tv-for=\"account in paymentMethods\"\n\t\t\t\t\t\t\t:key=\"account.id\"\n\t\t\t\t\t\t\t>{{ $t('invoices.payment.pay-with') }} {{ account.label }} - {{ account.last4 }}</v-btn\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<div v-if=\"paymentMethods.length === 0\" class=\"my-3\">\n\t\t\t\t\t\t\t{{ $t('invoices.payment.no-linked-accounts') }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"pointer my-1\" @click=\"initializeACHLink\" v-if=\"achEnabled\">\n\t\t\t\t\t\t\t<v-icon small color=\"primary\" class=\"mr-1\">$plus</v-icon\n\t\t\t\t\t\t\t><span class=\"brand-medium\" style=\"color: var(--v-primary-base)\">{{\n\t\t\t\t\t\t\t\t$t('invoices.payment.new-linked')\n\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"pt-2 font-12\" style=\"font-style: italic\">\n\t\t\t\t\t\t\t<v-icon small class=\"mb-1\">$stripe</v-icon>{{ $t('invoices.payment.stripe') }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</v-col>\n\t\t\t\t<v-col cols=\"12\" :md=\"columns\" v-if=\"cardEnabled\">\n\t\t\t\t\t<div class=\"column-format border\" style=\"height: 100%; width:100%;\">\n\t\t\t\t\t\t<h2>{{ $t('invoices.payment.payment-options') }}</h2>\n\t\t\t\t\t\t<div class=\"pointer payment-container my-1\" @click=\"initiateStripeCheckout()\">\n\t\t\t\t\t\t\t<p class=\"mt-3\">\n\t\t\t\t\t\t\t\t<span class=\"mr-2\"><payment-icon size=\"30\" name=\"amex\"></payment-icon></span>\n\t\t\t\t\t\t\t\t<span class=\"mr-2\"><payment-icon size=\"30\" name=\"master_card\"></payment-icon></span>\n\t\t\t\t\t\t\t\t<span class=\"mr-2\"><payment-icon size=\"30\" name=\"visa\"></payment-icon></span>\n\t\t\t\t\t\t\t\t<span class=\"mr-2\"><payment-icon size=\"30\" name=\"discover\"></payment-icon></span>\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t<span class=\"mr-2\"><v-icon color=\"black\">$apple</v-icon></span>\n\t\t\t\t\t\t\t\t{{ $t('invoices.payment.apple-pay') }}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t<span class=\"mr-2\"><v-icon color=\"black\">$google</v-icon></span\n\t\t\t\t\t\t\t\t>{{ $t('invoices.payment.google-pay') }}\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t<v-btn class=\"super-action\" block style=\"height:35px!important;\">Pay now</v-btn>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"pt-1 font-12\" style=\"font-style: italic\">\n\t\t\t\t\t\t\t<v-icon small class=\"mb-1\">$stripe</v-icon>{{ $t('invoices.payment.stripe') }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</v-col>\n\t\t\t\t<v-col cols=\"12\" :md=\"columns\" v-show=\"payPalEnabled\">\n\t\t\t\t\t<div style=\"width:100%; height: 100%\" class=\"border\">\n\t\t\t\t\t\t<h2>PayPal</h2>\n\t\t\t\t\t\t<div class=\"mt-4\" id=\"paypal-button-container\"></div>\n\t\t\t\t\t</div>\n\t\t\t\t</v-col>\n\t\t\t</v-row>\n\t\t</v-container>\n\t</div>\n</template>\n\n<script>\n\timport qs from 'qs';\n\timport HttpClient from '@/services/HttpClient';\n\timport PaymentIcon from '@/modules/invoices/InvoiceRenderer/PaymentIcon';\n\timport ConfirmModal from '@/components/ConfirmModal';\n\timport { loadScript } from '@paypal/paypal-js';\n\timport { DateTime } from 'luxon';\n\n\texport default {\n\t\tname: 'Payment',\n\n\t\tprops: [],\n\n\t\tcomponents: { PaymentIcon },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tDateTime: DateTime,\n\t\t\t\thttpClient: null,\n\t\t\t\ttoken: null,\n\t\t\t\tpaymentInfo: null,\n\t\t\t\tpaypalConnection: null,\n\t\t\t\tisReady: false,\n\t\t\t\tpaymentIntent: null,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tlet queryString = qs.parse(self.location.search.slice(1));\n\t\t\tlet request = JSON.parse(atob(queryString.token.split('.')[0]));\n\n\t\t\tlet podUrl = request.podUrl;\n\n\t\t\tthis.httpClient = new HttpClient(podUrl, false);\n\t\t\tthis.token = queryString.token;\n\n\t\t\tthis.paymentIntent = queryString.payment_intent;\n\t\t\tthis.initialize();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tinitialize: function() {\n\t\t\t\tthis.getPaymentMethods()\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tthis.paymentInfo = res.data;\n\t\t\t\t\t\tthis.paypalConnection = this.paymentInfo.payPalConnection;\n\n\t\t\t\t\t\tif (this.paymentIntent) {\n\t\t\t\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\t\t\t\tthis.finalizePaymentIntent()\n\t\t\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\t\twindow.location.href = res.data;\n\t\t\t\t\t\t\t\t\t}, 1000);\n\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\t\t\t\tthis.$store.commit('stopLoading');\n\t\t\t\t\t\t\t\t\tif (err.response.status === 418) {\n\t\t\t\t\t\t\t\t\t\tthis.handleSuccess(err.response.data.message, this.paymentInfo.viewOnlineUrl);\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tthis.handleError(err.response.data.message);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tif (this.paymentInfo.invoiceAmount === 0) {\n\t\t\t\t\t\t\t\tthis.handleError(\n\t\t\t\t\t\t\t\t\t'This invoice does not currently require payment',\n\t\t\t\t\t\t\t\t\tthis.paymentInfo.returnUrl,\n\t\t\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!this.paymentIntent &&\n\t\t\t\t\t\t\t\tthis.paymentInfo.cardPaymentsEnabled &&\n\t\t\t\t\t\t\t\tthis.paymentInfo.paymentMethods.length === 0 &&\n\t\t\t\t\t\t\t\t!this.paymentInfo.achPaymentsEnabled &&\n\t\t\t\t\t\t\t\t!this.paymentInfo.payPalPaymentsEnabled\n\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\tthis.initiateStripeCheckout();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.isReady = true;\n\t\t\t\t\t\t\t\tif (this.paymentInfo.payPalPaymentsEnabled) {\n\t\t\t\t\t\t\t\t\tthis.$nextTick(() => this.initializePayPal());\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tif (err.response?.data.detail) {\n\t\t\t\t\t\t\twindow.location.href = err.response.data.detail;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.handleError('Error ', err.response?.data?.message, false);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\teditSavedPaymentMethods: function() {\n\t\t\t\treturn this.httpClient\n\t\t\t\t\t.get('/api/docs/invoice/managePaymentMethods', {\n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\ttoken: this.token,\n\t\t\t\t\t\t\tredirectUri: location.href,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tdocument.location.href = res.data;\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => this.handleError(err.response.data.message));\n\t\t\t},\n\n\t\t\tinitiateStripeCheckout: function() {\n\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\tthis.getStripeCheckoutByToken().then((res) => {\n\t\t\t\t\tthis.$store.commit('stopLoading');\n\t\t\t\t\tlet stripe = window.Stripe(this.$store.state.stripeKey, {\n\t\t\t\t\t\tstripeAccount: res.data.stripeAccountId,\n\t\t\t\t\t});\n\n\t\t\t\t\tstripe.redirectToCheckout({\n\t\t\t\t\t\tsessionId: res.data.checkoutSessionId,\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tinitializePayPal: function() {\n\t\t\t\tlet clientId, attributionId;\n\t\t\t\tif (this.paypalConnection.version === 'STANDARD') {\n\t\t\t\t\tconsole.log('Standard connection detected. ' + this.paypalConnection.clientId);\n\t\t\t\t\tclientId = this.paypalConnection.clientId;\n\t\t\t\t\tattributionId = null;\n\t\t\t\t} else {\n\t\t\t\t\tconsole.log('Partner connection detected. ' + this.$store.state.payPalClientId);\n\t\t\t\t\tclientId = this.$store.state.payPalClientId;\n\t\t\t\t\tattributionId = 'StruxtureTechnologiesInc_SP_PPCP';\n\t\t\t\t}\n\n\t\t\t\tloadScript({\n\t\t\t\t\t'client-id': clientId,\n\t\t\t\t\tcurrency: this.paymentInfo.currency,\n\t\t\t\t\t'merchant-id': [this.paymentInfo.payPalConnection.merchantId],\n\t\t\t\t\t'data-partner-attribution-id': attributionId,\n\t\t\t\t}).then((paypal) => {\n\t\t\t\t\tpaypal\n\t\t\t\t\t\t.Buttons({\n\t\t\t\t\t\t\tcreateOrder: (data, actions) => {\n\t\t\t\t\t\t\t\treturn actions.order.create({\n\t\t\t\t\t\t\t\t\tpurchase_units: [\n\t\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\t\tcustom_id: this.paymentInfo.invoiceId,\n\t\t\t\t\t\t\t\t\t\t\tinvoice_id: this.paymentInfo.invoiceNumberFormatted,\n\t\t\t\t\t\t\t\t\t\t\tamount: {\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: this.paymentInfo.invoiceAmount,\n\t\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t],\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\tonApprove: (data, actions) => {\n\t\t\t\t\t\t\t\treturn actions.order.capture().then((orderData) => {\n\t\t\t\t\t\t\t\t\tlet status = orderData.status;\n\t\t\t\t\t\t\t\t\tlet id = orderData.id;\n\n\t\t\t\t\t\t\t\t\tif (status === 'COMPLETED') {\n\t\t\t\t\t\t\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\t\t\t\t\t\t\tlet href = orderData.links.filter((l) => l.rel === 'self')[0].href;\n\t\t\t\t\t\t\t\t\t\tthis.capturePayPalPayment(href)\n\t\t\t\t\t\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.$store.commit('stopLoading');\n\t\t\t\t\t\t\t\t\t\t\t\twindow.location.href = res.data;\n\t\t\t\t\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\t\t\t\t\t\t\tthis.$store.commit('stopLoading');\n\t\t\t\t\t\t\t\t\t\t\t\tthis.handleError(err.response.data.message, this.paymentInfo.returnUrl);\n\t\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tthis.handleError(\n\t\t\t\t\t\t\t\t\t\t\tid + ':' + this.$t('error.order-not-complete') + status,\n\t\t\t\t\t\t\t\t\t\t\tthis.paymentInfo.returnUrl\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t},\n\n\t\t\t\t\t\t\tonError: (err) => {\n\t\t\t\t\t\t\t\tthis.handleError(err.message);\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.render('#paypal-button-container')\n\t\t\t\t\t\t.catch((error) => {\n\t\t\t\t\t\t\tconsole.error('failed to render the PayPal Buttons', error);\n\t\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tgetPaymentMethods: function() {\n\t\t\t\treturn this.httpClient\n\t\t\t\t\t.get('/api/docs/invoice/paymentInfo', {\n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\ttoken: this.token,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t\t\t.catch((error) => Promise.reject(error));\n\t\t\t},\n\n\t\t\tfinalizePaymentIntent: function() {\n\t\t\t\treturn this.httpClient\n\t\t\t\t\t.post('/api/docs/invoice/payment/intent', null, {\n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\ttoken: this.token,\n\t\t\t\t\t\t\tpaymentIntent: this.paymentIntent,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t\t\t.catch((error) => Promise.reject(error));\n\t\t\t},\n\n\t\t\tcapturePayPalPayment: function(href) {\n\t\t\t\treturn this.httpClient\n\t\t\t\t\t.post('/api/docs/invoice/payPalCapture', null, {\n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\ttoken: this.token,\n\t\t\t\t\t\t\thref: href,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t\t\t.catch((error) => Promise.reject(error));\n\t\t\t},\n\n\t\t\tgetStripeCheckoutByToken: function() {\n\t\t\t\treturn this.httpClient\n\t\t\t\t\t.get('/api/docs/invoice/payment', {\n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\ttoken: this.token,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t\t\t.catch((error) => Promise.reject(error));\n\t\t\t},\n\n\t\t\tinitializeACHLink: function() {\n\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\treturn this.httpClient\n\t\t\t\t\t.post('/api/docs/invoice/bankAccounts/session', null, {\n\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\ttoken: this.token,\n\t\t\t\t\t\t\tredirectUri: window.location.href,\n\t\t\t\t\t\t},\n\t\t\t\t\t})\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\twindow.location.href = res.data.linkUri;\n\t\t\t\t\t})\n\t\t\t\t\t.catch((error) => console.log(error))\n\t\t\t\t\t.finally(() => this.$store.commit('stopLoading'));\n\t\t\t},\n\n\t\t\tconfirmPayment(account) {\n\t\t\t\tconsole.log(this.$t('invoices.payment.confirm'));\n\n\t\t\t\tlet prompt;\n\t\t\t\tlet total = 0;\n\n\t\t\t\tif (this.paymentInfo.stripeCardFeeRate && account.type === 'card') {\n\t\t\t\t\tlet feeLabel = (this.paymentInfo.stripeCardFeeRate * 100).toFixed(2) + '%';\n\t\t\t\t\tlet feeAmount = this.paymentInfo.stripeCardFeeAmount;\n\t\t\t\t\ttotal = this.paymentInfo.invoiceAmount + feeAmount;\n\t\t\t\t\tprompt = `Please confirm your payment of ${this.$formatters.dollars(\n\t\t\t\t\t\ttotal,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tthis.paymentInfo.currency\n\t\t\t\t\t)}, which includes a ${this.$formatters.dollars(\n\t\t\t\t\t\tfeeAmount,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tthis.paymentInfo.currency\n\t\t\t\t\t)} (${feeLabel}) processing fee, from account ending in ${account.last4}.`;\n\t\t\t\t} else {\n\t\t\t\t\ttotal = this.paymentInfo.invoiceAmount;\n\t\t\t\t\tprompt = `Please confirm your payment of ${this.$formatters.dollars(\n\t\t\t\t\t\ttotal,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\ttrue,\n\t\t\t\t\t\tthis.paymentInfo.currency\n\t\t\t\t\t)} from account ending in ${account.last4}.`;\n\t\t\t\t}\n\n\t\t\t\tlet binding = {\n\t\t\t\t\tseverity: 'primary',\n\t\t\t\t\theadingText: this.$t('invoices.payment.confirm'),\n\t\t\t\t\tbodyText: prompt,\n\t\t\t\t};\n\n\t\t\t\tthis.$store.state.globalModalController.openModal(ConfirmModal, binding, false, false).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\t\t\tthis.httpClient\n\t\t\t\t\t\t\t.post('/api/docs/invoice/payment', null, {\n\t\t\t\t\t\t\t\tparams: {\n\t\t\t\t\t\t\t\t\ttoken: this.token,\n\t\t\t\t\t\t\t\t\tamount: total,\n\t\t\t\t\t\t\t\t\tpaymentMethodId: account.id,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\t\t\twindow.location.href = res.data;\n\t\t\t\t\t\t\t\t}, 2000);\n\t\t\t\t\t\t\t})\n\t\t\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\t\t\tthis.$store.commit('stopLoading');\n\t\t\t\t\t\t\t\tif (err.response.status === 412) {\n\t\t\t\t\t\t\t\t\tthis.handle3DSRedirect(err.response.data.message);\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\tthis.handleError(err.response.data.message);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\thandle3DSRedirect: function(url) {\n\t\t\t\twindow.location.href = url;\n\t\t\t},\n\n\t\t\thandleError: function(message, returnUrl, doClose = false) {\n\t\t\t\tlet binding = {\n\t\t\t\t\theadingText: this.$t('error.connecting-account'),\n\t\t\t\t\tbodyText: message,\n\t\t\t\t\thideNo: true,\n\t\t\t\t\tyesText: this.$t('global.okay'),\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController.openModal(ConfirmModal, binding, true, false).then(() => {\n\t\t\t\t\tif (returnUrl) {\n\t\t\t\t\t\twindow.location.href = returnUrl;\n\t\t\t\t\t} else if (doClose) {\n\t\t\t\t\t\twindow.self.close();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\thandleSuccess: function(message, returnUrl) {\n\t\t\t\tlet binding = {\n\t\t\t\t\ticon: 'done',\n\t\t\t\t\theadingText: 'Success',\n\t\t\t\t\tbodyText: message,\n\t\t\t\t\thideNo: true,\n\t\t\t\t\tyesText: this.$t('global.okay'),\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController.openModal(ConfirmModal, binding, true, false).then(() => {\n\t\t\t\t\twindow.location.href = returnUrl;\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tcolumns: function() {\n\t\t\t\tlet count = 0;\n\n\t\t\t\tif (this.achEnabled || this.paymentMethods.length) {\n\t\t\t\t\tcount++;\n\t\t\t\t}\n\n\t\t\t\tif (this.cardEnabled) {\n\t\t\t\t\tcount++;\n\t\t\t\t}\n\n\t\t\t\tif (this.payPalEnabled) {\n\t\t\t\t\tcount++;\n\t\t\t\t}\n\n\t\t\t\treturn 12 / count;\n\t\t\t},\n\n\t\t\tsmallScreen: function() {\n\t\t\t\treturn this.$vuetify.breakpoint.mdAndDown;\n\t\t\t},\n\n\t\t\tachEnabled: function() {\n\t\t\t\tif (this.paymentInfo && this.paymentInfo.achPaymentsEnabled) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcardEnabled: function() {\n\t\t\t\tif (this.paymentInfo && this.paymentInfo.cardPaymentsEnabled) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tpayPalEnabled: function() {\n\t\t\t\tif (this.paymentInfo && this.paymentInfo.payPalPaymentsEnabled) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tpaymentMethods: function() {\n\t\t\t\tif (this.paymentInfo.paymentMethods) {\n\t\t\t\t\treturn this.paymentInfo.paymentMethods.filter((a) => a.status === 'verified');\n\t\t\t\t} else {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tlogo: function() {\n\t\t\t\tif (this.paymentInfo) {\n\t\t\t\t\treturn this.paymentInfo.accountLogo;\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.payment-container {\n\t\tpadding: 4px 12px;\n\t\tborder-radius: 4px;\n\t\tborder: 1px solid var(--v-white-base);\n\t\t//&:hover {\n\t\t//\tborder: 1px solid var(--v-gray_30-base);\n\t\t//\tbackground-color: var(--v-gray_10-base);\n\t\t//}\n\t}\n\n\t.border {\n\t\tborder: 1px solid var(--v-gray_50-base);\n\t\tpadding: 12px;\n    border-radius: 4px;\n\n    &:hover {\n      box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);\n    }\n\t}\n\n\t.border-right {\n\t\tborder-right: 1px solid var(--v-gray_50-base);\n\t}\n\n\t.border-bottom {\n\t\tborder-bottom: 1px solid var(--v-gray_50-base);\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Payment.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Payment.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Payment.vue?vue&type=template&id=00daf5d6&scoped=true\"\nimport script from \"./Payment.vue?vue&type=script&lang=js\"\nexport * from \"./Payment.vue?vue&type=script&lang=js\"\nimport style0 from \"./Payment.vue?vue&type=style&index=0&id=00daf5d6&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"00daf5d6\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VIcon,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"show-scrollbar\",staticStyle:{\"background-color\":\"var(--v-gray_20-base)\",\"max-height\":\"100vh\"}},[_c('div',{staticClass:\"row-format centered\"},[(_vm.rendererType === 'InvoiceRenderer')?_c('div',{staticStyle:{\"max-width\":\"155px\"}},[_c('language-switcher')],1):_vm._e(),_c('v-btn',{attrs:{\"elevation\":\"0\",\"text\":\"\",\"color\":\"gray_70\"},on:{\"click\":_vm.downloadPdf}},[_c('v-icon',{staticClass:\"mr-2\",attrs:{\"color\":\"primary\"}},[_vm._v(\"$download\")]),_vm._v(\" Download PDF\")],1)],1),(_vm.invoice && _vm.account)?_c(_vm.rendererType,{key:_vm.refreshKey,tag:\"component\",staticStyle:{\"max-height\":\"calc(100vh - 32px)\",\"height\":\"calc(100vh - 32px)\"},attrs:{\"invoice\":_vm.invoice,\"scheduled-payments\":_vm.invoice.scheduledPayments,\"account\":_vm.account,\"edit-mode\":false,\"attachment-service\":_vm.invoiceService,\"invoice-service\":_vm.invoiceService}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import HttpClient from '@/services/HttpClient';\n\nexport default class InvoiceService {\n\n\tconstructor(token,podUrl) {\n\t\tthis.token = token;\n\t\tthis.podUrl = podUrl;\n\t\tthis.httpClient = new HttpClient(podUrl, false);\n\t}\n\n\tgetSignedUrl(fileName) {\n\t\treturn this.httpClient\n\t\t\t.get(`/api/docs/invoice/files`, {\n\t\t\t\tparams: {\n\t\t\t\t\ttoken: this.token,\n\t\t\t\t\tfileName: fileName\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tdownloadInvoice(){\n\t\treturn this.httpClient\n\t\t\t.get(`/api/docs/invoice/download`, {\n\t\t\t\tparams: {\n\t\t\t\t\ttoken: this.token,\n\t\t\t\t},\n\t\t\t\tresponseType: 'blob',\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetInvoiceItem(clientId, invoiceId, invoiceItemId) {\n\t\treturn this.httpClient\n\t\t\t.get(`/api/docs/invoice/item/${invoiceItemId}`, {\n\t\t\t\tparams: {\n\t\t\t\t\ttoken: this.token\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.children.length)?_c('v-menu',{attrs:{\"offset-y\":\"\",\"content-class\":\"locale-workspace-sub-menu\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"settings-link row-format align-center pointer\"},on),[_c('v-icon',{attrs:{\"size\":\"16\"}},[_vm._v(_vm._s(_vm.icon))]),_c('div',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.label))])],1)]}}],null,false,3130083711)},[_c('div',{staticClass:\"column-format\"},_vm._l((_vm.children),function(child){return _c('locale-switcher',{key:child.code,attrs:{\"label\":child.name,\"route\":child.route,\"select-value\":child.code},on:{\"selected\":function($event){return _vm.$emit('selected',$event)}}})}),1)]):_c('div',{staticClass:\"settings-link row-format align-center pointer\",on:{\"click\":_vm.handleClick}},[_c('v-icon',{attrs:{\"size\":\"16\"}},[_vm._v(_vm._s(_vm.icon))]),_c('div',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.label))])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n    <v-menu offset-y content-class=\"locale-workspace-sub-menu\" v-if=\"children.length\">\n      <template v-slot:activator=\"{ on }\">\n        <div class=\"settings-link row-format align-center pointer\" v-on=\"on\">\n          <v-icon size=\"16\" >{{icon}}</v-icon>\n          <div class=\"ml-1\">{{label}}</div>\n        </div>\n      </template>\n      <div class=\"column-format\">\n        <locale-switcher v-for=\"child in children\" :key=\"child.code\" :label=\"child.name\" :route=\"child.route\" :select-value=\"child.code\" @selected=\"$emit('selected',$event)\"></locale-switcher>\n      </div>\n    </v-menu>\n    <div class=\"settings-link row-format align-center pointer\" v-else @click=\"handleClick\">\n      <v-icon size=\"16\">{{icon}}</v-icon>\n      <div class=\"ml-1\">{{label}}</div>\n    </div>\n  </div>\n\n</template>\n\n<script>\nexport default {\n  name: \"LocaleSwitcher\",\n\n  props: {\n    pro: {type: Boolean, required: false, default: false},\n    icon: { type: String, required: false},\n    label: { type: String, required: false },\n    route: { type: String, required: false },\n    selectValue: {type: String, required: false},\n    children: { type: Array, required: false, default: () => []},\n  },\n\n  components: {},\n\n  data: function () {\n    return {}\n  },\n\n  mounted() {\n  },\n\n  beforeDestroy() {\n  },\n\n  methods: {\n    handleClick: function(){\n      if(this.route){\n        this.$router.push(this.route);\n      }\n      if(this.selectValue){\n        this.$emit('selected',this.selectValue);\n      }\n    },\n  },\n\n  computed: {},\n\n}\n</script>\n\n<style lang=\"scss\">\n.locale-workspace-sub-menu {\n  height: 280px;\n  filter: drop-shadow(0px 4px 16px rgba(0, 0, 0, 0.2));\n  box-shadow: none !important;\n  border-radius: 8px !important;\n  background-color: var(--v-white-base);\n  padding: 4px 12px;\n}\n</style>\n\n<style scoped lang=\"scss\">\n.settings-link {\n  font-weight: 500;\n  width: 100%;\n  font-size: 14px;\n  line-height: 14px;\n\n  padding: 8px 0px;\n  color: var(--v-primary-base);\n\n  &:hover {\n    color: var(--v-primary-base);\n  }\n}\n</style>\n\n\n\n\n\n\n<!--<template>-->\n<!--  <v-select class=\"locale-switcher text-uppercase ml-2\" style=\"width:160px\" v-model=\"$i18n.locale\" @change=\"switchLocale()\"-->\n<!--    :items=\"countries.getCountriesTranslate()\" hide-details item-value=\"code\" item-text=\"code\">-->\n<!--      <template v-slot:prepend-inner>-->\n<!--        <div class=\"row-format centered\" style=\"padding-right:8px\">-->\n<!--          <v-icon color=\"primary\">language</v-icon>-->\n<!--        </div>-->\n<!--      </template>-->\n<!--      <template v-slot:item=\"data\">-->\n<!--        {{ data.item.name }}-->\n<!--      </template>-->\n<!--  </v-select>-->\n<!--</template>-->\n\n<!--<script>-->\n<!--import Countries from '@/modules/utils/Countries.js'-->\n<!--export default {-->\n<!--  data() {-->\n<!--    return {-->\n<!--      countries: new Countries(),-->\n<!--    }-->\n<!--  },-->\n\n<!--  methods: {-->\n<!--    switchLocale() {-->\n<!--      localStorage.setItem('lang', this.$i18n.locale);-->\n<!--      window.location.reload()-->\n<!--    },-->\n<!--  },-->\n<!--};-->\n<!--</script>-->\n\n<!--<style lang=\"scss\">-->\n<!--.locale-switcher.v-text-field>.v-input__control>.v-input__slot:before {-->\n<!--  border-style: none;-->\n<!--}-->\n\n<!--.locale-switcher.v-text-field>.v-input__control>.v-input__slot:after {-->\n<!--  border-style: none;-->\n<!--}-->\n\n<!--.locale-switcher.v-text-field {-->\n<!--  padding: 5px 10px 5px 8px;-->\n<!--}-->\n\n<!--.locale-switcher.v-select:hover {-->\n<!--  background-color: var(&#45;&#45;v-blue_5-base);-->\n<!--  border-radius: 4px;-->\n<!--}-->\n<!--</style>-->\n\n\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSwitcher.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSwitcher.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LanguageSwitcher.vue?vue&type=template&id=21f160a6&scoped=true\"\nimport script from \"./LanguageSwitcher.vue?vue&type=script&lang=js\"\nexport * from \"./LanguageSwitcher.vue?vue&type=script&lang=js\"\nimport style0 from \"./LanguageSwitcher.vue?vue&type=style&index=0&id=21f160a6&prod&lang=scss\"\nimport style1 from \"./LanguageSwitcher.vue?vue&type=style&index=1&id=21f160a6&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"21f160a6\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VIcon,VMenu})\n","<template>\n\t<div class=\"show-scrollbar\" style=\"background-color:var(--v-gray_20-base); max-height: 100vh\">\n\t\t<div class=\"row-format centered\">\n\t\t\t<div style=\"max-width: 155px\" v-if=\"rendererType === 'InvoiceRenderer'\"><language-switcher></language-switcher></div>\n\t\t\t<v-btn elevation=\"0\" text color=\"gray_70\" @click=\"downloadPdf\"\n\t\t\t\t><v-icon class=\"mr-2\" color=\"primary\">$download</v-icon> Download PDF</v-btn\n\t\t\t>\n\t\t</div>\n\n\t\t<component\n\t\t\tstyle=\"max-height: calc(100vh - 32px); height: calc(100vh - 32px)\"\n\t\t\t:is=\"rendererType\"\n\t\t\tv-if=\"invoice && account\"\n\t\t\t:invoice=\"invoice\"\n      :scheduled-payments=\"invoice.scheduledPayments\"\n\t\t\t:account=\"account\"\n\t\t\t:edit-mode=\"false\"\n\t\t\t:key=\"refreshKey\"\n\t\t\t:attachment-service=\"invoiceService\"\n\t\t\t:invoice-service=\"invoiceService\"\n\t\t></component>\n\t</div>\n</template>\n\n<script>\n\timport qs from 'qs';\n\timport HttpClient from '@/services/HttpClient';\n\timport InvoiceRenderer from '@/modules/invoices/InvoiceRenderer/InvoiceRenderer';\n\timport InvoiceService from '@/modules/invoices/viewer/InvoiceService';\n\timport LanguageSwitcher from '@/components/LanguageSwitcher';\n\timport InvoiceRendererV2 from '@/modules/invoices/invoiceRendererV2/InvoiceRendererV2';\n\n\texport default {\n\t\tname: 'InvoiceViewer',\n\n\t\tprops: ['id'],\n\n\t\tcomponents: { InvoiceRenderer, InvoiceRendererV2, LanguageSwitcher },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\trefreshKey: 1,\n\t\t\t\tinvoice: null,\n\t\t\t\taccount: null,\n\t\t\t\tinvoiceService: null,\n\t\t\t\ttoken: null,\n\t\t\t\thttpClient: null,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.$vuetify.theme.dark = false;\n\t\t\tsetTimeout(() => (this.$vuetify.theme.dark = false), 50);\n\t\t\tlet podUrl;\n\n\t\t\tif (this.id) {\n        podUrl = this.$store.getters.getPodUrl;\n        this.httpClient = new HttpClient(this.$store.state.domain.podUrl, false);\n        this.token = this.id;\n\t\t\t} else {\n\t\t\t\tlet queryString = qs.parse(self.location.search.slice(1));\n\t\t\t\tlet request = JSON.parse(atob(queryString.token.split('.')[0]));\n\n\t\t\t\tpodUrl = request.podUrl;\n\n\t\t\t\tthis.httpClient = new HttpClient(podUrl, false);\n\t\t\t\tthis.token = queryString.token;\n\t\t\t}\n\n\t\t\tthis.invoiceService = new InvoiceService(this.token, podUrl);\n\n\t\t\tthis.httpClient\n\t\t\t\t.get('/api/docs/invoice', {\n\t\t\t\t\tparams: {\n\t\t\t\t\t\ttoken: this.token,\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t\t.then((res) => {\n\t\t\t\t\tthis.invoice = res.data.invoice;\n\t\t\t\t\tthis.account = res.data.account;\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n          console.log(err);\n\t\t\t\t\tthis.$router.push('/404');\n\t\t\t\t});\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tdownloadPdf: function() {\n\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\tthis.invoiceService\n\t\t\t\t\t.downloadInvoice()\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tlet fileURL = window.URL.createObjectURL(new Blob([res.data]));\n\n\t\t\t\t\t\tlet fileLink = document.createElement('a');\n\t\t\t\t\t\tfileLink.href = fileURL;\n\t\t\t\t\t\tfileLink.setAttribute('download', 'Invoice-' + this.invoice.invoiceNumberFormatted + '.pdf');\n\t\t\t\t\t\tdocument.body.appendChild(fileLink);\n\t\t\t\t\t\tfileLink.click();\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => this.$store.commit('stopLoading'));\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\trendererType: function() {\n\t\t\t\treturn this.invoice && this.invoice.invoiceTemplate ? 'InvoiceRendererV2' : 'InvoiceRenderer';\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceViewer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceViewer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoiceViewer.vue?vue&type=template&id=5766656a&scoped=true\"\nimport script from \"./InvoiceViewer.vue?vue&type=script&lang=js\"\nexport * from \"./InvoiceViewer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5766656a\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"fill-height column-format\"},[_c('h-header',{scopedSlots:_vm._u([{key:\"filter\",fn:function(){return [_c('div',{staticClass:\"row-format\",staticStyle:{\"flex-wrap\":\"wrap\"}},[(_vm.view === 'list')?_c('v-text-field',{staticStyle:{\"font-size\":\"14px\",\"width\":\"200px\"},attrs:{\"dense\":\"\",\"hide-details\":\"\",\"prepend-icon\":\"$filter\",\"placeholder\":_vm.$t('global.filter'),\"clearable\":\"\"},model:{value:(_vm.filter),callback:function ($$v) {_vm.filter=$$v},expression:\"filter\"}}):_vm._e(),(_vm.view === 'list' || _vm.view === 'reports')?_c('v-select',{staticClass:\"ml-3\",staticStyle:{\"width\":\"200px\"},attrs:{\"clearable\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"items\":_vm.dateOptions,\"placeholder\":_vm.$t('global.date')},model:{value:(_vm.dateFilter),callback:function ($$v) {_vm.dateFilter=$$v},expression:\"dateFilter\"}}):_vm._e()],1)]},proxy:true}])}),_c('div',{staticClass:\"show-scrollbar\",staticStyle:{\"height\":\"var(--vh)\"}},[_c('invoice-table',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.view === 'list'),expression:\"view === 'list'\"}],ref:\"InvoiceTable\",attrs:{\"invoices\":_vm.dateFilteredInvoices,\"filter\":_vm.filter},on:{\"refresh\":_vm.getInvoices}}),_c('invoice-charts',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.view === 'reports' && _vm.$store.getters.getFeatures.summaryFinancialsEnabled),expression:\"view === 'reports' && $store.getters.getFeatures.summaryFinancialsEnabled\"}],ref:\"InvoiceChart\",attrs:{\"invoices\":_vm.dateFilteredInvoices,\"projects\":_vm.projects,\"deposit-account\":_vm.depositAccount}}),_c('payment-methods',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.view === 'accounts'),expression:\"view === 'accounts'\"}],attrs:{\"ach-enabled\":_vm.achEnabled}}),(_vm.view === 'subscriptions')?_c('subscription-list'):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"header-wrapper\"},[_c('div',{class:'list-view-header' + (_vm.borderBottom ? ' border-bottom' : '')},[_c('div',{staticClass:\"right-side\"},[_c('div',{staticClass:\"filter\"},[_vm._t(\"filter\")],2),(_vm.addNewLabel || _vm.showMenu)?_c('div',{staticClass:\"add-new\"},[(_vm.showMenu)?[_c('v-menu',{attrs:{\"nudge-bottom\":0,\"elevation\":0,\"content-class\":\"add-new-menu\",\"bottom\":\"\",\"left\":\"\",\"rounded\":\"\",\"offset-overflow\":\"\",\"offset-y\":\"\",\"transition\":\"slide-y-transition\",\"disabled\":_vm.newButtonDisabled},scopedSlots:_vm._u([{key:\"activator\",fn:function(menu){return [_c('v-btn',_vm._g(_vm._b({staticClass:\"primary-action\",staticStyle:{\"min-width\":\"120px\"},attrs:{\"small\":\"\",\"elevation\":\"0\"}},'v-btn',menu.attrs,false),menu.on),[_c('div',[_vm._v(_vm._s(_vm.addNewLabel))]),_c('v-icon',{attrs:{\"size\":16,\"right\":\"\"}},[_vm._v(\"$arrowDown\")])],1)]}}],null,false,764805868),model:{value:(_vm.showMenuModel),callback:function ($$v) {_vm.showMenuModel=$$v},expression:\"showMenuModel\"}},[_c('div',{staticClass:\"add-new-dropdown\"},_vm._l((_vm.addNewItems),function(item,index){return _c('div',{key:index,staticClass:\"add-new-item nowrap\",on:{\"click\":function($event){return _vm.handleAddNewItem(item)}}},[_vm._v(\" \"+_vm._s(item.label)+\" \")])}),0)])]:_c('v-btn',{staticClass:\"add-new-button primary-action\",staticStyle:{\"min-width\":\"120px\"},attrs:{\"small\":\"\",\"elevation\":\"0\",\"disabled\":_vm.newButtonDisabled},on:{\"click\":function($event){return _vm.handleAddNew()}}},[_vm._v(\" \"+_vm._s(_vm.addNewLabel)+\" \")])],2):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"header-wrapper\">\n\t\t<div :class=\"'list-view-header' + (borderBottom ? ' border-bottom' : '')\">\n\t\t\t<div class=\"right-side\">\n\t\t\t\t<div class=\"filter\"><slot name=\"filter\"></slot></div>\n\t\t\t\t<div class=\"add-new\" v-if=\"addNewLabel || showMenu\">\n\t\t\t\t\t<template v-if=\"showMenu\">\n\t\t\t\t\t\t<v-menu\n\t\t\t\t\t\t\t:nudge-bottom=\"0\"\n\t\t\t\t\t\t\t:elevation=\"0\"\n\t\t\t\t\t\t\tcontent-class=\"add-new-menu\"\n\t\t\t\t\t\t\tbottom\n\t\t\t\t\t\t\tleft\n\t\t\t\t\t\t\trounded\n\t\t\t\t\t\t\toffset-overflow\n\t\t\t\t\t\t\toffset-y\n\t\t\t\t\t\t\tv-model=\"showMenuModel\"\n\t\t\t\t\t\t\ttransition=\"slide-y-transition\"\n\t\t\t\t\t\t\t:disabled=\"newButtonDisabled\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<template v-slot:activator=\"menu\">\n\t\t\t\t\t\t\t\t<v-btn\n\t\t\t\t\t\t\t\t\tclass=\"primary-action\"\n\t\t\t\t\t\t\t\t\tstyle=\"min-width: 120px\"\n\t\t\t\t\t\t\t\t\tsmall\n\t\t\t\t\t\t\t\t\televation=\"0\"\n\t\t\t\t\t\t\t\t\tv-bind=\"menu.attrs\"\n\t\t\t\t\t\t\t\t\tv-on=\"menu.on\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div>{{ addNewLabel }}</div>\n\t\t\t\t\t\t\t\t\t<v-icon :size=\"16\" right>$arrowDown</v-icon>\n\t\t\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<div class=\"add-new-dropdown\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tv-for=\"(item, index) in addNewItems\"\n\t\t\t\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\t\t\t\t@click=\"handleAddNewItem(item)\"\n\t\t\t\t\t\t\t\t\tclass=\"add-new-item nowrap\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{{ item.label }}\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</v-menu>\n\t\t\t\t\t</template>\n\t\t\t\t\t<v-btn\n\t\t\t\t\t\tv-else\n\t\t\t\t\t\tclass=\"add-new-button primary-action\"\n\t\t\t\t\t\tsmall\n\t\t\t\t\t\televation=\"0\"\n\t\t\t\t\t\t@click=\"handleAddNew()\"\n\t\t\t\t\t\t:disabled=\"newButtonDisabled\"\n\t\t\t\t\t\tstyle=\"min-width: 120px\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ addNewLabel }}\n\t\t\t\t\t</v-btn>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport { isEmpty } from 'lodash';\n\n\texport default {\n\t\tname: 'HHeader',\n\t\tprops: {\n\t\t\taddNewLabel: { type: String, required: false },\n\t\t\taddNewItems: { type: Array, required: false },\n\t\t\tpages: { type: Array, required: false, default: () => [] },\n\t\t\tcurrentPage: { type: String, required: false, default: '' },\n\t\t\tborderBottom: { type: Boolean, required: false, default: true },\n\t\t\tnewButtonDisabled: { type: Boolean, required: false, default: false },\n\t\t},\n\t\temits: ['add-new', 'set-page'],\n\t\tcomponents: {},\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tshowMenuModel: false,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\thandleAddNewItem(item) {\n\t\t\t\tconsole.log(item);\n\t\t\t\tthis.$emit('add-new', item.value);\n\t\t\t},\n\t\t\thandleAddNew() {\n\t\t\t\tthis.$emit('add-new', true);\n\t\t\t},\n\t\t\thandlePageClick(page) {\n\t\t\t\tthis.$emit('set-page', page.value);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tshowMenu() {\n\t\t\t\treturn !isEmpty(this.addNewItems);\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t@import '~vuetify/src/styles/settings/_variables';\n\n\t.header-wrapper {\n\t\tposition: sticky;\n\t\tbackground-color: var(--v-white-base);\n\t\twidth: 100%;\n\t\ttop: 0;\n\t\tright: 0;\n\t\tz-index: 1;\n    border-radius: 16px 16px 0px 0px;\n    padding: 0 12px 0;\n\t}\n\t.list-view-header {\n\t\t//border: 1px solid green;\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\tjustify-content: space-between;\n\t\tflex-wrap: wrap;\n\t\tmin-height: 55px;\n\t\t&.border-bottom {\n\t\t\tborder-bottom: 1px solid var(--v-gray_50-base);\n\t\t}\n\t\t.left-side {\n\t\t\t//display: flex;\n\t\t\t//align-items: flex-start;\n\t\t\t//justify-content: flex-start;\n\t\t\t//flex-wrap: wrap;\n\t\t\tflex: 0 1 auto;\n\t\t\th2 {\n\t\t\t\tmargin: 14px 28px 0 12px;\n\t\t\t}\n\t\t}\n\t\t.page-tabs {\n\t\t\tfont-size: 14px;\n\t\t\tmargin-top: 5px;\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: flex-start;\n\t\t\talign-items: center;\n\t\t\tflex: 1 0 auto;\n\t\t\t@media #{map-get($display-breakpoints, 'sm-and-down')} {\n\t\t\t\tflex: 0 0 100%;\n\t\t\t\torder: 3;\n\t\t\t}\n\t\t\t.page-tab {\n\t\t\t\t&:first-child {\n\t\t\t\t\tmargin: 0 0 0 12px;\n\t\t\t\t\t//margin: 0;\n\t\t\t\t}\n\t\t\t\t&:not(:first-child) {\n\t\t\t\t\tmargin: 0 0 0 28px;\n\t\t\t\t}\n\t\t\t\tcursor: pointer;\n\t\t\t\tpadding: 13px 0 16px;\n\t\t\t\tcolor: var(--v-gray_80-base);\n\t\t\t\tposition: relative;\n\n\t\t\t\t&.current-page {\n\t\t\t\t\tcursor: default !important;\n\t\t\t\t\tcolor: var(--v-primary-base) !important;\n\t\t\t\t\tposition: relative;\n\t\t\t\t\t&:after {\n\t\t\t\t\t\tcontent: '';\n\t\t\t\t\t\tdisplay: block;\n\t\t\t\t\t\twidth: 100%;\n\t\t\t\t\t\theight: 4px;\n\t\t\t\t\t\tborder-radius: 2px 2px 0 0;\n\t\t\t\t\t\tbackground: var(--v-primary-base) !important;\n\t\t\t\t\t\tposition: absolute;\n\t\t\t\t\t\tbottom: 0;\n\t\t\t\t\t\tleft: 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t&:hover {\n\t\t\t\t\tcolor: var(--v-black-base);\n\t\t\t\t}\n\n\t\t\t\t&:hover::after {\n\t\t\t\t\tcontent: '';\n\t\t\t\t\tdisplay: block;\n\t\t\t\t\twidth: 100%;\n\t\t\t\t\theight: 4px;\n\t\t\t\t\tborder-radius: 2px 2px 0 0;\n\t\t\t\t\tbackground: var(--v-gray_50-base);\n\t\t\t\t\tposition: absolute;\n\t\t\t\t\tbottom: 0;\n\t\t\t\t\tleft: 0;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\t.right-side {\n\t\t\tdisplay: flex;\n\t\t\talign-items: flex-start;\n\t\t\tjustify-content: flex-end;\n\t\t\t//flex-wrap: wrap;\n\t\t\t.filter,\n\t\t\t.add-new {\n\t\t\t\tmargin-top: 12px;\n\t\t\t}\n\t\t\t.add-new {\n\t\t\t\tmargin-left: 12px;\n\t\t\t}\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HHeader.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HHeader.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./HHeader.vue?vue&type=template&id=9eee61aa&scoped=true\"\nimport script from \"./HHeader.vue?vue&type=script&lang=js\"\nexport * from \"./HHeader.vue?vue&type=script&lang=js\"\nimport style0 from \"./HHeader.vue?vue&type=style&index=0&id=9eee61aa&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"9eee61aa\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBtn,VIcon,VMenu})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"ma-4\"},[_c('div',{staticClass:\"mt-4\"},[_c('v-data-table',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"headers\":_vm.headers,\"items\":_vm.filteredResults,\"sort-by\":\"dateSent\",\"sort-desc\":true,\"hide-default-footer\":true,\"disable-pagination\":true,\"mobile-breakpoint\":200},on:{\"click:row\":function($event){return _vm.openInvoice($event)}},scopedSlots:_vm._u([{key:\"item.dateSent\",fn:function({ item }){return [(item.dateSent)?_c('span',[_vm._v(_vm._s(_vm.DateTime.fromISO(item.dateSent).toFormat('DD')))]):_vm._e()]}},{key:\"item.dateDue\",fn:function({ item }){return [(item.dateDue)?_c('span',[_vm._v(_vm._s(_vm.DateTime.fromISO(item.dateDue).toFormat('DD')))]):_vm._e()]}},{key:\"item.invoiceNumberFormatted\",fn:function({ item }){return [_c('span',[_vm._v(_vm._s(item.invoiceNumberFormatted))])]}},{key:\"item.total\",fn:function({ item }){return [(item.total)?_c('span',[_vm._v(_vm._s(_vm.$formatters.dollars(item.total ? item.total : 0, true,true,item.currency)))]):_vm._e()]}},{key:\"item.status\",fn:function({ item }){return [_c('div',{staticClass:\"font-12\",domProps:{\"innerHTML\":_vm._s(_vm.getStatusHtml(item))}})]}},{key:\"item.id\",fn:function({ item }){return [(item.statusDetail.payable && item.payOnlineUrl && item.allowOnlinePayment)?_c('v-btn',{attrs:{\"elevation\":\"0\",\"color\":\"success\",\"small\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.payNow(item.payOnlineUrl)}}},[_c('span',{staticClass:\"font-12 brand-bold\"},[_vm._v(_vm._s(_vm.$t('invoices.pay-now')))])]):_vm._e()]}},{key:\"no-data\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('invoices.no-invoice-record'))+\" \")]},proxy:true}])})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"ma-4\">\n\t\t<div class=\"mt-4\">\n\t\t\t<v-data-table\n\t\t\t\t:headers=\"headers\"\n\t\t\t\t:items=\"filteredResults\"\n\t\t\t\tsort-by=\"dateSent\"\n\t\t\t\t:sort-desc=\"true\"\n\t\t\t\tstyle=\"cursor: pointer\"\n\t\t\t\t:hide-default-footer=\"true\"\n\t\t\t\t:disable-pagination=\"true\"\n        :mobile-breakpoint=\"200\"\n\t\t\t\t@click:row=\"openInvoice($event)\"\n\t\t\t>\n\t\t\t\t<template v-slot:item.dateSent=\"{ item }\">\n\t\t\t\t\t<span v-if=\"item.dateSent\">{{ DateTime.fromISO(item.dateSent).toFormat('DD') }}</span>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-slot:item.dateDue=\"{ item }\">\n\t\t\t\t\t<span v-if=\"item.dateDue\">{{ DateTime.fromISO(item.dateDue).toFormat('DD') }}</span>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-slot:item.invoiceNumberFormatted=\"{ item }\">\n\t\t\t\t\t<span>{{ item.invoiceNumberFormatted }}</span>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-slot:item.total=\"{ item }\">\n\t\t\t\t\t<span v-if=\"item.total\">{{ $formatters.dollars(item.total ? item.total : 0, true,true,item.currency) }}</span>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-slot:item.status=\"{ item }\">\n\t\t\t\t\t<div class=\"font-12\" v-html=\"getStatusHtml(item)\"></div>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-slot:item.id=\"{ item }\">\n          <v-btn\n\t\t\t\t\t\tv-if=\"item.statusDetail.payable && item.payOnlineUrl && item.allowOnlinePayment\"\n\t\t\t\t\t\televation=\"0\"\n\t\t\t\t\t\tcolor=\"success\"\n\t\t\t\t\t\tsmall\n\t\t\t\t\t\t@click.stop=\"payNow(item.payOnlineUrl)\"\n\t\t\t\t\t\t><span class=\"font-12 brand-bold\">{{ $t('invoices.pay-now') }}</span></v-btn\n\t\t\t\t\t>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-slot:no-data>\n\t\t\t\t\t{{ $t('invoices.no-invoice-record') }}\n\t\t\t\t</template>\n\t\t\t</v-data-table>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport { DateTime } from 'luxon';\n\timport InvoiceDetails from '@/modules/invoices/InvoiceDetails';\n\n\texport default {\n\t\tname: 'InvoiceTableAndChart',\n\t\tcomponents: {},\n\t\tprops: ['filter', 'invoices'],\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tDateTime: DateTime,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tmethods: {\n\t\t\topenInvoice: function(invoice) {\n\t\t\t\tlet binding = {\n\t\t\t\t\tinvoiceId: invoice.id,\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController\n\t\t\t\t\t.openModal(InvoiceDetails, binding, true, true)\n\t\t\t\t\t.then(() => this.$emit('refresh'));\n\t\t\t},\n\n\t\t\tpayNow: function(payOnlineUrl) {\n\t\t\t\twindow.open(payOnlineUrl, '_blank');\n\t\t\t},\n\n\t\t\tformatDate(date) {\n\t\t\t\treturn DateTime.fromISO(date).toFormat('MMM dd, YYYY');\n\t\t\t},\n\n\t\t\tgetStatusHtml(invoice) {\n\t\t\t\treturn `<div class=\"invoice-status\" style=\"--color:var(${invoice.statusDetail.color});--background:var(${invoice.statusDetail.background})\">${invoice.statusDetail.label}</div>`;\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\theaders: function() {\n\t\t\t\tlet result = [];\n\t\t\t\tresult.push({ text: this.$t('invoices.list.invoice-number'), value: 'invoiceNumberFormatted' });\n\n        if(this.$vuetify.breakpoint.mdAndUp){\n          result.push({ text: this.$t('invoices.list.issued'), value: 'dateSent' });\n          result.push({ text: this.$t('global.due'), value: 'dateDue' });\n        }\n\n        if(this.$vuetify.breakpoint.smAndUp){\n          result.push({ text: this.$t('invoices.list.total'), value: 'total' });\n        }\n\n\t\t\t\tresult.push({ text: this.$t('invoices.status.heading'), value: 'status' });\n\t\t\t\tresult.push({ text: '', value: 'id' });\n\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\tfilteredResults: function() {\n\t\t\t\tif (!this.filter) {\n\t\t\t\t\treturn this.invoices;\n\t\t\t\t}\n\n\t\t\t\tlet results = [...this.invoices];\n\t\t\t\tlet search = this.filter.toLowerCase();\n\n\t\t\t\treturn results.filter((i) => {\n\t\t\t\t\tif (\n\t\t\t\t\t\ti.invoiceNumberFormatted\n\t\t\t\t\t\t\t.toString()\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.includes(search)\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else if (i.statusDetail.label.toLowerCase().startsWith(search)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else if (i.total.toString().startsWith(search)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else if (\n\t\t\t\t\t\tDateTime.fromISO(i.dateSent)\n\t\t\t\t\t\t\t.toFormat('DDD')\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.startsWith(search)\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else if (\n\t\t\t\t\t\tDateTime.fromISO(i.dateDue)\n\t\t\t\t\t\t\t.toFormat('DDD')\n\t\t\t\t\t\t\t.toLowerCase()\n\t\t\t\t\t\t\t.startsWith(search)\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\n\t\t\t\t\treturn false;\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\n\t\twatch: {},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.invoice-status {\n\t\twidth: fit-content;\n\t\tpadding: 4px 8px;\n\t\tflex: none;\n\t\torder: 0;\n\t\tflex-grow: 0;\n\t\tbackground-color: var(--background);\n\t\tcolor: var(--color);\n\t\tborder-radius: 4px;\n\t}\n</style>\n\n<style scoped lang=\"scss\">\n\t.action-menu ::v-deep {\n\t\t.primary-action {\n\t\t\tborder: 0px !important;\n\t\t}\n\t\t.menu-activator {\n\t\t\tborder: 0px !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoiceTable.vue?vue&type=template&id=aeeb515c&scoped=true\"\nimport script from \"./InvoiceTable.vue?vue&type=script&lang=js\"\nexport * from \"./InvoiceTable.vue?vue&type=script&lang=js\"\nimport style0 from \"./InvoiceTable.vue?vue&type=style&index=0&id=aeeb515c&prod&lang=scss\"\nimport style1 from \"./InvoiceTable.vue?vue&type=style&index=1&id=aeeb515c&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"aeeb515c\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VBtn,VDataTable})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"ma-0\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"row-format mx-8\",staticStyle:{\"flex-wrap\":\"wrap\"}},[_c('div',{staticClass:\"kpi-box mr-3 mt-3\"},[_c('div',{staticClass:\"fit text-left\",staticStyle:{\"white-space\":\"nowrap\"}},[_vm._v(_vm._s(_vm.$t('invoices.reports.total-invoiced')))]),_c('div',{staticClass:\"font-24 brand-medium fit mt-1\"},[_vm._v(_vm._s(_vm.$formatters.dollars(_vm.metrics.totalInvoiced,true,true,_vm.$store.state.defaultCurrency)))])]),_c('div',{staticClass:\"kpi-box mr-3 mt-3\"},[_c('div',{staticClass:\"fit text-left\",staticStyle:{\"white-space\":\"nowrap\"}},[_vm._v(_vm._s(_vm.$t('invoices.reports.total-payments')))]),_c('div',{staticClass:\"font-24 brand-medium fit mt-1\"},[_vm._v(_vm._s(_vm.$formatters.dollars(_vm.metrics.totalReceived,true,true,_vm.$store.state.defaultCurrency)))])]),_c('div',{staticClass:\"kpi-box mr-3 mt-3\"},[_c('div',{staticClass:\"fit text-left\",staticStyle:{\"white-space\":\"nowrap\"}},[_vm._v(_vm._s(_vm.$t('invoices.reports.avg-days')))]),_c('div',{staticClass:\"font-24 brand-medium fit mt-1\"},[_vm._v(_vm._s(_vm.metrics.avgDaysToPay))])])])]),(_vm.depositAccount)?_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"row-format mx-8\",staticStyle:{\"flex-wrap\":\"wrap\"}},[_c('div',{staticClass:\"kpi-box mr-3 mt-3\"},[_c('div',{staticClass:\"fit text-left\",staticStyle:{\"white-space\":\"nowrap\"}},[_vm._v(_vm._s(_vm.$t('invoices.reports.deposits-collected')))]),_c('div',{staticClass:\"font-24 brand-medium fit mt-1\"},[_vm._v(_vm._s(_vm.$formatters.dollars(_vm.depositAccount.liabilities,true,true,_vm.$store.state.defaultCurrency)))])]),_c('div',{staticClass:\"kpi-box mr-3 mt-3\"},[_c('div',{staticClass:\"fit text-left\",staticStyle:{\"white-space\":\"nowrap\"}},[_vm._v(_vm._s(_vm.$t('invoices.reports.deposits-applied')))]),_c('div',{staticClass:\"font-24 brand-medium fit mt-1\"},[_vm._v(_vm._s(_vm.$formatters.dollars(_vm.depositAccount.credits,true,true,_vm.$store.state.defaultCurrency)))])]),_c('div',{staticClass:\"kpi-box mr-3 mt-3\"},[_c('div',{staticClass:\"fit text-left\",staticStyle:{\"white-space\":\"nowrap\"}},[_vm._v(_vm._s(_vm.$t('invoices.reports.balance-remaining')))]),_c('div',{staticClass:\"font-24 brand-medium fit mt-1\"},[_vm._v(_vm._s(_vm.$formatters.dollars(_vm.depositAccount.balance,true,true,_vm.$store.state.defaultCurrency)))])])])]):_vm._e()],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('invoice-by-month',{attrs:{\"invoices\":_vm.invoices}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"brand-medium font-12 mb-3 font-gray_70 mt-1\"},[_vm._v(_vm._s(_vm.$t('invoices.reports.spend-by-project')))]),_c('spend-by-project',{attrs:{\"invoices\":_vm.invoices,\"projects\":_vm.projects}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"mx-2\"},[_c('line-chart',{staticStyle:{\"height\":\"350px\"},attrs:{\"chart-data\":_vm.chartData,\"options\":_vm.options}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\nimport { Line, mixins } from 'vue-chartjs';\nconst { reactiveProp } = mixins;\n\nexport default {\n\textends: Line,\n\tmixins: [reactiveProp],\n\tprops: {\n\t\tchartData: { type: Object, required: true },\n\t\toptions: { type: Object, required: true },\n\t},\n\n\tdata() {\n\t\treturn {};\n\t},\n\n\tmounted() {\n\t\t// console.log(mixins);\n\t\tthis.renderChart(this.chartData, this.options);\n\t},\n\n\tbeforeDestroy() {},\n\n\tmethods: {},\n\n\tcomputed: {},\n\twatch: {},\n};\n</script>\n\n<style lang=\"scss\" scoped></style>","var render, staticRenderFns\nimport script from \"./LineChart.vue?vue&type=script&lang=js\"\nexport * from \"./LineChart.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6ec6854a\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineChart.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineChart.vue?vue&type=script&lang=js\"","<template>\n  <div class=\"mx-2\">\n    <line-chart :chart-data=\"chartData\" :options=\"options\" style=\"height:350px;\"></line-chart>\n  </div>\n</template>\n\n<script>\nimport { DateTime } from 'luxon';\nimport LineChart from '@/modules/charts/LineChart';\n\nexport default {\n  name: 'InvoiceByMonth',\n\n  props: ['invoices'],\n\n  components: {LineChart},\n\n  data: function() {\n    return {\n      options: {\n        showTooltips: true,\n        responsive: true,\n        maintainAspectRatio: false,\n\n        elements: {\n          point: {\n            radius: 5,\n          },\n          line: {\n            tension: 0.2\n          }\n        },\n        scales: {\n          xAxes: [\n            {\n              display: true,\n              ticks: {\n                autoSkip: true,\n                //maxTicksLimit: 2,\n                maxRotation: 0,\n                minRotation: 0,\n                callback: function(value) {\n                  return value;\n                },\n              },\n            },\n          ],\n          yAxes: [\n            {\n              display: true,\n              position: 'right',\n              ticks: {\n                autoSkip: true,\n                callback: (value) => {\n                  return this.$formatters.dollars(value,false,true,this.$store.state.defaultCurrency);\n                },\n              },\n            },\n          ],\n        },\n        tooltips: {\n          callbacks: {\n            title: function(tooltipItems) {\n              return tooltipItems[0].xLabel;\n            },\n            label: function(tti, data) {\n              let amount = new Intl.NumberFormat(undefined, {\n                style: 'currency',\n                currency: 'USD',\n                maximumFractionDigits: 0,\n                minimumFractionDigits: 0,\n              }).format(tti.value);\n              return ` ${data.datasets[tti.datasetIndex].label}: ${amount}`;\n            },\n          },\n        },\n      },\n    };\n  },\n\n  mounted() {\n  },\n\n  beforeDestroy() {\n  },\n\n  methods: {\n    sortByDateSent: function(a, b) {\n      if(a.dateSent && b.dateSent) {\n        return a.dateSent.localeCompare(b.dateSent);\n      }else if(a.dateSent){\n        return -1;\n      }else if(b.dateSent){\n        return 1\n      }else {\n        return 0;\n      }\n    },\n  },\n\n  computed: {\n    chartData: function() {\n      return {\n        labels: this.labels,\n        datasets: [\n          {\n            label: this.$t('invoices.reports.monthly-invoiced'),\n            backgroundColor: 'rgb(150, 152, 146,0.4)',\n            data: this.invoiced,\n          },\n        ],\n      };\n    },\n\n    labels: function(){\n      let labels = [];\n      this.invoiceByMonth.forEach(i => labels.push(i.label))\n      return labels;\n    },\n\n    invoiced: function(){\n      let values = [];\n      this.invoiceByMonth.forEach(i => values.push(i.total));\n      return values;\n    },\n\n    invoiceByMonth: function() {\n\n      if(!this.invoices.length){\n        return []\n      }\n\n      let invoices = [...this.invoices];\n      invoices.sort(this.sortByDateSent);\n\n      let result = [];\n\n      let earliest = DateTime.fromISO(invoices[0].dateSent).startOf('month');\n      let latest = DateTime.fromISO(invoices[invoices.length - 1].dateSent).startOf('month');\n\n      let start = earliest;\n\n      while (start <= latest) {\n        result.push({\n          key: start.toISODate(),\n          date: start,\n          label: start.toFormat('MMM yy'),\n          total: 0,\n        });\n        start = start.plus({months:1});\n      }\n\n      for (let i of invoices) {\n        let key = DateTime.fromISO(i.dateSent).startOf('month').toISODate();\n        let month = result.find(r => r.key === key);\n        if(month) {\n          month.total = month.total + i.total;\n        }\n      }\n\n      return result;\n    },\n  },\n\n};\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceByMonth.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceByMonth.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoiceByMonth.vue?vue&type=template&id=bac91fb2&scoped=true\"\nimport script from \"./InvoiceByMonth.vue?vue&type=script&lang=js\"\nexport * from \"./InvoiceByMonth.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"bac91fb2\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"mx-2\"},[_c('pie-chart',{staticStyle:{\"height\":\"450px\"},attrs:{\"chart-data\":_vm.chartData,\"options\":_vm.options}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<script>\n\timport { Pie, mixins } from 'vue-chartjs';\n\tconst { reactiveProp } = mixins;\n\n\texport default {\n\t\textends: Pie,\n\t\tmixins: [reactiveProp],\n\t\tprops: {\n\t\t\tchartData: { type: Object, required: true },\n\t\t\toptions: { type: Object, required: true },\n\t\t},\n\n\t\tdata() {\n\t\t\treturn {};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.renderChart(this.chartData, this.options);\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {},\n\n\t\tcomputed: {},\n\t\twatch: {},\n\t};\n</script>\n\n<style lang=\"scss\" scoped></style>\n","var render, staticRenderFns\nimport script from \"./PieChart.vue?vue&type=script&lang=js\"\nexport * from \"./PieChart.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5a46e86b\",\n  null\n  \n)\n\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PieChart.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PieChart.vue?vue&type=script&lang=js\"","<template>\n\t<div class=\"mx-2\">\n\t\t<pie-chart :chart-data=\"chartData\" :options=\"options\" style=\"height:450px\"></pie-chart>\n\t</div>\n</template>\n\n<script>\n\timport PieChart from '@/modules/charts/PieChart';\n\n\texport default {\n\t\tname: 'SpendByProject',\n\n\t\tprops: ['invoices', 'projects'],\n\n\t\tcomponents: { PieChart },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\toptions: {\n\t\t\t\t\tshowTooltips: true,\n\t\t\t\t\tresponsive: true,\n\t\t\t\t\tmaintainAspectRatio: false,\n\n          legend: {\n            position: 'bottom'\n          },\n\n\t\t\t\t\telements: {},\n\n\t\t\t\t\ttooltips: {\n\t\t\t\t\t\tcallbacks: {\n\t\t\t\t\t\t\ttitle: function(tooltipItems) {\n\t\t\t\t\t\t\t\treturn tooltipItems[0].xLabel;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlabel: (tti, data) => {\n               let dataValue = data.datasets[tti.datasetIndex].data[tti.index];\n\t\t\t\t\t\t\t\tlet amount = this.$formatters.dollars(dataValue,true,true,this.$store.state.defaultCurrency);\n\t\t\t\t\t\t\t\treturn ` ${data.labels[tti.index]}: ${amount}`;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {},\n\n\t\tcomputed: {\n\t\t\tchartData: function() {\n\t\t\t\treturn {\n\t\t\t\t\tlabels: this.labels,\n\t\t\t\t\tdatasets: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel:this.$t('invoices.project'),\n\t\t\t\t\t\t\tdata: this.invoiced,\n\t\t\t\t\t\t\tbackgroundColor: this.$store.state.chartColors,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tlabels: function() {\n\t\t\t\tlet labels = [];\n\n        this.invoiceByProject.filter(i => i.amount > 0).forEach(i => {\n          labels.push(i.name);\n        })\n\n\t\t\t\treturn labels;\n\t\t\t},\n\n\t\t\tinvoiced: function() {\n\t\t\t\tlet values = [];\n\n        this.invoiceByProject.filter(i => i.amount > 0).forEach(i => {\n          values.push(i.amount);\n        })\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\tinvoiceByProject: function() {\n\t\t\t\tif (!this.invoices.length || !this.projects.length) {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\n\t\t\t\tlet projectMap = new Map();\n\t\t\t\tthis.projects.forEach((p) =>\n\t\t\t\t\tprojectMap.set(p.id, {\n\t\t\t\t\t\tid: p.id,\n\t\t\t\t\t\tname: p.name,\n\t\t\t\t\t\tamount: 0,\n\t\t\t\t\t})\n\t\t\t\t);\n\n\t\t\t\tfor (let i of this.invoices) {\n\t\t\t\t\tfor (let item of i.items) {\n\t\t\t\t\t\tif (item.projectId && projectMap.has(item.projectId)) {\n\t\t\t\t\t\t\tlet p = projectMap.get(item.projectId);\n\t\t\t\t\t\t\tp.amount = p.amount + item.subtotal;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n        let result = [];\n        projectMap.forEach(value => result.push(value));\n        return result;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SpendByProject.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SpendByProject.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SpendByProject.vue?vue&type=template&id=160020e7&scoped=true\"\nimport script from \"./SpendByProject.vue?vue&type=script&lang=js\"\nexport * from \"./SpendByProject.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"160020e7\",\n  null\n  \n)\n\nexport default component.exports","<template>\n\t<v-container class=\"ma-0\" fluid>\n    <v-row>\n      <v-col cols=\"12\">\n        <div class=\"row-format mx-8\" style=\"flex-wrap: wrap\">\n        <div class=\"kpi-box mr-3 mt-3\">\n          <div class=\"fit text-left\" style=\"white-space: nowrap\">{{ $t('invoices.reports.total-invoiced') }}</div>\n          <div class=\"font-24 brand-medium fit mt-1\">{{ $formatters.dollars(metrics.totalInvoiced,true,true,$store.state.defaultCurrency) }}</div>\n        </div>\n        <div class=\"kpi-box mr-3 mt-3\">\n          <div class=\"fit text-left\" style=\"white-space: nowrap\">{{ $t('invoices.reports.total-payments') }}</div>\n          <div class=\"font-24 brand-medium fit mt-1\">{{ $formatters.dollars(metrics.totalReceived,true,true,$store.state.defaultCurrency) }}</div>\n        </div>\n        <div class=\"kpi-box mr-3 mt-3\">\n          <div class=\"fit text-left\" style=\"white-space: nowrap\">{{ $t('invoices.reports.avg-days') }}</div>\n          <div class=\"font-24 brand-medium fit mt-1\">{{ metrics.avgDaysToPay }}</div>\n        </div>\n        </div>\n      </v-col>\n      <v-col cols=\"12\" v-if=\"depositAccount\">\n        <div class=\"row-format mx-8\" style=\"flex-wrap: wrap\">\n          <div class=\"kpi-box mr-3 mt-3\">\n            <div class=\"fit text-left\" style=\"white-space: nowrap\">{{ $t('invoices.reports.deposits-collected') }}</div>\n            <div class=\"font-24 brand-medium fit mt-1\">{{ $formatters.dollars(depositAccount.liabilities,true,true,$store.state.defaultCurrency) }}</div>\n          </div>\n          <div class=\"kpi-box mr-3 mt-3\">\n            <div class=\"fit text-left\" style=\"white-space: nowrap\">{{ $t('invoices.reports.deposits-applied') }}</div>\n            <div class=\"font-24 brand-medium fit mt-1\">{{ $formatters.dollars(depositAccount.credits,true,true,$store.state.defaultCurrency) }}</div>\n          </div>\n          <div class=\"kpi-box mr-3 mt-3\">\n            <div class=\"fit text-left\" style=\"white-space: nowrap\">{{ $t('invoices.reports.balance-remaining') }}</div>\n            <div class=\"font-24 brand-medium fit mt-1\">{{ $formatters.dollars(depositAccount.balance,true,true,$store.state.defaultCurrency) }}</div>\n          </div>\n        </div>\n      </v-col>\n    </v-row>\n    <v-row>\n      <v-col cols=\"12\"><invoice-by-month :invoices=\"invoices\"></invoice-by-month></v-col>\n      <v-col cols=\"12\">\n        <div class=\"brand-medium font-12 mb-3 font-gray_70 mt-1\">{{ $t('invoices.reports.spend-by-project') }}</div>\n        <spend-by-project :invoices=\"invoices\" :projects=\"projects\"></spend-by-project>\n      </v-col>\n    </v-row>\n  </v-container>\n</template>\n\n<script>\n  import {DateTime} from 'luxon'\n\timport InvoiceByMonth from '@/modules/invoices/charts/InvoiceByMonth';\n  import SpendByProject from '@/modules/invoices/charts/SpendByProject';\n  export default {\n\t\tname: 'InvoiceCharts',\n\n\t\tprops: ['invoices','projects','depositAccount'],\n\n\t\tcomponents: { SpendByProject, InvoiceByMonth },\n\n\t\tdata: function() {\n\t\t\treturn {};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\n\t\t},\n\n\t\tcomputed: {\n      metrics: function() {\n        let result = {\n          totalInvoiced: 0,\n          totalReceived: 0,\n          avgDaysToPay: 0,\n        };\n\n        let validStatusList = ['SENT', 'PARTIAL', 'PAID', 'WRITE-OFF'];\n        let totalPayDays = 0;\n        let totalPayments = 0;\n        let list = this.invoices.filter((i) => validStatusList.includes(i.status));\n\n        for (let i = 0; i < list.length; i++) {\n          result.totalInvoiced += list[i].total;\n          result.totalReceived += list[i].paymentTotal;\n\n          if (list[i].paymentTotal) {\n            let dateSent = DateTime.fromISO(list[i].dateSent);\n            let datePaid = DateTime.fromISO(list[i].payments[0].datePaid);\n            totalPayDays += Math.round(datePaid.diff(dateSent, 'days').days);\n            totalPayments++;\n          }\n        }\n\n        result.avgDaysToPay = Math.round(totalPayDays / totalPayments);\n        if (isNaN(result.avgDaysToPay)) {\n          result.avgDaysToPay = '--';\n        }\n\n        return result;\n      },\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceCharts.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceCharts.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoiceCharts.vue?vue&type=template&id=20098ddc&scoped=true\"\nimport script from \"./InvoiceCharts.vue?vue&type=script&lang=js\"\nexport * from \"./InvoiceCharts.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"20098ddc\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VRow})\n","import Vue from \"vue\";\nimport VueI18n from \"vue-i18n\";\n\nVue.use(VueI18n);\n\nfunction loadLocaleMessages() {\n    const locales = require.context(\n        \"../locales\",\n        true,\n        /[A-Za-z0-9-_,\\s]+\\.json$/i\n    );\n    const messages = {};\n    locales.keys().forEach(key => {\n        const matched = key.match(/([A-Za-z0-9-_]+)\\./i);\n        if (matched && matched.length > 1) {\n            const locale = matched[1];\n            messages[locale] = locales(key);\n        }\n    });\n    return messages;\n}\n\nexport default new VueI18n({\n    locale: process.env.VUE_APP_I18N_LOCALE || \"en\",\n    fallbackLocale: process.env.VUE_APP_I18N_FALLBACK_LOCALE || \"en\",\n    messages: loadLocaleMessages()\n});","import { DateTime } from 'luxon';\nimport i18n from '@/i18n';\n\nexport default class FilterHelpers {\n\tconstructor() {\n\t\t//if (phase) this.phase = phase.toLowerCase();\n\t}\n\n\n\tstatic allDateOptions(){\n\t\treturn [\n\t\t\t{ text: i18n.t('meetings.filter.all-time'), value: 'all-time'},\n\t\t\t{ text: i18n.t('meetings.filter.today'), value: 'today' },\n\t\t\t{ text: i18n.t('meetings.filter.yesterday'), value: 'yesterday' },\n\t\t\t{ text: i18n.t('meetings.filter.this-week'), value: 'this-week' },\n\t\t\t{ text: i18n.t('meetings.filter.last-week'), value: 'last-week' },\n\t\t\t{ text: DateTime.now().toLocaleString({month:'long', year:'numeric'}), value: 'this-month' },\n\t\t\t{\n\t\t\t\ttext: DateTime.now().minus({ month: 1 }).toLocaleString({month:'long', year:'numeric'}),\n\t\t\t\tvalue: 'last-month',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: DateTime.now().minus({ month: 2 }).toLocaleString({month:'long', year:'numeric'}),\n\t\t\t\tvalue: 'last-last-month',\n\t\t\t},\n\t\t\t{ text: i18n.t('meetings.filter.next-30-days'), value: 'next-30-days' },\n\t\t\t{ text: i18n.t('meetings.filter.next-60-days'), value: 'next-60-days' },\n\t\t\t{ text: i18n.t('meetings.filter.next-90-days'), value: 'next-90-days' },\n\t\t\t{ text: i18n.t('meetings.filter.past-30-days'), value: 'past-30-days' },\n\t\t\t{ text: i18n.t('meetings.filter.past-60-days'), value: 'past-60-days' },\n\t\t\t{ text: i18n.t('meetings.filter.past-90-days'), value: 'past-90-days' },\n\t\t\t{ text: i18n.t('meetings.filter.past-6-months'), value: 'past-6-months' },\n\t\t\t{ text: i18n.t('meetings.filter.past-12-months'), value: 'past-12-months' },\n\t\t\t{\n\t\t\t\ttext: DateTime.local().toFormat('yyyy'),\n\t\t\t\tvalue: 'this-year',\n\t\t\t},\n\t\t\t{\n\t\t\t\ttext: DateTime.local().minus({ year: 1 }).toFormat('yyyy'),\n\t\t\t\tvalue: 'last-year',\n\t\t\t},\n\t\t\t{ text: i18n.t('meetings.filter.custom'), value: 'between' },\n\t\t]\n\t}\n\n\tstatic getDateOptions(options) {\n\t\tlet dateOptions = [];\n\t\tlet allOptions = this.allDateOptions();\n\t\tfor (let i = 0; i < allOptions.length; i++) {\n\t\t\tlet option = allOptions[i];\n\t\t\tif (options.includes(option['value'])) dateOptions.push(option);\n\t\t}\n\t\treturn dateOptions;\n\t}\n\n\tstatic getEarliestAndLatest(dateSpecifier, isoFormat = true) {\n\t\tlet now = DateTime.local().toObject();\n\t\tconst today = DateTime.fromObject({ year: now.year, month: now.month, day: now.day });\n\t\tconst firstOfWeek = DateTime.local().startOf('week');\n\t\tconst firstOfMonth = DateTime.local().startOf('month');\n\t\t// if (!selectedFilters) selectedFilters = this.selectedFiltersDefault;\n\t\tlet earliest, latest;\n\t\tswitch (dateSpecifier) {\n\t\t\tcase 'today':\n\t\t\t\tearliest = today;\n\t\t\t\tlatest = today.plus({ days: 1 });\n\t\t\t\tbreak;\n\t\t\tcase 'yesterday':\n\t\t\t\tearliest = today.minus({ days: 1 });\n\t\t\t\tlatest = today;\n\t\t\t\tbreak;\n\t\t\tcase 'this-week':\n\t\t\t\tearliest = firstOfWeek;\n\t\t\t\tlatest = today.plus({ days: 1 });\n\t\t\t\tbreak;\n\t\t\tcase 'last-week':\n\t\t\t\tearliest = firstOfWeek.minus({ week: 1 });\n\t\t\t\tlatest = firstOfWeek;\n\t\t\t\tbreak;\n\t\t\tcase 'this-month':\n\t\t\t\tearliest = firstOfMonth;\n\t\t\t\tlatest = firstOfMonth.plus({ month: 1 }).minus({seconds:1});\n\t\t\t\tbreak;\n\t\t\tcase 'last-month':\n\t\t\t\tearliest = firstOfMonth.minus({ month: 1 });\n\t\t\t\tlatest = firstOfMonth.minus({seconds:1});\n\t\t\t\tbreak;\n\t\t\tcase 'last-last-month':\n\t\t\t\tearliest = firstOfMonth.minus({ month: 2 });\n\t\t\t\tlatest = earliest.plus({month:1});\n\t\t\t\tbreak;\n\t\t\tcase 'next-30-days':\n\t\t\t\tearliest = today;\n\t\t\t\tlatest = today.plus({ days: 30 });\n\t\t\t\tbreak;\n\t\t\tcase 'next-60-days':\n\t\t\t\tearliest = today;\n\t\t\t\tlatest = today.plus({ days: 60 });\n\t\t\t\tbreak;\n\t\t\tcase 'next-90-days':\n\t\t\t\tearliest = today;\n\t\t\t\tlatest = today.plus({ days: 90 });\n\t\t\t\tbreak;\n\t\t\tcase 'past-30-days':\n\t\t\t\tearliest = today.minus({ days: 30 });\n\t\t\t\tlatest = today.plus({ days: 1 });\n\t\t\t\tbreak;\n\t\t\tcase 'past-60-days':\n\t\t\t\tearliest = today.minus({ days: 60 });\n\t\t\t\tlatest = today.plus({ days: 1 });\n\t\t\t\tbreak;\n\t\t\tcase 'past-90-days':\n\t\t\t\tearliest = today.minus({ days: 90 });\n\t\t\t\tlatest = today.plus({ days: 1 });\n\t\t\t\tbreak;\n\n\t\t\tcase 'past-6-months':\n\t\t\t\tearliest = today.minus({ month: 6 });\n\t\t\t\tlatest = today.plus({ days: 1 });\n\t\t\t\tbreak;\n\t\t\tcase 'past-12-months':\n\t\t\t\tearliest = today.minus({ month: 12 });\n\t\t\t\tlatest = today.plus({ days: 1 });\n\t\t\t\tbreak;\n\t\t\tcase 'this-year':\n\t\t\t\tearliest = today.startOf('year');\n\t\t\t\tlatest = today.startOf('year').plus({ year: 1 });\n\t\t\t\tbreak;\n\t\t\tcase 'last-year':\n\t\t\t\tearliest = today.startOf('year').minus({ year: 1 });\n\t\t\t\tlatest = today.startOf('year');\n\t\t\t\tbreak;\n\t\t\tcase 'all-time':\n\t\t\t\tearliest = today.startOf('year').minus({ year: 1000 });\n\t\t\t\tlatest = today.startOf('year').plus({ year: 1000 });\n\t\t\t\tbreak;\n\t\t\t// case 'before':\n\t\t\t//     earliest = today.minus({ year: 10 });\n\t\t\t//     latest = DateTime.fromISO(this.selectedFilters.latest).plus({ day: 1 });\n\t\t\t//     break;\n\t\t\t// case 'after':\n\t\t\t//     earliest = DateTime.fromISO(this.selectedFilters.earliest);\n\t\t\t//     latest = today.plus({ day: 1 });\n\t\t\t//     break;\n\t\t\t// case 'between':\n\t\t\t// \tearliest = DateTime.fromISO(selectedFilters.earliest);\n\t\t\t// \tlatest = DateTime.fromISO(selectedFilters.latest).plus({ day: 1 });\n\t\t\t// \tbreak;\n\t\t\tdefault:\n\t\t\t\treturn;\n\t\t\t// earliest = firstOfWeek;\n\t\t\t// latest = today.plus({ days: 1 });\n\t\t\t// break;\n\t\t}\n\n\t\tif (isoFormat) {\n\t\t\treturn { earliest: earliest.toISO(), latest: latest.toISO() };\n\t\t} else {\n\t\t\treturn { earliest: earliest, latest: latest };\n\t\t}\n\t}\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isReady)?_c('div',{staticClass:\"ma-4\"},[_c('div',{staticClass:\"mt-4\"},[_c('v-data-table',{attrs:{\"headers\":_vm.headers,\"hide-default-footer\":true,\"disable-pagination\":true,\"mobile-breakpoint\":200,\"items\":_vm.accounts,\"no-data-text\":_vm.$t('invoices.viewer.link-account')},scopedSlots:_vm._u([{key:\"item.label\",fn:function({item}){return [_c('span',{staticStyle:{\"text-transform\":\"capitalize\"}},[_vm._v(_vm._s(item.label.toLowerCase()))])]}},{key:\"item.routing\",fn:function({item}){return [(item.routing)?_c('span',[_vm._v(_vm._s(item.routing))]):_c('span',[_vm._v(\"--\")])]}},{key:\"item.status\",fn:function({ item }){return [(item.status === 'verified')?_c('span',{staticStyle:{\"text-transform\":\"capitalize\"}},[_vm._v(_vm._s(item.status))]):_c('v-btn',{staticClass:\"primary-action\",on:{\"click\":function($event){return _vm.verifyAccount(item)}}},[_c('v-icon',[_vm._v(\"$alert\")]),_vm._v(_vm._s(_vm.$t('global.verify')))],1)]}},{key:\"item.id\",fn:function({ item }){return [(item.type === 'bank_account')?_c('v-icon',{staticClass:\"pointer\",attrs:{\"small\":\"\"},on:{\"click\":function($event){return _vm.deleteAccount(item)}}},[_vm._v(\"$delete\")]):_vm._e()]}}],null,false,1413517552)})],1),_c('div',{staticClass:\"text-left mt-6 row-format gap-2\"},[(_vm.achEnabled)?_c('v-btn',{staticClass:\"primary-action\",staticStyle:{\"width\":\"240px\"},on:{\"click\":function($event){return _vm.linkNewAccount()}}},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"small\":\"\"}},[_vm._v(\"$plus\")]),_c('span',{staticClass:\"brand-medium\"},[_vm._v(_vm._s(_vm.$t('invoices.ach-account.new-account')))])],1):_vm._e(),_c('v-btn',{staticClass:\"primary-action\",on:{\"click\":function($event){return _vm.managePaymentMethods()}}},[_vm._v(\" \"+_vm._s(_vm.$t('invoices.ach-account.manage-payment-methods'))+\" \")])],1)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"ma-4\" v-if=\"isReady\">\n\t\t<div class=\"mt-4\">\n\t\t\t<v-data-table\n\t\t\t\t:headers=\"headers\"\n\t\t\t\t:hide-default-footer=\"true\"\n\t\t\t\t:disable-pagination=\"true\"\n\t\t\t\t:mobile-breakpoint=\"200\"\n\t\t\t\t:items=\"accounts\"\n\t\t\t\t:no-data-text=\"$t('invoices.viewer.link-account')\"\n\t\t\t>\n\n        <template v-slot:item.label=\"{item}\">\n          <span style=\"text-transform: capitalize\">{{item.label.toLowerCase()}}</span>\n        </template>\n\n        <template v-slot:item.routing=\"{item}\">\n          <span v-if=\"item.routing\">{{item.routing}}</span>\n          <span v-else>--</span>\n        </template>\n\n        <template v-slot:item.status=\"{ item }\">\n          <span style=\"text-transform: capitalize\" v-if=\"item.status === 'verified'\">{{ item.status }}</span>\n          <v-btn class=\"primary-action\" v-else @click=\"verifyAccount(item)\"><v-icon>$alert</v-icon>{{ $t('global.verify') }}</v-btn>\n        </template>\n\n\t\t\t\t<template v-slot:item.id=\"{ item }\">\n\t\t\t\t\t<v-icon class=\"pointer\" v-if=\"item.type === 'bank_account'\" small @click=\"deleteAccount(item)\">$delete</v-icon>\n\t\t\t\t</template>\n\n\t\t\t</v-data-table>\n\t\t</div>\n\t\t<div class=\"text-left mt-6 row-format gap-2\">\n      <v-btn class=\"primary-action\" style=\"width:240px\" @click=\"linkNewAccount()\" v-if=\"achEnabled\">\n        <v-icon small class=\"mr-1\">$plus</v-icon><span class=\"brand-medium\">{{ $t('invoices.ach-account.new-account') }}</span>\n      </v-btn>\n\n      <v-btn class=\"primary-action\" @click=\"managePaymentMethods()\">\n        {{ $t('invoices.ach-account.manage-payment-methods') }}\n      </v-btn>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport PaymentsService from '@/modules/invoices/PaymentsService';\n\timport ConfirmModal from '@/components/ConfirmModal';\n\timport NewAchAccount from '@/modules/invoices/NewAchAccount';\n\timport ManualAchAccount from '@/modules/invoices/ManualAchAccount';\n  import VerifyAchAccount from '@/modules/invoices/VerifyAchAccount';\n  import SubscriptionService from '@/modules/subscriptions/SubscriptionService';\n\n\texport default {\n\t\tname: 'AchAccounts',\n\n\t\tprops: ['achEnabled'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\taccounts: [],\n\t\t\t\tpaymentsService: new PaymentsService(),\n        subscriptionService: new SubscriptionService(),\n\t\t\t\ttoken: null,\n\t\t\t\tisReady: false,\n\n\t\t\t\theaders: [\n          { text: this.$t('invoices.ach-account.bank-name'), value: 'label' },\n          { text: this.$t('invoices.ach-account.routing-number'), value: 'routing' },\n\t\t\t\t\t{ text: this.$t('invoices.ach-account.account'), value: 'last4' },\n\t\t\t\t\t{ text: this.$t('invoices.ach-account.status'), value: 'status' },\n\t\t\t\t\t{ text: '', value: 'id' },\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getAccounts();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tgetAccounts: function() {\n\t\t\t\tthis.paymentsService.getPaymentMethods().then((res) => {\n\t\t\t\t\tthis.accounts.splice(0, this.accounts.length);\n\t\t\t\t\tthis.accounts.push(...res.data);\n\t\t\t\t\tthis.isReady = true;\n\t\t\t\t});\n\t\t\t},\n\n\n      verifyAccount: function(bankAccount){\n        let binding = {\n          bankAccount: bankAccount\n        };\n        this.$store.state.globalModalController.openModal(VerifyAchAccount, binding, true, false).then((res) => {\n          if(res) {\n            this.getAccounts();\n          }\n        });\n      },\n\n\n\t\t\tlinkNewAccount: function() {\n\t\t\t\tthis.$store.state.globalModalController.openModal(NewAchAccount, {}, true, false).then((res) => {\n\t\t\t\t\tif (res === 'PLAID') {\n\t\t\t\t\t\tthis.linkWithPlaid();\n\t\t\t\t\t} else if (res === 'MANUAL') {\n\t\t\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\t\tthis.$store.commit('stopLoading');\n\t\t\t\t\t\t\tthis.openManualAchInput();\n\t\t\t\t\t\t}, 1000);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\topenManualAchInput: function() {\n\t\t\t\tthis.$store.state.globalModalController.openModal(ManualAchAccount, {}, true, false).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tthis.accounts.push(res);\n            this.confirmMicroDeposits();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n      confirmMicroDeposits: function(){\n        let binding = {\n          headingText: this.$t('invoices.ach-account.action-required'),\n          hideNo: true,\n          yesText: this.$t('global.ok'),\n          bodyText: this.$t('invoices.ach-account.stripe-deposits'),\n        };\n        this.$store.state.globalModalController.openModal(ConfirmModal, binding, false, false);\n      },\n\n\t\t\tlinkWithPlaid: function() {\n\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\tthis.paymentsService.createACHLinkSession(window.location.href).then((res) => {\n\t\t\t\t\tthis.$store.commit('stopLoading');\n\t\t\t\t\tconsole.log('ACH Link Session created', res.data);\n\t\t\t\t\twindow.location.href = res.data.linkUri;\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tdeleteAccount: function(account) {\n\t\t\t\tlet binding = {\n\t\t\t\t\theadingText: this.$t('global.confirm'),\n\t\t\t\t\tbodyText: this.$t('invoices.ach-account.confirm-ach'),\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController.openModal(ConfirmModal, binding, false, false).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\t\t\tthis.paymentsService\n\t\t\t\t\t\t\t.deleteBankAccount(account.id)\n\t\t\t\t\t\t\t.then(() => this.getAccounts())\n\t\t\t\t\t\t\t.finally(() => this.$store.commit('stopLoading'));\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n      managePaymentMethods: function(){\n        this.subscriptionService.getSubscriptionPortalLink(document.location.href).then((res) => {\n          document.location.href = res.data;\n        })\n      }\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentMethods.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentMethods.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PaymentMethods.vue?vue&type=template&id=7838da86&scoped=true\"\nimport script from \"./PaymentMethods.vue?vue&type=script&lang=js\"\nexport * from \"./PaymentMethods.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7838da86\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VDataTable,VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"mx-3\"},[_c('v-data-table',{staticClass:\"list-view\",staticStyle:{\"cursor\":\"pointer\"},attrs:{\"item-key\":\"id\",\"fixed-header\":\"\",\"headers\":_vm.headers,\"items\":_vm.subscriptionsComputed,\"hide-default-footer\":true,\"items-per-page\":-1},on:{\"click:row\":function($event){return _vm.handleItemClick($event)}},scopedSlots:_vm._u([{key:\"item.periodStart\",fn:function({ item }){return [_c('div',{staticClass:\"row-format align-center\",staticStyle:{\"height\":\"100%\"}},[(item.periodStart && item.periodEnd)?_c('div',[_vm._v(\" \"+_vm._s(_vm.DateTime.fromISO(item.periodStart).toLocaleString())+\" - \"+_vm._s(_vm.DateTime.fromISO(item.periodEnd).toLocaleString())+\" \")]):_c('div',[_vm._v(\"--\")])])]}},{key:\"item.daysUntilDue\",fn:function({ item }){return [_c('div',{staticClass:\"row-format align-center\",staticStyle:{\"height\":\"100%\"}},[(item.daysUntilDue)?_c('div',[_vm._v(_vm._s(item.daysUntilDue))]):_c('div',[_vm._v(\"--\")])])]}},{key:\"item.subscriptionItems\",fn:function({ item }){return [_c('div',{staticClass:\"row-format align-center\",staticStyle:{\"height\":\"100%\"}},_vm._l((item.subscriptionItems),function(subItem,index){return _c('div',{key:item.clientMini.id + ':' + index},[_vm._v(\" \"+_vm._s(subItem.quantity)+\" x \"+_vm._s(subItem.description)+\" @ \"+_vm._s(_vm.$formatters.dollars(subItem.amount, true, true, subItem.currency))+\" \")])}),0)]}},{key:\"item.status\",fn:function({ item }){return [_c('div',{staticClass:\"row-format align-center\",staticStyle:{\"height\":\"100%\"}},[(item.status === 'active')?_c('v-icon',{attrs:{\"color\":\"success\",\"small\":\"\"}},[_vm._v(\"$check\")]):(item.status === 'canceled' || item.status === 'ended')?_c('v-icon',{attrs:{\"color\":\"gray_80\",\"small\":\"\"}},[_vm._v(\"$cancel\")]):(item.status === 'sent')?_c('v-icon',{attrs:{\"color\":\"primary\",\"small\":\"\"}},[_vm._v(\"$email\")]):_c('v-icon',{attrs:{\"color\":\"warning\",\"small\":\"\"}},[_vm._v(\"$alert\")]),(item.status === 'active' && item.cancelAtPeriodEnd)?_c('div',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.$t('subscriptions.cancellation')))]):_c('div',{staticClass:\"ml-1\",staticStyle:{\"text-transform\":\"capitalize\"}},[_vm._v(_vm._s(item.status.replace('_', ' ')))])],1)]}}])}),_c('div',{staticClass:\"text-left\"},[(_vm.subscriptionsComputed.length)?_c('v-btn',{staticClass:\"mt-3 primary-action\",on:{\"click\":_vm.manageSubscriptions}},[_vm._v(_vm._s(_vm.$t('subscriptions.manage')))]):_vm._e()],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"mx-3\">\n\t\t<v-data-table\n\t\t\titem-key=\"id\"\n\t\t\tclass=\"list-view\"\n\t\t\tfixed-header\n\t\t\t:headers=\"headers\"\n\t\t\t:items=\"subscriptionsComputed\"\n\t\t\t:hide-default-footer=\"true\"\n\t\t\t:items-per-page=\"-1\"\n      @click:row=\"handleItemClick($event)\"\n      style=\"cursor:pointer;\"\n\t\t>\n\t\t\t<template v-slot:item.periodStart=\"{ item }\">\n\t\t\t\t<div style=\"height: 100%\" class=\"row-format align-center\">\n\t\t\t\t\t<div v-if=\"item.periodStart && item.periodEnd\">\n\t\t\t\t\t\t{{ DateTime.fromISO(item.periodStart).toLocaleString() }} -\n\t\t\t\t\t\t{{ DateTime.fromISO(item.periodEnd).toLocaleString() }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-else>--</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template v-slot:item.daysUntilDue=\"{ item }\">\n\t\t\t\t<div style=\"height: 100%\" class=\"row-format align-center\">\n\t\t\t\t\t<div v-if=\"item.daysUntilDue\">{{ item.daysUntilDue }}</div>\n\t\t\t\t\t<div v-else>--</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template v-slot:item.subscriptionItems=\"{ item }\">\n\t\t\t\t<div style=\"height: 100%\" class=\"row-format align-center\">\n\t\t\t\t\t<div v-for=\"(subItem, index) in item.subscriptionItems\" :key=\"item.clientMini.id + ':' + index\">\n\t\t\t\t\t\t{{ subItem.quantity }} x {{ subItem.description }} @\n\t\t\t\t\t\t{{ $formatters.dollars(subItem.amount, true, true, subItem.currency) }}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<template v-slot:item.status=\"{ item }\">\n\t\t\t\t<div style=\"height: 100%\" class=\"row-format align-center\">\n\t\t\t\t\t<v-icon v-if=\"item.status === 'active'\" color=\"success\" small>$check</v-icon>\n\t\t\t\t\t<v-icon v-else-if=\"item.status === 'canceled' || item.status === 'ended'\" color=\"gray_80\" small\n\t\t\t\t\t\t>$cancel</v-icon\n\t\t\t\t\t>\n\t\t\t\t\t<v-icon v-else-if=\"item.status === 'sent'\" color=\"primary\" small>$email</v-icon>\n\t\t\t\t\t<v-icon v-else color=\"warning\" small>$alert</v-icon>\n\n          <div v-if=\"item.status === 'active' && item.cancelAtPeriodEnd\" class=\"ml-1\">{{ $t('subscriptions.cancellation') }}</div>\n\t\t\t\t\t<div v-else class=\"ml-1\" style=\"text-transform: capitalize\">{{ item.status.replace('_', ' ') }}</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t</v-data-table>\n\n    <div class=\"text-left\">\n      <v-btn class=\"mt-3 primary-action\" v-if=\"subscriptionsComputed.length\" @click=\"manageSubscriptions\">{{ $t('subscriptions.manage') }}</v-btn>\n    </div>\n\t</div>\n</template>\n\n<script>\n\timport SubscriptionService from '@/modules/subscriptions/SubscriptionService';\n\timport { DateTime } from 'luxon';\n  import SubscriptionPayments from '@/modules/subscriptions/SubscriptionPayments';\n\n\texport default {\n\t\tname: 'SubscriptionList',\n\n\t\tprops: [],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tsubscriptionService: new SubscriptionService(),\n\t\t\t\tsubscriptions: [],\n\t\t\t\trequests: [],\n\t\t\t\tDateTime: DateTime,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getSubscriptions();\n\t\t\tthis.getSubscriptionRequests();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tgetSubscriptions: function() {\n\t\t\t\tthis.subscriptionService.getSubscriptions().then((res) => {\n\t\t\t\t\tthis.subscriptions.splice(0, this.subscriptions.length);\n\t\t\t\t\tthis.subscriptions.push(...res.data);\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tgetSubscriptionRequests: function() {\n\t\t\t\tthis.subscriptionService.getSubscriptionRequests().then((res) => {\n\t\t\t\t\tthis.requests.splice(0, this.requests.length);\n\t\t\t\t\tthis.requests.push(...res.data);\n\t\t\t\t});\n\t\t\t},\n\n      handleItemClick: function(subscription){\n        if(subscription.status === 'sent'){\n          document.location.href = subscription.checkoutUrl;\n        }else{\n          this.viewPayments(subscription);\n        }\n      },\n\n      viewPayments: function(subscription){\n        let binding = {\n          subscription: subscription,\n        };\n\n        this.$store.state.globalModalController.openModal(SubscriptionPayments,binding);\n      },\n\n      manageSubscriptions: function(){\n        this.subscriptionService.getSubscriptionPortalLink(document.location.href).then((res) => {\n          document.location.href = res.data;\n        })\n      }\n\t\t},\n\n\t\tcomputed: {\n\t\t\tsubscriptionsComputed: function() {\n\t\t\t\tlet result = [...this.subscriptions];\n\n\t\t\t\tfor (let i = 0; i < this.requests.length; i++) {\n\t\t\t\t\tlet request = this.requests[i];\n\n\t\t\t\t\tlet pendingSubscription = {\n\t\t\t\t\t\tid: request.id,\n\t\t\t\t\t\tclientMini: {},\n\t\t\t\t\t\tperiodStart: null,\n\t\t\t\t\t\tperiodEnd: null,\n\t\t\t\t\t\tdaysUntilDue: null,\n\t\t\t\t\t\tsubscriptionItems: [],\n\t\t\t\t\t\tcheckoutUrl: request.checkoutUrl,\n\t\t\t\t\t\tstatus: 'sent',\n\t\t\t\t\t};\n\n          for(let j=0; j < request.productSelections.length; j++){\n            let product = request.productSelections[j];\n            pendingSubscription.subscriptionItems.push({\n              quantity: product.quantity,\n              description: product.subscriptionProduct.name,\n              amount: product.subscriptionProduct.prices[0].unitAmount / 100,\n              currency: product.subscriptionProduct.prices[0].currency,\n            });\n          }\n\n\t\t\t\t\tresult.push(pendingSubscription);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\theaders: function() {\n\t\t\t\treturn [\n\t\t\t\t\t{ text: this.$t('stripe.subscription.period'), value: 'periodStart' },\n\t\t\t\t\t{ text: this.$t('stripe.subscription.days-until'), value: 'daysUntilDue' },\n\t\t\t\t\t{ text: this.$t('stripe.subscription.items'), value: 'subscriptionItems' },\n\t\t\t\t\t{ text: this.$t('stripe.subscription.status'), value: 'status' },\n\t\t\t\t\t{ text: '', value: 'action', align: 'right' },\n\t\t\t\t];\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubscriptionList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubscriptionList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SubscriptionList.vue?vue&type=template&id=c219c6dc&scoped=true\"\nimport script from \"./SubscriptionList.vue?vue&type=script&lang=js\"\nexport * from \"./SubscriptionList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"c219c6dc\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VDataTable,VIcon})\n","<template>\n\t<div class=\"fill-height column-format\">\n\t\t<h-header>\n\t\t\t<template v-slot:filter>\n\t\t\t\t<div class=\"row-format\" style=\"flex-wrap: wrap\">\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\tv-if=\"view === 'list'\"\n\t\t\t\t\t\tdense\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tprepend-icon=\"$filter\"\n\t\t\t\t\t\t:placeholder=\"$t('global.filter')\"\n\t\t\t\t\t\tstyle=\"font-size:14px; width:200px;\"\n\t\t\t\t\t\tv-model=\"filter\"\n\t\t\t\t\t\tclearable\n\t\t\t\t\t></v-text-field>\n\t\t\t\t\t<v-select\n\t\t\t\t\t\tv-if=\"view === 'list' || view === 'reports'\"\n\t\t\t\t\t\tclearable\n\t\t\t\t\t\tdense\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tv-model=\"dateFilter\"\n\t\t\t\t\t\t:items=\"dateOptions\"\n\t\t\t\t\t\t:placeholder=\"$t('global.date')\"\n\t\t\t\t\t\tclass=\"ml-3\"\n\t\t\t\t\t\tstyle=\"width:200px\"\n\t\t\t\t\t></v-select>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t</h-header>\n\n    <div class=\"show-scrollbar\" style=\"height: var(--vh)\">\n      <invoice-table\n        :invoices=\"dateFilteredInvoices\"\n        v-show=\"view === 'list'\"\n        ref=\"InvoiceTable\"\n        :filter=\"filter\"\n        @refresh=\"getInvoices\"\n      ></invoice-table>\n\n      <invoice-charts\n        :invoices=\"dateFilteredInvoices\"\n        :projects=\"projects\"\n        :deposit-account=\"depositAccount\"\n        v-show=\"view === 'reports' && $store.getters.getFeatures.summaryFinancialsEnabled\"\n        ref=\"InvoiceChart\"\n      ></invoice-charts>\n\n      <payment-methods :ach-enabled=\"achEnabled\" v-show=\"view === 'accounts'\"></payment-methods>\n      <subscription-list v-if=\"view === 'subscriptions'\"></subscription-list>\n    </div>\n\t</div>\n</template>\n\n<script>\n\timport HHeader from '@/components/HHeader';\n\timport InvoiceTable from '@/modules/invoices/InvoiceTable';\n\timport InvoiceService from '@/modules/invoices/InvoiceService';\n\timport InvoiceCharts from '@/modules/invoices/InvoiceCharts';\n\timport { DateTime } from 'luxon';\n\timport ProjectService from '@/modules/projects/ProjectService';\n\timport FilterHelpers from '@/utils/FilterHelpers';\n\timport PaymentMethods from '@/modules/invoices/PaymentMethods';\n  import SubscriptionList from '@/modules/subscriptions/SubscriptionList';\n  import SubscriptionService from '@/modules/subscriptions/SubscriptionService';\n\n\texport default {\n\t\tname: 'InvoiceList',\n\n\t\tcomponents: { SubscriptionList, InvoiceCharts, InvoiceTable, HHeader, PaymentMethods },\n\n\t\tprops: ['v'],\n\n\t\tmixins: [],\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tfilter: null,\n\t\t\t\tdateFilter: null,\n\t\t\t\tearliest: null,\n\t\t\t\tlatest: null,\n\t\t\t\tview: 'list',\n\t\t\t\tachEnabled: false,\n        subscriptionsEnabled: false,\n\t\t\t\tinvoices: [],\n\t\t\t\tprojects: [],\n\t\t\t\tdepositAccount: null,\n\t\t\t\tinvoiceService: new InvoiceService(),\n\t\t\t\tprojectService: new ProjectService(),\n        subscriptionService: new SubscriptionService(),\n\n\t\t\t\tdateOptions: FilterHelpers.getDateOptions([\n\t\t\t\t\t'this-month',\n\t\t\t\t\t'last-month',\n\t\t\t\t\t'past-60-days',\n\t\t\t\t\t'past-90-days',\n\t\t\t\t\t'past-6-months',\n\t\t\t\t\t'past-12-months',\n\t\t\t\t\t'this-year',\n\t\t\t\t\t'last-year',\n\t\t\t\t]),\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tif (this.v) {\n\t\t\t\tthis.view = this.v;\n\t\t\t}\n\n\t\t\tthis.getInvoices();\n\t\t\tthis.getProjects();\n\t\t\tthis.getDeposits();\n      this.checkAchEnabled();\n      this.checkSubscriptionEnabled();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n      setView: function(view) {\n\t\t\t\tthis.view = view;\n\t\t\t\twindow.history.pushState({}, document.title, this.$router.currentRoute.path + `?v=${view}`);\n\t\t\t},\n\n      checkAchEnabled: function(){\n        this.invoiceService.getAchEnabled().then((res) => this.achEnabled = res.data);\n      },\n\n      checkSubscriptionEnabled: function(){\n        this.subscriptionService.checkSubscriptionsEnabled().then((res) => this.subscriptionsEnabled = res.data);\n      },\n\n\t\t\tgetInvoices: function() {\n\t\t\t\tthis.invoiceService.getInvoices().then((res) => {\n\t\t\t\t\tthis.invoices.splice(0, this.invoices.length);\n\t\t\t\t\tthis.invoices.push(...res.data);\n\t\t\t\t\tthis.invoices.forEach((i) => (i.statusDetail = this.getStatus(i)));\n\t\t\t\t\tthis.isReady = true;\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tgetDeposits: function() {\n\t\t\t\tthis.invoiceService.getDepositAccount().then((res) => (this.depositAccount = res.data));\n\t\t\t},\n\n\t\t\tgetProjects: function() {\n\t\t\t\tthis.projectService.getProjects().then((res) => {\n\t\t\t\t\tthis.projects.splice(0, this.projects.length);\n\t\t\t\t\tthis.projects.push(...res.data);\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tgetStatus(invoice) {\n\t\t\t\tlet background, color, label;\n\t\t\t\tlet payable = true;\n\n\t\t\t\tswitch (invoice.status) {\n\t\t\t\t\tcase 'PAID': {\n\t\t\t\t\t\tbackground = '--v-success_10-base';\n\t\t\t\t\t\tcolor = 'v-success-base--';\n\t\t\t\t\t\tlabel = this.$t('invoices.status.paid');\n\t\t\t\t\t\tpayable = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tcase 'PARTIAL':\n\t\t\t\t\tcase 'SENT': {\n\t\t\t\t\t\tif (DateTime.fromISO(invoice.dateDue) < DateTime.now()) {\n\t\t\t\t\t\t\tbackground = '--v-alert_10-base';\n\t\t\t\t\t\t\tcolor = '--v-alert-base';\n\t\t\t\t\t\t\tlabel = this.$t('invoices.status.late');\n\t\t\t\t\t\t} else if (invoice.status === 'PARTIAL') {\n\t\t\t\t\t\t\tbackground = '--v-warning_10-base';\n\t\t\t\t\t\t\tcolor = '--v-warning-base';\n\t\t\t\t\t\t\tlabel = this.$t('invoices.status.partially-paid');\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tbackground = '--v-blue_5-base';\n\t\t\t\t\t\t\tcolor = '--v-gray_80-base';\n\t\t\t\t\t\t\tlabel = this.$t('invoices.status.pending');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\tdefault: {\n\t\t\t\t\t\tbackground = '--v-gray_20-base';\n\t\t\t\t\t\tcolor = '--v-gray_80-base';\n\t\t\t\t\t\tlabel = invoice.status.charAt(0).toUpperCase() + invoice.status.toLowerCase().slice(1);\n\t\t\t\t\t\tpayable = false;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tbackground,\n\t\t\t\t\tcolor,\n\t\t\t\t\tlabel,\n\t\t\t\t\tpayable,\n\t\t\t\t};\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n\t\t\tdateFilter: function(val) {\n\t\t\t\tif (val) {\n\t\t\t\t\tlet helper = FilterHelpers.getEarliestAndLatest(val, false);\n\t\t\t\t\tthis.earliest = helper.earliest;\n\t\t\t\t\tthis.latest = helper.latest;\n\t\t\t\t} else {\n\t\t\t\t\tthis.earliest = null;\n\t\t\t\t\tthis.latest = null;\n\t\t\t\t}\n\t\t\t},\n\n      v: function(val){\n        this.setView(val);\n      }\n\t\t},\n\n\t\tcomputed: {\n\t\t\tpages: function() {\n\t\t\t\tlet result = [\n\t\t\t\t\t{ label: this.$t('invoices.list.heading'), value: 'list' },\n\t\t\t\t\t{ label: this.$t('invoices.reports.heading'), value: 'reports' }\n\t\t\t\t];\n\n        if(this.achEnabled){\n          result.push({ label: this.$t('invoices.ach-account.heading'), value: 'accounts' })\n        }\n\n        if(this.subscriptionsEnabled){\n          result.push({ label: this.$t('subscriptions.heading'), value: 'subscriptions' })\n        }\n\n        return result;\n\t\t\t},\n\n\t\t\tdateFilteredInvoices: function() {\n\t\t\t\tif (this.earliest && this.latest) {\n\t\t\t\t\treturn this.invoices.filter((i) => {\n\t\t\t\t\t\tlet dateSent = DateTime.fromISO(i.dateSent);\n\t\t\t\t\t\tif (dateSent >= this.earliest && dateSent <= this.latest) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\treturn this.invoices;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceMain.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceMain.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./InvoiceMain.vue?vue&type=template&id=67facab8&scoped=true\"\nimport script from \"./InvoiceMain.vue?vue&type=script&lang=js\"\nexport * from \"./InvoiceMain.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"67facab8\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VSelect,VTextField})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"column-format centered\",staticStyle:{\"width\":\"100%\",\"height\":\"100%\"}},[_c('div',{staticClass:\"brand-bold font-24\"},[_vm._v(_vm._s(_vm.$t('integration.connecting')))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div style=\"width: 100%; height: 100%\" class=\"column-format centered\">\n\t\t<div class=\"brand-bold font-24\">{{ $t('integration.connecting') }}</div>\n\t</div>\n</template>\n\n<script>\n\timport PaymentsService from '@/modules/invoices/PaymentsService';\n\timport ConfirmModal from '@/components/ConfirmModal';\n\n\texport default {\n\t\tname: 'PlaidOAuthHandler',\n\n\t\tprops: [''],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tpaymentsService: new PaymentsService(),\n\t\t\t\tsessionToken: null,\n\t\t\t\tlinkToken: null,\n\t\t\t\tpod: null,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.sessionToken = localStorage.getItem('PlaidSessionToken');\n\t\t\tthis.linkToken = localStorage.getItem('PlaidLinkToken');\n\t\t\tthis.pod = localStorage.getItem('PlaidSessionPod');\n\t\t\tthis.getAchSession();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tgetAchSession: function() {\n\t\t\t\tthis.paymentsService.getACHLinkSession(this.pod, this.sessionToken).then((res) => {\n\t\t\t\t\tconsole.log('ACH Session found', res.data);\n\n\t\t\t\t\tthis.achSession = res.data;\n\t\t\t\t\tthis.processOAuthFlow();\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tprocessOAuthFlow: function() {\n\t\t\t\tlet plaidHandler = window.Plaid.create({\n\t\t\t\t\ttoken: this.linkToken,\n\t\t\t\t\tonSuccess: (token, metadata) => {\n\t\t\t\t\t\tthis.plaidSuccess(token, metadata);\n\t\t\t\t\t},\n\t\t\t\t\tonLoad: () => {},\n\t\t\t\t\tonExit: (token, metadata) => {\n\t\t\t\t\t\tthis.plaidExit(token, metadata);\n\t\t\t\t\t},\n\t\t\t\t\tonEvent: (token, metadata) => {\n\t\t\t\t\t\tthis.plaidEvent(token, metadata);\n\t\t\t\t\t},\n\t\t\t\t\treceivedRedirectUri: window.location.href,\n\t\t\t\t});\n\n\t\t\t\tplaidHandler.open();\n\t\t\t},\n\n\t\t\tplaidSuccess: function(token, metadata) {\n\t\t\t\tconsole.log('Plaid Success');\n\t\t\t\tconsole.log(token);\n\t\t\t\tconsole.log(metadata);\n\n\t\t\t\tlet plaidAccountId = metadata.accounts[0].id;\n\t\t\t\tthis.paymentsService\n\t\t\t\t\t.exchangePlaidPublicToken(this.pod, this.sessionToken, token, plaidAccountId)\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tconsole.log('Success', res.data);\n\t\t\t\t\t\twindow.location.href = this.achSession.redirectUri;\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tconsole.log('Failure', err);\n\t\t\t\t\t\tthis.handleError(err.response.data.message);\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\tplaidError: function(err, metadata) {\n\t\t\t\tconsole.log('Plaid Error');\n\t\t\t\tconsole.log(err);\n\t\t\t\tconsole.log(metadata);\n\t\t\t\tthis.handleError(err.error_code + ' - ' + err.error_message);\n\t\t\t},\n\n\t\t\tplaidExit: function(err, metadata) {\n\t\t\t\tconsole.log('Plaid Exit');\n\t\t\t\tconsole.log(err);\n\t\t\t\tconsole.log(metadata);\n\t\t\t\tthis.handleError(err.error_code + ' - ' + err.error_message);\n\t\t\t},\n\n\t\t\tplaidEvent: function(eventName, metadata) {\n\t\t\t\tconsole.log('Plaid Event');\n\t\t\t\tconsole.log(eventName);\n\t\t\t\tconsole.log(metadata);\n\t\t\t},\n\n      handleError: function(message){\n        let binding = {\n          headingText: this.$t('error.connecting-account'),\n          bodyText: message,\n          hideNo:true,\n          yesText: this.$t('global.okay')\n        }\n        this.$store.state.globalModalController.openModal(ConfirmModal,binding,true,false).then(() => {\n          window.location.href = this.achSession.redirectUri;\n        })\n      }\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlaidOAuthHandler.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlaidOAuthHandler.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PlaidOAuthHandler.vue?vue&type=template&id=b5c19aae&scoped=true\"\nimport script from \"./PlaidOAuthHandler.vue?vue&type=script&lang=js\"\nexport * from \"./PlaidOAuthHandler.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"b5c19aae\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"column-format centered\",staticStyle:{\"width\":\"100%\",\"height\":\"100%\"}},[_c('div',{staticClass:\"brand-bold font-24\"},[_vm._v(_vm._s(_vm.$t('integration.connecting')))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div style=\"width: 100%; height: 100%\" class=\"column-format centered\">\n\t\t<div class=\"brand-bold font-24\">{{ $t('integration.connecting') }}</div>\n\t</div>\n</template>\n\n<script>\n\timport PaymentsService from '@/modules/invoices/PaymentsService';\n  import ConfirmModal from '@/components/ConfirmModal';\n\n\texport default {\n\t\tname: 'PlaidLinkHandler',\n\n\t\tprops: ['sessionToken','pod'],\n\n\t\tcomponents: {},\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tpaymentsService: new PaymentsService(),\n        achSession: null,\n        token: null,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tlocalStorage.setItem('PlaidSessionToken',this.sessionToken);\n      localStorage.setItem('PlaidSessionPod',this.pod);\n      this.getAchSession();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n      getAchSession: function(){\n        this.paymentsService.getACHLinkSession(this.pod,this.sessionToken).then((res) => {\n          console.log('ACH Session found',res.data);\n\n          this.achSession = res.data;\n          this.getPlaidLinkToken();\n        })\n      },\n\n      getPlaidLinkToken: function(){\n        this.paymentsService.getPlaidLinkToken(this.pod,this.sessionToken).then((res) => {\n          console.log('Plaid link token received ' + res.data);\n\n          this.token = res.data;\n          localStorage.setItem('PlaidLinkToken',this.token);\n          this.initializePlaidLink();\n        })\n      },\n\n\t\t\tinitializePlaidLink: function(){\n        let plaidHandler = window.Plaid.create({\n\t\t\t\t\ttoken: this.token,\n          onLoad: () => {},\n          onSuccess: (token, metadata) => {\n\t\t\t\t\t\tthis.plaidSuccess(token, metadata);\n\t\t\t\t\t},\n\t\t\t\t\tonExit: (token, metadata) => {\n            this.plaidExit(token,metadata);\n          },\n\t\t\t\t\tonEvent: (token, metadata) => {\n            this.plaidEvent(token,metadata);\n          },\n\t\t\t\t\treceivedRedirectUri: null,\n\t\t\t\t});\n\n\t\t\t\tplaidHandler.open();\n\t\t\t},\n\n\n\t\t\tplaidSuccess: function (token, metadata) {\n\t\t\t\tconsole.log('Plaid Success');\n\t\t\t\tconsole.log(token);\n\t\t\t\tconsole.log(metadata);\n\n        let plaidAccountId = metadata.accounts[0].id;\n        this.paymentsService.exchangePlaidPublicToken(this.pod,this.sessionToken,token,plaidAccountId).then((res) => {\n          console.log('Success',res.data);\n          window.location.href = this.achSession.redirectUri;\n        }).catch((err) => {\n          console.log('Failure',err);\n          this.handleError(err.response.data.message);\n        })\n\t\t\t},\n\n      plaidError: function (err, metadata) {\n        console.log('Plaid Error');\n        console.log(err);\n        console.log(metadata);\n        if(err){\n          this.handleError(err.error_code + ' - ' + err.error_message);\n        }else{\n          this.handleError('Unknown Error');\n        }\n      },\n\n\t\t\tplaidExit: function (err, metadata) {\n\t\t\t\tconsole.log('Plaid Exit');\n\t\t\t\tconsole.log(err);\n\t\t\t\tconsole.log(metadata);\n        if(err){\n          this.handleError(err.error_code + ' - ' + err.error_message);\n        }else{\n          window.location.href = this.achSession.redirectUri;\n        }\n\t\t\t},\n\n\t\t\tplaidEvent: function (eventName, metadata) {\n\t\t\t\tconsole.log('Plaid Event');\n\t\t\t\tconsole.log(eventName);\n\t\t\t\tconsole.log(metadata);\n\t\t\t},\n\n      handleError: function(message){\n        let binding = {\n          headingText: this.$t('error.connecting-account'),\n          bodyText: message,\n          hideNo:true,\n          yesText: this.$t('global.okay')\n        }\n        this.$store.state.globalModalController.openModal(ConfirmModal,binding,true,false).then(() => {\n          window.location.href = this.achSession.redirectUri;\n        })\n      }\n\t\t},\n\n\t\tcomputed: {},\n\t}\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlaidLinkHandler.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PlaidLinkHandler.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PlaidLinkHandler.vue?vue&type=template&id=431022e7&scoped=true\"\nimport script from \"./PlaidLinkHandler.vue?vue&type=script&lang=js\"\nexport * from \"./PlaidLinkHandler.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"431022e7\",\n  null\n  \n)\n\nexport default component.exports","import Payment from '@/modules/invoices/viewer/Payment';\nimport InvoiceViewer from '@/modules/invoices/viewer/InvoiceViewer';\nimport InvoiceMain from '@/modules/invoices/InvoiceMain';\nimport PlaidOAuthHandler from '@/modules/integrations/plaid/PlaidOAuthHandler';\nimport PlaidLinkHandler from '@/modules/integrations/plaid/PlaidLinkHandler';\n\nexport default [\n\t{\n\t\tpath: '/invoices',\n\t\tname: 'InvoiceMain',\n\t\tcomponent: InvoiceMain,\n\t\tprops: (route) => ({\n\t\t\tv: route.query.v,\n\t\t}),\n\t},\n\t{\n\t\tpath: '/invoice',\n\t\tname: 'Invoice',\n\t\tcomponent: InvoiceViewer,\n\t\tmeta: {\n\t\t\tinsecure: true,\n\t\t},\n\t},\n\t{\n\t\tpath: '/invoice/:id',\n\t\tname: 'Invoice',\n\t\tcomponent: InvoiceViewer,\n\t\tprops: true,\n\t\tmeta: {\n\t\t\tinsecure: true,\n\t\t},\n\t},\n\t{\n\t\tpath: '/integrations/plaid/oauth',\n\t\tname: 'PlaidOAuth',\n\t\tcomponent: PlaidOAuthHandler,\n\t\tmeta: {\n\t\t\tinsecure: true,\n\t\t},\n\t},\n\t{\n\t\tpath: '/integrations/plaid/link',\n\t\tname: 'PlaidLink',\n\t\tcomponent: PlaidLinkHandler,\n\t\tprops: (route) => ({\n\t\t\tsessionToken: route.query.sessionToken,\n\t\t\tpod: route.query.pod\n\t\t}),\n\t\tmeta: {\n\t\t\tinsecure: true,\n\t\t},\n\t},\n\t{\n\t\tpath: '/payment',\n\t\tname: 'PaymentRoute',\n\t\tcomponent: Payment,\n\t\tmeta: {\n\t\t\tinsecure: true,\n\t\t},\n\t},\n]","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isReady)?_c('div',{staticClass:\"fill-height column-format\"},[_c('h-header',{scopedSlots:_vm._u([{key:\"filter\",fn:function(){return [_c('div',{staticClass:\"row-format\",staticStyle:{\"flex-wrap\":\"wrap\"}},[(_vm.view === 'list')?_c('v-text-field',{staticStyle:{\"font-size\":\"14px\",\"width\":\"200px\"},attrs:{\"dense\":\"\",\"hide-details\":\"\",\"prepend-icon\":\"$filter\",\"placeholder\":_vm.$t('global.filter'),\"clearable\":\"\"},on:{\"change\":_vm.handleFilterChange},model:{value:(_vm.filter),callback:function ($$v) {_vm.filter=$$v},expression:\"filter\"}}):_vm._e(),_c('v-select',{staticClass:\"ml-3\",staticStyle:{\"width\":\"200px\"},attrs:{\"clearable\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"items\":_vm.dateOptions,\"placeholder\":_vm.$t('global.date')},on:{\"change\":_vm.handleDateFilterChange},model:{value:(_vm.dateFilter),callback:function ($$v) {_vm.dateFilter=$$v},expression:\"dateFilter\"}})],1)]},proxy:true}],null,false,1064076849)}),_c('div',{staticClass:\"show-scrollbar\",staticStyle:{\"height\":\"var(--vh)\"}},[_c('timer-event-table',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.view === 'list'),expression:\"view === 'list'\"}],attrs:{\"timer-events\":_vm.timerEvents,\"filter\":_vm.filter}}),_c('timer-event-charts',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.view === 'reports'),expression:\"view === 'reports'\"}],attrs:{\"timer-events\":_vm.timerEvents,\"earliest\":_vm.earliest,\"latest\":_vm.latest}})],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import HttpClient from '@/services/HttpClient';\nimport store from '@/store';\n\nexport default class TimerEventService {\n\thttpClient;\n\n\tconstructor() {\n\t\tthis.httpClient = new HttpClient();\n\t}\n\n\tgetTimerEvents(earliest, latest) {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/timer`, {\n\t\t\t\tparams: {\n\t\t\t\t\tearliest: earliest ? earliest.toISO() : null,\n\t\t\t\t\tlatest: latest ? latest.toISO() : null,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\n\tdownloadTimerEvents(earliest, latest){\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/timer/download`, {\n\t\t\t\tresponseType: 'blob',\n\t\t\t\tparams: {\n\t\t\t\t\tearliest: earliest,\n\t\t\t\t\tlatest: latest,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"ma-4\"},[_c('div',{staticClass:\"mt-4\"},[_c('v-data-table',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"id\":\"timer-events-table\",\"headers\":_vm.headers,\"sort-by\":\"dateTime\",\"sort-desc\":true,\"must-sort\":true,\"items\":_vm.fixedUpEvents,\"disable-pagination\":true,\"hide-default-footer\":true,\"mobile-breakpoint\":200},scopedSlots:_vm._u([{key:\"item.invoiced\",fn:function({ item }){return [_c('div',{staticClass:\"brand-semilight font-12\",domProps:{\"innerHTML\":_vm._s(_vm.getStatus(item))},on:{\"click\":function($event){$event.stopPropagation();return _vm.openInvoice(item.invoiceId)}}})]}},{key:\"item.timerStart\",fn:function({ item }){return [_c('div',{staticStyle:{\"white-space\":\"nowrap\"}},[_vm._v(\" \"+_vm._s(item.dateDisplay)+\" \")])]}},{key:\"item.timeWorkedSortable\",fn:function({ item }){return [_c('div',{staticClass:\"time-worked text-end\",staticStyle:{\"text-wrap\":\"none\"}},[_vm._v(\" \"+_vm._s(item.timeWorked)+\" \")])]}},{key:\"item.projectName\",fn:function({ item }){return [_c('div',[_vm._v(_vm._s(_vm._f(\"empty\")(item.projectName)))])]}},{key:\"item.deliverableName\",fn:function({ item }){return [_c('div',[_vm._v(\" \"+_vm._s(_vm._f(\"empty\")(item.deliverableName))+\" \")])]}},{key:\"item.notes\",fn:function({ item }){return [_c('div',[_vm._v(\" \"+_vm._s(_vm._f(\"empty\")(item.notes))+\" \")])]}},{key:\"no-data\",fn:function(){return [_vm._v(\" \"+_vm._s(_vm.$t('timetrack.time-entries.no-timetrack'))+\" \")]},proxy:true}])},[_c('template',{slot:\"body.append\"},[_c('tr',[_c('td'),_c('th',{staticClass:\"total text-end\"},[_c('span',{staticClass:\"font-14\"},[_vm._v(_vm._s(this.$t('timetrack.time-entries.total')))])]),_c('td',[_c('div',{staticClass:\"time-worked text-end\"},[_vm._v(_vm._s(_vm.timeWorkedTotal))])]),_c('td'),_c('td'),_c('td')])])],2)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"ma-4\">\n\t\t<div class=\"mt-4\">\n\t\t\t<v-data-table\n\t\t\t\tid=\"timer-events-table\"\n\t\t\t\t:headers=\"headers\"\n\t\t\t\tsort-by=\"dateTime\"\n\t\t\t\t:sort-desc=\"true\"\n\t\t\t\t:must-sort=\"true\"\n\t\t\t\t:items=\"fixedUpEvents\"\n\t\t\t\t:disable-pagination=\"true\"\n\t\t\t\t:hide-default-footer=\"true\"\n\t\t\t\tstyle=\"cursor: pointer\"\n\t\t\t\t:mobile-breakpoint=\"200\"\n\t\t\t>\n\t\t\t\t<template v-slot:item.invoiced=\"{ item }\">\n\t\t\t\t\t<div class=\"brand-semilight font-12\" @click.stop=\"openInvoice(item.invoiceId)\" v-html=\"getStatus(item)\"></div>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-slot:item.timerStart=\"{ item }\">\n\t\t\t\t\t<div style=\"white-space: nowrap\">\n\t\t\t\t\t\t{{ item.dateDisplay }}\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-slot:item.timeWorkedSortable=\"{ item }\">\n\t\t\t\t\t<div class='time-worked text-end' style=\"text-wrap: none\">\n\t\t\t\t\t\t{{ item.timeWorked }}\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-slot:item.projectName=\"{ item }\">\n\t\t\t\t\t<div>{{ item.projectName | empty }}</div>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-slot:item.deliverableName=\"{ item }\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{{ item.deliverableName | empty }}\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-slot:item.notes=\"{ item }\">\n\t\t\t\t\t<div>\n\t\t\t\t\t\t{{ item.notes | empty }}\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-slot:no-data>\n\t\t\t\t\t{{ $t('timetrack.time-entries.no-timetrack') }}\n\t\t\t\t</template>\n\n\t\t\t\t<template slot=\"body.append\">\n\t\t\t\t\t<tr>\n\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t<th class=\"total text-end\"><span class=\"font-14\">{{ this.$t('timetrack.time-entries.total') }}</span></th>\n\t\t\t\t\t\t<td><div class=\"time-worked text-end\">{{timeWorkedTotal}}</div></td>\n\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t<td></td>\n\t\t\t\t\t\t<td></td>\n\t\t\t\t\t</tr>\n\t\t\t\t</template>\n\t\t\t</v-data-table>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport { DateTime } from 'luxon';\n  import InvoiceDetails from '@/modules/invoices/InvoiceDetails';\n\n\texport default {\n\t\tname: 'TimerEventTable',\n\t\tcomponents: {},\n\t\tprops: ['timerEvents','filter'],\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tDateTime: DateTime,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tmethods: {\n\t\t\tgetStatus(event) {\n\t\t\t\tlet background, color, label;\n\n\t\t\t\tif (event.invoiceId) {\n\t\t\t\t\tbackground = '--v-success_10-base';\n\t\t\t\t\tcolor = '--v-success';\n\t\t\t\t\tlabel = 'Billed';\n\t\t\t\t} else {\n\t\t\t\t\tlabel = '--';\n\t\t\t\t}\n\n\t\t\t\treturn `<div class=\"invoice-status\" style=\"--color:var(${color});--background:var(${background})\">${label}</div>`;\n\t\t\t},\n\n      openInvoice: function(invoiceId) {\n        if(!invoiceId){\n          return;\n        }\n\n        let binding = {\n          invoiceId: invoiceId,\n        };\n        this.$store.state.globalModalController\n            .openModal(InvoiceDetails, binding, true, true)\n            .then(() => this.getInvoices());\n      },\n\t\t},\n\n\t\tfilters: {\n\t\t\tempty: function(value) {\n\t\t\t\tif (!value) return '--';\n\t\t\t\treturn value;\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tfixedUpEvents: function() {\n\t\t\t\tlet result = [...this.timerEvents];\n\n\t\t\t\tresult.forEach((item) => {\n\t\t\t\t\tlet timerStart = DateTime.fromISO(item.timerStart);\n          let timerEnd = timerStart.plus({seconds: item.duration});\n\t\t\t\t\titem.dateDisplay = timerStart.toFormat('DD');\n\t\t\t\t\titem.duration = timerEnd.diff(timerStart, ['hours', 'minutes', 'seconds', 'milliseconds']);\n\t\t\t\t\titem.timeWorkedSortable = timerEnd.diff(timerStart,['seconds']).seconds;\n\t\t\t\t\titem.timeWorked = item.duration.toFormat('h:mm:ss'); // Table display\n          item.invoiced = !!item.invoiceId;\n          item.deliverableOrTicket = (item.deliverableName ? item.deliverableName : '') + (item.ticketName ? item.ticketName : '');\n\t\t\t\t});\n\n\t\t\t\tif (!this.filter) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\n\t\t\t\tlet search = this.filter.toLowerCase();\n\n\t\t\t\treturn result.filter((item) => {\n\t\t\t\t\tif (item.projectName && item.projectName.toLowerCase().includes(search)) {\n\t\t\t\t\t\treturn true;\n          }else if (item.deliverableName && item.deliverableName.toLowerCase().includes(search)) {\n            return true;\n          }else if (item.ticketName && item.ticketName.toLowerCase().includes(search)) {\n            return true;\n\t\t\t\t\t}else if (item.notes && item.notes.toLowerCase().includes(search)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\ttimeWorkedTotal: function() {\n\t\t\t\tlet seconds = this.fixedUpEvents.reduce((a, b) => a + (b.timeWorkedSortable || 0), 0);\n\t\t\t\tlet starty = DateTime.fromSeconds(0);\n\t\t\t\tlet endy = DateTime.fromSeconds(seconds);\n\t\t\t\tlet duration = endy.diff(starty, ['hours','minutes','seconds']);\n\t\t\t\treturn duration.toFormat('h:mm:ss');\n\t\t\t},\n\n\t\t\theaders: function() {\n\t\t\t\treturn [\n\t\t\t\t\t{ text: this.$t('timetrack.time-entries.status'), value: 'invoiced' },\n\t\t\t\t\t{ text: this.$t('global.date'), value: 'timerStart' },\n\t\t\t\t\t{ text: this.$t('timetrack.time-entries.time-worked'), value: 'timeWorkedSortable' },\n\t\t\t\t\t{ text: this.$t('timetrack.time-entries.project'), value: 'projectName' },\n\t\t\t\t\t{ text: this.$t('timetrack.time-entries.deliverable'), value: 'deliverableOrTicket' },\n\t\t\t\t\t{ text: this.$t('timetrack.time-entries.notes'), value: 'notes' },\n\t\t\t\t];\n\t\t\t},\n\t\t},\n\n\t\twatch: {},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.invoice-status {\n\t\twidth: fit-content;\n\t\tpadding: 4px 8px;\n\t\tflex: none;\n\t\torder: 0;\n\t\tflex-grow: 0;\n\t\tbackground-color: var(--background);\n\t\tcolor: var(--color);\n\t\tborder-radius: 4px;\n\t\twhite-space: nowrap;\n\t}\n\t#timer-events-table {\n\t\t.time-worked {\n\t\t\tmax-width: 140px;\n\t\t\t//color: var(--v-gray_80-base);\n\t\t}\n\t\t.total {\n\t\t\tcolor: var(--v-gray_80-base);\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimerEventTable.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimerEventTable.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TimerEventTable.vue?vue&type=template&id=c15a31e2\"\nimport script from \"./TimerEventTable.vue?vue&type=script&lang=js\"\nexport * from \"./TimerEventTable.vue?vue&type=script&lang=js\"\nimport style0 from \"./TimerEventTable.vue?vue&type=style&index=0&id=c15a31e2&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VDataTable})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"ma-0\",attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"row-format mx-8\",staticStyle:{\"flex-wrap\":\"wrap\"}},[_c('div',{staticClass:\"kpi-box mr-3 mt-3\"},[_c('div',{staticClass:\"fit text-left\",staticStyle:{\"white-space\":\"nowrap\"}},[_vm._v(_vm._s(this.$t('timetrack.reports.total-time')))]),_c('div',{staticClass:\"font-24 brand-medium fit mt-1\"},[_vm._v(_vm._s(_vm.$formatters.formatSeconds(_vm.metrics.totalTime)))])]),_c('div',{staticClass:\"kpi-box mr-3 mt-3\"},[_c('div',{staticClass:\"fit text-left\",staticStyle:{\"white-space\":\"nowrap\"}},[_vm._v(_vm._s(this.$t('timetrack.reports.avg-month' )))]),_c('div',{staticClass:\"font-24 brand-medium fit mt-1\"},[_vm._v(_vm._s(_vm.$formatters.formatSeconds(_vm.metrics.averageMonthTime)))])]),_c('div',{staticClass:\"kpi-box mr-3 mt-3\"},[_c('div',{staticClass:\"fit text-left\",staticStyle:{\"white-space\":\"nowrap\"}},[_vm._v(_vm._s(this.$t('timetrack.reports.avg-week')))]),_c('div',{staticClass:\"font-24 brand-medium fit mt-1\"},[_vm._v(_vm._s(_vm.$formatters.formatSeconds(_vm.metrics.averageWeekTime)))])])])])],1),_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('time-by-month',{attrs:{\"timer-events\":_vm.timerEvents}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"brand-medium font-12 mb-3 font-gray_70 mt-1\"},[_vm._v(_vm._s(_vm.$t('timetrack.reports.time-by-project')))]),_c('time-by-project',{attrs:{\"timer-events\":_vm.timerEvents}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"mx-2\"},[_c('pie-chart',{staticStyle:{\"height\":\"450px\"},attrs:{\"chart-data\":_vm.chartData,\"options\":_vm.options}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"mx-2\">\n\t\t<pie-chart :chart-data=\"chartData\" :options=\"options\" style=\"height:450px\"></pie-chart>\n\t</div>\n</template>\n\n<script>\n\timport PieChart from '@/modules/charts/PieChart';\n\n\texport default {\n\t\tname: 'TimeByProject',\n\n\t\tprops: ['timerEvents'],\n\n\t\tcomponents: { PieChart },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\toptions: {\n\t\t\t\t\tshowTooltips: true,\n\t\t\t\t\tresponsive: true,\n\t\t\t\t\tmaintainAspectRatio: false,\n\n\t\t\t\t\tlegend: {\n\t\t\t\t\t\tposition: 'bottom',\n\t\t\t\t\t},\n\n\t\t\t\t\telements: {},\n\n\t\t\t\t\ttooltips: {\n\t\t\t\t\t\tcallbacks: {\n\t\t\t\t\t\t\ttitle: function(tooltipItems) {\n\t\t\t\t\t\t\t\treturn tooltipItems[0].xLabel;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tlabel: function(tti, data) {\n\t\t\t\t\t\t\t\tlet seconds = data.datasets[tti.datasetIndex].data[tti.index];\n\n                let hours = Math.floor(seconds / 3600);\n                let minutes = Math.floor((seconds - hours * 3600) / 60);\n                seconds = Math.floor(seconds - hours * 3600 - minutes * 60);\n\n                if (hours < 10) {\n                  hours = '0' + hours;\n                }\n                if (minutes < 10) {\n                  minutes = '0' + minutes;\n                }\n                if (seconds < 10) {\n                  seconds = '0' + seconds;\n                }\n\n                let dataValue = hours + ':' + minutes + ':' + seconds;\n\n\t\t\t\t\t\t\t\treturn ` ${data.labels[tti.index]}: ${dataValue}`;\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tincrementOrSet(map, projectId, projectName, amount) {\n\t\t\t\tif (!map.has(projectId)) {\n\t\t\t\t\tmap.set(projectId, {\n\t\t\t\t\t\tprojectId: projectId,\n\t\t\t\t\t\tprojectName: projectName,\n\t\t\t\t\t\tamount: 0,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\tmap.get(projectId).amount += amount;\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tchartData: function() {\n\t\t\t\treturn {\n\t\t\t\t\tlabels: this.labels,\n\t\t\t\t\tdatasets: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: this.$t('timetrack.reports.time-by-project'),\n\t\t\t\t\t\t\tdata: this.timeWorked,\n\t\t\t\t\t\t\tbackgroundColor: this.$store.state.chartColors,\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tlabels: function() {\n\t\t\t\tlet labels = [];\n\n\t\t\t\tthis.timeByProject\n\t\t\t\t\t.filter((i) => i.amount > 0)\n\t\t\t\t\t.forEach((i) => {\n\t\t\t\t\t\tlabels.push(i.projectName ? i.projectName : this.$t('timetrack.no-projects'));\n\t\t\t\t\t});\n\n\t\t\t\treturn labels;\n\t\t\t},\n\n\t\t\ttimeWorked: function() {\n\t\t\t\tlet values = [];\n\n\t\t\t\tthis.timeByProject\n\t\t\t\t\t.filter((i) => i.amount > 0)\n\t\t\t\t\t.forEach((i) => {\n\t\t\t\t\t\tvalues.push(i.amount);\n\t\t\t\t\t});\n\n\t\t\t\treturn values;\n\t\t\t},\n\n\t\t\ttimeByProject: function() {\n\t\t\t\tif (!this.timerEvents.length) {\n\t\t\t\t\treturn [];\n\t\t\t\t}\n\n\t\t\t\tlet projectMap = new Map();\n\n\t\t\t\tfor (let i of this.timerEvents) {\n\t\t\t\t\tthis.incrementOrSet(projectMap, i.projectId, i.projectName, i.durationSeconds);\n\t\t\t\t}\n\n\t\t\t\tlet result = [];\n\t\t\t\tprojectMap.forEach((value) => result.push(value));\n\n\t\t\t\treturn result;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeByProject.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeByProject.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TimeByProject.vue?vue&type=template&id=76283038&scoped=true\"\nimport script from \"./TimeByProject.vue?vue&type=script&lang=js\"\nexport * from \"./TimeByProject.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"76283038\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"mx-2\"},[_c('line-chart',{staticStyle:{\"height\":\"350px\"},attrs:{\"chart-data\":_vm.chartData,\"options\":_vm.options}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"mx-2\">\n    <line-chart :chart-data=\"chartData\" :options=\"options\" style=\"height:350px;\"></line-chart>\n  </div>\n</template>\n\n<script>\nimport { DateTime } from 'luxon';\nimport LineChart from '@/modules/charts/LineChart';\n\nexport default {\n  name: 'TimeByMonth',\n\n  props: ['timerEvents'],\n\n  components: {LineChart},\n\n  data: function() {\n    return {\n      options: {\n        showTooltips: true,\n        responsive: true,\n        maintainAspectRatio: false,\n\n        elements: {\n          point: {\n            radius: 5,\n          },\n          line: {\n            tension: 0.2\n          }\n        },\n        scales: {\n          xAxes: [\n            {\n              display: true,\n              ticks: {\n                autoSkip: true,\n                //maxTicksLimit: 2,\n                maxRotation: 0,\n                minRotation: 0,\n                callback: function(value) {\n                  return value;\n                },\n              },\n            },\n          ],\n          yAxes: [\n            {\n              display: true,\n              position: 'right',\n              ticks: {\n                autoSkip: true,\n                callback: function(value) {\n                  return value;\n                },\n              },\n            },\n          ],\n        },\n        tooltips: {\n          callbacks: {\n            title: function(tooltipItems) {\n              return tooltipItems[0].xLabel;\n            },\n            label: function(tti, data) {\n              return ` ${data.datasets[tti.datasetIndex].label}: ${tti.value}`;\n            },\n          },\n        },\n      },\n    };\n  },\n\n  mounted() {\n  },\n\n  beforeDestroy() {\n  },\n\n  methods: {\n    sortByDate: function(a, b) {\n      return a.timerStart.localeCompare(b.timerStart);\n    },\n  },\n\n  computed: {\n    chartData: function() {\n      return {\n        labels: this.labels,\n        datasets: [\n          {\n            label: this.$t('timetrack.reports.monthly-hours'),\n            backgroundColor: 'rgb(150, 152, 146,0.4)',\n            data: this.hours,\n          },\n        ],\n      };\n    },\n\n    labels: function(){\n      let labels = [];\n      this.timeByMonth.forEach(i => labels.push(i.label))\n      return labels;\n    },\n\n    hours: function(){\n      let values = [];\n      this.timeByMonth.forEach(i => values.push(i.totalHours));\n      return values;\n    },\n\n    timeByMonth: function() {\n      if(!this.timerEvents.length){\n        return []\n      }\n\n      let timerEvents = [...this.timerEvents];\n      timerEvents.sort(this.sortByDate);\n\n      let result = [];\n\n      let earliest = DateTime.fromISO(timerEvents[0].startDate).startOf('month');\n      let latest = DateTime.fromISO(timerEvents[timerEvents.length - 1].startDate).startOf('month');\n\n      let start = earliest;\n\n      while (start <= latest) {\n        result.push({\n          key: start.toISODate(),\n          date: start,\n          label: start.toFormat('MMM yy'),\n          totalSeconds: 0,\n          totalHours: 0,\n        });\n        start = start.plus({months:1});\n      }\n\n      for (let i of timerEvents) {\n        let key = i.startDate.startOf('month').toISODate();\n        let month = result.find(r => r.key === key);\n        month.totalSeconds = month.totalSeconds + i.durationSeconds;\n      }\n\n      result.forEach(r => {\n        r.totalHours = Math.round(r.totalSeconds / 60 / 60);\n      })\n\n      return result;\n    },\n  },\n\n};\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeByMonth.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeByMonth.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TimeByMonth.vue?vue&type=template&id=1ce8264a&scoped=true\"\nimport script from \"./TimeByMonth.vue?vue&type=script&lang=js\"\nexport * from \"./TimeByMonth.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1ce8264a\",\n  null\n  \n)\n\nexport default component.exports","<template>\n\t<v-container class=\"ma-0\" fluid>\n    <v-row>\n      <v-col cols=\"12\">\n        <div class=\"row-format mx-8\" style=\"flex-wrap: wrap\">\n        <div class=\"kpi-box mr-3 mt-3\">\n          <div class=\"fit text-left\" style=\"white-space: nowrap\">{{ this.$t('timetrack.reports.total-time')}}</div>\n          <div class=\"font-24 brand-medium fit mt-1\">{{ $formatters.formatSeconds(metrics.totalTime) }}</div>\n        </div>\n        <div class=\"kpi-box mr-3 mt-3\">\n          <div class=\"fit text-left\" style=\"white-space: nowrap\">{{ this.$t('timetrack.reports.avg-month' )}}</div>\n          <div class=\"font-24 brand-medium fit mt-1\">{{ $formatters.formatSeconds(metrics.averageMonthTime) }}</div>\n        </div>\n        <div class=\"kpi-box mr-3 mt-3\">\n          <div class=\"fit text-left\" style=\"white-space: nowrap\">{{ this.$t('timetrack.reports.avg-week') }}</div>\n          <div class=\"font-24 brand-medium fit mt-1\">{{ $formatters.formatSeconds(metrics.averageWeekTime) }}</div>\n        </div>\n        </div>\n      </v-col>\n    </v-row>\n    <v-row>\n      <v-col cols=\"12\"><time-by-month :timer-events=\"timerEvents\"></time-by-month></v-col>\n      <v-col cols=\"12\">\n        <div class=\"brand-medium font-12 mb-3 font-gray_70 mt-1\">{{ $t('timetrack.reports.time-by-project') }}</div>\n        <time-by-project :timer-events=\"timerEvents\"></time-by-project>\n      </v-col>\n    </v-row>\n  </v-container>\n</template>\n\n<script>\n  import { DateTime } from 'luxon';\n  import TimeByProject from '@/modules/timetracking/charts/TimeByProject';\n  import TimeByMonth from '@/modules/timetracking/charts/TimeByMonth';\n\n  export default {\n\t\tname: 'TimerEventCharts',\n\n\t\tprops: ['timerEvents','earliest','latest'],\n\n\t\tcomponents: { TimeByProject, TimeByMonth},\n\n\t\tdata: function() {\n\t\t\treturn {};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n      sortByDate: function(a,b){\n        return a.timerStart.localeCompare(b.timerStart);\n      }\n\t\t},\n\n\t\tcomputed: {\n      metrics: function() {\n        let result = {\n          totalTime: 0,\n          averageMonthTime: 0,\n          averageWeekTime: 0,\n        };\n\n        if(this.timerEvents.length === 0){\n          return result;\n        }\n\n        let events = [...this.timerEvents];\n        events.sort(this.sortByDate);\n\n        let weeks = new Map();\n        let months = new Map();\n        let earliestWeek, earliestMonth, latestWeek, latestMonth;\n\n        if(this.earliest){\n          earliestWeek = this.earliest.startOf('week');\n          earliestMonth = this.earliest.startOf('month');\n        }else{\n          earliestWeek = DateTime.fromISO(events[0].timerStart).startOf('week');\n          earliestMonth = DateTime.fromISO(events[0].timerStart).startOf('month');\n        }\n\n        if(this.latest){\n          latestWeek = this.latest.startOf('week');\n          latestMonth = this.latest.startOf('month');\n        }else{\n          latestWeek = DateTime.fromISO(events[events.length-1].timerStart).startOf('week')\n          latestMonth = DateTime.fromISO(events[events.length-1].timerStart).startOf('month')\n        }\n\n        while(earliestWeek <= latestWeek){\n          weeks.set(earliestWeek.toISODate(),0);\n          earliestWeek = earliestWeek.plus({week:1})\n        }\n\n        while(earliestMonth <= latestMonth){\n          months.set(earliestMonth.toISODate(),0);\n          earliestMonth = earliestMonth.plus({month:1})\n        }\n\n        events.forEach(item => {\n          result.totalTime = result.totalTime + item.durationSeconds;\n\n          let monthKey = item.startDate.startOf('month').toISODate();\n          let weekKey = item.startDate.startOf('week').toISODate();\n\n          months.set(monthKey,months.get(monthKey) + item.durationSeconds);\n          weeks.set(weekKey,weeks.get(weekKey) + item.durationSeconds);\n        })\n\n        let monthCount = 0;\n        let monthSum = 0;\n\n        let weekCount = 0;\n        let weekSum = 0;\n\n        months.forEach((v) => {\n          monthCount++;\n          monthSum += v;\n        })\n\n        weeks.forEach((v) => {\n          weekCount++;\n          weekSum += v;\n        })\n\n        result.averageWeekTime = weekSum/weekCount;\n        result.averageMonthTime = monthSum/monthCount;\n\n        return result;\n      },\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimerEventCharts.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimerEventCharts.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TimerEventCharts.vue?vue&type=template&id=240d41e9&scoped=true\"\nimport script from \"./TimerEventCharts.vue?vue&type=script&lang=js\"\nexport * from \"./TimerEventCharts.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"240d41e9\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VRow})\n","<template>\n\t<div class=\"fill-height column-format\" v-if=\"isReady\">\n\t\t<h-header>\n\t\t\t<template v-slot:filter>\n\t\t\t\t<div class=\"row-format\" style=\"flex-wrap: wrap\">\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\tv-if=\"view === 'list'\"\n\t\t\t\t\t\tdense\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tprepend-icon=\"$filter\"\n\t\t\t\t\t\t:placeholder=\"$t('global.filter')\"\n\t\t\t\t\t\tstyle=\"font-size:14px; width:200px\"\n\t\t\t\t\t\tv-model=\"filter\"\n\t\t\t\t\t\tclearable\n\t\t\t\t\t\t@change=\"handleFilterChange\"\n\t\t\t\t\t></v-text-field>\n\t\t\t\t\t<v-select\n\t\t\t\t\t\tclearable\n\t\t\t\t\t\tdense\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tv-model=\"dateFilter\"\n\t\t\t\t\t\t:items=\"dateOptions\"\n\t\t\t\t\t\t:placeholder=\"$t('global.date')\"\n\t\t\t\t\t\tclass=\"ml-3\"\n\t\t\t\t\t\tstyle=\"width:200px\"\n\t\t\t\t\t\t@change=\"handleDateFilterChange\"\n\t\t\t\t\t></v-select>\n\t\t\t\t</div>\n\t\t\t</template>\n\t\t</h-header>\n    <div class=\"show-scrollbar\" style=\"height: var(--vh)\">\n      <timer-event-table v-show=\"view === 'list'\" :timer-events=\"timerEvents\" :filter=\"filter\"></timer-event-table>\n      <timer-event-charts v-show=\"view === 'reports'\" :timer-events=\"timerEvents\" :earliest=\"earliest\" :latest=\"latest\"></timer-event-charts>\n    </div>\n\t</div>\n</template>\n\n<script>\n\timport HHeader from '@/components/HHeader';\n\timport FilterHelpers from '@/utils/FilterHelpers';\n\timport TimerEventService from '@/modules/timetracking/TimerEventService';\n\timport TimerEventTable from '@/modules/timetracking/TimerEventTable';\n\timport TimerEventCharts from '@/modules/timetracking/TimerEventCharts';\n\timport { DateTime } from 'luxon';\n\n\texport default {\n\t\tname: 'TimerEventList',\n\n\t\tcomponents: { TimerEventCharts, TimerEventTable, HHeader },\n\n    props: ['v'],\n\n\t\tmixins: [],\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tfilter: null,\n\t\t\t\tdateFilter: null,\n\t\t\t\tearliest: null,\n\t\t\t\tlatest: null,\n\t\t\t\tview: 'list',\n                isReady: false,\n\t\t\t\ttimerEvents: [],\n\t\t\t\ttimerEventService: new TimerEventService(),\n\n\t\t\t\tdateOptions: FilterHelpers.getDateOptions([\n\t\t\t\t\t'this-month',\n\t\t\t\t\t'last-month',\n\t\t\t\t\t'last-last-month',\n\t\t\t\t\t'past-60-days',\n\t\t\t\t\t'past-90-days',\n\t\t\t\t\t'past-6-months',\n\t\t\t\t\t'past-12-months',\n\t\t\t\t\t'this-year',\n\t\t\t\t\t'last-year',\n\t\t\t\t]),\n\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n      if (this.v) {\n        this.view = this.v;\n      }\n\n\t\t\tthis.getDateFilter();\n\t\t\tthis.init();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n      setView: function(view) {\n        this.view = view;\n        window.history.pushState({}, document.title, this.$router.currentRoute.path + `?v=${view}`);\n      },\n\n\t\t\tinit: function(){\n\t\t\t\tthis.setEarliestAndLatest();\n\t\t\t\tthis.getTimerEvents();\n\t\t\t},\n\n\t\t\thandleFilterChange(event) {\n\t\t\t\tthis.setFilter(event);\n\t\t\t},\n\n\t\t\tgetFilter: function(){\n\t\t\t\tlet filter = sessionStorage.getItem('TIMETRACK_FILTER');\n\t\t\t\tif(filter){\n\t\t\t\t\tthis.filter = JSON.parse(filter);\n\t\t\t\t}else{\n\t\t\t\t\tthis.setFilter();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsetFilter: function(filter){\n\t\t\t\tthis.filter = filter;\n\t\t\t\tlocalStorage.setItem('TIMETRACK_FILTER',JSON.stringify(filter));\n\t\t\t},\n\n\t\t\thandleDateFilterChange(event) {\n\t\t\t\tthis.setDateFilter(event);\n\t\t\t\tthis.init();\n\t\t\t},\n\n\t\t\tgetDateFilter: function(){\n\t\t\t\tlet dateFilter = localStorage.getItem('TIMETRACK_DATE_FILTER');\n\t\t\t\tconsole.log('getFilter');\n\t\t\t\tif(dateFilter){\n\t\t\t\t\tconsole.log('hello');\n\t\t\t\t\tthis.dateFilter = JSON.parse(dateFilter);\n\t\t\t\t}else{\n\t\t\t\t\tconsole.log('setting, yo');\n\t\t\t\t\tthis.setDateFilter('past-60-days');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsetDateFilter: function(filter){\n\t\t\t\tthis.dateFilter = filter;\n\t\t\t\tlocalStorage.setItem('TIMETRACK_DATE_FILTER',JSON.stringify(filter));\n\t\t\t},\n\n\n\t\t\tgetTimerEvents: function() {\n\t\t\t\tthis.timerEventService.getTimerEvents(this.earliest, this.latest)\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tthis.timerEvents.splice(0, this.timerEvents.length);\n\t\t\t\t\t\tthis.timerEvents.push(...res.data);\n\t\t\t\t\t\tthis.timerEvents.forEach(item => {\n\t\t\t\t\t\t\titem.startDate = DateTime.fromISO(item.timerStart);\n              item.endDate = item.startDate.plus({seconds: item.duration});\n              item.durationSeconds = item.endDate.diff(item.startDate,['seconds']).seconds;\n\t\t\t\t\t\t});\n\t\t\t\t\t\tthis.isReady = true;\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\tsetEarliestAndLatest: function() {\n\t\t\t\tif (this.dateFilter) {\n\t\t\t\t\tlet helper = FilterHelpers.getEarliestAndLatest(this.dateFilter, false);\n\t\t\t\t\tthis.earliest = helper.earliest;\n\t\t\t\t\tthis.latest = helper.latest;\n\t\t\t\t} else {\n\t\t\t\t\tthis.earliest = null;\n\t\t\t\t\tthis.latest = null;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n      v: function(val){\n        this.setView(val);\n      }\n    },\n\n\t\tcomputed: {\n      pages: function() {\n        let result = [\n              {label: this.$t('timetrack.time-entries.heading'), value: 'list'},\n              {label: this.$t('timetrack.reports.heading'), value: 'reports'},\n            ];\n            return result;\n      },\n    },\n\t};\n</script>\n\n<style lang=\"scss\">\n\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimerEventList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimerEventList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TimerEventList.vue?vue&type=template&id=45b9dc67\"\nimport script from \"./TimerEventList.vue?vue&type=script&lang=js\"\nexport * from \"./TimerEventList.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VSelect,VTextField})\n","import TimerEventList from '@/modules/timetracking/TimerEventList';\n\nexport default [\n\t{\n\t\tpath: '/time',\n\t\tname: 'TimerEventList',\n\t\tcomponent: TimerEventList,\n\t\tprops: (route) => ({\n\t\t\tv: route.query.v,\n\t\t}),\n\t},\n]","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"proposal-viewer\",staticStyle:{\"width\":\"100%\",\"background-color\":\"var(--v-gray_10-base)\"}},[_c('div',{staticClass:\"header-buttons d-print-none row-format centered gap-2 py-4\"},[(_vm.proposal)?_c('comments-menu',{attrs:{\"comments\":_vm.proposal.comments,\"proposal-id\":_vm.proposal.id,\"client-id\":_vm.proposal.clientId,\"proposal-service\":_vm.proposalService,\"client-mode\":true,\"viewed-timestamps\":_vm.proposal.viewedTimestamps}}):_vm._e(),(_vm.$vuetify.breakpoint.smAndUp)?_c('v-btn',{staticClass:\"primary-action\",on:{\"click\":function($event){return _vm.print()}}},[_c('div',{staticClass:\"row-format align-center\"},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"$paperClip\")]),_c('div',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.$t('proposals.print-save-pdf')))])],1)]):_vm._e(),_c('v-btn',{staticClass:\"primary-action\"},[_c('language-switcher',{attrs:{\"label\":_vm.$t('settings.language'),\"children\":_vm.countries.getCountriesTranslate(),\"icon\":\"translate\"},on:{\"selected\":function($event){return _vm.switchLocale($event)}}})],1)],1),(_vm.isReady)?_c('proposal-renderer',{attrs:{\"proposal\":_vm.proposal,\"account\":_vm.account,\"proposal-service\":_vm.proposalService,\"edit-mode\":false,\"pod-service\":null,\"client-service\":null,\"need-save\":false,\"saving\":false,\"client-mode\":true,\"is-locked\":_vm.isLocked,\"card-payment-failed\":_vm.cardPaymentFailed},on:{\"deliverable-selected\":function($event){return _vm.deliverableSelected($event)},\"client-signed\":function($event){return _vm.clientFinalized($event)},\"client-accepted\":function($event){return _vm.clientFinalized($event)}}}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import HttpClient from '@/services/HttpClient';\n\nexport default class ProposalViewerService {\n\thttpClient;\n\ttoken;\n\n\tconstructor(token, podUrl) {\n\t\tthis.httpClient = new HttpClient(podUrl, false);\n\t\tthis.token = token;\n\t}\n\n\tgetProposal() {\n\t\treturn this.httpClient\n\t\t\t.get('/api/docs/proposal', {\n\t\t\t\tparams: {\n\t\t\t\t\ttoken: this.token,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\texecuteProposal(result) {\n\t\treturn this.httpClient\n\t\t\t.post(`/api/docs/proposal/execute?token=${this.token}`, result)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tsendComment(clientId,proposalId,comment){\n\t\treturn this.httpClient\n\t\t\t.post(`/api/docs/proposal/comment?token=${this.token}`, comment)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tupdateComment(clientId,proposalId,comment){\n\t\treturn this.httpClient\n\t\t\t.put(`/api/docs/proposal/comment?token=${this.token}`,comment)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tdeleteComment(clientId,proposalId,commentId){\n\t\treturn this.httpClient\n\t\t\t.delete(`/api/docs/proposal/comment?token=${this.token}&commentId=${commentId}`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tsetLastViewed(){\n\t\treturn this.httpClient\n\t\t\t.post(`/api/docs/proposal/viewed?token=${this.token}`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetSignedUrl(clientId, proposalId, fileName) {\n\t\treturn this.httpClient\n\t\t\t.get(`/api/docs/proposal/files`, {\n\t\t\t\tparams: {\n\t\t\t\t\ttoken: this.token,\n\t\t\t\t\tclientId: clientId,\n\t\t\t\t\tproposalId: proposalId,\n\t\t\t\t\tfileName: fileName,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n}\n","<template>\n\t<div style=\"width: 100%; background-color: var(--v-gray_10-base)\" class=\"proposal-viewer\">\n\t\t<div class=\"header-buttons d-print-none row-format centered gap-2 py-4\">\n\t\t\t<comments-menu\n\t\t\t\tv-if=\"proposal\"\n\t\t\t\t:comments=\"proposal.comments\"\n\t\t\t\t:proposal-id=\"proposal.id\"\n\t\t\t\t:client-id=\"proposal.clientId\"\n\t\t\t\t:proposal-service=\"proposalService\"\n\t\t\t\t:client-mode=\"true\"\n\t\t\t\t:viewed-timestamps=\"proposal.viewedTimestamps\"\n\t\t\t></comments-menu>\n\t\t\t<v-btn v-if=\"$vuetify.breakpoint.smAndUp\" class=\"primary-action\" @click=\"print()\">\n\t\t\t\t<div class=\"row-format align-center\">\n\t\t\t\t\t<v-icon small>$paperClip</v-icon>\n\t\t\t\t\t<div class=\"ml-1\">{{ $t('proposals.print-save-pdf') }}</div>\n\t\t\t\t</div>\n\t\t\t</v-btn>\n\t\t\t<v-btn class=\" primary-action\">\n\t\t\t\t<language-switcher\n\t\t\t\t\t:label=\"$t('settings.language')\"\n\t\t\t\t\t:children=\"countries.getCountriesTranslate()\"\n\t\t\t\t\ticon=\"translate\"\n\t\t\t\t\t@selected=\"switchLocale($event)\"\n\t\t\t\t></language-switcher>\n\t\t\t</v-btn>\n\t\t</div>\n\t\t<proposal-renderer\n\t\t\tv-if=\"isReady\"\n\t\t\t:proposal=\"proposal\"\n\t\t\t:account=\"account\"\n\t\t\t:proposal-service=\"proposalService\"\n\t\t\t:edit-mode=\"false\"\n\t\t\t:pod-service=\"null\"\n\t\t\t:client-service=\"null\"\n\t\t\t:need-save=\"false\"\n\t\t\t:saving=\"false\"\n\t\t\t:client-mode=\"true\"\n\t\t\t:is-locked=\"isLocked\"\n\t\t\t:card-payment-failed=\"cardPaymentFailed\"\n\t\t\t@deliverable-selected=\"deliverableSelected($event)\"\n\t\t\t@client-signed=\"clientFinalized($event)\"\n\t\t\t@client-accepted=\"clientFinalized($event)\"\n\t\t></proposal-renderer>\n\t</div>\n</template>\n\n<script>\n\timport PubNub from 'pubnub';\n\timport qs from 'qs';\n\timport ProposalViewerService from './ProposalViewerService';\n\timport ProposalRenderer from '@/modules/proposal/proposal-renderer/ProposalRenderer';\n\timport CommentsMenu from '@/modules/proposal/proposal-renderer/CommentsMenu';\n\timport LanguageSwitcher from '@/components/LanguageSwitcher';\n\timport Countries from '@/modules/utils/Countries';\n\n\texport default {\n\t\tname: 'ProposalViewer.vue',\n\t\tcomponents: { CommentsMenu, ProposalRenderer, LanguageSwitcher },\n\n\t\tprops: ['id'],\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tcountries: new Countries(),\n\t\t\t\thttpClient: null,\n\t\t\t\ttoken: null,\n\t\t\t\tdocId: null,\n\t\t\t\tcontactId: null,\n\t\t\t\tproposal: null,\n\t\t\t\taccount: null,\n\t\t\t\tisReady: false,\n\t\t\t\tproposalService: null,\n\t\t\t\tselectedPackageIds: [],\n\t\t\t\ttheirSignature: null,\n\t\t\t\tpubNub: null,\n\t\t\t\tcardPaymentFailed: false,\n\t\t\t};\n\t\t},\n\n\t\tmounted: function() {\n\t\t\tthis.$vuetify.theme.dark = false;\n\t\t\tsetTimeout(() => (this.$vuetify.theme.dark = false), 50);\n\n\t\t\tif (this.id) {\n\t\t\t\tthis.token = this.id;\n\t\t\t\tthis.docId = this.id;\n\t\t\t\tthis.proposalService = new ProposalViewerService(this.token, this.$store.getters.getPodUrl);\n\t\t\t} else {\n\t\t\t\tlet queryString = qs.parse(self.location.search.slice(1));\n\t\t\t\tlet request = JSON.parse(atob(queryString.token.split('.')[0]));\n\t\t\t\tthis.token = queryString.token;\n\t\t\t\tthis.docId = request.docId;\n\t\t\t\tthis.contactId = request.contactId;\n\t\t\t\tthis.proposalService = new ProposalViewerService(this.token, request.podUrl);\n\t\t\t}\n\n\t\t\tthis.proposalService\n\t\t\t\t.getProposal()\n\t\t\t\t.then((res) => {\n\t\t\t\t\tthis.proposal = res.data;\n\t\t\t\t\tthis.account = this.proposal.accountMini;\n\t\t\t\t\tthis.$store.commit('setAccountId', this.proposal.accountId);\n\t\t\t\t\tthis.$store.commit('setUserId', this.contactId ? this.contactId : this.docId);\n\t\t\t\t\tthis.proposalService.setLastViewed();\n\t\t\t\t\tthis.isReady = true;\n\t\t\t\t\tthis.setupPubNub();\n\t\t\t\t})\n\t\t\t\t.catch((err) => {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tthis.notFound = true;\n\t\t\t\t\tthis.$store.commit('error', err.response.data.message);\n\t\t\t\t});\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t\tthis.proposalService.setLastViewed();\n\t\t},\n\n\t\tmethods: {\n\t\t\tprint: function() {\n\t\t\t\twindow.print();\n\t\t\t},\n\n\t\t\tsetupPubNub: function() {\n\t\t\t\tlet uuid = this.docId;\n\t\t\t\tlet authKey = this.contactId ? this.contactId : this.docId;\n\t\t\t\tlet channel = 'c-' + this.proposal.accountId + '.p-' + this.proposal.id;\n\n\t\t\t\tthis.pubNub = new PubNub({\n\t\t\t\t\tsubscribeKey: process.env.VUE_APP_PUBNUB_SUBSCRIBE,\n\t\t\t\t\tpublishKey: process.env.VUE_APP_PUBNUB_PUBLISH,\n\t\t\t\t\tuuid: uuid,\n\t\t\t\t\tauthKey: authKey,\n\t\t\t\t\tssl: true,\n\t\t\t\t});\n\n\t\t\t\tthis.pubNub.addListener({\n\t\t\t\t\tmessage: this.onMessage,\n\t\t\t\t});\n\n\t\t\t\tthis.pubNub.subscribe({\n\t\t\t\t\tchannels: [channel],\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tonMessage: function(msg) {\n\t\t\t\tthis.$store.state.eventBus.$emit(msg.channel, msg);\n\t\t\t},\n\n\t\t\tdeliverableSelected: function(deliverable) {\n\t\t\t\tif (this.proposal.allowMultipleDeliverables) {\n\t\t\t\t\tif (deliverable.selectedPackage) {\n\t\t\t\t\t\tthis.selectedPackageIds.push(deliverable.id);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet ix = this.selectedPackageIds.findIndex((p) => p === deliverable.id);\n\t\t\t\t\t\tif (ix > -1) {\n\t\t\t\t\t\t\tthis.selectedPackageIds.splice(ix, 1);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.selectedPackageIds.splice(0, this.selectedPackageIds.length);\n\t\t\t\t\tthis.selectedPackageIds.push(deliverable.id);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tclientFinalized: function(payload) {\n\t\t\t\tlet block = payload.block;\n\n\t\t\t\tif (this.requirePackageSelection && this.selectedPackageIds.length === 0) {\n\t\t\t\t\tthis.$store.commit('error', this.$t('error.package-not-selected'));\n\t\t\t\t} else {\n\t\t\t\t\tlet result = {\n\t\t\t\t\t\tselectedPackageIds: this.selectedPackageIds,\n\t\t\t\t\t\tcardTokenId: payload.cardTokenId,\n\t\t\t\t\t\tupFrontAmount: payload.upFrontAmount,\n\t\t\t\t\t};\n\n\t\t\t\t\tif (block.blockType === 'SignatureBlock') {\n\t\t\t\t\t\tresult.signature = block.them;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tresult.clientAccept = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\t\tthis.proposalService\n\t\t\t\t\t\t.executeProposal(result)\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\tthis.cardPaymentFailed = false;\n\t\t\t\t\t\t\tthis.proposal = res.data;\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\t\tif (result.cardTokenId) {\n\t\t\t\t\t\t\t\tthis.cardPaymentFailed = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tthis.$store.commit('error', err.response.data.message);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.finally(() => this.$store.commit('stopLoading'));\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tswitchLocale: function(lang) {\n\t\t\t\tlocalStorage.setItem('lang', lang);\n\t\t\t\tthis.$store.state.selectLang = lang;\n\t\t\t\tthis.$store.state.eventBus.$emit('lang-changed', lang);\n\t\t\t\twindow.location.reload();\n\t\t\t\tconsole.log('Im hit!');\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tsignatureBlock: function() {\n\t\t\t\tfor (let i = 0; i < this.proposal.contentBlocks.length; i++) {\n\t\t\t\t\tif (this.proposal.contentBlocks[i].blockType === 'SignatureBlock') {\n\t\t\t\t\t\treturn this.proposal.contentBlocks[i];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn null;\n\t\t\t},\n\n\t\t\tacceptBlock: function() {\n\t\t\t\tfor (let i = 0; i < this.proposal.contentBlocks.length; i++) {\n\t\t\t\t\tif (this.proposal.contentBlocks[i].blockType === 'AcceptBlock') {\n\t\t\t\t\t\treturn this.proposal.contentBlocks[i];\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn null;\n\t\t\t},\n\n\t\t\trequirePackageSelection: function() {\n\t\t\t\tif (this.proposal.forceAllDeliverables) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tlet deliverableCount = 0;\n\t\t\t\tfor (let i = 0; i < this.proposal.contentBlocks.length; i++) {\n\t\t\t\t\tif (this.proposal.contentBlocks[i].blockType === 'Deliverables') {\n\t\t\t\t\t\tdeliverableCount = deliverableCount + 1;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn deliverableCount > 1;\n\t\t\t},\n\n\t\t\tisLocked: function() {\n\t\t\t\tlet signature = this.signatureBlock;\n\t\t\t\tif (signature) {\n\t\t\t\t\treturn !this.$validations.isEmpty(signature.them.signature);\n\t\t\t\t} else if (this.acceptBlock) {\n\t\t\t\t\treturn this.acceptBlock.accepted ? true : false;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t* {\n\t\t::-webkit-scrollbar {\n\t\t\tdisplay: unset !important;\n\t\t}\n\t}\n\n\t.header-buttons {\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\n\t\t@media (max-width: 500px) {\n\t\t\tflex-direction: column;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProposalViewer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProposalViewer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProposalViewer.vue?vue&type=template&id=488d5c02\"\nimport script from \"./ProposalViewer.vue?vue&type=script&lang=js\"\nexport * from \"./ProposalViewer.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProposalViewer.vue?vue&type=style&index=0&id=488d5c02&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"fill-height column-format\"},[_c('h-header'),(_vm.filteredProposalList.length)?_c('v-data-table',{staticClass:\"pointer\",attrs:{\"items\":_vm.filteredProposalList,\"headers\":_vm.headers,\"hide-default-footer\":true,\"height\":\"calc(100vh - 150px)\",\"fixed-header\":\"\"},on:{\"click:row\":_vm.openAgreement},scopedSlots:_vm._u([{key:\"item.date\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm.DateTime.fromISO(item.date).toLocaleString(_vm.DateTime.DATE_MED))+\" \")]}},{key:\"item.dateCompleted\",fn:function({ item }){return [(item.dateCompleted)?_c('span',[_vm._v(_vm._s(_vm.DateTime.fromISO(item.dateCompleted).toLocaleString(_vm.DateTime.DATE_MED)))]):_c('span',[_vm._v(\"--\")])]}},{key:\"item.status\",fn:function({ item }){return [_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.formatStatus(item.status))}})]}},{key:\"item.lastEvent\",fn:function({ item }){return [(item.lastEvent)?_c('div',[_vm._v(\" \"+_vm._s(item.lastEvent.event)+\" - \"+_vm._s(_vm.DateTime.fromISO(item.lastEvent.timestamp).toLocaleString(_vm.DateTime.DATETIME_MED))+\" \")]):_c('div',[_vm._v(\"--\")])]}}],null,false,2802549359)}):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import HttpClient from '@/services/HttpClient';\nimport store from '@/store';\n\nexport default class AgreementService {\n\thttpClient;\n\tproposal;\n\n\tconstructor() {\n\t\tthis.httpClient = new HttpClient();\n\t}\n\n\tgetAgreementList(){\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/agreements`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n}\n","<template>\n  <div class=\"fill-height column-format\">\n    <h-header></h-header>\n    <v-data-table\n        v-if=\"filteredProposalList.length\"\n        :items=\"filteredProposalList\"\n        :headers=\"headers\"\n        class=\"pointer\"\n        :hide-default-footer=\"true\"\n        height=\"calc(100vh - 150px)\"\n        fixed-header\n        @click:row=\"openAgreement\"\n    >\n      <template v-slot:item.date=\"{ item }\">\n        {{ DateTime.fromISO(item.date).toLocaleString(DateTime.DATE_MED) }}\n      </template>\n      <template v-slot:item.dateCompleted=\"{ item }\">\n        <span v-if=\"item.dateCompleted\">{{ DateTime.fromISO(item.dateCompleted).toLocaleString(DateTime.DATE_MED) }}</span>\n        <span v-else>--</span>\n      </template>\n      <template v-slot:item.status=\"{ item }\">\n        <div v-html=\"formatStatus(item.status)\"></div>\n      </template>\n      <template v-slot:item.lastEvent=\"{ item }\">\n        <div v-if=\"item.lastEvent\">\n          {{ item.lastEvent.event }} -\n          {{ DateTime.fromISO(item.lastEvent.timestamp).toLocaleString(DateTime.DATETIME_MED) }}\n        </div>\n        <div v-else>--</div>\n      </template>\n    </v-data-table>\n  </div>\n</template>\n\n<script>\nimport ProposalService from '@/modules/proposal/ProposalService';\nimport { DateTime } from 'luxon';\nimport ProposalDetails from '@/modules/proposal/ProposalDetails';\nimport HHeader from '@/components/HHeader.vue';\nimport AgreementService from '@/modules/agreements/AgreementService';\n\nexport default {\n  name: 'ProposalList',\n\n  components: {HHeader},\n\n  mixins: [],\n\n  data: function () {\n    return {\n      proposalService: new ProposalService(),\n      agreementService: new AgreementService(),\n      isReady: false,\n      proposalList: [],\n      agreementList: [],\n      DateTime: DateTime,\n    };\n  },\n\n  mounted() {\n    this.getProposals();\n    this.getAgreements();\n  },\n\n  beforeDestroy() {\n  },\n\n  methods: {\n    getAgreements: function(){\n      this.agreementService.getAgreementList().then((res) => {\n        this.agreementList.splice(0, this.agreementList.length);\n        this.agreementList.push(...res.data);\n      })\n    },\n\n    getProposals: function () {\n      this.proposalService.getProposalList().then((res) => {\n        this.proposalList.splice(0, this.proposalList.length);\n        this.proposalList.push(...res.data);\n        this.isReady = true;\n      });\n    },\n\n    openAgreement: function(agreement){\n      if(agreement.version === 1){\n        this.openProposal(agreement.id);\n      }else{\n        window.open(`/document/${agreement.id}${agreement.signer ? '.' + agreement.signer.id : ''}`,'_blank');\n      }\n    },\n\n    openProposal: function (id) {\n      let binding = {\n        proposalId: id,\n      }\n      this.$store.state.globalModalController\n          .openModal(ProposalDetails, binding, false, true)\n          .then(() => this.getProposals())\n    },\n\n    sortByDate: function (a, b) {\n      return b.date.localeCompare(a.date);\n    },\n\n    formatStatus(status) {\n      let background, color;\n\n      if (status === 'Signed' || status === 'Fully Executed') {\n        background = '--v-success_10-base';\n        color = '--v-success-base';\n      } else if (status === 'Declined') {\n        background = '--v-alert_10-base';\n        color = '--v-alert-base';\n      } else if (status === 'Sent') {\n        background = '--v-warning_10-base';\n        color = '--v-warning-base';\n      } else {\n        background = '--v-gray_20-base';\n        color = '--v-gray_80-base';\n      }\n\n      if (status === 'Sent') {\n        status = this.$t('proposals.status.ready-for-signature')\n      } else if (status === 'Signed') {\n        status = this.$t('proposals.status.signed')\n      } else if (status === 'Fully Executed') {\n        status = this.$t('proposals.status.fully-executed')\n      } else if (status === 'declined') {\n        status = this.$t('proposals.status.declined')\n      }\n\n\n      return `<div class=\"proposal-status\" style=\"--color:var(${color});--background:var(${background})\">${status}</div>`;\n    },\n  },\n\n  watch: {},\n\n  computed: {\n    headers: function() {\n      return [\n        { text: 'Name', value: 'name' },\n        { text: 'Date created', value: 'date' },\n        { text: 'Date signed', value: 'dateCompleted' },\n        { text: 'Status', value: 'status' }\n      ];\n    },\n\n    normalizedProposals: function() {\n      let result = [];\n\n      this.proposalList.forEach((p) => {\n        result.push({\n          id: p.id,\n          name: p.coverPage?.heading,\n          client: p.client,\n          date: p.dateCreated,\n          dateCompleted: p.dateSigned,\n          status: p.proposalStatus,\n          type: p.proposalType,\n          lastEvent: p.lastEvent,\n          version: 1,\n        });\n      });\n\n      return result;\n    },\n\n    normalizedAgreements: function() {\n      let result = [];\n\n      this.agreementList.forEach((a) => {\n        result.push({\n          id: a.id,\n          name: a.name,\n          client: a.client,\n          date: a.dateCreated,\n          dateCompleted: a.dateCompleted,\n          status: a.fullyExecuted ? 'Fully Executed' : a.status,\n          type: 'Agreement',\n          lastEvent: a.lastEvent,\n          version: 2,\n          signer: a.signers.find(s => s.email === this.$store.state.loggedInUser.email)\n        });\n      });\n\n      return result;\n    },\n\n    filteredProposalList: function() {\n      let result = [];\n      result.push(...this.normalizedProposals);\n      result.push(...this.normalizedAgreements);\n      result.sort(this.sortByDate);\n      return result;\n    }\n  },\n};\n</script>\n\n<style lang=\"scss\">\n.proposal-status {\n  width: fit-content;\n  padding: 4px 8px;\n  flex: none;\n  order: 0;\n  flex-grow: 0;\n  background-color: var(--background);\n  color: var(--color);\n  border-radius: 4px;\n  font-size: 12px;\n}\n\n.proposal-wrapper {\n  display: flex;\n  flex-direction: row;\n  flex-wrap: wrap;\n}\n\n.proposal-card {\n  width: 260px;\n  height: 310px;\n  border: 1px solid var(--v-gray_50-base);\n  border-radius: 4px;\n  box-shadow: 0px 1px 0px var(--v-gray_50-base);\n  cursor: pointer;\n\n  &:hover {\n    background-color: var(--v-sidebar-base);\n    transition: all 500ms ease;\n  }\n}\n\n.image-preview {\n  width: 259px;\n  height: 140px;\n  background-size: cover;\n  border-radius: 4px 4px 0px 0px;\n}\n\n\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProposalList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProposalList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProposalList.vue?vue&type=template&id=2ee31214\"\nimport script from \"./ProposalList.vue?vue&type=script&lang=js\"\nexport * from \"./ProposalList.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProposalList.vue?vue&type=style&index=0&id=2ee31214&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VDataTable})\n","import ProposalViewer from '@/modules/proposal/viewer/ProposalViewer';\nimport ProposalList from '@/modules/proposal/ProposalList';\n\nexport default [\n\t{\n\t\tpath: '/agreements',\n\t\tname: 'Proposals',\n\t\tcomponent: ProposalList,\n\t},\n\t{\n\t\tpath: '/agreement',\n\t\tname: 'Proposal',\n\t\tcomponent: ProposalViewer,\n\t\tmeta: {\n\t\t\tinsecure: true,\n\t\t},\n\t},\n\t{\n\t\tpath: '/proposal',\n\t\tname: 'Proposal',\n\t\tcomponent: ProposalViewer,\n\t\tmeta: {\n\t\t\tinsecure: true,\n\t\t},\n\t},\n\t{\n\t\tpath: '/agreement/:id',\n\t\tname: 'Agreement',\n\t\tcomponent: ProposalViewer,\n\t\tprops: true,\n\t\tmeta: {\n\t\t\tinsecure: true,\n\t\t},\n\t},\n]","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isReady)?_c('div',[_c('div',{staticClass:\"mx-2 py-4\",staticStyle:{\"border-bottom\":\"1px solid var(--v-gray_30-base)\"}},[_c('div',{staticClass:\"row-format gap-2 ml-3 pt-2\"},[(_vm.view === 'overview')?_c('v-select',{staticStyle:{\"max-width\":\"150px\"},attrs:{\"dense\":\"\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"items\":['Active', 'Archived', 'All'],\"label\":\"Status\"},model:{value:(_vm.taskStatus),callback:function ($$v) {_vm.taskStatus=$$v},expression:\"taskStatus\"}}):_vm._e(),(_vm.view !== 'overview')?_c('div',{staticClass:\"row-format gap-3\"},[_c('v-text-field',{staticStyle:{\"max-width\":\"200px\",\"font-size\":\"12px!important\"},attrs:{\"dense\":\"\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":\"Filter\",\"placeholder\":\"Search...\"},model:{value:(_vm.taskFilter),callback:function ($$v) {_vm.taskFilter=$$v},expression:\"taskFilter\"}}),_c('v-select',{staticStyle:{\"max-width\":\"150px\"},attrs:{\"dense\":\"\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"items\":['Active', 'Archived', 'All'],\"label\":\"Status\"},model:{value:(_vm.taskStatus),callback:function ($$v) {_vm.taskStatus=$$v},expression:\"taskStatus\"}}),_c('v-autocomplete',{staticStyle:{\"max-width\":\"250px\",\"font-size\":\"12px!important\"},attrs:{\"dense\":\"\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"items\":_vm.projectsByType,\"item-text\":\"name\",\"item-value\":\"id\",\"label\":\"Project\"},model:{value:(_vm.projectIdFilter),callback:function ($$v) {_vm.projectIdFilter=$$v},expression:\"projectIdFilter\"}}),(_vm.projectTypes.length > 1)?_c('v-select',{staticStyle:{\"max-width\":\"200px\",\"font-size\":\"12px!important\"},attrs:{\"dense\":\"\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"items\":_vm.projectTypes,\"item-text\":\"name\",\"item-value\":\"id\",\"label\":\"Project type\"},on:{\"change\":_vm.saveProjectTypeId},model:{value:(_vm.projectTypeId),callback:function ($$v) {_vm.projectTypeId=$$v},expression:\"projectTypeId\"}}):_vm._e()],1):_vm._e()],1)]),_c('div',{staticClass:\"mx-0 pt-4 show-scrollbar\",style:(`height: calc(100vh - ${_vm.headerHeight}px)`),attrs:{\"id\":\"project-container\"}},[(_vm.view === 'overview')?_c('div',{staticClass:\"mx-3\"},_vm._l((_vm.filteredProjects),function(project){return _c('project',{key:project.id,staticClass:\"project-wrapper\",attrs:{\"project\":project,\"status-list\":_vm.getProjectType(project.projectTypeId).statusList}})}),1):_vm._e(),(_vm.view === 'kanban' && _vm.fullReadProjects.length > 0)?_c('div',[_c('project-kanban',{attrs:{\"assignable-users\":_vm.assignableUsers,\"has-full-access-projects\":_vm.fullAccessProjects.length > 0,\"deliverables\":_vm.filteredDeliverables,\"is-collaborator\":true,\"columns\":_vm.activeProjectType.statusList,\"header-height\":_vm.headerHeight},on:{\"edit-deliverable\":function($event){return _vm.editDeliverable($event)},\"update-kanban-props\":function($event){return _vm.updateKanbanProperties($event)},\"add-deliverable\":function($event){return _vm.addDeliverable($event)},\"add-subtask\":function($event){return _vm.createSubtask($event)}}})],1):_vm._e(),(_vm.view === 'timeline' && _vm.fullReadProjects.length > 0)?_c('div',{staticClass:\"show-scrollbar mr-3\",staticStyle:{\"height\":\"100%\"}},[_c('gantt-view',{attrs:{\"assignable-users\":_vm.assignableUsers,\"deliverables\":_vm.filteredDeliverables,\"status-list\":_vm.activeProjectType.statusList,\"header-height\":_vm.headerHeight},on:{\"edit-deliverable\":function($event){return _vm.editDeliverable($event)},\"dates-updated\":function($event){return _vm.datesUpdated($event)}}})],1):_vm._e(),(_vm.view === 'calendar' && _vm.fullReadProjects.length > 0)?_c('div',{staticClass:\"show-scrollbar mr-3\",staticStyle:{\"height\":\"100%\"}},[_c('project-calendar',{attrs:{\"projects\":_vm.filteredProjects,\"deliverables\":_vm.filteredDeliverables,\"status-list\":_vm.activeProjectType.statusList},on:{\"edit-deliverable\":function($event){return _vm.editDeliverable($event)},\"update-due-date\":function($event){return _vm.datesUpdated($event)}}})],1):_vm._e()])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isReady)?_c('div',{staticClass:\"pa-3\"},[_c('div',{staticClass:\"row-format pointer\",staticStyle:{\"flex-wrap\":\"wrap\"},on:{\"click\":_vm.toggleExpanded}},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"row-format align-center\",staticStyle:{\"text-align\":\"left\"},attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('v-icon',{staticClass:\"chevron-icon\",attrs:{\"size\":\"16\",\"color\":\"black\"}},[_vm._v(\"$\"+_vm._s(_vm.isExpanded ? '$chevronUp' : '$chevronDown'))]),_c('div',{staticClass:\"brand-medium text-left ml-2\"},[_vm._v(_vm._s(_vm.project.name))]),(!_vm.project.active)?_c('div',{staticClass:\"ml-2 px-1 row-format align-center font-12\",staticStyle:{\"background-color\":\"var(--v-success_10-base)\",\"border-radius\":\"4px\"}},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"color\":\"success\",\"size\":\"10\"}},[_vm._v(\"$check\")]),_c('div',{staticStyle:{\"color\":\"var(--v-success-base)\"}},[_vm._v(_vm._s(_vm.$t('projects.completed')))])],1):_vm._e()],1),_c('v-col',{staticStyle:{\"text-align\":\"right\"},attrs:{\"cols\":\"12\",\"md\":\"6\"}},[_c('div',{staticClass:\"secondary-box\"},[_c('v-btn',{staticClass:\"secondary-action\"},[_c('span',[_vm._v(_vm._s(_vm.$t('global.due'))+\": \")]),_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.formattedDueDate)}}),_c('v-icon',{staticClass:\"ml-2\",attrs:{\"size\":\"16\",\"color\":\"gray_80\"}},[_vm._v(\"$calendarMono\")])],1)],1)])],1)],1)],1),(_vm.isExpanded)?_c('div',[(_vm.project.proposalId)?_c('div',{staticClass:\"text-left font-14 font-gray_80 pointer\",on:{\"click\":function($event){return _vm.openProposal()}}},[_c('span',{staticClass:\"brand-semilight\"},[_vm._v(_vm._s(_vm.$t('projects.from'))+\" \")]),_c('span',{staticClass:\"brand-medium\"},[_vm._v(_vm._s(_vm.project.proposalName ? _vm.project.proposalName : 'Proposal'))])]):_vm._e(),_c('div',{staticClass:\"my-2\"}),_c('div',{staticClass:\"text-left\",domProps:{\"innerHTML\":_vm._s(_vm.project.description)}}),_c('div',{staticClass:\"my-2\"}),_c('time-and-money',{attrs:{\"project\":_vm.project}}),_c('div',{staticClass:\"my-4\"}),(_vm.pendingDeliverables.length || _vm.previousDeliverables.length)?_c('v-container',{staticClass:\"ma-0 pa-0\",attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"align\":\"left\"}},_vm._l((_vm.pendingDeliverables),function(pending){return _c('div',{key:pending.statusId},[_c('div',{staticClass:\"mb-2 font-16 ml-2\"},[_vm._v(_vm._s(pending.label))]),_c('div',{staticClass:\"row-format\",staticStyle:{\"flex-wrap\":\"wrap\"}},_vm._l((pending.deliverables),function(deliverable){return _c('deliverable-card',{key:deliverable.id,attrs:{\"status-list\":_vm.statusList,\"deliverable\":deliverable},on:{\"open-deliverable\":function($event){return _vm.openDeliverable(deliverable)}}})}),1)])}),0),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"6\",\"align\":\"left\"}},_vm._l((_vm.previousDeliverables),function(previous){return _c('div',{key:previous.statusId},[_c('div',{staticClass:\"mb-2 font-16 ml-2\"},[_vm._v(_vm._s(previous.label))]),_c('div',{staticClass:\"row-format\",staticStyle:{\"flex-wrap\":\"wrap\"}},_vm._l((previous.deliverables),function(deliverable){return _c('deliverable-card',{key:deliverable.id,attrs:{\"status-list\":_vm.statusList,\"deliverable\":deliverable},on:{\"open-deliverable\":function($event){return _vm.openDeliverable(deliverable)}}})}),1)])}),0)],1)],1):_vm._e(),(_vm.project.portalAccess !== 'Overview')?_c('div',{staticClass:\"mt-5\"},[_c('domain-root',{attrs:{\"type\":\"Project\",\"id\":_vm.project.id,\"show-deleted\":_vm.showDeleted,\"read-only\":_vm.project.portalAccess !== 'Full access'}})],1):_vm._e()],1):_vm._e()]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"deliverable\",on:{\"click\":function($event){return _vm.$emit('open-deliverable')}}},[_c('div',{staticClass:\"font-14 brand-medium mb-1\"},[_vm._v(_vm._s(_vm.deliverable.name))]),_c('div',{staticClass:\"font-12 mb-1\"},[_vm._v(_vm._s(_vm.deliverable.comments.length)+\" \"+_vm._s(_vm.$t('projects.comments')))]),_c('div',{staticClass:\"font-12 mb-1\"},[_vm._v(_vm._s(_vm.deliverable.files.length)+\" \"+_vm._s(_vm.$t('projects.attachments')))]),(_vm.deliverable.dueDate)?_c('div',{staticClass:\"font-12 mb-1\"},[_vm._v(_vm._s(_vm.$t('projects.due'))+\" \"+_vm._s(_vm.DateTime.fromISO(_vm.deliverable.dueDate).toFormat('DD')))]):_vm._e(),_c('div',{staticStyle:{\"margin-top\":\"auto!important\"}},[(_vm.deliverable.approvalRequestedAt)?_c('div',{staticClass:\"submitted\"},[_vm._v(_vm._s(_vm.$t('projects.requested'))+\" \"+_vm._s(_vm.DateTime.fromISO(_vm.deliverable.approvalRequestedAt).toFormat('DD')))]):_vm._e(),(_vm.lastApproval && !_vm.deliverable.approvalRequired)?_c('div',{staticClass:\"approved\"},[_vm._v(_vm._s(_vm.$t('projects.submitted'))+\" \"+_vm._s(_vm.DateTime.fromISO(_vm.lastApproval.approvedAt).toFormat('DD')))]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div class=\"deliverable\" @click=\"$emit('open-deliverable')\">\n    <div class=\"font-14 brand-medium mb-1\">{{deliverable.name}}</div>\n    <!--div class=\"font-12 mb-1\">Status: {{currentStatus.label}}</div-->\n    <div class=\"font-12 mb-1\">{{deliverable.comments.length}} {{ $t('projects.comments') }}</div>\n    <div class=\"font-12 mb-1\">{{deliverable.files.length}} {{ $t('projects.attachments') }}</div>\n    <div class=\"font-12 mb-1\" v-if=\"deliverable.dueDate\">{{ $t('projects.due') }} {{DateTime.fromISO(deliverable.dueDate).toFormat('DD')}}</div>\n    <div style=\"margin-top:auto!important;\" class=\"\">\n      <div class=\"submitted\" v-if=\"deliverable.approvalRequestedAt\">{{ $t('projects.requested') }} {{DateTime.fromISO(deliverable.approvalRequestedAt).toFormat('DD')}}</div>\n      <div class=\"approved\" v-if=\"lastApproval && !deliverable.approvalRequired\">{{ $t('projects.submitted') }} {{DateTime.fromISO(lastApproval.approvedAt).toFormat('DD')}}</div>\n    </div>\n  </div>\n</template>\n\n<script>\nimport {DateTime} from 'luxon';\n\nexport default {\n  name: 'DeliverableCard',\n\n  props: ['deliverable','statusList'],\n\n  components: {},\n\n  data: function() {\n    return {\n      DateTime:DateTime,\n    };\n  },\n\n  mounted() {\n  },\n\n  beforeDestroy() {\n  },\n\n  methods: {},\n\n  computed: {\n    currentStatus: function(){\n      return this.statusList.find(s => s.id === this.deliverable.statusId);\n    },\n\n    lastApproval: function(){\n      if(this.deliverable.approvals.length){\n        return this.deliverable.approvals[this.deliverable.approvals.length-1];\n      } else{\n        return null;\n      }\n    }\n  },\n\n};\n</script>\n\n<style scoped lang=\"scss\">\n  .submitted {\n    background-color: var(--v-blue_10-base);\n    font-size: 12px;\n    padding: 4px 8px;\n    border-radius: 4px;\n    font-weight: 600;\n    width: fit-content;\n  }\n\n  .approved {\n    background-color: var(--v-success_10-base);\n    font-size: 12px;\n    padding: 4px 8px;\n    border-radius: 4px;\n    font-weight: 600;\n    width: fit-content;\n  }\n\n  .status {\n    background-color: var(--status-color);\n    font-size: 12px;\n    padding: 4px 8px;\n    border-radius: 4px;\n    font-weight: 600;\n    width: fit-content;\n  }\n\n  .deliverable {\n    display: flex;\n    flex-direction: column;\n    min-width: 250px;\n    flex: 1 1 0px;\n    text-align: left;\n    border: 1px solid var(--v-gray_50-base);\n    border-radius: 4px;\n    box-sizing: border-box;\n    box-shadow: 0px 1px 0px var(--v-gray_50-base);\n    padding: 8px;\n    cursor: pointer;\n    &:hover{\n      background-color: var(--v-gray_10-base);\n    }\n    margin: 0px 8px 8px 0px;\n  }\n</style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeliverableCard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeliverableCard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DeliverableCard.vue?vue&type=template&id=bb24f90a&scoped=true\"\nimport script from \"./DeliverableCard.vue?vue&type=script&lang=js\"\nexport * from \"./DeliverableCard.vue?vue&type=script&lang=js\"\nimport style0 from \"./DeliverableCard.vue?vue&type=style&index=0&id=bb24f90a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"bb24f90a\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.timeEnabled || _vm.invoicesEnabled)?_c('div',{staticClass:\"mt-1\"},[(_vm.invoicesEnabled)?_c('div',{staticClass:\"row-format\"},[_c('div',{staticClass:\"kpi-box mr-3\"},[_c('div',{staticClass:\"fit\"},[_vm._v(_vm._s(_vm.$t('projects.overview.total-invoiced')))]),_c('div',{staticClass:\"font-24 brand-medium fit mt-1\"},[_vm._v(_vm._s(_vm.totalInvoiced))])]),_c('div',{staticClass:\"kpi-box\"},[_c('div',{staticClass:\"fit\"},[_vm._v(_vm._s(_vm.$t('projects.overview.total-payments')))]),_c('div',{staticClass:\"font-24 brand-medium fit mt-1\"},[_vm._v(_vm._s(_vm.totalReceived))])])]):_vm._e(),(_vm.timeEnabled)?_c('div',{staticClass:\"row-format mt-3\"},[_c('div',{staticClass:\"kpi-box mr-3\"},[_c('div',{staticClass:\"fit\"},[_vm._v(_vm._s(_vm.$t('projects.overview.estimated-hours')))]),_c('div',{staticClass:\"font-24 brand-medium fit mt-1\"},[_vm._v(_vm._s(_vm.formatTimeEstimate))])]),_c('div',{staticClass:\"kpi-box\"},[_c('div',{staticClass:\"fit\"},[_vm._v(_vm._s(_vm.$t('projects.overview.hours-worked')))]),_c('div',{staticClass:\"font-24 brand-medium fit mt-1\"},[_vm._v(_vm._s(_vm.formattedTimeWorked))])])]):_vm._e()]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"mt-1\" v-if=\"timeEnabled || invoicesEnabled\">\n\t\t<div class=\"row-format\" v-if=\"invoicesEnabled\">\n\t\t\t<div class=\"kpi-box mr-3\">\n\t\t\t\t<div class=\"fit\">{{ $t('projects.overview.total-invoiced') }}</div>\n\t\t\t\t<div class=\"font-24 brand-medium fit mt-1\">{{ totalInvoiced }}</div>\n\t\t\t</div>\n\t\t\t<div class=\"kpi-box\">\n\t\t\t\t<div class=\"fit\">{{ $t('projects.overview.total-payments') }}</div>\n\t\t\t\t<div class=\"font-24 brand-medium fit mt-1\">{{ totalReceived }}</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"row-format mt-3\" v-if=\"timeEnabled\">\n\t\t\t<div class=\"kpi-box mr-3\">\n\t\t\t\t<div class=\"fit\">{{ $t('projects.overview.estimated-hours') }}</div>\n\t\t\t\t<div class=\"font-24 brand-medium fit mt-1\">{{ formatTimeEstimate }}</div>\n\t\t\t</div>\n\t\t\t<div class=\"kpi-box\">\n\t\t\t\t<div class=\"fit\">{{ $t('projects.overview.hours-worked') }}</div>\n\t\t\t\t<div class=\"font-24 brand-medium fit mt-1\">{{formattedTimeWorked}}</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport ProjectService from \"@/modules/projects/ProjectService\";\n\n\texport default {\n\t\tname: 'TimeAndMoney',\n\n\t\tprops: ['project'],\n\n\t\tcomponents: {},\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tprojectService: new ProjectService(),\n\t\t\t\tpayments: [],\n\t\t\t\ttimeWorked: 0,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getInvoicesForProject();\n\t\t\tthis.getTimeWorkedForProject()\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tgetInvoicesForProject: function(){\n\t\t\t\tthis.projectService.getProjectPayments(this.project.id).then((res) => {\n\t\t\t\t\tthis.payments.splice(0,this.payments.length);\n\t\t\t\t\tthis.payments.push(... res.data);\n\t\t\t\t})\n\t\t\t},\n\n\t\t\tgetTimeWorkedForProject: function() {\n\t\t\t\tthis.projectService.getTimeWorkedForProject(this.project.id).then((res) => {\n\t\t\t\t\tthis.timeWorked = res.data;\n\t\t\t\t})\n\t\t\t}\n\t\t},\n\n\t\tcomputed: {\n      timeEnabled: function(){\n        return this.$store.getters.getFeatures.timeEnabled && this.project.showTimeWorkedInPortal;\n      },\n\n      invoicesEnabled: function(){\n        return this.$store.getters.getFeatures.invoicesEnabled && this.$store.getters.getFeatures.summaryFinancialsEnabled;\n      },\n\n\t\t\ttotalInvoiced: function(){\n\t\t\t\treturn this.$formatters.dollars(this.payments.reduce((sum, { amount }) => sum + amount, 0));\n\t\t\t},\n\n\t\t\ttotalReceived: function(){\n\t\t\t\treturn this.$formatters.dollars(this.payments.filter((p) => p.invoiceStatus === 'PAID').reduce((sum, { amount }) => sum + amount, 0));\n\t\t\t},\n\n\t\t\tformatTimeEstimate: function(){\n\t\t\t\tif(this.project.feeSchedule){\n\t\t\t\t\tlet min =  this.project.feeSchedule.estimateMin;\n\t\t\t\t\tlet max = this.project.feeSchedule.estimateMax;\n\n\t\t\t\t\tif(min && max){\n\t\t\t\t\t\treturn min + '-' + max;\n\t\t\t\t\t}else if(min){\n\t\t\t\t\t\treturn min;\n\t\t\t\t\t}else if(max){\n\t\t\t\t\t\treturn max;\n\t\t\t\t\t}else {\n\t\t\t\t\t\treturn '--'\n\t\t\t\t\t}\n\t\t\t\t}else{\n\t\t\t\t\treturn '--'\n\t\t\t\t}\n\n\t\t\t},\n\n\t\t\tformattedTimeWorked: function(){\n        if(this.timeWorked) {\n          return this.$formatters.formatSeconds(this.timeWorked);\n        }else{\n          return '--'\n        }\n\t\t\t}\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.kpi-box {\n\t\tflex: 1 1 0px;\n\t\tbackground-color: var(--v-sidebar-base);\n\t\tborder-radius: 4px;\n\t\tmin-height: 50px;\n\t\tpadding: 12px;\n\t\tfont-size: 14px;\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeAndMoney.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeAndMoney.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TimeAndMoney.vue?vue&type=template&id=deea9f30&scoped=true\"\nimport script from \"./TimeAndMoney.vue?vue&type=script&lang=js\"\nexport * from \"./TimeAndMoney.vue?vue&type=script&lang=js\"\nimport style0 from \"./TimeAndMoney.vue?vue&type=style&index=0&id=deea9f30&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"deea9f30\",\n  null\n  \n)\n\nexport default component.exports","<template>\n\t<div class=\"pa-3\" v-if=\"isReady\">\n\t\t<div class=\"row-format pointer\" @click=\"toggleExpanded\" style=\"flex-wrap: wrap\">\n\t\t\t<v-container fluid>\n        <v-row dense>\n          <v-col cols=\"12\" md=\"6\" class=\"row-format align-center\" style=\"text-align: left\">\n            <v-icon size=\"16\" class=\"chevron-icon\" color=\"black\">${{ isExpanded ? '$chevronUp' : '$chevronDown' }}</v-icon>\n            <div class=\"brand-medium text-left ml-2\">{{ project.name }}</div>\n\n            <div\n                v-if=\"!project.active\"\n                style=\"background-color: var(--v-success_10-base); border-radius: 4px\"\n                class=\"ml-2 px-1 row-format align-center font-12\"\n            >\n              <v-icon color=\"success\" size=\"10\" class=\"mr-1\">$check</v-icon>\n              <div style=\"color: var(--v-success-base)\">{{ $t('projects.completed') }}</div>\n            </div>\n          </v-col>\n          <v-col cols=\"12\" md=\"6\" style=\"text-align: right\">\n            <div class=\"secondary-box\">\n              <v-btn class=\"secondary-action\">\n                <span>{{ $t('global.due') }}: </span>\n                <span v-html=\"formattedDueDate\"></span>\n                <v-icon size=\"16\" class=\"ml-2\" color=\"gray_80\">$calendarMono</v-icon>\n              </v-btn>\n            </div>\n          </v-col>\n        </v-row>\n      </v-container>\n\t\t</div>\n\n\t\t<div v-if=\"isExpanded\">\n\t\t\t<div v-if=\"project.proposalId\" class=\"text-left font-14 font-gray_80 pointer\" @click=\"openProposal()\">\n\t\t\t\t<span class=\"brand-semilight\">{{ $t('projects.from') }} </span>\n\t\t\t\t<span class=\"brand-medium\">{{ project.proposalName ? project.proposalName : 'Proposal' }}</span>\n\t\t\t</div>\n\n      <div class=\"my-2\"></div>\n\n      <div v-html=\"project.description\" class=\"text-left\"></div>\n\n\t\t\t<div class=\"my-2\"></div>\n\n      <time-and-money :project=\"project\"></time-and-money>\n\n      <div class=\"my-4\"></div>\n\n      <!--div v-if=\"project.files\">\n        <v-container fluid class=\"py-5 font-14\">\n          <v-row class=\"pointer file-row\" v-for=\"file in project.files\" :key=\"file.fileName\" align=\"center\"  @click=\"downloadFile(file)\">\n            <v-col cols=\"12\" align=\"left\">\n              <div class=\"row-format align-center\">\n                <img :src=\"file.fileIconUrl\" width=\"30\">\n                <div class=\"ml-2 font-12 brand-medium\">{{file.fileName}}</div>\n              </div>\n            </v-col>\n          </v-row>\n        </v-container>\n      </div-->\n\n\t\t\t<v-container fluid class=\"ma-0 pa-0\" v-if=\"pendingDeliverables.length || previousDeliverables.length\">\n\t\t\t\t<v-row dense>\n\t\t\t\t\t<v-col cols=\"12\" md=\"6\" align=\"left\">\n            <div v-for=\"pending in pendingDeliverables\" :key=\"pending.statusId\">\n              <div class=\"mb-2 font-16 ml-2\">{{ pending.label }}</div>\n              <div class=\"row-format\" style=\"flex-wrap: wrap\">\n                <deliverable-card\n                    v-for=\"deliverable in pending.deliverables\"\n                    :key=\"deliverable.id\"\n                    :status-list=\"statusList\"\n                    :deliverable=\"deliverable\"\n                    @open-deliverable=\"openDeliverable(deliverable)\"\n                ></deliverable-card>\n              </div>\n            </div>\n\t\t\t\t\t</v-col>\n\t\t\t\t\t<v-col cols=\"12\" md=\"6\" align=\"left\">\n            <div v-for=\"previous in previousDeliverables\" :key=\"previous.statusId\">\n              <div class=\"mb-2 font-16 ml-2\">{{ previous.label }}</div>\n              <div class=\"row-format\" style=\"flex-wrap: wrap\">\n                <deliverable-card\n                    v-for=\"deliverable in previous.deliverables\"\n                    :key=\"deliverable.id\"\n                    :status-list=\"statusList\"\n                    :deliverable=\"deliverable\"\n                    @open-deliverable=\"openDeliverable(deliverable)\"\n                ></deliverable-card>\n              </div>\n            </div>\n\t\t\t\t\t</v-col>\n\t\t\t\t</v-row>\n\t\t\t</v-container>\n\n      <div v-if=\"project.portalAccess !== 'Overview'\" class=\"mt-5\">\n        <domain-root type=\"Project\" :id=\"project.id\" :show-deleted=\"showDeleted\" :read-only=\"project.portalAccess !== 'Full access'\"></domain-root>\n      </div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\n\timport { DateTime } from 'luxon';\n\timport ProjectService from '@/modules/projects/ProjectService';\n\timport DeliverableCard from '@/modules/projects/DeliverableCard';\n  import DeliverableDetail from '@/modules/projects/deliverable/DeliverableDetail';\n  import TimeAndMoney from '@/modules/projects/TimeAndMoney';\n  import DomainRoot from '@/modules/files/DomainRoot';\n\n\texport default {\n\t\tname: 'Project',\n\n\t\tprops: ['project', 'statusList'],\n\n\t\tcomponents: { DomainRoot, TimeAndMoney, DeliverableCard },\n\n\t\tdata: function() {\n\t\t\treturn {\n        showDeleted: false,\n\t\t\t\tDateTime: DateTime,\n\t\t\t\tisExpanded: false,\n\t\t\t\tprojectService: new ProjectService(),\n\t\t\t\tdeliverables: null,\n        isReady: false,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n      this.$store.state.eventBus.$on('file-system-toggle-deleted', this.toggleShowDeleted);\n\t\t\tthis.getDeliverables();\n      if(this.project.initExpanded){\n        this.isExpanded = true;\n      }\n\t\t},\n\n\t\tbeforeDestroy() {\n      this.$store.state.eventBus.$off('file-system-toggle-deleted', this.toggleShowDeleted);\n    },\n\n\t\tmethods: {\n\t\t\tgetDeliverables: function() {\n\t\t\t\tthis.projectService.getProjectDeliverables(this.project.id).then((res) => {\n          this.deliverables = res.data;\n\t\t\t\t}).finally(() => this.isReady = true);\n\t\t\t},\n\n      toggleShowDeleted: function(){\n        this.showDeleted = !this.showDeleted;\n      },\n\n\t\t\ttoggleExpanded: function() {\n\t\t\t\tthis.isExpanded = !this.isExpanded;\n\t\t\t},\n\n\t\t\topenDeliverable: function(deliverable) {\n        let binding = {\n          origDeliverable: deliverable,\n          project: this.project,\n          statusList: this.statusList\n        }\n\n        this.$store.state.globalModalController\n            .openModal(DeliverableDetail, binding,true,false)\n            .then(() => this.getDeliverables());\n      },\n\n\t\t\topenProposal: function() {\n\n      },\n\n      populateMap: function(deliverables){\n        let result = new Map();\n        deliverables.forEach(d => {\n          if (!result.has(d.statusId)) {\n            result.set(d.statusId, [])\n          }\n          result.get(d.statusId).push(d);\n        });\n        return result;\n      },\n\n      organizeDeliverables(map){\n        let result = [];\n        for (let statusId of map.keys()) {\n          let statusIx = this.statusList.findIndex(s => s.id === statusId);\n          let status = this.statusList[statusIx];\n          result.push({\n            statusId:statusId,\n            label: status.label,\n            sort: statusIx,\n            deliverables: map.get(statusId)\n          });\n        }\n        result.sort((a,b) => a.sort-b.sort);\n        return result;\n      }\n\t\t},\n\n\t\tcomputed: {\n      pendingDeliverables: function(){\n        if(this.deliverables){\n          let map = this.populateMap(this.deliverables.pendingApproval);\n          return this.organizeDeliverables(map);\n        }else{\n          return [];\n        }\n      },\n\n      previousDeliverables: function(){\n        if(this.deliverables){\n          let map = this.populateMap(this.deliverables.previouslyApproved);\n          return this.organizeDeliverables(map);\n        }else{\n          return [];\n        }\n      },\n\n      formattedDueDate: function() {\n\t\t\t\tif (this.project.dueDate) {\n\t\t\t\t\treturn DateTime.fromISO(this.project.dueDate).toLocaleString(DateTime.DATE_MED);\n\t\t\t\t} else {\n\t\t\t\t\treturn `<span class=\"font-gray_70\">${this.$t('projects.no-due-date')}</span>`;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tformattedFees: function() {\n\t\t\t\tif (this.project.feeSchedule) {\n\t\t\t\t\tlet amount = 0;\n\n\t\t\t\t\tif (this.project.feeSchedule.amount) {\n\t\t\t\t\t\tamount = this.$formatters.dollars(this.project.feeSchedule.amount, false);\n\t\t\t\t\t}\n\n\t\t\t\t\tswitch (this.project.feeSchedule.feeType) {\n\t\t\t\t\t\tcase 'Hourly': {\n\t\t\t\t\t\t\treturn amount + '/hr';\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcase 'Fixed Price': {\n\t\t\t\t\t\t\treturn amount + '/' + this.$t('projects.fixed');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tcase 'Retainer': {\n\t\t\t\t\t\t\tif (this.project.feeSchedule.retainerSchedule) {\n\t\t\t\t\t\t\t\treturn amount + '/' + this.project.feeSchedule.retainerSchedule.toLowerCase();\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn amount + '/?';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tdefault: {\n\t\t\t\t\t\t\treturn '<span class=\"font-gray_70\">--</span>';\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn '<span class=\"font-gray_70\">--</span>';\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.deliverable-container {\n\t\tborder: 1px solid var(--v-gray_50-base);\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 4px;\n\t\tmargin: 12px 0px;\n\t}\n\n\t.deliverable-row {\n\t\tborder-bottom: 1px solid var(--v-gray_30-base);\n\t\t&:last-child {\n\t\t\tborder-bottom: 0px;\n\t\t\tpadding-bottom: 0px;\n\t\t\tmargin-bottom: -12px;\n\t\t}\n\t}\n\n\t.status-wrapper {\n\t\tborder-bottom: 1px solid var(--v-gray_50-base);\n\t\tpadding: 24px 0px 24px 0px;\n\t\t&:last-child {\n\t\t\tborder-bottom: 0px;\n\t\t}\n\t}\n\n\t.status-color {\n\t\twidth: 4px;\n\t\theight: 32px;\n\t\tborder-radius: 0px 2px 2px 0px;\n\t\tbackground-color: var(--status-color);\n\t}\n\n\t.deliverable-count {\n\t\twidth: 16px;\n\t\theight: 16px;\n\t\tbackground-color: var(--v-gray_20-base);\n\t\tborder-radius: 2px;\n\t\tfont-size: 12px;\n\t\tmargin-left: 8px;\n\t}\n\n\t.status-box {\n\t\theight: 36px;\n\t\tmargin-right: 3px;\n\t\tborder-radius: 2px;\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Project.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Project.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Project.vue?vue&type=template&id=2c1ce524&scoped=true\"\nimport script from \"./Project.vue?vue&type=script&lang=js\"\nexport * from \"./Project.vue?vue&type=script&lang=js\"\nimport style0 from \"./Project.vue?vue&type=style&index=0&id=2c1ce524&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2c1ce524\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VIcon,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"row-format centered\",style:(`height:${_vm.headerHeight}`),attrs:{\"id\":\"project-kanban\"}},[_c('div',{staticClass:\"my-0 py-0\",attrs:{\"id\":\"kanban-container\"}},[_c('div',{staticClass:\"ml-1 mr-3\",attrs:{\"id\":\"kanban-v-row\"}},[_c('div',{staticClass:\"row-format\"},[(_vm.cards['unknown'].length > 0)?_c('div',{staticClass:\"kanban-v-col\",style:('--kanban-width: ' + _vm.columns.length * 272 + 'px')},[_c('div',{staticClass:\"kanban-column\",attrs:{\"id\":\"id.unknown\"}},[_c('div',{staticClass:\"row-format\"},[_c('span',{staticClass:\"kanban-label\",staticStyle:{\"white-space\":\"nowrap\",\"padding-bottom\":\"10px\"}},[_vm._v(\"[ \"+_vm._s(_vm.$t('projects.no-status'))+\" ]\")])]),_c('div',{attrs:{\"id\":\"unknown\"}},[_c('draggable',{attrs:{\"list\":_vm.cards['unknown'],\"group\":{ name: 'card', pull: 'clone' },\"tag\":\"section\",\"emptyInsertThreshold\":100,\"animation\":200,\"handle\":_vm.$store.state.isMobile ? 'disabled' : '.cardWrapper',\"ghost-class\":\"ghost\",\"move\":_vm.cardDragHandler},on:{\"end\":_vm.endDragHandler}},_vm._l((_vm.cards['unknown']),function(deliverable){return _c('div',{key:deliverable.id,on:{\"click\":function($event){$event.stopPropagation();return _vm.editDeliverable(deliverable)}}},[_c('kanban-card',{attrs:{\"deliverable\":deliverable,\"show-status\":false}})],1)}),0)],1)])]):_vm._e(),_c('div',{staticClass:\"row-format\"},_vm._l((_vm.columns),function(column){return _c('div',{key:column.id},[_c('div',{staticClass:\"kanban-v-col\"},[_c('div',{staticClass:\"kanban-column pointer\",attrs:{\"id\":`id.${column.id}`},on:{\"click\":function($event){return _vm.addDeliverable(column)}}},[_c('kanban-header',{attrs:{\"all-columns\":_vm.columns,\"column\":column,\"is-collaborator\":_vm.isCollaborator,\"allow-add-deliverable\":_vm.hasFullAccessProjects},on:{\"add-deliverable\":function($event){return _vm.addDeliverableNoWait($event)}}}),_c('draggable',{class:`draggable-container ${_vm.$store.state.isMac ? 'hidden-scroll' : ''}`,style:(`height: calc(100vh - ${_vm.headerHeight + 57}px); overflow-y: auto;`),attrs:{\"list\":_vm.cards['id' + column.id],\"group\":{ name: 'card', pull: 'clone' },\"tag\":\"section\",\"emptyInsertThreshold\":100,\"animation\":200,\"handle\":_vm.$store.state.isMobile ? 'disabled' : '.cardWrapper',\"ghost-class\":\"ghost\",\"move\":_vm.cardDragHandler},on:{\"end\":_vm.endDragHandler}},_vm._l((_vm.cards['id' + column.id]),function(deliverable){return _c('div',{key:deliverable.id,on:{\"click\":function($event){$event.stopPropagation();return _vm.editDeliverable(deliverable)}}},[_c('kanban-card',{attrs:{\"deliverable\":deliverable,\"assignable-users\":_vm.assignableUsers,\"status-list\":_vm.columns},on:{\"add-new\":function($event){return _vm.addDeliverable(column)},\"add-new-empty\":function($event){return _vm.addDeliverableNoWait(column)},\"edit-subtask\":function($event){return _vm.editDeliverable($event)},\"add-subtask\":function($event){return _vm.addSubTask(deliverable)}}})],1)}),0)],1)])])}),0)])])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:_vm.deliverable.project && _vm.deliverable.project.portalAccess === 'Full access' ? 'cardWrapper' : ''},[(_vm.deliverable.emptyCard)?_c('div',{staticClass:\"blankCard mx-0 mt-4 pl-4 pr-0 pt-2\",on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('add-new-empty')}}},[_c('v-icon',{attrs:{\"size\":\"34\"}},[_vm._v(\"$duplicate\")]),_c('span',{staticClass:\"font-grey\"},[_vm._v(_vm._s(_vm.$t('projects.add-first-deliverable')))])],1):_c('div',{staticClass:\"card mt-3\"},[_c('div',{class:`column-format gap-2 card-wrapper ${_vm.deliverable.project.portalAccess === 'Full access' ? 'full-access' : ''}`},[_c('div',{staticClass:\"row-format\"},[_c('div',{staticClass:\"project-name ellipsis\"},[_vm._v(_vm._s(_vm.deliverable.project.name))]),(_vm.deliverable.invoiceId)?_c('v-icon',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({content:`Invoice: ${_vm.deliverable.invoiceNumber}`}),expression:\"{content:`Invoice: ${deliverable.invoiceNumber}`}\"}],staticClass:\"ml-auto\",attrs:{\"small\":\"\",\"color\":\"success\"}},[_vm._v(\"$money\")]):_vm._e()],1),_c('div',{staticClass:\"deliverable-name row-format\"},[_c('div',[_vm._v(_vm._s(_vm.deliverable.name))])]),(_vm.showStatus)?_c('div',{staticClass:\"row-format align-center font-12\"},[_c('div',{style:(`width:16px; height: 16px; border-radius: 4px; background-color: ${_vm.status.hexColor}`)}),(_vm.showStatus)?_c('div',{staticClass:\"ml-2\"},[_vm._v(_vm._s(_vm.status.label))]):_vm._e()]):_vm._e(),_c('div',{staticClass:\"row-format align-center gap-3\"},[(_vm.deliverable.assignedToList.length)?_c('div',{staticClass:\"row-format align-center\"},_vm._l((_vm.deliverable.assignedToList),function(assignedTo,index){return _c('assigned-user',{key:assignedTo,style:(`${\n\t\t\t\t\t\t\t\t\t\tindex > 0 ? 'margin-left: -6px' : ''\n\t\t\t\t\t\t\t\t\t}; border: 2px solid var(--v-white-base); border-radius: 100%; z-index: ${index}`),attrs:{\"show-name\":false,\"small\":true,\"assigned-to\":assignedTo,\"assignable-users\":_vm.assignableUsers}})}),1):_vm._e(),_c('div',{staticClass:\"row-format align-center\"},[(_vm.deliverable.dueDate)?_c('div',{staticClass:\"font-12 font-grey\"},[_c('v-icon',{staticClass:\"mb-1\",attrs:{\"size\":\"12\"}},[_vm._v(\"$clock\")]),_vm._v(\" \"+_vm._s(_vm.DateTime.fromISO(_vm.deliverable.dueDate).toLocaleString({month:'short', day:'numeric'}))+\" \")],1):_vm._e()])]),_c('div',{staticClass:\"row-format align-center\"},[_c('div',[(_vm.deliverable.tasks.length > 0)?_c('div',{staticClass:\"font-12 font-grey pointer task-box\",on:{\"click\":function($event){$event.stopPropagation();_vm.showTasks = !_vm.showTasks}}},[_c('v-icon',{staticClass:\"mb-1\",attrs:{\"size\":\"8\"}},[_vm._v(\"$check\")]),_vm._v(\" \"+_vm._s(_vm.getTaskCountLabel(_vm.deliverable.tasks))+\" \"),_c('v-icon',{staticClass:\"mb-1\",attrs:{\"x-small\":\"\"}},[_vm._v(_vm._s(_vm.showTasks ? '$arrowUp' : '$arrowDown'))])],1):_vm._e(),(_vm.deliverable.tasks.length === 0)?_c('div',{staticClass:\"font-12 font-grey pointer task-box\",on:{\"click\":function($event){$event.stopPropagation();_vm.readOnly ? '' : _vm.addFirstTask()}}},[_c('v-icon',{staticClass:\"mb-1\",attrs:{\"size\":\"8\"}},[_vm._v(\"$check\")]),_c('v-icon',{staticClass:\"mb-1\",staticStyle:{\"margin-left\":\"2px\"},attrs:{\"size\":\"12\",\"color\":\"gray_80\"}},[_vm._v(\"$plus\")])],1):_vm._e()]),(!_vm.deliverable.parentTaskId)?_c('div',{staticClass:\"ml-auto row-format align-center\",on:{\"click\":function($event){$event.stopPropagation();_vm.showSubtasks = !_vm.showSubtasks}}},[(_vm.deliverable.subtasks.length)?_c('div',{staticClass:\"font-12 row-format centered pa-1\"},[_c('div',[_vm._v(_vm._s(_vm.deliverable.subtasks.length))])]):_vm._e(),_c('v-icon',{staticClass:\"material-symbols-rounded\",attrs:{\"size\":\"20\",\"color\":_vm.deliverable.subtasks.length ? 'black' : 'gray_50'}},[_vm._v(\"graph_2\")])],1):_vm._e()])]),_c('tasks',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showTasks && _vm.deliverable.tasks.length > 0),expression:\"showTasks && deliverable.tasks.length > 0\"}],ref:\"tasks\",attrs:{\"deliverable\":_vm.deliverable,\"disabled\":_vm.readOnly},on:{\"empty\":function($event){_vm.showTasks = false},\"tasks-updated\":function($event){return _vm.updateTasks()}}})],1),(_vm.showSubtasks)?_c('div',{staticClass:\"column-format ml-4 mb-5\",staticStyle:{\"border-left\":\"1px solid var(--v-gray_50-base)\"}},[_vm._l((_vm.deliverable.subtasks),function(subtask){return _c('div',{key:subtask.id,staticClass:\"row-format align-center mt-2\",on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('edit-subtask', subtask)}}},[_c('div',{staticStyle:{\"border-top\":\"1px solid var(--v-gray_50-base)\",\"height\":\"1px\",\"width\":\"18px\",\"max-width\":\"18px\"}}),_c('kanban-card',{staticStyle:{\"flex-grow\":\"1\"},attrs:{\"deliverable\":subtask,\"assignable-users\":_vm.assignableUsers,\"status-list\":_vm.statusList,\"show-status\":true}})],1)}),(_vm.deliverable.project.portalAccess === 'Full access')?_c('div',{staticClass:\"row-format align-center mt-2\",staticStyle:{\"margin-bottom\":\"-9px\"}},[_c('div',{staticStyle:{\"border-top\":\"1px solid var(--v-gray_50-base)\",\"height\":\"1px\",\"width\":\"18px\",\"max-width\":\"18px\"}}),_c('div',{staticClass:\"pointer highlight-hover font-12 pl-1\",staticStyle:{\"width\":\"fit-content\",\"color\":\"var(--v-gray_70-base)\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('add-subtask')}}},[_vm._v(\" + Add subtask \")])]):_vm._e()],2):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div :class=\"deliverable.project && deliverable.project.portalAccess === 'Full access' ? 'cardWrapper' : ''\">\n\t\t<div v-if=\"deliverable.emptyCard\" class=\"blankCard mx-0 mt-4 pl-4 pr-0 pt-2\" @click.stop=\"$emit('add-new-empty')\">\n\t\t\t<v-icon size=\"34\">$duplicate</v-icon>\n\t\t\t<span class=\"font-grey\">{{ $t('projects.add-first-deliverable') }}</span>\n\t\t</div>\n\t\t<div v-else class=\"card mt-3\">\n\t\t\t<div :class=\"`column-format gap-2 card-wrapper ${deliverable.project.portalAccess === 'Full access' ? 'full-access' : ''}`\">\n\t\t\t\t<div class=\"row-format \">\n          <div class=\"project-name ellipsis\">{{ deliverable.project.name }}</div>\n\t\t\t\t\t<v-icon small class=\"ml-auto\" color=\"success\" v-if=\"deliverable.invoiceId\" v-tippy=\"{content:`Invoice: ${deliverable.invoiceNumber}`}\">$money</v-icon>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"deliverable-name row-format\">\n\t\t\t\t\t<div>{{ deliverable.name }}</div>\n\t\t\t\t</div>\n        <div class=\"row-format align-center font-12\" v-if=\"showStatus\">\n          <div :style=\"`width:16px; height: 16px; border-radius: 4px; background-color: ${status.hexColor}`\"></div>\n          <div v-if=\"showStatus\" class=\"ml-2\">{{status.label}}</div>\n        </div>\n\t\t\t\t<div class=\"row-format align-center gap-3\">\n          <div class=\"row-format align-center\" v-if=\"deliverable.assignedToList.length\">\n            <assigned-user\n                v-for=\"(assignedTo, index) in deliverable.assignedToList\"\n                :key=\"assignedTo\"\n                :show-name=\"false\"\n                :small=\"true\"\n                :assigned-to=\"assignedTo\"\n                :assignable-users=\"assignableUsers\"\n                :style=\"\n\t\t\t\t\t\t\t\t\t`${\n\t\t\t\t\t\t\t\t\t\tindex > 0 ? 'margin-left: -6px' : ''\n\t\t\t\t\t\t\t\t\t}; border: 2px solid var(--v-white-base); border-radius: 100%; z-index: ${index}`\n\t\t\t\t\t\t\t\t\"\n            ></assigned-user>\n          </div>\n\n\t\t\t\t\t<div class=\"row-format align-center\">\n\t\t\t\t\t\t<div class=\"font-12 font-grey\" v-if=\"deliverable.dueDate\">\n\t\t\t\t\t\t\t<v-icon size=\"12\" class=\"mb-1\">$clock</v-icon>\n\t\t\t\t\t\t\t{{ DateTime.fromISO(deliverable.dueDate).toLocaleString({month:'short', day:'numeric'})}}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n        <div class=\"row-format align-center\">\n          <div>\n            <div\n                class=\"font-12 font-grey pointer task-box\"\n                v-if=\"deliverable.tasks.length > 0\"\n                @click.stop=\"showTasks = !showTasks\"\n            >\n              <v-icon size=\"8\" class=\"mb-1\">$check</v-icon>\n              {{ getTaskCountLabel(deliverable.tasks) }}\n              <v-icon x-small class=\"mb-1\">{{ showTasks ? '$arrowUp' : '$arrowDown' }}</v-icon>\n            </div>\n            <div\n                class=\"font-12 font-grey pointer task-box\"\n                v-if=\"deliverable.tasks.length === 0\"\n                @click.stop=\"readOnly ? '' : addFirstTask()\"\n            >\n              <v-icon size=\"8\" class=\"mb-1\">$check</v-icon>\n              <v-icon size=\"12\" class=\"mb-1\" style=\"margin-left: 2px\" color=\"gray_80\">$plus</v-icon>\n            </div>\n          </div>\n          <div\n              v-if=\"!deliverable.parentTaskId\"\n              class=\"ml-auto row-format align-center\"\n              style=\"\"\n              @click.stop=\"showSubtasks = !showSubtasks\"\n          >\n            <div v-if=\"deliverable.subtasks.length\" class=\"font-12 row-format centered pa-1\">\n              <div>{{ deliverable.subtasks.length }}</div>\n            </div>\n            <v-icon\n                class=\"material-symbols-rounded\"\n                size=\"20\"\n                :color=\"deliverable.subtasks.length ? 'black' : 'gray_50'\"\n            >graph_2</v-icon\n            >\n          </div>\n        </div>\n\t\t\t</div>\n\t\t\t<tasks\n\t\t\t\tref=\"tasks\"\n\t\t\t\tv-show=\"showTasks && deliverable.tasks.length > 0\"\n\t\t\t\t:deliverable=\"deliverable\"\n\t\t\t\t@empty=\"showTasks = false\"\n        :disabled=\"readOnly\"\n\t\t\t\t@tasks-updated=\"updateTasks()\"\n\t\t\t></tasks>\n\t\t</div>\n    <div v-if=\"showSubtasks\" class=\"column-format ml-4 mb-5\" style=\"border-left: 1px solid var(--v-gray_50-base);\">\n      <div\n          v-for=\"subtask in deliverable.subtasks\"\n          :key=\"subtask.id\"\n          class=\"row-format align-center mt-2\"\n          @click.stop=\"$emit('edit-subtask', subtask)\"\n      >\n        <div style=\"border-top: 1px solid var(--v-gray_50-base); height:1px; width:18px; max-width: 18px;\"></div>\n        <kanban-card\n            style=\"flex-grow: 1\"\n            :deliverable=\"subtask\"\n            :assignable-users=\"assignableUsers\"\n            :status-list=\"statusList\"\n            :show-status=\"true\"\n        ></kanban-card>\n      </div>\n      <div class=\"row-format align-center mt-2\" style=\"margin-bottom: -9px;\" v-if=\"deliverable.project.portalAccess === 'Full access'\">\n        <div style=\"border-top: 1px solid var(--v-gray_50-base); height:1px; width:18px; max-width: 18px;\"></div>\n        <div\n            class=\"pointer highlight-hover font-12 pl-1\"\n            style=\"width: fit-content; color: var(--v-gray_70-base)\"\n            @click.stop=\"$emit('add-subtask')\"\n        >\n          + Add subtask\n        </div>\n      </div>\n    </div>\n\t</div>\n</template>\n\n<script>\n\timport { DateTime as HDateTime } from 'luxon';\n\timport AssignedUser from '@/components/AssignedUser';\n  import Tasks from '@/modules/projects/deliverable/Tasks';\n  import ProjectService from '@/modules/projects/ProjectService';\n\n\texport default {\n\t\tname: 'KanbanCard',\n\n\t\tprops: ['deliverable','showStatus','statusList','assignableUsers'],\n\n\t\tcomponents: {\n\t\t\tAssignedUser,\n\t\t\tTasks,\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tDateTime: HDateTime,\n\t\t\t\tshowTasks: false,\n        showSubtasks: false,\n\t\t\t\tdeliverableService: new ProjectService(),\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.$store.state.eventBus.$on('kanban-card-show-tasks', this.setShowTasks);\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t\tthis.$store.state.eventBus.$off('kanban-card-show-tasks', this.setShowTasks);\n\t\t},\n\n\t\tmethods: {\n\t\t\texpandTasks: function() {\n\t\t\t\tthis.showTasks = true;\n\t\t\t},\n\n\t\t\tcollapseTasks: function() {\n\t\t\t\tthis.showTasks = false;\n\t\t\t},\n\n\t\t\tgetTaskCountLabel: function(tasks) {\n\t\t\t\tif (tasks.length === 0) {\n\t\t\t\t\treturn '';\n\t\t\t\t} else {\n\t\t\t\t\tlet taskCount = tasks.length;\n\t\t\t\t\tlet completedCount = 0;\n\t\t\t\t\tfor (let i = 0; i < tasks.length; i++) {\n\t\t\t\t\t\tif (tasks[i].complete) {\n\t\t\t\t\t\t\tcompletedCount++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\treturn `${completedCount}/${taskCount}`;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsetShowTasks: function(showTasks) {\n\t\t\t\tthis.showTasks = showTasks;\n\t\t\t},\n\n\t\t\taddFirstTask: function() {\n\t\t\t\tthis.$refs.tasks.addNewTask(0);\n\t\t\t\tthis.showTasks = true;\n\t\t\t},\n\n\t\t\tupdateTasks() {\n\t\t\t\tconst patch = [{ op: 'replace', path: '/tasks', value: this.deliverable.tasks }];\n\t\t\t\tthis.deliverableService\n\t\t\t\t\t\t.patchDeliverable(this.deliverable.id, patch)\n\t\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t\t});\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tstatus: function(){\n        return this.statusList.find(s => s.id === this.deliverable.statusId);\n\t\t\t},\n\n      readOnly: function(){\n        return this.deliverable.project.portalAccess !== 'Full access';\n      },\n\n\t\t\thighlightColor: function(){\n        return '';\n\t\t\t}\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.card-wrapper {\n\t\tpadding: 8px 8px 8px 8px;\n\t}\n\n  .full-access {\n    &:active {\n      cursor: grabbing;\n    }\n    &:hover {\n      background-color: var(--v-sidebar-base);\n    }\n  }\n\n\t.card {\n\t\tbackground-color: var(--v-white-base);\n\t\tborder: 1px solid var(--v-gray_50-base);\n\t\tbox-sizing: border-box;\n\t\tbox-shadow: 0px 1px 0px var(--v-gray_50-base);\n\t\tborder-radius: 4px;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\ttransition: all ease 250ms;\n\t}\n\n\t.blankCard {\n\t\tbackground-color: var(--v-white-base);\n\t\theight: 144px;\n\t\tborder: 1px solid var(--v-gray_50-base);\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 8px;\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tcursor: pointer;\n\t}\n\n\t.project-name {\n\t\tfont-size: 12px;\n\t\tborder: 1px solid var(--v-gray_30-base);\n\t\tcolor: var(--v-gray_80-base);\n\t\tpadding: 0px 6px;\n\t\tborder-radius: 4px;\n\t\twidth: fit-content;\n\t\t//width: fit-content;\n\t\t//white-space: nowrap;\n\t\t//text-overflow: ellipsis;\n\t}\n\n\t.deliverable-name {\n\t\tfont-size: 14px;\n\t\tcolor: var(--v-gray_90-base);\n\t}\n\n\t.task-box {\n\t\tpadding: 2px 0;\n\t\tborder-radius: 2px;\n\t\t&:hover {\n\t\t\tbackground-color: var(--v-gray_10-base);\n\t\t}\n\t}\n\n\t.no-select {\n\t\t-webkit-touch-callout: none; /* iOS Safari */\n\t\t-webkit-user-select: none; /* Safari */\n\t\t-khtml-user-select: none; /* Konqueror HTML */\n\t\t-moz-user-select: none; /* Old versions of Firefox */\n\t\t-ms-user-select: none; /* Internet Explorer/Edge */\n\t\tuser-select: none; /* Non-prefixed version, currently\n                                  supported by Chrome, Edge, Opera and Firefox */\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KanbanCard.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KanbanCard.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./KanbanCard.vue?vue&type=template&id=23345c64&scoped=true\"\nimport script from \"./KanbanCard.vue?vue&type=script&lang=js\"\nexport * from \"./KanbanCard.vue?vue&type=script&lang=js\"\nimport style0 from \"./KanbanCard.vue?vue&type=style&index=0&id=23345c64&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"23345c64\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"columnDragHandle row-format align-center mb-2 mx-2\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('div',{style:(`width: 8px; min-width:8px; height: 8px; border-radius: 2px; background-color: ${_vm.column.hexColor}`)}),_c('div',{staticClass:\"font-14 brand-medium ml-3\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.column.label),expression:\"column.label\"}],staticClass:\"truncate\",staticStyle:{\"max-width\":\"160px\",\"outline\":\"none\",\"color\":\"var(--v-black-base)\"},attrs:{\"disabled\":true,\"type\":\"text\"},domProps:{\"value\":(_vm.column.label)},on:{\"click\":function($event){$event.stopPropagation();},\"input\":function($event){if($event.target.composing)return;_vm.$set(_vm.column, \"label\", $event.target.value)}}})]),(_vm.allowAddDeliverable)?_c('div',{staticClass:\"row-format align-center\",staticStyle:{\"margin-left\":\"auto\"}},[_c('v-icon',{staticClass:\"pointer ml-1\",attrs:{\"color\":\"gray_70\",\"size\":\"20\"},nativeOn:{\"click\":function($event){$event.stopPropagation();return _vm.addDeliverable(_vm.column)}}},[_vm._v(\"$plus\")])],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"columnDragHandle row-format align-center mb-2 mx-2\" @click.stop>\n\t\t<div :style=\"`width: 8px; min-width:8px; height: 8px; border-radius: 2px; background-color: ${column.hexColor}`\"></div>\n\t\t<div class=\"font-14 brand-medium ml-3\">\n\t\t\t<input\n\t\t\t\t:disabled=\"true\"\n\t\t\t\ttype=\"text\"\n\t\t\t\t@click.stop\n\t\t\t\tclass=\"truncate\"\n\t\t\t\tstyle=\"max-width: 160px; outline: none; color: var(--v-black-base)\"\n\t\t\t\tv-model=\"column.label\"\n\t\t\t/>\n\t\t</div>\n\t\t<div style=\"margin-left: auto\" class=\"row-format align-center\" v-if=\"allowAddDeliverable\">\n\t\t\t<v-icon class=\"pointer ml-1\" color=\"gray_70\" size=\"20\" @click.native.stop=\"addDeliverable(column)\">$plus</v-icon>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'KanbanHeader',\n\n\t\tprops: ['column','allowAddDeliverable'],\n\n\t\tcomponents: {},\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tmethods: {\n\t\t\taddDeliverable: function (column) {\n\t\t\t\tthis.$emit('add-deliverable', column);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tmaxHeaderWidth: function () {\n        return 156;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.columnDragHandle {\n\t\tcursor: grab;\n\n\t\t&:active {\n\t\t\tcursor: grabbing;\n\t\t}\n\t}\n\n\t.truncate {\n\t\tmax-width: var(--max-header-width);\n\t\twhite-space: nowrap;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KanbanHeader.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KanbanHeader.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./KanbanHeader.vue?vue&type=template&id=13b07dcb&scoped=true\"\nimport script from \"./KanbanHeader.vue?vue&type=script&lang=js\"\nexport * from \"./KanbanHeader.vue?vue&type=script&lang=js\"\nimport style0 from \"./KanbanHeader.vue?vue&type=style&index=0&id=13b07dcb&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"13b07dcb\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","<template>\n\t<div id=\"project-kanban\" class=\"row-format centered\" :style=\"`height:${headerHeight}`\">\n    <div class=\"my-0 py-0\" id=\"kanban-container\">\n\t\t\t<div id=\"kanban-v-row\" class=\"ml-1 mr-3\">\n\t\t\t\t<div class=\"row-format\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tv-if=\"cards['unknown'].length > 0\"\n\t\t\t\t\t\tclass=\"kanban-v-col\"\n\t\t\t\t\t\t:style=\"'--kanban-width: ' + columns.length * 272 + 'px'\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"kanban-column\" id=\"id.unknown\">\n\t\t\t\t\t\t\t<div class=\"row-format\">\n\t\t\t\t\t\t\t\t<span class=\"kanban-label\" style=\"white-space: nowrap; padding-bottom: 10px\"\n\t\t\t\t\t\t\t\t\t>[ {{ $t('projects.no-status') }} ]</span\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div id=\"unknown\">\n\t\t\t\t\t\t\t\t<draggable\n\t\t\t\t\t\t\t\t\t:list=\"cards['unknown']\"\n\t\t\t\t\t\t\t\t\t:group=\"{ name: 'card', pull: 'clone' }\"\n\t\t\t\t\t\t\t\t\ttag=\"section\"\n\t\t\t\t\t\t\t\t\t:emptyInsertThreshold=\"100\"\n\t\t\t\t\t\t\t\t\t:animation=\"200\"\n\t\t\t\t\t\t\t\t\t:handle=\"$store.state.isMobile ? 'disabled' : '.cardWrapper'\"\n\t\t\t\t\t\t\t\t\tghost-class=\"ghost\"\n\t\t\t\t\t\t\t\t\t:move=\"cardDragHandler\"\n\t\t\t\t\t\t\t\t\t@end=\"endDragHandler\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tv-for=\"deliverable in cards['unknown']\"\n\t\t\t\t\t\t\t\t\t\t:key=\"deliverable.id\"\n\t\t\t\t\t\t\t\t\t\t@click.stop=\"editDeliverable(deliverable)\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<kanban-card\n\t\t\t\t\t\t\t\t\t\t\t:deliverable=\"deliverable\"\n                      :show-status=\"false\"\n\t\t\t\t\t\t\t\t\t\t></kanban-card>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</draggable>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"row-format\">\n\t\t\t\t\t\t<div v-for=\"column in columns\" :key=\"column.id\">\n\t\t\t\t\t\t\t<div class=\"kanban-v-col\">\n\t\t\t\t\t\t\t\t<div class=\"kanban-column pointer\" :id=\"`id.${column.id}`\" @click=\"addDeliverable(column)\">\n\t\t\t\t\t\t\t\t\t<kanban-header\n\t\t\t\t\t\t\t\t\t\t:all-columns=\"columns\"\n\t\t\t\t\t\t\t\t\t\t:column=\"column\"\n\t\t\t\t\t\t\t\t\t\t:is-collaborator=\"isCollaborator\"\n                    :allow-add-deliverable=\"hasFullAccessProjects\"\n\t\t\t\t\t\t\t\t\t\t@add-deliverable=\"addDeliverableNoWait($event)\"\n\t\t\t\t\t\t\t\t\t></kanban-header>\n\t\t\t\t\t\t\t\t\t<draggable\n\t\t\t\t\t\t\t\t\t\t:list=\"cards['id' + column.id]\"\n\t\t\t\t\t\t\t\t\t\t:group=\"{ name: 'card', pull: 'clone' }\"\n\t\t\t\t\t\t\t\t\t\ttag=\"section\"\n\t\t\t\t\t\t\t\t\t\t:style=\"`height: calc(100vh - ${headerHeight + 57}px); overflow-y: auto;`\"\n\t\t\t\t\t\t\t\t\t\t:emptyInsertThreshold=\"100\"\n\t\t\t\t\t\t\t\t\t\t:animation=\"200\"\n\t\t\t\t\t\t\t\t\t\t:handle=\"$store.state.isMobile ? 'disabled' : '.cardWrapper'\"\n\t\t\t\t\t\t\t\t\t\tghost-class=\"ghost\"\n\t\t\t\t\t\t\t\t\t\t:class=\"`draggable-container ${$store.state.isMac ? 'hidden-scroll' : ''}`\"\n\t\t\t\t\t\t\t\t\t\t:move=\"cardDragHandler\"\n\t\t\t\t\t\t\t\t\t\t@end=\"endDragHandler\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\tv-for=\"deliverable in cards['id' + column.id]\"\n\t\t\t\t\t\t\t\t\t\t\t:key=\"deliverable.id\"\n\t\t\t\t\t\t\t\t\t\t\t@click.stop=\"editDeliverable(deliverable)\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<kanban-card\n\t\t\t\t\t\t\t\t\t\t\t\t:deliverable=\"deliverable\"\n                        :assignable-users=\"assignableUsers\"\n                        :status-list=\"columns\"\n\t\t\t\t\t\t\t\t\t\t\t\t@add-new=\"addDeliverable(column)\"\n\t\t\t\t\t\t\t\t\t\t\t\t@add-new-empty=\"addDeliverableNoWait(column)\"\n                        @edit-subtask=\"editDeliverable($event)\"\n                        @add-subtask=\"addSubTask(deliverable)\"\n\t\t\t\t\t\t\t\t\t\t\t></kanban-card>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</draggable>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport Draggable from 'vuedraggable';\n\timport KanbanCard from './KanbanCard';\n\timport KanbanHeader from './KanbanHeader';\n\n\texport default {\n\t\tname: 'ProjectKanban',\n\n\t\tprops: ['deliverables', 'updateFlag', 'columns', 'isCollaborator', 'headerHeight','kanbanSort','hasFullAccessProjects','assignableUsers'],\n\n\t\tcomponents: {\n\t\t\tKanbanHeader,\n\t\t\tKanbanCard,\n\t\t\tDraggable,\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tprojectSelectorDialog: false,\n\t\t\t\tnewProjectStatus: null,\n\t\t\t\tselectedCard: null,\n\t\t\t\ttargetSortIndex: null,\n\t\t\t\tfromStatusId: null,\n\t\t\t\ttoStatusId: null,\n\n\t\t\t\tclickCount: 0,\n\t\t\t\tclickTimer: null,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\n\t\t},\n\n\t\tmethods: {\n\t\t\taddDeliverable: function(column) {\n\t\t\t\tthis.clickCount++;\n\t\t\t\tif (this.clickCount === 1) {\n\t\t\t\t\tthis.clickTimer = setTimeout(() => {\n\t\t\t\t\t\tthis.clickCount = 0;\n\t\t\t\t\t}, 500);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tclearTimeout(this.clickTimer);\n\t\t\t\tthis.clickCount = 0;\n\n\t\t\t\tthis.$emit('add-deliverable', column);\n\t\t\t},\n\n\t\t\taddDeliverableNoWait: function(column) {\n\t\t\t\tthis.$emit('add-deliverable', column);\n\t\t\t},\n\n      addSubTask: function(parentTask){\n        this.$emit('add-subtask',parentTask);\n      },\n\n\t\t\teditDeliverable: function(deliverable) {\n\t\t\t\tthis.$emit('edit-deliverable', deliverable);\n\t\t\t},\n\n\t\t\tcardDragHandler: function(event) {\n\t\t\t\tif (event.to.parentNode.id === 'unknown') {\n\t\t\t\t\tthis.selectedCard = null;\n\t\t\t\t\tthis.targetSortIndex = null;\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tthis.selectedCard = event.draggedContext.element;\n\t\t\t\tthis.targetSortIndex = event.draggedContext.futureIndex;\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\tendDragHandler: function(event) {\n\t\t\t\tif (this.selectedCard === null) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet updates = [];\n\n\t\t\t\tthis.fromStatusId = event.from.parentElement.id.split('.')[1];\n\t\t\t\tthis.toStatusId = event.to.parentElement.id.split('.')[1];\n\n\t\t\t\tlet sortArray = this.cards['id' + this.toStatusId];\n\n\t\t\t\tfor (let i = 0; i < sortArray.length; i++) {\n\t\t\t\t\tif (sortArray[i].kanbanSort !== i || sortArray[i].id === this.selectedCard.id) {\n\t\t\t\t\t\tlet update = {\n\t\t\t\t\t\t\tdeliverableId: sortArray[i].id,\n\t\t\t\t\t\t\tprojectId: sortArray[i].project.id,\n\t\t\t\t\t\t\tkanbanSort: i,\n\t\t\t\t\t\t\tstatusId: this.toStatusId,\n\t\t\t\t\t\t\tstatusLabel: null,\n\t\t\t\t\t\t};\n\n\t\t\t\t\t\tif (sortArray[i].statusId !== this.toStatusId) {\n\t\t\t\t\t\t\tupdate.statusLabel = this.columns.find(s => s.id === this.toStatusId).label;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tupdates.push(update);\n\t\t\t\t\t}\n\t\t\t\t\tsortArray[i].kanbanSort = i;\n\t\t\t\t\tsortArray[i].statusId = this.toStatusId;\n\t\t\t\t}\n\n\t\t\t\tthis.$emit('update-kanban-props', updates);\n        console.log(updates);\n\n\t\t\t\tthis.updateCounter++;\n\t\t\t\tthis.targetSortIndex = null;\n\t\t\t\tthis.selectedCard = null;\n\t\t\t\tthis.fromStatusId = null;\n\t\t\t\tthis.toStatusId = null;\n\t\t\t},\n\n\t\t\tcardSort: function(a, b) {\n\t\t\t\tif (a.kanbanSort !== b.kanbanSort) {\n\t\t\t\t\treturn a.kanbanSort - b.kanbanSort;\n\t\t\t\t} else if (a.dueDate && b.dueDate && a.dueDate !== b.dueDate) {\n\t\t\t\t\treturn Date.parse(a.dueDate) - Date.parse(b.dueDate);\n\t\t\t\t} else if (a.dueDate && !b.dueDate) {\n\t\t\t\t\treturn 1;\n\t\t\t\t} else if (b.dueDate && !a.dueDate) {\n\t\t\t\t\treturn -1;\n\t\t\t\t} else {\n\t\t\t\t\tif (a.name && b.name) {\n\t\t\t\t\t\tif (a.name.toLowerCase() > b.name.toLowerCase()) {\n\t\t\t\t\t\t\treturn 1;\n\t\t\t\t\t\t} else if (a.name.toLowerCase() < b.name.toLowerCase()) {\n\t\t\t\t\t\t\treturn -1;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcardSortDue: function(a, b) {\n\t\t\t\tif (a.dueDate && b.dueDate && a.dueDate !== b.dueDate) {\n\t\t\t\t\treturn Date.parse(a.dueDate) - Date.parse(b.dueDate);\n\t\t\t\t} else if (a.dueDate && !b.dueDate) {\n\t\t\t\t\treturn -1;\n\t\t\t\t} else if (b.dueDate && !a.dueDate) {\n\t\t\t\t\treturn 1;\n\t\t\t\t} else {\n\t\t\t\t\tif (a.name && b.name) {\n\t\t\t\t\t\tif (a.name.toLowerCase() > b.name.toLowerCase()) {\n\t\t\t\t\t\t\treturn 1;\n\t\t\t\t\t\t} else if (a.name.toLowerCase() < b.name.toLowerCase()) {\n\t\t\t\t\t\t\treturn -1;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn 0;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tcalculatedWidth: function() {\n\t\t\t\tlet count = this.columns.length;\n\t\t\t\ttry {\n\t\t\t\t\treturn (count + (this.cards.unknown.length > 0 ? 2 : 1)) * 300;\n\t\t\t\t} catch (e) {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcards: function() {\n\t\t\t\tif (this.updateFlag) {\n\t\t\t\t\t//do nothing - just reference for updating ui\n\t\t\t\t}\n\n\t\t\t\tlet columns = [...this.columns];\n\t\t\t\tlet cards = {\n\t\t\t\t\tunknown: [],\n\t\t\t\t};\n\n\t\t\t\tfor (let i = 0; i < columns.length; i++) {\n\t\t\t\t\tcards['id' + columns[i].id] = [];\n\t\t\t\t}\n\n\t\t\t\tif (this.deliverables.length === 0) {\n\t\t\t\t\tlet colId = 'id' + columns[0].id;\n\t\t\t\t\tcards[colId].push({\n\t\t\t\t\t\temptyCard: true,\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tfor (let i = 0; i < this.deliverables.length; i++) {\n\t\t\t\t\t\tlet colId = 'id' + this.deliverables[i].statusId;\n\t\t\t\t\t\tif (Object.prototype.hasOwnProperty.call(cards, colId)) {\n\t\t\t\t\t\t\tcards[colId].push(this.deliverables[i]);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tcards.unknown.push(this.deliverables[i]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tfor (const key in cards) {\n\t\t\t\t\t\tlet arr = cards[key];\n\t\t\t\t\t\tif(this.kanbanSort === 'due'){\n\t\t\t\t\t\t\tarr.sort(this.cardSortDue);\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\tarr.sort(this.cardSort);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn cards;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t#project-kanban {\n\t\t//::-webkit-scrollbar {\n\t\t//\tdisplay: none; // Inherits width and height from brand.scss\n\t\t//}\n\t\t.add-column {\n\t\t\twidth: 36px;\n\t\t\theight: 36px;\n\t\t\tmin-width: 36px;\n\t\t\tmin-height: 36px;\n\t\t\tcursor: pointer;\n\t\t\tbackground-color: var(--v-gray_20-base);\n\t\t\tborder-radius: 4px;\n\t\t}\n\t\t#kanban-container {\n\t\t\toverflow-x: auto;\n\t\t\toverflow-y: hidden;\n\t\t\t//height: calc(100% - 50px);\n\n\t\t\t#kanban-v-row {\n\t\t\t\t.kanban-v-col {\n\t\t\t\t\tmargin-left: 8px;\n\t\t\t\t\tmargin-right: 8px;\n\t\t\t\t\t//height: calc(100% - 50px);\n\t\t\t\t\tmin-width: 292px;\n\t\t\t\t\tmax-width: 292px;\n\t\t\t\t\t.kanban-column {\n\t\t\t\t\t\tbackground: linear-gradient(var(--v-sidebar-base), var(--v-white-base));\n\t\t\t\t\t\t//background: var(--v-gray_20-base);\n\t\t\t\t\t\tpadding: 8px 8px 8px 8px;\n\t\t\t\t\t\tborder-radius: 4px;\n\t\t\t\t\t\ttext-align: left;\n\t\t\t\t\t\tfilter: none;\n\n\t\t\t\t\t\t.draggable-container {\n\t\t\t\t\t\t\t//&::-webkit-scrollbar {\n\t\t\t\t\t\t\t//\tdisplay: none!important; // Inherits width and height from brand.scss\n\t\t\t\t\t\t\t//}\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t.hidden-scroll {\n\t\t\t\t\t\t\t&::-webkit-scrollbar {\n\t\t\t\t\t\t\t\tdisplay: none!important; // Inherits width and height from brand.scss\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t.new-column {\n\t\t\t\t\t\theight: 160px;\n\t\t\t\t\t\tbackground: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #f9f9f7 100%), #f0efea;\n\t\t\t\t\t\tpadding: 8px;\n\t\t\t\t\t\tborder-radius: 8px;\n\t\t\t\t\t\ttext-align: left;\n\t\t\t\t\t\tfilter: none;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectKanban.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectKanban.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProjectKanban.vue?vue&type=template&id=5127ed8a\"\nimport script from \"./ProjectKanban.vue?vue&type=script&lang=js\"\nexport * from \"./ProjectKanban.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProjectKanban.vue?vue&type=style&index=0&id=5127ed8a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"show-scrollbar\",staticStyle:{\"min-height\":\"100%\"},attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"align\":\"center\"}},[_c('gantt-chart',{attrs:{\"deliverables\":_vm.deliverablesWithDates,\"start-date\":_vm.start,\"end-date\":_vm.end,\"assignable-users\":_vm.assignableUsers},on:{\"edit-deliverable\":function($event){return _vm.$emit('edit-deliverable', $event)},\"dates-updated\":function($event){return _vm.$emit('dates-updated', $event)}}})],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"mr-3\"},[_c('table',[_c('thead',[_c('tr',_vm._l((_vm.dateAxis),function(month,propertyName){return _c('th',{key:propertyName,staticClass:\"text-center\",attrs:{\"colspan\":month.length}},[_c('span',{staticClass:\"font-gray_80 brand-medium\"},[_vm._v(_vm._s(_vm.DateTime.fromISO(propertyName).toLocaleString({ month: 'long', year: 'numeric' })))])])}),0),_c('tr',{attrs:{\"id\":\"gantt-days\"}},[_vm._l((_vm.dateAxis),function(month){return _vm._l((month),function(date){return _c('th',{key:date.toISODate(),staticClass:\"text-center\",staticStyle:{\"min-width\":\"35px\",\"max-width\":\"35px\",\"position\":\"relative\"},attrs:{\"data-id\":date.toISODate(),\"id\":`gantt-column-${date.toISODate()}`}},[_c('div',{class:(date.toISODate() === _vm.DateTime.now().toISODate() ? 'today' : '') + ' row-format centered',staticStyle:{\"width\":\"24px\",\"height\":\"24px\"}},[_c('div',[_vm._v(_vm._s(date.toFormat('d')))])]),(date.toISODate() === _vm.DateTime.now().toISODate())?_c('div',{staticClass:\"today-bar\"}):_vm._e()])})})],2)]),_c('tbody',_vm._l((_vm.calculatedRows),function(row){return _c('tr',{key:row.id,staticStyle:{\"min-height\":\"60px\"},on:{\"dragover\":_vm.handleDragOver}},_vm._l((row.blocks),function(block){return _c('td',{key:block.id,staticStyle:{\"max-width\":\"35px\",\"border-left\":\"none\",\"border-right\":\"none\",\"min-height\":\"30px\"},attrs:{\"colspan\":block.days}},[(block.type === 'deliverable')?_c('vue-resizable',{attrs:{\"data-id\":row.id,\"width\":\"auto\",\"max-height\":42,\"min-height\":42},on:{\"resize:end\":_vm.handleEndResize}},[_c('div',{staticClass:\"row-format align-center deliverable gantt-deliverable pl-2 pointer\",staticStyle:{\"height\":\"100%\"},attrs:{\"data-id\":row.id,\"draggable\":\"true\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$emit('edit-deliverable', row)},\"dragstart\":_vm.handleDragStart,\"dragend\":_vm.handleDragEnd,\"drop\":_vm.handleDrop,\"dragenter\":_vm.handleDragEnter}},[_c('div',{staticClass:\"text-left\",staticStyle:{\"white-space\":\"nowrap\"}},[_c('div',{staticClass:\"font-14 brand-medium\"},[_vm._v(_vm._s(row.name))]),_c('div',{staticClass:\"font-12\"},[_vm._v(_vm._s(row.project.name))])]),_c('div',{staticClass:\"ml-2 row-format align-center\"},_vm._l((row.assignedToList),function(assignedTo,index){return _c('assigned-user',{key:assignedTo,style:(`${\n\t\t\t\t\t\t\t\t\t\tindex > 0 ? 'margin-left: -6px' : ''\n\t\t\t\t\t\t\t\t\t}; border: 2px solid var(--v-white-base); border-radius: 100%; z-index: ${index}`),attrs:{\"show-name\":false,\"small\":true,\"assigned-to\":assignedTo,\"assignable-users\":_vm.assignableUsers}})}),1),(row.tasks.length)?_c('div',{staticClass:\"ml-2 row-format align-center\"},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"size\":\"8\"}},[_vm._v(\"$check\")]),_c('div',{staticClass:\"font-gray_80 font-12\"},[_vm._v(_vm._s(_vm.getTaskCountLabel(row.tasks)))])],1):_vm._e(),_c('div',{staticClass:\"deliverableStatus row-format align-center ml-2\",style:(`--status-color:${row.status.hexColor}`)},[_c('div',{staticClass:\"statusBox\"}),_c('div',[_vm._v(_vm._s(row.status.label))])]),_c('div',{staticClass:\"ml-4 row-format align-center\"},[(row.subtasks.length)?_c('div',{staticClass:\"font-12 row-format centered pa-1\"},[_c('div',[_vm._v(_vm._s(row.subtasks.length))])]):_vm._e(),_c('v-icon',{staticClass:\"material-symbols-rounded\",attrs:{\"size\":\"20\",\"color\":row.subtasks.length ? 'black' : 'gray_50'}},[_vm._v(\"graph_2\")])],1)])]):_vm._e()],1)}),0)}),0)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"mr-3\">\n\t\t<table>\n\t\t\t<thead>\n\t\t\t\t<tr>\n\t\t\t\t\t<th v-for=\"(month, propertyName) in dateAxis\" :key=\"propertyName\" :colspan=\"month.length\" class=\"text-center\">\n\t\t\t\t\t\t<span class=\"font-gray_80 brand-medium\">{{\n\t\t\t\t\t\t\tDateTime.fromISO(propertyName).toLocaleString({ month: 'long', year: 'numeric' })\n\t\t\t\t\t\t}}</span>\n\t\t\t\t\t</th>\n\t\t\t\t</tr>\n\t\t\t\t<tr id=\"gantt-days\">\n\t\t\t\t\t<template v-for=\"month in dateAxis\">\n\t\t\t\t\t\t<th\n\t\t\t\t\t\t\t:data-id=\"date.toISODate()\"\n\t\t\t\t\t\t\tv-for=\"date in month\"\n\t\t\t\t\t\t\t:key=\"date.toISODate()\"\n\t\t\t\t\t\t\t:id=\"`gantt-column-${date.toISODate()}`\"\n\t\t\t\t\t\t\tstyle=\"min-width: 35px; max-width: 35px; position: relative;\" class=\"text-center\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div :class=\"(date.toISODate() === DateTime.now().toISODate() ? 'today' : '') + ' row-format centered'\" style=\"width: 24px; height: 24px\">\n\t\t\t\t\t\t\t\t<div>{{ date.toFormat('d') }}</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"today-bar\" v-if=\"date.toISODate() === DateTime.now().toISODate()\"></div>\n\t\t\t\t\t\t</th>\n\t\t\t\t\t</template>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<tbody>\n\t\t\t\t<tr v-for=\"row in calculatedRows\" :key=\"row.id\" style=\"min-height: 60px\" @dragover=\"handleDragOver\">\n\t\t\t\t\t<td\n\t\t\t\t\t\tv-for=\"block in row.blocks\"\n\t\t\t\t\t\t:key=\"block.id\"\n\t\t\t\t\t\t:colspan=\"block.days\"\n\t\t\t\t\t\tstyle=\"max-width: 35px; border-left: none; border-right: none; min-height: 30px;\"\n\t\t\t\t\t>\n\n\t\t\t\t\t\t<vue-resizable\n\t\t\t\t\t\t\t:data-id=\"row.id\"\n\t\t\t\t\t\t\tv-if=\"block.type === 'deliverable'\"\n\t\t\t\t\t\t\twidth=\"auto\"\n\t\t\t\t\t\t\t:max-height=\"42\"\n\t\t\t\t\t\t\t:min-height=\"42\"\n\t\t\t\t\t\t\t@resize:end=\"handleEndResize\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div :data-id=\"row.id\"\n\t\t\t\t\t\t\t\tclass=\"row-format align-center deliverable gantt-deliverable pl-2 pointer\" style=\"height: 100%;\"\n\t\t\t\t\t\t\t\t@click.stop=\"$emit('edit-deliverable', row)\"\n\t\t\t\t\t\t\t\tdraggable=\"true\"\n\t\t\t\t\t\t\t\t@dragstart=\"handleDragStart\"\n\t\t\t\t\t\t\t\t@dragend=\"handleDragEnd\"\n\t\t\t\t\t\t\t\t@drop=\"handleDrop\"\n\t\t\t\t\t\t\t\t@dragenter=\"handleDragEnter\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<div class=\"text-left\" style=\"white-space: nowrap\">\n\t\t\t\t\t\t\t\t\t<div class=\"font-14 brand-medium\">{{ row.name }}</div>\n\t\t\t\t\t\t\t\t\t<div class=\"font-12\">{{ row.project.name }}</div>\n\t\t\t\t\t\t\t\t</div>\n                <div class=\"ml-2 row-format align-center\">\n                  <assigned-user\n                      v-for=\"(assignedTo, index) in row.assignedToList\"\n                      :key=\"assignedTo\"\n                      :show-name=\"false\"\n                      :small=\"true\"\n                      :assigned-to=\"assignedTo\"\n                      :assignable-users=\"assignableUsers\"\n                      :style=\"\n\t\t\t\t\t\t\t\t\t`${\n\t\t\t\t\t\t\t\t\t\tindex > 0 ? 'margin-left: -6px' : ''\n\t\t\t\t\t\t\t\t\t}; border: 2px solid var(--v-white-base); border-radius: 100%; z-index: ${index}`\n\t\t\t\t\t\t\t\t\"\n                  ></assigned-user>\n                </div>\n\t\t\t\t\t\t\t\t<div class=\"ml-2 row-format align-center\" v-if=\"row.tasks.length\">\n\t\t\t\t\t\t\t\t\t<v-icon size=\"8\" class=\"mr-1\">$check</v-icon>\n\t\t\t\t\t\t\t\t\t<div class=\"font-gray_80 font-12\">{{getTaskCountLabel(row.tasks)}}</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div class=\"deliverableStatus row-format align-center ml-2\" :style=\"`--status-color:${row.status.hexColor}`\">\n\t\t\t\t\t\t\t\t\t<div class=\"statusBox\"></div>\n\t\t\t\t\t\t\t\t\t<div>{{row.status.label}}</div>\n\t\t\t\t\t\t\t\t</div>\n\n                <div class=\"ml-4 row-format align-center\">\n                  <div v-if=\"row.subtasks.length\" class=\"font-12 row-format centered pa-1\">\n                    <div>{{ row.subtasks.length }}</div>\n                  </div>\n                  <v-icon\n                      class=\"material-symbols-rounded\"\n                      size=\"20\"\n                      :color=\"row.subtasks.length ? 'black' : 'gray_50'\"\n                  >graph_2</v-icon\n                  >\n                </div>\n              </div>\n\n\t\t\t\t\t\t</vue-resizable>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t</div>\n</template>\n\n<script>\n\timport {DateTime} from 'luxon';\n\timport { v4 as uuid4 } from 'uuid';\n\timport VueResizable from 'vue-resizable';\n\timport AssignedUser from \"@/components/AssignedUser\";\n\n\texport default {\n\t\tname: 'GanttChart',\n\n\t\tprops: ['startDate', 'endDate', 'deliverables','assignableUsers'],\n\n\t\tcomponents: { VueResizable, AssignedUser },\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tDateTime: DateTime,\n\t\t\t\txAdjust: 0\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.$nextTick(() => this.scrollTodayIntoView());\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tscrollTodayIntoView: function(){\n\t\t\t\tlet column = document.getElementById('gantt-column-' + DateTime.now().toISODate());\n\t\t\t\tlet project = document.getElementById('project-container');\n\t\t\t\tif (column != null && project != null) {\n\t\t\t\t\tproject.scrollLeft = column.offsetLeft - (this.getWidth() / 2);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tgetWidth: function() {\n\t\t\t\tlet max = Math.max(\n\t\t\t\t\t\tdocument.body.scrollWidth,\n\t\t\t\t\t\tdocument.documentElement.scrollWidth,\n\t\t\t\t\t\tdocument.body.offsetWidth,\n\t\t\t\t\t\tdocument.documentElement.offsetWidth,\n\t\t\t\t\t\tdocument.documentElement.clientWidth\n\t\t\t\t);\n\n\t\t\t\tif(this.$store.state.leftNavExpanded){\n\t\t\t\t\tmax = max - 300;\n\t\t\t\t}else{\n\t\t\t\t\tmax = max - 60;\n\t\t\t\t}\n\t\t\t\treturn max;\n\t\t\t},\n\n\t\t\thandleDragStart: function (e) {\n\t\t\t\te.target.style.opacity = '0.4';\n\t\t\t\te.dataTransfer.effectAllowed = 'move';\n\t\t\t\tthis.xAdjust =  e.clientX - e.target.getBoundingClientRect().x;\n\t\t\t},\n\n\t\t\thandleDragEnd: function (e) {\n\t\t\t\te.target.style.opacity = '1';\n\n\t\t\t\tlet deliverable = this.deliverables.find(d => d.id === e.target.getAttribute('data-id'));\n\t\t\t\tlet daySpan = Math.ceil(deliverable.end.diff(deliverable.start, ['days']).days);\n\t\t\t\tlet startDate = DateTime.fromISO(this.findDateFromCoordinate(e.clientX - this.xAdjust)).startOf('day');\n\t\t\t\tlet endDate = startDate.plus({days:daySpan});\n\n\t\t\t\tthis.$emit('dates-updated', {\n\t\t\t\t\tid: deliverable.id,\n\t\t\t\t\tstartDate: startDate.toISODate(),\n\t\t\t\t\tdueDate: endDate.toISODate(),\n\t\t\t\t});\n\t\t\t},\n\n\t\t\thandleDragEnter: function(e){\n\t\t\t\te.preventDefault();\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\thandleDragOver: function (e) {\n\t\t\t\te.preventDefault();\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\thandleDrop: function (event) {\n\t\t\t\tevent.stopPropagation(); // stops the browser from redirecting.\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\thandleEndResize: function (event) {\n\t\t\t\tlet bounds = event.cmp.$el.getBoundingClientRect();\n\t\t\t\tlet startDate = this.findDateFromCoordinate(bounds.left);\n\t\t\t\tlet dueDate = this.findDateFromCoordinate(bounds.left + bounds.width);\n\t\t\t\tlet id = event.cmp.$el.getAttribute('data-id');\n\t\t\t\tthis.$emit('dates-updated', {\n\t\t\t\t\tid: id,\n\t\t\t\t\tstartDate: startDate,\n\t\t\t\t\tdueDate: dueDate,\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tfindDateFromCoordinate: function (coordinate) {\n\t\t\t\tlet coordinates = this.loadCoordinates();\n\t\t\t\tlet found = coordinates.find((c) => c.start <= coordinate && c.end > coordinate);\n\t\t\t\tif (found) {\n\t\t\t\t\treturn found.date;\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tloadCoordinates: function () {\n\t\t\t\tlet coordinates = [];\n\t\t\t\tdocument.getElementById('gantt-days').childNodes.forEach((n) => {\n\t\t\t\t\tlet dayBound = n.getBoundingClientRect();\n\t\t\t\t\tlet dayStart = dayBound.left;\n\t\t\t\t\tlet dayEnd = dayBound.left + dayBound.width;\n\t\t\t\t\tlet coordinate = {\n\t\t\t\t\t\tstart: dayStart,\n\t\t\t\t\t\tend: dayEnd,\n\t\t\t\t\t\tdate: n.getAttribute('data-id'),\n\t\t\t\t\t};\n\t\t\t\t\tcoordinates.push(coordinate);\n\t\t\t\t});\n\t\t\t\treturn coordinates;\n\t\t\t},\n\n\t\t\tgroupBy: function (array, key) {\n\t\t\t\treturn array.reduce((result, currentValue) => {\n\t\t\t\t\t(result[currentValue[key]] = result[currentValue[key]] || []).push(currentValue);\n\t\t\t\t\treturn result;\n\t\t\t\t}, {});\n\t\t\t},\n\n\t\t\tcalculateBlocks: function (row) {\n\t\t\t\tlet diffFromStart = row.start.diff(this.startDate, ['days']).days;\n\t\t\t\tlet diffFromEnd = this.endDate.diff(row.end, ['days']).days;\n\t\t\t\tlet daySpan = Math.ceil(row.end.diff(row.start, ['days']).days);\n\n\t\t\t\tlet blocks = [];\n\n\t\t\t\tif (diffFromStart > 0) {\n\t\t\t\t\tblocks.push({ id: uuid4(), type: 'blank', days: diffFromStart });\n\t\t\t\t}\n\n\t\t\t\tblocks.push({ id: uuid4(), type: 'deliverable', days: daySpan });\n\n\t\t\t\tif (diffFromEnd > 0) {\n\t\t\t\t\tblocks.push({ id: uuid4(), type: 'blank', days: diffFromEnd });\n\t\t\t\t}\n\n\t\t\t\treturn blocks;\n\t\t\t},\n\n\t\t\tgetTaskCountLabel: function (tasks) {\n\t\t\t\tif (tasks.length === 0) {\n\t\t\t\t\treturn '';\n\t\t\t\t} else {\n\t\t\t\t\tlet taskCount = tasks.length;\n\t\t\t\t\tlet completedCount = 0;\n\t\t\t\t\ttasks.forEach((t) => (t.complete ? completedCount++ : null));\n\n\t\t\t\t\treturn completedCount + '/' + taskCount;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tcalculatedRows: function () {\n\t\t\t\tlet result = [...this.deliverables];\n\t\t\t\tfor (let i = 0; i < result.length; i++) {\n\t\t\t\t\tresult[i].blocks = this.calculateBlocks(result[i]);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\tdateAxis: function () {\n\t\t\t\tlet days = [];\n\t\t\t\tlet now = this.startDate;\n\n\t\t\t\twhile (now < this.endDate) {\n\t\t\t\t\tlet element = {\n\t\t\t\t\t\tdate: now,\n\t\t\t\t\t\tmonth: now.startOf('month').toISODate(),\n\t\t\t\t\t};\n\t\t\t\t\tdays.push(element);\n\t\t\t\t\tnow = now.plus({ days: 1 });\n\t\t\t\t}\n\n\t\t\t\tlet grouped = this.groupBy(days, 'month');\n\n\t\t\t\tfor (let key in grouped) {\n\t\t\t\t\tgrouped[key] = grouped[key].map((e) => e.date);\n\t\t\t\t}\n\n\t\t\t\treturn grouped;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\ttable,\n\tth,\n\ttd {\n\t\tborder: 1px solid var(--v-gray_30-base);\n\t\tborder-collapse: collapse;\n\t\tpadding: 4px 4px;\n\t\tcolor: var(--v-gray_70-base);\n\t\tfont-size: 14px;\n\t}\n\n\t.deliverable {\n\t\tbackground-color: var(--v-gray_20-base);\n\t\tcolor: var(--v-gray_90-base);\n\t\tborder-radius: 4px;\n\t}\n\n\t.today {\n\t\tbackground-color: var(--v-primary-base);\n\t\tcolor: var(--v-white-base);\n\t\tborder-radius: 40px;\n\t}\n\n\t.today-bar {\n\t\tposition: absolute;\n\t\theight: calc(100vh - 160px);\n\t\twidth: 1px;\n\t\tbackground-color: var(--v-blue_30-base);\n\t\ttop: 32px;\n\t\tleft: 16px;\n\t}\n\n\t.deliverableStatus {\n\t\tfont-size: 12px;\n\t\tpadding:2px 8px;\n\t\tbox-sizing: border-box;\n\t\tborder-radius: 4px;\n\t\twhite-space: nowrap;\n\t\tborder: 1px solid var(--v-gray_50-base);\n\t\tbackground-color: var(--v-white-base);\n\n\t\t.statusBox {\n\t\t\tmargin-right: 8px;\n\t\t\twidth:10px;\n\t\t\theight:10px;\n\t\t\tborder-radius: 2px;\n\t\t\twhite-space: nowrap;\n\t\t\tbackground-color: var(--status-color);\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GanttChart.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GanttChart.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./GanttChart.vue?vue&type=template&id=6b07b10c&scoped=true\"\nimport script from \"./GanttChart.vue?vue&type=script&lang=js\"\nexport * from \"./GanttChart.vue?vue&type=script&lang=js\"\nimport style0 from \"./GanttChart.vue?vue&type=style&index=0&id=6b07b10c&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6b07b10c\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","<template>\n\t<v-container fluid style=\"min-height: 100%\" class=\"show-scrollbar\">\n\t\t<v-row>\n\t\t\t<v-col align=\"center\">\n\t\t\t\t<gantt-chart\n\t\t\t\t\t:deliverables=\"deliverablesWithDates\"\n\t\t\t\t\t:start-date=\"start\"\n\t\t\t\t\t:end-date=\"end\"\n          :assignable-users=\"assignableUsers\"\n\t\t\t\t\t@edit-deliverable=\"$emit('edit-deliverable', $event)\"\n\t\t\t\t\t@dates-updated=\"$emit('dates-updated', $event)\"\n\t\t\t\t>\n\t\t\t\t</gantt-chart>\n\t\t\t</v-col>\n\t\t</v-row>\n\t</v-container>\n</template>\n\n<script>\n\timport GanttChart from '@/modules/projects/management/gantt/GanttChart';\n\timport { DateTime } from 'luxon';\n\n\texport default {\n\t\tname: 'GanttView',\n\n\t\tprops: ['deliverables', 'ganttSort', 'headerHeight','statusList','assignableUsers'],\n\n\t\tcomponents: {\n\t\t\tGanttChart,\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tsortByName: function(a, b) {\n\t\t\t\tif (a.name && b.name) {\n\t\t\t\t\treturn a.name.localeCompare(b.name, undefined, { sensitivity: 'base' });\n\t\t\t\t} else if (a.name) {\n\t\t\t\t\treturn 1;\n\t\t\t\t} else if (b.name) {\n\t\t\t\t\treturn -1;\n\t\t\t\t} else {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsortByStatusAndName: function(a, b) {\n\t\t\t\tlet result = this.sortByStatus(a, b);\n\t\t\t\tif (result === 0) {\n\t\t\t\t\tresult = this.sortByName(a, b);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\tsortByNameAndStartDate: function(a, b) {\n\t\t\t\tlet result = this.sortByName(a, b);\n\t\t\t\tif (result === 0) {\n\t\t\t\t\tresult = this.sortByStartDate(a, b);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\tsortByStartDateAndNameAndStatus: function(a, b) {\n\t\t\t\tlet result = this.sortByStartDate(a, b);\n\t\t\t\tif (result === 0) {\n\t\t\t\t\tresult = this.sortByName(a, b);\n\t\t\t\t\tif (result === 0) {\n\t\t\t\t\t\tresult = this.sortByStatus(a, b);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\tsortByStartDateAndName: function(a, b) {\n\t\t\t\tlet result = this.sortByStartDate(a, b);\n\t\t\t\tif (result == 0) {\n\t\t\t\t\treturn this.sortByName(a, b);\n\t\t\t\t} else {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsortByStatus: function(a, b) {\n\t\t\t\tlet ai = this.statusList.findIndex((c) => c.id === a.statusId);\n\t\t\t\tlet bi = this.statusList.findIndex((c) => c.id === b.statusId);\n\n\t\t\t\tif (ai < bi) {\n\t\t\t\t\treturn -1;\n\t\t\t\t} else if (ai > bi) {\n\t\t\t\t\treturn 1;\n\t\t\t\t} else {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsortByStartDate: function(a, b) {\n\t\t\t\treturn a.start.toMillis() - b.start.toMillis();\n\t\t\t},\n\n      getDeliverableStatusById: function(id){\n        return this.statusList.find(s => s.id === id);\n      }\n\t\t},\n\n\t\tcomputed: {\n\t\t\tdeliverablesWithDates: function() {\n\t\t\t\tlet result = [];\n\t\t\t\tfor (let i = 0; i < this.deliverables.length; i++) {\n\t\t\t\t\tlet d = JSON.parse(JSON.stringify(this.deliverables[i]));\n\t\t\t\t\tif (d.startDate || d.dueDate) {\n\t\t\t\t\t\td.start = DateTime.fromISO(d.startDate ? d.startDate : d.dueDate).startOf('day');\n\t\t\t\t\t\td.end = DateTime.fromISO(d.dueDate ? d.dueDate : d.startDate).endOf('day');\n\t\t\t\t\t\td.status = this.getDeliverableStatusById(d.statusId);\n\t\t\t\t\t\tresult.push(d);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (this.ganttSort === 'start') {\n\t\t\t\t\tresult.sort(this.sortByStartDateAndNameAndStatus);\n\t\t\t\t} else if (this.ganttSort === 'name') {\n\t\t\t\t\tresult.sort(this.sortByName);\n\t\t\t\t} else if (this.ganttSort === 'status') {\n\t\t\t\t\tresult.sort(this.sortByStatusAndName);\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\tstart: function() {\n\t\t\t\tif (this.deliverablesWithDates.length) {\n\t\t\t\t\tlet earliest = this.deliverablesWithDates[0].start;\n\t\t\t\t\tfor (let i = 0; i < this.deliverablesWithDates.length; i++) {\n\t\t\t\t\t\tif (this.deliverablesWithDates[i].start < earliest) {\n\t\t\t\t\t\t\tearliest = this.deliverablesWithDates[i].start;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn earliest.startOf('month');\n\t\t\t\t}\n\n\t\t\t\treturn DateTime.now().startOf('month');\n\t\t\t},\n\n\t\t\tend: function() {\n\t\t\t\tif (this.deliverablesWithDates.length) {\n\t\t\t\t\tlet latest = this.deliverablesWithDates[0].end;\n\t\t\t\t\tfor (let i = 0; i < this.deliverablesWithDates.length; i++) {\n\t\t\t\t\t\tif (this.deliverablesWithDates[i].end > latest) {\n\t\t\t\t\t\t\tlatest = this.deliverablesWithDates[i].end;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\treturn latest.endOf('month');\n\t\t\t\t}\n\t\t\t\treturn DateTime.now().endOf('month');\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GanttView.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GanttView.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./GanttView.vue?vue&type=template&id=b0f4156e&scoped=true\"\nimport script from \"./GanttView.vue?vue&type=script&lang=js\"\nexport * from \"./GanttView.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"b0f4156e\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VContainer,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"column-format mt-n2 px-3\"},[_c('div',{staticClass:\"row-format align-center px-5 pb-2\",staticStyle:{\"border-bottom\":\"1px solid var(--v-gray_30-base)\"}},[_c('div',{staticClass:\"month-name\"},[_vm._v(_vm._s(_vm.monthName))]),_c('div',{staticClass:\"ml-auto\"},[_c('v-btn-toggle',[_c('v-btn',{staticClass:\"chevron-button\",attrs:{\"color\":\"var(--v-gray_70-base)\",\"outlined\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.$refs.calendar.prev()}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"$chevronLeft\")])],1),_c('v-btn',{staticClass:\"today-button\",attrs:{\"color\":\"var(--v-black-base)\",\"outlined\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.today()}}},[_vm._v(\" Today \")]),_c('v-btn',{staticClass:\"chevron-button\",attrs:{\"color\":\"var(--v-gray_70-base)\",\"outlined\":\"\",\"small\":\"\"},on:{\"click\":function($event){return _vm.$refs.calendar.next()}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"$chevronRight\")])],1)],1)],1)]),_c('div',[_c('v-calendar',{ref:\"calendar\",staticStyle:{\"height\":\"calc(100vh - 185px)\"},attrs:{\"id\":\"calendar\",\"weekdays\":_vm.weekdays,\"type\":\"month\"},on:{\"mouseenter:day\":_vm.mouseMove,\"mouseup:day\":_vm.mouseUp},nativeOn:{\"mouseleave\":function($event){return _vm.mouseUp.apply(null, arguments)}},scopedSlots:_vm._u([{key:\"day-label\",fn:function({ day }){return [(day !== _vm.todayNumber)?_c('div',{staticClass:\"dayLabel\"},[_vm._v(\" \"+_vm._s(day)+\" \")]):_c('div',{staticClass:\"dayLabel\"},[_c('div',{staticClass:\"todayLabel\"},[_vm._v(_vm._s(day))])])]}},{key:\"day\",fn:function({ date }){return [_c('div',{staticClass:\"day\",style:(`--day-height: ${_vm.dayHeight}px;`),on:{\"click\":function($event){return _vm.addDeliverable(date)}}},[_vm._l((_vm.events.get(date)),function(event,index){return _c('div',{key:event.id},[(index < _vm.maxItems || (index === _vm.maxItems && index === _vm.events.get(date).length - 1))?_c('calendar-item',{attrs:{\"event\":event,\"status\":_vm.getStatus(event)},on:{\"start-drag\":function($event){return _vm.startDrag($event)},\"edit-deliverable\":function($event){return _vm.editDeliverable($event)}}}):_vm._e()],1)}),(_vm.events.get(date) && _vm.events.get(date).length > _vm.maxItems + 1)?_c('v-menu',{attrs:{\"close-on-content-click\":true,\"nudge-top\":_vm.dayHeight},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"hasMore pointer\"},on),[_vm._v(\"+ \"+_vm._s(_vm.events.get(date).length - _vm.maxItems)+\" more\")])]}}],null,true)},[_c('v-container',{staticStyle:{\"background-color\":\"white\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"2\"}}),_c('v-col',{attrs:{\"cols\":\"8\",\"align\":\"center\"}},[_c('span',{staticStyle:{\"font-weight\":\"500\"}},[_vm._v(_vm._s(_vm.moment(date).format('ddd')))]),_c('h2',[_vm._v(_vm._s(_vm.moment(date).format('D')))])]),_c('v-col',{attrs:{\"cols\":\"2\",\"align\":\"right\"}},[_c('v-icon',{staticClass:\"pointer\",attrs:{\"small\":\"\",\"color\":\"black\"}},[_vm._v(\"$close\")])],1)],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},_vm._l((_vm.events.get(date)),function(event){return _c('div',{key:event.id},[_c('calendar-item',{attrs:{\"event\":event,\"status\":_vm.getStatus(event)},on:{\"start-drag\":function($event){return _vm.startDrag($event)},\"edit-deliverable\":function($event){return _vm.editDeliverable($event)}}})],1)}),0)],1)],1)],1):_vm._e()],2)]}}]),model:{value:(_vm.value),callback:function ($$v) {_vm.value=$$v},expression:\"value\"}})],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nexport default {\n\n    data: function(){\n        return {\n            isReady: false,\n            updateCounter: 0\n        }\n    },\n\n    methods:{\n        isInStatusFilter: function (filter,statusId) {\n            if (filter.status.length === 0) {\n                return true;\n            } else if (filter.status.indexOf(statusId) > -1) {\n                return true;\n            } else {\n                return false;\n            }\n        },\n\n\n        sortByName: function (a, b) {\n            if(a.name && b.name){\n                return a.name.localeCompare(b.name, undefined, {sensitivity: 'base'})\n            }else if(a.name){\n                return 1;\n            }else if(b.name){\n                return -1;\n            }else{\n                return 0;\n            }\n        },\n    },\n\n    computed: {}\n\n\n}","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"pointer v-event-draggable row-format pb-2\",staticStyle:{\"align-items\":\"center\",\"justify-content\":\"space-between\"},on:{\"mousedown\":function($event){$event.stopPropagation();return _vm.startDrag(_vm.event)}}},[_c('div',{staticClass:\"row-format\",staticStyle:{\"align-items\":\"center\",\"width\":\"90%\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.editDeliverable(_vm.event)}}},[_c('div',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({ content: _vm.tippyLabel }),expression:\"{ content: tippyLabel }\"}],staticClass:\"pl-1 eventLabel no-select\",staticStyle:{\"font-size\":\"12px\"},domProps:{\"innerHTML\":_vm._s(_vm.event.name)}})]),_c('div',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({ content: _vm.status.label }),expression:\"{ content: status.label }\"}],staticClass:\"coloredCircle\",style:(`--circle-color: ${_vm.status.hexColor}`)})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div\n\t\tclass=\"pointer v-event-draggable row-format pb-2\"\n\t\tstyle=\"align-items: center; justify-content: space-between;\"\n\t\t@mousedown.stop=\"startDrag(event)\"\n\t>\n\t\t<div class=\"row-format\" style=\"align-items: center; width: 90%;\" @click.stop=\"editDeliverable(event)\">\n      <div\n\t\t\t\tstyle=\"font-size: 12px;\"\n\t\t\t\tclass=\"pl-1 eventLabel no-select\"\n\t\t\t\tv-html=\"event.name\"\n\t\t\t\tv-tippy=\"{ content: tippyLabel }\"\n\t\t\t></div>\n\t\t</div>\n\t\t<div\n\t\t\tclass=\"coloredCircle\"\n\t\t\tv-tippy=\"{ content: status.label }\"\n\t\t\t:style=\"`--circle-color: ${status.hexColor}`\"\n\t\t></div>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'CalendarItem',\n\n\t\tprops: ['event','status'],\n\n\t\tcomponents: { },\n\n\t\tdata: function() {\n\t\t\treturn {};\n\t\t},\n\n\t\tmethods: {\n\t\t\tstartDrag: function(event) {\n\t\t\t\tthis.$emit('start-drag', event);\n\t\t\t},\n\n\t\t\teditDeliverable: function(event) {\n\t\t\t\tthis.$emit('edit-deliverable', event);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\ttippyLabel: function(){\n\t\t\t\tif(this.event.project){\n\t\t\t\t\treturn this.event.project.name + \" - \" + this.event.name;\n\t\t\t\t}else{\n\t\t\t\t\treturn this.event.name;\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.coloredCircle {\n\t\twidth: 12px;\n\t\theight: 12px;\n\t\tborder-radius: 6px;\n\t\tbackground-color: var(--circle-color);\n\t\tmargin-right: 4px;\n\t}\n\n\t.eventLabel {\n\t\tdisplay: block;\n\t\twidth: 100%;\n\t\ttext-align: left;\n\t\toverflow: hidden;\n\t\twhite-space: nowrap;\n\t\ttext-overflow: ellipsis;\n\t}\n\n\t.no-select {\n\t\t-webkit-touch-callout: none; /* iOS Safari */\n\t\t-webkit-user-select: none; /* Safari */\n\t\t-khtml-user-select: none; /* Konqueror HTML */\n\t\t-moz-user-select: none; /* Old versions of Firefox */\n\t\t-ms-user-select: none; /* Internet Explorer/Edge */\n\t\tuser-select: none; /* Non-prefixed version, currently\n                                  supported by Chrome, Edge, Opera and Firefox */\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarItem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarItem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./CalendarItem.vue?vue&type=template&id=fe69d890&scoped=true\"\nimport script from \"./CalendarItem.vue?vue&type=script&lang=js\"\nexport * from \"./CalendarItem.vue?vue&type=script&lang=js\"\nimport style0 from \"./CalendarItem.vue?vue&type=style&index=0&id=fe69d890&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"fe69d890\",\n  null\n  \n)\n\nexport default component.exports","<template>\n\t<div class=\"column-format mt-n2 px-3\">\n\t\t<div class=\"row-format align-center px-5 pb-2\" style=\"border-bottom: 1px solid var(--v-gray_30-base)\">\n\t\t\t<div class=\"month-name\">{{ monthName }}</div>\n\t\t\t<div class=\"ml-auto\">\n\t\t\t\t<v-btn-toggle>\n\t\t\t\t\t<v-btn color=\"var(--v-gray_70-base)\" outlined class=\"chevron-button\" small @click=\"$refs.calendar.prev()\"\n\t\t\t\t\t><v-icon small>$chevronLeft</v-icon></v-btn\n\t\t\t\t\t>\n\t\t\t\t\t<v-btn color=\"var(--v-black-base)\" outlined small class=\"today-button\" @click=\"today()\">\n\t\t\t\t\t\t\tToday\n\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t<v-btn color=\"var(--v-gray_70-base)\" outlined small class=\"chevron-button\" @click=\"$refs.calendar.next()\"\n\t\t\t\t\t><v-icon small>$chevronRight</v-icon></v-btn\n\t\t\t\t\t>\n\t\t\t\t</v-btn-toggle>\n\t\t\t</div>\n\t\t</div>\n\t\t<div>\n\t\t\t<v-calendar\n\t\t\t\t\tid=\"calendar\"\n\t\t\t\t\tref=\"calendar\"\n\t\t\t\t\tv-model=\"value\"\n\t\t\t\t\t:weekdays=\"weekdays\"\n\t\t\t\t\t@mouseenter:day=\"mouseMove\"\n\t\t\t\t\t@mouseup:day=\"mouseUp\"\n\t\t\t\t\t@mouseleave.native=\"mouseUp\"\n\t\t\t\t\ttype=\"month\" style=\"height: calc(100vh - 185px)\"\n\t\t\t>\n\t\t\t\t<template v-slot:day-label=\"{ day }\">\n\t\t\t\t\t<div class=\"dayLabel\" v-if=\"day !== todayNumber\">\n\t\t\t\t\t\t{{ day }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-else class=\"dayLabel\">\n\t\t\t\t\t\t<div class=\"todayLabel\">{{ day }}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-slot:day=\"{ date }\">\n\t\t\t\t\t<div class=\"day\" :style=\"`--day-height: ${dayHeight}px;`\" @click=\"addDeliverable(date)\">\n\t\t\t\t\t\t<div v-for=\"(event, index) in events.get(date)\" :key=\"event.id\">\n\t\t\t\t\t\t\t<calendar-item\n\t\t\t\t\t\t\t\t\tv-if=\"index < maxItems || (index === maxItems && index === events.get(date).length - 1)\"\n\t\t\t\t\t\t\t\t\t:event=\"event\"\n\t\t\t\t\t\t\t\t\t@start-drag=\"startDrag($event)\"\n\t\t\t\t\t\t\t\t\t@edit-deliverable=\"editDeliverable($event)\"\n                  :status=\"getStatus(event)\"\n\t\t\t\t\t\t\t></calendar-item>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<v-menu\n\t\t\t\t\t\t\t\t:close-on-content-click=\"true\"\n\t\t\t\t\t\t\t\t:nudge-top=\"dayHeight\"\n\t\t\t\t\t\t\t\tv-if=\"events.get(date) && events.get(date).length > maxItems + 1\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t\t\t\t\t<div class=\"hasMore pointer\" v-on=\"on\">+ {{ events.get(date).length - maxItems }} more</div>\n\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t<v-container style=\"background-color: white;\">\n\t\t\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t\t\t<v-col cols=\"2\"></v-col>\n\t\t\t\t\t\t\t\t\t<v-col cols=\"8\" align=\"center\">\n\t\t\t\t\t\t\t\t\t\t<span style=\"font-weight: 500;\">{{ moment(date).format('ddd') }}</span>\n\t\t\t\t\t\t\t\t\t\t<h2>{{ moment(date).format('D') }}</h2>\n\t\t\t\t\t\t\t\t\t</v-col>\n\t\t\t\t\t\t\t\t\t<v-col cols=\"2\" align=\"right\"\n\t\t\t\t\t\t\t\t\t><v-icon small class=\"pointer\" color=\"black\">$close</v-icon></v-col\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t\t\t<v-col cols=\"12\">\n\t\t\t\t\t\t\t\t\t\t<div v-for=\"event in events.get(date)\" :key=\"event.id\">\n\t\t\t\t\t\t\t\t\t\t\t<calendar-item\n\t\t\t\t\t\t\t\t\t\t\t\t\t:event=\"event\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t@start-drag=\"startDrag($event)\"\n\t\t\t\t\t\t\t\t\t\t\t\t\t@edit-deliverable=\"editDeliverable($event)\"\n                          :status=\"getStatus(event)\"\n\t\t\t\t\t\t\t\t\t\t\t></calendar-item>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</v-col>\n\t\t\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t\t</v-container>\n\t\t\t\t\t\t</v-menu>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t</v-calendar>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport KanbanMixin from './ProjectMixin';\n\timport moment from 'moment';\n\timport CalendarItem from './CalendarItem';\n\n\texport default {\n\t\tname: 'ProjectCalendar',\n\n\t\tmixins: [KanbanMixin],\n\n\t\tprops: ['deliverables', 'projects', 'updateFlag', 'modalOpen', 'weekends','statusList'],\n\n\t\tcomponents: { CalendarItem },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tweekdayOnly: false,\n\t\t\t\tvalue: new Date().toISOString().substr(0, 10),\n\t\t\t\tdragEvent: null,\n\t\t\t\tinternalUpdate: 0,\n\t\t\t\ttodayNumber: this.$DateTime.local().toFormat('d'),\n\t\t\t\tmoment: moment,\n\t\t\t\tmonths: [\n\t\t\t\t\t'January',\n\t\t\t\t\t'February',\n\t\t\t\t\t'March',\n\t\t\t\t\t'April',\n\t\t\t\t\t'May',\n\t\t\t\t\t'June',\n\t\t\t\t\t'July',\n\t\t\t\t\t'August',\n\t\t\t\t\t'September',\n\t\t\t\t\t'October',\n\t\t\t\t\t'November',\n\t\t\t\t\t'December',\n\t\t\t\t],\n\t\t\t\tclickCount: 0,\n\t\t\t\tclickTimer: null,\n\n\t\t\t};\n\t\t},\n\n\t\tbeforeMount() {\n\t\t\tthis.startTime = Date.now();\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.$store.commit('stopLoading')\n\t\t\t//this.$track.record('page-view', { module: 'project-calendar' });\n\t\t\twindow.addEventListener('keydown', this.keyDown);\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t\twindow.removeEventListener('keydown', this.keyDown);\n\t\t},\n\n\t\tmethods: {\n      getStatus: function(event){\n        let status = this.deliverableStatusMap.get(event.statusId);\n        if(status){\n          return status;\n        }else{\n          return {\n            hexColor: '#eee',\n            label: '[Unknown]'\n          }\n        }\n      },\n\t\t\tkeyDown: function(event) {\n\t\t\t\tif (this.modalOpen) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tswitch (event.key) {\n\t\t\t\t\tcase 'ArrowLeft':\n\t\t\t\t\t\tthis.$refs.calendar.prev();\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase 'ArrowRight':\n\t\t\t\t\t\tthis.$refs.calendar.next();\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\teditDeliverable: function(deliverable) {\n\t\t\t\tthis.dragEvent = null;\n\t\t\t\tthis.$emit('edit-deliverable', deliverable);\n\t\t\t},\n\n\t\t\taddDeliverable: function(date) {\n\t\t\t\tthis.clickCount++;\n\t\t\t\tif (this.clickCount === 1) {\n\t\t\t\t\tthis.clickTimer = setTimeout(() => {\n\t\t\t\t\t\tthis.clickCount = 0;\n\t\t\t\t\t}, 500);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tclearTimeout(this.clickTimer);\n\t\t\t\tthis.clickCount = 0;\n\n\t\t\t\tthis.dragEvent = null;\n\t\t\t\tthis.$emit('add-deliverable-date', date);\n\t\t\t},\n\n\t\t\tcheckAndSetMap: function(map, key, value) {\n\t\t\t\tif (!map.has(key)) {\n\t\t\t\t\tmap.set(key, []);\n\t\t\t\t}\n\n\t\t\t\tmap.get(key).push(value);\n\t\t\t},\n\n\t\t\tstartDrag: function(event) {\n\t\t\t\tthis.internalUpdate++;\n\t\t\t\tthis.dragEvent = event;\n\t\t\t},\n\n\t\t\tmouseMove: function(event) {\n\t\t\t\tif (this.dragEvent) {\n\t\t\t\t\tthis.internalUpdate++;\n\t\t\t\t\tthis.dragEvent.dueDate = event.date;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tmouseUp: function() {\n\t\t\t\tif (this.dragEvent) {\n\t\t\t\t\tthis.internalUpdate++;\n\t\t\t\t\tthis.$emit('update-due-date', this.dragEvent);\n\t\t\t\t\tthis.dragEvent = null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\ttoday: function() {\n\t\t\t\tlet m = moment();\n\t\t\t\tthis.value = m.format('YYYY-MM-DD');\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n      deliverableStatusMap: function() {\n        let statusMap = new Map();\n        if (this.statusList && this.statusList) {\n          for (let i = 0; i < this.statusList.length; i++) {\n            let s = this.statusList[i];\n            statusMap.set(s.id, s);\n          }\n        }\n        return statusMap;\n      },\n\n\t\t\tweekdays: function() {\n        return [0, 1, 2, 3, 4, 5, 6];\n\t\t\t},\n\n\t\t\tdayHeight: function() {\n\t\t\t\treturn Math.floor((this.$vuetify.breakpoint.height - 380) / this.weekCount);\n\t\t\t},\n\n\t\t\tmaxItems: function() {\n\t\t\t\tlet maxItems = Math.floor(this.dayHeight / 50);\n\t\t\t\treturn maxItems < 1 ? 1 : maxItems;\n\t\t\t},\n\n\t\t\tweekCount: function() {\n\t\t\t\tlet ourDate = moment(this.value, 'YYYY-MM-DD');\n\n\t\t\t\tlet firstOfMonth = new Date(ourDate.year(), ourDate.month(), 1);\n\t\t\t\tlet lastOfMonth = new Date(ourDate.year(), ourDate.month() + 1, 0);\n\n\t\t\t\tlet used = firstOfMonth.getDay() + lastOfMonth.getDate();\n\n\t\t\t\treturn Math.ceil(used / 7);\n\t\t\t},\n\n\t\t\tmonthName: function() {\n\t\t\t\tlet m = moment(this.value, 'YYYY-MM-DD');\n\t\t\t\treturn m.format('MMMM YYYY');\n\t\t\t},\n\n\t\t\tevents: function() {\n\t\t\t\tif (this.updateFlag) {\n\t\t\t\t\t//do nothing;\n\t\t\t\t}\n\n\t\t\t\tif (this.internalUpdate) {\n\t\t\t\t\t//do nothing\n\t\t\t\t}\n\n\t\t\t\tlet result = new Map();\n        let localDeliverables = JSON.parse(JSON.stringify(this.deliverables));\n\n\t\t\t\tlocalDeliverables.forEach((d) => {\n\t\t\t\t\tif (d.dueDate) {\n\t\t\t\t\t\tif (d.dueDate) {\n\t\t\t\t\t\t\tthis.checkAndSetMap(result, d.dueDate, d);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.checkAndSetMap(result, 'no-date', d);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\treturn result;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.month-name {\n\t\tfont-size: 20px;\n\t\tfont-weight: 600;\n\t\tcolor: var(--v-black-base);\n\t}\n\n\t.day {\n\t\tmin-height: 55px;\n\t\tpadding: 4px;\n\t\theight: var(--day-height);\n\t}\n\n\t.hasMore {\n\t\ttext-align: left;\n\t\tfont-size: 12px;\n\t\tfont-weight: 500;\n\t\tcolor: var(--v-primary-base);\n\t}\n\n\t.dayLabel {\n\t\tfont-size: 12px;\n\t\tfont-weight: 500;\n\t\ttext-align: left;\n\t\tpadding-left: 6px;\n\t}\n\n\t.todayLabel {\n\t\tbackground-color: var(--v-primary-base);\n\t\tcolor: white;\n\t\tdisplay: inline-block;\n\t\twidth: 17px;\n\t\theight: 17px;\n\t\ttext-align: center;\n\t\tborder-radius: 10px;\n\t}\n\n\t#calendar ::v-deep .v-calendar-weekly__head-weekday {\n\t\ttext-transform: none;\n\t\tpadding-top: 5px;\n\t\tpadding-bottom: 5px;\n\t\ttext-align: left;\n\t\tborder-bottom: 1px solid #e0e0e0;\n\t\tbackground-color: white !important;\n\t\tcolor: black;\n\t}\n\n\t#calendar ::v-deep .v-outside {\n\t\tbackground-color: #f0efea;\n\t\topacity: 0.6;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectCalendar.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectCalendar.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProjectCalendar.vue?vue&type=template&id=f9f6705a&scoped=true\"\nimport script from \"./ProjectCalendar.vue?vue&type=script&lang=js\"\nexport * from \"./ProjectCalendar.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProjectCalendar.vue?vue&type=style&index=0&id=f9f6705a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"f9f6705a\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VBtnToggle } from 'vuetify/lib/components/VBtnToggle';\nimport { VCalendar } from 'vuetify/lib/components/VCalendar';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VBtnToggle,VCalendar,VCol,VContainer,VIcon,VMenu,VRow})\n","<template>\n\t<div v-if=\"isReady\">\n\t\t<div style=\"border-bottom: 1px solid var(--v-gray_30-base)\" class=\"mx-2 py-4\">\n\t\t\t<div class=\"row-format gap-2 ml-3 pt-2\">\n        <v-select\n            v-if=\"view === 'overview'\"\n            dense\n            hide-details\n            persistent-placeholder\n            style=\"max-width: 150px\"\n            v-model=\"taskStatus\"\n            :items=\"['Active', 'Archived', 'All']\"\n            label=\"Status\"\n        ></v-select>\n\t\t\t\t<div class=\"row-format gap-3\" v-if=\"view !== 'overview'\">\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\tstyle=\"max-width: 200px; font-size: 12px!important;\"\n\t\t\t\t\t\tdense\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\tv-model=\"taskFilter\"\n\t\t\t\t\t\tlabel=\"Filter\"\n\t\t\t\t\t\tplaceholder=\"Search...\"\n\t\t\t\t\t></v-text-field>\n\t\t\t\t\t<v-select\n\t\t\t\t\t\tdense\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\tstyle=\"max-width: 150px\"\n\t\t\t\t\t\tv-model=\"taskStatus\"\n\t\t\t\t\t\t:items=\"['Active', 'Archived', 'All']\"\n\t\t\t\t\t\tlabel=\"Status\"\n\t\t\t\t\t></v-select>\n\t\t\t\t\t<v-autocomplete\n\t\t\t\t\t\tdense\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n            style=\"max-width: 250px; font-size: 12px!important;\"\n            v-model=\"projectIdFilter\"\n\t\t\t\t\t\t:items=\"projectsByType\"\n\t\t\t\t\t\titem-text=\"name\"\n\t\t\t\t\t\titem-value=\"id\"\n            label=\"Project\"\n\t\t\t\t\t></v-autocomplete>\n\t\t\t\t\t<v-select\n\t\t\t\t\t\tv-if=\"projectTypes.length > 1\"\n\t\t\t\t\t\tdense\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\tstyle=\"max-width: 200px; font-size: 12px!important;\"\n\t\t\t\t\t\tv-model=\"projectTypeId\"\n\t\t\t\t\t\t:items=\"projectTypes\"\n\t\t\t\t\t\titem-text=\"name\"\n\t\t\t\t\t\titem-value=\"id\"\n\t\t\t\t\t\tlabel=\"Project type\"\n\t\t\t\t\t\t@change=\"saveProjectTypeId\"\n\t\t\t\t\t></v-select>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div :style=\"`height: calc(100vh - ${headerHeight}px)`\" class=\"mx-0 pt-4 show-scrollbar\" id=\"project-container\">\n\t\t\t<div v-if=\"view === 'overview'\" class=\"mx-3\">\n\t\t\t\t<project\n\t\t\t\t\tv-for=\"project in filteredProjects\"\n\t\t\t\t\t:key=\"project.id\"\n\t\t\t\t\t:project=\"project\"\n\t\t\t\t\t:status-list=\"getProjectType(project.projectTypeId).statusList\"\n\t\t\t\t\tclass=\"project-wrapper\"\n\t\t\t\t></project>\n\t\t\t</div>\n\t\t\t<div v-if=\"view === 'kanban' && fullReadProjects.length > 0\">\n\t\t\t\t<project-kanban\n\t\t\t\t\t:assignable-users=\"assignableUsers\"\n\t\t\t\t\t:has-full-access-projects=\"fullAccessProjects.length > 0\"\n\t\t\t\t\t:deliverables=\"filteredDeliverables\"\n\t\t\t\t\t:is-collaborator=\"true\"\n\t\t\t\t\t:columns=\"activeProjectType.statusList\"\n\t\t\t\t\t:header-height=\"headerHeight\"\n\t\t\t\t\t@edit-deliverable=\"editDeliverable($event)\"\n\t\t\t\t\t@update-kanban-props=\"updateKanbanProperties($event)\"\n\t\t\t\t\t@add-deliverable=\"addDeliverable($event)\"\n\t\t\t\t\t@add-subtask=\"createSubtask($event)\"\n\t\t\t\t></project-kanban>\n\t\t\t</div>\n\t\t\t<div v-if=\"view === 'timeline' && fullReadProjects.length > 0\" class=\"show-scrollbar mr-3\" style=\"height: 100%\">\n\t\t\t\t<gantt-view\n\t\t\t\t\t:assignable-users=\"assignableUsers\"\n\t\t\t\t\t:deliverables=\"filteredDeliverables\"\n\t\t\t\t\t:status-list=\"activeProjectType.statusList\"\n\t\t\t\t\t:header-height=\"headerHeight\"\n\t\t\t\t\t@edit-deliverable=\"editDeliverable($event)\"\n\t\t\t\t\t@dates-updated=\"datesUpdated($event)\"\n\t\t\t\t></gantt-view>\n\t\t\t</div>\n\n\t\t\t<div v-if=\"view === 'calendar' && fullReadProjects.length > 0\" class=\"show-scrollbar mr-3\" style=\"height: 100%\">\n\t\t\t\t<project-calendar\n\t\t\t\t\t:projects=\"filteredProjects\"\n\t\t\t\t\t:deliverables=\"filteredDeliverables\"\n\t\t\t\t\t:status-list=\"activeProjectType.statusList\"\n\t\t\t\t\t@edit-deliverable=\"editDeliverable($event)\"\n\t\t\t\t\t@update-due-date=\"datesUpdated($event)\"\n\t\t\t\t>\n\t\t\t\t</project-calendar>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport Project from '@/modules/projects/Project';\n\timport ProjectService from '@/modules/projects/ProjectService';\n\timport ProjectKanban from '@/modules/projects/management/ProjectKanban';\n\timport GanttView from '@/modules/projects/management/GanttView';\n\timport DeliverableDetail from '@/modules/projects/deliverable/DeliverableDetail';\n\timport ProjectSelector from '@/modules/projects/ProjectSelector';\n\timport ProjectCalendar from '@/modules/projects/management/ProjectCalendar';\n\n\texport default {\n\t\tname: 'Projects',\n\n\t\tprops: ['v'],\n\n\t\tcomponents: { ProjectCalendar, GanttView, ProjectKanban, Project },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tprojectService: new ProjectService(),\n\t\t\t\tview: 'overview',\n\t\t\t\tprojects: [],\n\t\t\t\tdeliverables: [],\n\t\t\t\tprojectTypes: [],\n\t\t\t\tprojectTypeId: null,\n        projectIdFilter: null,\n\t\t\t\tassignableUsers: [],\n\t\t\t\tfilter: this.$t('projects.filter.active'),\n\t\t\t\ttaskFilter: null,\n\t\t\t\ttaskStatus: 'Active',\n\t\t\t\theaderHeight: 130,\n\t\t\t\tisReady: false,\n\t\t\t\tfilterOptions: [\n\t\t\t\t\tthis.$t('projects.filter.active'),\n\t\t\t\t\tthis.$t('projects.filter.complete'),\n\t\t\t\t\tthis.$t('projects.filter.all'),\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tif (this.v) {\n\t\t\t\tthis.view = this.v;\n\t\t\t}\n\n\t\t\tthis.getProjectList();\n\t\t\tthis.getAssignableUsers();\n\t\t\tthis.$store.state.eventBus.$on(this.getChannelName(), this.eventHandler);\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t\tthis.$store.state.eventBus.$off(this.getChannelName(), this.eventHandler);\n\t\t},\n\n\t\tmethods: {\n\t\t\tsetView: function(view) {\n\t\t\t\tthis.view = view;\n\t\t\t\twindow.history.pushState({}, document.title, this.$router.currentRoute.path + `?v=${view}`);\n\t\t\t},\n\n\t\t\tsaveProjectTypeId: function() {\n\t\t\t\tlocalStorage.setItem('PROJECT_TYPE_ID', this.projectTypeId);\n\t\t\t},\n\n\t\t\tgetAssignableUsers: function() {\n\t\t\t\tthis.projectService.getAllAssignableUsers().then((res) => {\n\t\t\t\t\tthis.assignableUsers.splice(0, this.assignableUsers.length);\n\t\t\t\t\tthis.assignableUsers.push(...res.data);\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tgetProjectList: function() {\n\t\t\t\tlet projectId = this.$route.query.projectId;\n\n\t\t\t\tthis.projectService.getProjects().then((res) => {\n\t\t\t\t\tthis.projects.splice(0, this.projects.length);\n\t\t\t\t\tthis.projects.push(...res.data);\n\t\t\t\t\tthis.projects = this.projects.sort(this.sortByActive);\n\t\t\t\t\tthis.projects = this.projects.sort(this.sortByName);\n\n\t\t\t\t\tif (projectId) {\n\t\t\t\t\t\tthis.projects.forEach((p) => {\n\t\t\t\t\t\t\tif (p.id === projectId) {\n\t\t\t\t\t\t\t\tp.initExpanded = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\n\t\t\t\t\tif (this.projects.length && !projectId) {\n\t\t\t\t\t\tthis.projects[0].initExpanded = true;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.getProjectTypes();\n\t\t\t\t\tthis.fixupTabs();\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tgetProjectTypes: function() {\n\t\t\t\tthis.projectService.getProjectTypes().then((res) => {\n\t\t\t\t\tlet savedProjectTypeId = localStorage.getItem('PROJECT_TYPE_ID');\n\t\t\t\t\tthis.projectTypes.push(...res.data);\n\n          if(this.projectTypes.length === 0){\n            return;\n          }\n\n\t\t\t\t\tif (savedProjectTypeId) {\n\t\t\t\t\t\tif (this.projectTypes.find((p) => p.id === savedProjectTypeId)) {\n\t\t\t\t\t\t\tthis.projectTypeId = savedProjectTypeId;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tif (!this.projectTypeId) {\n\t\t\t\t\t\tlet defaultProjectType = this.projectTypes.find((p) => p.isDefaultProjectType);\n\n            if(defaultProjectType) {\n              this.projectTypeId = defaultProjectType.id;\n            }else{\n              this.projectTypeId = this.projectTypes[0].id;\n            }\n          }\n\n\t\t\t\t\tthis.getDeliverables();\n\t\t\t\t\tthis.isReady = true;\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tfixupTabs: function() {\n\t\t\t\tif (!this.hasProjectManagement) {\n\t\t\t\t\tthis.$store.state.tabs.splice(1, this.$store.state.tabs.length);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tgetDeliverables: function() {\n\t\t\t\tthis.projectService.getDeliverables(this.projectTypeId).then((res) => {\n\t\t\t\t\tthis.deliverables.splice(0, this.deliverables.length);\n\t\t\t\t\tthis.deliverables.push(...res.data);\n\t\t\t\t\tthis.deliverables.forEach((d) => {\n\t\t\t\t\t\td.project = this.projects.find((p) => p.id === d.projectId);\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\n\t\t\taddDeliverable: function(column) {\n\t\t\t\tif (this.fullAccessProjects.length > 1) {\n\t\t\t\t\tthis.$store.state.globalModalController\n\t\t\t\t\t\t.openModal(ProjectSelector, { projects: this.fullAccessProjects })\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\t\tthis.createDeliverable(res.project, column);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.createDeliverable(this.fullAccessProjects[0], column);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcreateSubtask: function(parentTask) {\n\t\t\t\tlet deliverable = {\n\t\t\t\t\tid: null,\n\t\t\t\t\tname: null,\n\t\t\t\t\tparentTaskId: parentTask.id,\n\t\t\t\t\tdescription: null,\n\t\t\t\t\tassignedTo: null,\n\t\t\t\t\tdueDate: null,\n\t\t\t\t\tstatusId: this.activeProjectType.statusList[0].id,\n\t\t\t\t\ttasks: [],\n\t\t\t\t\tcomments: [],\n\t\t\t\t\tevents: [],\n\t\t\t\t\tfiles: [],\n\t\t\t\t\tarchived: false,\n\t\t\t\t};\n\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\tthis.projectService\n\t\t\t\t\t.createDeliverable(parentTask.project.id, deliverable)\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tthis.editDeliverable(res.data);\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => this.$store.commit('stopLoading'));\n\t\t\t},\n\n\t\t\tcreateDeliverable: function(project, column) {\n\t\t\t\tlet deliverable = {\n\t\t\t\t\tid: null,\n\t\t\t\t\tname: null,\n\t\t\t\t\tdescription: null,\n\t\t\t\t\tassignedTo: null,\n\t\t\t\t\tdueDate: null,\n\t\t\t\t\tstatusId: column.id,\n\t\t\t\t\ttasks: [],\n\t\t\t\t\tcomments: [],\n\t\t\t\t\tevents: [],\n\t\t\t\t\tfiles: [],\n\t\t\t\t\tarchived: false,\n\t\t\t\t};\n\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\tthis.projectService\n\t\t\t\t\t.createDeliverable(project.id, deliverable)\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tthis.editDeliverable(res.data);\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => this.$store.commit('stopLoading'));\n\t\t\t},\n\n\t\t\tupdateKanbanProperties: function(updates) {\n\t\t\t\tthis.projectService.updateKanbanProperties(updates);\n\t\t\t},\n\n\t\t\tgetChannelName() {\n\t\t\t\treturn this.$store.getters.getMessageChannelPrefix + '.pr';\n\t\t\t},\n\n\t\t\teventHandler: function(event) {\n\t\t\t\tif (event.userMetadata === 'ProjectDeliverableMini') {\n\t\t\t\t\tthis.processDeliverableDataEvent(event.message);\n\t\t\t\t} else if (event.userMetadata === 'KanbanUpdate') {\n\t\t\t\t\tthis.processKanbanUpdate(event.message);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tprocessKanbanUpdate: function(updates) {\n\t\t\t\tfor (let i = 0; i < updates.length; i++) {\n\t\t\t\t\tlet deliverableId = updates[i].deliverableId;\n\t\t\t\t\tlet kanbanSort = updates[i].kanbanSort;\n\t\t\t\t\tlet statusId = updates[i].statusId;\n\n\t\t\t\t\tlet ix = this.deliverables.findIndex((d) => d.id === deliverableId);\n\n\t\t\t\t\tif (ix > -1) {\n\t\t\t\t\t\tlet deliverable = this.deliverables[ix];\n\t\t\t\t\t\tdeliverable.kanbanSort = kanbanSort;\n\t\t\t\t\t\tdeliverable.statusId = statusId;\n\t\t\t\t\t\tthis.deliverables.splice(ix, 1, deliverable);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tprocessDeliverableDataEvent: function(deliverable) {\n\t\t\t\tlet project = this.projects.find((p) => p.id === deliverable.projectId);\n\n\t\t\t\tif (!project) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tdeliverable.project = project;\n\n\t\t\t\tlet ix = this.deliverables.findIndex((d) => d.id === deliverable.id);\n\t\t\t\tif (ix > -1) {\n\t\t\t\t\tif (deliverable.statusId === '__deleted__') {\n\t\t\t\t\t\tthis.deliverables.splice(ix, 1);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.deliverables.splice(ix, 1, deliverable);\n\t\t\t\t\t}\n\t\t\t\t} else if (deliverable.statusId !== '__deleted__') {\n\t\t\t\t\tthis.deliverables.push(deliverable);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\teditDeliverable: function(deliverable) {\n\t\t\t\tlet project = this.projects.find((p) => p.id === deliverable.projectId);\n\t\t\t\tthis.projectService.getDeliverableDetail(deliverable.id).then((res) => {\n\t\t\t\t\tlet binding = {\n\t\t\t\t\t\torigDeliverable: res.data,\n\t\t\t\t\t\tproject: project,\n\t\t\t\t\t\tstatusList: this.activeProjectType.statusList,\n\t\t\t\t\t};\n\t\t\t\t\tthis.$store.state.globalModalController.openModal(DeliverableDetail, binding).then((res) => {\n\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\tres.project = project;\n\t\t\t\t\t\t\tlet ix = this.deliverables.findIndex((d) => d.id === deliverable.id);\n\t\t\t\t\t\t\tif (ix > -1) {\n\t\t\t\t\t\t\t\tthis.deliverables.splice(ix, 1, res);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.deliverables.push(res);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tdatesUpdated: function(dates) {\n\t\t\t\tlet patch = [];\n\t\t\t\tlet ix = this.deliverables.findIndex((d) => d.id === dates.id);\n\t\t\t\tlet deliverable = this.deliverables[ix];\n\n\t\t\t\tif (deliverable.project.portalAccess === 'Full access') {\n\t\t\t\t\tdeliverable.startDate = dates.startDate;\n\t\t\t\t\tdeliverable.dueDate = dates.dueDate;\n\t\t\t\t\tthis.deliverables.splice(ix, 1, deliverable);\n\n\t\t\t\t\tpatch.push({\n\t\t\t\t\t\top: 'replace',\n\t\t\t\t\t\tpath: '/dueDate',\n\t\t\t\t\t\tvalue: dates.dueDate,\n\t\t\t\t\t});\n\n\t\t\t\t\tpatch.push({\n\t\t\t\t\t\top: 'replace',\n\t\t\t\t\t\tpath: '/startDate',\n\t\t\t\t\t\tvalue: dates.startDate,\n\t\t\t\t\t});\n\n\t\t\t\t\tthis.projectService.patchDeliverable(deliverable.id, patch);\n\t\t\t\t} else {\n\t\t\t\t\tthis.deliverables.splice(ix, 1, deliverable);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tgetDefaultProjectType: function() {\n\t\t\t\treturn this.projectTypes.find((p) => p.isDefaultProjectType);\n\t\t\t},\n\n\t\t\tgetProjectType: function(projectTypeId) {\n\t\t\t\tlet ix = this.projectTypes.findIndex((p) => p.id === projectTypeId);\n\t\t\t\tif (ix > -1) {\n\t\t\t\t\treturn this.projectTypes[ix];\n\t\t\t\t} else {\n\t\t\t\t\treturn this.getDefaultProjectType();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsortByActive: function(a, b) {\n\t\t\t\tif (a.active && b.active) {\n\t\t\t\t\treturn 0;\n\t\t\t\t} else if (a.active) {\n\t\t\t\t\treturn -1;\n\t\t\t\t} else if (b.active) {\n\t\t\t\t\treturn 1;\n\t\t\t\t} else {\n\t\t\t\t\treturn 0;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsortByName: function(a, b) {\n\t\t\t\treturn a.name.localeCompare(b.name);\n\t\t\t},\n\n\t\t\tisInTaskStatusFilter(d) {\n\t\t\t\tif (this.taskStatus === 'Active' && !d.archived) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else if (this.taskStatus === 'Archived' && d.archived) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else if (this.taskStatus === 'All') {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tisInNameFilter(d) {\n\t\t\t\tif (this.taskFilter) {\n\t\t\t\t\treturn d.name && d.name.toLowerCase().includes(this.taskFilter.toLowerCase());\n\t\t\t\t} else {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tactiveProjectType: function() {\n\t\t\t\treturn this.projectTypes.find((p) => p.id === this.projectTypeId);\n\t\t\t},\n\n\t\t\tfilteredDeliverables: function() {\n\t\t\t\tlet protectedIds = new Set();\n\t\t\t\tlet result = [...this.deliverables.filter((d) => d.projectTypeId === this.projectTypeId)];\n\t\t\t\tlet subTaskMap = new Map();\n\n\t\t\t\t//get all the subtasks to the bottom, so they get processed first as we loop the list backwards\n\t\t\t\tresult.sort((a, b) => {\n\t\t\t\t\tif (a.parentTaskId === null && b.parentTaskId !== null) {\n\t\t\t\t\t\treturn -1;\n\t\t\t\t\t} else if (a.parentTaskId !== null && b.parentTaskId === null) {\n\t\t\t\t\t\treturn 1;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn 0;\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tfor (let i = result.length - 1; i >= 0; i--) {\n\t\t\t\t\tlet deliverable = result[i];\n\n\t\t\t\t\tif (protectedIds.has(deliverable.id)) {\n\t\t\t\t\t\t//skip filtering as we are needed based on matching subtask\n\t\t\t\t\t} else if (!this.isInTaskStatusFilter(deliverable)) {\n\t\t\t\t\t\tresult.splice(i, 1);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t} else if (!this.isInNameFilter(deliverable)) {\n\t\t\t\t\t\tresult.splice(i, 1);\n\t\t\t\t\t\tcontinue;\n\t\t\t\t\t}else if(this.projectIdFilter != null && deliverable.projectId !== this.projectIdFilter){\n            result.splice(i, 1);\n            continue;\n          }\n\n\t\t\t\t\tif (deliverable.parentTaskId) {\n\t\t\t\t\t\tprotectedIds.add(deliverable.parentTaskId);\n\t\t\t\t\t\tresult.splice(i, 1);\n\n\t\t\t\t\t\tif (!subTaskMap.has(deliverable.parentTaskId)) {\n\t\t\t\t\t\t\tsubTaskMap.set(deliverable.parentTaskId, []);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tsubTaskMap.get(deliverable.parentTaskId).push(deliverable);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (deliverable.subtasks) {\n\t\t\t\t\t\t\tdeliverable.subtasks.splice(0, deliverable.subtasks.length);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.$set(deliverable, 'subtasks', []);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet deliverableMap = new Map(result.map((obj) => [obj.id, obj]));\n\n\t\t\t\tsubTaskMap.forEach((value, key) => {\n\t\t\t\t\tif (deliverableMap.has(key)) {\n\t\t\t\t\t\t//push into subtask array\n\t\t\t\t\t\tdeliverableMap.get(key).subtasks.push(...value);\n\t\t\t\t\t} else {\n\t\t\t\t\t\t//failsafe to surface subtasks if they get orphaned\n\t\t\t\t\t\tdeliverableMap.set(value.id, value);\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tresult = [...deliverableMap.values()];\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\tfilteredProjects: function() {\n\t\t\t\tlet result = [...this.projects];\n\t\t\t\treturn result\n\t\t\t\t\t.filter((p) => {\n\t\t\t\t\t\tif (this.taskStatus === 'Active') {\n\t\t\t\t\t\t\treturn p.active === true;\n\t\t\t\t\t\t} else if (this.taskStatus === 'Archived') {\n\t\t\t\t\t\t\treturn p.active === false;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.sort(this.sortByActive)\n\t\t\t\t\t.sort(this.sortByName);\n\t\t\t},\n\n\t\t\tprojectsByType: function() {\n\t\t\t\tlet result = [...this.fullReadProjects.filter((p) => p.projectTypeId === this.projectTypeId)];\n        result.unshift({\n          id: null,\n          name: '-- All projects --'\n        })\n        return result;\n\t\t\t},\n\n\t\t\tfullAccessProjects: function() {\n\t\t\t\treturn this.filteredProjects.filter((p) => p.portalAccess === 'Full access');\n\t\t\t},\n\n\t\t\tfullReadProjects: function() {\n\t\t\t\treturn this.filteredProjects.filter(\n\t\t\t\t\t(p) => (p.portalAccess === 'Full access' || p.portalAccess === 'Read only')\n\t\t\t\t);\n\t\t\t},\n\n\t\t\thasProjectManagement: function() {\n\t\t\t\treturn this.projects.filter((p) => p.portalAccess !== 'Overview').length > 0;\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n\t\t\tprojectTypeId: function() {\n\t\t\t\tthis.deliverables.splice(0, this.deliverables.length);\n        this.projectIdFilter = null;\n\t\t\t\tthis.getDeliverables();\n\t\t\t},\n\n\t\t\tv: function(val) {\n\t\t\t\tthis.setView(val);\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.project-wrapper {\n\t\tmin-height: 42px;\n\t\tborder: 1px solid var(--v-gray_50-base);\n\t\tborder-radius: 4px;\n\t\tmargin-bottom: 16px;\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectMain.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectMain.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProjectMain.vue?vue&type=template&id=0351f4e6&scoped=true\"\nimport script from \"./ProjectMain.vue?vue&type=script&lang=js\"\nexport * from \"./ProjectMain.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProjectMain.vue?vue&type=style&index=0&id=0351f4e6&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"0351f4e6\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAutocomplete } from 'vuetify/lib/components/VAutocomplete';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VAutocomplete,VSelect,VTextField})\n","import ProjectMain from '@/modules/projects/ProjectMain';\n\nexport default [\n\t{\n\t\tpath: '/projects',\n\t\tname: 'Projects',\n\t\tcomponent: ProjectMain,\n\t\tprops: (route) => ({\n\t\t\tv: route.query.v,\n\t\t}),\n\t}\n]","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('h-header'),_c('div',{staticClass:\"pa-4\",staticStyle:{\"height\":\"var(--vh)\"}},[_c('div',{staticClass:\"mt-4 row-format\",staticStyle:{\"flex-wrap\":\"wrap\"}},[_vm._l((_vm.schedulers),function(scheduler){return _c('div',{key:scheduler.id,staticClass:\"scheduler\"},[_c('div',{staticClass:\"brand-medium mb-2\"},[_vm._v(_vm._s(scheduler.name))]),_c('div',{staticClass:\"font-14 mb-2\",staticStyle:{\"text-transform\":\"capitalize\"}},[_vm._v(_vm._s(_vm.$t('meetings.duration'))+\" \"+_vm._s(scheduler.meetingLength.duration)+\" \"+_vm._s(scheduler.meetingLength.timeUnit.toLowerCase())+\" \")]),_c('v-btn',{staticClass:\"primary-action mt-auto\",attrs:{\"large\":\"\"},on:{\"click\":function($event){return _vm.bookNow(scheduler)}}},[_vm._v(_vm._s(_vm.$t('meetings.schedule.book-now'))+\" \")])],1)}),(_vm.schedulers.length === 0)?_c('div',{staticClass:\"scheduler column-format centered\"},[_c('div',[_vm._v(_vm._s(_vm.$t('meetings.no-schedulers')))])]):_vm._e()],2)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div>\n      <h-header>\n      </h-header>\n      <div class=\"pa-4\" style=\"height: var(--vh)\">\n        <div class=\"mt-4 row-format\" style=\"flex-wrap: wrap\">\n          <div v-for=\"scheduler in schedulers\" :key=\"scheduler.id\" class=\"scheduler\">\n            <div class=\"brand-medium mb-2\">{{ scheduler.name }}</div>\n            <div class=\"font-14 mb-2\" style=\"text-transform: capitalize\">{{ $t('meetings.duration') }}\n              {{ scheduler.meetingLength.duration }} {{ scheduler.meetingLength.timeUnit.toLowerCase() }}\n            </div>\n            <v-btn class=\"primary-action mt-auto\" large @click=\"bookNow(scheduler)\">{{\n                $t('meetings.schedule.book-now')\n              }}\n            </v-btn>\n          </div>\n          <div v-if=\"schedulers.length === 0\" class=\"scheduler column-format centered\">\n            <div>{{ $t('meetings.no-schedulers') }}</div>\n          </div>\n        </div>\n      </div>\n    </div>\n</template>\n\n<script>\nimport MeetingService from '@/modules/meetings/MeetingService';\nimport MeetingEmbed from '@/modules/meetings/MeetingEmbed';\nimport HHeader from '@/components/HHeader';\n\nexport default {\n  name: 'SchedulerList',\n\n  props: [],\n\n  components: {HHeader},\n\n  data: function () {\n    return {\n      schedulers: [],\n      meetingService: new MeetingService(),\n\n      pages: [\n        {label: this.$t('meetings.schedule.heading'), value: 'schedulers'},\n        {label: this.$t('meetings.booked.heading'), value: 'booked'},\n      ],\n    };\n  },\n\n  mounted() {\n    this.getSchedulerList();\n  },\n\n  beforeDestroy() {\n  },\n\n  methods: {\n    setView: function (view) {\n      this.$router.push('/meetings/' + view);\n    },\n\n    getSchedulerList: function () {\n      this.meetingService.getSchedulerList().then((res) => {\n        this.schedulers.splice(0, this.schedulers.length);\n        this.schedulers.push(...res.data);\n        this.schedulers.sort((a,b) => a.name.localeCompare(b.name));\n      });\n    },\n\n    bookNow: function (scheduler) {\n      let binding = {\n        frameUrl: scheduler.meetingLink + \"?inFrame=true\"\n      }\n\n      let fullScreen = this.$vuetify.breakpoint.xsOnly;\n\n      this.$store.state.globalModalController.openModal(MeetingEmbed, binding, true, fullScreen).then((res) => {\n        console.log(res);\n      })\n    }\n  },\n\n  computed: {},\n};\n</script>\n\n<style scoped lang=\"scss\">\n.scheduler {\n  display: flex;\n  flex-direction: column;\n  min-width: 250px;\n  max-width: 350px;\n  min-height: 170px;\n  flex: 1 1 0px;\n  text-align: left;\n  border: 1px solid var(--v-gray_50-base);\n  border-radius: 4px;\n  box-sizing: border-box;\n  box-shadow: 0px 1px 0px var(--v-gray_50-base);\n  padding: 8px;\n\n  &:hover {\n    background-color: var(--v-gray_10-base);\n  }\n\n  margin: 0px 8px 8px 0px;\n}\n\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SchedulerList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SchedulerList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./SchedulerList.vue?vue&type=template&id=5c8b65d0&scoped=true\"\nimport script from \"./SchedulerList.vue?vue&type=script&lang=js\"\nexport * from \"./SchedulerList.vue?vue&type=script&lang=js\"\nimport style0 from \"./SchedulerList.vue?vue&type=style&index=0&id=5c8b65d0&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5c8b65d0\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\ninstallComponents(component, {VBtn})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('h-header',[_c('meeting-list-filter',{attrs:{\"slot\":\"filter\"},on:{\"clear-filter\":function($event){return _vm.clearFilter()}},slot:\"filter\",model:{value:(_vm.filter),callback:function ($$v) {_vm.filter=$$v},expression:\"filter\"}})],1),(_vm.isReady)?_c('div',{staticClass:\"column-format py-3 pl-3 show-scrollbar\",staticStyle:{\"flex\":\"1\",\"height\":\"var(--vh)\"}},[_c('v-data-table',{key:_vm.tableKey,staticStyle:{\"cursor\":\"pointer\"},attrs:{\"headers\":_vm.headers,\"items\":_vm.filteredMeetingList,\"items-per-page\":10,\"sort-by\":\"confirmedTime.start\",\"sort-asc\":\"\",\"hide-default-footer\":_vm.scheduledMeetings.length <= 10},on:{\"click:row\":function($event){return _vm.openScheduledMeeting($event)}},scopedSlots:_vm._u([{key:\"item.confirmedTime.start\",fn:function({ item }){return [_c('span',{class:`${item.meetingStatus === 'Cancelled' ? 'cancelled' : ''}`},[_vm._v(_vm._s(_vm.DateTime.fromISO(item.confirmedTime.start).toFormat(\"ccc, LLL dd '@' t\")))])]}},{key:\"item.meetingName\",fn:function({ item }){return [_c('span',{class:`${item.meetingStatus === 'Cancelled' ? 'cancelled' : ''}`},[_vm._v(_vm._s(item.meetingName))])]}},{key:\"item.contact\",fn:function({ item }){return [_c('span',{class:`${item.meetingStatus === 'Cancelled' ? 'cancelled' : ''}`},[_vm._v(_vm._s(item.formData.firstName)+\" \"+_vm._s(item.formData.lastName))])]}},{key:\"no-data\",fn:function(){return [(!_vm.scheduledMeetings.length)?_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('meetings.booked.no-meetings-booked'))+\" \")]):_c('div',[_vm._v(\" \"+_vm._s(_vm.$t('meetings.booked.no-matching-criteria'))+\" \")])]},proxy:true}],null,false,3259874387)})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.filter)?_c('div',[_c('v-menu',{staticStyle:{\"overflow-y\":\"scroll\"},attrs:{\"max-height\":\"90vh\",\"max-width\":\"250\",\"close-on-content-click\":false,\"close-on-click\":true,\"content-class\":\"filter-menu-class\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({class:`filter-button pointer row-format align-center ${!_vm.isDefaultFilter ? 'filter-active' : ''}`},on),[_c('v-icon',{staticStyle:{\"margin-top\":\"2px\",\"margin-right\":\"2px\"},attrs:{\"size\":20,\"color\":!_vm.isDefaultFilter ? 'blue_70' : 'primary'}},[_vm._v(\"$filter\")]),_c('div',{staticClass:\"font-14\",domProps:{\"innerHTML\":_vm._s(_vm.isDefaultFilter ? _vm.$t('meetings.filter.heading') : _vm.filterDescription)}}),(!_vm.isDefaultFilter)?_c('div',{staticStyle:{\"margin-left\":\"auto\"}},[_c('v-icon',{staticStyle:{\"margin-bottom\":\"2px\"},attrs:{\"small\":\"\",\"color\":\"blue_70\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.clearFilter.apply(null, arguments)}}},[_vm._v(\"$clear\")])],1):_vm._e()],1)]}}],null,false,3205823975),model:{value:(_vm.menuOpen),callback:function ($$v) {_vm.menuOpen=$$v},expression:\"menuOpen\"}},[_c('div',{staticClass:\"column-format open-menu\"},[_c('v-text-field',{staticClass:\"font-16\",attrs:{\"id\":\"search-input\",\"autofocus\":\"\",\"solo\":\"\",\"flat\":\"\",\"hide-details\":\"\",\"dense\":\"\",\"placeholder\":_vm.$t('global.filter')},on:{\"change\":_vm.updated,\"keypress\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\"))return null;if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey)return null;_vm.menuOpen=false}},model:{value:(_vm.filter.search),callback:function ($$v) {_vm.$set(_vm.filter, \"search\", $$v)},expression:\"filter.search\"}}),_c('filter-option',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showMeetingStatus),expression:\"showMeetingStatus\"}],attrs:{\"label\":_vm.$t('meetings.filter.meeting-status'),\"option-list\":_vm.meetingStatus},on:{\"change\":_vm.updated},model:{value:(_vm.filter.meetingStatus),callback:function ($$v) {_vm.$set(_vm.filter, \"meetingStatus\", $$v)},expression:\"filter.meetingStatus\"}}),_c('div',{staticClass:\"filter-option-box\"},[_c('div',{staticClass:\"row-format\",on:{\"click\":function($event){_vm.dateExpanded = !_vm.dateExpanded}}},[_c('div',{staticClass:\"font-14\"},[_vm._v(_vm._s(_vm.$t('meetings.filter.date-range')))]),_c('v-icon',{staticStyle:{\"margin-left\":\"auto\",\"margin-top\":\"1px\"},attrs:{\"small\":\"\"}},[_vm._v(_vm._s(_vm.dateExpanded ? '$arrowUp' : '$arrowDown'))])],1),(_vm.dateExpanded)?_c('div',[_c('v-radio-group',{on:{\"change\":function($event){return _vm.updated()}},model:{value:(_vm.filter.dateSpecifier),callback:function ($$v) {_vm.$set(_vm.filter, \"dateSpecifier\", $$v)},expression:\"filter.dateSpecifier\"}},_vm._l((_vm.dateOptions),function(option){return _c('v-radio',{key:option.value,attrs:{\"value\":option.value},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('span',{staticClass:\"font-14 brand-semilight\",staticStyle:{\"font-size\":\"14px\"}},[_vm._v(_vm._s(option.text))])]},proxy:true}],null,true)})}),1),(_vm.showEarliest)?_c('div',{},[_c('date-selector',{attrs:{\"content-class\":\"my-5\",\"date\":_vm.filter.earliest,\"label\":_vm.$t('meetings.filter.earliest')},on:{\"change\":function($event){_vm.filter.earliest = $event; _vm.updated()}}})],1):_vm._e(),(_vm.showLatest)?_c('div',{},[_c('date-selector',{attrs:{\"content-class\":\"my-5\",\"date\":_vm.filter.latest,\"label\":_vm.$t('meetings.filter.latest')},on:{\"change\":function($event){_vm.filter.latest = $event; _vm.updated()}}})],1):_vm._e()],1):_vm._e()]),_c('div',{staticClass:\"mx-3 mt-3 mb-2\"},[_c('v-btn',{staticClass:\"filter-clear mt-2 mb-1\",attrs:{\"text\":\"\",\"block\":\"\",\"color\":\"primary\",\"elevation\":\"0\"},on:{\"click\":function($event){return _vm.clearFilter()}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"$clear\")]),_vm._v(\" \"+_vm._s(_vm.$t('meetings.filter.clear-filter')))],1),_c('v-btn',{staticClass:\"filter-submit\",attrs:{\"block\":\"\",\"color\":\"primary\",\"elevation\":\"0\"},on:{\"click\":function($event){_vm.menuOpen = false}}},[_vm._v(_vm._s(_vm.$t('global.done')))])],1)],1)])],1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"filter-option-box\"},[_c('div',{staticClass:\"row-format align-center\",on:{\"click\":function($event){return _vm.toggleExpanded()}}},[_c('div',{staticClass:\"font-14\"},[_vm._v(_vm._s(_vm.label))]),(!_vm.expanded && _vm.value.length > 0)?_c('div',{staticClass:\"active-count ml-1\"},[_vm._v(_vm._s(_vm.value.length))]):_vm._e(),_c('v-icon',{staticStyle:{\"margin-left\":\"auto\",\"margin-top\":\"1px\"},attrs:{\"small\":\"\"}},[_vm._v(_vm._s(_vm.expanded ? '$arrowUp' : '$arrowDown'))])],1),(_vm.expanded)?_c('div',_vm._l((_vm.optionList),function(option){return _c('v-checkbox',{key:option.value,attrs:{\"dense\":\"\",\"hide-details\":\"\",\"value\":option.value},on:{\"change\":_vm.updated},scopedSlots:_vm._u([{key:\"label\",fn:function(){return [_c('span',{staticClass:\"font-14 brand-semilight\",staticStyle:{\"font-size\":\"14px\"}},[_vm._v(_vm._s(option.text))])]},proxy:true}],null,true),model:{value:(_vm.ourValue),callback:function ($$v) {_vm.ourValue=$$v},expression:\"ourValue\"}})}),1):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"filter-option-box\">\n\t\t<div class=\"row-format align-center\" @click=\"toggleExpanded()\">\n\t\t\t<div class=\"font-14\">{{ label }}</div>\n\t\t\t<div v-if=\"!expanded && value.length > 0\" class=\"active-count ml-1\">{{value.length}}</div>\n\t\t\t<v-icon style=\"margin-left: auto; margin-top: 1px\" small>{{ expanded ? '$arrowUp' : '$arrowDown' }}</v-icon>\n\t\t</div>\n\t\t<div v-if=\"expanded\">\n\t\t\t<v-checkbox\n\t\t\t\tdense\n\t\t\t\thide-details\n\t\t\t\tv-model=\"ourValue\"\n\t\t\t\tv-for=\"option in optionList\"\n\t\t\t\t:key=\"option.value\"\n\t\t\t\t:value=\"option.value\"\n\t\t\t\t@change=\"updated\"\n\t\t\t>\n\t\t\t\t<template v-slot:label>\n\t\t\t\t\t<span style=\"font-size: 14px\" class=\"font-14 brand-semilight\">{{ option.text }}</span>\n\t\t\t\t</template>\n\t\t\t</v-checkbox>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'FilterOption',\n\n\t\tprops: ['label', 'optionList', 'value'],\n\n\t\tcomponents: {},\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tourValue: JSON.parse(JSON.stringify(this.value)),\n\t\t\t\texpanded: false,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tupdated: function(){\n\t\t\t\tthis.$emit('input',this.ourValue);\n\t\t\t\tthis.$emit('change');\n\t\t\t},\n\n\t\t\ttoggleExpanded: function(){\n\t\t\t\tthis.expanded = !this.expanded;\n\t\t\t}\n\t\t},\n\n\t\twatch: {\n\t\t\tvalue: {\n\t\t\t\tdeep: true,\n\t\t\t\thandler(val){\n\t\t\t\t\tthis.ourValue = JSON.parse(JSON.stringify(val));\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.active-count {\n\t\twidth:14px;\n\t\theight: 14px;\n\t\tbackground-color: var(--v-gray_20-base);\n\t\tborder-radius: 2px;\n\t\tfont-size: 10px;\n\t}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterOption.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FilterOption.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FilterOption.vue?vue&type=template&id=2123a47b&scoped=true\"\nimport script from \"./FilterOption.vue?vue&type=script&lang=js\"\nexport * from \"./FilterOption.vue?vue&type=script&lang=js\"\nimport style0 from \"./FilterOption.vue?vue&type=style&index=0&id=2123a47b&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2123a47b\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VCheckbox,VIcon})\n","<template>\n\t<div>\n\t\t<div v-if=\"filter\">\n\t\t\t<v-menu\n\t\t\t\tv-model=\"menuOpen\"\n\t\t\t\tmax-height=\"90vh\"\n\t\t\t\tmax-width=\"250\"\n\t\t\t\t:close-on-content-click=\"false\"\n\t\t\t\t:close-on-click=\"true\"\n\t\t\t\tcontent-class=\"filter-menu-class\"\n\t\t\t\tstyle=\"overflow-y: scroll\"\n\t\t\t>\n\t\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t\t<div\n\t\t\t\t\t\t:class=\"`filter-button pointer row-format align-center ${!isDefaultFilter ? 'filter-active' : ''}`\"\n\t\t\t\t\t\tv-on=\"on\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<v-icon\n\t\t\t\t\t\t\t:size=\"20\"\n\t\t\t\t\t\t\tstyle=\"margin-top: 2px; margin-right: 2px\"\n\t\t\t\t\t\t\t:color=\"!isDefaultFilter ? 'blue_70' : 'primary'\"\n\t\t\t\t\t\t\t>$filter</v-icon\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<div class=\"font-14\" v-html=\"isDefaultFilter ? $t('meetings.filter.heading') : filterDescription\"></div>\n\t\t\t\t\t\t<div v-if=\"!isDefaultFilter\" style=\"margin-left: auto\">\n\t\t\t\t\t\t\t<v-icon style=\"margin-bottom: 2px\" small @click.stop=\"clearFilter\" color=\"blue_70\">$clear</v-icon>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\n\t\t\t\t<div class=\"column-format open-menu\">\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\tid=\"search-input\"\n\t\t\t\t\t\tv-model=\"filter.search\"\n\t\t\t\t\t\tautofocus\n\t\t\t\t\t\tsolo\n\t\t\t\t\t\tflat\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tdense\n\t\t\t\t\t\t:placeholder=\"$t('global.filter')\"\n\t\t\t\t\t\t@change=\"updated\"\n\t\t\t\t\t\tclass=\"font-16\"\n\t\t\t\t\t\t@keypress.enter.exact=\"menuOpen=false\"\n\t\t\t\t\t></v-text-field>\n\n\t\t\t\t\t<filter-option\n\t\t\t\t\t\tv-show=\"showMeetingStatus\"\n\t\t\t\t\t\t:label=\"$t('meetings.filter.meeting-status')\"\n\t\t\t\t\t\t:option-list=\"meetingStatus\"\n\t\t\t\t\t\tv-model=\"filter.meetingStatus\"\n\t\t\t\t\t\t@change=\"updated\"\n\t\t\t\t\t></filter-option>\n\n\t\t\t\t\t<div class=\"filter-option-box\">\n\t\t\t\t\t\t<div class=\"row-format\" @click=\"dateExpanded = !dateExpanded\">\n\t\t\t\t\t\t\t<div class=\"font-14\">{{ $t('meetings.filter.date-range') }}</div>\n\t\t\t\t\t\t\t<v-icon style=\"margin-left: auto; margin-top: 1px\" small>{{\n\t\t\t\t\t\t\t\tdateExpanded ? '$arrowUp' : '$arrowDown'\n\t\t\t\t\t\t\t}}</v-icon>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div v-if=\"dateExpanded\">\n\t\t\t\t\t\t\t<v-radio-group v-model=\"filter.dateSpecifier\" @change=\"updated()\">\n\t\t\t\t\t\t\t\t<v-radio v-for=\"option in dateOptions\" :key=\"option.value\" :value=\"option.value\">\n\t\t\t\t\t\t\t\t\t<template v-slot:label>\n\t\t\t\t\t\t\t\t\t\t<span style=\"font-size: 14px\" class=\"font-14 brand-semilight\">{{ option.text }}</span>\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t</v-radio>\n\t\t\t\t\t\t\t</v-radio-group>\n\n\t\t\t\t\t\t\t<div class=\"\" v-if=\"showEarliest\">\n\t\t\t\t\t\t\t\t<date-selector\n\t\t\t\t\t\t\t\t\tcontent-class=\"my-5\"\n\t\t\t\t\t\t\t\t\t:date=\"filter.earliest\"\n\t\t\t\t\t\t\t\t\t@change=\"filter.earliest = $event; updated()\"\n\t\t\t\t\t\t\t\t\t:label=\"$t('meetings.filter.earliest')\"\n\t\t\t\t\t\t\t\t></date-selector>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div class=\"\" v-if=\"showLatest\">\n\t\t\t\t\t\t\t\t<date-selector\n\t\t\t\t\t\t\t\t\tcontent-class=\"my-5\"\n\t\t\t\t\t\t\t\t\t:date=\"filter.latest\"\n\t\t\t\t\t\t\t\t\t@change=\"filter.latest = $event; updated()\"\n\t\t\t\t\t\t\t\t\t:label=\"$t('meetings.filter.latest')\"\n\t\t\t\t\t\t\t\t></date-selector>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\"mx-3 mt-3 mb-2\">\n\t\t\t\t\t\t<v-btn text block color=\"primary\" elevation=\"0\" class=\"filter-clear mt-2 mb-1\" @click=\"clearFilter()\"\n\t\t\t\t\t\t><v-icon small>$clear</v-icon> {{ $t('meetings.filter.clear-filter') }}</v-btn\n\t\t\t\t\t\t>\n\t\t\t\t\t\t<v-btn block class=\"filter-submit\" @click=\"menuOpen = false\" color=\"primary\" elevation=\"0\">{{\n\t\t\t\t\t\t\t$t('global.done')\n\t\t\t\t\t\t}}</v-btn>\n\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</v-menu>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport FilterHelpers from '@/utils/FilterHelpers';\n\timport DateSelector from '@/components/DateSelector';\n\timport FilterOption from '@/components/FilterOption';\n\timport { DateTime } from 'luxon';\n\n\texport default {\n\t\tname: 'MeetingListFilter',\n\n\t\tprops: ['value'],\n\n\t\tcomponents: { FilterOption, DateSelector },\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tmenuOpen: false,\n\t\t\t\tfilter: JSON.parse(JSON.stringify(this.value)),\n\n\t\t\t\tdateOptions: FilterHelpers.getDateOptions([\n\t\t\t\t\t\t'today',\n\t\t\t\t\t'next-30-days',\n\t\t\t\t\t'next-60-days',\n\t\t\t\t\t'past-30-days',\n\t\t\t\t\t'past-3-months',\n\t\t\t\t\t'past-6-months',\n\t\t\t\t\t'past-12-months',\n\t\t\t\t\t'this-year',\n\t\t\t\t\t'last-year',\n\t\t\t\t\t'between',\n\t\t\t\t]),\n\n\t\t\t\tmeetingStatus: [\n\t\t\t\t\t{ text: this.$t('meetings.filter.scheduled'), value: 'Scheduled' },\n\t\t\t\t\t{ text: this.$t('meetings.filter.cancelled'), value: 'Cancelled' },\n\t\t\t\t],\n\n\t\t\t\tdateExpanded: false,\n\t\t\t\tmeetingStatusExpanded: false,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tclearFilter: function () {\n\t\t\t\tthis.$emit('clear-filter');\n\t\t\t},\n\t\t\tupdated: function(){\n\t\t\t\tthis.$emit('input',this.filter);\n\t\t\t}\n\t\t},\n\n\t\twatch: {\n\t\t\tvalue: {\n\t\t\t\tdeep: true,\n\t\t\t\thandler(val){\n\t\t\t\t\tthis.filter = JSON.parse(JSON.stringify(val));\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tfilterDescription() {\n\t\t\t\tlet l = [];\n\t\t\t\tlet f = this.filter;\n\n\t\t\t\tif (f.search && f.search.length > 0) {\n\t\t\t\t\tl.push('\"' + f.search + '\"');\n\t\t\t\t}\n\n\t\t\t\tif(f.dateSpecifier){\n\t\t\t\t\tif(f.dateSpecifier === 'between'){\n\t\t\t\t\t\treturn DateTime.fromISO(f.earliest).toFormat('MMM dd') + ' - ' + DateTime.fromISO(f.latest).toFormat('MMM dd');\n\t\t\t\t\t}else{\n\t\t\t\t\t\tl.push(this.dateOptions.find(d => d.value === f.dateSpecifier).text);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\n\t\t\t\tif(f.meetingStatus.length){\n\t\t\t\t\tl.push(f.meetingStatus.join());\n\t\t\t\t}\n\n\t\t\t\tif(l.length){\n\t\t\t\t\treturn l.join(\" &bull; \");\n\t\t\t\t}else{\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\n\t\t\tshowEarliest: function () {\n\t\t\t\tif (!this.filter || !this.filter.dateSpecifier) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif (this.filter.dateSpecifier === 'between') {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tshowLatest: function () {\n\t\t\t\tif (!this.filter || !this.filter.dateSpecifier) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif (this.filter.dateSpecifier === 'between') {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tshowDateRange: function () {\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\tshowClientList: function(){\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\tshowMeetingStatus: function () {\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\tisDefaultFilter() {\n\t\t\t\tif(this.filterDescription === null){\n\t\t\t\t\treturn true;\n\t\t\t\t}else{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetingListFilter.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetingListFilter.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MeetingListFilter.vue?vue&type=template&id=d551ea52&scoped=true\"\nimport script from \"./MeetingListFilter.vue?vue&type=script&lang=js\"\nexport * from \"./MeetingListFilter.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"d551ea52\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VIcon,VMenu,VRadio,VRadioGroup,VTextField})\n","<template>\n\t<div>\n\t\t<h-header>\n\t\t\t<meeting-list-filter slot=\"filter\" v-model=\"filter\" @clear-filter=\"clearFilter()\"></meeting-list-filter>\n\t\t</h-header>\n\n\t\t<div class=\"column-format py-3 pl-3 show-scrollbar\" style=\"flex: 1; height: var(--vh)\" v-if=\"isReady\">\n\t\t\t<v-data-table\n\t\t\t\t:key=\"tableKey\"\n\t\t\t\t:headers=\"headers\"\n\t\t\t\t:items=\"filteredMeetingList\"\n\t\t\t\t@click:row=\"openScheduledMeeting($event)\"\n\t\t\t\tstyle=\"cursor: pointer\"\n\t\t\t\t:items-per-page=\"10\"\n\t\t\t\tsort-by=\"confirmedTime.start\"\n\t\t\t\tsort-asc\n\t\t\t\t:hide-default-footer=\"scheduledMeetings.length <= 10\"\n\t\t\t>\n\t\t\t\t<template v-slot:item.confirmedTime.start=\"{ item }\">\n\t\t\t\t\t<span :class=\"`${item.meetingStatus === 'Cancelled' ? 'cancelled' : ''}`\">{{\n\t\t\t\t\t\tDateTime.fromISO(item.confirmedTime.start).toFormat(\"ccc, LLL dd '@'  t\")\n\t\t\t\t\t}}</span>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-slot:item.meetingName=\"{ item }\">\n\t\t\t\t\t<span :class=\"`${item.meetingStatus === 'Cancelled' ? 'cancelled' : ''}`\">{{ item.meetingName }}</span>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-slot:item.contact=\"{ item }\">\n\t\t\t\t\t<span :class=\"`${item.meetingStatus === 'Cancelled' ? 'cancelled' : ''}`\"\n\t\t\t\t\t\t>{{ item.formData.firstName }} {{ item.formData.lastName }}</span\n\t\t\t\t\t>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-slot:no-data>\n\t\t\t\t\t<div v-if=\"!scheduledMeetings.length\">\n\t\t\t\t\t\t{{ $t('meetings.booked.no-meetings-booked') }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-else>\n\t\t\t\t\t\t{{ $t('meetings.booked.no-matching-criteria') }}\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t</v-data-table>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport { DateTime } from 'luxon';\n\timport FilterHelpers from '@/utils/FilterHelpers';\n\timport MeetingService from '@/modules/meetings/MeetingService';\n\timport MeetingDetail from '@/modules/meetings/MeetingDetail';\n\timport HHeader from '@/components/HHeader';\n\timport MeetingListFilter from '@/modules/meetings/MeetingListFilter';\n\n\texport default {\n\t\tname: 'MeetingList',\n\n\t\tcomponents: { HHeader, MeetingListFilter },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tmeetingService: new MeetingService(),\n\t\t\t\ttableKey: 0,\n\t\t\t\tscheduledMeetings: [],\n\t\t\t\tisReady: false,\n\t\t\t\tDateTime: DateTime,\n\t\t\t\tfilter: this.emptyFilter(),\n\n\t\t\t\tpages: [\n\t\t\t\t\t{ label: this.$t('meetings.schedule.heading'), value: 'schedulers' },\n\t\t\t\t\t{ label: this.$t('meetings.booked.heading'), value: 'booked' },\n\t\t\t\t],\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getScheduledMeetings();\n\t\t\tthis.loadSavedFilter();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tsetView: function(view) {\n\t\t\t\tthis.$router.push('/meetings/' + view);\n\t\t\t},\n\n\t\t\temptyFilter: function() {\n\t\t\t\treturn {\n\t\t\t\t\tsearch: null,\n\t\t\t\t\tdateSpecifier: null,\n\t\t\t\t\tearliest: null,\n\t\t\t\t\tlatest: null,\n\t\t\t\t\tmeetingStatus: [],\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tsaveCurrentFilter() {\n\t\t\t\ttry {\n\t\t\t\t\tlocalStorage.setItem(this.filterStateKey, JSON.stringify(this.filter));\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.log('Error putting preferences into local storage.');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tclearFilter() {\n\t\t\t\tthis.filter = this.emptyFilter();\n\t\t\t},\n\n\t\t\tloadSavedFilter() {\n\t\t\t\ttry {\n\t\t\t\t\tlet filterString = localStorage.getItem(this.filterStateKey);\n\t\t\t\t\tif (filterString) {\n\t\t\t\t\t\tthis.filter = JSON.parse(filterString);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.filter = this.emptyFilter();\n\t\t\t\t\t\tthis.filter.dateSpecifier = 'next-30-days';\n\t\t\t\t\t\tthis.filter.meetingStatus.push('Scheduled');\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.log('Error reading filter preferences from local storage.', err);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tgetScheduledMeetings: function() {\n\t\t\t\tthis.meetingService.getScheduledMeetings().then((res) => {\n\t\t\t\t\tthis.scheduledMeetings.splice(0, this.scheduledMeetings.length);\n\t\t\t\t\tthis.scheduledMeetings.push(...res.data);\n\t\t\t\t\tthis.isReady = true;\n\t\t\t\t});\n\t\t\t},\n\n\t\t\topenScheduledMeeting: function(meeting) {\n\t\t\t\tlet binding = {\n\t\t\t\t\tscheduledMeeting: meeting,\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController.openModal(MeetingDetail, binding, false, false).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tthis.getScheduledMeetings();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n\t\t\tfilter: {\n\t\t\t\tdeep: true,\n\t\t\t\thandler() {\n\t\t\t\t\tthis.saveCurrentFilter();\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tfilteredMeetingList: function() {\n\t\t\t\tlet result = [...this.scheduledMeetings];\n\t\t\t\tlet search = this.filter.search ? this.filter.search.toLowerCase() : null;\n\n\t\t\t\treturn result\n\t\t\t\t\t.filter((m) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t!search ||\n\t\t\t\t\t\t\tm.formData.email.toLowerCase().startsWith(search) ||\n\t\t\t\t\t\t\tm.formData.firstName.toLowerCase().startsWith(search) ||\n\t\t\t\t\t\t\tm.formData.lastName.toLowerCase().startsWith(search)\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t} else if (search) {\n\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.filter((m) => {\n\t\t\t\t\t\tif (this.filter.meetingStatus.length) {\n\t\t\t\t\t\t\tif (this.filter.meetingStatus.includes(m.meetingStatus)) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.filter((m) => {\n\t\t\t\t\t\tif (this.earliest && this.latest) {\n\t\t\t\t\t\t\tlet compareDate = DateTime.fromISO(m.confirmedTime.start);\n\t\t\t\t\t\t\tif (compareDate >= this.earliest && compareDate <= this.latest) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\tearliest: function() {\n\t\t\t\tif (this.filter.dateSpecifier) {\n\t\t\t\t\tif (this.filter.dateSpecifier === 'between') {\n\t\t\t\t\t\treturn DateTime.fromISO(this.filter.earliest);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn FilterHelpers.getEarliestAndLatest(this.filter.dateSpecifier, false).earliest;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn DateTime.now()\n\t\t\t\t\t\t.minus({ years: 100 })\n\t\t\t\t\t\t.startOf('month');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tlatest: function() {\n\t\t\t\tif (this.filter.dateSpecifier) {\n\t\t\t\t\tif (this.filter.dateSpecifier === 'between') {\n\t\t\t\t\t\treturn DateTime.fromISO(this.filter.latest);\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn FilterHelpers.getEarliestAndLatest(this.filter.dateSpecifier, false).latest;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn DateTime.now().plus({years:100});\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tfilterStateKey: function() {\n\t\t\t\treturn 'MEETING_LIST_FILTERS_' + this.$store.getters.getClientId;\n\t\t\t},\n\n\t\t\theaders: function() {\n\t\t\t\treturn [\n\t\t\t\t\t{ text: this.$t('meetings.booked.meeting-name'), value: 'meetingName' },\n\t\t\t\t\t{ text: this.$t('meetings.booked.start-time'), value: 'confirmedTime.start' },\n\t\t\t\t\t{ text: this.$t('meetings.booked.booked-by'), value: 'contact' },\n\t\t\t\t];\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.cancelled {\n\t\ttext-decoration: line-through;\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetingList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetingList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MeetingList.vue?vue&type=template&id=532fc6f8&scoped=true\"\nimport script from \"./MeetingList.vue?vue&type=script&lang=js\"\nexport * from \"./MeetingList.vue?vue&type=script&lang=js\"\nimport style0 from \"./MeetingList.vue?vue&type=style&index=0&id=532fc6f8&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"532fc6f8\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VDataTable})\n","import SchedulerList from '@/modules/meetings/SchedulerList';\nimport MeetingList from '@/modules/meetings/MeetingList';\n\nexport default [\n\t{\n\t\tpath: '/meetings/schedulers',\n\t\tname: 'Schedulers',\n\t\tcomponent: SchedulerList,\n\t},\n\t{\n\t\tpath: '/meetings/booked',\n\t\tname: 'Booked',\n\t\tcomponent: MeetingList,\n\t}\n]","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"fill-height column-format\"},[_c('h-header',{scopedSlots:_vm._u([{key:\"filter\",fn:function(){return [_c('div',{staticClass:\"row-format\",staticStyle:{\"flex-wrap\":\"wrap\"}},[_c('v-text-field',{staticStyle:{\"font-size\":\"14px\",\"width\":\"200px\"},attrs:{\"dense\":\"\",\"hide-details\":\"\",\"prepend-icon\":\"$filter\",\"placeholder\":_vm.$t('global.filter'),\"clearable\":\"\"},on:{\"change\":_vm.handleFilterChange},model:{value:(_vm.filter),callback:function ($$v) {_vm.filter=$$v},expression:\"filter\"}}),_c('v-select',{staticClass:\"ml-3\",staticStyle:{\"width\":\"200px\"},attrs:{\"clearable\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"items\":_vm.dateOptions,\"placeholder\":_vm.$t('global.date')},on:{\"change\":_vm.handleDateFilterChange},model:{value:(_vm.dateFilter),callback:function ($$v) {_vm.dateFilter=$$v},expression:\"dateFilter\"}})],1)]},proxy:true}])}),_c('div',{staticClass:\"show-scrollbar\"},[_c('v-data-table',{staticStyle:{\"cursor\":\"pointer\",\"height\":\"calc(var(--vh) - 150px)\"},attrs:{\"headers\":_vm.headers,\"items\":_vm.combinedList,\"disable-pagination\":true,\"hide-default-footer\":true,\"items-per-page\":-1,\"fixed-header\":\"\"},on:{\"click:row\":function($event){return _vm.routeClick($event)}},scopedSlots:_vm._u([{key:\"item.formData.firstName\",fn:function({ item }){return [(item.formData)?_c('span',[_vm._v(_vm._s(item.formData.firstName)+\" \"+_vm._s(item.formData.lastName)+\" <\"+_vm._s(item.formData.email)+\">\")]):_c('span',[_vm._v(\"--\")])]}},{key:\"item.type\",fn:function({ item }){return [(item.type === 'SUBMITTED')?_c('div',{staticClass:\"font-12 status-submitted\"},[_vm._v(\" \"+_vm._s(_vm.$t('forms.submissions.complete'))+\" \")]):_c('div',{staticClass:\"font-12 status-requested\"},[_vm._v(_vm._s(_vm.$t('forms.submissions.incomplete')))])]}},{key:\"item.submittedAt\",fn:function({ item }){return [(item.submittedAt)?_c('span',[_vm._v(_vm._s(_vm.DateTime.fromISO(item.submittedAt).toLocaleString(_vm.DateTime.DATETIME_MED)))]):_c('span',[_vm._v(\"--\")])]}}])})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import HttpClient from '@/services/HttpClient';\nimport store from '@/store';\n\nexport default class FormService {\n\thttpClient;\n\n\tconstructor() {\n\t\tthis.httpClient = new HttpClient();\n\t}\n\n\tgetFormSubmissionList(){\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/forms`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetFormSubmission(id){\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/forms/${id}`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetFormRequestList(){\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/forms/requests`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n}\n","<template>\n  <div class=\"fill-height column-format\">\n    <h-header>\n      <template v-slot:filter>\n        <div class=\"row-format\" style=\"flex-wrap: wrap\">\n          <v-text-field\n              dense\n              hide-details\n              prepend-icon=\"$filter\"\n              :placeholder=\"$t('global.filter')\"\n              style=\"font-size:14px; width:200px\"\n              v-model=\"filter\"\n              clearable\n              @change=\"handleFilterChange\"\n          ></v-text-field>\n          <v-select\n              clearable\n              dense\n              hide-details\n              v-model=\"dateFilter\"\n              :items=\"dateOptions\"\n              :placeholder=\"$t('global.date')\"\n              class=\"ml-3\"\n              style=\"width:200px\"\n              @change=\"handleDateFilterChange\"\n          ></v-select>\n        </div>\n      </template>\n    </h-header>\n    <div class=\"show-scrollbar\">\n      <v-data-table\n          :headers=\"headers\"\n          :items=\"combinedList\"\n          :disable-pagination=\"true\"\n          :hide-default-footer=\"true\"\n          :items-per-page=\"-1\"\n          fixed-header\n          style=\"cursor: pointer;  height: calc(var(--vh) - 150px)\"\n          @click:row=\"routeClick($event)\"\n      >\n        <template v-slot:item.formData.firstName=\"{ item }\">\n\t\t\t\t\t<span v-if=\"item.formData\"\n          >{{ item.formData.firstName }} {{ item.formData.lastName }} &lt;{{ item.formData.email }}&gt;</span\n          >\n          <span v-else>--</span>\n        </template>\n\n        <template v-slot:item.type=\"{ item }\">\n          <div class=\"font-12 status-submitted\" v-if=\"item.type === 'SUBMITTED'\">\n            {{ $t('forms.submissions.complete') }}\n          </div>\n          <div class=\"font-12 status-requested\" v-else>{{ $t('forms.submissions.incomplete') }}</div>\n        </template>\n\n        <template v-slot:item.submittedAt=\"{ item }\">\n\t\t\t\t\t<span v-if=\"item.submittedAt\">{{\n              DateTime.fromISO(item.submittedAt).toLocaleString(DateTime.DATETIME_MED)\n            }}</span>\n          <span v-else>--</span>\n        </template>\n      </v-data-table>\n    </div>\n  </div>\n</template>\n\n<script>\n\timport FormService from '@/modules/forms/FormService';\n\timport { DateTime } from 'luxon';\n\timport FormResultViewer from '@/modules/forms/FormResultViewer';\n\timport FormRequestViewer from '@/modules/forms/FormRequestViewer';\n  import HHeader from '@/components/HHeader';\n  import FilterHelpers from '@/utils/FilterHelpers';\n\n\texport default {\n\t\tname: 'FormSubmissionsList',\n\n\t\tprops: [],\n\n\t\tcomponents: {HHeader},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tDateTime: DateTime,\n\t\t\t\tsubmissions: [],\n\t\t\t\trequests: [],\n\t\t\t\tformService: new FormService(),\n\n        filter: null,\n        dateFilter: null,\n        earliest: null,\n        latest: null,\n        dateOptions: FilterHelpers.getDateOptions([\n          'this-month',\n          'last-month',\n          'last-last-month',\n          'past-60-days',\n          'past-90-days',\n          'past-6-months',\n          'past-12-months',\n          'this-year',\n          'last-year',\n        ]),\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n      this.getDateFilter();\n\t\t\tthis.initData();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n      handleFilterChange(event) {\n        this.setFilter(event);\n      },\n\n      handleDateFilterChange(event) {\n        this.setDateFilter(event);\n      },\n\n      getDateFilter: function(){\n        let dateFilter = localStorage.getItem('FORM_DATE_FILTER');\n\n        if(dateFilter){\n          this.dateFilter = JSON.parse(dateFilter);\n        }else{\n          this.setDateFilter('past-60-days');\n        }\n      },\n\n      setDateFilter: function(filter){\n        this.dateFilter = filter;\n        localStorage.setItem('FORM_DATE_FILTER',JSON.stringify(filter));\n      },\n\n      setEarliestAndLatest: function() {\n        if (this.dateFilter) {\n          let helper = FilterHelpers.getEarliestAndLatest(this.dateFilter, false);\n          this.earliest = helper.earliest;\n          this.latest = helper.latest;\n        } else {\n          this.earliest = null;\n          this.latest = null;\n        }\n      },\n\n\t\t\tinitData: function() {\n\t\t\t\tthis.getFormSubmissions();\n\t\t\t\tthis.getFormRequests();\n\t\t\t},\n\n\t\t\trouteClick: function(item) {\n\t\t\t\tif (item.type === 'SUBMITTED') {\n\t\t\t\t\tthis.openSubmission(item);\n\t\t\t\t} else {\n\t\t\t\t\tthis.openRequest(item);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\topenSubmission: function(submission) {\n\t\t\t\tlet binding = {\n\t\t\t\t\tsubmission: submission,\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController.openModal(FormResultViewer, binding, true, true);\n\t\t\t},\n\n\t\t\topenRequest: function(request) {\n\t\t\t\tlet binding = {\n\t\t\t\t\trequest: request,\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController.openModal(FormRequestViewer, binding, true, true).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tthis.initData();\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tgetFormSubmissions: function() {\n\t\t\t\tthis.formService.getFormSubmissionList().then((res) => {\n\t\t\t\t\tthis.submissions.splice(0);\n\t\t\t\t\tthis.submissions.push(...res.data);\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tgetFormRequests: function() {\n\t\t\t\tthis.formService.getFormRequestList().then((res) => {\n\t\t\t\t\tthis.requests.splice(0);\n\t\t\t\t\tthis.requests.push(...res.data);\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\n    watch: {\n      dateFilter: function(){\n        this.setEarliestAndLatest();\n      }\n    },\n\n\t\tcomputed: {\n\t\t\tcombinedList: function() {\n\t\t\t\tlet result = [];\n\n\t\t\t\tthis.submissions.forEach((s) => {\n\t\t\t\t\ts.type = 'SUBMITTED';\n          s.contactName = s.formData?.firstName + ' ' + s.formData?.lastName + s.formData?.email;\n\t\t\t\t\tresult.push(s);\n\t\t\t\t});\n\n\t\t\t\tthis.requests.forEach((r) => {\n\t\t\t\t\tr.type = 'ACTION-REQUIRED';\n\t\t\t\t\tr.formName = r.name;\n          r.contactName = '';\n\t\t\t\t\tresult.push(r);\n\t\t\t\t});\n\n\t\t\t\tresult.sort((a, b) => {\n\t\t\t\t\tif (!a.submittedAt) return -1;\n\t\t\t\t\tif (!b.submittedAt) return 1;\n\n\t\t\t\t\t// Otherwise, compare the dates (descending order)\n\t\t\t\t\treturn b.submittedAt.localeCompare(a.submittedAt);\n\t\t\t\t});\n\n        return result.filter(r => {\n          if(this.filter){\n            return ((r.formName && r.formName.toLowerCase().includes(this.filter.toLowerCase())) || r.contactName.toLowerCase().includes(this.filter.toLowerCase()));\n          }else{\n            return true;\n          }\n        }).filter(r => {\n          if(!r.submittedAt || !this.earliest){\n            return true;\n          }else{\n            let date = DateTime.fromISO(r.submittedAt);\n            return (date >= this.earliest && date <= this.latest);\n          }\n        });\n\t\t\t},\n\n\t\t\theaders: function() {\n\t\t\t\treturn [\n\t\t\t\t\t{ text: this.$t('forms.submissions.name'), value: 'formName' },\n\t\t\t\t\t{ text: this.$t('forms.submissions.contact'), value: 'formData.firstName' },\n\t\t\t\t\t{ text: this.$t('global.submitted'), value: 'submittedAt' },\n\t\t\t\t\t{ text: this.$t('invoices.status.heading'), value: 'type' },\n\t\t\t\t];\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.status-submitted {\n\t\twidth: fit-content;\n\t\tpadding: 4px 8px;\n\t\tflex: none;\n\t\torder: 0;\n\t\tflex-grow: 0;\n\t\tbackground-color: var(--v-success_10-base);\n\t\tcolor: var(v-success-base);\n\t\tborder-radius: 4px;\n\t}\n\n\t.status-requested {\n\t\twidth: fit-content;\n\t\tpadding: 4px 8px;\n\t\tflex: none;\n\t\torder: 0;\n\t\tflex-grow: 0;\n\t\tbackground-color: var(--v-alert_10-base);\n\t\tcolor: var(--v-alert-base);\n\t\tborder-radius: 4px;\n\t}\n</style>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormSubmissionList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormSubmissionList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FormSubmissionList.vue?vue&type=template&id=609e4d68&scoped=true\"\nimport script from \"./FormSubmissionList.vue?vue&type=script&lang=js\"\nexport * from \"./FormSubmissionList.vue?vue&type=script&lang=js\"\nimport style0 from \"./FormSubmissionList.vue?vue&type=style&index=0&id=609e4d68&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"609e4d68\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VDataTable,VSelect,VTextField})\n","import FormSubmissionList from '@/modules/forms/FormSubmissionList';\n\nexport default [\n\t{\n\t\tpath: '/forms',\n\t\tname: 'Submissions',\n\t\tcomponent: FormSubmissionList,\n\t}\n]","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"column-format centered\",staticStyle:{\"width\":\"100%\",\"height\":\"100%\"}},[_c('div',{staticClass:\"brand-medium font-24\"},[_vm._v(_vm._s(_vm.$t('subscriptions.hang-tight')))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div style=\"width: 100%; height: 100%\" class=\"column-format centered\">\n    <div class=\"brand-medium font-24\">{{ $t('subscriptions.hang-tight') }}</div>\n  </div>\n</template>\n\n<script>\nimport qs from 'qs';\nimport HttpClient from '@/services/HttpClient';\n\nexport default {\n  name: 'Subscribe',\n\n  props: [],\n\n  components: {  },\n\n  data: function() {\n    return {\n      httpClient: null,\n      token: null,\n      paymentInfo: null,\n      isReady: false,\n    };\n  },\n\n  mounted() {\n    let queryString = qs.parse(self.location.search.slice(1));\n    let request = JSON.parse(atob(queryString.token.split('.')[0]));\n\n    let podUrl = request.podUrl;\n\n    this.httpClient = new HttpClient(podUrl, false);\n    this.token = queryString.token;\n\n    this.initiateStripeCheckout();\n  },\n\n  beforeDestroy() {},\n\n  methods: {\n    initiateStripeCheckout: function() {\n      this.$store.commit('startLoading');\n      this.getStripeCheckoutByToken().then((res) => {\n        this.$store.commit('stopLoading');\n        let stripe = window.Stripe(this.$store.state.stripeKey, {\n          stripeAccount: res.data.stripeAccountId,\n        });\n\n        stripe.redirectToCheckout({\n          sessionId: res.data.checkoutSessionId,\n        });\n      });\n    },\n\n    getStripeCheckoutByToken: function() {\n      return this.httpClient\n          .get('/api/docs/subscription/checkout', {\n            params: {\n              token: this.token,\n            },\n          })\n          .then((response) => Promise.resolve(response))\n          .catch((error) => Promise.reject(error));\n    },\n  },\n\n  computed: {\n  },\n};\n</script>\n\n<style scoped lang=\"scss\">\n.payment-container {\n  padding: 4px 12px;\n  border-radius: 4px;\n  border: 1px solid var(--v-white-base);\n  &:hover {\n    border: 1px solid var(--v-gray_30-base);\n    background-color: var(--v-gray_10-base);\n  }\n}\n\n.border-right {\n  border-right: 1px solid var(--v-gray_50-base);\n}\n\n.border-bottom {\n  border-bottom: 1px solid var(--v-gray_50-base);\n}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Subscribe.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Subscribe.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Subscribe.vue?vue&type=template&id=6965e558&scoped=true\"\nimport script from \"./Subscribe.vue?vue&type=script&lang=js\"\nexport * from \"./Subscribe.vue?vue&type=script&lang=js\"\nimport style0 from \"./Subscribe.vue?vue&type=style&index=0&id=6965e558&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6965e558\",\n  null\n  \n)\n\nexport default component.exports","import Subscribe from '@/modules/subscriptions/Subscribe';\n\nexport default [\n\t{\n\t\tpath: '/subscribe',\n\t\tname: 'Subscribe',\n\t\tcomponent: Subscribe,\n\t\tmeta: {\n\t\t\tinsecure: true,\n\t\t},\n\t},\n\n\t{\n\t\tpath: '/subscriptions',\n\t\tredirect: () => {\n\t\t\treturn { path: '/invoices', query: { v: 'subscriptions' } }\n\t\t},\n\t},\n]","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"fill-height column-format\"},[_c('h-header',{attrs:{\"add-new-label\":_vm.$t('requests.new-request')},on:{\"add-new\":function($event){return _vm.newTicket()}}}),_c('div',{staticClass:\"show-scrollbar\",staticStyle:{\"height\":\"var(--vh)\"}},[_c('div',{staticClass:\"mx-3 mt-5\"},[_c('v-data-table',{staticStyle:{\"cursor\":\"pointer\"},attrs:{\"id\":\"timer-events-table\",\"headers\":_vm.headers,\"sort-by\":\"updated\",\"sort-desc\":true,\"must-sort\":true,\"items\":_vm.filteredTickets,\"disable-pagination\":true,\"hide-default-footer\":true,\"mobile-breakpoint\":200,\"no-data-text\":_vm.$t('requests.no-found-requests')},on:{\"click:row\":function($event){return _vm.viewTicketDetail($event)}},scopedSlots:_vm._u([{key:\"item.status\",fn:function({ item }){return [_c('div',{staticClass:\"row-format align-center\"},[(item.unreadClient)?_c('div',{staticClass:\"umi mr-2\"}):_vm._e(),(item.open)?_c('div',{staticClass:\"status\"},[_vm._v(_vm._s(item.status))]):_c('div',{staticClass:\"closed\"},[_vm._v(_vm._s(_vm.$t('requests.closed')))])])]}},{key:\"item.type\",fn:function({ item }){return [(_vm.getTicketType(item.type))?_c('span',[_vm._v(_vm._s(_vm.getTicketType(item.type).type))]):_c('span',[_vm._v(\" -- \")])]}},{key:\"item.updated\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm.DateTime.fromISO(item.updated).toLocaleString(_vm.DateTime.DATETIME_MED))+\" \")]}},{key:\"item.subject\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm.truncate(item.subject, 50))+\" \")]}},{key:\"item.lastComment\",fn:function({ item }){return [_c('div',{staticClass:\"truncate-item\",staticStyle:{\"max-width\":\"200px\"},domProps:{\"innerHTML\":_vm._s(item.lastComment)}})]}}])}),_c('div',{staticClass:\"text-left font-14 font-primary pointer ml-2\",staticStyle:{\"width\":\"fit-content\"},on:{\"click\":_vm.toggleClosedTickets}},[_vm._v(\" \"+_vm._s(_vm.showClosedTickets ? _vm.$t('requests.list.hide') : _vm.$t('requests.list.show'))+\" \"+_vm._s(_vm.closedTicketCount)+\" \"+_vm._s(_vm.$t('requests.list.closed'))+\" \")])],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import HttpClient from '@/services/HttpClient';\nimport store from '@/store';\n\nexport default class TicketService {\n\thttpClient;\n\n\tconstructor() {\n\t\tthis.httpClient = new HttpClient();\n\t}\n\n\tgetTicketTypes() {\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/tickets/settings`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetTicketList(){\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/tickets`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetTicketDetail(id) {\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/tickets/${id}`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tcreateTicket(newTicket, attachments = []){\n\t\tlet clientId = store.getters.getClientId;\n\t\tlet formData = new FormData();\n\n\t\tformData.append('newTicket',JSON.stringify(newTicket));\n\t\tattachments.forEach(a => {\n\t\t\tformData.append('attachments',a);\n\t\t})\n\n\t\treturn this.httpClient\n\t\t\t.post(`/${clientId}/tickets`,formData,{\n\t\t\t\theaders: {\n\t\t\t\t\t\"Content-Type\": \"multipart/form-data\"\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tcreateComment(ticketId, comment, attachments = []){\n\t\tlet clientId = store.getters.getClientId;\n\t\tlet formData = new FormData();\n\n\t\tformData.append('comment',comment);\n\t\tattachments.forEach(a => {\n\t\t\tformData.append('attachments',a);\n\t\t})\n\n\t\treturn this.httpClient\n\t\t\t.post(`/${clientId}/tickets/${ticketId}/comments`,formData,{\n\t\t\t\theaders: {\n\t\t\t\t\t\"Content-Type\": \"multipart/form-data\"\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tmarkAsRead(ticketId){\n\t\tlet clientId = store.getters.getClientId;\n\t\treturn this.httpClient\n\t\t\t.post(`/${clientId}/tickets/${ticketId}/read`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tupdateComment(ticketId, commentId, comment,){\n\t\tlet clientId = store.getters.getClientId;\n\t\tlet formData = new FormData();\n\n\t\tformData.append('comment',comment);\n\n\t\treturn this.httpClient\n\t\t\t.put(`/${clientId}/tickets/${ticketId}/comments/${commentId}`,formData,{\n\t\t\t\theaders: {\n\t\t\t\t\t\"Content-Type\": \"multipart/form-data\"\n\t\t\t\t}\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetSignedUrl(ticketId, fileName) {\n\t\tlet clientId = store.getters.getClientId;\n\n\t\treturn this.httpClient\n\t\t\t.get(`/${clientId}/tickets/${ticketId}/files`, {\n\t\t\t\tparams: {\n\t\t\t\t\tfileName: fileName,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n}\n","<template>\n  <div class=\"fill-height column-format\">\n      <h-header :add-new-label=\"$t('requests.new-request')\" @add-new=\"newTicket()\">\n      </h-header>\n      <div class=\"show-scrollbar\" style=\"height: var(--vh)\">\n        <div class=\"mx-3 mt-5\">\n          <v-data-table\n              id=\"timer-events-table\"\n              :headers=\"headers\"\n              sort-by=\"updated\"\n              :sort-desc=\"true\"\n              :must-sort=\"true\"\n              :items=\"filteredTickets\"\n              :disable-pagination=\"true\"\n              :hide-default-footer=\"true\"\n              style=\"cursor: pointer\"\n              :mobile-breakpoint=\"200\"\n              :no-data-text=\"$t('requests.no-found-requests')\"\n              @click:row=\"viewTicketDetail($event)\"\n          >\n            <template v-slot:item.status=\"{ item }\">\n              <div class=\"row-format align-center\">\n                <div v-if=\"item.unreadClient\" class=\"umi mr-2\"></div>\n                <div v-if=\"item.open\" class=\"status\">{{ item.status }}</div>\n                <div v-else class=\"closed\">{{ $t('requests.closed') }}</div>\n              </div>\n            </template>\n\n            <template v-slot:item.type=\"{ item }\">\n              <span v-if=\"getTicketType(item.type)\">{{ getTicketType(item.type).type }}</span>\n              <span v-else> -- </span>\n            </template>\n\n            <template v-slot:item.updated=\"{ item }\">\n              {{ DateTime.fromISO(item.updated).toLocaleString(DateTime.DATETIME_MED) }}\n            </template>\n\n            <template v-slot:item.subject=\"{ item }\">\n              {{ truncate(item.subject, 50) }}\n            </template>\n\n            <template v-slot:item.lastComment=\"{ item }\">\n              <div class=\"truncate-item\" style=\"max-width: 200px;\" v-html=\"item.lastComment\"></div>\n            </template>\n          </v-data-table>\n          <div class=\"text-left font-14 font-primary pointer ml-2\" style=\"width: fit-content\"\n               @click=\"toggleClosedTickets\">\n            {{ showClosedTickets ? $t('requests.list.hide') : $t('requests.list.show') }} {{ closedTicketCount }}\n            {{ $t('requests.list.closed') }}\n          </div>\n        </div>\n      </div>\n    </div>\n</template>\n\n<script>\nimport HHeader from '@/components/HHeader';\nimport TicketService from '@/modules/tickets/TicketService';\nimport {DateTime} from 'luxon';\n\nexport default {\n  name: 'TicketList',\n\n  props: [],\n\n  components: {HHeader},\n\n  data: function () {\n    return {\n      DateTime: DateTime,\n      ticketService: new TicketService(),\n      ticketTypes: [],\n      tickets: [],\n      showClosedTickets: false,\n    };\n  },\n\n  mounted() {\n    this.initialize();\n    this.setupTicketListeners();\n  },\n\n  beforeDestroy() {\n    this.stopTicketListeners();\n  },\n\n  methods: {\n    setupTicketListeners: function () {\n      this.$store.state.eventBus.$on(\n          this.$store.getters.getMessageChannelPrefix + '.ticketCreated',\n          this.ticketNotification\n      );\n      this.$store.state.eventBus.$on(\n          this.$store.getters.getMessageChannelPrefix + '.ticketUpdated',\n          this.ticketNotification\n      );\n      this.$store.state.eventBus.$on(\n          this.$store.getters.getMessageChannelPrefix + '.ticketComment',\n          this.ticketNotification\n      );\n      this.$store.state.eventBus.$on(\n          this.$store.getters.getMessageChannelPrefix + '.ticketDeleted',\n          this.ticketNotification\n      );\n    },\n\n    stopTicketListeners: function () {\n      this.$store.state.eventBus.$off(\n          this.$store.getters.getMessageChannelPrefix + '.ticketCreated',\n          this.ticketNotification\n      );\n      this.$store.state.eventBus.$off(\n          this.$store.getters.getMessageChannelPrefix + '.ticketUpdated',\n          this.ticketNotification\n      );\n      this.$store.state.eventBus.$off(\n          this.$store.getters.getMessageChannelPrefix + '.ticketComment',\n          this.ticketNotification\n      );\n      this.$store.state.eventBus.$off(\n          this.$store.getters.getMessageChannelPrefix + '.ticketDeleted',\n          this.ticketNotification\n      );\n    },\n\n    toggleClosedTickets: function () {\n      this.showClosedTickets = !this.showClosedTickets;\n    },\n\n    ticketNotification: function (event) {\n      if (event.channel.includes('ticketUpdated')) {\n        let ticket = event.message;\n        let ix = this.tickets.findIndex((t) => t.id === ticket.id);\n        if (ix > -1) {\n          this.tickets.splice(ix, 1, ticket);\n        }\n      } else if (event.channel.includes('ticketComment')) {\n        let ticket = event.message.ticket;\n        let ix = this.tickets.findIndex((t) => t.id === ticket.id);\n        if (ix > -1) {\n          this.tickets.splice(ix, 1, ticket);\n        }\n      } else if (event.channel.includes('ticketCreated')) {\n        this.tickets.push(event.message.ticket);\n      } else if (event.channel.includes('ticketDeleted')) {\n        let ticketId = event.message;\n        let ix = this.tickets.findIndex((t) => t.id === ticketId);\n        if (ix > -1) {\n          this.tickets.splice(ix, 1);\n        }\n      }\n    },\n\n    initialize: function () {\n      this.getTickets();\n      this.getTicketTypes();\n    },\n\n    viewTicketDetail: function (ticket) {\n      this.$router.push(`/requests/${ticket.id}`);\n    },\n\n    getTicketTypes: function () {\n      this.ticketService.getTicketTypes().then((res) => {\n        this.ticketTypes.splice(0, this.ticketTypes.length);\n        this.ticketTypes.push(...res.data);\n      });\n    },\n\n    getTickets: function () {\n      this.ticketService.getTicketList().then((res) => {\n        this.tickets.splice(0, this.tickets.length);\n        this.tickets.push(...res.data);\n      });\n    },\n\n    truncate: function (string, length, end = '...') {\n      if (string) {\n        return string.length <= length ? string : string.substring(0, length) + end;\n      } else {\n        return '';\n      }\n    },\n\n    getTicketType: function (id) {\n      if (this.ticketTypes) {\n        return this.ticketTypes.find((t) => t.id === id);\n      } else {\n        return {};\n      }\n    },\n\n    newTicket: function () {\n      this.$router.push('/requests/new');\n    },\n  },\n\n  computed: {\n    headers: function () {\n      return [\n        {text: '#', value: 'ticketNumber'},\n        {text: this.$t('requests.list.status'), value: 'status'},\n        {text: this.$t('requests.list.type'), value: 'type'},\n        {text: this.$t('requests.list.subject'), value: 'subject'},\n        {text: this.$t('requests.list.updated'), value: 'updated'},\n        {text: this.$t('requests.list.last-comment'), value: 'lastComment'},\n      ];\n    },\n\n    closedTicketCount: function () {\n      return this.tickets.filter((t) => !t.open).length;\n    },\n\n    filteredTickets: function () {\n      if (this.showClosedTickets) {\n        return this.tickets;\n      } else {\n        return this.tickets.filter((t) => t.open);\n      }\n    },\n  },\n};\n</script>\n\n<style scoped lang=\"scss\">\n.umi {\n  width: 10px;\n  height: 10px;\n  background-color: var(--v-primary-base);\n  border-radius: 10px;\n}\n\n.closed {\n  background-color: var(--v-error-base);\n  border-radius: 4px;\n  padding: 0px 4px;\n  color: var(--v-white-base);\n  font-size: 12px;\n  font-weight: 500;\n}\n\n.status {\n  background-color: var(--v-accent-base);\n  border-radius: 4px;\n  padding: 0px 4px;\n  color: var(--v-black-base);\n  font-size: 12px;\n  font-weight: 500;\n}\n\n.truncate-item {\n  width: 100%; /* Adjust the width as needed */\n  max-height: 20px;\n  white-space: nowrap;\n  overflow: hidden;\n  text-overflow: ellipsis;\n  display: block;\n}\n\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TicketList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TicketList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TicketList.vue?vue&type=template&id=f790053e&scoped=true\"\nimport script from \"./TicketList.vue?vue&type=script&lang=js\"\nexport * from \"./TicketList.vue?vue&type=script&lang=js\"\nimport style0 from \"./TicketList.vue?vue&type=style&index=0&id=f790053e&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"f790053e\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VDataTable})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isReady)?_c('div',[_c('div',[_c('div',{staticClass:\"content pt-2\"},[(_vm.id ==='new')?_c('h2',{staticClass:\"text-left pl-6 pt-2\"},[_vm._v(_vm._s(_vm.pageHeader))]):_vm._e(),(_vm.isNewTicket)?_c('new-ticket',{attrs:{\"ticket-types\":_vm.ticketTypes},on:{\"cancel\":function($event){return _vm.returnToList()},\"new-ticket\":function($event){return _vm.newTicket($event)}}}):_c('existing-ticket',{attrs:{\"id\":_vm.id,\"ticket-types\":_vm.ticketTypes},on:{\"cancel\":function($event){return _vm.returnToList()}}})],1)])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"mx-3 mt-3\"},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',[_c('div',{staticClass:\"column-format\",staticStyle:{\"gap\":\"12px\"}},[_c('div',{staticClass:\"column-format px-2 gap-4\"},[_c('v-select',{attrs:{\"items\":_vm.ticketTypes,\"item-text\":\"type\",\"item-value\":\"id\",\"label\":_vm.$t('requests.new.type'),\"outlined\":\"\",\"persistent-placeholder\":\"\",\"hide-details\":\"\",\"dense\":\"\"},model:{value:(_vm.ticketType),callback:function ($$v) {_vm.ticketType=$$v},expression:\"ticketType\"}}),_c('v-text-field',{attrs:{\"label\":_vm.$t('requests.new.subject'),\"dense\":\"\",\"outlined\":\"\",\"persistent-placeholder\":\"\",\"hide-details\":\"\"},model:{value:(_vm.subject),callback:function ($$v) {_vm.subject=$$v},expression:\"subject\"}}),_c('contact-selector',{attrs:{\"to-list\":_vm.ccList,\"contacts\":_vm.contacts,\"label\":_vm.$t('requests.new.cc')},on:{\"update\":_vm.updateCcList}})],1),(_vm.selectedType.discoveryTemplate)?_c('div',{},[(_vm.selectedType.discoveryTemplate.schemaVersion == 1)?_c('ticket-form-v1',{ref:\"form\",attrs:{\"template\":_vm.selectedType.discoveryTemplate}}):_vm._e(),(_vm.selectedType.discoveryTemplate.schemaVersion == 2)?_c('ticket-form-v2',{ref:\"form\",attrs:{\"template\":_vm.selectedType.discoveryTemplate}}):_vm._e()],1):_vm._e(),(!_vm.selectedType.discoveryTemplate)?_c('v-textarea',{attrs:{\"rows\":\"12\",\"label\":_vm.$t('requests.new.details'),\"dense\":\"\",\"outlined\":\"\",\"persistent-placeholder\":\"\",\"hide-details\":\"\"},model:{value:(_vm.comment),callback:function ($$v) {_vm.comment=$$v},expression:\"comment\"}}):_vm._e(),_c('div',{on:{\"drop\":function($event){$event.preventDefault();return _vm.addDropFile.apply(null, arguments)},\"dragover\":function($event){$event.preventDefault();}}},[_c('v-file-input',{attrs:{\"placeholder\":_vm.$t('requests.new.upload-attachments'),\"label\":_vm.$t('requests.new.attachments'),\"multiple\":\"\",\"prepend-icon\":\"attach_file\"},scopedSlots:_vm._u([{key:\"selection\",fn:function({ text }){return [_c('v-chip',{staticStyle:{\"color\":\"var(--v-white-base)\"},attrs:{\"small\":\"\",\"label\":\"\",\"color\":\"primary\"}},[_vm._v(\" \"+_vm._s(text)+\" \")])]}}]),model:{value:(_vm.attachments),callback:function ($$v) {_vm.attachments=$$v},expression:\"attachments\"}})],1),_c('div',{staticClass:\"row-format\",staticStyle:{\"gap\":\"12px\"}},[_c('v-btn',{staticClass:\"secondary-action\",on:{\"click\":function($event){return _vm.confirmCancel()}}},[_vm._v(_vm._s(_vm.$t('global.cancel')))]),_c('v-btn',{staticClass:\"super-action\",attrs:{\"width\":\"200\"},on:{\"click\":function($event){return _vm.createTicket()}}},[_vm._v(_vm._s(_vm.$t('requests.new.submit')))])],1)],1)])],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-combobox',{ref:\"EmailInput\",attrs:{\"items\":_vm.contactMap,\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"persistent-placeholder\":\"\",\"label\":`${_vm.label}`,\"multiple\":true,\"small-chips\":\"\"},on:{\"change\":function($event){return _vm.$emit('update',_vm.to)}},model:{value:(_vm.to),callback:function ($$v) {_vm.to=$$v},expression:\"to\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<v-combobox\n\t\t\tref=\"EmailInput\"\n\t\t\tv-model=\"to\"\n\t\t\t:items=\"contactMap\"\n\t\t\thide-details\n\t\t\tdense\n\t\t\toutlined\n      persistent-placeholder\n\t\t\t:label=\"`${label}`\"\n\t\t\t:multiple=\"true\"\n\t\t\tsmall-chips\n\t\t\t@change=\"$emit('update',to)\"\n\t\t>\n\t\t</v-combobox>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'ContactSelector',\n\n\t\tprops: ['toList','label','contacts'],\n\n\t\tcomponents: {},\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tto: [... this.toList]\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tisMatch: function (val1, val2) {\n\t\t\t\tif(val1 && val2){\n\t\t\t\t\treturn val1.trim().toLowerCase().includes(val2.trim().toLowerCase());\n\t\t\t\t}else{\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tvalidateEmail: function(email){\n\t\t\t\tlet re = /\\S+@\\S+\\.\\S+/;\n\t\t\t\treturn re.test(email);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tcontactMap: function () {\n\t\t\t\tlet contacts = this.contacts.filter(\n\t\t\t\t\t(c) => c.email\n\t\t\t\t);\n\n\t\t\t\treturn contacts.map(c => c.firstName + ' ' + c.lastName + \" <\" + c.email + \">\")\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactSelector.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ContactSelector.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ContactSelector.vue?vue&type=template&id=725370da&scoped=true\"\nimport script from \"./ContactSelector.vue?vue&type=script&lang=js\"\nexport * from \"./ContactSelector.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"725370da\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCombobox } from 'vuetify/lib/components/VCombobox';\ninstallComponents(component, {VCombobox})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"px-2\"},[_c('renderer',{ref:\"renderer\",attrs:{\"schema\":_vm.template.schema},on:{\"input\":_vm.handleResult}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"px-2\">\n\t\t<renderer ref=\"renderer\" :schema=\"template.schema\" @input=\"handleResult\"></renderer>\n\t</div>\n</template>\n\n<script>\n\timport Renderer from '@/modules/forms/v1/renderer/Renderer';\n\n\texport default {\n\t\tname: 'TicketFormV1',\n\n\t\tprops: ['template'],\n\n\t\tcomponents: { Renderer },\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tresult: null,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\thandleResult: function (result) {\n\t\t\t\tthis.result = result;\n\t\t\t},\n\n\t\t\tvalidate: function () {\n\t\t\t\treturn this.$refs.renderer.validate();\n\t\t\t},\n\n\t\t\tsetFormResult: function (formResult) {\n\t\t\t\tlet answers = [];\n\t\t\t\tlet files = [];\n\n\t\t\t\tif (this.result && this.template) {\n\t\t\t\t\tlet keys = Object.keys(this.result);\n\n\t\t\t\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\t\t\t\tlet id = keys[i];\n\t\t\t\t\t\tlet schemaItem = this.template.schema.find((s) => s.id === keys[i]);\n\t\t\t\t\t\tlet schemaIndex = this.template.schema.findIndex((s) => s.id === keys[i]);\n\n\t\t\t\t\t\tif (schemaItem.fieldType === 'LeadContact') {\n\t\t\t\t\t\t\tlet contactInfo = this.result[keys[i]];\n\t\t\t\t\t\t\tObject.keys(contactInfo).forEach((p) => {\n\t\t\t\t\t\t\t\tif (contactInfo[p]) {\n\t\t\t\t\t\t\t\t\tformResult[p] = contactInfo[p];\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlet answer;\n\t\t\t\t\t\t\tlet question = schemaItem.htmlText;\n\n\t\t\t\t\t\t\tif (schemaItem.fieldType === 'FileInput') {\n\t\t\t\t\t\t\t\tlet fileResult = this.result[keys[i]];\n\t\t\t\t\t\t\t\tfiles.push(...fileResult);\n\t\t\t\t\t\t\t\tanswer = JSON.stringify(fileResult.map((f) => f.name));\n\t\t\t\t\t\t\t} else if (Array.isArray(this.result[keys[i]])) {\n\t\t\t\t\t\t\t\tanswer = this.result[keys[i]].join(',');\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tanswer = this.result[keys[i]];\n\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\tanswers.push({\n\t\t\t\t\t\t\t\tindex: schemaIndex,\n\t\t\t\t\t\t\t\tid: id,\n\t\t\t\t\t\t\t\tquestion: question,\n\t\t\t\t\t\t\t\tanswer: answer,\n\t\t\t\t\t\t\t\tfieldKey: schemaItem.fieldKey,\n\t\t\t\t\t\t\t\tfieldType: schemaItem.fieldType,\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tanswers.sort((a, b) => a.index - b.index);\n\t\t\t\tformResult.answers = answers;\n\t\t\t\tformResult.files = files;\n\t\t\t\treturn formResult;\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TicketFormV1.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TicketFormV1.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TicketFormV1.vue?vue&type=template&id=b019a426&scoped=true\"\nimport script from \"./TicketFormV1.vue?vue&type=script&lang=js\"\nexport * from \"./TicketFormV1.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"b019a426\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',_vm._l((_vm.schema),function(item,index){return _c('div',{key:item.id},[_c('item-renderer',{ref:\"item\",refInFor:true,attrs:{\"index\":index + (2 * 1000),\"item\":item,\"styles\":_vm.styles,\"disabled\":false,\"account-logo\":_vm.accountLogo,\"active\":false,\"results\":_vm.results},on:{\"input\":function($event){return _vm.handleInput($event)}}})],1)}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<div v-for=\"(item, index) in schema\" :key=\"item.id\">\n\t\t\t<item-renderer\n\t\t\t\tref=\"item\"\n        :index=\"index + (2 * 1000)\"\n\t\t\t\t:item=\"item\"\n\t\t\t\t:styles=\"styles\"\n\t\t\t\t:disabled=\"false\"\n\t\t\t\t:account-logo=\"accountLogo\"\n\t\t\t\t:active=\"false\"\n        :results=\"results\"\n\t\t\t\t@input=\"handleInput($event)\"\n\t\t\t></item-renderer>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport ItemRenderer from '@/modules/forms/v2/schema/ItemRenderer';\n  import RendererMixin from '@/modules/forms/v2/schema/RendererMixin';\n\n\texport default {\n\t\tname: 'TicketFormV2',\n\n\t\tprops: ['template'],\n\n\t\tcomponents: { ItemRenderer },\n\n    mixins: [RendererMixin],\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tresults: [],\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tvalidate: function() {\n\t\t\t\tlet invalidCount = 0;\n\t\t\t\tfor (let i = 0; i < this.schema.length; i++) {\n\t\t\t\t\tif (!this.$refs.item[i].validate()) {\n\t\t\t\t\t\tinvalidCount++;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (invalidCount) {\n\t\t\t\t\treturn false;\n\t\t\t\t} else {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandleInput: function(event) {\n\t\t\t\tlet ix = this.results.findIndex((r) => r.item.id === event.item.id);\n\t\t\t\tif (ix > -1) {\n\t\t\t\t\tthis.results.splice(ix, 1, event);\n\t\t\t\t} else {\n\t\t\t\t\tthis.results.push(event);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsetFormResult: function(formResult) {\n\t\t\t\tthis.results.sort((a, b) => a.index.toString().localeCompare(b.index.toString()));\n\n\t\t\t\tformResult.answers = [];\n\t\t\t\tformResult.files = [];\n\n\t\t\t\tfor (let i = 0; i < this.results.length; i++) {\n\t\t\t\t\tlet item = this.results[i].item;\n\t\t\t\t\tlet value = this.results[i].value;\n          let container = this.results[i].container;\n\n          console.log('******************************************');\n          console.log(item.fieldName);\n\n          if(container && !this.colConditionMet(container)){\n            console.log('exiting because container is hidden');\n            continue\n          }else if(!this.colConditionMet(item)) {\n            console.log('exiting because item is hidden');\n            continue\n          }\n\n\t\t\t\t\tlet answer;\n\t\t\t\t\tif (item.type === 'FileInput') {\n\t\t\t\t\t\tformResult.files.push(...value);\n\t\t\t\t\t\tanswer = JSON.stringify(value.map((f) => f.name));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tanswer = Array.isArray(value) ? value.join(', ') : value;\n\t\t\t\t\t}\n\n\t\t\t\t\tformResult.answers.push({\n\t\t\t\t\t\tid: item.id,\n\t\t\t\t\t\tfieldKey: item.fieldName,\n\t\t\t\t\t\tfieldType: item.type,\n\t\t\t\t\t\tquestion: item.question,\n\t\t\t\t\t\tanswer: answer,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn formResult;\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tstyles: function() {\n\t\t\t\treturn this.template.formSettingsV2;\n\t\t\t},\n\n\t\t\tschema: function() {\n\t\t\t\treturn this.template.schemaV2;\n\t\t\t},\n\n\t\t\taccountLogo: function() {\n\t\t\t\tif (this.$vuetify.theme.dark && this.$store.state.domain.logoDark) {\n\t\t\t\t\treturn this.$store.state.domain.logoDark;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.$store.state.domain.logo;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tjustification: function() {\n\t\t\t\tif (this.styles.submitAlignment === 'JUSTIFIED') {\n\t\t\t\t\treturn 'space-between';\n\t\t\t\t} else if (this.styles.submitAlignment === 'LEFT') {\n\t\t\t\t\treturn 'flex-start';\n\t\t\t\t} else if (this.styles.submitAlignment === 'RIGHT') {\n\t\t\t\t\treturn 'flex-end';\n\t\t\t\t} else {\n\t\t\t\t\treturn 'center';\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TicketFormV2.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TicketFormV2.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TicketFormV2.vue?vue&type=template&id=7c6c0965&scoped=true\"\nimport script from \"./TicketFormV2.vue?vue&type=script&lang=js\"\nexport * from \"./TicketFormV2.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7c6c0965\",\n  null\n  \n)\n\nexport default component.exports","<template>\n\t<div class=\"mx-3 mt-3\">\n\t\t<v-container fluid>\n\t\t\t<v-row dense>\n\t\t\t\t<v-col>\n\t\t\t\t\t<div class=\"column-format\" style=\"gap: 12px\">\n\t\t\t\t\t\t<div class=\"column-format px-2 gap-4\">\n\t\t\t\t\t\t\t<v-select\n\t\t\t\t\t\t\t\tv-model=\"ticketType\"\n\t\t\t\t\t\t\t\t:items=\"ticketTypes\"\n\t\t\t\t\t\t\t\titem-text=\"type\"\n\t\t\t\t\t\t\t\titem-value=\"id\"\n\t\t\t\t\t\t\t\t:label=\"$t('requests.new.type')\"\n\t\t\t\t\t\t\t\toutlined\n\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\t></v-select>\n\t\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\t\tv-model=\"subject\"\n\t\t\t\t\t\t\t\t:label=\"$t('requests.new.subject')\"\n\t\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\t\toutlined\n\t\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\t></v-text-field>\n\t\t\t\t\t\t\t<contact-selector\n\t\t\t\t\t\t\t\t:to-list=\"ccList\"\n\t\t\t\t\t\t\t\t:contacts=\"contacts\"\n\t\t\t\t\t\t\t\t:label=\"$t('requests.new.cc')\"\n\t\t\t\t\t\t\t\t@update=\"updateCcList\"\n\t\t\t\t\t\t\t></contact-selector>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<div class=\"\" v-if=\"selectedType.discoveryTemplate\">\n\t\t\t\t\t\t\t<ticket-form-v1\n\t\t\t\t\t\t\t\tref=\"form\"\n\t\t\t\t\t\t\t\tv-if=\"selectedType.discoveryTemplate.schemaVersion == 1\"\n\t\t\t\t\t\t\t\t:template=\"selectedType.discoveryTemplate\"\n\t\t\t\t\t\t\t></ticket-form-v1>\n\t\t\t\t\t\t\t<ticket-form-v2\n\t\t\t\t\t\t\t\tref=\"form\"\n\t\t\t\t\t\t\t\tv-if=\"selectedType.discoveryTemplate.schemaVersion == 2\"\n\t\t\t\t\t\t\t\t:template=\"selectedType.discoveryTemplate\"\n\t\t\t\t\t\t\t></ticket-form-v2>\n\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t<v-textarea\n\t\t\t\t\t\t\tv-if=\"!selectedType.discoveryTemplate\"\n\t\t\t\t\t\t\trows=\"12\"\n\t\t\t\t\t\t\tv-model=\"comment\"\n\t\t\t\t\t\t\t:label=\"$t('requests.new.details')\"\n\t\t\t\t\t\t\tdense\n\t\t\t\t\t\t\toutlined\n\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t></v-textarea>\n\n\t\t\t\t\t\t<div v-cloak @drop.prevent=\"addDropFile\" @dragover.prevent>\n\t\t\t\t\t\t\t<v-file-input\n\t\t\t\t\t\t\t\tv-model=\"attachments\"\n\t\t\t\t\t\t\t\t:placeholder=\"$t('requests.new.upload-attachments')\"\n\t\t\t\t\t\t\t\t:label=\"$t('requests.new.attachments')\"\n\t\t\t\t\t\t\t\tmultiple\n\t\t\t\t\t\t\t\tprepend-icon=\"attach_file\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<template v-slot:selection=\"{ text }\">\n\t\t\t\t\t\t\t\t\t<v-chip small label color=\"primary\" style=\"color: var(--v-white-base)\">\n\t\t\t\t\t\t\t\t\t\t{{ text }}\n\t\t\t\t\t\t\t\t\t</v-chip>\n\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t</v-file-input>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div class=\"row-format\" style=\"gap: 12px\">\n\t\t\t\t\t\t\t<v-btn class=\"secondary-action\" @click=\"confirmCancel()\">{{ $t('global.cancel') }}</v-btn>\n\t\t\t\t\t\t\t<v-btn class=\"super-action\" width=\"200\" @click=\"createTicket()\">{{\n\t\t\t\t\t\t\t\t$t('requests.new.submit')\n\t\t\t\t\t\t\t}}</v-btn>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</v-col>\n\t\t\t</v-row>\n\t\t</v-container>\n\t</div>\n</template>\n\n<script>\n\timport ClientService from '@/modules/client/ClientService';\n\timport ConfirmModal from '@/components/ConfirmModal';\n\timport TicketService from '@/modules/tickets/TicketService';\n\timport ContactSelector from '@/modules/tickets/ContactSelector';\n\timport TicketFormV1 from '@/modules/tickets/TicketFormV1';\n\timport TicketFormV2 from '@/modules/tickets/TicketFormV2';\n\texport default {\n\t\tname: 'NewTicket',\n\n\t\tprops: ['ticketTypes'],\n\n\t\tcomponents: { TicketFormV1, TicketFormV2, ContactSelector },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tclientService: new ClientService(),\n\t\t\t\tticketService: new TicketService(),\n\t\t\t\tsubject: null,\n\t\t\t\tticketType: this.ticketTypes[0].id,\n\t\t\t\tcomment: null,\n\t\t\t\tattachments: [],\n\t\t\t\tcontacts: [],\n\t\t\t\tccList: [],\n\t\t\t\tformResult: null,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.clientService.getContactList().then((res) => {\n\t\t\t\tthis.contacts.splice(0, this.contacts.length);\n\t\t\t\tthis.contacts.push(\n\t\t\t\t\t...res.data.filter(\n\t\t\t\t\t\t(c) => c.email && c.email.toLowerCase() !== this.$store.state.loggedInUser.email.toLowerCase()\n\t\t\t\t\t)\n\t\t\t\t);\n\t\t\t});\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tvalidate: function() {\n\t\t\t\tif (!this.subject) {\n\t\t\t\t\tthis.$store.commit('error', this.$t('error.subject-required'));\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\tif (this.$refs.form) {\n\t\t\t\t\tif (!this.$refs.form.validate()) {\n\t\t\t\t\t\tthis.$store.commit('error', this.$t('error.correct-errors'));\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} else if (!this.comment) {\n\t\t\t\t\tthis.$store.commit('error', this.$t('error.request-details'));\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\tcreateTicket: function() {\n\t\t\t\ttry {\n\t\t\t\t\tif (!this.validate()) {\n\t\t\t\t\t\tthis.$store.commit('error', 'Please correct the errors in your form.');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tlet newTicket = {\n\t\t\t\t\t\tsubject: this.subject,\n\t\t\t\t\t\tcomment: this.comment,\n\t\t\t\t\t\tticketType: this.ticketType,\n\t\t\t\t\t\tccList: this.ccList,\n\t\t\t\t\t};\n\n\t\t\t\t\tif (this.selectedType.discoveryTemplate) {\n\t\t\t\t\t\tlet formData = {};\n\t\t\t\t\t\tthis.$refs.form.setFormResult(formData);\n\n\t\t\t\t\t\tlet files = formData.files;\n\t\t\t\t\t\tdelete formData.files;\n\t\t\t\t\t\tthis.attachments.push(...files);\n\n\t\t\t\t\t\tnewTicket.formData = formData;\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\t\tthis.ticketService\n\t\t\t\t\t\t.createTicket(newTicket, this.attachments)\n\t\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\t\tthis.$emit('new-ticket', res.data.ticket.id);\n\t\t\t\t\t\t})\n\t\t\t\t\t\t.catch((err) => this.$store.commit('error', err.response.data.message))\n\t\t\t\t\t\t.finally(() => this.$store.commit('stopLoading'));\n\t\t\t\t} catch (err) {\n          console.log(err);\n          this.$store.commit('error',JSON.stringify(err));\n        }\n\t\t\t},\n\n\t\t\tupdateCcList: function(list) {\n\t\t\t\tthis.ccList.splice(0, this.ccList.length);\n\t\t\t\tthis.ccList.push(...list);\n\t\t\t},\n\n\t\t\thandleResult(result) {\n\t\t\t\tthis.formResult = result;\n\t\t\t},\n\n\t\t\taddDropFile: function(e) {\n\t\t\t\tthis.attachments.push(...Array.from(e.dataTransfer.files));\n\t\t\t},\n\n\t\t\tconfirmCancel: function() {\n\t\t\t\tif (this.comment || this.subject || this.attachments.length) {\n\t\t\t\t\tlet binding = {\n\t\t\t\t\t\tbodyText: this.$t('requests.confirm-cancel'),\n\t\t\t\t\t};\n\t\t\t\t\tthis.$store.state.globalModalController.openModal(ConfirmModal, binding).then((res) => {\n\t\t\t\t\t\tif (res) {\n\t\t\t\t\t\t\tsetTimeout(() => this.$emit('cancel'), 200);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.$emit('cancel');\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tselectedType: function() {\n\t\t\t\treturn this.ticketTypes.find((t) => t.id === this.ticketType);\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewTicket.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewTicket.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./NewTicket.vue?vue&type=template&id=627738f2&scoped=true\"\nimport script from \"./NewTicket.vue?vue&type=script&lang=js\"\nexport * from \"./NewTicket.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"627738f2\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFileInput } from 'vuetify/lib/components/VFileInput';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VChip,VCol,VContainer,VFileInput,VRow,VSelect,VTextField,VTextarea})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.ticket)?_c('div',{staticClass:\"mx-3\"},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{staticClass:\"text-left\",attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"font-20\"},[_vm._v(_vm._s(_vm.ticket.ticketNumber)+\": \"+_vm._s(_vm.ticket.subject))])])],1),_c('v-row',[_c('v-col',{staticClass:\"text-left order-last order-md-first\",attrs:{\"cols\":\"12\",\"md\":\"8\"}},[_c('v-textarea',{attrs:{\"rows\":\"8\",\"label\":_vm.$t('requests.comment'),\"dense\":\"\",\"outlined\":\"\",\"persistent-placeholder\":\"\",\"hide-details\":\"\"},model:{value:(_vm.comment),callback:function ($$v) {_vm.comment=$$v},expression:\"comment\"}}),_c('div',{on:{\"drop\":function($event){$event.preventDefault();return _vm.addDropFile.apply(null, arguments)},\"dragover\":function($event){$event.preventDefault();}}},[_c('v-file-input',{attrs:{\"placeholder\":_vm.$t('requests.upload-attachments'),\"label\":_vm.$t('requests.attachments'),\"multiple\":\"\",\"hide-details\":\"\",\"prepend-icon\":\"attachment\"},scopedSlots:_vm._u([{key:\"selection\",fn:function({ text }){return [_c('v-chip',{staticStyle:{\"color\":\"var(--v-white-base)\"},attrs:{\"small\":\"\",\"label\":\"\",\"color\":\"primary\"}},[_vm._v(\" \"+_vm._s(text)+\" \")])]}}],null,false,2620837592),model:{value:(_vm.attachments),callback:function ($$v) {_vm.attachments=$$v},expression:\"attachments\"}})],1),_c('div',{staticClass:\"row-format my-5\",staticStyle:{\"gap\":\"12px\"}},[_c('v-btn',{staticClass:\"secondary-action\",on:{\"click\":function($event){return _vm.$emit('cancel')}}},[_vm._v(_vm._s(_vm.$t('global.cancel')))]),_c('v-btn',{staticClass:\"super-action\",attrs:{\"disabled\":!_vm.comment,\"width\":\"200\"},on:{\"click\":function($event){return _vm.addComment()}}},[_vm._v(_vm._s(_vm.$t('requests.add-comment')))])],1),_c('v-container',{staticClass:\"pa-0 ma-0\"},_vm._l((_vm.comments),function(comment){return _c('v-col',{key:comment.id,staticClass:\"text-left\",staticStyle:{\"border-top\":\"1px solid var(--v-gray_30-base)\"},attrs:{\"cols\":\"12\"}},[_c('div',{staticClass:\"font-12 font-gray_70\"},[_vm._v(\" \"+_vm._s(_vm.getCommentBy(comment.commentBy))+\" \"+_vm._s(_vm.$t('global.on'))+\" \"+_vm._s(_vm.DateTime.fromISO(comment.created).toLocaleString(_vm.DateTime.DATETIME_FULL))+\" \")]),(comment.updated)?_c('div',{staticClass:\"font-12 font-gray_70\"},[_vm._v(\" \"+_vm._s(_vm.$t('requests.existing.updated'))+\" \"+_vm._s(_vm.DateTime.fromISO(comment.updated).toLocaleString(_vm.DateTime.DATETIME_FULL))+\" \")]):_vm._e(),(comment.commentFormat === 'PlainText')?_c('div',{staticStyle:{\"white-space\":\"pre-wrap\"}},[_vm._v(_vm._s(comment.comment))]):_c('div',{domProps:{\"innerHTML\":_vm._s(comment.comment)}}),(comment.attachments && comment.attachments.length)?_c('div',{staticClass:\"py-2\"},_vm._l((comment.attachments),function(attachment){return _c('v-chip',{key:attachment.fileName,staticClass:\"pointer\",on:{\"click\":function($event){return _vm.downloadFile(attachment)}}},[_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(\"attachment\")]),_vm._v(\" \"+_vm._s(attachment.fileName)+\" \")],1)}),1):_vm._e()])}),1)],1),_c('v-col',{attrs:{\"cols\":\"12\",\"md\":\"4\"}},[_c('v-container',{staticClass:\"ma-0 font-14\",staticStyle:{\"border\":\"1px solid var(--v-gray_50-base)\",\"border-radius\":\"4px\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\",\"align\":\"left\"}},[_vm._v(_vm._s(_vm.$t('requests.existing.requester')))]),_c('v-col',{attrs:{\"cols\":\"8\",\"align\":\"right\"}},[(_vm.requester)?_c('span',{staticClass:\"brand-medium\"},[_vm._v(_vm._s(_vm.requester.firstName)+\" \"+_vm._s(_vm.requester.lastName))]):_vm._e()])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\",\"align\":\"left\"}},[_vm._v(_vm._s(_vm.$t('requests.existing.type')))]),_c('v-col',{attrs:{\"cols\":\"8\",\"align\":\"right\"}},[_c('span',{staticClass:\"brand-medium\"},[_vm._v(_vm._s(_vm.ticketType.type))])])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\",\"align\":\"left\"}},[_vm._v(_vm._s(_vm.$t('requests.existing.status')))]),_c('v-col',{attrs:{\"cols\":\"8\",\"align\":\"right\"}},[(_vm.ticket.open)?_c('div',{staticClass:\"status\"},[_vm._v(_vm._s(_vm.ticket.status))]):_c('div',{staticClass:\"closed\"},[_vm._v(_vm._s(_vm.$t('requests.closed')))])])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\",\"align\":\"left\"}},[_vm._v(_vm._s(_vm.$t('requests.existing.created')))]),_c('v-col',{attrs:{\"cols\":\"8\",\"align\":\"right\"}},[_c('span',{staticClass:\"brand-medium\"},[_vm._v(_vm._s(_vm.DateTime.fromISO(_vm.ticket.created).toLocaleString(_vm.DateTime.DATETIME_MED)))])])],1),_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"4\",\"align\":\"left\"}},[_vm._v(_vm._s(_vm.$t('requests.existing.updated')))]),_c('v-col',{attrs:{\"cols\":\"8\",\"align\":\"right\"}},[_c('span',{staticClass:\"brand-medium\"},[_vm._v(_vm._s(_vm.DateTime.fromISO(_vm.ticket.updated).toLocaleString(_vm.DateTime.DATETIME_MED)))])])],1)],1),(_vm.ticket.formData && _vm.ticket.formData.answers.length)?_c('div',{staticStyle:{\"height\":\"16px\"}}):_vm._e(),(_vm.ticket.formData && _vm.ticket.formData.answers.length)?_c('v-container',{staticClass:\"ma-0 pa-0 font-14\",staticStyle:{\"border\":\"1px solid var(--v-gray_50-base)\",\"border-radius\":\"4px\"}},[_c('v-row',{attrs:{\"dense\":\"\"}},[_c('v-col',{staticClass:\"pa-4\"},_vm._l((_vm.ticket.formData.answers),function(answer,index){return _c('div',{key:index,staticClass:\"text-left font-14 pb-3\"},[_c('div',{staticClass:\"font-12 font-gray_70\",domProps:{\"innerHTML\":_vm._s(answer.question)}}),_c('div',{staticClass:\"text-pre-wrap\"},[_vm._v(_vm._s(answer.answer))])])}),0)],1)],1):_vm._e()],1)],1)],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"mx-3\" v-if=\"ticket\">\n\t\t<v-container fluid>\n\t\t\t<v-row>\n\t\t\t\t<v-col cols=\"12\" class=\"text-left\">\n\t\t\t\t\t<div class=\"font-20\">{{ticket.ticketNumber}}: {{ ticket.subject }}</div>\n\t\t\t\t</v-col>\n\t\t\t</v-row>\n\t\t\t<v-row>\n\t\t\t\t<v-col cols=\"12\" md=\"8\" class=\"text-left order-last order-md-first\">\n\t\t\t\t\t<v-textarea\n\t\t\t\t\t\trows=\"8\"\n\t\t\t\t\t\tv-model=\"comment\"\n\t\t\t\t\t\t:label=\"$t('requests.comment')\"\n\t\t\t\t\t\tdense\n\t\t\t\t\t\toutlined\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\thide-details\n\t\t\t\t\t></v-textarea>\n          <div v-cloak @drop.prevent=\"addDropFile\" @dragover.prevent>\n            <v-file-input\n              v-model=\"attachments\"\n              :placeholder=\"$t('requests.upload-attachments')\"\n              :label=\"$t('requests.attachments')\"\n              multiple\n              hide-details\n              prepend-icon=\"attachment\"\n            >\n              <template v-slot:selection=\"{ text }\">\n                <v-chip small label color=\"primary\" style=\"color: var(--v-white-base)\">\n                  {{ text }}\n                </v-chip>\n              </template>\n            </v-file-input>\n          </div>\n\t\t\t\t\t<div class=\"row-format my-5\" style=\"gap: 12px\">\n\t\t\t\t\t\t<v-btn class=\"secondary-action\" @click=\"$emit('cancel')\">{{ $t('global.cancel') }}</v-btn>\n\t\t\t\t\t\t<v-btn :disabled=\"!comment\" class=\"super-action\" width=\"200\" @click=\"addComment()\">{{ $t('requests.add-comment') }}</v-btn>\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<v-container class=\"pa-0 ma-0\">\n\t\t\t\t\t\t<v-col\n\t\t\t\t\t\t\tcols=\"12\"\n\t\t\t\t\t\t\tclass=\"text-left\"\n\t\t\t\t\t\t\tstyle=\"border-top: 1px solid var(--v-gray_30-base)\"\n\t\t\t\t\t\t\tv-for=\"comment in comments\"\n\t\t\t\t\t\t\t:key=\"comment.id\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div class=\"font-12 font-gray_70\">\n\t\t\t\t\t\t\t\t{{ getCommentBy(comment.commentBy) }} {{ $t('global.on') }}\n\t\t\t\t\t\t\t\t{{ DateTime.fromISO(comment.created).toLocaleString(DateTime.DATETIME_FULL) }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div class=\"font-12 font-gray_70\" v-if=\"comment.updated\">\n\t\t\t\t\t\t\t\t{{ $t('requests.existing.updated') }} {{ DateTime.fromISO(comment.updated).toLocaleString(DateTime.DATETIME_FULL) }}\n\t\t\t\t\t\t\t</div>\n              <div style=\"white-space: pre-wrap\" v-if=\"comment.commentFormat === 'PlainText'\">{{ comment.comment }}</div>\n              <div v-else v-html=\"comment.comment\"></div>\n\t\t\t\t\t\t\t<div v-if=\"comment.attachments && comment.attachments.length\" class=\"py-2\">\n\t\t\t\t\t\t\t\t<v-chip\n\t\t\t\t\t\t\t\t\tv-for=\"attachment in comment.attachments\"\n\t\t\t\t\t\t\t\t\t:key=\"attachment.fileName\"\n\t\t\t\t\t\t\t\t\tclass=\"pointer\"\n\t\t\t\t\t\t\t\t\t@click=\"downloadFile(attachment)\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<v-icon small>attachment</v-icon> {{ attachment.fileName }}\n\t\t\t\t\t\t\t\t</v-chip>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</v-col>\n\t\t\t\t\t</v-container>\n\t\t\t\t</v-col>\n\t\t\t\t<v-col cols=\"12\" md=\"4\">\n\t\t\t\t\t<v-container class=\"ma-0 font-14\" style=\"border: 1px solid var(--v-gray_50-base); border-radius: 4px;\">\n\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t<v-col cols=\"4\" align=\"left\">{{ $t('requests.existing.requester') }}</v-col>\n\t\t\t\t\t\t\t<v-col cols=\"8\" align=\"right\"\n\t\t\t\t\t\t\t\t><span class=\"brand-medium\" v-if=\"requester\"\n\t\t\t\t\t\t\t\t\t>{{ requester.firstName }} {{ requester.lastName }}</span\n\t\t\t\t\t\t\t\t></v-col\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t<v-col cols=\"4\" align=\"left\">{{ $t('requests.existing.type') }}</v-col>\n\t\t\t\t\t\t\t<v-col cols=\"8\" align=\"right\"\n\t\t\t\t\t\t\t\t><span class=\"brand-medium\">{{ ticketType.type }}</span></v-col\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t<v-col cols=\"4\" align=\"left\">{{ $t('requests.existing.status') }}</v-col>\n\t\t\t\t\t\t\t<v-col cols=\"8\" align=\"right\">\n                <div v-if=\"ticket.open\" class=\"status\">{{ticket.status}}</div>\n                <div v-else class=\"closed\">{{$t('requests.closed')}}</div>\n              </v-col>\n\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t<v-col cols=\"4\" align=\"left\">{{ $t('requests.existing.created') }}</v-col>\n\t\t\t\t\t\t\t<v-col cols=\"8\" align=\"right\"\n\t\t\t\t\t\t\t\t><span class=\"brand-medium\">{{\n\t\t\t\t\t\t\t\t\tDateTime.fromISO(ticket.created).toLocaleString(DateTime.DATETIME_MED)\n\t\t\t\t\t\t\t\t}}</span></v-col\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</v-row>\n\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t<v-col cols=\"4\" align=\"left\">{{ $t('requests.existing.updated') }}</v-col>\n\t\t\t\t\t\t\t<v-col cols=\"8\" align=\"right\"\n\t\t\t\t\t\t\t\t><span class=\"brand-medium\">{{\n\t\t\t\t\t\t\t\t\tDateTime.fromISO(ticket.updated).toLocaleString(DateTime.DATETIME_MED)\n\t\t\t\t\t\t\t\t}}</span></v-col\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</v-row>\n\t\t\t\t\t</v-container>\n\n          <div style=\"height: 16px\" v-if=\"ticket.formData && ticket.formData.answers.length\"></div>\n\n\t\t\t\t\t<v-container\n\t\t\t\t\t\tv-if=\"ticket.formData && ticket.formData.answers.length\"\n\t\t\t\t\t\tclass=\"ma-0 pa-0 font-14\"\n\t\t\t\t\t\tstyle=\"border: 1px solid var(--v-gray_50-base); border-radius: 4px;\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<v-row dense>\n\t\t\t\t\t\t\t<v-col class=\"pa-4\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tv-for=\"(answer, index) in ticket.formData.answers\"\n\t\t\t\t\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t\t\t\t\tclass=\"text-left font-14 pb-3\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div class=\"font-12 font-gray_70\" v-html=\"answer.question\"></div>\n\t\t\t\t\t\t\t\t\t<div class=\"text-pre-wrap\">{{ answer.answer }}</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</v-col>\n\t\t\t\t\t\t</v-row>\n\t\t\t\t\t</v-container>\n\t\t\t\t</v-col>\n\t\t\t</v-row>\n\t\t</v-container>\n\t</div>\n</template>\n\n<script>\n\timport TicketService from '@/modules/tickets/TicketService';\n\timport { DateTime } from 'luxon';\n\timport ClientService from '@/modules/client/ClientService';\n\timport ProjectService from '@/modules/projects/ProjectService';\n\timport axios from 'axios';\n\n\texport default {\n\t\tname: 'ExistingTicket',\n\n\t\tprops: ['id', 'ticketTypes'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tticket: null,\n\t\t\t\tcomments: [],\n\t\t\t\tcontacts: [],\n\t\t\t\tcomment: null,\n\t\t\t\tattachments: [],\n\t\t\t\tusers: [],\n\t\t\t\tticketService: new TicketService(),\n\t\t\t\tclientService: new ClientService(),\n\t\t\t\tprojectService: new ProjectService(),\n\t\t\t\tDateTime: DateTime,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.initialize();\n      this.setupTicketListeners();\n\t\t},\n\n\t\tbeforeDestroy() {\n      this.stopTicketListeners();\n    },\n\n\t\tmethods: {\n\t\t\tinitialize: function() {\n\t\t\t\tthis.getTicketDetail();\n\t\t\t\tthis.getContacts();\n\t\t\t},\n\n      setupTicketListeners: function(){\n        this.$store.state.eventBus.$on(this.$store.getters.getMessageChannelPrefix + '.ticketUpdated.' + this.id,this.ticketNotification);\n        this.$store.state.eventBus.$on(this.$store.getters.getMessageChannelPrefix + '.ticketComment.' + this.id,this.ticketNotification);\n        this.$store.state.eventBus.$on(this.$store.getters.getMessageChannelPrefix + '.ticketDeleted.' + this.id,this.ticketNotification);\n      },\n\n      stopTicketListeners: function(){\n        this.$store.state.eventBus.$off(this.$store.getters.getMessageChannelPrefix + '.ticketUpdated.' + this.id,this.ticketNotification);\n        this.$store.state.eventBus.$off(this.$store.getters.getMessageChannelPrefix + '.ticketComment.' + this.id,this.ticketNotification);\n        this.$store.state.eventBus.$off(this.$store.getters.getMessageChannelPrefix + '.ticketDeleted.' + this.id,this.ticketNotification);\n      },\n\n\n      ticketNotification: function(event){\n        if(event.channel.includes('ticketUpdated')){\n          this.ticket = event.message;\n        }else if(event.channel.includes('ticketComment')){\n          this.ticket = event.message.ticket;\n          this.commentAdded(event.message.comments[0]);\n        }else if(event.channel.includes('ticketDeleted')){\n          this.$emit('back');\n        }\n      },\n\n      commentAdded: function(comment){\n        let ix = this.comments.findIndex(c => c.id === comment.id);\n        if(ix === -1){\n          this.comments.unshift(comment);\n        }\n      },\n\n\t\t\tgetTicketDetail: function() {\n\t\t\t\tthis.ticketService.getTicketDetail(this.id).then((res) => {\n\t\t\t\t\tthis.ticket = res.data.ticket;\n\t\t\t\t\tthis.comments = res.data.comments;\n\n          if(this.ticket.unreadClient){\n            this.ticketService.markAsRead(this.id);\n          }\n\t\t\t\t});\n\t\t\t},\n\n\t\t\taddComment: function() {\n\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\tthis.ticketService\n\t\t\t\t\t.createComment(this.id, this.comment, this.attachments)\n\t\t\t\t\t.then((res) => {\n            this.commentAdded(res.data);\n\t\t\t\t\t\tthis.comment = null;\n\t\t\t\t\t\tthis.attachments.splice(0, this.attachments.length);\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => this.$store.commit('stopLoading'));\n\t\t\t},\n\n\t\t\tgetContacts: function() {\n\t\t\t\tthis.projectService.getAllAssignableUsers().then((res) => {\n\t\t\t\t\tthis.contacts.splice(0, this.contacts.length);\n\t\t\t\t\tthis.contacts.push(...res.data);\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tgetCommentBy: function(id) {\n\t\t\t\tlet contact = this.contacts.find((c) => c.userId === id);\n\t\t\t\tif (contact) {\n\t\t\t\t\treturn contact.firstName + ' ' + contact.lastName;\n\t\t\t\t} else {\n\t\t\t\t\treturn ' -- ';\n\t\t\t\t}\n\t\t\t},\n\n      addDropFile: function(e){\n        this.attachments.push(...Array.from(e.dataTransfer.files));\n      },\n\n\t\t\tdownloadFile: function(s3File, download = true) {\n\t\t\t\tthis.ticketService.getSignedUrl(this.id, s3File.fileName).then((res) => {\n\t\t\t\t\tlet signedUrl = res.data;\n\n\t\t\t\t\tif (download == false) {\n\t\t\t\t\t\twindow.open(signedUrl, '_blank');\n\t\t\t\t\t} else {\n\t\t\t\t\t\taxios({\n\t\t\t\t\t\t\turl: signedUrl, //your url\n\t\t\t\t\t\t\tmethod: 'GET',\n\t\t\t\t\t\t\tresponseType: 'blob', // important\n\t\t\t\t\t\t}).then((response) => {\n\t\t\t\t\t\t\tconst url = window.URL.createObjectURL(new Blob([response.data]));\n\t\t\t\t\t\t\tconst link = document.createElement('a');\n\t\t\t\t\t\t\tlink.href = url;\n\t\t\t\t\t\t\tlink.setAttribute('download', s3File.fileName); //or any other extension\n\t\t\t\t\t\t\tdocument.body.appendChild(link);\n\t\t\t\t\t\t\tlink.click();\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\trequester: function() {\n\t\t\t\treturn this.contacts.find((c) => c.userId === this.ticket.clientContactId);\n\t\t\t},\n\n\t\t\tticketType: function() {\n\t\t\t\tif (this.ticketTypes) {\n\t\t\t\t\tlet result = this.ticketTypes.find((t) => t.id === this.ticket.type);\n\t\t\t\t\tif (result) {\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {};\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n.closed {\n  background-color: var(--v-error-base);\n  width: fit-content;\n  border-radius: 4px;\n  padding: 0px 4px;\n  color: var(--v-white-base);\n  font-size: 12px;\n  font-weight: 500;\n}\n\n.status {\n  background-color: var(--v-accent-base);\n  width: fit-content;\n  border-radius: 4px;\n  padding: 0px 4px;\n  color: var(--v-black-base);\n  font-size: 12px;\n  font-weight: 500;\n}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExistingTicket.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExistingTicket.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ExistingTicket.vue?vue&type=template&id=c5385d94&scoped=true\"\nimport script from \"./ExistingTicket.vue?vue&type=script&lang=js\"\nexport * from \"./ExistingTicket.vue?vue&type=script&lang=js\"\nimport style0 from \"./ExistingTicket.vue?vue&type=style&index=0&id=c5385d94&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"c5385d94\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VFileInput } from 'vuetify/lib/components/VFileInput';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VChip,VCol,VContainer,VFileInput,VIcon,VRow,VTextarea})\n","<template>\n\t<div v-if=\"isReady\">\n\t\t<div>\n\t\t\t<div class=\"content pt-2\">\n        <h2 class=\"text-left pl-6 pt-2\" v-if=\"id ==='new'\">{{pageHeader}}</h2>\n\t\t\t\t<new-ticket\n\t\t\t\t\tv-if=\"isNewTicket\"\n\t\t\t\t\t:ticket-types=\"ticketTypes\"\n\t\t\t\t\t@cancel=\"returnToList()\"\n\t\t\t\t\t@new-ticket=\"newTicket($event)\"\n\t\t\t\t></new-ticket>\n\t\t\t\t<existing-ticket v-else :id=\"id\" :ticket-types=\"ticketTypes\" @cancel=\"returnToList()\"></existing-ticket>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport NewTicket from '@/modules/tickets/NewTicket';\n\timport ExistingTicket from '@/modules/tickets/ExistingTicket';\n\timport TicketService from '@/modules/tickets/TicketService';\n\n\texport default {\n\t\tname: 'TicketDetail',\n\n\t\tprops: ['id'],\n\n\t\tcomponents: {NewTicket, ExistingTicket },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tticketTypes: [],\n\t\t\t\tticketService: new TicketService(),\n\t\t\t\tisReady: false,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getTicketSettings();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tgetTicketSettings: function() {\n\t\t\t\tthis.ticketService.getTicketTypes().then((res) => {\n\t\t\t\t\tthis.ticketTypes.splice(0, this.ticketTypes.length);\n\t\t\t\t\tthis.ticketTypes.push(...res.data);\n\t\t\t\t\tthis.isReady = true;\n\t\t\t\t});\n\t\t\t},\n\n\t\t\treturnToList: function() {\n\t\t\t\tthis.$router.push('/requests');\n\t\t\t},\n\n\t\t\tnewTicket: function(ticketId) {\n\t\t\t\tthis.$router.push(`/requests/${ticketId}`);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tisNewTicket: function() {\n\t\t\t\treturn this.id === 'new';\n\t\t\t},\n\n\t\t\tpageHeader: function() {\n\t\t\t\tif (this.id === 'new') {\n\t\t\t\t\treturn this.$t('requests.new.heading');\n\t\t\t\t} else {\n\t\t\t\t\treturn this.$t('requests.page-heading');\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TicketDetail.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TicketDetail.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TicketDetail.vue?vue&type=template&id=20ac89e0&scoped=true\"\nimport script from \"./TicketDetail.vue?vue&type=script&lang=js\"\nexport * from \"./TicketDetail.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"20ac89e0\",\n  null\n  \n)\n\nexport default component.exports","import TicketList from '@/modules/tickets/TicketList';\nimport TicketDetail from '@/modules/tickets/TicketDetail';\n\n\nexport default [\n\t{\n\t\tpath: '/requests',\n\t\tname: 'Requests',\n\t\tcomponent: TicketList,\n\t},\n\t{\n\t\tpath: '/requests/:id',\n\t\tname: 'Request detail',\n\t\tcomponent: TicketDetail,\n\t\tprops: (route) => ({\n\t\t\tid: route.params.id\n\t\t}),\n\t}\n\n]","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticStyle:{\"width\":\"100%\",\"height\":\"100%\",\"background-color\":\"#fff\"}},[(_vm.podId)?_c('iframe',{staticStyle:{\"border\":\"none\",\"background-color\":\"#fff\"},attrs:{\"src\":_vm.fullPath,\"height\":\"99%\",\"width\":\"100%\"}}):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <div style=\"width:100%; height: 100%; background-color: #fff\">\n    <iframe v-if=\"podId\" :src=\"fullPath\" height=\"99%\" width=\"100%\" style=\"border: none; background-color: #fff\"></iframe>\n  </div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'PublicRouter',\n\n\t\tprops: [],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {};\n\t\t},\n\n\t\tmounted() {\n      window.addEventListener(\"message\", (event) => {\n        if(event.data && event.data.startsWith('[Redirect]')){\n          let url = event.data.slice(10);\n          window.location = url;\n        }\n      }, false);\n    },\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n      appendIfPresent: function(searchParams,key){\n        if(this.$route.query[key]){\n          searchParams.append(key,this.$route.query[key]);\n        }\n      },\n    },\n\n\t\tcomputed: {\n      accountKey: function(){\n        if(this.hasAccountKey){\n          return this.pathSegments[1];\n        }else{\n          return this.accountId;\n        }\n      },\n\n      resourceId: function(){\n        if(this.hasAccountKey){\n          return this.pathSegments[2];\n        }else{\n          return this.pathSegments[1];\n        }\n      },\n\n      pathSegments: function(){\n        const parsedUrl = new URL(window.location);\n        return parsedUrl.pathname.split('/').filter(segment => segment);\n      },\n\n      hasAccountKey: function() {\n        return this.pathSegments.length === 3;\n      },\n\n\t\t\tfullPath: function() {\n        let url = new URL(`${process.env.VUE_APP_MEET_LINK}${this.podId}/${this.accountKey}/${this.resourceId}`);\n        url.searchParams.append(\"inPortal\", \"true\");\n\n        this.appendIfPresent(url.searchParams,'opportunityId');\n        this.appendIfPresent(url.searchParams,'action');\n        this.appendIfPresent(url.searchParams,'id');\n        this.appendIfPresent(url.searchParams,'knownUser');\n        this.appendIfPresent(url.searchParams,'firstName');\n        this.appendIfPresent(url.searchParams,'lastName');\n        this.appendIfPresent(url.searchParams,'email');\n        this.appendIfPresent(url.searchParams,'phone');\n\n        return url.href;\n\t\t\t},\n\n      accountId: function() {\n        if (this.$store.state.domain) {\n          return this.$store.state.domain.accountId;\n        } else {\n          return null;\n        }\n      },\n\n\t\t\tpodId: function() {\n\t\t\t\tif (this.$store.state.domain) {\n\t\t\t\t\tlet domain = new URL(this.$store.state.domain.podUrl).hostname;\n\t\t\t\t\treturn domain.split('.')[0].replace(/\\D/g, '');\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicRouter.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PublicRouter.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./PublicRouter.vue?vue&type=template&id=ec464f84&scoped=true\"\nimport script from \"./PublicRouter.vue?vue&type=script&lang=js\"\nexport * from \"./PublicRouter.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"ec464f84\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.agreement)?_c('agreement-renderer',{ref:\"AgreementRenderer\",attrs:{\"agreement\":_vm.agreement,\"signer\":_vm.signer,\"show-finish-warning\":_vm.showWarning},on:{\"finalize\":_vm.submitFinalized}}):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.agreement)?_c('div',{key:_vm.agreement.id,staticClass:\"agreement-builder\",style:(`--v-zoom: ${_vm.zoom / 100}; ${_vm.styles}`)},[_c('div',{staticClass:\"header-area px-3\"},[(_vm.$vuetify.breakpoint.mdAndUp)?_c('div',{staticClass:\"header-left\"},[_c('span',{style:(`font-family: '${_vm.agreement.styles.h1.fontFamily}'; font-weight:600; font-size: 20px`)},[_vm._v(_vm._s(_vm.agreement.name))]),_c('div',{staticClass:\"row-format align-center ml-2 pointer\",on:{\"click\":function($event){return _vm.openPrint()}}},[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"size\":\"20\",\"color\":_vm.agreement.styles.h1.color}},[_vm._v(\"print\")]),_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"size\":\"20\",\"color\":_vm.agreement.styles.h1.color}},[_vm._v(\"picture_as_pdf\")])],1)]):_vm._e(),(_vm.signer)?_c('div',{staticClass:\"header-right\"},[(_vm.showFinishWarning)?_c('div',{staticClass:\"font-weight-medium\",staticStyle:{\"color\":\"red\",\"text-decoration\":\"underline\"}},[_c('v-icon',{attrs:{\"color\":\"red\",\"size\":\"48\"}},[_vm._v(\"arrow_right_alt\")])],1):_vm._e(),(!_vm.signer.locked)?_c('v-btn',{staticClass:\"super-action ml-2\",on:{\"click\":_vm.finalize}},[_c('span',{staticClass:\"px-6\",style:(`font-family: '${_vm.agreement.styles.h1.fontFamily}';font-size:16px`)},[_vm._v(_vm._s(_vm.agreement.settings.finishedButton ? _vm.agreement.settings.finishedButton : 'Finish'))])]):_c('v-btn',{staticClass:\"super-action ml-2\",attrs:{\"disabled\":\"\"}},[_c('v-icon',[_vm._v(\"done_all\")]),_c('span',{style:(`font-family: '${_vm.agreement.styles.h1.fontFamily}';font-size:16px`)},[_vm._v(\"  \"+_vm._s(_vm.DateTime.fromISO(_vm.signer.timestamp).toLocaleString(_vm.DateTime.DATETIME_MED)))])],1)],1):_vm._e()]),_c('div',{staticClass:\"row-format\",staticStyle:{\"height\":\"calc(100% - 50px)\"}},[(_vm.indexedPages.length && _vm.$vuetify.breakpoint.mdAndUp)?_c('div',{staticClass:\"column-format pb-3 px-2\",staticStyle:{\"border-right\":\"1px solid var(--v-gray_30-base)\",\"height\":\"100%\",\"max-height\":\"100%\",\"background-color\":\"var(--v-white-base)\",\"min-width\":\"250px\",\"max-width\":\"250px\"}},[_c('ul',{staticClass:\"text-left font-14 py-2\"},_vm._l((_vm.indexedPages),function(page){return _c('li',{key:page.index,staticClass:\"pointer py-1 font-16 nav-link\",style:(`border-bottom: 1px solid var(--v-gray_30-base); font-family: '${_vm.agreement.styles.h1.fontFamily}';`),on:{\"click\":function($event){return _vm.scrollToPage(page.index)}}},[_vm._v(\" \"+_vm._s(page.title)+\" \")])}),0)]):_vm._e(),_c('div',{staticClass:\"show-scrollbar\",staticStyle:{\"max-height\":\"calc(100vh - 50px)\",\"width\":\"100%\",\"overflow-y\":\"scroll\"},attrs:{\"id\":\"page-area\"}},[_c('div',{staticClass:\"zoom\",staticStyle:{\"min-width\":\"fit-content\",\"width\":\"100%\",\"overflow-x\":\"scroll\"}},[_c('div',{attrs:{\"id\":\"print-area\"}},_vm._l((_vm.agreement.pages),function(page,index){return _c('div',{key:page.id,staticClass:\"column-format centered\",attrs:{\"id\":`page-${index}`}},[_c('page',{ref:`page-${index}`,refInFor:true,attrs:{\"id\":`page-${index}`,\"page-index\":index,\"agreement\":_vm.agreement,\"mce-config\":{},\"client-mode\":_vm.clientMode,\"signer\":_vm.signer,\"edit-mode\":false,\"template-mode\":false,\"tokens\":_vm.tokens,\"page-width\":_vm.pageWidth},on:{\"container-item-signed\":function($event){return _vm.itemSigned(page, $event)},\"signed\":function($event){return _vm.itemSigned(page, $event)}}}),_c('div',{staticClass:\"page-break\"})],1)}),0),(_vm.signer)?_c('div',{staticClass:\"row-format centered my-4\"},[(!_vm.signer.locked)?_c('v-btn',{staticClass:\"super-action\",attrs:{\"large\":\"\"},on:{\"click\":_vm.finalize}},[_c('span',{staticClass:\"px-10\",style:(`font-family: '${_vm.agreement.styles.h1.fontFamily}';font-size:16px`)},[_vm._v(_vm._s(_vm.agreement.settings.finishedButton ? _vm.agreement.settings.finishedButton : 'Finish'))])]):_vm._e()],1):_vm._e()])])]),(_vm.agreement.styles.pageSize !== 'RESPONSIVE')?_c('div',{staticClass:\"row-format align-center\",staticStyle:{\"position\":\"absolute\",\"bottom\":\"20px\",\"right\":\"20px\"}},[_c('div',{staticClass:\"font-12\"},[_vm._v(_vm._s(_vm.zoom)+\"%\")]),_c('v-icon',{staticClass:\"pointer\",attrs:{\"size\":\"24\"},on:{\"click\":function($event){return _vm.zoomIn()}}},[_vm._v(\"zoom_in\")]),_c('v-icon',{staticClass:\"pointer\",attrs:{\"size\":\"24\"},on:{\"click\":function($event){return _vm.zoomOut()}}},[_vm._v(\"zoom_out\")])],1):_vm._e()]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:`page-wrapper column-format align-center ${_vm.isMobile ? 'px-0' : 'px-12'}`,staticStyle:{\"width\":\"100%\"}},[_c('div',{class:`page column-format ${_vm.agreement.styles.pageShadow ? 'shadow' : ''} ${_vm.layoutClass}`,style:(`--max-page-width: ${_vm.agreement.styles.maxWidth}px`),on:{\"drop\":function($event){return _vm.drop($event)},\"dragover\":function($event){return _vm.allowDrop($event)},\"click\":function($event){$event.stopPropagation();return _vm.$emit('edit', null)}}},_vm._l((_vm.schema),function(item,index){return _c('div',{key:item.id,staticStyle:{\"width\":\"100%\"},attrs:{\"id\":'schemaWrapper-' + item.id,\"draggable\":_vm.draggable && _vm.allowDrag},on:{\"dragenter\":_vm.handleDragEnter,\"dragleave\":_vm.handleDragLeave,\"dragstart\":_vm.reOrderDragStart}},[_c('item-renderer',{ref:`item-${item.id}`,refInFor:true,attrs:{\"item\":item,\"in-container\":false,\"index\":index,\"active\":(item.id === _vm.activeElementId || item.id === _vm.activeContainerId) && _vm.editMode,\"mce-config\":_vm.mceConfig,\"agreement\":_vm.agreement,\"client-mode\":_vm.clientMode,\"edit-mode\":_vm.editMode,\"tokens\":_vm.tokens,\"signer\":_vm.signer,\"template-mode\":_vm.templateMode,\"page-width\":_vm.pageWidth,\"is-mobile\":_vm.isMobile},on:{\"delete\":function($event){return _vm.$emit('delete', $event)},\"signed\":function($event){return _vm.$emit('signed', $event)},\"change\":function($event){return _vm.$emit('change', $event)},\"container-item-update\":function($event){return _vm.$emit('container-item-update', $event)},\"container-item-signed\":function($event){return _vm.$emit('container-item-signed', $event)},\"click\":function($event){$event.stopPropagation();return _vm.$emit('edit', item)},\"add-container-element\":function($event){return _vm.addContainerElement($event)},\"container-item-click\":function($event){return _vm.$emit('container-item-click', $event)},\"drag-enabled\":function($event){return _vm.setDragEnabled($event)},\"move-up\":function($event){return _vm.moveUp(item, index)},\"move-down\":function($event){return _vm.moveDown(item, index)},\"add-element-above\":function($event){return _vm.handleAddElement(index, $event)},\"add-element-below\":function($event){return _vm.handleAddElement(index + 1, $event)}}})],1)}),0),(_vm.agreement.pages.length > 1)?_c('div',{staticClass:\"font-14 font-gray_70 mt-1 text-right page-number\",staticStyle:{\"margin-left\":\"30px\",\"margin-right\":\"30px\"}},[_vm._v(\" \"+_vm._s(_vm.pageIndex + 1)+\"/\"+_vm._s(_vm.agreement.pages.length)+\" \")]):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div\n\t\tstyle=\"width:100%\"\n\t\t:class=\"`page-wrapper column-format align-center ${isMobile ? 'px-0' : 'px-12'}`\"\n\t>\n\t\t<div\n\t\t\t:class=\"`page column-format ${agreement.styles.pageShadow ? 'shadow' : ''} ${layoutClass}`\"\n\t\t\t@drop=\"drop($event)\"\n\t\t\t@dragover=\"allowDrop($event)\"\n\t\t\t@click.stop=\"$emit('edit', null)\"\n\t\t\t:style=\"`--max-page-width: ${agreement.styles.maxWidth}px`\"\n\t\t>\n\t\t\t<div\n\t\t\t\tv-for=\"(item, index) in schema\"\n\t\t\t\t:key=\"item.id\"\n\t\t\t\t:id=\"'schemaWrapper-' + item.id\"\n\t\t\t\tstyle=\"width:100%\"\n\t\t\t\t@dragenter=\"handleDragEnter\"\n\t\t\t\t@dragleave=\"handleDragLeave\"\n\t\t\t\t:draggable=\"draggable && allowDrag\"\n\t\t\t\t@dragstart=\"reOrderDragStart\"\n\t\t\t>\n\t\t\t\t<item-renderer\n\t\t\t\t\t:ref=\"`item-${item.id}`\"\n\t\t\t\t\t:item=\"item\"\n\t\t\t\t\t:in-container=\"false\"\n\t\t\t\t\t:index=\"index\"\n\t\t\t\t\t:active=\"(item.id === activeElementId || item.id === activeContainerId) && editMode\"\n\t\t\t\t\t:mce-config=\"mceConfig\"\n\t\t\t\t\t:agreement=\"agreement\"\n\t\t\t\t\t:client-mode=\"clientMode\"\n\t\t\t\t\t:edit-mode=\"editMode\"\n\t\t\t\t\t:tokens=\"tokens\"\n\t\t\t\t\t:signer=\"signer\"\n\t\t\t\t\t:template-mode=\"templateMode\"\n\t\t\t\t\t:page-width=\"pageWidth\"\n\t\t\t\t\t:is-mobile=\"isMobile\"\n\t\t\t\t\t@delete=\"$emit('delete', $event)\"\n\t\t\t\t\t@signed=\"$emit('signed', $event)\"\n\t\t\t\t\t@change=\"$emit('change', $event)\"\n\t\t\t\t\t@container-item-update=\"$emit('container-item-update', $event)\"\n\t\t\t\t\t@container-item-signed=\"$emit('container-item-signed', $event)\"\n\t\t\t\t\t@click.stop=\"$emit('edit', item)\"\n\t\t\t\t\t@add-container-element=\"addContainerElement($event)\"\n\t\t\t\t\t@container-item-click=\"$emit('container-item-click', $event)\"\n\t\t\t\t\t@drag-enabled=\"setDragEnabled($event)\"\n\t\t\t\t\t@move-up=\"moveUp(item, index)\"\n\t\t\t\t\t@move-down=\"moveDown(item, index)\"\n\t\t\t\t\t@add-element-above=\"handleAddElement(index, $event)\"\n\t\t\t\t\t@add-element-below=\"handleAddElement(index + 1, $event)\"\n\t\t\t\t></item-renderer>\n\t\t\t</div>\n\t\t</div>\n\t\t<div\n\t\t\tv-if=\"agreement.pages.length > 1\"\n\t\t\tclass=\"font-14 font-gray_70 mt-1 text-right page-number\"\n\t\t\tstyle=\"margin-left: 30px; margin-right: 30px;\"\n\t\t>\n\t\t\t{{ pageIndex + 1 }}/{{ agreement.pages.length }}\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport { v4 as uuid4 } from 'uuid';\n\timport ItemRenderer from './ItemRenderer';\n\n\texport default {\n\t\tname: 'Page',\n\n\t\tprops: [\n\t\t\t'agreement',\n\t\t\t'pageIndex',\n\t\t\t'editItem',\n\t\t\t'mceConfig',\n\t\t\t'clientMode',\n\t\t\t'editMode',\n\t\t\t'tokens',\n\t\t\t'signer',\n\t\t\t'templateMode',\n\t\t\t'refreshKey',\n\t\t\t'pageWidth',\n\t\t],\n\n\t\tcomponents: { ItemRenderer },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tdropIndex: -1,\n\t\t\t\tallowDrag: true,\n\t\t\t\trefreshIndex: 0,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.$store.state.eventBus.$on('drag-enabled', this.setDragEnabled);\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t\tthis.$store.state.eventBus.$off('drag-enabled', this.setDragEnabled);\n\t\t},\n\n\t\tmethods: {\n\t\t\tmoveUp: function(item, index) {\n\t\t\t\tif (index > 0) {\n\t\t\t\t\tlet foundItem = this.getAndRemoveElement(item.id);\n\t\t\t\t\tthis.schema.splice(index - 1, 0, foundItem);\n\t\t\t\t} else if (index === 0 && this.pageIndex > 0) {\n\t\t\t\t\tlet foundItem = this.getAndRemoveElement(item.id);\n\t\t\t\t\tthis.agreement.pages[this.pageIndex - 1].schema.push(foundItem);\n\t\t\t\t}\n\n\t\t\t\tthis.focusItem(item);\n\t\t\t},\n\n\t\t\tmoveDown: function(item, index) {\n\t\t\t\tif (index < this.schema.length - 1) {\n\t\t\t\t\tlet foundItem = this.getAndRemoveElement(item.id);\n\t\t\t\t\tthis.schema.splice(index + 1, 0, foundItem);\n\t\t\t\t} else if (this.pageIndex < this.agreement.pages.length - 1) {\n\t\t\t\t\tlet foundItem = this.getAndRemoveElement(item.id);\n\t\t\t\t\tthis.agreement.pages[this.pageIndex + 1].schema.splice(0, 0, foundItem);\n\t\t\t\t}\n\n\t\t\t\tthis.focusItem(item);\n\t\t\t},\n\n\t\t\tfocusItem: function(item) {\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\tdocument\n\t\t\t\t\t\t.getElementById('schemaWrapper-' + item.id)\n\t\t\t\t\t\t.scrollIntoView({ behavior: 'smooth', block: 'center', inline: 'center' });\n\t\t\t\t\tthis.$emit('edit', item);\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tasync finalize() {\n\t\t\t\tfor (let i = 0; i < this.schema.length; i++) {\n\t\t\t\t\tif (typeof this.$refs['item-' + this.schema[i].id][0].finalize === 'function') {\n\t\t\t\t\t\tawait this.$refs['item-' + this.schema[i].id][0].finalize();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\tasync reset() {\n\t\t\t\tconsole.log('resetting page');\n\t\t\t\tfor (let i = 0; i < this.schema.length; i++) {\n\t\t\t\t\tif (typeof this.$refs['item-' + this.schema[i].id][0].reset === 'function') {\n\t\t\t\t\t\tawait this.$refs['item-' + this.schema[i].id][0].reset();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn true;\n\t\t\t},\n\n\t\t\tsetDragEnabled: function(dragEnabled) {\n\t\t\t\tthis.allowDrag = dragEnabled;\n\t\t\t},\n\n\t\t\treOrderDragStart: function(ev) {\n\t\t\t\tif (!this.draggable || !this.allowDrag) {\n\t\t\t\t\tev.preventDefault();\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet payload = {\n\t\t\t\t\ttype: 'ReOrder',\n\t\t\t\t\tid: ev.target.id.replace('schemaWrapper-', ''),\n\t\t\t\t};\n\n\t\t\t\tev.dataTransfer.setData('text', JSON.stringify(payload));\n\t\t\t},\n\n\t\t\tallowDrop: function(ev) {\n\t\t\t\tev.preventDefault();\n\t\t\t},\n\n\t\t\tgetId: function(element) {\n\t\t\t\treturn element.id ? element.id : '';\n\t\t\t},\n\n\t\t\thandleDragEnter: function(e) {\n\t\t\t\tlet el = e.target;\n\n\t\t\t\twhile (!this.getId(el).startsWith('schemaWrapper-')) {\n\t\t\t\t\tel = el.parentNode;\n\t\t\t\t}\n\n\t\t\t\tif (el.id && el.id.startsWith('schemaWrapper-')) {\n\t\t\t\t\tlet id = el.id.replace('schemaWrapper-', '');\n\t\t\t\t\tsetTimeout(() => (this.dropIndex = this.schema.findIndex((i) => i.id === id)), 50);\n\t\t\t\t\tel.classList.add('border-top');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandleDragLeave: function(e) {\n\t\t\t\tlet el = e.target;\n\t\t\t\tel.classList.remove('border-top');\n\n\t\t\t\tif (el.id && el.id.startsWith('schemaWrapper-')) {\n\t\t\t\t\tthis.dropIndex = -1;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tagreementHasElementOfType(type) {\n\t\t\t\tfor (let i = 0; i < this.agreement.pages.length; i++) {\n\t\t\t\t\tif (this.doesElementTypeExist(type, this.agreement.pages[i].schema)) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\tdoesElementTypeExist(type, elements) {\n\t\t\t\tfor (let i = 0; i < elements.length; i++) {\n\t\t\t\t\tif (elements[i].type === 'Container') {\n\t\t\t\t\t\tfor (let j = 0; j < elements[i].columnCount; j++) {\n\t\t\t\t\t\t\tif (this.doesElementTypeExist(type, elements[i].columns[j].items)) {\n\t\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t} else if (elements[i].type === type) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn false;\n\t\t\t},\n\n\t\t\tdrop: function(ev) {\n\t\t\t\tev.preventDefault();\n\t\t\t\tlet payload = JSON.parse(ev.dataTransfer.getData('text'));\n\t\t\t\tthis.handleDrop(payload);\n\t\t\t},\n\n\t\t\thandleAddElement: function(index, event) {\n\t\t\t\tthis.dropIndex = index;\n\t\t\t\tlet payload = {\n\t\t\t\t\ttype: 'New',\n\t\t\t\t\tid: event.type,\n\t\t\t\t\tprops: event.props,\n\t\t\t\t};\n\t\t\t\tthis.handleDrop(payload);\n\t\t\t},\n\n\t\t\thandleDrop: function(payload) {\n\t\t\t\tlet item = null;\n\n\t\t\t\tif (payload.type === 'New') {\n\t\t\t\t\tif (payload.props.allowSingleElement) {\n\t\t\t\t\t\tif (this.agreementHasElementOfType(payload.id)) {\n\t\t\t\t\t\t\tthis.$store.commit('error', `Only a single ${payload.id} element is allowed.`);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\titem = {\n\t\t\t\t\t\tid: uuid4(),\n\t\t\t\t\t\ttype: payload.id,\n\t\t\t\t\t};\n\n\t\t\t\t\tObject.assign(item, payload.props);\n\t\t\t\t} else if (payload.type === 'ReOrder') {\n\t\t\t\t\titem = this.getAndRemoveElement(payload.id);\n\t\t\t\t\tif (!item) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (this.dropIndex === -1) {\n\t\t\t\t\tthis.schema.push(item);\n\t\t\t\t} else {\n\t\t\t\t\tthis.schema.splice(this.dropIndex, 0, item);\n\t\t\t\t}\n\n\t\t\t\tif (payload.type === 'New') {\n\t\t\t\t\tthis.$emit('edit', item);\n\t\t\t\t}\n\n\t\t\t\tthis.schema.forEach((s) => {\n\t\t\t\t\tlet element = document.getElementById('schemaWrapper-' + s.id);\n\t\t\t\t\tif (element) {\n\t\t\t\t\t\telement.classList.remove('border-top');\n\t\t\t\t\t}\n\t\t\t\t});\n\n\t\t\t\tthis.dropIndex = -1;\n\t\t\t\tthis.$emit('save-state');\n\t\t\t},\n\n\t\t\taddContainerElement: function(event) {\n\t\t\t\tlet container = event.container;\n\t\t\t\tlet column = event.column;\n\t\t\t\tlet element = event.element;\n\n\t\t\t\tlet newElement = {\n\t\t\t\t\tid: uuid4(),\n\t\t\t\t\ttype: element.type,\n\t\t\t\t};\n\n\t\t\t\tObject.assign(newElement, element.props);\n\n\t\t\t\tlet ix = this.schema.findIndex((i) => i.id === container.id);\n\t\t\t\tcontainer.columns[column].items.push(newElement);\n\n\t\t\t\tthis.schema.splice(ix, 1, container);\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tthis.$emit('container-item-click', {\n\t\t\t\t\t\tcontainer: container,\n\t\t\t\t\t\titem: newElement,\n\t\t\t\t\t\tindex: container.columns[column].items.length - 1,\n\t\t\t\t\t});\n\t\t\t\t}, 100);\n\n\t\t\t\tthis.$emit('save-state');\n\t\t\t},\n\n\t\t\tgetAndRemoveElement(id) {\n\t\t\t\tlet ix = this.schema.findIndex((s) => s.id === id);\n\n\t\t\t\tif (ix > -1) {\n\t\t\t\t\tlet item = this.schema[ix];\n\t\t\t\t\tthis.schema.splice(ix, 1);\n\t\t\t\t\treturn item;\n\t\t\t\t}\n\n\t\t\t\tfor (let i = 0; i < this.agreement.pages.length; i++) {\n\t\t\t\t\tlet page = this.agreement.pages[i];\n\t\t\t\t\tix = page.schema.findIndex((s) => s.id === id);\n\t\t\t\t\tif (ix > -1) {\n\t\t\t\t\t\tlet item = page.schema[ix];\n\t\t\t\t\t\tpage.schema.splice(ix, 1);\n\t\t\t\t\t\treturn item;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn null;\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tisMobile: function(){\n\t\t\t\treturn this.pageWidth <= 800;\n\t\t\t},\n\n\t\t\tdraggable: function() {\n\t\t\t\treturn !this.clientMode && this.editMode;\n\t\t\t},\n\n\t\t\tschema: function() {\n\t\t\t\treturn this.agreement.pages[this.pageIndex].schema;\n\t\t\t},\n\n\t\t\tactiveElementId: function() {\n\t\t\t\treturn this.$store.state.agreementBuilderState.activeElementId;\n\t\t\t},\n\n\t\t\tactiveContainerId: function() {\n\t\t\t\treturn this.$store.state.agreementBuilderState.activeContainerId;\n\t\t\t},\n\n\t\t\tlayoutClass: function() {\n\t\t\t\tif (this.agreement.styles.pageSize === 'US_LETTER') {\n\t\t\t\t\treturn this.agreement.styles.landscape ? 'us_letter_landscape' : 'us_letter_portrait';\n\t\t\t\t} else if (this.agreement.styles.pageSize === 'A4_LETTER') {\n\t\t\t\t\treturn this.agreement.styles.landscape ? 'a4_letter_landscape' : 'a4_letter_portrait';\n\t\t\t\t} else {\n\t\t\t\t\treturn 'responsive_page';\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.border-top {\n\t\tpadding-top: 12px;\n\t\tborder-top: 1px solid var(--v-secondary-base) !important;\n\t}\n</style>\n\n<style lang=\"scss\">\n\t.shadow {\n\t\tfilter: drop-shadow(0px 0px 8px #bec4ca);\n\t}\n\n\t.us_letter_portrait {\n\t\twidth: 816px;\n\t\tmin-width: 816px;\n\t\tmax-width: 816px;\n\t\tmin-height: 1054px;\n\t}\n\n\t.us_letter_landscape {\n\t\twidth: 1054px;\n\t\tmin-width: 1054px;\n\t\tmax-width: 1054px;\n\t\tmin-height: 780px;\n\t}\n\n\t.a4_letter_portrait {\n\t\twidth: 794px;\n\t\tmin-width: 794px;\n\t\tmax-width: 794px;\n\t\tmin-height: 1123px;\n\t}\n\n\t.a4_letter_landscape {\n\t\twidth: 1123px;\n\t\tmin-width: 1123px;\n\t\tmax-width: 1123px;\n\t\tmin-height: 794px;\n\t}\n\n\t.responsive_page {\n\t\twidth: 100%;\n\t\tmax-width: var(--max-page-width);\n\t\tmin-height: 200px;\n\t}\n\n\t.page {\n\t\tflex-grow: 1;\n\t\tbackground: var(--page-color);\n\n\t\tmargin-top: 10px;\n\t\tmargin-left: 30px;\n\t\tmargin-right: 30px;\n\n\t\tfont-size: var(--body-size) !important;\n\t\tfont-weight: var(--body-weight) !important;\n\t\tcolor: var(--body-color) !important;\n\t\tfont-family: var(--body-font) !important;\n\t\tline-height: var(--body-height) !important;\n\n\t\t.v-label--is-disabled {\n\t\t\tcolor: var(--body-color) !important;\n\t\t}\n\n\t\t.theme--dark {\n\t\t\t.v-label,\n\t\t\t.v-input,\n\t\t\t.v-input input,\n\t\t\t.v-input textarea {\n\t\t\t\tcolor: var(--primary-brand-color)!important;\n\t\t\t}\n\t\t}\n\n\t\t.theme--dark.v-input--switch:not(.v-input--is-label-active) {\n\t\t\t.v-input--switch__track {\n\t\t\t\tcolor: var(--primary-brand-color)!important;\n\t\t\t\topacity: 0.1;\n\t\t\t}\n\t\t}\n\n\t\t.theme--dark.v-card {\n\t\t\tbackground-color: var(--v-page-color)!important;\n\t\t}\n\n\t\t.theme--dark.v-btn.v-btn--icon {\n\t\t\tcolor: rgba(0,0,0,.54)!important;\n\t\t}\n\n\t\t.theme--dark.v-btn.v-btn--disabled {\n\t\t\tcolor: rgba(0, 0, 0, .26) !important;\n\t\t}\n\n\t\t.theme--dark.v-date-picker-table th{\n\t\t\tbackground-color: var(--v-page-color)!important;\n\t\t\tcolor: rgba(0, 0, 0, .38) !important\n\t\t}\n\n\t\t.theme--dark.v-picker__body{\n\t\t\tbackground-color: var(--v-page-color)!important;\n\t\t}\n\n\t\t.theme--dark.v-btn.v-btn--disabled {\n\t\t\tcolor: rgba(0, 0, 0, .26) !important;\n\t\t}\n\n\t\t.theme--dark.v-input--switch.v-input--is-disabled:not(.v-input--is-dirty):not(.v-input--is-label-active) {\n\t\t\t.v-input--switch__thumb {\n\t\t\t\topacity: 0.1;\n\t\t\t}\n\t\t}\n\n\t\t.theme--dark.v-input--is-label-active {\n\t\t\topacity: 1;\n\t\t}\n\n\t\t.theme--dark.v-input--switch:not(.v-input--is-label-active) {\n\t\t\t.v-input--switch__thumb {\n\t\t\t\tcolor: var(--primary-brand-color) !important;\n\t\t\t}\n\t\t}\n\n\t\t.theme--dark.v-input--switch.v-input--is-disabled:not(.v-input--is-dirty) {\n\t\t\t.v-input--switch__track {\n\t\t\t\tcolor: var(--primary-brand-color) !important;\n\t\t\t\topacity: 0.1;\n\t\t\t}\n\t\t}\n\n\t\th1 {\n\t\t\tmargin: unset !important;\n\t\t\tfont-size: var(--h1-size) !important;\n\t\t\tfont-weight: var(--h1-weight) !important;\n\t\t\tcolor: var(--h1-color) !important;\n\t\t\tfont-family: var(--h1-font) !important;\n\t\t\tline-height: var(--h1-height) !important;\n\t\t}\n\t\th2 {\n\t\t\tmargin: unset !important;\n\t\t\tfont-size: var(--h2-size) !important;\n\t\t\tfont-weight: var(--h2-weight) !important;\n\t\t\tcolor: var(--h2-color) !important;\n\t\t\tfont-family: var(--h2-font) !important;\n\t\t\tline-height: var(--h2-height) !important;\n\t\t}\n\t\th3 {\n\t\t\tmargin: unset !important;\n\t\t\tfont-size: var(--h3-size) !important;\n\t\t\tfont-weight: var(--h3-weight) !important;\n\t\t\tcolor: var(--h3-color) !important;\n\t\t\tfont-family: var(--h3-font) !important;\n\t\t\tline-height: var(--h3-height) !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Page.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Page.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Page.vue?vue&type=template&id=11ee5d0c\"\nimport script from \"./Page.vue?vue&type=script&lang=js\"\nexport * from \"./Page.vue?vue&type=script&lang=js\"\nimport style0 from \"./Page.vue?vue&type=style&index=0&id=11ee5d0c&prod&lang=scss\"\nimport style1 from \"./Page.vue?vue&type=style&index=1&id=11ee5d0c&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","<template>\n\t<div class=\"agreement-builder\" v-if=\"agreement\" :key=\"agreement.id\" :style=\"`--v-zoom: ${zoom / 100}; ${styles}`\">\n\t\t<div class=\"header-area px-3\">\n\t\t\t<div class=\"header-left\" v-if=\"$vuetify.breakpoint.mdAndUp\">\n\t\t\t\t<span :style=\"`font-family: '${agreement.styles.h1.fontFamily}'; font-weight:600; font-size: 20px`\">{{\n\t\t\t\t\tagreement.name\n\t\t\t\t}}</span>\n\t\t\t\t<div class=\"row-format align-center ml-2 pointer\" @click=\"openPrint()\">\n\t\t\t\t\t<v-icon class=\"material-symbols-outlined\" size=\"20\" :color=\"agreement.styles.h1.color\">print</v-icon>\n\t\t\t\t\t<v-icon class=\"material-symbols-outlined\" size=\"20\" :color=\"agreement.styles.h1.color\">picture_as_pdf</v-icon>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"header-right\" v-if=\"signer\">\n\t\t\t\t<div class=\"font-weight-medium\" style=\"color:red; text-decoration: underline\" v-if=\"showFinishWarning\">\n\t\t\t\t\t<v-icon color=\"red\" size=\"48\">arrow_right_alt</v-icon>\n\t\t\t\t</div>\n\t\t\t\t<v-btn v-if=\"!signer.locked\" class=\"super-action ml-2\" @click=\"finalize\"\n\t\t\t\t\t><span class=\"px-6\" :style=\"`font-family: '${agreement.styles.h1.fontFamily}';font-size:16px`\">{{\n\t\t\t\t\t\tagreement.settings.finishedButton ? agreement.settings.finishedButton : 'Finish'\n\t\t\t\t\t}}</span>\n\t\t\t\t</v-btn>\n\t\t\t\t<v-btn v-else class=\"super-action ml-2\" disabled>\n\t\t\t\t\t<v-icon>done_all</v-icon>\n\t\t\t\t\t<span :style=\"`font-family: '${agreement.styles.h1.fontFamily}';font-size:16px`\"\n\t\t\t\t\t\t>&nbsp; {{ DateTime.fromISO(signer.timestamp).toLocaleString(DateTime.DATETIME_MED) }}</span\n\t\t\t\t\t>\n\t\t\t\t</v-btn>\n\t\t\t</div>\n\t\t</div>\n\t\t<div style=\"height: calc(100% - 50px);\" class=\"row-format\">\n\t\t\t<div\n\t\t\t\tclass=\"column-format pb-3 px-2\"\n\t\t\t\tv-if=\"indexedPages.length && $vuetify.breakpoint.mdAndUp\"\n\t\t\t\tstyle=\"border-right: 1px solid var(--v-gray_30-base); height: 100%; max-height: 100%; background-color: var(--v-white-base); min-width: 250px; max-width: 250px\"\n\t\t\t>\n\t\t\t\t<ul class=\"text-left font-14 py-2\">\n\t\t\t\t\t<li\n\t\t\t\t\t\tv-for=\"page in indexedPages\"\n\t\t\t\t\t\t:key=\"page.index\"\n\t\t\t\t\t\tclass=\"pointer py-1 font-16 nav-link\"\n\t\t\t\t\t\t:style=\"\n\t\t\t\t\t\t\t`border-bottom: 1px solid var(--v-gray_30-base); font-family: '${agreement.styles.h1.fontFamily}';`\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t@click=\"scrollToPage(page.index)\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ page.title }}\n\t\t\t\t\t</li>\n\t\t\t\t</ul>\n\t\t\t</div>\n\t\t\t<div style=\"max-height: calc(100vh - 50px); width:100%; overflow-y: scroll\" class=\"show-scrollbar\" id=\"page-area\">\n\t\t\t\t<div class=\"zoom\" style=\"min-width: fit-content; width:100%; overflow-x: scroll\">\n\t\t\t\t\t<div id=\"print-area\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-for=\"(page, index) in agreement.pages\"\n\t\t\t\t\t\t\t:key=\"page.id\"\n\t\t\t\t\t\t\t:id=\"`page-${index}`\"\n\t\t\t\t\t\t\tclass=\"column-format centered\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<page\n\t\t\t\t\t\t\t\t:id=\"`page-${index}`\"\n\t\t\t\t\t\t\t\t:ref=\"`page-${index}`\"\n\t\t\t\t\t\t\t\t:page-index=\"index\"\n\t\t\t\t\t\t\t\t:agreement=\"agreement\"\n\t\t\t\t\t\t\t\t:mce-config=\"{}\"\n\t\t\t\t\t\t\t\t:client-mode=\"clientMode\"\n\t\t\t\t\t\t\t\t:signer=\"signer\"\n\t\t\t\t\t\t\t\t:edit-mode=\"false\"\n\t\t\t\t\t\t\t\t:template-mode=\"false\"\n\t\t\t\t\t\t\t\t:tokens=\"tokens\"\n\t\t\t\t\t\t\t\t:page-width=\"pageWidth\"\n\t\t\t\t\t\t\t\t@container-item-signed=\"itemSigned(page, $event)\"\n\t\t\t\t\t\t\t\t@signed=\"itemSigned(page, $event)\"\n\t\t\t\t\t\t\t></page>\n\t\t\t\t\t\t\t<div class=\"page-break\"></div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"row-format centered my-4\" v-if=\"signer\">\n\t\t\t\t\t\t<v-btn v-if=\"!signer.locked\" large class=\"super-action\" @click=\"finalize\"\n\t\t\t\t\t\t\t><span class=\"px-10\" :style=\"`font-family: '${agreement.styles.h1.fontFamily}';font-size:16px`\">{{\n\t\t\t\t\t\t\t\tagreement.settings.finishedButton ? agreement.settings.finishedButton : 'Finish'\n\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div\n\t\t\tstyle=\"position: absolute; bottom: 20px; right: 20px\"\n\t\t\tclass=\"row-format align-center\"\n\t\t\tv-if=\"agreement.styles.pageSize !== 'RESPONSIVE'\"\n\t\t>\n\t\t\t<div class=\"font-12\">{{ zoom }}%</div>\n\t\t\t<v-icon class=\"pointer\" @click=\"zoomIn()\" size=\"24\">zoom_in</v-icon>\n\t\t\t<v-icon class=\"pointer\" @click=\"zoomOut()\" size=\"24\">zoom_out</v-icon>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport { DateTime } from 'luxon';\n\timport Page from '@/modules/agreements/schema/Page';\n\timport AgreementMixin from '@/modules/agreements/schema/AgreementMixin';\n\timport ConfirmModal from '@/components/ConfirmModal';\n\n\texport default {\n\t\tname: 'AgreementRenderer',\n\n\t\tprops: ['agreement', 'signer', 'showFinishWarning'],\n\n\t\tmixins: [AgreementMixin],\n\n\t\tcomponents: { Page },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tzoom: 100,\n\t\t\t\tDateTime: DateTime,\n\t\t\t\tpageWidth: 0,\n\t\t\t\tresizeObserver: null,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.initializeZoom();\n\t\t\taddEventListener('resize', () => this.initializeZoom());\n\n\t\t\tthis.resizeObserver = new ResizeObserver(() => {\n\t\t\t\tthis.setPageWidth();\n\t\t\t});\n\n\t\t\tthis.$nextTick(() => this.listenForPageChanges());\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t\tthis.resizeObserver.unobserve(document.getElementById('page-area'));\n\t\t},\n\n\t\tmethods: {\n\t\t\tlistenForPageChanges: function() {\n\t\t\t\tthis.$nextTick(() => {\n\t\t\t\t\tthis.resizeObserver.observe(document.getElementById('page-area'));\n\t\t\t\t\tthis.setPageWidth();\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tsetPageWidth: function() {\n\t\t\t\tconst page = document.getElementById('page-area');\n\t\t\t\tthis.pageWidth = page.offsetWidth;\n\t\t\t},\n\n\t\t\topenPrint: function() {\n\t\t\t\twindow.print();\n\t\t\t},\n\n\t\t\tasync finalize() {\n\t\t\t\ttry {\n          delete this.agreement.fileUploads;\n\n          if(this.agreement.settings.requireMinimumPackageSelection){\n            let selectedPackages = this.getSelectedPackages(this.agreement);\n            if(selectedPackages.length === 0){\n              this.$store.commit('error',this.agreement.settings.noPackageSelectionError);\n              return;\n            }\n          }\n\n\t\t\t\t\tfor (let i = 0; i < this.agreement.pages.length; i++) {\n\t\t\t\t\t\tawait this.$refs['page-' + i][0].finalize();\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.$emit('finalize');\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tconsole.log('Error finalizing agreement: ' + err);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tasync reset() {\n\t\t\t\ttry {\n          delete this.agreement.fileUploads;\n\n\t\t\t\t\tfor (let i = 0; i < this.agreement.pages.length; i++) {\n\t\t\t\t\t\tawait this.$refs['page-' + i][0].reset();\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t\tconsole.log('Error resetting agreement: ' + err);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandlePostSignature: function() {\n\t\t\t\tif (this.agreement.settings.signedConfirmationMessage) {\n\t\t\t\t\tlet binding = {\n\t\t\t\t\t\tbodyText: this.agreement.settings.signedConfirmationMessage,\n\t\t\t\t\t\thideNo: true,\n\t\t\t\t\t\tyesText: 'OK',\n\t\t\t\t\t};\n\t\t\t\t\tthis.$store.state.globalModalController.openModal(ConfirmModal, binding).then(() => {\n\t\t\t\t\t\tthis.handleOptionalRedirect();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.handleOptionalRedirect();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandleOptionalRedirect: function() {\n\t\t\t\tif (this.agreement.settings.redirectUrl) {\n\t\t\t\t\twindow.location.href = this.agreement.settings.redirectUrl;\n\t\t\t\t} else {\n\t\t\t\t\tsetTimeout(() => window.location.reload(), 5000);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\titemSigned: function(page, item) {\n\t\t\t\tlet signer = item.signer;\n\t\t\t\tlet signature = item.signature;\n\t\t\t\t//signature.containerTarget = item.containerTarget;\n\n\t\t\t\tlet signerIx = this.agreement.signers.findIndex((s) => s.id === signer.id);\n\t\t\t\tlet signerRecord = this.agreement.signers[signerIx];\n\t\t\t\tsignerRecord.signature = signer.signature;\n\t\t\t\tsignerRecord.signatureType = signer.signatureType;\n\t\t\t\tsignerRecord.initials = signer.initials;\n\t\t\t\tsignerRecord.title = signer.title;\n\t\t\t\tsignerRecord.timestamp = DateTime.now().toISO();\n\t\t\t\tthis.agreement.signers.splice(signerIx, 1, signerRecord);\n\n\t\t\t\tif (signature.signedBy.indexOf(signer.id) === -1) {\n\t\t\t\t\tsignature.signedBy.push(signer.id);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tscrollToPage: function(index) {\n\t\t\t\tdocument.getElementById(`page-${index}`).scrollIntoView({ block: 'start', behavior: 'smooth' });\n\t\t\t},\n\n\t\t\tzoomIn: function() {\n\t\t\t\tthis.zoom = this.zoom + 10;\n\t\t\t},\n\n\t\t\tzoomOut: function() {\n\t\t\t\tif (this.zoom > 10) {\n\t\t\t\t\tthis.zoom = this.zoom - 10;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandleGestureEvent: function(e) {\n\t\t\t\tconsole.log(e);\n\t\t\t\tconsole.log(e.scale);\n\t\t\t\t// node.addEventListener('gestureend', function(e) {\n\t\t\t\t//   if (e.scale < 1.0) {\n\t\t\t\t//     // User moved fingers closer together\n\t\t\t\t//   } else if (e.scale > 1.0) {\n\t\t\t\t//     // User moved fingers further apart\n\t\t\t\t//   }\n\t\t\t\t// }, false);\n\t\t\t},\n\n\t\t\tinitializeZoom: function() {\n\t\t\t\tif (this.agreement.styles.pageSize === 'RESPONSIVE') {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlet browserWidth = document.getElementById('page-area').offsetWidth;\n\n\t\t\t\tlet targetZoom = parseInt((browserWidth / this.widthInPixels) * 100, 10) - 5;\n\t\t\t\tif (targetZoom <= 100) {\n\t\t\t\t\tthis.zoom = targetZoom;\n\t\t\t\t\tsetTimeout(() => {\n\t\t\t\t\t\tlet pageArea = document.getElementById('page-area');\n\t\t\t\t\t\tpageArea.scrollLeft = (pageArea.scrollWidth - pageArea.clientWidth) / 2;\n\t\t\t\t\t}, 500);\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n\t\t\t'$vuetify.breakpoint.mdAndUp': function() {\n\t\t\t\tthis.$nextTick(() => this.initializeZoom());\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\ttokens: function() {\n\t\t\t\treturn this.getTokensFromAgreement(this.agreement);\n\t\t\t},\n\n\t\t\twidthInPixels: function() {\n\t\t\t\tif (this.agreement.styles.pageSize === 'US_LETTER') {\n\t\t\t\t\treturn this.agreement.styles.landscape ? 1054 : 816;\n\t\t\t\t} else {\n\t\t\t\t\treturn this.agreement.styles.landscape ? 1123 : 794;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tindexedPages: function() {\n\t\t\t\tlet result = [];\n\t\t\t\tthis.agreement.pages.forEach((p, index) => {\n\t\t\t\t\tresult.push({ title: p.title, index: index });\n\t\t\t\t});\n\t\t\t\treturn result.filter((r) => r.title);\n\t\t\t},\n\n\t\t\tstyles: function() {\n\t\t\t\tlet body = this.agreement.styles.body;\n\t\t\t\tlet h1 = this.agreement.styles.h1;\n\t\t\t\tlet h2 = this.agreement.styles.h2;\n\t\t\t\tlet h3 = this.agreement.styles.h3;\n\t\t\t\tlet baseCSS = `--primary-brand-color: ${this.$store.getters.getCustomBranding.primaryColor}; --canvas-color: ${this.agreement.styles.canvasColor}; --page-color: ${this.agreement.styles.pageColor}; `;\n\t\t\t\tlet bodyCSS = `--body-size: ${body.fontSize}px; --body-weight: ${body.fontWeight}; --body-font: \"${body.fontFamily}\"; --body-color: ${body.color}; --body-height: ${body.lineHeight}; `;\n\t\t\t\tlet h1CSS = `--h1-size: ${h1.fontSize}px; --h1-weight: ${h1.fontWeight}; --h1-font: \"${h1.fontFamily}\"; --h1-color: ${h1.color}; --h1-height: ${h1.lineHeight};  `;\n\t\t\t\tlet h2CSS = `--h2-size: ${h2.fontSize}px; --h2-weight: ${h2.fontWeight}; --h2-font: \"${h2.fontFamily}\"; --h2-color: ${h2.color}; --h2-height: ${h2.lineHeight};  `;\n\t\t\t\tlet h3CSS = `--h3-size: ${h3.fontSize}px; --h3-weight: ${h3.fontWeight}; --h3-font: \"${h3.fontFamily}\"; --h3-color: ${h3.color}; --h3-height: ${h3.lineHeight};  `;\n\n\t\t\t\treturn baseCSS + bodyCSS + h1CSS + h2CSS + h3CSS;\n\t\t\t},\n\n\t\t\tclientMode: function() {\n\t\t\t\treturn this.signer && this.signer.signerType === 'CLIENT';\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t@media print {\n\t\tbody {\n\t\t\tvisibility: hidden;\n\t\t}\n\t\t#print-area {\n\t\t\tvisibility: visible;\n\t\t\tposition: absolute;\n\t\t\tleft: 0;\n\t\t\ttop: 0;\n\n\t\t\t.page {\n\t\t\t\tmargin: 0 !important;\n\t\t\t\twidth: 100% !important;\n\t\t\t\theight: 100% !important;\n\t\t\t}\n\n\t\t\t.page-wrapper {\n\t\t\t\tpadding-top: 12px !important;\n\t\t\t}\n\n\t\t\t.page-number {\n\t\t\t\tdisplay: none;\n\t\t\t}\n\n\t\t\t.shadow {\n\t\t\t\tfilter: none !important;\n\t\t\t}\n\t\t}\n\n\t\t.page-break {\n\t\t\tpage-break-after: always;\n\t\t\tpage-break-inside: avoid;\n\t\t}\n\t}\n</style>\n\n<style scoped lang=\"scss\">\n\t.nav-link {\n\t\t&:hover {\n\t\t\tcolor: var(--v-primary-base);\n\t\t}\n\t}\n\n\t@media screen {\n\t\t.zoom {\n\t\t\ttransform: scale(var(--v-zoom));\n\t\t\ttransform-origin: top;\n\t\t}\n\t}\n\n\t.agreement-builder {\n\t\tbackground-color: var(--canvas-color);\n\t\theight: var(--vh);\n\t\t.header-area {\n\t\t\theight: 50px;\n\t\t\twidth: 100%;\n\t\t\tbackground: var(--v-white-base);\n\t\t\tborder-bottom: 1px solid var(--v-gray_30-base);\n\t\t\t// Needed for sticky positioning\n\t\t\tposition: sticky;\n\t\t\tposition: -webkit-sticky;\n\t\t\ttop: 0;\n\t\t\tz-index: 203;\n\t\t\t// end sticky\n\n\t\t\tdisplay: flex;\n\t\t\tjustify-content: space-between;\n\t\t\talign-items: center;\n\n\t\t\t.header-left {\n\t\t\t\ttext-align: left;\n\t\t\t\tdisplay: flex;\n\t\t\t\talign-items: center;\n\t\t\t\tjustify-items: flex-start;\n\t\t\t\t& > div {\n\t\t\t\t\tdisplay: flex;\n\t\t\t\t\talign-items: center;\n\t\t\t\t\tjustify-items: flex-start;\n\t\t\t\t}\n\t\t\t\tbutton,\n\t\t\t\tdiv {\n\t\t\t\t\t&:hover {\n\t\t\t\t\t\tcolor: var(--v-black-base);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\t.header-right {\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: flex-end;\n\t\t\t\talign-items: center;\n\n\t\t\t\tdiv {\n\t\t\t\t\tflex: 0 0 auto;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRenderer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRenderer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AgreementRenderer.vue?vue&type=template&id=4e265570&scoped=true\"\nimport script from \"./AgreementRenderer.vue?vue&type=script&lang=js\"\nexport * from \"./AgreementRenderer.vue?vue&type=script&lang=js\"\nimport style0 from \"./AgreementRenderer.vue?vue&type=style&index=0&id=4e265570&prod&lang=scss\"\nimport style1 from \"./AgreementRenderer.vue?vue&type=style&index=1&id=4e265570&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"4e265570\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","import HttpClient from '@/services/HttpClient';\n\nexport default class AgreementViewerService {\n\tconstructor(podUrl, token, secretKey) {\n\t\tthis.token = token;\n\t\tthis.podUrl = podUrl;\n\t\tthis.secretKey = secretKey;\n\t\tthis.httpClient = new HttpClient(podUrl, false);\n\t}\n\n\tgetAgreement() {\n\t\treturn this.httpClient\n\t\t\t.get(`/api/docs/agreement`, {\n\t\t\t\tparams: {\n\t\t\t\t\ttoken: this.token,\n\t\t\t\t\tsecretKey: this.secretKey,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tupdatePaymentIntent(amount) {\n\t\treturn this.httpClient\n\t\t\t.get(`/api/docs/agreement/paymentIntent`, {\n\t\t\t\tparams: {\n\t\t\t\t\ttoken: this.token,\n\t\t\t\t\tamount: amount,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tfinalizeAgreement(agreement) {\n\t\treturn this.httpClient\n\t\t\t.post(`/api/docs/agreement`, agreement, {\n\t\t\t\tparams: {\n\t\t\t\t\ttoken: this.token,\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\n\tfinalizeAgreementFormData(agreement){\n\t\tlet formData = new FormData();\n\t\tformData.append('agreement', JSON.stringify(agreement));\n\t\tformData.append('token', this.token);\n\n\t\tif(agreement.fileUploads) {\n\t\t\tlet fileUploads = agreement.fileUploads;\n\t\t\tfileUploads.forEach((a) => {\n\t\t\t\tformData.append('files', a);\n\t\t\t});\n\t\t\tdelete agreement.fileUploads;\n\t\t}\n\n\t\treturn this.httpClient\n\t\t\t.post(`/api/docs/agreement/form-data`, formData, {\n\t\t\t\theaders: {\n\t\t\t\t\t'Content-Type': 'multipart/form-data',\n\t\t\t\t},\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n}\n","<template>\n\t<agreement-renderer\n\t\tref=\"AgreementRenderer\"\n\t\t:agreement=\"agreement\"\n\t\t:signer=\"signer\"\n\t\tv-if=\"agreement\"\n\t\t@finalize=\"submitFinalized\"\n\t\t:show-finish-warning=\"showWarning\"\n\t></agreement-renderer>\n</template>\n\n<script>\n\timport AgreementRenderer from '@/modules/agreements/AgreementRenderer';\n\timport AgreementViewerService from '@/modules/agreements/viewer/AgreementViewerService';\n\timport AgreementMixin from '@/modules/agreements/schema/AgreementMixin';\n\n\texport default {\n\t\tname: 'AgreementViewer',\n\n\t\tprops: ['id', 'secretKey'],\n\t\tmixins: [AgreementMixin],\n\n\t\tcomponents: { AgreementRenderer },\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tagreement: null,\n\t\t\t\tsigner: null,\n\t\t\t\tfinalized: false,\n\t\t\t\tshowWarning: false,\n\t\t\t\tviewerService: new AgreementViewerService(this.$store.state.domain.podUrl, this.id, this.secretKey),\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n      this.$vuetify.theme.dark = false;\n\t\t\tsetTimeout(() => (this.$vuetify.theme.dark = false), 50);\n\t\t\tthis.getAgreement();\n\n\t\t\twindow.addEventListener('beforeunload', (event) => this.checkFinalized(event));\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tcheckFinalized: function (event) {\n\t\t\t\tif (!this.finalized) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tevent.returnValue = false;\n\t\t\t\t\tsetTimeout(() => (this.showWarning = true), 1000);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tgetAgreement: function () {\n\t\t\t\tthis.viewerService\n\t\t\t\t\t.getAgreement()\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tthis.agreement = res.data.agreement;\n\t\t\t\t\t\tthis.signer = res.data.signer;\n\t\t\t\t\t\tthis.$store.state.clientFields = res.data.clientFields;\n\t\t\t\t\t\tthis.$store.state.contactFields = res.data.contactFields;\n\t\t\t\t\t\tthis.$store.state.pipelineFields = res.data.pipelineFields;\n\t\t\t\t\t\tthis.loadFonts(this.agreement);\n\t\t\t\t\t})\n\t\t\t\t\t.catch(() => this.$router.push('/NotFound'));\n\t\t\t},\n\n\t\t\tasync submitFinalized() {\n\t\t\t\tthis.$store.commit('startLoading');\n\n\t\t\t\tif (this.$store.state.agreementPaymentElement) {\n\t\t\t\t\tlet result = await this.$store.state.agreementPaymentElement.processPayment();\n\t\t\t\t\tif (result && result.status !== 'succeeded' && result.status !== 'processing') {\n            this.$store.commit('stopLoading');\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tthis.viewerService\n\t\t\t\t\t.finalizeAgreementFormData(this.agreement)\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tthis.agreement = res.data.agreement;\n\t\t\t\t\t\tthis.signer = res.data.signer;\n\t\t\t\t\t\tthis.$refs.AgreementRenderer.handlePostSignature();\n\t\t\t\t\t\tthis.finalized = true;\n\t\t\t\t\t\tthis.showWarning = false;\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tthis.$store.commit('error', err.response.data.message);\n\t\t\t\t\t\tthis.$refs.AgreementRenderer.reset();\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => this.$store.commit('stopLoading'));\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementViewer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementViewer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./AgreementViewer.vue?vue&type=template&id=551bb28d&scoped=true\"\nimport script from \"./AgreementViewer.vue?vue&type=script&lang=js\"\nexport * from \"./AgreementViewer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"551bb28d\",\n  null\n  \n)\n\nexport default component.exports","import AgreementViewer from '@/modules/agreements/viewer/AgreementViewer';\n\nexport default [\n\t{\n\t\tpath: '/document/:id',\n\t\tname: 'Agreement',\n\t\tcomponent: AgreementViewer,\n\t\tprops: (route) => ({ id: route.params.id, secretKey: route.query.secretKey }),\n\t\tmeta: {\n\t\t\tinsecure: true,\n\t\t},\n\t},\n]","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{key:_vm.$store.getters.getClientId,staticClass:\"pa-4\"},[_c('domain-root',{attrs:{\"type\":\"Client\",\"id\":_vm.$store.getters.getClientId,\"show-deleted\":_vm.showDeleted,\"read-only\":true}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div :key=\"$store.getters.getClientId\" class=\"pa-4\">\n\t\t<domain-root type=\"Client\" :id=\"$store.getters.getClientId\" :show-deleted=\"showDeleted\" :read-only=\"true\"></domain-root>\n\t</div>\n</template>\n\n<script>\n\timport DomainRoot from '@/modules/files/DomainRoot';\n\n\texport default {\n\t\tname: 'MainFileSystem',\n\n\t\tprops: [],\n\n\t\tcomponents: { DomainRoot },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tshowDeleted: true,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainFileSystem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MainFileSystem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./MainFileSystem.vue?vue&type=template&id=6e7e4b41&scoped=true\"\nimport script from \"./MainFileSystem.vue?vue&type=script&lang=js\"\nexport * from \"./MainFileSystem.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"6e7e4b41\",\n  null\n  \n)\n\nexport default component.exports","import Vue from 'vue';\nimport VueRouter from 'vue-router';\nimport NotFound from '../views/NotFound.vue';\nimport Login from '@/modules/auth/Login';\nimport store from '../store';\nimport WelcomePage from '@/modules/welcome/WelcomePage';\nimport MagicToken from '@/modules/auth/MagicToken';\nimport LogOut from '@/modules/auth/LogOut';\nimport Loader from '@/modules/auth/Loader';\nimport InvoiceRoutes from '@/modules/invoices/InvoiceRoutes';\nimport TimeWorkedRoutes from '@/modules/timetracking/TimeWorkedRoutes';\nimport ProposalRoutes from '@/modules/proposal/ProposalRoutes';\nimport ProjectRoutes from '@/modules/projects/ProjectRoutes';\nimport MeetingRoutes from '@/modules/meetings/MeetingRoutes';\nimport FormRoutes from '@/modules/forms/FormRoutes';\nimport SubscriptionRoutes from '@/modules/subscriptions/SubscriptionRoutes';\nimport TicketRoutes from '@/modules/tickets/TicketRoutes';\nimport PublicRouter from '@/modules/public/PublicRouter';\nimport CustomPage from '@/modules/custom/CustomPage';\nimport DiscoveryForm from '@/modules/forms/DiscoveryForm';\nimport AgreementRoutes from '@/modules/agreements/AgreementRoutes';\nimport MainFileSystem from '@/modules/files/MainFileSystem';\n\nVue.use(VueRouter);\n\nconst baseRoutes = [\n\t{\n\t\tpath: '/loader',\n\t\tname: 'loader',\n\t\tcomponent: Loader,\n\t\tmeta: {\n\t\t\tinsecure: true,\n\t\t\tinitState: true,\n\t\t},\n\t},\n\t{\n\t\tpath: '/login',\n\t\tname: 'Login',\n\t\tcomponent: Login,\n\t\tmeta: {\n\t\t\tinsecure: true,\n\t\t},\n\t},\n\t{\n\t\tpath: '/magicToken',\n\t\tname: 'MagicToken',\n\t\tcomponent: MagicToken,\n\t\tmeta: {\n\t\t\tinsecure: true,\n\t\t\tinitState: true,\n\t\t},\n\t},\n\t{\n\t\tpath: '/logout',\n\t\tname: 'LogOut',\n\t\tcomponent: LogOut,\n\t},\n\t{\n\t\tpath: '/',\n\t\tredirect: '/welcome',\n\t},\n\t{\n\t\tpath: '/welcome',\n\t\tname: 'Welcome',\n\t\tcomponent: WelcomePage,\n\t},\n\t{\n\t\tpath: '/files',\n\t\tname: 'Files',\n\t\tcomponent: MainFileSystem,\n\t},\n\t{\n\t\tpath: '/discovery',\n\t\tname: 'Discovery',\n\t\tcomponent: DiscoveryForm,\n\t\tmeta: {\n\t\t\tinsecure: true,\n\t\t},\n\t},\n\t{\n\t\tpath: '/public/*',\n\t\tname: 'Public',\n\t\tcomponent: PublicRouter,\n\t\tprops: true,\n\t\tmeta: {\n\t\t\tinsecure: true,\n\t\t},\n\t},\n\t{\n\t\tpath: '/pages/:slug',\n\t\tname: 'Custom',\n\t\tcomponent: CustomPage,\n\t\tprops: true,\n\t},\n\t{\n\t\tpath: '*',\n\t\tname: 'NotFound',\n\t\tcomponent: NotFound,\n\t\tmeta: {\n\t\t\tinsecure: true,\n\t\t},\n\t},\n];\n\nconst routes = baseRoutes.concat(\n\tInvoiceRoutes,\n\tTimeWorkedRoutes,\n\tProposalRoutes,\n\tProjectRoutes,\n\tMeetingRoutes,\n\tFormRoutes,\n\tSubscriptionRoutes,\n\tTicketRoutes,\n\tAgreementRoutes\n);\n\nconst router = new VueRouter({\n\tmode: 'history',\n\tbase: process.env.BASE_URL,\n\troutes,\n});\n\nrouter.beforeEach((to, from, next) => {\n\tif(to.meta.insecure){\n\t\tnext();\n\t}else if (!store.state.initialized) {\n\t\tif (to.meta.initState) {\n\t\t\tnext();\n\t\t} else {\n\t\t\tstore.commit('setOrigRequestedUri', to.fullPath);\n\t\t\tnext('/loader');\n\t\t}\n\t} else {\n\t\tif (store.state.isLoggedIn) {\n\t\t\tnext();\n\t\t} else {\n\t\t\tnext('/login');\n\t\t}\n\t}\n});\n\nexport default router;\n","import { DateTime, Interval, Duration } from 'luxon';\n\nexport default {\n\t/**\n\t * Vue\n\t * @param {Vue} Vue\n\t */\n\tinstall(Vue) {\n\t\tObject.defineProperties(Vue.prototype, {\n\t\t\t$luxon: {\n\t\t\t\tget() {\n\t\t\t\t\treturn { DateTime, Interval, Duration };\n\t\t\t\t},\n\t\t\t},\n\t\t\t$DateTime: {\n\t\t\t\tget() {\n\t\t\t\t\treturn DateTime;\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t\t// Shortcuts for common functions\n\t\tVue.prototype.$DateTime.shortDate = function(date) {\n\t\t\tif (!date) return '';\n\t\t\treturn this.fromISO(date).toLocaleString(DateTime.DATE_MED);\n\t\t};\n\t\tVue.prototype.$DateTime.longDate = function(date) {\n\t\t\tif (!date) return '';\n\t\t\treturn this.fromISO(date).toLocaleString(DateTime.DATE_FULL);\n\t\t};\n\t\tVue.prototype.$DateTime.dateTime = function(date) {\n\t\t\tif (!date) return '';\n\t\t\treturn this.fromISO(date).toLocaleString(DateTime.DATETIME_FULL_WITH_SECONDS);\n\t\t};\n\n\t\t// Takes human time input and returns an object comprised of hour, minute, second (or null if we can't understand the input)\n\t\tVue.prototype.$DateTime.parseHumanTime = function(input) {\n\t\t\tlet cleaned = ('' + input).trim().replace(/[^0-9: amp]/gi, '');\n\t\t\tlet m = cleaned.match(/^(\\d{1,2})(:(\\d{1,2})|)(:(\\d{1,2})|) *((a|p)m?|)$/i);\n\t\t\tif (m) {\n\t\t\t\tlet time = { hour: parseInt(m[1] ?? 0), minute: parseInt(m[3] ?? 0), second: parseInt(m[5] ?? 0) };\n\t\t\t\tif (m[6].match(/PM?/i) && time.hour < 12) time.hour = time.hour + 12; // m[5] is AM or PM\n\t\t\t\t// if (time.minute == undefined) time.minute = 0;\n\t\t\t\t// if (time.second == undefined) time.second = 0;\n\t\t\t\treturn time;\n\t\t\t}\n\t\t\treturn;\n\t\t};\n\n\t\tVue.prototype.$DateTime.humanDateTime = function(date, alwaysShowTime = false) {\n\t\t\tif (!date) return '';\n\t\t\tconst parsed = this.fromISO(date);\n\t\t\tconst relative = parsed.toRelativeCalendar({});\n\n\t\t\tif (['today', 'yesterday', 'tomorrow'].indexOf(relative) > -1) {\n\t\t\t\treturn relative.slice(0, 1).toUpperCase() + relative.slice(1) + ' ' + parsed.toLocaleString(DateTime.TIME_SIMPLE);\n\t\t\t}\n\n\t\t\tconst local = this.local();\n\t\t\tlet interval;\n\t\t\tif (local > parsed) interval = Interval.fromDateTimes(parsed, local);\n\t\t\telse interval = Interval.fromDateTimes(local, parsed);\n\n\t\t\tconst daysDiff = interval.length('days');\n\n\t\t\tlet showTime = alwaysShowTime;\n\t\t\tif (daysDiff > -91 && daysDiff < 91) {\n\t\t\t\tshowTime = true;\n\t\t\t}\n\t\t\tlet format = { month: 'short', day: 'numeric' };\n\t\t\tif (local.hasSame(parsed, 'week')) format.week = 'short';\n\t\t\tif (!local.hasSame(parsed, 'year')) format.year = 'numeric';\n\t\t\tif (showTime) {\n\t\t\t\tformat.hour = 'numeric';\n\t\t\t\tformat.minute = '2-digit';\n\t\t\t}\n\n\t\t\treturn parsed.toLocaleString(format);\n\t\t};\n\n\t\t/* date can be a date object or ISO */\n\t\tVue.prototype.$DateTime.humanDate = function(date) {\n\t\t\tif (!date) return '';\n\t\t\tif (!this.isDateTime(date)) {\n\t\t\t\tdate = this.fromISO(date);\n\t\t\t}\n\t\t\tconst relative = date.toLocal().toRelativeCalendar({});\n\n\t\t\tif (['today', 'yesterday', 'tomorrow'].indexOf(relative) > -1) {\n\t\t\t\treturn relative.slice(0, 1).toUpperCase() + relative.slice(1);\n\t\t\t}\n\t\t\t// Hide year when date is in current year\n\t\t\tif (this.local().hasSame(date, 'year')) {\n\t\t\t\treturn date.toLocaleString({\n\t\t\t\t\tmonth: 'short',\n\t\t\t\t\tday: 'numeric',\n\t\t\t\t});\n\t\t\t}\n\t\t\t// Otherwise, show year\n\t\t\treturn this.fromISO(date).toLocaleString(DateTime.DATE_MED);\n\t\t};\n\t},\n};\n","import store from '@/store';\nimport moment from 'moment';\nimport DateTime from \"@/modules/utils/HDateTime\";\n\nclass formatters {\n\tstatic titleCase(string) {\n\t\tvar sentence = string.toLowerCase().split(' ');\n\t\tfor (var i = 0; i < sentence.length; i++) {\n\t\t\tsentence[i] = sentence[i][0].toUpperCase() + sentence[i].slice(1);\n\t\t}\n\t\treturn sentence.join(' ');\n\t}\n\n\tstatic yesNoFromBoolean(val) {\n\t\treturn val ? 'Yes' : 'No';\n\t}\n\n\tstatic booleanFromYesNo(val) {\n\t\treturn val === 'Yes' ? true : false;\n\t}\n\n\tstatic dollars(amount = 0, cents = true, currencySign = true, currency = store.state.defaultCurrency, maximumFractionDigits = 2, minimumFractionDigits=2) {\n\t\ttry {\n\t\t\tif (!currency) {\n\t\t\t\tcurrency = store.state.defaultCurrency;\n\t\t\t}\n\n\t\t\tif (!amount) {\n\t\t\t\tamount = 0;\n\t\t\t}\n\n\t\t\tamount = amount.toString().replace(/[^-0-9.]/g, '');\n\t\t\tif (isNaN(amount)) amount = 0;\n\t\t\tif (!cents) {\n\t\t\t\tmaximumFractionDigits = 0;\n\t\t\t}\n\n\t\t\tif(minimumFractionDigits === 0 && amount % 1 === 0){\n\t\t\t\tminimumFractionDigits = 0;\n\t\t\t\tmaximumFractionDigits = 0;\n\t\t\t}\n\n\t\t\tif (currencySign) {\n\t\t\t\treturn new Intl.NumberFormat(store.state.locale, {\n\t\t\t\t\tstyle: 'currency',\n\t\t\t\t\tcurrency: currency,\n\t\t\t\t\tcurrencySign: 'accounting',\n\t\t\t\t\tmaximumFractionDigits: maximumFractionDigits,\n\t\t\t\t\tminimumFactionDigits: minimumFractionDigits\n\t\t\t\t}).format(amount);\n\t\t\t} else {\n\t\t\t\treturn new Intl.NumberFormat(store.state.locale, {\n\t\t\t\t\tstyle: 'currency',\n\t\t\t\t\tcurrency: currency,\n\t\t\t\t\tmaximumFractionDigits: maximumFractionDigits,\n\t\t\t\t\tminimumFactionDigits: minimumFractionDigits\n\t\t\t\t}).format(amount).replace(/[^0-9.,]/g, '');\n\t\t\t}\n\t\t}catch(err){\n\t\t\tconsole.log('Error formatting currency',err);\n\t\t\treturn amount;\n\t\t}\n\t}\n\n\tstatic decimal(amount = 0, minimumFractionDigits = 2, maximumFractionDigits = 2, thousandsSeparator = true) {\n\t\tif(!amount){\n\t\t\tamount = 0;\n\t\t}\n\t\tamount = amount.toString().replace(/[^-0-9.]/g, '');\n\t\tif (isNaN(amount)) amount = 0;\n\t\t// const hasDecimals = amount - Math.floor(amount) !== 0;\n\t\treturn new Intl.NumberFormat(store.state.locale, {\n\t\t\tstyle: 'decimal',\n\t\t\tminimumFractionDigits: minimumFractionDigits,\n\t\t\tmaximumFractionDigits: maximumFractionDigits,\n\t\t})\n\t\t\t.format(amount)\n\t\t\t.replaceAll(thousandsSeparator ? '' : ',', '');\n\t}\n\n\tstatic currencySymbol(currency = store.state.defaultCurrency){\n\t\ttry {\n\t\t\tif (!currency) {\n\t\t\t\tcurrency = store.state.defaultCurrency;\n\t\t\t}\n\t\t\treturn (0).toLocaleString(\n\t\t\t\tstore.state.locale, {\n\t\t\t\t\tstyle: 'currency',\n\t\t\t\t\tcurrency: currency,\n\t\t\t\t\tminimumFractionDigits: 0,\n\t\t\t\t\tmaximumFractionDigits: 0\n\t\t\t\t}\n\t\t\t).replace(/\\d/g, '').trim()\n\t\t}catch(err){\n\t\t\tconsole.log('Error processing currency symbol',err);\n\t\t\treturn '?'\n\t\t}\n\t}\n\n\tstatic snakeToCamel(str) {\n\t\treturn str\n\t\t\t.replace(/-+/g, '-')\n\t\t\t.replace(/_+/g, '_')\n\t\t\t.replace(/([-_]\\w)/g, (g) => g[1].toUpperCase());\n\t}\n\n\tstatic camelToSnake(str) {\n\t\treturn str\n\t\t\t.split(/(?=[A-Z])/)\n\t\t\t.join('-')\n\t\t\t.toLowerCase();\n\t}\n\n\tstatic stripHtml(strWithHtml) {\n\t\treturn strWithHtml.replace(/(<([^>]+)>)/gi, '');\n\t}\n\n\tstatic phoneNumber(phoneNumberString) {\n\t\tlet cleaned = ('' + phoneNumberString).replace(/[^-0-9 .()+]/g, '');\n\t\tlet match = cleaned.match(/^(\\+?1|)?[- .(]*([2-9]\\d{2})[- .)]*(\\d{3})[- .]*(\\d{4})$/);\n\t\tif (match) {\n\t\t\tconst countryCode = match[1] ? '+1 ' : '';\n\t\t\tconst ext = this.getPhoneExt(phoneNumberString, countryCode);\n\t\t\treturn [countryCode, '(', match[2], ') ', match[3], '-', match[4], ext].join('');\n\t\t}\n\t\treturn phoneNumberString;\n\t}\n\t//* This is used by phoneNumber function above\n\t//* Not intended to be used directly, but hey, it's your funeral\n\tstatic getPhoneExt(phone, countryCode) {\n\t\tlet breakOn = 10;\n\t\tif (countryCode) breakOn = 11;\n\t\tconst chars = phone.split('');\n\t\tlet digits = 0;\n\t\tlet i;\n\t\tfor (i = 0; i < chars.length; i++) {\n\t\t\tif (chars[i].match(/\\d/g)) digits++;\n\t\t\tif (digits == breakOn) break;\n\t\t}\n\t\treturn chars.slice(i + 1).join('');\n\t}\n\n\tstatic formatTime(number, type) {\n\t\tif (number < 0) {\n\t\t\tnumber = number * -1;\n\t\t\treturn number + ' ' + type + (number > 1 ? 's' : '') + ' ago';\n\t\t} else {\n\t\t\treturn number + ' ' + type + (number > 1 ? 's' : '') + ' remaining';\n\t\t}\n\t}\n\n\tstatic formatTimeAgo (time) {\n\t\tlet date = DateTime.fromISO(time);\n\t\tlet now = DateTime.now();\n\n\t\tif (date.startOf('day').ts === now.startOf('day').ts) {\n\t\t\treturn date.toLocaleString(DateTime.TIME_SIMPLE);\n\t\t} else if (date.startOf('week').ts == now.startOf('week').ts) {\n\t\t\treturn date.toFormat('ccc') + ' ' + date.toLocaleString(DateTime.TIME_SIMPLE);\n\t\t} else if (date.startOf('year').ts == now.startOf('year').ts) {\n\t\t\treturn date.toLocaleString({\n\t\t\t\tmonth: 'short',\n\t\t\t\tday: 'numeric',\n\t\t\t});\n\t\t} else {\n\t\t\treturn date.toLocaleString(DateTime.DATE_SHORT);\n\t\t}\n\t}\n\n\tstatic formatForTimeAgo(date) {\n\t\tlet yesterday = DateTime.now().minus({days:1}).startOf('day');\n\t\tlet today = DateTime.now().startOf('day');\n\t\tlet tomorrow = DateTime.now().plus({days:1}).startOf('day');\n\t\tlet compareDate = DateTime.fromISO(date).startOf('day');\n\n\t\tif(compareDate.equals(today)){\n\t\t\treturn 'Today at ' + DateTime.fromISO(date).toLocaleString(DateTime.TIME_SIMPLE)\n\t\t}else if(compareDate.equals(tomorrow)){\n\t\t\treturn 'Tomorrow at ' + DateTime.fromISO(date).toLocaleString(DateTime.TIME_SIMPLE)\n\t\t}else if(compareDate.equals(yesterday)){\n\t\t\treturn 'Yesterday at ' + DateTime.fromISO(date).toLocaleString(DateTime.TIME_SIMPLE)\n\t\t}else{\n\t\t\treturn DateTime.fromISO(date).toLocaleString(DateTime.DATETIME_MED);\n\t\t}\n\t}\n\n\tstatic formatForDaysAgo(date) {\n\t\tlet yesterday = DateTime.now().minus({days:1}).startOf('day');\n\t\tlet today = DateTime.now().startOf('day');\n\t\tlet tomorrow = DateTime.now().plus({days:1}).startOf('day');\n\t\tlet compareDate = DateTime.fromISO(date).startOf('day');\n\n\t\tif(compareDate.equals(today)){\n\t\t\treturn 'Today'\n\t\t}else if(compareDate.equals(tomorrow)){\n\t\t\treturn 'Tomorrow'\n\t\t}else if(compareDate.equals(yesterday)){\n\t\t\treturn 'Yesterday'\n\t\t}else{\n\t\t\treturn DateTime.fromISO(date).toLocaleString(DateTime.DATE_MED);\n\t\t}\n\t}\n\n\tstatic formatTimeFromNow(date) {\n\t\tif (!date || date === '') {\n\t\t\treturn '';\n\t\t}\n\n\t\tlet now = moment(new Date().toISOString().split('T')[0]);\n\t\tlet due = moment(date);\n\t\tlet days = due.diff(now, 'days');\n\t\tlet weeks = due.diff(now, 'weeks');\n\t\tlet months = due.diff(now, 'months');\n\n\t\tif (months > 0) {\n\t\t\treturn formatters.formatTime(months, 'Month');\n\t\t} else if (weeks > 0) {\n\t\t\treturn formatters.formatTime(weeks, 'Week');\n\t\t} else {\n\t\t\treturn formatters.formatTime(days, 'Day');\n\t\t}\n\t}\n\n\tstatic formatSeconds(seconds) {\n\t\tlet hours = Math.floor(seconds / 3600);\n\t\tlet minutes = Math.floor((seconds - hours * 3600) / 60);\n\n\t\tif (hours < 10) {\n\t\t\thours = '0' + hours;\n\t\t}\n\t\tif (minutes < 10) {\n\t\t\tminutes = '0' + minutes;\n\t\t}\n\n\t\tlet time = hours + ':' + minutes;\n\t\treturn time;\n\t}\n\n\tstatic formatSecondsFull(seconds) {\n\t\tlet hours = Math.floor(seconds / 3600);\n\t\tlet minutes = Math.floor((seconds - hours * 3600) / 60);\n\t\tseconds = seconds - hours * 3600 - minutes * 60;\n\n\t\tif (hours < 10) {\n\t\t\thours = '0' + hours;\n\t\t}\n\t\tif (minutes < 10) {\n\t\t\tminutes = '0' + minutes;\n\t\t}\n\t\tif (seconds < 10) {\n\t\t\tseconds = '0' + seconds;\n\t\t}\n\t\tlet time = hours + ':' + minutes + ':' + seconds;\n\t\treturn time;\n\t}\n\n\tstatic formatSecondsLong(seconds) {\n\t\tlet hours = Math.floor(seconds / 3600);\n\t\tlet minutes = Math.floor((seconds - hours * 3600) / 60);\n\t\tseconds = seconds - hours * 3600 - minutes * 60;\n\n\t\tif (hours < 10) {\n\t\t\thours = '0' + hours;\n\t\t}\n\t\tif (minutes < 10) {\n\t\t\tminutes = '0' + minutes;\n\t\t}\n\t\tif (seconds < 10) {\n\t\t\tseconds = '0' + seconds;\n\t\t}\n\t\t//let time = hours + ':' + minutes + ':' + seconds;\n\t\tif(hours > 0){\n\t\t\treturn hours + ' hrs ' + minutes + ' min';\n\t\t}else{\n\t\t\treturn minutes + ' min';\n\t\t}\n\t}\n\n\tstatic formatSecondsToHours(seconds) {\n\t\treturn Math.round(seconds / 60 / 60) + 'hr';\n\t}\n\n\tstatic groupBy (array, key) {\n\t\treturn array.reduce((result, currentValue) => {\n\t\t\t(result[currentValue[key]] = result[currentValue[key]] || []).push(currentValue);\n\t\t\treturn result;\n\t\t}, {});\n\t}\n\n\tstatic formatBytes(bytes, decimals = 2) {\n\t\tif (bytes === 0) return '0 Bytes';\n\n\t\tconst k = 1024; // or use 1000 if you prefer decimal\n\t\tconst dm = decimals < 0 ? 0 : decimals;\n\t\tconst sizes = ['bytes', 'KB', 'MB', 'GB', 'TB', 'PB'];\n\n\t\t// Determine the index for the sizes array.\n\t\tconst i = Math.floor(Math.log(bytes) / Math.log(k));\n\n\t\t// Calculate the converted value and format it with the specified decimals.\n\t\tconst converted = parseFloat((bytes / Math.pow(k, i)).toFixed(dm));\n\n\t\treturn `${converted} ${sizes[i]}`;\n\t}\n}\n\nexport default {\n\tinstall(Vue) {\n\t\tVue.filter('formatForTimeAgo', formatters.formatForTimeAgo);\n\t\tVue.filter('formatTimeFromNow', formatters.formatTimeFromNow);\n\n\t\tObject.defineProperties(Vue.prototype, {\n\t\t\t$formatters: {\n\t\t\t\tget() {\n\t\t\t\t\treturn formatters;\n\t\t\t\t},\n\t\t\t},\n\t\t});\n\t},\n};\n","export default {\n    install(Vue) {\n        Object.defineProperties(Vue.prototype, {\n            $validations: {\n                get() {\n                    return {\n                        isEmpty: function(val) {\n                            if (val === undefined || val === null || val.length === 0) {\n                                return (true);\n                            } else {\n                                return (false);\n                            }\n                        }\n                    };\n                },\n            },\n        });\n\n    }\n}","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.tooltip)?_c('svg',{directives:[{name:\"tippy\",rawName:\"v-tippy\"}],style:(_vm.styles),attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"aria-hidden\":\"true\",\"content\":_vm.tooltip},on:{\"mouseover\":function($event){_vm.hovering = true},\"mouseleave\":function($event){_vm.hovering = false}}},[_c('use',{attrs:{\"id\":_vm.id,\"xlink:href\":_vm.href}})]):_c('svg',{style:(_vm.styles),attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"aria-hidden\":\"true\"},on:{\"mouseover\":function($event){_vm.hovering = true},\"mouseleave\":function($event){_vm.hovering = false}}},[_c('use',{attrs:{\"id\":_vm.id,\"xlink:href\":_vm.href}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<svg\n\t\tv-if=\"tooltip\"\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\taria-hidden=\"true\"\n\t\t:style=\"styles\"\n\t\t@mouseover=\"hovering = true\"\n\t\t@mouseleave=\"hovering = false\"\n\t\tv-tippy\n\t\t:content=\"tooltip\"\n\t>\n\t\t<use :id=\"id\" :xlink:href=\"href\"></use>\n\t</svg>\n\t<svg\n\t\tv-else\n\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\taria-hidden=\"true\"\n\t\t:style=\"styles\"\n\t\t@mouseover=\"hovering = true\"\n\t\t@mouseleave=\"hovering = false\"\n\t>\n\t\t<use :id=\"id\" :xlink:href=\"href\"></use>\n\t</svg>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'HIcon',\n\t\tprops: {\n\t\t\tsize: String, // In pixels\n\t\t\tname: { type: String, required: true },\n\t\t\tid: String, // id of \"use\" block for direct styling\n\t\t\tcolor: String,\n\t\t\ttwoColor: { type: Boolean, default: false },\n\t\t\ttooltip: { type: String, required: false, default: null },\n\t\t},\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\thovering: false,\n\t\t\t\tclicking: false,\n\t\t\t};\n\t\t},\n\n\t\tcomputed: {\n\t\t\thref() {\n\t\t\t\treturn '/symbol-defs.svg#' + this.name;\n\t\t\t},\n\t\t\tstyles() {\n\t\t\t\tlet str = 'outline: none !important; ';\n\t\t\t\tif (this.size) {\n\t\t\t\t\tstr += 'height:' + this.size + 'px;width:' + this.size + 'px;';\n\t\t\t\t}\n\t\t\t\tif (this.color) {\n\t\t\t\t\tstr += 'color:' + this.color + ';';\n\t\t\t\t\tstr += `--fill-color: ${this.color};`\n\t\t\t\t}\n\t\t\t\tif (this.twoColor && this.hovering) {\n\t\t\t\t\tstr += '--secondary-opacity: 1;';\n\t\t\t\t\tstr += '--secondary-color: var(--v-accent-base);';\n\t\t\t\t}\n\t\t\t\treturn str;\n\t\t\t},\n\t\t},\n\n\t\tmounted() {},\n\t};\n</script>\n\n<style lang=\"scss\" scoped>\n\tsvg {\n\t\tfill: currentColor;\n\t\tstroke-width: 0; // Set to prevent fill-based SVGs from getting stroke color. If explicitly set on SVG, it's ignored.\n\t\tstroke: currentColor;\n\t}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HIcon.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HIcon.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./HIcon.vue?vue&type=template&id=5059fb86&scoped=true\"\nimport script from \"./HIcon.vue?vue&type=script&lang=js\"\nexport * from \"./HIcon.vue?vue&type=script&lang=js\"\nimport style0 from \"./HIcon.vue?vue&type=style&index=0&id=5059fb86&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5059fb86\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('svg',{style:(_vm.styles),attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"aria-hidden\":\"true\"},on:{\"mouseover\":function($event){_vm.internalHover = true},\"mouseleave\":function($event){_vm.internalHover = false}}},[_c('use',{attrs:{\"id\":_vm.id,\"xlink:href\":_vm.href}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<svg\n\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\taria-hidden=\"true\"\n\t\t\t:style=\"styles\"\n\t\t\t@mouseover=\"internalHover = true\"\n\t\t\t@mouseleave=\"internalHover = false\">\n\t\t<use :id=\"id\" :xlink:href=\"href\"></use>\n\t</svg>\n</template>\n\n<script>\nexport default {\n\tname: 'HIcon2',\n\n\tprops: {\n\t\tsize: String, // In pixels\n\t\tname: { type: String, required: true },\n\t\tid: String, // id of \"use\" block for direct styling\n\t\tactive: {type: Boolean, required: false, default: false},\n\t\thovering: {type: Boolean, required: false, default: false},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\tinternalHover: false,\n\t\t};\n\t},\n\n\tcomputed: {\n\n\t\thref() {\n\t\t\treturn '/next-gen-icons.svg#' + this.name;\n\t\t},\n\n\t\tstyles() {\n\t\t\tlet str = 'outline: none !important; ';\n\n\t\t\tif (this.size) {\n\t\t\t\tstr += 'height:' + this.size + 'px;width:' + this.size + 'px;';\n\t\t\t}\n\n\t\t\tif(this.active){\n\t\t\t\tstr += '--icon-color: var(--v-primary-base)'\n\t\t\t}else if(this.hovering || this.internalHover){\n\t\t\t\tstr += '--icon-color: var(--v-gray_90-base)'\n\t\t\t}else{\n\t\t\t\tstr += '--icon-color: var(--v-gray_80-base)'\n\t\t\t}\n\n\t\t\treturn str;\n\t\t},\n\t},\n\n\tmounted() {},\n};\n</script>\n\n<style lang=\"scss\">\n\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HIcon2.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HIcon2.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./HIcon2.vue?vue&type=template&id=043eb1f8\"\nimport script from \"./HIcon2.vue?vue&type=script&lang=js\"\nexport * from \"./HIcon2.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","export default {\n\tlight: {\n\t\tprimary: '#267AE1' /* Royal Blue */,\n\t\tsecondary: '#002B52' /* Prussian Blue */,\n\t\taccent: '#FEBB37' /* Sunglow */,\n\t\tanchor: '#867F77' /* Gray 70 */,\n\t\tsuccess: '#008556',\n\t\terror: '#DE1C22',\n\t\twarning: '#E86825',\n\t\tinfo: '#175AA8' /* Fun Blue */,\n\n\t\tcustom: '#000000',\n\t\tcustom_light: '#000000',\n\t\tcustom_dark: '#000000',\n\n\t\tmodal_overlay: '#002B52',\n\t\t//sidebar: '#F4F3EF',\n\n\t\tsuccess_10: '#D6F3E2',\n\t\tsuccess_50: '#008556',\n\n\t\twarning_10: '#FFE1BE',\n\t\twarning_50: '#E86825',\n\n\t\talert_10: '#F9D3D4',\n\t\talert_50: '#DE1C22',\n\n\t\tblack: '#000000' /* Black */,\n\t\twhite: '#FFFFFF' /* White */,\n\n\t\tgray_10: '#F9F8F6',\n\t\tgray_20: '#F4F3EF' /* \"light\" (mobile), carrara_20 */,\n\t\tgray_30: '#E9E8E0' /* carrara_50 */,\n\t\tgray_50: '#D6D1CB' /* swirl */,\n\t\tgray_60: '#AAA5A0' /* schooner_20 */,\n\t\tgray_70: '#867F77' /* grey, schooner_50 */,\n\t\tgray_80: '#565451',\n\t\tgray_90: '#10110F' /* dark (mobile), log cabin */,\n\n\t\tblue_90: '#002B52' /* Prussian Blue */,\n\t\tblue_70: '#174987',\n\t\tblue_50: '#267AE1',\n\t\t// blue_40: '#5A9DEE',\n\t\tblue_30: '#7DAFED',\n\t\t//blue_20: '#A8CAF3',\n\t\tblue_20: '#565451',\n\t\tblue_10: '#D4E4F9',\n\t\tblue_5: '#E9F1FB',\n\t\t// blue_0: '#F4F8FD',\n\n\t\t// gray: '#10110F',\n\t\tbali_hai: '#8EA3B8',\n\t\tsundown: '#FFA5B6',\n\t\theliothrope: '#CE62E9',\n\t\tcornflower: '#7950F2',\n\t\tdodger: '#4F72FF',\n\t\tturquoise: '#3BDBBE',\n\t\temerald: '#51CF66',\n\t\tsunglow: '#FEBB37',\n\t\tpumpkin: '#FD7E14',\n\t\tcarnation: '#FA5252',\n\n\t},\n\tdark: {\n\t\tprimary: '#bebebe' /* Royal Blue DK */,\n\t\tsecondary: '#D4E4F9' /* Royal Blue 90 DK */,\n\t\taccent: '#F59F00' /* Sunglow */,\n\t\tanchor: '#D6D1CB' /* Gray 60 */,\n\t\tsuccess: '#008556',\n\t\terror: '#DE1C22',\n\t\twarning: '#E86825',\n\t\tinfo: '#175AA8' /* Fun Blue */,\n\n\t\tcustom: '#f5f5f5',\n\t\tcustom_light: '#7DAFED',\n\t\tcustom_dark: '#002B52',\n\n\t\tsuccess_10: '#003522',\n\t\tsuccess_50: '#66B69A',\n\n\t\twarning_10: '#461F0B',\n\t\twarning_50: '#ED8651',\n\n\t\talert_10: '#43080A',\n\t\talert_50: '#E86064',\n\n\t\tmodal_overlay: '#2F2E2C',\n\t\tsidebar: '#454444',\n\n\t\t// Inverted from light theme\n\t\tblack: '#FFFFFF' /* Black */,\n\t\twhite: '#181818' /* White */,\n\t\t// grey: '#D6D1CB' /* Gray 60 */,\n\n\t\t// Inverted from light theme\n\t\tgray_10: '#10110F',\n\t\tgray_20: '#2F2E2C',\n\t\tgray_30: '#56524E',\n\t\tgray_50: '#56524E',\n\t\tgray_60: '#D6D1CB',\n\t\tgray_70: '#E9E8E0',\n\t\tgray_80: '#F4F3EF',\n\t\tgray_90: '#F9F8F6',\n\n\t\t// Inverted from light theme\n\t\tblue_90: '#E9F1FB',\n\t\tblue_70: '#D4E4F9',\n\t\tblue_50: '#7DAFED',\n\t\tblue_30: '#267AE1',\n\t\tblue_20: '#627B94',\n\t\tblue_10: '#174987',\n\t\tblue_5: '#002B52' /* Prussian Blue */,\n\n\t\t// gray: '#F9F8F6' /* gray 90 */,\n\t\tbali_hai: '#9FB2C5',\n\t\tsundown: '#F06595',\n\t\theliothrope: '#CE62E9',\n\t\tcornflower: '#9775FA',\n\t\tdodger: '#748FFC',\n\t\tturquoise: '#099268',\n\t\temerald: '#5C940D',\n\t\tsunglow: '#F59F00',\n\t\tpumpkin: '#E8590C',\n\t\tcarnation: '#FF8787',\n\n\t\t// sundown_tint: '#ffdbe2',\n\t\t// heliothrope_tint: '#ebc0f6',\n\t\t// cornflower_tint: '#c9b9fa',\n\t\t// dodger_tint: '#b9c7ff',\n\t\t// turquoise_tint: '#b1f1e5',\n\t\t// emerald_tint: '#b9ecc2',\n\t\t// sunglow_tint: '#ffe4af',\n\t\t// pumpkin_tint: '#fed8b9',\n\t\t// carnation_tint: '#fecbcb',\n\t},\n};\n","export default {\n\ticonfont: 'md',\n\tvalues: {\n\t\t/** Next Gen Icons **/\n\n\t\tclients: {\n\t\t\tcomponent: 'h-icon2',\n\t\t\tprops: { name: 'clients' },\n\t\t},\n\t\tprojects: {\n\t\t\tcomponent: 'h-icon2',\n\t\t\tprops: { name: 'projects' },\n\t\t},\n\t\tcalendar: {\n\t\t\tcomponent: 'h-icon2',\n\t\t\tprops: { name: 'calendar' },\n\t\t},\n\t\taccounting: {\n\t\t\tcomponent: 'h-icon2',\n\t\t\tprops: { name: 'accounting' },\n\t\t},\n\t\treports: {\n\t\t\tcomponent: 'h-icon2',\n\t\t\tprops: { name: 'reports' },\n\t\t},\n\t\tsearch: {\n\t\t\tcomponent: 'h-icon2',\n\t\t\tprops: { name: 'search' },\n\t\t},\n\t\ttodo: {\n\t\t\tcomponent: 'h-icon2',\n\t\t\tprops: { name: 'todos' },\n\t\t},\n\t\tnotes: {\n\t\t\tcomponent: 'h-icon2',\n\t\t\tprops: { name: 'notes' },\n\t\t},\n\t\tnotifications: {\n\t\t\tcomponent: 'h-icon2',\n\t\t\tprops: { name: 'notifications' },\n\t\t},\n\t\tinvoices: {\n\t\t\tcomponent: 'h-icon2',\n\t\t\tprops: { name: 'invoices' },\n\t\t},\n\t\tedit: {\n\t\t\tcomponent: 'h-icon2',\n\t\t\tprops: { name: 'edit' },\n\t\t},\n\t\tribbon: {\n\t\t\tcomponent: 'h-icon2',\n\t\t\tprops: { name: 'ribbon' },\n\t\t},\n\n\t\t/** Legacy Icons **/\n\t\tpartyPopper: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'party-popper' },\n\t\t},\n\t\tparty: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'party' },\n\t\t},\n\t\tlogout: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'logout' },\n\t\t},\n\t\tpayment: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: {name: 'payment'},\n\t\t},\n\t\twavingHand: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'waving-hand' },\n\t\t},\n\t\trocket: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'rocket' },\n\t\t},\n\t\tsvgFile: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'svgFile' },\n\t\t},\n\t\tcsvFile: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'csvFile' },\n\t\t},\n\t\tpdfFile: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'pdfFile' },\n\t\t},\n\t\tpptFile: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'pptFile' },\n\t\t},\n\t\tzipFile: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'zipFile' },\n\t\t},\n\t\tunknownFile: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'unknownFile' },\n\t\t},\n\t\tsafe: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'safe' },\n\t\t},\n\t\ttimetracking: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'timetracking' },\n\t\t},\n\t\tproposals: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'proposals' },\n\t\t},\n\t\tbizdev: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'bizdev' },\n\t\t},\n\t\texpenses: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'expenses' },\n\t\t},\n\t\tteam: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'team' },\n\t\t},\n\t\tapple: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'apple' },\n\t\t},\n\t\tgoogle: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'google' },\n\t\t},\n\t\tgoogleCalendar: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'googleCalendar' },\n\t\t},\n\t\tmicrosoft: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'microsoft' },\n\t\t},\n\t\tzoomIcon: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'zoom-icon' },\n\t\t},\n\t\tphoneOut: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'phone-out' },\n\t\t},\n\n\t\tpaypal: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'paypal' },\n\t\t},\n\t\tstripe: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'stripe' },\n\t\t},\n\t\tplaid: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'plaid' },\n\t\t},\n\t\tplaidVertical: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'plaid-vertical' },\n\t\t},\n\t\thummingbird: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'hummingbird' },\n\t\t},\n\t\tdrag: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'drag-indicator' },\n\t\t},\n\t\tmenu: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'menu' },\n\t\t},\n\t\talert: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'alert' },\n\t\t},\n\t\tmap: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'map' },\n\t\t},\n\t\topenInNew: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'open-in-new' },\n\t\t},\n\t\tphoneInTalk: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'phone-in-talk' },\n\t\t},\n\t\tstopwatch: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'stopwatch' },\n\t\t},\n\t\tvendor: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'vendor', twoColor: true },\n\t\t},\n\t\tonBoarding: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'on-boarding' },\n\t\t},\n\t\thelp: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'help' },\n\t\t},\n\t\tcomment: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'comment' },\n\t\t},\n\t\tremove: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'remove' },\n\t\t},\n\t\tdownload: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'download' },\n\t\t},\n\t\tactions: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'bolt' },\n\t\t},\n\t\tcontacts: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'contacts' },\n\t\t},\n\t\tforms: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'forms' },\n\t\t},\n\t\tcontact: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'contact' },\n\t\t},\n\t\tdeliverables: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'check' },\n\t\t},\n\t\tcheckOrig: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'check' },\n\t\t},\n\t\tcheck: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'small-check' },\n\t\t},\n\t\tclock: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'clock' },\n\t\t},\n\t\tdeliverableBox: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'deliverable-box', twoColor: true },\n\t\t},\n\t\tideaLightBulb: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'idea-light-bulb', twoColor: true },\n\t\t},\n\t\tintegrationsPlug: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'integrations-plug', twoColor: true },\n\t\t},\n\t\tfile: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'file2' },\n\t\t},\n\t\tcalculator: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'calculator' },\n\t\t},\n\t\twallet: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'wallet' },\n\t\t},\n\t\tfilter: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'filter-small' },\n\t\t},\n\t\t// edit: {\n\t\t// \tcomponent: 'h-icon',\n\t\t// \tprops: { name: 'edit' },\n\t\t// },\n\t\tdelete: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'delete' },\n\t\t},\n\t\tmoreHorizontal: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'more-hor' },\n\t\t},\n\t\tmoreVertical: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'more-ver' },\n\t\t},\n\t\tplus: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'plus' },\n\t\t},\n\t\tplusSmall: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'plus-small' },\n\t\t},\n\t\tsort: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'sort' },\n\t\t},\n\t\temail: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'email' },\n\t\t},\n\t\tphoto: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'photo' },\n\t\t},\n\t\tphone: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'phone' },\n\t\t},\n\t\tmoney: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'money' },\n\t\t},\n\t\tcalendarMono: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'calendar-mono' },\n\t\t},\n\t\talignLeft: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'align-left' },\n\t\t},\n\t\talignRight: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'align-right' },\n\t\t},\n\t\talignCenter: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'align-center' },\n\t\t},\n\t\talignJustify: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'align-justify' },\n\t\t},\n\t\tarrowUp: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'arrow-up' },\n\t\t},\n\t\tarrowDown: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'arrow-down' },\n\t\t},\n\t\tarrowLeft: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'arrow-left' },\n\t\t},\n\t\tarrowRight: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'arrow-right' },\n\t\t},\n\t\tarrowCurlyLeft: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'arrow-curly-left' },\n\t\t},\n\t\tarrowCurlyRight: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'arrow-curly-right' },\n\t\t},\n\t\tdiscovery: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'list-bullet' },\n\t\t},\n\t\tlistBullet: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'list-bullet' },\n\t\t},\n\t\tgraph: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'graph' },\n\t\t},\n\t\tbook: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'book' },\n\t\t},\n\n\t\tupload: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'upload' },\n\t\t},\n\t\ttriangleUp: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'triangle-up' },\n\t\t},\n\t\ttriangleDown: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'triangle-down' },\n\t\t},\n\t\ttriangleLeft: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'triangle-left' },\n\t\t},\n\t\ttriangleRight: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'triangle-right' },\n\t\t},\n\t\tsuccess: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'success' },\n\t\t},\n\t\tvisibility: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'visibility' },\n\t\t},\n\t\tvisibilityOff: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'visibility-off' },\n\t\t},\n\t\tchevronUp: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'chevron-up' },\n\t\t},\n\t\tchevronDown: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'chevron-down' },\n\t\t},\n\t\tchevronRight: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'chevron-right' },\n\t\t},\n\t\tchevronLeft: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'chevron-left' },\n\t\t},\n\t\timageLeft: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'image-left' },\n\t\t},\n\t\timageRight: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'image-right' },\n\t\t},\n\t\tclose: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'close' },\n\t\t},\n\t\talarm: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'alarm', twoColor: true },\n\t\t},\n\t\tcashInHand: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'cashInHand', twoColor: true },\n\t\t},\n\t\tmagnet: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'magnet', twoColor: true },\n\t\t},\n\t\tapps: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'apps' },\n\t\t},\n\t\tattachment: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'attachment', twoColor: true },\n\t\t},\n\t\tcards: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'cards', tooltip: 'Card view' },\n\t\t},\n\t\thandshake: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'handshakeTwoColor', twoColor: true },\n\t\t},\n\t\timage: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'image', twoColor: true },\n\t\t},\n\t\timageAndText: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'imageAndText', twoColor: true },\n\t\t},\n\t\tatSymbol: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'atSymbol' },\n\t\t},\n\t\tcelebration: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'celebration', twoColor: true },\n\t\t},\n\t\tmail: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'mail' },\n\t\t},\n\t\tmailOpen: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'mailOpen', twoColor: true },\n\t\t},\n\t\t// ribbon: {\n\t\t// \tcomponent: 'h-icon',\n\t\t// \tprops: { name: 'ribbon', twoColor: true },\n\t\t// },\n\t\ttable: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'table', tooltip: 'List view' },\n\t\t},\n\t\ttext: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'text', twoColor: true },\n\t\t},\n\t\tuser: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'user' },\n\t\t},\n\t\tsimpleUser: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'simple-user' },\n\t\t},\n\t\tshare: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'share' },\n\t\t},\n\t\tkanban: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'kanban' },\n\t\t},\n\t\tsearchBolt: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'searchBolt' } /* No twoColor prop for top-bar icons. It breaks the hover */,\n\t\t},\n\t\tchat: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'chat' },\n\t\t},\n\t\tinfo: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'info' },\n\t\t},\n\t\tcloseSmall: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'close-small' },\n\t\t},\n\t\tnearMe: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'near-me' },\n\t\t},\n\t\tlock: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'lock' },\n\t\t},\n\t\tsubtract: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'subtract' },\n\t\t},\n\t\tdragSecondary: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'drag-secondary' },\n\t\t},\n\t\tduplicate: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'duplicate' },\n\t\t},\n\t\tsignature: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'signature', twoColor: true },\n\t\t},\n\t\tbox: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'box', twoColor: true },\n\t\t},\n\t\tquestionMark: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'question-mark', twoColor: true },\n\t\t},\n\t\tmultipleAnswers: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'multiple-answers', twoColor: true },\n\t\t},\n\t\tbulb: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'bulb' },\n\t\t},\n\t\tplayCircle: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'play-circle' },\n\t\t},\n\t\tplay: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'play' },\n\t\t},\n\t\tstopCircle: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'stop-circle' },\n\t\t},\n\t\tstop: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'stop' },\n\t\t},\n\t\tusers: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'users' },\n\t\t},\n\t\ttime: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'time' },\n\t\t},\n\t\tsettings: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'settings' },\n\t\t},\n\t\tpaperAirplane: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'paper-airplane' },\n\t\t},\n\t\tcopyToClipboard: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'copy-to-clipboard' },\n\t\t},\n\t\tplusCircle: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'plusCircle' },\n\t\t},\n\t\tcomment3: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'comment3' },\n\t\t},\n\t\tpaperClip: {\n\t\t\tcomponent: 'h-icon',\n\t\t\tprops: { name: 'paperClip' },\n\t\t},\n\t},\n};\n","import Vue from 'vue';\nimport App from './App';\nimport Vuetify from 'vuetify';\nimport router from './router';\nimport store from './store';\nimport i18n from './i18n';\nimport lodash from 'lodash';\nimport Luxon from './luxon';\nimport Formatters from './utils/formatters';\nimport Validations from './utils/validations';\nimport VueScrollTo from 'vue-scrollto';\nimport VueSignaturePad from 'vue-signature-pad';\nimport HIcon from '@/components/HIcon'\n//import 'material-icons/iconfont/material-icons.css';\nimport HIcon2 from '@/components/HIcon2';\nimport themes from './assets/css/themes';\nimport icons from './assets/icons/icons';\n\n\nimport 'tinymce';\nimport 'tinymce/plugins/advlist';\nimport 'tinymce/plugins/autolink';\nimport 'tinymce/plugins/autoresize';\nimport 'tinymce/plugins/code';\nimport 'tinymce/plugins/contextmenu';\nimport 'tinymce/plugins/emoticons';\nimport 'tinymce/plugins/hr';\nimport 'tinymce/plugins/link';\nimport 'tinymce/plugins/lists';\nimport 'tinymce/plugins/media';\nimport 'tinymce/plugins/paste';\nimport 'tinymce/plugins/spellchecker';\nimport 'tinymce/plugins/table';\n\n/* Default icons are required for TinyMCE 5.3 or above */\nimport 'tinymce/icons/default';\n\n/* A theme is also required */\nimport 'tinymce/themes/silver';\n\n\n//import 'material-icons/iconfont/material-icons.css';\nimport 'vuetify/dist/vuetify.min.css';\n\nimport VueTippy, { TippyComponent } from 'vue-tippy';\nimport 'tippy.js/themes/light-border.css';\n\nimport VueTelInput from 'vue-tel-input';\nimport 'vue-tel-input/dist/vue-tel-input.css';\n\n\nVue.use(VueTippy, {\n  directive: 'tippy', // => v-tippy\n  theme: 'light-border',\n  ignoreAttributes: true,\n  duration: [500, 100],\n  placement: 'top',\n  arrow: true,\n  arrowType: 'round',\n  animation: 'fade',\n  delay: 50,\n  boundary: 'window',\n  onShow: (options) => {\n    return !!options.props.content\n  },\n});\n\nVue.component('tippy', TippyComponent);\nVue.config.productionTip = false;\nVue.use(Vuetify);\nVue.use(Luxon);\nVue.use(VueTelInput);\nVue.use(Formatters);\nVue.use(Validations);\nVue.use(VueSignaturePad);\nVue.component('h-icon', HIcon);\nVue.component('h-icon2', HIcon2);\n\nVue.use(VueScrollTo, {\n  container: 'body',\n  duration: 500,\n  easing: 'ease-in-out',\n  offset: 0,\n  force: true,\n  cancelable: true,\n  onStart: false,\n  onDone: false,\n  onCancel: false,\n  x: false,\n  y: true,\n});\n\nObject.defineProperty(Vue.prototype, '$_', { value: lodash });\n\n\nconst vuetify = new Vuetify({\n  icons: icons,\n  theme: {\n    options: {\n      customProperties: true,\n    },\n    themes: themes,\n  },\n});\n\n\nnew Vue({\n  vuetify,\n  router,\n  store,\n  i18n,\n  render: (h) => h(App),\n}).$mount('#app');\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TagUserField.vue?vue&type=style&index=0&id=18788c36&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignatureDialog.vue?vue&type=style&index=0&id=62ae11c9&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServicePackage.vue?vue&type=style&index=1&id=42726092&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=style&index=0&id=48446c38&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AddComponent.vue?vue&type=style&index=0&id=0fea76e6&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tasks.vue?vue&type=style&index=0&id=53e91ea4&prod&scoped=true&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInput.vue?vue&type=style&index=0&id=cd742352&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentCaptureBlock.vue?vue&type=style&index=0&id=4eaf54b2&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ElementTypes.vue?vue&type=style&index=0&id=48ed4d70&prod&scoped=true&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateInput.vue?vue&type=style&index=0&id=15d25c73&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CoverPage.vue?vue&type=style&index=0&id=38ca5f7e&prod&scoped=true&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemRenderer.vue?vue&type=style&index=0&id=7e956ab8&prod&lang=scss\"","import {DateTime,Duration} from \"luxon\";\nimport store from '@/store';\n\nexport default class HDateTime extends DateTime{\n\n    static now(){\n        return new HDateTime(new DateTime({}));\n    }\n\n    static local(year, month, day, hour, minute, second, millisecond){\n        return new HDateTime(super.local(year, month, day, hour, minute, second, millisecond));\n    }\n\n    static utc(year, month, day, hour, minute, second, millisecond) {\n        return new HDateTime(super.utc(year, month, day, hour, minute, second, millisecond));\n    }\n\n    static fromJSDate(date, options = {}) {\n        return new HDateTime(super.fromJSDate(date,options))\n    }\n\n    static fromISO(text, opts = {}) {\n        return new HDateTime(super.fromISO(text,opts));\n    }\n\n    static fromMillis(milliseconds, options = {}) {\n        return new HDateTime(super.fromMillis(milliseconds,options));\n    }\n\n    static fromObject(obj) {\n        return new HDateTime(super.fromObject(obj));\n    }\n\n    constructor(config) {\n        super(config);\n    }\n\n    plus(duration){\n        return new HDateTime(super.plus(duration));\n    }\n\n    minus(duration){\n        return new HDateTime(super.minus(duration));\n    }\n\n    startOf(unit) {\n        let normalizedUnit = Duration.normalizeUnit(unit);\n        if(normalizedUnit === 'weeks'  && store.state.weekStartsOn === 'Sunday'){\n            return new HDateTime(super.weekdayShort === 'Sun' ? super.startOf('day') : super.startOf('week').minus({day: 1}));\n        }else{\n            return new HDateTime(super.startOf(unit));\n        }\n    }\n\n    endOf(unit) {\n        if(this.isValid){\n            return new HDateTime(this.plus({ [unit]: 1 })).startOf(unit).minus(1);\n        }else{\n            return this;\n        }\n    }\n\n}","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageTextBlock.vue?vue&type=style&index=0&id=8fddb200&prod&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInput.vue?vue&type=style&index=0&id=22e4ab06&prod&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./iFrameWrapper.vue?vue&type=style&index=0&id=8c8b0b1a&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PackageEditor.vue?vue&type=style&index=1&id=be24bb42&prod&scoped=true&lang=scss\"","import HttpClient from '@/services/HttpClient';\nimport store from '@/store';\n\nexport default class FileSystemService {\n\thttpClient;\n\n\tconstructor() {\n\t\tthis.httpClient = new HttpClient();\n\t}\n\n\tget(id) {\n\t\treturn this.httpClient\n\t\t\t.get(`/${store.getters.getClientId}/files/${id}`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tlist(parentFolderId = null) {\n\t\tlet url = `/${store.getters.getClientId}/files`;\n\n\t\tif (parentFolderId) {\n\t\t\turl += `?parentFolderId=${encodeURIComponent(parentFolderId)}`;\n\t\t}\n\n\t\treturn this.httpClient\n\t\t\t.get(url)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tdomainRoot(type,id){\n\t\treturn this.httpClient\n\t\t\t.get(`/${store.getters.getClientId}/files/domainRoot?type=${type}&id=${id}`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\n\trename(id,name) {\n\t\treturn this.httpClient\n\t\t\t.post(`/${store.getters.getClientId}/files/${id}/rename?name=${encodeURIComponent(name)}`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tmove(id,destinationFolderId) {\n\t\tlet url = `/${store.getters.getClientId}/files/${id}/move`;\n\n\t\tif (destinationFolderId) {\n\t\t\turl += `?destinationFolderId=${encodeURIComponent(destinationFolderId)}`;\n\t\t}\n\n\t\treturn this.httpClient\n\t\t\t.post(url)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tdelete(id){\n\t\treturn this.httpClient\n\t\t\t.delete(`/${store.getters.getClientId}/files/${id}`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tunDelete(id){\n\t\treturn this.httpClient\n\t\t\t.delete(`/${store.getters.getClientId}/files/${id}/cancel`)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tgetSignedUrl(id, download = true, version = null){\n\t\tlet url = `/${store.getters.getClientId}/files/${id}/signedUrl?download=${download}`;\n\n\t\tif (version !== null) {\n\t\t\turl += `&version=${version}`;\n\t\t}\n\n\t\treturn this.httpClient\n\t\t\t.get(url)\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n\n\tasync upload(parentFolderId, file) {\n\t\tconst formData = new FormData();\n\t\tformData.append('parentFolderId', parentFolderId);\n\t\tformData.append('file', file);\n\n\t\treturn await this.httpClient\n\t\t\t.post(`/${store.getters.getClientId}/files`, formData, {\n\t\t\t\theaders: { 'Content-Type': 'multipart/form-data' },\n\t\t\t});\n\t}\n\n\tcreateDirectory(parentFolderId, directoryName) {\n\t\tconst formData = new FormData();\n\t\tformData.append('parentFolderId', parentFolderId);\n\t\tformData.append('directoryName', directoryName);\n\n\t\treturn this.httpClient\n\t\t\t.post(`/${store.getters.getClientId}/files`, formData, {\n\t\t\t\theaders: { 'Content-Type': 'multipart/form-data' },\n\t\t\t})\n\t\t\t.then((res) => Promise.resolve(res))\n\t\t\t.catch((err) => Promise.reject(err));\n\t}\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-dialog',{attrs:{\"value\":_vm.dialog,\"max-width\":_vm.maxWidth,\"persistent\":true,\"overlay-color\":_vm.overlayColor,\"overlay-opacity\":_vm.overlayOpacity,\"fullscreen\":_vm.fullscreen},on:{\"click:outside\":function($event){!_vm.persistent ? _vm.handleClose() : ''}}},[_c('div',{class:'pa-0 ma-0' + (_vm.fullscreen ? ' fullscreen' : ''),attrs:{\"id\":\"dialog-div\"}},[_c('v-btn',{attrs:{\"id\":\"close-x\",\"icon\":\"\",\"rounded\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.handleClose()}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$close\")])],1),_c('div',{attrs:{\"id\":\"alert-div\"}},[_c('alert',{attrs:{\"alert\":_vm.alert}})],1),_c('div',{staticClass:\"content-div pa-2\"},[_vm._t(\"default\",null,{\"setAlert\":_vm.setAlert})],2)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-alert',{staticClass:\"py-1 ma-0 text-center\",attrs:{\"type\":_vm.alert.type,\"tile\":\"\",\"dense\":\"\",\"dismissible\":\"\",\"transition\":\"fade-transition\"},model:{value:(_vm.show),callback:function ($$v) {_vm.show=$$v},expression:\"show\"}},[_vm._v(\" \"+_vm._s(_vm.alert.message)+\" \")])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<v-alert v-model=\"show\" :type=\"alert.type\" tile dense dismissible class=\"py-1 ma-0 text-center\" transition=\"fade-transition\">\n\t\t{{ alert.message }}\n\t</v-alert>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'Alert',\n\n\t\tprops: {\n\t\t\talert: {\n\t\t\t\ttype: Object,\n\t\t\t\tdefault: function() {\n\t\t\t\t\treturn {\n\t\t\t\t\t\tmessage: null,\n\t\t\t\t\t\ttype: null,\n\t\t\t\t\t};\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tshow: false,\n\t\t\t\ttimeouts: { error: 0, warning: 10, info: 7, success: 7 },\n\t\t\t\ttimeoutHandler: null,\n\t\t\t};\n\t\t},\n\n\t\twatch: {\n\t\t\talert: function(newAlert) {\n\t\t\t\tthis.$emit('show-alert');\n\t\t\t\tclearTimeout(this.timeoutHandler);\n\t\t\t\tthis.timeoutHandler = null;\n\n\t\t\t\tif (newAlert.type) {\n\t\t\t\t\tthis.show = true;\n\n\t\t\t\t\tlet timeout = this.timeouts[newAlert.type];\n\n\t\t\t\t\tif (timeout > 0) {\n\t\t\t\t\t\tthis.timeoutHandler = setTimeout(this.clearAlert, timeout * 1000);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthis.show = false;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tmounted() {},\n\n\t\tmethods: {\n\t\t\tclearAlert() {\n\t\t\t\tthis.$emit('hide-alert');\n\t\t\t\tthis.show = false;\n\t\t\t\tthis.alert.message = null;\n\t\t\t\tthis.alert.type = null;\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style lang=\"scss\"></style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Alert.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Alert.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Alert.vue?vue&type=template&id=57f1a497\"\nimport script from \"./Alert.vue?vue&type=script&lang=js\"\nexport * from \"./Alert.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\ninstallComponents(component, {VAlert})\n","<template>\n\t<v-dialog\n\t\t\t:value=\"dialog\"\n\t\t\t:max-width=\"maxWidth\"\n\t\t\t:persistent=\"true\"\n\t\t\t:overlay-color=\"overlayColor\"\n\t\t\t:overlay-opacity=\"overlayOpacity\"\n\t\t\t@click:outside=\"!persistent ? handleClose() : ''\"\n\t\t\t:fullscreen=\"fullscreen\"\n\t>\n\t\t<div id=\"dialog-div\" :class=\"'pa-0 ma-0' + (fullscreen ? ' fullscreen' : '')\">\n\t\t\t<v-btn id=\"close-x\" icon rounded @click.prevent=\"handleClose()\">\n\t\t\t\t<v-icon size=\"20\">$close</v-icon>\n\t\t\t</v-btn>\n\t\t\t<div id=\"alert-div\">\n\t\t\t\t<alert v-bind:alert=\"alert\" />\n\t\t\t</div>\n\t\t\t<div class=\"content-div pa-2\">\n\t\t\t\t<slot :setAlert=\"setAlert\"></slot>\n\t\t\t</div>\n\t\t</div>\n\t</v-dialog>\n</template>\n\n<script>\nimport Alert from './Alert';\n\nexport default {\n\tname: 'Modal',\n\tcomponents: { Alert },\n\n\tprops: {\n\t\tdialog: { type: Boolean, default: false },\n\t\tfullscreen: { type: Boolean, default: false },\n\t\tpersistent: { type: Boolean, default: true },\n\t\toverlayColor: { type: String, default: 'modal_overlay' },\n\t\toverlayOpacity: { type: String, default: '0.7' },\n\t\tcloseOnEscape: { type: Boolean, default: true },\n\n\t\tmaxWidth: {\n\t\t\ttype: Number,\n\t\t\tdefault: 600,\n\t\t},\n\t},\n\n\tdata() {\n\t\treturn {\n\t\t\talert: {},\n\t\t};\n\t},\n\n\tmounted() {\n\t\tif (this.closeOnEscape) {\n\t\t\tdocument.addEventListener('keydown', this.handleKeyDown);\n\t\t}\n\t},\n\n\tbeforeDestroy() {\n\t\tif (this.closeOnEscape) {\n\t\t\tdocument.removeEventListener('keydown', this.handleKeyDown);\n\t\t}\n\t},\n\n\tmethods: {\n\t\thandleClose: function() {\n\t\t\tthis.$emit('close');\n\t\t},\n\n\t\thandleKeyDown: function(e) {\n\t\t\tif (e.key === 'Escape') {\n\t\t\t\tthis.handleClose();\n\t\t\t}\n\t\t},\n\n\t\tsetAlert: function(alert) {\n\t\t\tthis.alert = alert;\n\t\t},\n\t},\n\n\twatch: {\n\t\tdialog(newVal) {\n\t\t\tif (this.closeOnEscape) {\n\t\t\t\tif (newVal) {\n\t\t\t\t\tdocument.addEventListener('keydown', this.handleKeyDown);\n\t\t\t\t} else {\n\t\t\t\t\tdocument.removeEventListener('keydown', this.handleKeyDown);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t},\n\n\tcomputed: {},\n};\n</script>\n\n<style lang=\"scss\" scoped>\n#dialog-div {\n\tposition: relative;\n\tbackground-color: var(--v-white-base);\n\tborder-radius: 4px !important;\n\t&.fullscreen {\n\t\tborder-radius: 0 !important;\n\t\theight: 100vh !important;\n\t\tdisplay: flex;\n\t\tjustify-content: center;\n\t\talign-items: center;\n\t\t.content-div {\n\t\t\tflex: 1 1 auto;\n\t\t}\n\t}\n\t#close-x {\n\t\tposition: absolute;\n\t\tz-index: 99;\n\t\tright: 8px;\n\t\ttop: 8px;\n\t\theight: 40px;\n\t\twidth: 40px;\n\t}\n\t#alert-div {\n\t\tposition: absolute;\n\t\tz-index: 100;\n\t\ttop: 6px;\n\t\tleft: 0;\n\t\tright: 0;\n\t}\n}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Modal.vue?vue&type=template&id=5f097855&scoped=true\"\nimport script from \"./Modal.vue?vue&type=script&lang=js\"\nexport * from \"./Modal.vue?vue&type=script&lang=js\"\nimport style0 from \"./Modal.vue?vue&type=style&index=0&id=5f097855&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5f097855\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VDialog,VIcon})\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SignatureBlock.vue?vue&type=style&index=1&id=011af6e6&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormEmbed.vue?vue&type=style&index=0&id=783b13d2&prod&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileAttachments.vue?vue&type=style&index=0&id=e2639660&prod&scoped=true&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"products-widget\"}},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_c('v-icon',[_vm._v(\"$close\")])],1),(_vm.isReady)?_c('div',{staticClass:\"modal-padding pb-4\"},[_c('div',{staticClass:\"modal-title\",staticStyle:{\"height\":\"24px\",\"line-height\":\"24px\"}},[_vm._v(_vm._s(_vm.$t('product.title')))]),_c('v-data-table',{attrs:{\"id\":\"products-data-table\",\"items-per-page\":25,\"hide-default-footer\":_vm.products.length <= 25,\"hide-default-header\":false,\"headers\":_vm.headers,\"items\":_vm.products,\"item-key\":\"id\",\"mobile-breakpoint\":0,\"item-class\":_vm.itemClass},on:{\"click:row\":function($event){return _vm.selectProduct($event)}},scopedSlots:_vm._u([{key:\"header.manage\",fn:function({}){return [_c('div',{staticClass:\"row-format ml-auto mr-1\",staticStyle:{\"justify-content\":\"flex-end\"}},[_c('v-icon',{staticClass:\"pointer\",attrs:{\"size\":\"20\"},on:{\"click\":_vm.createNewProduct}},[_vm._v(\"$plus\")])],1)]}},{key:\"item.productName\",fn:function({ item }){return [_c('div',{staticClass:\"product-name\"},[_vm._v(_vm._s(item.productName))])]}},{key:\"item.rate\",fn:function({ item }){return [_c('div',[_vm._v(_vm._s(_vm.$formatters.decimal(item.rate)))])]}},{key:\"item.unit\",fn:function({ item }){return [_c('div',[_vm._v(_vm._s(item.unit))])]}},{key:\"item.hourly\",fn:function({ item }){return [_c('div',{staticClass:\"text-center\"},[(item.hourly)?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(_vm._s(_vm.$t('product.check')))]):_vm._e()],1)]}},{key:\"item.taxable\",fn:function({ item }){return [_c('div',{staticClass:\"text-center\"},[(item.taxable)?_c('v-icon',{attrs:{\"small\":\"\"}},[_vm._v(_vm._s(_vm.$t('product.check')))]):_vm._e()],1)]}},{key:\"item.manage\",fn:function({ item }){return [_c('div',{staticClass:\"text-right mt-n1\"},[_c('v-btn',{staticClass:\"edit-icon\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.editProduct(item)}}},[_c('v-icon',{attrs:{\"color\":\"gray_50\",\"size\":\"20\"}},[_vm._v(\"$edit\")])],1),_c('v-btn',{staticClass:\"delete-icon\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteProduct(item)}}},[_c('v-icon',{attrs:{\"color\":\"var(--v-gray_70-base)\",\"size\":\"20\"}},[_vm._v(\"$delete\")])],1)],1)]}}],null,false,1171534390)}),_c('div',{staticClass:\"text-left\",staticStyle:{\"height\":\"32px\",\"line-height\":\"32px\"}},[_c('v-btn',{staticClass:\"primary-action ml-n2\",staticStyle:{\"width\":\"140px\"},attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.createNewProduct()}}},[_c('v-icon',{attrs:{\"size\":\"14\"}},[_vm._v(\"$plus\")]),_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.$t('global.create-new')))])],1)],1)],1):_vm._e(),_c('div',{staticClass:\"modal-footer text-center\"},[_c('v-btn',{staticClass:\"primary-action\",staticStyle:{\"width\":\"140px\"},on:{\"click\":function($event){return _vm.cancel()}}},[_vm._v(\" \"+_vm._s(_vm.$t('global.close'))+\" \")])],1),_c('basic-modal',{attrs:{\"dialog\":_vm.productModal,\"persistent\":true},on:{\"close\":function($event){_vm.productModal = false}}},[_c('div',{attrs:{\"id\":\"edit-product\"}},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\"},on:{\"click\":function($event){_vm.productModal = false}}},[_c('v-icon',[_vm._v(\"$close\")])],1),_c('div',{staticClass:\"modal-padding\"},[_c('div',{staticClass:\"modal-title\"},[_vm._v(_vm._s(_vm.$t('product.create-product-title')))]),_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"autofocus\":\"\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"placeholder\":_vm.$t('product.product-name-placeholder'),\"label\":_vm.$t('product.product-name-label'),\"rules\":[(value) => !!value || 'Required.']},model:{value:(_vm.editingProduct.productName),callback:function ($$v) {_vm.$set(_vm.editingProduct, \"productName\", $$v)},expression:\"editingProduct.productName\"}}),_c('div',{staticClass:\"d-flex justify-space-between half\"},[(!_vm.editingProduct.hourly)?_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"placeholder\":_vm.$t('product.unit-placeholder'),\"label\":_vm.$t('product.unit-label'),\"rules\":[(value) => !!value || 'Required.'],\"disabled\":_vm.editingProduct.hourly},model:{value:(_vm.editingProduct.unit),callback:function ($$v) {_vm.$set(_vm.editingProduct, \"unit\", $$v)},expression:\"editingProduct.unit\"}}):_vm._e(),_c('div',{staticClass:\"h-outline px-2 py-1 mb-2\"},[_c('div',{staticClass:\"d-flex justify-start align-start\"},[_c('v-simple-checkbox',{on:{\"click\":function($event){return _vm.handleHourlyClick()}},model:{value:(_vm.editingProduct.hourly),callback:function ($$v) {_vm.$set(_vm.editingProduct, \"hourly\", $$v)},expression:\"editingProduct.hourly\"}}),_c('div',{staticClass:\"text-left\"},[_c('label',{staticClass:\"font-14 font-gray_80 ml-n1\"},[_vm._v(_vm._s(_vm.$t('product.hourly-label')))])])],1)])],1),_c('div',{staticClass:\"d-flex justify-space-between half\"},[_c('v-text-field',{staticClass:\"h-outline\",attrs:{\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"placeholder\":_vm.$t('product.rate-placeholder'),\"label\":_vm.$t('product.rate-label'),\"rules\":[(value) => !!value || 'Required.']},model:{value:(_vm.editingProduct.rate),callback:function ($$v) {_vm.$set(_vm.editingProduct, \"rate\", $$v)},expression:\"editingProduct.rate\"}}),_c('div',{staticClass:\"h-outline px-2 py-1\"},[_c('div',{staticClass:\"d-flex justify-start align-start\"},[_c('v-simple-checkbox',{model:{value:(_vm.editingProduct.taxable),callback:function ($$v) {_vm.$set(_vm.editingProduct, \"taxable\", $$v)},expression:\"editingProduct.taxable\"}}),_c('label',{staticClass:\"font-14 font-gray_80 ml-n1\"},[_vm._v(_vm._s(_vm.$t('product.taxable-label')))])],1)])],1)],1),_c('div',{staticClass:\"modal-footer\"},[_c('v-btn',{staticClass:\"secondary-action mr-1\",staticStyle:{\"width\":\"140px\"},on:{\"click\":function($event){_vm.productModal = false}}},[_vm._v(\" \"+_vm._s(_vm.$t('global.cancel'))+\" \")]),_c('v-btn',{staticClass:\"primary-action ml-1\",staticStyle:{\"width\":\"140px\"},attrs:{\"disabled\":!_vm.editingProduct.productName},on:{\"click\":function($event){return _vm.save()}}},[_vm._v(\" \"+_vm._s(_vm.$t('global.save'))+\" \")])],1)],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export default class ProductService {\n\n}","<template>\n\t<div id=\"products-widget\">\n\t\t<v-btn icon class=\"close-dialog\" @click=\"$emit('close')\">\n\t\t\t<v-icon>$close</v-icon>\n\t\t</v-btn>\n\t\t<div class=\"modal-padding pb-4\" v-if=\"isReady\">\n\t\t\t<div class=\"modal-title\" style=\"height:24px;line-height:24px\">{{ $t('product.title') }}</div>\n\t\t\t<v-data-table\n\t\t\t\tid=\"products-data-table\"\n\t\t\t\t:items-per-page=\"25\"\n\t\t\t\t:hide-default-footer=\"products.length <= 25\"\n\t\t\t\t:hide-default-header=\"false\"\n\t\t\t\t:headers=\"headers\"\n\t\t\t\t:items=\"products\"\n\t\t\t\titem-key=\"id\"\n\t\t\t\t@click:row=\"selectProduct($event)\"\n\t\t\t\t:mobile-breakpoint=\"0\"\n\t\t\t\t:item-class=\"itemClass\"\n\t\t\t>\n\t\t\t\t<template v-slot:header.manage=\"{}\">\n\t\t\t\t\t<div class=\"row-format ml-auto mr-1\" style=\"justify-content: flex-end\">\n\t\t\t\t\t\t<v-icon size=\"20\" class=\"pointer\"  @click=\"createNewProduct\">$plus</v-icon>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\n\t\t\t\t<template v-slot:item.productName=\"{ item }\">\n\t\t\t\t\t<div class=\"product-name\">{{ item.productName }}</div>\n\t\t\t\t</template>\n\t\t\t\t<template v-slot:item.rate=\"{ item }\">\n\t\t\t\t\t<div>{{ $formatters.decimal(item.rate) }}</div>\n\t\t\t\t</template>\n\t\t\t\t<template v-slot:item.unit=\"{ item }\">\n\t\t\t\t\t<div>{{ item.unit }}</div>\n\t\t\t\t</template>\n\t\t\t\t<template v-slot:item.hourly=\"{ item }\">\n\t\t\t\t\t<div class=\"text-center\">\n\t\t\t\t\t\t<v-icon v-if=\"item.hourly\" small>{{ $t('product.check') }}</v-icon>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t<template v-slot:item.taxable=\"{ item }\">\n\t\t\t\t\t<div class=\"text-center\">\n\t\t\t\t\t\t<v-icon v-if=\"item.taxable\" small>{{ $t('product.check') }}</v-icon>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t\t<template v-slot:item.manage=\"{ item }\">\n\t\t\t\t\t<div class=\"text-right mt-n1\">\n\t\t\t\t\t\t<v-btn icon class=\"edit-icon\" @click.stop=\"editProduct(item)\">\n\t\t\t\t\t\t\t<v-icon color=\"gray_50\" size=\"20\">$edit</v-icon>\n\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t<v-btn icon class=\"delete-icon\" @click.stop=\"deleteProduct(item)\">\n\t\t\t\t\t\t\t<v-icon color=\"var(--v-gray_70-base)\" size=\"20\">$delete</v-icon>\n\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t</v-data-table>\n\n\t\t\t<div class=\"text-left\" style=\"height: 32px;line-height:32px;\">\n\t\t\t\t<v-btn class=\"primary-action ml-n2\" text style=\"width: 140px\" @click=\"createNewProduct()\">\n\t\t\t\t\t<v-icon size=\"14\">$plus</v-icon>\n\t\t\t\t\t<span class=\"ml-1\">{{ $t('global.create-new') }}</span>\n\t\t\t\t</v-btn>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"modal-footer text-center\">\n\t\t\t<v-btn class=\"primary-action\" style=\"width: 140px\" @click=\"cancel()\">\n\t\t\t\t{{ $t('global.close') }}\n\t\t\t</v-btn>\n\t\t</div>\n\t\t<basic-modal :dialog=\"productModal\" @close=\"productModal = false\" :persistent=\"true\">\n\t\t\t<div id=\"edit-product\" class=\"\">\n\t\t\t\t<v-btn icon class=\"close-dialog\" @click=\"productModal = false\">\n\t\t\t\t\t<v-icon>$close</v-icon>\n\t\t\t\t</v-btn>\n\t\t\t\t<div class=\"modal-padding\">\n\t\t\t\t\t<div class=\"modal-title\">{{ $t('product.create-product-title') }}</div>\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\tautofocus\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t:placeholder=\"$t('product.product-name-placeholder')\"\n\t\t\t\t\t\t:label=\"$t('product.product-name-label')\"\n\t\t\t\t\t\tv-model=\"editingProduct.productName\"\n\t\t\t\t\t\t:rules=\"[(value) => !!value || 'Required.']\"\n\t\t\t\t\t/>\n\n\t\t\t\t\t<div class=\"d-flex justify-space-between half\">\n\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t:placeholder=\"$t('product.unit-placeholder')\"\n\t\t\t\t\t\t\t:label=\"$t('product.unit-label')\"\n\t\t\t\t\t\t\tv-model=\"editingProduct.unit\"\n\t\t\t\t\t\t\t:rules=\"[(value) => !!value || 'Required.']\"\n\t\t\t\t\t\t\t:disabled=\"editingProduct.hourly\"\n\t\t\t\t\t\t\tv-if=\"!editingProduct.hourly\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div class=\"h-outline px-2 py-1 mb-2\">\n\t\t\t\t\t\t\t<div class=\"d-flex justify-start align-start\">\n\t\t\t\t\t\t\t\t<v-simple-checkbox v-model=\"editingProduct.hourly\" @click=\"handleHourlyClick()\" />\n\t\t\t\t\t\t\t\t<div class=\"text-left\">\n\t\t\t\t\t\t\t\t\t<label class=\"font-14 font-gray_80 ml-n1\">{{ $t('product.hourly-label') }}</label>\n\t\t\t\t\t\t\t\t\t<!--\t\t\t\t\t\t\t\t\t<div class=\"font-12 font-gray_80\">{{ $t('product.hourly-description') }}</div>-->\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"d-flex justify-space-between half\">\n\t\t\t\t\t\t<v-text-field\n\t\t\t\t\t\t\thide-details\n\t\t\t\t\t\t\tclass=\"h-outline\"\n\t\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t\t:placeholder=\"$t('product.rate-placeholder')\"\n\t\t\t\t\t\t\t:label=\"$t('product.rate-label')\"\n\t\t\t\t\t\t\tv-model=\"editingProduct.rate\"\n\t\t\t\t\t\t\t:rules=\"[(value) => !!value || 'Required.']\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div class=\"h-outline px-2 py-1\">\n\t\t\t\t\t\t\t<div class=\"d-flex justify-start align-start\">\n\t\t\t\t\t\t\t\t<v-simple-checkbox v-model=\"editingProduct.taxable\" />\n\t\t\t\t\t\t\t\t<label class=\"font-14 font-gray_80 ml-n1\">{{ $t('product.taxable-label') }}</label>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t\t<div class=\"modal-footer\">\n\t\t\t\t\t<v-btn class=\"secondary-action mr-1\" style=\"width: 140px\" @click=\"productModal = false\">\n\t\t\t\t\t\t{{ $t('global.cancel') }}\n\t\t\t\t\t</v-btn>\n\t\t\t\t\t<v-btn\n\t\t\t\t\t\tclass=\"primary-action ml-1\"\n\t\t\t\t\t\tstyle=\"width: 140px\"\n\t\t\t\t\t\t:disabled=\"!editingProduct.productName\"\n\t\t\t\t\t\t@click=\"save()\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{{ $t('global.save') }}\n\t\t\t\t\t</v-btn>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</basic-modal>\n\t</div>\n</template>\n\n<script>\n  import ProductService from '@/modules/products/ProductService';\n  import { v4 as uuidv4 } from 'uuid';\n\timport BasicModal from '@/components/BasicModal';\n\timport ConfirmModal from '@/components/ConfirmModal';\n  import {DateTime} from 'luxon';\n\n\texport default {\n\t\tname: 'Products',\n\t\tcomponents: { BasicModal },\n\t\tprops: ['filter','clientId'],\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tproductService: new ProductService(),\n\t\t\t\tDateTime: DateTime,\n\n\t\t\t\tproducts: [],\n\t\t\t\tisReady: false,\n\t\t\t\tproductModal: false,\n\t\t\t\teditingProduct: {},\n\t\t\t\theaders: [\n\t\t\t\t\t{ text: this.$t('product.headers.product-name'), name: 'productName', value: 'productName', sortable: true },\n\t\t\t\t\t{ text: this.$t('product.headers.rate'), name: 'rate', value: 'rate', sortable: true, align: 'right'},\n\t\t\t\t\t{ text: this.$t('product.headers.unit'), name: 'unit', value: 'unit', sortable: true },\n\t\t\t\t\t{ text: this.$t('product.headers.hourly'), name: 'hourly', value: 'hourly', sortable: true, align: 'center' },\n\t\t\t\t\t{\n\t\t\t\t\t\ttext: this.$t('product.headers.taxable'),\n\t\t\t\t\t\tname: 'taxable',\n\t\t\t\t\t\tvalue: 'taxable',\n\t\t\t\t\t\tsortable: true,\n\t\t\t\t\t\talign: 'center',\n\t\t\t\t\t},\n\t\t\t\t\t{ text: '', name: 'manage', value: 'manage', sortable: false },\n\t\t\t\t],\n\n\t\t\t\tsearch: null,\n\t\t\t\t// productActions: [\n\t\t\t\t// \t{ action: 'edit', label: 'Edit' },\n\t\t\t\t// \t{ action: 'select', label: 'Select' },\n\t\t\t\t// \t{ action: 'assignProject', label: 'Select and assign to project...' },\n\t\t\t\t// ],\n\t\t\t\tproduct: null,\n\t\t\t\t// projectId: '',\n\n\n\t\t\t\t// DateTime: DateTime,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getProducts();\n\t\t},\n\n\t\tmethods: {\n\t\t\tgetProducts: function() {\n\t\t\t\tthis.productService.getProducts().then((res) => {\n\t\t\t\t\tthis.products.splice(0, this.products.length);\n\t\t\t\t\tthis.products.push(...res.data);\n\t\t\t\t\tthis.$emit('set-products', this.products);\n\t\t\t\t\tthis.isReady = true;\n\t\t\t\t});\n\t\t\t},\n\n\n\t\t\tcancel: function() {\n\t\t\t\tthis.$emit('close');\n\t\t\t\tsetTimeout(()=>{\n\t\t\t\t\t\tthis.view = 'PRODUCTS';\n\t\t\t\t},\n\t\t\t\t100);\n\t\t\t},\n\t\t\tsave: function() {\n\t\t\t\tif (this.editingProduct.hourly) {\n\t\t\t\t\tthis.editingProduct.unit = 'Hours';\n\t\t\t\t}\n\t\t\t\tif (this.editingProduct.isNew) {\n\t\t\t\t\tthis.productService.postProduct(this.editingProduct).then((res) => {\n\t\t\t\t\t\tthis.products.unshift(res.data);\n\t\t\t\t\t\tthis.editingProduct = {};\n\t\t\t\t\t\t// console.log(this.products);\n\t\t\t\t\t\tthis.productModal = false;\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\tthis.productService.updateProduct(this.editingProduct.id, this.editingProduct).then((res) => {\n\t\t\t\t\t\tlet index = this.products.findIndex((p) => p.id === this.editingProduct.id);\n\t\t\t\t\t\tif (index > -1) {\n\t\t\t\t\t\t\tthis.products.splice(index, 1, res.data);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.productModal = false;\n\t\t\t\t\t\t// console.log(this.products);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t\tcreateNewProduct: function() {\n\t\t\t\tthis.editingProduct = this.initNewProduct();\n\t\t\t\tthis.productModal = true;\n\t\t\t},\n\t\t\teditProduct: function(product) {\n\t\t\t\tthis.editingProduct = product;\n\t\t\t\tthis.productModal = true;\n\t\t\t},\n\t\t\tdeleteProduct: function(product) {\n\t\t\t\tlet binding = {\n\t\t\t\t\theadingText: this.$t('global.confirm'),\n\t\t\t\t\tbodyText: this.$t('product.delete-confirm-body'),\n\t\t\t\t};\n\t\t\t\tthis.$store.state.globalModalController.openModal(ConfirmModal, binding).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tthis.productService.deleteProduct(product.id).then((res) => {\n\t\t\t\t\t\t\tlet index = this.products.findIndex((p) => p.id === product.id);\n\t\t\t\t\t\t\tif (index > -1) {\n\t\t\t\t\t\t\t\tthis.products.splice(index, 1);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tconsole.log(res);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\t\t\thandleHourlyClick: function() {\n\t\t\t\t// if (this.editingProduct.hourly) {\n\t\t\t\t// \tthis.editingProduct.unit = 'Hours';\n\t\t\t\t// } else {\n\t\t\t\t// \tthis.editingProduct.unit = null;\n\t\t\t\t// }\n\t\t\t},\n\n\t\t\tnewId: function() {\n\t\t\t\treturn uuidv4().replace(/-/g, '');\n\t\t\t},\n\t\t\tinitNewProduct: function() {\n\t\t\t\treturn {\n\t\t\t\t\thourly: false,\n\t\t\t\t\tid: this.newId(),\n\t\t\t\t\tproductName: '',\n\t\t\t\t\trate: 0,\n\t\t\t\t\ttaxable: this.$store.state.podAccount.accountPreferences.invoiceUseTax && this.$store.state.podAccount.accountPreferences.defaultTaxRate > 0,\n\t\t\t\t\tunit: '',\n\t\t\t\t\tisNew: true,\n\t\t\t\t};\n\t\t\t},\n\t\t\tselectProduct: function(product) {\n\t\t\t\tthis.$emit('select', {product:product});\n\t\t\t},\n\t\t\tselectProductAndProject: function(product) {\n\t\t\t\tthis.getProjects();\n\t\t\t\tthis.product = product;\n\t\t\t\tthis.view = 'PROJECTS';\n\t\t\t},\n\t\t\tselectProject: function(project) {\n\t\t\t\tthis.$emit('select', { product: this.product, project: project });\n\t\t\t\tthis.view = 'PROJECTS';\n\t\t\t},\n\t\t\titemClass() {\n\t\t\t\treturn 'pointer';\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\n\t\twatch: {},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t#products-widget {\n\t\tmin-width: 420px;\n\t\tbackground-color: var(--background);\n\t\t.v-data-table .v-data-table__wrapper {\n\t\t\ttable tbody tr td {\n\t\t\t\tpadding-top: 12px !important;\n\t\t\t\tpadding-bottom: 4px !important;\n\t\t\t}\n\t\t}\n\t\t.edit-icon, .delete-icon {\n\t\t\t//--icon-color: red;\n\t\t\t//svg {\n\t\t\t//\tcolor: var(--v-gray_80-base);\n\t\t\t//}\n\t\t}\n\t}\n\t#edit-product {\n\t\twidth: 420px;\n\t\tdiv.h-outline {\n\t\t\theight: 52px;\n\t\t\tmargin-top: 4px;\n\t\t\tmargin-bottom: 8px;\n\t\t\twidth: 100%;\n\t\t\talign-items: center;\n\t\t\tdisplay: flex;\n\t\t}\n\t\tdiv.half {\n\t\t\tgap: 12px;\n\t\t\t> div {\n\t\t\t\tflex: 0 1 auto;\n\t\t\t}\n\t\t}\n\t}\n\tdiv.product-name {\n\t\tmax-width: 260px;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\twhite-space:nowrap;\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Products.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Products.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Products.vue?vue&type=template&id=09bf9171\"\nimport script from \"./Products.vue?vue&type=script&lang=js\"\nexport * from \"./Products.vue?vue&type=script&lang=js\"\nimport style0 from \"./Products.vue?vue&type=style&index=0&id=09bf9171&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSimpleCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VDataTable,VIcon,VSimpleCheckbox,VTextField})\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSwitcher.vue?vue&type=style&index=1&id=21f160a6&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Signer.vue?vue&type=style&index=0&id=39f43c00&prod&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormRequestViewer.vue?vue&type=style&index=0&id=2e16f560&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ComponentIcons.vue?vue&type=style&index=0&id=be1d4bce&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FixedPriceProjectList.vue?vue&type=style&index=0&id=129010cd&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./WelcomePage.vue?vue&type=style&index=0&id=9ea709b6&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemDetailsModal.vue?vue&type=style&index=0&id=be2524ec&prod&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HNav.vue?vue&type=style&index=0&id=3a0d7dd3&prod&lang=scss&scoped=true\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Markdown.vue?vue&type=style&index=0&id=0d867969&prod&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.currentProjectLabel)?_c('div',{staticClass:\"item-project-selector\"},[(!_vm.disabled)?_c('v-menu',{attrs:{\"nudge-bottom\":0,\"elevation\":0,\"content-class\":\"project-menu\",\"bottom\":\"\",\"left\":\"\",\"rounded\":\"\",\"offset-overflow\":\"\",\"offset-y\":\"\",\"transition\":\"slide-y-transition\",\"disabled\":_vm.disabled},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"activator-label-wrapper\"},on),[_c('div',{class:'d-flex justify-start activator-label ' + _vm.showHide},[_c('v-icon',{staticClass:\"mr-1 material-symbols-outlined\",attrs:{\"size\":\"16\"}},[_vm._v(\"folder_special\")]),_c('div',{staticClass:\"font-12\"},[_vm._v(_vm._s(_vm.currentProjectLabel))])],1)])]}}],null,false,3203402993)},[_c('div',{staticClass:\"project-menu-items\"},[_vm._l((_vm.projects),function(project,index){return _c('div',{key:index,class:_vm.menuItemClass(project),on:{\"click\":function($event){return _vm.selectProject(project)}}},[_vm._v(\" \"+_vm._s(project.name)+\" \")])}),(_vm.item.projectId)?_c('div',{staticClass:\"menu-item\"},[_c('v-btn',{staticClass:\"primary-action ml-n2 mt-n1\",staticStyle:{\"width\":\"140px\"},attrs:{\"text\":\"\"},on:{\"click\":function($event){return _vm.clearSelection()}}},[_c('v-icon',{attrs:{\"size\":\"14\"}},[_vm._v(\"$close\")]),_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.$t('invoice.clear-project-selection')))])],1)],1):_vm._e()],2)]):_c('div',{class:'d-flex justify-start my-1'},[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"size\":\"16\"}},[_vm._v(\"folder_special\")]),_c('div',{staticClass:\"font-12\",staticStyle:{\"margin-left\":\"2px\",\"cursor\":\"default\",\"color\":\"var(--v-gray_90-base)\"}},[_vm._v(_vm._s(_vm.currentProjectLabel))])],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"item-project-selector\" v-if=\"currentProjectLabel\">\n\t\t<v-menu\n\t\t\t:nudge-bottom=\"0\"\n\t\t\t:elevation=\"0\"\n\t\t\tcontent-class=\"project-menu\"\n\t\t\tbottom\n\t\t\tleft\n\t\t\trounded\n\t\t\toffset-overflow\n\t\t\toffset-y\n\t\t\ttransition=\"slide-y-transition\"\n\t\t\t:disabled=\"disabled\"\n\t\t\tv-if=\"!disabled\"\n\t\t>\n\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t<div v-on=\"on\" class=\"activator-label-wrapper\">\n\t\t\t\t\t<div :class=\"'d-flex justify-start activator-label ' + showHide\">\n\t\t\t\t\t\t<v-icon size=\"16\" class=\"mr-1 material-symbols-outlined\" >folder_special</v-icon>\n\t\t\t\t\t\t<div class=\"font-12\">{{ currentProjectLabel }}</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</template>\n\n\t\t\t<div class=\"project-menu-items\">\n\t\t\t\t<div\n\t\t\t\t\tv-for=\"(project, index) in projects\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t@click=\"selectProject(project)\"\n\t\t\t\t\t:class=\"menuItemClass(project)\"\n\t\t\t\t>\n\t\t\t\t\t{{ project.name }}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"menu-item\" v-if=\"item.projectId\">\n\t\t\t\t\t<v-btn class=\"primary-action ml-n2 mt-n1\" text style=\"width: 140px\" @click=\"clearSelection()\">\n\t\t\t\t\t\t<v-icon size=\"14\">$close</v-icon>\n\t\t\t\t\t\t<span class=\"ml-1\">{{ $t('invoice.clear-project-selection') }}</span>\n\t\t\t\t\t</v-btn>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</v-menu>\n\t\t<div v-else :class=\"'d-flex justify-start my-1'\">\n\t\t\t<v-icon size=\"16\" class=\"material-symbols-outlined\">folder_special</v-icon>\n\t\t\t<div class=\"font-12\" style=\"margin-left: 2px; cursor: default; color: var(--v-gray_90-base)\">{{ currentProjectLabel }}</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport ProjectService from '@/modules/projects/ProjectService';\n\timport {DateTime} from 'luxon';\n\n\texport default {\n\t\tname: 'ProjectSelect',\n\t\tprops: ['clientId', 'item', 'editable','prefix'],\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tprojectService: new ProjectService(),\n\t\t\t\tDateTime: DateTime,\n\t\t\t\tisReady: false,\n\n\t\t\t\tprojectHeaders: [\n\t\t\t\t\t{ text: this.$t('invoice.project-headers.project-name'), name: 'name', value: 'name', sortable: true },\n\t\t\t\t\t{\n\t\t\t\t\t\ttext: this.$t('invoice.project-headers.date-created'),\n\t\t\t\t\t\tname: 'dateCreated',\n\t\t\t\t\t\tvalue: 'dateCreated',\n\t\t\t\t\t\tsortable: true,\n\t\t\t\t\t},\n\t\t\t\t\t{ text: this.$t('invoice.project-headers.due-date'), name: 'dueDate', value: 'dueDate', sortable: true },\n\t\t\t\t],\n\n\t\t\t\tprojects: [],\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getProjects();\n\t\t},\n\n\t\tmethods: {\n\t\t\tgetProjects: function () {\n\t\t\t\tthis.projectService\n\t\t\t\t\t.getProjectsByClient(this.clientId, false)\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tthis.projects.splice(0,this.projects.length);\n\t\t\t\t\t\tthis.projects.push(...res.data.filter(p => p.active));\n\t\t\t\t\t\tfor (let i = 0; i < this.projects.length; i++) {\n\t\t\t\t\t\t\tthis.projects[i].css = '';\n\t\t\t\t\t\t\tif (this.projects[i].id === this.item.projectId) {\n\t\t\t\t\t\t\t\tthis.projects[i].css = 'selected';\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tthis.$store.commit('error', err.response.data.message);\n\t\t\t\t\t});\n\t\t\t},\n\t\t\tselectProject: function (project) {\n\t\t\t\tthis.$emit('select-project', project);\n\t\t\t},\n\t\t\tclearSelection: function () {\n\t\t\t\tlet project = { id: null, name: null };\n\t\t\t\tthis.$emit('select-project', project);\n\t\t\t},\n\t\t\tmenuItemClass(project) {\n\t\t\t\tif (project.id === this.item.projectId) {\n\t\t\t\t\treturn 'menu-item selected';\n\t\t\t\t}\n\t\t\t\treturn 'menu-item';\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tcurrentProjectLabel() {\n\t\t\t\tif (this.item.projectName) {\n\t\t\t\t\tif (this.item.deliverableName === this.item.description) {\n\t\t\t\t\t\treturn (this.prefix ? this.prefix : '') + this.item.projectName;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.item.deliverableName) {\n\t\t\t\t\t\treturn (this.prefix ? this.prefix : '')+ this.item.projectName + ' / ' + this.item.deliverableName;\n\t\t\t\t\t}\n\t\t\t\t\tif (this.item.projectName !== this.item.description) {\n\t\t\t\t\t\treturn (this.prefix ? this.prefix : '')+ this.item.projectName;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (this.item.type === 'ADHOC' && this.editable && this.projects.length > 0) {\n\t\t\t\t\treturn (this.prefix ? this.prefix : '')+ 'Assign to project';\n\t\t\t\t}\n\t\t\t\treturn '';\n\t\t\t},\n\t\t\tshowKanbanIcon() {\n\t\t\t\treturn !this.item.projectId && this.currentProjectLabel;\n\t\t\t},\n\t\t\tshowHide() {\n\t\t\t\tif (!this.item.projectName && this.item.type === 'ADHOC') {\n\t\t\t\t\treturn 'show-hide';\n\t\t\t\t}\n\t\t\t\treturn '';\n\t\t\t},\n\t\t\tdisabled() {\n\t\t\t\treturn this.item.type !== 'ADHOC' || !this.editable || this.projects.length === 0;\n\t\t\t},\n\t\t},\n\n\t\twatch: {},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.item-project-selector {\n\t\tmax-width: 400px;\n\t\t.activator-label-wrapper {\n\t\t\t.activator-label {\n\t\t\t\theight: 20px;\n\t\t\t\tfont-size: 12px;\n\t\t\t\toverflow: hidden;\n\t\t\t\tdisplay: flex;\n\t\t\t\tjustify-content: flex-start;\n\t\t\t}\n\t\t}\n\t}\n\n\t.v-menu__content.project-menu {\n\t\tbackground-color: var(--v-white-base);\n\t\tbackground-opacity: 1;\n\t}\n\n\t.project-menu-items {\n\t\t.menu-item {\n\t\t\theight: 52px;\n\t\t\ttext-align: left;\n\t\t\tpadding: 12px 12px 12px 20px;\n\t\t\tcursor: pointer;\n\t\t\tborder-bottom: 1px solid var(--v-gray_30-base);\n\t\t\tcolor: var(--v-primary-base);\n\t\t\tbackground-color: var(--v-white-base);\n\t\t\tbackground-opacity: 1 !important;\n\n\t\t\t&:hover {\n\t\t\t\tbackground-color: var(--v-gray_20-base);\n\t\t\t}\n\n\t\t\t&.selected {\n\t\t\t\tbackground-color: var(--v-blue_5-base);\n\t\t\t}\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSelect.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectSelect.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ProjectSelect.vue?vue&type=template&id=85b6249e\"\nimport script from \"./ProjectSelect.vue?vue&type=script&lang=js\"\nexport * from \"./ProjectSelect.vue?vue&type=script&lang=js\"\nimport style0 from \"./ProjectSelect.vue?vue&type=style&index=0&id=85b6249e&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBtn,VIcon,VMenu})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProposalDetails.vue?vue&type=style&index=0&id=28845975&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsLanguage.vue?vue&type=style&index=1&id=1985a90c&prod&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeftNav.vue?vue&type=style&index=0&id=562a40fa&prod&lang=scss\"","export default  {\n\n    data() {\n        return {\n            isValid: false,\n            inputRequired: [(v) => !!v || 'Required']\n        };\n    },\n\n    methods: {\n        validate: function () {\n            if(!this.isConditionMet) {\n                return true\n            }\n            if(this.$refs.form) {\n                return this.$refs.form.validate();\n            }else{\n                return true;\n            }\n        },\n\n        getCurrentResult: function(id,results){\n            if(results && id) {\n                let result = results.find(r => r.item.id === id);\n                if (result) {\n                    return result.value;\n                }\n            }\n            return null;\n        },\n\n        checkSingleCondition: function(cond) {\n            return this.results.some(res => {\n                if (res.item.fieldName === cond.fieldName) {\n                    switch (cond.operation) {\n                        case \"is\":\n                            return res.value === cond.answer;\n                        case \"isn't\":\n                            return res.value !== cond.answer;\n                        case \"is answered\":\n                            return !!res.value;\n                        case \"isn't answered\":\n                            return !res.value;\n                        case \"contains\":\n                            return res.value && res.value.includes(cond.answer);\n                        case \"doesn't contain\":\n                            return !res.value || !res.value.includes(cond.answer);\n                        default:\n                            return false;\n                    }\n                }\n                return false;\n            });\n        },\n\n        colConditionMet: function(colItem) {\n            if(this.builder) {\n                return true\n            }\n            if(colItem.conditionsEnabled && colItem.conditions.length) {\n                if (colItem.conditionalType === \"and\") {\n                    return colItem.conditions.every(cond => this.checkSingleCondition(cond));\n                }\n                else {\n                    return colItem.conditions.some(cond => this.checkSingleCondition(cond));\n                }\n            }else{\n                return true;\n            }\n        }\n    },\n\n    computed: {\n        isConditionMet: function(){\n            return this.colConditionMet(this.item)\n        },\n\n        outlined: function(){\n            return this.styles.inputStyle === 'outlined';\n        },\n\n        filled: function(){\n            return this.styles.inputStyle === 'filled';\n        },\n\n        solo: function(){\n            return this.styles.inputStyle === 'solo';\n        },\n\n        showConditionalHelper: function(){\n          return this.builder &&  this.item.conditionsEnabled && this.item.conditions.length;\n        }\n    },\n}","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticStyle:{\"margin-top\":\"16px\",\"margin-bottom\":\"16px\"},on:{\"click\":function($event){$event.stopPropagation();}}},[_c('input',{ref:\"fileInput\",staticStyle:{\"display\":\"none\"},attrs:{\"type\":\"file\",\"multiple\":\"\"},on:{\"change\":_vm.handleFiles}}),(_vm.filteredItems.length === 0)?_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\"No uploaded file attachments.\")])],1):_vm._e(),_vm._l((_vm.filteredItems),function(item){return [_c('v-row',{key:'main' + item.id,staticClass:\"pb-1\",staticStyle:{\"border-radius\":\"4px\"},on:{\"contextmenu\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.showContextMenu($event, item)}}},[_c('v-col',{style:(`padding-left: ${_vm.depth * 16}px`),attrs:{\"cols\":\"6\"}},[_c('div',{staticClass:\"row-format align-center gap-1\",attrs:{\"draggable\":\"true\",\"data-drop-enabled\":_vm.readOnly ? 'false' : 'true',\"data-asset-type\":item.assetType,\"data-asset-id\":item.id,\"id\":item.id},on:{\"dragover\":_vm.handleDragOver,\"drop\":_vm.handleDrop,\"dragstart\":_vm.handleDragStart,\"dragenter\":_vm.handleDragEnter,\"dragleave\":_vm.handleDragLeave}},[(item.assetType === 'Folder')?_c('div',{staticClass:\"row-format align-center pointer\",on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle(item)}}},[(_vm.isExpanded(item))?_c('v-icon',{staticClass:\"material-symbols-rounded\",attrs:{\"size\":\"20\"}},[_vm._v(\"keyboard_arrow_down\")]):_c('v-icon',{staticClass:\"material-symbols-rounded\",attrs:{\"size\":\"20\"}},[_vm._v(\"chevron_right\")])],1):_c('div',{staticStyle:{\"display\":\"inline-block\",\"width\":\"20px\"}}),(item.assetType === 'Folder')?_c('div',{on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle(item)}}},[_c('v-icon',{staticClass:\"material-symbols-rounded pointer\",attrs:{\"color\":item.isDeleted || _vm.parentDeleted ? 'gray_40' : '',\"size\":\"20\"}},[_vm._v(_vm._s(_vm.isExpanded(item) ? 'folder_open' : 'folder'))])],1):_vm._e(),(item.assetType === 'File')?_c('img',{staticStyle:{\"max-width\":\"20px\",\"max-height\":\"20px\"},style:(item.isDeleted || _vm.parentDeleted ? 'opacity: 0.4' : ''),attrs:{\"src\":item.fileIconUrl,\"alt\":\"icon\",\"draggable\":\"false\"}}):_vm._e(),_c('div',{staticClass:\"row-format align-center\",staticStyle:{\"max-width\":\"100%\"}},[_c('div',{directives:[{name:\"tippy\",rawName:\"v-tippy\"}],class:`font-14 text-left ${item.isDeleted || _vm.parentDeleted ? 'deleted-item' : ''}`,staticStyle:{\"cursor\":\"text\"},attrs:{\"contenteditable\":item.isDeleted || _vm.parentDeleted || _vm.isDragging || _vm.readOnly ? 'false' : 'true',\"content\":item.notes},on:{\"mousedown\":_vm.handleMouseDown,\"input\":function($event){return _vm.handleInput($event, item)},\"keydown\":function($event){return _vm.preventLineBreak($event)},\"blur\":function($event){return _vm.saveName(item)}}},[_vm._v(\" \"+_vm._s(item.name)+\" \")])])])]),_c('v-col',{directives:[{name:\"tippy\",rawName:\"v-tippy\"}],staticClass:\"font-14 text-left nowrap truncate\",attrs:{\"cols\":\"2\",\"content\":_vm.DateTime.fromISO(item.updated).toLocaleString(_vm.DateTime.DATETIME_SHORT)}},[_vm._v(_vm._s(_vm.$formatters.formatForTimeAgo(item.updated)))]),_c('v-col',{directives:[{name:\"tippy\",rawName:\"v-tippy\"}],staticClass:\"font-14 text-left nowrap truncate\",attrs:{\"cols\":\"2\",\"content\":item.size ? _vm.$formatters.formatBytes(item.size) : null}},[_vm._v(_vm._s(item.size ? _vm.$formatters.formatBytes(item.size) : '--'))]),_c('v-col',{staticClass:\"font-14 text-left nowrap truncate\",attrs:{\"cols\":\"1\"}},[_vm._v(\" \"+_vm._s(item.versions && item.versions.length ? item.versions.length : '--')+\" \")]),_c('v-col',{attrs:{\"cols\":\"1\"}},[_c('v-icon',{staticClass:\"pointer\",attrs:{\"size\":20},on:{\"click\":function($event){$event.stopPropagation();return _vm.showContextMenu($event, item, true)}}},[_vm._v(\"$moreHorizontal\")])],1)],1),(item.assetType === 'Folder' && _vm.isExpanded(item))?_c('file-system',{key:'children' + item.id,ref:'children-' + item.id,refInFor:true,attrs:{\"parent-folder-id\":item.id,\"show-deleted\":_vm.showDeleted,\"parent-deleted\":item.isDeleted || _vm.parentDeleted,\"depth\":_vm.depth + 1,\"is-dragging\":_vm.isDragging,\"sort-by\":_vm.sortBy,\"sort-dir\":_vm.sortDir}}):_vm._e()]}),(_vm.depth === 0)?_c('div',{staticClass:\"py-3\",attrs:{\"data-drop-enabled\":\"true\",\"data-asset-type\":\"Folder\",\"data-asset-id\":_vm.parentFolderId},on:{\"dragover\":_vm.handleDragOver,\"drop\":_vm.handleDrop,\"dragstart\":_vm.handleDragStart,\"dragenter\":_vm.handleDragEnter,\"dragleave\":_vm.handleDragLeave,\"click\":function($event){$event.stopPropagation();},\"contextmenu\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.showContextMenu($event, null)}}}):_vm._e(),_c('v-menu',{attrs:{\"position-x\":_vm.contextMenu.x,\"position-y\":_vm.contextMenu.y,\"absolute\":\"\",\"offset-y\":\"\"},model:{value:(_vm.contextMenu.visible),callback:function ($$v) {_vm.$set(_vm.contextMenu, \"visible\", $$v)},expression:\"contextMenu.visible\"}},[_c('div',{staticClass:\"context-menu\"},[(_vm.contextActionItem && _vm.contextActionItem.assetType === 'File' && _vm.isImageType)?_c('div',{staticClass:\"context-menu-item\",on:{\"click\":_vm.openFile}},[_vm._v(\" Open \")]):_vm._e(),(_vm.contextActionItem && _vm.contextActionItem.assetType === 'File')?_c('div',{staticClass:\"context-menu-item\",on:{\"click\":_vm.downloadFile}},[_vm._v(\" Download \")]):_vm._e(),(_vm.contextActionItem && _vm.contextActionItem.assetType === 'File')?_c('div',{staticStyle:{\"border-top\":\"1px solid var(--v-gray_30-base)\"}}):_vm._e(),(!_vm.contextMenu.moreMenu && !_vm.readOnly && (!_vm.contextActionItem || !_vm.contextActionItem.isDeleted))?_c('div',{staticClass:\"context-menu-item\",on:{\"click\":_vm.handleUploadFile}},[_vm._v(\" Upload file \")]):_vm._e(),(!_vm.contextMenu.moreMenu && !_vm.readOnly && (!_vm.contextActionItem || !_vm.contextActionItem.isDeleted))?_c('div',{staticClass:\"context-menu-item\",on:{\"click\":_vm.handleNewFolder}},[_vm._v(\" New folder \")]):_vm._e(),_c('div',{staticStyle:{\"border-top\":\"1px solid var(--v-gray_30-base)\"}}),(!_vm.readOnly && _vm.contextActionItem)?_c('div',{staticClass:\"context-menu-item\",on:{\"click\":_vm.deleteItem}},[_vm._v(\"Delete\")]):_vm._e()])]),(_vm.lightBoxUrl)?_c('light-box',{attrs:{\"url\":_vm.lightBoxUrl,\"file-name\":_vm.lightBoxFileName},on:{\"close\":function($event){return _vm.closeLightBox()}}}):_vm._e()],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"lightbox-overlay\",on:{\"click\":function($event){if($event.target !== $event.currentTarget)return null;return _vm.close.apply(null, arguments)}}},[_c('div',{staticClass:\"lightbox-content\"},[_c('button',{staticClass:\"close-button\",on:{\"click\":_vm.close}},[_c('v-icon',{attrs:{\"color\":\"white\"}},[_vm._v(\"close\")])],1),(_vm.isPdf)?_c('div',{staticClass:\"pdf-container\"},[_c('iframe',{staticStyle:{\"min-width\":\"100%\",\"min-height\":\"100%\"},attrs:{\"src\":_vm.url,\"frameborder\":\"0\",\"height\":\"100%\",\"width\":\"100%\"}})]):_c('div',{staticClass:\"image-container\"},[_c('img',{attrs:{\"src\":_vm.url,\"alt\":\"Lightbox Image\"}})])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"lightbox-overlay\" @click.self=\"close\">\n\t\t<div class=\"lightbox-content\">\n\t\t\t<button class=\"close-button\" @click=\"close\"><v-icon color=\"white\">close</v-icon></button>\n\t\t\t<div v-if=\"isPdf\" class=\"pdf-container\">\n\t\t\t\t<iframe :src=\"url\" frameborder=\"0\" height=\"100%\" width=\"100%\" style=\"min-width:100%; min-height:100%;\"></iframe>\n\t\t\t</div>\n\t\t\t<div v-else class=\"image-container\">\n\t\t\t\t<img :src=\"url\" alt=\"Lightbox Image\" />\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nexport default {\n\tname: \"LightBox\",\n\tprops: {\n\t\turl: {\n\t\t\ttype: String,\n\t\t\trequired: true\n\t\t},\n\t\tfileName: {\n\t\t\ttype: String,\n\t\t\trequired: true\n\t\t}\n\t},\n\tcomputed: {\n\t\t// Checks if the URL ends with '.pdf' (case insensitive)\n\t\tisPdf() {\n\t\t\treturn this.fileName.toLowerCase().endsWith('.pdf');\n\t\t}\n\t},\n\tmethods: {\n\t\tclose() {\n\t\t\tthis.$emit(\"close\");\n\t\t}\n\t}\n};\n</script>\n\n<style scoped>\n.lightbox-overlay {\n\tposition: fixed;\n\ttop: 0;\n\tleft: 0;\n\twidth: 100vw;\n\theight: 100vh;\n\tmin-width: 100vw;\n\tmin-height: 100vh;\n\tbackground-color: rgba(0, 0, 0, 0.8);\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tz-index: 1000;\n}\n\n.lightbox-content {\n\tposition: relative;\n\tmin-width: 95%;\n\tmin-height: 95%;\n\twidth: 95%;\n\theight: 95%;\n\tbackground: var(--v-black-base);\n\toverflow: hidden;\n\tborder-radius: 4px;\n}\n\n.pdf-container {\n\twidth: 100%;\n\theight: 100%;\n\tmin-height: 100%;\n\tmin-width: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.image-container {\n\tmax-height: 100%;\n\tmax-width: 100%;\n\theight: 100%;\n\twidth: 100%;\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n}\n\n.image-container img {\n\tmax-width: 100%;\n\tmax-height: 100%;\n\twidth: auto;\n\theight: auto;\n\tdisplay: block;\n}\n\n.pdf-container {\n\twidth: 100%;\n\theight: 100%;\n\tmin-height: 100%;\n\tmin-width: 100%;\n}\n\n.pdf-container iframe {\n\tdisplay: block;\n\twidth: 100%;\n\theight: 100%;\n\tmin-height: 100%;\n\tmin-width: 100%;\n}\n\n.close-button {\n\tposition: absolute;\n\ttop: 5px;\n\tright: 5px;\n\tbackground: transparent;\n\tborder: none;\n\tfont-size: 20px;\n\tcursor: pointer;\n}\n</style>","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LightBox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LightBox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LightBox.vue?vue&type=template&id=18c68cfb&scoped=true\"\nimport script from \"./LightBox.vue?vue&type=script&lang=js\"\nexport * from \"./LightBox.vue?vue&type=script&lang=js\"\nimport style0 from \"./LightBox.vue?vue&type=style&index=0&id=18c68cfb&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"18c68cfb\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","<template>\n\t<div style=\"margin-top:16px; margin-bottom: 16px\" @click.stop>\n\t\t<input type=\"file\" ref=\"fileInput\" multiple style=\"display: none;\" @change=\"handleFiles\" />\n    <v-row v-if=\"filteredItems.length === 0\">\n      <v-col cols=\"12\">No uploaded file attachments.</v-col>\n    </v-row>\n    <template v-for=\"(item) in filteredItems\">\n\t\t\t<v-row @contextmenu.stop.prevent=\"showContextMenu($event, item)\" :key=\"'main' + item.id\" class=\"pb-1\" style=\"border-radius: 4px\">\n\t\t\t\t<v-col cols=\"6\" class=\"\" :style=\"`padding-left: ${depth * 16}px`\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"row-format align-center gap-1\"\n\t\t\t\t\t\t@dragover=\"handleDragOver\"\n\t\t\t\t\t\t@drop=\"handleDrop\"\n\t\t\t\t\t\t@dragstart=\"handleDragStart\"\n\t\t\t\t\t\t@dragenter=\"handleDragEnter\"\n\t\t\t\t\t\t@dragleave=\"handleDragLeave\"\n\t\t\t\t\t\tdraggable=\"true\"\n\t\t\t\t\t\t:data-drop-enabled=\"readOnly ? 'false' : 'true'\"\n\t\t\t\t\t\t:data-asset-type=\"item.assetType\"\n\t\t\t\t\t\t:data-asset-id=\"item.id\"\n\t\t\t\t\t\t:id=\"item.id\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tv-if=\"item.assetType === 'Folder'\"\n\t\t\t\t\t\t\t@click.stop=\"toggle(item)\"\n\t\t\t\t\t\t\tclass=\"row-format align-center pointer\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<v-icon v-if=\"isExpanded(item)\" class=\"material-symbols-rounded\" size=\"20\"\n\t\t\t\t\t\t\t\t>keyboard_arrow_down</v-icon\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<v-icon v-else class=\"material-symbols-rounded\" size=\"20\">chevron_right</v-icon>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<div v-else style=\"display: inline-block; width: 20px;\"></div>\n\t\t\t\t\t\t<div v-if=\"item.assetType === 'Folder'\" @click.stop=\"toggle(item)\">\n\t\t\t\t\t\t\t<v-icon\n\t\t\t\t\t\t\t\tclass=\"material-symbols-rounded pointer\"\n\t\t\t\t\t\t\t\t:color=\"item.isDeleted || parentDeleted ? 'gray_40' : ''\"\n\t\t\t\t\t\t\t\tsize=\"20\"\n\t\t\t\t\t\t\t\t>{{ isExpanded(item) ? 'folder_open' : 'folder' }}</v-icon\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tv-if=\"item.assetType === 'File'\"\n\t\t\t\t\t\t\t:src=\"item.fileIconUrl\"\n\t\t\t\t\t\t\talt=\"icon\"\n\t\t\t\t\t\t\tdraggable=\"false\"\n\t\t\t\t\t\t\tstyle=\"max-width: 20px; max-height: 20px\"\n\t\t\t\t\t\t\t:style=\"item.isDeleted || parentDeleted ? 'opacity: 0.4' : ''\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div class=\"row-format align-center\" style=\"max-width: 100%\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tstyle=\"cursor: text;\"\n\t\t\t\t\t\t\t\t:contenteditable=\"item.isDeleted || parentDeleted || isDragging || readOnly ? 'false' : 'true'\"\n\t\t\t\t\t\t\t\t:class=\"`font-14 text-left ${item.isDeleted || parentDeleted ? 'deleted-item' : ''}`\"\n\t\t\t\t\t\t\t\t@mousedown=\"handleMouseDown\"\n\t\t\t\t\t\t\t\t@input=\"handleInput($event, item)\"\n\t\t\t\t\t\t\t\t@keydown=\"preventLineBreak($event)\"\n\t\t\t\t\t\t\t\t@blur=\"saveName(item)\"\n\t\t\t\t\t\t\t\tv-tippy :content=\"item.notes\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{{ item.name }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<!--v-icon v-if=\"item.shareInPortal\"  size=\"16\" class=\"ml-2\" color=\"gray_40\"\n\t\t\t\t\t\t\t\t>contacts</v-icon\n\t\t\t\t\t\t\t-->\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</v-col>\n\t\t\t\t<v-col\n\t\t\t\t\tcols=\"2\"\n\t\t\t\t\tclass=\"font-14 text-left nowrap truncate\"\n\t\t\t\t\tv-tippy\n\t\t\t\t\t:content=\"DateTime.fromISO(item.updated).toLocaleString(DateTime.DATETIME_SHORT)\"\n\t\t\t\t\t>{{ $formatters.formatForTimeAgo(item.updated) }}</v-col\n\t\t\t\t>\n\t\t\t\t<v-col\n\t\t\t\t\tcols=\"2\"\n\t\t\t\t\tclass=\"font-14 text-left nowrap truncate\"\n\t\t\t\t\tv-tippy\n\t\t\t\t\t:content=\"item.size ? $formatters.formatBytes(item.size) : null\"\n\t\t\t\t\t>{{ item.size ? $formatters.formatBytes(item.size) : '--' }}</v-col\n\t\t\t\t>\n\t\t\t\t<v-col cols=\"1\" class=\"font-14 text-left nowrap truncate\">\n          {{item.versions && item.versions.length ? item.versions.length : '--' }}\n        </v-col>\n        <v-col cols=\"1\">\n          <v-icon :size=\"20\" class=\"pointer\" @click.stop=\"showContextMenu($event, item, true)\">$moreHorizontal</v-icon>\n        </v-col>\n\t\t\t</v-row>\n\t\t\t<file-system\n\t\t\t\t:key=\"'children' + item.id\"\n\t\t\t\t:ref=\"'children-' + item.id\"\n\t\t\t\tv-if=\"item.assetType === 'Folder' && isExpanded(item)\"\n\t\t\t\t:parent-folder-id=\"item.id\"\n\t\t\t\t:show-deleted=\"showDeleted\"\n\t\t\t\t:parent-deleted=\"item.isDeleted || parentDeleted\"\n\t\t\t\t:depth=\"depth + 1\"\n\t\t\t\t:is-dragging=\"isDragging\"\n\t\t\t\t:sort-by=\"sortBy\"\n\t\t\t\t:sort-dir=\"sortDir\"\n\t\t\t></file-system>\n\t\t</template>\n\t\t<div\n\t\t\tv-if=\"depth === 0\"\n\t\t\tclass=\"py-3\"\n\t\t\t@dragover=\"handleDragOver\"\n\t\t\t@drop=\"handleDrop\"\n\t\t\t@dragstart=\"handleDragStart\"\n\t\t\t@dragenter=\"handleDragEnter\"\n\t\t\t@dragleave=\"handleDragLeave\"\n\t\t\t@click.stop\n\t\t\t@contextmenu.stop.prevent=\"showContextMenu($event, null)\"\n\t\t\tdata-drop-enabled=\"true\"\n\t\t\tdata-asset-type=\"Folder\"\n\t\t\t:data-asset-id=\"parentFolderId\"\n\t\t></div>\n\n\t\t<v-menu v-model=\"contextMenu.visible\" :position-x=\"contextMenu.x\" :position-y=\"contextMenu.y\" absolute offset-y>\n\t\t\t<div class=\"context-menu\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"context-menu-item\"\n\t\t\t\t\t@click=\"openFile\"\n\t\t\t\t\tv-if=\"contextActionItem && contextActionItem.assetType === 'File' && isImageType\"\n\t\t\t\t>\n\t\t\t\t\tOpen\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tclass=\"context-menu-item\"\n\t\t\t\t\t@click=\"downloadFile\"\n\t\t\t\t\tv-if=\"contextActionItem && contextActionItem.assetType === 'File'\"\n\t\t\t\t>\n\t\t\t\t\tDownload\n\t\t\t\t</div>\n\t\t\t\t<div\n\t\t\t\t\tv-if=\"contextActionItem && contextActionItem.assetType === 'File'\"\n\t\t\t\t\tstyle=\"border-top: 1px solid var(--v-gray_30-base)\"\n\t\t\t\t></div>\n\t\t\t\t<div\n\t\t\t\t\tclass=\"context-menu-item\"\n\t\t\t\t\t@click=\"handleUploadFile\"\n\t\t\t\t\tv-if=\"!contextMenu.moreMenu && !readOnly && (!contextActionItem || !contextActionItem.isDeleted)\"\n\t\t\t\t>\n\t\t\t\t\tUpload file\n\t\t\t\t</div>\n\t\t\t\t<div class=\"context-menu-item\" @click=\"handleNewFolder\" v-if=\"!contextMenu.moreMenu && !readOnly && (!contextActionItem || !contextActionItem.isDeleted)\">\n\t\t\t\t\tNew folder\n\t\t\t\t</div>\n\t\t\t\t<div style=\"border-top: 1px solid var(--v-gray_30-base)\"></div>\n\t\t\t\t<!--div class=\"context-menu-item\" @click=\"unDeleteItem\" v-if=\"!readOnly && (contextActionItem && contextActionItem.isDeleted)\">\n\t\t\t\t\tUndelete\n\t\t\t\t</div-->\n\t\t\t\t<div class=\"context-menu-item\" @click=\"deleteItem\" v-if=\"!readOnly && contextActionItem\">Delete</div>\n\t\t\t\t<!--div class=\"context-menu-item\" @click=\"toggleShowDeleted\" v-if=\"!readOnly\">\n\t\t\t\t\t{{ showDeleted ? 'Hide deleted' : 'Show deleted' }}\n\t\t\t\t</div-->\n\t\t\t</div>\n\t\t</v-menu>\n\t\t<light-box v-if=\"lightBoxUrl\" :url=\"lightBoxUrl\" :file-name=\"lightBoxFileName\" @close=\"closeLightBox()\"></light-box>\n\t</div>\n</template>\n\n<script>\n\timport FileSystemService from '@/modules/files/FileSystemService';\n\timport ConfirmModal from '@/components/ConfirmModal';\n\timport { DateTime } from 'luxon';\n\timport axios from 'axios';\n\timport LightBox from '@/modules/files/LightBox';\n\n\texport default {\n\t\tname: 'FileSystem',\n\n\t\tprops: {\n\t\t\tparentFolderId: {\n\t\t\t\ttype: String,\n\t\t\t\tdefault: null,\n\t\t\t},\n      showDeleted: {\n        type: Boolean,\n        default: false,\n      },\n      readOnly: {\n        type: Boolean,\n        default: false,\n      },\n\t\t\tparentDeleted: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tisDragging: {\n\t\t\t\ttype: Boolean,\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tdepth: {\n\t\t\t\ttype: Number,\n\t\t\t\tdefault: 0,\n\t\t\t},\n\t\t\tsortBy: {\n\t\t\t\ttype: String,\n\t\t\t\tdefault: 'name'\n\t\t\t},\n\t\t\tsortDir: {\n\t\t\t\ttype: String,\n\t\t\t\tdefault: 'desc',\n\t\t\t},\n\t\t},\n\n\t\t// Recursive component registration\n\t\tcomponents: {\n\t\t\tLightBox,\n\t\t\tFileSystem: () => import('./FileSystem.vue'),\n\t\t},\n\n\t\tdata() {\n\t\t\treturn {\n\t\t\t\tDateTime: DateTime,\n\t\t\t\tfileSystemService: new FileSystemService(),\n\t\t\t\titems: [],\n\t\t\t\tisLoading: false,\n\t\t\t\t// Tracks expanded folders in the nested view (using item.id as key)\n\t\t\t\texpandedFolders: {},\n\t\t\t\tcontextActionItem: null,\n\t\t\t\tuploadFileFolderId: null,\n\t\t\t\tcontextMenu: {\n          moreMenu: false,\n\t\t\t\t\tvisible: false,\n\t\t\t\t\tx: 0,\n\t\t\t\t\ty: 0,\n\t\t\t\t\t// folder: null, // If needed later to track right-clicked folder\n\t\t\t\t},\n\t\t\t\tlightBoxUrl: null,\n\t\t\t\tlightBoxFileName: null,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.fetchFolderContents();\n\t\t\t// Hide context menu on any click outside it\n\t\t\tdocument.addEventListener('click', this.hideContextMenu);\n\t\t\tthis.$store.state.eventBus.$on('file-system-move-event', this.handleMoveEvent);\n\t\t},\n\n\t\tbeforeDestroy() {\n\t\t\tdocument.removeEventListener('click', this.hideContextMenu);\n\t\t\tthis.$store.state.eventBus.$off('file-system-move-event', this.handleMoveEvent);\n\t\t},\n\n\t\tmethods: {\n\t\t\ttoggleShowDeleted: function() {\n\t\t\t\tthis.$store.state.eventBus.$emit('file-system-toggle-deleted');\n\t\t\t\tthis.hideContextMenu();\n\t\t\t},\n\n\t\t\tcloseLightBox: function() {\n\t\t\t\tthis.lightBoxUrl = null;\n\t\t\t\tthis.lightBoxFileName = null;\n\t\t\t},\n\n\t\t\topenFile: function() {\n\t\t\t\tlet fileAsset = this.contextActionItem;\n\t\t\t\tthis.fileSystemService\n\t\t\t\t\t.getSignedUrl(fileAsset.id, false)\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tconsole.log(res.data);\n\t\t\t\t\t\tthis.lightBoxUrl = res.data;\n\t\t\t\t\t\tthis.lightBoxFileName = fileAsset.name;\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => this.hideContextMenu());\n\t\t\t},\n\n\t\t\tdownloadFile: function() {\n\t\t\t\tlet fileAsset = this.contextActionItem;\n\t\t\t\tthis.fileSystemService\n\t\t\t\t\t.getSignedUrl(fileAsset.id, true)\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tlet signedUrl = res.data;\n\n\t\t\t\t\t\taxios({\n\t\t\t\t\t\t\turl: signedUrl, //your url\n\t\t\t\t\t\t\tmethod: 'GET',\n\t\t\t\t\t\t\tresponseType: 'blob', // important\n\t\t\t\t\t\t}).then((response) => {\n\t\t\t\t\t\t\tconst url = window.URL.createObjectURL(new Blob([response.data]));\n\t\t\t\t\t\t\tconst link = document.createElement('a');\n\t\t\t\t\t\t\tlink.href = url;\n\t\t\t\t\t\t\tlink.setAttribute('download', fileAsset.name);\n\t\t\t\t\t\t\tdocument.body.appendChild(link);\n\t\t\t\t\t\t\tlink.click();\n\t\t\t\t\t\t});\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => this.hideContextMenu());\n\t\t\t},\n\n\t\t\thandleMoveEvent: function(fileAsset) {\n\t\t\t\tlet ix = this.items.findIndex((i) => i.id === fileAsset.id);\n\n\t\t\t\tif (fileAsset.parentFolderId === this.parentFolderId) {\n\t\t\t\t\tif (ix === -1) {\n\t\t\t\t\t\tthis.items.push(fileAsset);\n\t\t\t\t\t}\n\t\t\t\t} else if (ix > -1) {\n\t\t\t\t\tthis.items.splice(ix, 1);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tfetchFolderContents() {\n\t\t\t\tthis.isLoading = true;\n\t\t\t\tthis.fileSystemService\n\t\t\t\t\t.list(this.parentFolderId)\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tthis.items.splice(0);\n\t\t\t\t\t\tthis.items.push(...res.data);\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => (this.isLoading = false));\n\t\t\t},\n\n      sortItems(itemArray) {\n        itemArray.sort((a, b) => {\n          let valA = a[this.sortBy];\n          let valB = b[this.sortBy];\n\n          // Handle null/undefined values\n          if (valA == null && valB == null) return 0;\n          if (valA == null) return this.sortDir === 'asc' ? -1 : 1;\n          if (valB == null) return this.sortDir === 'asc' ? 1 : -1;\n\n          // If both are strings, convert to lower case for case-insensitive comparison.\n          if (typeof valA === 'string' && typeof valB === 'string') {\n            valA = valA.toLowerCase();\n            valB = valB.toLowerCase();\n          }\n\n          if (valA < valB) return this.sortDir === 'asc' ? -1 : 1;\n          if (valA > valB) return this.sortDir === 'asc' ? 1 : -1;\n          return 0;\n        });\n      },\n\n\t\t\thandleMouseDown(event) {\n\t\t\t\tif (event.button === 2) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandleInput(event, item) {\n\t\t\t\titem.temporaryName = event.target.innerText;\n\t\t\t},\n\n\t\t\tpreventLineBreak(e) {\n\t\t\t\tconst forbiddenKeys = ['Enter', 'Tab'];\n\t\t\t\tif (forbiddenKeys.includes(e.key)) {\n\t\t\t\t\te.preventDefault();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// Helper function to check if drag is enabled for this folder\n\t\t\tisDropEnabled(event) {\n\t\t\t\treturn event.currentTarget.dataset.dropEnabled === 'true';\n\t\t\t},\n\n\t\t\thandleDragStart(e) {\n\t\t\t\tconsole.log('starting to drag ' + e.target.id);\n\t\t\t\te.dataTransfer.setData('text/plain', e.target.id);\n\t\t\t},\n\n\t\t\thandleDragEnter(e) {\n\t\t\t\tif (!this.isDropEnabled(e)) return;\n\t\t\t\te.preventDefault();\n\t\t\t\te.currentTarget.classList.add('highlight');\n\t\t\t},\n\n\t\t\thandleDragLeave(e) {\n\t\t\t\tif (!this.isDropEnabled(e)) return;\n\t\t\t\te.currentTarget.classList.remove('highlight');\n\t\t\t},\n\n\t\t\thandleDragOver(e) {\n\t\t\t\tif (!this.isDropEnabled(e)) return;\n\t\t\t\te.preventDefault();\n\t\t\t\te.dataTransfer.dropEffect = 'copy'; // Indicate that files will be copied\n\t\t\t},\n\n\t\t\thandleDrop(e) {\n\t\t\t\tif (!this.isDropEnabled(e)) return;\n\t\t\t\te.preventDefault();\n\t\t\t\te.currentTarget.classList.remove('highlight');\n\t\t\t\tlet sourceId = e.dataTransfer.getData('text/plain');\n\n\t\t\t\tif (e.dataTransfer.files && e.dataTransfer.files.length > 0) {\n\t\t\t\t\tlet uploadFolderId = e.currentTarget.dataset.assetId;\n\t\t\t\t\tthis.uploadFiles(uploadFolderId, e.dataTransfer.files);\n\t\t\t\t} else if (sourceId && e.currentTarget.dataset.assetType === 'Folder') {\n\t\t\t\t\tlet targetId = e.currentTarget.dataset.assetId;\n\n\t\t\t\t\tif (targetId !== sourceId) {\n\t\t\t\t\t\tthis.fileSystemService.move(sourceId, targetId).then((res) => {\n\t\t\t\t\t\t\tthis.$store.state.eventBus.$emit('file-system-move-event', res.data);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}else if(sourceId && e.currentTarget.dataset.assetType === 'File'){\n\t\t\t\t\tlet targetId = this.parentFolderId;\n\t\t\t\t\tif (targetId !== sourceId) {\n\t\t\t\t\t\tthis.fileSystemService.move(sourceId, targetId).then((res) => {\n\t\t\t\t\t\t\tthis.$store.state.eventBus.$emit('file-system-move-event', res.data);\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\thandleUploadFile() {\n\t\t\t\tthis.uploadFileFolderId =\n\t\t\t\t\tthis.contextActionItem && this.contextActionItem.assetType === 'Folder'\n\t\t\t\t\t\t? this.contextActionItem.id\n\t\t\t\t\t\t: this.parentFolderId;\n\t\t\t\tthis.hideContextMenu();\n\t\t\t\tthis.$refs.fileInput.click();\n\t\t\t},\n\n\t\t\thandleFiles(event) {\n\t\t\t\tlet files = event.target.files;\n\t\t\t\tlet uploadFileFolderId = this.uploadFileFolderId;\n\t\t\t\tthis.uploadFiles(uploadFileFolderId, files);\n\t\t\t\tthis.$refs.fileInput.value = '';\n\t\t\t},\n\n\t\t\tasync uploadFiles(uploadFileFolderId, files) {\n\t\t\t\tlet ourFiles = [];\n\n        for(let i=0; i < files.length; i++){\n          ourFiles.push(files[i]);\n        }\n\n\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\ttry {\n\t\t\t\t\tlet uploadedFiles = [];\n\t\t\t\t\tfor (let i = 0; i < ourFiles.length; i++) {\n\t\t\t\t\t\tlet result = await this.fileSystemService.upload(uploadFileFolderId, ourFiles[i]);\n\t\t\t\t\t\tuploadedFiles.push(result.data);\n\t\t\t\t\t}\n\n\t\t\t\t\tif (uploadFileFolderId === this.parentFolderId) {\n\t\t\t\t\t\tuploadedFiles.forEach((u) => {\n\t\t\t\t\t\t\tlet ix = this.items.findIndex((i) => i.id === u.id);\n\t\t\t\t\t\t\tif (ix > -1) {\n\t\t\t\t\t\t\t\tthis.items.splice(ix, 1, u);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.items.push(u);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tlet item = this.items.find((i) => i.id === uploadFileFolderId);\n\t\t\t\t\t\tif (this.isExpanded(item)) {\n\t\t\t\t\t\t\tuploadedFiles.forEach((f) => this.$refs['children-' + item.id][0].addItem(f));\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tthis.toggle(item);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} catch (err) {\n\t\t\t\t\tconsole.log(err);\n\t\t\t\t} finally {\n\t\t\t\t\tthis.$store.commit('stopLoading');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tsaveName(item) {\n\t\t\t\tif (!item.temporaryName) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.fileSystemService\n\t\t\t\t\t.rename(item.id, item.temporaryName)\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tlet ix = this.items.findIndex((i) => i.id === item.id);\n\t\t\t\t\t\tif (ix > -1) {\n\t\t\t\t\t\t\tthis.items.splice(ix, 1, res.data);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tconsole.error('Failed to save name', err);\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\taddFolder(parentId) {\n\t\t\t\tthis.fileSystemService\n\t\t\t\t\t.createDirectory(parentId, 'New Folder')\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tif (parentId === this.parentFolderId) {\n\t\t\t\t\t\t\tthis.items.push(res.data);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tlet item = this.items.find((i) => i.id === parentId);\n\t\t\t\t\t\t\tif (this.isExpanded(item)) {\n\t\t\t\t\t\t\t\tthis.$refs['children-' + item.id][0].addItem(res.data);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis.toggle(item);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => this.hideContextMenu());\n\t\t\t},\n\n\t\t\tunDeleteItem() {\n\t\t\t\tlet item = this.contextActionItem;\n\t\t\t\tthis.fileSystemService\n\t\t\t\t\t.unDelete(item.id)\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tlet ix = this.items.findIndex((i) => i.id === item.id);\n\t\t\t\t\t\tif (ix > -1) {\n\t\t\t\t\t\t\tthis.items.splice(ix, 1, res.data);\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t\t.finally(() => this.hideContextMenu());\n\t\t\t},\n\n\t\t\tdeleteItem() {\n\t\t\t\tlet item = this.contextActionItem;\n\t\t\t\tthis.hideContextMenu();\n\n\t\t\t\tlet binding = {\n\t\t\t\t\theadingText: 'Confirm',\n\t\t\t\t\tbodyText: null,\n\t\t\t\t};\n\n\t\t\t\tif (item.assetType === 'Folder') {\n\t\t\t\t\tbinding.bodyText = `Are you sure you want to delete the folder <strong>${item.name}</strong> and all of it's contents?`;\n\t\t\t\t} else {\n\t\t\t\t\tbinding.bodyText = `Are you sure you want to delete the file <strong>${item.name}</strong>?`;\n\t\t\t\t}\n\n\t\t\t\tthis.$store.state.globalModalController.openModal(ConfirmModal, binding).then((res) => {\n\t\t\t\t\tif (res) {\n\t\t\t\t\t\tthis.fileSystemService.delete(item.id).then((res) => {\n\t\t\t\t\t\t\tlet ix = this.items.findIndex((i) => i.id === item.id);\n\t\t\t\t\t\t\tif (ix > -1) {\n\t\t\t\t\t\t\t\tthis.items.splice(ix, 1, res.data);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t},\n\n\t\t\taddItem(item) {\n\t\t\t\tlet ix = this.items.findIndex((i) => i.id === item.id);\n\t\t\t\tif (ix > -1) {\n\t\t\t\t\tthis.items.splice(ix, 1, item);\n\t\t\t\t} else {\n\t\t\t\t\tthis.items.push(item);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\ttoggle(item) {\n\t\t\t\tif (item.assetType !== 'Folder') return;\n\t\t\t\tthis.$set(this.expandedFolders, item.id, !this.expandedFolders[item.id]);\n\t\t\t},\n\n\t\t\tisExpanded(item) {\n\t\t\t\treturn !!this.expandedFolders[item.id];\n\t\t\t},\n\n\t\t\t// Show the context menu at the click position\n\t\t\tshowContextMenu(event, item, moreMenu = false) {\n\t\t\t\tif (this.parentDeleted) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.contextMenu.x = event.clientX;\n\t\t\t\tthis.contextMenu.y = event.clientY;\n\t\t\t\tthis.contextMenu.visible = true;\n        this.contextMenu.moreMenu = moreMenu;\n        this.contextActionItem = item;\n\t\t\t},\n\n\t\t\t// Hide the context menu\n\t\t\thideContextMenu() {\n\t\t\t\tthis.contextMenu.visible = false;\n\t\t\t\tthis.contextActionItem = null;\n\t\t\t},\n\n\t\t\t// Handle clicking on \"New Folder\"\n\t\t\thandleNewFolder() {\n\t\t\t\tlet parentId = this.parentFolderId;\n\t\t\t\tif (this.contextActionItem?.assetType === 'Folder') {\n\t\t\t\t\tparentId = this.contextActionItem.id;\n\t\t\t\t}\n\t\t\t\tthis.addFolder(parentId);\n\t\t\t\tthis.hideContextMenu();\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tisImageType: function() {\n\t\t\t\tlet fileAsset = this.contextActionItem;\n\t\t\t\tif (fileAsset && fileAsset.assetType === 'File') {\n\t\t\t\t\tlet name = fileAsset.name.toUpperCase();\n\t\t\t\t\tif (\n\t\t\t\t\t\tname.endsWith('JPG') ||\n\t\t\t\t\t\tname.endsWith('PNG') ||\n\t\t\t\t\t\tname.endsWith('GIF') ||\n\t\t\t\t\t\tname.endsWith('PDF') ||\n\t\t\t\t\t\tname.endsWith('SVG')\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn true;\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn false;\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tfilteredItems: function() {\n\t\t\t\tlet items = [];\n\t\t\t\tif (this.showDeleted) {\n\t\t\t\t\titems.push(... this.items);\n\t\t\t\t} else {\n\t\t\t\t\titems.push(... this.items.filter((i) => !i.isDeleted));\n\t\t\t\t}\n\t\t\t\tthis.sortItems(items);\n\t\t\t\treturn items;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\tdiv[contenteditable='true']:focus {\n\t\toutline: 1px solid var(--v-gray_30-base);\n\t\tbackground-color: var(--v-white-base);\n\t\tpadding-right: 4px;\n\t\tpadding-left: 4px;\n\t}\n\n\t.deleted-item {\n\t\tcolor: var(--v-gray_40-base);\n\t\ttext-decoration: line-through;\n\t}\n\t/* Highlight style */\n\t.highlight {\n\t\tbackground-color: var(--v-gray_30-base);\n\t\tcolor: var(--v-white-base);\n\t\t.v-icon {\n\t\t\tcolor: var(--v-white-base) !important;\n\t\t}\n\t}\n\t/* Context Menu Styling */\n\t.context-menu {\n\t\t//position: fixed;\n\t\tbackground: var(--v-white-base);\n\t\t//border: 1px solid var(--v-gray_30-base);\n\t\t//z-index: 1000;\n\t\twidth: 150px;\n\t\t//box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);\n\t\ttext-align: left;\n\t}\n\t.context-menu-item {\n\t\tfont-size: 14px;\n\t\tpadding: 4px 8px;\n\t\tcursor: pointer;\n\t}\n\t.context-menu-item:hover {\n\t\tbackground-color: #f0f0f0;\n\t}\n</style>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileSystem.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileSystem.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileSystem.vue?vue&type=template&id=2859423e&scoped=true\"\nimport script from \"./FileSystem.vue?vue&type=script&lang=js\"\nexport * from \"./FileSystem.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileSystem.vue?vue&type=style&index=0&id=2859423e&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"2859423e\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VIcon,VMenu,VRow})\n","import axios from 'axios';\nimport store from '@/store';\n//import router from '@/router';\nimport AuthService from '../modules/auth/AuthService';\nimport createAuthRefreshInterceptor from 'axios-auth-refresh';\n\nconst refreshLogic = (failedRequest) => {\n\treturn AuthService.refreshToken()\n\t\t.then((res) => {\n\t\t\tstore.commit('setAccessToken', res);\n\t\t\tfailedRequest.response.config.headers['Authorization'] = 'Bearer ' + res.authToken;\n\t\t\treturn Promise.resolve();\n\t\t})\n\t\t.catch((err) => {\n\t\t\tconsole.log(\"Error processing refresh token\",err);\n\t\t\t// AuthService.logout().finally(() => {\n\t\t\t// \trouter.push('/login');\n\t\t\t// })\n\t\t\treturn Promise.reject(err);\n\t\t});\n};\n\n\nconst getClient = (baseUrl = null, useAccessToken = true) => {\n\tconst options = {\n\t\tbaseURL: baseUrl == null ? store.getters.getBaseUrl : baseUrl,\n\t\twithCredentials: true,\n\t};\n\n\tconst client = axios.create(options);\n\n\tif(useAccessToken) {\n\t\tcreateAuthRefreshInterceptor(client, refreshLogic);\n\t}\n\n\tif (useAccessToken && store.state.accessToken) {\n\t\tclient.interceptors.request.use(request => {\n\t\t\trequest.headers['Authorization'] = `Bearer ${store.state.accessToken}`;\n\t\t\treturn request;\n\t\t});\n\t}\n\n\treturn client;\n};\n\n\n\n/**\n * Base HTTP Client\n */\nexport default class HttpClient{\n\n\tbaseUrl;\n\tuseAccessToken\n\n\tconstructor(baseUrl = null, useAccessToken = true) {\n\t\tthis.baseUrl = baseUrl;\n\t\tthis.useAccessToken = useAccessToken;\n\t}\n\n\t// Provide request methods with the default base_url\n\tget(url, conf = {}) {\n\t\treturn getClient(this.baseUrl, this.useAccessToken)\n\t\t\t.get(url, conf)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t}\n\n\tdelete(url, conf = {}) {\n\t\treturn getClient(this.baseUrl, this.useAccessToken)\n\t\t\t.delete(url, conf)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t}\n\n\thead(url, conf = {}) {\n\t\treturn getClient(this.baseUrl, this.useAccessToken)\n\t\t\t.head(url, conf)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t}\n\n\toptions(url, conf = {}) {\n\t\treturn getClient(this.baseUrl, this.useAccessToken)\n\t\t\t.options(url, conf)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t}\n\n\tpost(url, data = {}, conf = {}) {\n\t\treturn getClient(this.baseUrl, this.useAccessToken)\n\t\t\t.post(url, data, conf)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t}\n\n\tput(url, data = {}, conf = {}) {\n\t\treturn getClient(this.baseUrl, this.useAccessToken)\n\t\t\t.put(url, data, conf)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t}\n\n\tpatch(url, data = {}, conf = {}) {\n\t\treturn getClient(this.baseUrl, this.useAccessToken)\n\t\t\t.patch(url, data, conf)\n\t\t\t.then((response) => Promise.resolve(response))\n\t\t\t.catch((error) => Promise.reject(error));\n\t}\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRenderer.vue?vue&type=style&index=1&id=4e265570&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectCalendar.vue?vue&type=style&index=0&id=f9f6705a&prod&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProposalList.vue?vue&type=style&index=0&id=2ee31214&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsLink.vue?vue&type=style&index=1&id=1c4be502&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsLink.vue?vue&type=style&index=0&id=1c4be502&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CommentsMenu.vue?vue&type=style&index=0&id=4a89d4f0&prod&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineItems.vue?vue&type=style&index=0&id=a6eb0e3a&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LeftNav.vue?vue&type=style&index=1&id=562a40fa&prod&scoped=true&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{},[_vm._l((_vm.files),function(file){return _c('div',{key:file.fileName,staticClass:\"row-format align-center file-row\",on:{\"click\":function($event){return _vm.downloadFile(file)}}},[_c('div',{staticClass:\"row-format align-center truncate\"},[_c('img',{attrs:{\"src\":file.fileIconUrl,\"width\":\"20\"}}),_c('div',{staticClass:\"ml-2 font-12 brand-medium truncate\"},[_vm._v(_vm._s(file.fileName))])]),_c('div',{staticClass:\"row-format align-center ml-auto\"},[(_vm.isImageType(file))?_c('v-icon',{staticClass:\"pointer file-delete\",attrs:{\"small\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.previewImage(file)}}},[_vm._v(\"$visibility\")]):_vm._e(),(_vm.editMode)?_c('v-icon',{staticClass:\"pointer file-delete ml-2\",attrs:{\"small\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.confirmDeleteFile(file)}}},[_vm._v(\"$delete\")]):_vm._e()],1)])}),(_vm.editMode)?_c('div',{staticStyle:{\"width\":\"fit-content\"}},[_c('vue-dropzone',{ref:\"fileDropzone\",staticStyle:{\"background-color\":\"var(--v-white-base)\"},attrs:{\"id\":\"dropzone\",\"use-custom-slot\":true,\"options\":_vm.dropzoneOptions},on:{\"vdropzone-success\":_vm.uploadSuccess,\"vdropzone-error\":_vm.uploadFailure,\"vdropzone-sending\":_vm.addFileUploadAuthHeader}},[_c('span',{staticClass:\"font-14 font-gray_70\"},[_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"gray_70\"}},[_vm._v(\"attachment\")]),_vm._v(\" Attach file\")],1)])],1):_vm._e(),(_vm.imageModal)?_c('modal',{attrs:{\"dialog\":_vm.imageModal,\"persistent\":false},on:{\"close\":function($event){_vm.imageModal = false}}},[_c('v-container',[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('img',{staticStyle:{\"max-width\":\"500px\"},attrs:{\"src\":_vm.imagePreview}})])],1)],1)],1):_vm._e(),_c('modal',{attrs:{\"dialog\":_vm.deleteFileDialog,\"persistent\":true,\"max-width\":290},on:{\"close\":function($event){return _vm.cancelDeleteFile()}}},[_c('v-container',{staticClass:\"mt-4 pa-4\"},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._v(\" \"+_vm._s(_vm.$t('projects.delete-attachment-confirm'))+\" \")])],1),_c('v-row',[_c('v-col',{staticClass:\"pt-4\",attrs:{\"cols\":\"12\"}},[_c('v-btn',{staticClass:\"super-action mr-2\",on:{\"click\":function($event){return _vm.cancelDeleteFile()}}},[_vm._v(\" \"+_vm._s(_vm.$t('global.no'))+\" \")]),_c('v-btn',{staticClass:\"primary-action ml-2\",attrs:{\"elevation\":\"0\"},on:{\"click\":function($event){return _vm.deleteFile()}}},[_vm._v(\" \"+_vm._s(_vm.$t('global.yes'))+\" \")])],1)],1)],1)],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"\">\n\t\t<div v-for=\"file in files\" :key=\"file.fileName\" class=\"row-format align-center file-row\" @click=\"downloadFile(file)\">\n\t\t\t<div class=\"row-format align-center truncate\">\n\t\t\t\t<img :src=\"file.fileIconUrl\" width=\"20\">\n\t\t\t\t<div class=\"ml-2 font-12 brand-medium truncate\">{{file.fileName}}</div>\n\t\t\t</div>\n\t\t\t<div class=\"row-format align-center ml-auto\">\n\t\t\t\t<v-icon small class=\"pointer file-delete\" v-if=\"isImageType(file)\" @click.stop=\"previewImage(file)\">$visibility</v-icon>\n\t\t\t\t<v-icon small\n\t\t\t\t\t\t\t\tclass=\"pointer file-delete ml-2\"\n\t\t\t\t\t\t\t\tv-if=\"editMode\"\n\t\t\t\t\t\t\t\t@click.stop=\"confirmDeleteFile(file)\"\n\t\t\t\t>$delete</v-icon\n\t\t\t\t>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"\" style=\"width: fit-content\" v-if=\"editMode\">\n\t\t\t<vue-dropzone\n\t\t\t\t\tstyle=\"background-color: var(--v-white-base)\"\n\t\t\t\t\tref=\"fileDropzone\"\n\t\t\t\t\tid=\"dropzone\"\n\t\t\t\t\tv-on:vdropzone-success=\"uploadSuccess\"\n\t\t\t\t\tv-on:vdropzone-error=\"uploadFailure\"\n\t\t\t\t\tv-on:vdropzone-sending=\"addFileUploadAuthHeader\"\n\t\t\t\t\t:use-custom-slot=\"true\"\n\t\t\t\t\t:options=\"dropzoneOptions\"\n\t\t\t>\n\t\t\t\t<span class=\"font-14 font-gray_70\"><v-icon small color=\"gray_70\">attachment</v-icon> Attach file</span>\n\t\t\t</vue-dropzone>\n\t\t</div>\n\n\t\t<modal v-if=\"imageModal\" :dialog=\"imageModal\" :persistent=\"false\" @close=\"imageModal = false\">\n\t\t\t<v-container>\n\t\t\t\t<v-row>\n\t\t\t\t\t<v-col cols=\"12\">\n\t\t\t\t\t\t<img style=\"max-width:500px\" :src=\"imagePreview\">\n\t\t\t\t\t</v-col>\n\t\t\t\t</v-row>\n\t\t\t</v-container>\n\t\t</modal>\n\n\t\t<modal :dialog=\"deleteFileDialog\" :persistent=\"true\" :max-width=\"290\" @close=\"cancelDeleteFile()\">\n\t\t\t<v-container class=\"mt-4 pa-4\">\n\t\t\t\t<v-row>\n\t\t\t\t\t<v-col cols=\"12\">\n\t\t\t\t\t\t{{ $t('projects.delete-attachment-confirm') }}\n\t\t\t\t\t</v-col>\n\t\t\t\t</v-row>\n\t\t\t\t<v-row>\n\t\t\t\t\t<v-col cols=\"12\" class=\"pt-4\">\n\t\t\t\t\t\t<v-btn class=\"super-action mr-2\" @click=\"cancelDeleteFile()\">\n\t\t\t\t\t\t\t{{ $t('global.no') }}\n\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t<v-btn class=\"primary-action ml-2\" elevation=\"0\" @click=\"deleteFile()\">\n\t\t\t\t\t\t\t{{ $t('global.yes') }}\n\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t</v-col>\n\t\t\t\t</v-row>\n\t\t\t</v-container>\n\t\t</modal>\n\t</div>\n</template>\n\n<script>\n\timport axios from 'axios';\n\timport VueDropzone from 'vue2-dropzone';\n\timport 'vue2-dropzone/dist/vue2Dropzone.min.css';\n\timport Modal from '@/components/Modal';\n\n\t/**\n\t * To use this generic component, a fileService class must be provided that supports the following interface:\n\t *\n\t * fileService.deleteFile(fileName);\n\t * fileService.getSignedUrl(fileName);\n\t * fileService.getPreviewUrl(fileName);\n\t * fileService.getUploadUrl();\n\t *\n\t * the files[] array will be directly written to upon upload/delete\n\t */\n\n\texport default {\n\t\tname: 'FileAttachment',\n\n\t\tprops: {\n\t\t\tfiles: { type: Array, required: true },\n\t\t\tfileService: { type: Object, required: true },\n\t\t\tpreviewsSupported: { type: Boolean, required: false, default: true },\n\t\t\teditMode: { type: Boolean, required: false, default: true },\n\t\t},\n\n\t\tcomponents: {\n\t\t\tVueDropzone,\n\t\t\tModal,\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tfileToDelete: null,\n\t\t\t\tdeleteFileDialog: false,\n\t\t\t\timageModal: false,\n\t\t\t\timagePreview: null\n\t\t\t};\n\t\t},\n\n\t\tmounted(){\n\t\t},\n\n\t\tmethods: {\n\t\t\tconfirmDeleteFile: function(file) {\n\t\t\t\tthis.fileToDelete = file;\n\t\t\t\tthis.deleteFileDialog = true;\n\t\t\t},\n\n\t\t\tcancelDeleteFile: function() {\n\t\t\t\tthis.fileToDelete = null;\n\t\t\t\tthis.deleteFileDialog = false;\n\t\t\t},\n\n\t\t\tdeleteFile: function() {\n\t\t\t\tthis.fileService\n\t\t\t\t\t.deleteFile(this.fileToDelete.fileName)\n\t\t\t\t\t.then(() => {\n\t\t\t\t\t\tthis.removeFileByName(this.fileToDelete.fileName);\n\t\t\t\t\t\tthis.$emit('deleted', this.fileToDelete);\n\t\t\t\t\t\tthis.cancelDeleteFile();\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tthis.$store.commit('error', 'Error deleting file: ' + err.response.data.message);\n\t\t\t\t\t\tthis.cancelDeleteFile();\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\tremoveFileByName: function(fileName) {\n\t\t\t\tfor (let i = 0; i < this.files.length; i++) {\n\t\t\t\t\tif (this.files[i].fileName === fileName) {\n\t\t\t\t\t\tthis.files.splice(i, 1);\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tpreviewImage: function(s3File){\n\t\t\t\tthis.fileService.getSignedUrl(s3File.fileName).then((res) => {\n\t\t\t\t\twindow.open(res.data,'_blank');\n\t\t\t\t\t// this.imageModal = true;\n\t\t\t\t\t// this.imagePreview = res.data;\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tdownloadFile: function(s3File) {\n\t\t\t\tthis.fileService.getSignedUrl(s3File.fileName).then((res) => {\n\t\t\t\t\tlet signedUrl = res.data;\n\n\t\t\t\t\taxios({\n\t\t\t\t\t\turl: signedUrl, //your url\n\t\t\t\t\t\tmethod: 'GET',\n\t\t\t\t\t\tresponseType: 'blob', // important\n\t\t\t\t\t}).then((response) => {\n\t\t\t\t\t\tconst url = window.URL.createObjectURL(new Blob([response.data]));\n\t\t\t\t\t\tconst link = document.createElement('a');\n\t\t\t\t\t\tlink.href = url;\n\t\t\t\t\t\tlink.setAttribute('download', s3File.fileName); //or any other extension\n\t\t\t\t\t\tdocument.body.appendChild(link);\n\t\t\t\t\t\tlink.click();\n\t\t\t\t\t});\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tisImageType: function(file){\n\t\t\t\tif(file.fileType === 'JPG' || file.fileType === 'PNG' || file.fileType === 'GIF'){\n\t\t\t\t\treturn true;\n\t\t\t\t}else{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tgetFilePreview: function(file) {\n\t\t\t\tlet result;\n\t\t\t\tif (this.previewsSupported && this.isImageType(file)) {\n\t\t\t\t\tresult = this.fileService.getPreviewUrl(file);\n\t\t\t\t} else {\n\t\t\t\t\tresult = file.fileIconUrl;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\taddFileUploadAuthHeader: function(file, xhr) {\n\t\t\t\txhr.setRequestHeader('Authorization', `Bearer ${this.$store.state.accessToken}`);\n\t\t\t},\n\n\t\t\tuploadSuccess: function(file, response) {\n\t\t\t\tthis.$refs.fileDropzone.removeFile(file);\n\t\t\t\tthis.files.push(response);\n\t\t\t\tthis.$emit('uploaded', response);\n\t\t\t},\n\n\t\t\tuploadFailure: function(file, response) {\n\t\t\t\tthis.$store.commit('error', 'Error uploading file: ' + response.message);\n\t\t\t\tthis.$refs.fileDropzone.removeFile(file);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\theaders: function() {\n\t\t\t\tlet result = [\n\t\t\t\t\t{ text: 'Preview', value: 'id' },\n\t\t\t\t\t\t{ text: 'Name', value: 'fileName' },\n\t\t\t\t\t{ text: null, value: 'action', align: 'right', sortable: false },\n\t\t\t\t];\n\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\tdropzoneOptions: function() {\n\t\t\t\treturn {\n\t\t\t\t\turl: `${this.fileService.getUploadUrl()}`,\n\t\t\t\t\tthumbnailWidth: 50,\n\t\t\t\t\tmaxFiles: 10,\n\t\t\t\t\tmaxFilesize: 100,\n\t\t\t\t\twithCredentials: true,\n\t\t\t\t\tautoProcessQueue: true,\n\t\t\t\t\tduplicateCheck: true,\n\t\t\t\t\tcreateImageThumbnails: false,\n\t\t\t\t\tincludeStyling: false,\n\t\t\t\t\tparallelUploads: 1,\n\t\t\t\t};\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t#dropzone {\n\t\tmin-height: 16px !important;\n\t\tmargin: 0px;\n\t\tpadding: 0px;\n\t}\n\n\t.drop {\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t}\n\n\t.drop ::v-deep .dz-message {\n\t\tmargin: 0;\n\t\tpadding: 0px 0px 0px 0px;\n\t\t//border: 1px solid red;\n\t}\n\n\t.fileName {\n\t\tfont-size: 12px;\n\t\ttext-align: left;\n\t\tcolor: var(--v-gray_70-base);\n\t\tword-wrap: break-word;\n\t}\n\n\t.file-row {\n\t\tmargin-top: 4px;\n\t\tmargin-bottom: 4px;\n\t\tpadding-top: 8px;\n\t\tpadding-bottom: 8px;\n\t\tpadding-right: 4px;\n\n\t\tcursor: pointer;\n\t\tborder: 1px solid transparent;\n\n\t\t.file-delete {\n\t\t\tvisibility: hidden;\n\t\t}\n\n\t\t&:hover {\n\t\t\tborder: 1px solid var(--v-gray_30-base);\n\t\t\tborder-radius: 4px;\n\t\t\t.file-delete {\n\t\t\t\tvisibility: visible;\n\t\t\t}\n\t\t}\n\t}\n\n\t.buttonOverlay {\n\t\tposition: absolute;\n\t\ttop: 0px;\n\t\tleft: 0px;\n\t\tz-index: 400;\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tbackground-color: var(--v-gray_50-base);\n\t\topacity: 0;\n\t\tborder-radius: 4px;\n\t\tdisplay: flex;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\n\t\t&:hover {\n\t\t\topacity: 0.9;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileAttachments.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileAttachments.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileAttachments.vue?vue&type=template&id=e2639660&scoped=true\"\nimport script from \"./FileAttachments.vue?vue&type=script&lang=js\"\nexport * from \"./FileAttachments.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileAttachments.vue?vue&type=style&index=0&id=e2639660&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"e2639660\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VIcon,VRow})\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AcceptBlock.vue?vue&type=style&index=0&id=060d8bb2&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SettingsLanguage.vue?vue&type=style&index=0&id=1985a90c&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Subscribe.vue?vue&type=style&index=0&id=6965e558&prod&scoped=true&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BasicModal.vue?vue&type=style&index=0&id=0ee124b5&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ServicePackage.vue?vue&type=style&index=0&id=42726092&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=style&index=0&id=448ee8b1&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileSystem.vue?vue&type=style&index=0&id=2859423e&prod&scoped=true&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextInput.vue?vue&type=style&index=0&id=2c8b8c97&prod&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Modal.vue?vue&type=style&index=0&id=5f097855&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AgreementRenderer.vue?vue&type=style&index=0&id=4e265570&prod&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GanttChart.vue?vue&type=style&index=0&id=6b07b10c&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormV1.vue?vue&type=style&index=0&id=fa62fc7e&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormV2.vue?vue&type=style&index=0&id=4d70f012&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentPlan.vue?vue&type=style&index=0&id=2ca18dfc&prod&scoped=true&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInput.vue?vue&type=style&index=0&id=7ee01af8&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./KanbanHeader.vue?vue&type=style&index=0&id=13b07dcb&prod&scoped=true&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateSelector.vue?vue&type=style&index=0&id=8c3416c2&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CalendarItem.vue?vue&type=style&index=0&id=fe69d890&prod&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormSubmissionList.vue?vue&type=style&index=0&id=609e4d68&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetingDetail.vue?vue&type=style&index=0&id=b38dd990&prod&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TicketList.vue?vue&type=style&index=0&id=f790053e&prod&scoped=true&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HHeader.vue?vue&type=style&index=0&id=9eee61aa&prod&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LightBox.vue?vue&type=style&index=0&id=18c68cfb&prod&scoped=true&lang=css\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProposalViewer.vue?vue&type=style&index=0&id=488d5c02&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeliverableDetail.vue?vue&type=style&index=0&id=85245bd4&prod&scoped=true&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmDialog.vue?vue&type=style&index=0&id=91bc6a72&prod&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LanguageSwitcher.vue?vue&type=style&index=0&id=21f160a6&prod&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./HIcon.vue?vue&type=style&index=0&id=5059fb86&prod&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetingInfo.vue?vue&type=style&index=0&id=4378976a&prod&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MobileNav.vue?vue&type=style&index=0&id=59857791&prod&lang=scss&scoped=true\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"confirm-dialog-div\"},[_c('v-btn',{staticClass:\"close-dialog\",attrs:{\"icon\":\"\",\"rounded\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.handleClose()}}},[_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$close\")])],1),_c('div',{staticClass:\"modal-padding\"},[(_vm.headingText)?_c('div',{staticClass:\"modal-title text-center mb-2 mt-4\"},[_c('span',{staticClass:\"pr-1\"},[_c('v-icon',{staticClass:\"mt-n1\",attrs:{\"color\":_vm.severity,\"size\":\"24\"}},[_vm._v(_vm._s(_vm.icon))])],1),_vm._v(\" \"+_vm._s(_vm.headingText)+\" \")]):_c('div',{staticClass:\"mt-6\"}),(_vm.bodyText)?_c('div',{staticClass:\"modal-subtitle text-center\",domProps:{\"innerHTML\":_vm._s(_vm.bodyText)}}):_vm._e()]),_c('v-form',{ref:\"confirmDialog\",attrs:{\"id\":\"confirmDialog\",\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();return _vm.handleSubmit()}}},[_c('div',{staticClass:\"modal-footer\"},[(!_vm.hideNo)?_c('v-btn',{class:`${_vm.noIsSuperAction ? 'super-action' : 'primary-action'} mr-1`,attrs:{\"min-width\":\"100\"},on:{\"click\":function($event){$event.preventDefault();return _vm.handleClose()}}},[_vm._v(_vm._s(_vm.no))]):_vm._e(),_c('v-btn',{class:`${!_vm.noIsSuperAction ? 'super-action' : 'primary-action'} ml-1`,attrs:{\"type\":\"submit\",\"min-width\":\"100\",\"elevation\":\"0\"},on:{\"click\":function($event){$event.preventDefault();return _vm.handleSubmit()}}},[_vm._v(\" \"+_vm._s(_vm.yes)+\" \")])],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"confirm-dialog-div\">\n\t\t<v-btn class=\"close-dialog\" icon rounded @click.prevent=\"handleClose()\">\n\t\t\t<v-icon size=\"20\">$close</v-icon>\n\t\t</v-btn>\n\t\t<div class=\"modal-padding\">\n\t\t\t<div class=\"modal-title text-center mb-2 mt-4\" v-if=\"headingText\">\n\t\t\t\t<span class=\"pr-1\">\n\t\t\t\t\t<v-icon :color=\"severity\" class=\"mt-n1\" size=\"24\">{{ icon }}</v-icon>\n\t\t\t\t</span>\n\t\t\t\t{{ headingText }}\n\t\t\t</div>\n\t\t\t<div v-else class=\"mt-6\"></div>\n\t\t\t<div class=\"modal-subtitle text-center\" v-if=\"bodyText\" v-html=\"bodyText\"></div>\n\t\t</div>\n\t\t<v-form @submit.prevent=\"handleSubmit()\" ref=\"confirmDialog\" id=\"confirmDialog\" lazy-validation>\n\t\t\t<div class=\"modal-footer\">\n\t\t\t\t<v-btn v-if=\"!hideNo\" min-width=\"100\" :class=\"`${noIsSuperAction ? 'super-action' : 'primary-action'} mr-1`\" @click.prevent=\"handleClose()\">{{\n\t\t\t\t\tno\n\t\t\t\t}}</v-btn>\n\t\t\t\t<v-btn type=\"submit\" min-width=\"100\" elevation=\"0\" :class=\"`${!noIsSuperAction ? 'super-action' : 'primary-action'} ml-1`\" @click.prevent=\"handleSubmit()\">\n\t\t\t\t\t{{ yes }}\n\t\t\t\t</v-btn>\n\t\t\t</div>\n\t\t</v-form>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'ConfirmModal',\n\n\t\tprops: {\n\t\t\tseverity: { type: String, required: false, default: 'warning' }, // info, warning, error, success\n\t\t\ticon: { type: String, required: false, default: '$alert' }, // $alert, $info, etc.\n\t\t\theadingText: String,\n\t\t\tbodyText: String,\n\t\t\thideNo: { type: Boolean, required: false, default: false },\n\t\t\tyesText: { type: String, required: false  },\n\t\t\tnoText: { type: String, required: false  },\n\t\t\tpersistent: { type: Boolean, default: false },\n      noIsSuperAction: { type: Boolean, required: false, default: true },\n\t\t},\n\n\t\tdata() {\n\t\t\treturn {\n        yes: this.yesText ? this.yesText : this.$t('global.yes'),\n        no: this.noText ? this.noText : this.$t('global.no')\n      };\n\t\t},\n\n\t\tmounted() {\n\n    },\n\n\t\tmethods: {\n\t\t\thandleSubmit() {\n\t\t\t\tthis.$emit('result', true);\n\t\t\t},\n\t\t\thandleClose() {\n\t\t\t\tthis.$emit('result', false);\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.confirm-dialog-div {\n\t\tbackground-color: var(--v-white-base);\n\t\tposition: relative;\n\t\tborder-radius: 4px !important;\n\n\t\tbutton.v-btn.close-dialog {\n\t\t\tright: 4px !important;\n\t\t\ttop: 6px !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmModal.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConfirmModal.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ConfirmModal.vue?vue&type=template&id=aa70cd06\"\nimport script from \"./ConfirmModal.vue?vue&type=script&lang=js\"\nexport * from \"./ConfirmModal.vue?vue&type=script&lang=js\"\nimport style0 from \"./ConfirmModal.vue?vue&type=style&index=0&id=aa70cd06&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VForm,VIcon})\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeliverableCard.vue?vue&type=style&index=0&id=bb24f90a&prod&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectMain.vue?vue&type=style&index=0&id=0351f4e6&prod&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Project.vue?vue&type=style&index=0&id=2c1ce524&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProjectKanban.vue?vue&type=style&index=0&id=5127ed8a&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PaymentHistory.vue?vue&type=style&index=0&id=58a4be64&prod&scoped=true&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:`${_vm.active ? 'form-item-active' : 'form-item-inactive'} ${_vm.inContainer ? '' : 'px-2'}`},[_c(_vm.item.type,{key:_vm.item.type,ref:\"component\",tag:\"component\",class:_vm.item.type !== 'Container' ? 'pb-3' : '',attrs:{\"item\":_vm.item,\"styles\":_vm.styles,\"font\":_vm.font,\"button-props\":_vm.buttonProps,\"active\":_vm.active,\"disabled\":_vm.disabled,\"account-logo\":_vm.accountLogo,\"index\":_vm.index,\"current-page\":_vm.currentPage,\"page-count\":_vm.pageCount,\"results\":_vm.results,\"known-data\":_vm.knownData,\"builder\":_vm.builder,\"container\":_vm.container},on:{\"next-page\":function($event){return _vm.$emit('next-page')},\"previous-page\":function($event){return _vm.$emit('previous-page')},\"input\":function($event){return _vm.$emit('input', $event)},\"click\":function($event){return _vm.$emit('click', $event)},\"delete\":function($event){return _vm.$emit('delete',$event)},\"change\":function($event){return _vm.$emit('change', $event)},\"container-item-click\":function($event){return _vm.$emit('container-item-click', $event)},\"container-item-update\":function($event){return _vm.$emit('container-item-update', $event)},\"add-container-element\":function($event){return _vm.$emit('add-container-element', $event)}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isConditionMet)?_c('div',{staticClass:\"text-left form-content\",on:{\"click\":function($event){return _vm.$emit('click',$event)}}},[(_vm.active)?_c('editor',{ref:\"textEditor\",attrs:{\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.element.text,\"inline\":true,\"init\":_vm.mceConfigText},on:{\"input\":_vm.handleTextInput}}):_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.element.text)}}),(_vm.active)?_c('div',{staticClass:\"row-format mb-n1 mt-1\"},[_c('v-icon',{staticClass:\"material-symbols-outlined\",staticStyle:{\"cursor\":\"grab\"},attrs:{\"size\":\"22\"}},[_vm._v(\"drag_indicator\")]),_c('v-icon',{staticClass:\"ml-auto pointer material-symbols-outlined\",attrs:{\"size\":\"22\"},on:{\"click\":function($event){return _vm.$emit('delete')}}},[_vm._v(\"delete\")])],1):_vm._e()],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"text-left form-content\" @click=\"$emit('click',$event)\" v-if=\"isConditionMet\">\n\t\t<editor\n\t\t\t\tref=\"textEditor\"\n\t\t\t\tv-if=\"active\"\n\t\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t\t:initial-value=\"element.text\"\n\t\t\t\t:inline=\"true\"\n\t\t\t\t:init=\"mceConfigText\"\n\t\t\t\t@input=\"handleTextInput\"\n\t\t></editor>\n\t\t<div v-else v-html=\"element.text\"></div>\n\t\t<div v-if=\"active\" class=\"row-format mb-n1 mt-1\">\n\t\t\t<v-icon size=\"22\" class=\"material-symbols-outlined\" style=\"cursor: grab\">drag_indicator</v-icon>\n\t\t\t<v-icon size=\"22\" class=\"ml-auto pointer material-symbols-outlined\" @click=\"$emit('delete')\">delete</v-icon>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport RendererMixin from \"@/modules/forms/v2/schema/RendererMixin\";\n\nexport default {\n\tname: \"TextBlock\",\n\n\tprops: ['item','active', 'results','builder'],\n\n\tmixins: [RendererMixin],\n\n\tcomponents: {\n\t\t//editor: () => import(/* webpackChunkName: \"tinymce\" */ '@tinymce/tinymce-vue'),\n\t},\n\n\tdata: function () {\n\t\treturn {\n\t\t\telement: {... this.item},\n\t\t\tmceConfigText: {\n\t\t\t\tmenubar: false,\n\t\t\t\tinline: true,\n\t\t\t\tpaste_as_text: false,\n\t\t\t\tpaste_data_images: true,\n\t\t\t\ttable_style_by_css: true,\n\t\t\t\tstatusbar: false,\n\t\t\t\tforced_root_block: 'div',\n\t\t\t\tplugins: ['paste', 'lists', 'link', 'table', 'autoresize', 'media', 'code'],\n\t\t\t\tcontextmenu: 'paste | link image | table',\n\t\t\t\tindentation: '12pt',\n\t\t\t\tskin: this.$vuetify.theme.dark ? 'oxide-dark' : '',\n\t\t\t\tcontent_css: this.$vuetify.theme.dark ? 'dark' : '',\n\t\t\t\ttoolbar: [\n\t\t\t\t\t'bold italic underline forecolor | formatting_group | alignleft aligncenter alignright alignjustify | media_group',\n\t\t\t\t],\n\t\t\t\tfontsize_formats: \"10px 12px 14px 16px 18px 20px 22px 24px 28px 32px 40px 48px\",\n\t\t\t\ttoolbar_groups: {\n\t\t\t\t\tformatting_group: {\n\t\t\t\t\t\ticon: 'format',\n\t\t\t\t\t\ttooltip: 'Formatting',\n\t\t\t\t\t\titems: 'fontsizeselect fontselect | blockquote bullist numlist indent outdent table | removeformat'\n\t\t\t\t\t},\n\t\t\t\t\tmedia_group: {\n\t\t\t\t\t\ticon: 'embed',\n\t\t\t\t\t\ttooltip: 'Media',\n\t\t\t\t\t\titems: ' link unlink media'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttable_toolbar:\n\t\t\t\t\t\t'tableprops tabledelete | tableinsertrowbefore tableinsertrowafter tabledeleterow | tableinsertcolbefore tableinsertcolafter tabledeletecol',\n\t\t\t},\n\t\t}\n\t},\n\n\tmounted() {\n\t},\n\n\tbeforeDestroy() {\n\t},\n\n\tmethods: {\n\t\thandleTextInput: function () {\n\t\t\tthis.element.text = this.$refs.textEditor.editor.getContent();\n\t\t\tthis.$emit('change',this.element);\n\t\t},\n\t},\n\n\tcomputed: {},\n\n\twatch: {\n\t\tactive: function(val){\n\t\t\tif(val){\n\t\t\t\tsetTimeout(() => this.$refs.textEditor.editor.focus(),200);\n\t\t\t}\n\t\t}\n\t}\n\n}\n</script>\n\n<style scoped lang=\"scss\">\n</style>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextBlock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextBlock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextBlock.vue?vue&type=template&id=8f5602d0&scoped=true\"\nimport script from \"./TextBlock.vue?vue&type=script&lang=js\"\nexport * from \"./TextBlock.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"8f5602d0\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isConditionMet)?_c('div',{staticClass:\"text-left\",on:{\"click\":function($event){return _vm.$emit('click',$event)}}},[_c('div',{staticClass:\"form-question\"},[_vm._v(_vm._s(_vm.item.question)+\" \"),(_vm.item.required)?_c('span',{staticClass:\"font-red brand-medium\"},[_vm._v(\"*\")]):_vm._e(),_vm._v(\" \"),(_vm.showConditionalHelper)?_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"gray_50\"}},[_vm._v(\"account_tree\")]):_vm._e()],1),_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('v-textarea',{staticClass:\"form-input\",attrs:{\"hide-details\":\"\",\"dense\":\"\",\"placeholder\":_vm.item.placeholder,\"outlined\":_vm.outlined,\"solo\":_vm.solo,\"filled\":_vm.filled,\"disabled\":_vm.disabled,\"rows\":_vm.item.rows,\"rules\":_vm.item.required ? _vm.inputRequired : []},on:{\"input\":function($event){return _vm.handleInput()}},model:{value:(_vm.textInput),callback:function ($$v) {_vm.textInput=$$v},expression:\"textInput\"}})],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"text-left\" @click=\"$emit('click',$event)\" v-if=\"isConditionMet\">\n\t\t<div class=\"form-question\">{{ item.question }} <span v-if=\"item.required\" class=\"font-red brand-medium\">*</span>  <v-icon v-if=\"showConditionalHelper\" small color=\"gray_50\">account_tree</v-icon></div>\n\t\t<v-form @submit.prevent v-model=\"isValid\" lazy-validation ref=\"form\">\n\t\t\t<v-textarea\n\t\t\t\t\thide-details\n\t\t\t\t\tdense\n\t\t\t\t\tv-model=\"textInput\"\n\t\t\t\t\t:placeholder=\"item.placeholder\"\n\t\t\t\t\t:outlined=\"outlined\"\n\t\t\t\t\t:solo=\"solo\"\n\t\t\t\t\t:filled=\"filled\"\n\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t:rows=\"item.rows\"\n\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t:rules=\"item.required ? inputRequired : []\"\n\t\t\t\t\t@input=\"handleInput()\"\n\t\t\t></v-textarea>\n\t\t</v-form>\n\t</div>\n</template>\n\n<script>\nimport RendererMixin from \"@/modules/forms/v2/schema/RendererMixin\";\n\nexport default {\n\tname: \"TextArea\",\n\n\tprops: ['disabled', 'item', 'styles', 'index','results','builder','container'],\n\n\tmixins: [RendererMixin],\n\n\tcomponents: {},\n\n\tdata: function () {\n\t\treturn {\n\t\t\ttextInput: null\n\t\t}\n\t},\n\n\tmounted() {\n\t\tlet currentResult = this.getCurrentResult(this.item.id,this.results);\n\t\tif(currentResult){\n\t\t\tthis.textInput = currentResult;\n\t\t}\n\t},\n\n\tbeforeDestroy() {\n\t},\n\n\tmethods: {\n\t\thandleInput: function(){\n\t\t\tthis.$emit('input',{item:this.item,value: this.textInput, index: this.index, container: this.container});\n\t\t}\n\t},\n\n\tcomputed: {},\n\n}\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextArea.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextArea.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextArea.vue?vue&type=template&id=56134220&scoped=true\"\nimport script from \"./TextArea.vue?vue&type=script&lang=js\"\nexport * from \"./TextArea.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"56134220\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VForm,VIcon,VTextarea})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isConditionMet)?_c('div',{staticClass:\"text-left\",on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('div',{staticClass:\"form-question\"},[_vm._v(_vm._s(_vm.item.question)),(_vm.item.required)?_c('span',{staticClass:\"font-red brand-medium\"},[_vm._v(\"*\")]):_vm._e(),_vm._v(\" \"),(_vm.showConditionalHelper)?_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"gray_50\"}},[_vm._v(\"account_tree\")]):_vm._e()],1),_c('v-form',{ref:\"form\",on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[(_vm.isPhoneInput)?_c('div',{class:_vm.classList},[_c('div',{staticClass:\"v-input__control\"},[_c('div',{staticClass:\"v-input__slot\",staticStyle:{\"padding\":\"0!important\"}},[_c('div',{staticClass:\"v-text-field__slot\",staticStyle:{\"padding\":\"0!important\"}},[(_vm.outlined)?_c('fieldset',{style:(`border-radius: 4px!important; ${!this.phoneIsValid ? 'border: 2px solid var(--v-error-base)!important;' : ''}`),attrs:{\"aria-hidden\":\"true\"}},[_c('legend',{staticStyle:{\"width\":\"0px\"}},[_c('span',{staticClass:\"notranslate\"},[_vm._v(\"​\")])])]):_vm._e(),_c('vue-tel-input',{staticClass:\"ml-0 custom-phone\",attrs:{\"preferred-countries\":_vm.preferredCountries,\"disabled\":_vm.disabled,\"name\":\"phone\",\"autocomplete\":\"phone\",\"inputOptions\":{placeholder:_vm.item.placeholder}},on:{\"input\":_vm.phoneUpdated},model:{value:(_vm.textInput),callback:function ($$v) {_vm.textInput=$$v},expression:\"textInput\"}})],1)])])]):_c('v-text-field',{staticClass:\"form-input\",attrs:{\"hide-details\":\"\",\"dense\":\"\",\"placeholder\":_vm.item.placeholder,\"outlined\":_vm.outlined,\"solo\":_vm.solo,\"filled\":_vm.filled,\"disabled\":_vm.disabled,\"rules\":_vm.rules,\"name\":_vm.fieldName,\"autocomplete\":_vm.autoComplete},on:{\"input\":function($event){return _vm.handleInput()}},model:{value:(_vm.textInput),callback:function ($$v) {_vm.textInput=$$v},expression:\"textInput\"}})],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"text-left\" @click=\"$emit('click', $event)\" v-if=\"isConditionMet\">\n\t\t<div class=\"form-question\">{{ item.question }}<span v-if=\"item.required\" class=\"font-red brand-medium\">*</span> <v-icon v-if=\"showConditionalHelper\" small color=\"gray_50\">account_tree</v-icon></div>\n\t\t<v-form @submit.prevent v-model=\"isValid\" ref=\"form\">\n\t\t\t<div v-if=\"isPhoneInput\" :class=\"classList\">\n\t\t\t\t<div class=\"v-input__control\">\n\t\t\t\t\t<div class=\"v-input__slot\" style=\"padding: 0!important;\">\n\t\t\t\t\t\t<div class=\"v-text-field__slot\" style=\"padding: 0!important;\">\n\t\t\t\t\t\t\t<fieldset  aria-hidden=\"true\" v-if=\"outlined\" :style=\"`border-radius: 4px!important; ${!this.phoneIsValid ? 'border: 2px solid var(--v-error-base)!important;' : ''}`\"><legend style=\"width: 0px;\"><span class=\"notranslate\">&ZeroWidthSpace;</span></legend></fieldset>\n\t\t\t\t\t\t\t<vue-tel-input\n\t\t\t\t\t\t\t\tv-model=\"textInput\"\n\t\t\t\t\t\t\t\t:preferred-countries=\"preferredCountries\"\n\t\t\t\t\t\t\t\tclass=\"ml-0 custom-phone\"\n\t\t\t\t\t\t\t\t@input=\"phoneUpdated\"\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t\tname=\"phone\"\n\t\t\t\t\t\t\t\tautocomplete=\"phone\"\n\t\t\t\t\t\t\t\t:inputOptions=\"{placeholder:item.placeholder}\"\n\t\t\t\t\t\t\t></vue-tel-input>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<v-text-field\n\t\t\t\tv-else\n\t\t\t\thide-details\n\t\t\t\tdense\n\t\t\t\tv-model=\"textInput\"\n\t\t\t\t:placeholder=\"item.placeholder\"\n\t\t\t\t:outlined=\"outlined\"\n\t\t\t\t:solo=\"solo\"\n\t\t\t\t:filled=\"filled\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\tclass=\"form-input\"\n\t\t\t\t@input=\"handleInput()\"\n\t\t\t\t:rules=\"rules\"\n\t\t\t\t:name=\"fieldName\"\n\t\t\t\t:autocomplete=\"autoComplete\"\n\t\t\t></v-text-field>\n\t\t</v-form>\n\t</div>\n</template>\n\n<script>\n\timport RendererMixin from '@/modules/forms/v2/schema/RendererMixin';\n\n\texport default {\n\t\tname: 'TextInput',\n\n\t\tprops: ['disabled', 'item', 'styles', 'index', 'results','builder','container','knownData'],\n\n\t\tmixins: [RendererMixin],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\ttextInput: null,\n\t\t\t\tphoneInput: null,\n\t\t\t\tisPhoneValid: false,\n\t\t\t\tdoValidate: false,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n      let currentResult = this.getCurrentResult(this.item.id, this.results);\n\n      if (currentResult) {\n\t\t\t\tthis.textInput = currentResult;\n\t\t\t\tthis.phoneInput = currentResult;\n\t\t\t}else if(this.knownData && this.item.schemaMapping){\n        let value = this.knownData[this.item.schemaMapping];\n        this.textInput = value;\n        this.phoneInput = value;\n        this.$nextTick(() => this.handleInput());\n      }\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tvalidate: function () {\n        if(!this.isConditionMet) {\n          return true\n        }\n\n\t\t\t\tthis.doValidate = true;\n\t\t\t\tif(this.isPhoneInput){\n\t\t\t\t\treturn this.phoneIsValid;\n\t\t\t\t}else{\n\t\t\t\t\treturn this.$refs.form.validate();\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tphoneUpdated(number, object) {\n\t\t\t\tthis.isPhoneValid = object.valid;\n\t\t\t\tthis.phoneInput = object.number;\n\t\t\t\tthis.$emit('input', { item: this.item, value: this.phoneInput, index: this.index, container: this.container });\n\t\t\t},\n\n\t\t\thandleInput: function() {\n\t\t\t\tif(this.textInput){\n\t\t\t\t\tthis.textInput = this.textInput.trim();\n\t\t\t\t}\n\t\t\t\tthis.$emit('input', { item: this.item, value: this.textInput, index: this.index, container: this.container });\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tphoneIsValid: function(){\n\t\t\t\tif(!this.doValidate){\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t\tif(this.isPhoneValid){\n\t\t\t\t\treturn true;\n\t\t\t\t}else if(!this.item.required && !this.phoneInput){\n\t\t\t\t\treturn true;\n\t\t\t\t}else{\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tclassList: function() {\n\t\t\t\tif (this.outlined) {\n\t\t\t\t\treturn `v-input form-input v-input--hide-details ${this.disabled ? 'v-input--is-disabled' : ''} v-input--dense theme--light v-text-field v-text-field--is-booted v-text-field--enclosed v-text-field--outlined v-text-field--placeholder`;\n\t\t\t\t} else if (this.solo) {\n\t\t\t\t\treturn `v-input form-input v-input--hide-details ${this.disabled ? 'v-input--is-disabled' : ''} v-input--dense theme--light v-text-field v-text-field--single-line v-text-field--solo v-text-field--is-booted v-text-field--enclosed v-text-field--placeholder`;\n\t\t\t\t} else {\n\t\t\t\t\treturn `v-input form-input v-input--hide-details ${this.disabled ? 'v-input--is-disabled' : ''} v-input--dense theme--light v-text-field v-text-field--is-booted v-text-field--placeholder`;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tpreferredCountries: function() {\n\t\t\t\tlet countries = ['US', 'CA', 'GB', 'IE', 'AU', 'NZ'];\n\t\t\t\treturn countries;\n\t\t\t},\n\n\t\t\trules: function() {\n\t\t\t\tif (this.isEmailInput && this.item.required) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t(v) => !!v || 'Required',\n\t\t\t\t\t\t(v) =>\n\t\t\t\t\t\t\t/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(\n\t\t\t\t\t\t\t\tv\n\t\t\t\t\t\t\t) || 'E-mail must be valid',\n\t\t\t\t\t];\n\t\t\t\t} else if (this.isEmailInput) {\n\t\t\t\t\treturn [\n\t\t\t\t\t\t(v) =>\n\t\t\t\t\t\t\t!v ||\n\t\t\t\t\t\t\t/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/.test(\n\t\t\t\t\t\t\t\tv\n\t\t\t\t\t\t\t) ||\n\t\t\t\t\t\t\t'E-mail must be valid',\n\t\t\t\t\t];\n\t\t\t\t} else {\n\t\t\t\t\treturn this.item.required ? this.inputRequired : [];\n\t\t\t\t}\n\t\t\t},\n\n\t\t\trequired: function(){\n\t\t\t\treturn this.inputRequired;\n\t\t\t},\n\n\n\t\t\tfieldName: function(){\n\t\t\t\tif(!this.item.schemaMapping){\n\t\t\t\t\treturn \"\";\n\t\t\t\t}\n\t\t\t\tswitch(this.item.schemaMapping){\n\t\t\t\t\tcase \"firstName\":{return \"fname\"}\n\t\t\t\t\tcase \"lastName\":{return \"lname\"}\n\t\t\t\t\tcase \"email\":{return \"email\"}\n\t\t\t\t\tcase \"phone\":{return \"phone\"}\n\t\t\t\t\tcase \"address1\":{return \"address1\"}\n\t\t\t\t\tcase \"address2\":{return \"address2\"}\n\t\t\t\t\tcase \"city\":{ return \"city\"}\n\t\t\t\t\tcase \"locality\":{return \"state\"}\n\t\t\t\t\tcase \"postal\":{return \"zip\"}\n\t\t\t\t\tcase \"country\":{return \"country\"}\n\t\t\t\t\tcase \"businessName\":{return \"organization\"}\n\t\t\t\t\tcase \"website\":{return \"website\"}\n\t\t\t\t\tdefault: {return \"\"}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tautoComplete: function(){\n\t\t\t\tif(!this.item.schemaMapping){\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t\tswitch(this.item.schemaMapping){\n\t\t\t\t\tcase \"firstName\":{return \"given-name\"}\n\t\t\t\t\tcase \"lastName\":{return \"family-name\"}\n\t\t\t\t\tcase \"email\":{return \"email\"}\n\t\t\t\t\tcase \"phone\":{return \"phone\"}\n\t\t\t\t\tcase \"address1\":{return \"address-line1\"}\n\t\t\t\t\tcase \"address2\":{return \"address-line2\"}\n\t\t\t\t\tcase \"city\":{return \"address-level2\"}\n\t\t\t\t\tcase \"locality\":{return \"address-level1\"}\n\t\t\t\t\tcase \"postal\":{return \"postal-code\"}\n\t\t\t\t\tcase \"country\":{return \"country\"}\n\t\t\t\t\tcase \"businessName\":{return \"organization\"}\n\t\t\t\t\tcase \"website\":{return \"url\"}\n\t\t\t\t\tdefault: {return false}\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tisEmailInput: function() {\n\t\t\t\treturn this.item.schemaMapping === 'email' || this.item.validateFor === 'Email';\n\t\t\t},\n\n\t\t\tisPhoneInput: function() {\n\t\t\t\treturn this.item.schemaMapping === 'phone' || (this.item.schemaMapping !== 'email' && this.item.validateFor === 'Phone');\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n\n<style lang=\"scss\">\n\t.phone-input-outlined {\n\t\tborder: 1px solid rgb(.25,.8,.5,1) !important;\n\t\ttransition: border .3s cubic-bezier(.25,.8,.5,1)!important;\n\t}\n\t.custom-phone {\n\t\tborder: none !important;\n\t\t&:focus-within {\n\t\t\tborder: none !important;\n\t\t\tbox-shadow: none !important;\n\t\t}\n\n\t\t.vti__dropdown {\n\t\t\tbackground-color: transparent !important;\n\t\t\t&:hover {\n\t\t\t\tbackground-color: transparent !important;\n\t\t\t}\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextInput.vue?vue&type=template&id=2c8b8c97\"\nimport script from \"./TextInput.vue?vue&type=script&lang=js\"\nexport * from \"./TextInput.vue?vue&type=script&lang=js\"\nimport style0 from \"./TextInput.vue?vue&type=style&index=0&id=2c8b8c97&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VForm,VIcon,VTextField})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{style:(`height: ${_vm.height}px; min-height: ${_vm.height}px`),on:{\"click\":function($event){return _vm.$emit('click',$event)}}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div @click=\"$emit('click',$event)\" :style=\"`height: ${height}px; min-height: ${height}px`\">\n\n\t</div>\n</template>\n\n<script>\nimport RendererMixin from \"@/modules/forms/v2/schema/RendererMixin\";\n\nexport default {\n\tname: \"Spacer\",\n\n\tprops: ['item'],\n\n\tmixins: [RendererMixin],\n\n\tcomponents: {},\n\n\tdata: function () {\n\t\treturn {}\n\t},\n\n\tmounted() {\n\t},\n\n\tbeforeDestroy() {\n\t},\n\n\tmethods: {},\n\n\tcomputed: {\n\t\theight: function(){\n\t\t\tif(this.item.height && this.item.height > 10){\n\t\t\t\treturn this.item.height;\n\t\t\t}else{\n\t\t\t\treturn 10;\n\t\t\t}\n\t\t}\n\t},\n\n}\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spacer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spacer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Spacer.vue?vue&type=template&id=597f6f75&scoped=true\"\nimport script from \"./Spacer.vue?vue&type=script&lang=js\"\nexport * from \"./Spacer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"597f6f75\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isConditionMet)?_c('div',{staticClass:\"text-left\",on:{\"click\":function($event){return _vm.$emit('click',$event)}}},[_c('div',{staticClass:\"form-question\"},[_vm._v(_vm._s(_vm.item.question)+\" \"),(_vm.item.required)?_c('span',{staticClass:\"font-red brand-medium\"},[_vm._v(\"*\")]):_vm._e(),_vm._v(\" \"),(_vm.showConditionalHelper)?_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"gray_50\"}},[_vm._v(\"account_tree\")]):_vm._e()],1),_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('v-select',{staticClass:\"form-input\",attrs:{\"hide-details\":\"\",\"dense\":\"\",\"items\":_vm.item.options,\"placeholder\":_vm.item.placeholder,\"outlined\":_vm.outlined,\"solo\":_vm.solo,\"filled\":_vm.filled,\"disabled\":_vm.disabled,\"rules\":_vm.item.required ? _vm.inputRequired : [],\"aria-label\":\"Make your selection\"},on:{\"change\":function($event){return _vm.handleChange()}},model:{value:(_vm.selection),callback:function ($$v) {_vm.selection=$$v},expression:\"selection\"}})],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"text-left\" @click=\"$emit('click',$event)\" v-if=\"isConditionMet\">\n\t\t<div class=\"form-question\">{{ item.question }} <span v-if=\"item.required\" class=\"font-red brand-medium\">*</span>  <v-icon v-if=\"showConditionalHelper\" small color=\"gray_50\">account_tree</v-icon></div>\n\t\t<v-form @submit.prevent v-model=\"isValid\" lazy-validation ref=\"form\">\n\t\t\t<v-select\n\t\t\t\t\thide-details\n\t\t\t\t\tdense\n\t\t\t\t\tv-model=\"selection\"\n\t\t\t\t\t:items=\"item.options\"\n\t\t\t\t\t:placeholder=\"item.placeholder\"\n\t\t\t\t\t:outlined=\"outlined\"\n\t\t\t\t\t:solo=\"solo\"\n\t\t\t\t\t:filled=\"filled\"\n\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t:rules=\"item.required ? inputRequired : []\"\n\t\t\t\t\t@change=\"handleChange()\"\n          aria-label=\"Make your selection\"\n\t\t\t></v-select>\n\t\t</v-form>\n\t</div>\n</template>\n\n<script>\nimport RendererMixin from \"@/modules/forms/v2/schema/RendererMixin\";\n\nexport default {\n\tname: \"Select\",\n\n\tprops: ['disabled', 'item', 'styles', 'index','results','builder','container'],\n\n\tmixins: [RendererMixin],\n\n\tcomponents: {},\n\n\tdata: function () {\n\t\treturn {\n\t\t\tselection: null,\n\t\t}\n\t},\n\n\tmounted() {\n\t\tlet currentResult = this.getCurrentResult(this.item.id,this.results);\n\t\tif(currentResult){\n\t\t\tthis.selection = currentResult;\n\t\t}\n\t},\n\n\tbeforeDestroy() {\n\t},\n\n\tmethods: {\n\t\thandleChange: function(){\n\t\t\tthis.$emit('input', {item: this.item, value: this.selection, index: this.index, container: this.container});\n\t\t}\n\t},\n\n\tcomputed: {},\n\n}\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Select.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Select.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Select.vue?vue&type=template&id=075fe47c&scoped=true\"\nimport script from \"./Select.vue?vue&type=script&lang=js\"\nexport * from \"./Select.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"075fe47c\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\ninstallComponents(component, {VForm,VIcon,VSelect})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isConditionMet)?_c('div',{staticClass:\"text-left\",on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('div',{staticClass:\"form-question\"},[_vm._v(_vm._s(_vm.item.question)+\" \"),(_vm.item.required)?_c('span',{staticClass:\"font-red brand-medium\"},[_vm._v(\"*\")]):_vm._e(),_vm._v(\" \"),(_vm.showConditionalHelper)?_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"gray_50\"}},[_vm._v(\"account_tree\")]):_vm._e()],1),_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('v-radio-group',{key:_vm.refreshKey,staticClass:\"mt-0\",attrs:{\"hide-details\":\"\",\"dense\":\"\",\"row\":!_vm.item.formatVertically,\"rules\":_vm.item.required ? _vm.radioInputRequired : []},on:{\"change\":function($event){return _vm.handleChange()}},model:{value:(_vm.selection),callback:function ($$v) {_vm.selection=$$v},expression:\"selection\"}},_vm._l((_vm.item.options),function(option,index){return _c('v-radio',{key:index,staticClass:\"form-checkbox form-input\",attrs:{\"disabled\":_vm.disabled,\"value\":option,\"label\":option,\"dense\":\"\",\"hide-details\":\"\"}})}),1)],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"text-left\" @click=\"$emit('click', $event)\" v-if=\"isConditionMet\">\n\t\t<div class=\"form-question\">{{ item.question }} <span v-if=\"item.required\" class=\"font-red brand-medium\">*</span>  <v-icon v-if=\"showConditionalHelper\" small color=\"gray_50\">account_tree</v-icon></div>\n\t\t<v-form @submit.prevent v-model=\"isValid\" lazy-validation ref=\"form\">\n\t\t\t<v-radio-group\n\t\t\t\tv-model=\"selection\"\n\t\t\t\t:key=\"refreshKey\"\n\t\t\t\thide-details\n\t\t\t\tdense\n\t\t\t\t:row=\"!item.formatVertically\"\n\t\t\t\t:rules=\"item.required ? radioInputRequired : []\"\n\t\t\t\tclass=\"mt-0\"\n\t\t\t\t@change=\"handleChange()\"\n\t\t\t>\n\t\t\t\t<v-radio\n\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\tclass=\"form-checkbox form-input\"\n\t\t\t\t\tv-for=\"(option, index) in item.options\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t:value=\"option\"\n\t\t\t\t\t:label=\"option\"\n\t\t\t\t\tdense\n\t\t\t\t\thide-details\n\t\t\t\t></v-radio>\n\t\t\t</v-radio-group>\n\t\t</v-form>\n\t</div>\n</template>\n\n<script>\n\timport RendererMixin from '@/modules/forms/v2/schema/RendererMixin';\n\n\texport default {\n\t\tname: 'Radio',\n\n\t\tprops: ['disabled', 'item', 'styles', 'index','results','builder','container'],\n\n\t\tmixins: [RendererMixin],\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\trefreshKey: 1,\n\t\t\t\tselection: [],\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tlet currentResult = this.getCurrentResult(this.item.id,this.results);\n\t\t\tif(currentResult){\n\t\t\t\tthis.selection = currentResult;\n\t\t\t}\n      console.log(this.results)\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\thandleChange: function(){\n\t\t\t\tthis.$emit('input', {item: this.item, value: this.selection, index: this.index, container: this.container});\n\t\t\t}\n\t\t},\n\n\t\tcomputed: {\n\t\t\tradioInputRequired() {\n\t\t\t\treturn [this.selection.length > 0 || 'Required'];\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n\t\t\t'item.options': {\n\t\t\t\tdeep: true,\n\t\t\t\thandler: function() {\n\t\t\t\t\tthis.refreshKey++;\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.form-checkbox {\n\t\t.v-label {\n\t\t\tcolor: var(--font-color)!important;\n\t\t}\n\t\t.v-input--selection-controls__input {\n\t\t\tmargin-right: 0px !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Radio.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Radio.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Radio.vue?vue&type=template&id=73432154&scoped=true\"\nimport script from \"./Radio.vue?vue&type=script&lang=js\"\nexport * from \"./Radio.vue?vue&type=script&lang=js\"\nimport style0 from \"./Radio.vue?vue&type=style&index=0&id=73432154&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"73432154\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\ninstallComponents(component, {VForm,VIcon,VRadio,VRadioGroup})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('div',{staticClass:\"row-format gap-2 pt-2\",style:(`justify-content: ${_vm.justification}`)},[_c('v-btn',{staticClass:\"elevation-0\",style:(`font-size: var(--form-font-size) !important; ${_vm.buttonProps.block ? 'width: 49%!important;' : ''}`),attrs:{\"color\":_vm.styles.buttonColor,\"x-small\":_vm.buttonProps.xSmall,\"small\":_vm.buttonProps.small,\"large\":_vm.buttonProps.large,\"x-large\":_vm.buttonProps.xLarge,\"disabled\":_vm.currentPage === 1},on:{\"click\":function($event){return _vm.$emit('previous-page')}}},[_c('v-icon',{staticClass:\"mr-1\",attrs:{\"color\":_vm.styles.buttonTextColor}},[_vm._v(_vm._s(_vm.styles.prevPageIcon))]),_c('span',{style:(`font-family: ${_vm.font}; ; text-transform: none; color: ${_vm.styles.buttonTextColor}`)},[_vm._v(_vm._s(_vm.styles.prevPageText))])],1),_c('v-btn',{staticClass:\"elevation-0\",style:(`font-size: var(--form-font-size) !important; ${_vm.buttonProps.block ? 'width: 49%!important;' : ''}`),attrs:{\"x-small\":_vm.buttonProps.xSmall,\"small\":_vm.buttonProps.small,\"large\":_vm.buttonProps.large,\"x-large\":_vm.buttonProps.xLarge,\"color\":_vm.styles.buttonColor},on:{\"click\":function($event){return _vm.$emit('next-page')}}},[_c('span',{style:(`font-family: ${_vm.font}; ; text-transform: none; color: ${_vm.styles.buttonTextColor}`)},[_vm._v(_vm._s(_vm.styles.nextPageText))]),_c('v-icon',{staticClass:\"ml-1\",attrs:{\"color\":_vm.styles.buttonTextColor}},[_vm._v(_vm._s(_vm.styles.nextPageIcon))])],1)],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div @click=\"$emit('click', $event)\">\n\t\t<div class=\"row-format gap-2 pt-2\" :style=\"`justify-content: ${justification}`\">\n\t\t\t<v-btn\n\t\t\t\tclass=\"elevation-0\"\n\t\t\t\t:color=\"styles.buttonColor\"\n\t\t\t\t:x-small=\"buttonProps.xSmall\"\n\t\t\t\t:small=\"buttonProps.small\"\n\t\t\t\t:large=\"buttonProps.large\"\n\t\t\t\t:x-large=\"buttonProps.xLarge\"\n\t\t\t\t:style=\"`font-size: var(--form-font-size) !important; ${buttonProps.block ? 'width: 49%!important;' : ''}`\"\n\t\t\t\t@click=\"$emit('previous-page')\"\n\t\t\t\t:disabled=\"currentPage === 1\"\n\t\t\t>\n\t\t\t\t<v-icon class=\"mr-1\" :color=\"styles.buttonTextColor\">{{ styles.prevPageIcon }}</v-icon>\n\t\t\t\t<span :style=\"`font-family: ${font}; ; text-transform: none; color: ${styles.buttonTextColor}`\">{{ styles.prevPageText }}</span>\n\t\t\t</v-btn>\n\t\t\t<v-btn\n\t\t\t\tclass=\"elevation-0\"\n\t\t\t\t:x-small=\"buttonProps.xSmall\"\n\t\t\t\t:small=\"buttonProps.small\"\n\t\t\t\t:large=\"buttonProps.large\"\n\t\t\t\t:x-large=\"buttonProps.xLarge\"\n\t\t\t\t:color=\"styles.buttonColor\"\n\t\t\t\t:style=\"`font-size: var(--form-font-size) !important; ${buttonProps.block ? 'width: 49%!important;' : ''}`\"\n\t\t\t\t@click=\"$emit('next-page')\"\n\t\t\t>\n\t\t\t\t<span :style=\"`font-family: ${font}; ; text-transform: none; color: ${styles.buttonTextColor}`\">{{ styles.nextPageText }}</span>\n\t\t\t\t<v-icon class=\"ml-1\" :color=\"styles.buttonTextColor\">{{ styles.nextPageIcon }}</v-icon>\n\t\t\t</v-btn>\n\t\t</div>\n\t\t<!--div class=\"row-format align-center pt-3 pb-2\" v-if=\"disabled\">\n\t\t\t<hr class=\"page-divider\" />\n\t\t\t<div class=\"font-gray_70 px-2 font-14\" style=\"white-space: nowrap\">New page</div>\n\t\t\t<hr class=\"page-divider\" />\n\t\t</div-->\n\t</div>\n</template>\n\n<script>\n\timport RendererMixin from '@/modules/forms/v2/schema/RendererMixin';\n\n\texport default {\n\t\tname: 'NewPage',\n\n\t\tprops: ['item', 'styles','font', 'buttonProps', 'disabled', 'currentPage', 'pageCount'],\n\n\t\tmixins: [RendererMixin],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {},\n\n\t\tcomputed: {\n\t\t\tjustification: function() {\n\t\t\t\tif (this.styles.submitAlignment === 'JUSTIFIED') {\n\t\t\t\t\treturn 'space-between';\n\t\t\t\t} else if (this.styles.submitAlignment === 'LEFT') {\n\t\t\t\t\treturn 'flex-start';\n\t\t\t\t} else if (this.styles.submitAlignment === 'RIGHT') {\n\t\t\t\t\treturn 'flex-end';\n\t\t\t\t} else {\n\t\t\t\t\treturn 'center';\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.page-divider {\n\t\tborder-radius: 4px;\n\t\tborder-left: 0px;\n\t\tborder-right: 0px;\n\t\tborder-bottom: 0px;\n\t\tborder-top: 3px dashed var(--v-gray_50-base);\n\t\twidth: 100%;\n\t}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewPage.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NewPage.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./NewPage.vue?vue&type=template&id=51c3995a&scoped=true\"\nimport script from \"./NewPage.vue?vue&type=script&lang=js\"\nexport * from \"./NewPage.vue?vue&type=script&lang=js\"\nimport style0 from \"./NewPage.vue?vue&type=style&index=0&id=51c3995a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"51c3995a\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VBtn,VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isConditionMet)?_c('div',{staticClass:\"text-left\",on:{\"click\":function($event){return _vm.$emit('click',$event)}}},[_c('div',{staticClass:\"form-question\"},[_vm._v(_vm._s(_vm.item.question)+\" \"),(_vm.item.required)?_c('span',{staticClass:\"font-red brand-medium\"},[_vm._v(\"*\")]):_vm._e(),_vm._v(\" \"),(_vm.showConditionalHelper)?_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"gray_50\"}},[_vm._v(\"account_tree\")]):_vm._e()],1),(_vm.fileResult)?_c('div',{staticClass:\"row-format gap-2\"},_vm._l((_vm.fileResult),function(file){return _c('v-chip',{key:file.fileName,staticClass:\"pointer\",attrs:{\"small\":\"\",\"label\":\"\",\"color\":\"primary\"},on:{\"click\":function($event){return _vm.downloadFile(file)}}},[_vm._v(\" \"+_vm._s(file.fileName)+\" \")])}),1):_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('v-file-input',{staticClass:\"file-upload\",attrs:{\"disabled\":_vm.disabled,\"hide-details\":\"\",\"dense\":\"\",\"multiple\":_vm.item.multi,\"placeholder\":_vm.item.placeholder,\"outlined\":_vm.outlined,\"solo\":_vm.solo,\"filled\":_vm.filled,\"append-icon\":\"attach_file\",\"accept\":_vm.accept,\"rules\":_vm.item.required ? _vm.fileInputRequired : []},on:{\"change\":_vm.handleChange},scopedSlots:_vm._u([{key:\"selection\",fn:function({ text }){return [_c('v-chip',{attrs:{\"small\":\"\",\"label\":\"\",\"color\":\"primary\"}},[_vm._v(\" \"+_vm._s(text)+\" \")])]}}],null,false,590729088),model:{value:(_vm.files),callback:function ($$v) {_vm.files=$$v},expression:\"files\"}})],1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"text-left\" @click=\"$emit('click',$event)\" v-if=\"isConditionMet\">\n\t\t<div class=\"form-question\">{{ item.question }} <span v-if=\"item.required\" class=\"font-red brand-medium\">*</span>  <v-icon v-if=\"showConditionalHelper\" small color=\"gray_50\">account_tree</v-icon></div>\n\t\t<div v-if=\"fileResult\" class=\"row-format gap-2\">\n\t\t\t<v-chip small label color=\"primary\" v-for=\"file in fileResult\" :key=\"file.fileName\" class=\"pointer\" @click=\"downloadFile(file)\">\n\t\t\t\t{{ file.fileName }}\n\t\t\t</v-chip>\n\t\t</div>\n\t\t<v-form @submit.prevent v-model=\"isValid\" lazy-validation ref=\"form\" v-else>\n\t\t\t<v-file-input\n\t\t\t\tclass=\"file-upload\"\n\t\t\t\t:disabled=\"disabled\"\n\t\t\t\thide-details\n\t\t\t\tdense\n\t\t\t\t:multiple=\"item.multi\"\n\t\t\t\t:placeholder=\"item.placeholder\"\n\t\t\t\t:outlined=\"outlined\"\n\t\t\t\t:solo=\"solo\"\n\t\t\t\t:filled=\"filled\"\n\t\t\t\tappend-icon=\"attach_file\"\n\t\t\t\t:accept=\"accept\"\n\t\t\t\tv-model=\"files\"\n\t\t\t\t:rules=\"item.required ? fileInputRequired : []\"\n\t\t\t\t@change=\"handleChange\"\n\t\t\t>\n\t\t\t\t<template v-slot:selection=\"{ text }\">\n\t\t\t\t\t<v-chip small label color=\"primary\">\n\t\t\t\t\t\t{{ text }}\n\t\t\t\t\t</v-chip>\n\t\t\t\t</template>\n\t\t\t</v-file-input>\n\t\t</v-form>\n\t</div>\n</template>\n\n<script>\n\timport RendererMixin from \"@/modules/forms/v2/schema/RendererMixin\";\n\timport axios from \"axios\";\n\n\texport default {\n\t\tname: 'FileInput',\n\n\t\tprops: ['disabled', 'item', 'styles','index','results','builder','container'],\n\n\t\tcomponents: {},\n\n\t\tmixins: [RendererMixin],\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tfiles: this.item.multi ? [] : null,\n\t\t\t\tfileResult: null\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tlet currentResult = this.getCurrentResult(this.item.id,this.results);\n\t\t\tif(currentResult){\n\t\t\t\tthis.fileResult = currentResult;\n\t\t\t}\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\thandleChange: function() {\n\t\t\t\tif(this.item.multi && this.files.length){\n\t\t\t\t\tthis.$emit('input', {item: this.item, value: this.files, index: this.index, container: this.container});\n\t\t\t\t\treturn;\n\t\t\t\t}else if(!this.item.multi && this.files){\n\t\t\t\t\tthis.$emit('input', {item: this.item, value: [this.files], index: this.index, container: this.container});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.$emit('input', {item: this.item, value: null, index: this.index, container: this.container});\n\t\t\t},\n\n\t\t\tdownloadFile: function (file) {\n\t\t\t\tif(this.isOpenableFile(file)){\n\t\t\t\t\twindow.open(file.signedUrl, '_blank');\n\t\t\t\t}else {\n\t\t\t\t\taxios({\n\t\t\t\t\t\turl: file.signedUrl, //your url\n\t\t\t\t\t\tmethod: 'GET',\n\t\t\t\t\t\tresponseType: 'blob', // important\n\t\t\t\t\t}).then((response) => {\n\t\t\t\t\t\tconst url = window.URL.createObjectURL(new Blob([response.data]));\n\t\t\t\t\t\tconst link = document.createElement('a');\n\t\t\t\t\t\tlink.href = url;\n\t\t\t\t\t\tlink.setAttribute('download', file.fileName); //or any other extension\n\t\t\t\t\t\tdocument.body.appendChild(link);\n\t\t\t\t\t\tlink.click();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tisOpenableFile(s3File) {\n\t\t\t\tif (\n\t\t\t\t\t\ts3File.fileType === 'JPG' ||\n\t\t\t\t\t\ts3File.fileType === 'PNG' ||\n\t\t\t\t\t\ts3File.fileType === 'GIF' ||\n\t\t\t\t\t\ts3File.fileType === 'PDF'\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t} else {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tfileInputRequired() {\n\t\t\t\tif(this.item.multi){\n\t\t\t\t\treturn [this.files.length > 0 || 'Required'];\n\t\t\t\t}else{\n\t\t\t\t\treturn [this.files != null || 'Required'];\n\t\t\t\t}\n\t\t\t},\n\n\t\t\taccept: function(){\n\t\t\t\tif(this.item.fileTypes && this.item.fileTypes.length){\n\t\t\t\t\treturn this.item.fileTypes.join(\", \");\n\t\t\t\t}else {\n\t\t\t\t\treturn \"*/*\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.file-upload .v-input__prepend-outer {\n\t\tdisplay: none !important;\n\t}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileInput.vue?vue&type=template&id=22e4ab06&scoped=true\"\nimport script from \"./FileInput.vue?vue&type=script&lang=js\"\nexport * from \"./FileInput.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileInput.vue?vue&type=style&index=0&id=22e4ab06&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"22e4ab06\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VFileInput } from 'vuetify/lib/components/VFileInput';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VChip,VFileInput,VForm,VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isConditionMet)?_c('div',{style:(`width: 100%; text-align: ${_vm.item.alignment}; padding-top: ${_vm.item.pt}px; padding-bottom: ${_vm.item.pb}px!important`),on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[(_vm.item.url)?_c('img',{style:(`width:${_vm.item.scale}%; border-radius: ${_vm.item.br}px`),attrs:{\"alt\":\"\",\"src\":_vm.item.url}}):_c('div',[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"size\":\"100\"}},[_vm._v(\"image\")])],1)]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div @click=\"$emit('click', $event)\" :style=\"`width: 100%; text-align: ${item.alignment}; padding-top: ${item.pt}px; padding-bottom: ${item.pb}px!important`\" v-if=\"isConditionMet\">\n    <img alt=\"\" v-if=\"item.url\" :src=\"item.url\" :style=\"`width:${item.scale}%; border-radius: ${item.br}px`\">\n    <div v-else><v-icon class=\"material-symbols-outlined\" size=\"100\">image</v-icon></div>\n\t</div>\n</template>\n\n<script>\nimport RendererMixin from \"@/modules/forms/v2/schema/RendererMixin\";\n\nexport default {\n\tname: \"ImageBlock\",\n\n\tprops: ['item', 'results','builder'],\n\n\tmixins: [RendererMixin],\n\n\tcomponents: {},\n\n\tdata: function () {\n\t\treturn {}\n\t},\n\n\tmounted() {\n\t},\n\n\tbeforeDestroy() {\n\t},\n\n\tmethods: {},\n\n\tcomputed: {},\n\n}\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageBlock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageBlock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ImageBlock.vue?vue&type=template&id=55a5d95b&scoped=true\"\nimport script from \"./ImageBlock.vue?vue&type=script&lang=js\"\nexport * from \"./ImageBlock.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"55a5d95b\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"row-format centered\",style:(`--d-weight: ${_vm.item.weight}px; --d-style: ${_vm.item.style}; --d-color: ${_vm.item.color}; --d-width: ${_vm.item.width}%; padding-top:${_vm.item.pt}px!important; padding-bottom:${_vm.item.pb}px!important`),on:{\"click\":function($event){return _vm.$emit('click',$event)}}},[_c('hr',{staticClass:\"form-divider\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div  @click=\"$emit('click',$event)\" class=\"row-format centered\" :style=\"`--d-weight: ${item.weight}px; --d-style: ${item.style}; --d-color: ${item.color}; --d-width: ${item.width}%; padding-top:${item.pt}px!important; padding-bottom:${item.pb}px!important`\">\n\t\t<hr class=\"form-divider\">\n\t</div>\n</template>\n\n<script>\nimport RendererMixin from \"@/modules/forms/v2/schema/RendererMixin\";\n\nexport default {\n\tname: \"Divider\",\n\n\tprops: ['item'],\n\n\tmixins: [RendererMixin],\n\n\tcomponents: {},\n\n\tdata: function () {\n\t\treturn {}\n\t},\n\n\tmounted() {\n\t},\n\n\tbeforeDestroy() {\n\t},\n\n\tmethods: {},\n\n\tcomputed: {},\n\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t.form-divider {\n\t\tborder-radius: 4px;\n\t\tborder-left: 0px;\n\t\tborder-right: 0px;\n\t\tborder-bottom: 0px;\n\t\tborder-top: var(--d-weight) var(--d-style) var(--d-color);\n\t\twidth: var(--d-width);\n\t}\n</style>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Divider.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Divider.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Divider.vue?vue&type=template&id=1ba1bc44&scoped=true\"\nimport script from \"./Divider.vue?vue&type=script&lang=js\"\nexport * from \"./Divider.vue?vue&type=script&lang=js\"\nimport style0 from \"./Divider.vue?vue&type=style&index=0&id=1ba1bc44&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1ba1bc44\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isConditionMet)?_c('div',{staticClass:\"text-left\",on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('div',{staticClass:\"form-question\"},[_vm._v(_vm._s(_vm.item.question)+\" \"),(_vm.item.required)?_c('span',{staticClass:\"font-red brand-medium\"},[_vm._v(\"*\")]):_vm._e(),_vm._v(\" \"),(_vm.showConditionalHelper)?_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"gray_50\"}},[_vm._v(\"account_tree\")]):_vm._e()],1),_c('v-menu',{attrs:{\"close-on-content-click\":false,\"close-on-click\":false,\"offset-y\":\"\",\"disabled\":_vm.disabled},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('v-text-field',_vm._g({staticClass:\"form-input\",attrs:{\"hide-details\":\"\",\"dense\":\"\",\"placeholder\":_vm.item.placeholder,\"outlined\":_vm.outlined,\"solo\":_vm.solo,\"filled\":_vm.filled,\"readonly\":true,\"value\":_vm.dateFormatted,\"disabled\":_vm.disabled,\"append-icon\":\"event\",\"rules\":_vm.item.required ? _vm.inputRequired : []}},on))],1)]}}],null,false,1857912740),model:{value:(_vm.menu),callback:function ($$v) {_vm.menu=$$v},expression:\"menu\"}},[_c('div',{staticStyle:{\"background-color\":\"var(--v-white-base)\"}},[_c('v-date-picker',{attrs:{\"no-title\":\"\",\"scrollable\":\"\",\"first-day-of-week\":_vm.$store.state.firstDayOfWeek},on:{\"change\":_vm.dateUpdated},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('div',{staticClass:\"row-format centered\",staticStyle:{\"width\":\"100%\"}},[_c('div',{staticClass:\"input-wrapper font-14 font-primary py-1 px-2 pointer\",on:{\"click\":function($event){return _vm.clearDate()}}},[_vm._v(\" \"+_vm._s(_vm.$t('global.clear'))+\" \")])])]},proxy:true}],null,false,861800985),model:{value:(_vm.localDate),callback:function ($$v) {_vm.localDate=$$v},expression:\"localDate\"}})],1)])],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"text-left\" @click=\"$emit('click', $event)\" v-if=\"isConditionMet\">\n\t\t<div class=\"form-question\">{{ item.question }} <span v-if=\"item.required\" class=\"font-red brand-medium\">*</span>  <v-icon v-if=\"showConditionalHelper\" small color=\"gray_50\">account_tree</v-icon></div>\n\t\t<v-menu :close-on-content-click=\"false\" :close-on-click=\"false\" v-model=\"menu\" offset-y :disabled=\"disabled\">\n\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t<v-form @submit.prevent v-model=\"isValid\" lazy-validation ref=\"form\">\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\tv-on=\"on\"\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tdense\n\t\t\t\t\t\t:placeholder=\"item.placeholder\"\n\t\t\t\t\t\t:outlined=\"outlined\"\n\t\t\t\t\t\t:solo=\"solo\"\n\t\t\t\t\t\t:filled=\"filled\"\n\t\t\t\t\t\t:readonly=\"true\"\n\t\t\t\t\t\t:value=\"dateFormatted\"\n\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\tclass=\"form-input\"\n\t\t\t\t\t\tappend-icon=\"event\"\n\t\t\t\t\t\t:rules=\"item.required ? inputRequired : []\"\n\t\t\t\t\t></v-text-field>\n\t\t\t\t</v-form>\n\t\t\t</template>\n\n\t\t\t<div style=\"background-color: var(--v-white-base)\">\n\t\t\t\t<v-date-picker v-model=\"localDate\" no-title scrollable @change=\"dateUpdated\" :first-day-of-week=\"$store.state.firstDayOfWeek\" >\n\t\t\t\t\t<template v-slot:default>\n\t\t\t\t\t\t<div style=\"width: 100%\" class=\"row-format centered\">\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclass=\"input-wrapper font-14 font-primary py-1 px-2 pointer\"\n\t\t\t\t\t\t\t\t@click=\"clearDate()\">\n\t\t\t\t\t\t\t\t{{ $t('global.clear') }}\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</template>\n\t\t\t\t</v-date-picker>\n\t\t\t</div>\n\t\t</v-menu>\n\t</div>\n</template>\n\n<script>\n\timport RendererMixin from '@/modules/forms/v2/schema/RendererMixin';\n\timport HDateTime from '@/modules/utils/HDateTime';\n\n\texport default {\n\t\tname: 'DateInput',\n\n\t\tprops: ['disabled', 'item', 'styles','index','results','builder','container'],\n\n\t\tmixins: [RendererMixin],\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tmenu: false,\n\t\t\t\tlocalDate: null,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tlet currentResult = this.getCurrentResult(this.item.id,this.results);\n\t\t\tif(currentResult){\n\t\t\t\tthis.localDate = currentResult;\n\t\t\t}\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tdateUpdated: function() {\n\t\t\t\tthis.menu = false;\n\t\t\t\tthis.$emit('input', {item:this.item, value:this.localDate, index: this.index, container: this.container});\n\t\t\t},\n\n\t\t\tclearDate: function(){\n\t\t\t\tthis.localDate = null;\n\t\t\t\tthis.dateUpdated();\n\t\t\t}\n\t\t},\n\n\t\tcomputed: {\n\t\t\tdateFormatted: function() {\n\t\t\t\tif (this.localDate) {\n\t\t\t\t\treturn HDateTime.fromISO(this.localDate).toLocaleString(HDateTime.DATE_SHORT);\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DateInput.vue?vue&type=template&id=35ad16c7&scoped=true\"\nimport script from \"./DateInput.vue?vue&type=script&lang=js\"\nexport * from \"./DateInput.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"35ad16c7\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VDatePicker,VForm,VIcon,VMenu,VTextField})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isConditionMet)?_c('v-container',{staticClass:\"pa-0 ma-0\",staticStyle:{\"min-height\":\"40px\"},attrs:{\"fluid\":\"\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('v-row',{staticClass:\"pa-0 ma-0\"},_vm._l((_vm.filteredColumns),function(column,colIndex){return _c('v-col',{key:colIndex,staticClass:\"pa-0 ma-0 column-format\",attrs:{\"cols\":\"12\",\"sm\":_vm.cols}},[_c('div',{style:(_vm.padding(column))},[_c('draggable',{staticStyle:{\"width\":\"100%\"},attrs:{\"list\":column.items,\"disabled\":!_vm.builder}},_vm._l((column.items),function(item,subIndex){return _c('div',{key:item.id},[(_vm.colConditionMet(item))?_c('item-renderer',{ref:\"item\",refInFor:true,attrs:{\"index\":`${_vm.index}.${colIndex}.${subIndex}`,\"item\":item,\"styles\":_vm.styles,\"disabled\":_vm.disabled,\"in-container\":true,\"account-logo\":_vm.accountLogo,\"active\":_vm.active && item.id === _vm.editItemId && item.type === 'TextBlock',\"results\":_vm.results,\"known-data\":_vm.knownData,\"builder\":_vm.builder,\"container\":_vm.container},on:{\"delete\":function($event){return _vm.$emit('delete',item)},\"change\":function($event){return _vm.containerElementUpdated(colIndex, $event)},\"click\":function($event){_vm.active ? _vm.containerItemClick(colIndex, item, $event) : null},\"input\":function($event){return _vm.$emit('input', $event)}}}):_vm._e()],1)}),0),_c('div',[(_vm.active)?_c('v-menu',{attrs:{\"close-on-content-click\":\"\",\"close-on-click\":\"\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({attrs:{\"small\":\"\",\"text\":\"\",\"color\":\"primary\"}},on),[_vm._v(\"+ Add element\")])]}}],null,true)},[_c('div',{staticClass:\"pa-2\",staticStyle:{\"background-color\":\"var(--v-white-base)\"}},_vm._l((_vm.schemaTypes),function(category,sIndex){return _c('div',{key:sIndex,staticClass:\"mb-2 pb-1\",staticStyle:{\"border-bottom\":\"1px solid var(--v-gray_30-base)\"}},[_c('div',{staticClass:\"text-left\"},[_vm._v(_vm._s(category.label))]),_vm._l((category.types.filter((t) => t.allowInContainer)),function(schema){return _c('div',{key:schema.type,staticClass:\"row-format align-center schema-item pa-1 gap-2\",on:{\"click\":function($event){return _vm.$emit('add-container-element', { container: _vm.item, column: colIndex, element: schema })}}},[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"color\":\"secondary\",\"size\":\"24\"}},[_vm._v(_vm._s(schema.icon))]),_c('div',{staticClass:\"column-format text-left\"},[_c('div',{staticClass:\"font-14\"},[_vm._v(_vm._s(schema.label))]),_c('div',{staticClass:\"font-12 mt-n1 font-gray_70\"},[_vm._v(_vm._s(schema.description))])])],1)})],2)}),0)]):_vm._e()],1)],1)])}),1)],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<v-container fluid class=\"pa-0 ma-0\" @click=\"$emit('click', $event)\" style=\"min-height: 40px\" v-if=\"isConditionMet\">\n\t\t<v-row class=\"pa-0 ma-0\">\n\t\t\t<v-col\n\t\t\t\tcols=\"12\"\n\t\t\t\t:sm=\"cols\"\n\t\t\t\tv-for=\"(column, colIndex) in filteredColumns\"\n\t\t\t\t:key=\"colIndex\"\n\t\t\t\tclass=\"pa-0 ma-0 column-format\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\t:style=\"padding(column)\"\n\t\t\t\t>\n\t\t\t\t\t<draggable\n\t\t\t\t\t\t\t:list=\"column.items\"\n\t\t\t\t\t\t\tstyle=\"width:100%\"\n\t\t\t\t\t\t\t:disabled=\"!builder\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<div v-for=\"(item, subIndex) in column.items\" :key=\"item.id\">\n\t\t\t\t\t\t\t<item-renderer\n\t\t\t\t\t\t\t\tv-if=\"colConditionMet(item)\"\n\t\t\t\t\t\t\t\tref=\"item\"\n\t\t\t\t\t\t\t\t:index=\"`${index}.${colIndex}.${subIndex}`\"\n\t\t\t\t\t\t\t\t:item=\"item\"\n\t\t\t\t\t\t\t\t:styles=\"styles\"\n\t\t\t\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\t\t\t\t:in-container=\"true\"\n\t\t\t\t\t\t\t\t:account-logo=\"accountLogo\"\n\t\t\t\t\t\t\t\t:active=\"active && item.id === editItemId && item.type === 'TextBlock'\"\n\t\t\t\t\t\t\t\t:results=\"results\"\n                :known-data=\"knownData\"\n\t\t\t\t\t\t\t\t:builder=\"builder\"\n\t\t\t\t\t\t\t\t:container=\"container\"\n\t\t\t\t\t\t\t\t@delete=\"$emit('delete',item)\"\n\t\t\t\t\t\t\t\t@change=\"containerElementUpdated(colIndex, $event)\"\n\t\t\t\t\t\t\t\t@click=\"active ? containerItemClick(colIndex, item, $event) : null\"\n\t\t\t\t\t\t\t\t@input=\"$emit('input', $event)\"\n\t\t\t\t\t\t\t></item-renderer>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</draggable>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<v-menu close-on-content-click close-on-click v-if=\"active\" bottom>\n\t\t\t\t\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t\t\t\t\t<v-btn small text v-on=\"on\" color=\"primary\">+ Add element</v-btn>\n\t\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t\t<div style=\"background-color: var(--v-white-base)\" class=\"pa-2\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tv-for=\"(category, sIndex) in schemaTypes\"\n\t\t\t\t\t\t\t\t\t:key=\"sIndex\"\n\t\t\t\t\t\t\t\t\tstyle=\"border-bottom: 1px solid var(--v-gray_30-base)\"\n\t\t\t\t\t\t\t\t\tclass=\"mb-2 pb-1\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div class=\"text-left\">{{ category.label }}</div>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tv-for=\"schema in category.types.filter((t) => t.allowInContainer)\"\n\t\t\t\t\t\t\t\t\t\t:key=\"schema.type\"\n\t\t\t\t\t\t\t\t\t\tclass=\"row-format align-center schema-item pa-1 gap-2\"\n\t\t\t\t\t\t\t\t\t\t@click=\"\n\t\t\t\t\t\t\t\t\t\t\t$emit('add-container-element', { container: item, column: colIndex, element: schema })\n\t\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<v-icon class=\"material-symbols-outlined\" color=\"secondary\" size=\"24\">{{\n\t\t\t\t\t\t\t\t\t\t\tschema.icon\n\t\t\t\t\t\t\t\t\t\t}}</v-icon>\n\t\t\t\t\t\t\t\t\t\t<div class=\"column-format text-left\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"font-14\">{{ schema.label }}</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"font-12 mt-n1 font-gray_70\">{{ schema.description }}</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</v-menu>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</v-col>\n\t\t</v-row>\n\t</v-container>\n</template>\n\n<script>\n\timport RendererMixin from '@/modules/forms/v2/schema/RendererMixin';\n\timport SchemaTypes from '@/modules/forms/SchemaTypes.json';\n\timport Draggable from 'vuedraggable';\n\n\texport default {\n\t\tname: 'Container',\n\n\t\tprops: ['item', 'styles', 'active', 'accountLogo', 'disabled', 'index', 'results', 'builder','knownData'],\n\n\t\tmixins: [RendererMixin],\n\n\t\tcomponents: {\n\t\t\tItemRenderer: () => import('@/modules/forms/v2/schema/ItemRenderer'),\n\t\t\tDraggable\n\t\t},\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\teditItem: null,\n\t\t\t\tcontainer: this.item\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tvalidate: function () {\n        if(!this.isConditionMet) {\n          return true\n        }\n\t\t\t\tlet invalidCount = 0;\n\n\t\t\t\tif (this.$refs.item) {\n\t\t\t\t\tfor (let i = 0; i < this.$refs.item.length; i++) {\n\t\t\t\t\t\tif (!this.$refs.item[i].validate()) {\n\t\t\t\t\t\t\tinvalidCount++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn invalidCount <= 0;\n\t\t\t},\n\n\t\t\tcontainerItemClick: function (index, item, event) {\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tthis.editItem = item;\n\t\t\t\tthis.$emit('container-item-click', {\n\t\t\t\t\tcontainer: this.item,\n\t\t\t\t\titem: item,\n\t\t\t\t\tindex: index,\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tcontainerElementUpdated: function (index, item) {\n\t\t\t\tthis.$emit('container-item-update', {\n\t\t\t\t\tcontainer: this.item,\n\t\t\t\t\titem: item,\n\t\t\t\t\tindex: index,\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tpadding: function(column){\n\t\t\t\tif(this.$vuetify.breakpoint.xsOnly){\n\t\t\t\t\treturn `padding-left: 0; padding-right: 0; padding-bottom: ${column.pb}px; padding-top: ${column.pt}px;`\n\t\t\t\t}else{\n\t\t\t\t\treturn `padding-left: ${column.pl}px; padding-right: ${column.pr}px; padding-bottom: ${column.pb}px; padding-top: ${column.pt}px;`\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\n\t\twatch: {\n\t\t\tactive: function (val) {\n\t\t\t\tif (!val) {\n\t\t\t\t\tthis.editItem = null;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\teditItemId: function () {\n\t\t\t\tif (this.editItem) {\n\t\t\t\t\treturn this.editItem.id;\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcols: function () {\n\t\t\t\treturn 12 / this.item.columnCount;\n\t\t\t},\n\n\t\t\tfilteredColumns: function () {\n\t\t\t\tlet columns = [...this.item.columns];\n\t\t\t\treturn columns.splice(0, this.item.columnCount);\n\t\t\t},\n\n\t\t\tschemaTypes: function () {\n\t\t\t\tlet result = [...SchemaTypes];\n\t\t\t\treturn result;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.schema-item {\n\t\tborder-radius: 4px;\n\t\t&:hover {\n\t\t\tbackground-color: var(--v-blue_5-base);\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Container.vue?vue&type=template&id=1a740d53&scoped=true\"\nimport script from \"./Container.vue?vue&type=script&lang=js\"\nexport * from \"./Container.vue?vue&type=script&lang=js\"\nimport style0 from \"./Container.vue?vue&type=style&index=0&id=1a740d53&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1a740d53\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VIcon,VMenu,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isConditionMet)?_c('div',{staticClass:\"text-left\",on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('div',{staticClass:\"form-question\"},[_vm._v(_vm._s(_vm.item.question)+\" \"),(_vm.item.required)?_c('span',{staticClass:\"font-red brand-medium\"},[_vm._v(\"*\")]):_vm._e(),_vm._v(\" \"),(_vm.showConditionalHelper)?_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"gray_50\"}},[_vm._v(\"account_tree\")]):_vm._e()],1),_c('div',{key:_vm.refreshKey,class:`${_vm.item.formatVertically ? 'column-format' : 'row-format'} gap-2 mb-3 mt-n1`,staticStyle:{\"flex-wrap\":\"wrap\"}},_vm._l((_vm.item.options),function(option,index){return _c('v-checkbox',{key:index,staticClass:\"form-checkbox form-input mb-n3\",attrs:{\"disabled\":_vm.disabled,\"value\":option,\"label\":option,\"dense\":\"\",\"hide-details\":\"\",\"rules\":_vm.item.required ? _vm.checkboxInputRequired : []},on:{\"change\":function($event){return _vm.handleChange()}},model:{value:(_vm.selection),callback:function ($$v) {_vm.selection=$$v},expression:\"selection\"}})}),1)])],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"text-left\" @click=\"$emit('click', $event)\" v-if=\"isConditionMet\">\n\t\t<v-form @submit.prevent v-model=\"isValid\" lazy-validation ref=\"form\">\n\t\t\t<div class=\"form-question\">{{ item.question }} <span v-if=\"item.required\" class=\"font-red brand-medium\">*</span>  <v-icon v-if=\"showConditionalHelper\" small color=\"gray_50\">account_tree</v-icon></div>\n\t\t\t<div\n\t\t\t\t:class=\"`${item.formatVertically ? 'column-format' : 'row-format'} gap-2 mb-3 mt-n1`\"\n\t\t\t\tstyle=\"flex-wrap: wrap\"\n\t\t\t\t:key=\"refreshKey\"\n\t\t\t>\n\t\t\t\t<v-checkbox\n\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\tclass=\"form-checkbox form-input mb-n3\"\n\t\t\t\t\tv-for=\"(option, index) in item.options\"\n\t\t\t\t\t:key=\"index\"\n\t\t\t\t\t:value=\"option\"\n\t\t\t\t\tv-model=\"selection\"\n\t\t\t\t\t:label=\"option\"\n\t\t\t\t\tdense\n\t\t\t\t\thide-details\n\t\t\t\t\t:rules=\"item.required ? checkboxInputRequired : []\"\n\t\t\t\t\t@change=\"handleChange()\"\n\t\t\t\t></v-checkbox>\n\t\t\t</div>\n\t\t</v-form>\n\t</div>\n</template>\n\n<script>\n\timport RendererMixin from '@/modules/forms/v2/schema/RendererMixin';\n\n\texport default {\n\t\tname: 'Checkbox',\n\n\t\tprops: ['disabled', 'item', 'styles', 'index','results', 'builder','container'],\n\n\t\tmixins: [RendererMixin],\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\trefreshKey: 1,\n\t\t\t\tselection: [],\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tlet currentResult = this.getCurrentResult(this.item.id,this.results);\n\t\t\tif(currentResult){\n\t\t\t\tthis.selection = currentResult;\n\t\t\t}\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\thandleChange: function () {\n\t\t\t\tif(this.selection.length) {\n\t\t\t\t\tthis.$emit('input', {item: this.item, value: this.selection, index: this.index,  container: this.container});\n\t\t\t\t}else{\n\t\t\t\t\tthis.$emit('input', {item: this.item, value: null, index: this.index, container: this.container});\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tcheckboxInputRequired() {\n\t\t\t\treturn [this.selection.length > 0 || 'Required'];\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n\t\t\t'item.options': {\n\t\t\t\tdeep: true,\n\t\t\t\thandler: function () {\n\t\t\t\t\tthis.refreshKey++;\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.form-checkbox {\n\t\t.v-label {\n\t\t\tcolor: var(--font-color)!important;\n\t\t}\n\t\t.v-input--selection-controls__input {\n\t\t\tmargin-right: 0px !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkbox.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkbox.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Checkbox.vue?vue&type=template&id=3e8a8e47\"\nimport script from \"./Checkbox.vue?vue&type=script&lang=js\"\nexport * from \"./Checkbox.vue?vue&type=script&lang=js\"\nimport style0 from \"./Checkbox.vue?vue&type=style&index=0&id=3e8a8e47&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VForm } from 'vuetify/lib/components/VForm';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VCheckbox,VForm,VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isConditionMet)?_c('div',{style:(`width: 100%; text-align: ${_vm.item.alignment}`),on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('img',{style:(`width:${_vm.item.width}px`),attrs:{\"alt\":\"Business logo\",\"src\":_vm.accountLogo}})]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div @click=\"$emit('click', $event)\" :style=\"`width: 100%; text-align: ${item.alignment}`\" v-if=\"isConditionMet\">\n    <img alt=\"Business logo\" :src=\"accountLogo\" :style=\"`width:${item.width}px`\">\n  </div>\n</template>\n\n<script>\n\timport RendererMixin from \"@/modules/forms/v2/schema/RendererMixin\";\n\n\texport default {\n\t\tname: 'ImageBlock',\n\n\t\tprops: ['accountLogo','item', 'results','builder'],\n\n\t\tmixins: [RendererMixin],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logo.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logo.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Logo.vue?vue&type=template&id=cb42a0c6&scoped=true\"\nimport script from \"./Logo.vue?vue&type=script&lang=js\"\nexport * from \"./Logo.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"cb42a0c6\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.isConditionMet)?_c('div',{style:(`text-align: ${_vm.alignment}`),on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('v-btn',{staticClass:\"elevation-0\",style:(`font-size: var(--form-font-size) !important;`),attrs:{\"color\":_vm.item.color,\"x-small\":_vm.buttonSettings.xSmall,\"small\":_vm.buttonSettings.small,\"large\":_vm.buttonSettings.large,\"x-large\":_vm.buttonSettings.xLarge,\"outlined\":_vm.buttonSettings.outlined,\"block\":_vm.buttonSettings.block,\"text\":_vm.buttonSettings.text},on:{\"click\":_vm.handleClick}},[_c('span',{style:(`color: ${_vm.item.textColor}`)},[_vm._v(_vm._s(_vm.item.text))])])],1):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div @click=\"$emit('click', $event)\" :style=\"`text-align: ${alignment}`\" v-if=\"isConditionMet\">\n\t\t<v-btn\n\t\t\tclass=\"elevation-0\"\n\t\t\t:style=\"`font-size: var(--form-font-size) !important;`\"\n\t\t\t:color=\"item.color\"\n\t\t\t:x-small=\"buttonSettings.xSmall\"\n\t\t\t:small=\"buttonSettings.small\"\n\t\t\t:large=\"buttonSettings.large\"\n\t\t\t:x-large=\"buttonSettings.xLarge\"\n\t\t\t:outlined=\"buttonSettings.outlined\"\n\t\t\t:block=\"buttonSettings.block\"\n\t\t\t:text=\"buttonSettings.text\"\n\t\t\t@click=\"handleClick\"\n\t\t>\n\t\t\t<span :style=\"`color: ${item.textColor}`\">{{ item.text }}</span>\n\t\t</v-btn>\n\t</div>\n</template>\n\n<script>\nimport RendererMixin from '@/modules/forms/v2/schema/RendererMixin';\n\nexport default {\n\t\tname: 'Button',\n\n\t\tprops: ['disabled','item', 'results', 'builder'],\n\n\t\tmixins: [RendererMixin],\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\ttemplate: null,\n\t\t\t};\n\t\t},\n\n\t\tmethods: {\n\t\t\thandleClick: function(){\n\t\t\t\tif(!this.disabled) {\n\t\t\t\t\twindow.open(this.item.redirectUrl, '_blank');\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\talignment: function(){\n\t\t\t\tif(this.item.alignment === 'block'){\n\t\t\t\t\treturn 'unset';\n\t\t\t\t}else{\n\t\t\t\t\treturn this.item.alignment;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tbuttonSettings: function() {\n\t\t\t\treturn {\n\t\t\t\t\txSmall: this.item.size === 'X-Small',\n\t\t\t\t\tsmall: this.item.size === 'Small',\n\t\t\t\t\tlarge: this.item.size === 'Large',\n\t\t\t\t\txLarge: this.item.size === 'X-Large',\n\t\t\t\t\toutlined: this.item.style === 'Outlined',\n\t\t\t\t\tblock: this.item.alignment === 'block',\n\t\t\t\t\ttext: this.item.style === 'Text'\n\t\t\t\t};\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped></style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Button.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Button.vue?vue&type=template&id=109c7eab&scoped=true\"\nimport script from \"./Button.vue?vue&type=script&lang=js\"\nexport * from \"./Button.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"109c7eab\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\ninstallComponents(component, {VBtn})\n","<template>\n\t<div :class=\"`${active ? 'form-item-active' : 'form-item-inactive'} ${inContainer ? '' : 'px-2'}`\">\n\t\t<component\n\t\t\tref=\"component\"\n\t\t\t:key=\"item.type\"\n\t\t\t:is=\"item.type\"\n\t\t\t:item=\"item\"\n\t\t\t:styles=\"styles\"\n\t\t\t:font=\"font\"\n\t\t\t:button-props=\"buttonProps\"\n\t\t\t:active=\"active\"\n\t\t\t:disabled=\"disabled\"\n\t\t\t:account-logo=\"accountLogo\"\n\t\t\t:index=\"index\"\n\t\t\t:current-page=\"currentPage\"\n\t\t\t:page-count=\"pageCount\"\n\t\t\t:results=\"results\"\n      :known-data=\"knownData\"\n      :builder=\"builder\"\n\t\t\t:container=\"container\"\n\t\t\t@next-page=\"$emit('next-page')\"\n\t\t\t@previous-page=\"$emit('previous-page')\"\n\t\t\t@input=\"$emit('input', $event)\"\n\t\t\t@click=\"$emit('click', $event)\"\n\t\t\t@delete=\"$emit('delete',$event)\"\n\t\t\t@change=\"$emit('change', $event)\"\n\t\t\t@container-item-click=\"$emit('container-item-click', $event)\"\n\t\t\t@container-item-update=\"$emit('container-item-update', $event)\"\n\t\t\t@add-container-element=\"$emit('add-container-element', $event)\"\n\t\t\t:class=\"item.type !== 'Container' ? 'pb-3' : ''\"\n\t\t></component>\n\t</div>\n</template>\n\n<script>\n\timport TextBlock from '@/modules/forms/v2/schema/TextBlock';\n\timport TextArea from '@/modules/forms/v2/schema/TextArea';\n\timport TextInput from '@/modules/forms/v2/schema/TextInput';\n\timport Spacer from '@/modules/forms/v2/schema/Spacer';\n\timport Select from '@/modules/forms/v2/schema/Select';\n\timport Radio from '@/modules/forms/v2/schema/Radio';\n\timport NewPage from '@/modules/forms/v2/schema/NewPage';\n\timport FileInput from '@/modules/forms/v2/schema/FileInput';\n\timport ImageBlock from '@/modules/forms/v2/schema/ImageBlock';\n\timport Divider from '@/modules/forms/v2/schema/Divider';\n\timport DateInput from '@/modules/forms/v2/schema/DateInput';\n\timport Container from '@/modules/forms/v2/schema/Container';\n\timport Checkbox from '@/modules/forms/v2/schema/Checkbox';\n\timport Logo from '@/modules/forms/v2/schema/Logo';\n\timport Button from \"@/modules/forms/v2/schema/Button\";\n\n\texport default {\n\t\tname: 'ItemRenderer',\n\n\t\tprops: ['item', 'styles','font', 'buttonProps', 'disabled', 'active', 'inContainer', 'accountLogo','index','currentPage','pageCount','results', 'builder','container','knownData'],\n\n\t\tcomponents: {\n\t\t\tCheckbox,\n\t\t\tContainer,\n\t\t\tDateInput,\n\t\t\tDivider,\n\t\t\tFileInput,\n\t\t\tImageBlock,\n\t\t\tNewPage,\n\t\t\tRadio,\n\t\t\tSelect,\n\t\t\tSpacer,\n\t\t\tTextBlock,\n\t\t\tTextArea,\n\t\t\tTextInput,\n\t\t\tLogo,\n\t\t\tButton\n\t\t},\n\n\t\tdata: function () {\n\t\t\treturn {};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tvalidate: function () {\n\t\t\t\treturn this.$refs.component.validate();\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.form-item-active {\n\t\tborder-radius: 4px;\n\t\tbox-shadow: 0px 3px 15px rgba(0, 0, 0, 0.2);\n\t}\n\n\t.form-item-inactive {\n\t\tborder-radius: 4px;\n\t}\n\n\t.form-content {\n\t\tfont-size: var(--form-font-size) !important;\n\t\tp:last-of-type {\n\t\t\tmargin-bottom: 0px !important;\n\t\t}\n\t}\n\n\t.form-question {\n\t\tfont-size: var(--form-font-size) !important;\n\t\twhite-space: pre-wrap;\n\t}\n\n\t.form-input {\n\t\tinput {\n\t\t\tfont-size: var(--form-font-size) !important;\n\t\t}\n\t\tlabel {\n\t\t\tfont-size: var(--form-font-size) !important;\n\t\t}\n\t\ttextarea {\n\t\t\tfont-size: var(--form-font-size) !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemRenderer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemRenderer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ItemRenderer.vue?vue&type=template&id=7e956ab8\"\nimport script from \"./ItemRenderer.vue?vue&type=script&lang=js\"\nexport * from \"./ItemRenderer.vue?vue&type=script&lang=js\"\nimport style0 from \"./ItemRenderer.vue?vue&type=style&index=0&id=7e956ab8&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TopNav.vue?vue&type=style&index=0&id=925d89fa&prod&lang=scss\"","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NotFound.vue?vue&type=style&index=0&id=ed502d56&prod&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FormResultViewer.vue?vue&type=style&index=0&id=64eba42c&prod&scoped=true&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Checkbox.vue?vue&type=style&index=0&id=3e8a8e47&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeliverableFees.vue?vue&type=style&index=0&id=31b0745a&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProposalRenderer.vue?vue&type=style&index=0&id=2a13d88c&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceTable.vue?vue&type=style&index=0&id=aeeb515c&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TermsDialog.vue?vue&type=style&index=0&id=3302e731&prod&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExistingTicket.vue?vue&type=style&index=0&id=c5385d94&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetingSchedule.vue?vue&type=style&index=0&id=f308c132&prod&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Payment.vue?vue&type=style&index=0&id=00daf5d6&prod&scoped=true&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-menu',{ref:\"menu\",attrs:{\"close-on-content-click\":true,\"transition\":\"scale-transition\",\"offset-y\":\"\",\"disabled\":_vm.disabled,\"min-width\":\"290px\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [(_vm.minimal)?_c('div',_vm._g({staticClass:\"pointer\"},on),[(_vm.dateFormattedMinimal)?_c('div',{class:_vm.contentClass,staticStyle:{\"white-space\":\"nowrap\"}},[_vm._v(\" \"+_vm._s(_vm.dateFormattedMinimal)+\" \")]):_c('v-icon',{attrs:{\"size\":\"20\"}},[_vm._v(\"$calendarMono\")])],1):(_vm.micro)?_c('div',_vm._g({class:`pointer ${_vm.microFont ? _vm.microFont : 'font-12'}`},on),[(_vm.dateFormattedMinimal)?_c('div',{class:_vm.contentClass,staticStyle:{\"white-space\":\"nowrap\"}},[_vm._v(\" \"+_vm._s(_vm.dateFormattedMinimal)+\" \")]):_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.label)}})]):(_vm.standard)?_c('v-text-field',_vm._g({class:(_vm.contentClass ? _vm.contentClass : '') + ' pointer',attrs:{\"value\":_vm.dateFormatted,\"readonly\":\"\",\"label\":_vm.label,\"disabled\":_vm.disabled,\"hide-details\":\"\",\"dense\":\"\",\"outlined\":\"\",\"persistent-placeholder\":_vm.label ? true : false,\"append-icon\":\"event\"}},on)):_c('v-text-field',_vm._g({class:(_vm.contentClass ? _vm.contentClass : '') + ' h-outline pointer',attrs:{\"value\":_vm.dateFormatted,\"readonly\":\"\",\"label\":_vm.label,\"disabled\":_vm.disabled,\"hide-details\":\"\",\"persistent-placeholder\":_vm.label ? true : false,\"append-icon\":\"$calendar\"}},on))]}}]),model:{value:(_vm.dateMenu),callback:function ($$v) {_vm.dateMenu=$$v},expression:\"dateMenu\"}},[_c('v-date-picker',{staticClass:\"datepicker\",attrs:{\"no-title\":\"\",\"scrollable\":\"\"},on:{\"change\":_vm.dateUpdated},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_c('div',{staticClass:\"row-format centered\",staticStyle:{\"width\":\"100%\"}},[_c('div',{staticClass:\"input-wrapper font-14 font-primary py-1 px-2 pointer\",on:{\"click\":function($event){_vm.localDate = null;\n\t\t\t\t\t\t\t_vm.dateUpdated();}}},[_vm._v(\" \"+_vm._s(_vm.$t('global.clear'))+\" \")])])]},proxy:true}]),model:{value:(_vm.localDate),callback:function ($$v) {_vm.localDate=$$v},expression:\"localDate\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<v-menu\n\t\t\tref=\"menu\"\n\t\t\tv-model=\"dateMenu\"\n\t\t\t:close-on-content-click=\"true\"\n\t\t\ttransition=\"scale-transition\"\n\t\t\toffset-y\n\t\t\t:disabled=\"disabled\"\n\t\t\tmin-width=\"290px\"\n\t\t>\n\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t<div v-if=\"minimal\" v-on=\"on\" class=\"pointer\">\n\t\t\t\t\t<div v-if=\"dateFormattedMinimal\" :class=\"contentClass\" style=\"white-space: nowrap\">\n\t\t\t\t\t\t{{ dateFormattedMinimal }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<v-icon v-else size=\"20\">$calendarMono</v-icon>\n\t\t\t\t</div>\n\t\t\t\t<div v-else-if=\"micro\" v-on=\"on\" :class=\"`pointer ${microFont ? microFont : 'font-12'}`\">\n\t\t\t\t\t<div v-if=\"dateFormattedMinimal\" :class=\"contentClass\" style=\"white-space: nowrap\">\n\t\t\t\t\t\t{{ dateFormattedMinimal }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div v-else v-html=\"label\"></div>\n\t\t\t\t</div>\n\t\t\t\t<v-text-field\n\t\t\t\t\tv-else-if=\"standard\"\n\t\t\t\t\t:value=\"dateFormatted\"\n\t\t\t\t\treadonly\n\t\t\t\t\tv-on=\"on\"\n\t\t\t\t\t:label=\"label\"\n\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\thide-details\n\t\t\t\t\tdense\n\t\t\t\t\toutlined\n\t\t\t\t\t:persistent-placeholder=\"label ? true : false\"\n\t\t\t\t\t:class=\"(contentClass ? contentClass : '') + ' pointer'\"\n\t\t\t\t\tappend-icon=\"event\"\n\t\t\t\t>\n\t\t\t\t</v-text-field>\n\t\t\t\t<v-text-field\n\t\t\t\t\tv-else\n\t\t\t\t\t:value=\"dateFormatted\"\n\t\t\t\t\treadonly\n\t\t\t\t\tv-on=\"on\"\n\t\t\t\t\t:label=\"label\"\n\t\t\t\t\t:disabled=\"disabled\"\n\t\t\t\t\thide-details\n\t\t\t\t\t:persistent-placeholder=\"label ? true : false\"\n\t\t\t\t\t:class=\"(contentClass ? contentClass : '') + ' h-outline pointer'\"\n\t\t\t\t\tappend-icon=\"$calendar\"\n\t\t\t\t>\n\t\t\t\t</v-text-field>\n\t\t\t</template>\n\t\t\t<v-date-picker class=\"datepicker\" v-model=\"localDate\" no-title scrollable @change=\"dateUpdated\">\n\t\t\t\t<template v-slot:default>\n\t\t\t\t\t<div style=\"width: 100%\" class=\"row-format centered\">\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclass=\"input-wrapper font-14 font-primary py-1 px-2 pointer\"\n\t\t\t\t\t\t\t@click=\"\n\t\t\t\t\t\t\t\tlocalDate = null;\n\t\t\t\t\t\t\t\tdateUpdated();\n\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{{ $t('global.clear') }}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t</template>\n\t\t\t</v-date-picker>\n\t\t</v-menu>\n\t</div>\n</template>\n\n<script>\n\timport { DateTime } from 'luxon';\n\n\texport default {\n\t\tname: 'DateSelector',\n\n\t\tprops: ['date', 'label', 'disabled', 'contentClass', 'minimal', 'micro', 'standard', 'microFont', 'showYear'],\n\n\t\tcomponents: {},\n\n\t\tdata: function () {\n\t\t\treturn {\n\t\t\t\tlocalDate: this.date,\n\t\t\t\tdateMenu: false,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tdateUpdated: function () {\n\t\t\t\tthis.$emit('change', this.localDate);\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tdateFormatted: function () {\n\t\t\t\tif (this.localDate) {\n\t\t\t\t\treturn DateTime.fromISO(this.localDate).toLocaleString(DateTime.DATE_SHORT);\n\t\t\t\t} else {\n\t\t\t\t\treturn ' -- ';\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tdateFormattedMinimal: function () {\n\t\t\t\tif (this.localDate) {\n\t\t\t\t\tif (this.showYear) {\n\t\t\t\t\t\treturn DateTime.fromISO(this.localDate).toLocaleString({\n\t\t\t\t\t\t\tmonth: 'short',\n\t\t\t\t\t\t\tday: 'numeric',\n\t\t\t\t\t\t\tyear: 'numeric',\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\treturn DateTime.fromISO(this.localDate).toLocaleString({ month: 'short', day: 'numeric' });\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n\t\t\tdate: function (newVal) {\n\t\t\t\tthis.localDate = newVal;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.datepicker .v-date-picker-header {\n\t\tdisplay: flex !important;\n\t\tflex-direction: row;\n\t}\n\n\t.v-input.h-outline ::v-deep {\n\t\tinput {\n\t\t\tfont-size: 14px;\n\t\t}\n\t}\n\t//.select-append {\n\t//\tborder-left: 1px solid var(--v-gray_50-base);\n\t//\tmargin-top: 1px;\n\t//\tmargin-bottom: 8px;\n\t//\twidth: 45px;\n\t//\theight: 25px;\n\t//}\n</style>\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateSelector.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateSelector.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./DateSelector.vue?vue&type=template&id=8c3416c2\"\nimport script from \"./DateSelector.vue?vue&type=script&lang=js\"\nexport * from \"./DateSelector.vue?vue&type=script&lang=js\"\nimport style0 from \"./DateSelector.vue?vue&type=style&index=0&id=8c3416c2&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VDatePicker,VIcon,VMenu,VTextField})\n","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Services.vue?vue&type=style&index=0&id=62ac5598&prod&scoped=true&lang=scss\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./MeetingList.vue?vue&type=style&index=0&id=532fc6f8&prod&scoped=true&lang=scss\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ProposalRenderer.vue?vue&type=style&index=1&id=2a13d88c&prod&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=style&index=0&id=1a740d53&prod&scoped=true&lang=scss\"","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemRenderer.vue?vue&type=style&index=0&id=7d74d01a&prod&lang=scss\"","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{class:`${_vm.active ? 'form-item-active' : 'form-item-inactive'}`,style:(`color: ${_vm.styles.fontColor}!important; font-family: ${_vm.styles.font}!important`)},[_c(_vm.item.type,{key:_vm.item.type,ref:\"component\",tag:\"component\",class:_vm.item.type !== 'Container' ? 'pb-3' : '',attrs:{\"item\":_vm.item,\"styles\":_vm.styles,\"font\":_vm.font,\"active\":_vm.active,\"edit-mode\":_vm.editMode,\"account-logo\":_vm.accountLogo,\"index\":_vm.index,\"tokens\":_vm.tokens,\"invoice\":_vm.invoice,\"token-map\":_vm.tokenMap,\"in-builder\":_vm.inBuilder,\"deposit-account\":_vm.depositAccount,\"has-expenses\":_vm.hasExpenses,\"recurring\":_vm.recurring,\"payment-plan\":_vm.paymentPlan,\"invoice-service\":_vm.invoiceService,\"attachment-service\":_vm.attachmentService,\"scheduled-payments\":_vm.scheduledPayments},on:{\"click\":function($event){return _vm.$emit('click', $event)},\"delete\":function($event){return _vm.$emit('delete')},\"change\":function($event){return _vm.$emit('change', $event)},\"container-item-click\":function($event){return _vm.$emit('container-item-click', $event)},\"container-item-update\":function($event){return _vm.$emit('container-item-update', $event)},\"add-container-element\":function($event){return _vm.$emit('add-container-element', $event)}}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-container',{staticClass:\"pa-0 ma-0\",style:(`min-height: ${_vm.item.minHeight}px; ${_vm.background}`),attrs:{\"fluid\":\"\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('v-row',{staticClass:\"pa-0 ma-0\"},_vm._l((_vm.filteredColumns),function(column,colIndex){return _c('v-col',{key:colIndex,staticClass:\"pa-0 ma-0 column-format\",attrs:{\"cols\":\"12\",\"md\":_vm.cols}},[_c('div',{style:(`padding-left: ${column.pl}px; padding-right: ${column.pr}px; padding-bottom: ${column.pb}px; padding-top: ${column.pt}px; `)},[_c('draggable',{attrs:{\"list\":column.items,\"group\":_vm.item.id,\"disabled\":!_vm.active}},_vm._l((column.items),function(item,subIndex){return _c('div',{key:item.id},[_c('item-renderer',{ref:\"item\",refInFor:true,attrs:{\"index\":`${_vm.index}.${colIndex}.${subIndex}`,\"item\":item,\"styles\":_vm.styles,\"edit-mode\":_vm.editMode,\"in-container\":true,\"account-logo\":_vm.accountLogo,\"tokens\":_vm.tokens,\"invoice\":_vm.invoice,\"token-map\":_vm.tokenMap,\"in-builder\":_vm.inBuilder,\"deposit-account\":_vm.depositAccount,\"recurring\":_vm.recurring,\"payment-plan\":_vm.paymentPlan,\"invoice-service\":_vm.invoiceService,\"attachment-service\":_vm.attachmentService,\"scheduled-payments\":_vm.scheduledPayments,\"active\":_vm.active && item.id === _vm.editItemId && item.type === 'TextBlock'},on:{\"change\":function($event){return _vm.containerElementUpdated(colIndex, $event)},\"click\":function($event){_vm.active ? _vm.containerItemClick(colIndex, item, $event) : null},\"input\":function($event){return _vm.$emit('input', $event)}}})],1)}),0),(_vm.inBuilder)?_c('div',[(_vm.active)?_c('v-menu',{attrs:{\"close-on-content-click\":\"\",\"close-on-click\":\"\",\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('v-btn',_vm._g({staticClass:\"mt-3\",attrs:{\"small\":\"\",\"color\":\"white\"}},on),[_vm._v(\"+ Add element\")])]}}],null,true)},[_c('div',{staticClass:\"pa-2\",staticStyle:{\"background-color\":\"var(--v-white-base)\"}},_vm._l((_vm.schemaTypes),function(category,sIndex){return _c('div',{key:sIndex,staticClass:\"mb-2 pb-1\",staticStyle:{\"border-bottom\":\"1px solid var(--v-gray_30-base)\"}},[_c('div',{staticClass:\"text-left\"},[_vm._v(_vm._s(category.label))]),_vm._l((category.types.filter((t) => t.allowInContainer)),function(schema){return _c('div',{key:schema.type,staticClass:\"row-format align-center schema-item pa-1 gap-2\",on:{\"click\":function($event){return _vm.$emit('add-container-element', { container: _vm.item, column: colIndex, element: schema })}}},[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"color\":\"secondary\",\"size\":\"24\"}},[_vm._v(_vm._s(schema.icon))]),_c('div',{staticClass:\"column-format text-left\"},[_c('div',{staticClass:\"font-14\"},[_vm._v(_vm._s(schema.label))]),_c('div',{staticClass:\"font-12 mt-n1 font-gray_70\"},[_vm._v(_vm._s(schema.description))])])],1)})],2)}),0)]):_vm._e()],1):_vm._e()],1)])}),1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<v-container\n\t\tfluid\n\t\tclass=\"pa-0 ma-0\"\n\t\t@click=\"$emit('click', $event)\"\n\t\t:style=\"`min-height: ${item.minHeight}px; ${background}`\"\n\t>\n\t\t<v-row class=\"pa-0 ma-0\">\n\t\t\t<v-col\n\t\t\t\tcols=\"12\"\n\t\t\t\t:md=\"cols\"\n\t\t\t\tv-for=\"(column, colIndex) in filteredColumns\"\n\t\t\t\t:key=\"colIndex\"\n\t\t\t\tclass=\"pa-0 ma-0 column-format\"\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\t:style=\"\n\t\t\t\t\t\t`padding-left: ${column.pl}px; padding-right: ${column.pr}px; padding-bottom: ${column.pb}px; padding-top: ${column.pt}px; `\n\t\t\t\t\t\"\n\t\t\t\t>\n\t\t\t\t\t<draggable :list=\"column.items\" :group=\"item.id\" :disabled=\"!active\">\n\t\t\t\t\t\t<div v-for=\"(item, subIndex) in column.items\" :key=\"item.id\">\n\t\t\t\t\t\t\t<item-renderer\n\t\t\t\t\t\t\t\tref=\"item\"\n\t\t\t\t\t\t\t\t:index=\"`${index}.${colIndex}.${subIndex}`\"\n\t\t\t\t\t\t\t\t:item=\"item\"\n\t\t\t\t\t\t\t\t:styles=\"styles\"\n\t\t\t\t\t\t\t\t:edit-mode=\"editMode\"\n\t\t\t\t\t\t\t\t:in-container=\"true\"\n\t\t\t\t\t\t\t\t:account-logo=\"accountLogo\"\n\t\t\t\t\t\t\t\t:tokens=\"tokens\"\n\t\t\t\t\t\t\t\t:invoice=\"invoice\"\n\t\t\t\t\t\t\t\t:token-map=\"tokenMap\"\n\t\t\t\t\t\t\t\t:in-builder=\"inBuilder\"\n\t\t\t\t\t\t\t\t:deposit-account=\"depositAccount\"\n\t\t\t\t\t\t\t\t:recurring=\"recurring\"\n\t\t\t\t\t\t\t\t:payment-plan=\"paymentPlan\"\n\t\t\t\t\t\t\t\t:invoice-service=\"invoiceService\"\n\t\t\t\t\t\t\t\t:attachment-service=\"attachmentService\"\n\t\t\t\t\t\t\t\t:scheduled-payments=\"scheduledPayments\"\n\t\t\t\t\t\t\t\t:active=\"active && item.id === editItemId && item.type === 'TextBlock'\"\n\t\t\t\t\t\t\t\t@change=\"containerElementUpdated(colIndex, $event)\"\n\t\t\t\t\t\t\t\t@click=\"active ? containerItemClick(colIndex, item, $event) : null\"\n\t\t\t\t\t\t\t\t@input=\"$emit('input', $event)\"\n\t\t\t\t\t\t\t></item-renderer>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</draggable>\n\t\t\t\t\t<div v-if=\"inBuilder\">\n\t\t\t\t\t\t<v-menu close-on-content-click close-on-click v-if=\"active\" bottom>\n\t\t\t\t\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t\t\t\t\t<v-btn small v-on=\"on\" color=\"white\" class=\"mt-3\">+ Add element</v-btn>\n\t\t\t\t\t\t\t</template>\n\n\t\t\t\t\t\t\t<div style=\"background-color: var(--v-white-base)\" class=\"pa-2\">\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tv-for=\"(category, sIndex) in schemaTypes\"\n\t\t\t\t\t\t\t\t\t:key=\"sIndex\"\n\t\t\t\t\t\t\t\t\tstyle=\"border-bottom: 1px solid var(--v-gray_30-base)\"\n\t\t\t\t\t\t\t\t\tclass=\"mb-2 pb-1\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div class=\"text-left\">{{ category.label }}</div>\n\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\tv-for=\"schema in category.types.filter((t) => t.allowInContainer)\"\n\t\t\t\t\t\t\t\t\t\t:key=\"schema.type\"\n\t\t\t\t\t\t\t\t\t\tclass=\"row-format align-center schema-item pa-1 gap-2\"\n\t\t\t\t\t\t\t\t\t\t@click=\"\n\t\t\t\t\t\t\t\t\t\t\t$emit('add-container-element', { container: item, column: colIndex, element: schema })\n\t\t\t\t\t\t\t\t\t\t\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<v-icon class=\"material-symbols-outlined\" color=\"secondary\" size=\"24\">{{\n\t\t\t\t\t\t\t\t\t\t\tschema.icon\n\t\t\t\t\t\t\t\t\t\t}}</v-icon>\n\t\t\t\t\t\t\t\t\t\t<div class=\"column-format text-left\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"font-14\">{{ schema.label }}</div>\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"font-12 mt-n1 font-gray_70\">{{ schema.description }}</div>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</v-menu>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</v-col>\n\t\t</v-row>\n\t</v-container>\n</template>\n\n<script>\n\timport RendererMixin from '@/modules/forms/v2/schema/RendererMixin';\n\timport SchemaTypes from '@/modules/templates/invoices/SchemaTypes.json';\n\n\texport default {\n\t\tname: 'Container',\n\n\t\tprops: [\n\t\t\t'item',\n\t\t\t'styles',\n\t\t\t'active',\n\t\t\t'accountLogo',\n\t\t\t'editMode',\n\t\t\t'index',\n\t\t\t'tokens',\n\t\t\t'invoice',\n\t\t\t'tokenMap',\n\t\t\t'inBuilder',\n\t\t\t'depositAccount',\n\t\t\t'invoiceService',\n\t\t\t'attachmentService',\n\t\t\t'recurring',\n\t\t\t'paymentPlan',\n\t\t\t\t'scheduledPayments'\n\t\t],\n\n\t\tmixins: [RendererMixin],\n\n\t\tcomponents: {\n\t\t\tItemRenderer: () => import('@/modules/templates/invoices/schema/ItemRenderer'),\n\t\t\tdraggable: () => import('vuedraggable'),\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\teditItem: null,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tvalidate: function() {\n\t\t\t\tlet invalidCount = 0;\n\n\t\t\t\tif (this.$refs.item) {\n\t\t\t\t\tfor (let i = 0; i < this.$refs.item.length; i++) {\n\t\t\t\t\t\tif (!this.$refs.item[i].validate()) {\n\t\t\t\t\t\t\tinvalidCount++;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn invalidCount <= 0;\n\t\t\t},\n\n\t\t\tcontainerItemClick: function(index, item, event) {\n\t\t\t\tevent.stopPropagation();\n\t\t\t\tthis.editItem = item;\n\t\t\t\tthis.$emit('container-item-click', {\n\t\t\t\t\tcontainer: this.item,\n\t\t\t\t\titem: item,\n\t\t\t\t\tindex: index,\n\t\t\t\t});\n\t\t\t},\n\n\t\t\tcontainerElementUpdated: function(index, item) {\n\t\t\t\tthis.$emit('container-item-update', {\n\t\t\t\t\tcontainer: this.item,\n\t\t\t\t\titem: item,\n\t\t\t\t\tindex: index,\n\t\t\t\t});\n\t\t\t},\n\t\t},\n\n\t\twatch: {\n\t\t\tactive: function(val) {\n\t\t\t\tif (!val) {\n\t\t\t\t\tthis.editItem = null;\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\teditItemId: function() {\n\t\t\t\tif (this.editItem) {\n\t\t\t\t\treturn this.editItem.id;\n\t\t\t\t} else {\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcols: function() {\n\t\t\t\treturn 12 / this.item.columnCount;\n\t\t\t},\n\n\t\t\tfilteredColumns: function() {\n\t\t\t\tlet columns = [...this.item.columns];\n\t\t\t\treturn columns.splice(0, this.item.columnCount);\n\t\t\t},\n\n\t\t\tschemaTypes: function() {\n\t\t\t\tlet result = [...SchemaTypes];\n\t\t\t\treturn result;\n\t\t\t},\n\n\t\t\tbackground: function() {\n\t\t\t\tlet result = '';\n\t\t\t\tif (this.item.backgroundImageUrl) {\n\t\t\t\t\tresult = result + `background-image: url(${this.item.backgroundImageUrl}); background-size: cover; `;\n\t\t\t\t}\n\t\t\t\tif (this.item.backgroundColor) {\n\t\t\t\t\tresult = result + `background-color: ${this.item.backgroundColor}; `;\n\t\t\t\t}\n\t\t\t\treturn result;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.schema-item {\n\t\tborder-radius: 4px;\n\t\t&:hover {\n\t\t\tbackground-color: var(--v-gray_10-base);\n\t\t\tcursor: pointer;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Container.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Container.vue?vue&type=template&id=bd857d84&scoped=true\"\nimport script from \"./Container.vue?vue&type=script&lang=js\"\nexport * from \"./Container.vue?vue&type=script&lang=js\"\nimport style0 from \"./Container.vue?vue&type=style&index=0&id=bd857d84&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"bd857d84\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCol,VContainer,VIcon,VMenu,VRow})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"row-format centered\",style:(`--d-weight: ${_vm.item.weight}px; --d-style: ${_vm.item.style}; --d-color: ${_vm.item.color}; --d-width: ${_vm.item.width}%; padding-top:${_vm.item.pt}px!important; padding-bottom:${_vm.item.pb}px!important`),on:{\"click\":function($event){return _vm.$emit('click',$event)}}},[_c('hr',{staticClass:\"form-divider\"})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div  @click=\"$emit('click',$event)\" class=\"row-format centered\" :style=\"`--d-weight: ${item.weight}px; --d-style: ${item.style}; --d-color: ${item.color}; --d-width: ${item.width}%; padding-top:${item.pt}px!important; padding-bottom:${item.pb}px!important`\">\n\t\t<hr class=\"form-divider\">\n\t</div>\n</template>\n\n<script>\nimport RendererMixin from \"@/modules/forms/v2/schema/RendererMixin\";\n\nexport default {\n\tname: \"Divider\",\n\n\tprops: ['item'],\n\n\tmixins: [RendererMixin],\n\n\tcomponents: {},\n\n\tdata: function () {\n\t\treturn {}\n\t},\n\n\tmounted() {\n\t},\n\n\tbeforeDestroy() {\n\t},\n\n\tmethods: {},\n\n\tcomputed: {},\n\n}\n</script>\n\n<style scoped lang=\"scss\">\n\t.form-divider {\n\t\tborder-radius: 4px;\n\t\tborder-left: 0;\n\t\tborder-right: 0;\n\t\tborder-bottom: 0;\n\t\tborder-top: var(--d-weight) var(--d-style) var(--d-color);\n\t\twidth: var(--d-width);\n\t}\n</style>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Divider.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Divider.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Divider.vue?vue&type=template&id=b5c21b28&scoped=true\"\nimport script from \"./Divider.vue?vue&type=script&lang=js\"\nexport * from \"./Divider.vue?vue&type=script&lang=js\"\nimport style0 from \"./Divider.vue?vue&type=style&index=0&id=b5c21b28&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"b5c21b28\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-left\",on:{\"click\":function($event){return _vm.$emit('click',$event)}}},[_c('div',{staticClass:\"form-question\"},[_vm._v(_vm._s(_vm.item.question)+\" \"),(_vm.item.required)?_c('span',{staticClass:\"font-red brand-medium\"},[_vm._v(\"*\")]):_vm._e()]),_c('v-form',{ref:\"form\",attrs:{\"lazy-validation\":\"\"},on:{\"submit\":function($event){$event.preventDefault();}},model:{value:(_vm.isValid),callback:function ($$v) {_vm.isValid=$$v},expression:\"isValid\"}},[_c('v-file-input',{staticClass:\"file-upload\",attrs:{\"disabled\":!_vm.editMode,\"hide-details\":\"\",\"dense\":\"\",\"multiple\":_vm.item.multi,\"placeholder\":_vm.item.placeholder,\"outlined\":_vm.outlined,\"solo\":_vm.solo,\"filled\":_vm.filled,\"append-icon\":\"attach_file\",\"accept\":_vm.accept,\"rules\":_vm.item.required ? _vm.fileInputRequired : []},on:{\"change\":_vm.handleChange},scopedSlots:_vm._u([{key:\"selection\",fn:function({ text }){return [_c('v-chip',{attrs:{\"small\":\"\",\"label\":\"\",\"color\":\"primary\"}},[_vm._v(\" \"+_vm._s(text)+\" \")])]}}]),model:{value:(_vm.files),callback:function ($$v) {_vm.files=$$v},expression:\"files\"}})],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"text-left\" @click=\"$emit('click',$event)\">\n\t\t<div class=\"form-question\">{{ item.question }} <span v-if=\"item.required\" class=\"font-red brand-medium\">*</span></div>\n\t\t<v-form @submit.prevent v-model=\"isValid\" lazy-validation ref=\"form\">\n\t\t\t<v-file-input\n\t\t\t\tclass=\"file-upload\"\n\t\t\t\t:disabled=\"!editMode\"\n\t\t\t\thide-details\n\t\t\t\tdense\n\t\t\t\t:multiple=\"item.multi\"\n\t\t\t\t:placeholder=\"item.placeholder\"\n\t\t\t\t:outlined=\"outlined\"\n\t\t\t\t:solo=\"solo\"\n\t\t\t\t:filled=\"filled\"\n\t\t\t\tappend-icon=\"attach_file\"\n\t\t\t\t:accept=\"accept\"\n\t\t\t\tv-model=\"files\"\n\t\t\t\t:rules=\"item.required ? fileInputRequired : []\"\n\t\t\t\t@change=\"handleChange\"\n\t\t\t>\n\t\t\t\t<template v-slot:selection=\"{ text }\">\n\t\t\t\t\t<v-chip small label color=\"primary\">\n\t\t\t\t\t\t{{ text }}\n\t\t\t\t\t</v-chip>\n\t\t\t\t</template>\n\t\t\t</v-file-input>\n\t\t</v-form>\n\t</div>\n</template>\n\n<script>\n\timport RendererMixin from \"@/modules/forms/v2/schema/RendererMixin\";\n\n\texport default {\n\t\tname: 'FileInput',\n\n\t\tprops: ['editMode', 'item', 'styles','index','results'],\n\n\t\tcomponents: {},\n\n\t\tmixins: [RendererMixin],\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tfiles: this.item.multi ? [] : null,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tlet currentResult = this.getCurrentResult(this.item.id,this.results);\n\t\t\tif(currentResult){\n\t\t\t\tthis.files = currentResult;\n\t\t\t}\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\thandleChange: function() {\n\t\t\t\tif(this.item.multi && this.files.length){\n\t\t\t\t\tthis.$emit('input', {item: this.item, value: this.files, index: this.index});\n\t\t\t\t\treturn;\n\t\t\t\t}else if(!this.item.multi && this.files){\n\t\t\t\t\tthis.$emit('input', {item: this.item, value: [this.files], index: this.index});\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tthis.$emit('input', {item: this.item, value: null, index: this.index});\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tfileInputRequired() {\n\t\t\t\tif(this.item.multi){\n\t\t\t\t\treturn [this.files.length > 0 || 'Required'];\n\t\t\t\t}else{\n\t\t\t\t\treturn [this.files != null || 'Required'];\n\t\t\t\t}\n\t\t\t},\n\n\t\t\taccept: function(){\n\t\t\t\tif(this.item.fileTypes && this.item.fileTypes.length){\n\t\t\t\t\treturn this.item.fileTypes.join(\", \");\n\t\t\t\t}else {\n\t\t\t\t\treturn \"*/*\";\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\">\n\t.file-upload .v-input__prepend-outer {\n\t\tdisplay: none !important;\n\t}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInput.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileInput.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileInput.vue?vue&type=template&id=cd742352&scoped=true\"\nimport script from \"./FileInput.vue?vue&type=script&lang=js\"\nexport * from \"./FileInput.vue?vue&type=script&lang=js\"\nimport style0 from \"./FileInput.vue?vue&type=style&index=0&id=cd742352&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"cd742352\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VChip } from 'vuetify/lib/components/VChip';\nimport { VFileInput } from 'vuetify/lib/components/VFileInput';\nimport { VForm } from 'vuetify/lib/components/VForm';\ninstallComponents(component, {VChip,VFileInput,VForm})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{style:(`width: 100%; text-align: ${_vm.item.alignment}; padding-top: ${_vm.item.pt}px; padding-bottom: ${_vm.item.pb}px!important`),on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[(_vm.item.url)?_c('img',{style:(`width:${_vm.item.scale}%; border-radius: ${_vm.item.br}px`),attrs:{\"src\":_vm.item.url}}):_c('div',[_c('v-icon',{staticClass:\"material-symbols-outlined\",attrs:{\"size\":\"100\"}},[_vm._v(\"image\")])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div @click=\"$emit('click', $event)\" :style=\"`width: 100%; text-align: ${item.alignment}; padding-top: ${item.pt}px; padding-bottom: ${item.pb}px!important`\">\n\t\t<img v-if=\"item.url\" :src=\"item.url\" :style=\"`width:${item.scale}%; border-radius: ${item.br}px`\">\n\t\t<div v-else><v-icon class=\"material-symbols-outlined\" size=\"100\">image</v-icon></div>\n\t</div>\n</template>\n\n<script>\nimport RendererMixin from \"@/modules/forms/v2/schema/RendererMixin\";\n\nexport default {\n\tname: \"ImageBlock\",\n\n\tprops: ['item'],\n\n\tmixins: [RendererMixin],\n\n\tcomponents: {},\n\n\tdata: function () {\n\t\treturn {}\n\t},\n\n\tmounted() {\n\t},\n\n\tbeforeDestroy() {\n\t},\n\n\tmethods: {},\n\n\tcomputed: {},\n\n}\n</script>\n\n<style scoped lang=\"scss\">\n\n</style>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageBlock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ImageBlock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ImageBlock.vue?vue&type=template&id=51ac6ffc&scoped=true\"\nimport script from \"./ImageBlock.vue?vue&type=script&lang=js\"\nexport * from \"./ImageBlock.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"51ac6ffc\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{style:(`height: ${_vm.height}px; min-height: ${_vm.height}px`),on:{\"click\":function($event){return _vm.$emit('click',$event)}}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spacer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Spacer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Spacer.vue?vue&type=template&id=c0f89bd6&scoped=true\"\nimport script from \"./Spacer.vue?vue&type=script&lang=js\"\nexport * from \"./Spacer.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"c0f89bd6\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"text-left form-content\",on:{\"click\":function($event){return _vm.$emit('click',$event)}}},[(_vm.active && (_vm.inBuilder || _vm.editMode))?_c('editor',{ref:\"textEditor\",attrs:{\"api-key\":_vm.$store.getters.getTinyMceKey,\"initial-value\":_vm.element.text,\"inline\":true,\"init\":_vm.mceConfigText},on:{\"input\":_vm.handleTextInput}}):_c('div',{domProps:{\"innerHTML\":_vm._s(_vm.tokenizedText)}}),(_vm.active && _vm.inBuilder)?_c('div',{staticClass:\"row-format mb-n1 mt-1\"},[_c('v-icon',{staticClass:\"material-symbols-outlined\",staticStyle:{\"cursor\":\"grab\"},attrs:{\"size\":\"22\"}},[_vm._v(\"drag_indicator\")]),_c('v-icon',{staticClass:\"ml-auto pointer material-symbols-outlined\",attrs:{\"size\":\"22\"},on:{\"click\":function($event){return _vm.$emit('delete')}}},[_vm._v(\"delete\")])],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"text-left form-content\" @click=\"$emit('click',$event)\">\n\t\t<editor\n\t\t\t\tref=\"textEditor\"\n\t\t\t\tv-if=\"active && (inBuilder || editMode)\"\n\t\t\t\t:api-key=\"$store.getters.getTinyMceKey\"\n\t\t\t\t:initial-value=\"element.text\"\n\t\t\t\t:inline=\"true\"\n\t\t\t\t:init=\"mceConfigText\"\n\t\t\t\t@input=\"handleTextInput\"\n\t\t></editor>\n\t\t<div v-else v-html=\"tokenizedText\"></div>\n\t\t<div v-if=\"active && inBuilder\" class=\"row-format mb-n1 mt-1\">\n\t\t\t<v-icon size=\"22\" class=\"material-symbols-outlined\" style=\"cursor: grab\">drag_indicator</v-icon>\n\t\t\t<v-icon size=\"22\" class=\"ml-auto pointer material-symbols-outlined\" @click=\"$emit('delete')\">delete</v-icon>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\nimport RendererMixin from \"@/modules/forms/v2/schema/RendererMixin\";\n\nexport default {\n\tname: \"TextBlock\",\n\n\tprops: ['item','active','tokens','tokenMap','inBuilder','editMode'],\n\n\tmixins: [RendererMixin],\n\n\tcomponents: {\n\t\teditor: () => import(/* webpackChunkName: \"tinymce\" */ '@tinymce/tinymce-vue'),\n\t},\n\n\tdata: function () {\n\t\treturn {\n\t\t\telement: {... this.item},\n\t\t\tmceConfigText: {\n\t\t\t\tmenubar: false,\n\t\t\t\tinline: true,\n\t\t\t\tpaste_as_text: false,\n\t\t\t\tpaste_data_images: true,\n\t\t\t\ttable_style_by_css: true,\n\t\t\t\tstatusbar: false,\n\t\t\t\tforced_root_block: 'div',\n\t\t\t\tplugins: ['paste', 'lists', 'link', 'table', 'autoresize', 'media', 'code'],\n\t\t\t\tcontextmenu: 'paste | link image | table',\n\t\t\t\tindentation: '12pt',\n\t\t\t\tskin: this.$vuetify.theme.dark ? 'oxide-dark' : '',\n\t\t\t\tcontent_css: this.$vuetify.theme.dark ? 'dark' : '',\n\t\t\t\ttoolbar: [\n\t\t\t\t\t'bold italic underline forecolor fontsizeselect | tokenbutton | link unlink code',\n\t\t\t\t\t'alignleft aligncenter alignright alignjustify | formatting_group'\n\t\t\t\t],\n\t\t\t\tfontsize_formats: \"10px 12px 14px 16px 18px 20px 22px 24px 28px 32px 40px 48px\",\n\t\t\t\ttoolbar_groups: {\n\t\t\t\t\tformatting_group: {\n\t\t\t\t\t\ticon: 'format',\n\t\t\t\t\t\ttooltip: 'Formatting',\n\t\t\t\t\t\titems: 'blockquote bullist numlist indent outdent table | removeformat'\n\t\t\t\t\t},\n\t\t\t\t\tmedia_group: {\n\t\t\t\t\t\ticon: 'embed',\n\t\t\t\t\t\ttooltip: 'Media',\n\t\t\t\t\t\titems: ' link unlink media'\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\ttable_toolbar:\n\t\t\t\t\t\t'tableprops tabledelete | tableinsertrowbefore tableinsertrowafter tabledeleterow | tableinsertcolbefore tableinsertcolafter tabledeletecol',\n\n\t\t\t\tsetup: (editor) =>  {\n\t\t\t\t\tlet items = [];\n\t\t\t\t\tthis.tokens.forEach(t => {\n\t\t\t\t\t\titems.push({\n\t\t\t\t\t\t\ttype: 'menuitem',\n\t\t\t\t\t\t\ttext: t,\n\t\t\t\t\t\t\tonAction: function () {\n\t\t\t\t\t\t\t\teditor.insertContent('{{' + t + '}}');\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t});\n\t\t\t\t\t})\n\t\t\t\t\teditor.ui.registry.addMenuButton('tokenbutton', {\n\t\t\t\t\t\ttext: 'Tokens',\n\t\t\t\t\t\tfetch: function (callback) {\n\t\t\t\t\t\t\tcallback(items);\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\t\t}\n\t},\n\n\tmounted() {\n\t},\n\n\tbeforeDestroy() {\n\t},\n\n\tmethods: {\n\t\thandleTextInput: function () {\n\t\t\tthis.element.text = this.$refs.textEditor.editor.getContent();\n\t\t\tthis.$emit('change',this.element);\n\t\t},\n\t},\n\n\tcomputed: {\n\t\ttokenizedText: function(){\n\t\t\tif(!this.element.text){\n\t\t\t\treturn null;\n\t\t\t}\n\n\t\t\tlet text = this.element.text;\n\n\t\t\tthis.tokenMap.forEach((value,key) => {\n\t\t\t\ttext = text.replaceAll(`{{${key}}}`,value);\n\t\t\t})\n\n\t\t\treturn text;\n\t\t}\n\t},\n\n\twatch: {\n\t\tactive: function(val){\n\t\t\tif(val){\n\t\t\t\tsetTimeout(() => this.$refs.textEditor.editor.focus(),200);\n\t\t\t}\n\t\t}\n\t}\n\n}\n</script>\n\n<style scoped lang=\"scss\">\n</style>","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextBlock.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TextBlock.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TextBlock.vue?vue&type=template&id=5ea5ef1c&scoped=true\"\nimport script from \"./TextBlock.vue?vue&type=script&lang=js\"\nexport * from \"./TextBlock.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"5ea5ef1c\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{style:(`width: 100%; text-align: ${_vm.item.alignment}`),on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('img',{style:(`width:${_vm.item.width}px`),attrs:{\"src\":_vm.accountLogo}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div @click=\"$emit('click', $event)\" :style=\"`width: 100%; text-align: ${item.alignment}`\">\n\t\t<img :src=\"accountLogo\" :style=\"`width:${item.width}px`\">\n\t</div>\n</template>\n\n<script>\n\timport RendererMixin from \"@/modules/forms/v2/schema/RendererMixin\";\n\n\texport default {\n\t\tname: 'ImageBlock',\n\n\t\tprops: ['accountLogo','item'],\n\n\t\tmixins: [RendererMixin],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logo.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Logo.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Logo.vue?vue&type=template&id=1b77cfc8&scoped=true\"\nimport script from \"./Logo.vue?vue&type=script&lang=js\"\nexport * from \"./Logo.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"1b77cfc8\",\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{style:(`width:100%; padding-top: ${_vm.item.pt}px; padding-bottom: ${_vm.item.pb}px; padding-left: ${_vm.item.pl}px; padding-right: ${_vm.item.pr}px; overflow-x: auto; --menuY:${_vm.menuY}px; --menuX:${_vm.menuX}px;`),attrs:{\"id\":\"invoice-line-items\"},on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[_c('table',{class:`line-item-table ${_vm.item.size.toLowerCase()}`,staticStyle:{\"height\":\"1px\"}},[_c('thead',[_c('tr',{staticClass:\"header\"},[_c('th',[_vm._v(_vm._s(_vm.item.labels.description))]),(_vm.item.enabledColumns.quantity)?_c('th',{staticStyle:{\"width\":\"10%\"}},[_vm._v(_vm._s(_vm.item.labels.quantity))]):_vm._e(),(_vm.item.enabledColumns.rate)?_c('th',{staticStyle:{\"width\":\"15%\"}},[_vm._v(_vm._s(_vm.item.labels.rate))]):_vm._e(),(_vm.item.enabledColumns.tax)?_c('th',{staticStyle:{\"width\":\"10%\"}},[_vm._v(_vm._s(_vm.item.labels.tax))]):_vm._e(),_c('th',{staticStyle:{\"width\":\"15%\"}},[_vm._v(_vm._s(_vm.item.labels.total))])])]),_c('tbody',[_vm._l((_vm.items),function(lineItem,index){return [(lineItem.visible)?_c('tr',{directives:[{name:\"tippy\",rawName:\"v-tippy\"}],key:'A' + lineItem.id + index,class:`handle ${_vm.item.showTimeDetails && lineItem.timerEventIds && lineItem.timerEventIds.length ? '' : 'line-item'} ${\n\t\t\t\t\t\t\t_vm.editMode && !lineItem.isTransientItem ? 'pointer' : ''\n\t\t\t\t\t\t}`,style:(lineItem.isTransientItem ? 'opacity: 0.4' : ''),attrs:{\"id\":'line-' + lineItem.id,\"content\":lineItem.isTransientItem ? 'This item is automatically added based on your settings in the Recurring invoice panel.  If you wish to change the rates or inclusion, please update your project or recurring settings accordingly.' : null},on:{\"click\":function($event){return _vm.editLineItem(lineItem, $event)}}},[_c('td',{staticClass:\"line-item-description\"},[_c('div',{staticClass:\"description row-format align-center\"},[(_vm.editMode && !lineItem.isTransientItem)?_c('div',{staticClass:\"column-format re-order\"},[_c('v-icon',{staticClass:\"mb-n1\",attrs:{\"color\":\"gray_70\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.moveUp(index)}}},[_vm._v(\"expand_less\")]),_c('v-icon',{staticClass:\"mt-n1\",attrs:{\"color\":\"gray_70\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.moveDown(index)}}},[_vm._v(\"expand_more\")])],1):_vm._e(),_c('div',{staticStyle:{\"line-height\":\"1.4em\"}},[_c('span',{domProps:{\"innerHTML\":_vm._s(lineItem.description)}}),_c('br'),(lineItem.projectId && !lineItem.description.includes(lineItem.projectName))?_c('span',[_vm._v(_vm._s(lineItem.projectName))]):_vm._e(),(lineItem.retainerPeriod)?_c('span',[_c('br'),_vm._v(_vm._s(_vm.DateTime.fromISO(lineItem.retainerPeriod.start).toLocaleString(_vm.DateTime.DATE_MED))+\" - \"+_vm._s(_vm.DateTime.fromISO(lineItem.retainerPeriod.end).toLocaleString(_vm.DateTime.DATE_MED)))]):_vm._e(),(lineItem.type === 'DEPOSIT')?_c('span',[_c('br'),_c('v-icon',{attrs:{\"color\":\"gray_70\",\"size\":\"16\"}},[_vm._v(\"account_balance\")])],1):_vm._e()])])]),(_vm.item.enabledColumns.quantity)?_c('td',{staticStyle:{\"width\":\"10%\"}},[(_vm.item.roundQty)?_c('span',[_vm._v(_vm._s(_vm.formatQuantity(lineItem)))]):_c('span',{directives:[{name:\"tippy\",rawName:\"v-tippy\",value:({content:lineItem.qty}),expression:\"{content:lineItem.qty}\"}]},[_vm._v(_vm._s(_vm.formatQuantity(lineItem)))])]):_vm._e(),(_vm.item.enabledColumns.rate)?_c('td',{staticStyle:{\"width\":\"15%\"}},[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(lineItem.price, true, true, _vm.currency, 4))+\" \")]):_vm._e(),(_vm.item.enabledColumns.tax)?_c('td',{staticStyle:{\"width\":\"10%\"}},[(lineItem.taxable)?_c('v-icon',{staticClass:\"material-symbols-rounded pr-1\",style:(`color:${_vm.styles.fontColor}!important`),attrs:{\"size\":\"22\"}},[_vm._v(\"check\")]):_vm._e()],1):_vm._e(),_c('td',{staticStyle:{\"width\":\"15%\"}},[_vm._v(_vm._s(_vm.$formatters.dollars(lineItem.subtotal, true, true, _vm.currency)))])]):_vm._e(),(lineItem.visible && _vm.item.showTimeDetails && lineItem.timerEventIds && lineItem.timerEventIds.length && lineItem.id)?_c('tr',{key:'B' + lineItem.id + index,staticClass:\"line-item\"},[_c('td',{staticStyle:{\"padding-top\":\"0!important\",\"padding-bottom\":\"4px\"},attrs:{\"colspan\":\"5\"}},[_c('time-entries',{attrs:{\"invoice\":_vm.invoice,\"invoice-item-id\":lineItem.id,\"invoice-service\":_vm.invoiceService}})],1)]):_vm._e()]}),_c('tr',{staticStyle:{\"height\":\"100%\"}},[_c('td',{staticClass:\"pr-3\",style:(`height: 100%; text-align: ${_vm.buttonAlignment}`),attrs:{\"colspan\":_vm.colspanSpacer}},[_c('div',{staticClass:\"column-format\",staticStyle:{\"min-height\":\"100%\",\"height\":\"100%\"}},[(_vm.editMode && _vm.invoice.invoiceType === 'STANDARD')?_c('div',{staticClass:\"my-4\"},[_c('v-menu',{staticStyle:{\"overflow-y\":\"auto\"},attrs:{\"max-height\":\"90vh\",\"max-width\":\"900\",\"close-on-content-click\":false,\"close-on-click\":true,\"content-class\":\"filter-menu-class\",\"origin\":\"top center\",\"transition\":\"scale-transition\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"add-a-new-line\"},on),[_c('v-icon',{attrs:{\"size\":\"20\",\"color\":\"primary\"}},[_vm._v(\"add_circle\")]),_c('span',{staticClass:\"brand-regular\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.add-a-new-line-item'))+\" \")])],1)]}}],null,false,984695953),model:{value:(_vm.showProductsMenu),callback:function ($$v) {_vm.showProductsMenu=$$v},expression:\"showProductsMenu\"}},[(_vm.editMode)?_c('products',{attrs:{\"currency\":_vm.invoice.currency,\"client-id\":_vm.invoice.clientId},on:{\"close\":function($event){_vm.showProductsMenu = false},\"select\":function($event){return _vm.handleSelectProduct($event)}}}):_vm._e()],1),(!_vm.recurring && !_vm.paymentPlan)?_c('div',{staticClass:\"add-a-new-line\",on:{\"click\":function($event){return _vm.handleAddNewTrackedItemModal()}}},[_c('v-icon',{attrs:{\"size\":\"20\",\"color\":\"primary\"}},[_vm._v(\"folder_special\")]),_c('span',{staticClass:\"brand-regular\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.add-line-item-from-billable'))+\" \")])],1):_vm._e(),(_vm.paymentPlan)?_c('v-menu',{staticStyle:{\"overflow-y\":\"auto\"},attrs:{\"max-height\":\"90vh\",\"max-width\":\"900\",\"close-on-content-click\":false,\"close-on-click\":true,\"content-class\":\"filter-menu-class\",\"origin\":\"top center\",\"transition\":\"scale-transition\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on }){return [_c('div',_vm._g({staticClass:\"add-a-new-line\"},on),[_c('v-icon',{attrs:{\"size\":\"20\",\"color\":\"primary\"}},[_vm._v(\"folder_special\")]),_c('span',{staticClass:\"brand-regular\"},[_vm._v(\" \"+_vm._s(_vm.$t('invoice.details.add-fixed-price-project'))+\" \")])],1)]}}],null,false,301717936),model:{value:(_vm.showProjectMenu),callback:function ($$v) {_vm.showProjectMenu=$$v},expression:\"showProjectMenu\"}},[_c('fixed-price-project-list',{attrs:{\"invoice\":_vm.invoice,\"invoice-service\":_vm.invoiceService},on:{\"selected\":function($event){return _vm.handleSelectProject($event)}}})],1):_vm._e(),(_vm.hasExpenses && !_vm.recurring && !_vm.paymentPlan)?_c('div',{staticClass:\"add-a-new-line\",on:{\"click\":function($event){return _vm.handleAddExpenses()}}},[_c('v-icon',{attrs:{\"size\":\"20\",\"color\":\"primary\"}},[_vm._v(\"paid\")]),_c('span',{staticClass:\"brand-regular\"},[_vm._v(_vm._s(_vm.$t('invoice.details.add-expenses')))])],1):_vm._e(),((_vm.balanceExists || _vm.invoice.creditAmount) && !_vm.recurring && !_vm.paymentPlan)?_c('div',{staticClass:\"add-a-new-line\",on:{\"click\":function($event){return _vm.handleApplyDeposit()}}},[_c('v-icon',{attrs:{\"size\":\"20\",\"color\":\"primary\"}},[_vm._v(\"account_balance\")]),_c('span',{staticClass:\"brand-regular\"},[_vm._v(_vm._s(_vm.$t('invoice.details.apply-deposit-credit')))])],1):_vm._e()],1):_vm._e(),_c('div',{staticClass:\"mt-auto\"},[(_vm.invoice.amountDue > 0 && _vm.invoice.payOnlineUrl && _vm.invoice.allowOnlinePayment)?_c('v-btn',{staticClass:\"elevation-0\",attrs:{\"color\":_vm.item.buttonColor,\"x-small\":_vm.payNowButton.xSmall,\"small\":_vm.payNowButton.small,\"large\":_vm.payNowButton.large,\"x-large\":_vm.payNowButton.xLarge,\"outlined\":_vm.payNowButton.outlined,\"block\":_vm.payNowButton.block,\"text\":_vm.payNowButton.text},on:{\"click\":function($event){return _vm.handlePayNow()}}},[(_vm.item.payNowIcon)?_c('v-icon',{staticClass:\"material-symbols-rounded mr-1\",style:(`color: ${_vm.item.buttonTextColor}!important`)},[_vm._v(_vm._s(_vm.item.payNowIcon))]):_vm._e(),_c('span',{style:(`color: ${_vm.item.buttonTextColor}; font-family: ${_vm.styles.font}`)},[_vm._v(_vm._s(_vm.item.payNowText))])],1):_vm._e()],1)])]),_c('td',{staticStyle:{\"padding-right\":\"0!important\"},attrs:{\"colspan\":_vm.colspanSubTotal}},[_c('div',{staticClass:\"row-format\"},[_c('div',{staticClass:\"ml-auto mt-2\"},[_c('table',{staticStyle:{\"border-collapse\":\"collapse\"}},[_c('tr',{staticClass:\"summary sub-total\"},[_c('td',{staticClass:\"text-right summary-label\",attrs:{\"colspan\":\"2\"}},[_vm._v(_vm._s(_vm.item.labels.subTotal))]),_c('td',[_vm._v(_vm._s(_vm.$formatters.dollars(_vm.invoice.itemSubtotal, true, true, _vm.currency)))])]),(_vm.invoice.discountAmount || _vm.inBuilder)?_c('tr',{staticClass:\"summary discount\"},[_c('td',{staticClass:\"text-right summary-label\"},[_vm._v(_vm._s(_vm.item.labels.discount))]),_c('td',{staticClass:\"text-right summary-label\"},[_vm._v(_vm._s(_vm.invoice.discountPercentage)+\"%\")]),_c('td',[_vm._v(_vm._s(_vm.$formatters.dollars(_vm.invoice.discountAmount * -1, true, true, _vm.currency)))])]):_vm._e(),(_vm.invoice.creditAmount || _vm.inBuilder)?_c('tr',{staticClass:\"summary credit\"},[_c('td',{staticClass:\"text-right summary-label\",attrs:{\"colspan\":\"2\"}},[_vm._v(_vm._s(_vm.item.labels.creditApplied))]),_c('td',[_vm._v(_vm._s(_vm.$formatters.dollars(_vm.invoice.creditAmount * -1, true, true, _vm.currency)))])]):_vm._e(),(_vm.invoice.convenienceFee || _vm.inBuilder)?_c('tr',{staticClass:\"summary credit\"},[_c('td',{staticClass:\"text-right summary-label\",attrs:{\"colspan\":\"2\"}},[_vm._v(_vm._s(_vm.item.labels.processingFee))]),_c('td',[_vm._v(_vm._s(_vm.$formatters.dollars(_vm.invoice.convenienceFee, true, true, _vm.currency)))])]):_vm._e(),(_vm.lateFee || _vm.inBuilder)?_c('tr',{staticClass:\"summary late-fee\"},[_c('td',{staticClass:\"text-right summary-label\",attrs:{\"colspan\":\"2\"}},[_vm._v(_vm._s(_vm.item.labels.lateFee))]),_c('td',[_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(_vm.lateFee, true, true, _vm.currency))+\" \")])]):_vm._e(),(_vm.showTax)?_c('tr',{staticClass:\"summary tax\"},[_c('td',{staticClass:\"text-right summary-label\"},[_vm._v(_vm._s(_vm.item.labels.tax))]),_c('td',{staticClass:\"text-right summary-label\"},[_vm._v(_vm._s(_vm.invoice.taxPercentage)+\"%\")]),_c('td',[_vm._v(_vm._s(_vm.$formatters.dollars(_vm.invoice.taxAmount, true, true, _vm.currency)))])]):_vm._e(),_c('tr',{staticClass:\"summary grand-total\"},[_c('td',{staticClass:\"text-right summary-label\",attrs:{\"colspan\":\"2\"}},[_vm._v(_vm._s(_vm.item.labels.total))]),_c('td',[_vm._v(_vm._s(_vm.$formatters.dollars(_vm.invoice.total, true, true, _vm.currency)))])]),_vm._l((_vm.invoice.payments),function(payment){return _c('tr',{key:payment.id,staticClass:\"summary status\"},[_c('td',{staticClass:\"text-right summary-label\",attrs:{\"colspan\":\"2\"}},[_vm._v(_vm._s(_vm.$DateTime.shortDate(payment.datePaid)))]),_c('td',[_vm._v(_vm._s(_vm.$formatters.dollars(payment.amount, true, true, _vm.currency)))])])}),(_vm.invoice.paymentTotal > 0)?_c('tr',{staticClass:\"summary status\"},[_c('td',{staticClass:\"text-right summary-label\",attrs:{\"colspan\":\"2\"}},[_vm._v(_vm._s(_vm.item.labels.paymentTotal))]),_c('td',[_vm._v(_vm._s(_vm.$formatters.dollars(_vm.invoice.paymentTotal, true, true, _vm.currency)))])]):_vm._e(),(_vm.invoice.paymentTotal > 0)?_c('tr',{staticClass:\"summary status\"},[_c('td',{staticClass:\"text-right summary-label\",attrs:{\"colspan\":\"2\"}},[_vm._v(_vm._s(_vm.item.labels.amountDue))]),_c('td',[_vm._v(_vm._s(_vm.$formatters.dollars(_vm.invoice.amountDue, true, true, _vm.currency)))])]):_vm._e()],2)])])])])],2)]),(_vm.scheduledPayments && _vm.scheduledPayments.length)?_c('scheduled-payments',{staticClass:\"mt-5\",attrs:{\"invoice\":_vm.invoice,\"scheduled-payments\":_vm.scheduledPayments,\"line-items\":_vm.item}}):_vm._e(),(_vm.dialog)?_c('v-menu',{attrs:{\"attach\":\"#invoice-line-items\",\"content-class\":\"override-menu\",\"close-on-content-click\":false,\"close-on-click\":false},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('line-item-editor',{attrs:{\"line-item\":_vm.lineItem,\"invoice\":_vm.invoice,\"menu-width\":_vm.menuWidth},on:{\"cancel\":function($event){_vm.dialog = false},\"save\":function($event){return _vm.updateLineItem($event)},\"delete\":function($event){return _vm.deleteLineItem($event)}}})],1):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"column-format gap-3 line-item-editor\",style:(`font-family: Inter!important; min-width: 300px; background-color: var(--v-white-base); width:${_vm.menuWidth}px;`)},[_c('div',{staticClass:\"row-format px-4\"},[_c('v-icon',{staticClass:\"ml-auto pointer pt-2\",attrs:{\"color\":\"gray_70\"},on:{\"click\":function($event){return _vm.$emit('cancel')}}},[_vm._v(\"close\")])],1),_c('div',{staticClass:\"row-format gap-2 px-4\"},[_c('div',{staticClass:\"column-format\",staticStyle:{\"width\":\"60%\"}},[_c('div',{staticClass:\"column-format gap-2\",staticStyle:{\"height\":\"fit-content\",\"width\":\"100%\"}},[(_vm.showEditor)?_c('editor',{staticClass:\"no-wrap-editor\",staticStyle:{\"width\":\"100%\"},attrs:{\"inline\":false,\"init\":_vm.mceConfig},model:{value:(_vm.item.description),callback:function ($$v) {_vm.$set(_vm.item, \"description\", $$v)},expression:\"item.description\"}}):_vm._e(),_c('project-select',{staticClass:\"mt-2 pointer\",attrs:{\"clientId\":_vm.invoice.clientId,\"item\":_vm.item,\"use-button\":true,\"editable\":!_vm.projectDisabled},on:{\"select-project\":function($event){return _vm.assignProjectToItem($event)}}})],1)]),_c('div',{staticClass:\"column-format\",staticStyle:{\"width\":\"40%\"}},[_c('div',{staticClass:\"column-format gap-2\",staticStyle:{\"height\":\"fit-content\",\"width\":\"100%\"}},[_c('v-text-field',{attrs:{\"type\":\"number\",\"dense\":\"\",\"hide-details\":\"\",\"outlined\":\"\",\"persistent-placeholder\":\"\",\"label\":\"Quantity\"},on:{\"change\":_vm.qtyChanged},model:{value:(_vm.item.qty),callback:function ($$v) {_vm.$set(_vm.item, \"qty\", $$v)},expression:\"item.qty\"}}),_c('v-text-field',{attrs:{\"type\":\"number\",\"dense\":\"\",\"hide-details\":\"\",\"outlined\":\"\",\"persistent-placeholder\":\"\",\"prefix\":_vm.$formatters.currencySymbol(_vm.invoice.currency),\"label\":\"Rate\"},model:{value:(_vm.item.price),callback:function ($$v) {_vm.$set(_vm.item, \"price\", $$v)},expression:\"item.price\"}}),_c('v-checkbox',{staticClass:\"mt-n2\",attrs:{\"dense\":\"\",\"hide-details\":\"\",\"persistent-placeholder\":\"\",\"label\":\"Taxable\"},model:{value:(_vm.item.taxable),callback:function ($$v) {_vm.$set(_vm.item, \"taxable\", $$v)},expression:\"item.taxable\"}})],1)])]),_c('div',{staticClass:\"row-format centered py-3 gap-2\",staticStyle:{\"border-top\":\"1px solid var(--v-gray_30-base)\"}},[_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){return _vm.$emit('delete', _vm.lineItem)}}},[_c('v-icon',{staticClass:\"material-symbols-rounded\",attrs:{\"size\":\"22\",\"color\":\"gray_80\"}},[_vm._v(\"delete\")])],1),_c('v-btn',{staticClass:\"super-action\",staticStyle:{\"min-width\":\"150px\"},on:{\"click\":_vm.save}},[_vm._v(_vm._s(_vm.$t('global.ok')))])],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div\n\t\t:style=\"`font-family: Inter!important; min-width: 300px; background-color: var(--v-white-base); width:${menuWidth}px;`\"\n\t\tclass=\"column-format gap-3 line-item-editor\"\n\t>\n\t\t<div class=\"row-format px-4\">\n\t\t\t<v-icon class=\"ml-auto pointer pt-2\" color=\"gray_70\" @click=\"$emit('cancel')\">close</v-icon>\n\t\t</div>\n\t\t<div class=\"row-format gap-2 px-4\">\n\t\t\t<div class=\"column-format\" style=\"width:60%\">\n\t\t\t\t<div class=\"column-format gap-2\" style=\"height: fit-content; width:100%\">\n\t\t\t\t\t<editor\n\t\t\t\t\t\t\tv-if=\"showEditor\"\n\t\t\t\t\t\tv-model=\"item.description\"\n\t\t\t\t\t\t:inline=\"false\"\n\t\t\t\t\t\t:init=\"mceConfig\"\n\t\t\t\t\t\tclass=\"no-wrap-editor\"\n\t\t\t\t\t\tstyle=\"width: 100%\"\n\t\t\t\t\t>\n\t\t\t\t\t</editor>\n\t\t\t\t\t<project-select\n\t\t\t\t\t\tclass=\"mt-2 pointer\"\n\t\t\t\t\t\t:clientId=\"invoice.clientId\"\n\t\t\t\t\t\t:item=\"item\"\n\t\t\t\t\t\t:use-button=\"true\"\n\t\t\t\t\t\t:editable=\"!projectDisabled\"\n\t\t\t\t\t\t@select-project=\"assignProjectToItem($event)\"\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t\t<div class=\"column-format\" style=\"width: 40%\">\n\t\t\t\t<div class=\"column-format gap-2\" style=\"height: fit-content; width:100%\">\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tdense\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\toutlined\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\tv-model=\"item.qty\"\n\t\t\t\t\t\t@change=\"qtyChanged\"\n\t\t\t\t\t\tlabel=\"Quantity\"\n\t\t\t\t\t></v-text-field>\n\t\t\t\t\t<v-text-field\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tdense\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\toutlined\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\t:prefix=\"$formatters.currencySymbol(invoice.currency)\"\n\t\t\t\t\t\tv-model=\"item.price\"\n\t\t\t\t\t\tlabel=\"Rate\"\n\t\t\t\t\t></v-text-field>\n\t\t\t\t\t<v-checkbox\n\t\t\t\t\t\tdense\n\t\t\t\t\t\thide-details\n\t\t\t\t\t\tpersistent-placeholder\n\t\t\t\t\t\tclass=\"mt-n2\"\n\t\t\t\t\t\tv-model=\"item.taxable\"\n\t\t\t\t\t\tlabel=\"Taxable\"\n\t\t\t\t\t></v-checkbox>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t\t<div class=\"row-format centered py-3 gap-2\" style=\"border-top: 1px solid var(--v-gray_30-base)\">\n\t\t\t<v-btn icon @click=\"$emit('delete', lineItem)\"\n\t\t\t\t><v-icon size=\"22\" color=\"gray_80\" class=\"material-symbols-rounded\">delete</v-icon></v-btn\n\t\t\t>\n\t\t\t<v-btn class=\"super-action\" style=\"min-width: 150px\" @click=\"save\">{{ $t('global.ok') }}</v-btn>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport editor from '@tinymce/tinymce-vue';\n\timport ProjectSelect from '@/modules/invoices/InvoiceRenderer/ProjectSelect';\n\texport default {\n\t\tname: 'LineItemEditor',\n\n\t\tprops: ['invoice', 'lineItem', 'menuWidth'],\n\n\t\tcomponents: { ProjectSelect, editor },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tshowEditor: false,\n\t\t\t\titem: { ...this.lineItem },\n\t\t\t\tquantityUpdated: false,\n\t\t\t\tmceConfig: {\n\t\t\t\t\tmenubar: false,\n\t\t\t\t\tinline: false,\n\t\t\t\t\tpaste_as_text: false,\n\t\t\t\t\tbrowser_spellcheck: true,\n\t\t\t\t\tpaste_data_images: true,\n\t\t\t\t\ttable_style_by_css: true,\n\t\t\t\t\tstatusbar: false,\n\t\t\t\t\tplaceholder: 'Description',\n\t\t\t\t\textended_valid_elements: 'iframe[src,id,style], style[media|type], link[rel,type,href]',\n\t\t\t\t\tforced_root_block: '',\n\t\t\t\t\tplugins: ['autolink', 'paste', 'lists', 'link', 'table', 'autoresize', 'media', 'code'],\n\t\t\t\t\tcontextmenu: false,\n\t\t\t\t\tindentation: '12pt',\n\t\t\t\t\tskin: this.$vuetify.theme.dark ? 'oxide-dark' : '',\n\t\t\t\t\tcontent_css: this.$vuetify.theme.dark ? 'dark' : '',\n\t\t\t\t\tdefault_link_target: '_blank',\n\t\t\t\t\ttoolbar: [\n\t\t\t\t\t\t'fontsizeselect forecolor | ' +\n\t\t\t\t\t\t\t'bold italic underline | alignleft aligncenter ' +\n\t\t\t\t\t\t\t'alignright alignjustify | bullist numlist',\n\t\t\t\t\t],\n\t\t\t\t\tcontent_style:\n\t\t\t\t\t\t\"@import url('https://fonts.googleapis.com/css2?family=Inter:wght@200;300;400;500;600;700&display=swap'); body { font-family: 'Inter', sans-serif; }\",\n\t\t\t\t},\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.$nextTick(() => this.showEditor = true);\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tsave: function() {\n\t\t\t\tthis.$emit('save', this.item);\n\t\t\t},\n\n\t\t\tassignProjectToItem(project) {\n\t\t\t\tif (project) {\n\t\t\t\t\tthis.item.projectId = project.id;\n\t\t\t\t\tthis.item.projectName = project.name;\n\t\t\t\t} else {\n\t\t\t\t\tthis.item.projectId = null;\n\t\t\t\t\tthis.item.projectName = null;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tqtyChanged: function() {\n\t\t\t\tthis.quantityUpdated = true;\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tprojectDisabled: function() {\n\t\t\t\treturn (\n\t\t\t\t\tthis.lineItem.type === 'RETAINER' ||\n\t\t\t\t\tthis.lineItem.type === 'HOURS' ||\n\t\t\t\t\tthis.lineItem.type === 'PROJECT' ||\n\t\t\t\t\tthis.lineItem.type === 'OVERAGE'\n\t\t\t\t);\n\t\t\t},\n\n\t\t\tqtyDisabled: function() {\n\t\t\t\treturn this.lineItem.type === 'RETAINER' || this.lineItem.type === 'HOURS' || this.lineItem.type === 'OVERAGE';\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\"></style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineItemEditor.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineItemEditor.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LineItemEditor.vue?vue&type=template&id=0cf58db9\"\nimport script from \"./LineItemEditor.vue?vue&type=script&lang=js\"\nexport * from \"./LineItemEditor.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\ninstallComponents(component, {VBtn,VCheckbox,VIcon,VTextField})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"font-14\"},_vm._l((_vm.timerEvents),function(item){return _c('div',{key:item.id,staticClass:\"pb-2\",staticStyle:{\"line-height\":\"1.3em\"}},[_c('span',[_vm._v(_vm._s(item.timeWorked)+\" • \"+_vm._s(item.dateDisplay))]),(item.deliverableName)?_c('span',[_vm._v(\"• \"+_vm._s(item.deliverableName)+\" \")]):_vm._e(),(item.notes)?_c('span',{staticStyle:{\"white-space\":\"pre-wrap\"}},[_vm._v(\"• \"+_vm._s(item.notes)+\" \")]):_vm._e()])}),0)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"font-14\">\n\t\t<div v-for=\"item in timerEvents\" :key=\"item.id\" style=\"line-height: 1.3em;\" class=\"pb-2\">\n\t\t\t<span>{{ item.timeWorked }} &bull; {{ item.dateDisplay }}</span>\n\t\t\t<span v-if=\"item.deliverableName\">&bull; {{ item.deliverableName }} </span>\n\t\t\t<span v-if=\"item.notes\" style=\"white-space: pre-wrap\">&bull; {{ item.notes }} </span>\n\t\t</div>\n\t</div>\n</template>\n\n<script>\n\timport { DateTime } from 'luxon';\n\n\texport default {\n\t\tname: 'TimeEntries',\n\n\t\tcomponents: {},\n\t\tprops: {\n\t\t\tinvoice: { type: Object, required: true },\n\t\t\tinvoiceItemId: { type: String, required: true },\n\t\t\tinvoiceService: { type: Object, required: true },\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\titem: null,\n\t\t\t\ttimerEvents: null,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getInvoiceItem();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tgetInvoiceItem() {\n\t\t\t\tthis.invoiceService\n\t\t\t\t\t.getInvoiceItem(this.invoice.clientId, this.invoice.id, this.invoiceItemId)\n\t\t\t\t\t.then((res) => {\n\t\t\t\t\t\tthis.item = res.data.item;\n\t\t\t\t\t\tthis.timerEvents = this.fixupEventList(res.data.timerEvents);\n\t\t\t\t\t\tthis.timerEvents.sort((a, b) => a.dateTime.toMillis() - b.dateTime.toMillis());\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tconsole.log(err);\n\t\t\t\t\t});\n\t\t\t},\n\n\t\t\tfixupEventList(list) {\n\t\t\t\tfor (let i = 0; i < list.length; i++) {\n\t\t\t\t\tthis.fixupEvent(list[i]);\n\t\t\t\t}\n\t\t\t\treturn list;\n\t\t\t},\n\n\t\t\tfixupEvent(item) {\n\t\t\t\tlet timerStart = DateTime.fromISO(item.timerStart);\n\t\t\t\tlet timerEnd = timerStart.plus({seconds: item.duration});\n\t\t\t\titem.dateTime = timerStart;\n\t\t\t\titem.dateDisplay = timerStart.toLocaleString(DateTime.DATE_MED);\n\t\t\t\titem.durationHoursDecimal = timerEnd.diff(timerStart, ['hours']).values.hours; // Store as Duration in hours decimal for chart calculations\n\t\t\t\titem.duration = timerEnd.diff(timerStart, ['hours', 'minutes', 'seconds']);\n\t\t\t\titem.timeWorked = item.duration.plus(item.duration.seconds > 29 ? 60000 : 0).toFormat('h:mm'); // Table display\n\t\t\t\titem.timeWorkedSortable = item.duration.toFormat('hh:mm:ss'); // Table sortability\n\t\t\t\titem.value = '--'; // Value of time worked in dollars. Update later\n\t\t\t\titem.valueTooltip = this.$t('timetrack.value-tooltip.default');\n\t\t\t\titem.projectName = item.projectName ?? '';\n\t\t\t\titem.deliverableName = item.deliverableName ?? '';\n\t\t\t\titem.notes = item.notes ?? '';\n\n\t\t\t\treturn item;\n\t\t\t},\n\t\t},\n\t\tcomputed: {},\n\t\tfilters: {},\n\t\twatch: {},\n\t};\n</script>\n\n<style lang=\"scss\"></style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntries.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TimeEntries.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./TimeEntries.vue?vue&type=template&id=1a68416f\"\nimport script from \"./TimeEntries.vue?vue&type=script&lang=js\"\nexport * from \"./TimeEntries.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_c('v-data-table',{staticClass:\"pointer\",attrs:{\"id\":\"project-data-table\",\"items\":_vm.projects,\"headers\":_vm.headers,\"hide-default-footer\":true,\"no-data-text\":\"No fixed price projects found\",\"sort-by\":\"amountDue\",\"sort-desc\":true},on:{\"click:row\":_vm.handleProjectSelected},scopedSlots:_vm._u([{key:\"item.name\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(item.name)+\" \")]}},{key:\"item.feeSchedule.amount\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(item.feeSchedule.amount, true, true, _vm.invoice.currency))+\" \")]}},{key:\"item.amountDue\",fn:function({ item }){return [_vm._v(\" \"+_vm._s(_vm.$formatters.dollars(item.amountDue, true, true, _vm.invoice.currency))+\" \")]}}])})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div>\n\t\t<v-data-table\n\t\t\tid=\"project-data-table\"\n\t\t\t:items=\"projects\"\n\t\t\t:headers=\"headers\"\n\t\t\t:hide-default-footer=\"true\"\n\t\t\tno-data-text=\"No fixed price projects found\"\n\t\t\tclass=\"pointer\"\n\t\t\tsort-by=\"amountDue\"\n\t\t\t:sort-desc=\"true\"\n\t\t\t@click:row=\"handleProjectSelected\"\n\t\t>\n\t\t\t<template v-slot:item.name=\"{ item }\">\n\t\t\t\t{{ item.name }}\n\t\t\t</template>\n\t\t\t<template v-slot:item.feeSchedule.amount=\"{ item }\">\n\t\t\t\t{{ $formatters.dollars(item.feeSchedule.amount, true, true, invoice.currency) }}\n\t\t\t</template>\n\t\t\t<template v-slot:item.amountDue=\"{ item }\">\n\t\t\t\t{{ $formatters.dollars(item.amountDue, true, true, invoice.currency) }}\n\t\t\t</template>\n\t\t</v-data-table>\n\t</div>\n</template>\n\n<script>\n\texport default {\n\t\tname: 'FixedPriceProjectList',\n\n\t\tprops: ['invoice', 'invoiceService'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tprojects: [],\n\t\t\t};\n\t\t},\n\n\t\tmounted() {\n\t\t\tthis.getFixedPriceProjects();\n\t\t},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tgetFixedPriceProjects: function() {\n\t\t\t\tthis.$store.commit('startLoading');\n\t\t\t\tthis.invoiceService.getBillable(this.invoice.clientId, null).then((res) => {\n\t\t\t\t\tthis.projects.push(\n\t\t\t\t\t\t...res.data.projects.filter((p) => p.feeSchedule && p.feeSchedule.feeType === 'Fixed Price')\n\t\t\t\t\t);\n\t\t\t\t\tthis.projects.forEach((p) => {\n\t\t\t\t\t\tp.paymentAmount = p.paymentHistory.reduce((sum, payment) => sum + payment.amount, 0);\n\t\t\t\t\t\tp.amountDue = p.feeSchedule.amount - p.paymentHistory.reduce((sum, payment) => sum + payment.amount, 0);\n\t\t\t\t\t});\n\t\t\t\t}).finally(() => this.$store.commit('stopLoading'));\n\t\t\t},\n\n\t\t\thandleProjectSelected: function(project){\n\t\t\t\tthis.$emit('selected',project);\n\t\t\t}\n\t\t},\n\n\t\tcomputed: {\n\t\t\theaders: function() {\n\t\t\t\treturn [\n\t\t\t\t\t{ text: 'Project name', value: 'name', sortable: true },\n\t\t\t\t\t{ text: 'Project fee', value: 'feeSchedule.amount', sortable: true },\n\t\t\t\t\t{ text: 'Amount due', value: 'amountDue', sortable: true },\n\t\t\t\t];\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t#project-data-table {\n\t\ttable tbody tr td {\n\t\t\tpadding-top: 12px !important;\n\t\t\tpadding-bottom: 4px !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FixedPriceProjectList.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FixedPriceProjectList.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FixedPriceProjectList.vue?vue&type=template&id=129010cd\"\nimport script from \"./FixedPriceProjectList.vue?vue&type=script&lang=js\"\nexport * from \"./FixedPriceProjectList.vue?vue&type=script&lang=js\"\nimport style0 from \"./FixedPriceProjectList.vue?vue&type=style&index=0&id=129010cd&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\ninstallComponents(component, {VDataTable})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"font-14\"},[_c('div',{staticClass:\"text-left brand-bold px-2 py-1\"},[_vm._v(_vm._s(_vm.label))]),_c('table',{staticClass:\"text-left\",staticStyle:{\"border-collapse\":\"collapse\",\"width\":\"100%\",\"border\":\"1px solid #cfd3d7\",\"border-radius\":\"4px\"}},_vm._l((_vm.scheduledPayments),function(payment,index){return _c('tr',{key:payment.id,class:_vm.invoice && _vm.invoice.id && payment.invoiceId === _vm.invoice.id ? 'brand-bold' : 'brand-light',style:(`border-bottom: 1px solid #cfd3d7; ${payment.mileStoneAchieved ? 'background-color: var(--v-gray_20-base)' : ''}`)},[_c('td',{staticClass:\"text-left pa-2 font-14\"},[(_vm.invoice && _vm.invoice.id && payment.invoiceId === _vm.invoice.id)?_c('v-icon',{staticClass:\"mr-n1 ml-n2\"},[_vm._v(\"arrow_right\")]):_vm._e(),_vm._v(\" \"+_vm._s(index+1)+\") \"+_vm._s(payment.label)+\" \")],1),(payment.mileStoneAchieved)?_c('td',{staticClass:\"text-left pa-2 font-14\"},[_vm._v(\" \"+_vm._s(payment.invoiceNumberFormatted)+\" - \"+_vm._s(_vm.DateTime.fromISO(payment.invoiceDate).toLocaleString(_vm.DateTime.DATE_MED))+\" \")]):_c('td',{staticClass:\"text-left pa-2 font-14\"},[_vm._v(_vm._s(payment.triggerType === 'Date' && payment.triggerDate ? _vm.DateTime.fromISO(payment.triggerDate).toLocaleString(_vm.DateTime.DATE_MED) : ''))]),_c('td',{staticClass:\"text-right pa-2 font-14\"},[_vm._v(_vm._s(_vm.$formatters.dollars(payment.calculatedAmount,true,true,_vm.invoice.currency))+\" (\"+_vm._s(Number(payment.calculatedPercentage).toFixed(0))+\"%)\")])])}),0)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div class=\"font-14\">\n\t\t<div class=\"text-left brand-bold px-2 py-1\">{{label}}</div>\n\t\t<table style=\"border-collapse: collapse; width:100%; border: 1px solid #cfd3d7; border-radius: 4px\" class=\"text-left\">\n\t\t\t<tr :class=\"invoice && invoice.id && payment.invoiceId === invoice.id ? 'brand-bold' : 'brand-light'\" v-for=\"(payment,index) in scheduledPayments\" :key=\"payment.id\" :style=\"`border-bottom: 1px solid #cfd3d7; ${payment.mileStoneAchieved ? 'background-color: var(--v-gray_20-base)' : ''}`\">\n\t\t\t\t<td class=\"text-left pa-2 font-14\">\n\t\t\t\t\t<v-icon class=\"mr-n1 ml-n2\" v-if=\"invoice && invoice.id && payment.invoiceId === invoice.id\">arrow_right</v-icon>\n\t\t\t\t\t{{index+1}}) {{payment.label}}\n\t\t\t\t</td>\n\t\t\t\t<td class=\"text-left pa-2 font-14\" v-if=\"payment.mileStoneAchieved\">\n\t\t\t\t\t{{payment.invoiceNumberFormatted}} - {{DateTime.fromISO(payment.invoiceDate).toLocaleString(DateTime.DATE_MED)}}\n\t\t\t\t</td>\n\t\t\t\t<td class=\"text-left pa-2 font-14\" v-else>{{payment.triggerType === 'Date' && payment.triggerDate ? DateTime.fromISO(payment.triggerDate).toLocaleString(DateTime.DATE_MED) : ''}}</td>\n\t\t\t\t<td class=\"text-right pa-2 font-14\">{{$formatters.dollars(payment.calculatedAmount,true,true,invoice.currency)}} ({{Number(payment.calculatedPercentage).toFixed(0)}}%)</td>\n\t\t\t</tr>\n\t\t</table>\n\t</div>\n</template>\n\n<script>\n\timport {DateTime} from 'luxon';\n\n\texport default {\n\t\tname: 'ScheduledPayments',\n\n\t\tprops: ['invoice', 'scheduledPayments','lineItems'],\n\n\t\tcomponents: {},\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tDateTime: DateTime\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {},\n\n\t\tcomputed: {\n\t\t\tlabel: function(){\n\t\t\t\treturn this.lineItems.labels.paymentPlan ? this.lineItems.labels.paymentPlan : 'Payment plan';\n\t\t\t}\n\t\t},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScheduledPayments.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ScheduledPayments.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ScheduledPayments.vue?vue&type=template&id=7c51ecfe&scoped=true\"\nimport script from \"./ScheduledPayments.vue?vue&type=script&lang=js\"\nexport * from \"./ScheduledPayments.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"7c51ecfe\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","<template>\n\t<div\n\t\tid=\"invoice-line-items\"\n\t\t@click=\"$emit('click', $event)\"\n\t\t:style=\"\n\t\t\t`width:100%; padding-top: ${item.pt}px; padding-bottom: ${item.pb}px; padding-left: ${item.pl}px; padding-right: ${item.pr}px; overflow-x: auto; --menuY:${menuY}px; --menuX:${menuX}px;`\n\t\t\"\n\t>\n\t\t<table :class=\"`line-item-table ${item.size.toLowerCase()}`\" style=\"height: 1px\">\n\t\t\t<thead>\n\t\t\t\t<tr class=\"header\">\n\t\t\t\t\t<th>{{ item.labels.description }}</th>\n\t\t\t\t\t<th style=\"width:10%\" v-if=\"item.enabledColumns.quantity\">{{ item.labels.quantity }}</th>\n\t\t\t\t\t<th style=\"width:15%\" v-if=\"item.enabledColumns.rate\">{{ item.labels.rate }}</th>\n\t\t\t\t\t<th style=\"width:10%\" v-if=\"item.enabledColumns.tax\">{{ item.labels.tax }}</th>\n\t\t\t\t\t<th style=\"width:15%\">{{ item.labels.total }}</th>\n\t\t\t\t</tr>\n\t\t\t</thead>\n\t\t\t<tbody>\n\t\t\t\t<template v-for=\"(lineItem, index) in items\">\n\t\t\t\t\t<tr v-if=\"lineItem.visible\"\n\t\t\t\t\t\t:class=\"\n\t\t\t\t\t\t\t`handle ${item.showTimeDetails && lineItem.timerEventIds && lineItem.timerEventIds.length ? '' : 'line-item'} ${\n\t\t\t\t\t\t\t\teditMode && !lineItem.isTransientItem ? 'pointer' : ''\n\t\t\t\t\t\t\t}`\n\t\t\t\t\t\t\"\n\t\t\t\t\t\t:style=\"lineItem.isTransientItem ? 'opacity: 0.4' : ''\"\n\t\t\t\t\t\t@click=\"editLineItem(lineItem, $event)\"\n\t\t\t\t\t\t:id=\"'line-' + lineItem.id\"\n\t\t\t\t\t\t:key=\"'A' + lineItem.id + index\"\n\t\t\t\t\t\t:content=\"lineItem.isTransientItem ? 'This item is automatically added based on your settings in the Recurring invoice panel.  If you wish to change the rates or inclusion, please update your project or recurring settings accordingly.' : null\"\n\t\t\t\t\t\tv-tippy\n\t\t\t\t\t>\n\t\t\t\t\t\t<td class=\"line-item-description\">\n\t\t\t\t\t\t\t<div class=\"description row-format align-center\">\n\t\t\t\t\t\t\t\t<div class=\"column-format re-order\" v-if=\"editMode && !lineItem.isTransientItem\">\n\t\t\t\t\t\t\t\t\t<v-icon color=\"gray_70\" class=\"mb-n1\" @click.stop=\"moveUp(index)\">expand_less</v-icon>\n\t\t\t\t\t\t\t\t\t<v-icon color=\"gray_70\" class=\"mt-n1\" @click.stop=\"moveDown(index)\">expand_more</v-icon>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t<div style=\"line-height: 1.4em\"><span v-html=\"lineItem.description\"></span><br>\n\t\t\t\t\t\t\t\t\t<span v-if=\"lineItem.projectId && !lineItem.description.includes(lineItem.projectName)\"\n\t\t\t\t\t\t\t\t\t\t>{{ lineItem.projectName }}</span>\n\t\t\t\t\t\t\t\t\t<span v-if=\"lineItem.retainerPeriod\"\n\t\t\t\t\t\t\t\t\t\t><br />{{\n\t\t\t\t\t\t\t\t\t\t\tDateTime.fromISO(lineItem.retainerPeriod.start).toLocaleString(DateTime.DATE_MED)\n\t\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t\t\t-\n\t\t\t\t\t\t\t\t\t\t{{\n\t\t\t\t\t\t\t\t\t\t\tDateTime.fromISO(lineItem.retainerPeriod.end).toLocaleString(DateTime.DATE_MED)\n\t\t\t\t\t\t\t\t\t\t}}</span\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span v-if=\"lineItem.type === 'DEPOSIT'\">\n\t\t\t\t\t\t\t\t\t\t<br>\n\t\t\t\t\t\t\t\t\t\t<v-icon color=\"gray_70\"  size=\"16\">account_balance</v-icon>\n\t\t\t\t\t\t\t\t\t</span>\n\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</td>\n\n\t\t\t\t\t\t<td style=\"width:10%\" v-if=\"item.enabledColumns.quantity\">\n\t\t\t\t\t\t\t<span v-if=\"item.roundQty\">{{ formatQuantity(lineItem) }}</span>\n\t\t\t\t\t\t\t<span v-else v-tippy=\"{content:lineItem.qty}\">{{ formatQuantity(lineItem) }}</span>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td style=\"width:15%\" v-if=\"item.enabledColumns.rate\">\n\t\t\t\t\t\t\t{{ $formatters.dollars(lineItem.price, true, true, currency, 4) }}\n\t\t\t\t\t\t</td>\n\t\t\t\t\t\t<td style=\"width:10%\" v-if=\"item.enabledColumns.tax\">\n\t\t\t\t\t\t\t<v-icon\n\t\t\t\t\t\t\t\tv-if=\"lineItem.taxable\"\n\t\t\t\t\t\t\t\tclass=\"material-symbols-rounded pr-1\"\n\t\t\t\t\t\t\t\tsize=\"22\"\n\t\t\t\t\t\t\t\t:style=\"`color:${styles.fontColor}!important`\"\n\t\t\t\t\t\t\t\t>check</v-icon\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t</td>\n\n\t\t\t\t\t\t<td style=\"width:15%\">{{ $formatters.dollars(lineItem.subtotal, true, true, currency) }}</td>\n\t\t\t\t\t</tr>\n\t\t\t\t\t<tr\n\t\t\t\t\t\tv-if=\"lineItem.visible && item.showTimeDetails && lineItem.timerEventIds && lineItem.timerEventIds.length && lineItem.id\"\n\t\t\t\t\t\t:key=\"'B' + lineItem.id + index\"\n\t\t\t\t\t\tclass=\"line-item\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<td colspan=\"5\" style=\"padding-top: 0!important;padding-bottom: 4px\">\n\t\t\t\t\t\t\t<time-entries\n\t\t\t\t\t\t\t\t:invoice=\"invoice\"\n\t\t\t\t\t\t\t\t:invoice-item-id=\"lineItem.id\"\n\t\t\t\t\t\t\t\t:invoice-service=\"invoiceService\"\n\t\t\t\t\t\t\t></time-entries>\n\t\t\t\t\t\t</td>\n\t\t\t\t\t</tr>\n\t\t\t\t</template>\n\t\t\t\t<tr style=\"height: 100%\">\n\t\t\t\t\t<td :colspan=\"colspanSpacer\" class=\"pr-3\" :style=\"`height: 100%; text-align: ${buttonAlignment}`\">\n\t\t\t\t\t\t<div style=\"min-height: 100%; height: 100%;\" class=\"column-format\">\n\t\t\t\t\t\t\t<div class=\"my-4\" v-if=\"editMode && invoice.invoiceType === 'STANDARD'\">\n\t\t\t\t\t\t\t\t<v-menu\n\t\t\t\t\t\t\t\t\tv-model=\"showProductsMenu\"\n\t\t\t\t\t\t\t\t\tmax-height=\"90vh\"\n\t\t\t\t\t\t\t\t\tmax-width=\"900\"\n\t\t\t\t\t\t\t\t\t:close-on-content-click=\"false\"\n\t\t\t\t\t\t\t\t\t:close-on-click=\"true\"\n\t\t\t\t\t\t\t\t\tcontent-class=\"filter-menu-class\"\n\t\t\t\t\t\t\t\t\tstyle=\"overflow-y: auto\"\n\t\t\t\t\t\t\t\t\torigin=\"top center\"\n\t\t\t\t\t\t\t\t\ttransition=\"scale-transition\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"add-a-new-line\" v-on=\"on\">\n\t\t\t\t\t\t\t\t\t\t\t<v-icon size=\"20\" color=\"primary\">add_circle</v-icon>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"brand-regular\">\n\t\t\t\t\t\t\t\t\t\t\t\t{{ $t('invoice.details.add-a-new-line-item') }}\n\t\t\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t<products\n\t\t\t\t\t\t\t\t\t\tv-if=\"editMode\"\n\t\t\t\t\t\t\t\t\t\t@close=\"showProductsMenu = false\"\n\t\t\t\t\t\t\t\t\t\t@select=\"handleSelectProduct($event)\"\n\t\t\t\t\t\t\t\t\t\t:currency=\"invoice.currency\"\n\t\t\t\t\t\t\t\t\t\t:client-id=\"invoice.clientId\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</v-menu>\n\n\t\t\t\t\t\t\t\t<div class=\"add-a-new-line\" v-if=\"!recurring && !paymentPlan\" @click=\"handleAddNewTrackedItemModal()\">\n\t\t\t\t\t\t\t\t\t<v-icon size=\"20\" color=\"primary\">folder_special</v-icon>\n\t\t\t\t\t\t\t\t\t<span class=\"brand-regular\"> {{ $t('invoice.details.add-line-item-from-billable') }} </span>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<v-menu\n\t\t\t\t\t\t\t\t\t\tv-if=\"paymentPlan\"\n\t\t\t\t\t\t\t\t\t\tv-model=\"showProjectMenu\"\n\t\t\t\t\t\t\t\t\t\tmax-height=\"90vh\"\n\t\t\t\t\t\t\t\t\t\tmax-width=\"900\"\n\t\t\t\t\t\t\t\t\t\t:close-on-content-click=\"false\"\n\t\t\t\t\t\t\t\t\t\t:close-on-click=\"true\"\n\t\t\t\t\t\t\t\t\t\tcontent-class=\"filter-menu-class\"\n\t\t\t\t\t\t\t\t\t\tstyle=\"overflow-y: auto\"\n\t\t\t\t\t\t\t\t\t\torigin=\"top center\"\n\t\t\t\t\t\t\t\t\t\ttransition=\"scale-transition\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<template v-slot:activator=\"{ on }\">\n\t\t\t\t\t\t\t\t\t\t<div class=\"add-a-new-line\" v-on=\"on\">\n\t\t\t\t\t\t\t\t\t\t\t<v-icon size=\"20\" color=\"primary\">folder_special</v-icon>\n\t\t\t\t\t\t\t\t\t\t\t<span class=\"brand-regular\"> {{ $t('invoice.details.add-fixed-price-project') }} </span>\n\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t</template>\n\t\t\t\t\t\t\t\t\t<fixed-price-project-list :invoice=\"invoice\" :invoice-service=\"invoiceService\" @selected=\"handleSelectProject($event)\"></fixed-price-project-list>\n\t\t\t\t\t\t\t\t</v-menu>\n\n\t\t\t\t\t\t\t\t<!-- Add a new expense -->\n\t\t\t\t\t\t\t\t<div class=\"add-a-new-line\" v-if=\"hasExpenses && !recurring && !paymentPlan\" @click=\"handleAddExpenses()\">\n\t\t\t\t\t\t\t\t\t<v-icon size=\"20\" color=\"primary\">paid</v-icon>\n\t\t\t\t\t\t\t\t\t<span class=\"brand-regular\">{{ $t('invoice.details.add-expenses') }}</span>\n\t\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t\t<!-- Apply a deposit -->\n\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\tclass=\"add-a-new-line\"\n\t\t\t\t\t\t\t\t\tv-if=\"(balanceExists || invoice.creditAmount) && !recurring && !paymentPlan\"\n\t\t\t\t\t\t\t\t\t@click=\"handleApplyDeposit()\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<v-icon size=\"20\" color=\"primary\">account_balance</v-icon\n\t\t\t\t\t\t\t\t\t><span class=\"brand-regular\">{{ $t('invoice.details.apply-deposit-credit') }}</span>\n\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t</div>\n\n\t\t\t\t\t\t\t<div class=\"mt-auto\">\n\t\t\t\t\t\t\t\t<v-btn\n\t\t\t\t\t\t\t\t\tclass=\"elevation-0\"\n\t\t\t\t\t\t\t\t\t:color=\"item.buttonColor\"\n\t\t\t\t\t\t\t\t\t:x-small=\"payNowButton.xSmall\"\n\t\t\t\t\t\t\t\t\t:small=\"payNowButton.small\"\n\t\t\t\t\t\t\t\t\t:large=\"payNowButton.large\"\n\t\t\t\t\t\t\t\t\t:x-large=\"payNowButton.xLarge\"\n\t\t\t\t\t\t\t\t\t:outlined=\"payNowButton.outlined\"\n\t\t\t\t\t\t\t\t\t:block=\"payNowButton.block\"\n\t\t\t\t\t\t\t\t\t:text=\"payNowButton.text\"\n\t\t\t\t\t\t\t\t\tv-if=\"invoice.amountDue > 0 && invoice.payOnlineUrl && invoice.allowOnlinePayment\"\n\t\t\t\t\t\t\t\t\t@click=\"handlePayNow()\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<v-icon\n\t\t\t\t\t\t\t\t\t\tv-if=\"item.payNowIcon\"\n\t\t\t\t\t\t\t\t\t\t:style=\"`color: ${item.buttonTextColor}!important`\"\n\t\t\t\t\t\t\t\t\t\tclass=\"material-symbols-rounded mr-1\"\n\t\t\t\t\t\t\t\t\t\t>{{ item.payNowIcon }}</v-icon\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<span :style=\"`color: ${item.buttonTextColor}; font-family: ${styles.font}`\">{{\n\t\t\t\t\t\t\t\t\t\titem.payNowText\n\t\t\t\t\t\t\t\t\t}}</span>\n\t\t\t\t\t\t\t\t</v-btn>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t\t<td :colspan=\"colspanSubTotal\" style=\"padding-right: 0!important\">\n\t\t\t\t\t\t<div class=\"row-format\">\n\t\t\t\t\t\t\t<div class=\"ml-auto mt-2\">\n\t\t\t\t\t\t\t\t<table style=\"border-collapse: collapse;\">\n\t\t\t\t\t\t\t\t\t<tr class=\"summary sub-total\">\n\t\t\t\t\t\t\t\t\t\t<td class=\"text-right summary-label\" colspan=\"2\">{{ item.labels.subTotal }}</td>\n\t\t\t\t\t\t\t\t\t\t<td>{{ $formatters.dollars(invoice.itemSubtotal, true, true, currency) }}</td>\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t<tr class=\"summary discount\" v-if=\"invoice.discountAmount || inBuilder\">\n\t\t\t\t\t\t\t\t\t\t<td class=\"text-right summary-label\">{{ item.labels.discount }}</td>\n\t\t\t\t\t\t\t\t\t\t<td class=\"text-right summary-label\">{{ invoice.discountPercentage }}%</td>\n\t\t\t\t\t\t\t\t\t\t<td>{{ $formatters.dollars(invoice.discountAmount * -1, true, true, currency) }}</td>\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t<tr class=\"summary credit\" v-if=\"invoice.creditAmount || inBuilder\">\n\t\t\t\t\t\t\t\t\t\t<td class=\"text-right summary-label\" colspan=\"2\">{{ item.labels.creditApplied }}</td>\n\t\t\t\t\t\t\t\t\t\t<td>{{ $formatters.dollars(invoice.creditAmount * -1, true, true, currency) }}</td>\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t<tr class=\"summary credit\" v-if=\"invoice.convenienceFee || inBuilder\">\n\t\t\t\t\t\t\t\t\t\t<td class=\"text-right summary-label\" colspan=\"2\">{{ item.labels.processingFee }}</td>\n\t\t\t\t\t\t\t\t\t\t<td>{{ $formatters.dollars(invoice.convenienceFee, true, true, currency) }}</td>\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t<tr class=\"summary late-fee\" v-if=\"lateFee || inBuilder\">\n\t\t\t\t\t\t\t\t\t\t<td class=\"text-right summary-label\" colspan=\"2\">{{ item.labels.lateFee }}</td>\n\t\t\t\t\t\t\t\t\t\t<td>\n\t\t\t\t\t\t\t\t\t\t\t{{ $formatters.dollars(lateFee, true, true, currency) }}\n\t\t\t\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t<tr class=\"summary tax\" v-if=\"showTax\">\n\t\t\t\t\t\t\t\t\t\t<td class=\"text-right summary-label\">{{ item.labels.tax }}</td>\n\t\t\t\t\t\t\t\t\t\t<td class=\"text-right summary-label\">{{ invoice.taxPercentage }}%</td>\n\t\t\t\t\t\t\t\t\t\t<td>{{ $formatters.dollars(invoice.taxAmount, true, true, currency) }}</td>\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t<tr class=\"summary grand-total\">\n\t\t\t\t\t\t\t\t\t\t<td class=\"text-right summary-label\" colspan=\"2\">{{ item.labels.total }}</td>\n\t\t\t\t\t\t\t\t\t\t<td>{{ $formatters.dollars(invoice.total, true, true, currency) }}</td>\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t<tr class=\"summary status\" v-for=\"payment in invoice.payments\" :key=\"payment.id\">\n\t\t\t\t\t\t\t\t\t\t<td class=\"text-right summary-label\" colspan=\"2\">{{ $DateTime.shortDate(payment.datePaid)}}</td>\n\t\t\t\t\t\t\t\t\t\t<td>{{ $formatters.dollars(payment.amount, true, true, currency) }}</td>\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t<tr class=\"summary status\" v-if=\"invoice.paymentTotal > 0\">\n\t\t\t\t\t\t\t\t\t\t<td class=\"text-right summary-label\" colspan=\"2\">{{ item.labels.paymentTotal }}</td>\n\t\t\t\t\t\t\t\t\t\t<td>{{ $formatters.dollars(invoice.paymentTotal, true, true, currency) }}</td>\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t\t<tr class=\"summary status\" v-if=\"invoice.paymentTotal > 0\">\n\t\t\t\t\t\t\t\t\t\t<td class=\"text-right summary-label\" colspan=\"2\">{{ item.labels.amountDue }}</td>\n\t\t\t\t\t\t\t\t\t\t<td>{{ $formatters.dollars(invoice.amountDue, true, true, currency) }}</td>\n\t\t\t\t\t\t\t\t\t</tr>\n\t\t\t\t\t\t\t\t</table>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</td>\n\t\t\t\t</tr>\n\t\t\t</tbody>\n\t\t</table>\n\t\t<scheduled-payments v-if=\"scheduledPayments && scheduledPayments.length\" :invoice=\"invoice\" :scheduled-payments=\"scheduledPayments\" :line-items=\"item\" class=\"mt-5\"></scheduled-payments>\n\t\t<v-menu\n\t\t\tattach=\"#invoice-line-items\"\n\t\t\tcontent-class=\"override-menu\"\n\t\t\tv-model=\"dialog\"\n\t\t\tv-if=\"dialog\"\n\t\t\t:close-on-content-click=\"false\"\n\t\t\t:close-on-click=\"false\"\n\t\t>\n\t\t\t<line-item-editor\n\t\t\t\t:line-item=\"lineItem\"\n\t\t\t\t:invoice=\"invoice\"\n\t\t\t\t:menu-width=\"menuWidth\"\n\t\t\t\t@cancel=\"dialog = false\"\n\t\t\t\t@save=\"updateLineItem($event)\"\n\t\t\t\t@delete=\"deleteLineItem($event)\"\n\t\t\t></line-item-editor>\n\t\t</v-menu>\n\t</div>\n</template>\n\n<script>\n\timport RendererMixin from '@/modules/forms/v2/schema/RendererMixin';\n\timport Products from '@/modules/invoices/InvoiceRenderer/Products';\n\timport { v4 as uuid4 } from 'uuid';\n\timport LineItemEditor from '@/modules/templates/invoices/schema/LineItemEditor';\n\timport { DateTime } from 'luxon';\n\timport TimeEntries from '@/modules/invoices/invoiceRendererV2/TimeEntries';\n\timport FixedPriceProjectList from \"@/modules/invoices/invoiceRendererV2/FixedPriceProjectList\";\n\timport ScheduledPayments from \"@/modules/templates/invoices/schema/ScheduledPayments\";\n\n\texport default {\n\t\tname: 'LineItems',\n\n\t\tprops: [\n\t\t\t'item',\n\t\t\t'invoice',\n\t\t\t'styles',\n\t\t\t'editMode',\n\t\t\t'inBuilder',\n\t\t\t'depositAccount',\n\t\t\t'hasExpenses',\n\t\t\t'recurring',\n\t\t\t'paymentPlan',\n\t\t\t'invoiceService',\n\t\t\t'scheduledPayments'\n\t\t],\n\n\t\tmixins: [RendererMixin],\n\n\t\tcomponents: {ScheduledPayments, TimeEntries, LineItemEditor, Products, FixedPriceProjectList },\n\n\t\tdata: function() {\n\t\t\treturn {\n\t\t\t\tmenuX: 0,\n\t\t\t\tmenuY: 0,\n\t\t\t\tmenuWidth: 0,\n\t\t\t\tlineItem: null,\n\t\t\t\tdialog: false,\n\t\t\t\tshowProductsMenu: false,\n\t\t\t\tshowProjectMenu: false,\n\t\t\t\tDateTime: DateTime,\n\t\t\t};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {\n\t\t\tdragEnd(item) {\n\t\t\t\tconsole.log(item);\n\t\t\t},\n\n\t\t\tmoveUp: function(index){\n\t\t\t\tif(index === 0){\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tlet item = this.invoice.items[index];\n\t\t\t\tthis.invoice.items.splice(index,1);\n\t\t\t\tthis.invoice.items.splice(index-1,0,item);\n\t\t\t\tthis.forceSave();\n\t\t\t},\n\n\t\t\tmoveDown: function(index){\n\t\t\t\tif(index === this.invoice.items.length - 1){\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet item = this.invoice.items[index];\n\t\t\t\tthis.invoice.items.splice(index,1);\n\t\t\t\tthis.invoice.items.splice(index+1,0,item);\n\t\t\t\tthis.forceSave();\n\t\t\t},\n\n\t\t\tupdateLineItem: function(lineItem) {\n\t\t\t\tlet ix = this.invoice.items.findIndex((i) => i.id === lineItem.id);\n\t\t\t\tif (ix > -1) {\n\t\t\t\t\tthis.invoice.items.splice(ix, 1, lineItem);\n\t\t\t\t} else {\n\t\t\t\t\tthis.invoice.items.push(lineItem);\n\t\t\t\t}\n\t\t\t\tthis.closeEditModal();\n\t\t\t\tthis.forceSave();\n\t\t\t},\n\n\t\t\tdeleteLineItem: function(lineItem) {\n\t\t\t\tlet ix = this.invoice.items.findIndex((i) => i.id === lineItem.id);\n\t\t\t\tif (ix > -1) {\n\t\t\t\t\tthis.invoice.items.splice(ix, 1);\n\t\t\t\t}\n\t\t\t\tthis.closeEditModal();\n\t\t\t\tthis.forceSave();\n\t\t\t},\n\n\t\t\tcloseEditModal: function() {\n\t\t\t\tthis.dialog = false;\n\t\t\t\tthis.lineItem = null;\n\t\t\t},\n\n\t\t\teditLineItem: function(lineItem) {\n\t\t\t\tif (!this.editMode || lineItem.isTransientItem) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tthis.dialog = true;\n\t\t\t\tthis.lineItem = lineItem;\n\t\t\t\tlet div = document.getElementById('invoice-line-items').getBoundingClientRect();\n\t\t\t\tlet rect = document.getElementById('line-' + lineItem.id).getBoundingClientRect();\n\t\t\t\tthis.menuX = rect.x;\n\t\t\t\tthis.menuY = rect.y + 2;\n\t\t\t\tthis.menuWidth = div.width - this.item.pl - this.item.pr;\n\t\t\t},\n\n\t\t\thandleSelectProject(project){\n\t\t\t\tlet item = {};\n\t\t\t\titem.id = uuid4();\n\t\t\t\titem.type = 'PROJECT';\n\t\t\t\titem.description = project.name;\n\t\t\t\titem.price = project.feeSchedule.amount - project.paymentAmount;\n\t\t\t\titem.qty = 1;\n\t\t\t\titem.taxable = project.feeSchedule.taxable;\n\t\t\t\titem.projectId = project.id;\n\t\t\t\titem.projectName = project.name;\n\t\t\t\tthis.invoice.items.push(item);\n\t\t\t\tthis.showProjectMenu = false;\n\t\t\t\tthis.forceSave();\n\t\t\t},\n\n\t\t\tcontainsHTML: function(str) {\n\t\t\t\tconst htmlTagPattern = /<\\/?[a-z][\\s\\S]*>/i;\n\t\t\t\treturn htmlTagPattern.test(str);\n\t\t\t},\n\n\t\t\thandleSelectProduct(event) {\n\t\t\t\tlet item = {};\n\t\t\t\titem.id = uuid4();\n\t\t\t\titem.type = event.product.deposit ? 'DEPOSIT' : 'ADHOC';\n\t\t\t\titem.product = event.product;\n\t\t\t\titem.description = `<strong>${event.product.productName}</strong>`;\n\n\t\t\t\tif (event.product.description) {\n\t\t\t\t\tif(this.containsHTML(event.product.description)){\n\t\t\t\t\t\titem.description = `${item.description}<br>${event.product.description}`;\n\t\t\t\t\t}else{\n\t\t\t\t\t\titem.description = `${item.description}<br>${event.product.description.replace(/\\n/g, '<br>')}`;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tlet currencyRate = event.product.currencyRates.find((c) => c.currency === this.invoice.currency);\n\n\t\t\t\tif (currencyRate) {\n\t\t\t\t\titem.price = currencyRate.rate;\n\t\t\t\t} else {\n\t\t\t\t\titem.price = event.product.rate;\n\t\t\t\t}\n\n\t\t\t\titem.qty = 1;\n\t\t\t\titem.taxable = event.product.taxable;\n\t\t\t\tthis.invoice.items.push(item);\n\t\t\t\tthis.showProductsMenu = false;\n\t\t\t\tthis.forceSave();\n\t\t\t\tthis.$nextTick(() => this.editLineItem(item));\n\t\t\t},\n\n\t\t\thandleAddNewTrackedItemModal() {\n\t\t\t\tthis.$store.state.eventBus.$emit('invoice', 'tracked-item-modal');\n\t\t\t},\n\n\t\t\thandleAddExpenses() {\n\t\t\t\tthis.$store.state.eventBus.$emit('invoice', 'expenses-modal');\n\t\t\t},\n\n\t\t\thandleApplyDeposit() {\n\t\t\t\tthis.$store.state.eventBus.$emit('invoice', 'apply-deposit-modal');\n\t\t\t},\n\n\t\t\thandlePayNow() {\n\t\t\t\tif (!this.editMode) {\n\t\t\t\t\twindow.open(this.invoice.payOnlineUrl, '_blank');\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tformatQuantity(lineItem){\n\t\t\t\tif(this.item.showTimeInHourMinute && lineItem.timerEventIds && lineItem.timerEventIds.length){\n\t\t\t\t\treturn this.formatSeconds(lineItem.qty*60*60);\n\t\t\t\t}else {\n\t\t\t\t\treturn Number.isInteger(lineItem.qty) ? Number(lineItem.qty).toFixed(0) : Number(lineItem.qty).toFixed(2);\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tformatSeconds(seconds) {\n\t\t\t\tlet hours = Math.floor(seconds / 3600);\n\t\t\t\tlet minutes = Math.floor((seconds - hours * 3600) / 60);\n\n\t\t\t\tif (minutes < 10) {\n\t\t\t\t\tminutes = '0' + minutes;\n\t\t\t\t}\n\n\t\t\t\treturn hours + ':' + minutes;\n\t\t\t},\n\n\t\t\tforceSave() {\n\t\t\t\tthis.$store.state.eventBus.$emit('invoice', 'force-save');\n\t\t\t},\n\t\t},\n\n\t\tcomputed: {\n\t\t\tshowTax: function(){\n\t\t\t\treturn this.invoice.taxAmount || this.invoice.taxPercentage || this.inBuilder || this.invoice.accountInfo.accountPreferences.showTaxWithZeroPercent;\n\t\t\t},\n\n\t\t\tlateFee: function() {\n\t\t\t\treturn this.invoice.lateFeeApplied + this.invoice.lateFeeCalculated;\n\t\t\t},\n\n\t\t\tpayNowButton: function() {\n\t\t\t\treturn {\n\t\t\t\t\txSmall: this.item.buttonSize === 'X-Small',\n\t\t\t\t\tsmall: this.item.buttonSize === 'Small',\n\t\t\t\t\tlarge: this.item.buttonSize === 'Large',\n\t\t\t\t\txLarge: this.item.buttonSize === 'X-Large',\n\t\t\t\t\toutlined: this.item.buttonStyle === 'Outlined',\n\t\t\t\t\tblock: this.item.buttonAlignment === 'block',\n\t\t\t\t\ttext: this.item.buttonStyle === 'Text',\n\t\t\t\t};\n\t\t\t},\n\n\t\t\tbuttonAlignment: function() {\n\t\t\t\tif (this.item.buttonAlignment === 'block') {\n\t\t\t\t\treturn 'unset';\n\t\t\t\t} else {\n\t\t\t\t\treturn this.item.buttonAlignment;\n\t\t\t\t}\n\t\t\t},\n\n\t\t\tcurrency: function() {\n\t\t\t\treturn this.invoice.currency;\n\t\t\t},\n\n\t\t\tcolspanSpacer: function() {\n\t\t\t\tlet colspan = 1;\n\t\t\t\tif (this.item.enabledColumns.quantity) {\n\t\t\t\t\tcolspan++;\n\t\t\t\t}\n\t\t\t\tif (this.item.enabledColumns.rate) {\n\t\t\t\t\tcolspan++;\n\t\t\t\t}\n\t\t\t\treturn colspan;\n\t\t\t},\n\n\t\t\tbalanceExists() {\n\t\t\t\tif (!this.depositAccount) return false;\n\t\t\t\treturn !!this.depositAccount.balance;\n\t\t\t},\n\n\t\t\tcolspanSubTotal: function() {\n\t\t\t\tlet colspan = 1;\n\t\t\t\tif (this.item.enabledColumns.tax) {\n\t\t\t\t\tcolspan++;\n\t\t\t\t}\n\t\t\t\treturn colspan;\n\t\t\t},\n\n\t\t\titems: function() {\n\t\t\t\treturn this.invoice.items;\n\t\t\t},\n\t\t},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.override-menu {\n\t\ttop: var(--menuY) !important;\n\t\tleft: var(--menuX) !important;\n\t\tposition: absolute !important;\n\t}\n\n\t#invoice-line-items {\n\t\tstrong {\n\t\t\tfont-weight: 600;\n\t\t}\n\n\t\tol {\n\t\t\tline-height: 1.75em;\n\t\t}\n\n\t\t.line-item-description {\n\t\t\tpadding-top: 4px;\n\t\t\tpadding-bottom: 4px;\n\t\t\tp {\n\t\t\t\tline-height: 1.2em;\n\t\t\t\tmargin-top: -4px!important;\n\t\t\t\tmargin-bottom: -4px!important;\n\t\t\t}\n\n\t\t\t.activator-label {\n\t\t\t\tline-height: 1 !important;\n\t\t\t\tmargin-bottom: 8px;\n\t\t\t}\n\n\t\t\t.activator-label.show-hide {\n\t\t\t\ttransition: height 200ms;\n\t\t\t\theight: 0;\n\t\t\t}\n\n\t\t\t&:hover {\n\t\t\t\t.activator-label.show-hide {\n\t\t\t\t\theight: 20px;\n\t\t\t\t\ttransition: height 200ms;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n</style>\n\n<style scoped lang=\"scss\">\n\t.add-a-new-line {\n\t\tfont-family: Inter, serif !important;\n\t\tline-height: 2em;\n\t\ttext-align: left;\n\t\tfont-size: 14px;\n\t\tfont-weight: 500;\n\t\tdisplay: flex;\n\t\tflex-direction: row;\n\t\talign-items: center;\n\t\tgap: 4px;\n\n\t\tcursor: pointer;\n\t\t&:hover {\n\t\t\topacity: 0.7;\n\t\t}\n\t\t.v-icon {\n\t\t}\n\t\tcolor: var(--v-primary-base);\n\t}\n\n\t.line-item-table {\n\t\tborder-collapse: collapse;\n\t\twidth: 100%;\n\t\tthead {\n\t\t\tth {\n\t\t\t\tfont-weight: 400;\n\t\t\t\twhite-space: nowrap;\n\t\t\t\ttext-align: right;\n\t\t\t\tpadding-right: 8px;\n\t\t\t}\n\t\t\tth:nth-child(1) {\n\t\t\t\ttext-align: left;\n\t\t\t\tpadding-left: 8px;\n\t\t\t}\n\n\t\t\tth:last-child {\n\t\t\t\tpadding-right: 8px;\n\t\t\t}\n\t\t}\n\n\t\ttbody {\n\t\t\ttr {\n\t\t\t\ttd {\n\t\t\t\t\tvertical-align: top;\n\t\t\t\t\ttext-align: right;\n\t\t\t\t}\n\n\t\t\t\ttd:nth-child(1) {\n\t\t\t\t\tvertical-align: middle;\n\t\t\t\t\ttext-align: left;\n\t\t\t\t\tpadding-left: 8px;\n\t\t\t\t}\n\n\t\t\t\ttd:last-child {\n\t\t\t\t\tpadding-right: 8px;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t.line-item-table.compact {\n\t\tfont-size: 14px !important;\n\t\tline-height: 2.5em;\n\t}\n\n\t.line-item-table.standard {\n\t\tfont-size: 16px !important;\n\t\tline-height: 3em;\n\t}\n\n\t.line-item-table.roomy {\n\t\tfont-size: 16px !important;\n\t\tline-height: 3.5em;\n\t}\n\n\t.summary {\n\t\tborder-bottom: 1px solid #cfd3d7;\n\t}\n\n\t.summary-label {\n\t\tfont-weight: 600;\n\t\tfont-size: 0.85em;\n\t\tpadding-right: 12px;\n\t\twhite-space: nowrap;\n\t}\n\n\t.description {\n\t\tpadding: 4px 0;\n\t\tline-height: 1.25em !important;\n\t\tfont-size: 0.9em;\n\t\tdiv::first-line {\n\t\t\tfont-size: 1.1em;\n\t\t}\n\n\t}\n\n\t.late-fee {\n\t\tcolor: red !important;\n\t}\n\n\t.grand-total {\n\t\tfont-weight: 600;\n\t}\n\n\t.discount {\n\t}\n\n\t.credit {\n\t}\n\n\t.header {\n\t\tborder-bottom: 1px solid #cfd3d7;\n\t\tfont-size: 0.85em;\n\t}\n\n\t.handle {\n\t\t.re-order {\n\t\t\tdisplay: none;\n\t\t}\n\n\t\t&:hover {\n\t\t\t.re-order {\n\t\t\t\tdisplay: flex;\n\t\t\t}\n\t\t}\n\t}\n\n\t.line-item {\n\t\tborder-bottom: 1px solid #cfd3d7;\n\t\ttd {\n\t\t\tpadding-right: 6px;\n\t\t}\n\t}\n\n\t.status {\n\t\tbackground-color: #ebedef;\n\t\tborder: 0 !important;\n\t\tline-height: 2em;\n\t}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineItems.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LineItems.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./LineItems.vue?vue&type=template&id=a6eb0e3a&scoped=true\"\nimport script from \"./LineItems.vue?vue&type=script&lang=js\"\nexport * from \"./LineItems.vue?vue&type=script&lang=js\"\nimport style0 from \"./LineItems.vue?vue&type=style&index=0&id=a6eb0e3a&prod&lang=scss\"\nimport style1 from \"./LineItems.vue?vue&type=style&index=1&id=a6eb0e3a&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"a6eb0e3a\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBtn,VIcon,VMenu})\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{style:(`width: 100%; text-align: left`),on:{\"click\":function($event){return _vm.$emit('click', $event)}}},[(!_vm.inBuilder && _vm.attachmentService)?_c('file-attachment',{attrs:{\"files\":_vm.invoice.attachments,\"file-service\":_vm.attachmentService,\"edit-mode\":_vm.editMode,\"previews-supported\":false}}):_c('span',{staticClass:\"font-14 font-gray_70\"},[_c('v-icon',{attrs:{\"small\":\"\",\"color\":\"gray_70\"}},[_vm._v(\"attachment\")]),_vm._v(\" Attach file\")],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n\t<div @click=\"$emit('click', $event)\" :style=\"`width: 100%; text-align: left`\">\n\t\t<file-attachment\n\t\t\tv-if=\"!inBuilder && attachmentService\"\n\t\t\t:files=\"invoice.attachments\"\n\t\t\t:file-service=\"attachmentService\"\n\t\t\t:edit-mode=\"editMode\"\n\t\t\t:previews-supported=\"false\"\n\t\t>\n\t\t</file-attachment>\n\t\t<span v-else class=\"font-14 font-gray_70\"><v-icon small color=\"gray_70\">attachment</v-icon> Attach file</span>\n\t</div>\n</template>\n\n<script>\n\timport RendererMixin from '@/modules/forms/v2/schema/RendererMixin';\n\timport FileAttachment from '@/components/FileAttachments';\n\n\texport default {\n\t\tname: 'FileAttachments',\n\n\t\tprops: ['item', 'active', 'tokens', 'tokenMap', 'inBuilder', 'editMode', 'attachmentService', 'recurring', 'invoice'],\n\n\t\tmixins: [RendererMixin],\n\n\t\tcomponents: { FileAttachment },\n\n\t\tdata: function() {\n\t\t\treturn {};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style scoped lang=\"scss\"></style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileAttachments.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FileAttachments.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./FileAttachments.vue?vue&type=template&id=0cca16a7&scoped=true\"\nimport script from \"./FileAttachments.vue?vue&type=script&lang=js\"\nexport * from \"./FileAttachments.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  \"0cca16a7\",\n  null\n  \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VIcon } from 'vuetify/lib/components/VIcon';\ninstallComponents(component, {VIcon})\n","<template>\n\t<div\n\t\t:class=\"`${active ? 'form-item-active' : 'form-item-inactive'}`\"\n\t\t:style=\"`color: ${styles.fontColor}!important; font-family: ${styles.font}!important`\"\n\t>\n\t\t<component\n\t\t\tref=\"component\"\n\t\t\t:key=\"item.type\"\n\t\t\t:is=\"item.type\"\n\t\t\t:item=\"item\"\n\t\t\t:styles=\"styles\"\n\t\t\t:font=\"font\"\n\t\t\t:active=\"active\"\n\t\t\t:edit-mode=\"editMode\"\n\t\t\t:account-logo=\"accountLogo\"\n\t\t\t:index=\"index\"\n\t\t\t:tokens=\"tokens\"\n\t\t\t:invoice=\"invoice\"\n\t\t\t:token-map=\"tokenMap\"\n\t\t\t:in-builder=\"inBuilder\"\n\t\t\t:deposit-account=\"depositAccount\"\n\t\t\t:has-expenses=\"hasExpenses\"\n\t\t\t:recurring=\"recurring\"\n\t\t\t:payment-plan=\"paymentPlan\"\n\t\t\t:invoice-service=\"invoiceService\"\n\t\t\t:attachment-service=\"attachmentService\"\n\t\t\t:scheduled-payments=\"scheduledPayments\"\n\t\t\t@click=\"$emit('click', $event)\"\n\t\t\t@delete=\"$emit('delete')\"\n\t\t\t@change=\"$emit('change', $event)\"\n\t\t\t@container-item-click=\"$emit('container-item-click', $event)\"\n\t\t\t@container-item-update=\"$emit('container-item-update', $event)\"\n\t\t\t@add-container-element=\"$emit('add-container-element', $event)\"\n\t\t\t:class=\"item.type !== 'Container' ? 'pb-3' : ''\"\n\t\t></component>\n\t</div>\n</template>\n\n<script>\n\timport Container from '@/modules/templates/invoices/schema/Container';\n\timport Divider from '@/modules/templates/invoices/schema/Divider';\n\timport FileInput from '@/modules/templates/invoices/schema/FileInput';\n\timport ImageBlock from '@/modules/templates/invoices/schema/ImageBlock';\n\timport Spacer from '@/modules/templates/invoices/schema/Spacer';\n\timport TextBlock from '@/modules/templates/invoices/schema/TextBlock';\n\timport Logo from '@/modules/templates/invoices/schema/Logo';\n\timport LineItems from '@/modules/templates/invoices/schema/LineItems';\n\timport FileAttachments from '@/modules/templates/invoices/schema/FileAttachments';\n\n\texport default {\n\t\tname: 'ItemRenderer',\n\n\t\tprops: [\n\t\t\t'item',\n\t\t\t'styles',\n\t\t\t'font',\n\t\t\t'editMode',\n\t\t\t'active',\n\t\t\t'inContainer',\n\t\t\t'inBuilder',\n\t\t\t'accountLogo',\n\t\t\t'index',\n\t\t\t'tokens',\n\t\t\t'invoice',\n\t\t\t'tokenMap',\n\t\t\t'depositAccount',\n\t\t\t'hasExpenses',\n\t\t\t'recurring',\n\t\t\t'paymentPlan',\n\t\t\t'invoiceService',\n\t\t\t'attachmentService',\n\t\t\t'scheduledPayments',\n\t\t],\n\n\t\tcomponents: {\n\t\t\tContainer,\n\t\t\tDivider,\n\t\t\tFileInput,\n\t\t\tImageBlock,\n\t\t\tSpacer,\n\t\t\tTextBlock,\n\t\t\tLogo,\n\t\t\tLineItems,\n\t\t\tFileAttachments,\n\t\t},\n\n\t\tdata: function() {\n\t\t\treturn {};\n\t\t},\n\n\t\tmounted() {},\n\n\t\tbeforeDestroy() {},\n\n\t\tmethods: {},\n\n\t\tcomputed: {},\n\t};\n</script>\n\n<style lang=\"scss\">\n\t.form-item-active {\n\t\tborder-radius: 4px;\n\t\tbox-shadow: 0px 3px 15px rgba(0, 0, 0, 0.2);\n\t}\n\n\t.form-item-inactive {\n\t\tborder-radius: 4px;\n\t}\n\n\t.form-content {\n\t\tfont-size: var(--form-font-size) !important;\n\t\tp:last-of-type {\n\t\t\tmargin-bottom: 0px !important;\n\t\t}\n\t}\n\n\t.form-question {\n\t\tfont-size: var(--form-font-size) !important;\n\t\twhite-space: pre-wrap;\n\t}\n\n\t.form-input {\n\t\tinput {\n\t\t\tfont-size: var(--form-font-size) !important;\n\t\t}\n\t\tlabel {\n\t\t\tfont-size: var(--form-font-size) !important;\n\t\t}\n\t\ttextarea {\n\t\t\tfont-size: var(--form-font-size) !important;\n\t\t}\n\t}\n</style>\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemRenderer.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ItemRenderer.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./ItemRenderer.vue?vue&type=template&id=7d74d01a\"\nimport script from \"./ItemRenderer.vue?vue&type=script&lang=js\"\nexport * from \"./ItemRenderer.vue?vue&type=script&lang=js\"\nimport style0 from \"./ItemRenderer.vue?vue&type=style&index=0&id=7d74d01a&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports"],"sourceRoot":""}