| @@ -1 +1,5 @@ | ||
| 1 | -var We=Object.defineProperty;var ze=(l,e,s)=>e in l?We(l,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):l[e]=s;var _e=(l,e,s)=>ze(l,typeof e!="symbol"?e+"":e,s);import{h as S,l as z,v as re,i as ve,r as M,c as P,o,w as r,d as t,e as m,a,u as w,n as Z,F,t as n,b as A,g as H,f as $,m as He,q as Te,k as Oe,K as Ke,z as Ze,G as Qe}from"./vue.esm-bundler.js?ver=1.3.26";import{_ as he}from"./_plugin-vue_export-helper.js?ver=1.3.26";import{B as Ge}from"./Badge.js?ver=1.3.26";import{_ as Ye}from"./Empty.js?ver=1.3.26";import{b as Je}from"./common.js?ver=1.3.26";import{a as K,b as ge,_ as ce,C as Xe}from"./CopyToClipboard.js?ver=1.3.26";import{I as ye}from"./IconButton.js?ver=1.3.26";import{_ as R}from"./DynamicIcon.js?ver=1.3.26";import{t as g,a as me}from"./Translator.js?ver=1.3.26";import{_ as et,C as Ue,c as Ne,d as Pe}from"./CardBody.js?ver=1.3.26";import{A as Be}from"./Arr.js?ver=1.3.26";import{A as tt}from"./Asset.js?ver=1.3.26";import{n as N}from"./Notify.js?ver=1.3.26";import{R as Q}from"./Rest.js?ver=1.3.26";import{L as De,u as st}from"./NotFound.js?ver=1.3.26";import{f as je}from"./index.js?ver=1.3.26";import{f as lt}from"./productService.js?ver=1.3.26";const at={class:"fct-customer-edit-modal"},ot={class:"fct-compact-form"},dt={class:"form-heading"},nt={class:"fct-compact-form fct-customer-address-section"},rt={key:0,class:"mt-5"},it={key:1,class:"form-error-wrap"},ut={class:"dialog-footer"},ct={__name:"NewCustomerModal",props:{customer_id:{type:[String,Number],default:null},customer:{type:Object,default:()=>({})},customerModalInfos:{type:Object,default:()=>({})}},emits:["close-modal","select-new-customer","update:customerModal"],setup(l,{emit:e}){const s=e,f=l,C=S({}),i=S(!1),_=S({}),y=window.fluentCartAdminApp,V=()=>{s("close-modal")},k=()=>{i.value=!0,C.value.wp_user=f.customerModalInfos.manageWpUser,Q.post("customers/",{...C.value}).then(v=>{s("select-new-customer",v.data),s("update:customerModal",!1),N.success(v.message),_.value={}}).catch(v=>{var h;v.status_code=="422"?(N.validationErrors(v),_.value=v.data):N.error((h=v.data)==null?void 0:h.message)}).finally(()=>{i.value=!1})},O=()=>{i.value=!0,C.value.wp_user=f.customerModalInfos.manageWpUser,Q.put("customers/"+f.customer_id,{...C.value}).then(v=>{s("select-new-customer",v.data),s("update:customerModal",!1),N.success(v.message),_.value={}}).catch(v=>{var h;v.status_code=="422"?(N.validationErrors(v),_.value=v.data):N.error((h=v.data)==null?void 0:h.message)}).finally(()=>{i.value=!1})},I=z(()=>f.customerModalInfos.action==="create"?g("Create as wordpress user"):g("Update wordpress user profile")),B=z(()=>f.customerModalInfos.action==="edit"?g("Update Customer"):g("Create Customer")),T=z(()=>{const v={};for(const h in _.value){const u=_.value[h];v[h]=Array.isArray(u)?u:Object.values(u)}return v});return re(()=>f.customer,v=>{C.value={id:v.id,email:v.email,full_name:v.full_name,first_name:v.first_name,last_name:v.last_name,state:v.state,city:v.city,country:v.country,postcode:v.postcode,country_name:v.country_name,contact_id:v.contact_id,user_id:v.user_id,wp_user:v.wp_user}},{deep:!0}),ve(()=>{C.value={id:f.customer.id,email:f.customer.email,full_name:f.customer.full_name,first_name:f.customer.first_name,last_name:f.customer.last_name,state:f.customer.state,city:f.customer.city,country:f.customer.country,postcode:f.customer.postcode,country_name:f.customer.country_name,contact_id:f.customer.contact_id,user_id:f.customer.user_id,wp_user:f.customer.wp_user}}),(v,h)=>{const u=M("el-checkbox"),L=M("el-button"),U=M("el-dialog");return o(),P(U,{modelValue:l.customerModalInfos.showModal,"onUpdate:modelValue":h[8]||(h[8]=b=>l.customerModalInfos.showModal=b),title:l.customerModalInfos.title,onClose:h[9]||(h[9]=()=>{_.value={}})},{default:r(()=>[t("div",at,[t("div",ot,[w(y).is_full_name_required?(o(),P(K,{key:0,label:w(g)("Full Name *"),modelValue:C.value.full_name,"onUpdate:modelValue":h[0]||(h[0]=b=>C.value.full_name=b),class:Z(_.value.full_name?"is-error":"")},null,8,["label","modelValue","class"])):(o(),m(F,{key:1},[a(K,{label:w(g)("First Name *"),modelValue:C.value.first_name,"onUpdate:modelValue":h[1]||(h[1]=b=>C.value.first_name=b),class:Z(_.value.first_name?"is-error":"")},null,8,["label","modelValue","class"]),a(K,{label:w(g)("Last Name"),modelValue:C.value.last_name,"onUpdate:modelValue":h[2]||(h[2]=b=>C.value.last_name=b),class:Z(_.value.last_name?"is-error":"")},null,8,["label","modelValue","class"])],64)),a(K,{type:"email",label:w(g)("Email *"),modelValue:C.value.email,"onUpdate:modelValue":h[3]||(h[3]=b=>C.value.email=b),disabled:l.customer.user_id&&l.customer.user_id!=0,class:Z(_.value.email?"is-error":"")},null,8,["label","modelValue","disabled","class"])]),t("h4",dt,n(w(g)("Address")),1),t("div",nt,[a(ge,{modelValue:C.value,"onUpdate:modelValue":h[4]||(h[4]=b=>C.value=b),validationErrors:_.value},null,8,["modelValue","validationErrors"]),l.customerModalInfos.action==="create"?(o(),m("div",rt,[a(u,{"true-value":"yes","false-value":"no",modelValue:l.customerModalInfos.manageWpUser,"onUpdate:modelValue":h[5]||(h[5]=b=>l.customerModalInfos.manageWpUser=b)},{default:r(()=>[a(De,{title:I.value,content:w(g)("We will create a new user for this customer. If a user with the same email already exists, we will associate the customer with that existing user.")},null,8,["title","content"])]),_:1},8,["modelValue"])])):A("",!0),Object.keys(_.value).length?(o(),m("div",it,[(o(!0),m(F,null,H(T.value,(b,D)=>(o(),m("p",{key:D},[(o(!0),m(F,null,H(b,G=>(o(),m("span",{key:G},n(G),1))),128))]))),128))])):A("",!0)]),t("div",ut,[a(L,{onClick:V},{default:r(()=>[$(n(w(g)("Cancel")),1)]),_:1}),l.customerModalInfos.action==="edit"?(o(),P(L,{key:0,loading:i.value,type:"primary",onClick:h[6]||(h[6]=b=>O())},{default:r(()=>[$(n(B.value),1)]),_:1},8,["loading"])):(o(),P(L,{key:1,type:"primary",loading:i.value,onClick:h[7]||(h[7]=b=>k())},{default:r(()=>[$(n(B.value),1)]),_:1},8,["loading"]))])])]),_:1},8,["modelValue","title"])}}};class mt{constructor(){_e(this,"allPermissions",[]);this.allPermissions=Be.get(window,"fluentCartAdminApp.app_config.permissions",[])}isSuperAdmin(){return this.allPermissions.includes("is_super_admin")}has(e){return this.isSuperAdmin()?!0:this.allPermissions.includes(e)}hasAny(e){return this.isSuperAdmin()?!0:Array.isArray(e)&&e.some(s=>this.allPermissions.includes(s))}hasAll(e){return this.isSuperAdmin()?!0:Array.isArray(e)&&e.every(s=>this.allPermissions.includes(s))}resolve({permission:e,permissionType:s}){const f=s==="all"?"all":"any",C=Array.isArray(e)?e:typeof e=="string"?e.split(",").map(i=>i.trim()):[];return f==="all"?this.hasAll(C):this.hasAny(C)}}const pt=new mt,Fe={__name:"UserCan",props:{permission:{type:[String,Array],required:!0},permissionType:{type:String,default:"any"}},setup(l){const e=l,s=z(()=>pt.resolve({permission:e.permission,permissionType:e.permissionType}));return(f,C)=>s.value?He(f.$slots,"default",{key:0}):A("",!0)}},_t={name:"OrderUpDownIndicator",props:{order:{type:Object,required:!0}},data(){var l,e;return{upgradeToId:((l=this.order.config)==null?void 0:l.upgraded_to)||null,upgradeFromId:((e=this.order.config)==null?void 0:e.upgraded_from)||null}}},ft={key:0,class:"ml-2"};function vt(l,e,s,f,C,i){const _=M("el-icon"),y=M("el-button"),V=M("router-link"),k=M("el-tooltip");return C.upgradeFromId||C.upgradeToId?(o(),m("span",ft,[C.upgradeFromId?(o(),P(k,{key:0,trigger:"click"},{content:r(()=>[$(n(l.$t("This order has been upgraded from"))+" ",1),a(V,{to:{name:"view_order",params:{order_id:C.upgradeFromId}}},{default:r(()=>[t("strong",null,"#"+n(C.upgradeFromId),1)]),_:1},8,["to"])]),default:r(()=>[a(y,{text:""},{default:r(()=>[a(_,null,{default:r(()=>e[0]||(e[0]=[t("svg",{viewBox:"0 0 24 24",width:"24",height:"24",color:"currentColor",fill:"none"},[t("defs"),t("path",{fill:"currentColor",d:"M11.943,1.75 L12.057,1.75 C14.248,1.75 15.969,1.75 17.312,1.931 C18.689,2.116 19.781,2.503 20.639,3.361 C21.497,4.219 21.884,5.311 22.069,6.688 C22.25,8.031 22.25,9.752 22.25,11.943 L22.25,12.057 C22.25,14.248 22.25,15.969 22.069,17.312 C21.884,18.689 21.497,19.781 20.639,20.639 C19.781,21.497 18.689,21.884 17.312,22.069 C15.969,22.25 14.248,22.25 12.057,22.25 L11.943,22.25 C9.752,22.25 8.031,22.25 6.688,22.069 C5.311,21.884 4.219,21.497 3.361,20.639 C2.503,19.781 2.116,18.689 1.931,17.312 C1.75,15.969 1.75,14.248 1.75,12.057 L1.75,11.943 C1.75,9.752 1.75,8.031 1.931,6.688 C2.116,5.311 2.503,4.219 3.361,3.361 C4.219,2.503 5.311,2.116 6.688,1.931 C8.031,1.75 9.752,1.75 11.943,1.75 L11.943,1.75 Z M4.422,4.422 C3.889,4.955 3.58,5.678 3.417,6.888 C3.252,8.12 3.25,9.74 3.25,12 C3.25,14.26 3.252,15.88 3.417,17.112 C3.58,18.322 3.889,19.045 4.422,19.578 C4.955,20.111 5.678,20.42 6.888,20.583 C8.12,20.748 9.74,20.75 12,20.75 C14.26,20.75 15.88,20.748 17.112,20.583 C18.322,20.42 19.045,20.111 19.578,19.578 C20.111,19.045 20.42,18.322 20.583,17.112 C20.748,15.88 20.75,14.26 20.75,12 C20.75,9.74 20.748,8.12 20.583,6.888 C20.42,5.678 20.111,4.955 19.578,4.422 C19.045,3.889 18.322,3.58 17.112,3.417 C15.88,3.252 14.26,3.25 12,3.25 C9.74,3.25 8.12,3.252 6.888,3.417 C5.678,3.58 4.955,3.889 4.422,4.422 Z M10.038,11.023 C9.749,11.32 9.274,11.326 8.977,11.038 C8.68,10.749 8.673,10.274 8.962,9.977 C9.051,9.886 9.197,9.704 9.41,9.433 L9.457,9.373 C9.647,9.131 9.87,8.847 10.099,8.576 C10.346,8.285 10.621,7.983 10.897,7.749 C11.035,7.631 11.19,7.515 11.358,7.425 C11.519,7.339 11.742,7.25 12,7.25 C12.258,7.25 12.481,7.339 12.642,7.425 C12.81,7.515 12.965,7.631 13.103,7.749 C13.379,7.983 13.654,8.285 13.901,8.576 C14.13,8.847 14.353,9.131 14.543,9.373 L14.543,9.373 L14.59,9.433 C14.804,9.704 14.949,9.886 15.038,9.977 C15.326,10.274 15.32,10.749 15.023,11.038 C14.726,11.326 14.251,11.32 13.962,11.023 C13.805,10.861 13.603,10.604 13.411,10.359 L13.366,10.302 C13.173,10.057 12.967,9.794 12.756,9.545 L12.75,9.538 L12.75,16 C12.75,16.414 12.414,16.75 12,16.75 C11.586,16.75 11.25,16.414 11.25,16 L11.25,9.538 L11.244,9.545 C11.033,9.794 10.827,10.057 10.634,10.302 L10.634,10.302 L10.589,10.359 C10.397,10.604 10.195,10.861 10.038,11.023 Z"})],-1)])),_:1,__:[0]})]),_:1})]),_:1})):A("",!0),C.upgradeToId?(o(),P(k,{key:1,trigger:"click"},{content:r(()=>[$(n(l.$t("This order has been upgraded to"))+" ",1),a(V,{to:{name:"view_order",params:{order_id:C.upgradeToId}}},{default:r(()=>[t("strong",null,"#"+n(C.upgradeToId),1)]),_:1},8,["to"])]),default:r(()=>[a(y,{text:""},{default:r(()=>[a(_,null,{default:r(()=>e[1]||(e[1]=[t("svg",{viewBox:"0 0 24 24",width:"24",height:"24",color:"currentColor",fill:"none"},[t("defs"),t("path",{fill:"currentColor",d:"M3.367,20.63 C1.756,19.02 1.756,16.672 1.756,11.995 L1.756,11.995 C1.756,7.317 1.756,4.97 3.367,3.359 C4.976,1.75 7.324,1.75 12.002,1.75 C16.68,1.75 19.026,1.75 20.637,3.359 C22.247,4.97 22.247,7.318 22.247,11.996 C22.247,16.674 22.247,19.022 20.637,20.631 C19.026,22.242 16.678,22.242 12,22.242 L12.003,22.241 C7.326,22.241 4.976,22.241 3.367,20.63 Z M4.427,4.418 C3.256,5.59 3.256,7.73 3.256,11.994 L3.256,11.995 C3.256,16.259 3.256,18.399 4.427,19.569 C5.597,20.741 7.738,20.741 12.003,20.741 C16.269,20.741 18.408,20.741 19.58,19.569 C20.75,18.399 20.75,16.259 20.75,11.993 L20.75,11.993 C20.75,7.727 20.75,5.588 19.58,4.417 C18.408,3.247 16.268,3.247 12.005,3.247 L12.003,3.248 C7.739,3.248 5.599,3.248 4.427,4.418 Z M12.024,8.951 C12.121,9.047 12.306,9.198 12.578,9.415 L12.654,9.476 L12.654,9.476 C12.894,9.667 13.172,9.888 13.437,10.117 C13.727,10.367 14.029,10.648 14.262,10.932 C14.432,11.139 14.661,11.456 14.726,11.834 C14.729,11.85 14.732,11.866 14.734,11.883 C14.741,11.94 14.745,11.999 14.745,12.059 C14.744,12.083 14.743,12.106 14.74,12.13 C14.693,12.568 14.41,12.933 14.199,13.168 C13.96,13.435 13.661,13.696 13.375,13.93 C13.152,14.112 12.918,14.292 12.71,14.452 C12.651,14.497 12.594,14.541 12.541,14.582 C12.277,14.786 12.109,14.923 12.027,15.007 C11.739,15.305 11.264,15.312 10.967,15.024 C10.669,14.735 10.662,14.26 10.95,13.963 C11.121,13.787 11.382,13.582 11.623,13.396 C11.684,13.349 11.745,13.302 11.807,13.254 C12.012,13.097 12.222,12.935 12.427,12.768 L12.483,12.722 L6.995,12.715 C6.581,12.715 6.246,12.379 6.246,11.964 C6.247,11.55 6.583,11.215 6.997,11.215 L12.422,11.222 C12.191,11.024 11.949,10.832 11.718,10.648 L11.718,10.648 L11.643,10.588 C11.396,10.391 11.134,10.181 10.965,10.012 C10.672,9.72 10.671,9.245 10.964,8.952 C11.257,8.659 11.731,8.658 12.024,8.951 Z M17.754,8.001 L17.745,15.993 C17.744,16.407 17.408,16.743 16.994,16.742 C16.58,16.742 16.244,16.405 16.245,15.991 L16.254,7.999 C16.255,7.585 16.591,7.25 17.005,7.25 C17.419,7.25 17.755,7.587 17.754,8.001 Z"})],-1)])),_:1,__:[1]})]),_:1})]),_:1})):A("",!0)])):A("",!0)}const na=he(_t,[["render",vt]]),pe=class pe{static emptyImage(e=!1){return pe.assetUrl()+(e?"images/empty-image-dark.svg":"images/empty-image.svg")}};_e(pe,"assetUrl",()=>tt.url());let fe=pe;const ht={components:{DynamicIcon:R},props:{product:{type:Object},hideProductId:{type:Boolean,default:!1},hideViewIcon:{type:Boolean,default:!1},hideImage:{type:Boolean,default:!1}},data(){return{}},methods:{translate:g,translateNumber:me,getImage(l,e=!1){return Be.get(l,"featured_media.url")??fe.emptyImage(e)}}},gt={class:"fct-product-info-card w-full"},yt={key:0,class:"fct-product-info-media"},bt=["src","alt"],Ct=["src","alt"],At={class:"fct-product-info-details"},wt={class:"fct-product-info-name"},kt={class:"product-name"},$t={class:"product-name-inner"},Mt=["href"],Lt={key:0,class:"product-id"},It={key:1,class:"product-sub-name"};function Vt(l,e,s,f,C,i){var y,V,k,O,I,B,T,v,h;const _=M("DynamicIcon");return o(),m("div",gt,[s.hideImage?A("",!0):(o(),m("div",yt,[t("span",null,[t("img",{class:"block dark:hidden",src:i.getImage((y=s.product)==null?void 0:y.detail),alt:(V=s.product)==null?void 0:V.post_title},null,8,bt),t("img",{class:"hidden dark:block",src:i.getImage((k=s.product)==null?void 0:k.detail,!0),alt:(O=s.product)==null?void 0:O.post_title},null,8,Ct)])])),t("div",At,[t("div",wt,[t("span",kt,[t("span",$t,n(((I=s.product)==null?void 0:I.post_title)||i.translate("No Name")),1),s.hideViewIcon?A("",!0):(o(),m("a",{key:0,class:"view-link right-1",target:"_blank",href:(B=s.product)==null?void 0:B.view_url,onClick:e[0]||(e[0]=Te(()=>{},["stop"]))},[a(_,{class:"w-5 h-5",name:"Eye"})],8,Mt))]),s.hideProductId?A("",!0):(o(),m("span",Lt," #"+n(i.translateNumber((T=s.product)==null?void 0:T.ID)),1)),(v=s.product)!=null&&v.variation_title?(o(),m("span",It," – "+n((h=s.product)==null?void 0:h.variation_title),1)):A("",!0)])])])}const Et=he(ht,[["render",Vt]]),St={name:"LicenseTable",components:{ProductInfo:Et,UserCan:Fe,RouteCell:et,DynamicIcon:R,IconButton:ye,CopyToClipboard:ce,Empty:Ye,Badge:Ge},props:{licenses:{type:Array,required:!0},columns:{type:Array,default(){return["product","order_id","customer","date"]}}},computed:{Clipboard(){return Xe},formattedLicense(){return this.licenses.map(l=>{var e;return{...l,product:{...l.product,variation_title:((e=l.product_variant)==null?void 0:e.variation_title)||"n/a"}}})}},methods:{translate:g,formatDate:Je,translateNumber:me,getProductName(l){var e,s;return(e=l==null?void 0:l.product)!=null&&e.post_title?(s=l==null?void 0:l.product)==null?void 0:s.post_title:"n/a"},getProductVariationName(l){var e,s;return(e=l==null?void 0:l.product_variant)!=null&&e.variation_title?(s=l==null?void 0:l.product_variant)==null?void 0:s.variation_title:"n/a"}}},xt={class:"fct_licenses_table hide-on-mobile"},Tt={class:"fct-license-key-wrap flex flex-col"},Ot={class:"fct-license-key max-w-full pr-1"},Ut={class:"fct-license-key-inner pr-2"},Nt={key:0},Pt={key:1},Bt={class:"fct_licenses_table_mobile"},Dt={class:"fct-table-mobile-wrap"},jt=["onClick"],Ft={class:"fct-table-mobile-header-left"},Rt={class:"fct-table-status-col"},qt={class:"fct-table-activations-col"},Wt={class:"fct-table-mobile-body"},zt=["onClick"],Ht={class:"fct-license-key-wrap has-bg"},Kt={class:"fct-license-key"},Zt={class:"fct-license-key-inner pr-2"};function Qt(l,e,s,f,C,i){const _=M("Badge"),y=M("router-link"),V=M("DynamicIcon"),k=M("el-tooltip"),O=M("el-table-column"),I=M("ProductInfo"),B=M("RouteCell"),T=M("Empty"),v=M("el-table"),h=M("UserCan");return o(),P(h,{permission:"licenses/view"},{default:r(()=>[t("div",xt,[a(v,{data:i.formattedLicense,class:"w-full compact-table"},{empty:r(()=>[a(T,{icon:"Empty/ListView","has-dark":!0,text:i.translate("No Licenses found based on your filter")},null,8,["text"])]),default:r(()=>[a(O,{label:i.translate("License Key"),width:200},{default:r(u=>{var L;return[t("div",Tt,[t("span",null,[(o(),P(_,{status:u.row.status,key:u.row.id},null,8,["status"]))]),t("span",Ot,[t("span",Ut,[a(y,{class:"link",to:{name:"view_license",params:{license_id:(L=u.row)==null?void 0:L.id}}},{default:r(()=>[$(n(u.row.license_key),1)]),_:2},1032,["to"])]),a(k,{content:u.row.license_key,placement:"top","popper-class":"fct-tooltip"},{default:r(()=>[a(V,{class:"cursor-pointer p-1 w-6 h-6 flex-none",name:"Copy",onClick:()=>{i.Clipboard.copy(u.row.license_key,{successMessage:i.translate("License Key copied to clipboard"),errorMessage:i.translate("Failed to copy License Key")})}},null,8,["onClick"])]),_:2},1032,["content"])])])]}),_:1},8,["label"]),s.columns.indexOf("product")!==-1?(o(),P(O,{key:0,width:200,label:i.translate("Product")},{default:r(u=>{var L;return[a(B,{class:"link block hover:no-underline",to:{name:"view_license",params:{license_id:(L=u.row)==null?void 0:L.id}}},{default:r(()=>[a(I,{product:u.row.product,hideProductId:!0,hideViewIcon:!0,hideImage:!0},null,8,["product"])]),_:2},1032,["to"])]}),_:1},8,["label"])):A("",!0),s.columns.indexOf("order_id")!==-1?(o(),P(O,{key:1,width:80,label:i.translate("Order ID")},{default:r(u=>[a(B,{class:"link order_id block hover:no-underline relative w-full",to:{name:"view_order",params:{order_id:u.row.order_id}}},{default:r(()=>[a(y,{class:"link absolute left-1/2 top-1/2 translate-x-[calc(-50%-16px)] translate-y-[-50%]",to:{name:"view_order",params:{order_id:u.row.order_id}}},{default:r(()=>[$(" #"+n(u.row.order_id),1)]),_:2},1032,["to"])]),_:2},1032,["to"])]),_:1},8,["label"])):A("",!0),s.columns.indexOf("customer")!==-1?(o(),P(O,{key:2,width:100,label:i.translate("Customer")},{default:r(u=>[a(y,{class:"link",to:{name:"view_customer",params:{customer_id:u.row.customer_id}}},{default:r(()=>{var L,U;return[$(n(((U=(L=u.row)==null?void 0:L.customer)==null?void 0:U.full_name)||i.translate("No Name")),1)]}),_:2},1032,["to"])]),_:1},8,["label"])):A("",!0),a(O,{width:90,label:i.translate("Activations")},{default:r(u=>{var L;return[a(B,{class:"link block hover:no-underline relative w-full",to:{name:"view_license",params:{license_id:(L=u.row)==null?void 0:L.id}}},{default:r(()=>[$(n(i.translateNumber(u.row.activation_count))+" / "+n(u.row.limit==0?"Unlimited":u.row.limit),1)]),_:2},1032,["to"])]}),_:1},8,["label"]),s.columns.indexOf("date")!==-1?(o(),P(O,{key:3,width:140,label:i.translate("Date")},{default:r(u=>{var L;return[a(B,{class:"block hover:no-underline w-full",to:{name:"view_license",params:{license_id:(L=u.row)==null?void 0:L.id}}},{default:r(()=>[t("div",null,[t("span",null,n(i.formatDate(u.row.created_at)),1),e[0]||(e[0]=t("span",{class:"text-gray-300 px-2"},"–",-1)),u.row.expiration_date?(o(),m("span",Nt,n(i.formatDate(u.row.expiration_date)),1)):(o(),m("span",Pt,n(i.translate("Lifetime")),1))])]),_:2},1032,["to"])]}),_:1},8,["label"])):A("",!0)]),_:1},8,["data"])]),t("div",Bt,[t("div",Dt,[(o(!0),m(F,null,H(i.formattedLicense,(u,L)=>(o(),m("div",{key:L,class:"fct-table-mobile-row"},[t("div",{class:"fct-table-mobile-header",onClick:U=>l.$router.push({name:"view_license",params:{license_id:u==null?void 0:u.id}})},[t("div",Ft,[t("div",Rt,[(o(),P(_,{status:u.status,key:u.id},null,8,["status"]))]),t("div",qt,n(u.activation_count)+" / "+n(u.limit==0?"Unlimited":u.limit),1)])],8,jt),t("div",Wt,[t("div",{class:"fct-table-product-col",onClick:U=>l.$router.push({name:"view_license",params:{license_id:u==null?void 0:u.id}})},[a(I,{product:u.product,hideProductId:!0,hideViewIcon:!0,hideImage:!0},null,8,["product"])],8,zt),t("div",Ht,[t("div",Kt,[t("div",Zt,[a(y,{class:"link",to:{name:"view_license",params:{license_id:u==null?void 0:u.id}}},{default:r(()=>[$(n(u.license_key),1)]),_:2},1032,["to"])]),a(V,{class:"cursor-pointer p-1 w-6 h-6",name:"Copy",onClick:()=>{i.Clipboard.copy(u.license_key,{successMessage:i.translate("License Key copied to clipboard"),errorMessage:i.translate("Failed to copy License Key")})}},null,8,["onClick"])])])])]))),128))])])]),_:1})}const ra=he(St,[["render",Qt]]),Gt={class:"fct_edit_customer_popup"},Yt={class:"form-error-wrap"},Jt=["innerHTML"],Xt={class:"dialog-footer"},Re=Object.assign({name:"AddOrEditAddressModal"},{__name:"AddOrEditAddressModal",props:["customer_id","modalAction","address","showAddressModal","order_id","customerAddressModalInfos","showSetAsAlsoCheckbox","closing_modal"],emits:["close-modal","update:refresh-address"],setup(l,{emit:e}){const s=l,f=e;S([]);const C=S(!1),i=S({}),_=S(!1),y=S(!1),V=S(!1);S(null);const k=S({...s.address??{}}),O=Oe().ctx;st().onSave(()=>{s.showAddressModal&&["billing","shipping"].includes(s.modalAction.type)&&(s.modalAction.action==="edit"&&O.address.id!==""?v():s.modalAction.action==="create"&&T())});const B=h=>{let u="";for(const L in h){const U=h[L],b=Object.values(U);u+=b+" </br>"}return u},T=()=>{_.value=!0;const h=k.value;let u={type:s.modalAction.type,customer_id:s.customer_id,order_id:s.order_id??null},L={...h,...u};L.sync=V.value,Q.post("customers/"+s.customer_id+"/address",{...L}).then(U=>{f("update:refresh-address",!1,U.data),N.success(U.message),i.value={}}).catch(U=>{var b;U.status_code=="422"?(N.validationErrors(U),i.value=U.data):N.error((b=U.data)==null?void 0:b.message)}).finally(()=>{C.value=!1,_.value=!1})},v=()=>{y.value=!0,s.address;let u={...{type:s.modalAction.type,customer_id:s.customer_id,is_primary:s.address.is_primary,id:s.address.id,order_id:s.order_id&&s.address.is_primary==1?s.order_id:null},...k.value};Q.put("customers/"+s.customer_id+"/address",{...u}).then(L=>{V.value,f("update:refresh-address",!1,L.data),N.success(L.message),i.value={}}).catch(L=>{var U;L.status_code=="422"?(N.validationErrors(L),i.value=L):N.error((U=L.data)==null?void 0:U.message)}).finally(()=>{C.value=!1,y.value=!1})};return re(()=>s.closing_modal,(h,u)=>{h&&(i.value={})}),(h,u)=>{const L=M("el-form"),U=M("el-checkbox"),b=M("el-button");return o(),m("div",Gt,[a(L,{"label-position":"top",class:"fct-compact-form","require-asterisk-position":"right"},{default:r(()=>[a(K,{label:w(g)("Address Label"),class:Z(i.value.hasOwnProperty("label")?"is-error":""),modelValue:k.value.label,"onUpdate:modelValue":u[0]||(u[0]=D=>k.value.label=D)},null,8,["label","class","modelValue"]),a(K,{label:w(g)("Name"),required:"",class:Z(i.value.hasOwnProperty("name")?"is-error":""),modelValue:k.value.name,"onUpdate:modelValue":u[1]||(u[1]=D=>k.value.name=D)},null,8,["label","class","modelValue"]),a(K,{label:w(g)("Email"),required:"",class:Z(i.value.hasOwnProperty("email")?"is-error":""),modelValue:k.value.email,"onUpdate:modelValue":u[2]||(u[2]=D=>k.value.email=D)},null,8,["label","class","modelValue"]),a(K,{label:w(g)("Company Name"),required:"",class:Z(i.value.hasOwnProperty("company_name")?"is-error":""),modelValue:k.value.company_name,"onUpdate:modelValue":u[3]||(u[3]=D=>k.value.company_name=D)},null,8,["label","class","modelValue"]),a(K,{label:w(g)("Phone"),required:"",class:Z(i.value.hasOwnProperty("phone")?"is-error":""),modelValue:k.value.phone,"onUpdate:modelValue":u[4]||(u[4]=D=>k.value.phone=D)},null,8,["label","class","modelValue"]),a(ge,{use_additional_address_fields:"",modelValue:k.value,"onUpdate:modelValue":u[5]||(u[5]=D=>k.value=D),validationErrors:i.value},null,8,["modelValue","validationErrors"])]),_:1}),t("div",Yt,[t("p",{class:"form-error-text",innerHTML:B(i.value)},null,8,Jt)]),t("div",Xt,[(l.showSetAsAlsoCheckbox,A("",!0)),l.address.id?(o(),P(b,{key:1,type:"primary",onClick:u[7]||(u[7]=D=>v()),loading:y.value,disabled:y.value},{default:r(()=>[$(n(w(g)("Update Address")),1)]),_:1},8,["loading","disabled"])):(o(),P(b,{key:2,type:"primary",onClick:u[8]||(u[8]=D=>T()),loading:_.value,disabled:_.value},{default:r(()=>[$(n(w(g)("Add Address")),1)]),_:1},8,["loading","disabled"]))])])}}}),es={class:"fct-manage-address-modal"},ts={key:1,class:"fct-manage-address-wrap"},ss=["onClick"],ls={class:"fct-address-action absolute top-0 right-0 pt-2"},as={class:"more-btn"},os={key:0,class:"empty-text"},ds={key:2,class:"edit_address"},ns={key:3,class:"dialog-footer"},rs={name:"ManageAddressModal",props:["showAddressModal","customer_id","modalAction","order_id"],expose:["editAddress"],data(){return{manageAddress:[],address:{},loading:!0,isEditAddress:!1,selectedAddressIndex:null}},computed:{showModal:{get(){return this.showAddressModal},set(l){this.$emit("update:showAddressModal",l)}}},methods:{handleAddressCommand(l){l.action==="edit"?this.editAddress(l.data):l.action==="use"?this.$emit("onAddressSelected",l.data):l.action==="set-as-also"?this.setAsAlso(l.data):l.action==="default"?this.setAddressPrimary(l.data):l.action==="remove"&&this.$confirm("Are you sure you want to delete this address?","Warning",{confirmButtonText:this.$t("Yes, Delete!"),cancelButtonText:this.$t("Cancel"),cancelButtonClass:"el-button--small",confirmButtonClass:"el-button--small",type:"warning"}).then(()=>{this.removeAddress(l.data)}).catch(()=>{})},emitAddNewAddress(l,e=[]){this.$emit("addNewAddress",l,"create",e)},emitAddressSelected(){this.showModal=!1,this.$emit("onAddressSelected",this.manageAddress[this.selectedAddressIndex])},editAddress(l){this.address=l,this.isEditAddress=!0},removeAddress(l){let e=l.id;this.$del("customers/"+this.customer_id+"/address",{address:l}).then(s=>{this.getAddresses(),this.$emit("refresh-address"),this.handleSuccess(s.message),e===this.selectedAddressIndex&&(this.selectedAddressIndex=null)}).catch(s=>{var f;s.status_code=="422"?N.validationErrors(s):N.error((f=s.data)==null?void 0:f.message)}).finally(()=>{this.loading=!1})},setAddressPrimary(l){this.$post("customers/"+this.customer_id+"/address/make-primary",{addressId:l.id,type:l.type}).then(e=>{this.$emit("refresh-address"),this.getAddresses(),this.handleSuccess(e.message)}).catch(e=>{var s;e.status_code=="422"?N.validationErrors(e):N.error((s=e.data)==null?void 0:s.message)}).finally(()=>{this.loading=!1})},getTitle(){return this.modalAction.type==="billing"?this.$t("Manage billing address"):this.$t("Manage shipping address")},fetchAddresses(){this.getAddresses(this.modalAction.type)},getAddresses(l="billing"){this.loading=!0,this.selectedOrders=[],this.$get("customers/"+this.customer_id+"/address",{type:this.modalAction.type}).then(e=>{this.manageAddress=e.addresses}).catch(e=>{this.handleError(e)}).finally(()=>{this.loading=!1})},updateAddress(){this.fetchAddresses(),this.$emit("refresh-address")},setAsAlso(l){const e=this.modalAction.type==="billing"?"shipping":"billing",s={...l,type:e,customer_id:this.customer_id,is_primary:0};delete s.id,delete s.created_at,delete s.updated_at,this.emitAddNewAddress(e,s)}}},is=Object.assign(rs,{setup(l){return(e,s)=>{const f=M("el-skeleton"),C=M("el-tag"),i=M("el-dropdown-item"),_=M("el-dropdown-menu"),y=M("el-dropdown"),V=M("el-icon"),k=M("el-button"),O=M("el-dialog");return o(),m("div",es,[a(O,{modelValue:e.showModal,"onUpdate:modelValue":s[5]||(s[5]=I=>e.showModal=I),onClose:s[6]||(s[6]=()=>{e.selectedAddressIndex=null,e.isEditAddress=!1}),onOpen:e.fetchAddresses,title:e.getTitle(),"append-to-body":!0,"modal-class":"fct-manage-order-address-modal"},{default:r(()=>[e.loading?(o(),P(f,{key:0,animated:"",rows:4})):A("",!0),!e.loading&&!e.isEditAddress?(o(),m("div",ts,[(o(!0),m(F,null,H(e.manageAddress,(I,B)=>(o(),m("div",{class:"fct-manage-address-block-wrap",key:I.id},[t("div",{class:Z(`cursor-pointer fct-manage-address-block ${I.is_primary==="1"?"default-address":""} ${B===e.selectedAddressIndex?"selected":""} `),onClick:()=>{e.selectedAddressIndex=B}},[I.is_primary==="1"?(o(),P(C,{key:0,type:"info",round:""},{default:r(()=>[$(n(e.$t("Default")),1)]),_:1})):A("",!0),t("p",null,[t("strong",null,n(I.name),1),$(" "+n(e.getOrderAddress(I,"",!0)),1)])],10,ss),t("div",ls,[a(y,{trigger:"click",class:"fct-more-option-wrap","popper-class":"fct-dropdown",onCommand:e.handleAddressCommand},{dropdown:r(()=>[a(_,null,{default:r(()=>[a(i,{command:{action:"edit",data:I}},{default:r(()=>[$(n(e.$t("Edit")),1)]),_:2},1032,["command"]),a(i,{command:{action:"use",data:I}},{default:r(()=>[$(n(e.$t("Use this address")),1)]),_:2},1032,["command"]),a(i,{command:{action:"set-as-also",data:I}},{default:r(()=>[$(n(l.modalAction.type==="billing"?e.$t("Copy to Shipping"):e.$t("Copy to Billing")),1)]),_:2},1032,["command"]),I.is_primary!=="1"?(o(),m(F,{key:0},[a(i,{command:{action:"default",data:I}},{default:r(()=>[$(n(e.$t("Set as default")),1)]),_:2},1032,["command"]),a(i,{command:{action:"remove",data:I},class:"item-destructive"},{default:r(()=>[$(n(e.$t("Delete")),1)]),_:2},1032,["command"])],64)):A("",!0)]),_:2},1024)]),default:r(()=>[t("span",as,[a(R,{name:"More"})])]),_:2},1032,["onCommand"])])]))),128)),e.manageAddress.length==0?(o(),m("div",os,n(l.modalAction.type==="billing"?e.$t("No billing address found."):e.$t("No shipping address found.")),1)):A("",!0)])):A("",!0),e.isEditAddress?(o(),m("div",ds,[a(k,{text:"",onClick:s[0]||(s[0]=()=>e.isEditAddress=!1),style:{"margin-bottom":"16px"}},{default:r(()=>[a(V,null,{default:r(()=>[a(w(je))]),_:1}),$(" "+n(e.$t("Manage address")),1)]),_:1}),a(Re,{"onUpdate:refreshAddress":s[1]||(s[1]=I=>{e.isEditAddress=I,e.updateAddress()}),customer_id:l.customer_id,modalAction:l.modalAction,address:e.address,showAddressModal:e.isEditAddress,order_id:l.order_id,onCloseModal:s[2]||(s[2]=I=>e.showModal=!1)},null,8,["customer_id","modalAction","address","showAddressModal","order_id"])])):A("",!0),e.isEditAddress?A("",!0):(o(),m("div",ns,[e.selectedAddressIndex!=null?(o(),P(k,{key:0,onClick:s[3]||(s[3]=I=>e.emitAddressSelected())},{default:r(()=>[a(R,{name:"LocationPin"}),$(" "+n(e.$t("Use this address")),1)]),_:1})):A("",!0),a(k,{onClick:s[4]||(s[4]=I=>e.emitAddNewAddress(l.modalAction.type)),type:"primary"},{default:r(()=>[a(R,{name:"Plus"}),$(" "+n(e.$t("Add new address")),1)]),_:1})]))]),_:1},8,["modelValue","onOpen","title"])])}}}),us={class:"fct-term-container"},cs={class:"fct-term-input-wrap"},ms={key:0,class:"fct-term-search-result-button-wrap mb-1.5"},ps={class:"search-text"},_s={key:1,class:"fct-term-search-result-list is-scrollable"},fs=["value","checked","onChange"],vs={key:2,class:"empty-text"},hs={key:0,class:"fct-term-selected-list"},gs={class:"fct-term-selected"},ys={class:"text"},bs={class:"fct-term-list-header"},Cs={class:"fct-term-input-inline-wrap"},As={key:0,class:"fct-term-list-header-button-wrap"},ws={class:"search-text"},ks={class:"fct-term-list-wrap is-scrollable"},$s={key:0,class:"fct-term-list newly-added-list"},Ms={class:"title"},Ls={class:"fct-term-label"},Is=["value","checked","onChange"],Vs={key:1,class:"fct-term-list to-add-list"},Es={class:"title"},Ss={class:"fct-term-label"},xs=["value","checked","onChange"],Ts={key:2,class:"fct-term-list available-list"},Os={class:"title"},Us={class:"fct-term-label"},Ns=["value","checked","onChange"],Ps={key:3,class:"empty-text"},Bs={class:"dialog-footer"},qe={__name:"Modal",props:{bindToType:{type:String},bindToId:{type:[String,Number]},selected_labels:{type:Array,default:[]},labelModalIsOpen:{type:Boolean,default:!1},shouldEnableEditing:{type:Boolean,default:!0}},emits:["update:update-label","close-label-modal"],setup(l,{emit:e}){const s=Oe().ctx,f=l,C=e,i=S([]),_=S([]),y=S([]),V=S(),k=S(""),O=S([]),I=S([]),B=S(!1),T=S(!1),v=S(f.labelModalIsOpen),h=S("");re(()=>f.labelModalIsOpen,p=>{v.value=p,p&&(y.value=[...i.value])});const u=p=>{p.stopPropagation(),p.preventDefault(),U()},L=()=>{s.$get("labels").then(p=>{O.value=p.labels,i.value=f.selected_labels}).catch(p=>{var d;p.status_code=="422"?N.validationErrors(p):N.error((d=p.data)==null?void 0:d.message)}).finally(()=>{})},U=(p="")=>{const d=k.value||h.value;s.$post("labels",{value:d,bind_to_type:f.bindToType,bind_to_id:f.bindToId}).then(c=>{k.value="",h.value="",O.value.push(c.data),p!=="insideModal"?i.value.push(c.data.id):_.value.push(c.data.id),C("update:update-label",i.value)}).catch(c=>{N.error(c)})};re(k,p=>{p?(p=p.trim(),I.value=O.value.filter(d=>d.value.toLowerCase().includes(p.toLowerCase())),B.value=!0):(I.value=[],B.value=!1)});const b=p=>{const d=i.value.indexOf(p);d===-1?i.value.push(p):i.value.splice(d,1),C("update:update-label",i.value)},D=p=>{const d=y.value.indexOf(p);d===-1?y.value.push(p):y.value.splice(d,1)},G=p=>{const d=_.value.indexOf(p);d===-1?_.value.push(p):_.value.splice(d,1)},x=()=>{i.value=[...y.value,..._.value],_.value=[],C("update:update-label",i.value),ee()},ie=p=>{const d=i.value.indexOf(p);d!==-1&&(i.value.splice(d,1),C("update:update-label",i.value))},ue=p=>{B.value&&!V.value.$el.contains(p.target)&&!T.value.contains(p.target)&&(B.value=!1,k.value="")},se=z(()=>O.value.filter(p=>i.value.includes(p.id))),le=z(()=>O.value.filter(p=>_.value.includes(p.id))),X=z(()=>O.value.filter(p=>y.value.includes(p.id)).filter(p=>p.value.toLowerCase().includes(h.value.trim().toLowerCase()))),Y=z(()=>O.value.filter(p=>!y.value.includes(p.id)).filter(p=>!_.value.includes(p.id)).filter(p=>p.value.toLowerCase().includes(h.value.trim().toLowerCase())).sort((p,d)=>p.value.localeCompare(d.value))),ee=()=>{C("close-label-modal")},ae=z(()=>{const p=h.value.trim().toLowerCase(),d=k.value.trim().toLowerCase();return(p||d)===""||I.value.some(c=>c.value.toLowerCase()===p||c.value.toLowerCase()===d)||X.value.some(c=>c.value.toLowerCase()===p||c.value.toLowerCase()===d)||Y.value.some(c=>c.value.toLowerCase()===p||c.value.toLowerCase()===d)});return ve(()=>{L(),document.addEventListener("click",ue)}),Ke(()=>{document.removeEventListener("click",ue)}),(p,d)=>{const c=M("el-input"),j=M("el-button"),J=M("el-dialog");return o(),m("div",us,[t("div",cs,[l.shouldEnableEditing?(o(),P(c,{key:0,ref_key:"inputRef",ref:V,modelValue:k.value,"onUpdate:modelValue":d[0]||(d[0]=E=>k.value=E),onKeydown:Ze(u,["enter"])},null,8,["modelValue"])):A("",!0),B.value?(o(),m("div",{key:1,class:"fct-term-search-result",ref_key:"suggestionsRef",ref:T,style:Qe(k.value==""?"display: none":"")},[k.value!==""&&!ae.value?(o(),m("div",ms,[a(j,{type:"info",plain:"",onClick:U,size:"small"},{default:r(()=>[a(R,{name:"PlusCircle"}),$(" "+n(p.$t("Add"))+" ",1),t("span",ps,'"'+n(k.value)+'"',1)]),_:1})])):A("",!0),I.value.length>0?(o(),m("ul",_s,[(o(!0),m(F,null,H(I.value,(E,q)=>(o(),m("li",{key:q},[t("label",null,[t("input",{type:"checkbox",value:E.id,checked:i.value.includes(E.id),onChange:te=>b(E.id)},null,40,fs),$(" "+n(E.value),1)])]))),128))])):A("",!0),I.value.length===0?(o(),m("p",vs,n(p.$t("No labels found.")),1)):A("",!0)],4)):A("",!0)]),se.value.length>0?(o(),m("ul",hs,[(o(!0),m(F,null,H(se.value,E=>(o(),m("li",{key:E.id},[t("div",gs,[t("div",ys,n(E.value),1),l.shouldEnableEditing?(o(),P(R,{key:0,name:"Cross",onClick:q=>ie(E.id)},null,8,["onClick"])):A("",!0)])]))),128))])):A("",!0),a(J,{"before-close":ee,"append-to-body":!0,width:"45%",modelValue:v.value,"onUpdate:modelValue":d[3]||(d[3]=E=>v.value=E),title:p.$t("Add labels"),class:"fct-add-labels-modal"},{default:r(()=>[t("div",bs,[t("div",Cs,[a(c,{modelValue:h.value,"onUpdate:modelValue":d[1]||(d[1]=E=>h.value=E),placeholder:p.$t("Search to find or create labels")},{prefix:r(()=>[a(R,{name:"Search"})]),_:1},8,["modelValue","placeholder"])]),h.value!==""&&!ae.value?(o(),m("div",As,[a(j,{type:"info",plain:"",onClick:d[2]||(d[2]=E=>U("insideModal")),size:"small"},{default:r(()=>[a(R,{name:"PlusCircle"}),$(" "+n(p.$t("Add"))+" ",1),t("span",ws,'"'+n(h.value)+'"',1)]),_:1})])):A("",!0)]),t("div",ks,[le.value.length>0?(o(),m("ul",$s,[t("li",Ms,n(p.$t("Newly added")),1),(o(!0),m(F,null,H(le.value,E=>(o(),m("li",{key:E.id},[t("label",Ls,[t("input",{type:"checkbox",value:E.id,checked:_.value.includes(E.id),onChange:q=>G(E.id)},null,40,Is),$(" "+n(E.value),1)])]))),128))])):A("",!0),X.value.length>0?(o(),m("ul",Vs,[t("li",Es,n(p.$t("To add")),1),(o(!0),m(F,null,H(X.value,E=>(o(),m("li",{key:E.id},[t("label",Ss,[t("input",{type:"checkbox",value:E.id,checked:y.value.includes(E.id),onChange:q=>D(E.id)},null,40,xs),$(" "+n(E.value),1)])]))),128))])):A("",!0),Y.value.length>0?(o(),m("ul",Ts,[t("li",Os,n(p.$t("Available")),1),(o(!0),m(F,null,H(Y.value,E=>(o(),m("li",{key:E.id},[t("label",Us,[t("input",{type:"checkbox",value:E.id,checked:y.value.includes(E.id),onChange:q=>D(E.id)},null,40,Ns),$(" "+n(E.value),1)])]))),128))])):A("",!0),X.value.length===0&&Y.value.length===0&&le.value.length===0?(o(),m("p",Ps,n(p.$t("No labels found.")),1)):A("",!0)]),t("div",Bs,[a(j,{onClick:ee},{default:r(()=>[$(n(p.$t("Cancel")),1)]),_:1}),a(j,{type:"primary",onClick:x},{default:r(()=>[$(n(p.$t("Done")),1)]),_:1})])]),_:1},8,["modelValue","title"])])}}},Ds={class:"fct-admin-sidebar-item"},js={name:"Labels",props:{bindToType:{type:String},bindToId:{type:[String,Number]},selectedLabels:{type:Array,default:()=>[]},shouldEnableEditing:{type:Boolean,default:!0}},components:{IconButton:ye,LabelModal:qe,DynamicIcon:R},data(){return{labelModalIsOpen:!1}},methods:{openLabelModal(){this.labelModalIsOpen=!0},updateLabel(l){this.bindToId&&this.bindToType&&this.$post("labels/update-label-selections",{bind_to_type:this.bindToType,bind_to_id:this.bindToId,selectedLabels:l}).then(e=>{N.success(e.message)}).catch(e=>{N.error(e.message)}),this.$emit("update:update-label",l)},closeLabel(){this.labelModalIsOpen=!1}},mounted(){}},ia=Object.assign(js,{setup(l){return(e,s)=>(o(),P(Fe,{permission:"labels/manage"},{default:r(()=>[t("div",null,[a(Pe,null,{default:r(()=>[a(Ue,{title:e.$t("Labels"),border_bottom:"",title_size:"small"},{action:r(()=>[l.shouldEnableEditing?(o(),P(ye,{key:0,size:"x-small",bg:"transparent",tag:"button",border:"transparent",onClick:e.openLabelModal},{default:r(()=>[a(R,{name:"Edit"})]),_:1},8,["onClick"])):A("",!0)]),_:1},8,["title"]),a(Ne,null,{default:r(()=>[t("div",Ds,[a(qe,{bindToType:l.bindToType,bindToId:l.bindToId,labelModalIsOpen:e.labelModalIsOpen,selected_labels:l.selectedLabels,shouldEnableEditing:l.shouldEnableEditing,"onUpdate:updateLabel":e.updateLabel,onCloseLabelModal:s[0]||(s[0]=f=>e.labelModalIsOpen=!1)},null,8,["bindToType","bindToId","labelModalIsOpen","selected_labels","shouldEnableEditing","onUpdate:updateLabel"])])]),_:1})]),_:1})])]),_:1}))}}),Fs={class:"fct-customer-edit-modal"},Rs={key:1,class:"fct-form-group"},qs={class:"label"},Ws={style:{display:"flex","align-items":"center",gap:"10px"}},zs={class:"select-use-option"},Hs={class:"fct-compact-form"},Ks={class:"form-heading"},Zs={class:"fct-compact-form fct-customer-address-section"},Qs={style:{"margin-top":"20px"}},Gs={class:"form-error-wrap"},Ys={class:"form-error-text"},Js={class:"dialog-footer"},Xs={key:3,class:"dialog-footer"},el={__name:"ChangeOrderCustomer",props:{orderId:{type:[String,Number],default:null,required:!0}},setup(l){const e=l,s=S(null),f=S([]),C=S(!1),i=S(!1),_=S({}),y=S({id:"",email:"",full_name:"",state:"",city:"",country:"",postcode:"",country_name:"",contact_id:"",user_id:"",wp_user:""}),V=T=>{if(!T){f.value=[];return}Q.get("customers/",{search:T}).then(v=>{f.value=v.customers.data}).finally(()=>{})},k=()=>{if(!s.value){N.error(g("Please select a customer"));return}Q.post("orders/"+e.orderId+"/change-customer",{customer_id:s.value}).then(T=>{N.success(T.message),setTimeout(()=>{window.location.reload()},300)}).catch(T=>{if(T.message)return N.error(T.message);console.log("errors",T)}).finally(()=>{console.log("finally")})},O=()=>{Q.post("orders/"+e.orderId+"/create-and-change-customer",y.value).then(T=>{N.success(T.message),setTimeout(()=>{window.location.reload()},300),_.value={},i.value=!1}).catch(T=>{if(T.message)return N.error(T.message);_.value=T}).finally(()=>{})},I=()=>{i.value=!0},B=()=>{i.value=!1};return(T,v)=>{const h=M("el-button"),u=M("el-option"),L=M("el-select"),U=M("el-checkbox");return o(),m("div",Fs,[i.value?(o(),m("div",{key:0,onClick:B,style:{"margin-bottom":"10px"}},[a(h,{text:"",style:{"margin-top":"0"}},{default:r(()=>[a(R,{name:"ArrowLeft"}),$(" "+n(w(g)("Back")),1)]),_:1})])):A("",!0),i.value?A("",!0):(o(),m("div",Rs,[t("label",qs,[$(n(w(g)("Select Customer"))+" ",1),a(h,{text:"",class:"fct-create-customer-btn",onClick:Te(I,["prevent"])},{default:r(()=>[a(R,{name:"Plus"}),$(" "+n(w(g)("Add New Customer")),1)]),_:1})]),t("div",Ws,[a(L,{modelValue:s.value,"onUpdate:modelValue":v[0]||(v[0]=b=>s.value=b),remote:!0,"remote-method":V,loading:C.value,filterable:"",clearable:"",placeholder:w(g)("Type to search user"),style:{width:"100%"}},{default:r(()=>[(o(!0),m(F,null,H(f.value,b=>(o(),P(u,{key:b.id,label:b.full_name,value:b.id},{default:r(()=>[t("div",zs,[t("span",null,n(b.full_name),1),t("span",null,n(b.email),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading","placeholder"])])])),i.value?(o(),m(F,{key:2},[t("div",Hs,[a(K,{label:w(g)("Full Name"),modelValue:y.value.full_name,"onUpdate:modelValue":v[1]||(v[1]=b=>y.value.full_name=b)},null,8,["label","modelValue"]),a(K,{label:w(g)("Email"),modelValue:y.value.email,"onUpdate:modelValue":v[2]||(v[2]=b=>y.value.email=b)},null,8,["label","modelValue"])]),t("h4",Ks,n(w(g)("Address")),1),t("div",Zs,[a(ge,{modelValue:y.value,"onUpdate:modelValue":v[3]||(v[3]=b=>y.value=b)},null,8,["modelValue"]),t("div",Qs,[a(U,{"true-value":"yes","false-value":"no",modelValue:y.value.wp_user,"onUpdate:modelValue":v[4]||(v[4]=b=>y.value.wp_user=b)},{default:r(()=>[a(De,{title:w(g)("Create as wordpress user"),content:w(g)("We will create a new user for this customer. If a user with the same email already exists, we will associate the customer with that existing user.")},null,8,["title","content"])]),_:1},8,["modelValue"])]),t("div",Gs,[(o(!0),m(F,null,H(_.value,b=>(o(),m("p",Ys,n(b.required),1))),256))])]),t("div",Js,[a(h,{onClick:v[5]||(v[5]=b=>T.$emit("close"))},{default:r(()=>[$(n(w(g)("Cancel")),1)]),_:1}),a(h,{type:"primary",onClick:O},{default:r(()=>[$(n(w(g)("Create & Attach Customer")),1)]),_:1})])],64)):A("",!0),i.value?A("",!0):(o(),m("div",Xs,[a(h,{type:"primary",onClick:k},{default:r(()=>[$(n(w(g)("Create & Attach Customer")),1)]),_:1})]))])}}},tl={class:"fct-admin-sidebar"},sl={class:"more-btn"},ll={key:0,class:"fct-admin-sidebar-item"},al={class:"name"},ol={class:"email"},dl={class:"fct-admin-sidebar-item"},nl={class:"fct-profile-card"},rl=["src","alt"],il={key:0,class:"fct-profile-details"},ul={class:"title"},cl={class:"text"},ml={key:0},pl={class:"text"},_l={key:0,class:"user-info mt-2"},fl=["href"],vl={class:"fct-admin-sidebar-item mt-5"},hl={class:"fct-contact-info-list"},gl={class:"flex items-center justify-between gap-2"},yl=["href"],bl={class:"fct-admin-sidebar-item mt-5"},Cl={class:"sidebar-title"},Al={key:0,class:"fct-address-copy-wrap"},wl={class:"text"},kl={key:0,class:"pr-1"},$l=["innerHTML"],Ml={key:1,class:"mt-3"},Ll={class:"pr-1"},Il=["href"],Vl={key:1,class:"no-address-text"},El={class:"fct-admin-sidebar-item mt-5"},Sl={class:"sidebar-title"},xl={key:0,class:"fct-address-copy-wrap"},Tl={class:"text"},Ol={key:0},Ul=["innerHTML"],Nl={key:1,class:"mt-3"},Pl={class:"pr-1"},Bl=["href"],Dl={key:2,class:"mt-3"},jl={class:"pr-1"},Fl={key:1,class:"no-address-text"},Rl={class:"fluent-cart-admin-pages"},ua={__name:"OrderCustomerInformation",props:{order:{type:Object,default:null},subscription:{type:Object,default:null},shouldEnableEditing:{type:Boolean,default:!0}},emits:["onAddressSelected","onAddressRemove"],setup(l,{emit:e}){var Y,ee,ae,p;const s=l,f=z(()=>s.order||s.subscription||{}),C=z(()=>s.order?s.order.id:s.subscription?s.subscription.parent_order_id:null),i=S([]),_=S((ee=(Y=f.value)==null?void 0:Y.customer)!=null&&ee.id?f.value.customer:null),y=S((ae=f.value)!=null&&ae.billing_address?f.value.billing_address:null),V=S((p=f.value)!=null&&p.shipping_address?f.value.shipping_address:null),k=e,O=S(!1),I=d=>{d==="remove_customer"&&B(),d==="change_customer"?O.value=!0:d==="edit_customer"?D("edit"):d==="manage_billing_address"?ie("billing"):d==="manage_shipping_address"&&ie("shipping")},B=()=>{f.value.customer_id="",f.value.customer={},_.value=null,y.value=null,V.value=null,k("onAddressRemove"),setTimeout(()=>{se()},50)},T=(d,c)=>{Q.get("customers/",{search:d,with:["shipping_address","billing_address"]}).then(j=>{let J=j.customers.data;i.value=J;let E=J.map(de=>({id:de.id,value:de.full_name,email:de.email})),q=jQuery(".fct-customer-autocomplete-dropdown"),te=jQuery(".el-autocomplete-suggestion__list"),oe="empty-text";J.length<1?q.length>0&&(q.addClass("is-empty-customer"),te.children(`.${oe}`).length||te.prepend(`<li class="${oe}">No customer found.</li>`)):q.length>0&&(q.removeClass("is-empty-customer"),te.children(`.${oe}`).remove()),c(E)}).catch(j=>{N.error(j)})},v=d=>{const c=i.value.find(j=>j.id===d.id)??null;h(c)},h=d=>{_.value=d,f.value.customer=d,f.value.customer_id=d.id,_.value!==null&&(u(),L())},u=()=>{const d=_.value.billing_address;d&&(Array.isArray(d)&&d.length>0?(y.value=d[0],y.value=d.find(c=>c.is_primary.toString()==="1")??y.value):y.value=null,k("onAddressSelected",y.value))},L=()=>{const d=_.value.shipping_address;d&&(Array.isArray(d)&&d.length>0?(V.value=d[0],V.value=d.find(c=>c.is_primary.toString()==="1")??V.value):V.value=null,k("onAddressSelected",V.value))},U=d=>{d&&Q.post(`orders/${C.value}/update-address-id`,{address_id:d.id,address_type:d.type}).then(c=>{N.success(c.message),d.type==="shipping"?V.value=d:y.value=d,x.value.showModal=!1,k("onAddressSelected",d)}).catch(c=>{N.error(c)})},b=S({showModal:!1,action:"create",title:g("Create New Customer"),customer:{},manageWpUser:"yes"}),D=(d="create")=>{const c=b.value;c.showModal=!0,c.action=d==="create"?"create":"edit",c.title=d==="create"?g("Create New Customer"):g("Edit Customer Information"),c.customer_id=d==="create"?null:_.value.id,c.customer=d==="create"?{}:_.value,c.manageWpUser=d==="create"?"yes":_.value.user_id==="0"?"no":"yes",b.value=c},G=S(!0),x=S({showManageAddressModal:!1,showModal:!1,modalAction:{type:"billing",action:"create"},title:"",customer_id:"",address_id:"",address:{},address_mock:{name:"",phone:"",email:"",address_1:"",address_2:"",city:"",state:"",postcode:"",country:"",is_primary:"0"}}),ie=(d="billing",c="edit")=>{x.value.showManageAddressModal=!0,x.value.modalAction.type=d,x.value.modalAction.action=c},ue=(d="billing",c="create",j={})=>{Object.keys(j).length>0?(x.value.address={...j},G.value=!1):x.value.address={...x.value.address_mock},x.value.showModal=!0,x.value.modalAction.type=d,x.value.modalAction.action=c,x.value.showManageAddressModal=!1},se=()=>{let d=jQuery(".el-autocomplete-suggestion__wrap");if(d.length>0){let c=jQuery('<div class="fct-create-customer-button-wrap"><button class="el-button el-button--info el-button--small is-plain"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M1.5 7H12.5M7 1.5V12.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg> Create a new customer</button></div>').on("click",()=>{D()});d.prepend(c)}},le=()=>x.value.modalAction.action==="create"?x.value.modalAction.type==="billing"?g("Add new billing address"):g("Add new shipping Address"):x.value.modalAction.type==="billing"?g("Edit billing address"):g("Edit shipping address"),X=(d,c)=>{x.value.modalAction.type==="billing"?y.value=c:V.value=c,x.value.showModal=d,x.value.showManageAddressModal=!0,U(c)};return re(()=>f.value,(d,c)=>{d.customer_id!==c.customer_id&&B()}),ve(()=>{se()}),(d,c)=>{var Ce;const j=M("el-dropdown-item"),J=M("el-dropdown-menu"),E=M("el-dropdown"),q=M("el-autocomplete"),te=M("router-link"),oe=M("el-icon"),de=M("el-button"),be=M("el-dialog");return o(),m(F,null,[t("div",tl,[a(Pe,null,{default:r(()=>[a(Ue,{title:w(g)("Customer Information"),title_size:"small",border_bottom:""},{action:r(()=>[_.value&&l.shouldEnableEditing?(o(),P(E,{key:0,trigger:"click",class:"fct-more-option-wrap","popper-class":"fct-dropdown",onCommand:I},{dropdown:r(()=>[a(J,null,{default:r(()=>[a(j,{command:"edit_customer"},{default:r(()=>[$(n(w(g)("Edit customer information")),1)]),_:1}),a(j,{command:"manage_shipping_address"},{default:r(()=>[$(n(w(g)("Manage shipping address")),1)]),_:1}),a(j,{command:"manage_billing_address"},{default:r(()=>[$(n(w(g)("Manage billing address")),1)]),_:1}),C.value?(o(),P(j,{key:0,command:"change_customer"},{default:r(()=>[$(n(w(g)("Change customer")),1)]),_:1})):A("",!0),C.value?A("",!0):(o(),P(j,{key:1,command:"remove_customer"},{default:r(()=>[$(n(w(g)("Remove customer")),1)]),_:1}))]),_:1})]),default:r(()=>[t("span",sl,[a(R,{name:"More"})])]),_:1})):A("",!0)]),_:1},8,["title"]),a(Ne,null,{default:r(()=>{var W,Ae,we,ke,$e,Me,Le,Ie,Ve,Ee,Se,xe;return[_.value===null?(o(),m("div",ll,[a(q,{"popper-class":"fct-customer-autocomplete-dropdown",clearable:"",modelValue:f.value.customer.full_name,"onUpdate:modelValue":c[0]||(c[0]=ne=>f.value.customer.full_name=ne),"fetch-suggestions":T,placeholder:w(g)("Search or create a customer"),disabled:!1,onSelect:v},{prefix:r(()=>[a(R,{name:"Search"})]),default:r(ne=>[t("span",al,n(ne.item.value),1),t("span",ol,n(ne.item.email),1)]),_:1},8,["modelValue","placeholder"])])):(o(),m(F,{key:1},[t("div",dl,[t("div",nl,[t("div",{class:"fct-profile-image cursor-pointer",onClick:c[1]||(c[1]=ne=>d.$router.push({name:"view_customer",params:{customer_id:_.value.id}}))},[t("img",{src:_.value.photo,alt:(W=_.value)==null?void 0:W.full_name},null,8,rl)]),_.value.id?(o(),m("div",il,[t("div",ul,[a(te,{to:{name:"view_customer",params:{customer_id:_.value.id}}},{default:r(()=>[$(n(_.value.full_name),1)]),_:1},8,["to"])]),t("span",cl,[_.value.purchase_count>0?(o(),m("span",ml,n(w(me)(_.value.purchase_count)),1)):A("",!0),$(" "+n(d.$n("Order","Orders",_.value.purchase_count??0,"No Order")),1)]),t("span",pl,n(w(lt)((Ae=_.value)==null?void 0:Ae.ltv,!0))+" "+n(w(g)("Lifetime Value")),1)])):A("",!0)]),f.value.customer.user_link?(o(),m("div",_l,[$(n(w(g)("WP User:"))+" ",1),t("a",{href:f.value.customer.user_link,target:"_blank",class:"inline-flex items-center gap-1 dark:text-gray-100 text-primary-500 focus:shadow-none hover:!underline"},[$(" #"+n(w(me)(f.value.customer.user_id))+" ",1),a(R,{name:"Redirect",class:"w-2.5 h-2.5 text-primary-500 dark:text-gray-200"})],8,fl)])):A("",!0)]),t("div",vl,[t("ul",hl,[t("li",null,[t("div",gl,[t("a",{class:"text",href:"mailto:"+((we=f.value.customer)==null?void 0:we.email)},n(_.value.email),9,yl),a(ce,{text:_.value.email,showMode:"basic_copy_btn",tooltipText:w(g)("Copy email")},null,8,["text","tooltipText"])])])])]),t("div",bl,[t("h4",Cl,n(w(g)("Shipping Address")),1),V.value!=null?(o(),m("div",Al,[t("span",wl,[V.value.name?(o(),m("strong",kl,n(V.value.name),1)):A("",!0),t("span",{class:"break-all",innerHTML:d.getOrderAddress({...V.value},"shipping",!0)},null,8,$l),(Me=($e=(ke=V.value)==null?void 0:ke.meta)==null?void 0:$e.other_data)!=null&&Me.phone?(o(),m("span",Ml,[t("strong",Ll,n(w(g)("Phone"))+":",1),t("a",{href:"tel:"+V.value.meta.other_data.phone,class:"text-system-mid dark:text-gray-50 hover:underline"},n(V.value.meta.other_data.phone),9,Il)])):A("",!0)]),a(ce,{text:d.getOrderAddress({...V.value},"shipping"),showMode:"basic_copy_btn",tooltipText:w(g)("Copy address")},null,8,["text","tooltipText"])])):(o(),m("p",Vl,n(w(g)("No shipping address provided")),1))]),t("div",El,[t("h4",Sl,n(w(g)("Billing Address")),1),y.value!=null?(o(),m("div",xl,[t("div",Tl,[y.value.name?(o(),m("strong",Ol,n(y.value.name),1)):A("",!0),t("span",{class:"break-all",innerHTML:d.getOrderAddress({...y.value},"billing",!0)},null,8,Ul),(Ve=(Ie=(Le=y.value)==null?void 0:Le.meta)==null?void 0:Ie.other_data)!=null&&Ve.phone?(o(),m("span",Nl,[t("strong",Pl,n(w(g)("Phone"))+":",1),t("a",{href:"tel:"+y.value.meta.other_data.phone,class:"text-system-mid dark:text-gray-50 hover:underline"},n(y.value.meta.other_data.phone),9,Bl)])):A("",!0),(xe=(Se=(Ee=y.value)==null?void 0:Ee.meta)==null?void 0:Se.other_data)!=null&&xe.company_name?(o(),m("span",Dl,[t("strong",jl,n(w(g)("Company"))+":",1),t("span",null,n(y.value.meta.other_data.company_name),1)])):A("",!0)]),a(ce,{text:d.getOrderAddress({...y.value},"billing"),showMode:"basic_copy_btn",tooltipText:w(g)("Copy address")},null,8,["text","tooltipText"])])):(o(),m("p",Fl,n(w(g)("No shipping address provided")),1))])],64))]}),_:1})]),_:1})]),a(ct,{onSelectNewCustomer:c[2]||(c[2]=W=>{h(W),b.value.showModal=!1}),customerModalInfos:b.value,customer_id:b.value.customer_id,customer:b.value.customer,onCloseModal:c[3]||(c[3]=W=>b.value.showModal=!1)},null,8,["customerModalInfos","customer_id","customer"]),a(is,{modalAction:x.value.modalAction,onOnAddressSelected:U,"onUpdate:showAddressModal":c[4]||(c[4]=W=>x.value.showManageAddressModal=W),showAddressModal:x.value.showManageAddressModal,customer_id:(Ce=_.value)==null?void 0:Ce.id,order_id:C.value,onAddNewAddress:ue},null,8,["modalAction","showAddressModal","customer_id","order_id"]),a(be,{"show-close":!0,modelValue:x.value.showModal,"onUpdate:modelValue":c[7]||(c[7]=W=>x.value.showModal=W),"append-to-body":!0,title:le()},{default:r(()=>[t("div",Rl,[a(de,{text:"",onClick:c[5]||(c[5]=()=>{x.value.showManageAddressModal=!0,x.value.showModal=!1}),class:"mb-4"},{default:r(()=>[a(oe,null,{default:r(()=>[a(w(je))]),_:1}),$(" "+n(d.$t("Manage address")),1)]),_:1}),a(Re,{"onUpdate:refreshAddress":X,customerAddressModalInfos:x.value,customer_id:_.value.id,modalAction:x.value.modalAction,address:x.value.address,showAddressModal:x.value.showModal,showSetAsAlsoCheckbox:G.value,order_id:C.value,onCloseModal:c[6]||(c[6]=()=>{x.value.showModal=!1,x.value.showManageAddressModal=!0})},null,8,["customerAddressModalInfos","customer_id","modalAction","address","showAddressModal","showSetAsAlsoCheckbox","order_id"])])]),_:1},8,["modelValue","title"]),C.value?(o(),P(be,{key:0,modelValue:O.value,"onUpdate:modelValue":c[9]||(c[9]=W=>O.value=W),title:d.$t("Change Customer")},{default:r(()=>[a(el,{"order-id":C.value,onClose:c[8]||(c[8]=W=>O.value=!1)},null,8,["order-id"])]),_:1},8,["modelValue","title"])):A("",!0)],64)}}};export{ra as L,na as O,Et as P,Fe as _,ct as a,Re as b,is as c,ia as d,ua as e,el as f,pt as p}; | |
| 1 | +import{f as E,e as z,w as de,g as Ae,y as M,k as U,v as a,x as u,A as s,j as m,G as r,u as c,q as ee,F as Y,B as o,l as g,C as ae,E as L,D as $e,Q as Pe,K as Oe,V as Re,P as qe}from"./vue.esm-bundler.js?ver=1.7.0";import{N as ze,a as Ke,O as Ne}from"./index.js?ver=1.7.0";import{t as n,A as We,a as Ce}from"./Translator.js?ver=1.7.0";import{_ as Je}from"./Animation.js?ver=1.7.0";import{P as He,B as Ze}from"./Badge.js?ver=1.7.0";import{R as ie}from"./Rest.js?ver=1.7.0";import{n as K}from"./Notify.js?ver=1.7.0";import{_ as Se}from"./_plugin-vue_export-helper.js?ver=1.7.0";import{_ as Qe}from"./Empty.js?ver=1.7.0";import{d as Ye}from"./common.js?ver=1.7.0";import{I as Me}from"./IconButton.js?ver=1.7.0";import{_ as X}from"./DynamicIcon.js?ver=1.7.0";import{_ as Ge,a as we,b as ke,C as xe}from"./CardBody.js?ver=1.7.0";import{_ as Ue}from"./UserCan.js?ver=1.7.0";import{A as Xe}from"./Arr.js?ver=1.7.0";import{A as et}from"./Asset.js?ver=1.7.0";import{a as le,b as Le}from"./AddressComponent.js?ver=1.7.0";import{L as Be,u as tt}from"./NotFound.js?ver=1.7.0";import{f as st}from"./productService.js?ver=1.7.0";const lt={class:"fct-customer-edit-modal"},at={class:"fct-compact-form"},ot={class:"form-heading"},nt={class:"fct-compact-form fct-customer-address-section"},rt={key:0,class:"mt-5"},it={key:1,class:"form-error-wrap"},dt={class:"dialog-footer"},ut={__name:"NewCustomerModal",props:{customer_id:{type:[String,Number],default:null},customer:{type:Object,default:()=>({})},customerModalInfos:{type:Object,default:()=>({})}},emits:["close-modal","select-new-customer","update:customerModal"],setup(e,{emit:l}){const t=l,d=e,p=E({}),i=E(!1),v=E({}),C=window.fluentCartAdminApp,x=()=>{t("close-modal")},T=()=>{i.value=!0,p.value.wp_user=d.customerModalInfos.manageWpUser,ie.post("customers/",{...p.value}).then(k=>{t("select-new-customer",k.data),t("update:customerModal",!1),K.success(k.message),v.value={}}).catch(k=>{var _;k.status_code=="422"?(K.validationErrors(k),v.value=k.data):K.error((_=k.data)==null?void 0:_.message)}).finally(()=>{i.value=!1})},w=()=>{i.value=!0,p.value.wp_user=d.customerModalInfos.manageWpUser,ie.put("customers/"+d.customer_id,{...p.value}).then(k=>{t("select-new-customer",k.data),t("update:customerModal",!1),K.success(k.message),v.value={}}).catch(k=>{var _;k.status_code=="422"?(K.validationErrors(k),v.value=k.data):K.error((_=k.data)==null?void 0:_.message)}).finally(()=>{i.value=!1})},I=z(()=>d.customerModalInfos.action==="create"?n("Create as wordpress user"):n("Update wordpress user profile")),$=z(()=>d.customerModalInfos.action==="edit"?n("Update Customer"):n("Create Customer")),q=z(()=>{const k={};for(const _ in v.value){const y=v.value[_];k[_]=Array.isArray(y)?y:Object.values(y)}return k});return de(()=>d.customer,k=>{p.value={id:k.id,email:k.email,full_name:k.full_name,first_name:k.first_name,last_name:k.last_name,state:k.state,city:k.city,country:k.country,postcode:k.postcode,country_name:k.country_name,contact_id:k.contact_id,user_id:k.user_id,wp_user:k.wp_user}},{deep:!0}),Ae(()=>{p.value={id:d.customer.id,email:d.customer.email,full_name:d.customer.full_name,first_name:d.customer.first_name,last_name:d.customer.last_name,state:d.customer.state,city:d.customer.city,country:d.customer.country,postcode:d.customer.postcode,country_name:d.customer.country_name,contact_id:d.customer.contact_id,user_id:d.customer.user_id,wp_user:d.customer.wp_user}}),(k,_)=>{const y=M("el-checkbox"),j=M("el-button"),B=M("el-dialog");return a(),U(B,{modelValue:e.customerModalInfos.showModal,"onUpdate:modelValue":_[8]||(_[8]=b=>e.customerModalInfos.showModal=b),title:e.customerModalInfos.title,onClose:_[9]||(_[9]=()=>{v.value={}})},{default:u(()=>[s("div",lt,[s("div",at,[c(C).is_full_name_required?(a(),U(le,{key:0,label:c(n)("Full Name *"),modelValue:p.value.full_name,"onUpdate:modelValue":_[0]||(_[0]=b=>p.value.full_name=b),class:ee(v.value.full_name?"is-error":"")},null,8,["label","modelValue","class"])):(a(),m(Y,{key:1},[r(le,{label:c(n)("First Name *"),modelValue:p.value.first_name,"onUpdate:modelValue":_[1]||(_[1]=b=>p.value.first_name=b),class:ee(v.value.first_name?"is-error":"")},null,8,["label","modelValue","class"]),r(le,{label:c(n)("Last Name"),modelValue:p.value.last_name,"onUpdate:modelValue":_[2]||(_[2]=b=>p.value.last_name=b),class:ee(v.value.last_name?"is-error":"")},null,8,["label","modelValue","class"])],64)),r(le,{type:"email",label:c(n)("Email *"),modelValue:p.value.email,"onUpdate:modelValue":_[3]||(_[3]=b=>p.value.email=b),disabled:e.customer.user_id&&e.customer.user_id!=0,class:ee(v.value.email?"is-error":"")},null,8,["label","modelValue","disabled","class"])]),s("h4",ot,o(c(n)("Address")),1),s("div",nt,[r(Le,{modelValue:p.value,"onUpdate:modelValue":_[4]||(_[4]=b=>p.value=b),validationErrors:v.value},null,8,["modelValue","validationErrors"]),e.customerModalInfos.action==="create"?(a(),m("div",rt,[r(y,{"true-value":"yes","false-value":"no",modelValue:e.customerModalInfos.manageWpUser,"onUpdate:modelValue":_[5]||(_[5]=b=>e.customerModalInfos.manageWpUser=b)},{default:u(()=>[r(Be,{title:I.value,content:c(n)("We will create a new user for this customer. If a user with the same email already exists, we will associate the customer with that existing user.")},null,8,["title","content"])]),_:1},8,["modelValue"])])):g("",!0),Object.keys(v.value).length?(a(),m("div",it,[(a(!0),m(Y,null,ae(q.value,(b,S)=>(a(),m("p",{key:S},[(a(!0),m(Y,null,ae(b,Q=>(a(),m("span",{key:Q},o(Q),1))),128))]))),128))])):g("",!0)]),s("div",dt,[r(j,{onClick:x},{default:u(()=>[L(o(c(n)("Cancel")),1)]),_:1}),e.customerModalInfos.action==="edit"?(a(),U(j,{key:0,loading:i.value,type:"primary",onClick:_[6]||(_[6]=b=>w())},{default:u(()=>[L(o($.value),1)]),_:1},8,["loading"])):(a(),U(j,{key:1,type:"primary",loading:i.value,onClick:_[7]||(_[7]=b=>T())},{default:u(()=>[L(o($.value),1)]),_:1},8,["loading"]))])])]),_:1},8,["modelValue","title"])}}},ct=["aria-hidden"],mt=["src","alt"],pt={__name:"UserAvatar",props:{name:{type:String,default:""},url:{type:String,default:""},decorative:{type:Boolean,default:!0}},setup(e){const l=e,t=E(!1);return de(()=>l.url,()=>{t.value=!1}),(d,p)=>(a(),m("div",{class:"fct-user-avatar","aria-hidden":e.decorative?"true":null},[e.url&&!t.value?(a(),m("img",{key:0,class:"fct-user-avatar-img",src:e.url,alt:e.decorative?"":e.name,loading:"lazy",onError:p[0]||(p[0]=i=>t.value=!0)},null,40,mt)):(a(),U(X,{key:1,name:"User"}))],8,ct))}},vt={key:1,class:"fct-export-loading"},ft={class:"fct-export-loading-grid"},_t={key:3,class:"fct-export-dialog-content"},ht={class:"fct-export-section"},gt={class:"fct-export-section-heading"},yt={class:"fct-export-label"},bt={class:"fct-export-section-hint"},Ct={class:"fct-export-section"},wt={class:"fct-export-section-heading"},kt={class:"fct-export-label"},xt={class:"fct-export-format-options"},At=["aria-pressed","onClick"],$t={class:"fct-export-format-name"},St={class:"fct-export-format-description"},Mt={key:0,class:"fct-export-section fct-csv-columns-section"},Lt={class:"fct-export-selection-heading"},Et={class:"fct-export-selection-heading-left"},Vt={class:"fct-export-label"},It={class:"fct-export-selection-count"},Tt={class:"fct-export-columns-wrap"},Pt={class:"fct-export-columns-grid"},Ot={key:1,class:"fct-export-section fct-json-modules-section"},Nt={class:"fct-export-selection-heading"},Ut={class:"fct-export-selection-heading-left"},Bt={class:"fct-export-label"},Dt={class:"fct-export-selection-count"},jt={class:"fct-export-modules"},Ft=["onClick"],Rt={key:0,class:"fct-export-required"},qt={class:"fct-export-memory-note"},zt={key:4,class:"fct-export-progress-section",role:"status","aria-live":"polite"},Kt={class:"fct-export-progress-title"},Wt={class:"fct-export-progress-meta"},Jt={class:"fct-export-progress-text"},Ht={class:"fct-export-progress-percentage"},Zt={class:"fct-export-progress-note"},Qt={key:5,class:"fct-export-error-section"},Yt={key:6,class:"fct-export-complete-section"},Gt={class:"dialog-footer"},fo=Object.assign({name:"ExportDialog"},{__name:"ExportDialog",props:{modelValue:{type:Boolean,default:!1},title:{type:String,default:""},selectedCount:{type:Number,default:0},currentPageCount:{type:Number,default:0},totalCount:{type:Number,default:0},itemLabelSingular:{type:String,default:""},itemLabelPlural:{type:String,default:""},hasActiveFilter:{type:Boolean,default:!1},exportState:{type:Object,required:!0}},emits:["update:modelValue","export"],setup(e,{emit:l}){const t=e,d=l,p=E("current_page"),i=E("csv"),v=E(new Set),C=E(new Set),x=z({get(){return t.modelValue},set(F){d("update:modelValue",F)}}),T=z(()=>t.exportState.schema.value||{formats:[],csv_columns:[],json_modules:[]}),w=z(()=>T.value.formats||[]),I=z(()=>T.value.csv_columns||[]),$=z(()=>T.value.json_modules||[]),q=z(()=>v.value.size),k=z(()=>C.value.size),_=z(()=>I.value.length>0&&q.value===I.value.length),y=z(()=>q.value>0&&!_.value),j=z(()=>i.value==="csv"),B=z(()=>i.value==="json"),b=z(()=>t.exportState.isProActive&&!t.exportState.isSchemaLoading.value&&T.value.entity&&!t.exportState.isExporting.value&&!t.exportState.isComplete.value&&!t.exportState.hasError.value),S=z(()=>j.value?q.value===0:k.value===0),Q=z(()=>{const F=p.value==="current_page"&&!t.currentPageCount||p.value==="selected"&&!t.selectedCount||p.value==="search_results"&&!se.value;return t.exportState.isExporting.value||S.value||F}),O=z(()=>t.itemLabelSingular||n("item")),te=z(()=>t.itemLabelPlural||n("items")),se=z(()=>t.hasActiveFilter?t.totalCount:0),P=z(()=>typeof window.showSaveFilePicker=="function"),J=F=>F===1?O.value:te.value,Z=z(()=>{const F=n("All %s",te.value);return t.hasActiveFilter?n("%1$s (%2$s)",F,n("filter applied")):F}),D=z(()=>n("%1$s %2$s matching the current view",se.value,J(se.value))),H=F=>F.value==="json"?n("JSON preserves selected database modules and their related rows."):n("CSV creates one row per record and works well in spreadsheet apps."),ue=()=>{var F;i.value=((F=w.value[0])==null?void 0:F.value)||"csv",v.value=new Set(I.value.filter(R=>R.default_selected).map(R=>R.key)),C.value=new Set($.value.filter(R=>R.default_selected||R.required).map(R=>R.key))},h=F=>{const R=new Set(v.value);R.has(F)?R.delete(F):R.add(F),v.value=R},V=F=>{if(F.required)return;const R=new Set(C.value);R.has(F.key)?R.delete(F.key):R.add(F.key),C.value=R},f=()=>{v.value=new Set(I.value.map(F=>F.key))},A=()=>{v.value=new Set},G=F=>{F?f():A()};de(()=>t.modelValue,F=>{F&&(p.value=t.currentPageCount?"current_page":"all",t.exportState.isExporting.value||t.exportState.resetState(),t.exportState.loadSchema().then(()=>{t.exportState.isExporting.value||ue()}).catch(()=>{}))});const N=()=>{S.value||p.value==="search_results"&&!se.value||d("export",{scope:p.value,format:i.value,columns:Array.from(v.value),modules:Array.from(C.value)})},ne=()=>{t.exportState.isExporting.value&&t.exportState.cancelExport(),x.value=!1},ce=()=>{t.exportState.isExporting.value?t.exportState.cancelExport():x.value=!1};return(F,R)=>{const re=M("el-alert"),me=M("el-option"),he=M("el-select"),oe=M("el-icon"),pe=M("el-checkbox"),ge=M("el-progress"),fe=M("el-button"),ye=M("el-dialog");return a(),U(ye,{modelValue:x.value,"onUpdate:modelValue":R[2]||(R[2]=W=>x.value=W),title:e.title||c(n)("Export"),"append-to-body":!0,"close-on-click-modal":!e.exportState.isExporting.value,"close-on-press-escape":!e.exportState.isExporting.value,class:"fct-export-dialog",onClose:ne},{footer:u(()=>[s("div",Gt,[r(fe,{onClick:ce},{default:u(()=>[L(o(e.exportState.isExporting.value?c(n)("Cancel export"):c(n)("Close")),1)]),_:1}),b.value?(a(),U(fe,{key:0,type:"primary",disabled:Q.value,onClick:N},{default:u(()=>[L(o(c(n)("Export file")),1)]),_:1},8,["disabled"])):g("",!0)])]),default:u(()=>[e.exportState.isProActive?e.exportState.isSchemaLoading.value?(a(),m("div",vt,[R[3]||(R[3]=s("div",{class:"fct-export-loading-line"},null,-1)),R[4]||(R[4]=s("div",{class:"fct-export-loading-line is-short"},null,-1)),s("div",ft,[(a(),m(Y,null,ae(6,W=>s("div",{key:W,class:"fct-export-loading-option"})),64))])])):e.exportState.schemaError.value?(a(),U(re,{key:2,title:e.exportState.schemaError.value,type:"error",closable:!1,"show-icon":""},null,8,["title"])):g("",!0):(a(),U(He,{key:0,title:c(n)("Advanced data export is a Pro feature"),text:c(n)("Export configurable CSV files or schema-rich JSON data directly from your browser."),placement:"feature_lock_data_export"},null,8,["title","text"])),b.value?(a(),m("div",_t,[s("section",ht,[s("div",gt,[s("span",yt,[L(o(c(n)("Records to export"))+" ",1),s("span",bt," ("+o(c(n)("Choose which records to include"))+") ",1)])]),r(he,{modelValue:p.value,"onUpdate:modelValue":R[0]||(R[0]=W=>p.value=W),class:"fct-export-options"},{default:u(()=>[r(me,{value:"current_page",disabled:!e.currentPageCount,label:e.currentPageCount?`${c(n)("Current page")} (${e.currentPageCount} ${J(e.currentPageCount)})`:c(n)("Current page")},null,8,["disabled","label"]),r(me,{value:"all",label:Z.value},null,8,["label"]),r(me,{value:"selected",disabled:!e.selectedCount,label:`${c(n)("Selected")} (${e.selectedCount} ${J(e.selectedCount)})`},null,8,["disabled","label"]),r(me,{value:"search_results",disabled:!se.value,label:D.value},null,8,["disabled","label"])]),_:1},8,["modelValue"])]),s("section",Ct,[s("div",wt,[s("span",kt,o(c(n)("File format")),1)]),s("div",xt,[(a(!0),m(Y,null,ae(w.value,W=>(a(),m("button",{key:W.value,type:"button",class:ee(["fct-export-format-card",{"is-selected":i.value===W.value}]),"aria-pressed":i.value===W.value,onClick:ve=>i.value=W.value},[s("span",$t,o(W.label),1),s("span",St,o(H(W)),1),r(oe,{class:"fct-export-format-check"},{default:u(()=>[r(c(ze))]),_:1})],10,At))),128))])]),j.value?(a(),m("section",Mt,[s("div",Lt,[s("div",Et,[s("span",Vt,o(c(n)("CSV columns")),1),s("span",It," ("+o(c(n)("%1$s of %2$s selected",q.value,I.value.length))+") ",1)])]),s("div",Tt,[r(pe,{"model-value":_.value,indeterminate:y.value,disabled:!I.value.length,onChange:G},{default:u(()=>[L(o(c(n)("Select all")),1)]),_:1},8,["model-value","indeterminate","disabled"]),s("div",Pt,[(a(!0),m(Y,null,ae(I.value,W=>(a(),U(pe,{key:W.key,"model-value":v.value.has(W.key),onChange:ve=>h(W.key)},{default:u(()=>[L(o(W.label),1)]),_:2},1032,["model-value","onChange"]))),128))])])])):g("",!0),B.value?(a(),m("section",Ot,[s("div",Nt,[s("div",Ut,[s("span",Bt,o(c(n)("Data modules")),1),s("span",Dt," ("+o(c(n)("%s selected",k.value))+") ",1)])]),s("div",jt,[(a(!0),m(Y,null,ae($.value,W=>(a(),m("div",{key:W.key,class:ee(["fct-export-module",{"is-selected":C.value.has(W.key),"is-required":W.required}]),onClick:ve=>V(W)},[r(pe,{"model-value":C.value.has(W.key),disabled:W.required,onClick:R[1]||(R[1]=$e(()=>{},["stop"])),onChange:ve=>V(W)},{default:u(()=>[L(o(W.label)+" ",1),W.required?(a(),m("small",Rt,o(c(n)("Required")),1)):g("",!0)]),_:2},1032,["model-value","disabled","onChange"]),s("span",null,o(W.description),1)],10,Ft))),128))]),T.value.sensitive_values_redacted?(a(),U(re,{key:0,title:c(n)("Authentication hashes, payment tokens, and other credentials are excluded or redacted from JSON exports."),type:"info",closable:!1,"show-icon":""},null,8,["title"])):g("",!0)])):g("",!0),S.value?(a(),U(re,{key:2,title:j.value?c(n)("Select at least one CSV column"):c(n)("Select at least one data module"),type:"warning",closable:!1,"show-icon":""},null,8,["title"])):g("",!0),s("p",qt,o(P.value?c(n)("Large exports are written to disk batch by batch to keep browser memory low."):c(n)("This browser prepares the final download in memory. For very large exports, use a Chromium-based browser for direct-to-disk writing.")),1)])):g("",!0),e.exportState.isExporting.value?(a(),m("div",zt,[s("div",Kt,o(c(n)("Exporting %s",te.value)),1),s("div",Wt,[s("span",Jt,o(e.exportState.progress.value.total?c(n)("%1$s of %2$s records written",e.exportState.progress.value.fetched,e.exportState.progress.value.total):c(n)("%s records written",e.exportState.progress.value.fetched)),1),s("span",Ht,o(e.exportState.progress.value.percentage)+"% ",1)]),r(Je,{visible:!0,fade:"",duration:300},{default:u(()=>[r(ge,{percentage:e.exportState.progress.value.percentage,"stroke-width":6,striped:"","striped-flow":"","show-text":!1,class:"fct-export-progress-bar"},null,8,["percentage"])]),_:1}),s("p",Zt,o(e.exportState.writerMode.value==="direct"?c(n)("Writing each completed batch directly to your file."):c(n)("Keeping each response batch small while preparing the download.")),1)])):g("",!0),e.exportState.hasError.value?(a(),m("div",Qt,[r(re,{title:e.exportState.errorMessage.value||c(n)("Export failed"),type:"error",closable:!1,"show-icon":""},null,8,["title"])])):g("",!0),e.exportState.isComplete.value?(a(),m("div",Yt,[r(re,{title:c(n)("Export completed successfully"),description:c(n)("%s records exported",e.exportState.progress.value.fetched),type:"success",closable:!1,"show-icon":""},null,8,["title","description"])])):g("",!0)]),_:1},8,["modelValue","title","close-on-click-modal","close-on-press-escape"])}}}),Xt=new TextEncoder,es=64*1024*1024,ts=e=>/^[\x00-\x20]*[=+\-@]/.test(e)?"'"+e:e,Ie=e=>e==null?"":(typeof e=="object"&&(e=JSON.stringify(e)),e=ts(String(e)),e.includes(",")||e.includes('"')||e.includes(` | |
| 2 | +`)||e.includes("\r")?'"'+e.replace(/"/g,'""')+'"':e);class ss{constructor(l){this.filename=l.filename,this.format=l.format,this.entity=l.entity,this.schemaVersion=l.schemaVersion,this.columns=l.columns||[],this.modules=l.modules||[],this.memoryLimitMessage=l.memoryLimitMessage||"Export exceeds the safe in-memory limit.",this.parts=[],this.memoryBytes=0,this.writable=null,this.isFirstJsonRecord=!0,this.mode="memory"}open(){if(typeof window.showSaveFilePicker!="function")return Promise.resolve(this);const l=this.format==="json"?"application/json":"text/csv",t="."+this.format;return window.showSaveFilePicker({suggestedName:this.filename,types:[{description:this.format==="json"?"JSON file":"CSV file",accept:{[l]:[t]}}]}).then(d=>d.createWritable()).then(d=>(this.writable=d,this.mode="direct",this)).catch(d=>Promise.reject(d))}start(){if(this.format==="csv"){const d=this.columns.map(p=>Ie(p.label));return this.write("\uFEFF"+d.join(",")+`\r | |
| 3 | +`)}const l={schema_version:this.schemaVersion,entity:this.entity,modules:this.modules},t=JSON.stringify(l).slice(0,-1)+',"records":[';return this.write(t)}writeRecords(l){if(this.format==="csv"){const d=l.map(p=>this.columns.map(i=>Ie(p[i.key])).join(",")).join(`\r | |
| 4 | +`);return this.write(d?d+`\r | |
| 5 | +`:"")}const t=[];return l.forEach(d=>{this.isFirstJsonRecord||t.push(","),t.push(JSON.stringify(d)),this.isFirstJsonRecord=!1}),this.write(t.join(""))}close(){return(this.format==="json"?this.write("]}"):Promise.resolve()).then(()=>{if(this.writable)return this.writable.close();const t=this.format==="json"?"application/json;charset=utf-8":"text/csv;charset=utf-8",d=new Blob(this.parts,{type:t}),p=URL.createObjectURL(d),i=document.createElement("a");return i.href=p,i.download=this.filename,document.body.appendChild(i),i.click(),i.remove(),window.setTimeout(()=>URL.revokeObjectURL(p),1e3),this.parts=[],this.memoryBytes=0,Promise.resolve()})}abort(){return this.parts=[],this.memoryBytes=0,this.writable&&typeof this.writable.abort=="function"?this.writable.abort().catch(()=>{}):Promise.resolve()}write(l){if(!l)return Promise.resolve();const t=Xt.encode(l);return this.writable?this.writable.write(t):this.memoryBytes+t.byteLength>es?Promise.reject(new Error(this.memoryLimitMessage)):(this.parts.push(t),this.memoryBytes+=t.byteLength,Promise.resolve())}}const Te=()=>({fetched:0,total:0,percentage:0,batches:0});function _o(e){const l=E(null),t=E(!1),d=E(""),p=E(!1),i=E(!1),v=E(!1),C=E(!1),x=E(""),T=E(""),w=E(Te()),I=!!We.get("app_config.isProActive");let $=null,q=null,k=!1;const _=()=>{p.value=!1,i.value=!1,v.value=!1,C.value=!1,x.value="",T.value="",w.value=Te()},y=()=>!I||l.value||t.value?Promise.resolve(l.value):(t.value=!0,d.value="",ie.get(`data-export/${e.entity}/schema`).then(P=>(l.value=P.export,l.value)).catch(P=>{var J;return d.value=((J=P==null?void 0:P.data)==null?void 0:J.message)||n("Unable to load export options."),Promise.reject(P)}).finally(()=>{t.value=!1})),j=()=>{p.value&&(i.value=!0,q==null||q.abort())},B=P=>{const J=new Date,Z=[J.getFullYear(),String(J.getMonth()+1).padStart(2,"0"),String(J.getDate()).padStart(2,"0")].join("-");return`${e.filenamePrefix}-${Z}.${P}`},b=P=>{const J={...P||{}};return["page","per_page","with","select","include_ids","query_timestamp"].forEach(Z=>delete J[Z]),J},S=P=>{const J=P.records.length,Z=w.value.total||Number(P.total||0),D=w.value.fetched+J;w.value={fetched:D,total:Z,percentage:Z?Math.min(100,Math.round(D/Z*100)):0,batches:w.value.batches+1}},Q=P=>{var D;const J=((D=P==null?void 0:P.data)==null?void 0:D.message)||(P==null?void 0:P.message)||n("Export failed. Please try again.");return($?$.abort():Promise.resolve()).finally(()=>{q=null,C.value=!0,x.value=J,p.value=!1,$=null})},O=()=>($?$.abort():Promise.resolve()).finally(()=>{q=null,p.value=!1,$=null,K.info(n("Export cancelled"))}),te=async(P,J)=>{var H;let Z=0,D=J;for(;;){if(i.value){await O();return}const ue={format:P.format,scope:P.scope,ids:P.ids||[],columns:P.columns||[],modules:P.modules||[],filters:b(P.scope==="all"?e.buildAllParams():e.buildParams()),cursor:Z,max_records:D};q=new AbortController;const h=await ie.post(`data-export/${e.entity}/batch`,ue,null,{signal:q.signal});q=null;const V=h==null?void 0:h.export;if(!V||!Array.isArray(V.records))throw new Error(n("The export response was invalid."));if(i.value){await O();return}if(!V.records.length&&!w.value.fetched){await $.abort(),$=null,p.value=!1,K.info(n("No data to export"));return}if(await $.writeRecords(V.records),S(V),w.value.total&&w.value.fetched>=w.value.total||!V.has_more||!V.cursor||!V.records.length){await $.close(),$=null,p.value=!1,v.value=!0,w.value.percentage=100;return}Z=V.cursor,D=Number(((H=V.batch)==null?void 0:H.next_max)||D)}},se=P=>{if(_(),!l.value)return C.value=!0,x.value=n("Export options are not available."),Promise.resolve();const J=l.value.csv_columns.filter(D=>P.columns.includes(D.key)),Z=l.value.json_modules.filter(D=>P.modules.includes(D.key)||D.required).map(D=>D.key);return $=new ss({filename:B(P.format),format:P.format,entity:e.entity,schemaVersion:l.value.schema_version,columns:J,modules:Z,memoryLimitMessage:n("This export exceeds the 64 MB safe in-memory limit. Use a Chromium-based browser to write the file directly to disk.")}),p.value=!0,$.open().then(D=>(T.value=D.mode,D.start())).then(()=>{var H;const D=Number(((H=l.value.batching)==null?void 0:H.initial_records)||500);return te(P,D)}).catch(D=>D&&D.name==="AbortError"?(q=null,k?Promise.resolve($==null?void 0:$.abort()).finally(()=>{$=null,p.value=!1}):O()):Q(D))};return Pe(()=>{k=!0,i.value=!0,q==null||q.abort(),$==null||$.abort(),$=null}),{schema:l,isSchemaLoading:t,schemaError:d,isProActive:I,isExporting:p,isCancelled:i,isComplete:v,hasError:C,errorMessage:x,writerMode:T,progress:w,loadSchema:y,startExport:se,cancelExport:j,resetState:_}}const ls={name:"OrderUpDownIndicator",props:{order:{type:Object,required:!0}},data(){var e,l;return{upgradeToId:((e=this.order.config)==null?void 0:e.upgraded_to)||null,upgradeFromId:((l=this.order.config)==null?void 0:l.upgraded_from)||null}}},as={key:0,class:"ml-2"};function os(e,l,t,d,p,i){const v=M("el-icon"),C=M("el-button"),x=M("router-link"),T=M("el-tooltip");return p.upgradeFromId||p.upgradeToId?(a(),m("span",as,[p.upgradeFromId?(a(),U(T,{key:0,trigger:"click"},{content:u(()=>[L(o(e.$t("This order has been upgraded from"))+" ",1),r(x,{to:{name:"view_order",params:{order_id:p.upgradeFromId}}},{default:u(()=>[s("strong",null,"#"+o(p.upgradeFromId),1)]),_:1},8,["to"])]),default:u(()=>[r(C,{text:""},{default:u(()=>[r(v,null,{default:u(()=>l[0]||(l[0]=[s("svg",{viewBox:"0 0 24 24",width:"24",height:"24",color:"currentColor",fill:"none"},[s("defs"),s("path",{fill:"currentColor",d:"M11.943,1.75 L12.057,1.75 C14.248,1.75 15.969,1.75 17.312,1.931 C18.689,2.116 19.781,2.503 20.639,3.361 C21.497,4.219 21.884,5.311 22.069,6.688 C22.25,8.031 22.25,9.752 22.25,11.943 L22.25,12.057 C22.25,14.248 22.25,15.969 22.069,17.312 C21.884,18.689 21.497,19.781 20.639,20.639 C19.781,21.497 18.689,21.884 17.312,22.069 C15.969,22.25 14.248,22.25 12.057,22.25 L11.943,22.25 C9.752,22.25 8.031,22.25 6.688,22.069 C5.311,21.884 4.219,21.497 3.361,20.639 C2.503,19.781 2.116,18.689 1.931,17.312 C1.75,15.969 1.75,14.248 1.75,12.057 L1.75,11.943 C1.75,9.752 1.75,8.031 1.931,6.688 C2.116,5.311 2.503,4.219 3.361,3.361 C4.219,2.503 5.311,2.116 6.688,1.931 C8.031,1.75 9.752,1.75 11.943,1.75 L11.943,1.75 Z M4.422,4.422 C3.889,4.955 3.58,5.678 3.417,6.888 C3.252,8.12 3.25,9.74 3.25,12 C3.25,14.26 3.252,15.88 3.417,17.112 C3.58,18.322 3.889,19.045 4.422,19.578 C4.955,20.111 5.678,20.42 6.888,20.583 C8.12,20.748 9.74,20.75 12,20.75 C14.26,20.75 15.88,20.748 17.112,20.583 C18.322,20.42 19.045,20.111 19.578,19.578 C20.111,19.045 20.42,18.322 20.583,17.112 C20.748,15.88 20.75,14.26 20.75,12 C20.75,9.74 20.748,8.12 20.583,6.888 C20.42,5.678 20.111,4.955 19.578,4.422 C19.045,3.889 18.322,3.58 17.112,3.417 C15.88,3.252 14.26,3.25 12,3.25 C9.74,3.25 8.12,3.252 6.888,3.417 C5.678,3.58 4.955,3.889 4.422,4.422 Z M10.038,11.023 C9.749,11.32 9.274,11.326 8.977,11.038 C8.68,10.749 8.673,10.274 8.962,9.977 C9.051,9.886 9.197,9.704 9.41,9.433 L9.457,9.373 C9.647,9.131 9.87,8.847 10.099,8.576 C10.346,8.285 10.621,7.983 10.897,7.749 C11.035,7.631 11.19,7.515 11.358,7.425 C11.519,7.339 11.742,7.25 12,7.25 C12.258,7.25 12.481,7.339 12.642,7.425 C12.81,7.515 12.965,7.631 13.103,7.749 C13.379,7.983 13.654,8.285 13.901,8.576 C14.13,8.847 14.353,9.131 14.543,9.373 L14.543,9.373 L14.59,9.433 C14.804,9.704 14.949,9.886 15.038,9.977 C15.326,10.274 15.32,10.749 15.023,11.038 C14.726,11.326 14.251,11.32 13.962,11.023 C13.805,10.861 13.603,10.604 13.411,10.359 L13.366,10.302 C13.173,10.057 12.967,9.794 12.756,9.545 L12.75,9.538 L12.75,16 C12.75,16.414 12.414,16.75 12,16.75 C11.586,16.75 11.25,16.414 11.25,16 L11.25,9.538 L11.244,9.545 C11.033,9.794 10.827,10.057 10.634,10.302 L10.634,10.302 L10.589,10.359 C10.397,10.604 10.195,10.861 10.038,11.023 Z"})],-1)])),_:1,__:[0]})]),_:1})]),_:1})):g("",!0),p.upgradeToId?(a(),U(T,{key:1,trigger:"click"},{content:u(()=>[L(o(e.$t("This order has been upgraded to"))+" ",1),r(x,{to:{name:"view_order",params:{order_id:p.upgradeToId}}},{default:u(()=>[s("strong",null,"#"+o(p.upgradeToId),1)]),_:1},8,["to"])]),default:u(()=>[r(C,{text:""},{default:u(()=>[r(v,null,{default:u(()=>l[1]||(l[1]=[s("svg",{viewBox:"0 0 24 24",width:"24",height:"24",color:"currentColor",fill:"none"},[s("defs"),s("path",{fill:"currentColor",d:"M3.367,20.63 C1.756,19.02 1.756,16.672 1.756,11.995 L1.756,11.995 C1.756,7.317 1.756,4.97 3.367,3.359 C4.976,1.75 7.324,1.75 12.002,1.75 C16.68,1.75 19.026,1.75 20.637,3.359 C22.247,4.97 22.247,7.318 22.247,11.996 C22.247,16.674 22.247,19.022 20.637,20.631 C19.026,22.242 16.678,22.242 12,22.242 L12.003,22.241 C7.326,22.241 4.976,22.241 3.367,20.63 Z M4.427,4.418 C3.256,5.59 3.256,7.73 3.256,11.994 L3.256,11.995 C3.256,16.259 3.256,18.399 4.427,19.569 C5.597,20.741 7.738,20.741 12.003,20.741 C16.269,20.741 18.408,20.741 19.58,19.569 C20.75,18.399 20.75,16.259 20.75,11.993 L20.75,11.993 C20.75,7.727 20.75,5.588 19.58,4.417 C18.408,3.247 16.268,3.247 12.005,3.247 L12.003,3.248 C7.739,3.248 5.599,3.248 4.427,4.418 Z M12.024,8.951 C12.121,9.047 12.306,9.198 12.578,9.415 L12.654,9.476 L12.654,9.476 C12.894,9.667 13.172,9.888 13.437,10.117 C13.727,10.367 14.029,10.648 14.262,10.932 C14.432,11.139 14.661,11.456 14.726,11.834 C14.729,11.85 14.732,11.866 14.734,11.883 C14.741,11.94 14.745,11.999 14.745,12.059 C14.744,12.083 14.743,12.106 14.74,12.13 C14.693,12.568 14.41,12.933 14.199,13.168 C13.96,13.435 13.661,13.696 13.375,13.93 C13.152,14.112 12.918,14.292 12.71,14.452 C12.651,14.497 12.594,14.541 12.541,14.582 C12.277,14.786 12.109,14.923 12.027,15.007 C11.739,15.305 11.264,15.312 10.967,15.024 C10.669,14.735 10.662,14.26 10.95,13.963 C11.121,13.787 11.382,13.582 11.623,13.396 C11.684,13.349 11.745,13.302 11.807,13.254 C12.012,13.097 12.222,12.935 12.427,12.768 L12.483,12.722 L6.995,12.715 C6.581,12.715 6.246,12.379 6.246,11.964 C6.247,11.55 6.583,11.215 6.997,11.215 L12.422,11.222 C12.191,11.024 11.949,10.832 11.718,10.648 L11.718,10.648 L11.643,10.588 C11.396,10.391 11.134,10.181 10.965,10.012 C10.672,9.72 10.671,9.245 10.964,8.952 C11.257,8.659 11.731,8.658 12.024,8.951 Z M17.754,8.001 L17.745,15.993 C17.744,16.407 17.408,16.743 16.994,16.742 C16.58,16.742 16.244,16.405 16.245,15.991 L16.254,7.999 C16.255,7.585 16.591,7.25 17.005,7.25 C17.419,7.25 17.755,7.587 17.754,8.001 Z"})],-1)])),_:1,__:[1]})]),_:1})]),_:1})):g("",!0)])):g("",!0)}const ho=Se(ls,[["render",os]]);class De{static copyModern(l){return navigator.clipboard.writeText(l)}static copyLegacy(l){const t=document.createElement("textarea");t.value=l,t.setAttribute("readonly",""),t.style.position="absolute",t.style.left="-9999px",document.body.appendChild(t),t.select();try{return document.execCommand("copy"),t.remove(),Promise.resolve()}catch{return t.remove(),Promise.reject(new Error(n("Failed to copy text")))}}static async copy(l,t={}){const p={...{showNotification:!0,duration:2e3},...t};p.successMessage=p.successMessage||n("Copied to clipboard"),p.errorMessage=p.successMessage||n("Copied to clipboard");try{return navigator.clipboard&&window.isSecureContext?await this.copyModern(l):await this.copyLegacy(l),p.showNotification&&K.success(p.successMessage),!0}catch{return p.showNotification&&Ke.alert(l,n("Please copy this text: "),{confirmButtonText:n("Close")}),!1}}static copyElement(l,t={}){if(!l)throw new Error(n("Element not provided"));const d=l.textContent||l.value||"";return this.copy(d,t)}}const ns={class:"fct-copy-wrap"},rs={key:0,class:"fct-copy-basic"},is={key:1,class:"fct-copy-basic-wrap"},ds={class:"fct-copy-basic"},us={key:2,class:"fct-copy-advanced flex"},cs=["value","placeholder"],ms=["disabled"],be={__name:"CopyToClipboard",props:{showMode:{type:String,default:""},tooltipText:{type:String,default:n("Copy")},text:[String,Number],placeholder:String,buttonText:{type:String,default:n("Copy")},tooltipContent:{type:String,default:""},placement:{type:String,default:"top-end"}},setup(e){const l=e,t=E(l.text),d=E(null),p=i=>{i.preventDefault();const v=t.value;De.copy(v)};return de(()=>l.text,i=>{t.value=i},{deep:!0}),(i,v)=>{const C=M("el-button"),x=M("el-tooltip");return a(),m("div",ns,[e.showMode==="basic_copy_btn"?(a(),m("div",rs,[s("span",{ref_key:"copyTooltip",ref:d,class:"copy-tooltip"},o(e.tooltipText),513),s("button",{class:"fct-copy-btn",onClick:p},v[0]||(v[0]=[s("svg",{viewBox:"0 0 20 20","aria-hidden":"true",width:"20",height:"20"},[s("path",{"fill-rule":"evenodd",d:"M6.515 4.75a2 2 0 0 1 1.985-1.75h3a2 2 0 0 1 1.985 1.75h.265a2.25 2.25 0 0 1 2.25 2.25v7.75a2.25 2.25 0 0 1-2.25 2.25h-7.5a2.25 2.25 0 0 1-2.25-2.25v-7.75a2.25 2.25 0 0 1 2.25-2.25h.265Zm1.985-.25h3a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5Zm-1.987 1.73.002.02h-.265a.75.75 0 0 0-.75.75v7.75c0 .414.336.75.75.75h7.5a.75.75 0 0 0 .75-.75v-7.75a.75.75 0 0 0-.75-.75h-.265a2 2 0 0 1-1.985 1.75h-3a2 2 0 0 1-1.987-1.77Z"})],-1)]))])):e.showMode==="icon_with_text"?(a(),m("div",is,[s("div",ds,[s("span",{ref_key:"copyTooltip",ref:d,class:"copy-tooltip"},o(e.tooltipText),513),r(C,{class:"fct-copy-text-btn",text:"",onClick:p},{default:u(()=>[r(X,{name:"Copy"}),L(" "+o(e.buttonText),1)]),_:1})]),e.tooltipContent?(a(),U(x,{key:0,"popper-class":"fct-tooltip",content:e.tooltipContent,placement:e.placement,"show-after":400,"hide-after":0},{default:u(()=>[s("span",null,[r(X,{name:"InformationFill",class:"w-4.5 h-4.5"})])]),_:1},8,["content","placement"])):g("",!0)])):(a(),m("div",us,[s("input",{type:"text",class:"w-full",readonly:"",value:t.value,placeholder:e.placeholder},null,8,cs),s("span",{ref_key:"copyTooltip",ref:d,hidden:"",class:"copy-tooltip"},o(i.$t("Copied!")),513),s("button",{class:"fct-copy-btn flex",onClick:p,disabled:!t.value},[r(X,{name:"Copy"}),L(" "+o(i.$t("Copy")),1)],8,ms)]))])}}},ps={components:{DynamicIcon:X},props:{product:{type:Object},hideProductId:{type:Boolean,default:!1},hideViewIcon:{type:Boolean,default:!1},hideImage:{type:Boolean,default:!1}},data(){return{}},methods:{translate:n,translateNumber:Ce,getImage(e){return Xe.get(e,"featured_media.url")??et.productPlaceholder()}}},vs={class:"fct-product-info-card w-full"},fs={key:0,class:"fct-product-info-media"},_s=["src","alt"],hs={class:"fct-product-info-details"},gs={class:"fct-product-info-name"},ys={class:"product-name"},bs={class:"product-name-inner"},Cs=["href"],ws={key:0,class:"product-id"},ks={key:1,class:"product-sub-name"};function xs(e,l,t,d,p,i){var C,x,T,w,I,$,q;const v=M("DynamicIcon");return a(),m("div",vs,[t.hideImage?g("",!0):(a(),m("div",fs,[s("span",null,[s("img",{src:i.getImage((C=t.product)==null?void 0:C.detail),alt:(x=t.product)==null?void 0:x.post_title},null,8,_s)])])),s("div",hs,[s("div",gs,[s("span",ys,[s("span",bs,o(((T=t.product)==null?void 0:T.post_title)||i.translate("No Name")),1),t.hideViewIcon?g("",!0):(a(),m("a",{key:0,class:"view-link right-1",target:"_blank",href:(w=t.product)==null?void 0:w.view_url,onClick:l[0]||(l[0]=$e(()=>{},["stop"]))},[r(v,{class:"w-5 h-5",name:"Eye"})],8,Cs))]),t.hideProductId?g("",!0):(a(),m("span",ws," #"+o(i.translateNumber((I=t.product)==null?void 0:I.ID)),1)),($=t.product)!=null&&$.variation_title?(a(),m("span",ks," – "+o((q=t.product)==null?void 0:q.variation_title),1)):g("",!0)])])])}const As=Se(ps,[["render",xs]]),$s={name:"LicenseTable",components:{ProductInfo:As,UserCan:Ue,RouteCell:Ge,DynamicIcon:X,IconButton:Me,CopyToClipboard:be,Empty:Qe,Badge:Ze},props:{licenses:{type:Array,required:!0},columns:{type:Array,default(){return["product","order_id","customer","date"]}}},computed:{Clipboard(){return De},formattedLicense(){return this.licenses.map(e=>{var l;return{...e,product:{...e.product,variation_title:((l=e.product_variant)==null?void 0:l.variation_title)||"n/a"}}})}},methods:{translate:n,formatDate:Ye,translateNumber:Ce,getProductName(e){var l,t;return(l=e==null?void 0:e.product)!=null&&l.post_title?(t=e==null?void 0:e.product)==null?void 0:t.post_title:"n/a"},getProductVariationName(e){var l,t;return(l=e==null?void 0:e.product_variant)!=null&&l.variation_title?(t=e==null?void 0:e.product_variant)==null?void 0:t.variation_title:"n/a"}}},Ss={class:"fct_licenses_table hide-on-mobile"},Ms={class:"fct-license-key-wrap flex flex-col"},Ls={class:"fct-license-key max-w-full pr-1"},Es={class:"fct-license-key-inner pr-2"},Vs={key:0},Is={key:1},Ts={class:"fct_licenses_table_mobile"},Ps={class:"fct-table-mobile-wrap"},Os=["onClick"],Ns={class:"fct-table-mobile-header-left"},Us={class:"fct-table-status-col"},Bs={class:"fct-table-activations-col"},Ds={class:"fct-table-mobile-body"},js=["onClick"],Fs={class:"fct-license-key-wrap has-bg"},Rs={class:"fct-license-key"},qs={class:"fct-license-key-inner pr-2"};function zs(e,l,t,d,p,i){const v=M("Badge"),C=M("router-link"),x=M("DynamicIcon"),T=M("el-tooltip"),w=M("el-table-column"),I=M("ProductInfo"),$=M("RouteCell"),q=M("Empty"),k=M("el-table"),_=M("UserCan");return a(),U(_,{permission:"licenses/view"},{default:u(()=>[s("div",Ss,[r(k,{data:i.formattedLicense,class:"w-full compact-table"},{empty:u(()=>[r(q,{icon:"Empty/ListView","has-dark":!0,text:i.translate("No Licenses found based on your filter")},null,8,["text"])]),default:u(()=>[r(w,{label:i.translate("License Key"),width:200},{default:u(y=>{var j;return[s("div",Ms,[s("span",null,[(a(),U(v,{status:y.row.status,key:y.row.id},null,8,["status"]))]),s("span",Ls,[s("span",Es,[r(C,{class:"link",to:{name:"view_license",params:{license_id:(j=y.row)==null?void 0:j.id}}},{default:u(()=>[L(o(y.row.license_key),1)]),_:2},1032,["to"])]),r(T,{content:y.row.license_key,placement:"top","popper-class":"fct-tooltip"},{default:u(()=>[r(x,{class:"cursor-pointer p-1 w-6 h-6 flex-none",name:"Copy",onClick:()=>{i.Clipboard.copy(y.row.license_key,{successMessage:i.translate("License Key copied to clipboard"),errorMessage:i.translate("Failed to copy License Key")})}},null,8,["onClick"])]),_:2},1032,["content"])])])]}),_:1},8,["label"]),t.columns.indexOf("product")!==-1?(a(),U(w,{key:0,width:200,label:i.translate("Product")},{default:u(y=>{var j;return[r($,{class:"link block hover:no-underline",to:{name:"view_license",params:{license_id:(j=y.row)==null?void 0:j.id}}},{default:u(()=>[r(I,{product:y.row.product,hideProductId:!0,hideViewIcon:!0,hideImage:!0},null,8,["product"])]),_:2},1032,["to"])]}),_:1},8,["label"])):g("",!0),t.columns.indexOf("order_id")!==-1?(a(),U(w,{key:1,width:80,label:i.translate("Order ID")},{default:u(y=>[r($,{class:"link order_id block hover:no-underline relative w-full",to:{name:"view_order",params:{order_id:y.row.order_id}}},{default:u(()=>[r(C,{class:"link absolute left-1/2 top-1/2 translate-x-[calc(-50%-16px)] translate-y-[-50%]",to:{name:"view_order",params:{order_id:y.row.order_id}}},{default:u(()=>[L(" #"+o(y.row.order_id),1)]),_:2},1032,["to"])]),_:2},1032,["to"])]),_:1},8,["label"])):g("",!0),t.columns.indexOf("customer")!==-1?(a(),U(w,{key:2,width:100,label:i.translate("Customer")},{default:u(y=>[r(C,{class:"link",to:{name:"view_customer",params:{customer_id:y.row.customer_id}}},{default:u(()=>{var j,B;return[L(o(((B=(j=y.row)==null?void 0:j.customer)==null?void 0:B.full_name)||i.translate("No Name")),1)]}),_:2},1032,["to"])]),_:1},8,["label"])):g("",!0),r(w,{width:90,label:i.translate("Activations")},{default:u(y=>{var j;return[r($,{class:"link block hover:no-underline relative w-full",to:{name:"view_license",params:{license_id:(j=y.row)==null?void 0:j.id}}},{default:u(()=>[L(o(i.translateNumber(y.row.activation_count))+" / "+o(y.row.limit==0?"Unlimited":y.row.limit),1)]),_:2},1032,["to"])]}),_:1},8,["label"]),t.columns.indexOf("date")!==-1?(a(),U(w,{key:3,width:140,label:i.translate("Date")},{default:u(y=>{var j;return[r($,{class:"block hover:no-underline w-full",to:{name:"view_license",params:{license_id:(j=y.row)==null?void 0:j.id}}},{default:u(()=>[s("div",null,[s("span",null,o(i.formatDate(y.row.created_at)),1),l[0]||(l[0]=s("span",{class:"text-gray-300 px-2"},"–",-1)),y.row.expiration_date?(a(),m("span",Vs,o(i.formatDate(y.row.expiration_date)),1)):(a(),m("span",Is,o(i.translate("Lifetime")),1))])]),_:2},1032,["to"])]}),_:1},8,["label"])):g("",!0)]),_:1},8,["data"])]),s("div",Ts,[s("div",Ps,[(a(!0),m(Y,null,ae(i.formattedLicense,(y,j)=>(a(),m("div",{key:j,class:"fct-table-mobile-row"},[s("div",{class:"fct-table-mobile-header",onClick:B=>e.$router.push({name:"view_license",params:{license_id:y==null?void 0:y.id}})},[s("div",Ns,[s("div",Us,[(a(),U(v,{status:y.status,key:y.id},null,8,["status"]))]),s("div",Bs,o(y.activation_count)+" / "+o(y.limit==0?"Unlimited":y.limit),1)])],8,Os),s("div",Ds,[s("div",{class:"fct-table-product-col",onClick:B=>e.$router.push({name:"view_license",params:{license_id:y==null?void 0:y.id}})},[r(I,{product:y.product,hideProductId:!0,hideViewIcon:!0,hideImage:!0},null,8,["product"])],8,js),s("div",Fs,[s("div",Rs,[s("div",qs,[r(C,{class:"link",to:{name:"view_license",params:{license_id:y==null?void 0:y.id}}},{default:u(()=>[L(o(y.license_key),1)]),_:2},1032,["to"])]),r(x,{class:"cursor-pointer p-1 w-6 h-6",name:"Copy",onClick:()=>{i.Clipboard.copy(y.license_key,{successMessage:i.translate("License Key copied to clipboard"),errorMessage:i.translate("Failed to copy License Key")})}},null,8,["onClick"])])])])]))),128))])])]),_:1})}const go=Se($s,[["render",zs]]),Ks={class:"fct_edit_customer_popup"},Ws={key:0,class:"fct-customer-address-business-details"},Js={class:"fct-customer-address-business-details-title"},Hs={class:"form-error-wrap"},Zs=["innerHTML"],Qs={class:"dialog-footer"},je=Object.assign({name:"AddOrEditAddressModal"},{__name:"AddOrEditAddressModal",props:["customer_id","modalAction","address","showAddressModal","order_id","customerAddressModalInfos","showSetAsAlsoCheckbox","closing_modal","showBusinessDetailsSection"],emits:["close-modal","update:refresh-address"],setup(e,{emit:l}){const t=e,d=l;E([]);const p=E(!1),i=E({}),v=E(!1),C=E(!1),x=E(!1);E(null);function T(B={}){return{label:"",name:"",email:"",company_name:"",vat_number:"",legal_registration_id:"",phone:"",address_1:"",address_2:"",city:"",state:"",postcode:"",country:"",...B??{}}}const w=E(T(t.address)),I=Oe().ctx,$=z(()=>{var B;return((B=window.fluentCartAdminApp)==null?void 0:B.business_details)||{}}),q=z(()=>{var B,b,S,Q;return!!t.showBusinessDetailsSection&&((B=t.modalAction)==null?void 0:B.type)==="billing"&&(((b=$.value.company_name)==null?void 0:b.enabled)||((S=$.value.vat_number)==null?void 0:S.enabled)||((Q=$.value.legal_registration_id)==null?void 0:Q.enabled))});tt().onSave(()=>{t.showAddressModal&&["billing","shipping"].includes(t.modalAction.type)&&(t.modalAction.action==="edit"&&I.address.id!==""?j():t.modalAction.action==="create"&&y())});const _=B=>{let b="";for(const S in B){const Q=B[S],O=Object.values(Q);b+=O+" </br>"}return b},y=()=>{v.value=!0;let B={type:t.modalAction.type,customer_id:t.customer_id,order_id:t.order_id??null},b={...w.value,...B};b.sync=x.value,ie.post("customers/"+t.customer_id+"/address",{...b}).then(S=>{d("update:refresh-address",!1,S.data),K.success(S.message),i.value={}}).catch(S=>{var Q;S.status_code=="422"?(K.validationErrors(S),i.value=S.data):K.error((Q=S.data)==null?void 0:Q.message)}).finally(()=>{p.value=!1,v.value=!1})},j=()=>{C.value=!0;let b={...{type:t.modalAction.type,customer_id:t.customer_id,is_primary:t.address.is_primary,id:t.address.id,order_id:t.order_id&&t.address.is_primary==1?t.order_id:null},...w.value};ie.put("customers/"+t.customer_id+"/address",{...b}).then(S=>{x.value,d("update:refresh-address",!1,S.data),K.success(S.message),i.value={}}).catch(S=>{var Q;S.status_code=="422"?(K.validationErrors(S),i.value=S):K.error((Q=S.data)==null?void 0:Q.message)}).finally(()=>{p.value=!1,C.value=!1})};return de(()=>t.closing_modal,(B,b)=>{B&&(i.value={})}),de(()=>t.address,B=>{w.value=T(B)},{deep:!0,immediate:!0}),de(()=>t.showAddressModal,B=>{B||(w.value=T({}),i.value={})}),(B,b)=>{const S=M("el-form"),Q=M("el-checkbox"),O=M("el-button");return a(),m("div",Ks,[r(S,{"label-position":"top",class:"fct-compact-form","require-asterisk-position":"right"},{default:u(()=>{var te,se,P,J,Z,D;return[r(le,{label:c(n)("Address Label"),class:ee(i.value.hasOwnProperty("label")?"is-error":""),modelValue:w.value.label,"onUpdate:modelValue":b[0]||(b[0]=H=>w.value.label=H)},null,8,["label","class","modelValue"]),r(le,{label:c(n)("Name"),required:"",class:ee(i.value.hasOwnProperty("name")?"is-error":""),modelValue:w.value.name,"onUpdate:modelValue":b[1]||(b[1]=H=>w.value.name=H)},null,8,["label","class","modelValue"]),r(le,{label:c(n)("Email"),required:"",class:ee(i.value.hasOwnProperty("email")?"is-error":""),modelValue:w.value.email,"onUpdate:modelValue":b[2]||(b[2]=H=>w.value.email=H)},null,8,["label","class","modelValue"]),r(le,{label:c(n)("Phone"),required:"",class:ee(i.value.hasOwnProperty("phone")?"is-error":""),modelValue:w.value.phone,"onUpdate:modelValue":b[3]||(b[3]=H=>w.value.phone=H)},null,8,["label","class","modelValue"]),r(Le,{use_additional_address_fields:"",modelValue:w.value,"onUpdate:modelValue":b[4]||(b[4]=H=>w.value=H),validationErrors:i.value},null,8,["modelValue","validationErrors"]),q.value?(a(),m("div",Ws,[s("h3",Js,o(c(n)("Business Details")),1),(te=$.value.company_name)!=null&&te.enabled?(a(),U(le,{key:0,label:c(n)("Company Name"),required:(se=$.value.company_name)==null?void 0:se.required,class:ee(i.value.hasOwnProperty("company_name")?"is-error":""),modelValue:w.value.company_name,"onUpdate:modelValue":b[5]||(b[5]=H=>w.value.company_name=H)},null,8,["label","required","class","modelValue"])):g("",!0),(P=$.value.vat_number)!=null&&P.enabled?(a(),U(le,{key:1,label:c(n)("VAT/GST/Tax Number"),required:(J=$.value.vat_number)==null?void 0:J.required,class:ee(i.value.hasOwnProperty("vat_number")?"is-error":""),modelValue:w.value.vat_number,"onUpdate:modelValue":b[6]||(b[6]=H=>w.value.vat_number=H)},null,8,["label","required","class","modelValue"])):g("",!0),(Z=$.value.legal_registration_id)!=null&&Z.enabled?(a(),U(le,{key:2,label:c(n)("Legal Registration ID"),required:(D=$.value.legal_registration_id)==null?void 0:D.required,class:ee(i.value.hasOwnProperty("legal_registration_id")?"is-error":""),modelValue:w.value.legal_registration_id,"onUpdate:modelValue":b[7]||(b[7]=H=>w.value.legal_registration_id=H)},null,8,["label","required","class","modelValue"])):g("",!0)])):g("",!0)]}),_:1}),s("div",Hs,[s("p",{class:"form-error-text",innerHTML:_(i.value)},null,8,Zs)]),s("div",Qs,[(e.showSetAsAlsoCheckbox,g("",!0)),e.address.id?(a(),U(O,{key:1,type:"primary",onClick:b[9]||(b[9]=te=>j()),loading:C.value,disabled:C.value},{default:u(()=>[L(o(c(n)("Update Address")),1)]),_:1},8,["loading","disabled"])):(a(),U(O,{key:2,type:"primary",onClick:b[10]||(b[10]=te=>y()),loading:v.value,disabled:v.value},{default:u(()=>[L(o(c(n)("Add Address")),1)]),_:1},8,["loading","disabled"]))])])}}}),Ys={class:"fct-manage-address-modal"},Gs={key:1,class:"fct-manage-address-wrap"},Xs=["onClick"],el={class:"fct-address-action absolute top-0 right-0 pt-2"},tl={class:"more-btn"},sl={key:0,class:"empty-text"},ll={key:2,class:"edit_address"},al={key:3,class:"dialog-footer"},ol={name:"ManageAddressModal",props:["showAddressModal","customer_id","modalAction","order_id","showBusinessDetailsSection"],expose:["editAddress"],data(){return{manageAddress:[],address:{},loading:!0,isEditAddress:!1,selectedAddressIndex:null}},computed:{showModal:{get(){return this.showAddressModal},set(e){this.$emit("update:showAddressModal",e)}}},methods:{handleAddressCommand(e){e.action==="edit"?this.editAddress(e.data):e.action==="use"?this.$emit("onAddressSelected",e.data):e.action==="set-as-also"?this.setAsAlso(e.data):e.action==="default"?this.setAddressPrimary(e.data):e.action==="remove"&&this.$confirm(this.$t("Are you sure you want to delete this address?"),this.$t("Warning"),{confirmButtonText:this.$t("Yes, Delete!"),cancelButtonText:this.$t("Cancel"),cancelButtonClass:"el-button--small",confirmButtonClass:"el-button--small",type:"warning"}).then(()=>{this.removeAddress(e.data)}).catch(()=>{})},emitAddNewAddress(e,l=[]){this.$emit("addNewAddress",e,"create",l)},emitAddressSelected(){this.showModal=!1,this.$emit("onAddressSelected",this.manageAddress[this.selectedAddressIndex])},editAddress(e){this.address=e,this.isEditAddress=!0},removeAddress(e){let l=e.id;this.$del("customers/"+this.customer_id+"/address",{address:e}).then(t=>{this.getAddresses(),this.$emit("refresh-address"),this.handleSuccess(t.message),l===this.selectedAddressIndex&&(this.selectedAddressIndex=null)}).catch(t=>{var d;t.status_code=="422"?K.validationErrors(t):K.error((d=t.data)==null?void 0:d.message)}).finally(()=>{this.loading=!1})},setAddressPrimary(e){this.$post("customers/"+this.customer_id+"/address/make-primary",{addressId:e.id,type:e.type}).then(l=>{this.$emit("refresh-address"),this.getAddresses(),this.handleSuccess(l.message)}).catch(l=>{var t;l.status_code=="422"?K.validationErrors(l):K.error((t=l.data)==null?void 0:t.message)}).finally(()=>{this.loading=!1})},getTitle(){return this.modalAction.type==="billing"?this.$t("Manage billing address"):this.$t("Manage shipping address")},fetchAddresses(){this.getAddresses(this.modalAction.type)},getAddresses(e="billing"){this.loading=!0,this.selectedOrders=[],this.$get("customers/"+this.customer_id+"/address",{type:this.modalAction.type}).then(l=>{this.manageAddress=l.addresses}).catch(l=>{this.handleError(l)}).finally(()=>{this.loading=!1})},updateAddress(){this.fetchAddresses(),this.$emit("refresh-address")},setAsAlso(e){const l=this.modalAction.type==="billing"?"shipping":"billing",t={...e,type:l,customer_id:this.customer_id,is_primary:0};delete t.id,delete t.created_at,delete t.updated_at,this.emitAddNewAddress(l,t)}}},nl=Object.assign(ol,{setup(e){return(l,t)=>{const d=M("el-skeleton"),p=M("el-tag"),i=M("el-dropdown-item"),v=M("el-dropdown-menu"),C=M("el-dropdown"),x=M("el-icon"),T=M("el-button"),w=M("el-dialog");return a(),m("div",Ys,[r(w,{modelValue:l.showModal,"onUpdate:modelValue":t[5]||(t[5]=I=>l.showModal=I),onClose:t[6]||(t[6]=()=>{l.selectedAddressIndex=null,l.isEditAddress=!1}),onOpen:l.fetchAddresses,title:l.getTitle(),"append-to-body":!0,"modal-class":"fct-manage-order-address-modal"},{default:u(()=>[l.loading?(a(),U(d,{key:0,animated:"",rows:4})):g("",!0),!l.loading&&!l.isEditAddress?(a(),m("div",Gs,[(a(!0),m(Y,null,ae(l.manageAddress,(I,$)=>(a(),m("div",{class:"fct-manage-address-block-wrap",key:I.id},[s("div",{class:ee(`cursor-pointer fct-manage-address-block ${I.is_primary==="1"?"default-address":""} ${$===l.selectedAddressIndex?"selected":""} `),onClick:()=>{l.selectedAddressIndex=$}},[I.is_primary==="1"?(a(),U(p,{key:0,type:"info",round:""},{default:u(()=>[L(o(l.$t("Default")),1)]),_:1})):g("",!0),s("p",null,[s("strong",null,o(I.name),1),L(" "+o(l.getOrderAddress(I,"",!0)),1)])],10,Xs),s("div",el,[r(C,{trigger:"click",class:"fct-more-option-wrap","popper-class":"fct-dropdown",onCommand:l.handleAddressCommand},{dropdown:u(()=>[r(v,null,{default:u(()=>[r(i,{command:{action:"edit",data:I}},{default:u(()=>[L(o(l.$t("Edit")),1)]),_:2},1032,["command"]),r(i,{command:{action:"use",data:I}},{default:u(()=>[L(o(l.$t("Use this address")),1)]),_:2},1032,["command"]),r(i,{command:{action:"set-as-also",data:I}},{default:u(()=>[L(o(e.modalAction.type==="billing"?l.$t("Copy to Shipping"):l.$t("Copy to Billing")),1)]),_:2},1032,["command"]),I.is_primary!=="1"?(a(),m(Y,{key:0},[r(i,{command:{action:"default",data:I}},{default:u(()=>[L(o(l.$t("Set as default")),1)]),_:2},1032,["command"]),r(i,{command:{action:"remove",data:I},class:"item-destructive"},{default:u(()=>[L(o(l.$t("Delete")),1)]),_:2},1032,["command"])],64)):g("",!0)]),_:2},1024)]),default:u(()=>[s("span",tl,[r(X,{name:"More"})])]),_:2},1032,["onCommand"])])]))),128)),l.manageAddress.length==0?(a(),m("div",sl,o(e.modalAction.type==="billing"?l.$t("No billing address found."):l.$t("No shipping address found.")),1)):g("",!0)])):g("",!0),l.isEditAddress?(a(),m("div",ll,[r(T,{text:"",onClick:t[0]||(t[0]=()=>l.isEditAddress=!1),style:{"margin-bottom":"16px"}},{default:u(()=>[r(x,null,{default:u(()=>[r(c(Ne))]),_:1}),L(" "+o(l.$t("Manage address")),1)]),_:1}),r(je,{"onUpdate:refreshAddress":t[1]||(t[1]=I=>{l.isEditAddress=I,l.updateAddress()}),customer_id:e.customer_id,modalAction:e.modalAction,address:l.address,showAddressModal:l.isEditAddress,order_id:e.order_id,showBusinessDetailsSection:e.showBusinessDetailsSection,onCloseModal:t[2]||(t[2]=I=>l.showModal=!1)},null,8,["customer_id","modalAction","address","showAddressModal","order_id","showBusinessDetailsSection"])])):g("",!0),l.isEditAddress?g("",!0):(a(),m("div",al,[l.selectedAddressIndex!=null?(a(),U(T,{key:0,onClick:t[3]||(t[3]=I=>l.emitAddressSelected())},{default:u(()=>[r(X,{name:"LocationPin"}),L(" "+o(l.$t("Use this address")),1)]),_:1})):g("",!0),r(T,{onClick:t[4]||(t[4]=I=>l.emitAddNewAddress(e.modalAction.type)),type:"primary"},{default:u(()=>[L(o(l.$t("Add new address")),1)]),_:1})]))]),_:1},8,["modelValue","onOpen","title"])])}}}),rl={class:"fct-term-container"},il={class:"fct-term-input-wrap"},dl={key:0,class:"fct-term-search-result-button-wrap mb-1.5"},ul={class:"search-text"},cl={key:1,class:"fct-term-search-result-list is-scrollable"},ml=["value","checked","onChange"],pl={key:2,class:"empty-text"},vl={key:0,class:"fct-term-selected-list"},fl={class:"fct-term-selected"},_l={class:"text"},hl={class:"fct-term-list-header"},gl={class:"fct-term-input-inline-wrap"},yl={key:0,class:"fct-term-list-header-button-wrap"},bl={class:"search-text"},Cl={class:"fct-term-list-wrap is-scrollable"},wl={key:0,class:"fct-term-list newly-added-list"},kl={class:"title"},xl={class:"fct-term-label"},Al=["value","checked","onChange"],$l={key:1,class:"fct-term-list to-add-list"},Sl={class:"title"},Ml={class:"fct-term-label"},Ll=["value","checked","onChange"],El={key:2,class:"fct-term-list available-list"},Vl={class:"title"},Il={class:"fct-term-label"},Tl=["value","checked","onChange"],Pl={key:3,class:"empty-text"},Ol={class:"dialog-footer"},Fe={__name:"Modal",props:{bindToType:{type:String},bindToId:{type:[String,Number]},selected_labels:{type:Array,default:[]},labelModalIsOpen:{type:Boolean,default:!1},shouldEnableEditing:{type:Boolean,default:!0}},emits:["update:update-label","close-label-modal"],setup(e,{emit:l}){const t=Oe().ctx,d=e,p=l,i=E([]),v=E([]),C=E([]),x=E(),T=E(""),w=E([]),I=E([]),$=E(!1),q=E(!1),k=E(d.labelModalIsOpen),_=E("");de(()=>d.labelModalIsOpen,h=>{k.value=h,h&&(C.value=[...i.value])});const y=h=>{h.stopPropagation(),h.preventDefault(),B()},j=()=>{t.$get("labels").then(h=>{w.value=h.labels,i.value=d.selected_labels}).catch(h=>{var V;h.status_code=="422"?K.validationErrors(h):K.error((V=h.data)==null?void 0:V.message)}).finally(()=>{})},B=(h="")=>{const V=T.value||_.value;t.$post("labels",{value:V,bind_to_type:d.bindToType,bind_to_id:d.bindToId}).then(f=>{T.value="",_.value="",w.value.push(f.data),h!=="insideModal"?i.value.push(f.data.id):v.value.push(f.data.id),p("update:update-label",i.value)}).catch(f=>{K.error(f)})};de(T,h=>{h?(h=h.trim(),I.value=w.value.filter(V=>V.value.toLowerCase().includes(h.toLowerCase())),$.value=!0):(I.value=[],$.value=!1)});const b=h=>{const V=i.value.indexOf(h);V===-1?i.value.push(h):i.value.splice(V,1),p("update:update-label",i.value)},S=h=>{const V=C.value.indexOf(h);V===-1?C.value.push(h):C.value.splice(V,1)},Q=h=>{const V=v.value.indexOf(h);V===-1?v.value.push(h):v.value.splice(V,1)},O=()=>{i.value=[...C.value,...v.value],v.value=[],p("update:update-label",i.value),H()},te=h=>{const V=i.value.indexOf(h);V!==-1&&(i.value.splice(V,1),p("update:update-label",i.value))},se=h=>{$.value&&!x.value.$el.contains(h.target)&&!q.value.contains(h.target)&&($.value=!1,T.value="")},P=z(()=>w.value.filter(h=>i.value.includes(h.id))),J=z(()=>w.value.filter(h=>v.value.includes(h.id))),Z=z(()=>w.value.filter(h=>C.value.includes(h.id)).filter(h=>h.value.toLowerCase().includes(_.value.trim().toLowerCase()))),D=z(()=>w.value.filter(h=>!C.value.includes(h.id)).filter(h=>!v.value.includes(h.id)).filter(h=>h.value.toLowerCase().includes(_.value.trim().toLowerCase())).sort((h,V)=>h.value.localeCompare(V.value))),H=()=>{p("close-label-modal")},ue=z(()=>{const h=_.value.trim().toLowerCase(),V=T.value.trim().toLowerCase();return(h||V)===""||I.value.some(f=>f.value.toLowerCase()===h||f.value.toLowerCase()===V)||Z.value.some(f=>f.value.toLowerCase()===h||f.value.toLowerCase()===V)||D.value.some(f=>f.value.toLowerCase()===h||f.value.toLowerCase()===V)});return Ae(()=>{j(),document.addEventListener("click",se)}),Pe(()=>{document.removeEventListener("click",se)}),(h,V)=>{const f=M("el-input"),A=M("el-button"),G=M("el-dialog");return a(),m("div",rl,[s("div",il,[e.shouldEnableEditing?(a(),U(f,{key:0,ref_key:"inputRef",ref:x,modelValue:T.value,"onUpdate:modelValue":V[0]||(V[0]=N=>T.value=N),onKeydown:Re(y,["enter"])},null,8,["modelValue"])):g("",!0),$.value?(a(),m("div",{key:1,class:"fct-term-search-result",ref_key:"suggestionsRef",ref:q,style:qe(T.value==""?"display: none":"")},[T.value!==""&&!ue.value?(a(),m("div",dl,[r(A,{type:"info",plain:"",onClick:B,size:"small"},{default:u(()=>[r(X,{name:"PlusCircle"}),L(" "+o(h.$t("Add"))+" ",1),s("span",ul,'"'+o(T.value)+'"',1)]),_:1})])):g("",!0),I.value.length>0?(a(),m("ul",cl,[(a(!0),m(Y,null,ae(I.value,(N,ne)=>(a(),m("li",{key:ne},[s("label",null,[s("input",{type:"checkbox",value:N.id,checked:i.value.includes(N.id),onChange:ce=>b(N.id)},null,40,ml),L(" "+o(N.value),1)])]))),128))])):g("",!0),I.value.length===0?(a(),m("p",pl,o(h.$t("No labels found.")),1)):g("",!0)],4)):g("",!0)]),P.value.length>0?(a(),m("ul",vl,[(a(!0),m(Y,null,ae(P.value,N=>(a(),m("li",{key:N.id},[s("div",fl,[s("div",_l,o(N.value),1),e.shouldEnableEditing?(a(),U(X,{key:0,name:"Cross",onClick:ne=>te(N.id)},null,8,["onClick"])):g("",!0)])]))),128))])):g("",!0),r(G,{"before-close":H,"append-to-body":!0,width:"45%",modelValue:k.value,"onUpdate:modelValue":V[3]||(V[3]=N=>k.value=N),title:h.$t("Add labels"),class:"fct-add-labels-modal"},{default:u(()=>[s("div",hl,[s("div",gl,[r(f,{modelValue:_.value,"onUpdate:modelValue":V[1]||(V[1]=N=>_.value=N),placeholder:h.$t("Search to find or create labels")},{prefix:u(()=>[r(X,{name:"Search"})]),_:1},8,["modelValue","placeholder"])]),_.value!==""&&!ue.value?(a(),m("div",yl,[r(A,{type:"info",plain:"",onClick:V[2]||(V[2]=N=>B("insideModal")),size:"small"},{default:u(()=>[r(X,{name:"PlusCircle"}),L(" "+o(h.$t("Add"))+" ",1),s("span",bl,'"'+o(_.value)+'"',1)]),_:1})])):g("",!0)]),s("div",Cl,[J.value.length>0?(a(),m("ul",wl,[s("li",kl,o(h.$t("Newly added")),1),(a(!0),m(Y,null,ae(J.value,N=>(a(),m("li",{key:N.id},[s("label",xl,[s("input",{type:"checkbox",value:N.id,checked:v.value.includes(N.id),onChange:ne=>Q(N.id)},null,40,Al),L(" "+o(N.value),1)])]))),128))])):g("",!0),Z.value.length>0?(a(),m("ul",$l,[s("li",Sl,o(h.$t("To add")),1),(a(!0),m(Y,null,ae(Z.value,N=>(a(),m("li",{key:N.id},[s("label",Ml,[s("input",{type:"checkbox",value:N.id,checked:C.value.includes(N.id),onChange:ne=>S(N.id)},null,40,Ll),L(" "+o(N.value),1)])]))),128))])):g("",!0),D.value.length>0?(a(),m("ul",El,[s("li",Vl,o(h.$t("Available")),1),(a(!0),m(Y,null,ae(D.value,N=>(a(),m("li",{key:N.id},[s("label",Il,[s("input",{type:"checkbox",value:N.id,checked:C.value.includes(N.id),onChange:ne=>S(N.id)},null,40,Tl),L(" "+o(N.value),1)])]))),128))])):g("",!0),Z.value.length===0&&D.value.length===0&&J.value.length===0?(a(),m("p",Pl,o(h.$t("No labels found.")),1)):g("",!0)]),s("div",Ol,[r(A,{onClick:H},{default:u(()=>[L(o(h.$t("Cancel")),1)]),_:1}),r(A,{type:"primary",onClick:O},{default:u(()=>[L(o(h.$t("Done")),1)]),_:1})])]),_:1},8,["modelValue","title"])])}}},Nl={class:"fct-admin-sidebar-item"},Ul={name:"Labels",components:{IconButton:Me,LabelModal:Fe,DynamicIcon:X},props:{bindToType:{type:String},bindToId:{type:[String,Number]},selectedLabels:{type:Array,default:()=>[]},shouldEnableEditing:{type:Boolean,default:!0}},data(){return{labelModalIsOpen:!1}},mounted(){},methods:{openLabelModal(){this.labelModalIsOpen=!0},updateLabel(e){this.bindToId&&this.bindToType&&this.$post("labels/update-label-selections",{bind_to_type:this.bindToType,bind_to_id:this.bindToId,selectedLabels:e}).then(l=>{K.success(l.message)}).catch(l=>{K.error(l.message)}),this.$emit("update:update-label",e)},closeLabel(){this.labelModalIsOpen=!1}}},yo=Object.assign(Ul,{setup(e){return(l,t)=>(a(),U(Ue,{permission:"labels/manage"},{default:u(()=>[s("div",null,[r(xe,null,{default:u(()=>[r(we,{title:l.$t("Labels"),border_bottom:"",title_size:"small"},{action:u(()=>[e.shouldEnableEditing?(a(),U(Me,{key:0,size:"x-small",bg:"transparent",tag:"button",border:"transparent",onClick:l.openLabelModal},{default:u(()=>[r(X,{name:"Edit"})]),_:1},8,["onClick"])):g("",!0)]),_:1},8,["title"]),r(ke,null,{default:u(()=>[s("div",Nl,[r(Fe,{bindToType:e.bindToType,bindToId:e.bindToId,labelModalIsOpen:l.labelModalIsOpen,selected_labels:e.selectedLabels,shouldEnableEditing:e.shouldEnableEditing,"onUpdate:updateLabel":l.updateLabel,onCloseLabelModal:t[0]||(t[0]=d=>l.labelModalIsOpen=!1)},null,8,["bindToType","bindToId","labelModalIsOpen","selected_labels","shouldEnableEditing","onUpdate:updateLabel"])])]),_:1})]),_:1})])]),_:1}))}}),Bl={class:"fct-customer-edit-modal"},Dl={key:1,class:"fct-form-group"},jl={class:"label"},Fl={style:{display:"flex","align-items":"center",gap:"10px"}},Rl={class:"select-use-option"},ql={class:"fct-compact-form"},zl={class:"form-heading"},Kl={class:"fct-compact-form fct-customer-address-section"},Wl={style:{"margin-top":"20px"}},Jl={class:"form-error-wrap"},Hl={class:"form-error-text"},Zl={class:"dialog-footer"},Ql={key:3,class:"dialog-footer"},Yl={__name:"ChangeOrderCustomer",props:{orderId:{type:[String,Number],default:null,required:!0}},setup(e){const l=e,t=E(null),d=E([]),p=E(!1),i=E(!1),v=E({}),C=window.fluentCartAdminApp||{},x=E({id:"",email:"",full_name:"",first_name:"",last_name:"",state:"",city:"",country:"",postcode:"",country_name:"",contact_id:"",user_id:"",wp_user:""}),T=k=>{if(!k){d.value=[];return}ie.get("customers/",{search:k}).then(_=>{d.value=_.customers.data}).finally(()=>{})},w=()=>{if(!t.value){K.error(n("Please select a customer"));return}ie.post("orders/"+l.orderId+"/change-customer",{customer_id:t.value}).then(k=>{K.success(k.message),setTimeout(()=>{window.location.reload()},300)}).catch(k=>{var _;K.error((_=k.data)==null?void 0:_.message)}).finally(()=>{})},I=()=>{ie.post("orders/"+l.orderId+"/create-and-change-customer",x.value).then(k=>{K.success(k.message),setTimeout(()=>{window.location.reload()},300),v.value={},i.value=!1}).catch(k=>{var _;k.status_code=="422"?(K.validationErrors(k),v.value=k.data):K.error((_=k.data)==null?void 0:_.message)}).finally(()=>{})},$=()=>{i.value=!0},q=()=>{i.value=!1};return(k,_)=>{const y=M("el-button"),j=M("el-option"),B=M("el-select"),b=M("el-checkbox");return a(),m("div",Bl,[i.value?(a(),m("div",{key:0,onClick:q,style:{"margin-bottom":"10px"}},[r(y,{text:"",style:{"margin-top":"0"}},{default:u(()=>[r(X,{name:"ArrowLeft"}),L(" "+o(c(n)("Back")),1)]),_:1})])):g("",!0),i.value?g("",!0):(a(),m("div",Dl,[s("label",jl,[L(o(c(n)("Select Customer"))+" ",1),r(y,{text:"",class:"fct-create-customer-btn",onClick:$e($,["prevent"])},{default:u(()=>[r(X,{name:"Plus"}),L(" "+o(c(n)("Add New Customer")),1)]),_:1})]),s("div",Fl,[r(B,{modelValue:t.value,"onUpdate:modelValue":_[0]||(_[0]=S=>t.value=S),remote:!0,"remote-method":T,loading:p.value,filterable:"",clearable:"",placeholder:c(n)("Type to search user"),style:{width:"100%"}},{default:u(()=>[(a(!0),m(Y,null,ae(d.value,S=>(a(),U(j,{key:S.id,label:S.full_name,value:S.id},{default:u(()=>[s("div",Rl,[s("span",null,o(S.full_name),1),s("span",null,o(S.email),1)])]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","loading","placeholder"])])])),i.value?(a(),m(Y,{key:2},[s("div",ql,[c(C).is_full_name_required?(a(),U(le,{key:0,label:c(n)("Full Name *"),modelValue:x.value.full_name,"onUpdate:modelValue":_[1]||(_[1]=S=>x.value.full_name=S),class:ee(v.value.full_name?"is-error":"")},null,8,["label","modelValue","class"])):(a(),m(Y,{key:1},[r(le,{label:c(n)("First Name *"),modelValue:x.value.first_name,"onUpdate:modelValue":_[2]||(_[2]=S=>x.value.first_name=S),class:ee(v.value.first_name?"is-error":"")},null,8,["label","modelValue","class"]),r(le,{label:c(n)("Last Name"),modelValue:x.value.last_name,"onUpdate:modelValue":_[3]||(_[3]=S=>x.value.last_name=S),class:ee(v.value.last_name?"is-error":"")},null,8,["label","modelValue","class"])],64)),r(le,{label:c(n)("Email *"),modelValue:x.value.email,"onUpdate:modelValue":_[4]||(_[4]=S=>x.value.email=S),class:ee(v.value.email?"is-error":"")},null,8,["label","modelValue","class"])]),s("h4",zl,o(c(n)("Address")),1),s("div",Kl,[r(Le,{modelValue:x.value,"onUpdate:modelValue":_[5]||(_[5]=S=>x.value=S)},null,8,["modelValue"]),s("div",Wl,[r(b,{"true-value":"yes","false-value":"no",modelValue:x.value.wp_user,"onUpdate:modelValue":_[6]||(_[6]=S=>x.value.wp_user=S)},{default:u(()=>[r(Be,{title:c(n)("Create as wordpress user"),content:c(n)("We will create a new user for this customer. If a user with the same email already exists, we will associate the customer with that existing user.")},null,8,["title","content"])]),_:1},8,["modelValue"])]),s("div",Jl,[(a(!0),m(Y,null,ae(v.value,S=>(a(),m("p",Hl,o(S.required),1))),256))])]),s("div",Zl,[r(y,{onClick:_[7]||(_[7]=S=>k.$emit("close"))},{default:u(()=>[L(o(c(n)("Cancel")),1)]),_:1}),r(y,{type:"primary",onClick:I},{default:u(()=>[L(o(c(n)("Create & Attach Customer")),1)]),_:1})])],64)):g("",!0),i.value?g("",!0):(a(),m("div",Ql,[r(y,{type:"primary",onClick:w},{default:u(()=>[L(o(c(n)("Create & Attach Customer")),1)]),_:1})]))])}}},Gl={class:"fct-admin-sidebar"},Xl={class:"more-btn"},ea={key:0,class:"fct-admin-sidebar-item"},ta={class:"name"},sa={class:"email"},la={class:"fct-admin-sidebar-item"},aa={class:"fct-profile-card"},oa={key:0,class:"fct-profile-details"},na={class:"title"},ra={class:"text"},ia={key:0},da={class:"text"},ua={key:0,class:"user-info mt-2"},ca=["href"],ma={class:"fct-admin-sidebar-item mt-5"},pa={class:"fct-contact-info-list"},va={class:"flex items-center justify-between gap-2"},fa=["href"],_a={class:"fct-admin-sidebar-item mt-5"},ha={class:"sidebar-title"},ga={key:0,class:"fct-address-copy-wrap"},ya={class:"text"},ba={key:0,class:"pr-1"},Ca=["innerHTML"],wa={key:1,class:"mt-3"},ka={class:"pr-1"},xa=["href"],Aa={key:1,class:"no-address-text"},$a={class:"fct-admin-sidebar-item mt-5"},Sa={class:"sidebar-title"},Ma={key:0,class:"fct-address-copy-wrap"},La={class:"text"},Ea={key:0},Va=["innerHTML"],Ia={key:1,class:"mt-3"},Ta={class:"pr-1"},Pa=["href"],Oa={key:1,class:"no-address-text"},Na={class:"fct-admin-sidebar-item"},Ua={class:"flex flex-col gap-2"},Ba={key:0,class:"flex items-baseline gap-1"},Da={class:"shrink-0"},ja={key:1,class:"flex items-baseline gap-1"},Fa={class:"shrink-0"},Ra={key:2,class:"flex items-baseline gap-1"},qa={class:"shrink-0"},za={class:"flex items-baseline gap-1"},Ka={class:"shrink-0"},Wa={key:3},Ja={class:"block"},Ha={class:"fluent-cart-admin-pages"},bo={__name:"OrderCustomerInformation",props:{order:{type:Object,default:null},subscription:{type:Object,default:null},shouldEnableEditing:{type:Boolean,default:!0}},emits:["onAddressSelected","onAddressRemove","onOrderUpdated"],setup(e,{emit:l}){var H,ue,h,V;const t=e,d=z(()=>t.order||t.subscription||{}),p=z(()=>t.order?t.order.id:t.subscription?t.subscription.parent_order_id:null),i=E([]),v=E((ue=(H=d.value)==null?void 0:H.customer)!=null&&ue.id?d.value.customer:null),C=E((h=d.value)!=null&&h.billing_address?d.value.billing_address:null),x=E((V=d.value)!=null&&V.shipping_address?d.value.shipping_address:null),T=l,w=E(!1),I=f=>{f==="remove_customer"&&$(),f==="change_customer"?w.value=!0:f==="edit_customer"?S("edit"):f==="manage_billing_address"?te("billing"):f==="manage_shipping_address"&&te("shipping")},$=()=>{d.value.customer_id="",d.value.customer={},v.value=null,C.value=null,x.value=null,T("onAddressRemove"),setTimeout(()=>{P()},50)},q=(f,A)=>{ie.get("customers/",{search:f,with:["admin_customer_search"]}).then(G=>{let N=G.customers.data;i.value=N;let ne=N.map(re=>({id:re.id,value:re.full_name,email:re.email})),ce=jQuery(".fct-customer-autocomplete-dropdown"),F=jQuery(".el-autocomplete-suggestion__list"),R="empty-text";N.length<1?ce.length>0&&(ce.addClass("is-empty-customer"),F.children(`.${R}`).length||F.prepend(`<li class="${R}">No customer found.</li>`)):ce.length>0&&(ce.removeClass("is-empty-customer"),F.children(`.${R}`).remove()),A(ne)}).catch(G=>{K.error(G)})},k=f=>{const A=i.value.find(G=>G.id===f.id)??null;_(A)},_=f=>{v.value=f,d.value.customer=f,d.value.customer_id=f.id,v.value!==null&&(y(),j())},y=()=>{const f=v.value.billing_address;f&&(Array.isArray(f)&&f.length>0?(C.value=f[0],C.value=f.find(A=>A.is_primary.toString()==="1")??C.value):C.value=null,T("onAddressSelected",C.value))},j=()=>{const f=v.value.shipping_address;f&&(Array.isArray(f)&&f.length>0?(x.value=f[0],x.value=f.find(A=>A.is_primary.toString()==="1")??x.value):x.value=null,T("onAddressSelected",x.value))},B=f=>{if(f){if(!p.value){f.type==="shipping"?x.value=f:C.value=f,O.value.showModal=!1,T("onAddressSelected",f);return}ie.post(`orders/${p.value}/update-address-id`,{address_id:f.id,address_type:f.type}).then(A=>{K.success(A.message),f.type==="shipping"?x.value=f:C.value=f,O.value.showModal=!1,T("onAddressSelected",f),A.order&&T("onOrderUpdated",A.order)}).catch(A=>{K.error(A)})}},b=E({showModal:!1,action:"create",title:n("Create New Customer"),customer:{},manageWpUser:"yes"}),S=(f="create")=>{const A=b.value;A.showModal=!0,A.action=f==="create"?"create":"edit",A.title=f==="create"?n("Create New Customer"):n("Edit Customer Information"),A.customer_id=f==="create"?null:v.value.id,A.customer=f==="create"?{}:v.value,A.manageWpUser=f==="create"?"yes":v.value.user_id==="0"?"no":"yes",b.value=A},Q=E(!0),O=E({showManageAddressModal:!1,showModal:!1,modalAction:{type:"billing",action:"create"},title:"",customer_id:"",address_id:"",address:{},address_mock:{name:"",phone:"",email:"",company_name:"",vat_number:"",legal_registration_id:"",address_1:"",address_2:"",city:"",state:"",postcode:"",country:"",is_primary:"0"}}),te=(f="billing",A="edit")=>{O.value.showManageAddressModal=!0,O.value.modalAction.type=f,O.value.modalAction.action=A},se=(f="billing",A="create",G={})=>{Object.keys(G).length>0?(O.value.address={...G},Q.value=!1):O.value.address={...O.value.address_mock},O.value.showModal=!0,O.value.modalAction.type=f,O.value.modalAction.action=A,O.value.showManageAddressModal=!1},P=()=>{let f=jQuery(".el-autocomplete-suggestion__wrap");if(f.length>0){let A=jQuery('<div class="fct-create-customer-button-wrap"><button class="el-button el-button--info el-button--small is-plain"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 14 14" fill="none"><path d="M1.5 7H12.5M7 1.5V12.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></svg> Create a new customer</button></div>').on("click",()=>{S()});f.prepend(A)}},J=()=>O.value.modalAction.action==="create"?O.value.modalAction.type==="billing"?n("Add new billing address"):n("Add new shipping Address"):O.value.modalAction.type==="billing"?n("Edit billing address"):n("Edit shipping address"),Z=(f,A)=>{O.value.modalAction.type==="billing"?C.value=A:x.value=A,O.value.showModal=f,O.value.showManageAddressModal=!0,B(A)},D=z(()=>{const f=d.value&&d.value.business_info;return f?!!(f.company_name||f.tax_number||f.legal_registration_id):!1});return de(()=>d.value,(f,A)=>{f.customer_id!==A.customer_id&&$()}),Ae(()=>{P()}),(f,A)=>{var he;const G=M("el-dropdown-item"),N=M("el-dropdown-menu"),ne=M("el-dropdown"),ce=M("el-autocomplete"),F=M("router-link"),R=M("el-icon"),re=M("el-button"),me=M("el-dialog");return a(),m(Y,null,[s("div",Gl,[r(xe,null,{default:u(()=>[r(we,{title:c(n)("Customer Information"),title_size:"small",border_bottom:""},{action:u(()=>[v.value&&e.shouldEnableEditing?(a(),U(ne,{key:0,trigger:"click",class:"fct-more-option-wrap","popper-class":"fct-dropdown",onCommand:I},{dropdown:u(()=>[r(N,null,{default:u(()=>[r(G,{command:"edit_customer"},{default:u(()=>[L(o(c(n)("Edit customer information")),1)]),_:1}),r(G,{command:"manage_shipping_address"},{default:u(()=>[L(o(c(n)("Manage shipping address")),1)]),_:1}),r(G,{command:"manage_billing_address"},{default:u(()=>[L(o(c(n)("Manage billing address")),1)]),_:1}),p.value?(a(),U(G,{key:0,command:"change_customer"},{default:u(()=>[L(o(c(n)("Change customer")),1)]),_:1})):g("",!0),p.value?g("",!0):(a(),U(G,{key:1,command:"remove_customer"},{default:u(()=>[L(o(c(n)("Remove customer")),1)]),_:1}))]),_:1})]),default:u(()=>[s("span",Xl,[r(X,{name:"More"})])]),_:1})):g("",!0)]),_:1},8,["title"]),r(ke,null,{default:u(()=>{var oe,pe,ge,fe,ye,W,ve,Ee,Ve;return[v.value===null?(a(),m("div",ea,[r(ce,{"popper-class":"fct-customer-autocomplete-dropdown",clearable:"",modelValue:d.value.customer.full_name,"onUpdate:modelValue":A[0]||(A[0]=_e=>d.value.customer.full_name=_e),"fetch-suggestions":q,placeholder:c(n)("Search or create a customer"),disabled:!1,onSelect:k},{prefix:u(()=>[r(X,{name:"Search"})]),default:u(_e=>[s("span",ta,o(_e.item.value),1),s("span",sa,o(_e.item.email),1)]),_:1},8,["modelValue","placeholder"])])):(a(),m(Y,{key:1},[s("div",la,[s("div",aa,[s("div",{class:"fct-profile-image cursor-pointer",onClick:A[1]||(A[1]=_e=>f.$router.push({name:"view_customer",params:{customer_id:v.value.id}}))},[r(pt,{url:v.value.photo,name:(oe=v.value)==null?void 0:oe.full_name},null,8,["url","name"])]),v.value.id?(a(),m("div",oa,[s("div",na,[r(F,{to:{name:"view_customer",params:{customer_id:v.value.id}}},{default:u(()=>[L(o(v.value.full_name),1)]),_:1},8,["to"])]),s("span",ra,[v.value.purchase_count>0?(a(),m("span",ia,o(c(Ce)(v.value.purchase_count)),1)):g("",!0),L(" "+o(f.$n("Order","Orders",v.value.purchase_count??0,"No Order")),1)]),s("span",da,o(c(st)((pe=v.value)==null?void 0:pe.ltv,!0))+" "+o(c(n)("Lifetime Value")),1)])):g("",!0)]),d.value.customer.user_link?(a(),m("div",ua,[L(o(c(n)("WP User:"))+" ",1),s("a",{href:d.value.customer.user_link,target:"_blank",class:"inline-flex items-center gap-1 dark:text-gray-100 text-primary-500 focus:shadow-none hover:!underline"},[L(" #"+o(c(Ce)(d.value.customer.user_id))+" ",1),r(X,{name:"Redirect",class:"w-2.5 h-2.5 text-primary-500 dark:text-gray-200"})],8,ca)])):g("",!0)]),s("div",ma,[s("ul",pa,[s("li",null,[s("div",va,[s("a",{class:"text",href:"mailto:"+((ge=d.value.customer)==null?void 0:ge.email)},o(v.value.email),9,fa),r(be,{text:v.value.email,showMode:"basic_copy_btn",tooltipText:c(n)("Copy email")},null,8,["text","tooltipText"])])])])]),s("div",_a,[s("h4",ha,o(c(n)("Shipping Address")),1),x.value!=null?(a(),m("div",ga,[s("span",ya,[x.value.name?(a(),m("strong",ba,o(x.value.name),1)):g("",!0),s("span",{class:"break-all",innerHTML:f.getOrderAddress({...x.value},"shipping",!0)},null,8,Ca),(W=(ye=(fe=x.value)==null?void 0:fe.meta)==null?void 0:ye.other_data)!=null&&W.phone?(a(),m("span",wa,[s("strong",ka,o(c(n)("Phone"))+":",1),s("a",{href:"tel:"+x.value.meta.other_data.phone,class:"text-system-mid dark:text-gray-50 hover:underline"},o(x.value.meta.other_data.phone),9,xa)])):g("",!0)]),r(be,{text:f.getOrderAddress({...x.value},"shipping"),showMode:"basic_copy_btn",tooltipText:c(n)("Copy address")},null,8,["text","tooltipText"])])):(a(),m("p",Aa,o(c(n)("No shipping address provided")),1))]),s("div",$a,[s("h4",Sa,o(c(n)("Billing Address")),1),C.value!=null?(a(),m("div",Ma,[s("div",La,[C.value.name?(a(),m("strong",Ea,o(C.value.name),1)):g("",!0),s("span",{class:"break-all",innerHTML:f.getOrderAddress({...C.value},"billing",!0)},null,8,Va),(Ve=(Ee=(ve=C.value)==null?void 0:ve.meta)==null?void 0:Ee.other_data)!=null&&Ve.phone?(a(),m("span",Ia,[s("strong",Ta,o(c(n)("Phone"))+":",1),s("a",{href:"tel:"+C.value.meta.other_data.phone,class:"text-system-mid dark:text-gray-50 hover:underline"},o(C.value.meta.other_data.phone),9,Pa)])):g("",!0)]),r(be,{text:f.getOrderAddress({...C.value},"billing"),showMode:"basic_copy_btn",tooltipText:c(n)("Copy address")},null,8,["text","tooltipText"])])):(a(),m("p",Oa,o(c(n)("No shipping address provided")),1))])],64))]}),_:1})]),_:1}),D.value?(a(),U(xe,{key:0,class:"mt-4"},{default:u(()=>[r(we,{title:c(n)("Business Information"),title_size:"small",border_bottom:""},null,8,["title"]),r(ke,null,{default:u(()=>[s("div",Na,[s("div",Ua,[d.value.business_info.company_name?(a(),m("div",Ba,[s("strong",Da,o(c(n)("Company"))+":",1),s("span",null,o(d.value.business_info.company_name),1)])):g("",!0),d.value.business_info.tax_number?(a(),m("div",ja,[s("strong",Fa,o(c(n)("VAT/Tax ID"))+":",1),s("span",null,o(d.value.business_info.tax_number),1)])):g("",!0),d.value.business_info.legal_registration_id?(a(),m("div",Ra,[s("strong",qa,o(c(n)("Reg. ID"))+":",1),s("span",null,o(d.value.business_info.legal_registration_id),1)])):g("",!0),s("div",za,[s("strong",Ka,o(c(n)("Charge Reversed"))+":",1),s("span",null,o(d.value.is_reverse_charge_tax_order?c(n)("Yes"):c(n)("No")),1)]),d.value.business_info.reverse_charge_declaration?(a(),m("div",Wa,[s("strong",Ja,o(c(n)("Reverse Charge Declaration"))+":",1),s("span",null,o(d.value.business_info.reverse_charge_declaration),1)])):g("",!0)])])]),_:1})]),_:1})):g("",!0)]),r(ut,{onSelectNewCustomer:A[2]||(A[2]=oe=>{_(oe),b.value.showModal=!1}),customerModalInfos:b.value,customer_id:b.value.customer_id,customer:b.value.customer,onCloseModal:A[3]||(A[3]=oe=>b.value.showModal=!1)},null,8,["customerModalInfos","customer_id","customer"]),r(nl,{modalAction:O.value.modalAction,onOnAddressSelected:B,"onUpdate:showAddressModal":A[4]||(A[4]=oe=>O.value.showManageAddressModal=oe),showAddressModal:O.value.showManageAddressModal,customer_id:(he=v.value)==null?void 0:he.id,order_id:p.value,showBusinessDetailsSection:!0,onAddNewAddress:se},null,8,["modalAction","showAddressModal","customer_id","order_id"]),r(me,{"show-close":!0,modelValue:O.value.showModal,"onUpdate:modelValue":A[7]||(A[7]=oe=>O.value.showModal=oe),"append-to-body":!0,title:J()},{default:u(()=>[s("div",Ha,[r(re,{text:"",onClick:A[5]||(A[5]=()=>{O.value.showManageAddressModal=!0,O.value.showModal=!1}),class:"mb-4"},{default:u(()=>[r(R,null,{default:u(()=>[r(c(Ne))]),_:1}),L(" "+o(f.$t("Manage address")),1)]),_:1}),r(je,{"onUpdate:refreshAddress":Z,customerAddressModalInfos:O.value,customer_id:v.value.id,modalAction:O.value.modalAction,address:O.value.address,showAddressModal:O.value.showModal,showSetAsAlsoCheckbox:Q.value,showBusinessDetailsSection:!0,order_id:p.value,onCloseModal:A[6]||(A[6]=()=>{O.value.showModal=!1,O.value.showManageAddressModal=!0})},null,8,["customerAddressModalInfos","customer_id","modalAction","address","showAddressModal","showSetAsAlsoCheckbox","order_id"])])]),_:1},8,["modelValue","title"]),p.value?(a(),U(me,{key:0,modelValue:w.value,"onUpdate:modelValue":A[9]||(A[9]=oe=>w.value=oe),title:f.$t("Change Customer")},{default:u(()=>[r(Yl,{"order-id":p.value,onClose:A[8]||(A[8]=oe=>w.value=!1)},null,8,["order-id"])]),_:1},8,["modelValue","title"])):g("",!0)],64)}}};export{De as C,go as L,ho as O,As as P,fo as _,be as a,bo as b,yo as c,Yl as d,pt as e,ut as f,je as g,nl as h,_o as u}; | |