FileMaster
Search
Toggle Dark Mode
Home
/
.
/
wp-content
/
plugins
/
surecart
/
dist
/
components
/
components
Edit File: sc-address2.js
import{proxyCustomElement,HTMLElement,createEvent,h}from"@stencil/core/internal/client";import{g as getCountryDetails,c as countryChoices}from"./address.js";import{r as reportChildrenValidity}from"./form-data.js";import{d as defineCustomElement$b}from"./sc-block-ui2.js";import{d as defineCustomElement$a}from"./dropdown.js";import{d as defineCustomElement$9}from"./sc-form-control2.js";import{d as defineCustomElement$8}from"./sc-icon2.js";import{d as defineCustomElement$7}from"./sc-input2.js";import{d as defineCustomElement$6}from"./sc-menu2.js";import{d as defineCustomElement$5}from"./sc-menu-item2.js";import{d as defineCustomElement$4}from"./sc-menu-label2.js";import{d as defineCustomElement$3}from"./sc-select2.js";import{d as defineCustomElement$2}from"./sc-spinner2.js";import{d as defineCustomElement$1}from"./sc-visually-hidden2.js";const scAddressCss=":host{display:block}.sc-address{display:block;position:relative}.sc-address [hidden]{display:none}.sc-address--loading{min-height:230px}.sc-address sc-skeleton{display:block;margin-bottom:1em}.sc-address__control{display:block}.sc-address__control>*{margin-bottom:var(--sc-address-column-spacing, -1px)}.sc-address__columns{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;justify-content:space-between}.sc-address__columns>*{flex:1;width:50%;margin-right:var(--sc-address-column-spacing, -1px)}.sc-address__columns>*:last-child{margin-right:0}",ScAddressStyle0=scAddressCss,DEFAULT_COUNTRY_FIELDS=[{name:"country",priority:30,label:wp.i18n.__("Country","surecart")},{name:"name",priority:40,label:wp.i18n.__("Name or Company Name","surecart")},{name:"line_1",priority:50,label:wp.i18n.__("Address","surecart")},{name:"line_2",priority:60,label:wp.i18n.__("Line 2","surecart")},{name:"city",priority:70,label:wp.i18n.__("City","surecart")},{name:"state",priority:80,label:wp.i18n.__("State / County","surecart")},{name:"postal_code",priority:90,label:wp.i18n.__("Postal Code","surecart")}],ScAddress=proxyCustomElement(class extends HTMLElement{constructor(){super(),this.__registerHost(),this.__attachShadow(),this.scChangeAddress=createEvent(this,"scChangeAddress",7),this.scInputAddress=createEvent(this,"scInputAddress",7),this.address={country:null,city:null,line_1:null,line_2:null,postal_code:null,state:null},this.names={name:"shipping_name",country:"shipping_country",city:"shipping_city",line_1:"shipping_line_1",line_2:"shipping_line_2",postal_code:"shipping_postal_code",state:"shipping_state"},this.loading=!1,this.disabled=void 0,this.label=void 0,this.showName=void 0,this.showLine2=void 0,this.required=!1,this.requireName=!1,this.showCity=!0,this.showPostal=!0,this.countryDetails=null,this.countryChoices=void 0}async handleAddressChange(){var e,s;(null===(e=this.address)||void 0===e?void 0:e.country)&&(this.countryDetails&&(null===(s=this.countryDetails)||void 0===s?void 0:s.code)===this.address.country||(this.countryDetails=await getCountryDetails(this.address.country)),this.scChangeAddress.emit(this.address),this.scInputAddress.emit(this.address))}handleNameChange(){this.requireName&&(this.showName=!0)}decodeHtmlEntities(e){var s;return(null===(s=(new DOMParser).parseFromString(e,"text/html"))||void 0===s?void 0:s.body.textContent)||e}updateAddress(e){this.address={...this.address,...e}}handleAddressInput(e){this.scInputAddress.emit({...this.address,...e})}clearAddress(){var e;this.address={name:null===(e=this.address)||void 0===e?void 0:e.name,country:null,city:null,line_1:null,line_2:null,postal_code:null,state:null}}componentWillLoad(){this.initCountryChoices(),this.handleAddressChange(),this.handleNameChange()}async initCountryChoices(){var e,s;this.countryChoices=await countryChoices();const t=(null===(s=null===(e=this.countryChoices)||void 0===e?void 0:e.find((e=>{var s;return e.value===(null===(s=this.address)||void 0===s?void 0:s.country)})))||void 0===s?void 0:s.value)||null;this.updateAddress({country:t})}async reportValidity(){return reportChildrenValidity(this.el)}sortedFields(){var e,s,t,i;return this.countryDetails&&(null===(e=null==this?void 0:this.address)||void 0===e?void 0:e.country)?(null===(i=null===(t=null===(s=null==this?void 0:this.countryDetails)||void 0===s?void 0:s.address_formats)||void 0===t?void 0:t.edit)||void 0===i?void 0:i.match(/{{([^}]+)}}/g).map((e=>e.slice(2,-2))).map((e=>{var s,t,i;return{name:e,label:(null===(t=null===(s=null==this?void 0:this.countryDetails)||void 0===s?void 0:s.address_labels)||void 0===t?void 0:t[e])||(null===(i=null==DEFAULT_COUNTRY_FIELDS?void 0:DEFAULT_COUNTRY_FIELDS.find((s=>(null==s?void 0:s.name)===e)))||void 0===i?void 0:i.label)}})))||[]:DEFAULT_COUNTRY_FIELDS}regions(){var e,s,t,i,l;let n=(null===(s=null===(e=null==this?void 0:this.countryDetails)||void 0===e?void 0:e.states)||void 0===s?void 0:s.map((e=>({value:null==e?void 0:e.code,label:null==e?void 0:e.name}))))||[];return(null===(i=null===(t=null===window||void 0===window?void 0:window.wp)||void 0===t?void 0:t.hooks)||void 0===i?void 0:i.applyFilters)&&(n=window.wp.hooks.applyFilters("surecart_address_regions",n,null===(l=null==this?void 0:this.address)||void 0===l?void 0:l.country)),n}getRoundedProps(e,s){const t=0===e,i=e===s-1;return{squaredTop:i,squaredBottom:t,squared:!i&&!t}}render(){var e,s;const t=null===(s=null!==(e=this.sortedFields())&&void 0!==e?e:[])||void 0===s?void 0:s.filter((e=>{var s,t,i,l;switch(e.name){case"name":return this.showName;case"line_2":return this.showLine2||!!(null===(t=null===(s=null==this?void 0:this.address)||void 0===s?void 0:s.line_2)||void 0===t?void 0:t.length);case"city":return this.showCity;case"state":return!!(null===(i=null==this?void 0:this.regions())||void 0===i?void 0:i.length)&&!!(null===(l=null==this?void 0:this.address)||void 0===l?void 0:l.country);case"postal_code":return this.showPostal;default:return!0}}));return h("div",{class:"sc-address",part:"base"},h("sc-form-control",{label:this.label,exportparts:"label, help-text, form-control",class:"sc-address__control",required:this.required},t.map(((e,s)=>{var i,l,n,a,d,r,o,u,c,m,p,v,_,b,y,g,C;const f=this.getRoundedProps(s,t.length);switch(e.name){case"country":return h("sc-select",{exportparts:"base:select__base, input, form-control, label, help-text, trigger, panel, caret, search__base, search__input, search__form-control, menu__base, spinner__base, empty",part:"name__input",value:null===(i=this.address)||void 0===i?void 0:i.country,onScChange:e=>{var s;e.target.value!==(null===(s=this.address)||void 0===s?void 0:s.country)&&(this.clearAddress(),this.updateAddress({country:e.target.value}))},choices:this.countryChoices,autocomplete:"country-name",placeholder:e.label,name:null===(l=this.names)||void 0===l?void 0:l.country,search:!0,unselect:!1,disabled:this.disabled,required:this.required,"aria-label":e.label,...f});case"name":return h("sc-input",{exportparts:"base:input__base, input, form-control, label, help-text",value:null===(n=null==this?void 0:this.address)||void 0===n?void 0:n.name,onScChange:e=>this.updateAddress({name:e.target.value||null}),onScInput:e=>this.handleAddressInput({name:e.target.value||null}),autocomplete:"street-address",placeholder:e.label,name:null===(a=this.names)||void 0===a?void 0:a.name,disabled:this.disabled,required:this.requireName,"aria-label":e.label,...f});case"line_1":return h("sc-input",{exportparts:"base:input__base, input, form-control, label, help-text",value:null===(d=null==this?void 0:this.address)||void 0===d?void 0:d.line_1,onScChange:e=>this.updateAddress({line_1:e.target.value||null}),onScInput:e=>this.handleAddressInput({line_1:e.target.value||null}),autocomplete:"street-address",placeholder:e.label,name:null===(r=this.names)||void 0===r?void 0:r.line_1,disabled:this.disabled,required:this.required,"aria-label":e.label,...f});case"line_2":return h("sc-input",{exportparts:"base:input__base, input, form-control, label, help-text",value:null===(o=null==this?void 0:this.address)||void 0===o?void 0:o.line_2,onScChange:e=>this.updateAddress({line_2:e.target.value||null}),onScInput:e=>this.handleAddressInput({line_2:e.target.value||null}),autocomplete:"street-address",placeholder:e.label,name:null===(u=this.names)||void 0===u?void 0:u.line_2,disabled:this.disabled,"aria-label":e.label,...f});case"city":return h("sc-input",{exportparts:"base:input__base, input, form-control, label, help-text",placeholder:e.label,name:null===(c=this.names)||void 0===c?void 0:c.city,value:null===(m=null==this?void 0:this.address)||void 0===m?void 0:m.city,onScChange:e=>this.updateAddress({city:e.target.value||null}),onScInput:e=>this.handleAddressInput({city:e.target.value||null}),required:this.required,disabled:this.disabled,"aria-label":e.label,...f});case"state":return h("sc-select",{exportparts:"base:select__base, input, form-control, label, help-text, trigger, panel, caret, search__base, search__input, search__form-control, menu__base, spinner__base, empty",placeholder:e.label,name:null===(p=this.names)||void 0===p?void 0:p.state,autocomplete:"address-level1",value:null===(v=null==this?void 0:this.address)||void 0===v?void 0:v.state,onScChange:e=>{var s;return this.updateAddress({state:e.target.value||(null===(s=e.detail)||void 0===s?void 0:s.value)||null})},choices:this.regions(),required:this.required,disabled:this.disabled,search:!0,"aria-label":e.label,...f});case"postal_code":return h("sc-input",{exportparts:"base:input__base, input, form-control, label, help-text",placeholder:e.label,name:null===(_=this.names)||void 0===_?void 0:_.postal_code,onScChange:e=>this.updateAddress({postal_code:e.target.value||null}),onScInput:e=>this.handleAddressInput({postal_code:e.target.value||null}),autocomplete:"postal-code",required:this.required,value:null===(b=null==this?void 0:this.address)||void 0===b?void 0:b.postal_code,disabled:this.disabled,maxlength:"US"===(null===(y=this.address)||void 0===y?void 0:y.country)?5:void 0,pattern:(null===(g=this.countryDetails)||void 0===g?void 0:g.postal_code_regex)||void 0,customValidity:(null===(C=this.countryDetails)||void 0===C?void 0:C.postal_code_regex)?wp.i18n.__("Please enter a valid postal code","surecart"):void 0,"aria-label":e.label,...f});default:return null}}))),this.loading&&h("sc-block-ui",{exportparts:"base:block-ui, content:block-ui__content"}))}get el(){return this}static get watchers(){return{address:["handleAddressChange"],requireName:["handleNameChange"]}}static get style(){return ScAddressStyle0}},[1,"sc-address",{address:[1040],names:[16],loading:[4],disabled:[4],label:[1],showName:[1540,"show-name"],showLine2:[4,"show-line-2"],required:[516],requireName:[516,"require-name"],showCity:[32],showPostal:[32],countryDetails:[32],countryChoices:[32],initCountryChoices:[64],reportValidity:[64]},void 0,{address:["handleAddressChange"],requireName:["handleNameChange"]}]);function defineCustomElement(){"undefined"!=typeof customElements&&["sc-address","sc-block-ui","sc-dropdown","sc-form-control","sc-icon","sc-input","sc-menu","sc-menu-item","sc-menu-label","sc-select","sc-spinner","sc-visually-hidden"].forEach((e=>{switch(e){case"sc-address":customElements.get(e)||customElements.define(e,ScAddress);break;case"sc-block-ui":customElements.get(e)||defineCustomElement$b();break;case"sc-dropdown":customElements.get(e)||defineCustomElement$a();break;case"sc-form-control":customElements.get(e)||defineCustomElement$9();break;case"sc-icon":customElements.get(e)||defineCustomElement$8();break;case"sc-input":customElements.get(e)||defineCustomElement$7();break;case"sc-menu":customElements.get(e)||defineCustomElement$6();break;case"sc-menu-item":customElements.get(e)||defineCustomElement$5();break;case"sc-menu-label":customElements.get(e)||defineCustomElement$4();break;case"sc-select":customElements.get(e)||defineCustomElement$3();break;case"sc-spinner":customElements.get(e)||defineCustomElement$2();break;case"sc-visually-hidden":customElements.get(e)||defineCustomElement$1()}}))}export{ScAddress as S,defineCustomElement as d};
Save
Back