(self.webpackChunk_17hats_app=self.webpackChunk_17hats_app||[]).push([[196],{"./src/views/fragments/forms/client.html.erb":t=>{t.exports='<div class="paper">\n  <div class="paper-content">\n    \x3c!-- ko if: $root.accountinfo().account.header_info.document_header_image && $root.accountinfo().account.header_info.document_header_image.length --\x3e\n      <div class="document-header-container">\n        <img data-bind="attr: {alt: $root.accountinfo().account.name, src: $root.accountinfo().account.header_info.document_header_image+ \'?size=original\'}" />\n      </div>\n    \x3c!-- /ko --\x3e\n      <div class="client_invoice client_questionnaire" data-bind="template: {\'if\': questionnaire() && questionnaire().id, \'afterRender\' : function() { $(\'.answerdate\').datepicker({ dateFormat: \'MM dd, yy\' }); try { $root.setupFileUploader() } catch(e) {} }} ">\n\n        \x3c!-- ko if: questionnaire().status == \'voided\' --\x3e\n            <div class="voided">\n                <img src="/images/scribble-void.svg" alt=\'Void\' />\n            </div>\n        \x3c!-- /ko --\x3e\n\n        \x3c!-- ko if: questionnaire().answered_at && questionnaire().status == "completed" && questionnaireIsEmpty(questionnaire().questions()) --\x3e\n        <div class="empty-questionnaire-warning">This <span  data-bind="text: $root.brand_customization().questionnaire ? $root.brand_customization().questionnaire.title.toLowerCase() : \'questionnaire\'"></span> was submitted without any responses</div>\n        \x3c!-- /ko --\x3e\n        \x3c!-- ko if: !$root.accountinfo().account.logo_yn && !$root.accountinfo().account.header_info.hide_document_logo--\x3e\n            <div class="client_logo js-font_family js-font_color" data-bind="text: $root.accountinfo().account.name"></div>\n        \x3c!-- /ko --\x3e\n        \x3c!-- ko if: $root.accountinfo().account.logo_yn && !$root.accountinfo().account.header_info.hide_document_logo --\x3e\n            <div class="client_logo"><img data-bind="attr: {src: dataModel.accountinfo().account.logo_path  + \'?size=original\'}" /></div>\n        \x3c!-- /ko --\x3e\n        \x3c!-- ko if: !questionnaire().answered_at || (questionnaire().status != "completed" && questionnaire().status != \'voided\') --\x3e\n\n            <div data-bind="template: {\'afterRender\': function() {\n                if(questionnaire().status == \'voided\')\n                {\n\t             \t$(\'input, textarea\').attr(\'disabled\',\'true\')\n\t            }\n\n                }\n             }">\n\n\t\t\t \t<form id="questionnaire" data-bind="event: { keypress: function(data, event) { if(event.keyCode == 13 && event.target.tagName != \'TEXTAREA\'){ event.preventDefault(); return false;} else {return true;} } }">\n            <ul data-bind="foreach: questionnaire().questions" class="new_questions">\n                <li data-bind="style: { display : !$data.hide_yn()?\'block\': \'none\'}">\n\n                    \x3c!-- ko if: type != \'header\' && type != \'div\' && type != \'image\' --\x3e\n                        <label data-bind="style: { display : !hide_yn()?\'block\': \'none\'}"><span class="js-font_color js-font_family" data-bind="text: question_tokenized"></span><em data-bind="if: !required">(Optional)</em></label>\n                    \x3c!-- /ko --\x3e\n                    <div>\n                        \x3c!-- ko if: type == \'text\' --\x3e\n                            <textarea data-bind="attr: {\'name\': \'q\' + id, \'data-parsley-required\' : ($data.required && !$data.hide_yn()?\'true\':\'false\')}, value: $data.answer" class="answer"></textarea>\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: type == \'image\' --\x3e\n                            <img data-bind="attr: {\'src\': SuiteSetup.route_config.perl + \'/client_questionnaire/\' +  $root.questionnaire().public_id  + \'/image/\' + question}" style="max-width:728px" />\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: type == \'input\' --\x3e\n                            <input type="text" data-bind="attr: {\'name\': \'q\' + id, \'data-parsley-required\' : ($data.required && !$data.hide_yn()?\'true\':\'false\')}, value: $data.answer">\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: type == \'file\' --\x3e\n\t                         <span data-bind="attr: {\'id\': \'file_\' + id}, text: $data.answer"></span> <a class="ml-2" data-bind="attr: {\'id\': \'file_remove_\' + id}" href="#" onClick="dataModel.removeFile(this.id);return false;" style="display:none">Remove File</a>\n\t                         \x3c!-- ko if: !window.location.href.match(\'https://admin.\') || !$data.answers.length --\x3e\n                           <div data-bind="attr:{\'id\':\'file_upload_container_\'+ id}">\n\t                         \t<button class="js-button file_upload"type="button" data-bind="attr: {\'name\': \'q\' + id, \'id\': \'q\' + id}">Upload File</button>\n                            <div class="file_too_large_message" data-bind="attr: {\'id\': \'file_too_large_message_\' + id}">File is too large. There\'s a 10mb limit.</div>\n                          </div>\n\t                         \x3c!-- /ko --\x3e\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: type == \'checkbox\' --\x3e\n                            <label class="inlineLabel">\n                                <input class="answer" type="radio" value="yes" data-bind="checked: $data.answer, event: {\'change\' : $root.displayBranches.bind($data)}, attr: {\'name\' : \'q\' + id, \'data-parsley-required\' : ($data.required && !$data.hide_yn()?\'true\':\'false\')}" > Yes\n                            </label>\n                            <label class="inlineLabel">\n                                <input class="answer" type="radio" value="no" data-bind="checked: $data.answer, event: {\'change\' : $root.displayBranches.bind($data)}, attr: {\'name\' : \'q\' + id, \'data-parsley-required\' : ($data.required && !$data.hide_yn()?\'true\':\'false\')}"> No\n                            </label>\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: type == \'header\' --\x3e\n                            <h2 class="js-font_color js-font_family surveyHeader" data-bind="text: question_tokenized"></h2>\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: type == \'div\' --\x3e\n                            <p class="js-font_color js-font_family" data-bind="html: question_tokenized" class="user-answer"></p>\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: type == \'select\' --\x3e\n                            \x3c!-- ko foreach: options --\x3e\n                            <div>\n                                <label class="inlineLabel">\n                                    <input type="radio" data-bind="attr: {\'name\': \'q\' + $parent.id, \'data-parsley-required\' : ($parent.required && !$parent.hide_yn()?\'true\':\'false\'), \'value\': option}, checked: $parent.answer, event: {\'change\' : $root.displayBranches.bind($data, $parent) }">\n                                    <span data-bind="text: option"></span>\n                                </label>\n                            </div>\n                            \x3c!-- /ko --\x3e\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: type == \'//select\' --\x3e\n                            <select data-bind="attr: {\'name\': \'q\' + id, \'data-parsley-required\' : ($data.required && !$data.hide_yn()?\'true\':\'false\')}, options: options, optionsValue: \'option\', optionsCaption: \'-- Select --\', value: $data.answer"></select>\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: type == \'multi\' --\x3e\n                            \x3c!-- ko foreach: options --\x3e\n                                <div>\n                                    <label class="inlineLabel">\n                                        <input type="checkbox" data-bind="attr: {\'name\': \'q\' + $parent.id, \'data-parsley-required\' : ($parent.required && !$parent.hide_yn()?\'true\':\'false\'), \'value\': option}, checked: $data.answer, event: {\'change\' : $root.displayBranches.bind($data, $parent) }">\n                                        <span data-bind="text: option"></span>\n                                    </label>\n                                </div>\n                            \x3c!-- /ko --\x3e\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: type == \'date\' --\x3e\n                            <input type="text" class="answerdate frmTextbox" readonly data-bind="attr: {\'name\': \'q\' + id, \'data-parsley-required\' : ($data.required && !$data.hide_yn()?\'true\':\'false\')}, value: $data.answer">\n                        \x3c!-- /ko --\x3e\n                        \x3c!-- ko if: type == \'contact\' --\x3e\n                            <div class="fields_contact">\n                                \x3c!-- ko if: options.contact_name --\x3e\n                                    <input type="text" class="answer" placeholder="Contact Name" title="Contact Name" data-bind="value: options.contact_name_answer, attr: {\'data-parsley-required\' : ($data.required && !$data.hide_yn()?\'true\':\'false\')}">\n                                \x3c!-- /ko --\x3e\n                                \x3c!-- ko if: options.company_name --\x3e\n                                    <input type="text" class="answer" placeholder="Company Name" title="Company Name" data-bind="value: options.company_name_answer">\n                                \x3c!-- /ko --\x3e\n                                \x3c!-- ko if: options.email --\x3e\n                                    <input type="text" class="answer" placeholder="Email Address" title="Email Address" data-bind="value: options.email_answer">\n                                \x3c!-- /ko --\x3e\n                                \x3c!-- ko if: options.phone --\x3e\n                                    <input type="text" class="answer" placeholder="Phone" title="Phone" data-bind="value: options.phone_answer">\n                                \x3c!-- /ko --\x3e\n                                \x3c!-- ko if: options.mobile --\x3e\n                                <input type="text" class="answer" placeholder="Mobile Phone" title="Mobile Phone" data-bind="value: options.mobile_answer">\n                                    \x3c!-- /ko --\x3e\n                                \x3c!-- ko if: options.website --\x3e\n                                    <input type="text" class="answer" placeholder="Website Address" title="Website Address" data-bind="value: options.website_answer">\n                                \x3c!-- /ko --\x3e\n                                <div class="clear-both"></div>\n                            </div>\n                        \x3c!-- /ko --\x3e\n                    </div>\n                </li>\n            </ul>\n            \x3c!-- ko if: $root.showButtons && questionnaire().status != \'voided\' --\x3e\n                <div class="submit_form">\n                  <button class="js-button" data-bind="click: function(e) { $root.saveQuestionnaire(true); }, text: $root.brand_customization().questionnaire ? $root.brand_customization().questionnaire.save_as_draft : \'Save As Draft\'" id="btn_save"></button>\n                  <button class="js-button" data-bind="click: function(e) { $root.saveQuestionnaire(false); }, text: $root.brand_customization().questionnaire ? $root.brand_customization().questionnaire.save_and_send : \'Save And Send\'" id="btn_submit"></button>\n                    \x3c!--\n                        <small>All changes saved / Saving...</small>\n                    --\x3e\n                </div>\n            \x3c!-- /ko --\x3e\n        </form>\n\n            </div>\n        \x3c!-- /ko --\x3e\n\n        \x3c!-- ko if: questionnaire().answered_at && (questionnaire().status == "completed" || questionnaire().status == "voided")--\x3e\n        <ul data-bind="foreach: questionnaire().questions" class="new_questions">\n            <li data-bind="style: { display : !$data.hide_yn()?\'block\': \'none\'}">\n                \x3c!-- ko if: type == \'image\' --\x3e\n                    <img data-bind="attr: {\'src\': SuiteSetup.route_config.perl + \'/client_questionnaire/\' +  $root.questionnaire().public_id  + \'/image/\' + question}" style="max-width:728px" />\n                \x3c!-- /ko --\x3e\n                \x3c!-- ko if: type == \'div\' --\x3e\n                  <p data-bind="html: question" class="user-answer js-font_family js-font_color"></p>\n                \x3c!-- /ko --\x3e\n                \x3c!-- ko if: type != \'image\' && type != \'div\' --\x3e\n                  <label data-bind="text: question" class="user-answer js-font_family js-font_color"></label>\n                  \x3c!-- ko if: answers.length > 1 --\x3e\n                  <ul data-bind="foreach: answers"><li data-bind="text:answer" style="list-style-type:disc; padding:0; margin-left:1em" class="js-font_color js-font_family"></li></ul>\n                  \x3c!-- /ko --\x3e\n                  \x3c!-- ko if: answers.length == 1 && !$data.attachment --\x3e\n                    <div class="user-answer" data-bind="text: type == \'date\' ? (Date.parse( typeof answer == \'function\' ? answer() : answer ) || \'\').toString(\'MMMM dd, yyyy\') : answer" class="js-font_color js-font_family" ></div>\n                  \x3c!-- /ko --\x3e\n\n                 \x3c!-- ko if: type == \'file\' --\x3e\n                  \x3c!-- ko if: answers.length && $data.attachment --\x3e\n\t\t\t\t\t          <div class="user-answer"><a class="js-font_color uploaded_file"data-bind="text: answer, attr: { \'href\' : SuiteSetup.route_config.perl + \'/client_questionnaire/\' +  $root.questionnaire().public_id  + \'/file/\' + $data.id}"></a></div>\n                  \x3c!-- /ko --\x3e\n                  \x3c!-- ko if: !answers.length --\x3e\n                 \t<div class="user-answer js-font_color">No file selected.</div>\n                  \x3c!-- /ko --\x3e\n                 \x3c!-- /ko --\x3e\n                \x3c!-- /ko --\x3e\n            </li>\n        </ul>\n        \x3c!-- /ko --\x3e\n     </div>\n  </div>\n</div>\n'},"./src/views/fragments/invoices/client.html.erb":t=>{t.exports='<div class="paper">\n  <div class="paper-content">\n    \x3c!-- ko if: $root.accountinfo().account.header_info.document_header_image && $root.accountinfo().account.header_info.document_header_image.length --\x3e\n      <div class="document-header-container">\n        <img data-bind="attr: {alt: $root.accountinfo().account.name, src: $root.accountinfo().account.header_info.document_header_image + \'?size=original\'}" />\n      </div>\n    \x3c!-- /ko --\x3e\n      <div class="client_invoice">\n        \x3c!-- ko if: paid_yn == 1 --\x3e\n            <div class="invoice_paid">\n                <img src="/images/scribble-paid.svg" alt=\'Paid\'/>\n            </div>\n        \x3c!-- /ko --\x3e\n        \x3c!-- ko if: status == \'voided\' --\x3e\n            <div class="invoice_voided">\n                <img src="/images/scribble-void.svg" alt=\'Void\'/>\n            </div>\n        \x3c!-- /ko --\x3e\n\n        <div>\n\n            \x3c!-- ko if: !$root.accountinfo().account.logo_yn && !$root.accountinfo().account.header_info.hide_document_logo --\x3e\n                <div class="client_logo js-font_family js-font_color" data-bind="text: $root.accountinfo().account.name"></div>\n            \x3c!-- /ko --\x3e\n            \x3c!-- ko if: $root.accountinfo().account.logo_yn && !$root.accountinfo().account.header_info.hide_document_logo --\x3e\n                <div class="client_logo"><img data-bind="attr: {alt: $root.accountinfo().account.name, src: dataModel.accountinfo().account.logo_path + \'?size=original\'}" /></div>\n            \x3c!-- /ko --\x3e\n        </div>\n        <div class="invoice-header">\n          <div class="invoice-to-from">\n            <div class="invoice-from">\n              <div><strong>From</strong></div>\n                <div><strong data-bind="text: $root.accountinfo().account.name" class="js-font_color js-font_family"></strong></div>\n                \x3c!-- ko if: $data.check_address && $data.check_address.city --\x3e\n                    <dd data-bind="text: check_address.address1"></dd>\n                    \x3c!-- ko if: check_address.address2 --\x3e\n                        <dd data-bind="text: check_address.address2"></dd>\n                    \x3c!-- /ko --\x3e\n                    <dd><abbr data-bind="text: check_address.city"></abbr>, <abbr data-bind="text: check_address.state?check_address.state.abbreviation:\'\'"></abbr> <abbr data-bind="text: check_address.zip"></abbr></dd>\n                \x3c!-- /ko --\x3e\n\n                \x3c!-- ko if: !$data.check_address && ($root.accountinfo().account.primary_address && $root.accountinfo().account.primary_address.city) --\x3e\n                    \x3c!-- ko if: $root.accountinfo().account.primary_address.address1 --\x3e\n                        <dd data-bind="text: $root.accountinfo().account.primary_address.address1"></dd>\n                    \x3c!-- /ko --\x3e\n                    \x3c!-- ko if: $root.accountinfo().account.primary_address.address2 --\x3e\n                        <dd data-bind="text: $root.accountinfo().account.primary_address.address2"></dd>\n                    \x3c!-- /ko --\x3e\n                    <dd><abbr data-bind="text: $root.accountinfo().account.primary_address.city"></abbr>, <abbr data-bind="text: $root.accountinfo().account.primary_address.state?$root.accountinfo().account.primary_address.state.abbreviation:\'\'"></abbr> <abbr data-bind="text: $root.accountinfo().account.primary_address.zip"></abbr></dd>\n                \x3c!-- /ko --\x3e\n              </div>\n              <div class="invoice-to">\n                <div><strong>To</strong></div>\n                \x3c!-- ko if: $data.client.company_yn && $data.client.company_name --\x3e\n                  <div><strong class="js-font_color js-font_family" data-bind="text: client.company_name"></strong></div>\n                \x3c!-- /ko --\x3e\n                  <div><strong class="js-font_color js-font_family" data-bind="text: client.name"></strong></div>\n                \x3c!-- ko if: $data.client_address --\x3e\n                    <dd data-bind="text: client_address.address1"></dd>\n                    \x3c!-- ko if: client_address.address2 --\x3e\n                        <dd data-bind="text: client_address.address2"></dd>\n                    \x3c!-- /ko --\x3e\n                    <dd>\n                        <abbr data-bind="text: client_address.city"></abbr><span data-bind="visible: client_address.city && client_address.state">, </span><abbr data-bind="text: client_address.state?client_address.state.abbreviation:\'\'"></abbr> <abbr data-bind="text: client_address.zip"></abbr>\n                    </dd>\n                \x3c!-- /ko --\x3e\n            </div>\n          </div>\n          <div>\n            \x3c!-- ko if: !$data.recurrence || !$data.recurrence() --\x3e\n              <div class="invoice-info">\n                <div>\n                  <span class="invoice-info-title">\n                    <strong data-bind="text: ($root.brand_customization() && $root.brand_customization().invoice ? $root.brand_customization().invoice.title : \'Invoice\')"></strong>\n                  </span>\n                  <span  data-bind="text: number || id"></span>\n                </div>\n                \x3c!-- ko if: po --\x3e\n                <div>\n                  <span class="invoice-info-title">\n                    <strong>P.O. #</strong>\n                  </span>\n                  <span data-bind="text: po"></span>\n                </div>\n                \x3c!-- /ko --\x3e\n                <div>\n                  <span class="invoice-info-title">\n                    <strong>Issued</strong>\n                  </span>\n                  <span data-bind="text: $root.parseDate(created_at, \'MMMM d, yyyy\')"></span>\n                </div>\n                <div>\n                  <span class="invoice-info-title">\n                    <strong>Due Date</strong>\n                  </span>\n                  <span data-bind="text: $root.parseDate(due_date(), \'MMMM d, yyyy\')"></span>\n                </div>\n              </div>\n            \x3c!-- /ko --\x3e\n          </div>\n        </div>\n        <div class="clear-both"></div>\n          \x3c!-- ko if: dataModel.deviceType() != \'xs\' --\x3e\n            <div  id="product-item" >\n              <div class="product-item-header">\n                <div>ITEM</div>\n                <div class="product-item-header-right">\n                  <div>quantity</div>\n                  <div>price</div>\n                  <div class="total">total</div>\n                </div>\n              </div>\n              \x3c!-- ko foreach: products --\x3e\n                <div class="product-item-container">\n                  \x3c!-- ko if: $data.image --\x3e\n                    <div class="product-image-container">\n                      <img class="product-image" data-bind="attr:{src:$data.image}"/>\n                    </div>\n                  \x3c!-- /ko --\x3e\n                  <div class="product-item-column">\n                    <div class="product-item-row">\n                      <div class="js-font_color js-font_family product-title" data-bind="text: display_name_tokenized"></div>\n                      <div class="product-item-totals">\n                        <div data-bind="text: utils.formatNumber(quantity, 4)"></div>\n                        <div data-bind="text: accounting.formatMoney(amount)"></div>\n                        <div class="product-item-total" data-bind="text: accounting.formatMoney(amount*quantity)"></div>\n                      </div>\n                    </div>\n                    <div>\n                    <div class="product-item-row">\n                      \x3c!-- ko if: description_tokenized --\x3e\n                      <div class="product-item-description" data-bind="html: description_tokenized"></div>\n\n                      \x3c!-- /ko --\x3e\n                    </div>\n                    </div>\n                  </div>\n                </div>\n              \x3c!-- /ko --\x3e\n            </div>\n          \x3c!-- /ko --\x3e\n\n            \x3c!-- ko if: dataModel.deviceType() == \'xs\' --\x3e\n              <ul class="mt-4 text-left" data-bind="foreach: products">\n                <div class="d-flex justify-content-start flex-column align-items-center border boxfix border-inherit rounded mb-4 col-11">\n                  <div class="my-3 col-12 p-0">\n                    <div class=" d-flex flex-row">\n                      \x3c!-- ko if: $data.image --\x3e\n                        <div class="product-image-container">\n                          <img class="product-image" data-bind="attr:{src:$data.image}"/>\n                        </div>\n                      \x3c!-- /ko --\x3e\n                      <div class="js-font_color js-font_family ml-1 mb-2" lang="en" id="invoicefont" data-bind="text: display_name_tokenized"></div>\n                    </div>\n                    \x3c!-- ko if: description_tokenized --\x3e\n                      <div class="word-wrap ml-1 whiteSpace" data-bind="html: description_tokenized"></div>\n                    \x3c!-- /ko --\x3e\n                    <div class="d-flex row justify-content-between align-items-start mx-1 mt-3">\n                      <div class="d-flex flex-column  ml-1 align-items-center">\n                        <div class="border-bottom font-weight-bold mt-2"><strong>QTY</strong></div>\n                        <span class="mt-1" data-bind="text: quantity"></span>\n                      </div>\n                      <div class="d-flex flex-column align-items-center">\n                        <div class="border-bottom font-weight-bold  mt-2"><strong>Price</strong></div>\n                        <li class="mt-1" data-bind="text: accounting.formatMoney(amount)"></li>\n                      </div>\n                      <div class="d-flex flex-column align-items-center">\n                        <div class="border-bottom font-weight-bold mt-2"><strong>Total</strong></div>\n                        <li class="mt-1" data-bind="text: accounting.formatMoney(amount*quantity)"></li>\n                      </div>\n                    </div>\n                  </div>\n                </div>\n              </ul>\n            \x3c!-- /ko --\x3e\n            <table width="100%" cellpadding="0" cellspacing="0">\n            <tfoot>\n            <td style="width:570px;"></td>\n                <tr>\n                    <td colspan="3">\n                        <ul>\n                            <li>Subtotal:</li>\n                            \x3c!-- ko if: $root.invoice_discount_total() > 0 --\x3e\n                                <li>Discount \x3c!-- ko if: discount_type() == \'percentage\' --\x3e(<abbr data-bind="text: utils.formatNumber(utils.unformatCurrency(discount_amount())) + \'%\'"></abbr>)\x3c!-- /ko --\x3e:</li>\n                            \x3c!-- /ko --\x3e\n                            \x3c!-- ko if: taxsettings().length && $root.invoice_tax_total() --\x3e\n                                \x3c!-- ko foreach: taxsettings() --\x3e\n                                    <li><em data-bind="text: identifier"></em> (<abbr data-bind="text: utils.formatNumber(rate,4) + \'%\'"></abbr>)</li>\n                                \x3c!-- /ko --\x3e\n                            \x3c!-- /ko --\x3e\n                            \x3c!-- ko if: (!taxsettings().length || !$root.invoice_tax_total()) && ($root.accountinfo().account.currency && !$root.accountinfo().account.currency.match(/AUD/)) --\x3e\n                                <li>Tax:</li>\n                            \x3c!-- /ko --\x3e\n                        </ul>\n                    </td>\n                    <td>\n                        <ul>\n                            <li data-bind="text: accounting.formatMoney($root.invoice_subtotal())"></li>\n                            \x3c!-- ko if: $root.invoice_discount_total() > 0 --\x3e\n                                <li data-bind="text: \'- \' + accounting.formatMoney($root.invoice_discount_total())"></li>\n                            \x3c!-- /ko --\x3e\n                            \x3c!-- ko if: taxsettings().length && $root.invoice_tax_total() --\x3e\n                                \x3c!-- ko foreach: taxsettings() --\x3e\n                                    <li data-bind="text: accounting.formatMoney(amount())"></li>\n                                \x3c!-- /ko --\x3e\n                            \x3c!-- /ko --\x3e\n                            \x3c!-- ko if: (!taxsettings().length || !$root.invoice_tax_total()) && ($root.accountinfo().account.currency && !$root.accountinfo().account.currency.match(/AUD/)) --\x3e\n                                <li data-bind="text: accounting.formatMoney(0)"></li>\n                            \x3c!-- /ko --\x3e\n                        </ul>\n                    </td>\n                </tr>\n                <tr class="total">\n                    <td class="js-font_color js-font_family" colspan="3">Total:</td>\n                    <td class="js-font_color" data-bind="text: accounting.formatMoney($root.invoice_total())"></td>\n                </tr>\n                \x3c!-- ko foreach: payments --\x3e\n                    <tr>\n                      <td colspan="3" data-bind="css: { \'pending-payment\': !!$data.pending_yn }">\n                        <span data-bind="text: $data.pending_yn ? \'Pending payment\' : \'Payment\'"></span> received <span data-bind="text: $root.parseDate(date, \'MMMM d, yyyy\', false)"></span>\n                        <span data-bind="if: $root.isApp && !!Number($data.payment_method) && !$data.pending_yn">\n                          &#40;<a href="#" data-bind="click: SuiteSetup.modules.Invoice.sendReceipt">send receipt</a> - <a href="#" data-bind="click: SuiteSetup.modules.Invoice.deleteManualPayment">remove</a>&#41;\n                        </span>\n                        <span data-bind="if: $root.isApp  && !(!!Number($data.payment_method)) && !$data.pending_yn">\n                          &#40;<a href="#" data-bind="click: SuiteSetup.modules.Invoice.sendReceipt">send receipt</a>&#41;\n                        </span>\n                      </td>\n                      <td data-bind="css: { \'pending-payment\': !!$data.pending_yn }">\n                        <span data-bind="text: accounting.formatMoney((amount * 1))"></span>\n                      </td>\n                    </tr>\n                    \x3c!-- ko if: $root.isApp --\x3e\n                    <tr>\n                      <td colspan="3" data-bind="css: { \'pending-payment\': !!$data.pending_yn }">\n                        Paid by: <span data-bind="text: (SuiteSetup.module && SuiteSetup.module(\'Invoice\') && SuiteSetup.module(\'Invoice\').getPaymentMethod(payment_method) || dataModel.getPaymentMethod(payment_method)) + \', \'"></span>\n                        <span data-bind="text: (payment_reference.replace(\'Invoice #\' + $parent.number + \' - \',\'\') || \'No reference provided\')"></span>\n                      </td>\n                    </tr>\n                    \x3c!-- /ko --\x3e\n                    \x3c!-- ko if: $parent.installments().length && $index()+1 == $parent.payments.length --\x3e\n                        <tr>\n                            <td>&nbsp;</td>\n                        </tr>\n                    \x3c!-- /ko --\x3e\n                \x3c!-- /ko --\x3e\n                \x3c!-- ko if: status != "voided" && $data.payments && $data.payments.length > 0 --\x3e\n\t                <tr class="balance-due">\n\t                    <td colspan="3" class="js-font_family js-font_color"><strong>Balance Due:</strong></td>\n\t                    <td class="js-font_color" data-bind="text: accounting.formatMoney(outstanding_amount.hasOwnProperty(\'value\') ? outstanding_amount.value : outstanding_amount)"></td>\n\t                </tr>\n\t            \x3c!-- /ko --\x3e\n                \x3c!-- ko foreach: payments --\x3e\n                  \x3c!-- ko if: $data.tip_amount > 0  --\x3e\n                    <tr>\n                      <td colspan="3" data-bind="css: { \'pending-payment\': !!$data.pending_yn }">\n                        <span data-bind="text: $data.pending_yn ? \'Pending tip\' : \'Tip\'"></span> received <span data-bind="text: $root.parseDate(date, \'MMMM d, yyyy\', false)"></span>\n                      </td>\n                      <td data-bind="css: { \'pending-payment\': !!$data.pending_yn }">\n                        <span data-bind="text: accounting.formatMoney((tip_amount * 1))"></span>\n                      </td>\n                    </tr>\n                    \x3c!-- ko if: $parent.installments().length && $index()+1 == $parent.payments.length --\x3e\n                        <tr>\n                            <td>&nbsp;</td>\n                        </tr>\n                    \x3c!-- /ko --\x3e\n                  \x3c!-- /ko --\x3e\n                \x3c!-- /ko --\x3e\n                \x3c!-- ko if: ($root.invoice().total_tip !== undefined) && (($root.invoice().total_tip.value && $root.invoice().total_tip.value > 0) || $root.invoice().total_tip > 0) --\x3e\n                <tr class="total">\n                    <td class="js-font_color js-font_family" colspan="3">Tips Total:</td>\n                    <td class="js-font_color" data-bind="text: accounting.formatMoney($root.invoice().total_tip.value ? $root.invoice().total_tip.value : $root.invoice().total_tip)"></td>\n                </tr>\n                \x3c!-- /ko --\x3e\n            </tfoot>\n        </table>\n        \x3c!-- ko ifnot: $root.invoice_installments_require_project_date() && !$root.invoice().job.main_event --\x3e\n                    \x3c!-- ko if: $root.invoice().installments().length > 0 && !paid_in_full_date --\x3e\n                    <payment-schedule-details params=" installments: $root.invoice().installments(), installment_config: $root.invoice().installment_config(), payments: $root.invoice().payments"></payment-schedule-details>\n\n                    \x3c!-- /ko --\x3e\n                \x3c!-- /ko --\x3e\n        \x3c!-- ko if: message --\x3e\n          <div class="invoice-notes">\n            <div><i class="fas fa-sticky-note pr-2 js-font_color"></i><strong>Notes</strong></div>\n             <div data-bind="text: message"></div>\n          </div>\n        \x3c!-- /ko --\x3e\n        \x3c!-- ko if: $root.accountinfo().account.invoice_footer --\x3e\n            <p class="invoice_footer" data-bind="text: $root.accountinfo().account.invoice_footer"></p>\n        \x3c!-- /ko --\x3e\n     </div>\n  </div>\n</div>\n'},"./src/views/fragments/quotes/client.html.erb":t=>{t.exports='<div class="paper">\n  <div class="paper-content">\n    \x3c!-- ko if: $root.accountinfo().account.header_info.document_header_image && $root.accountinfo().account.header_info.document_header_image.length --\x3e\n      <div class="document-header-container">\n        <img data-bind="attr: {alt: $root.accountinfo().account.name, src: $root.accountinfo().account.header_info.document_header_image + \'?size=original\'}" />\n      </div>\n      \x3c!-- /ko --\x3e\n      <div class="client_invoice">\n\t      <style>\n            .quote_voided {\n                position:absolute;\n                top:120px;\n                right:0px;\n                left:0px;\n                margin:auto;\n                text-align:center;\n                width: 248px;\n            }\n\n\t      </style>\n        \x3c!-- ko if: quote().status == \'voided\' --\x3e\n          <div class="quote_voided">\n            <img src="/images/scribble-void.svg" alt=\'Void\'/>\n          </div>\n        \x3c!-- /ko --\x3e\n        <div>\n          \x3c!-- ko if: !$root.accountinfo().account.logo_yn && !$root.accountinfo().account.header_info.hide_document_logo --\x3e\n            <div class="client_logo js-font_family js-font_color" data-bind="text: $root.accountinfo().account.name"></div>\n          \x3c!-- /ko --\x3e\n          \x3c!-- ko if: $root.accountinfo().account.logo_yn && !$root.accountinfo().account.header_info.hide_document_logo --\x3e\n            <div class="client_logo"><img data-bind="attr: {\'alt\': $root.accountinfo().account.name, \'src\': dataModel.accountinfo().account.logo_path  + \'?size=original\'}" /></div>\n          \x3c!-- /ko --\x3e\n        </div>\n        <div class="invoice-header">\n          <div class="invoice-to-from">\n            <div class="invoice-from">\n              <div><strong>From</strong></div>\n                <div><strong data-bind="text: $root.accountinfo().account.name" class="js-font_color js-font_family"></strong></div>\n                \x3c!-- ko if: quote().check_address && quote().check_address.city --\x3e\n                    <div data-bind="text: quote().check_address.address1"></div>\n                    \x3c!-- ko if: quote().check_address.address2 --\x3e\n                        <div data-bind="text: quote().check_address.address2"></div>\n                    \x3c!-- /ko --\x3e\n                    <div><abbr data-bind="text: quote().check_address.city"></abbr>, <abbr data-bind="text: quote().check_address.state?quote().check_address.state.abbreviation:\'\'"></abbr> <abbr data-bind="text: quote().check_address.zip"></abbr></div>\n                \x3c!-- /ko --\x3e\n\n                \x3c!-- ko if: !quote().check_address && ($root.accountinfo().account.primary_address && $root.accountinfo().account.primary_address.city) --\x3e\n                    <div data-bind="text: $root.accountinfo().account.primary_address.address1"> </div>\n                    \x3c!-- ko if: $root.accountinfo().account.primary_address.address2 --\x3e\n                        <div data-bind="text: $root.accountinfo().account.primary_address.address2"></div>\n                    \x3c!-- /ko --\x3e\n                    <div>\n                      <abbr data-bind="text: $root.accountinfo().account.primary_address.city"></abbr>, <abbr data-bind="text: $root.accountinfo().account.primary_address.state?$root.accountinfo().account.primary_address.state.abbreviation:\'\'"></abbr> <abbr data-bind="text: $root.accountinfo().account.primary_address.zip"></abbr>\n                    </div>\n                \x3c!-- /ko --\x3e\n              </div>\n              <div class="invoice-to">\n                <div><strong>To</strong></div>\n                \x3c!-- ko if: quote().client.company_yn && quote().client.company_name --\x3e\n                  <div><strong class="js-font_color js-font_family" data-bind="text: quote().client.company_name"></strong></div>\n                \x3c!-- /ko --\x3e\n                <div><strong class="js-font_color js-font_family" data-bind="text: quote().client.name"></strong></div>\n                \x3c!-- ko if: quote().client_address --\x3e\n                    <div data-bind="text: quote().client_address.address1"></div>\n                    \x3c!-- ko if: quote().client_address.address2 --\x3e\n                        <div data-bind="text: quote().client_address.address2"></div>\n                    \x3c!-- /ko --\x3e\n                    <div>\n                        <abbr data-bind="text: quote().client_address.city"></abbr><span data-bind="visible: quote().client_address.city && quote().client_address.state">, </span><abbr data-bind="text: quote().client_address.state?quote().client_address.state.abbreviation:\'\'"></abbr> <abbr data-bind="text: quote().client_address.zip"></abbr>\n                    </div>\n                \x3c!-- /ko --\x3e\n            </div>\n          </div>\n          <div>\n            <div class="invoice-info">\n              <div>\n                <span class="invoice-info-title">\n                  <strong data-bind="text: ($root.brand_customization() && $root.brand_customization().quote ? $root.brand_customization().quote.title : \'Quote\')"></strong>\n                </span>\n                <span  data-bind="text: quote().id"></span>\n              </div>\n              <div>\n                <span class="invoice-info-title">\n                  <strong>Issued</strong>\n                </span>\n                <span data-bind="text: $root.parseDate(quote().created_at, \'MMMM d, yyyy\')"></span>\n              </div>\n              \x3c!-- ko if: quote().valid_until()--\x3e\n              <div>\n                <span class="invoice-info-title">\n                  <strong>Valid Until</strong>\n                </span>\n                <span data-bind="text: $root.parseDate(quote().valid_until(), \'MMMM d, yyyy\')"></span>\n              </div>\n              \x3c!-- /ko --\x3e\n            </div>\n          </div>\n        </div>\n        \x3c!-- ko template: {\'if\': dataModel.deviceType() !== \'xs\' } --\x3e\n          \x3c!-- ko if:  quote().standard_items().length --\x3e\n              <div  id="product-item" >\n                <div class="product-item-header">\n                  <div>ITEM</div>\n                  <div class="product-item-header-right">\n                    <div>quantity</div>\n                    <div>price</div>\n                    <div class="total">total</div>\n                  </div>\n                </div>\n                \x3c!-- ko foreach: quote().standard_items --\x3e\n                  <div class="product-item-container">\n                    \x3c!-- ko if: $data.image --\x3e\n                      <div class="product-image-container">\n                        <img class="product-image" data-bind="attr:{src:$data.image}"/>\n                      </div>\n                    \x3c!-- /ko --\x3e\n                    <div class="product-item-column">\n                      <div class="product-item-row">\n                        <div class="js-font_color js-font_family product-title" data-bind="text: display_name_tokenized"></div>\n                        <div class="product-item-totals">\n                          <div data-bind="text: quantity"></div>\n                          <div data-bind="text: accounting.formatMoney(amount)"></div>\n                          <div class="product-item-total" data-bind="text: accounting.formatMoney(amount*quantity())"></div>\n                        </div>\n                      </div>\n                      <div class="product-item-row">\n                        \x3c!-- ko if: description_tokenized --\x3e\n                          <div class="product-item-description" data-bind="html: description_tokenized"></div>\n\n                        \x3c!-- /ko --\x3e\n                      </div>\n                    </div>\n                  </div>\n                \x3c!-- /ko --\x3e\n              </div>\n          \x3c!-- /ko --\x3e\n        \x3c!-- /ko --\x3e\n        \x3c!-- ko template: {\'if\': dataModel.deviceType() === \'xs\' } --\x3e\n          \x3c!-- ko if:  quote().standard_items().length --\x3e\n\t\t\t      <ul class="mt-4 text-left" data-bind="foreach: quote().standard_items()">\n              <div class="d-flex justify-content-start flex-column align-items-center border boxfix border-inherit rounded mb-4 col-11">\n                <div class="my-3 col-12 p-0">\n                  <div class=" d-flex flex-row">\n                    \x3c!-- ko if: $data.image --\x3e\n                      <div class="product-image-container">\n                        <img class="product-image" data-bind="attr:{src:$data.image}"/>\n                      </div>\n                    \x3c!-- /ko --\x3e\n                    <div class="js-font_color js-font_family ml-1 mb-2" lang="en" id="invoicefont" data-bind="text: display_name_tokenized"></div>\n                  </div>\n                  \x3c!-- ko if: description_tokenized --\x3e\n                    <div class="word-wrap ml-1 whiteSpace" data-bind="html: description_tokenized"></div>\n                  \x3c!-- /ko --\x3e\n                  <div class="d-flex row justify-content-between align-items-start mx-1 mt-3">\n                    \x3c!-- ko if: !choose_quantity_yn --\x3e\n                      <div class="d-flex flex-column  ml-1 align-items-center">\n                        <div class="border-bottom font-weight-bold mt-2"><strong>QTY</strong></div>\n                        <span class="mt-1" data-bind="text: quantity"></span>\n                      </div>\n                    \x3c!-- /ko --\x3e\n                    <div class="d-flex flex-column align-items-center">\n                      <div class="border-bottom font-weight-bold  mt-2"><strong>Price</strong></div>\n                      <li class="mt-1" data-bind="text: accounting.formatMoney(amount)"></li>\n                    </div>\n                    <div class="d-flex flex-column align-items-center">\n                      <div class="border-bottom font-weight-bold mt-2"><strong>Total</strong></div>\n                      <li class="mt-1" data-bind="text: accounting.formatMoney(amount*quantity())"></li>\n                    </div>\n                  </div>\n                </div>\n              </div>\n            </ul>\n          \x3c!-- /ko --\x3e\n        \x3c!-- /ko --\x3e\n        \x3c!-- ko template: {\'if\': dataModel.deviceType() !== \'xs\' } --\x3e\n          \x3c!-- ko if:  quote().choose_one_items().length --\x3e\n              <div  id="product-item" >\n                <div class="product-item-header">\n                  <div class="product-item-header-left">\n                    <div class="js-font_color js-font_family">Select One</div>\n                    <div class="product-item-options">Please select one of the following options:</div>\n                  </div>\n                  <div class="product-item-header-right">\n                    <div class="total">price</div>\n                  </div>\n                </div>\n                \x3c!-- ko foreach: quote().choose_one_items --\x3e\n                  <div class="product-item-container product-item-selectable" data-bind="css: {\'selected\' : $root.quote().choose_one_selected_by_client() == $data.id}, click: function() { if(!$root.quote().accepted_at()) { $root.quote().choose_one_selected_by_client($data.id);} }">\n                    <div class="product-item-action-container">\n                      <input type="radio" data-bind="attr: {\'disabled\' : $root.quote().accepted_at()}, checkedValue: $data.id, checked: $root.quote().choose_one_selected_by_client, click: function() { return true }, clickBubble: false" name="quote_selection"/>\n                    </div>\n                    \x3c!-- ko if: $data.image --\x3e\n                      <div class="product-image-container">\n                        <img class="product-image" data-bind="attr:{src:$data.image}"/>\n                      </div>\n                    \x3c!-- /ko --\x3e\n                    <div class="product-item-column">\n                      <div class="product-item-row">\n                        <div class="js-font_color js-font_family product-title" data-bind="text: display_name_tokenized"></div>\n                        <div class="product-item-totals">\n                          <div class="product-item-total" data-bind="text: accounting.formatMoney(amount)"></div>\n                        </div>\n                      </div>\n                      <div class="product-item-row">\n                      \x3c!-- ko if: description_tokenized --\x3e\n                        <div class="product-item-description" data-bind="html: description_tokenized"></div>\n\n                      \x3c!-- /ko --\x3e\n                      </div>\n                    </div>\n                  </div>\n                \x3c!-- /ko --\x3e\n              </div>\n          \x3c!-- /ko --\x3e\n        \x3c!-- /ko --\x3e\n        \x3c!-- ko template: {\'if\': dataModel.deviceType() === \'xs\' } --\x3e\n          \x3c!-- ko if:  quote().choose_one_items().length --\x3e\n            <div>\n              <h3 id="invoicefont" class="js-font_color js-font_family">Select One</h3>\n              <div>Please select one of the following options:</div>\n            </div>\n            <ul class="mt-4 text-left" data-bind="foreach: quote().choose_one_items()">\n              <div id="customColor" class="d-flex justify-content-start flex-column align-items-center boxfix border border-inherit rounded mb-4 col-11" data-bind="css: {\'selected\' : $root.quote().choose_one_selected_by_client() == $data.id}, click: function() { if(!$root.quote().accepted_at()) { $root.quote().choose_one_selected_by_client($data.id);} }">\n                <div class="my-3 col-12 p-0">\n                  <div class="mb-2 d-flex flex-row">\n                    <input type="radio" data-bind="attr: {\'disabled\' : $root.quote().accepted_at()}, checkedValue: $data.id, checked: $root.quote().choose_one_selected_by_client, click: function() { return true }, clickBubble: false" name="quote_selection"/>\n                    \x3c!-- ko if: $data.image --\x3e\n                      <div class="product-image-container">\n                        <img class="product-image" data-bind="attr:{src:$data.image}"/>\n                      </div>\n                    \x3c!-- /ko --\x3e\n                    <span class="js-font_color js-font_family ml-1"  lang="en" id="invoicefont" data-bind="text: display_name_tokenized"></span>\n                  </div>\n                  \x3c!-- ko if: description --\x3e\n                    <div class="word-wrap ml-2 mb-2 whiteSpace" data-bind="html: description_tokenized"></div>\n                  \x3c!-- /ko --\x3e\n                  <div class="d-flex flex-column align-items-start ml-2">\n                    <div class="border-bottom font-weight-bold mt-2"><strong>Price</strong></div>\n                    <li class="mt-3" data-bind="text: accounting.formatMoney(amount)"></li>\n                  </div>\n                </div>\n              </div>\n            </ul>\n          \x3c!-- /ko --\x3e\n          \x3c!-- ko if:  quote().choose_any_items().length --\x3e\n            <div>\n              <h3  id="invoicefont" class="js-font_color js-font_family">Additional Options</h3>\n              <div>Please select any of the following options:</div>\n            </div>\n\t\t\t      <ul class="mt-4 text-left" data-bind="foreach: quote().choose_any_items()">\n              <div id="customColor" class="d-flex justify-content-start flex-column align-items-center border boxfix border-inherit rounded mb-4 col-11" data-bind="css: {\'selected\' : $data.selected_by_client}, click: function() { if(!$root.quote().accepted_at()) { $data.selected_by_client(!($data.selected_by_client())) } }">\n                <div class="my-3 col-12 p-0">\n                  <div class="mb-2 d-flex flex-row">\n                    <input type="checkbox" data-bind="checked: $data.selected_by_client, attr: {\'disabled\' : $root.quote().accepted_at()}, click: function() { return true }, clickBubble: false"/>\n                    \x3c!-- ko if: $data.image --\x3e\n                      <div class="product-image-container">\n                        <img class="product-image" data-bind="attr:{src:$data.image}"/>\n                      </div>\n                    \x3c!-- /ko --\x3e\n                    <span class="js-font_color js-font_family ml-1" lang="en" id="invoicefont" data-bind="text: display_name_tokenized"></span>\n                  </div>\n                  \x3c!-- ko if: description --\x3e\n                    <div class="word-wrap ml-2 whiteSpace" data-bind="html: description_tokenized"></div>\n                  \x3c!-- /ko --\x3e\n                  <div class="d-flex row justify-content-between col-11 boxfix mt-3">\n                    \x3c!-- ko if: choose_quantity_yn --\x3e\n                    <div class="d-flex flex-column align-items-center p-0  col-3">\n                      <div class="border-bottom font-weight-bold mt-2"><strong>QTY</strong></div>\n                      <input class="border col-4 p-1 mt-3"type="text" data-bind="textInput: quantity, attr: {min: min_quantity , max: max_quantity,\'disabled\' : $root.quote().accepted_at() || !selected_by_client()}, click: function() { return true }, clickBubble: false" />\n                    </div>\n                    \x3c!-- /ko --\x3e\n                    \x3c!-- ko if: !choose_quantity_yn --\x3e\n                    <div class="d-flex flex-column  align-items-center p-0  col-3">\n                      <div class="border-bottom mt-2 font-weight-bold"><strong>QTY</strong></div>\n                      <span class="mt-3" data-bind="text: quantity"></span>\n                    </div>\n                    \x3c!-- /ko --\x3e\n                    <div class="d-flex flex-column  align-items-center p-0 col-3">\n                      <div class="border-bottom font-weight-bold mt-2"><strong>Price</strong></div>\n                      <li class="mt-3" data-bind="text: accounting.formatMoney(amount)"></li>\n                    </div>\n                    <div class="d-flex flex-column  align-items-center p-0 col-3">\n                      <div class="border-bottom font-weight-bold mt-2"><strong>Total</strong></div>\n                      <li class="mt-3" data-bind="text: accounting.formatMoney(amount*quantity())"></li>\n                    </div>\n                  </div>\n\t\t\t\t\t      </div>\n\t\t\t\t      </div>\n\t\t\t      </ul>\n          \x3c!-- /ko --\x3e\n        \x3c!-- /ko --\x3e\n        \x3c!-- ko template: {\'if\': dataModel.deviceType() !== \'xs\' } --\x3e\n        \x3c!-- ko if:  quote().choose_any_items().length --\x3e\n            <div  id="product-item" >\n                <div class="product-item-header">\n                  <div class="product-item-header-left">\n                    <div class="js-font_color js-font_family">Additional Options</div>\n                    <div class="product-item-options">Please select any of the following options:</div>\n                  </div>\n                  <div class="product-item-header-right">\n                    <div>quantity</div>\n                    <div>price</div>\n                    <div class="total">total</div>\n                  </div>\n                </div>\n                \x3c!-- ko foreach: quote().choose_any_items --\x3e\n                  <div class="product-item-container product-item-selectable" data-bind="css: {\'selected\' : $data.selected_by_client}, click: function() { if(!$root.quote().accepted_at()) { $data.selected_by_client(!($data.selected_by_client())) } }">\n                    <div class="product-item-action-container">\n                      <input type="checkbox" data-bind="checked: $data.selected_by_client, attr: {\'disabled\' : $root.quote().accepted_at()}, click: function() { return true }, clickBubble: false"/>\n                    </div>\n                    \x3c!-- ko if: $data.image --\x3e\n                      <div class="product-image-container">\n                        <img class="product-image" data-bind="attr:{src:$data.image}"/>\n                      </div>\n                    \x3c!-- /ko --\x3e\n                    <div class="product-item-column">\n                      <div class="product-item-row">\n                        <div class="js-font_color js-font_family product-title" data-bind="text: display_name_tokenized"></div>\n                        <div class="product-item-totals">\n                          <div>\n                            \x3c!-- ko if: choose_quantity_yn --\x3e\n                              <input type="text" class="quantity" data-bind="textInput: quantity, attr: {min: min_quantity , max: max_quantity,\'disabled\' : $root.quote().accepted_at() || !selected_by_client()}, click: function() { return true }, clickBubble: false" />\n                            \x3c!-- /ko --\x3e\n                            \x3c!-- ko if: !choose_quantity_yn --\x3e\n                              <span data-bind="text: quantity"></span>\n                            \x3c!-- /ko --\x3e\n                          </div>\n                          <div data-bind="text: accounting.formatMoney(amount)"></div>\n                          <div class="product-item-total" data-bind="text: accounting.formatMoney(amount*quantity())"></div>\n                        </div>\n                      </div>\n                      <div class="product-item-row">\n                        \x3c!-- ko if: description_tokenized --\x3e\n                          <div class="product-item-description" data-bind="html: description_tokenized"></div>\n\n                        \x3c!-- /ko --\x3e\n                      </div>\n                    </div>\n                  </div>\n                \x3c!-- /ko --\x3e\n              </div>\n        \x3c!-- /ko --\x3e\n        \x3c!-- /ko --\x3e\n        <table width="100%" cellpadding="0" cellspacing="0" summary="Invoice Items" class="uni selection">\n            <tfoot>\n                <tr>\n                    <td>\n                        <ul>\n                            <li>Subtotal:</li>\n                            \x3c!-- ko if: quote().discount_amount() --\x3e\n                                <li>Discount \x3c!-- ko if: quote().discount_type() == \'percentage\' --\x3e(<abbr data-bind="text: utils.formatNumber(utils.unformatCurrency(quote().discount_amount())) + \'%\'"></abbr>)\x3c!-- /ko --\x3e:</li>\n                            \x3c!-- /ko --\x3e\n                            \x3c!-- ko if: quote().taxsettings().length && quote().tax_total() --\x3e\n                                \x3c!-- ko foreach: quote().taxsettings() --\x3e\n                                    <li><em data-bind="text: identifier"></em> (<abbr data-bind="text: utils.formatNumber(rate, 4) + \'%\'"></abbr>)</li>\n                                \x3c!-- /ko --\x3e\n                            \x3c!-- /ko --\x3e\n                            \x3c!-- ko ifnot: (quote().taxsettings().length && quote().tax_total()) --\x3e\n                                <li>Tax:</li>\n                            \x3c!-- /ko --\x3e\n                        </ul>\n                    </td>\n                    <td>\n                        <ul>\n                            <li data-bind="text: accounting.formatMoney(quote().subtotal())"></li>\n                            \x3c!-- ko if: quote().discount_amount() --\x3e\n                                <li data-bind="text: \'-\' + accounting.formatMoney(quote().discount_total())"></li>\n                            \x3c!-- /ko --\x3e\n                            \x3c!-- ko if: quote().taxsettings().length && quote().tax_total() --\x3e\n                                \x3c!-- ko foreach: quote().taxsettings() --\x3e\n                                    <li data-bind="text: accounting.formatMoney(amount())"></li>\n                                \x3c!-- /ko --\x3e\n                            \x3c!-- /ko --\x3e\n                            \x3c!-- ko ifnot: (quote().taxsettings().length && quote().tax_total()) --\x3e\n                                <li data-bind="text: accounting.formatMoney(0)"></li>\n                            \x3c!-- /ko --\x3e\n                        </ul>\n                    </td>\n                </tr>\n                <tr class="total">\n                    <td class="js-font_color js-font_family">Total:</td>\n                    <td class="js-font_color" data-bind="text: accounting.formatMoney(quote().total())"></td>\n                </tr>\n            </tfoot>\n        </table>\n        \x3c!-- ko if: $root.quote().installments().length > 1 --\x3e\n            <p class="payment-terms">\n                <strong>Payment Terms</strong>\n                <span>\n                \x3c!-- ko foreach: quote().installments_text() --\x3e\n                    <abbr data-bind="text: $data"></abbr>\n                \x3c!-- /ko --\x3e\n                </span>\n                <br>\n            </p>\n        \x3c!-- /ko --\x3e\n        \x3c!-- ko if: $root.quote().installment_config && $root.quote().installment_config().installment_message && $root.quote().installment_config().installment_message_yn --\x3e\n            <p class="payment-due">\n                <span style="font-style:italic;" data-bind="text: $root.quote().installment_config().installment_message"></span>\n            </p>\n        \x3c!-- /ko --\x3e\n            <div class="sign" data-bind="if: quote().status != \'voided\'">\n            \x3c!-- ko if: quote().contract_yn() --\x3e\n\n                \x3c!-- ko if: quote().accepted_at() --\x3e\n\n                    <div class="signatures">\n                        <ul>\n                            <li class="signed">\n                                <span style="cursor: default;" class="js-font_family js-font_color signed-span">\n                                    <i class="icon-check js-font_color"></i>\n                                    Accepted: <em data-bind="text: $root.parseDate($root.quote().accepted_at(),\'MMM dS, yyyy\')"></em>\n                                </span>\n                            </li>\n                        </ul>\n                    </div>\n                    \x3c!-- ko if: location.pathname == \'/p\' --\x3e\n                    <div class="next">\n                        <button class="js-button" onClick="quoteShow(\'contract\')"><i class="fa fa-arrow-right mr-2"></i>Next &#8211; <span data-bind="text: quote().contract_yn() && contract() &&  contract().display_name()? \'View \' + contract().display_name() : ($root.brand_customization().contract ? \'View \' + $root.brand_customization().contract.title : \'View Contract\')"></span></button>\n                    </div>\n                    \x3c!-- /ko --\x3e\n                \x3c!-- /ko --\x3e\n                \x3c!-- ko if: !quote().accepted_at() --\x3e\n                \x3c!-- ko if: location.pathname == \'/p\' --\x3e\n                  <p class="js-font_color js-font_family">To indicate your acceptance of the above, click the button below.</p>\n\n                  <div class="signatures">\n                      <ul>\n                          <li><button id="acceptQuote" class="js-button" data-bind="click: acceptQuote, text: $root.brand_customization().quote ? $root.brand_customization().quote.accept : \'Accept\'"></button></li>\n                      </ul>\n                  </div>\n                \x3c!-- /ko --\x3e\n                \x3c!-- /ko --\x3e\n            \x3c!-- /ko --\x3e\n            \x3c!-- ko if: !quote().contract_yn() --\x3e\n                \x3c!-- ko if: !quote().accepted_at() --\x3e\n                \x3c!-- ko if: location.pathname == \'/p\' --\x3e\n                    <p class="js-font_color js-font_family">To indicate your acceptance of the above, sign electronically below.</p>\n\n                    <div class="signatures">\n                        <ul>\n                            <li><input type="text" placeholder="Type your name" data-bind="value: $root.quote().accepted_by"/></li>\n                            <li><button id="acceptQuote" class="js-button" data-bind="{click: acceptQuote, text: $root.brand_customization().quote ? $root.brand_customization().quote.accept : \'Accept\'}">Accept</button></li>\n                        </ul>\n                    </div>\n                    \x3c!-- /ko --\x3e\n                \x3c!-- /ko --\x3e\n                \x3c!-- ko if: quote().accepted_at() --\x3e\n\n                    <div class="signatures">\n                        <ul>\n                            <li class="signed">\n                                \x3c!-- ko if: quote().accepted_by() --\x3e\n                                <input type="text" data-bind="value: $root.quote().accepted_by()" disabled />\n                                \x3c!-- /ko --\x3e\n                                <span style="cursor: default;" class="js-font_family js-font_color signed-span">\n                                    <i class="icon-check js-font_color"></i>\n                                    Accepted: <em data-bind="text: $root.parseDate($root.quote().accepted_at(),\'MMM dS, yyyy\')"></em>\n                                </span>\n                            </li>\n                        </ul>\n                    </div>\n                    \x3c!-- ko if: location.pathname == \'/p\' --\x3e\n                    \x3c!-- ko if: quote().invoice_yn() --\x3e\n                        <div class="next">\n                            <button class="js-button" onClick="quoteShow(\'invoice\')"><i class="fa fa-arrow-right mr-2"></i>Next &#8211; <span data-bind="text: ($root.quote().invoice_settings.display_name && $root.quote().invoice_settings.display_name()) ? \'View \' + $root.quote().invoice_settings.display_name() : ($root.brand_customization().invoice ? \'View \' + $root.brand_customization().invoice.title : \'View Invoice\')"></span></button>\n                        </div>\n                    \x3c!-- /ko --\x3e\n                    \x3c!-- /ko --\x3e\n                \x3c!-- /ko --\x3e\n            \x3c!-- /ko --\x3e\n\n        </div>\n     </div>\n  </div>\n</div>\n'},"./src/components/account-badge/account-badge.html":t=>{t.exports='<div\n  class="account-badge"\n  data-bind="if: account, css: {\'logo\': use_logo }"\n>\n  \x3c!-- ko if: use_logo --\x3e\n  <img class="photoSizer" data-bind="attr: { src: account().logo_link }" />\n  \x3c!-- /ko --\x3e\n  \x3c!-- ko if: use_initials --\x3e\n  <span data-bind="text: account().initials"></span>\n  \x3c!-- /ko --\x3e\n</div>'},"./src/components/form/datepicker/datepicker.html":t=>{t.exports='<input class="datepicker" placeholder="Select date"\n       data-bind="attr: {name: name},\n                  textInput: value">\n'},"./src/components/overlay/overlay.html":t=>{t.exports='<div class="overlay" data-bind="css: {\'fullscreen\': fullscreen}">\n  <div class="overlay--content" data-bind="with: context">\n    \x3c!-- ko template: { nodes: $componentTemplateNodes } --\x3e\x3c!-- /ko --\x3e\n  </div>\n\n  <div class="overlay--background" data-bind="click: onRequestClose"></div>\n</div>\n'},"./src/components/payment-header/payment-header.html":t=>{t.exports='<div id="public_header"  data-bind="with: $data.invoice()">\n  <div class="public_header_right">\n    \x3c!--<button><i class="icon-download"></i>Download PDF</button>--\x3e\n    <button id="btnPrint" href="#" class="js-button public_action_btn button-print" data-bind="click: function(){$component.print()}">Print</button>\n    \x3c!-- ko if: status != \'voided\' && allow_online_payment_yn && !paid_in_full_date && $root.account().merchant_account_yn --\x3e\n      <button\n        id="btn_payment"\n        class="btn_success public_action_btn js-button"\n        data-bind="click: $root.payInvoice, text: $root.brand_customization().invoice ? $root.brand_customization().invoice.pay : \'Pay Invoice\'"\n      ></button>\n    \x3c!-- /ko --\x3e\n    \x3c!-- ko if: (\n      allow_online_payment_yn &&\n      $root.account().merchant_account_yn &&\n      $root.account().save_cards_yn &&\n      $root.payment_methods().filter(function(x) { return !!x.external_id; }).length > 0\n    ) --\x3e\n    <button\n      id="btn-cancel-auto-payments"\n      class="btn_success public_action_btn js-button"\n      data-bind="click: $root.paymentSettings"\n    >Payment Settings</button>\n    \x3c!-- /ko --\x3e\n  </div>\n  <h1>\n    <abbr data-bind="text: display_name || ($root.brand_customization().invoice ? $root.brand_customization().invoice.title : \'Invoice\')"></abbr>: <abbr class="invoice-total" data-bind="text: accounting.formatMoney($root.invoice_total())"></abbr>\n  </h1>\n</div>\n'},"./src/components/payment-schedule-details/payment-schedule-details.html":t=>{t.exports='<div id="payment-schedule-details">\n  <div>\n    <i class="fas fa-credit-card js-font_color"></i>\n    <strong>PAYMENT SCHEDULE DETAILS</strong>\n  </div>\n  \x3c!-- ko if: !$data.pastDue() --\x3e\n  <div>\n    <span  class="js-font_color" data-bind="text: $data.payments().length?\'Next Payment Due: \':\'Payment Due: \'">Next Payment Due: </span><span data-bind="text: $root.parseDate($data.nextPayment().due_date, \'MMMM d, yyyy\') + \'&nbsp; &#8211; &nbsp;\'"></span>\n    <span data-bind="text: (typeof $data.nextPayment().amount_to_pay != \'undefined\') ? accounting.formatMoney($data.nextPayment().amount_to_pay) : \'\'"></span>\n  </div>\n  \x3c!-- /ko --\x3e\n  \x3c!-- ko if: $data.pastDue() --\x3e\n  <div>\n    <span  class="js-font_color">Past Due Payment: </span><span style="color: red;" data-bind="text: $root.parseDate($data.nextPayment().due_date, \'MMMM d, yyyy\') + \'&nbsp; &#8211; &nbsp;\'"></span>\n    <span style="color: red;" data-bind="text: (typeof $data.nextPayment().amount_to_pay != \'undefined\') ? accounting.formatMoney($data.nextPayment().amount_to_pay) : \'\'"></span>\n  </div>\n  \x3c!-- /ko --\x3e\n  \x3c!-- ko if: $data.futurePayments() && $data.futurePayments().length --\x3e\n    <div class="osCursor" data-bind="click: function(){$component.paymentToggle()}">\n      <i class="fa js-font_color" data-bind="class: $data.viewFuturePayments()?\'fa-caret-down\':\'fa-caret-right\'"></i>\n      <span class="payment-toggle js-font_color">See All Payment Details</span>\n    </div>\n    \x3c!-- ko if: $data.viewFuturePayments() --\x3e\n      \x3c!-- ko foreach: sortedFuturePayments --\x3e\n        <div class="future-payments-container">\n          <div class="future-payment" >\n            <div colspan="3"><span data-bind="text: $root.parseDate($data.due_date, \'MMMM d, yyyy\') + \'&nbsp; &#8211; &nbsp;\'"></span>\n            </div>\n            <div data-bind="text: (typeof $data.amount_to_pay != \'undefined\') ? accounting.formatMoney($data.amount_to_pay) : \'\'">\n            </div>\n          </div>\n        </div>\n      \x3c!-- /ko --\x3e\n    \x3c!-- /ko --\x3e\n  \x3c!-- /ko --\x3e\n  \x3c!-- ko if: $data.installmentMessage && $data.installmentMessageYn --\x3e\n    <tr class="payment-due">\n      <td colspan="3">\n        <p style="font-style:italic;" data-bind="text: $data.installmentMessage"></p>\n      </td>\n    </tr>\n  \x3c!-- /ko --\x3e\n</div>\n'},"./src/components/quote-header/quote-header.html":t=>{t.exports='<div id="public_header">\n  <div class="public_header_right">\n\n      \x3c!--<button><i class="icon-download"></i>Download PDF</button>--\x3e\n      <button id="btnPrint" href="#" class="js-button public_action_btn button-print" data-bind="click: function(){$component.print()}">Print</button>\n      \x3c!-- ko if: quote().status != \'voided\' && invoice() && invoice().allow_online_payment_yn && dataModel.account().merchant_account_yn && !invoice().paid_in_full_date && ((quote().contract_yn() && contract().client_signed()) || !quote().contract_yn())--\x3e\n          <button class="btn_success js-button public_action_btn" data-bind="click: $root.payInvoice, text: $root.brand_customization().invoice ? $root.brand_customization().invoice.pay : \'Pay Invoice\'"></button>\n      \x3c!-- /ko --\x3e\n      \x3c!-- ko if: (\n          quote().status != \'voided\' && invoice() && invoice().allow_online_payment_yn && dataModel.account().merchant_account_gateway &&\n          $root.account().save_cards_yn &&\n          $root.payment_methods().filter(function(x) { return !!x.external_id; }).length > 0\n      ) --\x3e\n      <button\n          id="btn-cancel-auto-payments"\n          class="btn_success public_action_btn js-button"\n          data-bind="click: $root.paymentSettings"\n      >Payment Settings</button>\n      \x3c!-- /ko --\x3e\n  </div>\n  \x3c!-- ko if: !quote().contract_yn() && !quote().invoice_yn() --\x3e\n      <h1 data-bind="text: quote().display_name || ($root.brand_customization().quote ? $root.brand_customization().quote.title : \'Quote\')"></h1>\n  \x3c!-- /ko --\x3e\n  \x3c!-- ko if: quote().contract_yn() || quote().invoice_yn() --\x3e\n      <div class="btn-group">\n        <button type="button" id="btn_quote" data-bind="\n          css: {\n              \'complete\' : quote().accepted_at(),\n              selected: $root.active_quote_view() == \'quote\'\n          },\n          click: function() { quoteShow(\'quote\'); }\n        " class="quote_selector_btn">\n          <i class="icon-check"></i>\n          <abbr data-bind="text: quote().display_name || ($root.brand_customization().quote ? $root.brand_customization().quote.title : \'Quote\')"></abbr>\n        </button>\n          \x3c!-- ko if: quote().contract_yn() --\x3e\n              <button type="button" id="btn_contract" class="quote_selector_btn" data-bind="\n                  css: {\'complete\' : contract().signed_at(), selected: $root.active_quote_view() == \'contract\'},\n                  click: function() { quoteShow(\'contract\'); }\n              ">\n                <i class="icon-check"></i>\n                <abbr data-bind="text: contract().display_name() || ($root.brand_customization().contract ? $root.brand_customization().contract.title : \'Contract\')"></abbr>\n              </button>\n          \x3c!-- /ko --\x3e\n          \x3c!-- ko if: quote().invoice_yn() --\x3e\n              <button type="button" id="btn_invoice" class="quote_selector_btn" data-bind="\n                  attr: {\'disabled\' : !quote().accepted_at() || (quote().contract_yn() && !contract().client_signed())},\n                  css: {\'complete\' : invoice() && invoice().paid_in_full_date, \'disabled\' : !quote().accepted_at() || (quote().contract_yn() && !contract().client_signed()), selected: $root.active_quote_view() == \'invoice\'},\n                  click: function() { quoteShow(\'invoice\') }\n              ">\n                <i class="icon-check"></i>\n                <abbr data-bind="text: quote().invoice_settings.display_name() || ($root.brand_customization().invoice ? $root.brand_customization().invoice.title : \'Invoice\')"></abbr>\n              </button>\n          \x3c!-- /ko --\x3e\n      </div>\n  \x3c!-- /ko --\x3e\n</div>\n'},"./src/components/tabs/tabs.html":t=>{t.exports='<div class="tabs">\n  \x3c!-- ko template: { nodes: $componentTemplateNodes } --\x3e\x3c!-- /ko --\x3e\n</div>'},"./src/components/toggle/toggle.html":t=>{t.exports='<div class="toggle" data-bind="class: \'toggle--\'+size, click:handleClick">\n  <label>\n    <input type="checkbox" data-bind="checked: checked, disable: disabled" />\n    <div class="slide"></div>\n  </label>\n</div>\n'},"./src/views/dialogs/account/confirm_delete.html":t=>{t.exports='<fieldset class="form_dialog">\n    <p class="delete_message">Are you sure you want to delete this account?</p>\n</fieldset>\n'}}]);