{"version":3,"sources":["webpack:///./src/commoncomponents/SearchBar.vue?5c4b","webpack:///./src/commoncomponents/SearchBar.vue?e12a","webpack:///./src/commoncomponents/SearchBar.vue?4d7a","webpack:///./src/commoncomponents/SearchBar.vue","webpack:///./src/assets/images/common-icon/search.svg","webpack:///./src/commoncomponents/SearchBar.vue?ab95","webpack:///./src/commoncomponents/ExpandableSelectList/ExpandableSelectList.vue?705d","webpack:///./src/commoncomponents/ExpandableSelectList/ExpandableSelectList.vue?5ce1","webpack:///./src/commoncomponents/ExpandableSelectList/types.ts","webpack:///./src/commoncomponents/ExpandableSelectList/ExpandableSelectList.vue?fb4a","webpack:///./src/commoncomponents/ExpandableSelectList/ExpandableSelectList.vue?4ec5","webpack:///./src/commoncomponents/ExpandableSelectList/ExpandableSelectList.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","directives","name","rawName","value","expression","modifiers","ref","attrs","placeholder","domProps","on","$event","type","indexOf","_k","keyCode","key","onEnterPressed","undefined","onEscPressed","submitSearch","target","composing","searchText","trim","$forceUpdate","clearSearchText","staticRenderFns","SearchBar","oldValue","$emit","searchOnType","length","searchOnTypeMinLength","event","preventDefault","shouldClearOnEsc","inputRef","focus","Vue","tslib_1","Prop","String","default","Boolean","Number","Ref","Watch","Emit","Component","component","module","exports","model","callback","$$v","panel","scopedSlots","_u","fn","_v","_s","title","subtitle","_e","onSelectedItemClick","_t","selectedItemSync","removeSelection","proxy","search","clearSearch","itemsToShow","style","maxHeight","listMaxHeight","keyField","item","index","active","titleHtmlAttribute","_q","noItemsText","PANEL_OPEN","PANEL_CLOSED","screenText","ScreenText","ExpandableSelectList","isPanelOpenSync","onClose","$nextTick","then","searchBarRef","stopPropagation","clearSearchOnClose","Array","isArray","arrStr","forEach","val","getItemStringValue","entries","Object","valuesToSearch","entry","excludedSearchFields","includes","push","toLocaleLowerCase","replace","items","filter","stringified","required","getScreenText","PropSync","components"],"mappings":"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","file":"js/chunk-798e3ede.2491635a0e9c36ef4323.1722011900316.min.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"search-bar uk-flex uk-flex-middle\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model.trim\",value:(_vm.searchText),expression:\"searchText\",modifiers:{\"trim\":true}}],ref:\"inputRef\",staticClass:\"uk-flex-1 uk-padding-small\",attrs:{\"placeholder\":_vm.placeholder,\"autocomplete\":\"off\"},domProps:{\"value\":(_vm.searchText)},on:{\"keypress\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.onEnterPressed($event)},\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"escape\",undefined,$event.key,undefined)){ return null; }return _vm.onEscPressed($event)},\"keyup\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"enter\",13,$event.key,\"Enter\")){ return null; }return _vm.submitSearch($event)},\"input\":function($event){if($event.target.composing){ return; }_vm.searchText=$event.target.value.trim()},\"blur\":function($event){return _vm.$forceUpdate()}}}),_c('div',{staticClass:\"uk-flex-none search-bar-icon-wrapper\"},[(_vm.searchText.length)?_c('img',{staticClass:\"close-icon\",attrs:{\"src\":require(\"@/assets/images/closeIconBlack.svg\"),\"alt\":\"Clear\"},on:{\"click\":_vm.clearSearchText}}):_c('img',{staticClass:\"search-icon\",attrs:{\"src\":require(\"@/assets/images/common-icon/search.svg\"),\"alt\":\"Search\"},on:{\"click\":_vm.submitSearch}})])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Emit, Prop, Ref, Vue, Watch } from 'vue-property-decorator';\n\n\n@Component({})\nexport default class SearchBar extends Vue {\n @Prop({ type: String, default: '' }) readonly placeholder!: string;\n @Prop({ type: Boolean, default: false }) readonly shouldClearOnEsc!: boolean;\n @Prop({ type: Boolean, default: true }) readonly preventDefault!: boolean; // To help prevent search bar from auto-submitting forms it may be contained in\n @Prop({ type: Boolean, default: false }) readonly searchOnType!: boolean;\n @Prop({ type: Number, default: 1 }) readonly searchOnTypeMinLength!: number;\n @Ref('inputRef') readonly inputRef!: HTMLInputElement;\n\n searchText = '';\n\n @Watch('searchText')\n onSearchTextChange(value: string, oldValue: string) {\n if (!value && oldValue) {\n this.$emit('clearSearch');\n } else if (this.searchOnType && value.length >= this.searchOnTypeMinLength) {\n this.submitSearch();\n }\n }\n\n @Emit('search')\n submitSearch() {\n return this.searchText;\n }\n\n onEnterPressed(event: KeyboardEvent) {\n if (this.preventDefault) {\n event.preventDefault();\n }\n }\n\n onEscPressed() {\n if (this.shouldClearOnEsc) {\n this.clearSearchText();\n }\n }\n\n clearSearchText() {\n this.searchText = '';\n }\n\n focus() {\n this.inputRef.focus();\n }\n}\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SearchBar.vue?vue&type=template&id=799e912c&scoped=true&\"\nimport script from \"./SearchBar.vue?vue&type=script&lang=ts&\"\nexport * from \"./SearchBar.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./SearchBar.vue?vue&type=style&index=0&id=799e912c&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"799e912c\",\n null\n \n)\n\nexport default component.exports","module.exports = __webpack_public_path__ + \"img/search.83aca4f4.svg\";","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SearchBar.vue?vue&type=style&index=0&id=799e912c&lang=less&scoped=true&\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--10-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--10-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--10-oneOf-1-2!../../../node_modules/less-loader/dist/cjs.js??ref--10-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExpandableSelectList.vue?vue&type=style&index=0&id=208d1141&lang=less&scoped=true&\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"expandable-select-list\"},[_c('v-expansion-panel',{attrs:{\"focusable\":\"\"},model:{value:(_vm.panel),callback:function ($$v) {_vm.panel=$$v},expression:\"panel\"}},[_c('v-expansion-panel-content',{scopedSlots:_vm._u([{key:\"header\",fn:function(){return [_c('div',{staticClass:\"expandable-select-list-header-content uk-flex uk-flex-column\"},[_c('div',{staticClass:\"expandable-select-list-title\"},[_vm._v(\" \"+_vm._s(_vm.title)+\" \")]),(_vm.subtitle)?_c('div',{staticClass:\"expandable-select-list-subtitle\"},[_vm._v(\" \"+_vm._s(_vm.subtitle)+\" \")]):_vm._e(),(_vm.selectedItemSync)?_c('div',{staticClass:\"uk-flex uk-flex-middle uk-flex-between expandable-select-list-selected-item\",on:{\"click\":_vm.onSelectedItemClick}},[_c('div',[_vm._t(\"selectedItem\",null,{\"item\":_vm.selectedItemSync})],2),_c('img',{staticClass:\"uk-flex-none uk-margin-small-left expandable-select-list-selected-item-close-button\",attrs:{\"src\":require(\"@/assets/images/closeIconBlack.svg\"),\"alt\":\"Remove Selection\"},on:{\"click\":_vm.removeSelection}})]):_vm._e()])]},proxy:true}],null,true)},[_c('div',{staticClass:\"body-content-wrapper\"},[_c('div',[_c('div',{staticClass:\"search-wrapper\"},[_c('SearchBar',{ref:\"searchBarRef\",attrs:{\"searchOnType\":true,\"searchOnTypeMinLength\":3,\"placeholder\":\"Search Sites\"},on:{\"search\":_vm.search,\"clearSearch\":_vm.clearSearch}})],1),_c('div',{staticClass:\"expandable-select-list-items-container\"},[(!_vm.itemsToShow.length)?_c('div',{staticClass:\"expandable-select-list-items-container-no-items-message\"},[_vm._v(\" \"+_vm._s(_vm.noItemsText)+\" \")]):[_c('DynamicScroller',{staticClass:\"scroller\",style:({ maxHeight: (_vm.listMaxHeight + \"px\") }),attrs:{\"items\":_vm.itemsToShow,\"min-item-size\":54,\"keyField\":_vm.keyField},scopedSlots:_vm._u([{key:\"default\",fn:function(ref){\nvar item = ref.item;\nvar index = ref.index;\nvar active = ref.active;\nreturn [_c('DynamicScrollerItem',{staticClass:\"uk-flex uk-flex-middle expandable-select-list-item-wrapper\",attrs:{\"item\":item,\"active\":active,\"data-index\":index}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selectedItemSync),expression:\"selectedItemSync\"}],staticClass:\"uk-margin-remove\",attrs:{\"id\":(\"expandable-select-list-\" + _vm.titleHtmlAttribute + \"-\" + (item[_vm.keyField])),\"name\":(\"expandable-select-list-\" + _vm.titleHtmlAttribute),\"type\":\"radio\"},domProps:{\"value\":item,\"checked\":_vm._q(_vm.selectedItemSync,item)},on:{\"change\":function($event){_vm.selectedItemSync=item}}}),_c('label',{staticClass:\"uk-margin-remove-bottom uk-margin-small-left\",attrs:{\"for\":(\"expandable-select-list-\" + _vm.titleHtmlAttribute + \"-\" + (item[_vm.keyField]))}},[_vm._t(\"itemLabel\",null,{\"item\":item})],2)])]}}],null,true)})]],2)])])])],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","// VExpansionPanel can v-model a prop to programatically control which panels are open/closed.\n// This is either an Array of the panel indices or a single index value for one panel.\n// Since we only have one panel (index 0), we can use `0` to open and `null` to close.\nexport const PANEL_OPEN = 0;\nexport const PANEL_CLOSED = null;\nexport type PanelState = typeof PANEL_OPEN | typeof PANEL_CLOSED;","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport { Component, Prop, PropSync, Ref, Vue, Watch } from 'vue-property-decorator';\nimport SearchBar from '@/commoncomponents/SearchBar.vue';\nimport { ScreenText } from '@/lang/ScreenText';\nimport { PanelState, PANEL_CLOSED, PANEL_OPEN } from './types';\n\nconst screenText = new ScreenText();\n\n@Component({\n components: {\n SearchBar\n }\n})\nexport default class ExpandableSelectList extends Vue {\n @Prop({ type: String, required: true }) readonly title!: string;\n @Prop({ type: Array, required: true }) readonly items!: Array;\n @Prop({ type: String, default: 'id' }) readonly keyField!: string;\n @Prop({ type: String, default: '' }) readonly subtitle!: string;\n @Prop({ type: Number, default: 300 }) readonly listMaxHeight!: number;\n @Prop({ type: String, default: screenText.getScreenText('NO_ITEMS_RESULTS') }) readonly noItemsText!: string;\n @Prop({ type: Array, default: () => [] }) readonly excludedSearchFields!: Array;\n @Prop({ type: Boolean, default: false }) readonly clearSearchOnClose!: boolean;\n @PropSync('selectedItem', { required: true }) selectedItemSync!: unknown | null;\n @PropSync('isPanelOpen', { required: true }) isPanelOpenSync!: boolean;\n @Ref('searchBarRef') readonly searchBarRef!: SearchBar;\n\n panel: PanelState = null;\n searchText = '';\n\n get titleHtmlAttribute(): string {\n return this.title.toLocaleLowerCase().replace(/\\s+/g, '-').replace(/[^\\w-]/g, '');\n }\n\n get itemsToShow(): Array {\n let itemsToShow = this.items;\n if (this.searchText) {\n itemsToShow = this.items.filter(item => {\n const stringified = this.getItemStringValue(item);\n return stringified.toLocaleLowerCase().includes(this.searchText.toLocaleLowerCase());\n });\n }\n return itemsToShow;\n }\n\n created() {\n if (this.isPanelOpenSync) {\n this.panel = PANEL_OPEN;\n }\n }\n\n @Watch('isPanelOpenSync')\n onIsPanelOpenSyncChange(value: boolean) {\n if (value) {\n this.panel = PANEL_OPEN;\n } else {\n this.panel = PANEL_CLOSED;\n this.onClose();\n }\n }\n\n @Watch('panel')\n onPanelChange(value: 0 | null) {\n if (value === null) {\n this.isPanelOpenSync = false;\n } else {\n this.isPanelOpenSync = true;\n this.$nextTick().then(\n () => this.searchBarRef.focus()\n );\n }\n }\n\n // Auto-close the panel when selecting.\n @Watch('selectedItemSync')\n onSelectedItemSyncChange(value: unknown | null) {\n if (value !== null) {\n this.isPanelOpenSync = false;\n }\n }\n\n onSelectedItemClick(event: MouseEvent) {\n event.stopPropagation(); // Prevent event from bubbling to expansion panel\n }\n\n removeSelection() {\n this.selectedItemSync = null;\n }\n\n search(searchText: string) {\n this.searchText = searchText;\n }\n\n clearSearch() {\n this.searchText = '';\n }\n\n onClose() {\n if (this.searchText && this.clearSearchOnClose) {\n this.searchBarRef.clearSearchText();\n }\n }\n\n getItemStringValue(item: unknown): string {\n if (typeof item === 'string') {\n return item;\n } else if (typeof item === 'number' || typeof item === 'boolean') {\n return `${item}`;\n } else if (Array.isArray(item)) {\n let arrStr = '';\n item.forEach((val) => {\n arrStr += this.getItemStringValue(val);\n });\n return arrStr;\n } else if (item && typeof item === 'object') {\n const entries = Object.entries(item as {});\n const valuesToSearch: Array = [];\n entries.forEach(entry => {\n const [key, value] = entry;\n if (!this.excludedSearchFields.includes(key)) {\n valuesToSearch.push(value);\n }\n });\n return this.getItemStringValue(valuesToSearch);\n }\n return '';\n }\n}\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExpandableSelectList.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ExpandableSelectList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ExpandableSelectList.vue?vue&type=template&id=208d1141&scoped=true&\"\nimport script from \"./ExpandableSelectList.vue?vue&type=script&lang=ts&\"\nexport * from \"./ExpandableSelectList.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./ExpandableSelectList.vue?vue&type=style&index=0&id=208d1141&lang=less&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"208d1141\",\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}