1"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[17941],{156:t=>{var e=function(t){var e;return!!t&&"object"==typeof t&&"[object RegExp]"!==(e=Object.prototype.toString.call(t))&&"[object Date]"!==e&&t.$$typeof!==i},i="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function r(t,e){return!1!==e.clone&&e.isMergeableObject(t)?a(Array.isArray(t)?[]:{},t,e):t}function n(t,e,i){return t.concat(e).map(function(t){return r(t,i)})}function o(t){return Object.keys(t).concat(Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(t).filter(function(e){return Object.propertyIsEnumerable.call(t,e)}):[])}function s(t,e){try{return e in t}catch(t){return!1}}function a(t,i,l){(l=l||{}).arrayMerge=l.arrayMerge||n,l.isMergeableObject=l.isMergeableObject||e,l.cloneUnlessOtherwiseSpecified=r;var u,c,d=Array.isArray(i);return d!==Array.isArray(t)?r(i,l):d?l.arrayMerge(t,i,l):(c={},(u=l).isMergeableObject(t)&&o(t).forEach(function(e){c[e]=r(t[e],u)}),o(i).forEach(function(e){(!s(t,e)||Object.hasOwnProperty.call(t,e)&&Object.propertyIsEnumerable.call(t,e))&&(s(t,e)&&u.isMergeableObject(i[e])?c[e]=(function(t,e){if(!e.customMerge)return a;var i=e.customMerge(t);return"function"==typeof i?i:a})(e,u)(t[e],i[e],u):c[e]=r(i[e],u))}),c)}a.all=function(t,e){if(!Array.isArray(t))throw Error("first argument should be an array");return t.reduce(function(t,i){return a(t,i,e)},{})},t.exports=a},533:(t,e,i)=>{i.d(e,{A:()=>s,l:()=>o});var r=i(737),n=i(795);let o=t=>{if("function"==typeof Event)return new Event(t);let e=document.createEvent("Event");return e.initEvent(t,!0,!0),e};class s extends r.A{static #t=this.options={selectors:{customProductsForm:"form .swag-customized-products",buyForm:"#productDetailPageBuyProductForm",buyWidget:"#productDetailPageBuyProductForm.buy-widget",buyButton:"#productDetailPageBuyProductForm .btn-buy",subscription:{buyForm:"#productDetailPageSubscriptionBuyProductForm",buyWidget:"#productDetailPageSubscriptionBuyProductForm .buy-widget",buyButton:"#productDetailPageSubscriptionBuyProductForm .btn-buy",oneTimeRadio:"#subscription-interval-option-one-time-buy"}}};static #e=this._isSubscription=!1;_init(){this._context={customProductsForm:n.A.querySelector(document,this.options.selectors.customProductsForm),buyForm:n.A.querySelector(document,this.options.selectors.buyForm),buyWidget:n.A.querySelector(document,this.options.selectors.buyWidget),buyButton:n.A.querySelector(document,this.options.selectors.buyButton),subscription:{buyForm:n.A.querySelector(document,this.options.selectors.subscription.buyForm,!1),buyWidget:n.A.querySelector(document,this.options.selectors.subscription.buyWidget,!1),buyButton:n.A.querySelector(document,this.options.selectors.subscription.buyButton,!1),oneTimeRadio:n.A.querySelector(document,this.options.selectors.subscription.oneTimeRadio,!1)}},this._wrapAddEventListener(this._context.buyForm,this._context.subscription.buyForm),this._wrapAddEventListener(this._context.buyButton,this._context.subscription.buyButton),super._init()}get buyForm(){return s._isSubscription?this._context.subscription.buyForm:this._context.buyForm}get buyButton(){return s._isSubscription?this._context.subscription.buyButton:this._context.buyButton}get buyWidget(){return s._isSubscription?this._context.subscription.buyWidget:this._context.buyWidget}get customProductsForm(){return this._context.customProductsForm}_wrapAddEventListener(t,e){let i=this._contextSwitchingEventListener.bind(this,t,e);t&&(t.addEventListener=i),e&&(e.addEventListener=i)}_contextSwitchingEventListener(t,e,i,r){for(var n=arguments.length,o=Array(n>4?n-4:0),a=4;a<n;a++)o[a-4]=arguments[a];EventTarget.prototype.addEventListener.apply(t,[i,function(){for(var t=arguments.length,e=Array(t),i=0;i<t;i++)e[i]=arguments[i];s._isSubscription||r(...e)},...o]),e&&EventTarget.prototype.addEventListener.apply(e,[i,function(){for(var t=arguments.length,e=Array(t),i=0;i<t;i++)e[i]=arguments[i];s._isSubscription&&r(...e)},...o])}}},941:(t,e,i)=>{i.r(e),i.d(e,{createElement:()=>a,default:()=>u});var r=i(533),n=i(795),o=i(59);let s=["<div><br></div>","<p><br></p>","<br>"],a=t=>{let{tag:e="div",classes:i=[],attributes:r={},html:n=null,children:o=[],listeners:s={},styles:a={},value:l=null}=t,u=document.createElement(e);
1return i.forEach(t=>{u.classList.add(t)}),Object.keys(r).forEach(t=>{let e=r[t];u.setAttribute(t,e)}),Object.keys(a).forEach(t=>{u.style[t]=a[t]}),n&&n.length>0&&(u.innerHTML=n),l&&l.length<0&&(u.value=l),o.forEach(t=>{u.appendChild(t)}),Object.keys(s).forEach(t=>{let e=s[t];u.addEventListener(t,e,!1)}),u},l=()=>/Trident/.test(navigator.userAgent);class u extends r.A{static #t=this.options={...super.options,baseClass:"swag-custommized-product-html-editor",customizedProductContainer:".swag-customized-products",buttonConfig:[{action:"bold",iconClassName:"icon-editor-bold"},{action:"italic",iconClassName:"icon-editor-italic"},{action:"underline",iconClassName:"icon-editor-underline"},{action:"strikeThrough",iconClassName:"icon-editor-strikethrough"}]};init(){let t=this.el.value||"";this.translations=n.A.getDataAttribute(this.el,"swag-customized-products-html-editor-translations"),this.iconContainer=n.A.querySelector(this.buyForm,this.options.iconContainerSelector),this.formValidatorPlugin=window.PluginManager.getPluginInstanceFromElement(n.A.querySelector(this.buyForm,this.options.customizedProductContainer),"SwagCustomizedProductsFormValidator"),this.buttonConfig=this.hydrateButtonConfig(this.options.buttonConfig),this.iconContainer.parentNode.removeChild(this.iconContainer),delete this.iconContainer,this.toolbar=this.createToolbarElement();let{editor:e,editorWrapper:i}=this.createEditorElement(t);this.editor=e,this.editorWrapper=i,this.wrapper=this.createWrapperElement(),this.placeholder=this.createPlaceholder(t.length<=0),this.setupTextarea(),this.createPanel()}hydrateButtonConfig(t){return t.map(t=>{let e=n.A.querySelector(this.iconContainer,`.${t.iconClassName}`,!1)||null;return t.icon=null,t.label=this.translations[t.action],e&&(t.icon=e.cloneNode(!0)),t})}setupTextarea(){return this.el.style.display="none",!0}createPanel(){return this.wrapper.appendChild(this.toolbar),this.wrapper.appendChild(this.editorWrapper),this.editorWrapper.appendChild(this.placeholder),this.el.parentNode.appendChild(this.wrapper),!0}createToolbarElement(){let t=a({classes:[this.getPrefixedClass("toolbar")],attributes:{role:"toolbar","aria-label":this.translations.textFormatting,"aria-controls":this.getEditorElementId()}});return this.buttonConfig.forEach(e=>{t.appendChild(this.createToolbarButtonElement(e))}),t}createToolbarButtonElement(t){let e=a({tag:"button",classes:[this.getPrefixedClass("toolbar-button"),this.getPrefixedClass(`button-${t.action}`,"toolbar")],attributes:{"aria-pressed":t.pressed,"aria-label":t.label},html:t.icon?null:t.label,value:t.label,listeners:{click:e=>{e.preventDefault(),this.onToolbarButtonPressed(t)}}});if(t.icon){let i=t.icon;i.setAttribute("aria-hidden",!0),e.appendChild(i)}return t.button=e,e}createWrapperElement(){return a({classes:[this.options.baseClass]})}createEditorElement(t){let e="<div><br></div>",i=l()?"keydown":"input",n=t||e;l()&&!t.length&&(n="");let s=a({classes:[this.getPrefixedClass("editor")],attributes:{contenteditable:!0,spellcheck:!0,autocorrect:!0,role:"textbox",id:this.getEditorElementId(),"aria-multiline":!0,"aria-labelledby":`${this.el.getAttribute("id")}-title`},html:n,listeners:{keydown:t=>{this.isEmpty()&&8===t.keyCode&&(t.preventDefault(),this.editor.innerHTML=e)},[i]:o.A.debounce(this.onEditorInput.bind(this),350),focus:()=>{this.el.dispatchEvent((0,r.l)("focus")),!this.isEmpty()||l()||(this.editor.innerHTML=e)},blur:()=>{this.el.dispatchEvent((0,r.l)("blur")),this.isEmpty()&&this.showPlaceholder()}}}),u=a({classes:[this.getPrefixedClass("editor-wrapper")]});return u.appendChild(s),{editor:s,editorWrapper:u}}createPlaceholder(t){let e=this.el.getAttribute("placeholder");return a({classes:[this.getPrefixedClass("placeholder")],styles:{display:t?"block":"none"},listeners:{click:()=>{this.hidePlaceholder(),this.editor.focus()}},html:e})}getPrefixedClass(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.options.baseClass;return!!t&&!(0>!t.length)&&`${e}__${t}`}getEditorElementId(){return`${this.el.getAttribute("id")}-editor`}getContent(){return this.editor.innerHTML}getTextContent(){return this.editor.innerText.trim()}isEmpty(){return this.getTextContent().length<=0}onEditorInput(){let t=this.getContent();
1this.el.value=t,this.el.innerText=t,this.el.innerHTML=t,s.includes(t)&&(this.el.value="");let e=(0,r.l)("change"),i=(0,r.l)("input");this.el.dispatchEvent(e),this.el.dispatchEvent(i),this.buyForm.dispatchEvent(e),this.formValidatorPlugin.onFormChange()}onToolbarButtonPressed(t){let e=this.buttonConfig.findIndex(e=>e.action===t.action);document.execCommand(this.buttonConfig[e].action,!1)}showPlaceholder(){return!!this.placeholder&&(this.placeholder.style.display="block",!0)}hidePlaceholder(){return!!this.placeholder&&(this.placeholder.style.display="none",!0)}}},59:(t,e,i)=>{i.d(e,{A:()=>r});class r{static debounce(t,e){let i,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return function(){for(var n=arguments.length,o=Array(n),s=0;s<n;s++)o[s]=arguments[s];r&&!i&&setTimeout(t.bind(t,...o),0),clearTimeout(i),i=setTimeout(t.bind(t,...o),e)}}}},795:(t,e,i)=>{i.d(e,{A:()=>n});var r=i(707);class n{static isNode(t){return"object"==typeof t&&null!==t&&(t===document||t===window||t instanceof Node)}static hasAttribute(t,e){if(!n.isNode(t))throw Error("The element must be a valid HTML Node!");return"function"==typeof t.hasAttribute&&t.hasAttribute(e)}static getAttribute(t,e){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(i&&!1===n.hasAttribute(t,e))throw Error(`The required property "${e}" does not exist!`);if("function"!=typeof t.getAttribute){if(i)throw Error("This node doesn't support the getAttribute function!");return}return t.getAttribute(e)}static getDataAttribute(t,e){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2],o=e.replace(/^data(|-)/,""),s=r.A.toLowerCamelCase(o,"-");if(!n.isNode(t)){if(i)throw Error("The passed node is not a valid HTML Node!");return}if(void 0===t.dataset){if(i)throw Error("This node doesn't support the dataset attribute!");return}let a=t.dataset[s];if(void 0===a){if(i)throw Error(`The required data attribute "${e}" does not exist on ${t}!`);return a}return r.A.parsePrimitive(a)}static querySelector(t,e){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(i&&!n.isNode(t))throw Error("The parent node is not a valid HTML Node!");let r=t.querySelector(e)||!1;if(i&&!1===r)throw Error(`The required element "${e}" does not exist in parent node!`);return r}static querySelectorAll(t,e){let i=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(i&&!n.isNode(t))throw Error("The parent node is not a valid HTML Node!");let r=t.querySelectorAll(e);if(0===r.length&&(r=!1),i&&!1===r)throw Error(`At least one item of "${e}" must exist in parent node!`);return r}static getFocusableElements(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.body,e=` 2 input:not([tabindex^="-"]):not([disabled]):not([type="hidden"]), 3 select:not([tabindex^="-"]):not([disabled]), 4 textarea:not([tabindex^="-"]):not([disabled]), 5 button:not([tabindex^="-"]):not([disabled]), 6 a[href]:not([tabindex^="-"]):not([disabled]), 7 [tabindex]:not([tabindex^="-"]):not([disabled]) 8 `;return t.querySelectorAll(e)}static getFirstFocusableElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document.body;return this.getFocusableElements(t)[0]}static getLastFocusableElement(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:document,e=this.getFocusableElements(t);return e[e.length-1]}}},707:(t,e,i)=>{i.d(e,{A:()=>r});class r{static ucFirst(t){return t.charAt(0).toUpperCase()+t.slice(1)}static lcFirst(t){return t.charAt(0).toLowerCase()+t.slice(1)}static toDashCase(t){return t.replace(/([A-Z])/g,"-$1").replace(/^-/,"").toLowerCase()}static toLowerCamelCase(t,e){let i=r.toUpperCamelCase(t,e);return r.lcFirst(i)}static toUpperCamelCase(t,e){return e?t.split(e).map(t=>r.ucFirst(t.toLowerCase())).join(""):r.ucFirst(t.toLowerCase())}static parsePrimitive(t){try{return/^\d+(.|,)\d+$/.test(t)&&(t=t.replace(",",".")),JSON.parse(t)}catch(e){return t.toString()}}}},737:(t,e,i)=>{i.d(e,{A:()=>a});var r=i(156),n=i.n(r),o=i(707);class s{constructor(t=document){this._el=t,t.$emitter=this,this._listeners=[]}publish(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=new CustomEvent(t,{detail:e,cancelable:i});return this.el.dispatchEvent(r),r}subscribe(t,e){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=this,n=t.split("."),o=i.scope?e.bind(i.scope):e;if(i.once&&!0===i.once){let e=o;o=function(i){r.unsubscribe(t),e(i)}}return this.el.addEventListener(n[0],o),this.listeners.push({splitEventName:n,opts:i,cb:o}),!0}unsubscribe(t){let e=t.split(".");return this.listeners=this.listeners.reduce((t,i)=>([...i.splitEventName].sort().toString()===e.sort().toString()?this.el.removeEventListener(i.splitEventName[0],i.cb):t.push(i),t),[]),!0}
8reset(){return this.listeners.forEach(t=>{this.el.removeEventListener(t.splitEventName[0],t.cb)}),this.listeners=[],!0}get el(){return this._el}set el(t){this._el=t}get listeners(){return this._listeners}set listeners(t){this._listeners=t}}class a{constructor(t,e={},i=!1){if(!(t instanceof Node)){console.warn(`There is no valid element given while trying to create a plugin instance for "${i}".`);return}this.el=t,this.$emitter=new s(this.el),this._pluginName=this._getPluginName(i),this.options=this._mergeOptions(e),this._initialized=!1,this._registerInstance(),this._init()}init(){console.warn(`The "init" method for the plugin "${this._pluginName}" is not defined. The plugin will not be initialized.`)}update(){}_init(){this._initialized||(this.init(),this._initialized=!0)}_update(){this._initialized&&this.update()}_mergeOptions(t){let e=[this.constructor.options,this.options,t];return e.push(this._getConfigFromDataAttribute()),e.push(this._getOptionsFromDataAttribute()),n().all(e.filter(t=>t instanceof Object&&!(t instanceof Array)).map(t=>t||{}))}_getConfigFromDataAttribute(){let t={};if("function"!=typeof this.el.getAttribute)return t;let e=o.A.toDashCase(this._pluginName),i=this.el.getAttribute(`data-${e}-config`);return i?window.PluginConfigManager.get(this._pluginName,i):t}_getOptionsFromDataAttribute(){let t={};if("function"!=typeof this.el.getAttribute)return t;let e=o.A.toDashCase(this._pluginName),i=this.el.getAttribute(`data-${e}-options`);if(i)try{return JSON.parse(i)}catch(t){console.error(`The data attribute "data-${e}-options" could not be parsed to json: ${t.message}`)}return t}_registerInstance(){window.PluginManager.getPluginInstancesFromElement(this.el).set(this._pluginName,this),window.PluginManager.getPlugin(this._pluginName,!1).get("instances").push(this)}_getPluginName(t){return t||(t=this.constructor.name),t}}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.