{"version":3,"sources":["webpack:///src/components/Invoices/Editor/InvoiceEditorLineRow.vue","webpack:///./src/components/Invoices/Editor/InvoiceEditorLineRow.vue","webpack:///./src/components/Invoices/Editor/InvoiceEditorLineRow.vue?e53d","webpack:///./src/components/Invoices/Editor/InvoiceEditorLineRow.vue?ec23","webpack:///./src/components/Invoices/Editor/InvoiceEditorLineRow.vue?11b3","webpack:///./src/components/Invoices/Editor/InvoiceEditorLineRow.vue?1797","webpack:///./src/components/Invoices/Editor/InvoiceEditorLineRow.vue?17b5","webpack:///./src/components/Invoices/Editor/InvoiceEditorLineRow.vue?3056"],"names":["props","line","type","Object","required","currencyIso","String","default","taxRateOptions","Array","computed","_objectSpread","mapGetters","lineTotal","src","_editing","_draft","Number","Amount","PricePerItem","render","_vm","_c","_self","staticClass","class","attrs","icon","IsTextRow","value","fieldType","inputCssClass","showLabel","labelForInput","on","input","$event","Text","placeholder","$t","domProps","TaxPercentage","target","_m","_l","rate","key","click","_v","_s","_f","locationLanguageCulture","title","$emit","staticRenderFns","_withStripped"],"mappings":";;;;;;;;;;;;;;;;;AA0JA;AAEe;EACfA,KAAA;IACAC,IAAA;MACAC,IAAA,EAAAC,MAAA;MACAC,QAAA;IACA;IACAC,WAAA;MACAH,IAAA,EAAAI,MAAA;MACAC,OAAA;IACA;IACAC,cAAA;MACAN,IAAA,EAAAO,KAAA;MACAF,OAAA,WAAAA,SAAA;QACA;MACA;IACA;EACA;EAEAG,QAAA,EAAAC,iIAAA,CAAAA,iIAAA,KACAC,+DAAA;IAEA;IACAC,SAAA,WAAAA,UAAA;MACA,IAAAC,GAAA,QAAAb,IAAA,CAAAc,QAAA,SAAAd,IAAA,CAAAe,MAAA,QAAAf,IAAA,CAAAe,MAAA,QAAAf,IAAA;MACA,QAAAgB,MAAA,CAAAH,GAAA,CAAAI,MAAA,WAAAD,MAAA,CAAAH,GAAA,CAAAK,YAAA;IACA;EAAA;AAEA,CAAC,E;;;;;;;;;;;;;ACvLD;AAAA;AAAA,IAAIC,MAAM,GAAG,SAASA,MAAMA,CAAA,EAAG;EAC7B,IAAIC,GAAG,GAAG,IAAI;IACZC,EAAE,GAAGD,GAAG,CAACE,KAAK,CAACD,EAAE;EACnB,OAAOA,EAAE,CACP,KAAK,EACL;IACEE,WAAW,EAAE,wCAAwC;IACrDC,KAAK,EAAE;MAAE,YAAY,EAAEJ,GAAG,CAACpB,IAAI,CAACc;IAAS;EAC3C,CAAC,EACD,CACEO,EAAE,CAAC,KAAK,EAAE;IAAEE,WAAW,EAAE;EAA+B,CAAC,EAAE,CACzDF,EAAE,CACA,MAAM,EACN;IAAEE,WAAW,EAAE;EAAkC,CAAC,EAClD,CACEF,EAAE,CAAC,mBAAmB,EAAE;IACtBI,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAC,KAAK,EAAE,eAAe;IAAE;EAC1C,CAAC,CAAC,CACH,EACD,CACF,CAAC,CACF,CAAC,EACFN,GAAG,CAACpB,IAAI,CAACc,QAAQ,GACb,CACE,CAACM,GAAG,CAACpB,IAAI,CAAC2B,SAAS,GACf,CACEN,EAAE,CACA,KAAK,EACL;IAAEE,WAAW,EAAE;EAAc,CAAC,EAC9B,CACEF,EAAE,CAAC,qBAAqB,EAAE;IACxBI,KAAK,EAAE;MACLG,KAAK,EAAER,GAAG,CAACpB,IAAI,CAACe,MAAM,CAACE,MAAM;MAC7BY,SAAS,EAAE,QAAQ;MACnBC,aAAa,EAAE,UAAU;MACzBC,SAAS,EAAE,KAAK;MAChBC,aAAa,EAAE;IACjB,CAAC;IACDC,EAAE,EAAE;MACFC,KAAK,EAAE,SAAPA,KAAKA,CAAYC,MAAM,EAAE;QACvBf,GAAG,CAACpB,IAAI,CAACe,MAAM,CAACE,MAAM,GAAGkB,MAAM;MACjC;IACF;EACF,CAAC,CAAC,CACH,EACD,CACF,CAAC,EACDd,EAAE,CACA,KAAK,EACL;IAAEE,WAAW,EAAE;EAAS,CAAC,EACzB,CACEF,EAAE,CAAC,qBAAqB,EAAE;IACxBI,KAAK,EAAE;MACLG,KAAK,EAAER,GAAG,CAACpB,IAAI,CAACe,MAAM,CAACqB,IAAI;MAC3BN,aAAa,EAAE,UAAU;MACzBC,SAAS,EAAE,KAAK;MAChBC,aAAa,EAAE,KAAK;MACpBK,WAAW,EAAEjB,GAAG,CAACkB,EAAE,CACjB,2DACF;IACF,CAAC;IACDL,EAAE,EAAE;MACFC,KAAK,EAAE,SAAPA,KAAKA,CAAYC,MAAM,EAAE;QACvBf,GAAG,CAACpB,IAAI,CAACe,MAAM,CAACqB,IAAI,GAAGD,MAAM;MAC/B;IACF;EACF,CAAC,CAAC,CACH,EACD,CACF,CAAC,EACDd,EAAE,CACA,KAAK,EACL;IAAEE,WAAW,EAAE;EAAc,CAAC,EAC9B,CACEF,EAAE,CAAC,qBAAqB,EAAE;IACxBI,KAAK,EAAE;MACLG,KAAK,EAAER,GAAG,CAACpB,IAAI,CAACe,MAAM,CAACG,YAAY;MACnCW,SAAS,EAAE,QAAQ;MACnBC,aAAa,EAAE,yBAAyB;MACxCC,SAAS,EAAE,KAAK;MAChBC,aAAa,EAAE;IACjB,CAAC;IACDC,EAAE,EAAE;MACFC,KAAK,EAAE,SAAPA,KAAKA,CAAYC,MAAM,EAAE;QACvBf,GAAG,CAACpB,IAAI,CAACe,MAAM,CAACG,YAAY,GAAGiB,MAAM;MACvC;IACF;EACF,CAAC,CAAC,CACH,EACD,CACF,CAAC,EACDd,EAAE,CAAC,KAAK,EAAE;IAAEE,WAAW,EAAE;EAAc,CAAC,EAAE,CACxCF,EAAE,CACA,KAAK,EACL;IACEE,WAAW,EACT;EACJ,CAAC,EACD,CACEF,EAAE,CAAC,KAAK,EAAE;IAAEE,WAAW,EAAE;EAAU,CAAC,EAAE,CACpCF,EAAE,CAAC,OAAO,EAAE;IACVE,WAAW,EACT,yCAAyC;IAC3CE,KAAK,EAAE;MAAExB,IAAI,EAAE;IAAS,CAAC;IACzBsC,QAAQ,EAAE;MAAEX,KAAK,EAAER,GAAG,CAACpB,IAAI,CAACe,MAAM,CAACyB;IAAc,CAAC;IAClDP,EAAE,EAAE;MACFC,KAAK,EAAE,SAAPA,KAAKA,CAAYC,MAAM,EAAE;QACvBf,GAAG,CAACpB,IAAI,CAACe,MAAM,CAACyB,aAAa,GAC3BL,MAAM,CAACM,MAAM,CAACb,KAAK;MACvB;IACF;EACF,CAAC,CAAC,CACH,CAAC,EACFR,GAAG,CAACsB,EAAE,CAAC,CAAC,CAAC,CAEb,CAAC,EACDrB,EAAE,CACA,KAAK,EACL;IAAEE,WAAW,EAAE;EAA4B,CAAC,EAC5CH,GAAG,CAACuB,EAAE,CAACvB,GAAG,CAACb,cAAc,EAAE,UAAUqC,IAAI,EAAE;IACzC,OAAOvB,EAAE,CACP,GAAG,EACH;MACEwB,GAAG,EAAED,IAAI;MACTrB,WAAW,EAAE,WAAW;MACxBU,EAAE,EAAE;QACFa,KAAK,EAAE,SAAPA,KAAKA,CAAYX,MAAM,EAAE;UACvBf,GAAG,CAACpB,IAAI,CAACe,MAAM,CAACyB,aAAa,GAAGI,IAAI;QACtC;MACF;IACF,CAAC,EACD,CAACxB,GAAG,CAAC2B,EAAE,CAAC3B,GAAG,CAAC4B,EAAE,CAACJ,IAAI,CAAC,GAAG,GAAG,CAAC,CAC7B,CAAC;EACH,CAAC,CAAC,EACF,CACF,CAAC,CACF,CAAC,EACFvB,EAAE,CAAC,KAAK,EAAE;IAAEE,WAAW,EAAE;EAA6B,CAAC,EAAE,CACvDH,GAAG,CAAC2B,EAAE,CACJ,GAAG,GACD3B,GAAG,CAAC4B,EAAE,CACJ5B,GAAG,CAAC6B,EAAE,CAAC,YAAY,CAAC,CAClB7B,GAAG,CAACR,SAAS,EACbQ,GAAG,CAAC8B,uBAAuB,EAC3B9B,GAAG,CAAChB,WACN,CACF,CAAC,GACD,GACJ,CAAC,CACF,CAAC,CACH,GACD,CACEiB,EAAE,CACA,KAAK,EACL;IAAEE,WAAW,EAAE;EAAS,CAAC,EACzB,CACEF,EAAE,CAAC,qBAAqB,EAAE;IACxBI,KAAK,EAAE;MACLG,KAAK,EAAER,GAAG,CAACpB,IAAI,CAACe,MAAM,CAACqB,IAAI;MAC3BN,aAAa,EAAE,UAAU;MACzBC,SAAS,EAAE,KAAK;MAChBC,aAAa,EAAE,KAAK;MACpBK,WAAW,EAAEjB,GAAG,CAACkB,EAAE,CACjB,wDACF;IACF,CAAC;IACDL,EAAE,EAAE;MACFC,KAAK,EAAE,SAAPA,KAAKA,CAAYC,MAAM,EAAE;QACvBf,GAAG,CAACpB,IAAI,CAACe,MAAM,CAACqB,IAAI,GAAGD,MAAM;MAC/B;IACF;EACF,CAAC,CAAC,CACH,EACD,CACF,CAAC,CACF,EACLd,EAAE,CAAC,KAAK,EAAE;IAAEE,WAAW,EAAE;EAA+B,CAAC,EAAE,CACzDF,EAAE,CACA,GAAG,EACH;IACEE,WAAW,EAAE,qCAAqC;IAClDE,KAAK,EAAE;MAAE0B,KAAK,EAAE/B,GAAG,CAACkB,EAAE,CAAC,mBAAmB;IAAE,CAAC;IAC7CL,EAAE,EAAE;MACFa,KAAK,EAAE,SAAPA,KAAKA,CAAYX,MAAM,EAAE;QACvB,OAAOf,GAAG,CAACgC,KAAK,CAAC,MAAM,CAAC;MAC1B;IACF;EACF,CAAC,EACD,CACE/B,EAAE,CACA,MAAM,EACN;IAAEE,WAAW,EAAE;EAAgB,CAAC,EAChC,CACEF,EAAE,CAAC,mBAAmB,EAAE;IACtBI,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO;IAAE;EAClC,CAAC,CAAC,CACH,EACD,CACF,CAAC,CAEL,CAAC,EACDL,EAAE,CACA,GAAG,EACH;IACEE,WAAW,EAAE,0BAA0B;IACvCE,KAAK,EAAE;MAAE0B,KAAK,EAAE/B,GAAG,CAACkB,EAAE,CAAC,qBAAqB;IAAE,CAAC;IAC/CL,EAAE,EAAE;MACFa,KAAK,EAAE,SAAPA,KAAKA,CAAYX,MAAM,EAAE;QACvB,OAAOf,GAAG,CAACgC,KAAK,CAAC,QAAQ,CAAC;MAC5B;IACF;EACF,CAAC,EACD,CACE/B,EAAE,CACA,MAAM,EACN;IAAEE,WAAW,EAAE;EAAgB,CAAC,EAChC,CACEF,EAAE,CAAC,mBAAmB,EAAE;IACtBI,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO;IAAE;EAClC,CAAC,CAAC,CACH,EACD,CACF,CAAC,CAEL,CAAC,CACF,CAAC,CACH,GACD,CACE,CAACN,GAAG,CAACpB,IAAI,CAAC2B,SAAS,GACf,CACEN,EAAE,CAAC,KAAK,EAAE;IAAEE,WAAW,EAAE;EAAc,CAAC,EAAE,CACxCH,GAAG,CAAC2B,EAAE,CAAC3B,GAAG,CAAC4B,EAAE,CAAC5B,GAAG,CAACpB,IAAI,CAACiB,MAAM,CAAC,CAAC,CAChC,CAAC,EACFI,EAAE,CAAC,KAAK,EAAE;IAAEE,WAAW,EAAE;EAAS,CAAC,EAAE,CACnCH,GAAG,CAAC2B,EAAE,CAAC3B,GAAG,CAAC4B,EAAE,CAAC5B,GAAG,CAACpB,IAAI,CAACoC,IAAI,CAAC,CAAC,CAC9B,CAAC,EACFf,EAAE,CAAC,KAAK,EAAE;IAAEE,WAAW,EAAE;EAA6B,CAAC,EAAE,CACvDH,GAAG,CAAC2B,EAAE,CACJ,GAAG,GACD3B,GAAG,CAAC4B,EAAE,CACJ5B,GAAG,CAAC6B,EAAE,CAAC,YAAY,CAAC,CAClB7B,GAAG,CAACpB,IAAI,CAACkB,YAAY,EACrBE,GAAG,CAAC8B,uBAAuB,EAC3B9B,GAAG,CAAChB,WACN,CACF,CAAC,GACD,GACJ,CAAC,CACF,CAAC,EACFiB,EAAE,CAAC,KAAK,EAAE;IAAEE,WAAW,EAAE;EAA6B,CAAC,EAAE,CACvDH,GAAG,CAAC2B,EAAE,CAAC3B,GAAG,CAAC4B,EAAE,CAAC5B,GAAG,CAACpB,IAAI,CAACwC,aAAa,CAAC,GAAG,GAAG,CAAC,CAC7C,CAAC,EACFnB,EAAE,CAAC,KAAK,EAAE;IAAEE,WAAW,EAAE;EAA6B,CAAC,EAAE,CACvDH,GAAG,CAAC2B,EAAE,CACJ,GAAG,GACD3B,GAAG,CAAC4B,EAAE,CACJ5B,GAAG,CAAC6B,EAAE,CAAC,YAAY,CAAC,CAClB7B,GAAG,CAACR,SAAS,EACbQ,GAAG,CAAC8B,uBAAuB,EAC3B9B,GAAG,CAAChB,WACN,CACF,CAAC,GACD,GACJ,CAAC,CACF,CAAC,CACH,GACD,CACEiB,EAAE,CAAC,KAAK,EAAE;IAAEE,WAAW,EAAE;EAAS,CAAC,EAAE,CACnCH,GAAG,CAACpB,IAAI,CAACoC,IAAI,GACTf,EAAE,CAAC,MAAM,EAAE,CAACD,GAAG,CAAC2B,EAAE,CAAC3B,GAAG,CAAC4B,EAAE,CAAC5B,GAAG,CAACpB,IAAI,CAACoC,IAAI,CAAC,CAAC,CAAC,CAAC,GAC3Cf,EAAE,CACA,MAAM,EACN;IAAEE,WAAW,EAAE;EAAgC,CAAC,EAChD,CACEH,GAAG,CAAC2B,EAAE,CACJ3B,GAAG,CAAC4B,EAAE,CACJ5B,GAAG,CAACkB,EAAE,CACJ,wDACF,CACF,CACF,CAAC,CAEL,CAAC,CACN,CAAC,CACH,EACLjB,EAAE,CAAC,KAAK,EAAE;IAAEE,WAAW,EAAE;EAA+B,CAAC,EAAE,CACzDF,EAAE,CAAC,KAAK,EAAE;IAAEE,WAAW,EAAE;EAAoC,CAAC,EAAE,CAC9DF,EAAE,CAAC,GAAG,EAAE;IAAEE,WAAW,EAAE;EAAU,CAAC,EAAE,CAClCF,EAAE,CACA,GAAG,EACH;IACEI,KAAK,EAAE;MAAE0B,KAAK,EAAE/B,GAAG,CAACkB,EAAE,CAAC,mBAAmB;IAAE,CAAC;IAC7CL,EAAE,EAAE;MACFa,KAAK,EAAE,SAAPA,KAAKA,CAAYX,MAAM,EAAE;QACvB,OAAOf,GAAG,CAACgC,KAAK,CAAC,MAAM,CAAC;MAC1B;IACF;EACF,CAAC,EACD,CACE/B,EAAE,CACA,MAAM,EACN;IAAEE,WAAW,EAAE;EAAgB,CAAC,EAChC,CACEF,EAAE,CAAC,mBAAmB,EAAE;IACtBI,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM;IAAE;EACjC,CAAC,CAAC,CACH,EACD,CACF,CAAC,CAEL,CAAC,CACF,CAAC,EACFL,EAAE,CAAC,GAAG,EAAE;IAAEE,WAAW,EAAE;EAAU,CAAC,EAAE,CAClCF,EAAE,CACA,GAAG,EACH;IACEI,KAAK,EAAE;MAAE0B,KAAK,EAAE/B,GAAG,CAACkB,EAAE,CAAC,qBAAqB;IAAE,CAAC;IAC/CL,EAAE,EAAE;MACFa,KAAK,EAAE,SAAPA,KAAKA,CAAYX,MAAM,EAAE;QACvB,OAAOf,GAAG,CAACgC,KAAK,CAAC,SAAS,CAAC;MAC7B;IACF;EACF,CAAC,EACD,CACE/B,EAAE,CACA,MAAM,EACN;IAAEE,WAAW,EAAE;EAAgC,CAAC,EAChD,CACEF,EAAE,CAAC,mBAAmB,EAAE;IACtBI,KAAK,EAAE;MAAEC,IAAI,EAAE,CAAC,KAAK,EAAE,WAAW;IAAE;EACtC,CAAC,CAAC,CACH,EACD,CACF,CAAC,CAEL,CAAC,CACF,CAAC,CACH,CAAC,CACH,CAAC,CACH,CACN,EACD,CACF,CAAC;AACH,CAAC;AACD,IAAI2B,eAAe,GAAG,CACpB,YAAY;EACV,IAAIjC,GAAG,GAAG,IAAI;IACZC,EAAE,GAAGD,GAAG,CAACE,KAAK,CAACD,EAAE;EACnB,OAAOA,EAAE,CAAC,KAAK,EAAE;IAAEE,WAAW,EAAE;EAAU,CAAC,EAAE,CAC3CF,EAAE,CAAC,MAAM,EAAE;IAAEE,WAAW,EAAE;EAA4B,CAAC,EAAE,CAACH,GAAG,CAAC2B,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CACxE,CAAC;AACJ,CAAC,CACF;AACD5B,MAAM,CAACmC,aAAa,GAAG,IAAI;;;;;;;;;;;;;ACjW3B;AACA,kCAAkC,mBAAO,CAAC,8GAAyD;AACnG;AACA;AACA,cAAc,QAAS,gIAAgI,6CAA6C,oBAAoB,GAAG,wCAAwC,gCAAgC,GAAG,iCAAiC,gBAAgB,GAAG,4BAA4B,iBAAiB,GAAG,iCAAiC,kBAAkB,wBAAwB,GAAG,+BAA+B,gBAAgB,GAAG,gCAAgC,wBAAwB,GAAG,+BAA+B,sBAAsB,wBAAwB,mBAAmB,GAAG,qCAAqC,+BAA+B,GAAG;AAC/uB;AACA;;;;;;;;;;;;ACNA;;AAEA;AACA,cAAc,mBAAO,CAAC,m1BAAue;AAC7f;AACA,4CAA4C,QAAS;AACrD;AACA;AACA,UAAU,mBAAO,CAAC,gIAAmE;AACrF,8CAA8C,qCAAqC;AACnF;AACA,GAAG,KAAU,EAAE,E;;;;;;;;;;;;;ACXf;AAAA;AAAA;AAAA;AAAA;AAA8G;AACvC;AACL;AACsC;;;AAGxG;AACgG;AAChG,gBAAgB,mHAAU;AAC1B,EAAE,iGAAM;AACR,EAAE,kHAAM;AACR,EAAE,2HAAe;AACjB;AACA;AACA;AACA;;AAEA;;AAEA;AACA,IAAI,KAAU,EAAE,YAiBf;AACD;AACe,gF;;;;;;;;;;;;;ACvCf;AAAwT,CAAgB,sVAAG,EAAC,C;;;;;;;;;;;;ACA5U;AAAA;AAAA;;;;;;;;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA","file":"js/242.js?id=cc6050e4f9fca38ce344","sourcesContent":["<template>\n  <div class=\"columns is-mobile is-vcentered lineRow\" :class=\"{ 'is-editing': line._editing }\">\n    <div class=\"column is-narrow handle-cell\">\n      <span class=\"icon handle has-text-grey-light\">\n        <font-awesome-icon :icon=\"['fas', 'align-justify']\" />\n      </span>\n    </div>\n\n    <!-- ============================ EDIT MODE ============================ -->\n    <template v-if=\"line._editing\">\n      <template v-if=\"!line.IsTextRow\">\n        <div class=\"column is-2\">\n          <ui-base-input-field\n            :value=\"line._draft.Amount\"\n            fieldType=\"number\"\n            inputCssClass=\"is-small\"\n            :showLabel=\"false\"\n            :labelForInput=\"false\"\n            @input=\"line._draft.Amount = $event\"\n          />\n        </div>\n        <div class=\"column\">\n          <ui-base-input-field\n            :value=\"line._draft.Text\"\n            inputCssClass=\"is-small\"\n            :showLabel=\"false\"\n            :labelForInput=\"false\"\n            :placeholder=\"$t('Components.Invoices.InvoiceEditor.Placeholder_Description')\"\n            @input=\"line._draft.Text = $event\"\n          />\n        </div>\n        <div class=\"column is-2\">\n          <ui-base-input-field\n            :value=\"line._draft.PricePerItem\"\n            fieldType=\"number\"\n            inputCssClass=\"is-small has-text-right\"\n            :showLabel=\"false\"\n            :labelForInput=\"false\"\n            @input=\"line._draft.PricePerItem = $event\"\n          />\n        </div>\n        <div class=\"column is-2\">\n          <div class=\"field has-addons is-justify-content-flex-end mb-0\">\n            <div class=\"control\">\n              <input\n                class=\"input is-small has-text-right tax-input\"\n                type=\"number\"\n                :value=\"line._draft.TaxPercentage\"\n                @input=\"line._draft.TaxPercentage = $event.target.value\"\n              />\n            </div>\n            <div class=\"control\">\n              <span class=\"button is-small is-static\">%</span>\n            </div>\n          </div>\n          <div class=\"quickpicks has-text-right\">\n            <a\n              v-for=\"rate in taxRateOptions\"\n              :key=\"rate\"\n              class=\"quickpick\"\n              @click=\"line._draft.TaxPercentage = rate\"\n              >{{ rate }}%</a\n            >\n          </div>\n        </div>\n        <div class=\"column is-2 has-text-right\">\n          {{ lineTotal | toCurrency(locationLanguageCulture, currencyIso) }}\n        </div>\n      </template>\n\n      <template v-else>\n        <div class=\"column\">\n          <ui-base-input-field\n            :value=\"line._draft.Text\"\n            inputCssClass=\"is-small\"\n            :showLabel=\"false\"\n            :labelForInput=\"false\"\n            :placeholder=\"$t('Components.Invoices.InvoiceEditor.Placeholder_TextLine')\"\n            @input=\"line._draft.Text = $event\"\n          />\n        </div>\n      </template>\n\n      <div class=\"column is-narrow action-cell\">\n        <a\n          class=\"button is-small is-primary is-light\"\n          :title=\"$t('Form.Control.Save')\"\n          @click=\"$emit('save')\"\n        >\n          <span class=\"icon is-small\">\n            <font-awesome-icon :icon=\"['fas', 'check']\" />\n          </span>\n        </a>\n        <a\n          class=\"button is-small is-light\"\n          :title=\"$t('Form.Control.Cancel')\"\n          @click=\"$emit('cancel')\"\n        >\n          <span class=\"icon is-small\">\n            <font-awesome-icon :icon=\"['fas', 'times']\" />\n          </span>\n        </a>\n      </div>\n    </template>\n\n    <!-- ============================ VIEW MODE ============================ -->\n    <template v-else>\n      <template v-if=\"!line.IsTextRow\">\n        <div class=\"column is-2\">{{ line.Amount }}</div>\n        <div class=\"column\">{{ line.Text }}</div>\n        <div class=\"column is-2 has-text-right\">\n          {{ line.PricePerItem | toCurrency(locationLanguageCulture, currencyIso) }}\n        </div>\n        <div class=\"column is-2 has-text-right\">{{ line.TaxPercentage }}%</div>\n        <div class=\"column is-2 has-text-right\">\n          {{ lineTotal | toCurrency(locationLanguageCulture, currencyIso) }}\n        </div>\n      </template>\n\n      <template v-else>\n        <div class=\"column\">\n          <span v-if=\"line.Text\">{{ line.Text }}</span>\n          <span v-else class=\"has-text-grey-light is-italic\">{{\n            $t('Components.Invoices.InvoiceEditor.Placeholder_TextLine')\n          }}</span>\n        </div>\n      </template>\n\n      <div class=\"column is-narrow action-cell\">\n        <div class=\"field is-grouped is-grouped-right\">\n          <p class=\"control\">\n            <a\n              :title=\"$t('Form.Control.Edit')\"\n              @click=\"$emit('edit')\"\n            >\n              <span class=\"icon is-small\">\n                <font-awesome-icon :icon=\"['fas', 'edit']\" />\n              </span>\n            </a>\n          </p>\n          <p class=\"control\">\n            <a :title=\"$t('Form.Control.Delete')\" @click=\"$emit('discard')\">\n              <span class=\"icon is-small has-text-danger\">\n                <font-awesome-icon :icon=\"['fas', 'trash-alt']\" />\n              </span>\n            </a>\n          </p>\n        </div>\n      </div>\n    </template>\n  </div>\n</template>\n\n<script>\nimport { mapGetters } from 'vuex'\n\nexport default {\n  props: {\n    line: {\n      type: Object,\n      required: true,\n    },\n    currencyIso: {\n      type: String,\n      default: 'EUR',\n    },\n    taxRateOptions: {\n      type: Array,\n      default: function () {\n        return [0, 9, 21]\n      },\n    },\n  },\n\n  computed: {\n    ...mapGetters('locationStore', ['locationLanguageCulture']),\n\n    // While editing show the draft total; otherwise the committed line total.\n    lineTotal() {\n      const src = this.line._editing && this.line._draft ? this.line._draft : this.line\n      return (Number(src.Amount) || 0) * (Number(src.PricePerItem) || 0)\n    },\n  },\n}\n</script>\n\n<style lang=\"scss\" scoped>\n.lineRow {\n  border-bottom: 1px solid $white-ter;\n  cursor: default;\n}\n.lineRow.is-editing {\n  background: $white-bis;\n}\n.handle-cell {\n  width: 2rem;\n}\n.handle {\n  cursor: move;\n}\n.action-cell {\n  width: 4.5rem;\n  white-space: nowrap;\n}\n.tax-input {\n  width: 4rem;\n}\n.quickpicks {\n  margin-top: 0.15rem;\n}\n.quickpick {\n  font-size: 0.7rem;\n  margin-left: 0.4rem;\n  color: $grey;\n  &:hover {\n    text-decoration: underline;\n  }\n}\n</style>\n","var render = function render() {\n  var _vm = this,\n    _c = _vm._self._c\n  return _c(\n    \"div\",\n    {\n      staticClass: \"columns is-mobile is-vcentered lineRow\",\n      class: { \"is-editing\": _vm.line._editing },\n    },\n    [\n      _c(\"div\", { staticClass: \"column is-narrow handle-cell\" }, [\n        _c(\n          \"span\",\n          { staticClass: \"icon handle has-text-grey-light\" },\n          [\n            _c(\"font-awesome-icon\", {\n              attrs: { icon: [\"fas\", \"align-justify\"] },\n            }),\n          ],\n          1\n        ),\n      ]),\n      _vm.line._editing\n        ? [\n            !_vm.line.IsTextRow\n              ? [\n                  _c(\n                    \"div\",\n                    { staticClass: \"column is-2\" },\n                    [\n                      _c(\"ui-base-input-field\", {\n                        attrs: {\n                          value: _vm.line._draft.Amount,\n                          fieldType: \"number\",\n                          inputCssClass: \"is-small\",\n                          showLabel: false,\n                          labelForInput: false,\n                        },\n                        on: {\n                          input: function ($event) {\n                            _vm.line._draft.Amount = $event\n                          },\n                        },\n                      }),\n                    ],\n                    1\n                  ),\n                  _c(\n                    \"div\",\n                    { staticClass: \"column\" },\n                    [\n                      _c(\"ui-base-input-field\", {\n                        attrs: {\n                          value: _vm.line._draft.Text,\n                          inputCssClass: \"is-small\",\n                          showLabel: false,\n                          labelForInput: false,\n                          placeholder: _vm.$t(\n                            \"Components.Invoices.InvoiceEditor.Placeholder_Description\"\n                          ),\n                        },\n                        on: {\n                          input: function ($event) {\n                            _vm.line._draft.Text = $event\n                          },\n                        },\n                      }),\n                    ],\n                    1\n                  ),\n                  _c(\n                    \"div\",\n                    { staticClass: \"column is-2\" },\n                    [\n                      _c(\"ui-base-input-field\", {\n                        attrs: {\n                          value: _vm.line._draft.PricePerItem,\n                          fieldType: \"number\",\n                          inputCssClass: \"is-small has-text-right\",\n                          showLabel: false,\n                          labelForInput: false,\n                        },\n                        on: {\n                          input: function ($event) {\n                            _vm.line._draft.PricePerItem = $event\n                          },\n                        },\n                      }),\n                    ],\n                    1\n                  ),\n                  _c(\"div\", { staticClass: \"column is-2\" }, [\n                    _c(\n                      \"div\",\n                      {\n                        staticClass:\n                          \"field has-addons is-justify-content-flex-end mb-0\",\n                      },\n                      [\n                        _c(\"div\", { staticClass: \"control\" }, [\n                          _c(\"input\", {\n                            staticClass:\n                              \"input is-small has-text-right tax-input\",\n                            attrs: { type: \"number\" },\n                            domProps: { value: _vm.line._draft.TaxPercentage },\n                            on: {\n                              input: function ($event) {\n                                _vm.line._draft.TaxPercentage =\n                                  $event.target.value\n                              },\n                            },\n                          }),\n                        ]),\n                        _vm._m(0),\n                      ]\n                    ),\n                    _c(\n                      \"div\",\n                      { staticClass: \"quickpicks has-text-right\" },\n                      _vm._l(_vm.taxRateOptions, function (rate) {\n                        return _c(\n                          \"a\",\n                          {\n                            key: rate,\n                            staticClass: \"quickpick\",\n                            on: {\n                              click: function ($event) {\n                                _vm.line._draft.TaxPercentage = rate\n                              },\n                            },\n                          },\n                          [_vm._v(_vm._s(rate) + \"%\")]\n                        )\n                      }),\n                      0\n                    ),\n                  ]),\n                  _c(\"div\", { staticClass: \"column is-2 has-text-right\" }, [\n                    _vm._v(\n                      \" \" +\n                        _vm._s(\n                          _vm._f(\"toCurrency\")(\n                            _vm.lineTotal,\n                            _vm.locationLanguageCulture,\n                            _vm.currencyIso\n                          )\n                        ) +\n                        \" \"\n                    ),\n                  ]),\n                ]\n              : [\n                  _c(\n                    \"div\",\n                    { staticClass: \"column\" },\n                    [\n                      _c(\"ui-base-input-field\", {\n                        attrs: {\n                          value: _vm.line._draft.Text,\n                          inputCssClass: \"is-small\",\n                          showLabel: false,\n                          labelForInput: false,\n                          placeholder: _vm.$t(\n                            \"Components.Invoices.InvoiceEditor.Placeholder_TextLine\"\n                          ),\n                        },\n                        on: {\n                          input: function ($event) {\n                            _vm.line._draft.Text = $event\n                          },\n                        },\n                      }),\n                    ],\n                    1\n                  ),\n                ],\n            _c(\"div\", { staticClass: \"column is-narrow action-cell\" }, [\n              _c(\n                \"a\",\n                {\n                  staticClass: \"button is-small is-primary is-light\",\n                  attrs: { title: _vm.$t(\"Form.Control.Save\") },\n                  on: {\n                    click: function ($event) {\n                      return _vm.$emit(\"save\")\n                    },\n                  },\n                },\n                [\n                  _c(\n                    \"span\",\n                    { staticClass: \"icon is-small\" },\n                    [\n                      _c(\"font-awesome-icon\", {\n                        attrs: { icon: [\"fas\", \"check\"] },\n                      }),\n                    ],\n                    1\n                  ),\n                ]\n              ),\n              _c(\n                \"a\",\n                {\n                  staticClass: \"button is-small is-light\",\n                  attrs: { title: _vm.$t(\"Form.Control.Cancel\") },\n                  on: {\n                    click: function ($event) {\n                      return _vm.$emit(\"cancel\")\n                    },\n                  },\n                },\n                [\n                  _c(\n                    \"span\",\n                    { staticClass: \"icon is-small\" },\n                    [\n                      _c(\"font-awesome-icon\", {\n                        attrs: { icon: [\"fas\", \"times\"] },\n                      }),\n                    ],\n                    1\n                  ),\n                ]\n              ),\n            ]),\n          ]\n        : [\n            !_vm.line.IsTextRow\n              ? [\n                  _c(\"div\", { staticClass: \"column is-2\" }, [\n                    _vm._v(_vm._s(_vm.line.Amount)),\n                  ]),\n                  _c(\"div\", { staticClass: \"column\" }, [\n                    _vm._v(_vm._s(_vm.line.Text)),\n                  ]),\n                  _c(\"div\", { staticClass: \"column is-2 has-text-right\" }, [\n                    _vm._v(\n                      \" \" +\n                        _vm._s(\n                          _vm._f(\"toCurrency\")(\n                            _vm.line.PricePerItem,\n                            _vm.locationLanguageCulture,\n                            _vm.currencyIso\n                          )\n                        ) +\n                        \" \"\n                    ),\n                  ]),\n                  _c(\"div\", { staticClass: \"column is-2 has-text-right\" }, [\n                    _vm._v(_vm._s(_vm.line.TaxPercentage) + \"%\"),\n                  ]),\n                  _c(\"div\", { staticClass: \"column is-2 has-text-right\" }, [\n                    _vm._v(\n                      \" \" +\n                        _vm._s(\n                          _vm._f(\"toCurrency\")(\n                            _vm.lineTotal,\n                            _vm.locationLanguageCulture,\n                            _vm.currencyIso\n                          )\n                        ) +\n                        \" \"\n                    ),\n                  ]),\n                ]\n              : [\n                  _c(\"div\", { staticClass: \"column\" }, [\n                    _vm.line.Text\n                      ? _c(\"span\", [_vm._v(_vm._s(_vm.line.Text))])\n                      : _c(\n                          \"span\",\n                          { staticClass: \"has-text-grey-light is-italic\" },\n                          [\n                            _vm._v(\n                              _vm._s(\n                                _vm.$t(\n                                  \"Components.Invoices.InvoiceEditor.Placeholder_TextLine\"\n                                )\n                              )\n                            ),\n                          ]\n                        ),\n                  ]),\n                ],\n            _c(\"div\", { staticClass: \"column is-narrow action-cell\" }, [\n              _c(\"div\", { staticClass: \"field is-grouped is-grouped-right\" }, [\n                _c(\"p\", { staticClass: \"control\" }, [\n                  _c(\n                    \"a\",\n                    {\n                      attrs: { title: _vm.$t(\"Form.Control.Edit\") },\n                      on: {\n                        click: function ($event) {\n                          return _vm.$emit(\"edit\")\n                        },\n                      },\n                    },\n                    [\n                      _c(\n                        \"span\",\n                        { staticClass: \"icon is-small\" },\n                        [\n                          _c(\"font-awesome-icon\", {\n                            attrs: { icon: [\"fas\", \"edit\"] },\n                          }),\n                        ],\n                        1\n                      ),\n                    ]\n                  ),\n                ]),\n                _c(\"p\", { staticClass: \"control\" }, [\n                  _c(\n                    \"a\",\n                    {\n                      attrs: { title: _vm.$t(\"Form.Control.Delete\") },\n                      on: {\n                        click: function ($event) {\n                          return _vm.$emit(\"discard\")\n                        },\n                      },\n                    },\n                    [\n                      _c(\n                        \"span\",\n                        { staticClass: \"icon is-small has-text-danger\" },\n                        [\n                          _c(\"font-awesome-icon\", {\n                            attrs: { icon: [\"fas\", \"trash-alt\"] },\n                          }),\n                        ],\n                        1\n                      ),\n                    ]\n                  ),\n                ]),\n              ]),\n            ]),\n          ],\n    ],\n    2\n  )\n}\nvar staticRenderFns = [\n  function () {\n    var _vm = this,\n      _c = _vm._self._c\n    return _c(\"div\", { staticClass: \"control\" }, [\n      _c(\"span\", { staticClass: \"button is-small is-static\" }, [_vm._v(\"%\")]),\n    ])\n  },\n]\nrender._withStripped = true\n\nexport { render, staticRenderFns }","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \"/**\\n* Colors\\n*/\\n/**\\n* Text sizes\\n*/\\n/**\\n* Column settings\\n*/\\n/**\\n* Font properties\\n*/\\n.lineRow[data-v-f217ab56] {\\n  border-bottom: 1px solid hsl(0, 0%, 96%);\\n  cursor: default;\\n}\\n.lineRow.is-editing[data-v-f217ab56] {\\n  background: hsl(0, 0%, 98%);\\n}\\n.handle-cell[data-v-f217ab56] {\\n  width: 2rem;\\n}\\n.handle[data-v-f217ab56] {\\n  cursor: move;\\n}\\n.action-cell[data-v-f217ab56] {\\n  width: 4.5rem;\\n  white-space: nowrap;\\n}\\n.tax-input[data-v-f217ab56] {\\n  width: 4rem;\\n}\\n.quickpicks[data-v-f217ab56] {\\n  margin-top: 0.15rem;\\n}\\n.quickpick[data-v-f217ab56] {\\n  font-size: 0.7rem;\\n  margin-left: 0.4rem;\\n  color: #B3B3B3;\\n}\\n.quickpick[data-v-f217ab56]:hover {\\n  text-decoration: underline;\\n}\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../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!./InvoiceEditorLineRow.vue?vue&type=style&index=0&id=f217ab56&lang=scss&scoped=true\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"4cd2ed94\", content, false, {\"sourceMap\":false,\"shadowMode\":false});\n// Hot Module Replacement\nif(module.hot) {\n // When the styles change, update the <style> tags\n if(!content.locals) {\n   module.hot.accept(\"!!../../../../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!./InvoiceEditorLineRow.vue?vue&type=style&index=0&id=f217ab56&lang=scss&scoped=true\", function() {\n     var newContent = require(\"!!../../../../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!./InvoiceEditorLineRow.vue?vue&type=style&index=0&id=f217ab56&lang=scss&scoped=true\");\n     if(newContent.__esModule) newContent = newContent.default;\n     if(typeof newContent === 'string') newContent = [[module.id, newContent, '']];\n     update(newContent);\n   });\n }\n // When the module is disposed, remove the <style> tags\n module.hot.dispose(function() { update(); });\n}","import { render, staticRenderFns } from \"./InvoiceEditorLineRow.vue?vue&type=template&id=f217ab56&scoped=true\"\nimport script from \"./InvoiceEditorLineRow.vue?vue&type=script&lang=js\"\nexport * from \"./InvoiceEditorLineRow.vue?vue&type=script&lang=js\"\nimport style0 from \"./InvoiceEditorLineRow.vue?vue&type=style&index=0&id=f217ab56&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  \"f217ab56\",\n  null\n  \n)\n\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/github/workspace/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('f217ab56')) {\n      api.createRecord('f217ab56', component.options)\n    } else {\n      api.reload('f217ab56', component.options)\n    }\n    module.hot.accept(\"./InvoiceEditorLineRow.vue?vue&type=template&id=f217ab56&scoped=true\", function () {\n      api.rerender('f217ab56', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/components/Invoices/Editor/InvoiceEditorLineRow.vue\"\nexport default component.exports","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceEditorLineRow.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceEditorLineRow.vue?vue&type=script&lang=js\"","export * from \"-!../../../../node_modules/vue-style-loader/index.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!./InvoiceEditorLineRow.vue?vue&type=style&index=0&id=f217ab56&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"d2a26fb4-vue-loader-template\\\"}!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceEditorLineRow.vue?vue&type=template&id=f217ab56&scoped=true\""],"sourceRoot":""}