@foxy.io/elements 1.45.0-beta.2 → 1.45.0-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import"./shared-24998349.js";import"./shared-b7401886.js";import"./shared-c84bb30e.js";import{u as e}from"./shared-b148b310.js";import"./shared-52053d0d.js";import"./shared-bc89d3fb.js";import"./shared-8ba4b5bf.js";import{I as t}from"./shared-4e4766ee.js";import"./foxy-template-set-card.js";import"./foxy-copy-to-clipboard.js";import"./foxy-nucleon-element.js";import"./foxy-spinner.js";import"./shared-64210e53.js";import"./shared-ada2d315.js";import"./shared-df92d411.js";import"./shared-0b3dbac6.js";import"./shared-4f36f302.js";import{a as n}from"./shared-92c211bd.js";import"./foxy-item-category-card.js";import"./foxy-discount-builder.js";import"./shared-9585cf5b.js";import{I as r}from"./shared-ba0d1f31.js";import{h as i,s as o}from"./shared-ba5c42c7.js";import{_ as a,B as s}from"./shared-7fec42f2.js";import{a as l,R as d,w as u}from"./shared-387d7254.js";import{i as c}from"./shared-53e42a77.js";import{e as m,d as f}from"./shared-12973e93.js";import{c as h}from"./shared-4e709717.js";import"./shared-a6cf5b1f.js";import"./shared-3bc9eaf7.js";import"./shared-46efbc40.js";import"./foxy-form-dialog.js";import"./shared-25a9d87d.js";import"./shared-e275989e.js";import"./shared-65b2760f.js";import"./shared-c782b9fa.js";import"./shared-0ea750af.js";import"./shared-cd96ff03.js";import"./shared-53e476fd.js";import"./shared-bab2ea2c.js";import"./shared-69074dae.js";import"./shared-37869bac.js";import"./shared-d6a0954b.js";import"./shared-1da47f50.js";import"./shared-e1e4d8f5.js";import"./shared-1d6ed748.js";import"./shared-c1b71162.js";import"./shared-3db3f3c3.js";import"./shared-ed24a3f9.js";import"./shared-5fd5805c.js";import"./shared-d0aed1c1.js";import"./shared-1abfcf87.js";import"./shared-d35ed355.js";import"./shared-db758d3b.js";import"./shared-c3d1d247.js";import"./shared-ab9dfa48.js";import"./shared-ac44a3a5.js";import"./shared-dc357e9d.js";import"./shared-5212ef4f.js";import"./shared-1b04321a.js";import"./shared-a1cfe9d5.js";import"./shared-5574ea83.js";import"./shared-caac6517.js";import"./shared-0d01cd66.js";import"./shared-297155d9.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./foxy-pagination.js";import"./shared-2d6478b0.js";import"./shared-7fa24559.js";import"./shared-2061be9a.js";import"./shared-f0fa0a88.js";import"./shared-63c32024.js";let g,p=e=>e;customElements.define("foxy-internal-experimental-add-to-cart-builder-custom-option-card",class extends r{renderBody(){var e,t;return i(g||(g=p` <div class="flex justify-between items-center h-xs"> <span class="font-medium">${0}&ZeroWidthSpace;</span> <span class="text-secondary">${0}&ZeroWidthSpace;</span> </div> `),null===(e=this.data)||void 0===e?void 0:e.name,null===(t=this.data)||void 0===t?void 0:t.value)}});let y,_=e=>e;const b=l(t,"internal-experimental-add-to-cart-builder-custom-option-form");customElements.define("foxy-internal-experimental-add-to-cart-builder-custom-option-form",class extends b{constructor(){super(...arguments),this.defaultWeightUnit=null,this.existingOptions=[],this.itemCategories=null,this.currencyCode=null}static get properties(){return a(a({},super.properties),{},{defaultWeightUnit:{attribute:"default-weight-unit"},existingOptions:{type:Array,attribute:"existing-options"},itemCategories:{attribute:"item-categories"},currencyCode:{attribute:"currency-code"}})}get readonlySelector(){const e=[super.readonlySelector.toString()];return this.href&&e.unshift("basics-group"),new s(e.join(" ").trim())}get disabledSelector(){const e=[super.disabledSelector.toString()];return!this.href&&this.existingOptions.some((e=>e.name===this.form.name))&&e.unshift("basics-group:value-configurable"),new s(e.join(" ").trim())}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return this.form.value_configurable&&e.unshift("price-group","weight-group","code-group","category-group"),new s(e.join(" ").trim())}renderBody(){var e,t,n,r;return i(y||(y=_` <foxy-internal-summary-control infer="basics-group"> <foxy-internal-text-control layout="summary-item" infer="name"></foxy-internal-text-control> <foxy-internal-text-control property="value" layout="summary-item" infer="${0}"> </foxy-internal-text-control> <foxy-internal-switch-control infer="value-configurable"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="price-group"> <foxy-internal-number-control layout="summary-item" suffix="${0}" infer="price"> </foxy-internal-number-control> <foxy-internal-switch-control infer="replace-price"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="weight-group"> <foxy-internal-number-control layout="summary-item" suffix="${0}" infer="weight"> </foxy-internal-number-control> <foxy-internal-switch-control infer="replace-weight"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="code-group"> <foxy-internal-text-control layout="summary-item" infer="code"> </foxy-internal-text-control> <foxy-internal-switch-control infer="replace-code"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="category-group"> <foxy-internal-resource-picker-control layout="summary-item" first="${0}" infer="item-category-uri" item="foxy-item-category-card"> </foxy-internal-resource-picker-control> </foxy-internal-summary-control> <foxy-nucleon infer="" class="hidden" href="${0}" id="itemCategoryLoader" @update="${0}"> </foxy-nucleon> `),this.form.value_configurable?"default-value":"value",c(null!==(e=this.currencyCode)&&void 0!==e?e:void 0),c(null!==(t=this.__resolvedDefaultWeightUnit)&&void 0!==t?t:void 0),c(null!==(n=this.itemCategories)&&void 0!==n?n:void 0),c(null!==(r=this.form.item_category_uri)&&void 0!==r?r:void 0),(()=>this.requestUpdate()))}async _sendPost(e){const t=this.existingOptions.filter((t=>t.name===e.name));if(t.some((e=>e.value_configurable)))throw["error:option_exists_configurable"];if(t.some((t=>t.value===e.value)))throw["error:option_exists"];return super._sendPost(e)}get __resolvedDefaultWeightUnit(){var e,t;const n=this.renderRoot.querySelector("#itemCategoryLoader");return null!==(t=null===(e=null==n?void 0:n.data)||void 0===e?void 0:e.default_weight_unit)&&void 0!==t?t:this.defaultWeightUnit}});let x,v,$,w,E,S,j,k,C,L,N,M,R,O,T,A,q=e=>e;customElements.define("foxy-internal-experimental-add-to-cart-builder-item-control",class extends n{constructor(){super(...arguments),this.defaultItemCategory=null,this.useCartValidation=!1,this.itemCategories=null,this.currencyCode=null,this.index=0}static get properties(){return a(a({},super.properties),{},{defaultItemCategory:{type:Object,attribute:"default-item-category"},useCartValidation:{type:Boolean,attribute:"use-cart-validation"},itemCategories:{attribute:"item-categories"},currencyCode:{attribute:"currency-code"},index:{type:Number}})}renderControl(){var e,t,n,r,o,a,s,l,d;const u=this.__resolvedItemCategory,m=null==u?void 0:u.item_delivery_type,f=this.nucleon,h=this.index,g=null===(e=null==f?void 0:f.form.items)||void 0===e?void 0:e[h];return i(x||(x=q` <div class="space-y-m"> <foxy-internal-summary-control infer="basics-group"> <foxy-internal-text-control property="items.${0}.name" layout="summary-item" infer="name"> </foxy-internal-text-control> <foxy-internal-resource-picker-control property="items.${0}.item_category_uri" layout="summary-item" first="${0}" infer="item-category-uri" item="foxy-item-category-card"> </foxy-internal-resource-picker-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="price-group"> <foxy-internal-number-control property="items.${0}.price" layout="summary-item" suffix="${0}" infer="${0}"> </foxy-internal-number-control> <foxy-internal-switch-control property="items.${0}.price_configurable" layout="summary-item" infer="price-configurable"> </foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="code-group"> <foxy-internal-text-control placeholder="${0}" property="items.${0}.code" layout="summary-item" infer="code"> </foxy-internal-text-control> <foxy-internal-text-control property="items.${0}.parent_code" layout="summary-item" infer="parent-code"> </foxy-internal-text-control> </foxy-internal-summary-control> ${0} <foxy-internal-summary-control infer="subscriptions-group"> <foxy-internal-switch-control property="items.${0}.sub_enabled" layout="summary-item" infer="sub-enabled"> </foxy-internal-switch-control> ${0} </foxy-internal-summary-control> <foxy-internal-summary-control infer="quantity-group" layout="details"> <foxy-internal-number-control property="items.${0}.quantity" layout="summary-item" infer="quantity" step="1" min="1"> </foxy-internal-number-control> ${0} <foxy-internal-switch-control property="items.${0}.hide_quantity" infer="hide-quantity"> </foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="advanced-group" layout="details"> <foxy-internal-text-control property="items.${0}.discount_name" layout="summary-item" infer="discount-name"> </foxy-internal-text-control> ${0} <foxy-internal-text-control property="items.${0}.image" layout="summary-item" infer="image"> </foxy-internal-text-control> ${0} <foxy-internal-select-control property="items.${0}.expires_format" layout="summary-item" infer="expires-format" .options="${0}"> </foxy-internal-select-control> ${0} ${0} </foxy-internal-summary-control> <foxy-internal-async-list-control layout="details" first="foxy://${0}/form/items/${0}/custom_options" infer="custom-options" form="foxy-internal-experimental-add-to-cart-builder-custom-option-form" item="foxy-internal-experimental-add-to-cart-builder-custom-option-card" alert .formProps="${0}"> </foxy-internal-async-list-control> ${0} <foxy-nucleon infer="" class="hidden" href="${0}" id="itemCategoryLoader" @update="${0}"> </foxy-nucleon> </div> `),h,h,c(null!==(t=this.itemCategories)&&void 0!==t?t:void 0),h,c(null!==(n=this.currencyCode)&&void 0!==n?n:void 0),(null==g?void 0:g.price_configurable)?"price-default":"price",h,this.t("code-group.code.placeholder_"+(this.useCartValidation?"required":"optional")),h,h,"notshipped"===m||"downloaded"===m?"":i(v||(v=q` <foxy-internal-summary-control infer="appearance-group"> <foxy-internal-number-control placeholder="${0}" property="items.${0}.weight" layout="summary-item" suffix="${0}" infer="weight" min="0"> </foxy-internal-number-control> </foxy-internal-summary-control> `),c(null==u?void 0:u.default_weight),h,c(null==u?void 0:u.default_weight_unit)),h,(null==g?void 0:g.sub_enabled)?i($||($=q` <foxy-internal-frequency-control property="items.${0}.sub_frequency" layout="summary-item" infer="sub-frequency" allow-twice-a-month> </foxy-internal-frequency-control> <foxy-internal-select-control property="items.${0}.sub_startdate_format" layout="summary-item" infer="sub-startdate-format" .options="${0}"> </foxy-internal-select-control> ${0} <foxy-internal-select-control property="items.${0}.sub_enddate_format" layout="summary-item" infer="sub-enddate-format" .options="${0}"> </foxy-internal-select-control> ${0} `),h,h,[{label:"option_none",value:"none"},{label:"option_yyyymmdd",value:"yyyymmdd"},{label:"option_dd",value:"dd"},{label:"option_duration",value:"duration"}],"yyyymmdd"===g.sub_startdate_format?i(w||(w=q` <foxy-internal-date-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-yyyymmdd"> </foxy-internal-date-control> `),h):"duration"===g.sub_startdate_format?i(E||(E=q` <foxy-internal-frequency-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-duration"> </foxy-internal-frequency-control> `),h):"dd"===g.sub_startdate_format?i(S||(S=q` <foxy-internal-number-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-dd" step="1" min="1" max="31"> </foxy-internal-number-control> `),h):"",h,[{label:"option_none",value:"none"},{label:"option_yyyymmdd",value:"yyyymmdd"},{label:"option_duration",value:"duration"}],"yyyymmdd"===g.sub_enddate_format?i(j||(j=q` <foxy-internal-date-control property="items.${0}.sub_enddate" layout="summary-item" infer="sub-enddate-yyyymmdd"> </foxy-internal-date-control> `),h):"duration"===g.sub_enddate_format?i(k||(k=q` <foxy-internal-frequency-control property="items.${0}.sub_enddate" layout="summary-item" infer="sub-enddate-duration"> </foxy-internal-frequency-control> `),h):""):"",h,"minutes"===(null==g?void 0:g.expires_format)?"":i(C||(C=q` <foxy-internal-number-control property="items.${0}.quantity_min" layout="summary-item" infer="quantity-min" step="1" min="1"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.quantity_max" layout="summary-item" infer="quantity-max" step="1" min="1"> </foxy-internal-number-control> `),h,h),h,h,(null==g?void 0:g.discount_name)?i(L||(L=q` <foxy-discount-builder infer="discount-builder" .parsedValue="${0}" @change="${0}"> </foxy-discount-builder> `),{details:null!==(r=null==g?void 0:g.discount_details)&&void 0!==r?r:"",type:null!==(o=null==g?void 0:g.discount_type)&&void 0!==o?o:"amount_percentage",name:null!==(a=null==g?void 0:g.discount_name)&&void 0!==a?a:""},(e=>{this.__handleDiscountBuilderChange(e,g,h)})):"",h,(null==g?void 0:g.image)?i(N||(N=q` <foxy-internal-text-control property="items.${0}.url" layout="summary-item" infer="url"> </foxy-internal-text-control> `),h):"",h,[{label:"option_none",value:"none"},{label:"option_minutes",value:"minutes"},{label:"option_timestamp",value:"timestamp"}],"minutes"===(null==g?void 0:g.expires_format)?i(M||(M=q` <foxy-internal-number-control property="items.${0}.expires_value" layout="summary-item" suffix="min" infer="expires-value-minutes"> </foxy-internal-number-control> `),h):"timestamp"===(null==g?void 0:g.expires_format)?i(R||(R=q` <foxy-internal-date-control property="items.${0}.expires_value" layout="summary-item" format="unix" infer="expires-value-timestamp"> </foxy-internal-date-control> `),h):"","notshipped"===m||"downloaded"===m?"":i(O||(O=q` <foxy-internal-number-control property="items.${0}.length" layout="summary-item" suffix="${0}" infer="length" min="0"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.width" layout="summary-item" suffix="${0}" infer="width" min="0"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.height" layout="summary-item" suffix="${0}" infer="height" min="0"> </foxy-internal-number-control> `),h,c(null==u?void 0:u.default_length_unit),h,c(null==u?void 0:u.default_length_unit),h,c(null==u?void 0:u.default_length_unit)),null==f?void 0:f.virtualHost,h,{".defaultWeightUnit":null==u?void 0:u.default_weight_unit,".existingOptions":null!==(s=null==g?void 0:g.custom_options)&&void 0!==s?s:[],".itemCategories":this.itemCategories,".currencyCode":this.currencyCode},(null!==(d=null===(l=null==f?void 0:f.form.items)||void 0===l?void 0:l.length)&&void 0!==d?d:0)<=1?i(T||(T=q``)):i(A||(A=q` <vaadin-button theme="error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="delete" key="caption"></foxy-i18n> </vaadin-button> `),this.disabled,(()=>this.dispatchEvent(new CustomEvent("remove")))),c(null==g?void 0:g.item_category_uri),(()=>this.requestUpdate()))}get __resolvedItemCategory(){var e,t;return null!==(t=null===(e=this.__itemCategoryLoader)||void 0===e?void 0:e.data)&&void 0!==t?t:this.defaultItemCategory}get __itemCategoryLoader(){return this.renderRoot.querySelector("#itemCategoryLoader")}__handleDiscountBuilderChange(e,t,n){var r;const i=e.currentTarget,o=this.nucleon;t.discount_details=i.parsedValue.details,t.discount_type=i.parsedValue.type,t.discount_name=i.parsedValue.name;const a=null!==(r=null==o?void 0:o.form.items)&&void 0!==r?r:[];a.splice(n,1,t),null==o||o.edit({items:[...a]})}});function I(e){return e?"string"==typeof e?e:e.source:null}function H(e){return D("(?=",e,")")}function D(...e){return e.map((e=>I(e))).join("")}function P(...e){return"("+e.map((e=>I(e))).join("|")+")"}var B=function(e){const t=D(/[A-Z_]/,D("(",/[A-Z0-9_.-]*:/,")?"),/[A-Z0-9_.-]*/),n={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},r={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},i=e.inherit(r,{begin:/\(/,end:/\)/}),o=e.inherit(e.APOS_STRING_MODE,{className:"meta-string"}),a=e.inherit(e.QUOTE_STRING_MODE,{className:"meta-string"}),s={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:/[A-Za-z0-9._:-]+/,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[n]},{begin:/'/,end:/'/,contains:[n]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[r,a,o,i,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[r,i,a,o]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[s],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[s],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:D(/</,H(D(t,P(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:s}]},{className:"tag",begin:D(/<\//,H(D(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}};function U(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((function(t){var n=e[t];"object"!=typeof n||Object.isFrozen(n)||U(n)})),e}var F=U,z=U;F.default=z;class W{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function V(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function Z(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t];return t.forEach((function(e){for(const t in e)n[t]=e[t]})),n}const G=e=>!!e.kind;class K{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=V(e)}openNode(e){if(!G(e))return;let t=e.kind;e.sublanguage||(t=`${this.classPrefix}${t}`),this.span(t)}closeNode(e){G(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}class X{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t={kind:e,children:[]};this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{X._collapse(e)})))}}class Y extends X{constructor(e){super(),this.options=e}addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){return new K(this,this.options).value()}finalize(){return!0}}function J(e){return e?"string"==typeof e?e:e.source:null}const Q=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;const ee="[a-zA-Z]\\w*",te="[a-zA-Z_]\\w*",ne="\\b\\d+(\\.\\d+)?",re="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",ie="\\b(0b[01]+)",oe={begin:"\\\\[\\s\\S]",relevance:0},ae={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[oe]},se={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[oe]},le={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},de=function(e,t,n={}){const r=Z({className:"comment",begin:e,end:t,contains:[]},n);return r.contains.push(le),r.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),r},ue=de("//","$"),ce=de("/\\*","\\*/"),me=de("#","$"),fe={className:"number",begin:ne,relevance:0},he={className:"number",begin:re,relevance:0},ge={className:"number",begin:ie,relevance:0},pe={className:"number",begin:ne+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},ye={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[oe,{begin:/\[/,end:/\]/,relevance:0,contains:[oe]}]}]},_e={className:"title",begin:ee,relevance:0},be={className:"title",begin:te,relevance:0},xe={begin:"\\.\\s*"+te,relevance:0};var ve=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:ee,UNDERSCORE_IDENT_RE:te,NUMBER_RE:ne,C_NUMBER_RE:re,BINARY_NUMBER_RE:ie,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map((e=>J(e))).join("")}(t,/.*\b/,e.binary,/\b.*/)),Z({className:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},BACKSLASH_ESCAPE:oe,APOS_STRING_MODE:ae,QUOTE_STRING_MODE:se,PHRASAL_WORDS_MODE:le,COMMENT:de,C_LINE_COMMENT_MODE:ue,C_BLOCK_COMMENT_MODE:ce,HASH_COMMENT_MODE:me,NUMBER_MODE:fe,C_NUMBER_MODE:he,BINARY_NUMBER_MODE:ge,CSS_NUMBER_MODE:pe,REGEXP_MODE:ye,TITLE_MODE:_e,UNDERSCORE_TITLE_MODE:be,METHOD_GUARD:xe,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})}});function $e(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function we(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=$e,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function Ee(e,t){Array.isArray(e.illegal)&&(e.illegal=function(...e){return"("+e.map((e=>J(e))).join("|")+")"}(...e.illegal))}function Se(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function je(e,t){void 0===e.relevance&&(e.relevance=1)}const ke=["of","and","for","in","not","or","if","then","parent","list","value"],Ce="keyword";function Le(e,t,n=Ce){const r={};return"string"==typeof e?i(n,e.split(" ")):Array.isArray(e)?i(n,e):Object.keys(e).forEach((function(n){Object.assign(r,Le(e[n],t,n))})),r;function i(e,n){t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((function(t){const n=t.split("|");r[n[0]]=[e,Ne(n[0],n[1])]}))}}function Ne(e,t){return t?Number(t):function(e){return ke.includes(e.toLowerCase())}(e)?0:1}function Me(e,{plugins:t}){function n(t,n){return new RegExp(J(t),"m"+(e.case_insensitive?"i":"")+(n?"g":""))}class r{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=function(e){return new RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map((e=>e[1]));this.matcherRe=n(function(e,t="|"){let n=0;return e.map((e=>{n+=1;const t=n;let r=J(e),i="";for(;r.length>0;){const e=Q.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+String(Number(e[1])+t):(i+=e[0],"("===e[0]&&n++)}return i})).map((e=>`(${e})`)).join(t)}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new r;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=Z(e.classNameAliases||{}),function t(r,o){const a=r;if(r.isCompiled)return a;[Se].forEach((e=>e(r,o))),e.compilerExtensions.forEach((e=>e(r,o))),r.__beforeBegin=null,[we,Ee,je].forEach((e=>e(r,o))),r.isCompiled=!0;let s=null;if("object"==typeof r.keywords&&(s=r.keywords.$pattern,delete r.keywords.$pattern),r.keywords&&(r.keywords=Le(r.keywords,e.case_insensitive)),r.lexemes&&s)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return s=s||r.lexemes||/\w+/,a.keywordPatternRe=n(s,!0),o&&(r.begin||(r.begin=/\B|\b/),a.beginRe=n(r.begin),r.endSameAsBegin&&(r.end=r.begin),r.end||r.endsWithParent||(r.end=/\B|\b/),r.end&&(a.endRe=n(r.end)),a.terminatorEnd=J(r.end)||"",r.endsWithParent&&o.terminatorEnd&&(a.terminatorEnd+=(r.end?"|":"")+o.terminatorEnd)),r.illegal&&(a.illegalRe=n(r.illegal)),r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((function(e){return function(e){e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((function(t){return Z(e,{variants:null},t)})));if(e.cachedVariants)return e.cachedVariants;if(Re(e))return Z(e,{starts:e.starts?Z(e.starts):null});if(Object.isFrozen(e))return Z(e);return e}("self"===e?r:e)}))),r.contains.forEach((function(e){t(e,a)})),r.starts&&t(r.starts,o),a.matcher=function(e){const t=new i;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin"}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(a),a}(e)}function Re(e){return!!e&&(e.endsWithParent||Re(e.starts))}function Oe(e){const t={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!e.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,V(this.code);let t={};return this.autoDetect?(t=e.highlightAuto(this.code),this.detectedLanguage=t.language):(t=e.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),t.value},autoDetect(){return!this.language||(e=this.autodetect,Boolean(e||""===e));var e},ignoreIllegals:()=>!0},render(e){return e("pre",{},[e("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:t,VuePlugin:{install(e){e.component("highlightjs",t)}}}}const Te={"after:highlightElement":({el:e,result:t,text:n})=>{const r=qe(e);if(!r.length)return;const i=document.createElement("div");i.innerHTML=t.value,t.value=function(e,t,n){let r=0,i="";const o=[];function a(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset<t[0].offset?e:t:"start"===t[0].event?e:t:e.length?e:t}function s(e){function t(e){return" "+e.nodeName+'="'+V(e.value)+'"'}i+="<"+Ae(e)+[].map.call(e.attributes,t).join("")+">"}function l(e){i+="</"+Ae(e)+">"}function d(e){("start"===e.event?s:l)(e.node)}for(;e.length||t.length;){let t=a();if(i+=V(n.substring(r,t[0].offset)),r=t[0].offset,t===e){o.reverse().forEach(l);do{d(t.splice(0,1)[0]),t=a()}while(t===e&&t.length&&t[0].offset===r);o.reverse().forEach(s)}else"start"===t[0].event?o.push(t[0].node):o.pop(),d(t.splice(0,1)[0])}return i+V(n.substr(r))}(r,qe(i),n)}};function Ae(e){return e.nodeName.toLowerCase()}function qe(e){const t=[];return function e(n,r){for(let i=n.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(t.push({event:"start",offset:r,node:i}),r=e(i,r),Ae(i).match(/br|hr|img|input/)||t.push({event:"stop",offset:r,node:i}));return r}(e,0),t}const Ie={},He=e=>{console.error(e)},De=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Pe=(e,t)=>{Ie[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),Ie[`${e}/${t}`]=!0)},Be=V,Ue=Z,Fe=Symbol("nomatch");var ze=function(e){const t=Object.create(null),n=Object.create(null),r=[];let i=!0;const o=/(^(<[^>]+>|\t|)+|\n)/gm,a="Could not find the language '{}', did you forget to load/include a language module?",s={disableAutodetect:!0,name:"Plain text",contains:[]};let l={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:Y};function d(e){return l.noHighlightRe.test(e)}function u(e,t,n,r){let i="",o="";"object"==typeof t?(i=e,n=t.ignoreIllegals,o=t.language,r=void 0):(Pe("10.7.0","highlight(lang, code, ...args) has been deprecated."),Pe("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),o=e,i=t);const a={code:i,language:o};w("before:highlight",a);const s=a.result?a.result:c(a.language,a.code,n,r);return s.code=a.code,w("after:highlight",s),s}function c(e,n,o,s){function d(e,t){const n=v.case_insensitive?t[0].toLowerCase():t[0];return Object.prototype.hasOwnProperty.call(e.keywords,n)&&e.keywords[n]}function u(){null!=E.subLanguage?function(){if(""===k)return;let e=null;if("string"==typeof E.subLanguage){if(!t[E.subLanguage])return void j.addText(k);e=c(E.subLanguage,k,!0,S[E.subLanguage]),S[E.subLanguage]=e.top}else e=m(k,E.subLanguage.length?E.subLanguage:null);E.relevance>0&&(C+=e.relevance),j.addSublanguage(e.emitter,e.language)}():function(){if(!E.keywords)return void j.addText(k);let e=0;E.keywordPatternRe.lastIndex=0;let t=E.keywordPatternRe.exec(k),n="";for(;t;){n+=k.substring(e,t.index);const r=d(E,t);if(r){const[e,i]=r;if(j.addText(n),n="",C+=i,e.startsWith("_"))n+=t[0];else{const n=v.classNameAliases[e]||e;j.addKeyword(t[0],n)}}else n+=t[0];e=E.keywordPatternRe.lastIndex,t=E.keywordPatternRe.exec(k)}n+=k.substr(e),j.addText(n)}(),k=""}function f(e){return e.className&&j.openNode(v.classNameAliases[e.className]||e.className),E=Object.create(e,{parent:{value:E}}),E}function h(e,t,n){let r=function(e,t){const n=e&&e.exec(t);return n&&0===n.index}(e.endRe,n);if(r){if(e["on:end"]){const n=new W(e);e["on:end"](t,n),n.isMatchIgnored&&(r=!1)}if(r){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return h(e.parent,t,n)}function g(e){return 0===E.matcher.regexIndex?(k+=e[0],1):(M=!0,0)}function p(e){const t=e[0],n=e.rule,r=new W(n),i=[n.__beforeBegin,n["on:begin"]];for(const n of i)if(n&&(n(e,r),r.isMatchIgnored))return g(t);return n&&n.endSameAsBegin&&(n.endRe=new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),n.skip?k+=t:(n.excludeBegin&&(k+=t),u(),n.returnBegin||n.excludeBegin||(k=t)),f(n),n.returnBegin?0:t.length}function y(e){const t=e[0],r=n.substr(e.index),i=h(E,e,r);if(!i)return Fe;const o=E;o.skip?k+=t:(o.returnEnd||o.excludeEnd||(k+=t),u(),o.excludeEnd&&(k=t));do{E.className&&j.closeNode(),E.skip||E.subLanguage||(C+=E.relevance),E=E.parent}while(E!==i.parent);return i.starts&&(i.endSameAsBegin&&(i.starts.endRe=i.endRe),f(i.starts)),o.returnEnd?0:t.length}let _={};function b(t,r){const a=r&&r[0];if(k+=t,null==a)return u(),0;if("begin"===_.type&&"end"===r.type&&_.index===r.index&&""===a){if(k+=n.slice(r.index,r.index+1),!i){const t=new Error("0 width match regex");throw t.languageName=e,t.badRule=_.rule,t}return 1}if(_=r,"begin"===r.type)return p(r);if("illegal"===r.type&&!o){const e=new Error('Illegal lexeme "'+a+'" for mode "'+(E.className||"<unnamed>")+'"');throw e.mode=E,e}if("end"===r.type){const e=y(r);if(e!==Fe)return e}if("illegal"===r.type&&""===a)return 1;if(N>1e5&&N>3*r.index){throw new Error("potential infinite loop, way more iterations than matches")}return k+=a,a.length}const v=x(e);if(!v)throw He(a.replace("{}",e)),new Error('Unknown language: "'+e+'"');const $=Me(v,{plugins:r});let w="",E=s||$;const S={},j=new l.__emitter(l);!function(){const e=[];for(let t=E;t!==v;t=t.parent)t.className&&e.unshift(t.className);e.forEach((e=>j.openNode(e)))}();let k="",C=0,L=0,N=0,M=!1;try{for(E.matcher.considerAll();;){N++,M?M=!1:E.matcher.considerAll(),E.matcher.lastIndex=L;const e=E.matcher.exec(n);if(!e)break;const t=b(n.substring(L,e.index),e);L=e.index+t}return b(n.substr(L)),j.closeAllNodes(),j.finalize(),w=j.toHTML(),{relevance:Math.floor(C),value:w,language:e,illegal:!1,emitter:j,top:E}}catch(t){if(t.message&&t.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:t.message,context:n.slice(L-100,L+100),mode:t.mode},sofar:w,relevance:0,value:Be(n),emitter:j};if(i)return{illegal:!1,relevance:0,value:Be(n),emitter:j,language:e,top:E,errorRaised:t};throw t}}function m(e,n){n=n||l.languages||Object.keys(t);const r=function(e){const t={relevance:0,emitter:new l.__emitter(l),value:Be(e),illegal:!1,top:s};return t.emitter.addText(e),t}(e),i=n.filter(x).filter($).map((t=>c(t,e,!1)));i.unshift(r);const o=i.sort(((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(x(e.language).supersetOf===t.language)return 1;if(x(t.language).supersetOf===e.language)return-1}return 0})),[a,d]=o,u=a;return u.second_best=d,u}const f={"before:highlightElement":({el:e})=>{l.useBR&&(e.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ /]*>/g,"\n"))},"after:highlightElement":({result:e})=>{l.useBR&&(e.value=e.value.replace(/\n/g,"<br>"))}},h=/^(<[^>]+>|\t)+/gm,g={"after:highlightElement":({result:e})=>{l.tabReplace&&(e.value=e.value.replace(h,(e=>e.replace(/\t/g,l.tabReplace))))}};function p(e){let t=null;const r=function(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const n=l.languageDetectRe.exec(t);if(n){const t=x(n[1]);return t||(De(a.replace("{}",n[1])),De("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}return t.split(/\s+/).find((e=>d(e)||x(e)))}(e);if(d(r))return;w("before:highlightElement",{el:e,language:r}),t=e;const i=t.textContent,o=r?u(i,{language:r,ignoreIllegals:!0}):m(i);w("after:highlightElement",{el:e,result:o,text:i}),e.innerHTML=o.value,function(e,t,r){const i=t?n[t]:r;e.classList.add("hljs"),i&&e.classList.add(i)}(e,r,o.language),e.result={language:o.language,re:o.relevance,relavance:o.relevance},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.relevance,relavance:o.second_best.relevance})}const y=()=>{if(y.called)return;y.called=!0,Pe("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead.");document.querySelectorAll("pre code").forEach(p)};let _=!1;function b(){if("loading"===document.readyState)return void(_=!0);document.querySelectorAll("pre code").forEach(p)}function x(e){return e=(e||"").toLowerCase(),t[e]||t[n[e]]}function v(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{n[e.toLowerCase()]=t}))}function $(e){const t=x(e);return t&&!t.disableAutodetect}function w(e,t){const n=e;r.forEach((function(e){e[n]&&e[n](t)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){_&&b()}),!1),Object.assign(e,{highlight:u,highlightAuto:m,highlightAll:b,fixMarkup:function(e){return Pe("10.2.0","fixMarkup will be removed entirely in v11.0"),Pe("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),function(e){return l.tabReplace||l.useBR?e.replace(o,(e=>"\n"===e?l.useBR?"<br>":e:l.tabReplace?e.replace(/\t/g,l.tabReplace):e)):e}(e)},highlightElement:p,highlightBlock:function(e){return Pe("10.7.0","highlightBlock will be removed entirely in v12.0"),Pe("10.7.0","Please use highlightElement now."),p(e)},configure:function(e){e.useBR&&(Pe("10.3.0","'useBR' will be removed entirely in v11.0"),Pe("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")),l=Ue(l,e)},initHighlighting:y,initHighlightingOnLoad:function(){Pe("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),_=!0},registerLanguage:function(n,r){let o=null;try{o=r(e)}catch(e){if(He("Language definition for '{}' could not be registered.".replace("{}",n)),!i)throw e;He(e),o=s}o.name||(o.name=n),t[n]=o,o.rawDefinition=r.bind(null,e),o.aliases&&v(o.aliases,{languageName:n})},unregisterLanguage:function(e){delete t[e];for(const t of Object.keys(n))n[t]===e&&delete n[t]},listLanguages:function(){return Object.keys(t)},getLanguage:x,registerAliases:v,requireLanguage:function(e){Pe("10.4.0","requireLanguage will be removed entirely in v11."),Pe("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const t=x(e);if(t)return t;throw new Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:$,inherit:Ue,addPlugin:function(e){!function(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}(e),r.push(e)},vuePlugin:Oe(e).VuePlugin}),e.debugMode=function(){i=!1},e.safeMode=function(){i=!0},e.versionString="10.7.3";for(const e in ve)"object"==typeof ve[e]&&F(ve[e]);return Object.assign(e,ve),e.addPlugin(f),e.addPlugin(Te),e.addPlugin(g),e}({}),We=ze;let Ve,Ze,Ge,Ke,Xe,Ye,Je,Qe,et,tt,nt=e=>e;const rt=d(l(t,"experimental-add-to-cart-builder"));We.registerLanguage("xml",B);const it=(e,t)=>{if(t){if(f(e)!==e)throw new Error("error_html_entities_present");if(e.includes('"'))throw new Error("error_double_quotes_present")}return e.replace(/"/g,"&quot;")};class ot extends rt{constructor(){var e;super(...arguments),e=this,this.defaultDomain=null,this.encodeHelper=null,this.localeCodes=null,this.store=null,this.__signingSeparator=`--${Date.now()}${(1e5*Math.random()).toFixed(0)}--`,this.__emptyOptions=[{label:"option_false",value:"false"},{label:"option_true",value:"true"},{label:"option_reset",value:"reset"}],this.__cartOptions=[{label:"option_add",value:"add"},{label:"option_checkout",value:"checkout"},{label:"option_redirect",value:"redirect"}],this.__signAsync=u((async function(t,n){if(t===e.__previousUnsignedCode&&e.__previousSignedCode)return;const r=()=>t!==e.__previousUnsignedCode;e.__signingState="busy";try{const i=await new ot.API(e).fetch(n,{headers:{"Content-Type":"text/plain"},method:"POST",body:t});if(!r())if(i.ok){const t=(await i.json()).result;r()||(e.__signingState="idle",e.__previousSignedCode=t.replace(/value="--OPEN--" data-replace/gi,"value"))}else e.__signingState="fail"}catch(t){r()||(e.__signingState="fail")}}),500),this.__previousUnsignedCode="",this.__previousSignedCode="",this.__signingState="idle",this.__openState=[]}static get properties(){return a(a({},super.properties),{},{defaultDomain:{attribute:"default-domain"},encodeHelper:{attribute:"encode-helper"},localeCodes:{attribute:"locale-codes"},store:{},__previousUnsignedCode:{attribute:!1},__previousSignedCode:{attribute:!1},__signingState:{attribute:!1},__openState:{attribute:!1}})}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return e.unshift("header:copy-id","header:copy-json","undo"),new s(e.join(" ").trim())}renderBody(){var t,n,r,a,s,l,d,u,m,f,g,p,y,_,b;const x=this.__getAddToCartCode(),v=null!==(r=null!==(n=null===(t=this.data)||void 0===t?void 0:t._links["fx:store"].href)&&void 0!==n?n:this.store)&&void 0!==r?r:void 0,$=null===(a=this.__storeLoader)||void 0===a?void 0:a.data,w=null!==(l=null===(s=x.formHTMLError)||void 0===s?void 0:s.split("_")[0])&&void 0!==l?l:"paused";return i(Ve||(Ve=nt` <div class="grid gap-m items-start sm-grid-cols-2 md-grid-cols-3 h-full overflow-auto"> <foxy-internal-summary-control layout="section" class="space-y-s" infer="items"> ${0} <vaadin-button class="w-full" theme="success" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="add-product" key="caption"></foxy-i18n> </vaadin-button> </foxy-internal-summary-control> <div class="space-y-m md-col-span-2 sticky top-0"> <foxy-internal-summary-control infer="preview"> ${0} </foxy-internal-summary-control> <foxy-internal-summary-control infer="link"> ${0} </foxy-internal-summary-control> ${0} <foxy-internal-summary-control infer="cart-settings"> <foxy-internal-resource-picker-control layout="summary-item" first="${0}" infer="template-set-uri" item="foxy-template-set-card"> </foxy-internal-resource-picker-control> <foxy-internal-select-control layout="summary-item" infer="empty" .options="${0}"> </foxy-internal-select-control> <foxy-internal-select-control layout="summary-item" infer="cart" .options="${0}"> </foxy-internal-select-control> ${0} <foxy-internal-text-control layout="summary-item" infer="coupon"> </foxy-internal-text-control> </foxy-internal-summary-control> </div> </div> <foxy-nucleon class="hidden" infer="" href="${0}" id="defaultTemplateSetLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="defaultItemCategoryLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="localeCodesHelperLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="templateSetLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="storeLoaderId" @update="${0}"> </foxy-nucleon> ${0} `),null===(d=this.form.items)||void 0===d?void 0:d.map(((e,t)=>{var n;return i(Ze||(Ze=nt` <foxy-internal-summary-control layout="details" label="${0}" infer="item-group" ?open="${0}" @toggle="${0}"> <foxy-internal-experimental-add-to-cart-builder-item-control item-categories="${0}" currency-code="${0}" store="${0}" index="${0}" infer="item" ?use-cart-validation="${0}" .defaultItemCategory="${0}" @remove="${0}"> </foxy-internal-experimental-add-to-cart-builder-item-control> </foxy-internal-summary-control> `),c(e.name.trim()||void 0),c(this.__openState[t]),(e=>{const n=e.currentTarget;this.__openState[t]=n.open,this.__openState=[...this.__openState]}),c(null==$?void 0:$._links["fx:item_categories"].href),c(null!==(n=this.__resolvedCurrencyCode)&&void 0!==n?n:void 0),c(v),t,c(null==$?void 0:$.use_cart_validation),this.__defaultItemCategory,(()=>{var e;const n=null===(e=this.form.items)||void 0===e?void 0:e.filter(((e,n)=>n!==t));this.edit({items:n}),this.__openState=this.__openState.filter(((e,n)=>n!==t))}))})),this.disabled,(()=>{var e;const t=null!==(e=this.form.items)&&void 0!==e?e:[];this.edit({items:[...t,{name:"",price:0,custom_options:[],sub_frequency:"1m"}]}),this.__openState=[...new Array(t.length).fill(!1),!0]}),x.formHTMLError?i(Ge||(Ge=nt` <div class="flex flex-col gap-xs items-center justify-center p-xl"> <foxy-spinner layout="no-label" infer="unavailable" state="${0}"> </foxy-spinner> <foxy-i18n class="${0} text-s" infer="unavailable" key="${0}"> </foxy-i18n> </div> `),w,"error"===w?"text-error":"text-tertiary",x.formHTMLError):i(Ke||(Ke=nt` <div class="flex"> <iframe srcdoc="${0}${0}" style="margin:calc(-1 * (.625em + (var(--lumo-border-radius)/ 4) - 1px))" class="${0}" @load="${0}"> </iframe> </div> <div class="flex leading-s text-s min-w-0 relative" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> <div style="font-family:monospace;max-height:calc(8 * (1em * var(--lumo-line-height-s)))" class="${0}"> <code class="whitespace-pre">${0}</code> </div> <div style="top:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px);right:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" class="${0}"> <div class="bg-contrast-10 rounded-s"> <foxy-spinner infer="spinner" class="-mx-xs" style="transform:scale(.8)"> </foxy-spinner> </div> </div> <foxy-copy-to-clipboard infer="copy-to-clipboard" text="${0}" class="${0}"> </foxy-copy-to-clipboard> </div> <div class="flex items-start text-xs leading-xs text-secondary" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> ${0} <p> <foxy-i18n infer="" key="edits_tip"></foxy-i18n> <a target="_blank" class="rounded font-medium underline transition-colors cursor-pointer hover-opacity-80 focus-outline-none focus-ring-2 focus-ring-primary-50" href="https://wiki.foxycart.com/v/2.0/products"> <foxy-i18n infer="" key="edits_docs"></foxy-i18n> </a> </p> </div> `),'\n <style>\n html {\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n }\n\n body {\n margin: 0;\n }\n\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n }\n\n button,\n input {\n overflow: visible;\n }\n\n button,\n select {\n text-transform: none;\n }\n\n button,\n [type="button"],\n [type="reset"],\n [type="submit"] {\n -webkit-appearance: button;\n }\n\n button::-moz-focus-inner,\n [type="button"]::-moz-focus-inner,\n [type="reset"]::-moz-focus-inner,\n [type="submit"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n\n button:-moz-focusring,\n [type="button"]:-moz-focusring,\n [type="reset"]:-moz-focusring,\n [type="submit"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n }\n\n fieldset {\n padding: 0.35em 0.75em 0.625em;\n }\n\n legend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n }\n\n textarea {\n overflow: auto;\n }\n\n [type="checkbox"],\n [type="radio"] {\n box-sizing: border-box;\n padding: 0;\n }\n\n [type="number"]::-webkit-inner-spin-button,\n [type="number"]::-webkit-outer-spin-button {\n height: auto;\n }\n\n [type="search"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n\n [type="search"]::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n }\n\n [hidden] {\n display: none;\n }\n\n html {\n color-scheme: light dark !important;\n }\n\n body {\n display: flex;\n padding: 2rem;\n }\n\n form {\n flex: 1;\n max-width: 20rem;\n font: normal 0.875rem system-ui;\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 0.5rem;\n align-items: center;\n margin: auto;\n }\n\n form:has(fieldset) {\n grid-gap: 1rem;\n }\n\n fieldset {\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 0.5rem;\n grid-column: 1 / span 2;\n align-items: center;\n margin: 0;\n }\n\n legend {\n white-space: nowrap;\n }\n\n button {\n grid-column: 1 / span 2;\n margin-top: 0.5rem;\n }\n\n form:has(fieldset) button {\n margin-top: 0;\n }\n\n label {\n display: contents;\n }\n </style>\n',x.formHTML,h({"flex-1 transition-all filter":!0,"blur-sm":"idle"!==this.__signingState}),(e=>{var t;const n=e.currentTarget,r=null===(t=n.contentWindow)||void 0===t?void 0:t.document.documentElement;r&&(n.style.height=r.scrollHeight+"px")}),h({"break-all overflow-auto flex-1 min-w-0 transition-all filter":!0,"blur-sm":"idle"!==this.__signingState}),e(We.highlight(x.formHTML,{language:"xml"}).value),h({"absolute right-0 bg-base rounded-s transition-opacity":!0,"opacity-0 pointer-events-none":"busy"!==this.__signingState}),x.formHTML,h({"flex-shrink-0 text-m transition-opacity":!0,"opacity-0 pointer-events-none":"busy"===this.__signingState}),o(Xe||(Xe=nt`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" class="flex-shrink-0 text-contrast-70" style="width: 1.25em"><path fill-rule="evenodd" d="M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0ZM9 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6.75 8a.75.75 0 0 0 0 1.5h.75v1.75a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8.25 8h-1.5Z" clip-rule="evenodd" /></svg>`))),x.linkHrefError?i(Ye||(Ye=nt` <p class="text-tertiary"> <foxy-i18n infer="unavailable" key="${0}"> </foxy-i18n> </p> `),x.linkHrefError):i(Je||(Je=nt` <div class="flex items-center leading-s min-w-0 relative" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> <foxy-i18n infer="" key="direct_link"></foxy-i18n> <a target="_blank" style="max-width:30rem" href="${0}" class="${0}"> ${0} </a> <div style="top:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px);right:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" class="${0}"> <div class="bg-contrast-10 rounded-s"> <foxy-spinner infer="spinner" state="${0}" class="-mx-xs" style="transform:scale(.8)"> </foxy-spinner> </div> </div> <foxy-copy-to-clipboard infer="copy-to-clipboard" text="${0}" class="${0}"> </foxy-copy-to-clipboard> </div> `),x.linkHref,h({"font-medium truncate ml-auto min-w-0 rounded-s":!0,"transition-all filter":!0,"hover-underline":!0,"focus-outline-none focus-ring-2 focus-ring-primary-50":!0,"blur-sm":"idle"!==this.__signingState}),x.linkHref,h({"absolute right-0 bg-base rounded-s transition-opacity":!0,"opacity-0 pointer-events-none":"busy"!==this.__signingState}),"fail"===this.__signingState?"error":"busy",x.linkHref,h({"flex-shrink-0 text-m transition-opacity":!0,"opacity-0 pointer-events-none":"busy"===this.__signingState})),this.renderTemplateOrSlot(),c(null===(m=null===(u=this.__storeLoader)||void 0===u?void 0:u.data)||void 0===m?void 0:m._links["fx:template_sets"].href),this.__emptyOptions,this.__cartOptions,"redirect"===this.form.cart?i(Qe||(Qe=nt` <foxy-internal-text-control layout="summary-item" infer="redirect"> </foxy-internal-text-control> `)):"",c(this.__defaultTemplateSetHref),(()=>this.requestUpdate()),c(this.__defaultItemCategoryHref),(()=>this.requestUpdate()),c(null!==(f=this.localeCodes)&&void 0!==f?f:void 0),(()=>this.requestUpdate()),c(null!==(g=this.form.template_set_uri)&&void 0!==g?g:void 0),(()=>this.requestUpdate()),c(null!==(_=null!==(y=null===(p=this.data)||void 0===p?void 0:p._links["fx:store"].href)&&void 0!==y?y:this.store)&&void 0!==_?_:void 0),(()=>this.requestUpdate()),null===(b=this.form.items)||void 0===b?void 0:b.map(((e,t)=>{var n;return i(et||(et=nt` <foxy-nucleon class="hidden" infer="" href="${0}" id="itemCategoryLoaderProduct${0}" @update="${0}"> </foxy-nucleon> ${0} `),c(null!==(n=e.item_category_uri)&&void 0!==n?n:void 0),t,(()=>this.requestUpdate()),e.custom_options.map(((e,n)=>{var r;return i(tt||(tt=nt` <foxy-nucleon class="hidden" infer="" href="${0}" id="itemCategoryLoaderProduct${0}Option${0}" @update="${0}"> </foxy-nucleon> `),c(null!==(r=e.item_category_uri)&&void 0!==r?r:void 0),t,n,(()=>this.requestUpdate()))})))})))}updated(e){var t,n;super.updated(e),this.in("idle")&&!(null===(t=this.form.items)||void 0===t?void 0:t.length)&&(this.edit({items:[{name:"",price:0,sub_frequency:"1m",custom_options:[]}]}),this.__openState=[!0]),(null===(n=this.form.items)||void 0===n?void 0:n.length)&&!this.__openState.length&&(this.__openState=[!0,...new Array(this.form.items.length-1).fill(!1)])}submit(){}get __defaultTemplateSetHref(){var e,t,n;try{const r=new URL(null!==(n=null===(t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data)||void 0===t?void 0:t._links["fx:template_sets"].href)&&void 0!==n?n:"");return r.searchParams.set("code","DEFAULT"),r.toString()}catch(e){return}}get __defaultItemCategoryHref(){var e,t,n;try{const r=new URL(null!==(n=null===(t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data)||void 0===t?void 0:t._links["fx:item_categories"].href)&&void 0!==n?n:"");return r.searchParams.set("code","DEFAULT"),r.toString()}catch(e){return}}get __resolvedCurrencyCode(){var e,t,n,r;const i=this.renderRoot.querySelector("#localeCodesHelperLoader"),o=null===(e=this.__resolvedTemplateSet)||void 0===e?void 0:e.locale_code,a=null===(t=null==i?void 0:i.data)||void 0===t?void 0:t.values,s=o?null==a?void 0:a[o]:void 0;return s?null===(r=null===(n=/Currency: ([A-Z]{3})/g.exec(s))||void 0===n?void 0:n[1])||void 0===r?void 0:r.toUpperCase():void 0}get __resolvedTemplateSet(){var e,t,n,r;const i=e=>this.renderRoot.querySelector(e);return null!==(t=null===(e=i("#templateSetLoader"))||void 0===e?void 0:e.data)&&void 0!==t?t:null===(r=null===(n=i("#defaultTemplateSetLoader"))||void 0===n?void 0:n.data)||void 0===r?void 0:r._embedded["fx:template_sets"][0]}get __defaultItemCategory(){var e,t;return null===(t=null===(e=this.renderRoot.querySelector("#defaultItemCategoryLoader"))||void 0===e?void 0:e.data)||void 0===t?void 0:t._embedded["fx:item_categories"][0]}get __resolvedCartUrl(){var e;const t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(t){if(t.use_remote_domain)return`https://${t.store_domain}/cart`;if(null!==this.defaultDomain)return`https://${t.store_domain}.${this.defaultDomain}/cart`}return null}get __storeLoader(){return this.renderRoot.querySelector("#storeLoaderId")}__getItemCategoryLoader(e,t){const n=`#itemCategoryLoaderProduct${e}`,r="number"==typeof t?`${n}Option${t}`:n;return this.renderRoot.querySelector(r)}__getAddToCartFormHTML(){var e,t,n,r,i,o,a,s,l;const d=this.__resolvedCurrencyCode,u=this.__resolvedTemplateSet,c=this.__resolvedCartUrl,f=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!(this.defaultDomain&&u&&f&&d&&c))throw new Error("loading_extra_data_needed");const h=f.use_cart_validation;let g=!1,p=`<form action="${it(c,h)}" method="post" target="_blank">`,y=1;const _=()=>`\n${" ".repeat(2*y)}`,b=(e,t)=>{const n=it(t,h),r=it(e,h);p+=`${_()}<input type="hidden" name="${r}" value="${n}">`};"DEFAULT"!==u.code&&b("template_set",u.code),this.form.empty&&"false"!==this.form.empty&&b("empty",this.form.empty),"checkout"===this.form.cart&&b("cart","checkout"),this.form.redirect&&b("redirect",this.form.redirect),this.form.coupon&&b("coupon",this.form.coupon);const x=null!==(t=this.form.items)&&void 0!==t?t:[],v=x.length>1;for(let e=0;e<x.length;++e){const t=this.__getItemCategoryLoader(e),u=null==t?void 0:t.data,c=x[e];if(c.item_category_uri&&!u)throw new Error("loading_extra_data_needed");const $=Math.max(1,null!==(n=c.quantity_min)&&void 0!==n?n:1),w=Math.max($,null!==(r=c.quantity_max)&&void 0!==r?r:1/0),E=$!==w&&"minutes"!==c.expires_format&&!c.hide_quantity,S=c.price_configurable,j=c.custom_options.some(((e,t,n)=>e.value_configurable||n.findIndex((t=>t.name===e.name))!==t)),k=c.name.trim()||this.t("items.item-group.item.basics-group.name.placeholder"),C=g||v&&(S||E||j);C&&(g=!0,p+=`${_()}<fieldset>`,y++,p+=`${_()}<legend>${m(k)}</legend>`);const L=0===e?"":`${e+1}:`;b(`${L}name`,k);const N=`${c.price}${d}`;if(c.price_configurable){const e=it(c.price.toFixed(2),h);p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(this.t("preview.price_label"))}</span>`,f.use_cart_validation?p+=`${_()}<input required name="${L}price" value="--OPEN--" data-replace="${e}">`:p+=`${_()}<input required name="${L}price" value="${e}">`,y--,p+=`${_()}</label>`}else b(`${L}price`,N);if(u&&"DEFAULT"!==u.code&&b(`${L}category`,u.code),c.code)b(`${L}code`,c.code);else if(f.use_cart_validation)throw new Error("paused_code_required");if(c.parent_code&&b(`${L}parent_code`,c.parent_code),c.image&&(b(`${L}image`,c.image),c.url&&b(`${L}url`,c.url)),c.sub_enabled&&c.sub_frequency){if(b(`${L}sub_frequency`,c.sub_frequency),c.sub_startdate)if("yyyymmdd"===c.sub_startdate_format){const e=new Date(c.sub_startdate);b(`${L}sub_startdate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else b(`${L}sub_startdate`,String(c.sub_startdate));if(c.sub_enddate)if("yyyymmdd"===c.sub_enddate_format){const e=new Date(c.sub_enddate);b(`${L}sub_enddate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else b(`${L}sub_enddate`,String(c.sub_enddate))}if(c.discount_name&&c.discount_type&&c.discount_details&&b(`${L}discount_${c.discount_type}`,`${c.discount_name}{${c.discount_details}}`),c.expires_value&&(c.expires_format,b(`${L}expires`,c.expires_value.toFixed(0))),E){p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(this.t("preview.quantity_label"))}</span>`;const e=it(`${L}quantity`,h);if(p+=`${_()}<input type="number" name="${e}"`,p+=` min="${it(String($),h)}"`,w!==1/0&&(p+=` max="${it(String(w),h)}"`),f.use_cart_validation){const e=it(String(null!==(i=c.quantity)&&void 0!==i?i:1),h);p+=` value="--OPEN--" data-replace="${e}">`}else p+=` value="${it(String(null!==(o=c.quantity)&&void 0!==o?o:1),h)}">`;y--,p+=`${_()}</label>`}else(null!==(a=c.quantity)&&void 0!==a?a:1)>1&&b(`${L}quantity`,(null!==(s=c.quantity)&&void 0!==s?s:1).toString());"minutes"!==c.expires_format&&(1!==$&&b(`${L}quantity_min`,$.toFixed(0)),w!==1/0&&b(`${L}quantity_max`,w.toFixed(0))),c.length&&b(`${L}length`,c.length.toFixed(3)),c.width&&b(`${L}width`,c.width.toFixed(3)),c.height&&b(`${L}height`,c.height.toFixed(3)),c.weight&&b(`${L}weight`,c.weight.toFixed(3)),f.features_multiship&&(p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(this.t("preview.shipto_label"))}</span>`,f.use_cart_validation?p+=`${_()}<input name="${L}shipto" value="--OPEN--" data-replace="">`:p+=`${_()}<input name="${L}shipto" value="">`,y--,p+=`${_()}</label>`);const M=c.custom_options.reduce(((e,t)=>(e[t.name]||(e[t.name]=[]),e[t.name].push(t),e)),{});for(const t in M){const n=M[t];if(1===n.length){const r=c.custom_options.indexOf(n[0]),i=null===(l=this.__getItemCategoryLoader(e,r))||void 0===l?void 0:l.data,o=this.__getOptionModifiers(n[0],null!=i?i:null,d),a=`${n[0].value}${o}`,s=`${L}${t}`;n[0].value_configurable?(p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(t)}:</span>`,p+=`${_()}<input name="${it(s,h)}" `,f.use_cart_validation?p+=`value="--OPEN--" data-replace="${it(a,h)}">`:p+=`value="${it(a,h)}">`,y--,p+=`${_()}</label>`):b(s,a)}else p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(t)}:</span>`,p+=`${_()}<select name="${L}${t}">`,y++,n.forEach((t=>{var n,r;const i=c.custom_options.indexOf(t),o=null===(n=this.__getItemCategoryLoader(e,i))||void 0===n?void 0:n.data,a=this.__getOptionModifiers(t,null!=o?o:null,d),s=it(`${t.value}${a}`,h),l=m(null!==(r=t.value)&&void 0!==r?r:"");p+=`${_()}<option value="${s}">${l}</option>`})),y--,p+=`${_()}</select>`,y--,p+=`${_()}</label>`}C&&(y--,p+=`${_()}</fieldset>`)}const $="checkout"===this.form.cart?"checkout":"cart",w=m(this.t(`preview.submit_caption_${$}`));return p+=`${_()}<button type="submit">${w}</button>`,y--,p+=`${_()}</form>`,p}__getAddToCartLinkHref(){var e,t,n,r,i,o,a,s;const l=this.__resolvedCurrencyCode,d=this.__resolvedTemplateSet,u=this.__resolvedCartUrl,c=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!(this.defaultDomain&&d&&c&&l&&u))throw new Error("loading_extra_data_needed");const m=new Map,f=new URLSearchParams,h=(e,t)=>{if(c.use_cart_validation){if(e.includes("&")||t.includes("&")||e.includes("%")||t.includes("%")||e.includes("=")||t.includes("="))throw new Error("error_special_characters_present");m.set(e,t)}else f.set(e,t)};"DEFAULT"!==d.code&&h("template_set",d.code),"checkout"===this.form.cart&&h("cart","checkout"),this.form.redirect&&h("redirect",this.form.redirect),this.form.coupon&&h("coupon",this.form.coupon),this.form.empty&&"false"!==this.form.empty&&h("empty",this.form.empty);for(let e=0;e<(null!==(n=null===(t=this.form.items)||void 0===t?void 0:t.length)&&void 0!==n?n:0);++e){const t=this.form.items[e],n=0===e?"":`${e+1}:`,d=null===(r=this.__getItemCategoryLoader(e))||void 0===r?void 0:r.data;if(t.item_category_uri&&!d)throw new Error("loading_extra_data_needed");if(t.price_configurable)throw new Error("error_price_configurable");if(new Set(t.custom_options.map((e=>e.name))).size<t.custom_options.length)throw new Error("error_duplicate_custom_option_names");if(d&&"DEFAULT"!==d.code&&h(`${n}category`,d.code),h(`${n}name`,t.name),h(`${n}price`,`${t.price}${l}`),t.code)h(`${n}code`,t.code);else if(c.use_cart_validation)throw new Error("paused_code_required");if(t.parent_code&&h(`${n}parent_code`,t.parent_code),t.image&&(h(`${n}image`,t.image),t.url&&h(`${n}url`,t.url)),t.sub_enabled&&t.sub_frequency){if(h(`${n}sub_frequency`,t.sub_frequency),t.sub_startdate)if("yyyymmdd"===t.sub_startdate_format){const e=new Date(t.sub_startdate);h(`${n}sub_startdate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else h(`${n}sub_startdate`,String(t.sub_startdate));if(t.sub_enddate)if("yyyymmdd"===t.sub_enddate_format){const e=new Date(t.sub_enddate);h(`${n}sub_enddate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else h(`${n}sub_enddate`,String(t.sub_enddate))}t.discount_name&&t.discount_type&&t.discount_details&&h(`${n}discount_${t.discount_type}`,`${t.discount_name}{${t.discount_details}}`),t.expires_value&&(t.expires_format,h(`${n}expires`,t.expires_value.toFixed(0))),(null!==(i=t.quantity)&&void 0!==i?i:1)>1&&h(`${n}quantity`,(null!==(o=t.quantity)&&void 0!==o?o:1).toFixed(0)),"minutes"!==t.expires_format&&(t.quantity_min&&h(`${n}quantity_min`,t.quantity_min.toString()),t.quantity_max&&h(`${n}quantity_max`,t.quantity_max.toString())),t.weight&&h(`${n}weight`,t.weight.toFixed(3)),t.length&&h(`${n}length`,t.length.toFixed(3)),t.width&&h(`${n}width`,t.width.toFixed(3)),t.height&&h(`${n}height`,t.height.toFixed(3));for(let r=0;r<t.custom_options.length;++r){const i=t.custom_options[r];if(i.value_configurable)throw new Error("error_option_value_configurable");const o=null===(a=this.__getItemCategoryLoader(e,r))||void 0===a?void 0:a.data,d=this.__getOptionModifiers(i,null!=o?o:null,l);h(`${n}${i.name}`,`${null!==(s=i.value)&&void 0!==s?s:""}${d}`)}}return c.use_cart_validation?`${u}?${Array.from(m.entries()).map((([e,t])=>`${e}=${t}`)).join("&")}`:`${u}?${f.toString()}`}__getAddToCartCode(){var e;const t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!this.encodeHelper||!t)return{linkHref:"",linkHrefError:"loading_extra_data_needed",formHTML:"",formHTMLError:"loading_extra_data_needed"};const n=t.use_cart_validation;let r=null,i=null,o="",a="";try{o=this.__getAddToCartFormHTML()}catch(e){r=e.message}let s=o;try{if(a=this.__getAddToCartLinkHref(),a){const e=`<a href="${it(a,n)}">Add to cart</a>`;s=`${o}${this.__signingSeparator}${e}`}}catch(e){i=e.message,a=""}if(s===this.__previousUnsignedCode&&this.__previousSignedCode){const[e,t]=this.__previousSignedCode.split(this.__signingSeparator);return{linkHref:t?f(t.substring(9,t.length-17)):"",linkHrefError:i,formHTML:e,formHTMLError:r}}return this.__previousUnsignedCode=s,this.__previousSignedCode="",t.use_cart_validation&&this.__signAsync(s,this.encodeHelper),{formHTML:o,formHTMLError:r,linkHref:a,linkHrefError:i}}__getOptionModifiers(e,t,n){if(e.value_configurable)return"";const r=[];if(e.price){const t=e.replace_price?":":-1===Math.sign(e.price)?"-":"+";(e.replace_price||0!==e.price)&&r.push(`p${t}${Math.abs(e.price)}${n}`)}if(e.weight){const t=e.replace_weight?":":-1===Math.sign(e.weight)?"-":"+";(e.replace_weight||0!==e.weight)&&r.push(`w${t}${Math.abs(e.weight)}`)}if(e.item_category_uri&&!t)return"";if(t&&r.push(`y:${t.code}`),e.code){const t=e.replace_code?":":"+";(e.replace_code||""!==e.code)&&r.push(`c${t}${e.code}`)}return r.length?`{${r.join("|")}}`:""}}customElements.define("foxy-experimental-add-to-cart-builder",ot);export{ot as ExperimentalAddToCartBuilder};
1
+ import"./shared-24998349.js";import"./shared-b7401886.js";import"./shared-c84bb30e.js";import{u as e}from"./shared-b148b310.js";import"./shared-52053d0d.js";import"./shared-bc89d3fb.js";import"./shared-8ba4b5bf.js";import{I as t}from"./shared-4e4766ee.js";import"./foxy-template-set-card.js";import"./foxy-copy-to-clipboard.js";import"./foxy-nucleon-element.js";import"./foxy-spinner.js";import"./shared-64210e53.js";import"./shared-ada2d315.js";import"./shared-df92d411.js";import"./shared-0b3dbac6.js";import"./shared-4f36f302.js";import{a as n}from"./shared-92c211bd.js";import"./foxy-item-category-card.js";import"./foxy-discount-builder.js";import"./shared-9585cf5b.js";import{I as r}from"./shared-ba0d1f31.js";import{h as i,s as o}from"./shared-ba5c42c7.js";import{_ as a,B as s}from"./shared-7fec42f2.js";import{a as l,R as d,w as u}from"./shared-387d7254.js";import{i as c}from"./shared-53e42a77.js";import{e as m,d as f}from"./shared-12973e93.js";import{c as h}from"./shared-4e709717.js";import"./shared-a6cf5b1f.js";import"./shared-3bc9eaf7.js";import"./shared-46efbc40.js";import"./foxy-form-dialog.js";import"./shared-25a9d87d.js";import"./shared-e275989e.js";import"./shared-65b2760f.js";import"./shared-c782b9fa.js";import"./shared-0ea750af.js";import"./shared-cd96ff03.js";import"./shared-53e476fd.js";import"./shared-bab2ea2c.js";import"./shared-69074dae.js";import"./shared-37869bac.js";import"./shared-d6a0954b.js";import"./shared-1da47f50.js";import"./shared-e1e4d8f5.js";import"./shared-1d6ed748.js";import"./shared-c1b71162.js";import"./shared-3db3f3c3.js";import"./shared-ed24a3f9.js";import"./shared-5fd5805c.js";import"./shared-d0aed1c1.js";import"./shared-1abfcf87.js";import"./shared-d35ed355.js";import"./shared-db758d3b.js";import"./shared-c3d1d247.js";import"./shared-ab9dfa48.js";import"./shared-ac44a3a5.js";import"./shared-dc357e9d.js";import"./shared-5212ef4f.js";import"./shared-1b04321a.js";import"./shared-a1cfe9d5.js";import"./shared-5574ea83.js";import"./shared-caac6517.js";import"./shared-0d01cd66.js";import"./shared-297155d9.js";import"./foxy-collection-page.js";import"./foxy-swipe-actions.js";import"./foxy-pagination.js";import"./shared-2d6478b0.js";import"./shared-7fa24559.js";import"./shared-2061be9a.js";import"./shared-f0fa0a88.js";import"./shared-63c32024.js";let g,p=e=>e;customElements.define("foxy-internal-experimental-add-to-cart-builder-custom-option-card",class extends r{renderBody(){var e,t;return i(g||(g=p` <div class="flex justify-between items-center h-xs"> <span class="font-medium">${0}&ZeroWidthSpace;</span> <span class="text-secondary">${0}&ZeroWidthSpace;</span> </div> `),null===(e=this.data)||void 0===e?void 0:e.name,null===(t=this.data)||void 0===t?void 0:t.value)}});let y,_=e=>e;const b=l(t,"internal-experimental-add-to-cart-builder-custom-option-form");customElements.define("foxy-internal-experimental-add-to-cart-builder-custom-option-form",class extends b{constructor(){super(...arguments),this.defaultWeightUnit=null,this.existingOptions=[],this.itemCategories=null,this.currencyCode=null}static get properties(){return a(a({},super.properties),{},{defaultWeightUnit:{attribute:"default-weight-unit"},existingOptions:{type:Array,attribute:"existing-options"},itemCategories:{attribute:"item-categories"},currencyCode:{attribute:"currency-code"}})}get readonlySelector(){const e=[super.readonlySelector.toString()];return this.href&&e.unshift("basics-group"),new s(e.join(" ").trim())}get disabledSelector(){const e=[super.disabledSelector.toString()];return!this.href&&this.existingOptions.some((e=>e.name===this.form.name))&&e.unshift("basics-group:value-configurable"),new s(e.join(" ").trim())}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return this.form.value_configurable&&e.unshift("price-group","weight-group","code-group","category-group"),new s(e.join(" ").trim())}renderBody(){var e,t,n,r;return i(y||(y=_` <foxy-internal-summary-control infer="basics-group"> <foxy-internal-text-control layout="summary-item" infer="name"></foxy-internal-text-control> <foxy-internal-text-control property="value" layout="summary-item" infer="${0}"> </foxy-internal-text-control> <foxy-internal-switch-control infer="value-configurable"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="price-group"> <foxy-internal-number-control layout="summary-item" suffix="${0}" infer="price"> </foxy-internal-number-control> <foxy-internal-switch-control infer="replace-price"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="weight-group"> <foxy-internal-number-control layout="summary-item" suffix="${0}" infer="weight"> </foxy-internal-number-control> <foxy-internal-switch-control infer="replace-weight"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="code-group"> <foxy-internal-text-control layout="summary-item" infer="code"> </foxy-internal-text-control> <foxy-internal-switch-control infer="replace-code"></foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="category-group"> <foxy-internal-resource-picker-control layout="summary-item" first="${0}" infer="item-category-uri" item="foxy-item-category-card"> </foxy-internal-resource-picker-control> </foxy-internal-summary-control> <foxy-nucleon infer="" class="hidden" href="${0}" id="itemCategoryLoader" @update="${0}"> </foxy-nucleon> `),this.form.value_configurable?"default-value":"value",c(null!==(e=this.currencyCode)&&void 0!==e?e:void 0),c(null!==(t=this.__resolvedDefaultWeightUnit)&&void 0!==t?t:void 0),c(null!==(n=this.itemCategories)&&void 0!==n?n:void 0),c(null!==(r=this.form.item_category_uri)&&void 0!==r?r:void 0),(()=>this.requestUpdate()))}async _sendPost(e){const t=this.existingOptions.filter((t=>t.name===e.name));if(t.some((e=>e.value_configurable)))throw["error:option_exists_configurable"];if(t.some((t=>t.value===e.value)))throw["error:option_exists"];return super._sendPost(e)}get __resolvedDefaultWeightUnit(){var e,t;const n=this.renderRoot.querySelector("#itemCategoryLoader");return null!==(t=null===(e=null==n?void 0:n.data)||void 0===e?void 0:e.default_weight_unit)&&void 0!==t?t:this.defaultWeightUnit}});let x,v,$,w,E,S,j,k,C,L,N,M,R,O,T,A,I=e=>e;customElements.define("foxy-internal-experimental-add-to-cart-builder-item-control",class extends n{constructor(){super(...arguments),this.defaultItemCategory=null,this.useCartValidation=!1,this.itemCategories=null,this.currencyCode=null,this.index=0}static get properties(){return a(a({},super.properties),{},{defaultItemCategory:{type:Object,attribute:"default-item-category"},useCartValidation:{type:Boolean,attribute:"use-cart-validation"},itemCategories:{attribute:"item-categories"},currencyCode:{attribute:"currency-code"},index:{type:Number}})}renderControl(){var e,t,n,r,o,a,s,l,d;const u=this.__resolvedItemCategory,m=null==u?void 0:u.item_delivery_type,f=this.nucleon,h=this.index,g=null===(e=null==f?void 0:f.form.items)||void 0===e?void 0:e[h];return i(x||(x=I` <div class="space-y-m"> <foxy-internal-summary-control infer="basics-group"> <foxy-internal-text-control property="items.${0}.name" layout="summary-item" infer="name"> </foxy-internal-text-control> <foxy-internal-resource-picker-control property="items.${0}.item_category_uri" layout="summary-item" first="${0}" infer="item-category-uri" item="foxy-item-category-card"> </foxy-internal-resource-picker-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="price-group"> <foxy-internal-number-control property="items.${0}.price" layout="summary-item" suffix="${0}" infer="${0}"> </foxy-internal-number-control> <foxy-internal-switch-control property="items.${0}.price_configurable" layout="summary-item" infer="price-configurable"> </foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="code-group"> <foxy-internal-text-control placeholder="${0}" property="items.${0}.code" layout="summary-item" infer="code"> </foxy-internal-text-control> <foxy-internal-text-control property="items.${0}.parent_code" layout="summary-item" infer="parent-code"> </foxy-internal-text-control> </foxy-internal-summary-control> ${0} <foxy-internal-summary-control infer="subscriptions-group"> <foxy-internal-switch-control property="items.${0}.sub_enabled" layout="summary-item" infer="sub-enabled"> </foxy-internal-switch-control> ${0} </foxy-internal-summary-control> <foxy-internal-summary-control infer="quantity-group" layout="details"> <foxy-internal-number-control property="items.${0}.quantity" layout="summary-item" infer="quantity" step="1" min="1"> </foxy-internal-number-control> ${0} <foxy-internal-switch-control property="items.${0}.hide_quantity" infer="hide-quantity"> </foxy-internal-switch-control> </foxy-internal-summary-control> <foxy-internal-summary-control infer="advanced-group" layout="details"> <foxy-internal-text-control property="items.${0}.discount_name" layout="summary-item" infer="discount-name"> </foxy-internal-text-control> ${0} <foxy-internal-text-control property="items.${0}.image" layout="summary-item" infer="image"> </foxy-internal-text-control> ${0} <foxy-internal-select-control property="items.${0}.expires_format" layout="summary-item" infer="expires-format" .options="${0}"> </foxy-internal-select-control> ${0} ${0} </foxy-internal-summary-control> <foxy-internal-async-list-control layout="details" first="foxy://${0}/form/items/${0}/custom_options" infer="custom-options" form="foxy-internal-experimental-add-to-cart-builder-custom-option-form" item="foxy-internal-experimental-add-to-cart-builder-custom-option-card" alert .formProps="${0}"> </foxy-internal-async-list-control> ${0} <foxy-nucleon infer="" class="hidden" href="${0}" id="itemCategoryLoader" @update="${0}"> </foxy-nucleon> </div> `),h,h,c(null!==(t=this.itemCategories)&&void 0!==t?t:void 0),h,c(null!==(n=this.currencyCode)&&void 0!==n?n:void 0),(null==g?void 0:g.price_configurable)?"price-default":"price",h,this.t("code-group.code.placeholder_"+(this.useCartValidation?"required":"optional")),h,h,"notshipped"===m||"downloaded"===m?"":i(v||(v=I` <foxy-internal-summary-control infer="appearance-group"> <foxy-internal-number-control placeholder="${0}" property="items.${0}.weight" layout="summary-item" suffix="${0}" infer="weight" min="0"> </foxy-internal-number-control> </foxy-internal-summary-control> `),c(null==u?void 0:u.default_weight),h,c(null==u?void 0:u.default_weight_unit)),h,(null==g?void 0:g.sub_enabled)?i($||($=I` <foxy-internal-frequency-control property="items.${0}.sub_frequency" layout="summary-item" infer="sub-frequency" allow-twice-a-month> </foxy-internal-frequency-control> <foxy-internal-select-control property="items.${0}.sub_startdate_format" layout="summary-item" infer="sub-startdate-format" .options="${0}"> </foxy-internal-select-control> ${0} <foxy-internal-select-control property="items.${0}.sub_enddate_format" layout="summary-item" infer="sub-enddate-format" .options="${0}"> </foxy-internal-select-control> ${0} `),h,h,[{label:"option_none",value:"none"},{label:"option_yyyymmdd",value:"yyyymmdd"},{label:"option_dd",value:"dd"},{label:"option_duration",value:"duration"}],"yyyymmdd"===g.sub_startdate_format?i(w||(w=I` <foxy-internal-date-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-yyyymmdd"> </foxy-internal-date-control> `),h):"duration"===g.sub_startdate_format?i(E||(E=I` <foxy-internal-frequency-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-duration"> </foxy-internal-frequency-control> `),h):"dd"===g.sub_startdate_format?i(S||(S=I` <foxy-internal-number-control property="items.${0}.sub_startdate" layout="summary-item" infer="sub-startdate-dd" step="1" min="1" max="31"> </foxy-internal-number-control> `),h):"",h,[{label:"option_none",value:"none"},{label:"option_yyyymmdd",value:"yyyymmdd"},{label:"option_duration",value:"duration"}],"yyyymmdd"===g.sub_enddate_format?i(j||(j=I` <foxy-internal-date-control property="items.${0}.sub_enddate" layout="summary-item" infer="sub-enddate-yyyymmdd"> </foxy-internal-date-control> `),h):"duration"===g.sub_enddate_format?i(k||(k=I` <foxy-internal-frequency-control property="items.${0}.sub_enddate" layout="summary-item" infer="sub-enddate-duration"> </foxy-internal-frequency-control> `),h):""):"",h,"minutes"===(null==g?void 0:g.expires_format)?"":i(C||(C=I` <foxy-internal-number-control property="items.${0}.quantity_min" layout="summary-item" infer="quantity-min" step="1" min="1"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.quantity_max" layout="summary-item" infer="quantity-max" step="1" min="1"> </foxy-internal-number-control> `),h,h),h,h,(null==g?void 0:g.discount_name)?i(L||(L=I` <foxy-discount-builder infer="discount-builder" .parsedValue="${0}" @change="${0}"> </foxy-discount-builder> `),{details:null!==(r=null==g?void 0:g.discount_details)&&void 0!==r?r:"",type:null!==(o=null==g?void 0:g.discount_type)&&void 0!==o?o:"amount_percentage",name:null!==(a=null==g?void 0:g.discount_name)&&void 0!==a?a:""},(e=>{this.__handleDiscountBuilderChange(e,g,h)})):"",h,(null==g?void 0:g.image)?i(N||(N=I` <foxy-internal-text-control property="items.${0}.url" layout="summary-item" infer="url"> </foxy-internal-text-control> `),h):"",h,[{label:"option_none",value:"none"},{label:"option_minutes",value:"minutes"},{label:"option_timestamp",value:"timestamp"}],"minutes"===(null==g?void 0:g.expires_format)?i(M||(M=I` <foxy-internal-number-control property="items.${0}.expires_value" layout="summary-item" suffix="min" infer="expires-value-minutes"> </foxy-internal-number-control> `),h):"timestamp"===(null==g?void 0:g.expires_format)?i(R||(R=I` <foxy-internal-date-control property="items.${0}.expires_value" layout="summary-item" format="unix" infer="expires-value-timestamp"> </foxy-internal-date-control> `),h):"","notshipped"===m||"downloaded"===m?"":i(O||(O=I` <foxy-internal-number-control property="items.${0}.length" layout="summary-item" suffix="${0}" infer="length" min="0"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.width" layout="summary-item" suffix="${0}" infer="width" min="0"> </foxy-internal-number-control> <foxy-internal-number-control property="items.${0}.height" layout="summary-item" suffix="${0}" infer="height" min="0"> </foxy-internal-number-control> `),h,c(null==u?void 0:u.default_length_unit),h,c(null==u?void 0:u.default_length_unit),h,c(null==u?void 0:u.default_length_unit)),null==f?void 0:f.virtualHost,h,{".defaultWeightUnit":null==u?void 0:u.default_weight_unit,".existingOptions":null!==(s=null==g?void 0:g.custom_options)&&void 0!==s?s:[],".itemCategories":this.itemCategories,".currencyCode":this.currencyCode},(null!==(d=null===(l=null==f?void 0:f.form.items)||void 0===l?void 0:l.length)&&void 0!==d?d:0)<=1?i(T||(T=I``)):i(A||(A=I` <vaadin-button theme="error" class="w-full" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="delete" key="caption"></foxy-i18n> </vaadin-button> `),this.disabled,(()=>this.dispatchEvent(new CustomEvent("remove")))),c(null==g?void 0:g.item_category_uri),(()=>this.requestUpdate()))}get __resolvedItemCategory(){var e,t;return null!==(t=null===(e=this.__itemCategoryLoader)||void 0===e?void 0:e.data)&&void 0!==t?t:this.defaultItemCategory}get __itemCategoryLoader(){return this.renderRoot.querySelector("#itemCategoryLoader")}__handleDiscountBuilderChange(e,t,n){var r;const i=e.currentTarget,o=this.nucleon;t.discount_details=i.parsedValue.details,t.discount_type=i.parsedValue.type,t.discount_name=i.parsedValue.name;const a=null!==(r=null==o?void 0:o.form.items)&&void 0!==r?r:[];a.splice(n,1,t),null==o||o.edit({items:[...a]})}});function q(e){return e?"string"==typeof e?e:e.source:null}function H(e){return D("(?=",e,")")}function D(...e){return e.map((e=>q(e))).join("")}function P(...e){return"("+e.map((e=>q(e))).join("|")+")"}var B=function(e){const t=D(/[A-Z_]/,D("(",/[A-Z0-9_.-]*:/,")?"),/[A-Z0-9_.-]*/),n={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},r={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},i=e.inherit(r,{begin:/\(/,end:/\)/}),o=e.inherit(e.APOS_STRING_MODE,{className:"meta-string"}),a=e.inherit(e.QUOTE_STRING_MODE,{className:"meta-string"}),s={endsWithParent:!0,illegal:/</,relevance:0,contains:[{className:"attr",begin:/[A-Za-z0-9._:-]+/,relevance:0},{begin:/=\s*/,relevance:0,contains:[{className:"string",endsParent:!0,variants:[{begin:/"/,end:/"/,contains:[n]},{begin:/'/,end:/'/,contains:[n]},{begin:/[^\s"'=<>`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,relevance:10,contains:[r,a,o,i,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin:/<![a-z]/,end:/>/,contains:[r,i,a,o]}]}]},e.COMMENT(/<!--/,/-->/,{relevance:10}),{begin:/<!\[CDATA\[/,end:/\]\]>/,relevance:10},n,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/<style(?=\s|>)/,end:/>/,keywords:{name:"style"},contains:[s],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/<script(?=\s|>)/,end:/>/,keywords:{name:"script"},contains:[s],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:D(/</,H(D(t,P(/\/>/,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:t,relevance:0,starts:s}]},{className:"tag",begin:D(/<\//,H(D(t,/>/))),contains:[{className:"name",begin:t,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}};function U(e){return e instanceof Map?e.clear=e.delete=e.set=function(){throw new Error("map is read-only")}:e instanceof Set&&(e.add=e.clear=e.delete=function(){throw new Error("set is read-only")}),Object.freeze(e),Object.getOwnPropertyNames(e).forEach((function(t){var n=e[t];"object"!=typeof n||Object.isFrozen(n)||U(n)})),e}var F=U,z=U;F.default=z;class W{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function V(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#x27;")}function Z(e,...t){const n=Object.create(null);for(const t in e)n[t]=e[t];return t.forEach((function(e){for(const t in e)n[t]=e[t]})),n}const G=e=>!!e.kind;class K{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=V(e)}openNode(e){if(!G(e))return;let t=e.kind;e.sublanguage||(t=`${this.classPrefix}${t}`),this.span(t)}closeNode(e){G(e)&&(this.buffer+="</span>")}value(){return this.buffer}span(e){this.buffer+=`<span class="${e}">`}}class X{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t={kind:e,children:[]};this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach((t=>this._walk(e,t))),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every((e=>"string"==typeof e))?e.children=[e.children.join("")]:e.children.forEach((e=>{X._collapse(e)})))}}class Y extends X{constructor(e){super(),this.options=e}addKeyword(e,t){""!==e&&(this.openNode(t),this.addText(e),this.closeNode())}addText(e){""!==e&&this.add(e)}addSublanguage(e,t){const n=e.root;n.kind=t,n.sublanguage=!0,this.add(n)}toHTML(){return new K(this,this.options).value()}finalize(){return!0}}function J(e){return e?"string"==typeof e?e:e.source:null}const Q=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;const ee="[a-zA-Z]\\w*",te="[a-zA-Z_]\\w*",ne="\\b\\d+(\\.\\d+)?",re="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",ie="\\b(0b[01]+)",oe={begin:"\\\\[\\s\\S]",relevance:0},ae={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[oe]},se={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[oe]},le={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},de=function(e,t,n={}){const r=Z({className:"comment",begin:e,end:t,contains:[]},n);return r.contains.push(le),r.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),r},ue=de("//","$"),ce=de("/\\*","\\*/"),me=de("#","$"),fe={className:"number",begin:ne,relevance:0},he={className:"number",begin:re,relevance:0},ge={className:"number",begin:ie,relevance:0},pe={className:"number",begin:ne+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},ye={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[oe,{begin:/\[/,end:/\]/,relevance:0,contains:[oe]}]}]},_e={className:"title",begin:ee,relevance:0},be={className:"title",begin:te,relevance:0},xe={begin:"\\.\\s*"+te,relevance:0};var ve=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:ee,UNDERSCORE_IDENT_RE:te,NUMBER_RE:ne,C_NUMBER_RE:re,BINARY_NUMBER_RE:ie,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=function(...e){return e.map((e=>J(e))).join("")}(t,/.*\b/,e.binary,/\b.*/)),Z({className:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},BACKSLASH_ESCAPE:oe,APOS_STRING_MODE:ae,QUOTE_STRING_MODE:se,PHRASAL_WORDS_MODE:le,COMMENT:de,C_LINE_COMMENT_MODE:ue,C_BLOCK_COMMENT_MODE:ce,HASH_COMMENT_MODE:me,NUMBER_MODE:fe,C_NUMBER_MODE:he,BINARY_NUMBER_MODE:ge,CSS_NUMBER_MODE:pe,REGEXP_MODE:ye,TITLE_MODE:_e,UNDERSCORE_TITLE_MODE:be,METHOD_GUARD:xe,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})}});function $e(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function we(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=$e,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function Ee(e,t){Array.isArray(e.illegal)&&(e.illegal=function(...e){return"("+e.map((e=>J(e))).join("|")+")"}(...e.illegal))}function Se(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function je(e,t){void 0===e.relevance&&(e.relevance=1)}const ke=["of","and","for","in","not","or","if","then","parent","list","value"],Ce="keyword";function Le(e,t,n=Ce){const r={};return"string"==typeof e?i(n,e.split(" ")):Array.isArray(e)?i(n,e):Object.keys(e).forEach((function(n){Object.assign(r,Le(e[n],t,n))})),r;function i(e,n){t&&(n=n.map((e=>e.toLowerCase()))),n.forEach((function(t){const n=t.split("|");r[n[0]]=[e,Ne(n[0],n[1])]}))}}function Ne(e,t){return t?Number(t):function(e){return ke.includes(e.toLowerCase())}(e)?0:1}function Me(e,{plugins:t}){function n(t,n){return new RegExp(J(t),"m"+(e.case_insensitive?"i":"")+(n?"g":""))}class r{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=function(e){return new RegExp(e.toString()+"|").exec("").length-1}(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map((e=>e[1]));this.matcherRe=n(function(e,t="|"){let n=0;return e.map((e=>{n+=1;const t=n;let r=J(e),i="";for(;r.length>0;){const e=Q.exec(r);if(!e){i+=r;break}i+=r.substring(0,e.index),r=r.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?i+="\\"+String(Number(e[1])+t):(i+=e[0],"("===e[0]&&n++)}return i})).map((e=>`(${e})`)).join(t)}(e),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const n=t.findIndex(((e,t)=>t>0&&void 0!==e)),r=this.matchIndexes[n];return t.splice(0,n),Object.assign(t,r)}}class i{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new r;return this.rules.slice(e).forEach((([e,n])=>t.addRule(e,n))),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let n=t.exec(e);if(this.resumingScanAtSamePosition())if(n&&n.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,n=t.exec(e)}return n&&(this.regexIndex+=n.position+1,this.regexIndex===this.count&&this.considerAll()),n}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=Z(e.classNameAliases||{}),function t(r,o){const a=r;if(r.isCompiled)return a;[Se].forEach((e=>e(r,o))),e.compilerExtensions.forEach((e=>e(r,o))),r.__beforeBegin=null,[we,Ee,je].forEach((e=>e(r,o))),r.isCompiled=!0;let s=null;if("object"==typeof r.keywords&&(s=r.keywords.$pattern,delete r.keywords.$pattern),r.keywords&&(r.keywords=Le(r.keywords,e.case_insensitive)),r.lexemes&&s)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return s=s||r.lexemes||/\w+/,a.keywordPatternRe=n(s,!0),o&&(r.begin||(r.begin=/\B|\b/),a.beginRe=n(r.begin),r.endSameAsBegin&&(r.end=r.begin),r.end||r.endsWithParent||(r.end=/\B|\b/),r.end&&(a.endRe=n(r.end)),a.terminatorEnd=J(r.end)||"",r.endsWithParent&&o.terminatorEnd&&(a.terminatorEnd+=(r.end?"|":"")+o.terminatorEnd)),r.illegal&&(a.illegalRe=n(r.illegal)),r.contains||(r.contains=[]),r.contains=[].concat(...r.contains.map((function(e){return function(e){e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map((function(t){return Z(e,{variants:null},t)})));if(e.cachedVariants)return e.cachedVariants;if(Re(e))return Z(e,{starts:e.starts?Z(e.starts):null});if(Object.isFrozen(e))return Z(e);return e}("self"===e?r:e)}))),r.contains.forEach((function(e){t(e,a)})),r.starts&&t(r.starts,o),a.matcher=function(e){const t=new i;return e.contains.forEach((e=>t.addRule(e.begin,{rule:e,type:"begin"}))),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(a),a}(e)}function Re(e){return!!e&&(e.endsWithParent||Re(e.starts))}function Oe(e){const t={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!e.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,V(this.code);let t={};return this.autoDetect?(t=e.highlightAuto(this.code),this.detectedLanguage=t.language):(t=e.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),t.value},autoDetect(){return!this.language||(e=this.autodetect,Boolean(e||""===e));var e},ignoreIllegals:()=>!0},render(e){return e("pre",{},[e("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:t,VuePlugin:{install(e){e.component("highlightjs",t)}}}}const Te={"after:highlightElement":({el:e,result:t,text:n})=>{const r=Ie(e);if(!r.length)return;const i=document.createElement("div");i.innerHTML=t.value,t.value=function(e,t,n){let r=0,i="";const o=[];function a(){return e.length&&t.length?e[0].offset!==t[0].offset?e[0].offset<t[0].offset?e:t:"start"===t[0].event?e:t:e.length?e:t}function s(e){function t(e){return" "+e.nodeName+'="'+V(e.value)+'"'}i+="<"+Ae(e)+[].map.call(e.attributes,t).join("")+">"}function l(e){i+="</"+Ae(e)+">"}function d(e){("start"===e.event?s:l)(e.node)}for(;e.length||t.length;){let t=a();if(i+=V(n.substring(r,t[0].offset)),r=t[0].offset,t===e){o.reverse().forEach(l);do{d(t.splice(0,1)[0]),t=a()}while(t===e&&t.length&&t[0].offset===r);o.reverse().forEach(s)}else"start"===t[0].event?o.push(t[0].node):o.pop(),d(t.splice(0,1)[0])}return i+V(n.substr(r))}(r,Ie(i),n)}};function Ae(e){return e.nodeName.toLowerCase()}function Ie(e){const t=[];return function e(n,r){for(let i=n.firstChild;i;i=i.nextSibling)3===i.nodeType?r+=i.nodeValue.length:1===i.nodeType&&(t.push({event:"start",offset:r,node:i}),r=e(i,r),Ae(i).match(/br|hr|img|input/)||t.push({event:"stop",offset:r,node:i}));return r}(e,0),t}const qe={},He=e=>{console.error(e)},De=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Pe=(e,t)=>{qe[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),qe[`${e}/${t}`]=!0)},Be=V,Ue=Z,Fe=Symbol("nomatch");var ze=function(e){const t=Object.create(null),n=Object.create(null),r=[];let i=!0;const o=/(^(<[^>]+>|\t|)+|\n)/gm,a="Could not find the language '{}', did you forget to load/include a language module?",s={disableAutodetect:!0,name:"Plain text",contains:[]};let l={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:Y};function d(e){return l.noHighlightRe.test(e)}function u(e,t,n,r){let i="",o="";"object"==typeof t?(i=e,n=t.ignoreIllegals,o=t.language,r=void 0):(Pe("10.7.0","highlight(lang, code, ...args) has been deprecated."),Pe("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),o=e,i=t);const a={code:i,language:o};w("before:highlight",a);const s=a.result?a.result:c(a.language,a.code,n,r);return s.code=a.code,w("after:highlight",s),s}function c(e,n,o,s){function d(e,t){const n=v.case_insensitive?t[0].toLowerCase():t[0];return Object.prototype.hasOwnProperty.call(e.keywords,n)&&e.keywords[n]}function u(){null!=E.subLanguage?function(){if(""===k)return;let e=null;if("string"==typeof E.subLanguage){if(!t[E.subLanguage])return void j.addText(k);e=c(E.subLanguage,k,!0,S[E.subLanguage]),S[E.subLanguage]=e.top}else e=m(k,E.subLanguage.length?E.subLanguage:null);E.relevance>0&&(C+=e.relevance),j.addSublanguage(e.emitter,e.language)}():function(){if(!E.keywords)return void j.addText(k);let e=0;E.keywordPatternRe.lastIndex=0;let t=E.keywordPatternRe.exec(k),n="";for(;t;){n+=k.substring(e,t.index);const r=d(E,t);if(r){const[e,i]=r;if(j.addText(n),n="",C+=i,e.startsWith("_"))n+=t[0];else{const n=v.classNameAliases[e]||e;j.addKeyword(t[0],n)}}else n+=t[0];e=E.keywordPatternRe.lastIndex,t=E.keywordPatternRe.exec(k)}n+=k.substr(e),j.addText(n)}(),k=""}function f(e){return e.className&&j.openNode(v.classNameAliases[e.className]||e.className),E=Object.create(e,{parent:{value:E}}),E}function h(e,t,n){let r=function(e,t){const n=e&&e.exec(t);return n&&0===n.index}(e.endRe,n);if(r){if(e["on:end"]){const n=new W(e);e["on:end"](t,n),n.isMatchIgnored&&(r=!1)}if(r){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return h(e.parent,t,n)}function g(e){return 0===E.matcher.regexIndex?(k+=e[0],1):(M=!0,0)}function p(e){const t=e[0],n=e.rule,r=new W(n),i=[n.__beforeBegin,n["on:begin"]];for(const n of i)if(n&&(n(e,r),r.isMatchIgnored))return g(t);return n&&n.endSameAsBegin&&(n.endRe=new RegExp(t.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")),n.skip?k+=t:(n.excludeBegin&&(k+=t),u(),n.returnBegin||n.excludeBegin||(k=t)),f(n),n.returnBegin?0:t.length}function y(e){const t=e[0],r=n.substr(e.index),i=h(E,e,r);if(!i)return Fe;const o=E;o.skip?k+=t:(o.returnEnd||o.excludeEnd||(k+=t),u(),o.excludeEnd&&(k=t));do{E.className&&j.closeNode(),E.skip||E.subLanguage||(C+=E.relevance),E=E.parent}while(E!==i.parent);return i.starts&&(i.endSameAsBegin&&(i.starts.endRe=i.endRe),f(i.starts)),o.returnEnd?0:t.length}let _={};function b(t,r){const a=r&&r[0];if(k+=t,null==a)return u(),0;if("begin"===_.type&&"end"===r.type&&_.index===r.index&&""===a){if(k+=n.slice(r.index,r.index+1),!i){const t=new Error("0 width match regex");throw t.languageName=e,t.badRule=_.rule,t}return 1}if(_=r,"begin"===r.type)return p(r);if("illegal"===r.type&&!o){const e=new Error('Illegal lexeme "'+a+'" for mode "'+(E.className||"<unnamed>")+'"');throw e.mode=E,e}if("end"===r.type){const e=y(r);if(e!==Fe)return e}if("illegal"===r.type&&""===a)return 1;if(N>1e5&&N>3*r.index){throw new Error("potential infinite loop, way more iterations than matches")}return k+=a,a.length}const v=x(e);if(!v)throw He(a.replace("{}",e)),new Error('Unknown language: "'+e+'"');const $=Me(v,{plugins:r});let w="",E=s||$;const S={},j=new l.__emitter(l);!function(){const e=[];for(let t=E;t!==v;t=t.parent)t.className&&e.unshift(t.className);e.forEach((e=>j.openNode(e)))}();let k="",C=0,L=0,N=0,M=!1;try{for(E.matcher.considerAll();;){N++,M?M=!1:E.matcher.considerAll(),E.matcher.lastIndex=L;const e=E.matcher.exec(n);if(!e)break;const t=b(n.substring(L,e.index),e);L=e.index+t}return b(n.substr(L)),j.closeAllNodes(),j.finalize(),w=j.toHTML(),{relevance:Math.floor(C),value:w,language:e,illegal:!1,emitter:j,top:E}}catch(t){if(t.message&&t.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:t.message,context:n.slice(L-100,L+100),mode:t.mode},sofar:w,relevance:0,value:Be(n),emitter:j};if(i)return{illegal:!1,relevance:0,value:Be(n),emitter:j,language:e,top:E,errorRaised:t};throw t}}function m(e,n){n=n||l.languages||Object.keys(t);const r=function(e){const t={relevance:0,emitter:new l.__emitter(l),value:Be(e),illegal:!1,top:s};return t.emitter.addText(e),t}(e),i=n.filter(x).filter($).map((t=>c(t,e,!1)));i.unshift(r);const o=i.sort(((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(x(e.language).supersetOf===t.language)return 1;if(x(t.language).supersetOf===e.language)return-1}return 0})),[a,d]=o,u=a;return u.second_best=d,u}const f={"before:highlightElement":({el:e})=>{l.useBR&&(e.innerHTML=e.innerHTML.replace(/\n/g,"").replace(/<br[ /]*>/g,"\n"))},"after:highlightElement":({result:e})=>{l.useBR&&(e.value=e.value.replace(/\n/g,"<br>"))}},h=/^(<[^>]+>|\t)+/gm,g={"after:highlightElement":({result:e})=>{l.tabReplace&&(e.value=e.value.replace(h,(e=>e.replace(/\t/g,l.tabReplace))))}};function p(e){let t=null;const r=function(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const n=l.languageDetectRe.exec(t);if(n){const t=x(n[1]);return t||(De(a.replace("{}",n[1])),De("Falling back to no-highlight mode for this block.",e)),t?n[1]:"no-highlight"}return t.split(/\s+/).find((e=>d(e)||x(e)))}(e);if(d(r))return;w("before:highlightElement",{el:e,language:r}),t=e;const i=t.textContent,o=r?u(i,{language:r,ignoreIllegals:!0}):m(i);w("after:highlightElement",{el:e,result:o,text:i}),e.innerHTML=o.value,function(e,t,r){const i=t?n[t]:r;e.classList.add("hljs"),i&&e.classList.add(i)}(e,r,o.language),e.result={language:o.language,re:o.relevance,relavance:o.relevance},o.second_best&&(e.second_best={language:o.second_best.language,re:o.second_best.relevance,relavance:o.second_best.relevance})}const y=()=>{if(y.called)return;y.called=!0,Pe("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead.");document.querySelectorAll("pre code").forEach(p)};let _=!1;function b(){if("loading"===document.readyState)return void(_=!0);document.querySelectorAll("pre code").forEach(p)}function x(e){return e=(e||"").toLowerCase(),t[e]||t[n[e]]}function v(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach((e=>{n[e.toLowerCase()]=t}))}function $(e){const t=x(e);return t&&!t.disableAutodetect}function w(e,t){const n=e;r.forEach((function(e){e[n]&&e[n](t)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function(){_&&b()}),!1),Object.assign(e,{highlight:u,highlightAuto:m,highlightAll:b,fixMarkup:function(e){return Pe("10.2.0","fixMarkup will be removed entirely in v11.0"),Pe("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),function(e){return l.tabReplace||l.useBR?e.replace(o,(e=>"\n"===e?l.useBR?"<br>":e:l.tabReplace?e.replace(/\t/g,l.tabReplace):e)):e}(e)},highlightElement:p,highlightBlock:function(e){return Pe("10.7.0","highlightBlock will be removed entirely in v12.0"),Pe("10.7.0","Please use highlightElement now."),p(e)},configure:function(e){e.useBR&&(Pe("10.3.0","'useBR' will be removed entirely in v11.0"),Pe("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")),l=Ue(l,e)},initHighlighting:y,initHighlightingOnLoad:function(){Pe("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),_=!0},registerLanguage:function(n,r){let o=null;try{o=r(e)}catch(e){if(He("Language definition for '{}' could not be registered.".replace("{}",n)),!i)throw e;He(e),o=s}o.name||(o.name=n),t[n]=o,o.rawDefinition=r.bind(null,e),o.aliases&&v(o.aliases,{languageName:n})},unregisterLanguage:function(e){delete t[e];for(const t of Object.keys(n))n[t]===e&&delete n[t]},listLanguages:function(){return Object.keys(t)},getLanguage:x,registerAliases:v,requireLanguage:function(e){Pe("10.4.0","requireLanguage will be removed entirely in v11."),Pe("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const t=x(e);if(t)return t;throw new Error("The '{}' language is required, but not loaded.".replace("{}",e))},autoDetection:$,inherit:Ue,addPlugin:function(e){!function(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}(e),r.push(e)},vuePlugin:Oe(e).VuePlugin}),e.debugMode=function(){i=!1},e.safeMode=function(){i=!0},e.versionString="10.7.3";for(const e in ve)"object"==typeof ve[e]&&F(ve[e]);return Object.assign(e,ve),e.addPlugin(f),e.addPlugin(Te),e.addPlugin(g),e}({}),We=ze;let Ve,Ze,Ge,Ke,Xe,Ye,Je,Qe,et,tt,nt=e=>e;const rt=d(l(t,"experimental-add-to-cart-builder"));function it(e,t){if(t){if(f(e)!==e)throw new Error("error_html_entities_present");if(e.includes('"'))throw new Error("error_double_quotes_present")}return e.replace(/"/g,"&quot;")}We.registerLanguage("xml",B);class ot extends rt{constructor(){var e;super(...arguments),e=this,this.defaultDomain=null,this.encodeHelper=null,this.localeCodes=null,this.store=null,this.__signingSeparator=`--${Date.now()}${(1e5*Math.random()).toFixed(0)}--`,this.__emptyOptions=[{label:"option_false",value:"false"},{label:"option_true",value:"true"},{label:"option_reset",value:"reset"}],this.__cartOptions=[{label:"option_add",value:"add"},{label:"option_checkout",value:"checkout"},{label:"option_redirect",value:"redirect"}],this.__signAsync=u((async function(t,n){if(t===e.__previousUnsignedCode&&e.__previousSignedCode)return;const r=()=>t!==e.__previousUnsignedCode;e.__signingState="busy";try{const i=await new ot.API(e).fetch(n,{headers:{"Content-Type":"text/plain"},method:"POST",body:t});if(!r())if(i.ok){const t=(await i.json()).result;r()||(e.__signingState="idle",e.__previousSignedCode=t.replace(/value="--OPEN--" data-replace/gi,"value"))}else e.__signingState="fail"}catch(t){r()||(e.__signingState="fail")}}),500),this.__previousUnsignedCode="",this.__previousSignedCode="",this.__signingState="idle",this.__openState=[]}static get properties(){return a(a({},super.properties),{},{defaultDomain:{attribute:"default-domain"},encodeHelper:{attribute:"encode-helper"},localeCodes:{attribute:"locale-codes"},store:{},__previousUnsignedCode:{attribute:!1},__previousSignedCode:{attribute:!1},__signingState:{attribute:!1},__openState:{attribute:!1}})}get hiddenSelector(){const e=[super.hiddenSelector.toString()];return e.unshift("header:copy-id","header:copy-json","undo"),new s(e.join(" ").trim())}renderBody(){var t,n,r,a,s,l,d,u,m,f,g,p,y,_,b;const x=this.__getAddToCartCode(),v=null!==(r=null!==(n=null===(t=this.data)||void 0===t?void 0:t._links["fx:store"].href)&&void 0!==n?n:this.store)&&void 0!==r?r:void 0,$=null===(a=this.__storeLoader)||void 0===a?void 0:a.data,w=null!==(l=null===(s=x.formHTMLError)||void 0===s?void 0:s.split("_")[0])&&void 0!==l?l:"paused";return i(Ve||(Ve=nt` <div class="grid gap-m items-start sm-grid-cols-2 md-grid-cols-3 h-full overflow-auto"> <foxy-internal-summary-control layout="section" class="space-y-s" infer="items"> ${0} <vaadin-button class="w-full" theme="success" ?disabled="${0}" @click="${0}"> <foxy-i18n infer="add-product" key="caption"></foxy-i18n> </vaadin-button> </foxy-internal-summary-control> <div class="space-y-m md-col-span-2 sticky top-0"> <foxy-internal-summary-control infer="preview"> ${0} </foxy-internal-summary-control> <foxy-internal-summary-control infer="link"> ${0} </foxy-internal-summary-control> ${0} <foxy-internal-summary-control infer="cart-settings"> <foxy-internal-resource-picker-control layout="summary-item" first="${0}" infer="template-set-uri" item="foxy-template-set-card"> </foxy-internal-resource-picker-control> <foxy-internal-select-control layout="summary-item" infer="empty" .options="${0}"> </foxy-internal-select-control> <foxy-internal-select-control layout="summary-item" infer="cart" .options="${0}"> </foxy-internal-select-control> ${0} <foxy-internal-text-control layout="summary-item" infer="coupon"> </foxy-internal-text-control> </foxy-internal-summary-control> </div> </div> <foxy-nucleon class="hidden" infer="" href="${0}" id="defaultTemplateSetLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="defaultItemCategoryLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="localeCodesHelperLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="templateSetLoader" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="storeLoaderId" @update="${0}"> </foxy-nucleon> ${0} `),null===(d=this.form.items)||void 0===d?void 0:d.map(((e,t)=>{var n;return i(Ze||(Ze=nt` <foxy-internal-summary-control layout="details" label="${0}" infer="item-group" ?open="${0}" @toggle="${0}"> <foxy-internal-experimental-add-to-cart-builder-item-control item-categories="${0}" currency-code="${0}" store="${0}" index="${0}" infer="item" ?use-cart-validation="${0}" .defaultItemCategory="${0}" @remove="${0}"> </foxy-internal-experimental-add-to-cart-builder-item-control> </foxy-internal-summary-control> `),c(e.name.trim()||void 0),c(this.__openState[t]),(e=>{const n=e.currentTarget;this.__openState[t]=n.open,this.__openState=[...this.__openState]}),c(null==$?void 0:$._links["fx:item_categories"].href),c(null!==(n=this.__resolvedCurrencyCode)&&void 0!==n?n:void 0),c(v),t,c(null==$?void 0:$.use_cart_validation),this.__defaultItemCategory,(()=>{var e;const n=null===(e=this.form.items)||void 0===e?void 0:e.filter(((e,n)=>n!==t));this.edit({items:n}),this.__openState=this.__openState.filter(((e,n)=>n!==t))}))})),this.disabled,(()=>{var e;const t=null!==(e=this.form.items)&&void 0!==e?e:[];this.edit({items:[...t,{name:"",price:0,custom_options:[],sub_frequency:"1m"}]}),this.__openState=[...new Array(t.length).fill(!1),!0]}),x.formHTMLError?i(Ge||(Ge=nt` <div class="flex flex-col gap-xs items-center justify-center p-xl"> <foxy-spinner layout="no-label" infer="unavailable" state="${0}"> </foxy-spinner> <foxy-i18n class="${0} text-s" infer="unavailable" key="${0}"> </foxy-i18n> </div> `),w,"error"===w?"text-error":"text-tertiary",x.formHTMLError):i(Ke||(Ke=nt` <div class="flex"> <iframe srcdoc="${0}${0}" style="margin:calc(-1 * (.625em + (var(--lumo-border-radius)/ 4) - 1px))" class="${0}" @load="${0}"> </iframe> </div> <div class="flex leading-s text-s min-w-0 relative" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> <div style="font-family:monospace;max-height:calc(8 * (1em * var(--lumo-line-height-s)))" class="${0}"> <code class="whitespace-pre">${0}</code> </div> <div style="top:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px);right:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" class="${0}"> <div class="bg-contrast-10 rounded-s"> <foxy-spinner infer="spinner" class="-mx-xs" style="transform:scale(.8)"> </foxy-spinner> </div> </div> <foxy-copy-to-clipboard infer="copy-to-clipboard" text="${0}" class="${0}"> </foxy-copy-to-clipboard> </div> <div class="flex items-start text-xs leading-xs text-secondary" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> ${0} <p> <foxy-i18n infer="" key="edits_tip"></foxy-i18n> <a target="_blank" class="rounded font-medium underline transition-colors cursor-pointer hover-opacity-80 focus-outline-none focus-ring-2 focus-ring-primary-50" href="https://wiki.foxycart.com/v/2.0/products"> <foxy-i18n infer="" key="edits_docs"></foxy-i18n> </a> </p> </div> `),'\n <style>\n html {\n line-height: 1.15;\n -webkit-text-size-adjust: 100%;\n }\n\n body {\n margin: 0;\n }\n\n button,\n input,\n optgroup,\n select,\n textarea {\n font-family: inherit;\n font-size: 100%;\n line-height: 1.15;\n margin: 0;\n }\n\n button,\n input {\n overflow: visible;\n }\n\n button,\n select {\n text-transform: none;\n }\n\n button,\n [type="button"],\n [type="reset"],\n [type="submit"] {\n -webkit-appearance: button;\n }\n\n button::-moz-focus-inner,\n [type="button"]::-moz-focus-inner,\n [type="reset"]::-moz-focus-inner,\n [type="submit"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n }\n\n button:-moz-focusring,\n [type="button"]:-moz-focusring,\n [type="reset"]:-moz-focusring,\n [type="submit"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n }\n\n fieldset {\n padding: 0.35em 0.75em 0.625em;\n }\n\n legend {\n box-sizing: border-box;\n color: inherit;\n display: table;\n max-width: 100%;\n padding: 0;\n white-space: normal;\n }\n\n textarea {\n overflow: auto;\n }\n\n [type="checkbox"],\n [type="radio"] {\n box-sizing: border-box;\n padding: 0;\n }\n\n [type="number"]::-webkit-inner-spin-button,\n [type="number"]::-webkit-outer-spin-button {\n height: auto;\n }\n\n [type="search"] {\n -webkit-appearance: textfield;\n outline-offset: -2px;\n }\n\n [type="search"]::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n\n ::-webkit-file-upload-button {\n -webkit-appearance: button;\n font: inherit;\n }\n\n [hidden] {\n display: none;\n }\n\n html {\n color-scheme: light dark !important;\n }\n\n body {\n display: flex;\n padding: 2rem;\n }\n\n form {\n flex: 1;\n max-width: 20rem;\n font: normal 0.875rem system-ui;\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 0.5rem;\n align-items: center;\n margin: auto;\n }\n\n form:has(fieldset) {\n grid-gap: 1rem;\n }\n\n fieldset {\n display: grid;\n grid-template-columns: auto 1fr;\n grid-gap: 0.5rem;\n grid-column: 1 / span 2;\n align-items: center;\n margin: 0;\n }\n\n legend {\n white-space: nowrap;\n }\n\n button {\n grid-column: 1 / span 2;\n margin-top: 0.5rem;\n }\n\n form:has(fieldset) button {\n margin-top: 0;\n }\n\n label {\n display: contents;\n }\n </style>\n',x.formHTML,h({"flex-1 transition-all filter":!0,"blur-sm":"idle"!==this.__signingState}),(e=>{var t;const n=e.currentTarget,r=null===(t=n.contentWindow)||void 0===t?void 0:t.document.documentElement;r&&(n.style.height=r.scrollHeight+"px")}),h({"break-all overflow-auto flex-1 min-w-0 transition-all filter":!0,"blur-sm":"idle"!==this.__signingState}),e(We.highlight(x.formHTML,{language:"xml"}).value),h({"absolute right-0 bg-base rounded-s transition-opacity":!0,"opacity-0 pointer-events-none":"busy"!==this.__signingState}),x.formHTML,h({"flex-shrink-0 text-m transition-opacity":!0,"opacity-0 pointer-events-none":"busy"===this.__signingState}),o(Xe||(Xe=nt`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor" aria-hidden="true" class="flex-shrink-0 text-contrast-70" style="width: 1.25em"><path fill-rule="evenodd" d="M15 8A7 7 0 1 1 1 8a7 7 0 0 1 14 0ZM9 5a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM6.75 8a.75.75 0 0 0 0 1.5h.75v1.75a.75.75 0 0 0 1.5 0v-2.5A.75.75 0 0 0 8.25 8h-1.5Z" clip-rule="evenodd" /></svg>`))),x.linkHrefError?i(Ye||(Ye=nt` <p class="text-tertiary"> <foxy-i18n infer="unavailable" key="${0}"> </foxy-i18n> </p> `),x.linkHrefError):i(Je||(Je=nt` <div class="flex items-center leading-s min-w-0 relative" style="gap:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)"> <foxy-i18n infer="" key="direct_link"></foxy-i18n> <a target="_blank" style="max-width:30rem" href="${0}" class="${0}"> ${0} </a> <div style="top:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px);right:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" class="${0}"> <div class="bg-contrast-10 rounded-s"> <foxy-spinner infer="spinner" state="${0}" class="-mx-xs" style="transform:scale(.8)"> </foxy-spinner> </div> </div> <foxy-copy-to-clipboard infer="copy-to-clipboard" text="${0}" class="${0}"> </foxy-copy-to-clipboard> </div> `),x.linkHref,h({"font-medium truncate ml-auto min-w-0 rounded-s":!0,"transition-all filter":!0,"hover-underline":!0,"focus-outline-none focus-ring-2 focus-ring-primary-50":!0,"blur-sm":"idle"!==this.__signingState}),x.linkHref,h({"absolute right-0 bg-base rounded-s transition-opacity":!0,"opacity-0 pointer-events-none":"busy"!==this.__signingState}),"fail"===this.__signingState?"error":"busy",x.linkHref,h({"flex-shrink-0 text-m transition-opacity":!0,"opacity-0 pointer-events-none":"busy"===this.__signingState})),this.renderTemplateOrSlot(),c(null===(m=null===(u=this.__storeLoader)||void 0===u?void 0:u.data)||void 0===m?void 0:m._links["fx:template_sets"].href),this.__emptyOptions,this.__cartOptions,"redirect"===this.form.cart?i(Qe||(Qe=nt` <foxy-internal-text-control layout="summary-item" infer="redirect"> </foxy-internal-text-control> `)):"",c(this.__defaultTemplateSetHref),(()=>this.requestUpdate()),c(this.__defaultItemCategoryHref),(()=>this.requestUpdate()),c(null!==(f=this.localeCodes)&&void 0!==f?f:void 0),(()=>this.requestUpdate()),c(null!==(g=this.form.template_set_uri)&&void 0!==g?g:void 0),(()=>this.requestUpdate()),c(null!==(_=null!==(y=null===(p=this.data)||void 0===p?void 0:p._links["fx:store"].href)&&void 0!==y?y:this.store)&&void 0!==_?_:void 0),(()=>this.requestUpdate()),null===(b=this.form.items)||void 0===b?void 0:b.map(((e,t)=>{var n;return i(et||(et=nt` <foxy-nucleon class="hidden" infer="" href="${0}" id="itemCategoryLoaderProduct${0}" @update="${0}"> </foxy-nucleon> ${0} `),c(null!==(n=e.item_category_uri)&&void 0!==n?n:void 0),t,(()=>this.requestUpdate()),e.custom_options.map(((e,n)=>{var r;return i(tt||(tt=nt` <foxy-nucleon class="hidden" infer="" href="${0}" id="itemCategoryLoaderProduct${0}Option${0}" @update="${0}"> </foxy-nucleon> `),c(null!==(r=e.item_category_uri)&&void 0!==r?r:void 0),t,n,(()=>this.requestUpdate()))})))})))}updated(e){var t,n;super.updated(e),this.in("idle")&&!(null===(t=this.form.items)||void 0===t?void 0:t.length)&&(this.edit({items:[{name:"",price:0,sub_frequency:"1m",custom_options:[]}]}),this.__openState=[!0]),(null===(n=this.form.items)||void 0===n?void 0:n.length)&&!this.__openState.length&&(this.__openState=[!0,...new Array(this.form.items.length-1).fill(!1)])}submit(){}get __defaultTemplateSetHref(){var e,t,n;try{const r=new URL(null!==(n=null===(t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data)||void 0===t?void 0:t._links["fx:template_sets"].href)&&void 0!==n?n:"");return r.searchParams.set("code","DEFAULT"),r.toString()}catch(e){return}}get __defaultItemCategoryHref(){var e,t,n;try{const r=new URL(null!==(n=null===(t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data)||void 0===t?void 0:t._links["fx:item_categories"].href)&&void 0!==n?n:"");return r.searchParams.set("code","DEFAULT"),r.toString()}catch(e){return}}get __resolvedCurrencyCode(){var e,t,n,r;const i=this.renderRoot.querySelector("#localeCodesHelperLoader"),o=null===(e=this.__resolvedTemplateSet)||void 0===e?void 0:e.locale_code,a=null===(t=null==i?void 0:i.data)||void 0===t?void 0:t.values,s=o?null==a?void 0:a[o]:void 0;return s?null===(r=null===(n=/Currency: ([A-Z]{3})/g.exec(s))||void 0===n?void 0:n[1])||void 0===r?void 0:r.toUpperCase():void 0}get __resolvedTemplateSet(){var e,t,n,r;const i=e=>this.renderRoot.querySelector(e);return null!==(t=null===(e=i("#templateSetLoader"))||void 0===e?void 0:e.data)&&void 0!==t?t:null===(r=null===(n=i("#defaultTemplateSetLoader"))||void 0===n?void 0:n.data)||void 0===r?void 0:r._embedded["fx:template_sets"][0]}get __defaultItemCategory(){var e,t;return null===(t=null===(e=this.renderRoot.querySelector("#defaultItemCategoryLoader"))||void 0===e?void 0:e.data)||void 0===t?void 0:t._embedded["fx:item_categories"][0]}get __resolvedCartUrl(){var e;const t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(t){if(t.use_remote_domain)return`https://${t.store_domain}/cart`;if(null!==this.defaultDomain)return`https://${t.store_domain}.${this.defaultDomain}/cart`}return null}get __storeLoader(){return this.renderRoot.querySelector("#storeLoaderId")}__getItemCategoryLoader(e,t){const n=`#itemCategoryLoaderProduct${e}`,r="number"==typeof t?`${n}Option${t}`:n;return this.renderRoot.querySelector(r)}__getAddToCartFormHTML(){var e,t,n,r,i,o,a,s,l;const d=this.__resolvedCurrencyCode,u=this.__resolvedTemplateSet,c=this.__resolvedCartUrl,f=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!(this.defaultDomain&&u&&f&&d&&c))throw new Error("loading_extra_data_needed");const h=f.use_cart_validation;let g=!1,p=`<form action="${it(c,h)}" method="post" target="_blank">`,y=1;const _=()=>`\n${" ".repeat(2*y)}`,b=(e,t)=>{const n=it(t,h),r=it(e,h);p+=`${_()}<input type="hidden" name="${r}" value="${n}">`};"DEFAULT"!==u.code&&b("template_set",u.code),this.form.empty&&"false"!==this.form.empty&&b("empty",this.form.empty),"checkout"===this.form.cart&&b("cart","checkout"),this.form.redirect&&b("redirect",this.form.redirect),this.form.coupon&&b("coupon",this.form.coupon);const x=null!==(t=this.form.items)&&void 0!==t?t:[],v=x.length>1;for(let e=0;e<x.length;++e){const t=this.__getItemCategoryLoader(e),u=null==t?void 0:t.data,c=x[e];if(c.item_category_uri&&!u)throw new Error("loading_extra_data_needed");const $=Math.max(1,null!==(n=c.quantity_min)&&void 0!==n?n:1),w=Math.max($,null!==(r=c.quantity_max)&&void 0!==r?r:1/0),E=$!==w&&"minutes"!==c.expires_format&&!c.hide_quantity,S=c.price_configurable,j=c.custom_options.some(((e,t,n)=>e.value_configurable||n.findIndex((t=>t.name===e.name))!==t)),k=c.name.trim()||this.t("items.item-group.item.basics-group.name.placeholder"),C=g||v&&(S||E||j);C&&(g=!0,p+=`${_()}<fieldset>`,y++,p+=`${_()}<legend>${m(k)}</legend>`);const L=0===e?"":`${e+1}:`;b(`${L}name`,k);const N=`${c.price}${d}`;if(c.price_configurable){const e=it(c.price.toFixed(2),h);p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(this.t("preview.price_label"))}</span>`,f.use_cart_validation?p+=`${_()}<input required name="${L}price" value="--OPEN--" data-replace="${e}">`:p+=`${_()}<input required name="${L}price" value="${e}">`,y--,p+=`${_()}</label>`}else b(`${L}price`,N);if(u&&"DEFAULT"!==u.code&&b(`${L}category`,u.code),c.code)b(`${L}code`,c.code);else if(f.use_cart_validation)throw new Error("paused_code_required");if(c.parent_code&&b(`${L}parent_code`,c.parent_code),c.image&&(b(`${L}image`,c.image),c.url&&b(`${L}url`,c.url)),c.sub_enabled&&c.sub_frequency){if(b(`${L}sub_frequency`,c.sub_frequency),c.sub_startdate)if("yyyymmdd"===c.sub_startdate_format){const e=new Date(c.sub_startdate);b(`${L}sub_startdate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else b(`${L}sub_startdate`,String(c.sub_startdate));if(c.sub_enddate)if("yyyymmdd"===c.sub_enddate_format){const e=new Date(c.sub_enddate);b(`${L}sub_enddate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else b(`${L}sub_enddate`,String(c.sub_enddate))}if(c.discount_name&&c.discount_type&&c.discount_details&&b(`${L}discount_${c.discount_type}`,`${c.discount_name}{${c.discount_details}}`),c.expires_value&&(c.expires_format,b(`${L}expires`,c.expires_value.toFixed(0))),E){p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(this.t("preview.quantity_label"))}</span>`;const e=it(`${L}quantity`,h);if(p+=`${_()}<input type="number" name="${e}"`,p+=` min="${it(String($),h)}"`,w!==1/0&&(p+=` max="${it(String(w),h)}"`),f.use_cart_validation){const e=it(String(null!==(i=c.quantity)&&void 0!==i?i:1),h);p+=` value="--OPEN--" data-replace="${e}">`}else p+=` value="${it(String(null!==(o=c.quantity)&&void 0!==o?o:1),h)}">`;y--,p+=`${_()}</label>`}else(null!==(a=c.quantity)&&void 0!==a?a:1)>1&&b(`${L}quantity`,(null!==(s=c.quantity)&&void 0!==s?s:1).toString());"minutes"!==c.expires_format&&(1!==$&&b(`${L}quantity_min`,$.toFixed(0)),w!==1/0&&b(`${L}quantity_max`,w.toFixed(0))),c.length&&b(`${L}length`,c.length.toFixed(3)),c.width&&b(`${L}width`,c.width.toFixed(3)),c.height&&b(`${L}height`,c.height.toFixed(3)),c.weight&&b(`${L}weight`,c.weight.toFixed(3)),f.features_multiship&&(p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(this.t("preview.shipto_label"))}</span>`,f.use_cart_validation?p+=`${_()}<input name="${L}shipto" value="--OPEN--" data-replace="">`:p+=`${_()}<input name="${L}shipto" value="">`,y--,p+=`${_()}</label>`);const M=c.custom_options.reduce(((e,t)=>(e[t.name]||(e[t.name]=[]),e[t.name].push(t),e)),{});for(const t in M){const n=M[t];if(1===n.length){const r=c.custom_options.indexOf(n[0]),i=null===(l=this.__getItemCategoryLoader(e,r))||void 0===l?void 0:l.data,o=this.__getOptionModifiers(n[0],null!=i?i:null,d),a=`${n[0].value}${o}`,s=`${L}${t}`;n[0].value_configurable?(p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(t)}:</span>`,p+=`${_()}<input name="${it(s,h)}" `,f.use_cart_validation?p+=`value="--OPEN--" data-replace="${it(a,h)}">`:p+=`value="${it(a,h)}">`,y--,p+=`${_()}</label>`):b(s,a)}else p+=`${_()}<label>`,y++,p+=`${_()}<span>${m(t)}:</span>`,p+=`${_()}<select name="${L}${t}">`,y++,n.forEach((t=>{var n,r;const i=c.custom_options.indexOf(t),o=null===(n=this.__getItemCategoryLoader(e,i))||void 0===n?void 0:n.data,a=this.__getOptionModifiers(t,null!=o?o:null,d),s=it(`${t.value}${a}`,h),l=m(null!==(r=t.value)&&void 0!==r?r:"");p+=`${_()}<option value="${s}">${l}</option>`})),y--,p+=`${_()}</select>`,y--,p+=`${_()}</label>`}C&&(y--,p+=`${_()}</fieldset>`)}const $="checkout"===this.form.cart?"checkout":"cart",w=m(this.t(`preview.submit_caption_${$}`));return p+=`${_()}<button type="submit">${w}</button>`,y--,p+=`${_()}</form>`,p}__getAddToCartLinkHref(){var e,t,n,r,i,o,a,s;const l=this.__resolvedCurrencyCode,d=this.__resolvedTemplateSet,u=this.__resolvedCartUrl,c=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!(this.defaultDomain&&d&&c&&l&&u))throw new Error("loading_extra_data_needed");const m=new Map,f=(e,t)=>{if(c.use_cart_validation){if(["&","%","=","#"].some((t=>e.includes(t))))throw new Error("error_special_characters_present");m.set(e,encodeURIComponent(t))}else m.set(encodeURIComponent(e),encodeURIComponent(t))};"DEFAULT"!==d.code&&f("template_set",d.code),"checkout"===this.form.cart&&f("cart","checkout"),this.form.redirect&&f("redirect",this.form.redirect),this.form.coupon&&f("coupon",this.form.coupon),this.form.empty&&"false"!==this.form.empty&&f("empty",this.form.empty);for(let e=0;e<(null!==(n=null===(t=this.form.items)||void 0===t?void 0:t.length)&&void 0!==n?n:0);++e){const t=this.form.items[e],n=0===e?"":`${e+1}:`,d=null===(r=this.__getItemCategoryLoader(e))||void 0===r?void 0:r.data;if(t.item_category_uri&&!d)throw new Error("loading_extra_data_needed");if(t.price_configurable)throw new Error("error_price_configurable");if(new Set(t.custom_options.map((e=>e.name))).size<t.custom_options.length)throw new Error("error_duplicate_custom_option_names");if(d&&"DEFAULT"!==d.code&&f(`${n}category`,d.code),f(`${n}name`,t.name),f(`${n}price`,`${t.price}${l}`),t.code)f(`${n}code`,t.code);else if(c.use_cart_validation)throw new Error("paused_code_required");if(t.parent_code&&f(`${n}parent_code`,t.parent_code),t.image&&(f(`${n}image`,t.image),t.url&&f(`${n}url`,t.url)),t.sub_enabled&&t.sub_frequency){if(f(`${n}sub_frequency`,t.sub_frequency),t.sub_startdate)if("yyyymmdd"===t.sub_startdate_format){const e=new Date(t.sub_startdate);f(`${n}sub_startdate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else f(`${n}sub_startdate`,String(t.sub_startdate));if(t.sub_enddate)if("yyyymmdd"===t.sub_enddate_format){const e=new Date(t.sub_enddate);f(`${n}sub_enddate`,`${e.getFullYear()}${(e.getMonth()+1).toString().padStart(2,"0")}${e.getDate().toString().padStart(2,"0")}`)}else f(`${n}sub_enddate`,String(t.sub_enddate))}t.discount_name&&t.discount_type&&t.discount_details&&f(`${n}discount_${t.discount_type}`,`${t.discount_name}{${t.discount_details}}`),t.expires_value&&(t.expires_format,f(`${n}expires`,t.expires_value.toFixed(0))),(null!==(i=t.quantity)&&void 0!==i?i:1)>1&&f(`${n}quantity`,(null!==(o=t.quantity)&&void 0!==o?o:1).toFixed(0)),"minutes"!==t.expires_format&&(t.quantity_min&&f(`${n}quantity_min`,t.quantity_min.toString()),t.quantity_max&&f(`${n}quantity_max`,t.quantity_max.toString())),t.weight&&f(`${n}weight`,t.weight.toFixed(3)),t.length&&f(`${n}length`,t.length.toFixed(3)),t.width&&f(`${n}width`,t.width.toFixed(3)),t.height&&f(`${n}height`,t.height.toFixed(3));for(let r=0;r<t.custom_options.length;++r){const i=t.custom_options[r];if(i.value_configurable)throw new Error("error_option_value_configurable");const o=null===(a=this.__getItemCategoryLoader(e,r))||void 0===a?void 0:a.data,d=this.__getOptionModifiers(i,null!=o?o:null,l);f(`${n}${i.name}`,`${null!==(s=i.value)&&void 0!==s?s:""}${d}`)}}return`${u}?${Array.from(m.entries()).map((([e,t])=>`${e}=${t}`)).join("&")}`}__getAddToCartCode(){var e;const t=null===(e=this.__storeLoader)||void 0===e?void 0:e.data;if(!this.encodeHelper||!t)return{linkHref:"",linkHrefError:"loading_extra_data_needed",formHTML:"",formHTMLError:"loading_extra_data_needed"};const n=t.use_cart_validation;let r=null,i=null,o="",a="";try{o=this.__getAddToCartFormHTML()}catch(e){r=e.message}let s=o;try{if(a=this.__getAddToCartLinkHref(),a){const e=`<a href="${it(a,n)}">Add to cart</a>`;s=`${o}${this.__signingSeparator}${e}`}}catch(e){i=e.message,a=""}if(s===this.__previousUnsignedCode&&this.__previousSignedCode){const[e,t]=this.__previousSignedCode.split(this.__signingSeparator);return{linkHref:t?f(t.substring(9,t.length-17)):"",linkHrefError:i,formHTML:e,formHTMLError:r}}return this.__previousUnsignedCode=s,this.__previousSignedCode="",t.use_cart_validation&&this.__signAsync(s,this.encodeHelper),{formHTML:o,formHTMLError:r,linkHref:a,linkHrefError:i}}__getOptionModifiers(e,t,n){if(e.value_configurable)return"";const r=[];if(e.price){const t=e.replace_price?":":-1===Math.sign(e.price)?"-":"+";(e.replace_price||0!==e.price)&&r.push(`p${t}${Math.abs(e.price)}${n}`)}if(e.weight){const t=e.replace_weight?":":-1===Math.sign(e.weight)?"-":"+";(e.replace_weight||0!==e.weight)&&r.push(`w${t}${Math.abs(e.weight)}`)}if(e.item_category_uri&&!t)return"";if(t&&r.push(`y:${t.code}`),e.code){const t=e.replace_code?":":"+";(e.replace_code||""!==e.code)&&r.push(`c${t}${e.code}`)}return r.length?`{${r.join("|")}}`:""}}customElements.define("foxy-experimental-add-to-cart-builder",ot);export{ot as ExperimentalAddToCartBuilder};
@@ -1 +1 @@
1
- import"./shared-1d6ed748.js";import"./shared-a1cfe9d5.js";import"./shared-c1b71162.js";import"./shared-5212ef4f.js";import"./foxy-spinner.js";import"./shared-64210e53.js";import{_ as s}from"./shared-7fec42f2.js";import{h as t}from"./shared-ba5c42c7.js";import{C as e}from"./shared-c782b9fa.js";import{N as i}from"./shared-69074dae.js";import{R as n,T as a,a as r}from"./shared-387d7254.js";import{c as o}from"./shared-4e709717.js";import{p as d}from"./shared-47269bb6.js";import{a as m,g as l}from"./shared-ada5e9f5.js";import"./shared-3bc9eaf7.js";import"./shared-46efbc40.js";import"./shared-a6cf5b1f.js";import"./shared-ed24a3f9.js";import"./shared-3db3f3c3.js";import"./shared-0ea750af.js";import"./shared-53e42a77.js";import"./shared-65b2760f.js";import"./shared-cd96ff03.js";import"./shared-37869bac.js";import"./shared-d6a0954b.js";import"./shared-1da47f50.js";import"./shared-e1e4d8f5.js";let c,p=s=>s;const f=e(n(a(r(i,"subscription-card"))));class h extends f{constructor(){super(...arguments),this.settings=null}static get properties(){return s(s({},super.properties),{},{settings:{type:Object}})}render(){var s,e,i,n,a;const r=this.settings?m(this.data,this.settings):l(this.data),d="failed"===r,f=(null==r?void 0:r.startsWith("next_payment"))||!!(null==r?void 0:r.startsWith("will_end")),h=!f&&!d;return t(c||(c=p` <div class="relative text-left"> <div class="${0}"> <div class="${0}"> <iron-icon class="m-auto" icon="${0}"> </iron-icon> </div> <div class="flex-1 min-w-0 leading-xs flex flex-col sm-flex-row sm-items-center"> <div class="order-1 sm-order-0"> <div class="text-body font-medium origin-top-left text-m"> <foxy-i18n data-testid="summary" options="${0}" lang="${0}" key="transaction_summary" ns="${0}"> </foxy-i18n> &#8203; </div> <div class="${0}"> <foxy-i18n data-testid="status" lang="${0}" key="status_${0}" ns="${0}" .options="${0}"> </foxy-i18n> &#8203; </div> </div> <div class="flex-1 leading-xs mb-xs sm-mb-0 sm-text-right order-0 sm-order-1"> <foxy-i18n data-testid="price" options="${0}" class="text-xxs sm-text-l font-tnum tracking-wide sm-tracking-normal uppercase sm-normal-case font-medium text-secondary sm-text-body sm-block" lang="${0}" key="price${0}" ns="${0}"> </foxy-i18n> <span class="text-secondary font-medium sm-font-normal sm-block text-xxs sm-text-s"> <span class="sm-hidden">(</span><span class="hidden sm-inline">*</span><foxy-i18n infer="" key="fees_hint"></foxy-i18n><span class="sm-hidden">)</span> <iron-icon id="hint" icon="icons:info-outline" class="icon-inline"></iron-icon> <vcf-tooltip for="hint" position="bottom"> <span class="text-s"><foxy-i18n infer="" key="fees_explainer"></foxy-i18n></span> </vcf-tooltip> <span> &#8203; </span></span></div> </div> </div> <div data-testid="spinner" class="${0}"> <foxy-spinner state="${0}" class="m-auto" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> ${0} `),o({"flex items-start sm-items-center space-x-m transition duration-150 ease-in-out":!0,"opacity-0":!this.in({idle:"snapshot"})}),o({"min-w-0 flex-shrink-0 rounded-full relative flex p-s":!0,"text-success bg-success-10":f,"text-body bg-contrast-5":h,"text-error bg-error-10":d}),d?"error-outline":f?"done":"done-all",JSON.stringify(this.__getSummaryOptions()),this.lang,this.ns,o({"text-m":!0,"text-tertiary":h,"text-success":f,"text-error":d}),this.lang,r,this.ns,this.data,JSON.stringify(this.__getPriceOptions()),this.lang,null===(e=null===(s=this.settings)||void 0===s?void 0:s.cart_display_config.show_sub_frequency)||void 0===e||e?"_"+(".5m"===(null===(i=this.data)||void 0===i?void 0:i.frequency)?"twice_a_month":"recurring"):"",this.ns,o({"pointer-events-none absolute inset-0 flex transition ease-in-out duration-150":!0,"opacity-0":this.in({idle:"snapshot"})}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",this.lang,this.ns,null!==(a=null===(n=customElements.get("foxy-spinner"))||void 0===n?void 0:n.defaultNS)&&void 0!==a?a:"",this.renderTemplateOrSlot())}__getSummaryOptions(){if(null===this.data)return{};const s=this.data._embedded["fx:transaction_template"]._embedded["fx:items"];return{count_minus_one:s.length-1,first_item:s[0],count:s.length}}__getPriceOptions(){if(null===this.data)return{};const t=this.data._embedded["fx:transaction_template"],e=`${t.total_order} ${t.currency_code}`;return s(s({},d(this.data.frequency)),{},{amount:e})}}customElements.define("foxy-subscription-card",h);export{h as SubscriptionCard};
1
+ import"./shared-1d6ed748.js";import"./shared-a1cfe9d5.js";import"./shared-c1b71162.js";import"./shared-5212ef4f.js";import"./foxy-spinner.js";import"./shared-64210e53.js";import{_ as s}from"./shared-7fec42f2.js";import{h as t}from"./shared-ba5c42c7.js";import{C as e}from"./shared-c782b9fa.js";import{N as i}from"./shared-69074dae.js";import{R as n,T as a,a as r}from"./shared-387d7254.js";import{c as o}from"./shared-4e709717.js";import{p as d}from"./shared-47269bb6.js";import{a as m,g as l}from"./shared-96e4f603.js";import"./shared-3bc9eaf7.js";import"./shared-46efbc40.js";import"./shared-a6cf5b1f.js";import"./shared-ed24a3f9.js";import"./shared-3db3f3c3.js";import"./shared-0ea750af.js";import"./shared-53e42a77.js";import"./shared-65b2760f.js";import"./shared-cd96ff03.js";import"./shared-37869bac.js";import"./shared-d6a0954b.js";import"./shared-1da47f50.js";import"./shared-e1e4d8f5.js";let c,p=s=>s;const f=e(n(a(r(i,"subscription-card"))));class h extends f{constructor(){super(...arguments),this.settings=null}static get properties(){return s(s({},super.properties),{},{settings:{type:Object}})}render(){var s,e,i,n,a;const r=this.settings?m(this.data,this.settings):l(this.data),d="failed"===r,f=(null==r?void 0:r.startsWith("next_payment"))||!!(null==r?void 0:r.startsWith("will_end")),h=!f&&!d;return t(c||(c=p` <div class="relative text-left"> <div class="${0}"> <div class="${0}"> <iron-icon class="m-auto" icon="${0}"> </iron-icon> </div> <div class="flex-1 min-w-0 leading-xs flex flex-col sm-flex-row sm-items-center"> <div class="order-1 sm-order-0"> <div class="text-body font-medium origin-top-left text-m"> <foxy-i18n data-testid="summary" options="${0}" lang="${0}" key="transaction_summary" ns="${0}"> </foxy-i18n> &#8203; </div> <div class="${0}"> <foxy-i18n data-testid="status" lang="${0}" key="status_${0}" ns="${0}" .options="${0}"> </foxy-i18n> &#8203; </div> </div> <div class="flex-1 leading-xs mb-xs sm-mb-0 sm-text-right order-0 sm-order-1"> <foxy-i18n data-testid="price" options="${0}" class="text-xxs sm-text-l font-tnum tracking-wide sm-tracking-normal uppercase sm-normal-case font-medium text-secondary sm-text-body sm-block" lang="${0}" key="price${0}" ns="${0}"> </foxy-i18n> <span class="text-secondary font-medium sm-font-normal sm-block text-xxs sm-text-s"> <span class="sm-hidden">(</span><span class="hidden sm-inline">*</span><foxy-i18n infer="" key="fees_hint"></foxy-i18n><span class="sm-hidden">)</span> <iron-icon id="hint" icon="icons:info-outline" class="icon-inline"></iron-icon> <vcf-tooltip for="hint" position="bottom"> <span class="text-s"><foxy-i18n infer="" key="fees_explainer"></foxy-i18n></span> </vcf-tooltip> <span> &#8203; </span></span></div> </div> </div> <div data-testid="spinner" class="${0}"> <foxy-spinner state="${0}" class="m-auto" lang="${0}" ns="${0} ${0}"> </foxy-spinner> </div> </div> ${0} `),o({"flex items-start sm-items-center space-x-m transition duration-150 ease-in-out":!0,"opacity-0":!this.in({idle:"snapshot"})}),o({"min-w-0 flex-shrink-0 rounded-full relative flex p-s":!0,"text-success bg-success-10":f,"text-body bg-contrast-5":h,"text-error bg-error-10":d}),d?"error-outline":f?"done":"done-all",JSON.stringify(this.__getSummaryOptions()),this.lang,this.ns,o({"text-m":!0,"text-tertiary":h,"text-success":f,"text-error":d}),this.lang,r,this.ns,this.data,JSON.stringify(this.__getPriceOptions()),this.lang,null===(e=null===(s=this.settings)||void 0===s?void 0:s.cart_display_config.show_sub_frequency)||void 0===e||e?"_"+(".5m"===(null===(i=this.data)||void 0===i?void 0:i.frequency)?"twice_a_month":"recurring"):"",this.ns,o({"pointer-events-none absolute inset-0 flex transition ease-in-out duration-150":!0,"opacity-0":this.in({idle:"snapshot"})}),this.in("fail")?"error":this.in({idle:"template"})?"empty":"busy",this.lang,this.ns,null!==(a=null===(n=customElements.get("foxy-spinner"))||void 0===n?void 0:n.defaultNS)&&void 0!==a?a:"",this.renderTemplateOrSlot())}__getSummaryOptions(){if(null===this.data)return{};const s=this.data._embedded["fx:transaction_template"]._embedded["fx:items"];return{count_minus_one:s.length-1,first_item:s[0],count:s.length}}__getPriceOptions(){if(null===this.data)return{};const t=this.data._embedded["fx:transaction_template"],e=`${t.total_order} ${t.currency_code}`;return s(s({},d(this.data.frequency)),{},{amount:e})}}customElements.define("foxy-subscription-card",h);export{h as SubscriptionCard};
@@ -1 +1 @@
1
- import"./shared-1d6ed748.js";import"./shared-1abfcf87.js";import"./shared-24998349.js";import"./shared-a1cfe9d5.js";import"./shared-c1b71162.js";import{I as e}from"./shared-4e4766ee.js";import"./shared-df92d411.js";import"./shared-0b3dbac6.js";import"./shared-7a818ad5.js";import"./shared-5212ef4f.js";import"./foxy-transaction-card.js";import"./foxy-nucleon-element.js";import"./foxy-attribute-card.js";import"./foxy-attribute-form.js";import"./foxy-customer-card.js";import"./foxy-item-card.js";import"./shared-64210e53.js";import{_ as t,B as s}from"./shared-7fec42f2.js";import"./shared-a6cf5b1f.js";import"./shared-ed24a3f9.js";import{h as a}from"./shared-ba5c42c7.js";import{S as i,R as r,a as n}from"./shared-387d7254.js";import{c as o}from"./shared-4e709717.js";import{S as d,C as l}from"./shared-e6d5f375.js";import"./shared-e275989e.js";import{G as c}from"./shared-0eef6fb7.js";import"./shared-ab9dfa48.js";import"./shared-d35ed355.js";import"./shared-dc357e9d.js";import"./shared-a5580ef6.js";import"./shared-db758d3b.js";import{p as u}from"./shared-47269bb6.js";import{s as m}from"./shared-2061be9a.js";import{i as h}from"./shared-53e42a77.js";import{a as f,g as _}from"./shared-ada5e9f5.js";import{p}from"./shared-3b4148ad.js";import{j as y}from"./shared-7dc40542.js";import"./shared-3bc9eaf7.js";import"./shared-46efbc40.js";import"./shared-c3d1d247.js";import"./shared-3db3f3c3.js";import"./shared-ac44a3a5.js";import"./shared-92c211bd.js";import"./shared-c782b9fa.js";import"./shared-0ea750af.js";import"./shared-69074dae.js";import"./shared-65b2760f.js";import"./shared-cd96ff03.js";import"./shared-37869bac.js";import"./shared-d6a0954b.js";import"./shared-1da47f50.js";import"./shared-e1e4d8f5.js";import"./shared-25a9d87d.js";import"./foxy-copy-to-clipboard.js";import"./foxy-spinner.js";import"./shared-bab2ea2c.js";import"./shared-297155d9.js";import"./shared-b148b310.js";import"./foxy-collection-page.js";import"./shared-5fd5805c.js";import"./shared-53e476fd.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./foxy-pagination.js";import"./shared-bc89d3fb.js";import"./shared-5574ea83.js";import"./shared-f0fa0a88.js";import"./shared-9585cf5b.js";import"./shared-ba0d1f31.js";import"./shared-05e997ae.js";import"./shared-7933d898.js";import"./shared-12973e93.js";import"./shared-caac6517.js";import"./shared-dda75cab.js";import"./shared-0d01cd66.js";import"./shared-302f3391.js";import"./shared-7fa24559.js";function v(e){return function*(e){const t=[];for(const s of e.settings.subscriptions.allowFrequencyModification)if(y(s.jsonataQuery).evaluate(e.subscription))for(const e of s.values)!t.includes(e)&&(t.push(e),yield e)}({settings:{subscriptions:{allowFrequencyModification:e.settings.subscriptions.allow_frequency_modification.map((e=>({jsonataQuery:e.jsonata_query,values:e.values})))}},subscription:e.subscription})}class g extends Error{constructor(e){super(`Invalid frequency "${e}".`)}}function x(e){const t=864e5,s=31*t;if(".5m"===e)return s/2;const a=parseInt(e.substring(0,e.length-1));if(isNaN(a))throw new g(e);if(e.endsWith("y"))return 31536e6*a;if(e.endsWith("m"))return a*s;if(e.endsWith("w"))return 6048e5*a;if(e.endsWith("d"))return a*t;throw new g(e)}function b(e,t){if("boolean"==typeof t)return t;const s=t.filter((t=>Boolean(y(t.jsonataQuery).evaluate(e)))).reduce(((e,t)=>{var s,a,i,r,n;if(t.min){const s=e.min?x(e.min):1/0;x(t.min)<s&&(e.min=t.min)}if(t.max){const s=e.max?x(e.max):-1/0;x(t.max)>s&&(e.max=t.max)}if("day"===(null===(s=t.allowedDays)||void 0===s?void 0:s.type)){const s=[...null!==(a=e.allowedDaysOfWeek)&&void 0!==a?a:[],...t.allowedDays.days];e.allowedDaysOfWeek=Array.from(new Set(s))}if("month"===(null===(i=t.allowedDays)||void 0===i?void 0:i.type)){const s=[...null!==(r=e.allowedDaysOfMonth)&&void 0!==r?r:[],...t.allowedDays.days];e.allowedDaysOfMonth=Array.from(new Set(s))}if(t.disallowedDates){const s=[...null!==(n=e.disallowedDates)&&void 0!==n?n:[],...t.disallowedDates];e.disallowedDates=Array.from(new Set(s))}return e}),{});return 0!==Object.keys(s).length&&s}function $(e){const[t,s,a]=e.split("-").map((e=>parseInt(e)));return new Date(t,s-1,a)}function j(e){const t=e.settings.subscriptions.allow_next_date_modification;let s;return s="boolean"==typeof t?t:t.map((e=>({allowedDays:e.allowed_days,disallowedDates:e.disallowed_dates,jsonataQuery:e.jsonata_query,max:e.max,min:e.min}))),function(e){var t,s;const a=$(e.value),i=a.getTime(),r=b(e.subscription,e.settings.subscriptions.allowNextDateModification);if("boolean"==typeof r)return r;if(!1===(null===(t=r.allowedDaysOfMonth)||void 0===t?void 0:t.includes(a.getDate())))return!1;if(!1===(null===(s=r.allowedDaysOfWeek)||void 0===s?void 0:s.includes(a.getDay())))return!1;if(r.disallowedDates&&r.disallowedDates.find((e=>{const[t,s]=e.split("..").map((e=>$(e).getTime()));return i===t||void 0!==s&&i>=t&&i<=s})))return!1;if(r.min){const e=p(r.min);if(null!==e&&Date.now()+e>=i)return!1}if(r.max){const e=p(r.max);if(null!==e&&Date.now()+e<=i)return!1}return!0}({settings:{subscriptions:{allowNextDateModification:s}},subscription:e.subscription,value:e.value})}let S,w,D,T,q,E,k,H,C,L,A,I=e=>e;const O=i(r(n(e,"subscription-form")));class N extends O{constructor(){super(...arguments),this.getTransactionPageHref=(e,t)=>null==t?void 0:t._links["fx:receipt"].href,this.getCustomerPageHref=null,this.customerAddresses=null,this.itemCategories=null,this.localeCodes=null,this.settings=null,this.coupons=null,this.__transactionTemplateLoaderId="transactionTemplateLoader",this.__defaultTemplateSetLoaderId="defaultTemplateSetLoader",this.__localeCodesHelperLoaderId="localeCodesLoader",this.__templateSetLoaderId="templateSetLoader",this.__storeLoaderId="storeLoader",this.__renderItemsActions=()=>a(S||(S=I` <div class="flex items-center gap-s text-m" data-testid="items:actions"> ${0} <foxy-i18n data-testid="items:actions-label" class="flex-1 text-l font-medium text-body leading-m" lang="${0}" key="item_plural" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("items:actions:before"),this.lang,this.ns,this.renderTemplateOrSlot("items:actions:after")),this.__renderItems=()=>{var e;let t;try{const s=this.__transactionTemplate,a=new URL(null!==(e=null==s?void 0:s._links["fx:items"].href)&&void 0!==e?e:"");a.searchParams.set("zoom","item_options"),t=a.toString()}catch(e){t=void 0}return a(w||(w=I` <div data-testid="items" class="space-y-xs sm-col-span-2"> ${0} <foxy-internal-async-list-control first="${0}" infer="items" item="foxy-item-card" .itemProps="${0}"> </foxy-internal-async-list-control> </div> `),this.hiddenSelector.matches("items:actions",!0)?"":this.__renderItemsActions(),h(t),{"locale-codes":this.localeCodes,".settings":this.settings})},this.__renderEndDate=()=>{var e;const{data:t,lang:s,ns:i}=this;return a(D||(D=I` <div data-testid="end-date"> ${0} <x-group frame> <foxy-i18n key="end_date" ns="${0}" lang="${0}" slot="header"></foxy-i18n> <foxy-internal-calendar start="${0}" value="${0}" lang="${0}" ?readonly="${0}" ?disabled="${0}" .checkAvailability="${0}" @change="${0}"> </foxy-internal-calendar> </x-group> ${0} </div> `),this.renderTemplateOrSlot("end-date:before"),i,s,h(null===(e=null==t?void 0:t.end_date)||void 0===e?void 0:e.substr(0,10)),h(null==t?void 0:t.end_date),s,!this.__isEndDateEditable,this.disabledSelector.matches("end-date",!0),this.__checkEndDateAvailability,(e=>{const t=e.target;this.edit({end_date:t.value})}),this.renderTemplateOrSlot("end-date:after"))},this.__checkNextTransactionDateAvailability=e=>{const{settings:t,data:s}=this;if(t&&s){return j({value:m(e),settings:t,subscription:s})}return e.getTime()>=Date.now()},this.__checkStartDateAvailability=e=>e.getTime()>=Date.now(),this.__checkEndDateAvailability=e=>{const t=new Date;return t.setDate(t.getDate()+1),t.setHours(0,0,0,0),e.getTime()>=t.getTime()},this.__renderStartDate=()=>{const{data:e,lang:t,ns:s}=this;return a(T||(T=I` <div data-testid="start-date"> ${0} <x-group frame> <foxy-i18n key="start_date" ns="${0}" lang="${0}" slot="header"></foxy-i18n> <foxy-internal-calendar start="${0}" value="${0}" lang="${0}" ?readonly="${0}" ?disabled="${0}" .checkAvailability="${0}" @change="${0}"> </foxy-internal-calendar> </x-group> ${0} </div> `),this.renderTemplateOrSlot("start-date:before"),s,t,h(null==e?void 0:e.start_date.substr(0,10)),h(null==e?void 0:e.start_date),t,!this.__isStartDateEditable,this.disabledSelector.matches("start-date",!0),this.__checkStartDateAvailability,(e=>{const t=e.target;this.edit({start_date:t.value})}),this.renderTemplateOrSlot("start-date:after"))},this.__renderNextTransactionDate=()=>{const{data:e,lang:t,ns:s}=this,i=!!(null==e?void 0:e.is_active);return a(q||(q=I` <div data-testid="next-transaction-date"> ${0} <x-group frame> <foxy-i18n key="next_transaction_date" ns="${0}" lang="${0}" slot="header"></foxy-i18n> <foxy-internal-calendar start="${0}" value="${0}" lang="${0}" ?readonly="${0}" ?disabled="${0}" .checkAvailability="${0}" @change="${0}"> </foxy-internal-calendar> </x-group> ${0} </div> `),this.renderTemplateOrSlot("next-transaction-date:before"),s,t,h(null==e?void 0:e.next_transaction_date.substr(0,10)),h(null==e?void 0:e.next_transaction_date),t,!i||this.readonlySelector.matches("next-transaction-date",!0),!e||this.disabledSelector.matches("next-transaction-date",!0),this.__checkNextTransactionDateAvailability,(e=>{const t=e.target;this.edit({next_transaction_date:t.value})}),this.renderTemplateOrSlot("next-transaction-date:after"))},this.__renderFrequencyAsDropdown=()=>{const{data:e}=this,t=!!(null==e?void 0:e.is_active),s=this.__frequencies.map((e=>({label:this.t(".5m"===e?"twice_a_month":"frequency",u(e)),value:e})));return a(E||(E=I` <vaadin-combo-box item-value-path="value" item-label-path="label" data-testid="frequency" ?disabled="${0}" ?readonly="${0}" class="w-full" label="${0}" value="${0}" .items="${0}" @change="${0}"> </vaadin-combo-box> `),!e||this.disabledSelector.matches("frequency",!0),e&&(!t||this.readonlySelector.matches("frequency",!0)),this.t("frequency_label").toString(),h(this.form.frequency),s,(e=>{this.edit({frequency:e.target.value})}))},this.__renderFrequencyAsRadioList=()=>{var e;const{data:t,lang:s,ns:i}=this;return a(k||(k=I` <x-group frame> <foxy-i18n key="frequency_label" ns="${0}" lang="${0}" slot="header"></foxy-i18n> <x-choice default-custom-value="1d" data-testid="frequency" type="frequency" ns="${0}" ?custom="${0}" .items="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> ${0} </x-choice> </x-group> `),i,s,i,null===this.settings,this.__frequencies,null!==(e=this.form.frequency)&&void 0!==e?e:null,!t||this.disabledSelector.matches("frequency",!0),t&&(!t.is_active||this.readonlySelector.matches("frequency",!0)),(e=>{this.edit({frequency:e.target.value})}),this.__frequencies.map((e=>a(H||(H=I` <foxy-i18n options="${0}" slot="${0}-label" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> `),JSON.stringify(u(e)),e,s,".5m"===e?"twice_a_month":"frequency",i))))},this.__renderFrequency=()=>a(C||(C=I` <div class="sm-col-span-2"> ${0} ${0} ${0} </div> `),this.renderTemplateOrSlot("frequency:before"),this.settings&&this.__frequencies.length>4?this.__renderFrequencyAsDropdown():this.__renderFrequencyAsRadioList(),this.renderTemplateOrSlot("frequency:after")),this.__renderCustomer=()=>{var e,t;const s=null===(e=this.data)||void 0===e?void 0:e._links["fx:customer"].href,i=s?null===(t=this.getCustomerPageHref)||void 0===t?void 0:t.call(this,s):void 0;return a(L||(L=I` <div data-testid="customer" class="sm-col-span-2"> ${0} <foxy-i18n infer="customer" class="block text-l font-medium leading-xs mb-s" key="label"> </foxy-i18n> <a class="${0}" style="padding:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" href="${0}"> <foxy-customer-card infer="customer" href="${0}"></foxy-customer-card> </a> ${0} </div> `),this.renderTemplateOrSlot("customer:before"),o({"block rounded transition-colors":!0,"ring-1 ring-contrast-10":!i,"cursor-pointer bg-contrast-5 hover-bg-contrast-10":!!i,"focus-outline-none focus-ring-2 focus-ring-primary-50":!!i}),h(i),h(s),this.renderTemplateOrSlot("customer:after"))}}static get scopedElements(){return{"foxy-internal-timestamps-control":customElements.get("foxy-internal-timestamps-control"),"foxy-internal-async-list-control":customElements.get("foxy-internal-async-list-control"),"foxy-internal-number-control":customElements.get("foxy-internal-number-control"),"foxy-internal-submit-control":customElements.get("foxy-internal-submit-control"),"foxy-internal-delete-control":customElements.get("foxy-internal-delete-control"),"foxy-internal-undo-control":customElements.get("foxy-internal-undo-control"),"foxy-copy-to-clipboard":customElements.get("foxy-copy-to-clipboard"),"foxy-internal-calendar":customElements.get("foxy-internal-calendar"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-customer-card":customElements.get("foxy-customer-card"),"vaadin-combo-box":customElements.get("vaadin-combo-box"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-nucleon":customElements.get("foxy-nucleon"),"vcf-tooltip":customElements.get("vcf-tooltip"),"foxy-i18n":customElements.get("foxy-i18n"),"iron-icon":customElements.get("iron-icon"),"x-skeleton":d,"x-choice":l,"x-group":c}}static get properties(){return t(t({},super.properties),{},{getTransactionPageHref:{attribute:!1},getCustomerPageHref:{attribute:!1},customerAddresses:{attribute:"customer-addresses"},itemCategories:{attribute:"item-categories"},localeCodes:{attribute:"locale-codes"},settings:{type:Object},coupons:{}})}get hiddenSelector(){return new s(`items:pagination:card:autorenew-icon ${super.hiddenSelector}`)}get headerTitleOptions(){var e,s;if(this.data&&this.__currencyCode){const a=u(this.data.frequency),i=this.__transactionTemplate,r=`${null==i?void 0:i.total_order} ${this.__currencyCode}`,n=this.__currencyDisplay,o=null===(s=null===(e=this.settings)||void 0===e?void 0:e.cart_display_config.show_sub_frequency)||void 0===s||s,d=this.__currencyCode&&o?".5m"===this.data.frequency?"twice_a_month":"recurring":"existing";return t(t({},a),{},{amount:r,currencyDisplay:n,context:d})}return{}}get headerSubtitleKey(){const e=this.settings?f(this.data,this.settings):_(this.data);return e?`subtitle_${e}`:super.headerSubtitleKey}renderBody(){var e,t,s,i,r;let n;try{const s=new URL(null!==(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:transactions"].href)&&void 0!==t?t:"");s.searchParams.set("order","transaction_date desc"),s.searchParams.set("zoom","items"),n=s.toString()}catch(e){n=void 0}return a(A||(A=I` ${0} <div class="relative grid grid-cols-1 sm-grid-cols-2 gap-l"> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> ${0} ${0} ${0} ${0} ${0} ${0} <foxy-internal-number-control suffix="${0}" infer="past-due-amount" class="sm-col-span-2" min="0"> </foxy-internal-number-control> <foxy-internal-async-list-control first="${0}" class="sm-col-span-2" infer="attributes" limit="5" form="foxy-attribute-form" item="foxy-attribute-card"> </foxy-internal-async-list-control> <foxy-internal-async-list-control first="${0}" class="sm-col-span-2" infer="transactions" limit="5" item="foxy-transaction-card" hide-delete-button .getPageHref="${0}"> </foxy-internal-async-list-control> <foxy-internal-timestamps-control infer="timestamps" class="sm-col-span-2"> </foxy-internal-timestamps-control> </div> `),this.renderHeader(),h(this.__transactionTemplateHref),this.__transactionTemplateLoaderId,(()=>this.requestUpdate()),h(this.__defaultTemplateSetHref),this.__defaultTemplateSetLoaderId,(()=>this.requestUpdate()),h(this.__localeCodesHelperHref),this.__localeCodesHelperLoaderId,(()=>this.requestUpdate()),h(this.__templateSetHref),this.__templateSetLoaderId,(()=>this.requestUpdate()),h(this.__storeHref),this.__storeLoaderId,(()=>this.requestUpdate()),this.hiddenSelector.matches("customer",!0)?"":this.__renderCustomer(),this.hiddenSelector.matches("items",!0)?"":this.__renderItems(),this.__isFrequencyVisible?this.__renderFrequency():"",this.__isStartDateVisible?this.__renderStartDate():"",this.__isNextTransactionDateVisible?this.__renderNextTransactionDate():"",this.__isEndDateVisible?this.__renderEndDate():"",h(null!==(s=this.__currencyCode)&&void 0!==s?s:void 0),h(null===(r=null===(i=this.data)||void 0===i?void 0:i._links["fx:attributes"])||void 0===r?void 0:r.href),h(n),this.getTransactionPageHref)}get __transactionTemplateHref(){var e;const t=this.data;return(null===(e=null==t?void 0:t._embedded)||void 0===e?void 0:e["fx:transaction_template"])||null==t?void 0:t._links["fx:transaction_template"].href}get __defaultTemplateSetHref(){var e,t,s;if(""===(null===(e=this.__transactionTemplate)||void 0===e?void 0:e.template_set_uri))try{const e=new URL(null!==(s=null===(t=this.__store)||void 0===t?void 0:t._links["fx:template_sets"].href)&&void 0!==s?s:"");return e.searchParams.set("code","DEFAULT"),e.toString()}catch(e){}}get __localeCodesHelperHref(){var e;if(this.__defaultTemplateSetHref||this.__templateSetHref)return null!==(e=this.localeCodes)&&void 0!==e?e:void 0}get __templateSetHref(){const e=this.__transactionTemplate;if(!(null==e?void 0:e.currency_code))return(null==e?void 0:e.template_set_uri)||void 0}get __storeHref(){var e,t;return null===(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:store"])||void 0===t?void 0:t.href}get __transactionTemplate(){var e,t,s;const a=this.data,i=null===(e=null==a?void 0:a._embedded)||void 0===e?void 0:e["fx:transaction_template"],r=`#${this.__transactionTemplateLoaderId}`;return null!==(s=null!=i?i:null===(t=this.renderRoot.querySelector(r))||void 0===t?void 0:t.data)&&void 0!==s?s:null}get __defaultTemplateSet(){var e,t;const s=`#${this.__defaultTemplateSetLoaderId}`,a=this.renderRoot.querySelector(s);return null!==(t=null===(e=null==a?void 0:a.data)||void 0===e?void 0:e._embedded["fx:template_sets"][0])&&void 0!==t?t:null}get __localeCodesHelper(){var e,t;const s=`#${this.__localeCodesHelperLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(s))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __templateSet(){var e,t;const s=`#${this.__templateSetLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(s))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __store(){var e,t;const s=`#${this.__storeLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(s))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __isNextTransactionDateVisible(){var e;if(this.hiddenSelector.matches("next-transaction-date",!0))return!1;if(null===this.data)return!1;if(this.data.end_date&&new Date(this.data.end_date).getTime()<=Date.now())return!1;if(!1===this.data.is_active)return!1;if(!1===(null===(e=this.settings)||void 0===e?void 0:e.cart_display_config.show_sub_nextdate))return!1;if(null===this.settings)return!0;const t=this.settings.subscriptions.allow_next_date_modification;return!!function(e,t){let s;return s="boolean"==typeof t?t:t.map((e=>({allowedDays:e.allowed_days,disallowedDates:e.disallowed_dates,jsonataQuery:e.jsonata_query,max:e.max,min:e.min}))),b(e,s)}(this.data,t)}get __isStartDateVisible(){var e;return!this.hiddenSelector.matches("start-date",!0)&&(!1!==(null===(e=this.settings)||void 0===e?void 0:e.cart_display_config.show_sub_startdate)&&this.__isNextTransactionDateVisible)}get __isEndDateVisible(){return!this.hiddenSelector.matches("end-date",!0)&&(null!==this.data&&(!(this.data.end_date&&new Date(this.data.end_date).getTime()<=Date.now())&&(!1!==this.data.is_active&&!this.settings)))}get __isStartDateEditable(){return!this.readonlySelector.matches("start-date",!0)&&(null!==this.data&&(!(this.data.end_date&&new Date(this.data.end_date)<=new Date)&&(!1!==this.data.is_active&&(!(this.data.start_date&&new Date(this.data.start_date)<=new Date)&&null===this.settings))))}get __isEndDateEditable(){return!this.readonlySelector.matches("end-date",!0)&&(null!==this.data&&(!(this.data.end_date&&new Date(this.data.end_date)<=new Date)&&(!1!==this.data.is_active&&null===this.settings)))}get __isFrequencyVisible(){var e;if(this.hiddenSelector.matches("frequency",!0))return!1;if(null===this.data)return!1;if(this.data.end_date&&new Date(this.data.end_date).getTime()<=Date.now())return!1;if(!1===this.data.is_active)return!1;if(!1===(null===(e=this.settings)||void 0===e?void 0:e.cart_display_config.show_sub_frequency))return!1;if(null===this.settings)return!0;return!v({subscription:this.data,settings:this.settings}).next().done}get __frequencies(){if(!this.settings||!this.data)return[".5m","1m","1y"];const e=v({subscription:this.data,settings:this.settings});return Array.from(e)}get __currencyCode(){var e,t,s,a;const i=this.__transactionTemplate;if(null==i?void 0:i.currency_code)return i.currency_code;const r=this.__localeCodesHelper,n=null===(t=null!==(e=this.__templateSet)&&void 0!==e?e:this.__defaultTemplateSet)||void 0===t?void 0:t.locale_code,o=n?null==r?void 0:r.values[n]:void 0;return o&&null!==(a=null===(s=/Currency: ([A-Z]{3})/g.exec(o))||void 0===s?void 0:s[1])&&void 0!==a?a:null}get __currencyDisplay(){var e;return(null===(e=this.__store)||void 0===e?void 0:e.use_international_currency_symbol)?"code":"symbol"}}customElements.define("foxy-subscription-form",N);export{N as SubscriptionForm};
1
+ import"./shared-1d6ed748.js";import"./shared-1abfcf87.js";import"./shared-24998349.js";import"./shared-a1cfe9d5.js";import"./shared-c1b71162.js";import{I as e}from"./shared-4e4766ee.js";import"./shared-df92d411.js";import"./shared-0b3dbac6.js";import"./shared-7a818ad5.js";import"./shared-5212ef4f.js";import"./foxy-transaction-card.js";import"./foxy-nucleon-element.js";import"./foxy-attribute-card.js";import"./foxy-attribute-form.js";import"./foxy-customer-card.js";import"./foxy-item-card.js";import"./shared-64210e53.js";import{_ as t,B as s}from"./shared-7fec42f2.js";import"./shared-a6cf5b1f.js";import"./shared-ed24a3f9.js";import{h as a}from"./shared-ba5c42c7.js";import{S as i,R as r,a as n}from"./shared-387d7254.js";import{c as o}from"./shared-4e709717.js";import{S as d,C as l}from"./shared-e6d5f375.js";import"./shared-e275989e.js";import{G as c}from"./shared-0eef6fb7.js";import"./shared-ab9dfa48.js";import"./shared-d35ed355.js";import"./shared-dc357e9d.js";import"./shared-a5580ef6.js";import"./shared-db758d3b.js";import{p as u}from"./shared-47269bb6.js";import{s as m}from"./shared-2061be9a.js";import{i as h}from"./shared-53e42a77.js";import{a as f,g as _}from"./shared-96e4f603.js";import{p}from"./shared-3b4148ad.js";import{j as y}from"./shared-7dc40542.js";import"./shared-3bc9eaf7.js";import"./shared-46efbc40.js";import"./shared-c3d1d247.js";import"./shared-3db3f3c3.js";import"./shared-ac44a3a5.js";import"./shared-92c211bd.js";import"./shared-c782b9fa.js";import"./shared-0ea750af.js";import"./shared-69074dae.js";import"./shared-65b2760f.js";import"./shared-cd96ff03.js";import"./shared-37869bac.js";import"./shared-d6a0954b.js";import"./shared-1da47f50.js";import"./shared-e1e4d8f5.js";import"./shared-25a9d87d.js";import"./foxy-copy-to-clipboard.js";import"./foxy-spinner.js";import"./shared-bab2ea2c.js";import"./shared-297155d9.js";import"./shared-b148b310.js";import"./foxy-collection-page.js";import"./shared-5fd5805c.js";import"./shared-53e476fd.js";import"./foxy-swipe-actions.js";import"./foxy-form-dialog.js";import"./foxy-pagination.js";import"./shared-bc89d3fb.js";import"./shared-5574ea83.js";import"./shared-f0fa0a88.js";import"./shared-9585cf5b.js";import"./shared-ba0d1f31.js";import"./shared-05e997ae.js";import"./shared-7933d898.js";import"./shared-12973e93.js";import"./shared-caac6517.js";import"./shared-dda75cab.js";import"./shared-0d01cd66.js";import"./shared-302f3391.js";import"./shared-7fa24559.js";function v(e){return function*(e){const t=[];for(const s of e.settings.subscriptions.allowFrequencyModification)if(y(s.jsonataQuery).evaluate(e.subscription))for(const e of s.values)!t.includes(e)&&(t.push(e),yield e)}({settings:{subscriptions:{allowFrequencyModification:e.settings.subscriptions.allow_frequency_modification.map((e=>({jsonataQuery:e.jsonata_query,values:e.values})))}},subscription:e.subscription})}class g extends Error{constructor(e){super(`Invalid frequency "${e}".`)}}function x(e){const t=864e5,s=31*t;if(".5m"===e)return s/2;const a=parseInt(e.substring(0,e.length-1));if(isNaN(a))throw new g(e);if(e.endsWith("y"))return 31536e6*a;if(e.endsWith("m"))return a*s;if(e.endsWith("w"))return 6048e5*a;if(e.endsWith("d"))return a*t;throw new g(e)}function b(e,t){if("boolean"==typeof t)return t;const s=t.filter((t=>Boolean(y(t.jsonataQuery).evaluate(e)))).reduce(((e,t)=>{var s,a,i,r,n;if(t.min){const s=e.min?x(e.min):1/0;x(t.min)<s&&(e.min=t.min)}if(t.max){const s=e.max?x(e.max):-1/0;x(t.max)>s&&(e.max=t.max)}if("day"===(null===(s=t.allowedDays)||void 0===s?void 0:s.type)){const s=[...null!==(a=e.allowedDaysOfWeek)&&void 0!==a?a:[],...t.allowedDays.days];e.allowedDaysOfWeek=Array.from(new Set(s))}if("month"===(null===(i=t.allowedDays)||void 0===i?void 0:i.type)){const s=[...null!==(r=e.allowedDaysOfMonth)&&void 0!==r?r:[],...t.allowedDays.days];e.allowedDaysOfMonth=Array.from(new Set(s))}if(t.disallowedDates){const s=[...null!==(n=e.disallowedDates)&&void 0!==n?n:[],...t.disallowedDates];e.disallowedDates=Array.from(new Set(s))}return e}),{});return 0!==Object.keys(s).length&&s}function $(e){const[t,s,a]=e.split("-").map((e=>parseInt(e)));return new Date(t,s-1,a)}function j(e){const t=e.settings.subscriptions.allow_next_date_modification;let s;return s="boolean"==typeof t?t:t.map((e=>({allowedDays:e.allowed_days,disallowedDates:e.disallowed_dates,jsonataQuery:e.jsonata_query,max:e.max,min:e.min}))),function(e){var t,s;const a=$(e.value),i=a.getTime(),r=b(e.subscription,e.settings.subscriptions.allowNextDateModification);if("boolean"==typeof r)return r;if(!1===(null===(t=r.allowedDaysOfMonth)||void 0===t?void 0:t.includes(a.getDate())))return!1;if(!1===(null===(s=r.allowedDaysOfWeek)||void 0===s?void 0:s.includes(a.getDay())))return!1;if(r.disallowedDates&&r.disallowedDates.find((e=>{const[t,s]=e.split("..").map((e=>$(e).getTime()));return i===t||void 0!==s&&i>=t&&i<=s})))return!1;if(r.min){const e=p(r.min);if(null!==e&&Date.now()+e>=i)return!1}if(r.max){const e=p(r.max);if(null!==e&&Date.now()+e<=i)return!1}return!0}({settings:{subscriptions:{allowNextDateModification:s}},subscription:e.subscription,value:e.value})}let S,w,D,T,q,E,k,H,C,L,A,I=e=>e;const O=i(r(n(e,"subscription-form")));class N extends O{constructor(){super(...arguments),this.getTransactionPageHref=(e,t)=>null==t?void 0:t._links["fx:receipt"].href,this.getCustomerPageHref=null,this.customerAddresses=null,this.itemCategories=null,this.localeCodes=null,this.settings=null,this.coupons=null,this.__transactionTemplateLoaderId="transactionTemplateLoader",this.__defaultTemplateSetLoaderId="defaultTemplateSetLoader",this.__localeCodesHelperLoaderId="localeCodesLoader",this.__templateSetLoaderId="templateSetLoader",this.__storeLoaderId="storeLoader",this.__renderItemsActions=()=>a(S||(S=I` <div class="flex items-center gap-s text-m" data-testid="items:actions"> ${0} <foxy-i18n data-testid="items:actions-label" class="flex-1 text-l font-medium text-body leading-m" lang="${0}" key="item_plural" ns="${0}"> </foxy-i18n> ${0} </div> `),this.renderTemplateOrSlot("items:actions:before"),this.lang,this.ns,this.renderTemplateOrSlot("items:actions:after")),this.__renderItems=()=>{var e;let t;try{const s=this.__transactionTemplate,a=new URL(null!==(e=null==s?void 0:s._links["fx:items"].href)&&void 0!==e?e:"");a.searchParams.set("zoom","item_options"),t=a.toString()}catch(e){t=void 0}return a(w||(w=I` <div data-testid="items" class="space-y-xs sm-col-span-2"> ${0} <foxy-internal-async-list-control first="${0}" infer="items" item="foxy-item-card" .itemProps="${0}"> </foxy-internal-async-list-control> </div> `),this.hiddenSelector.matches("items:actions",!0)?"":this.__renderItemsActions(),h(t),{"locale-codes":this.localeCodes,".settings":this.settings})},this.__renderEndDate=()=>{var e;const{data:t,lang:s,ns:i}=this;return a(D||(D=I` <div data-testid="end-date"> ${0} <x-group frame> <foxy-i18n key="end_date" ns="${0}" lang="${0}" slot="header"></foxy-i18n> <foxy-internal-calendar start="${0}" value="${0}" lang="${0}" ?readonly="${0}" ?disabled="${0}" .checkAvailability="${0}" @change="${0}"> </foxy-internal-calendar> </x-group> ${0} </div> `),this.renderTemplateOrSlot("end-date:before"),i,s,h(null===(e=null==t?void 0:t.end_date)||void 0===e?void 0:e.substr(0,10)),h(null==t?void 0:t.end_date),s,!this.__isEndDateEditable,this.disabledSelector.matches("end-date",!0),this.__checkEndDateAvailability,(e=>{const t=e.target;this.edit({end_date:t.value})}),this.renderTemplateOrSlot("end-date:after"))},this.__checkNextTransactionDateAvailability=e=>{const{settings:t,data:s}=this;if(t&&s){return j({value:m(e),settings:t,subscription:s})}return e.getTime()>=Date.now()},this.__checkStartDateAvailability=e=>e.getTime()>=Date.now(),this.__checkEndDateAvailability=e=>{const t=new Date;return t.setDate(t.getDate()+1),t.setHours(0,0,0,0),e.getTime()>=t.getTime()},this.__renderStartDate=()=>{const{data:e,lang:t,ns:s}=this;return a(T||(T=I` <div data-testid="start-date"> ${0} <x-group frame> <foxy-i18n key="start_date" ns="${0}" lang="${0}" slot="header"></foxy-i18n> <foxy-internal-calendar start="${0}" value="${0}" lang="${0}" ?readonly="${0}" ?disabled="${0}" .checkAvailability="${0}" @change="${0}"> </foxy-internal-calendar> </x-group> ${0} </div> `),this.renderTemplateOrSlot("start-date:before"),s,t,h(null==e?void 0:e.start_date.substr(0,10)),h(null==e?void 0:e.start_date),t,!this.__isStartDateEditable,this.disabledSelector.matches("start-date",!0),this.__checkStartDateAvailability,(e=>{const t=e.target;this.edit({start_date:t.value})}),this.renderTemplateOrSlot("start-date:after"))},this.__renderNextTransactionDate=()=>{const{data:e,lang:t,ns:s}=this,i=!!(null==e?void 0:e.is_active);return a(q||(q=I` <div data-testid="next-transaction-date"> ${0} <x-group frame> <foxy-i18n key="next_transaction_date" ns="${0}" lang="${0}" slot="header"></foxy-i18n> <foxy-internal-calendar start="${0}" value="${0}" lang="${0}" ?readonly="${0}" ?disabled="${0}" .checkAvailability="${0}" @change="${0}"> </foxy-internal-calendar> </x-group> ${0} </div> `),this.renderTemplateOrSlot("next-transaction-date:before"),s,t,h(null==e?void 0:e.next_transaction_date.substr(0,10)),h(null==e?void 0:e.next_transaction_date),t,!i||this.readonlySelector.matches("next-transaction-date",!0),!e||this.disabledSelector.matches("next-transaction-date",!0),this.__checkNextTransactionDateAvailability,(e=>{const t=e.target;this.edit({next_transaction_date:t.value})}),this.renderTemplateOrSlot("next-transaction-date:after"))},this.__renderFrequencyAsDropdown=()=>{const{data:e}=this,t=!!(null==e?void 0:e.is_active),s=this.__frequencies.map((e=>({label:this.t(".5m"===e?"twice_a_month":"frequency",u(e)),value:e})));return a(E||(E=I` <vaadin-combo-box item-value-path="value" item-label-path="label" data-testid="frequency" ?disabled="${0}" ?readonly="${0}" class="w-full" label="${0}" value="${0}" .items="${0}" @change="${0}"> </vaadin-combo-box> `),!e||this.disabledSelector.matches("frequency",!0),e&&(!t||this.readonlySelector.matches("frequency",!0)),this.t("frequency_label").toString(),h(this.form.frequency),s,(e=>{this.edit({frequency:e.target.value})}))},this.__renderFrequencyAsRadioList=()=>{var e;const{data:t,lang:s,ns:i}=this;return a(k||(k=I` <x-group frame> <foxy-i18n key="frequency_label" ns="${0}" lang="${0}" slot="header"></foxy-i18n> <x-choice default-custom-value="1d" data-testid="frequency" type="frequency" ns="${0}" ?custom="${0}" .items="${0}" .value="${0}" ?disabled="${0}" ?readonly="${0}" @change="${0}"> ${0} </x-choice> </x-group> `),i,s,i,null===this.settings,this.__frequencies,null!==(e=this.form.frequency)&&void 0!==e?e:null,!t||this.disabledSelector.matches("frequency",!0),t&&(!t.is_active||this.readonlySelector.matches("frequency",!0)),(e=>{this.edit({frequency:e.target.value})}),this.__frequencies.map((e=>a(H||(H=I` <foxy-i18n options="${0}" slot="${0}-label" lang="${0}" key="${0}" ns="${0}"> </foxy-i18n> `),JSON.stringify(u(e)),e,s,".5m"===e?"twice_a_month":"frequency",i))))},this.__renderFrequency=()=>a(C||(C=I` <div class="sm-col-span-2"> ${0} ${0} ${0} </div> `),this.renderTemplateOrSlot("frequency:before"),this.settings&&this.__frequencies.length>4?this.__renderFrequencyAsDropdown():this.__renderFrequencyAsRadioList(),this.renderTemplateOrSlot("frequency:after")),this.__renderCustomer=()=>{var e,t;const s=null===(e=this.data)||void 0===e?void 0:e._links["fx:customer"].href,i=s?null===(t=this.getCustomerPageHref)||void 0===t?void 0:t.call(this,s):void 0;return a(L||(L=I` <div data-testid="customer" class="sm-col-span-2"> ${0} <foxy-i18n infer="customer" class="block text-l font-medium leading-xs mb-s" key="label"> </foxy-i18n> <a class="${0}" style="padding:calc(.625em + (var(--lumo-border-radius)/ 4) - 1px)" href="${0}"> <foxy-customer-card infer="customer" href="${0}"></foxy-customer-card> </a> ${0} </div> `),this.renderTemplateOrSlot("customer:before"),o({"block rounded transition-colors":!0,"ring-1 ring-contrast-10":!i,"cursor-pointer bg-contrast-5 hover-bg-contrast-10":!!i,"focus-outline-none focus-ring-2 focus-ring-primary-50":!!i}),h(i),h(s),this.renderTemplateOrSlot("customer:after"))}}static get scopedElements(){return{"foxy-internal-timestamps-control":customElements.get("foxy-internal-timestamps-control"),"foxy-internal-async-list-control":customElements.get("foxy-internal-async-list-control"),"foxy-internal-number-control":customElements.get("foxy-internal-number-control"),"foxy-internal-submit-control":customElements.get("foxy-internal-submit-control"),"foxy-internal-delete-control":customElements.get("foxy-internal-delete-control"),"foxy-internal-undo-control":customElements.get("foxy-internal-undo-control"),"foxy-copy-to-clipboard":customElements.get("foxy-copy-to-clipboard"),"foxy-internal-calendar":customElements.get("foxy-internal-calendar"),"foxy-internal-sandbox":customElements.get("foxy-internal-sandbox"),"foxy-customer-card":customElements.get("foxy-customer-card"),"vaadin-combo-box":customElements.get("vaadin-combo-box"),"foxy-spinner":customElements.get("foxy-spinner"),"foxy-nucleon":customElements.get("foxy-nucleon"),"vcf-tooltip":customElements.get("vcf-tooltip"),"foxy-i18n":customElements.get("foxy-i18n"),"iron-icon":customElements.get("iron-icon"),"x-skeleton":d,"x-choice":l,"x-group":c}}static get properties(){return t(t({},super.properties),{},{getTransactionPageHref:{attribute:!1},getCustomerPageHref:{attribute:!1},customerAddresses:{attribute:"customer-addresses"},itemCategories:{attribute:"item-categories"},localeCodes:{attribute:"locale-codes"},settings:{type:Object},coupons:{}})}get hiddenSelector(){return new s(`items:pagination:card:autorenew-icon ${super.hiddenSelector}`)}get headerTitleOptions(){var e,s;if(this.data&&this.__currencyCode){const a=u(this.data.frequency),i=this.__transactionTemplate,r=`${null==i?void 0:i.total_order} ${this.__currencyCode}`,n=this.__currencyDisplay,o=null===(s=null===(e=this.settings)||void 0===e?void 0:e.cart_display_config.show_sub_frequency)||void 0===s||s,d=this.__currencyCode&&o?".5m"===this.data.frequency?"twice_a_month":"recurring":"existing";return t(t({},a),{},{amount:r,currencyDisplay:n,context:d})}return{}}get headerSubtitleKey(){const e=this.settings?f(this.data,this.settings):_(this.data);return e?`subtitle_${e}`:super.headerSubtitleKey}renderBody(){var e,t,s,i,r;let n;try{const s=new URL(null!==(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:transactions"].href)&&void 0!==t?t:"");s.searchParams.set("order","transaction_date desc"),s.searchParams.set("zoom","items"),n=s.toString()}catch(e){n=void 0}return a(A||(A=I` ${0} <div class="relative grid grid-cols-1 sm-grid-cols-2 gap-l"> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> <foxy-nucleon class="hidden" infer="" href="${0}" id="${0}" @update="${0}"> </foxy-nucleon> ${0} ${0} ${0} ${0} ${0} ${0} <foxy-internal-number-control suffix="${0}" infer="past-due-amount" class="sm-col-span-2" min="0"> </foxy-internal-number-control> <foxy-internal-async-list-control first="${0}" class="sm-col-span-2" infer="attributes" limit="5" form="foxy-attribute-form" item="foxy-attribute-card"> </foxy-internal-async-list-control> <foxy-internal-async-list-control first="${0}" class="sm-col-span-2" infer="transactions" limit="5" item="foxy-transaction-card" hide-delete-button .getPageHref="${0}"> </foxy-internal-async-list-control> <foxy-internal-timestamps-control infer="timestamps" class="sm-col-span-2"> </foxy-internal-timestamps-control> </div> `),this.renderHeader(),h(this.__transactionTemplateHref),this.__transactionTemplateLoaderId,(()=>this.requestUpdate()),h(this.__defaultTemplateSetHref),this.__defaultTemplateSetLoaderId,(()=>this.requestUpdate()),h(this.__localeCodesHelperHref),this.__localeCodesHelperLoaderId,(()=>this.requestUpdate()),h(this.__templateSetHref),this.__templateSetLoaderId,(()=>this.requestUpdate()),h(this.__storeHref),this.__storeLoaderId,(()=>this.requestUpdate()),this.hiddenSelector.matches("customer",!0)?"":this.__renderCustomer(),this.hiddenSelector.matches("items",!0)?"":this.__renderItems(),this.__isFrequencyVisible?this.__renderFrequency():"",this.__isStartDateVisible?this.__renderStartDate():"",this.__isNextTransactionDateVisible?this.__renderNextTransactionDate():"",this.__isEndDateVisible?this.__renderEndDate():"",h(null!==(s=this.__currencyCode)&&void 0!==s?s:void 0),h(null===(r=null===(i=this.data)||void 0===i?void 0:i._links["fx:attributes"])||void 0===r?void 0:r.href),h(n),this.getTransactionPageHref)}get __transactionTemplateHref(){var e;const t=this.data;return(null===(e=null==t?void 0:t._embedded)||void 0===e?void 0:e["fx:transaction_template"])||null==t?void 0:t._links["fx:transaction_template"].href}get __defaultTemplateSetHref(){var e,t,s;if(""===(null===(e=this.__transactionTemplate)||void 0===e?void 0:e.template_set_uri))try{const e=new URL(null!==(s=null===(t=this.__store)||void 0===t?void 0:t._links["fx:template_sets"].href)&&void 0!==s?s:"");return e.searchParams.set("code","DEFAULT"),e.toString()}catch(e){}}get __localeCodesHelperHref(){var e;if(this.__defaultTemplateSetHref||this.__templateSetHref)return null!==(e=this.localeCodes)&&void 0!==e?e:void 0}get __templateSetHref(){const e=this.__transactionTemplate;if(!(null==e?void 0:e.currency_code))return(null==e?void 0:e.template_set_uri)||void 0}get __storeHref(){var e,t;return null===(t=null===(e=this.data)||void 0===e?void 0:e._links["fx:store"])||void 0===t?void 0:t.href}get __transactionTemplate(){var e,t,s;const a=this.data,i=null===(e=null==a?void 0:a._embedded)||void 0===e?void 0:e["fx:transaction_template"],r=`#${this.__transactionTemplateLoaderId}`;return null!==(s=null!=i?i:null===(t=this.renderRoot.querySelector(r))||void 0===t?void 0:t.data)&&void 0!==s?s:null}get __defaultTemplateSet(){var e,t;const s=`#${this.__defaultTemplateSetLoaderId}`,a=this.renderRoot.querySelector(s);return null!==(t=null===(e=null==a?void 0:a.data)||void 0===e?void 0:e._embedded["fx:template_sets"][0])&&void 0!==t?t:null}get __localeCodesHelper(){var e,t;const s=`#${this.__localeCodesHelperLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(s))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __templateSet(){var e,t;const s=`#${this.__templateSetLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(s))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __store(){var e,t;const s=`#${this.__storeLoaderId}`;return null!==(t=null===(e=this.renderRoot.querySelector(s))||void 0===e?void 0:e.data)&&void 0!==t?t:null}get __isNextTransactionDateVisible(){var e;if(this.hiddenSelector.matches("next-transaction-date",!0))return!1;if(null===this.data)return!1;if(this.data.end_date&&new Date(this.data.end_date).getTime()<=Date.now())return!1;if(!1===this.data.is_active)return!1;if(!1===(null===(e=this.settings)||void 0===e?void 0:e.cart_display_config.show_sub_nextdate))return!1;if(null===this.settings)return!0;const t=this.settings.subscriptions.allow_next_date_modification;return!!function(e,t){let s;return s="boolean"==typeof t?t:t.map((e=>({allowedDays:e.allowed_days,disallowedDates:e.disallowed_dates,jsonataQuery:e.jsonata_query,max:e.max,min:e.min}))),b(e,s)}(this.data,t)}get __isStartDateVisible(){var e;return!this.hiddenSelector.matches("start-date",!0)&&(!1!==(null===(e=this.settings)||void 0===e?void 0:e.cart_display_config.show_sub_startdate)&&this.__isNextTransactionDateVisible)}get __isEndDateVisible(){return!this.hiddenSelector.matches("end-date",!0)&&(null!==this.data&&(!(this.data.end_date&&new Date(this.data.end_date).getTime()<=Date.now())&&(!1!==this.data.is_active&&!this.settings)))}get __isStartDateEditable(){return!this.readonlySelector.matches("start-date",!0)&&(null!==this.data&&(!(this.data.end_date&&new Date(this.data.end_date)<=new Date)&&(!1!==this.data.is_active&&(!(this.data.start_date&&new Date(this.data.start_date)<=new Date)&&null===this.settings))))}get __isEndDateEditable(){return!this.readonlySelector.matches("end-date",!0)&&(null!==this.data&&(!(this.data.end_date&&new Date(this.data.end_date)<=new Date)&&(!1!==this.data.is_active&&null===this.settings)))}get __isFrequencyVisible(){var e;if(this.hiddenSelector.matches("frequency",!0))return!1;if(null===this.data)return!1;if(this.data.end_date&&new Date(this.data.end_date).getTime()<=Date.now())return!1;if(!1===this.data.is_active)return!1;if(!1===(null===(e=this.settings)||void 0===e?void 0:e.cart_display_config.show_sub_frequency))return!1;if(null===this.settings)return!0;return!v({subscription:this.data,settings:this.settings}).next().done}get __frequencies(){if(!this.settings||!this.data)return[".5m","1m","1y"];const e=v({subscription:this.data,settings:this.settings});return Array.from(e)}get __currencyCode(){var e,t,s,a;const i=this.__transactionTemplate;if(null==i?void 0:i.currency_code)return i.currency_code;const r=this.__localeCodesHelper,n=null===(t=null!==(e=this.__templateSet)&&void 0!==e?e:this.__defaultTemplateSet)||void 0===t?void 0:t.locale_code,o=n?null==r?void 0:r.values[n]:void 0;return o&&null!==(a=null===(s=/Currency: ([A-Z]{3})/g.exec(o))||void 0===s?void 0:s[1])&&void 0!==a?a:null}get __currencyDisplay(){var e;return(null===(e=this.__store)||void 0===e?void 0:e.use_international_currency_symbol)?"code":"symbol"}}customElements.define("foxy-subscription-form",N);export{N as SubscriptionForm};
@@ -1 +1 @@
1
- import"./foxy-spinner.js";import"./shared-64210e53.js";import{S as s}from"./shared-8ba28691.js";export{S as SubscriptionsTable}from"./shared-8ba28691.js";import"./shared-c1b71162.js";import"./shared-3db3f3c3.js";import"./shared-3bc9eaf7.js";import"./shared-387d7254.js";import"./shared-7fec42f2.js";import"./shared-ba5c42c7.js";import"./shared-a1cfe9d5.js";import"./shared-0ea750af.js";import"./shared-f58068b0.js";import"./shared-c782b9fa.js";import"./shared-53e42a77.js";import"./foxy-nucleon-element.js";import"./shared-69074dae.js";import"./shared-65b2760f.js";import"./shared-cd96ff03.js";import"./shared-37869bac.js";import"./shared-d6a0954b.js";import"./shared-1da47f50.js";import"./shared-e1e4d8f5.js";import"./shared-4e709717.js";import"./shared-47269bb6.js";import"./shared-ada5e9f5.js";customElements.define("foxy-subscriptions-table",s);
1
+ import"./foxy-spinner.js";import"./shared-64210e53.js";import{S as s}from"./shared-461a25ae.js";export{S as SubscriptionsTable}from"./shared-461a25ae.js";import"./shared-c1b71162.js";import"./shared-3db3f3c3.js";import"./shared-3bc9eaf7.js";import"./shared-387d7254.js";import"./shared-7fec42f2.js";import"./shared-ba5c42c7.js";import"./shared-a1cfe9d5.js";import"./shared-0ea750af.js";import"./shared-f58068b0.js";import"./shared-c782b9fa.js";import"./shared-53e42a77.js";import"./foxy-nucleon-element.js";import"./shared-69074dae.js";import"./shared-65b2760f.js";import"./shared-cd96ff03.js";import"./shared-37869bac.js";import"./shared-d6a0954b.js";import"./shared-1da47f50.js";import"./shared-e1e4d8f5.js";import"./shared-4e709717.js";import"./shared-47269bb6.js";import"./shared-96e4f603.js";customElements.define("foxy-subscriptions-table",s);
@@ -1,4 +1,4 @@
1
- import{_ as t}from"./shared-7fec42f2.js";import{T as s}from"./shared-f58068b0.js";import{a as e}from"./shared-387d7254.js";import{p as n}from"./shared-47269bb6.js";import{g as a}from"./shared-ada5e9f5.js";import{c as o}from"./shared-4e709717.js";let r,l,m,i,u=t=>t;class c extends(e(s,"subscriptions-table")){constructor(){super(...arguments),this.columns=[c.priceColumn,c.summaryColumn,c.statusColumn,c.subTokenURLColumn]}}c.priceColumn={cell:s=>{const e=s.data._embedded["fx:transaction_template"],a=`${e.total_order} ${e.currency_code}`;return s.html(r||(r=u`
1
+ import{_ as t}from"./shared-7fec42f2.js";import{T as s}from"./shared-f58068b0.js";import{a as e}from"./shared-387d7254.js";import{p as n}from"./shared-47269bb6.js";import{g as a}from"./shared-96e4f603.js";import{c as o}from"./shared-4e709717.js";let r,l,m,i,u=t=>t;class c extends(e(s,"subscriptions-table")){constructor(){super(...arguments),this.columns=[c.priceColumn,c.summaryColumn,c.statusColumn,c.subTokenURLColumn]}}c.priceColumn={cell:s=>{const e=s.data._embedded["fx:transaction_template"],a=`${e.total_order} ${e.currency_code}`;return s.html(r||(r=u`
2
2
  <foxy-i18n
3
3
  data-testclass="i18n frequencies"
4
4
  class="font-medium text-m font-tnum"
@@ -0,0 +1 @@
1
+ function n(n){if(null===n)return null;const e=n=>n&&"0000-00-00"!==n?new Date(n).getTime():null,t=n.is_active,_=e(n.first_failed_transaction_date),d=e(n.start_date),a=e(n.next_transaction_date),l=e(n.end_date),i=Date.now();return _?l&&l<=i?"failed_and_ended":"failed":null===d?null:t&&d>i?"will_start":null===a?null:t&&l&&l>i?a<l?"will_end_after_payment":"will_end":t?l?"ended":"next_payment":d<=i&&l&&l<=i?"ended":"inactive"}function e(e,t){var _,d,a;const l=n(e),i=t.cart_display_config,r=null===(_=null==i?void 0:i.show_sub_startdate)||void 0===_||_,u=null===(d=null==i?void 0:i.show_sub_nextdate)||void 0===d||d,o=null===(a=null==i?void 0:i.show_sub_enddate)||void 0===a||a;if("failed_and_ended"===l&&!o)return`${l}_no_enddate`;if("next_payment"===l&&!u)return`${l}_no_nextdate`;if("will_start"===l&&!r)return`${l}_no_startdate`;if("will_end"===l&&!o)return`${l}_no_enddate`;if("ended"===l&&!o)return`${l}_no_enddate`;if("will_end_after_payment"===l){if(!o&&!u)return"next_payment_no_nextdate";if(!u)return`${l}_no_nextdate`;if(!o)return`${l}_no_enddate`}return l}export{e as a,n as g};
@@ -664,8 +664,8 @@
664
664
  "tier_repeat": "price of next item",
665
665
  "tier_single": "order total",
666
666
  "tier_then": "then",
667
- "units_amount": "currency",
668
- "units_percentage": "percent",
667
+ "units_amount": "¤ amount",
668
+ "units_percentage": "% percentage",
669
669
  "quantity": "quantity",
670
670
  "total": "total",
671
671
  "reduce": "reduce",
@@ -815,8 +815,8 @@
815
815
  "tier_repeat": "price of next item",
816
816
  "tier_single": "order total",
817
817
  "tier_then": "then",
818
- "units_amount": "currency",
819
- "units_percentage": "percent",
818
+ "units_amount": "¤ amount",
819
+ "units_percentage": "% percentage",
820
820
  "quantity": "quantity",
821
821
  "total": "total",
822
822
  "reduce": "reduce",