{"version":3,"sources":["webpack:///./src/feature/search/search.js","webpack:///./node_modules/core-js/modules/es.object.get-prototype-of.js","webpack:///./node_modules/core-js/modules/es.reflect.construct.js","webpack:///./node_modules/core-js/internals/function-bind.js"],"names":["Search","element","el","submitButton","querySelector","searchPanel","document","searchOpen","searchClose","searchBox","searchInputs","getElementsByTagName","searchInput","addEventListener","checkSearchButton","searchParameter","log","this","dom","input","activateSearchButton","open","openSearchPanel","close","closeSearchPanel","window","e","SearchOpenIsFocused","activeElement","SearchCloseIsFocused","code","preventDefault","click","setAttribute","classList","remove","focus","add","i","type","length","setTimeout","customeUrl","getAttribute","searchInputValue","value","url","URL","searchParams","set","location","href","removeAttribute","contains","BaseFeature","$","fails","toObject","nativeGetPrototypeOf","CORRECT_PROTOTYPE_GETTER","target","stat","forced","sham","getPrototypeOf","it","getBuiltIn","aConstructor","anObject","isObject","create","bind","nativeConstruct","NEW_TARGET_BUG","F","ARGS_BUG","FORCED","construct","Target","args","newTarget","arguments","$args","push","apply","proto","prototype","instance","Object","result","Function","call","aCallable","slice","factories","C","argsLength","list","join","module","exports","that","fn","partArgs","boundFunction","concat"],"mappings":"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","file":"35-9a02743b.pkg.js","sourcesContent":["import BaseFeature from '../../foundation/base/base';\r\n\r\nclass Search extends BaseFeature {\r\n\tconstructor(element) {\r\n\t\tsuper(element);\r\n\r\n\t\tthis.el = element;\r\n\r\n\r\n\t\tthis.submitButton = this.el.querySelector('[data-ref=\"search__button\"]');\r\n\t\tthis.searchPanel = document.querySelector('.o-search__panel');\r\n\t\tthis.searchOpen = this.el.querySelector('[data-js=\"searchOpen\"]');\r\n\t\tthis.searchClose = this.el.querySelector('[data-js=\"searchClose\"]');\r\n\t\tthis.searchBox = this.el.querySelector('[data-js=\"searchBox\"]');\r\n\t\tthis.searchInputs = document.getElementsByTagName('input');\r\n\t\tthis.searchInput = this.el.querySelector('[data-ref=\"search__input\"]');\r\n\r\n\t\tthis.addEventListener();\r\n\t\tthis.checkSearchButton();\r\n\t\tthis.searchParameter();\r\n\r\n\t\tthis.log('Search');\r\n\t}\r\n\r\n\taddEventListener() {\r\n\t\tthis.dom.input.addEventListener('keyup', () => this.activateSearchButton());\r\n\t\tthis.dom.open.addEventListener('click', () => this.openSearchPanel());\r\n\t\tthis.dom.close.addEventListener('click', () => this.closeSearchPanel());\r\n\r\n\t\twindow.addEventListener('keyup', (e) => {\r\n\t\t\tconst SearchOpenIsFocused = document.activeElement === this.searchOpen;\r\n\t\t\tconst SearchCloseIsFocused = document.activeElement === this.searchClose;\r\n\t\t\tif (SearchOpenIsFocused && e.code === 'Enter') {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\t// Trigger the button element with a click\r\n\t\t\t\tthis.searchOpen.click();\r\n\t\t\t\tthis.searchClose.setAttribute('tabindex', '0');\r\n\t\t\t\tif (this.searchInput) {\r\n\t\t\t\t\tthis.searchInput.classList.remove('mouse-focus');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (SearchCloseIsFocused && e.code === 'Enter') {\r\n\t\t\t\te.preventDefault();\r\n\t\t\t\t// Trigger the button element with a click\r\n\t\t\t\tthis.searchClose.click();\r\n\t\t\t\tthis.searchClose.setAttribute('tabindex', '-1');\r\n\t\t\t\tthis.searchOpen.focus();\r\n\t\t\t\tif (this.searchInput) {\r\n\t\t\t\t\tthis.searchInput.classList.add('mouse-focus');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (this.searchInputs) {\r\n\t\t\tfor (let i = 0; i < this.searchInputs.length; i++) {\r\n\t\t\t\tconst input = this.searchInputs[i];\r\n\t\t\t\tif (input.type === 'text' || input.type === 'number' || input.type === 'email' || input.type === 'tel' || input.type === 'date' || input.type === 'password') {\r\n\t\t\t\t\tinput.classList.add('mouse-focus');\r\n\r\n\t\t\t\t\tinput.addEventListener('keyup', (e) => {\r\n\t\t\t\t\t\tif (e.code === 'Tab') {\r\n\t\t\t\t\t\t\tinput.classList.remove('mouse-focus');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tinput.addEventListener('mousedown', () => {\r\n\t\t\t\t\t\tinput.classList.add('mouse-focus');\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\topenSearchPanel() {\r\n\t\tthis.dom.open.classList.add('o-search__open--hidden');\r\n\t\tthis.searchPanel.classList.add('o-search__panel--divider');\r\n\t\tsetTimeout(() => {\r\n\t\t\tthis.dom.input.focus();\r\n\t\t}, 100);\r\n\t}\r\n\r\n\tcloseSearchPanel() {\r\n\t\tthis.dom.open.classList.remove('o-search__open--hidden');\r\n\t\tthis.searchPanel.classList.remove('o-search__panel--divider');\r\n\t}\r\n\tsearchParameter() {\t\r\n\t\tconst customeUrl = this.submitButton.getAttribute('data-url');\r\n\t\tthis.submitButton.addEventListener('click', (e) => {\r\n\t\t\te.preventDefault(); // Prevent default form submission behavior\r\n\r\n\t\t\tconst searchInputValue = this.searchInput.value; // Get the value from the input\r\n\t\t\tconst url = new URL(customeUrl); // Concatenate the customeUrl\r\n\t\t\t\r\n\t\t\t// Set the search parameter with the new value\r\n\t\t\turl.searchParams.set('searchWord', searchInputValue);\r\n\r\n\t\t\t// Update the URL and load the page\r\n\t\t\twindow.location.href = url.href;\r\n\t\t});\r\n\t}\r\n\tactivateSearchButton() {\r\n\t\tif (this.dom.input.value.length > 1) {\r\n\t\t\tthis.submitButton.classList.remove('m-link-icon--button-disabled');\r\n\t\t\tthis.submitButton.removeAttribute('disabled');\r\n\t\t\tthis.submitButton.setAttribute('tabindex', '0');\r\n\t\t}\r\n\t\tif (this.dom.input.value.length < 1) {\r\n\t\t\tthis.submitButton.classList.add('m-link-icon--button-disabled');\r\n\t\t\tthis.submitButton.setAttribute('disabled', 'disabled');\r\n\t\t\tthis.submitButton.setAttribute('tabindex', '1');\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tcheckSearchButton() {\r\n\t\tif (this.submitButton && this.submitButton.classList.contains('m-link-icon--disabled')) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn true;\r\n\t}\r\n}\r\n\r\nexport default Search;\r\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toObject = require('../internals/to-object');\nvar nativeGetPrototypeOf = require('../internals/object-get-prototype-of');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetPrototypeOf(1); });\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES, sham: !CORRECT_PROTOTYPE_GETTER }, {\n getPrototypeOf: function getPrototypeOf(it) {\n return nativeGetPrototypeOf(toObject(it));\n }\n});\n\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar aConstructor = require('../internals/a-constructor');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar bind = require('../internals/function-bind');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\n\n// `Reflect.construct` method\n// https://tc39.es/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aConstructor(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isObject = require('../internals/is-object');\n\nvar slice = [].slice;\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!(argsLength in factories)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func -- we have no proper alternatives, IE8- only\n factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aCallable(this);\n var partArgs = slice.call(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = partArgs.concat(slice.call(arguments));\n return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);\n };\n if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;\n return boundFunction;\n};\n"],"sourceRoot":""}