{"version":3,"file":"7763.52e42b4ff55187fa22b7.js","mappings":"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","sources":["webpack://@dgtls-pub/wolf-sb-integration/./src/global/js/ControllerProxy.ts","webpack://@dgtls-pub/wolf-sb-integration/./src/wolf/components/molecules/m-search-field/m-search-field.events.ts","webpack://@dgtls-pub/wolf-sb-integration/./src/wolf/components/organisms/o-adviser/o-adviser.controller.ts","webpack://@dgtls-pub/wolf-sb-integration/./node_modules/uuid/dist/esm-browser/rng.js","webpack://@dgtls-pub/wolf-sb-integration/./node_modules/uuid/dist/esm-browser/regex.js","webpack://@dgtls-pub/wolf-sb-integration/./node_modules/uuid/dist/esm-browser/stringify.js","webpack://@dgtls-pub/wolf-sb-integration/./node_modules/uuid/dist/esm-browser/validate.js","webpack://@dgtls-pub/wolf-sb-integration/./node_modules/uuid/dist/esm-browser/v4.js"],"sourcesContent":["/**\n * Proxy new class instance\n */\nexport default class ControllerProxy {\n\tconstructor(\n\t\t// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n\t\tcomponents: any,\n\t\t// components: Record void>,\n\t\tcomponentName: string,\n\t\telement: HTMLElement,\n\t) {\n\t\tif (componentName && components && typeof components[componentName] === 'function') {\n\t\t\treturn new components[componentName](element);\n\t\t} else {\n\t\t\tconsole.warn('Component not found', [componentName, components, element]);\n\t\t}\n\t}\n}\n","import { ComponentEvents } from 'global/interfaces/component.interface';\n\n/**\n * Name of the event (Must be unique)\n */\nexport const MoleculeSearchFieldEvents: ComponentEvents = {\n\tsearch: 'searchEvent',\n};\n\n/**\n * Data send through the event\n */\nexport interface MoleculeSearchFieldEvent {\n\tsearchValue: string;\n}\n","import ControllerBase from 'global/js/ControllerBase';\nimport { fromEvent } from 'rxjs';\nimport { map } from 'rxjs/operators';\nimport { MoleculeSearchFieldEvents, MoleculeSearchFieldEvent } from 'wolf/components/molecules/m-search-field/m-search-field.events';\nimport { MoleculePaginationEvent, MyMoleculePaginationEvents } from 'wolf/components/molecules/m-pagination/m-pagination.events';\nimport ControllerProxy from 'global/js/ControllerProxy';\nimport Controller from '../../../global/js/controller-list';\n\ninterface ComponentRefs {\n\tcategoriesWrapper: 'categoriesWrapper';\n\tcontentWrapper: 'contentWrapper';\n}\n\nexport default class ControllerAdviser extends ControllerBase {\n\tprivate categories: HTMLDivElement;\n\tprivate filter: string;\n\tprivate searchUrl: string;\n\tprivate page: number;\n\tprivate content: HTMLDivElement;\n\tprivate searchTerm: string;\n\n\tconstructor(element: HTMLElement) {\n\t\tsuper(element);\n\n\t\tthis.searchUrl = this.$element.dataset.searchurl as string;\n\t\tthis.categories = this.$references.categoriesWrapper as HTMLDivElement;\n\t\tthis.content = this.$references.contentWrapper as HTMLDivElement;\n\t\tthis.filter = '';\n\t\tthis.searchTerm = '';\n\t\tthis.page = 1;\n\n\t\tthis.init();\n\t}\n\n\tprivate init(): void {\n\t\tthis.searchEvent();\n\t\tthis.paginationEvent();\n\n\t\tthis.categories.querySelectorAll('li').forEach((category: HTMLLIElement) => {\n\t\t\tcategory.addEventListener('click', (event) => this.handleClickEvent(event));\n\t\t});\n\t}\n\n\t/**\n\t * Applies a tag if required to filter in the API call\n\t * @param event\n\t */\n\tprivate handleClickEvent(event: MouseEvent | PointerEvent): void {\n\t\tconst category = event.target as HTMLLIElement;\n\t\tconst categories = this.categories.querySelectorAll('li');\n\n\t\tif (category.classList.contains('active')) {\n\t\t\tcategories.forEach((tag) => {\n\t\t\t\ttag.classList.remove('active');\n\t\t\t\tthis.filter = '';\n\t\t\t});\n\t\t} else {\n\t\t\tcategories.forEach((tag) => {\n\t\t\t\ttag.classList.remove('active');\n\t\t\t});\n\t\t\tcategory.classList.add('active');\n\t\t\tthis.filter = category.dataset.category || '';\n\t\t}\n\t\tthis.search(this.searchTerm)\n\t\t\t.then((response) => {\n\t\t\t\tthis.renderContent(response.data);\n\t\t\t})\n\t\t\t.catch((err) => {\n\t\t\t\tconsole.error(err);\n\t\t\t});\n\t}\n\n\t/**\n\t * API call\n\t * @param {string} input Keyword to be search in the API call\n\t */\n\tprivate async search(input: string) {\n\t\tconst url = new URL(this.searchUrl);\n\t\turl.searchParams.append('search', input);\n\t\tthis.filter ? url.searchParams.append('tag', this.filter) : '';\n\t\turl.searchParams.append('page', this.page.toString());\n\n\t\tconst response = await fetch(url.toString());\n\n\t\treturn await response.json();\n\t}\n\n\tprivate searchEvent() {\n\t\tfromEvent(window, MoleculeSearchFieldEvents.search)\n\t\t\t.pipe(\n\t\t\t\tmap((event: CustomEvent) => {\n\t\t\t\t\treturn event.detail.searchValue || '';\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe((e) => {\n\t\t\t\tthis.searchTerm = e;\n\t\t\t\tthis.search(this.searchTerm)\n\t\t\t\t\t.then((response) => {\n\t\t\t\t\t\tthis.renderContent(response.data);\n\t\t\t\t\t})\n\t\t\t\t\t.catch((err) => {\n\t\t\t\t\t\tconsole.error(err);\n\t\t\t\t\t});\n\t\t\t});\n\t}\n\n\tprivate paginationEvent() {\n\t\tfromEvent(window, MyMoleculePaginationEvents.pageEvent)\n\t\t\t.pipe(\n\t\t\t\tmap((event: CustomEvent) => {\n\t\t\t\t\treturn event.detail.page || -1;\n\t\t\t\t}),\n\t\t\t)\n\t\t\t.subscribe((e) => {\n\t\t\t\tthis.page = e > -1 ? e : 1;\n\t\t\t\tthis.search(this.searchTerm).then((response) => {\n\t\t\t\t\tthis.renderContent(response.data);\n\t\t\t\t});\n\t\t\t});\n\t}\n\n\tprivate renderContent(content: string) {\n\t\tthis.content.innerHTML = content;\n\n\t\tthis.initializeNestedComponents();\n\t}\n\n\tprotected initializeNestedComponents(): void {\n\t\t// (window as any).App.mountComponents(true)\n\t\tconst components = this.content.querySelectorAll('[data-controller]');\n\n\t\tcomponents.forEach((element: HTMLElement) => {\n\t\t\tconst componentName = element.dataset.controller;\n\t\t\tnew ControllerProxy(Controller, componentName, element);\n\t\t});\n\t}\n}\n","// Unique ID creation requires a high quality random # generator. In the browser we therefore\n// require the crypto API and do not support built-in fallback to lower quality random number\n// generators (like Math.random()).\nvar getRandomValues;\nvar rnds8 = new Uint8Array(16);\nexport default function rng() {\n // lazy load so that environments that need to polyfill have a chance to do so\n if (!getRandomValues) {\n // getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation. Also,\n // find the complete implementation of crypto (msCrypto) on IE11.\n getRandomValues = typeof crypto !== 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto) || typeof msCrypto !== 'undefined' && typeof msCrypto.getRandomValues === 'function' && msCrypto.getRandomValues.bind(msCrypto);\n\n if (!getRandomValues) {\n throw new Error('crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported');\n }\n }\n\n return getRandomValues(rnds8);\n}","export default /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i;","import validate from './validate.js';\n/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\n\nvar byteToHex = [];\n\nfor (var i = 0; i < 256; ++i) {\n byteToHex.push((i + 0x100).toString(16).substr(1));\n}\n\nfunction stringify(arr) {\n var offset = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n // Note: Be careful editing this code! It's been tuned for performance\n // and works in ways you may not expect. See https://github.com/uuidjs/uuid/pull/434\n var uuid = (byteToHex[arr[offset + 0]] + byteToHex[arr[offset + 1]] + byteToHex[arr[offset + 2]] + byteToHex[arr[offset + 3]] + '-' + byteToHex[arr[offset + 4]] + byteToHex[arr[offset + 5]] + '-' + byteToHex[arr[offset + 6]] + byteToHex[arr[offset + 7]] + '-' + byteToHex[arr[offset + 8]] + byteToHex[arr[offset + 9]] + '-' + byteToHex[arr[offset + 10]] + byteToHex[arr[offset + 11]] + byteToHex[arr[offset + 12]] + byteToHex[arr[offset + 13]] + byteToHex[arr[offset + 14]] + byteToHex[arr[offset + 15]]).toLowerCase(); // Consistency check for valid UUID. If this throws, it's likely due to one\n // of the following:\n // - One or more input array values don't map to a hex octet (leading to\n // \"undefined\" in the uuid)\n // - Invalid input values for the RFC `version` or `variant` fields\n\n if (!validate(uuid)) {\n throw TypeError('Stringified UUID is invalid');\n }\n\n return uuid;\n}\n\nexport default stringify;","import REGEX from './regex.js';\n\nfunction validate(uuid) {\n return typeof uuid === 'string' && REGEX.test(uuid);\n}\n\nexport default validate;","import rng from './rng.js';\nimport stringify from './stringify.js';\n\nfunction v4(options, buf, offset) {\n options = options || {};\n var rnds = options.random || (options.rng || rng)(); // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n\n rnds[6] = rnds[6] & 0x0f | 0x40;\n rnds[8] = rnds[8] & 0x3f | 0x80; // Copy bytes to buffer, if provided\n\n if (buf) {\n offset = offset || 0;\n\n for (var i = 0; i < 16; ++i) {\n buf[offset + i] = rnds[i];\n }\n\n return buf;\n }\n\n return stringify(rnds);\n}\n\nexport default v4;"],"names":["ControllerProxy","constructor","components","componentName","element","console","warn","MoleculeSearchFieldEvents","search","ControllerAdviser","super","this","searchUrl","$element","dataset","searchurl","categories","$references","categoriesWrapper","content","contentWrapper","filter","searchTerm","page","init","searchEvent","paginationEvent","querySelectorAll","forEach","category","addEventListener","event","handleClickEvent","target","classList","contains","tag","remove","add","then","response","renderContent","data","catch","err","error","input","url","URL","searchParams","append","toString","fetch","json","window","pipe","detail","searchValue","subscribe","e","pageEvent","innerHTML","initializeNestedComponents","controller","getRandomValues","rnds8","Uint8Array","rng","crypto","bind","msCrypto","Error","byteToHex","i","push","substr","arr","offset","arguments","length","undefined","uuid","toLowerCase","test","TypeError","options","buf","rnds","random"],"sourceRoot":""}