{"version":3,"sources":["webpack:///./src/views/apps/invoice/InvoiceSidebarAddPayment.vue?f503","webpack:///src/views/apps/invoice/InvoiceSidebarAddPayment.vue","webpack:///./src/views/apps/invoice/InvoiceSidebarAddPayment.vue?75ab","webpack:///./src/views/apps/invoice/InvoiceSidebarAddPayment.vue","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-selection.js","webpack:///./src/@core/layouts/components/Logo.vue?338a","webpack:///./src/@core/layouts/components/Logo.vue","webpack:///./node_modules/bootstrap-vue/esm/components/form/form.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-validity.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody-row.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tbody.js","webpack:///./node_modules/bootstrap-vue/esm/directives/toggle/toggle.js","webpack:///./src/views/apps/invoice/InvoiceSidebarSendInvoice.vue?ebb2","webpack:///src/views/apps/invoice/InvoiceSidebarSendInvoice.vue","webpack:///./src/views/apps/invoice/InvoiceSidebarSendInvoice.vue?caa8","webpack:///./src/views/apps/invoice/InvoiceSidebarSendInvoice.vue","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-caption.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-text.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-input/form-input.js","webpack:///./node_modules/bootstrap-vue/esm/components/image/img.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-title.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/normalize-fields.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-items.js","webpack:///./node_modules/bootstrap-vue/esm/components/alert/alert.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-body.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-footer.js","webpack:///./node_modules/bootstrap-vue/esm/directives/visible/visible.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/constants.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-tfoot.js","webpack:///./node_modules/bootstrap-vue/esm/components/form-textarea/form-textarea.js","webpack:///./node_modules/bootstrap-vue/esm/components/layout/row.js","webpack:///./src/views/apps/invoice/invoiceStoreModule.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-size.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/filter-event.js","webpack:///./src/views/apps/invoice/invoice-preview/InvoicePreview.vue?492a","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-header.js","webpack:///./src/views/apps/invoice/invoice-preview/InvoicePreview.vue?0b43","webpack:///src/views/apps/invoice/invoice-preview/InvoicePreview.vue","webpack:///./src/views/apps/invoice/invoice-preview/InvoicePreview.vue?c50c","webpack:///./src/views/apps/invoice/invoice-preview/InvoicePreview.vue","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-sub-title.js","webpack:///./node_modules/bootstrap-vue/esm/components/sidebar/sidebar.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-thead.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/table-lite.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/text-selection-active.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/card.js","webpack:///./node_modules/bootstrap-vue/esm/components/table/helpers/mixin-colgroup.js","webpack:///./node_modules/bootstrap-vue/esm/components/card/card-text.js","webpack:///./node_modules/bootstrap-vue/esm/mixins/form-control.js","webpack:///./src/views/apps/invoice/invoice-preview/InvoicePreview.vue?fc81","webpack:///./src/views/apps/invoice/InvoiceSidebarAddPayment.vue?b4ca","webpack:///./node_modules/bootstrap-vue/esm/components/badge/badge.js","webpack:///./node_modules/bootstrap-vue/esm/utils/noop.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","scopedSlots","_u","key","fn","_ref","hide","staticClass","_v","on","$event","preventDefault","model","value","addPaymentData","invoiceBalance","callback","$$v","$set","expression","paymentAmount","paymentDate","$store","state","appConfig","isRTL","paymentMethods","paymentMethod","internalPaymentNote","directives","name","rawName","modifiers","staticRenderFns","components","BSidebar","BForm","BFormGroup","BFormInput","BFormTextarea","BButton","flatPickr","vSelect","Ripple","setup","component","formSelectionMixin","extend","computed","selectionStart","cache","get","$refs","input","set","val","selectionEnd","selectionDirection","methods","select","_this$$refs$input","apply","arguments","setSelectionRange","_this$$refs$input2","setRangeText","_this$$refs$input3","script","props","id","inline","novalidate","validated","functional","h","data","children","class","formValidityMixin","validity","validationMessage","willValidate","setCustomValidity","checkValidity","reportValidity","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","_objectSpread","target","i","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","obj","configurable","writable","bottom","end","start","top","BCardImg","src","alt","width","height","baseClass","right","left","cardImgProps","bind","imgSrc","required","card","align","noBody","BCard","_class","slots","imgLeft","imgRight","imgStart","imgEnd","imgBottom","header","headerHtml","footer","footerHtml","textVariant","bgVariant","borderVariant","$scopedSlots","$slots","slotScope","$imgFirst","$imgLast","$img","$header","hasHeaderSlot","domProps","html","$content","overlay","$footer","hasFooterSlot","tag","concat","footVariant","BTfoot","mixins","provide","bvTableRowGroup","inject","bvTable","default","inheritAttrs","isTfoot","isDark","dark","isStacked","isResponsive","isStickyHeader","hasStickyHeader","stickyHeader","tableVariant","tfootClasses","tfootAttrs","bvAttrs","role","bvListeners","normalizeSlot","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","TypeError","o","minLen","_arrayLikeToArray","n","prototype","toString","call","slice","constructor","Array","from","test","iter","Symbol","iterator","isArray","len","arr2","detailsTdClass","tbodyTrAttr","tbodyTrClass","tbodyRowMixin","getTdValues","item","tdValue","defaultValue","$parent","getThValues","thValue","type","getFormattedValue","field","formatter","getFieldFormatter","toggleDetailsFactory","hasDetailsSlot","_this","rowHovered","event","tbodyRowEvtStopped","emitTbodyRowEvent","rowUnhovered","renderTbodyRowCell","colIndex","rowIndex","_this2","label","isRowHeader","hasNormalizedSlot","formatted","stickyColumn","cellTag","cellVariant","variant","tdClass","String","thAttr","tdAttr","stackedHeading","scope","index","unformatted","toggleDetails","detailsShowing","Boolean","supportsSelectableRows","rowSelected","isRowSelected","selectRow","unselectRow","slotName","$_bodyFieldSlotNameCache","$childNodes","renderTbodyRow","_this3","fields","computedFields","striped","primaryKey","currentPage","perPage","rowShowDetails","hasRowClickHandler","$listeners","hasSelectableRowClick","$rows","detailsId","safeId","$tds","map","ariaRowIndex","primaryKeyValue","rowKey","rowId","selectableClasses","selectableRowClasses","selectableAttrs","selectableRowAttrs","userTrClasses","userTrAttrs","tabindex","mouseenter","mouseleave","ref","refInFor","detailsScope","$details","colspan","userDetailsTrClasses","userDetailsTrAttrs","getCellSlotName","tbodyClass","tbodyMixin","beforeDestroy","getTbodyTrs","tbody","$el","trs","tr","array","getTbodyTrIndex","el","tagName","indexOf","hasListener","computedItems","$emit","stopIfBusy","onTbodyRowKeydown","keyCode","tabIndex","onTBodyRowClicked","shift","shiftKey","onTbodyRowMiddleMouseRowClicked","which","onTbodyRowContextmenu","onTbodyRowDblClicked","renderTbody","items","renderBusy","renderTopRow","renderEmpty","renderBottomRow","$busy","defaultSlotName","lowercaseSlotName","toLowerCase","handlers","auxclick","contextmenu","dblclick","click","keydown","$tbody","$props","CLASS_BV_TOGGLE_COLLAPSED","CLASS_BV_TOGGLE_NOT_COLLAPSED","BV_BASE","BV_TOGGLE_ROOT_HANDLER","BV_TOGGLE_CLICK_HANDLER","BV_TOGGLE_STATE","BV_TOGGLE_TARGETS","STRING_FALSE","STRING_TRUE","ATTR_ARIA_CONTROLS","ATTR_ARIA_EXPANDED","ATTR_ROLE","ATTR_TABINDEX","STYLE_OVERFLOW_ANCHOR","ROOT_ACTION_EVENT_NAME_TOGGLE","ROOT_EVENT_NAME_STATE","ROOT_EVENT_NAME_SYNC_STATE","ROOT_ACTION_EVENT_NAME_REQUEST_STATE","KEYDOWN_KEY_CODES","isNonStandardTag","getTargets","arg","targets","split","href","replace","t","removeClickListener","handler","addClickListener","vnode","context","$root","removeRootListeners","$off","addRootListeners","setToggleState","$on","resetProp","prop","handleUpdate","binding","join","VBToggle","componentUpdated","updated","unbind","sendInvoiceData","to","subject","message","caption","captionHtml","captionMixin","captionId","renderCaption","$caption","hasCaptionSlot","_makeModelMixin","modelMixin","mixin","modelProps","MODEL_PROP_NAME","MODEL_EVENT_NAME","ariaInvalid","autocomplete","debounce","lazy","lazyFormatter","number","placeholder","plaintext","readonly","trim","formTextMixin","localValue","vModelValue","modifyValue","computedClass","isRange","isColor","sizeFormClass","stateClass","computedDebounce","hasFormatter","watch","newValue","stringifyValue","modifiedValue","clearDebounce","created","$_inputDebounceTimer","mounted","clearTimeout","formatValue","force","undefined","updateValue","doUpdate","$input","setTimeout","onInput","composing","formattedValue","defaultPrevented","propagation","onChange","onBlur","focus","disabled","blur","TYPES","list","max","min","noWheel","step","localType","computedAttrs","form","computedAriaInvalid","computedListeners","change","setWheelStopper","deactivated","activated","onWheelFocus","onWheelBlur","document","stopWheel","BLANK_TEMPLATE","makeBlankImgSrc","color","encodeURIComponent","blank","blankColor","block","center","fluid","fluidGrow","rounded","sizes","srcset","thumbnail","BImg","title","titleTag","BCardTitle","origFields","identity","f","sample","k","memo","itemsMixin","localItems","computedFieldsObj","reduce","paginatedItems","sortedItems","filteredItems","localFilter","sortBy","localSortBy","sortDesc","localSortDesc","math","apiUrl","oldValue","_watch","parseCountDown","show","parseShow","dismissLabel","dismissible","fade","BAlert","countDown","localShow","clearCountDownInterval","$_countDownTimeout","$nextTick","$_filterTimer","dismiss","$alert","$dismissButton","noFade","bodyClass","BCardBody","_ref2","bodyBgVariant","bodyBorderVariant","bodyTextVariant","$title","$subTitle","subTitle","bodyTag","footerClass","BCardFooter","footerBgVariant","footerBorderVariant","footerTextVariant","footerTag","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_createClass","protoProps","staticProps","OBSERVER_PROP_NAME","VisibilityObserver","options","margin","once","observer","visible","doneOnce","createObserver","stop","IntersectionObserver","root","rootMargin","threshold","_unused","observe","entries","entry","isIntersecting","intersectionRatio","disconnect","destroy","mod","_prevModifiers","VBVisible","FIELD_KEY_CELL_VARIANT","FIELD_KEY_ROW_VARIANT","FIELD_KEY_SHOW_DETAILS","IGNORED_FIELD_KEYS","result","EVENT_FILTER","footClone","footRowVariant","tfootClass","tfootTrClass","tfootMixin","renderTFootCustom","headVariant","columns","renderTfoot","renderThead","maxRows","noAutoShrink","noResize","rows","wrap","heightInPx","computedStyle","styles","resize","computedRows","overflowY","computedMinRows","computedMaxRows","setHeight","visibleCallback","computeHeight","$isServer","lineHeight","border","borderTopWidth","borderBottomWidth","padding","paddingTop","paddingBottom","offset","minHeight","oldHeight","scrollHeight","contentRows","style","COMMON_ALIGNMENT","computeRowColsClass","breakpoint","cols","computeRowColsBreakpoint","rowColsPropList","generateProps","rowColsProps","alignContent","alignH","alignV","noGutters","BRow","_classList$push","classList","c","namespaced","getters","mutations","actions","fetchInvoices","ctx","queryParams","Promise","resolve","reject","axios","params","then","response","catch","error","fetchInvoice","fetchClients","size","formSizeMixin","TABLE_TAG_NAMES","filterEvent","labelFor","headerClass","BCardHeader","headerBgVariant","headerBorderVariant","headerTextVariant","headerTag","invoiceData","_s","issuedDate","dueDate","client","company","address","country","contact","companyEmail","paymentDetails","totalDue","bankName","iban","swiftCode","_e","invoiceDescription","taskTitle","taskDescription","printInvoice","$route","BCol","BTableLite","BCardText","BLink","Logo","InvoiceSidebarAddPayment","InvoiceSidebarSendInvoice","store","window","print","subTitleTag","subTitleTextVariant","BCardSubTitle","CLASS_NAME","ariaLabel","ariaLabelledby","backdrop","backdropVariant","closeLabel","noCloseOnBackdrop","noCloseOnEsc","noCloseOnRouteChange","noEnforceFocus","noHeader","noHeaderClose","noSlide","shadow","sidebarClass","zIndex","renderHeaderTitle","renderHeaderClose","renderHeader","$close","renderBody","renderFooter","renderContent","isOpen","renderBackdrop","onBackdropClick","transitionProps","css","enterClass","enterActiveClass","enterToClass","leaveClass","leaveActiveClass","leaveToClass","hasTitle","titleId","emitState","fullPath","$_returnFocusEl","listenOnRoot","handleToggle","handleSync","emitSync","emitOnRoot","onKeydown","onTopTrapFocus","tabables","content","enforceFocus","reverse","onBottomTrapFocus","onBeforeEnter","body","onAfterEnter","onAfterLeave","$sidebar","beforeEnter","afterEnter","afterLeave","$backdrop","$tabTrapTop","$tabTrapBottom","getHeadSlotName","getFootSlotName","headRowVariant","theadClass","theadTrClass","theadMixin","fieldClasses","thClass","headClicked","isFoot","isSortable","isSelectable","isStackedAlways","hasHeadClickListener","selectAllRows","clearSelected","makeCell","labelHtml","headerTitle","sortAttrs","sortTheadThAttrs","sortClass","sortTheadThClasses","sortLabel","sortTheadThLabel","thStyle","sortable","abbr","headerAbbr","slotNames","column","$srLabel","$cells","$trs","textSelectionActive","sel","containsNode","colgroupMixin","renderColgroup","$colgroup","textTag","SELECTOR","autofocus","formControlMixin","handleAutofocus","linkProps","pill","BBadge","active","link","noop"],"mappings":"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","file":"js/chunk-5400b42c.28d8cd02.js","sourcesContent":["var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-sidebar', {\n attrs: {\n \"id\": \"sidebar-invoice-add-payment\",\n \"sidebar-class\": \"sidebar-lg\",\n \"bg-variant\": \"white\",\n \"shadow\": \"\",\n \"backdrop\": \"\",\n \"no-header\": \"\",\n \"right\": \"\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function fn(_ref) {\n var hide = _ref.hide;\n return [_c('div', {\n staticClass: \"d-flex justify-content-between align-items-center content-sidebar-header px-2 py-1\"\n }, [_c('h5', {\n staticClass: \"mb-0\"\n }, [_vm._v(\" Add Payment \")]), _c('feather-icon', {\n staticClass: \"ml-1 cursor-pointer\",\n attrs: {\n \"icon\": \"XIcon\",\n \"size\": \"16\"\n },\n on: {\n \"click\": hide\n }\n })], 1), _c('b-form', {\n staticClass: \"p-2\",\n on: {\n \"submit\": function submit($event) {\n $event.preventDefault();\n }\n }\n }, [_c('b-form-group', {\n attrs: {\n \"label\": \"Invoice Balance\",\n \"label-for\": \"invoice-balance\"\n }\n }, [_c('b-form-input', {\n attrs: {\n \"id\": \"invoice-balance\",\n \"trim\": \"\",\n \"disabled\": \"\"\n },\n model: {\n value: _vm.addPaymentData.invoiceBalance,\n callback: function callback($$v) {\n _vm.$set(_vm.addPaymentData, \"invoiceBalance\", $$v);\n },\n expression: \"addPaymentData.invoiceBalance\"\n }\n })], 1), _c('b-form-group', {\n attrs: {\n \"label\": \"Payment Amount\",\n \"label-for\": \"payment-amount\"\n }\n }, [_c('b-form-input', {\n attrs: {\n \"id\": \"payment-amount\",\n \"placeholder\": \"$10000\",\n \"trim\": \"\",\n \"type\": \"number\"\n },\n model: {\n value: _vm.addPaymentData.paymentAmount,\n callback: function callback($$v) {\n _vm.$set(_vm.addPaymentData, \"paymentAmount\", $$v);\n },\n expression: \"addPaymentData.paymentAmount\"\n }\n })], 1), _c('b-form-group', {\n attrs: {\n \"label\": \"Payment Date\",\n \"label-for\": \"payment-date\"\n }\n }, [_c('flat-pickr', {\n staticClass: \"form-control\",\n model: {\n value: _vm.addPaymentData.paymentDate,\n callback: function callback($$v) {\n _vm.$set(_vm.addPaymentData, \"paymentDate\", $$v);\n },\n expression: \"addPaymentData.paymentDate\"\n }\n })], 1), _c('b-form-group', {\n attrs: {\n \"label\": \"Payment Method\",\n \"label-for\": \"payment-method\"\n }\n }, [_c('v-select', {\n attrs: {\n \"dir\": _vm.$store.state.appConfig.isRTL ? 'rtl' : 'ltr',\n \"options\": _vm.paymentMethods,\n \"label\": \"Payment Method\",\n \"placeholder\": \"Select Payment Method\",\n \"input-id\": \"payment-method\",\n \"clearable\": false\n },\n model: {\n value: _vm.addPaymentData.paymentMethod,\n callback: function callback($$v) {\n _vm.$set(_vm.addPaymentData, \"paymentMethod\", $$v);\n },\n expression: \"addPaymentData.paymentMethod\"\n }\n })], 1), _c('b-form-group', {\n attrs: {\n \"label\": \"Internal Payment Note\",\n \"label-for\": \"internal-payment-note\"\n }\n }, [_c('b-form-textarea', {\n attrs: {\n \"id\": \"internal-payment-note\",\n \"placeholder\": \"Internal Payment Note\",\n \"rows\": \"5\",\n \"trim\": \"\"\n },\n model: {\n value: _vm.addPaymentData.internalPaymentNote,\n callback: function callback($$v) {\n _vm.$set(_vm.addPaymentData, \"internalPaymentNote\", $$v);\n },\n expression: \"addPaymentData.internalPaymentNote\"\n }\n })], 1), _c('div', {\n staticClass: \"d-flex mt-2\"\n }, [_c('b-button', {\n directives: [{\n name: \"ripple\",\n rawName: \"v-ripple.400\",\n value: 'rgba(255, 255, 255, 0.15)',\n expression: \"'rgba(255, 255, 255, 0.15)'\",\n modifiers: {\n \"400\": true\n }\n }],\n staticClass: \"mr-2\",\n attrs: {\n \"variant\": \"primary\",\n \"type\": \"submit\"\n },\n on: {\n \"click\": hide\n }\n }, [_vm._v(\" Send \")]), _c('b-button', {\n directives: [{\n name: \"ripple\",\n rawName: \"v-ripple.400\",\n value: 'rgba(186, 191, 199, 0.15)',\n expression: \"'rgba(186, 191, 199, 0.15)'\",\n modifiers: {\n \"400\": true\n }\n }],\n attrs: {\n \"variant\": \"outline-secondary\"\n },\n on: {\n \"click\": hide\n }\n }, [_vm._v(\" Cancel \")])], 1)], 1)];\n }\n }])\n });\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceSidebarAddPayment.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceSidebarAddPayment.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InvoiceSidebarAddPayment.vue?vue&type=template&id=05362818&\"\nimport script from \"./InvoiceSidebarAddPayment.vue?vue&type=script&lang=js&\"\nexport * from \"./InvoiceSidebarAddPayment.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InvoiceSidebarAddPayment.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Vue } from '../vue'; // @vue/component\n\nexport var formSelectionMixin = Vue.extend({\n computed: {\n selectionStart: {\n // Expose selectionStart for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionStart;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionStart = val;\n }\n },\n selectionEnd: {\n // Expose selectionEnd for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionEnd;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionEnd = val;\n }\n },\n selectionDirection: {\n // Expose selectionDirection for formatters, etc\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.selectionDirection;\n },\n\n /* istanbul ignore next */\n set: function set(val) {\n this.$refs.input.selectionDirection = val;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n select: function select() {\n var _this$$refs$input;\n\n // For external handler that may want a select() method\n (_this$$refs$input = this.$refs.input).select.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n setSelectionRange: function setSelectionRange() {\n var _this$$refs$input2;\n\n // For external handler that may want a setSelectionRange(a,b,c) method\n (_this$$refs$input2 = this.$refs.input).setSelectionRange.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n setRangeText: function setRangeText() {\n var _this$$refs$input3;\n\n // For external handler that may want a setRangeText(a,b,c) method\n (_this$$refs$input3 = this.$refs.input).setRangeText.apply(_this$$refs$input3, arguments);\n }\n }\n});","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('img', {\n staticClass: \"img-fluid\",\n attrs: {\n \"src\": require('@/assets/images/logo/logo.png'),\n \"alt\": \"\",\n \"srcset\": \"\"\n }\n });\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Logo.vue?vue&type=template&id=75d414fd&\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Vue, mergeData } from '../../vue';\nimport { NAME_FORM } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n id: makeProp(PROP_TYPE_STRING),\n inline: makeProp(PROP_TYPE_BOOLEAN, false),\n novalidate: makeProp(PROP_TYPE_BOOLEAN, false),\n validated: makeProp(PROP_TYPE_BOOLEAN, false)\n}, NAME_FORM); // --- Main component ---\n// @vue/component\n\nexport var BForm = /*#__PURE__*/Vue.extend({\n name: NAME_FORM,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h('form', mergeData(data, {\n class: {\n 'form-inline': props.inline,\n 'was-validated': props.validated\n },\n attrs: {\n id: props.id,\n novalidate: props.novalidate\n }\n }), children);\n }\n});","import { Vue } from '../vue'; // @vue/component\n\nexport var formValidityMixin = Vue.extend({\n computed: {\n validity: {\n // Expose validity property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validity;\n }\n },\n validationMessage: {\n // Expose validationMessage property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.validationMessage;\n }\n },\n willValidate: {\n // Expose willValidate property\n cache: false,\n\n /* istanbul ignore next */\n get: function get() {\n return this.$refs.input.willValidate;\n }\n }\n },\n methods: {\n /* istanbul ignore next */\n setCustomValidity: function setCustomValidity() {\n var _this$$refs$input;\n\n // For external handler that may want a setCustomValidity(...) method\n return (_this$$refs$input = this.$refs.input).setCustomValidity.apply(_this$$refs$input, arguments);\n },\n\n /* istanbul ignore next */\n checkValidity: function checkValidity() {\n var _this$$refs$input2;\n\n // For external handler that may want a checkValidity(...) method\n return (_this$$refs$input2 = this.$refs.input).checkValidity.apply(_this$$refs$input2, arguments);\n },\n\n /* istanbul ignore next */\n reportValidity: function reportValidity() {\n var _this$$refs$input3;\n\n // For external handler that may want a reportValidity(...) method\n return (_this$$refs$input3 = this.$refs.input).reportValidity.apply(_this$$refs$input3, arguments);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_IMG } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { pick, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { props as BImgProps } from '../image/img'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, pick(BImgProps, ['src', 'alt', 'width', 'height', 'left', 'right'])), {}, {\n bottom: makeProp(PROP_TYPE_BOOLEAN, false),\n end: makeProp(PROP_TYPE_BOOLEAN, false),\n start: makeProp(PROP_TYPE_BOOLEAN, false),\n top: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD_IMG); // --- Main component ---\n// @vue/component\n\nexport var BCardImg = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data;\n var src = props.src,\n alt = props.alt,\n width = props.width,\n height = props.height;\n var baseClass = 'card-img';\n\n if (props.top) {\n baseClass += '-top';\n } else if (props.right || props.end) {\n baseClass += '-right';\n } else if (props.bottom) {\n baseClass += '-bottom';\n } else if (props.left || props.start) {\n baseClass += '-left';\n }\n\n return h('img', mergeData(data, {\n class: baseClass,\n attrs: {\n src: src,\n alt: alt,\n width: width,\n height: height\n }\n }));\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_FOOTER, SLOT_NAME_HEADER } from '../../constants/slots';\nimport { htmlOrText } from '../../utils/html';\nimport { hasNormalizedSlot, normalizeSlot } from '../../utils/normalize-slot';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName, unprefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardBody, props as BCardBodyProps } from './card-body';\nimport { BCardHeader, props as BCardHeaderProps } from './card-header';\nimport { BCardFooter, props as BCardFooterProps } from './card-footer';\nimport { BCardImg, props as BCardImgProps } from './card-img'; // --- Props ---\n\nvar cardImgProps = copyProps(BCardImgProps, prefixPropName.bind(null, 'img'));\ncardImgProps.imgSrc.required = false;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, BCardBodyProps), BCardHeaderProps), BCardFooterProps), cardImgProps), cardProps), {}, {\n align: makeProp(PROP_TYPE_STRING),\n noBody: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD); // --- Main component ---\n// @vue/component\n\nexport var BCard = /*#__PURE__*/Vue.extend({\n name: NAME_CARD,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data,\n slots = _ref.slots,\n scopedSlots = _ref.scopedSlots;\n var imgSrc = props.imgSrc,\n imgLeft = props.imgLeft,\n imgRight = props.imgRight,\n imgStart = props.imgStart,\n imgEnd = props.imgEnd,\n imgBottom = props.imgBottom,\n header = props.header,\n headerHtml = props.headerHtml,\n footer = props.footer,\n footerHtml = props.footerHtml,\n align = props.align,\n textVariant = props.textVariant,\n bgVariant = props.bgVariant,\n borderVariant = props.borderVariant;\n var $scopedSlots = scopedSlots || {};\n var $slots = slots();\n var slotScope = {};\n var $imgFirst = h();\n var $imgLast = h();\n\n if (imgSrc) {\n var $img = h(BCardImg, {\n props: pluckProps(cardImgProps, props, unprefixPropName.bind(null, 'img'))\n });\n\n if (imgBottom) {\n $imgLast = $img;\n } else {\n $imgFirst = $img;\n }\n }\n\n var $header = h();\n var hasHeaderSlot = hasNormalizedSlot(SLOT_NAME_HEADER, $scopedSlots, $slots);\n\n if (hasHeaderSlot || header || headerHtml) {\n $header = h(BCardHeader, {\n props: pluckProps(BCardHeaderProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(headerHtml, header)\n }, normalizeSlot(SLOT_NAME_HEADER, slotScope, $scopedSlots, $slots));\n }\n\n var $content = normalizeSlot(SLOT_NAME_DEFAULT, slotScope, $scopedSlots, $slots); // Wrap content in `` when `noBody` prop set\n\n if (!props.noBody) {\n $content = h(BCardBody, {\n props: pluckProps(BCardBodyProps, props)\n }, $content); // When the `overlap` prop is set we need to wrap the `` and ``\n // into a relative positioned wrapper to don't distract a potential header or footer\n\n if (props.overlay && imgSrc) {\n $content = h('div', {\n staticClass: 'position-relative'\n }, [$imgFirst, $content, $imgLast]); // Reset image variables since they are already in the wrapper\n\n $imgFirst = h();\n $imgLast = h();\n }\n }\n\n var $footer = h();\n var hasFooterSlot = hasNormalizedSlot(SLOT_NAME_FOOTER, $scopedSlots, $slots);\n\n if (hasFooterSlot || footer || footerHtml) {\n $footer = h(BCardFooter, {\n props: pluckProps(BCardFooterProps, props),\n domProps: hasHeaderSlot ? {} : htmlOrText(footerHtml, footer)\n }, normalizeSlot(SLOT_NAME_FOOTER, slotScope, $scopedSlots, $slots));\n }\n\n return h(props.tag, mergeData(data, {\n staticClass: 'card',\n class: (_class = {\n 'flex-row': imgLeft || imgStart,\n 'flex-row-reverse': (imgRight || imgEnd) && !(imgLeft || imgStart)\n }, _defineProperty(_class, \"text-\".concat(align), align), _defineProperty(_class, \"bg-\".concat(bgVariant), bgVariant), _defineProperty(_class, \"border-\".concat(borderVariant), borderVariant), _defineProperty(_class, \"text-\".concat(textVariant), textVariant), _class)\n }), [$imgFirst, $header, $content, $footer, $imgLast]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TFOOT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n // Supported values: 'lite', 'dark', or null\n footVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_TFOOT); // --- Main component ---\n// TODO:\n// In Bootstrap v5, we won't need \"sniffing\" as table element variants properly inherit\n// to the child elements, so this can be converted to a functional component\n// @vue/component\n\nexport var BTfoot = /*#__PURE__*/Vue.extend({\n name: NAME_TFOOT,\n mixins: [attrsMixin, listenersMixin, normalizeSlotMixin],\n provide: function provide() {\n return {\n bvTableRowGroup: this\n };\n },\n inject: {\n // Sniffed by `` / `` / ``\n bvTable: {\n default:\n /* istanbul ignore next */\n function _default() {\n return {};\n }\n }\n },\n inheritAttrs: false,\n props: props,\n computed: {\n // Sniffed by `` / `` / ``\n isTfoot: function isTfoot() {\n return true;\n },\n // Sniffed by `` / `` / ``\n isDark: function isDark() {\n return this.bvTable.dark;\n },\n // Sniffed by `` / `` / ``\n isStacked: function isStacked() {\n return this.bvTable.isStacked;\n },\n // Sniffed by `` / `` / ``\n isResponsive: function isResponsive() {\n return this.bvTable.isResponsive;\n },\n // Sniffed by `` / `` / ``\n // Sticky headers are only supported in thead\n isStickyHeader: function isStickyHeader() {\n return false;\n },\n // Sniffed by `` / `` / ``\n // Needed to handle header background classes, due to lack of\n // background color inheritance with Bootstrap v4 table CSS\n hasStickyHeader: function hasStickyHeader() {\n return !this.isStacked && this.bvTable.stickyHeader;\n },\n // Sniffed by `` / `` / ``\n tableVariant: function tableVariant() {\n return this.bvTable.tableVariant;\n },\n tfootClasses: function tfootClasses() {\n return [this.footVariant ? \"thead-\".concat(this.footVariant) : null];\n },\n tfootAttrs: function tfootAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n role: 'rowgroup'\n });\n }\n },\n render: function render(h) {\n return h('tfoot', {\n class: this.tfootClasses,\n attrs: this.tfootAttrs,\n // Pass down any native listeners\n on: this.bvListeners\n }, this.normalizeSlot());\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_HOVERED, EVENT_NAME_ROW_UNHOVERED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_OBJECT_FUNCTION } from '../../../constants/props';\nimport { SLOT_NAME_ROW_DETAILS } from '../../../constants/slots';\nimport { get } from '../../../utils/get';\nimport { isFunction, isString, isUndefinedOrNull } from '../../../utils/inspect';\nimport { makeProp } from '../../../utils/props';\nimport { toString } from '../../../utils/string';\nimport { BTr } from '../tr';\nimport { BTd } from '../td';\nimport { BTh } from '../th';\nimport { FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT, FIELD_KEY_SHOW_DETAILS } from './constants'; // --- Props ---\n\nexport var props = {\n detailsTdClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tbodyTrAttr: makeProp(PROP_TYPE_OBJECT_FUNCTION),\n tbodyTrClass: makeProp([].concat(_toConsumableArray(PROP_TYPE_ARRAY_OBJECT_STRING), [PROP_TYPE_FUNCTION]))\n}; // --- Mixin ---\n// @vue/component\n\nexport var tbodyRowMixin = Vue.extend({\n props: props,\n methods: {\n // Methods for computing classes, attributes and styles for table cells\n getTdValues: function getTdValues(item, key, tdValue, defaultValue) {\n var $parent = this.$parent;\n\n if (tdValue) {\n var value = get(item, key, '');\n\n if (isFunction(tdValue)) {\n return tdValue(value, key, item);\n } else if (isString(tdValue) && isFunction($parent[tdValue])) {\n return $parent[tdValue](value, key, item);\n }\n\n return tdValue;\n }\n\n return defaultValue;\n },\n getThValues: function getThValues(item, key, thValue, type, defaultValue) {\n var $parent = this.$parent;\n\n if (thValue) {\n var value = get(item, key, '');\n\n if (isFunction(thValue)) {\n return thValue(value, key, item, type);\n } else if (isString(thValue) && isFunction($parent[thValue])) {\n return $parent[thValue](value, key, item, type);\n }\n\n return thValue;\n }\n\n return defaultValue;\n },\n // Method to get the value for a field\n getFormattedValue: function getFormattedValue(item, field) {\n var key = field.key;\n var formatter = this.getFieldFormatter(key);\n var value = get(item, key, null);\n\n if (isFunction(formatter)) {\n value = formatter(value, key, item);\n }\n\n return isUndefinedOrNull(value) ? '' : value;\n },\n // Factory function methods\n toggleDetailsFactory: function toggleDetailsFactory(hasDetailsSlot, item) {\n var _this = this;\n\n // Returns a function to toggle a row's details slot\n return function () {\n if (hasDetailsSlot) {\n _this.$set(item, FIELD_KEY_SHOW_DETAILS, !item[FIELD_KEY_SHOW_DETAILS]);\n }\n };\n },\n // Row event handlers\n rowHovered: function rowHovered(event) {\n // `mouseenter` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(event)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent(EVENT_NAME_ROW_HOVERED, event);\n }\n },\n rowUnhovered: function rowUnhovered(event) {\n // `mouseleave` handler (non-bubbling)\n // `this.tbodyRowEvtStopped` from tbody mixin\n if (!this.tbodyRowEvtStopped(event)) {\n // `this.emitTbodyRowEvent` from tbody mixin\n this.emitTbodyRowEvent(EVENT_NAME_ROW_UNHOVERED, event);\n }\n },\n // Renders a TD or TH for a row's field\n renderTbodyRowCell: function renderTbodyRowCell(field, colIndex, item, rowIndex) {\n var _this2 = this;\n\n var isStacked = this.isStacked;\n var key = field.key,\n label = field.label,\n isRowHeader = field.isRowHeader;\n var h = this.$createElement;\n var hasDetailsSlot = this.hasNormalizedSlot(SLOT_NAME_ROW_DETAILS);\n var formatted = this.getFormattedValue(item, field);\n var stickyColumn = !isStacked && (this.isResponsive || this.stickyHeader) && field.stickyColumn; // We only uses the helper components for sticky columns to\n // improve performance of BTable/BTableLite by reducing the\n // total number of vue instances created during render\n\n var cellTag = stickyColumn ? isRowHeader ? BTh : BTd : isRowHeader ? 'th' : 'td';\n var cellVariant = item[FIELD_KEY_CELL_VARIANT] && item[FIELD_KEY_CELL_VARIANT][key] ? item[FIELD_KEY_CELL_VARIANT][key] : field.variant || null;\n var data = {\n // For the Vue key, we concatenate the column index and\n // field key (as field keys could be duplicated)\n // TODO: Although we do prevent duplicate field keys...\n // So we could change this to: `row-${rowIndex}-cell-${key}`\n class: [field.class ? field.class : '', this.getTdValues(item, key, field.tdClass, '')],\n props: {},\n attrs: _objectSpread({\n 'aria-colindex': String(colIndex + 1)\n }, isRowHeader ? this.getThValues(item, key, field.thAttr, 'row', {}) : this.getTdValues(item, key, field.tdAttr, {})),\n key: \"row-\".concat(rowIndex, \"-cell-\").concat(colIndex, \"-\").concat(key)\n };\n\n if (stickyColumn) {\n // We are using the helper BTd or BTh\n data.props = {\n stackedHeading: isStacked ? label : null,\n stickyColumn: true,\n variant: cellVariant\n };\n } else {\n // Using native TD or TH element, so we need to\n // add in the attributes and variant class\n data.attrs['data-label'] = isStacked && !isUndefinedOrNull(label) ? toString(label) : null;\n data.attrs.role = isRowHeader ? 'rowheader' : 'cell';\n data.attrs.scope = isRowHeader ? 'row' : null; // Add in the variant class\n\n if (cellVariant) {\n data.class.push(\"\".concat(this.dark ? 'bg' : 'table', \"-\").concat(cellVariant));\n }\n }\n\n var slotScope = {\n item: item,\n index: rowIndex,\n field: field,\n unformatted: get(item, key, ''),\n value: formatted,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item),\n detailsShowing: Boolean(item[FIELD_KEY_SHOW_DETAILS])\n }; // If table supports selectable mode, then add in the following scope\n // this.supportsSelectableRows will be undefined if mixin isn't loaded\n\n if (this.supportsSelectableRows) {\n slotScope.rowSelected = this.isRowSelected(rowIndex);\n\n slotScope.selectRow = function () {\n return _this2.selectRow(rowIndex);\n };\n\n slotScope.unselectRow = function () {\n return _this2.unselectRow(rowIndex);\n };\n } // The new `v-slot` syntax doesn't like a slot name starting with\n // a square bracket and if using in-document HTML templates, the\n // v-slot attributes are lower-cased by the browser.\n // Switched to round bracket syntax to prevent confusion with\n // dynamic slot name syntax.\n // We look for slots in this order: `cell(${key})`, `cell(${key.toLowerCase()})`, 'cell()'\n // Slot names are now cached by mixin tbody in `this.$_bodyFieldSlotNameCache`\n // Will be `null` if no slot (or fallback slot) exists\n\n\n var slotName = this.$_bodyFieldSlotNameCache[key];\n var $childNodes = slotName ? this.normalizeSlot(slotName, slotScope) : toString(formatted);\n\n if (this.isStacked) {\n // We wrap in a DIV to ensure rendered as a single cell when visually stacked!\n $childNodes = [h('div', [$childNodes])];\n } // Render either a td or th cell\n\n\n return h(cellTag, data, [$childNodes]);\n },\n // Renders an item's row (or rows if details supported)\n renderTbodyRow: function renderTbodyRow(item, rowIndex) {\n var _this3 = this;\n\n var fields = this.computedFields,\n striped = this.striped,\n primaryKey = this.primaryKey,\n currentPage = this.currentPage,\n perPage = this.perPage,\n tbodyTrClass = this.tbodyTrClass,\n tbodyTrAttr = this.tbodyTrAttr;\n var h = this.$createElement;\n var hasDetailsSlot = this.hasNormalizedSlot(SLOT_NAME_ROW_DETAILS);\n var rowShowDetails = item[FIELD_KEY_SHOW_DETAILS] && hasDetailsSlot;\n var hasRowClickHandler = this.$listeners[EVENT_NAME_ROW_CLICKED] || this.hasSelectableRowClick; // We can return more than one TR if rowDetails enabled\n\n var $rows = []; // Details ID needed for `aria-details` when details showing\n // We set it to `null` when not showing so that attribute\n // does not appear on the element\n\n var detailsId = rowShowDetails ? this.safeId(\"_details_\".concat(rowIndex, \"_\")) : null; // For each item data field in row\n\n var $tds = fields.map(function (field, colIndex) {\n return _this3.renderTbodyRowCell(field, colIndex, item, rowIndex);\n }); // Calculate the row number in the dataset (indexed from 1)\n\n var ariaRowIndex = null;\n\n if (currentPage && perPage && perPage > 0) {\n ariaRowIndex = String((currentPage - 1) * perPage + rowIndex + 1);\n } // Create a unique :key to help ensure that sub components are re-rendered rather than\n // re-used, which can cause issues. If a primary key is not provided we use the rendered\n // rows index within the tbody.\n // See: https://github.com/bootstrap-vue/bootstrap-vue/issues/2410\n\n\n var primaryKeyValue = toString(get(item, primaryKey)) || null;\n var rowKey = primaryKeyValue || toString(rowIndex); // If primary key is provided, use it to generate a unique ID on each tbody > tr\n // In the format of '{tableId}__row_{primaryKeyValue}'\n\n var rowId = primaryKeyValue ? this.safeId(\"_row_\".concat(primaryKeyValue)) : null; // Selectable classes and attributes\n\n var selectableClasses = this.selectableRowClasses ? this.selectableRowClasses(rowIndex) : {};\n var selectableAttrs = this.selectableRowAttrs ? this.selectableRowAttrs(rowIndex) : {}; // Additional classes and attributes\n\n var userTrClasses = isFunction(tbodyTrClass) ? tbodyTrClass(item, 'row') : tbodyTrClass;\n var userTrAttrs = isFunction(tbodyTrAttr) ?\n /* istanbul ignore next */\n tbodyTrAttr(item, 'row') : tbodyTrAttr; // Add the item row\n\n $rows.push(h(BTr, {\n class: [userTrClasses, selectableClasses, rowShowDetails ? 'b-table-has-details' : ''],\n props: {\n variant: item[FIELD_KEY_ROW_VARIANT] || null\n },\n attrs: _objectSpread(_objectSpread({\n id: rowId\n }, userTrAttrs), {}, {\n // Users cannot override the following attributes\n tabindex: hasRowClickHandler ? '0' : null,\n 'data-pk': primaryKeyValue || null,\n 'aria-details': detailsId,\n 'aria-owns': detailsId,\n 'aria-rowindex': ariaRowIndex\n }, selectableAttrs),\n on: {\n // Note: These events are not A11Y friendly!\n mouseenter: this.rowHovered,\n mouseleave: this.rowUnhovered\n },\n key: \"__b-table-row-\".concat(rowKey, \"__\"),\n ref: 'item-rows',\n refInFor: true\n }, $tds)); // Row Details slot\n\n if (rowShowDetails) {\n var detailsScope = {\n item: item,\n index: rowIndex,\n fields: fields,\n toggleDetails: this.toggleDetailsFactory(hasDetailsSlot, item)\n }; // If table supports selectable mode, then add in the following scope\n // this.supportsSelectableRows will be undefined if mixin isn't loaded\n\n if (this.supportsSelectableRows) {\n detailsScope.rowSelected = this.isRowSelected(rowIndex);\n\n detailsScope.selectRow = function () {\n return _this3.selectRow(rowIndex);\n };\n\n detailsScope.unselectRow = function () {\n return _this3.unselectRow(rowIndex);\n };\n } // Render the details slot in a TD\n\n\n var $details = h(BTd, {\n props: {\n colspan: fields.length\n },\n class: this.detailsTdClass\n }, [this.normalizeSlot(SLOT_NAME_ROW_DETAILS, detailsScope)]); // Add a hidden row to keep table row striping consistent when details showing\n // Only added if the table is striped\n\n if (striped) {\n $rows.push( // We don't use `BTr` here as we don't need the extra functionality\n h('tr', {\n staticClass: 'd-none',\n attrs: {\n 'aria-hidden': 'true',\n role: 'presentation'\n },\n key: \"__b-table-details-stripe__\".concat(rowKey)\n }));\n } // Add the actual details row\n\n\n var userDetailsTrClasses = isFunction(this.tbodyTrClass) ?\n /* istanbul ignore next */\n this.tbodyTrClass(item, SLOT_NAME_ROW_DETAILS) : this.tbodyTrClass;\n var userDetailsTrAttrs = isFunction(this.tbodyTrAttr) ?\n /* istanbul ignore next */\n this.tbodyTrAttr(item, SLOT_NAME_ROW_DETAILS) : this.tbodyTrAttr;\n $rows.push(h(BTr, {\n staticClass: 'b-table-details',\n class: [userDetailsTrClasses],\n props: {\n variant: item[FIELD_KEY_ROW_VARIANT] || null\n },\n attrs: _objectSpread(_objectSpread({}, userDetailsTrAttrs), {}, {\n // Users cannot override the following attributes\n id: detailsId,\n tabindex: '-1'\n }),\n key: \"__b-table-details__\".concat(rowKey)\n }, [$details]));\n } else if (hasDetailsSlot) {\n // Only add the placeholder if a the table has a row-details slot defined (but not shown)\n $rows.push(h());\n\n if (striped) {\n // Add extra placeholder if table is striped\n $rows.push(h());\n }\n } // Return the row(s)\n\n\n return $rows;\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_ROW_CLICKED, EVENT_NAME_ROW_CONTEXTMENU, EVENT_NAME_ROW_DBLCLICKED, EVENT_NAME_ROW_MIDDLE_CLICKED } from '../../../constants/events';\nimport { CODE_DOWN, CODE_END, CODE_ENTER, CODE_HOME, CODE_SPACE, CODE_UP } from '../../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING } from '../../../constants/props';\nimport { arrayIncludes, from as arrayFrom } from '../../../utils/array';\nimport { attemptFocus, closest, isActiveElement, isElement } from '../../../utils/dom';\nimport { stopEvent } from '../../../utils/events';\nimport { sortKeys } from '../../../utils/object';\nimport { makeProp, pluckProps } from '../../../utils/props';\nimport { BTbody, props as BTbodyProps } from '../tbody';\nimport { filterEvent } from './filter-event';\nimport { textSelectionActive } from './text-selection-active';\nimport { tbodyRowMixin, props as tbodyRowProps } from './mixin-tbody-row'; // --- Helper methods ---\n\nvar getCellSlotName = function getCellSlotName(value) {\n return \"cell(\".concat(value || '', \")\");\n}; // --- Props ---\n\n\nexport var props = sortKeys(_objectSpread(_objectSpread(_objectSpread({}, BTbodyProps), tbodyRowProps), {}, {\n tbodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n})); // --- Mixin ---\n// @vue/component\n\nexport var tbodyMixin = Vue.extend({\n mixins: [tbodyRowMixin],\n props: props,\n beforeDestroy: function beforeDestroy() {\n this.$_bodyFieldSlotNameCache = null;\n },\n methods: {\n // Returns all the item TR elements (excludes detail and spacer rows)\n // `this.$refs['item-rows']` is an array of item TR components/elements\n // Rows should all be `` components, but we map to TR elements\n // Also note that `this.$refs['item-rows']` may not always be in document order\n getTbodyTrs: function getTbodyTrs() {\n var $refs = this.$refs;\n var tbody = $refs.tbody ? $refs.tbody.$el || $refs.tbody : null;\n var trs = ($refs['item-rows'] || []).map(function (tr) {\n return tr.$el || tr;\n });\n return tbody && tbody.children && tbody.children.length > 0 && trs && trs.length > 0 ? arrayFrom(tbody.children).filter(function (tr) {\n return arrayIncludes(trs, tr);\n }) :\n /* istanbul ignore next */\n [];\n },\n // Returns index of a particular TBODY item TR\n // We set `true` on closest to include self in result\n getTbodyTrIndex: function getTbodyTrIndex(el) {\n /* istanbul ignore next: should not normally happen */\n if (!isElement(el)) {\n return -1;\n }\n\n var tr = el.tagName === 'TR' ? el : closest('tr', el, true);\n return tr ? this.getTbodyTrs().indexOf(tr) : -1;\n },\n // Emits a row event, with the item object, row index and original event\n emitTbodyRowEvent: function emitTbodyRowEvent(type, event) {\n if (type && this.hasListener(type) && event && event.target) {\n var rowIndex = this.getTbodyTrIndex(event.target);\n\n if (rowIndex > -1) {\n // The array of TRs correlate to the `computedItems` array\n var item = this.computedItems[rowIndex];\n this.$emit(type, item, rowIndex, event);\n }\n }\n },\n tbodyRowEvtStopped: function tbodyRowEvtStopped(event) {\n return this.stopIfBusy && this.stopIfBusy(event);\n },\n // Delegated row event handlers\n onTbodyRowKeydown: function onTbodyRowKeydown(event) {\n // Keyboard navigation and row click emulation\n var target = event.target,\n keyCode = event.keyCode;\n\n if (this.tbodyRowEvtStopped(event) || target.tagName !== 'TR' || !isActiveElement(target) || target.tabIndex !== 0) {\n // Early exit if not an item row TR\n return;\n }\n\n if (arrayIncludes([CODE_ENTER, CODE_SPACE], keyCode)) {\n // Emulated click for keyboard users, transfer to click handler\n stopEvent(event);\n this.onTBodyRowClicked(event);\n } else if (arrayIncludes([CODE_UP, CODE_DOWN, CODE_HOME, CODE_END], keyCode)) {\n // Keyboard navigation\n var rowIndex = this.getTbodyTrIndex(target);\n\n if (rowIndex > -1) {\n stopEvent(event);\n var trs = this.getTbodyTrs();\n var shift = event.shiftKey;\n\n if (keyCode === CODE_HOME || shift && keyCode === CODE_UP) {\n // Focus first row\n attemptFocus(trs[0]);\n } else if (keyCode === CODE_END || shift && keyCode === CODE_DOWN) {\n // Focus last row\n attemptFocus(trs[trs.length - 1]);\n } else if (keyCode === CODE_UP && rowIndex > 0) {\n // Focus previous row\n attemptFocus(trs[rowIndex - 1]);\n } else if (keyCode === CODE_DOWN && rowIndex < trs.length - 1) {\n // Focus next row\n attemptFocus(trs[rowIndex + 1]);\n }\n }\n }\n },\n onTBodyRowClicked: function onTBodyRowClicked(event) {\n // Don't emit event when the table is busy, the user clicked\n // on a non-disabled control or is selecting text\n if (this.tbodyRowEvtStopped(event) || filterEvent(event) || textSelectionActive(this.$el)) {\n return;\n }\n\n this.emitTbodyRowEvent(EVENT_NAME_ROW_CLICKED, event);\n },\n onTbodyRowMiddleMouseRowClicked: function onTbodyRowMiddleMouseRowClicked(event) {\n if (!this.tbodyRowEvtStopped(event) && event.which === 2) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_MIDDLE_CLICKED, event);\n }\n },\n onTbodyRowContextmenu: function onTbodyRowContextmenu(event) {\n if (!this.tbodyRowEvtStopped(event)) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_CONTEXTMENU, event);\n }\n },\n onTbodyRowDblClicked: function onTbodyRowDblClicked(event) {\n if (!this.tbodyRowEvtStopped(event) && !filterEvent(event)) {\n this.emitTbodyRowEvent(EVENT_NAME_ROW_DBLCLICKED, event);\n }\n },\n // Render the tbody element and children\n // Note:\n // Row hover handlers are handled by the tbody-row mixin\n // As mouseenter/mouseleave events do not bubble\n renderTbody: function renderTbody() {\n var _this = this;\n\n var items = this.computedItems,\n renderBusy = this.renderBusy,\n renderTopRow = this.renderTopRow,\n renderEmpty = this.renderEmpty,\n renderBottomRow = this.renderBottomRow;\n var h = this.$createElement;\n var hasRowClickHandler = this.hasListener(EVENT_NAME_ROW_CLICKED) || this.hasSelectableRowClick; // Prepare the tbody rows\n\n var $rows = []; // Add the item data rows or the busy slot\n\n var $busy = renderBusy ? renderBusy() : null;\n\n if ($busy) {\n // If table is busy and a busy slot, then return only the busy \"row\" indicator\n $rows.push($busy);\n } else {\n // Table isn't busy, or we don't have a busy slot\n // Create a slot cache for improved performance when looking up cell slot names\n // Values will be keyed by the field's `key` and will store the slot's name\n // Slots could be dynamic (i.e. `v-if`), so we must compute on each render\n // Used by tbody-row mixin render helper\n var cache = {};\n var defaultSlotName = getCellSlotName();\n defaultSlotName = this.hasNormalizedSlot(defaultSlotName) ? defaultSlotName : null;\n this.computedFields.forEach(function (field) {\n var key = field.key;\n var slotName = getCellSlotName(key);\n var lowercaseSlotName = getCellSlotName(key.toLowerCase());\n cache[key] = _this.hasNormalizedSlot(slotName) ? slotName : _this.hasNormalizedSlot(lowercaseSlotName) ?\n /* istanbul ignore next */\n lowercaseSlotName : defaultSlotName;\n }); // Created as a non-reactive property so to not trigger component updates\n // Must be a fresh object each render\n\n this.$_bodyFieldSlotNameCache = cache; // Add static top row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n\n $rows.push(renderTopRow ? renderTopRow() : h()); // Render the rows\n\n items.forEach(function (item, rowIndex) {\n // Render the individual item row (rows if details slot)\n $rows.push(_this.renderTbodyRow(item, rowIndex));\n }); // Empty items / empty filtered row slot (only shows if `items.length < 1`)\n\n $rows.push(renderEmpty ? renderEmpty() : h()); // Static bottom row slot (hidden in visibly stacked mode\n // as we can't control `data-label` attr)\n\n $rows.push(renderBottomRow ? renderBottomRow() : h());\n } // Note: these events will only emit if a listener is registered\n\n\n var handlers = {\n auxclick: this.onTbodyRowMiddleMouseRowClicked,\n // TODO:\n // Perhaps we do want to automatically prevent the\n // default context menu from showing if there is a\n // `row-contextmenu` listener registered\n contextmenu: this.onTbodyRowContextmenu,\n // The following event(s) is not considered A11Y friendly\n dblclick: this.onTbodyRowDblClicked // Hover events (`mouseenter`/`mouseleave`) are handled by `tbody-row` mixin\n\n }; // Add in click/keydown listeners if needed\n\n if (hasRowClickHandler) {\n handlers.click = this.onTBodyRowClicked;\n handlers.keydown = this.onTbodyRowKeydown;\n } // Assemble rows into the tbody\n\n\n var $tbody = h(BTbody, {\n class: this.tbodyClass || null,\n props: pluckProps(BTbodyProps, this.$props),\n // BTbody transfers all native event listeners to the root element\n // TODO: Only set the handlers if the table is not busy\n on: handlers,\n ref: 'tbody'\n }, $rows); // Return the assembled tbody\n\n return $tbody;\n }\n }\n});","import { NAME_COLLAPSE } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_OPTIONS_PASSIVE } from '../../constants/events';\nimport { CODE_ENTER, CODE_SPACE } from '../../constants/key-codes';\nimport { RX_HASH, RX_HASH_ID, RX_SPACE_SPLIT } from '../../constants/regex';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { addClass, getAttr, hasAttr, isDisabled, isTag, removeAttr, removeClass, removeStyle, requestAF, setAttr, setStyle } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName, eventOn, eventOff } from '../../utils/events';\nimport { isString } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { keys } from '../../utils/object'; // --- Constants ---\n// Classes to apply to trigger element\n\nvar CLASS_BV_TOGGLE_COLLAPSED = 'collapsed';\nvar CLASS_BV_TOGGLE_NOT_COLLAPSED = 'not-collapsed'; // Property key for handler storage\n\nvar BV_BASE = '__BV_toggle'; // Root event listener property (Function)\n\nvar BV_TOGGLE_ROOT_HANDLER = \"\".concat(BV_BASE, \"_HANDLER__\"); // Trigger element click handler property (Function)\n\nvar BV_TOGGLE_CLICK_HANDLER = \"\".concat(BV_BASE, \"_CLICK__\"); // Target visibility state property (Boolean)\n\nvar BV_TOGGLE_STATE = \"\".concat(BV_BASE, \"_STATE__\"); // Target ID list property (Array)\n\nvar BV_TOGGLE_TARGETS = \"\".concat(BV_BASE, \"_TARGETS__\"); // Commonly used strings\n\nvar STRING_FALSE = 'false';\nvar STRING_TRUE = 'true'; // Commonly used attribute names\n\nvar ATTR_ARIA_CONTROLS = 'aria-controls';\nvar ATTR_ARIA_EXPANDED = 'aria-expanded';\nvar ATTR_ROLE = 'role';\nvar ATTR_TABINDEX = 'tabindex'; // Commonly used style properties\n\nvar STYLE_OVERFLOW_ANCHOR = 'overflow-anchor'; // Emitted control event for collapse (emitted to collapse)\n\nvar ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle'); // Listen to event for toggle state update (emitted by collapse)\n\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state'); // Private event emitted on `$root` to ensure the toggle state is always synced\n// Gets emitted even if the state of b-collapse has not changed\n// This event is NOT to be documented as people should not be using it\n\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state'); // Private event we send to collapse to request state update sync event\n\nvar ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');\nvar KEYDOWN_KEY_CODES = [CODE_ENTER, CODE_SPACE]; // --- Helper methods ---\n\nvar isNonStandardTag = function isNonStandardTag(el) {\n return !arrayIncludes(['button', 'a'], el.tagName.toLowerCase());\n};\n\nvar getTargets = function getTargets(_ref, el) {\n var modifiers = _ref.modifiers,\n arg = _ref.arg,\n value = _ref.value;\n // Any modifiers are considered target IDs\n var targets = keys(modifiers || {}); // If value is a string, split out individual targets (if space delimited)\n\n value = isString(value) ? value.split(RX_SPACE_SPLIT) : value; // Support target ID as link href (`href=\"#id\"`)\n\n if (isTag(el.tagName, 'a')) {\n var href = getAttr(el, 'href') || '';\n\n if (RX_HASH_ID.test(href)) {\n targets.push(href.replace(RX_HASH, ''));\n }\n } // Add ID from `arg` (if provided), and support value\n // as a single string ID or an array of string IDs\n // If `value` is not an array or string, then it gets filtered out\n\n\n concat(arg, value).forEach(function (t) {\n return isString(t) && targets.push(t);\n }); // Return only unique and truthy target IDs\n\n return targets.filter(function (t, index, arr) {\n return t && arr.indexOf(t) === index;\n });\n};\n\nvar removeClickListener = function removeClickListener(el) {\n var handler = el[BV_TOGGLE_CLICK_HANDLER];\n\n if (handler) {\n eventOff(el, 'click', handler, EVENT_OPTIONS_PASSIVE);\n eventOff(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE);\n }\n\n el[BV_TOGGLE_CLICK_HANDLER] = null;\n};\n\nvar addClickListener = function addClickListener(el, vnode) {\n removeClickListener(el);\n\n if (vnode.context) {\n var handler = function handler(event) {\n if (!(event.type === 'keydown' && !arrayIncludes(KEYDOWN_KEY_CODES, event.keyCode)) && !isDisabled(el)) {\n var targets = el[BV_TOGGLE_TARGETS] || [];\n targets.forEach(function (target) {\n vnode.context.$root.$emit(ROOT_ACTION_EVENT_NAME_TOGGLE, target);\n });\n }\n };\n\n el[BV_TOGGLE_CLICK_HANDLER] = handler;\n eventOn(el, 'click', handler, EVENT_OPTIONS_PASSIVE);\n\n if (isNonStandardTag(el)) {\n eventOn(el, 'keydown', handler, EVENT_OPTIONS_PASSIVE);\n }\n }\n};\n\nvar removeRootListeners = function removeRootListeners(el, vnode) {\n if (el[BV_TOGGLE_ROOT_HANDLER] && vnode.context) {\n vnode.context.$root.$off([ROOT_EVENT_NAME_STATE, ROOT_EVENT_NAME_SYNC_STATE], el[BV_TOGGLE_ROOT_HANDLER]);\n }\n\n el[BV_TOGGLE_ROOT_HANDLER] = null;\n};\n\nvar addRootListeners = function addRootListeners(el, vnode) {\n removeRootListeners(el, vnode);\n\n if (vnode.context) {\n var handler = function handler(id, state) {\n // `state` will be `true` if target is expanded\n if (arrayIncludes(el[BV_TOGGLE_TARGETS] || [], id)) {\n // Set/Clear 'collapsed' visibility class state\n el[BV_TOGGLE_STATE] = state; // Set `aria-expanded` and class state on trigger element\n\n setToggleState(el, state);\n }\n };\n\n el[BV_TOGGLE_ROOT_HANDLER] = handler; // Listen for toggle state changes (public) and sync (private)\n\n vnode.context.$root.$on([ROOT_EVENT_NAME_STATE, ROOT_EVENT_NAME_SYNC_STATE], handler);\n }\n};\n\nvar setToggleState = function setToggleState(el, state) {\n // State refers to the visibility of the collapse/sidebar\n if (state) {\n removeClass(el, CLASS_BV_TOGGLE_COLLAPSED);\n addClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED);\n setAttr(el, ATTR_ARIA_EXPANDED, STRING_TRUE);\n } else {\n removeClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED);\n addClass(el, CLASS_BV_TOGGLE_COLLAPSED);\n setAttr(el, ATTR_ARIA_EXPANDED, STRING_FALSE);\n }\n}; // Reset and remove a property from the provided element\n\n\nvar resetProp = function resetProp(el, prop) {\n el[prop] = null;\n delete el[prop];\n}; // Handle directive updates\n\n\nvar handleUpdate = function handleUpdate(el, binding, vnode) {\n /* istanbul ignore next: should never happen */\n if (!IS_BROWSER || !vnode.context) {\n return;\n } // If element is not a button or link, we add `role=\"button\"`\n // and `tabindex=\"0\"` for accessibility reasons\n\n\n if (isNonStandardTag(el)) {\n if (!hasAttr(el, ATTR_ROLE)) {\n setAttr(el, ATTR_ROLE, 'button');\n }\n\n if (!hasAttr(el, ATTR_TABINDEX)) {\n setAttr(el, ATTR_TABINDEX, '0');\n }\n } // Ensure the collapse class and `aria-*` attributes persist\n // after element is updated (either by parent re-rendering\n // or changes to this element or its contents)\n\n\n setToggleState(el, el[BV_TOGGLE_STATE]); // Parse list of target IDs\n\n var targets = getTargets(binding, el); // Ensure the `aria-controls` hasn't been overwritten\n // or removed when vnode updates\n // Also ensure to set `overflow-anchor` to `none` to prevent\n // the browser's scroll anchoring behavior\n\n /* istanbul ignore else */\n\n if (targets.length > 0) {\n setAttr(el, ATTR_ARIA_CONTROLS, targets.join(' '));\n setStyle(el, STYLE_OVERFLOW_ANCHOR, 'none');\n } else {\n removeAttr(el, ATTR_ARIA_CONTROLS);\n removeStyle(el, STYLE_OVERFLOW_ANCHOR);\n } // Add/Update our click listener(s)\n // Wrap in a `requestAF()` to allow any previous\n // click handling to occur first\n\n\n requestAF(function () {\n addClickListener(el, vnode);\n }); // If targets array has changed, update\n\n if (!looseEqual(targets, el[BV_TOGGLE_TARGETS])) {\n // Update targets array to element storage\n el[BV_TOGGLE_TARGETS] = targets; // Ensure `aria-controls` is up to date\n // Request a state update from targets so that we can\n // ensure expanded state is correct (in most cases)\n\n targets.forEach(function (target) {\n vnode.context.$root.$emit(ROOT_ACTION_EVENT_NAME_REQUEST_STATE, target);\n });\n }\n};\n/*\n * Export our directive\n */\n\n\nexport var VBToggle = {\n bind: function bind(el, binding, vnode) {\n // State is initially collapsed until we receive a state event\n el[BV_TOGGLE_STATE] = false; // Assume no targets initially\n\n el[BV_TOGGLE_TARGETS] = []; // Add our root listeners\n\n addRootListeners(el, vnode); // Initial update of trigger\n\n handleUpdate(el, binding, vnode);\n },\n componentUpdated: handleUpdate,\n updated: handleUpdate,\n unbind: function unbind(el, binding, vnode) {\n removeClickListener(el); // Remove our $root listener\n\n removeRootListeners(el, vnode); // Reset custom props\n\n resetProp(el, BV_TOGGLE_ROOT_HANDLER);\n resetProp(el, BV_TOGGLE_CLICK_HANDLER);\n resetProp(el, BV_TOGGLE_STATE);\n resetProp(el, BV_TOGGLE_TARGETS); // Reset classes/attrs/styles\n\n removeClass(el, CLASS_BV_TOGGLE_COLLAPSED);\n removeClass(el, CLASS_BV_TOGGLE_NOT_COLLAPSED);\n removeAttr(el, ATTR_ARIA_EXPANDED);\n removeAttr(el, ATTR_ARIA_CONTROLS);\n removeAttr(el, ATTR_ROLE);\n removeStyle(el, STYLE_OVERFLOW_ANCHOR);\n }\n};","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('b-sidebar', {\n attrs: {\n \"id\": \"sidebar-send-invoice\",\n \"sidebar-class\": \"sidebar-lg\",\n \"bg-variant\": \"white\",\n \"shadow\": \"\",\n \"backdrop\": \"\",\n \"no-header\": \"\",\n \"right\": \"\"\n },\n scopedSlots: _vm._u([{\n key: \"default\",\n fn: function fn(_ref) {\n var hide = _ref.hide;\n return [_c('div', {\n staticClass: \"d-flex justify-content-between align-items-center content-sidebar-header px-2 py-1\"\n }, [_c('h5', {\n staticClass: \"mb-0\"\n }, [_vm._v(\" Send Invoice \")]), _c('feather-icon', {\n staticClass: \"ml-1 cursor-pointer\",\n attrs: {\n \"icon\": \"XIcon\",\n \"size\": \"16\"\n },\n on: {\n \"click\": hide\n }\n })], 1), _c('b-form', {\n staticClass: \"p-2\",\n on: {\n \"submit\": function submit($event) {\n $event.preventDefault();\n }\n }\n }, [_c('b-form-group', {\n attrs: {\n \"label\": \"From\",\n \"label-for\": \"from\"\n }\n }, [_c('b-form-input', {\n attrs: {\n \"id\": \"from\",\n \"trim\": \"\",\n \"type\": \"email\"\n },\n model: {\n value: _vm.sendInvoiceData.from,\n callback: function callback($$v) {\n _vm.$set(_vm.sendInvoiceData, \"from\", $$v);\n },\n expression: \"sendInvoiceData.from\"\n }\n })], 1), _c('b-form-group', {\n attrs: {\n \"label\": \"To\",\n \"label-for\": \"to\"\n }\n }, [_c('b-form-input', {\n attrs: {\n \"id\": \"to\",\n \"trim\": \"\",\n \"type\": \"email\"\n },\n model: {\n value: _vm.sendInvoiceData.to,\n callback: function callback($$v) {\n _vm.$set(_vm.sendInvoiceData, \"to\", $$v);\n },\n expression: \"sendInvoiceData.to\"\n }\n })], 1), _c('b-form-group', {\n attrs: {\n \"label\": \"Subject\",\n \"label-for\": \"subject\"\n }\n }, [_c('b-form-input', {\n attrs: {\n \"id\": \"subject\",\n \"trim\": \"\"\n },\n model: {\n value: _vm.sendInvoiceData.subject,\n callback: function callback($$v) {\n _vm.$set(_vm.sendInvoiceData, \"subject\", $$v);\n },\n expression: \"sendInvoiceData.subject\"\n }\n })], 1), _c('b-form-group', {\n attrs: {\n \"label\": \"Message\",\n \"label-for\": \"message\"\n }\n }, [_c('b-form-textarea', {\n attrs: {\n \"id\": \"message\",\n \"rows\": \"12\",\n \"trim\": \"\"\n },\n model: {\n value: _vm.sendInvoiceData.message,\n callback: function callback($$v) {\n _vm.$set(_vm.sendInvoiceData, \"message\", $$v);\n },\n expression: \"sendInvoiceData.message\"\n }\n })], 1), _c('b-badge', {\n attrs: {\n \"variant\": \"light-primary\"\n }\n }, [_c('feather-icon', {\n attrs: {\n \"icon\": \"LinkIcon\"\n }\n }), _c('span', {\n staticClass: \"ml-50\"\n }, [_vm._v(\"Invoice Attached\")])], 1), _c('div', {\n staticClass: \"d-flex mt-2\"\n }, [_c('b-button', {\n directives: [{\n name: \"ripple\",\n rawName: \"v-ripple.400\",\n value: 'rgba(255, 255, 255, 0.15)',\n expression: \"'rgba(255, 255, 255, 0.15)'\",\n modifiers: {\n \"400\": true\n }\n }],\n staticClass: \"mr-2\",\n attrs: {\n \"variant\": \"primary\",\n \"type\": \"submit\"\n },\n on: {\n \"click\": hide\n }\n }, [_vm._v(\" Send \")]), _c('b-button', {\n directives: [{\n name: \"ripple\",\n rawName: \"v-ripple.400\",\n value: 'rgba(186, 191, 199, 0.15)',\n expression: \"'rgba(186, 191, 199, 0.15)'\",\n modifiers: {\n \"400\": true\n }\n }],\n attrs: {\n \"variant\": \"outline-secondary\"\n },\n on: {\n \"click\": hide\n }\n }, [_vm._v(\" Cancel \")])], 1)], 1)];\n }\n }])\n });\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceSidebarSendInvoice.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/babel-loader/lib/index.js!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceSidebarSendInvoice.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InvoiceSidebarSendInvoice.vue?vue&type=template&id=195d246a&\"\nimport script from \"./InvoiceSidebarSendInvoice.vue?vue&type=script&lang=js&\"\nexport * from \"./InvoiceSidebarSendInvoice.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { Vue } from '../../../vue';\nimport { PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_TABLE_CAPTION } from '../../../constants/slots';\nimport { htmlOrText } from '../../../utils/html';\nimport { makeProp } from '../../../utils/props'; // --- Props ---\n\nexport var props = {\n caption: makeProp(PROP_TYPE_STRING),\n captionHtml: makeProp(PROP_TYPE_STRING) // `caption-top` is part of table-render mixin (styling)\n // captionTop: makeProp(PROP_TYPE_BOOLEAN, false)\n\n}; // --- Mixin ---\n// @vue/component\n\nexport var captionMixin = Vue.extend({\n props: props,\n computed: {\n captionId: function captionId() {\n // Even though `this.safeId` looks like a method, it is a computed prop\n // that returns a new function if the underlying ID changes\n return this.isStacked ? this.safeId('_caption_') : null;\n }\n },\n methods: {\n renderCaption: function renderCaption() {\n var caption = this.caption,\n captionHtml = this.captionHtml;\n var h = this.$createElement;\n var $caption = h();\n var hasCaptionSlot = this.hasNormalizedSlot(SLOT_NAME_TABLE_CAPTION);\n\n if (hasCaptionSlot || caption || captionHtml) {\n $caption = h('caption', {\n attrs: {\n id: this.captionId\n },\n domProps: hasCaptionSlot ? {} : htmlOrText(captionHtml, caption),\n key: 'caption'\n }, this.normalizeSlot(SLOT_NAME_TABLE_CAPTION));\n }\n\n return $caption;\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../vue';\nimport { EVENT_NAME_BLUR, EVENT_NAME_CHANGE, EVENT_NAME_INPUT, EVENT_NAME_UPDATE, HOOK_EVENT_NAME_BEFORE_DESTROY } from '../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_FUNCTION, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptBlur, attemptFocus } from '../utils/dom';\nimport { stopEvent } from '../utils/events';\nimport { mathMax } from '../utils/math';\nimport { makeModelMixin } from '../utils/model';\nimport { toInteger, toFloat } from '../utils/number';\nimport { sortKeys } from '../utils/object';\nimport { hasPropFunction, makeProp, makePropsConfigurable } from '../utils/props';\nimport { toString } from '../utils/string'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_NUMBER_STRING,\n defaultValue: '',\n event: EVENT_NAME_UPDATE\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n ariaInvalid: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n autocomplete: makeProp(PROP_TYPE_STRING),\n // Debounce timeout (in ms). Not applicable with `lazy` prop\n debounce: makeProp(PROP_TYPE_NUMBER_STRING, 0),\n formatter: makeProp(PROP_TYPE_FUNCTION),\n // Only update the `v-model` on blur/change events\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n lazyFormatter: makeProp(PROP_TYPE_BOOLEAN, false),\n number: makeProp(PROP_TYPE_BOOLEAN, false),\n placeholder: makeProp(PROP_TYPE_STRING),\n plaintext: makeProp(PROP_TYPE_BOOLEAN, false),\n readonly: makeProp(PROP_TYPE_BOOLEAN, false),\n trim: makeProp(PROP_TYPE_BOOLEAN, false)\n})), 'formTextControls'); // --- Mixin ---\n// @vue/component\n\nexport var formTextMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var value = this[MODEL_PROP_NAME];\n return {\n localValue: toString(value),\n vModelValue: this.modifyValue(value)\n };\n },\n computed: {\n computedClass: function computedClass() {\n var plaintext = this.plaintext,\n type = this.type;\n var isRange = type === 'range';\n var isColor = type === 'color';\n return [{\n // Range input needs class `custom-range`\n 'custom-range': isRange,\n // `plaintext` not supported by `type=\"range\"` or `type=\"color\"`\n 'form-control-plaintext': plaintext && !isRange && !isColor,\n // `form-control` not used by `type=\"range\"` or `plaintext`\n // Always used by `type=\"color\"`\n 'form-control': isColor || !plaintext && !isRange\n }, this.sizeFormClass, this.stateClass];\n },\n computedDebounce: function computedDebounce() {\n // Ensure we have a positive number equal to or greater than 0\n return mathMax(toInteger(this.debounce, 0), 0);\n },\n hasFormatter: function hasFormatter() {\n return hasPropFunction(this.formatter);\n }\n },\n watch: _defineProperty({}, MODEL_PROP_NAME, function (newValue) {\n var stringifyValue = toString(newValue);\n var modifiedValue = this.modifyValue(newValue);\n\n if (stringifyValue !== this.localValue || modifiedValue !== this.vModelValue) {\n // Clear any pending debounce timeout, as we are overwriting the user input\n this.clearDebounce(); // Update the local values\n\n this.localValue = stringifyValue;\n this.vModelValue = modifiedValue;\n }\n }),\n created: function created() {\n // Create private non-reactive props\n this.$_inputDebounceTimer = null;\n },\n mounted: function mounted() {\n // Set up destroy handler\n this.$on(HOOK_EVENT_NAME_BEFORE_DESTROY, this.clearDebounce);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearDebounce();\n },\n methods: {\n clearDebounce: function clearDebounce() {\n clearTimeout(this.$_inputDebounceTimer);\n this.$_inputDebounceTimer = null;\n },\n formatValue: function formatValue(value, event) {\n var force = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n value = toString(value);\n\n if (this.hasFormatter && (!this.lazyFormatter || force)) {\n value = this.formatter(value, event);\n }\n\n return value;\n },\n modifyValue: function modifyValue(value) {\n value = toString(value); // Emulate `.trim` modifier behaviour\n\n if (this.trim) {\n value = value.trim();\n } // Emulate `.number` modifier behaviour\n\n\n if (this.number) {\n value = toFloat(value, value);\n }\n\n return value;\n },\n updateValue: function updateValue(value) {\n var _this = this;\n\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var lazy = this.lazy;\n\n if (lazy && !force) {\n return;\n } // Make sure to always clear the debounce when `updateValue()`\n // is called, even when the v-model hasn't changed\n\n\n this.clearDebounce(); // Define the shared update logic in a method to be able to use\n // it for immediate and debounced value changes\n\n var doUpdate = function doUpdate() {\n value = _this.modifyValue(value);\n\n if (value !== _this.vModelValue) {\n _this.vModelValue = value;\n\n _this.$emit(MODEL_EVENT_NAME, value);\n } else if (_this.hasFormatter) {\n // When the `vModelValue` hasn't changed but the actual input value\n // is out of sync, make sure to change it to the given one\n // Usually caused by browser autocomplete and how it triggers the\n // change or input event, or depending on the formatter function\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/2657\n // https://github.com/bootstrap-vue/bootstrap-vue/issues/3498\n\n /* istanbul ignore next: hard to test */\n var $input = _this.$refs.input;\n /* istanbul ignore if: hard to test out of sync value */\n\n if ($input && value !== $input.value) {\n $input.value = value;\n }\n }\n }; // Only debounce the value update when a value greater than `0`\n // is set and we are not in lazy mode or this is a forced update\n\n\n var debounce = this.computedDebounce;\n\n if (debounce > 0 && !lazy && !force) {\n this.$_inputDebounceTimer = setTimeout(doUpdate, debounce);\n } else {\n // Immediately update the v-model\n doUpdate();\n }\n },\n onInput: function onInput(event) {\n // `event.target.composing` is set by Vue\n // https://github.com/vuejs/vue/blob/dev/src/platforms/web/runtime/directives/model.js\n // TODO: Is this needed now with the latest Vue?\n\n /* istanbul ignore if: hard to test composition events */\n if (event.target.composing) {\n return;\n }\n\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue);\n this.$emit(EVENT_NAME_INPUT, formattedValue);\n },\n onChange: function onChange(event) {\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event); // Exit when the `formatter` function strictly returned `false`\n // or prevented the input event\n\n /* istanbul ignore next */\n\n if (formattedValue === false || event.defaultPrevented) {\n stopEvent(event, {\n propagation: false\n });\n return;\n }\n\n this.localValue = formattedValue;\n this.updateValue(formattedValue, true);\n this.$emit(EVENT_NAME_CHANGE, formattedValue);\n },\n onBlur: function onBlur(event) {\n // Apply the `localValue` on blur to prevent cursor jumps\n // on mobile browsers (e.g. caused by autocomplete)\n var value = event.target.value;\n var formattedValue = this.formatValue(value, event, true);\n\n if (formattedValue !== false) {\n // We need to use the modified value here to apply the\n // `.trim` and `.number` modifiers properly\n this.localValue = toString(this.modifyValue(formattedValue)); // We pass the formatted value here since the `updateValue` method\n // handles the modifiers itself\n\n this.updateValue(formattedValue, true);\n } // Emit native blur event\n\n\n this.$emit(EVENT_NAME_BLUR, event);\n },\n focus: function focus() {\n // For external handler that may want a focus method\n if (!this.disabled) {\n attemptFocus(this.$el);\n }\n },\n blur: function blur() {\n // For external handler that may want a blur method\n if (!this.disabled) {\n attemptBlur(this.$el);\n }\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_INPUT } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes } from '../../utils/array';\nimport { attemptBlur } from '../../utils/dom';\nimport { eventOn, eventOff, eventOnOff, stopEvent } from '../../utils/events';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formSelectionMixin } from '../../mixins/form-selection';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { formTextMixin, props as formTextProps } from '../../mixins/form-text';\nimport { formValidityMixin } from '../../mixins/form-validity';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenersMixin } from '../../mixins/listeners'; // --- Constants ---\n// Valid supported input types\n\nvar TYPES = ['text', 'password', 'email', 'number', 'url', 'tel', 'search', 'range', 'color', 'date', 'time', 'datetime', 'datetime-local', 'month', 'week']; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n list: makeProp(PROP_TYPE_STRING),\n max: makeProp(PROP_TYPE_NUMBER_STRING),\n min: makeProp(PROP_TYPE_NUMBER_STRING),\n // Disable mousewheel to prevent wheel from changing values (i.e. number/date)\n noWheel: makeProp(PROP_TYPE_BOOLEAN, false),\n step: makeProp(PROP_TYPE_NUMBER_STRING),\n type: makeProp(PROP_TYPE_STRING, 'text', function (type) {\n return arrayIncludes(TYPES, type);\n })\n})), NAME_FORM_INPUT); // --- Main component ---\n// @vue/component\n\nexport var BFormInput = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_INPUT,\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n computed: {\n localType: function localType() {\n // We only allow certain types\n var type = this.type;\n return arrayIncludes(TYPES, type) ? type : 'text';\n },\n computedAttrs: function computedAttrs() {\n var type = this.localType,\n name = this.name,\n form = this.form,\n disabled = this.disabled,\n placeholder = this.placeholder,\n required = this.required,\n min = this.min,\n max = this.max,\n step = this.step;\n return {\n id: this.safeId(),\n name: name,\n form: form,\n type: type,\n disabled: disabled,\n placeholder: placeholder,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n min: min,\n max: max,\n step: step,\n list: type !== 'password' ? this.list : null,\n 'aria-required': required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n };\n },\n computedListeners: function computedListeners() {\n return _objectSpread(_objectSpread({}, this.bvListeners), {}, {\n input: this.onInput,\n change: this.onChange,\n blur: this.onBlur\n });\n }\n },\n watch: {\n noWheel: function noWheel(newValue) {\n this.setWheelStopper(newValue);\n }\n },\n mounted: function mounted() {\n this.setWheelStopper(this.noWheel);\n },\n\n /* istanbul ignore next */\n deactivated: function deactivated() {\n // Turn off listeners when keep-alive component deactivated\n\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n // Turn on listeners (if no-wheel) when keep-alive component activated\n\n /* istanbul ignore next */\n this.setWheelStopper(this.noWheel);\n },\n beforeDestroy: function beforeDestroy() {\n /* istanbul ignore next */\n this.setWheelStopper(false);\n },\n methods: {\n setWheelStopper: function setWheelStopper(on) {\n var input = this.$el; // We use native events, so that we don't interfere with propagation\n\n eventOnOff(on, input, 'focus', this.onWheelFocus);\n eventOnOff(on, input, 'blur', this.onWheelBlur);\n\n if (!on) {\n eventOff(document, 'wheel', this.stopWheel);\n }\n },\n onWheelFocus: function onWheelFocus() {\n eventOn(document, 'wheel', this.stopWheel);\n },\n onWheelBlur: function onWheelBlur() {\n eventOff(document, 'wheel', this.stopWheel);\n },\n stopWheel: function stopWheel(event) {\n stopEvent(event, {\n propagation: false\n });\n attemptBlur(this.$el);\n }\n },\n render: function render(h) {\n return h('input', {\n class: this.computedClass,\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\n });\n }\n});","function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_IMG } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { concat } from '../../utils/array';\nimport { identity } from '../../utils/identity';\nimport { isString } from '../../utils/inspect';\nimport { toInteger } from '../../utils/number';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Constants --\n// Blank image with fill template\n\nvar BLANK_TEMPLATE = '' + '' + ''; // --- Helper methods ---\n\nvar makeBlankImgSrc = function makeBlankImgSrc(width, height, color) {\n var src = encodeURIComponent(BLANK_TEMPLATE.replace('%{w}', toString(width)).replace('%{h}', toString(height)).replace('%{f}', color));\n return \"data:image/svg+xml;charset=UTF-8,\".concat(src);\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable({\n alt: makeProp(PROP_TYPE_STRING),\n blank: makeProp(PROP_TYPE_BOOLEAN, false),\n blankColor: makeProp(PROP_TYPE_STRING, 'transparent'),\n block: makeProp(PROP_TYPE_BOOLEAN, false),\n center: makeProp(PROP_TYPE_BOOLEAN, false),\n fluid: makeProp(PROP_TYPE_BOOLEAN, false),\n // Gives fluid images class `w-100` to make them grow to fit container\n fluidGrow: makeProp(PROP_TYPE_BOOLEAN, false),\n height: makeProp(PROP_TYPE_NUMBER_STRING),\n left: makeProp(PROP_TYPE_BOOLEAN, false),\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n // Possible values:\n // `false`: no rounding of corners\n // `true`: slightly rounded corners\n // 'top': top corners rounded\n // 'right': right corners rounded\n // 'bottom': bottom corners rounded\n // 'left': left corners rounded\n // 'circle': circle/oval\n // '0': force rounding off\n rounded: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n sizes: makeProp(PROP_TYPE_ARRAY_STRING),\n src: makeProp(PROP_TYPE_STRING),\n srcset: makeProp(PROP_TYPE_ARRAY_STRING),\n thumbnail: makeProp(PROP_TYPE_BOOLEAN, false),\n width: makeProp(PROP_TYPE_NUMBER_STRING)\n}, NAME_IMG); // --- Main component ---\n// @vue/component\n\nexport var BImg = /*#__PURE__*/Vue.extend({\n name: NAME_IMG,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _class;\n\n var props = _ref.props,\n data = _ref.data;\n var alt = props.alt,\n src = props.src,\n block = props.block,\n fluidGrow = props.fluidGrow,\n rounded = props.rounded;\n var width = toInteger(props.width) || null;\n var height = toInteger(props.height) || null;\n var align = null;\n var srcset = concat(props.srcset).filter(identity).join(',');\n var sizes = concat(props.sizes).filter(identity).join(',');\n\n if (props.blank) {\n if (!height && width) {\n height = width;\n } else if (!width && height) {\n width = height;\n }\n\n if (!width && !height) {\n width = 1;\n height = 1;\n } // Make a blank SVG image\n\n\n src = makeBlankImgSrc(width, height, props.blankColor || 'transparent'); // Disable srcset and sizes\n\n srcset = null;\n sizes = null;\n }\n\n if (props.left) {\n align = 'float-left';\n } else if (props.right) {\n align = 'float-right';\n } else if (props.center) {\n align = 'mx-auto';\n block = true;\n }\n\n return h('img', mergeData(data, {\n attrs: {\n src: src,\n alt: alt,\n width: width ? toString(width) : null,\n height: height ? toString(height) : null,\n srcset: srcset || null,\n sizes: sizes || null\n },\n class: (_class = {\n 'img-thumbnail': props.thumbnail,\n 'img-fluid': props.fluid || fluidGrow,\n 'w-100': fluidGrow,\n rounded: rounded === '' || rounded === true\n }, _defineProperty(_class, \"rounded-\".concat(rounded), isString(rounded) && rounded !== ''), _defineProperty(_class, align, align), _defineProperty(_class, 'd-block', block), _class)\n }));\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TITLE } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n title: makeProp(PROP_TYPE_STRING),\n titleTag: makeProp(PROP_TYPE_STRING, 'h4')\n}, NAME_CARD_TITLE); // --- Main component ---\n// @vue/component\n\nexport var BCardTitle = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TITLE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.titleTag, mergeData(data, {\n staticClass: 'card-title'\n }), children || toString(props.title));\n }\n});","import { identity } from '../../../utils/identity';\nimport { isArray, isFunction, isObject, isString } from '../../../utils/inspect';\nimport { clone, keys } from '../../../utils/object';\nimport { startCase } from '../../../utils/string';\nimport { IGNORED_FIELD_KEYS } from './constants'; // Private function to massage field entry into common object format\n\nvar processField = function processField(key, value) {\n var field = null;\n\n if (isString(value)) {\n // Label shortcut\n field = {\n key: key,\n label: value\n };\n } else if (isFunction(value)) {\n // Formatter shortcut\n field = {\n key: key,\n formatter: value\n };\n } else if (isObject(value)) {\n field = clone(value);\n field.key = field.key || key;\n } else if (value !== false) {\n // Fallback to just key\n\n /* istanbul ignore next */\n field = {\n key: key\n };\n }\n\n return field;\n}; // We normalize fields into an array of objects\n// [ { key:..., label:..., ...}, {...}, ..., {..}]\n\n\nexport var normalizeFields = function normalizeFields(origFields, items) {\n var fields = [];\n\n if (isArray(origFields)) {\n // Normalize array Form\n origFields.filter(identity).forEach(function (f) {\n if (isString(f)) {\n fields.push({\n key: f,\n label: startCase(f)\n });\n } else if (isObject(f) && f.key && isString(f.key)) {\n // Full object definition. We use assign so that we don't mutate the original\n fields.push(clone(f));\n } else if (isObject(f) && keys(f).length === 1) {\n // Shortcut object (i.e. { 'foo_bar': 'This is Foo Bar' }\n var key = keys(f)[0];\n var field = processField(key, f[key]);\n\n if (field) {\n fields.push(field);\n }\n }\n });\n } // If no field provided, take a sample from first record (if exits)\n\n\n if (fields.length === 0 && isArray(items) && items.length > 0) {\n var sample = items[0];\n keys(sample).forEach(function (k) {\n if (!IGNORED_FIELD_KEYS[k]) {\n fields.push({\n key: k,\n label: startCase(k)\n });\n }\n });\n } // Ensure we have a unique array of fields and that they have String labels\n\n\n var memo = {};\n return fields.filter(function (f) {\n if (!memo[f.key]) {\n memo[f.key] = true;\n f.label = isString(f.label) ? f.label : startCase(f.key);\n return true;\n }\n\n return false;\n });\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_CONTEXT_CHANGED } from '../../../constants/events';\nimport { PROP_TYPE_ARRAY, PROP_TYPE_STRING } from '../../../constants/props';\nimport { isArray, isFunction, isString } from '../../../utils/inspect';\nimport { looseEqual } from '../../../utils/loose-equal';\nimport { mathMax } from '../../../utils/math';\nimport { makeModelMixin } from '../../../utils/model';\nimport { toInteger } from '../../../utils/number';\nimport { clone, sortKeys } from '../../../utils/object';\nimport { makeProp } from '../../../utils/props';\nimport { normalizeFields } from './normalize-fields'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('value', {\n type: PROP_TYPE_ARRAY,\n defaultValue: []\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event;\n\nexport { MODEL_PROP_NAME, MODEL_EVENT_NAME }; // --- Props ---\n\nexport var props = sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, _defineProperty({\n fields: makeProp(PROP_TYPE_ARRAY, null),\n // Provider mixin adds in `Function` type\n items: makeProp(PROP_TYPE_ARRAY, []),\n // Primary key for record\n // If provided the value in each row must be unique!\n primaryKey: makeProp(PROP_TYPE_STRING)\n}, MODEL_PROP_NAME, makeProp(PROP_TYPE_ARRAY, [])))); // --- Mixin ---\n// @vue/component\n\nexport var itemsMixin = Vue.extend({\n mixins: [modelMixin],\n props: props,\n data: function data() {\n var items = this.items;\n return {\n // Our local copy of the items\n // Must be an array\n localItems: isArray(items) ? items.slice() : []\n };\n },\n computed: {\n computedFields: function computedFields() {\n // We normalize fields into an array of objects\n // `[ { key:..., label:..., ...}, {...}, ..., {..}]`\n return normalizeFields(this.fields, this.localItems);\n },\n computedFieldsObj: function computedFieldsObj() {\n // Fields as a simple lookup hash object\n // Mainly for formatter lookup and use in `scopedSlots` for convenience\n // If the field has a formatter, it normalizes formatter to a\n // function ref or `undefined` if no formatter\n var $parent = this.$parent;\n return this.computedFields.reduce(function (obj, f) {\n // We use object spread here so we don't mutate the original field object\n obj[f.key] = clone(f);\n\n if (f.formatter) {\n // Normalize formatter to a function ref or `undefined`\n var formatter = f.formatter;\n\n if (isString(formatter) && isFunction($parent[formatter])) {\n formatter = $parent[formatter];\n } else if (!isFunction(formatter)) {\n /* istanbul ignore next */\n formatter = undefined;\n } // Return formatter function or `undefined` if none\n\n\n obj[f.key].formatter = formatter;\n }\n\n return obj;\n }, {});\n },\n computedItems: function computedItems() {\n // Fallback if various mixins not provided\n return (this.paginatedItems || this.sortedItems || this.filteredItems || this.localItems ||\n /* istanbul ignore next */\n []).slice();\n },\n context: function context() {\n // Current state of sorting, filtering and pagination props/values\n return {\n filter: this.localFilter,\n sortBy: this.localSortBy,\n sortDesc: this.localSortDesc,\n perPage: mathMax(toInteger(this.perPage, 0), 0),\n currentPage: mathMax(toInteger(this.currentPage, 0), 1),\n apiUrl: this.apiUrl\n };\n }\n },\n watch: {\n items: function items(newValue) {\n // Set `localItems`/`filteredItems` to a copy of the provided array\n this.localItems = isArray(newValue) ? newValue.slice() : [];\n },\n // Watch for changes on `computedItems` and update the `v-model`\n computedItems: function computedItems(newValue, oldValue) {\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n },\n // Watch for context changes\n context: function context(newValue, oldValue) {\n // Emit context information for external paging/filtering/sorting handling\n if (!looseEqual(newValue, oldValue)) {\n this.$emit(EVENT_NAME_CONTEXT_CHANGED, newValue);\n }\n }\n },\n mounted: function mounted() {\n // Initially update the `v-model` of displayed items\n this.$emit(MODEL_EVENT_NAME, this.computedItems);\n },\n methods: {\n // Method to get the formatter method for a given field key\n getFieldFormatter: function getFieldFormatter(key) {\n var field = this.computedFieldsObj[key]; // `this.computedFieldsObj` has pre-normalized the formatter to a\n // function ref if present, otherwise `undefined`\n\n return field ? field.formatter : undefined;\n }\n }\n});","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { COMPONENT_UID_KEY, Vue } from '../../vue';\nimport { NAME_ALERT } from '../../constants/components';\nimport { EVENT_NAME_DISMISSED, EVENT_NAME_DISMISS_COUNT_DOWN } from '../../constants/events';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DISMISS } from '../../constants/slots';\nimport { requestAF } from '../../utils/dom';\nimport { isBoolean, isNumeric } from '../../utils/inspect';\nimport { makeModelMixin } from '../../utils/model';\nimport { toInteger } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BButtonClose } from '../button/button-close';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar _makeModelMixin = makeModelMixin('show', {\n type: PROP_TYPE_BOOLEAN_NUMBER_STRING,\n defaultValue: false\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Helper methods ---\n// Convert `show` value to a number\n\n\nvar parseCountDown = function parseCountDown(show) {\n if (show === '' || isBoolean(show)) {\n return 0;\n }\n\n show = toInteger(show, 0);\n return show > 0 ? show : 0;\n}; // Convert `show` value to a boolean\n\n\nvar parseShow = function parseShow(show) {\n if (show === '' || show === true) {\n return true;\n }\n\n if (toInteger(show, 0) < 1) {\n // Boolean will always return false for the above comparison\n return false;\n }\n\n return !!show;\n}; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, modelProps), {}, {\n dismissLabel: makeProp(PROP_TYPE_STRING, 'Close'),\n dismissible: makeProp(PROP_TYPE_BOOLEAN, false),\n fade: makeProp(PROP_TYPE_BOOLEAN, false),\n variant: makeProp(PROP_TYPE_STRING, 'info')\n})), NAME_ALERT); // --- Main component ---\n// @vue/component\n\nexport var BAlert = /*#__PURE__*/Vue.extend({\n name: NAME_ALERT,\n mixins: [modelMixin, normalizeSlotMixin],\n props: props,\n data: function data() {\n return {\n countDown: 0,\n // If initially shown, we need to set these for SSR\n localShow: parseShow(this[MODEL_PROP_NAME])\n };\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue) {\n this.countDown = parseCountDown(newValue);\n this.localShow = parseShow(newValue);\n }), _defineProperty(_watch, \"countDown\", function countDown(newValue) {\n var _this = this;\n\n this.clearCountDownInterval();\n var show = this[MODEL_PROP_NAME]; // Ignore if `show` transitions to a boolean value\n\n if (isNumeric(show)) {\n this.$emit(EVENT_NAME_DISMISS_COUNT_DOWN, newValue); // Update the v-model if needed\n\n if (show !== newValue) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n\n if (newValue > 0) {\n this.localShow = true;\n this.$_countDownTimeout = setTimeout(function () {\n _this.countDown--;\n }, 1000);\n } else {\n // Slightly delay the hide to allow any UI updates\n this.$nextTick(function () {\n requestAF(function () {\n _this.localShow = false;\n });\n });\n }\n }\n }), _defineProperty(_watch, \"localShow\", function localShow(newValue) {\n var show = this[MODEL_PROP_NAME]; // Only emit dismissed events for dismissible or auto-dismissing alerts\n\n if (!newValue && (this.dismissible || isNumeric(show))) {\n this.$emit(EVENT_NAME_DISMISSED);\n } // Only emit booleans if we weren't passed a number via v-model\n\n\n if (!isNumeric(show) && show !== newValue) {\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _watch),\n created: function created() {\n // Create private non-reactive props\n this.$_filterTimer = null;\n var show = this[MODEL_PROP_NAME];\n this.countDown = parseCountDown(show);\n this.localShow = parseShow(show);\n },\n beforeDestroy: function beforeDestroy() {\n this.clearCountDownInterval();\n },\n methods: {\n dismiss: function dismiss() {\n this.clearCountDownInterval();\n this.countDown = 0;\n this.localShow = false;\n },\n clearCountDownInterval: function clearCountDownInterval() {\n clearTimeout(this.$_countDownTimeout);\n this.$_countDownTimeout = null;\n }\n },\n render: function render(h) {\n var $alert = h();\n\n if (this.localShow) {\n var dismissible = this.dismissible,\n variant = this.variant;\n var $dismissButton = h();\n\n if (dismissible) {\n // Add dismiss button\n $dismissButton = h(BButtonClose, {\n attrs: {\n 'aria-label': this.dismissLabel\n },\n on: {\n click: this.dismiss\n }\n }, [this.normalizeSlot(SLOT_NAME_DISMISS)]);\n }\n\n $alert = h('div', {\n staticClass: 'alert',\n class: _defineProperty({\n 'alert-dismissible': dismissible\n }, \"alert-\".concat(variant), variant),\n attrs: {\n role: 'alert',\n 'aria-live': 'polite',\n 'aria-atomic': true\n },\n key: this[COMPONENT_UID_KEY]\n }, [$dismissButton, this.normalizeSlot()]);\n }\n\n return h(BVTransition, {\n props: {\n noFade: !this.fade\n }\n }, [$alert]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_BODY } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN } from '../../constants/props';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, pluckProps, prefixPropName } from '../../utils/props';\nimport { props as cardProps } from '../../mixins/card';\nimport { BCardTitle, props as titleProps } from './card-title';\nimport { BCardSubTitle, props as subTitleProps } from './card-sub-title'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, titleProps), subTitleProps), copyProps(cardProps, prefixPropName.bind(null, 'body'))), {}, {\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n overlay: makeProp(PROP_TYPE_BOOLEAN, false)\n})), NAME_CARD_BODY); // --- Main component ---\n// @vue/component\n\nexport var BCardBody = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_BODY,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var bodyBgVariant = props.bodyBgVariant,\n bodyBorderVariant = props.bodyBorderVariant,\n bodyTextVariant = props.bodyTextVariant;\n var $title = h();\n\n if (props.title) {\n $title = h(BCardTitle, {\n props: pluckProps(titleProps, props)\n });\n }\n\n var $subTitle = h();\n\n if (props.subTitle) {\n $subTitle = h(BCardSubTitle, {\n props: pluckProps(subTitleProps, props),\n class: ['mb-2']\n });\n }\n\n return h(props.bodyTag, mergeData(data, {\n staticClass: 'card-body',\n class: [(_ref2 = {\n 'card-img-overlay': props.overlay\n }, _defineProperty(_ref2, \"bg-\".concat(bodyBgVariant), bodyBgVariant), _defineProperty(_ref2, \"border-\".concat(bodyBorderVariant), bodyBorderVariant), _defineProperty(_ref2, \"text-\".concat(bodyTextVariant), bodyTextVariant), _ref2), props.bodyClass]\n }), [$title, $subTitle, children]);\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_FOOTER } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { htmlOrText } from '../../utils/html';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, prefixPropName } from '../../utils/props';\nimport { props as BCardProps } from '../../mixins/card'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, copyProps(BCardProps, prefixPropName.bind(null, 'footer'))), {}, {\n footer: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n footerHtml: makeProp(PROP_TYPE_STRING)\n})), NAME_CARD_FOOTER); // --- Main component ---\n// @vue/component\n\nexport var BCardFooter = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_FOOTER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var footerBgVariant = props.footerBgVariant,\n footerBorderVariant = props.footerBorderVariant,\n footerTextVariant = props.footerTextVariant;\n return h(props.footerTag, mergeData(data, {\n staticClass: 'card-footer',\n class: [props.footerClass, (_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(footerBgVariant), footerBgVariant), _defineProperty(_ref2, \"border-\".concat(footerBorderVariant), footerBorderVariant), _defineProperty(_ref2, \"text-\".concat(footerTextVariant), footerTextVariant), _ref2)],\n domProps: children ? {} : htmlOrText(props.footerHtml, props.footer)\n }), children);\n }\n});","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n// v-b-visible\n// Private visibility check directive\n// Based on IntersectionObserver\n//\n// Usage:\n// v-b-visibility..=\"\"\n//\n// Value:\n// : method to be called when visibility state changes, receives one arg:\n// true: element is visible\n// false: element is not visible\n// null: IntersectionObserver not supported\n//\n// Modifiers:\n// : a positive decimal value of pixels away from viewport edge\n// before being considered \"visible\". default is 0\n// : keyword 'once', meaning when the element becomes visible and\n// callback is called observation/notification will stop.\n//\n// When used in a render function:\n// export default {\n// directives: { 'b-visible': VBVisible },\n// render(h) {\n// h(\n// 'div',\n// {\n// directives: [\n// { name: 'b-visible', value=this.callback, modifiers: { '123':true, 'once':true } }\n// ]\n// }\n// )\n// }\nimport { RX_DIGITS } from '../../constants/regex';\nimport { requestAF } from '../../utils/dom';\nimport { isFunction } from '../../utils/inspect';\nimport { looseEqual } from '../../utils/loose-equal';\nimport { clone, keys } from '../../utils/object';\nvar OBSERVER_PROP_NAME = '__bv__visibility_observer';\n\nvar VisibilityObserver = /*#__PURE__*/function () {\n function VisibilityObserver(el, options, vnode) {\n _classCallCheck(this, VisibilityObserver);\n\n this.el = el;\n this.callback = options.callback;\n this.margin = options.margin || 0;\n this.once = options.once || false;\n this.observer = null;\n this.visible = undefined;\n this.doneOnce = false; // Create the observer instance (if possible)\n\n this.createObserver(vnode);\n }\n\n _createClass(VisibilityObserver, [{\n key: \"createObserver\",\n value: function createObserver(vnode) {\n var _this = this;\n\n // Remove any previous observer\n if (this.observer) {\n /* istanbul ignore next */\n this.stop();\n } // Should only be called once and `callback` prop should be a function\n\n\n if (this.doneOnce || !isFunction(this.callback)) {\n /* istanbul ignore next */\n return;\n } // Create the observer instance\n\n\n try {\n // Future: Possibly add in other modifiers for left/right/top/bottom\n // offsets, root element reference, and thresholds\n this.observer = new IntersectionObserver(this.handler.bind(this), {\n // `null` = 'viewport'\n root: null,\n // Pixels away from view port to consider \"visible\"\n rootMargin: this.margin,\n // Intersection ratio of el and root (as a value from 0 to 1)\n threshold: 0\n });\n } catch (_unused) {\n // No IntersectionObserver support, so just stop trying to observe\n this.doneOnce = true;\n this.observer = undefined;\n this.callback(null);\n return;\n } // Start observing in a `$nextTick()` (to allow DOM to complete rendering)\n\n /* istanbul ignore next: IntersectionObserver not supported in JSDOM */\n\n\n vnode.context.$nextTick(function () {\n requestAF(function () {\n // Placed in an `if` just in case we were destroyed before\n // this `requestAnimationFrame` runs\n if (_this.observer) {\n _this.observer.observe(_this.el);\n }\n });\n });\n }\n /* istanbul ignore next */\n\n }, {\n key: \"handler\",\n value: function handler(entries) {\n var entry = entries ? entries[0] : {};\n var isIntersecting = Boolean(entry.isIntersecting || entry.intersectionRatio > 0.0);\n\n if (isIntersecting !== this.visible) {\n this.visible = isIntersecting;\n this.callback(isIntersecting);\n\n if (this.once && this.visible) {\n this.doneOnce = true;\n this.stop();\n }\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n /* istanbul ignore next */\n this.observer && this.observer.disconnect();\n this.observer = null;\n }\n }]);\n\n return VisibilityObserver;\n}();\n\nvar destroy = function destroy(el) {\n var observer = el[OBSERVER_PROP_NAME];\n\n if (observer && observer.stop) {\n observer.stop();\n }\n\n delete el[OBSERVER_PROP_NAME];\n};\n\nvar bind = function bind(el, _ref, vnode) {\n var value = _ref.value,\n modifiers = _ref.modifiers;\n // `value` is the callback function\n var options = {\n margin: '0px',\n once: false,\n callback: value\n }; // Parse modifiers\n\n keys(modifiers).forEach(function (mod) {\n /* istanbul ignore else: Until is switched to use this directive */\n if (RX_DIGITS.test(mod)) {\n options.margin = \"\".concat(mod, \"px\");\n } else if (mod.toLowerCase() === 'once') {\n options.once = true;\n }\n }); // Destroy any previous observer\n\n destroy(el); // Create new observer\n\n el[OBSERVER_PROP_NAME] = new VisibilityObserver(el, options, vnode); // Store the current modifiers on the object (cloned)\n\n el[OBSERVER_PROP_NAME]._prevModifiers = clone(modifiers);\n}; // When the directive options may have been updated (or element)\n\n\nvar componentUpdated = function componentUpdated(el, _ref2, vnode) {\n var value = _ref2.value,\n oldValue = _ref2.oldValue,\n modifiers = _ref2.modifiers;\n // Compare value/oldValue and modifiers to see if anything has changed\n // and if so, destroy old observer and create new observer\n\n /* istanbul ignore next */\n modifiers = clone(modifiers);\n /* istanbul ignore next */\n\n if (el && (value !== oldValue || !el[OBSERVER_PROP_NAME] || !looseEqual(modifiers, el[OBSERVER_PROP_NAME]._prevModifiers))) {\n // Re-bind on element\n bind(el, {\n value: value,\n modifiers: modifiers\n }, vnode);\n }\n}; // When directive un-binds from element\n\n\nvar unbind = function unbind(el) {\n // Remove the observer\n destroy(el);\n}; // Export the directive\n\n\nexport var VBVisible = {\n bind: bind,\n componentUpdated: componentUpdated,\n unbind: unbind\n};","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\n// Constants used by table helpers\nexport var FIELD_KEY_CELL_VARIANT = '_cellVariants';\nexport var FIELD_KEY_ROW_VARIANT = '_rowVariant';\nexport var FIELD_KEY_SHOW_DETAILS = '_showDetails'; // Object of item keys that should be ignored for headers and\n// stringification and filter events\n\nexport var IGNORED_FIELD_KEYS = [FIELD_KEY_CELL_VARIANT, FIELD_KEY_ROW_VARIANT, FIELD_KEY_SHOW_DETAILS].reduce(function (result, key) {\n return _objectSpread(_objectSpread({}, result), {}, _defineProperty({}, key, true));\n}, {}); // Filter CSS selector for click/dblclick/etc. events\n// If any of these selectors match the clicked element, we ignore the event\n\nexport var EVENT_FILTER = ['a', 'a *', // Include content inside links\n'button', 'button *', // Include content inside buttons\n'input:not(.disabled):not([disabled])', 'select:not(.disabled):not([disabled])', 'textarea:not(.disabled):not([disabled])', '[role=\"link\"]', '[role=\"link\"] *', '[role=\"button\"]', '[role=\"button\"] *', '[tabindex]:not(.disabled):not([disabled])'].join(',');","import { Vue } from '../../../vue';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_CUSTOM_FOOT } from '../../../constants/slots';\nimport { makeProp } from '../../../utils/props';\nimport { BTfoot } from '../tfoot'; // --- Props ---\n\nexport var props = {\n footClone: makeProp(PROP_TYPE_BOOLEAN, false),\n // Any Bootstrap theme variant (or custom)\n // Falls back to `headRowVariant`\n footRowVariant: makeProp(PROP_TYPE_STRING),\n // 'dark', 'light', or `null` (or custom)\n footVariant: makeProp(PROP_TYPE_STRING),\n tfootClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tfootTrClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var tfootMixin = Vue.extend({\n props: props,\n methods: {\n renderTFootCustom: function renderTFootCustom() {\n var h = this.$createElement;\n\n if (this.hasNormalizedSlot(SLOT_NAME_CUSTOM_FOOT)) {\n return h(BTfoot, {\n class: this.tfootClass || null,\n props: {\n footVariant: this.footVariant || this.headVariant || null\n },\n key: 'bv-tfoot-custom'\n }, this.normalizeSlot(SLOT_NAME_CUSTOM_FOOT, {\n items: this.computedItems.slice(),\n fields: this.computedFields.slice(),\n columns: this.computedFields.length\n }));\n }\n\n return h();\n },\n renderTfoot: function renderTfoot() {\n // Passing true to renderThead will make it render a tfoot\n return this.footClone ? this.renderThead(true) : this.renderTFootCustom();\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_FORM_TEXTAREA } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { getCS, getStyle, isVisible, requestAF, setStyle } from '../../utils/dom';\nimport { isNull } from '../../utils/inspect';\nimport { mathCeil, mathMax, mathMin } from '../../utils/math';\nimport { toInteger, toFloat } from '../../utils/number';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { formControlMixin, props as formControlProps } from '../../mixins/form-control';\nimport { formSelectionMixin } from '../../mixins/form-selection';\nimport { formSizeMixin, props as formSizeProps } from '../../mixins/form-size';\nimport { formStateMixin, props as formStateProps } from '../../mixins/form-state';\nimport { formTextMixin, props as formTextProps } from '../../mixins/form-text';\nimport { formValidityMixin } from '../../mixins/form-validity';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { listenersMixin } from '../../mixins/listeners';\nimport { VBVisible } from '../../directives/visible/visible'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), formControlProps), formSizeProps), formStateProps), formTextProps), {}, {\n maxRows: makeProp(PROP_TYPE_NUMBER_STRING),\n // When in auto resize mode, disable shrinking to content height\n noAutoShrink: makeProp(PROP_TYPE_BOOLEAN, false),\n // Disable the resize handle of textarea\n noResize: makeProp(PROP_TYPE_BOOLEAN, false),\n rows: makeProp(PROP_TYPE_NUMBER_STRING, 2),\n // 'soft', 'hard' or 'off'\n // Browser default is 'soft'\n wrap: makeProp(PROP_TYPE_STRING, 'soft')\n})), NAME_FORM_TEXTAREA); // --- Main component ---\n// @vue/component\n\nexport var BFormTextarea = /*#__PURE__*/Vue.extend({\n name: NAME_FORM_TEXTAREA,\n directives: {\n 'b-visible': VBVisible\n },\n // Mixin order is important!\n mixins: [listenersMixin, idMixin, listenOnRootMixin, formControlMixin, formSizeMixin, formStateMixin, formTextMixin, formSelectionMixin, formValidityMixin],\n props: props,\n data: function data() {\n return {\n heightInPx: null\n };\n },\n computed: {\n computedStyle: function computedStyle() {\n var styles = {\n // Setting `noResize` to true will disable the ability for the user to\n // manually resize the textarea. We also disable when in auto height mode\n resize: !this.computedRows || this.noResize ? 'none' : null\n };\n\n if (!this.computedRows) {\n // Conditionally set the computed CSS height when auto rows/height is enabled\n // We avoid setting the style to `null`, which can override user manual resize handle\n styles.height = this.heightInPx; // We always add a vertical scrollbar to the textarea when auto-height is\n // enabled so that the computed height calculation returns a stable value\n\n styles.overflowY = 'scroll';\n }\n\n return styles;\n },\n computedMinRows: function computedMinRows() {\n // Ensure rows is at least 2 and positive (2 is the native textarea value)\n // A value of 1 can cause issues in some browsers, and most browsers\n // only support 2 as the smallest value\n return mathMax(toInteger(this.rows, 2), 2);\n },\n computedMaxRows: function computedMaxRows() {\n return mathMax(this.computedMinRows, toInteger(this.maxRows, 0));\n },\n computedRows: function computedRows() {\n // This is used to set the attribute 'rows' on the textarea\n // If auto-height is enabled, then we return `null` as we use CSS to control height\n return this.computedMinRows === this.computedMaxRows ? this.computedMinRows : null;\n },\n computedAttrs: function computedAttrs() {\n var disabled = this.disabled,\n required = this.required;\n return {\n id: this.safeId(),\n name: this.name || null,\n form: this.form || null,\n disabled: disabled,\n placeholder: this.placeholder || null,\n required: required,\n autocomplete: this.autocomplete || null,\n readonly: this.readonly || this.plaintext,\n rows: this.computedRows,\n wrap: this.wrap || null,\n 'aria-required': this.required ? 'true' : null,\n 'aria-invalid': this.computedAriaInvalid\n };\n },\n computedListeners: function computedListeners() {\n return _objectSpread(_objectSpread({}, this.bvListeners), {}, {\n input: this.onInput,\n change: this.onChange,\n blur: this.onBlur\n });\n }\n },\n watch: {\n localValue: function localValue() {\n this.setHeight();\n }\n },\n mounted: function mounted() {\n this.setHeight();\n },\n methods: {\n // Called by intersection observer directive\n\n /* istanbul ignore next */\n visibleCallback: function visibleCallback(visible) {\n if (visible) {\n // We use a `$nextTick()` here just to make sure any\n // transitions or portalling have completed\n this.$nextTick(this.setHeight);\n }\n },\n setHeight: function setHeight() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n _this.heightInPx = _this.computeHeight();\n });\n });\n },\n\n /* istanbul ignore next: can't test getComputedStyle in JSDOM */\n computeHeight: function computeHeight() {\n if (this.$isServer || !isNull(this.computedRows)) {\n return null;\n }\n\n var el = this.$el; // Element must be visible (not hidden) and in document\n // Must be checked after above checks\n\n if (!isVisible(el)) {\n return null;\n } // Get current computed styles\n\n\n var computedStyle = getCS(el); // Height of one line of text in px\n\n var lineHeight = toFloat(computedStyle.lineHeight, 1); // Calculate height of border and padding\n\n var border = toFloat(computedStyle.borderTopWidth, 0) + toFloat(computedStyle.borderBottomWidth, 0);\n var padding = toFloat(computedStyle.paddingTop, 0) + toFloat(computedStyle.paddingBottom, 0); // Calculate offset\n\n var offset = border + padding; // Minimum height for min rows (which must be 2 rows or greater for cross-browser support)\n\n var minHeight = lineHeight * this.computedMinRows + offset; // Get the current style height (with `px` units)\n\n var oldHeight = getStyle(el, 'height') || computedStyle.height; // Probe scrollHeight by temporarily changing the height to `auto`\n\n setStyle(el, 'height', 'auto');\n var scrollHeight = el.scrollHeight; // Place the original old height back on the element, just in case `computedProp`\n // returns the same value as before\n\n setStyle(el, 'height', oldHeight); // Calculate content height in 'rows' (scrollHeight includes padding but not border)\n\n var contentRows = mathMax((scrollHeight - padding) / lineHeight, 2); // Calculate number of rows to display (limited within min/max rows)\n\n var rows = mathMin(mathMax(contentRows, this.computedMinRows), this.computedMaxRows); // Calculate the required height of the textarea including border and padding (in pixels)\n\n var height = mathMax(mathCeil(rows * lineHeight + offset), minHeight); // Computed height remains the larger of `oldHeight` and new `height`,\n // when height is in `sticky` mode (prop `no-auto-shrink` is true)\n\n if (this.noAutoShrink && toFloat(oldHeight, 0) > height) {\n return oldHeight;\n } // Return the new computed CSS height in px units\n\n\n return \"\".concat(height, \"px\");\n }\n },\n render: function render(h) {\n return h('textarea', {\n class: this.computedClass,\n style: this.computedStyle,\n directives: [{\n name: 'b-visible',\n value: this.visibleCallback,\n // If textarea is within 640px of viewport, consider it visible\n modifiers: {\n '640': true\n }\n }],\n attrs: this.computedAttrs,\n domProps: {\n value: this.localValue\n },\n on: this.computedListeners,\n ref: 'input'\n });\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { mergeData } from '../../vue';\nimport { NAME_ROW } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { arrayIncludes, concat } from '../../utils/array';\nimport { getBreakpointsUpCached } from '../../utils/config';\nimport { identity } from '../../utils/identity';\nimport { memoize } from '../../utils/memoize';\nimport { create, keys, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, suffixPropName } from '../../utils/props';\nimport { lowerCase, toString, trim } from '../../utils/string'; // --- Constants ---\n\nvar COMMON_ALIGNMENT = ['start', 'end', 'center']; // --- Helper methods ---\n// Compute a `row-cols-{breakpoint}-{cols}` class name\n// Memoized function for better performance on generating class names\n\nvar computeRowColsClass = memoize(function (breakpoint, cols) {\n cols = trim(toString(cols));\n return cols ? lowerCase(['row-cols', breakpoint, cols].filter(identity).join('-')) : null;\n}); // Get the breakpoint name from the `rowCols` prop name\n// Memoized function for better performance on extracting breakpoint names\n\nvar computeRowColsBreakpoint = memoize(function (prop) {\n return lowerCase(prop.replace('cols', ''));\n}); // Cached copy of the `row-cols` breakpoint prop names\n// Will be populated when the props are generated\n\nvar rowColsPropList = []; // --- Props ---\n// Prop generator for lazy generation of props\n\nexport var generateProps = function generateProps() {\n // i.e. 'row-cols-2', 'row-cols-md-4', 'row-cols-xl-6', ...\n var rowColsProps = getBreakpointsUpCached().reduce(function (props, breakpoint) {\n props[suffixPropName(breakpoint, 'cols')] = makeProp(PROP_TYPE_NUMBER_STRING);\n return props;\n }, create(null)); // Cache the row-cols prop names\n\n rowColsPropList = keys(rowColsProps); // Return the generated props\n\n return makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, rowColsProps), {}, {\n alignContent: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around', 'stretch'), value);\n }),\n alignH: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'between', 'around'), value);\n }),\n alignV: makeProp(PROP_TYPE_STRING, null, function (value) {\n return arrayIncludes(concat(COMMON_ALIGNMENT, 'baseline', 'stretch'), value);\n }),\n noGutters: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'div')\n })), NAME_ROW);\n}; // --- Main component ---\n// We do not use `Vue.extend()` here as that would evaluate the props\n// immediately, which we do not want to happen\n// @vue/component\n\nexport var BRow = {\n name: NAME_ROW,\n functional: true,\n\n get props() {\n // Allow props to be lazy evaled on first access and\n // then they become a non-getter afterwards\n // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get#Smart_self-overwriting_lazy_getters\n delete this.props;\n this.props = generateProps();\n return this.props;\n },\n\n render: function render(h, _ref) {\n var _classList$push;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var alignV = props.alignV,\n alignH = props.alignH,\n alignContent = props.alignContent; // Loop through row-cols breakpoint props and generate the classes\n\n var classList = [];\n rowColsPropList.forEach(function (prop) {\n var c = computeRowColsClass(computeRowColsBreakpoint(prop), props[prop]); // If a class is returned, push it onto the array\n\n if (c) {\n classList.push(c);\n }\n });\n classList.push((_classList$push = {\n 'no-gutters': props.noGutters\n }, _defineProperty(_classList$push, \"align-items-\".concat(alignV), alignV), _defineProperty(_classList$push, \"justify-content-\".concat(alignH), alignH), _defineProperty(_classList$push, \"align-content-\".concat(alignContent), alignContent), _classList$push));\n return h(props.tag, mergeData(data, {\n staticClass: 'row',\n class: classList\n }), children);\n }\n};","import axios from '@axios'\r\n\r\nexport default {\r\n namespaced: true,\r\n state: {},\r\n getters: {},\r\n mutations: {},\r\n actions: {\r\n fetchInvoices(ctx, queryParams) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get('/apps/invoice/invoices', { params: queryParams })\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n fetchInvoice(ctx, { id }) {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get(`/apps/invoice/invoices/${id}`)\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n fetchClients() {\r\n return new Promise((resolve, reject) => {\r\n axios\r\n .get('/apps/invoice/clients')\r\n .then(response => resolve(response))\r\n .catch(error => reject(error))\r\n })\r\n },\r\n // addUser(ctx, userData) {\r\n // return new Promise((resolve, reject) => {\r\n // axios\r\n // .post('/apps/user/users', { user: userData })\r\n // .then(response => resolve(response))\r\n // .catch(error => reject(error))\r\n // })\r\n // },\r\n },\r\n}\r\n","import { Vue } from '../vue';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n size: makeProp(PROP_TYPE_STRING)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formSizeMixin = Vue.extend({\n props: props,\n computed: {\n sizeFormClass: function sizeFormClass() {\n return [this.size ? \"form-control-\".concat(this.size) : null];\n }\n }\n});","import { closest, getAttr, getById, matches, select } from '../../../utils/dom';\nimport { EVENT_FILTER } from './constants';\nvar TABLE_TAG_NAMES = ['TD', 'TH', 'TR']; // Returns `true` if we should ignore the click/double-click/keypress event\n// Avoids having the user need to use `@click.stop` on the form control\n\nexport var filterEvent = function filterEvent(event) {\n // Exit early when we don't have a target element\n if (!event || !event.target) {\n /* istanbul ignore next */\n return false;\n }\n\n var el = event.target; // Exit early when element is disabled or a table element\n\n if (el.disabled || TABLE_TAG_NAMES.indexOf(el.tagName) !== -1) {\n return false;\n } // Ignore the click when it was inside a dropdown menu\n\n\n if (closest('.dropdown-menu', el)) {\n return true;\n }\n\n var label = el.tagName === 'LABEL' ? el : closest('label', el); // If the label's form control is not disabled then we don't propagate event\n // Modern browsers have `label.control` that references the associated input, but IE 11\n // does not have this property on the label element, so we resort to DOM lookups\n\n if (label) {\n var labelFor = getAttr(label, 'for');\n var input = labelFor ? getById(labelFor) : select('input, select, textarea', label);\n\n if (input && !input.disabled) {\n return true;\n }\n } // Otherwise check if the event target matches one of the selectors in the\n // event filter (i.e. anchors, non disabled inputs, etc.)\n // Return `true` if we should ignore the event\n\n\n return matches(el, EVENT_FILTER);\n};","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoicePreview.vue?vue&type=style&index=0&id=7749c12c&lang=scss&scoped=true&\"","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_HEADER } from '../../constants/components';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { htmlOrText } from '../../utils/html';\nimport { sortKeys } from '../../utils/object';\nimport { copyProps, makeProp, makePropsConfigurable, prefixPropName } from '../../utils/props';\nimport { props as BCardProps } from '../../mixins/card'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, copyProps(BCardProps, prefixPropName.bind(null, 'header'))), {}, {\n header: makeProp(PROP_TYPE_STRING),\n headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerHtml: makeProp(PROP_TYPE_STRING)\n})), NAME_CARD_HEADER); // --- Main component ---\n// @vue/component\n\nexport var BCardHeader = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_HEADER,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var _ref2;\n\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var headerBgVariant = props.headerBgVariant,\n headerBorderVariant = props.headerBorderVariant,\n headerTextVariant = props.headerTextVariant;\n return h(props.headerTag, mergeData(data, {\n staticClass: 'card-header',\n class: [props.headerClass, (_ref2 = {}, _defineProperty(_ref2, \"bg-\".concat(headerBgVariant), headerBgVariant), _defineProperty(_ref2, \"border-\".concat(headerBorderVariant), headerBorderVariant), _defineProperty(_ref2, \"text-\".concat(headerTextVariant), headerTextVariant), _ref2)],\n domProps: children ? {} : htmlOrText(props.headerHtml, props.header)\n }), children);\n }\n});","var render = function () {\n var _vm=this;\n var _h=_vm.$createElement;\n var _c=_vm._self._c||_h;\n\n return _c('section', {\n staticClass: \"invoice-preview-wrapper\"\n }, [_c('b-alert', {\n attrs: {\n \"variant\": \"danger\",\n \"show\": _vm.invoiceData === undefined\n }\n }, [_c('h4', {\n staticClass: \"alert-heading\"\n }, [_vm._v(\" Error fetching invoice data \")]), _c('div', {\n staticClass: \"alert-body\"\n }, [_vm._v(\" No invoice found with this invoice id. Check \"), _c('b-link', {\n staticClass: \"alert-link\",\n attrs: {\n \"to\": {\n name: 'apps-invoice-list'\n }\n }\n }, [_vm._v(\" Invoice List \")]), _vm._v(\" for other invoices. \")], 1)]), _vm.invoiceData ? _c('b-row', {\n staticClass: \"invoice-preview\"\n }, [_c('b-col', {\n attrs: {\n \"cols\": \"12\",\n \"xl\": \"9\",\n \"md\": \"8\"\n }\n }, [_c('b-card', {\n staticClass: \"invoice-preview-card\",\n attrs: {\n \"no-body\": \"\"\n }\n }, [_c('b-card-body', {\n staticClass: \"invoice-padding pb-0\"\n }, [_c('div', {\n staticClass: \"d-flex justify-content-between flex-md-row flex-column invoice-spacing mt-0\"\n }, [_c('div', [_c('div', {\n staticClass: \"logo-wrapper\"\n }, [_c('logo'), _c('h3', {\n staticClass: \"text-primary invoice-logo\"\n }, [_vm._v(\" Vuexy \")])], 1), _c('p', {\n staticClass: \"card-text mb-25\"\n }, [_vm._v(\" Office 149, 450 South Brand Brooklyn \")]), _c('p', {\n staticClass: \"card-text mb-25\"\n }, [_vm._v(\" San Diego County, CA 91905, USA \")]), _c('p', {\n staticClass: \"card-text mb-0\"\n }, [_vm._v(\" +1 (123) 456 7891, +44 (876) 543 2198 \")])]), _c('div', {\n staticClass: \"mt-md-0 mt-2\"\n }, [_c('h4', {\n staticClass: \"invoice-title\"\n }, [_vm._v(\" Invoice \"), _c('span', {\n staticClass: \"invoice-number\"\n }, [_vm._v(\"#\" + _vm._s(_vm.invoiceData.id))])]), _c('div', {\n staticClass: \"invoice-date-wrapper\"\n }, [_c('p', {\n staticClass: \"invoice-date-title\"\n }, [_vm._v(\" Date Issued: \")]), _c('p', {\n staticClass: \"invoice-date\"\n }, [_vm._v(\" \" + _vm._s(_vm.invoiceData.issuedDate) + \" \")])]), _c('div', {\n staticClass: \"invoice-date-wrapper\"\n }, [_c('p', {\n staticClass: \"invoice-date-title\"\n }, [_vm._v(\" Due Date: \")]), _c('p', {\n staticClass: \"invoice-date\"\n }, [_vm._v(\" \" + _vm._s(_vm.invoiceData.dueDate) + \" \")])])])])]), _c('hr', {\n staticClass: \"invoice-spacing\"\n }), _vm.invoiceData.client ? _c('b-card-body', {\n staticClass: \"invoice-padding pt-0\"\n }, [_c('b-row', {\n staticClass: \"invoice-spacing\"\n }, [_c('b-col', {\n staticClass: \"p-0\",\n attrs: {\n \"cols\": \"12\",\n \"xl\": \"6\"\n }\n }, [_c('h6', {\n staticClass: \"mb-2\"\n }, [_vm._v(\" Invoice To: \")]), _c('h6', {\n staticClass: \"mb-25\"\n }, [_vm._v(\" \" + _vm._s(_vm.invoiceData.client.name) + \" \")]), _c('p', {\n staticClass: \"card-text mb-25\"\n }, [_vm._v(\" \" + _vm._s(_vm.invoiceData.client.company) + \" \")]), _c('p', {\n staticClass: \"card-text mb-25\"\n }, [_vm._v(\" \" + _vm._s(_vm.invoiceData.client.address) + \", \" + _vm._s(_vm.invoiceData.client.country) + \" \")]), _c('p', {\n staticClass: \"card-text mb-25\"\n }, [_vm._v(\" \" + _vm._s(_vm.invoiceData.client.contact) + \" \")]), _c('p', {\n staticClass: \"card-text mb-0\"\n }, [_vm._v(\" \" + _vm._s(_vm.invoiceData.client.companyEmail) + \" \")])]), _c('b-col', {\n staticClass: \"p-0 mt-xl-0 mt-2 d-flex justify-content-xl-end\",\n attrs: {\n \"xl\": \"6\",\n \"cols\": \"12\"\n }\n }, [_c('div', [_c('h6', {\n staticClass: \"mb-2\"\n }, [_vm._v(\" Payment Details: \")]), _c('table', [_c('tbody', [_c('tr', [_c('td', {\n staticClass: \"pr-1\"\n }, [_vm._v(\" Total Due: \")]), _c('td', [_c('span', {\n staticClass: \"font-weight-bold\"\n }, [_vm._v(_vm._s(_vm.paymentDetails.totalDue))])])]), _c('tr', [_c('td', {\n staticClass: \"pr-1\"\n }, [_vm._v(\" Bank name: \")]), _c('td', [_vm._v(_vm._s(_vm.paymentDetails.bankName))])]), _c('tr', [_c('td', {\n staticClass: \"pr-1\"\n }, [_vm._v(\" Country: \")]), _c('td', [_vm._v(_vm._s(_vm.paymentDetails.country))])]), _c('tr', [_c('td', {\n staticClass: \"pr-1\"\n }, [_vm._v(\" IBAN: \")]), _c('td', [_vm._v(_vm._s(_vm.paymentDetails.iban))])]), _c('tr', [_c('td', {\n staticClass: \"pr-1\"\n }, [_vm._v(\" SWIFT code: \")]), _c('td', [_vm._v(_vm._s(_vm.paymentDetails.swiftCode))])])])])])])], 1)], 1) : _vm._e(), _c('b-table-lite', {\n attrs: {\n \"responsive\": \"\",\n \"items\": _vm.invoiceDescription,\n \"fields\": ['taskDescription', 'rate', 'hours', 'total']\n },\n scopedSlots: _vm._u([{\n key: \"cell(taskDescription)\",\n fn: function fn(data) {\n return [_c('b-card-text', {\n staticClass: \"font-weight-bold mb-25\"\n }, [_vm._v(\" \" + _vm._s(data.item.taskTitle) + \" \")]), _c('b-card-text', {\n staticClass: \"text-nowrap\"\n }, [_vm._v(\" \" + _vm._s(data.item.taskDescription) + \" \")])];\n }\n }], null, false, 1464498393)\n }), _c('b-card-body', {\n staticClass: \"invoice-padding pb-0\"\n }, [_c('b-row', [_c('b-col', {\n staticClass: \"mt-md-0 mt-3\",\n attrs: {\n \"cols\": \"12\",\n \"md\": \"6\",\n \"order\": \"2\",\n \"order-md\": \"1\"\n }\n }, [_c('b-card-text', {\n staticClass: \"mb-0\"\n }, [_c('span', {\n staticClass: \"font-weight-bold\"\n }, [_vm._v(\"Salesperson:\")]), _c('span', {\n staticClass: \"ml-75\"\n }, [_vm._v(\"Alfie Solomons\")])])], 1), _c('b-col', {\n staticClass: \"mt-md-6 d-flex justify-content-end\",\n attrs: {\n \"cols\": \"12\",\n \"md\": \"6\",\n \"order\": \"1\",\n \"order-md\": \"2\"\n }\n }, [_c('div', {\n staticClass: \"invoice-total-wrapper\"\n }, [_c('div', {\n staticClass: \"invoice-total-item\"\n }, [_c('p', {\n staticClass: \"invoice-total-title\"\n }, [_vm._v(\" Subtotal: \")]), _c('p', {\n staticClass: \"invoice-total-amount\"\n }, [_vm._v(\" $1800 \")])]), _c('div', {\n staticClass: \"invoice-total-item\"\n }, [_c('p', {\n staticClass: \"invoice-total-title\"\n }, [_vm._v(\" Discount: \")]), _c('p', {\n staticClass: \"invoice-total-amount\"\n }, [_vm._v(\" $28 \")])]), _c('div', {\n staticClass: \"invoice-total-item\"\n }, [_c('p', {\n staticClass: \"invoice-total-title\"\n }, [_vm._v(\" Tax: \")]), _c('p', {\n staticClass: \"invoice-total-amount\"\n }, [_vm._v(\" 21% \")])]), _c('hr', {\n staticClass: \"my-50\"\n }), _c('div', {\n staticClass: \"invoice-total-item\"\n }, [_c('p', {\n staticClass: \"invoice-total-title\"\n }, [_vm._v(\" Total: \")]), _c('p', {\n staticClass: \"invoice-total-amount\"\n }, [_vm._v(\" $1690 \")])])])])], 1)], 1), _c('hr', {\n staticClass: \"invoice-spacing\"\n }), _c('b-card-body', {\n staticClass: \"invoice-padding pt-0\"\n }, [_c('span', {\n staticClass: \"font-weight-bold\"\n }, [_vm._v(\"Note: \")]), _c('span', [_vm._v(\"It was a pleasure working with you and your team. We hope you will keep us in mind for future freelance projects. Thank You!\")])])], 1)], 1), _c('b-col', {\n staticClass: \"invoice-actions\",\n attrs: {\n \"cols\": \"12\",\n \"md\": \"4\",\n \"xl\": \"3\"\n }\n }, [_c('b-card', [_c('b-button', {\n directives: [{\n name: \"ripple\",\n rawName: \"v-ripple.400\",\n value: 'rgba(255, 255, 255, 0.15)',\n expression: \"'rgba(255, 255, 255, 0.15)'\",\n modifiers: {\n \"400\": true\n }\n }, {\n name: \"b-toggle\",\n rawName: \"v-b-toggle.sidebar-send-invoice\",\n modifiers: {\n \"sidebar-send-invoice\": true\n }\n }],\n staticClass: \"mb-75\",\n attrs: {\n \"variant\": \"primary\",\n \"block\": \"\"\n }\n }, [_vm._v(\" Send Invoice \")]), _c('b-button', {\n directives: [{\n name: \"ripple\",\n rawName: \"v-ripple.400\",\n value: 'rgba(186, 191, 199, 0.15)',\n expression: \"'rgba(186, 191, 199, 0.15)'\",\n modifiers: {\n \"400\": true\n }\n }],\n staticClass: \"mb-75\",\n attrs: {\n \"variant\": \"outline-secondary\",\n \"block\": \"\"\n }\n }, [_vm._v(\" Download \")]), _c('b-button', {\n directives: [{\n name: \"ripple\",\n rawName: \"v-ripple.400\",\n value: 'rgba(186, 191, 199, 0.15)',\n expression: \"'rgba(186, 191, 199, 0.15)'\",\n modifiers: {\n \"400\": true\n }\n }],\n staticClass: \"mb-75\",\n attrs: {\n \"variant\": \"outline-secondary\",\n \"block\": \"\"\n },\n on: {\n \"click\": _vm.printInvoice\n }\n }, [_vm._v(\" Print \")]), _c('b-button', {\n directives: [{\n name: \"ripple\",\n rawName: \"v-ripple.400\",\n value: 'rgba(186, 191, 199, 0.15)',\n expression: \"'rgba(186, 191, 199, 0.15)'\",\n modifiers: {\n \"400\": true\n }\n }],\n staticClass: \"mb-75\",\n attrs: {\n \"variant\": \"outline-secondary\",\n \"block\": \"\",\n \"to\": {\n name: 'apps-invoice-edit',\n params: {\n id: _vm.$route.params.id\n }\n }\n }\n }, [_vm._v(\" Edit \")]), _c('b-button', {\n directives: [{\n name: \"b-toggle\",\n rawName: \"v-b-toggle.sidebar-invoice-add-payment\",\n modifiers: {\n \"sidebar-invoice-add-payment\": true\n }\n }, {\n name: \"ripple\",\n rawName: \"v-ripple.400\",\n value: 'rgba(255, 255, 255, 0.15)',\n expression: \"'rgba(255, 255, 255, 0.15)'\",\n modifiers: {\n \"400\": true\n }\n }],\n staticClass: \"mb-75\",\n attrs: {\n \"variant\": \"success\",\n \"block\": \"\"\n }\n }, [_vm._v(\" Add Payment \")])], 1)], 1)], 1) : _vm._e(), _c('invoice-sidebar-send-invoice'), _c('invoice-sidebar-add-payment')], 1);\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoicePreview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoicePreview.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./InvoicePreview.vue?vue&type=template&id=7749c12c&scoped=true&\"\nimport script from \"./InvoicePreview.vue?vue&type=script&lang=js&\"\nexport * from \"./InvoicePreview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./InvoicePreview.vue?vue&type=style&index=0&id=7749c12c&lang=scss&scoped=true&\"\nimport style1 from \"./InvoicePreview.vue?vue&type=style&index=1&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7749c12c\",\n null\n \n)\n\nexport default component.exports","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_SUB_TITLE } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { toString } from '../../utils/string'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n subTitle: makeProp(PROP_TYPE_STRING),\n subTitleTag: makeProp(PROP_TYPE_STRING, 'h6'),\n subTitleTextVariant: makeProp(PROP_TYPE_STRING, 'muted')\n}, NAME_CARD_SUB_TITLE); // --- Main component ---\n// @vue/component\n\nexport var BCardSubTitle = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_SUB_TITLE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.subTitleTag, mergeData(data, {\n staticClass: 'card-subtitle',\n class: [props.subTitleTextVariant ? \"text-\".concat(props.subTitleTextVariant) : null]\n }), children || toString(props.subTitle));\n }\n});","var _watch;\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_COLLAPSE, NAME_SIDEBAR } from '../../constants/components';\nimport { IS_BROWSER } from '../../constants/env';\nimport { EVENT_NAME_CHANGE, EVENT_NAME_HIDDEN, EVENT_NAME_SHOWN } from '../../constants/events';\nimport { CODE_ESC } from '../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_BOOLEAN, PROP_TYPE_BOOLEAN_STRING, PROP_TYPE_NUMBER_STRING, PROP_TYPE_STRING } from '../../constants/props';\nimport { SLOT_NAME_DEFAULT, SLOT_NAME_FOOTER, SLOT_NAME_HEADER, SLOT_NAME_HEADER_CLOSE, SLOT_NAME_TITLE } from '../../constants/slots';\nimport { attemptFocus, contains, getActiveElement, getTabables } from '../../utils/dom';\nimport { getRootActionEventName, getRootEventName } from '../../utils/events';\nimport { makeModelMixin } from '../../utils/model';\nimport { sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { listenOnRootMixin } from '../../mixins/listen-on-root';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { BIconX } from '../../icons/icons';\nimport { BButtonClose } from '../button/button-close';\nimport { BVTransition } from '../transition/bv-transition'; // --- Constants ---\n\nvar CLASS_NAME = 'b-sidebar';\nvar ROOT_ACTION_EVENT_NAME_REQUEST_STATE = getRootActionEventName(NAME_COLLAPSE, 'request-state');\nvar ROOT_ACTION_EVENT_NAME_TOGGLE = getRootActionEventName(NAME_COLLAPSE, 'toggle');\nvar ROOT_EVENT_NAME_STATE = getRootEventName(NAME_COLLAPSE, 'state');\nvar ROOT_EVENT_NAME_SYNC_STATE = getRootEventName(NAME_COLLAPSE, 'sync-state');\n\nvar _makeModelMixin = makeModelMixin('visible', {\n type: PROP_TYPE_BOOLEAN,\n defaultValue: false,\n event: EVENT_NAME_CHANGE\n}),\n modelMixin = _makeModelMixin.mixin,\n modelProps = _makeModelMixin.props,\n MODEL_PROP_NAME = _makeModelMixin.prop,\n MODEL_EVENT_NAME = _makeModelMixin.event; // --- Props ---\n\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread({}, idProps), modelProps), {}, {\n ariaLabel: makeProp(PROP_TYPE_STRING),\n ariaLabelledby: makeProp(PROP_TYPE_STRING),\n // If `true`, shows a basic backdrop\n backdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n backdropVariant: makeProp(PROP_TYPE_STRING, 'dark'),\n bgVariant: makeProp(PROP_TYPE_STRING, 'light'),\n bodyClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n // `aria-label` for close button\n closeLabel: makeProp(PROP_TYPE_STRING),\n footerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n headerClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n lazy: makeProp(PROP_TYPE_BOOLEAN, false),\n noCloseOnBackdrop: makeProp(PROP_TYPE_BOOLEAN, false),\n noCloseOnEsc: makeProp(PROP_TYPE_BOOLEAN, false),\n noCloseOnRouteChange: makeProp(PROP_TYPE_BOOLEAN, false),\n noEnforceFocus: makeProp(PROP_TYPE_BOOLEAN, false),\n noHeader: makeProp(PROP_TYPE_BOOLEAN, false),\n noHeaderClose: makeProp(PROP_TYPE_BOOLEAN, false),\n noSlide: makeProp(PROP_TYPE_BOOLEAN, false),\n right: makeProp(PROP_TYPE_BOOLEAN, false),\n shadow: makeProp(PROP_TYPE_BOOLEAN_STRING, false),\n sidebarClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n textVariant: makeProp(PROP_TYPE_STRING, 'dark'),\n title: makeProp(PROP_TYPE_STRING),\n width: makeProp(PROP_TYPE_STRING),\n zIndex: makeProp(PROP_TYPE_NUMBER_STRING)\n})), NAME_SIDEBAR); // --- Render methods ---\n\nvar renderHeaderTitle = function renderHeaderTitle(h, ctx) {\n // Render a empty `` when to title was provided\n var title = ctx.normalizeSlot(SLOT_NAME_TITLE, ctx.slotScope) || ctx.title;\n\n if (!title) {\n return h('span');\n }\n\n return h('strong', {\n attrs: {\n id: ctx.safeId('__title__')\n }\n }, [title]);\n};\n\nvar renderHeaderClose = function renderHeaderClose(h, ctx) {\n if (ctx.noHeaderClose) {\n return h();\n }\n\n var closeLabel = ctx.closeLabel,\n textVariant = ctx.textVariant,\n hide = ctx.hide;\n return h(BButtonClose, {\n props: {\n ariaLabel: closeLabel,\n textVariant: textVariant\n },\n on: {\n click: hide\n },\n ref: 'close-button'\n }, [ctx.normalizeSlot(SLOT_NAME_HEADER_CLOSE) || h(BIconX)]);\n};\n\nvar renderHeader = function renderHeader(h, ctx) {\n if (ctx.noHeader) {\n return h();\n }\n\n var $content = ctx.normalizeSlot(SLOT_NAME_HEADER, ctx.slotScope);\n\n if (!$content) {\n var $title = renderHeaderTitle(h, ctx);\n var $close = renderHeaderClose(h, ctx);\n $content = ctx.right ? [$close, $title] : [$title, $close];\n }\n\n return h('header', {\n staticClass: \"\".concat(CLASS_NAME, \"-header\"),\n class: ctx.headerClass,\n key: 'header'\n }, $content);\n};\n\nvar renderBody = function renderBody(h, ctx) {\n return h('div', {\n staticClass: \"\".concat(CLASS_NAME, \"-body\"),\n class: ctx.bodyClass,\n key: 'body'\n }, [ctx.normalizeSlot(SLOT_NAME_DEFAULT, ctx.slotScope)]);\n};\n\nvar renderFooter = function renderFooter(h, ctx) {\n var $footer = ctx.normalizeSlot(SLOT_NAME_FOOTER, ctx.slotScope);\n\n if (!$footer) {\n return h();\n }\n\n return h('footer', {\n staticClass: \"\".concat(CLASS_NAME, \"-footer\"),\n class: ctx.footerClass,\n key: 'footer'\n }, [$footer]);\n};\n\nvar renderContent = function renderContent(h, ctx) {\n // We render the header even if `lazy` is enabled as it\n // acts as the accessible label for the sidebar\n var $header = renderHeader(h, ctx);\n\n if (ctx.lazy && !ctx.isOpen) {\n return $header;\n }\n\n return [$header, renderBody(h, ctx), renderFooter(h, ctx)];\n};\n\nvar renderBackdrop = function renderBackdrop(h, ctx) {\n if (!ctx.backdrop) {\n return h();\n }\n\n var backdropVariant = ctx.backdropVariant;\n return h('div', {\n directives: [{\n name: 'show',\n value: ctx.localShow\n }],\n staticClass: 'b-sidebar-backdrop',\n class: _defineProperty({}, \"bg-\".concat(backdropVariant), backdropVariant),\n on: {\n click: ctx.onBackdropClick\n }\n });\n}; // --- Main component ---\n// @vue/component\n\n\nexport var BSidebar = /*#__PURE__*/Vue.extend({\n name: NAME_SIDEBAR,\n mixins: [attrsMixin, idMixin, modelMixin, listenOnRootMixin, normalizeSlotMixin],\n inheritAttrs: false,\n props: props,\n data: function data() {\n var visible = !!this[MODEL_PROP_NAME];\n return {\n // Internal `v-model` state\n localShow: visible,\n // For lazy render triggering\n isOpen: visible\n };\n },\n computed: {\n transitionProps: function transitionProps() {\n return this.noSlide ?\n /* istanbul ignore next */\n {\n css: true\n } : {\n css: true,\n enterClass: '',\n enterActiveClass: 'slide',\n enterToClass: 'show',\n leaveClass: 'show',\n leaveActiveClass: 'slide',\n leaveToClass: ''\n };\n },\n slotScope: function slotScope() {\n var hide = this.hide,\n right = this.right,\n visible = this.localShow;\n return {\n hide: hide,\n right: right,\n visible: visible\n };\n },\n hasTitle: function hasTitle() {\n var $scopedSlots = this.$scopedSlots,\n $slots = this.$slots;\n return !this.noHeader && !this.hasNormalizedSlot(SLOT_NAME_HEADER) && !!(this.normalizeSlot(SLOT_NAME_TITLE, this.slotScope, $scopedSlots, $slots) || this.title);\n },\n titleId: function titleId() {\n return this.hasTitle ? this.safeId('__title__') : null;\n },\n computedAttrs: function computedAttrs() {\n return _objectSpread(_objectSpread({}, this.bvAttrs), {}, {\n id: this.safeId(),\n tabindex: '-1',\n role: 'dialog',\n 'aria-modal': this.backdrop ? 'true' : 'false',\n 'aria-hidden': this.localShow ? null : 'true',\n 'aria-label': this.ariaLabel || null,\n 'aria-labelledby': this.ariaLabelledby || this.titleId || null\n });\n }\n },\n watch: (_watch = {}, _defineProperty(_watch, MODEL_PROP_NAME, function (newValue, oldValue) {\n if (newValue !== oldValue) {\n this.localShow = newValue;\n }\n }), _defineProperty(_watch, \"localShow\", function localShow(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.emitState(newValue);\n this.$emit(MODEL_EVENT_NAME, newValue);\n }\n }), _defineProperty(_watch, \"$route\", function $route() {\n var newValue = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var oldValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.noCloseOnRouteChange && newValue.fullPath !== oldValue.fullPath) {\n this.hide();\n }\n }), _watch),\n created: function created() {\n // Define non-reactive properties\n this.$_returnFocusEl = null;\n },\n mounted: function mounted() {\n var _this = this;\n\n // Add `$root` listeners\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_TOGGLE, this.handleToggle);\n this.listenOnRoot(ROOT_ACTION_EVENT_NAME_REQUEST_STATE, this.handleSync); // Send out a gratuitous state event to ensure toggle button is synced\n\n this.$nextTick(function () {\n _this.emitState(_this.localShow);\n });\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.emitSync();\n },\n beforeDestroy: function beforeDestroy() {\n this.localShow = false;\n this.$_returnFocusEl = null;\n },\n methods: {\n hide: function hide() {\n this.localShow = false;\n },\n emitState: function emitState() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.localShow;\n this.emitOnRoot(ROOT_EVENT_NAME_STATE, this.safeId(), state);\n },\n emitSync: function emitSync() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.localShow;\n this.emitOnRoot(ROOT_EVENT_NAME_SYNC_STATE, this.safeId(), state);\n },\n handleToggle: function handleToggle(id) {\n // Note `safeId()` can be null until after mount\n if (id && id === this.safeId()) {\n this.localShow = !this.localShow;\n }\n },\n handleSync: function handleSync(id) {\n var _this2 = this;\n\n // Note `safeId()` can be null until after mount\n if (id && id === this.safeId()) {\n this.$nextTick(function () {\n _this2.emitSync(_this2.localShow);\n });\n }\n },\n onKeydown: function onKeydown(event) {\n var keyCode = event.keyCode;\n\n if (!this.noCloseOnEsc && keyCode === CODE_ESC && this.localShow) {\n this.hide();\n }\n },\n onBackdropClick: function onBackdropClick() {\n if (this.localShow && !this.noCloseOnBackdrop) {\n this.hide();\n }\n },\n\n /* istanbul ignore next */\n onTopTrapFocus: function onTopTrapFocus() {\n var tabables = getTabables(this.$refs.content);\n this.enforceFocus(tabables.reverse()[0]);\n },\n\n /* istanbul ignore next */\n onBottomTrapFocus: function onBottomTrapFocus() {\n var tabables = getTabables(this.$refs.content);\n this.enforceFocus(tabables[0]);\n },\n onBeforeEnter: function onBeforeEnter() {\n // Returning focus to `document.body` may cause unwanted scrolls,\n // so we exclude setting focus on body\n this.$_returnFocusEl = getActiveElement(IS_BROWSER ? [document.body] : []); // Trigger lazy render\n\n this.isOpen = true;\n },\n onAfterEnter: function onAfterEnter(el) {\n if (!contains(el, getActiveElement())) {\n this.enforceFocus(el);\n }\n\n this.$emit(EVENT_NAME_SHOWN);\n },\n onAfterLeave: function onAfterLeave() {\n this.enforceFocus(this.$_returnFocusEl);\n this.$_returnFocusEl = null; // Trigger lazy render\n\n this.isOpen = false;\n this.$emit(EVENT_NAME_HIDDEN);\n },\n enforceFocus: function enforceFocus(el) {\n if (!this.noEnforceFocus) {\n attemptFocus(el);\n }\n }\n },\n render: function render(h) {\n var _ref;\n\n var bgVariant = this.bgVariant,\n width = this.width,\n textVariant = this.textVariant,\n localShow = this.localShow;\n var shadow = this.shadow === '' ? true : this.shadow;\n var $sidebar = h(this.tag, {\n staticClass: CLASS_NAME,\n class: [(_ref = {\n shadow: shadow === true\n }, _defineProperty(_ref, \"shadow-\".concat(shadow), shadow && shadow !== true), _defineProperty(_ref, \"\".concat(CLASS_NAME, \"-right\"), this.right), _defineProperty(_ref, \"bg-\".concat(bgVariant), bgVariant), _defineProperty(_ref, \"text-\".concat(textVariant), textVariant), _ref), this.sidebarClass],\n style: {\n width: width\n },\n attrs: this.computedAttrs,\n directives: [{\n name: 'show',\n value: localShow\n }],\n ref: 'content'\n }, [renderContent(h, this)]);\n $sidebar = h('transition', {\n props: this.transitionProps,\n on: {\n beforeEnter: this.onBeforeEnter,\n afterEnter: this.onAfterEnter,\n afterLeave: this.onAfterLeave\n }\n }, [$sidebar]);\n var $backdrop = h(BVTransition, {\n props: {\n noFade: this.noSlide\n }\n }, [renderBackdrop(h, this)]);\n var $tabTrapTop = h();\n var $tabTrapBottom = h();\n\n if (this.backdrop && localShow) {\n $tabTrapTop = h('div', {\n attrs: {\n tabindex: '0'\n },\n on: {\n focus: this.onTopTrapFocus\n }\n });\n $tabTrapBottom = h('div', {\n attrs: {\n tabindex: '0'\n },\n on: {\n focus: this.onBottomTrapFocus\n }\n });\n }\n\n return h('div', {\n staticClass: 'b-sidebar-outer',\n style: {\n zIndex: this.zIndex\n },\n attrs: {\n tabindex: '-1'\n },\n on: {\n keydown: this.onKeydown\n }\n }, [$tabTrapTop, $sidebar, $tabTrapBottom, $backdrop]);\n }\n});","function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../../vue';\nimport { EVENT_NAME_HEAD_CLICKED } from '../../../constants/events';\nimport { CODE_ENTER, CODE_SPACE } from '../../../constants/key-codes';\nimport { PROP_TYPE_ARRAY_OBJECT_STRING, PROP_TYPE_STRING } from '../../../constants/props';\nimport { SLOT_NAME_THEAD_TOP } from '../../../constants/slots';\nimport { stopEvent } from '../../../utils/events';\nimport { htmlOrText } from '../../../utils/html';\nimport { identity } from '../../../utils/identity';\nimport { isUndefinedOrNull } from '../../../utils/inspect';\nimport { noop } from '../../../utils/noop';\nimport { makeProp } from '../../../utils/props';\nimport { startCase } from '../../../utils/string';\nimport { BThead } from '../thead';\nimport { BTfoot } from '../tfoot';\nimport { BTr } from '../tr';\nimport { BTh } from '../th';\nimport { filterEvent } from './filter-event';\nimport { textSelectionActive } from './text-selection-active'; // --- Helper methods ---\n\nvar getHeadSlotName = function getHeadSlotName(value) {\n return \"head(\".concat(value || '', \")\");\n};\n\nvar getFootSlotName = function getFootSlotName(value) {\n return \"foot(\".concat(value || '', \")\");\n}; // --- Props ---\n\n\nexport var props = {\n // Any Bootstrap theme variant (or custom)\n headRowVariant: makeProp(PROP_TYPE_STRING),\n // 'light', 'dark' or `null` (or custom)\n headVariant: makeProp(PROP_TYPE_STRING),\n theadClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING),\n theadTrClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING)\n}; // --- Mixin ---\n// @vue/component\n\nexport var theadMixin = Vue.extend({\n props: props,\n methods: {\n fieldClasses: function fieldClasses(field) {\n // Header field () classes\n return [field.class ? field.class : '', field.thClass ? field.thClass : ''];\n },\n headClicked: function headClicked(event, field, isFoot) {\n if (this.stopIfBusy && this.stopIfBusy(event)) {\n // If table is busy (via provider) then don't propagate\n return;\n } else if (filterEvent(event)) {\n // Clicked on a non-disabled control so ignore\n return;\n } else if (textSelectionActive(this.$el)) {\n // User is selecting text, so ignore\n\n /* istanbul ignore next: JSDOM doesn't support getSelection() */\n return;\n }\n\n stopEvent(event);\n this.$emit(EVENT_NAME_HEAD_CLICKED, field.key, field, event, isFoot);\n },\n renderThead: function renderThead() {\n var _this = this;\n\n var isFoot = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var fields = this.computedFields,\n isSortable = this.isSortable,\n isSelectable = this.isSelectable,\n headVariant = this.headVariant,\n footVariant = this.footVariant,\n headRowVariant = this.headRowVariant,\n footRowVariant = this.footRowVariant;\n var h = this.$createElement; // In always stacked mode, we don't bother rendering the head/foot\n // Or if no field headings (empty table)\n\n if (this.isStackedAlways || fields.length === 0) {\n return h();\n }\n\n var hasHeadClickListener = isSortable || this.hasListener(EVENT_NAME_HEAD_CLICKED); // Reference to `selectAllRows` and `clearSelected()`, if table is selectable\n\n var selectAllRows = isSelectable ? this.selectAllRows : noop;\n var clearSelected = isSelectable ? this.clearSelected : noop; // Helper function to generate a field cell\n\n var makeCell = function makeCell(field, colIndex) {\n var label = field.label,\n labelHtml = field.labelHtml,\n variant = field.variant,\n stickyColumn = field.stickyColumn,\n key = field.key;\n var ariaLabel = null;\n\n if (!field.label.trim() && !field.headerTitle) {\n // In case field's label and title are empty/blank\n // We need to add a hint about what the column is about for non-sighted users\n\n /* istanbul ignore next */\n ariaLabel = startCase(field.key);\n }\n\n var on = {};\n\n if (hasHeadClickListener) {\n on.click = function (event) {\n _this.headClicked(event, field, isFoot);\n };\n\n on.keydown = function (event) {\n var keyCode = event.keyCode;\n\n if (keyCode === CODE_ENTER || keyCode === CODE_SPACE) {\n _this.headClicked(event, field, isFoot);\n }\n };\n }\n\n var sortAttrs = isSortable ? _this.sortTheadThAttrs(key, field, isFoot) : {};\n var sortClass = isSortable ? _this.sortTheadThClasses(key, field, isFoot) : null;\n var sortLabel = isSortable ? _this.sortTheadThLabel(key, field, isFoot) : null;\n var data = {\n class: [_this.fieldClasses(field), sortClass],\n props: {\n variant: variant,\n stickyColumn: stickyColumn\n },\n style: field.thStyle || {},\n attrs: _objectSpread(_objectSpread({\n // We only add a `tabindex` of `0` if there is a head-clicked listener\n // and the current field is sortable\n tabindex: hasHeadClickListener && field.sortable ? '0' : null,\n abbr: field.headerAbbr || null,\n title: field.headerTitle || null,\n 'aria-colindex': colIndex + 1,\n 'aria-label': ariaLabel\n }, _this.getThValues(null, key, field.thAttr, isFoot ? 'foot' : 'head', {})), sortAttrs),\n on: on,\n key: key\n }; // Handle edge case where in-document templates are used with new\n // `v-slot:name` syntax where the browser lower-cases the v-slot's\n // name (attributes become lower cased when parsed by the browser)\n // We have replaced the square bracket syntax with round brackets\n // to prevent confusion with dynamic slot names\n\n var slotNames = [getHeadSlotName(key), getHeadSlotName(key.toLowerCase()), getHeadSlotName()]; // Footer will fallback to header slot names\n\n if (isFoot) {\n slotNames = [getFootSlotName(key), getFootSlotName(key.toLowerCase()), getFootSlotName()].concat(_toConsumableArray(slotNames));\n }\n\n var scope = {\n label: label,\n column: key,\n field: field,\n isFoot: isFoot,\n // Add in row select methods\n selectAllRows: selectAllRows,\n clearSelected: clearSelected\n };\n var $content = _this.normalizeSlot(slotNames, scope) || h('div', {\n domProps: htmlOrText(labelHtml, label)\n });\n var $srLabel = sortLabel ? h('span', {\n staticClass: 'sr-only'\n }, \" (\".concat(sortLabel, \")\")) : null; // Return the header cell\n\n return h(BTh, data, [$content, $srLabel].filter(identity));\n }; // Generate the array of cells\n\n\n var $cells = fields.map(makeCell).filter(identity); // Generate the row(s)\n\n var $trs = [];\n\n if (isFoot) {\n $trs.push(h(BTr, {\n class: this.tfootTrClass,\n props: {\n variant: isUndefinedOrNull(footRowVariant) ? headRowVariant :\n /* istanbul ignore next */\n footRowVariant\n }\n }, $cells));\n } else {\n var scope = {\n columns: fields.length,\n fields: fields,\n // Add in row select methods\n selectAllRows: selectAllRows,\n clearSelected: clearSelected\n };\n $trs.push(this.normalizeSlot(SLOT_NAME_THEAD_TOP, scope) || h());\n $trs.push(h(BTr, {\n class: this.theadTrClass,\n props: {\n variant: headRowVariant\n }\n }, $cells));\n }\n\n return h(isFoot ? BTfoot : BThead, {\n class: (isFoot ? this.tfootClass : this.theadClass) || null,\n props: isFoot ? {\n footVariant: footVariant || headVariant || null\n } : {\n headVariant: headVariant || null\n },\n key: isFoot ? 'bv-tfoot' : 'bv-thead'\n }, $trs);\n }\n }\n});","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue } from '../../vue';\nimport { NAME_TABLE_LITE } from '../../constants/components';\nimport { sortKeys } from '../../utils/object';\nimport { makePropsConfigurable } from '../../utils/props';\nimport { attrsMixin } from '../../mixins/attrs';\nimport { hasListenerMixin } from '../../mixins/has-listener';\nimport { idMixin, props as idProps } from '../../mixins/id';\nimport { normalizeSlotMixin } from '../../mixins/normalize-slot';\nimport { captionMixin, props as captionProps } from './helpers/mixin-caption';\nimport { colgroupMixin, props as colgroupProps } from './helpers/mixin-colgroup';\nimport { itemsMixin, props as itemsProps } from './helpers/mixin-items';\nimport { stackedMixin, props as stackedProps } from './helpers/mixin-stacked';\nimport { tableRendererMixin, props as tableRendererProps } from './helpers/mixin-table-renderer';\nimport { tbodyMixin, props as tbodyProps } from './helpers/mixin-tbody';\nimport { tfootMixin, props as tfootProps } from './helpers/mixin-tfoot';\nimport { theadMixin, props as theadProps } from './helpers/mixin-thead'; // --- Props ---\n\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, idProps), captionProps), colgroupProps), itemsProps), stackedProps), tableRendererProps), tbodyProps), tfootProps), theadProps)), NAME_TABLE_LITE); // --- Main component ---\n// @vue/component\n\nexport var BTableLite = /*#__PURE__*/Vue.extend({\n name: NAME_TABLE_LITE,\n // Order of mixins is important!\n // They are merged from first to last, followed by this component\n mixins: [// General mixins\n attrsMixin, hasListenerMixin, idMixin, normalizeSlotMixin, // Required table mixins\n itemsMixin, tableRendererMixin, stackedMixin, theadMixin, tfootMixin, tbodyMixin, // Table features mixins\n // These are pretty lightweight, and are useful for lightweight tables\n captionMixin, colgroupMixin],\n props: props // Render function is provided by `tableRendererMixin`\n\n});","import { getSel, isElement } from '../../../utils/dom'; // Helper to determine if a there is an active text selection on the document page\n// Used to filter out click events caused by the mouse up at end of selection\n//\n// Accepts an element as only argument to test to see if selection overlaps or is\n// contained within the element\n\nexport var textSelectionActive = function textSelectionActive() {\n var el = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;\n var sel = getSel();\n return sel && sel.toString().trim() !== '' && sel.containsNode && isElement(el) ?\n /* istanbul ignore next */\n sel.containsNode(el, true) : false;\n};","import { Vue } from '../vue';\nimport { NAME_CARD } from '../constants/components';\nimport { PROP_TYPE_STRING } from '../constants/props';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n bgVariant: makeProp(PROP_TYPE_STRING),\n borderVariant: makeProp(PROP_TYPE_STRING),\n tag: makeProp(PROP_TYPE_STRING, 'div'),\n textVariant: makeProp(PROP_TYPE_STRING)\n}, NAME_CARD); // --- Mixin ---\n// @vue/component\n\nexport var cardMixin = Vue.extend({\n props: props\n});","import { Vue } from '../../../vue';\nimport { SLOT_NAME_TABLE_COLGROUP } from '../../../constants/slots'; // --- Props ---\n\nexport var props = {}; // --- Mixin ---\n// @vue/component\n\nexport var colgroupMixin = Vue.extend({\n methods: {\n renderColgroup: function renderColgroup() {\n var fields = this.computedFields;\n var h = this.$createElement;\n var $colgroup = h();\n\n if (this.hasNormalizedSlot(SLOT_NAME_TABLE_COLGROUP)) {\n $colgroup = h('colgroup', {\n key: 'colgroup'\n }, [this.normalizeSlot(SLOT_NAME_TABLE_COLGROUP, {\n columns: fields.length,\n fields: fields\n })]);\n }\n\n return $colgroup;\n }\n }\n});","import { Vue, mergeData } from '../../vue';\nimport { NAME_CARD_TEXT } from '../../constants/components';\nimport { PROP_TYPE_STRING } from '../../constants/props';\nimport { makeProp, makePropsConfigurable } from '../../utils/props'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n textTag: makeProp(PROP_TYPE_STRING, 'p')\n}, NAME_CARD_TEXT); // --- Main component ---\n// @vue/component\n\nexport var BCardText = /*#__PURE__*/Vue.extend({\n name: NAME_CARD_TEXT,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n return h(props.textTag, mergeData(data, {\n staticClass: 'card-text'\n }), children);\n }\n});","import { Vue } from '../vue';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../constants/props';\nimport { attemptFocus, isVisible, matches, requestAF, select } from '../utils/dom';\nimport { makeProp, makePropsConfigurable } from '../utils/props'; // --- Constants ---\n\nvar SELECTOR = 'input, textarea, select'; // --- Props ---\n\nexport var props = makePropsConfigurable({\n autofocus: makeProp(PROP_TYPE_BOOLEAN, false),\n disabled: makeProp(PROP_TYPE_BOOLEAN, false),\n form: makeProp(PROP_TYPE_STRING),\n id: makeProp(PROP_TYPE_STRING),\n name: makeProp(PROP_TYPE_STRING),\n required: makeProp(PROP_TYPE_BOOLEAN, false)\n}, 'formControls'); // --- Mixin ---\n// @vue/component\n\nexport var formControlMixin = Vue.extend({\n props: props,\n mounted: function mounted() {\n this.handleAutofocus();\n },\n\n /* istanbul ignore next */\n activated: function activated() {\n this.handleAutofocus();\n },\n methods: {\n handleAutofocus: function handleAutofocus() {\n var _this = this;\n\n this.$nextTick(function () {\n requestAF(function () {\n var el = _this.$el;\n\n if (_this.autofocus && isVisible(el)) {\n if (!matches(el, SELECTOR)) {\n el = select(SELECTOR, el);\n }\n\n attemptFocus(el);\n }\n });\n });\n }\n }\n});","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoicePreview.vue?vue&type=style&index=1&lang=scss&\"","export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InvoiceSidebarAddPayment.vue?vue&type=style&index=0&lang=scss&\"","function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nimport { Vue, mergeData } from '../../vue';\nimport { NAME_BADGE } from '../../constants/components';\nimport { PROP_TYPE_BOOLEAN, PROP_TYPE_STRING } from '../../constants/props';\nimport { omit, sortKeys } from '../../utils/object';\nimport { makeProp, makePropsConfigurable, pluckProps } from '../../utils/props';\nimport { isLink } from '../../utils/router';\nimport { BLink, props as BLinkProps } from '../link/link'; // --- Props ---\n\nvar linkProps = omit(BLinkProps, ['event', 'routerTag']);\ndelete linkProps.href.default;\ndelete linkProps.to.default;\nexport var props = makePropsConfigurable(sortKeys(_objectSpread(_objectSpread({}, linkProps), {}, {\n pill: makeProp(PROP_TYPE_BOOLEAN, false),\n tag: makeProp(PROP_TYPE_STRING, 'span'),\n variant: makeProp(PROP_TYPE_STRING, 'secondary')\n})), NAME_BADGE); // --- Main component ---\n// @vue/component\n\nexport var BBadge = /*#__PURE__*/Vue.extend({\n name: NAME_BADGE,\n functional: true,\n props: props,\n render: function render(h, _ref) {\n var props = _ref.props,\n data = _ref.data,\n children = _ref.children;\n var active = props.active,\n disabled = props.disabled;\n var link = isLink(props);\n var tag = link ? BLink : props.tag;\n var variant = props.variant || 'secondary';\n return h(tag, mergeData(data, {\n staticClass: 'badge',\n class: [\"badge-\".concat(variant), {\n 'badge-pill': props.pill,\n active: active,\n disabled: disabled\n }],\n props: link ? pluckProps(linkProps, props) : {}\n }), children);\n }\n});","export var noop = function noop() {};"],"sourceRoot":""}