{"version":3,"file":"extended.page_designer.bundle.js","mappings":";;;;;;;;;;;;;AAAA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAAe,oCAAUA,SAAuE,EAAE;EAC9F;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACI,MAAMC,mBAAmB,SAASD,SAAS,CAAC;IACxCE,KAAKA,CAAA,EAAG;MACJ,OAAO;QACHC,mBAAmB,EAAE,WAAW;QAChC,GAAG,KAAK,CAACD,KAAK,CAAC;MACnB,CAAC;IACL;;IAEA;AACR;AACA;AACA;AACA;AACA;IACQE,YAAYA,CAACC,GAAG,EAAEC,KAAK,EAAE;MACrB,IAAI,CAAC,IAAI,CAACC,GAAG,CAAC,OAAO,CAAC,CAACC,GAAG,CAAC,CAAC,EAAE;QAC1BF,KAAK,CAACG,cAAc,CAAC,CAAC;MAC1B;IACJ;;IAEA;AACR;AACA;AACA;AACA;IACQC,WAAWA,CAAA,EAAG;MACV,IAAI,CAACC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAACJ,GAAG,CAAC,OAAO,CAAC,CAACC,GAAG,CAAC,CAAC,CAAC;IACrD;;IAEA;AACR;AACA;AACA;AACA;IACQG,iBAAiBA,CAACC,eAAe,EAAE;MAC/B,IAAI,CAACL,GAAG,CAAC,aAAa,CAAC,CAACM,WAAW,CAAC,IAAI,CAACX,KAAK,CAAC,CAAC,CAACC,mBAAmB,EAAES,eAAe,CAAC;IAC1F;;IAEA;AACR;AACA;AACA;IACQE,UAAUA,CAAA,EAAG;MACT,MAAMC,WAAW,GAAG,IAAI,CAACR,GAAG,CAAC,OAAO,CAAC;MAErCQ,WAAW,CAACP,GAAG,CAAC,EAAE,CAAC;MAEnB,MAAMQ,gBAAgB,GAAGD,WAAW,CAACE,GAAG,CAAC,CAAC;MAE1C,IAAID,gBAAgB,EAAE;QAClBA,gBAAgB,CAACE,KAAK,CAAC,CAAC;MAC5B;MAEA,IAAI,CAACP,iBAAiB,CAAC,KAAK,CAAC;IACjC;EACJ;EAEA,OAAOV,mBAAmB;AAC9B","sources":["webpack://sfra-boilerplate/./cartridges/app_storefront_widgets/cartridge/client/default/js/widgets/search/NoSearchResultsForm.ts"],"sourcesContent":["/**\n * @typedef {InstanceType<typeof import('widgets/toolbox/RefElement').RefElement>} refElement\n */\n\n/**\n * @param BasicForm Base widget for extending\n * @returns NoSearchResultsForm widget\n */\nexport default function (BasicForm: ReturnType<typeof import('widgets/forms/BasicForm').default>) {\n /**\n * @category widgets\n * @subcategory search\n * @class NoSearchResultsForm\n * @augments BasicForm\n * @classdesc NoSearchResultsForm widget component with next features:\n * 1. This is simplified form with no validation rules applied\n * 2. Has an ability to clear user input by pressing button\n * @property {string} data-widget - Widget name \"noSearchResultsForm\"\n * @property {string} data-classes-clear-enabled - class to toggle on clear input button\n * @example <caption>Example of NoSearchResultsForm widget usage</caption>\n * <form\n * action=\"${URLUtils.url('Search-Show')}\"\n * method=\"GET\"\n * data-widget=\"noSearchResultsForm\"\n * data-event-submit=\"handleSubmit\"\n * >\n * ... form contents\n * <input data-ref=\"input\" role=\"combobox\" name=\"q\" value=\"\" data-event-input=\"handleInput\" />\n * <button data-ref=\"clearButton\" data-event-click=\"clearInput\"\n * type=\"reset\"\n * title=\"${Resource.msg('header.search.clear', 'search', null)}\"\n * tabindex=\"-1\"\n * >\n * <isinclude template=\"/common/svg/clear\" />\n * </button>\n * ... submit button\n * </form>\n */\n class NoSearchResultsForm extends BasicForm {\n prefs() {\n return {\n classesClearEnabled: 'm-visible',\n ...super.prefs()\n };\n }\n\n /**\n * @description Submit form simplified handler\n * @param {refElement} _el event source element\n * @param {Event} event event instance\n * @returns {void}\n */\n handleSubmit(_el, event) {\n if (!this.ref('input').val()) {\n event.preventDefault();\n }\n }\n\n /**\n * @description Handle input event into the form field\n * @listens dom#input\n * @returns {void}\n */\n handleInput() {\n this.toggleClearButton(!!this.ref('input').val());\n }\n\n /**\n * @description Toggle Clear Button based on input value\n * @param {boolean} isInputHasValue - indicates if input has a value\n * @returns {void}\n */\n toggleClearButton(isInputHasValue) {\n this.ref('clearButton').toggleClass(this.prefs().classesClearEnabled, isInputHasValue);\n }\n\n /**\n * @description Clear input field\n * @returns {void}\n */\n clearInput() {\n const searchInput = this.ref('input');\n\n searchInput.val('');\n\n const searchInputField = searchInput.get();\n\n if (searchInputField) {\n searchInputField.focus();\n }\n\n this.toggleClearButton(false);\n }\n }\n\n return NoSearchResultsForm;\n}\n"],"names":["BasicForm","NoSearchResultsForm","prefs","classesClearEnabled","handleSubmit","_el","event","ref","val","preventDefault","handleInput","toggleClearButton","isInputHasValue","toggleClass","clearInput","searchInput","searchInputField","get","focus"],"sourceRoot":""}