{"version":3,"file":"content.widgets.bundle.js","mappings":";;;;;;;;;;;;;;AACgD;AAChD;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,6BAAe,oCAAUC,MAAe,EAAE;EACtC;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,SAAS,SAASD,MAAM,CAAC;IAC3B;AACR;AACA;AACA;AACA;AACA;IACQE,eAAeA,CAACC,IAAI,EAAEC,IAAI,EAAE;MACxB,IAAI,CAACA,IAAI,CAACC,OAAO,EAAE;QACf,OAAOC,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC;MAChC;MAEA,MAAMC,SAAS,GAAG,IAAI,CAACC,GAAG,CAAC,sBAAsB,CAAC,CAACL,IAAI,CAAC,WAAW,CAAC;MAEpE,OAAO,IAAI,CAACM,MAAM,CAACC,SAAS,EAAEA,SAAS,EAAEA,SAAS,EAAEP,IAAI,CAACQ,GAAG,CAAC,CAACC,IAAI,CAAC,MAAK;QACpE,IAAI,CAACL,SAAS,EAAE;UACZT,4DAAW,CAAC,CAAC;QACjB;MACJ,CAAC,CAAC;IACN;EACJ;EAEA,OAAOE,SAAS;AACpB","sources":["webpack://sfra-boilerplate/./cartridges/app_storefront_widgets/cartridge/client/default/js/widgets/content/ContactUs.ts"],"sourcesContent":["import { TWidget } from 'widgets/Widget';\nimport { scrollToTop } from '../toolbox/scroll';\n/**\n * @typedef {InstanceType<ReturnType<typeof import('widgets/forms/AjaxForm').default>>} ajaxForm\n */\n\n/**\n * @param Widget Base widget for extending\n * @returns ContactUs widget\n */\nexport default function (Widget: TWidget) {\n /**\n * @category widgets\n * @subcategory content\n * @class ContactUs\n * @augments Widget\n * @classdesc Contact Us component with next features:\n * 1. Render success result content\n * 2. After rendering scroll to top if not in modal\n *\n * Contact Us component should contain `data-ref=\"contactUsFormWrapper\"` with `data-is-in-modal=\"${pdict.isAjax}\"` to indicate Is `concact us` component located in modal window\n * @example <caption>Contact us component</caption>\n * <div class=\"b-contact\" data-widget=\"contactUs\">\n * <div data-ref=\"contactUsFormWrapper\" data-is-in-modal=\"${pdict.isAjax}\">\n * <form\n * action=\"${pdict.actionUrl}\"\n * class=\"b-form m-contact-us\"\n * method=\"POST\"\n * name=\"contact-us\"\n * data-widget=\"ajaxform\"\n * data-widget-event-submit=\"onSuccessSubmit\"\n * data-event-submit.prevent=\"handleSubmit\"\n * >\n * ...\n * form fields\n * ...\n * </form>\n * </div>\n * </div>\n */\n class ContactUs extends Widget {\n /**\n * @description Render success message and scroll to top if content not in modal window\n * @param {ajaxForm} form - Ajax form widget instance\n * @param {object} data - Contact us form submission response\n * @returns {Promise<void|null>} Promise object represents success message rendering result\n */\n onSuccessSubmit(form, data) {\n if (!data.success) {\n return Promise.resolve(null);\n }\n\n const isInModal = this.ref('contactUsFormWrapper').data('isInModal');\n\n return this.render(undefined, undefined, undefined, data.msg).then(()=> {\n if (!isInModal) {\n scrollToTop();\n }\n });\n }\n }\n\n return ContactUs;\n}\n"],"names":["scrollToTop","Widget","ContactUs","onSuccessSubmit","form","data","success","Promise","resolve","isInModal","ref","render","undefined","msg","then"],"sourceRoot":""}