@kubik-cms/wysiwyg 0.1.18 → 0.1.19

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -964,6 +964,7 @@ class kubik_widget_controller_default extends Controller {
964
964
  const newValues = Object.assign({}, this.dataValue);
965
965
  newValues[tab]["repeated_items"] = newOrder;
966
966
  this.dataValue = newValues;
967
+ this.getNewWidget();
967
968
  }
968
969
  removeItem(event) {
969
970
  const target = event.currentTarget;
@@ -1114,9 +1115,9 @@ class KubikKeyValueRepeaterController extends Controller {
1114
1115
  >`;
1115
1116
  }).join("");
1116
1117
  const deleteButton = `<button
1117
- class='kubik--key_value_repeater--delete_button'
1118
+ class='kubik--key_value_repeater--delete_button material-symbols-outlined'
1118
1119
  data-action='click->kubik-key-value-repeater#deleteField'
1119
- data-index='${index2}'>Delete</button>
1120
+ data-index='${index2}'>close</button>
1120
1121
  `;
1121
1122
  this.valuesContainerTarget.insertAdjacentHTML(
1122
1123
  "beforeend",
@@ -1,4 +1,4 @@
1
- (function(l,u){typeof exports=="object"&&typeof module!="undefined"?module.exports=u():typeof define=="function"&&define.amd?define(u):(l=typeof globalThis!="undefined"?globalThis:l||self,l.wysiwyg=u())})(this,function(){"use strict";var Is=Object.defineProperty;var Ls=(l,u,d)=>u in l?Is(l,u,{enumerable:!0,configurable:!0,writable:!0,value:d}):l[u]=d;var R=(l,u,d)=>(Ls(l,typeof u!="symbol"?u+"":u,d),d);function l(e){return e.replace(/(?:[_-])([a-z0-9])/g,(t,r)=>r.toUpperCase())}function u(e){return e.charAt(0).toUpperCase()+e.slice(1)}function d(e){return e.replace(/([A-Z])/g,(t,r)=>`-${r.toLowerCase()}`)}function H(e,t){const r=z(e);return Array.from(r.reduce((a,s)=>(ve(s,t).forEach(n=>a.add(n)),a),new Set))}function ge(e,t){return z(e).reduce((a,s)=>(a.push(...me(s,t)),a),[])}function z(e){const t=[];for(;e;)t.push(e),e=Object.getPrototypeOf(e);return t.reverse()}function ve(e,t){const r=e[t];return Array.isArray(r)?r:[]}function me(e,t){const r=e[t];return r?Object.keys(r).map(a=>[a,r[a]]):[]}(()=>{function e(r){function a(){return Reflect.construct(r,arguments,new.target)}return a.prototype=Object.create(r.prototype,{constructor:{value:a}}),Reflect.setPrototypeOf(a,r),a}function t(){const a=e(function(){this.a.call(this)});return a.prototype.a=function(){},new a}try{return t(),e}catch{return a=>class extends a{}}})();function be(e){return H(e,"classes").reduce((r,a)=>Object.assign(r,_e(a)),{})}function _e(e){return{[`${e}Class`]:{get(){const{classes:t}=this;if(t.has(e))return t.get(e);{const r=t.getAttributeName(e);throw new Error(`Missing attribute "${r}"`)}}},[`${e}Classes`]:{get(){return this.classes.getAll(e)}},[`has${u(e)}Class`]:{get(){return this.classes.has(e)}}}}function ye(e){return H(e,"targets").reduce((r,a)=>Object.assign(r,$e(a)),{})}function $e(e){return{[`${e}Target`]:{get(){const t=this.targets.find(e);if(t)return t;throw new Error(`Missing target element "${e}" for "${this.identifier}" controller`)}},[`${e}Targets`]:{get(){return this.targets.findAll(e)}},[`has${u(e)}Target`]:{get(){return this.targets.has(e)}}}}function we(e){const t=ge(e,"values"),r={valueDescriptorMap:{get(){return t.reduce((a,s)=>{const n=G(s,this.identifier),i=this.data.getAttributeNameForKey(n.key);return Object.assign(a,{[i]:n})},{})}}};return t.reduce((a,s)=>Object.assign(a,Te(s)),r)}function Te(e,t){const r=G(e,t),{key:a,name:s,reader:n,writer:i}=r;return{[s]:{get(){const o=this.data.get(a);return o!==null?n(o):r.defaultValue},set(o){o===void 0?this.data.delete(a):this.data.set(a,i(o))}},[`has${u(s)}`]:{get(){return this.data.has(a)||r.hasCustomDefaultValue}}}}function G([e,t],r){return Se({controller:r,token:e,typeDefinition:t})}function V(e){switch(e){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function b(e){switch(typeof e){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}if(Array.isArray(e))return"array";if(Object.prototype.toString.call(e)==="[object Object]")return"object"}function Ce(e){const t=V(e.typeObject.type);if(!t)return;const r=b(e.typeObject.default);if(t!==r){const a=e.controller?`${e.controller}.${e.token}`:e.token;throw new Error(`The specified default value for the Stimulus Value "${a}" must match the defined type "${t}". The provided default value of "${e.typeObject.default}" is of type "${r}".`)}return t}function Ve(e){const t=Ce({controller:e.controller,token:e.token,typeObject:e.typeDefinition}),r=b(e.typeDefinition),a=V(e.typeDefinition),s=t||r||a;if(s)return s;const n=e.controller?`${e.controller}.${e.typeDefinition}`:e.token;throw new Error(`Unknown value type "${n}" for "${e.token}" value`)}function Oe(e){const t=V(e);if(t)return je[t];const r=e.default;return r!==void 0?r:e}function Se(e){const t=`${d(e.token)}-value`,r=Ve(e);return{type:r,key:t,name:l(t),get defaultValue(){return Oe(e.typeDefinition)},get hasCustomDefaultValue(){return b(e.typeDefinition)!==void 0},reader:Ae[r],writer:K[r]||K.default}}const je={get array(){return[]},boolean:!1,number:0,get object(){return{}},string:""},Ae={array(e){const t=JSON.parse(e);if(!Array.isArray(t))throw new TypeError(`expected value of type "array" but instead got value "${e}" of type "${b(t)}"`);return t},boolean(e){return!(e=="0"||String(e).toLowerCase()=="false")},number(e){return Number(e)},object(e){const t=JSON.parse(e);if(t===null||typeof t!="object"||Array.isArray(t))throw new TypeError(`expected value of type "object" but instead got value "${e}" of type "${b(t)}"`);return t},string(e){return e}},K={default:xe,array:U,object:U};function U(e){return JSON.stringify(e)}function xe(e){return`${e}`}class h{constructor(t){this.context=t}static get shouldLoad(){return!0}get application(){return this.context.application}get scope(){return this.context.scope}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get targets(){return this.scope.targets}get classes(){return this.scope.classes}get data(){return this.scope.data}initialize(){}connect(){}disconnect(){}dispatch(t,{target:r=this.element,detail:a={},prefix:s=this.identifier,bubbles:n=!0,cancelable:i=!0}={}){const o=s?`${s}:${t}`:t,c=new CustomEvent(o,{detail:a,bubbles:n,cancelable:i});return r.dispatchEvent(c),c}}h.blessings=[be,ye,we],h.targets=[],h.values={};var y=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},ke=typeof y=="object"&&y&&y.Object===Object&&y,Ne=ke,De=Ne,Pe=typeof self=="object"&&self&&self.Object===Object&&self,Ie=De||Pe||Function("return this")(),O=Ie,Le=O,Ee=Le.Symbol,S=Ee,W=S,J=Object.prototype,Fe=J.hasOwnProperty,Me=J.toString,_=W?W.toStringTag:void 0;function Re(e){var t=Fe.call(e,_),r=e[_];try{e[_]=void 0;var a=!0}catch{}var s=Me.call(e);return a&&(t?e[_]=r:delete e[_]),s}var He=Re,ze=Object.prototype,Ge=ze.toString;function Ke(e){return Ge.call(e)}var Ue=Ke,q=S,We=He,Je=Ue,qe="[object Null]",Be="[object Undefined]",B=q?q.toStringTag:void 0;function Xe(e){return e==null?e===void 0?Be:qe:B&&B in Object(e)?We(e):Je(e)}var X=Xe;function Ze(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var j=Ze,Ye=X,Qe=j,et="[object AsyncFunction]",tt="[object Function]",rt="[object GeneratorFunction]",at="[object Proxy]";function st(e){if(!Qe(e))return!1;var t=Ye(e);return t==tt||t==rt||t==et||t==at}var nt=st,it=O,ot=it["__core-js_shared__"],ut=ot,A=ut,Z=function(){var e=/[^.]+$/.exec(A&&A.keys&&A.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function ct(e){return!!Z&&Z in e}var lt=ct,dt=Function.prototype,ht=dt.toString;function ft(e){if(e!=null){try{return ht.call(e)}catch{}try{return e+""}catch{}}return""}var pt=ft,gt=nt,vt=lt,mt=j,bt=pt,_t=/[\\^$.*+?()[\]{}|]/g,yt=/^\[object .+?Constructor\]$/,$t=Function.prototype,wt=Object.prototype,Tt=$t.toString,Ct=wt.hasOwnProperty,Vt=RegExp("^"+Tt.call(Ct).replace(_t,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ot(e){if(!mt(e)||vt(e))return!1;var t=gt(e)?Vt:yt;return t.test(bt(e))}var St=Ot;function jt(e,t){return e==null?void 0:e[t]}var At=jt,xt=St,kt=At;function Nt(e,t){var r=kt(e,t);return xt(r)?r:void 0}var x=Nt,Dt=x,Pt=function(){try{var e=Dt(Object,"defineProperty");return e({},"",{}),e}catch{}}(),It=Pt,Y=It;function Lt(e,t,r){t=="__proto__"&&Y?Y(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var Et=Lt;function Ft(e,t){return e===t||e!==e&&t!==t}var Q=Ft,Mt=Et,Rt=Q,Ht=Object.prototype,zt=Ht.hasOwnProperty;function Gt(e,t,r){var a=e[t];(!(zt.call(e,t)&&Rt(a,r))||r===void 0&&!(t in e))&&Mt(e,t,r)}var Kt=Gt,Ut=Array.isArray,k=Ut;function Wt(e){return e!=null&&typeof e=="object"}var Jt=Wt,qt=X,Bt=Jt,Xt="[object Symbol]";function Zt(e){return typeof e=="symbol"||Bt(e)&&qt(e)==Xt}var N=Zt,Yt=k,Qt=N,er=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,tr=/^\w*$/;function rr(e,t){if(Yt(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||Qt(e)?!0:tr.test(e)||!er.test(e)||t!=null&&e in Object(t)}var ar=rr,sr=x,nr=sr(Object,"create"),$=nr,ee=$;function ir(){this.__data__=ee?ee(null):{},this.size=0}var or=ir;function ur(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var cr=ur,lr=$,dr="__lodash_hash_undefined__",hr=Object.prototype,fr=hr.hasOwnProperty;function pr(e){var t=this.__data__;if(lr){var r=t[e];return r===dr?void 0:r}return fr.call(t,e)?t[e]:void 0}var gr=pr,vr=$,mr=Object.prototype,br=mr.hasOwnProperty;function _r(e){var t=this.__data__;return vr?t[e]!==void 0:br.call(t,e)}var yr=_r,$r=$,wr="__lodash_hash_undefined__";function Tr(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=$r&&t===void 0?wr:t,this}var Cr=Tr,Vr=or,Or=cr,Sr=gr,jr=yr,Ar=Cr;function p(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}p.prototype.clear=Vr,p.prototype.delete=Or,p.prototype.get=Sr,p.prototype.has=jr,p.prototype.set=Ar;var xr=p;function kr(){this.__data__=[],this.size=0}var Nr=kr,Dr=Q;function Pr(e,t){for(var r=e.length;r--;)if(Dr(e[r][0],t))return r;return-1}var w=Pr,Ir=w,Lr=Array.prototype,Er=Lr.splice;function Fr(e){var t=this.__data__,r=Ir(t,e);if(r<0)return!1;var a=t.length-1;return r==a?t.pop():Er.call(t,r,1),--this.size,!0}var Mr=Fr,Rr=w;function Hr(e){var t=this.__data__,r=Rr(t,e);return r<0?void 0:t[r][1]}var zr=Hr,Gr=w;function Kr(e){return Gr(this.__data__,e)>-1}var Ur=Kr,Wr=w;function Jr(e,t){var r=this.__data__,a=Wr(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this}var qr=Jr,Br=Nr,Xr=Mr,Zr=zr,Yr=Ur,Qr=qr;function g(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}g.prototype.clear=Br,g.prototype.delete=Xr,g.prototype.get=Zr,g.prototype.has=Yr,g.prototype.set=Qr;var ea=g,ta=x,ra=O,aa=ta(ra,"Map"),sa=aa,te=xr,na=ea,ia=sa;function oa(){this.size=0,this.__data__={hash:new te,map:new(ia||na),string:new te}}var ua=oa;function ca(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var la=ca,da=la;function ha(e,t){var r=e.__data__;return da(t)?r[typeof t=="string"?"string":"hash"]:r.map}var T=ha,fa=T;function pa(e){var t=fa(this,e).delete(e);return this.size-=t?1:0,t}var ga=pa,va=T;function ma(e){return va(this,e).get(e)}var ba=ma,_a=T;function ya(e){return _a(this,e).has(e)}var $a=ya,wa=T;function Ta(e,t){var r=wa(this,e),a=r.size;return r.set(e,t),this.size+=r.size==a?0:1,this}var Ca=Ta,Va=ua,Oa=ga,Sa=ba,ja=$a,Aa=Ca;function v(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}v.prototype.clear=Va,v.prototype.delete=Oa,v.prototype.get=Sa,v.prototype.has=ja,v.prototype.set=Aa;var xa=v,re=xa,ka="Expected a function";function D(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(ka);var r=function(){var a=arguments,s=t?t.apply(this,a):a[0],n=r.cache;if(n.has(s))return n.get(s);var i=e.apply(this,a);return r.cache=n.set(s,i)||n,i};return r.cache=new(D.Cache||re),r}D.Cache=re;var Na=D,Da=Na,Pa=500;function Ia(e){var t=Da(e,function(a){return r.size===Pa&&r.clear(),a}),r=t.cache;return t}var La=Ia,Ea=La,Fa=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ma=/\\(\\)?/g,Ra=Ea(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(Fa,function(r,a,s,n){t.push(s?n.replace(Ma,"$1"):a||r)}),t}),Ha=Ra;function za(e,t){for(var r=-1,a=e==null?0:e.length,s=Array(a);++r<a;)s[r]=t(e[r],r,e);return s}var Ga=za,ae=S,Ka=Ga,Ua=k,Wa=N,Ja=1/0,se=ae?ae.prototype:void 0,ne=se?se.toString:void 0;function ie(e){if(typeof e=="string")return e;if(Ua(e))return Ka(e,ie)+"";if(Wa(e))return ne?ne.call(e):"";var t=e+"";return t=="0"&&1/e==-Ja?"-0":t}var qa=ie,Ba=qa;function Xa(e){return e==null?"":Ba(e)}var Za=Xa,Ya=k,Qa=ar,es=Ha,ts=Za;function rs(e,t){return Ya(e)?e:Qa(e,t)?[e]:es(ts(e))}var oe=rs,as=9007199254740991,ss=/^(?:0|[1-9]\d*)$/;function ns(e,t){var r=typeof e;return t=t==null?as:t,!!t&&(r=="number"||r!="symbol"&&ss.test(e))&&e>-1&&e%1==0&&e<t}var is=ns,os=N,us=1/0;function cs(e){if(typeof e=="string"||os(e))return e;var t=e+"";return t=="0"&&1/e==-us?"-0":t}var ue=cs,ls=Kt,ds=oe,hs=is,ce=j,fs=ue;function ps(e,t,r,a){if(!ce(e))return e;t=ds(t,e);for(var s=-1,n=t.length,i=n-1,o=e;o!=null&&++s<n;){var c=fs(t[s]),m=r;if(c==="__proto__"||c==="constructor"||c==="prototype")return e;if(s!=i){var M=o[c];m=a?a(M,c,o):void 0,m===void 0&&(m=ce(M)?M:hs(t[s+1])?[]:{})}ls(o,c,m),o=o[c]}return e}var gs=ps,vs=gs;function ms(e,t,r){return e==null?e:vs(e,t,r)}var f=ms,bs=oe,_s=ue;function ys(e,t){t=bs(t,e);for(var r=0,a=t.length;e!=null&&r<a;)e=e[_s(t[r++])];return r&&r==a?e:void 0}var $s=ys,ws=$s;function Ts(e,t,r){var a=e==null?void 0:ws(e,t);return a===void 0?r:a}var le=Ts;const P=e=>e instanceof Date,Cs=e=>Object.keys(e).length===0,I=e=>e!=null&&typeof e=="object",Vs=(e,...t)=>Object.prototype.hasOwnProperty.call(e,...t),L=e=>I(e)&&Cs(e),Os=()=>Object.create(null),de=(e,t)=>e===t?{}:!I(e)||!I(t)?t:P(e)||P(t)?e.valueOf()==t.valueOf()?{}:t:Object.keys(t).reduce((r,a)=>{if(Vs(e,a)){const s=de(e[a],t[a]);return L(s)&&!P(s)&&(L(e[a])||!L(t[a]))||(r[a]=s),r}return r},Os());function Ss(e){return e!==null&&typeof e=="object"&&!(e instanceof Date)}var js=Array.isArray;function he(e,t,r,a){return Object.keys(e).forEach(function(s){var n=s.replace(/\./g,"\\.");if(Ss(e[s])&&!js(e[s])){var i=r&&r+"."+n;a&&t.push(r?i:n),he(e[s],t,i||n,a)}else{var o=r?r+"."+n:n;t.push(o)}}),t}var As=function(e,t){return he(e,[],null,t)};function xs(e){return document.head.querySelector(`meta[name="${e}"]`).getAttribute("content")}function ks(e,t,r){if(r>=e.length)for(var a=r-e.length+1;a--;)e.push(void 0);return e.splice(r,0,e.splice(t,1)[0]),e}class fe extends h{connect(){this.getNewWidget()}moveItemUp(t){const r=t.currentTarget;this.moveItemToPosition(r,-1)}moveItemDown(t){const r=t.currentTarget;this.moveItemToPosition(r,1)}moveItemToPosition(t,r){const a=parseInt(t.dataset.itemIndex),s=t.dataset.targetList,n=this.dataValue[s].repeated_items,i=ks(n,a,a+r),o=Object.assign({},this.dataValue);o[s].repeated_items=i,this.dataValue=o}removeItem(t){const r=t.currentTarget,a=r.dataset.itemIndex,s=r.dataset.targetList,n=Object.assign({},this.dataValue);n[s].repeated_items.splice(a,1),this.dataValue=n,this.getNewWidget()}addItem(t){const a=t.currentTarget.dataset.targetList;typeof this.dataValue[a]=="undefined"&&(this.dataValue=Object.assign({},this.dataValue,{[a]:{repeated_items:[]}})),this.dataValue=Object.assign({},this.dataValue,{[a]:{repeated_items:[...this.dataValue[a].repeated_items,{}]}}),this.getNewWidget()}dataValueChanged(t,r){const a=de(t,r),s=As(a);(a.items&&a.items.repeated_items&&JSON.stringify(Object.values(a.items.repeated_items)[0])===JSON.stringify({})||s.filter(i=>i.match(/^id$|\.id$/g)).length>0)&&this.getNewWidget()}overrideData(t){const r=t.detail.fieldName,a=t.detail.newValues,s=f(this.dataValue,r,a);this.dataValue=s}updateField(t){const r=t.currentTarget.name;let a=t.currentTarget.value;if(t.currentTarget.dataset.boolean==="true"&&t.currentTarget.type==="checkbox"&&!t.currentTarget.checked&&(a=0),t.currentTarget.dataset.checkbox==="true"&&t.currentTarget.type==="checkbox"&&(a=Array.from(t.currentTarget.parentElement.parentElement.querySelectorAll("[name=`${event.currentTarget.name}`]")).map(n=>n.checked?n.value:null).filter(n=>n!==null)),t.currentTarget.dataset.repeatedKeyValue==="true"){const[n,i,...o]=t.currentTarget.name.split(".").reverse(),c=[o.reverse().join("."),i.toString(),n].join(".");le(this.dataValue,c,"")}if(t.currentTarget.dataset.repeated==="true"){t.currentTarget.dataset.index;const[n,i,...o]=t.currentTarget.name.split(".").reverse(),c=o.reverse().join("."),m=le(this.dataValue,c);a=f(m[i],n,a)}const s=f(this.dataValue,r,a);this.dataValue=s}updateWysiwygField(t){const r=t.currentTarget.dataset.fieldName,a=f(this.dataValue,r,t.currentTarget.innerHTML);this.dataValue=a}selectResult(t){const r=t.currentTarget,a=JSON.parse(r.dataset.returnObject),s=f(this.dataValue,r.dataset.fieldName,a.id);this.dataValue=s,this.getNewWidget()}removeResource(t){const r=t.currentTarget,a=f(this.dataValue,r.dataset.fieldName,null);this.dataValue=a,this.getNewWidget()}receiveModalReturn(t){const r=t,a=f(this.dataValue,r.return_payload.field_name,r.payload.id);this.dataValue=a,this.getNewWidget()}getNewWidget(){fetch(`${this.setupValue.src}.json`,{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":xs("csrf-token")},body:JSON.stringify({widget_id:this.widgetIdValue,data:this.dataValue,setup:this.setupValue,max_items:this.maxItemsValue})}).then(t=>t.json()).then(t=>{this.element.innerHTML=t.html_data})}}fe.values={widgetId:String,setup:Object,data:Object,maxItems:{type:Number,default:0}};class E extends h{connect(){}updateHeader(t){this.headerTarget.innerHTML=t.currentTarget.value}toggleItem(t){Array.from(this.element.classList).includes(this.expandedClass)?this.element.classList.remove(this.expandedClass):this.element.classList.add(this.expandedClass)}}E.targets=["header"],E.classes=["expanded"];class F extends h{connect(){this.renderFields()}dataValueChanged(){console.log("dataValueChanged",this.dataValue),this.dispatch("updateData",{detail:{fieldName:this.fieldNameValue,newValues:this.dataValue}})}renderFields(){this.valuesContainerTarget.innerHTML="",this.dataValue.forEach((t,r)=>{const a=this.prefixValue!=""?`<span class='kubik--key_value_repeater--prefix para--small'>${this.prefixValue}</span>`:"",s=this.fieldsValue.map(i=>`<input
1
+ (function(l,u){typeof exports=="object"&&typeof module!="undefined"?module.exports=u():typeof define=="function"&&define.amd?define(u):(l=typeof globalThis!="undefined"?globalThis:l||self,l.wysiwyg=u())})(this,function(){"use strict";var Is=Object.defineProperty;var Ls=(l,u,d)=>u in l?Is(l,u,{enumerable:!0,configurable:!0,writable:!0,value:d}):l[u]=d;var R=(l,u,d)=>(Ls(l,typeof u!="symbol"?u+"":u,d),d);function l(e){return e.replace(/(?:[_-])([a-z0-9])/g,(t,r)=>r.toUpperCase())}function u(e){return e.charAt(0).toUpperCase()+e.slice(1)}function d(e){return e.replace(/([A-Z])/g,(t,r)=>`-${r.toLowerCase()}`)}function H(e,t){const r=z(e);return Array.from(r.reduce((a,s)=>(ve(s,t).forEach(n=>a.add(n)),a),new Set))}function ge(e,t){return z(e).reduce((a,s)=>(a.push(...me(s,t)),a),[])}function z(e){const t=[];for(;e;)t.push(e),e=Object.getPrototypeOf(e);return t.reverse()}function ve(e,t){const r=e[t];return Array.isArray(r)?r:[]}function me(e,t){const r=e[t];return r?Object.keys(r).map(a=>[a,r[a]]):[]}(()=>{function e(r){function a(){return Reflect.construct(r,arguments,new.target)}return a.prototype=Object.create(r.prototype,{constructor:{value:a}}),Reflect.setPrototypeOf(a,r),a}function t(){const a=e(function(){this.a.call(this)});return a.prototype.a=function(){},new a}try{return t(),e}catch{return a=>class extends a{}}})();function be(e){return H(e,"classes").reduce((r,a)=>Object.assign(r,_e(a)),{})}function _e(e){return{[`${e}Class`]:{get(){const{classes:t}=this;if(t.has(e))return t.get(e);{const r=t.getAttributeName(e);throw new Error(`Missing attribute "${r}"`)}}},[`${e}Classes`]:{get(){return this.classes.getAll(e)}},[`has${u(e)}Class`]:{get(){return this.classes.has(e)}}}}function ye(e){return H(e,"targets").reduce((r,a)=>Object.assign(r,$e(a)),{})}function $e(e){return{[`${e}Target`]:{get(){const t=this.targets.find(e);if(t)return t;throw new Error(`Missing target element "${e}" for "${this.identifier}" controller`)}},[`${e}Targets`]:{get(){return this.targets.findAll(e)}},[`has${u(e)}Target`]:{get(){return this.targets.has(e)}}}}function we(e){const t=ge(e,"values"),r={valueDescriptorMap:{get(){return t.reduce((a,s)=>{const n=G(s,this.identifier),i=this.data.getAttributeNameForKey(n.key);return Object.assign(a,{[i]:n})},{})}}};return t.reduce((a,s)=>Object.assign(a,Te(s)),r)}function Te(e,t){const r=G(e,t),{key:a,name:s,reader:n,writer:i}=r;return{[s]:{get(){const o=this.data.get(a);return o!==null?n(o):r.defaultValue},set(o){o===void 0?this.data.delete(a):this.data.set(a,i(o))}},[`has${u(s)}`]:{get(){return this.data.has(a)||r.hasCustomDefaultValue}}}}function G([e,t],r){return Se({controller:r,token:e,typeDefinition:t})}function V(e){switch(e){case Array:return"array";case Boolean:return"boolean";case Number:return"number";case Object:return"object";case String:return"string"}}function b(e){switch(typeof e){case"boolean":return"boolean";case"number":return"number";case"string":return"string"}if(Array.isArray(e))return"array";if(Object.prototype.toString.call(e)==="[object Object]")return"object"}function Ce(e){const t=V(e.typeObject.type);if(!t)return;const r=b(e.typeObject.default);if(t!==r){const a=e.controller?`${e.controller}.${e.token}`:e.token;throw new Error(`The specified default value for the Stimulus Value "${a}" must match the defined type "${t}". The provided default value of "${e.typeObject.default}" is of type "${r}".`)}return t}function Ve(e){const t=Ce({controller:e.controller,token:e.token,typeObject:e.typeDefinition}),r=b(e.typeDefinition),a=V(e.typeDefinition),s=t||r||a;if(s)return s;const n=e.controller?`${e.controller}.${e.typeDefinition}`:e.token;throw new Error(`Unknown value type "${n}" for "${e.token}" value`)}function Oe(e){const t=V(e);if(t)return je[t];const r=e.default;return r!==void 0?r:e}function Se(e){const t=`${d(e.token)}-value`,r=Ve(e);return{type:r,key:t,name:l(t),get defaultValue(){return Oe(e.typeDefinition)},get hasCustomDefaultValue(){return b(e.typeDefinition)!==void 0},reader:Ae[r],writer:K[r]||K.default}}const je={get array(){return[]},boolean:!1,number:0,get object(){return{}},string:""},Ae={array(e){const t=JSON.parse(e);if(!Array.isArray(t))throw new TypeError(`expected value of type "array" but instead got value "${e}" of type "${b(t)}"`);return t},boolean(e){return!(e=="0"||String(e).toLowerCase()=="false")},number(e){return Number(e)},object(e){const t=JSON.parse(e);if(t===null||typeof t!="object"||Array.isArray(t))throw new TypeError(`expected value of type "object" but instead got value "${e}" of type "${b(t)}"`);return t},string(e){return e}},K={default:xe,array:W,object:W};function W(e){return JSON.stringify(e)}function xe(e){return`${e}`}class h{constructor(t){this.context=t}static get shouldLoad(){return!0}get application(){return this.context.application}get scope(){return this.context.scope}get element(){return this.scope.element}get identifier(){return this.scope.identifier}get targets(){return this.scope.targets}get classes(){return this.scope.classes}get data(){return this.scope.data}initialize(){}connect(){}disconnect(){}dispatch(t,{target:r=this.element,detail:a={},prefix:s=this.identifier,bubbles:n=!0,cancelable:i=!0}={}){const o=s?`${s}:${t}`:t,c=new CustomEvent(o,{detail:a,bubbles:n,cancelable:i});return r.dispatchEvent(c),c}}h.blessings=[be,ye,we],h.targets=[],h.values={};var y=typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:{},ke=typeof y=="object"&&y&&y.Object===Object&&y,Ne=ke,De=Ne,Pe=typeof self=="object"&&self&&self.Object===Object&&self,Ie=De||Pe||Function("return this")(),O=Ie,Le=O,Ee=Le.Symbol,S=Ee,U=S,J=Object.prototype,Fe=J.hasOwnProperty,Me=J.toString,_=U?U.toStringTag:void 0;function Re(e){var t=Fe.call(e,_),r=e[_];try{e[_]=void 0;var a=!0}catch{}var s=Me.call(e);return a&&(t?e[_]=r:delete e[_]),s}var He=Re,ze=Object.prototype,Ge=ze.toString;function Ke(e){return Ge.call(e)}var We=Ke,q=S,Ue=He,Je=We,qe="[object Null]",Be="[object Undefined]",B=q?q.toStringTag:void 0;function Xe(e){return e==null?e===void 0?Be:qe:B&&B in Object(e)?Ue(e):Je(e)}var X=Xe;function Ze(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}var j=Ze,Ye=X,Qe=j,et="[object AsyncFunction]",tt="[object Function]",rt="[object GeneratorFunction]",at="[object Proxy]";function st(e){if(!Qe(e))return!1;var t=Ye(e);return t==tt||t==rt||t==et||t==at}var nt=st,it=O,ot=it["__core-js_shared__"],ut=ot,A=ut,Z=function(){var e=/[^.]+$/.exec(A&&A.keys&&A.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}();function ct(e){return!!Z&&Z in e}var lt=ct,dt=Function.prototype,ht=dt.toString;function ft(e){if(e!=null){try{return ht.call(e)}catch{}try{return e+""}catch{}}return""}var pt=ft,gt=nt,vt=lt,mt=j,bt=pt,_t=/[\\^$.*+?()[\]{}|]/g,yt=/^\[object .+?Constructor\]$/,$t=Function.prototype,wt=Object.prototype,Tt=$t.toString,Ct=wt.hasOwnProperty,Vt=RegExp("^"+Tt.call(Ct).replace(_t,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function Ot(e){if(!mt(e)||vt(e))return!1;var t=gt(e)?Vt:yt;return t.test(bt(e))}var St=Ot;function jt(e,t){return e==null?void 0:e[t]}var At=jt,xt=St,kt=At;function Nt(e,t){var r=kt(e,t);return xt(r)?r:void 0}var x=Nt,Dt=x,Pt=function(){try{var e=Dt(Object,"defineProperty");return e({},"",{}),e}catch{}}(),It=Pt,Y=It;function Lt(e,t,r){t=="__proto__"&&Y?Y(e,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):e[t]=r}var Et=Lt;function Ft(e,t){return e===t||e!==e&&t!==t}var Q=Ft,Mt=Et,Rt=Q,Ht=Object.prototype,zt=Ht.hasOwnProperty;function Gt(e,t,r){var a=e[t];(!(zt.call(e,t)&&Rt(a,r))||r===void 0&&!(t in e))&&Mt(e,t,r)}var Kt=Gt,Wt=Array.isArray,k=Wt;function Ut(e){return e!=null&&typeof e=="object"}var Jt=Ut,qt=X,Bt=Jt,Xt="[object Symbol]";function Zt(e){return typeof e=="symbol"||Bt(e)&&qt(e)==Xt}var N=Zt,Yt=k,Qt=N,er=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,tr=/^\w*$/;function rr(e,t){if(Yt(e))return!1;var r=typeof e;return r=="number"||r=="symbol"||r=="boolean"||e==null||Qt(e)?!0:tr.test(e)||!er.test(e)||t!=null&&e in Object(t)}var ar=rr,sr=x,nr=sr(Object,"create"),$=nr,ee=$;function ir(){this.__data__=ee?ee(null):{},this.size=0}var or=ir;function ur(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}var cr=ur,lr=$,dr="__lodash_hash_undefined__",hr=Object.prototype,fr=hr.hasOwnProperty;function pr(e){var t=this.__data__;if(lr){var r=t[e];return r===dr?void 0:r}return fr.call(t,e)?t[e]:void 0}var gr=pr,vr=$,mr=Object.prototype,br=mr.hasOwnProperty;function _r(e){var t=this.__data__;return vr?t[e]!==void 0:br.call(t,e)}var yr=_r,$r=$,wr="__lodash_hash_undefined__";function Tr(e,t){var r=this.__data__;return this.size+=this.has(e)?0:1,r[e]=$r&&t===void 0?wr:t,this}var Cr=Tr,Vr=or,Or=cr,Sr=gr,jr=yr,Ar=Cr;function p(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}p.prototype.clear=Vr,p.prototype.delete=Or,p.prototype.get=Sr,p.prototype.has=jr,p.prototype.set=Ar;var xr=p;function kr(){this.__data__=[],this.size=0}var Nr=kr,Dr=Q;function Pr(e,t){for(var r=e.length;r--;)if(Dr(e[r][0],t))return r;return-1}var w=Pr,Ir=w,Lr=Array.prototype,Er=Lr.splice;function Fr(e){var t=this.__data__,r=Ir(t,e);if(r<0)return!1;var a=t.length-1;return r==a?t.pop():Er.call(t,r,1),--this.size,!0}var Mr=Fr,Rr=w;function Hr(e){var t=this.__data__,r=Rr(t,e);return r<0?void 0:t[r][1]}var zr=Hr,Gr=w;function Kr(e){return Gr(this.__data__,e)>-1}var Wr=Kr,Ur=w;function Jr(e,t){var r=this.__data__,a=Ur(r,e);return a<0?(++this.size,r.push([e,t])):r[a][1]=t,this}var qr=Jr,Br=Nr,Xr=Mr,Zr=zr,Yr=Wr,Qr=qr;function g(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}g.prototype.clear=Br,g.prototype.delete=Xr,g.prototype.get=Zr,g.prototype.has=Yr,g.prototype.set=Qr;var ea=g,ta=x,ra=O,aa=ta(ra,"Map"),sa=aa,te=xr,na=ea,ia=sa;function oa(){this.size=0,this.__data__={hash:new te,map:new(ia||na),string:new te}}var ua=oa;function ca(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}var la=ca,da=la;function ha(e,t){var r=e.__data__;return da(t)?r[typeof t=="string"?"string":"hash"]:r.map}var T=ha,fa=T;function pa(e){var t=fa(this,e).delete(e);return this.size-=t?1:0,t}var ga=pa,va=T;function ma(e){return va(this,e).get(e)}var ba=ma,_a=T;function ya(e){return _a(this,e).has(e)}var $a=ya,wa=T;function Ta(e,t){var r=wa(this,e),a=r.size;return r.set(e,t),this.size+=r.size==a?0:1,this}var Ca=Ta,Va=ua,Oa=ga,Sa=ba,ja=$a,Aa=Ca;function v(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t<r;){var a=e[t];this.set(a[0],a[1])}}v.prototype.clear=Va,v.prototype.delete=Oa,v.prototype.get=Sa,v.prototype.has=ja,v.prototype.set=Aa;var xa=v,re=xa,ka="Expected a function";function D(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new TypeError(ka);var r=function(){var a=arguments,s=t?t.apply(this,a):a[0],n=r.cache;if(n.has(s))return n.get(s);var i=e.apply(this,a);return r.cache=n.set(s,i)||n,i};return r.cache=new(D.Cache||re),r}D.Cache=re;var Na=D,Da=Na,Pa=500;function Ia(e){var t=Da(e,function(a){return r.size===Pa&&r.clear(),a}),r=t.cache;return t}var La=Ia,Ea=La,Fa=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Ma=/\\(\\)?/g,Ra=Ea(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(Fa,function(r,a,s,n){t.push(s?n.replace(Ma,"$1"):a||r)}),t}),Ha=Ra;function za(e,t){for(var r=-1,a=e==null?0:e.length,s=Array(a);++r<a;)s[r]=t(e[r],r,e);return s}var Ga=za,ae=S,Ka=Ga,Wa=k,Ua=N,Ja=1/0,se=ae?ae.prototype:void 0,ne=se?se.toString:void 0;function ie(e){if(typeof e=="string")return e;if(Wa(e))return Ka(e,ie)+"";if(Ua(e))return ne?ne.call(e):"";var t=e+"";return t=="0"&&1/e==-Ja?"-0":t}var qa=ie,Ba=qa;function Xa(e){return e==null?"":Ba(e)}var Za=Xa,Ya=k,Qa=ar,es=Ha,ts=Za;function rs(e,t){return Ya(e)?e:Qa(e,t)?[e]:es(ts(e))}var oe=rs,as=9007199254740991,ss=/^(?:0|[1-9]\d*)$/;function ns(e,t){var r=typeof e;return t=t==null?as:t,!!t&&(r=="number"||r!="symbol"&&ss.test(e))&&e>-1&&e%1==0&&e<t}var is=ns,os=N,us=1/0;function cs(e){if(typeof e=="string"||os(e))return e;var t=e+"";return t=="0"&&1/e==-us?"-0":t}var ue=cs,ls=Kt,ds=oe,hs=is,ce=j,fs=ue;function ps(e,t,r,a){if(!ce(e))return e;t=ds(t,e);for(var s=-1,n=t.length,i=n-1,o=e;o!=null&&++s<n;){var c=fs(t[s]),m=r;if(c==="__proto__"||c==="constructor"||c==="prototype")return e;if(s!=i){var M=o[c];m=a?a(M,c,o):void 0,m===void 0&&(m=ce(M)?M:hs(t[s+1])?[]:{})}ls(o,c,m),o=o[c]}return e}var gs=ps,vs=gs;function ms(e,t,r){return e==null?e:vs(e,t,r)}var f=ms,bs=oe,_s=ue;function ys(e,t){t=bs(t,e);for(var r=0,a=t.length;e!=null&&r<a;)e=e[_s(t[r++])];return r&&r==a?e:void 0}var $s=ys,ws=$s;function Ts(e,t,r){var a=e==null?void 0:ws(e,t);return a===void 0?r:a}var le=Ts;const P=e=>e instanceof Date,Cs=e=>Object.keys(e).length===0,I=e=>e!=null&&typeof e=="object",Vs=(e,...t)=>Object.prototype.hasOwnProperty.call(e,...t),L=e=>I(e)&&Cs(e),Os=()=>Object.create(null),de=(e,t)=>e===t?{}:!I(e)||!I(t)?t:P(e)||P(t)?e.valueOf()==t.valueOf()?{}:t:Object.keys(t).reduce((r,a)=>{if(Vs(e,a)){const s=de(e[a],t[a]);return L(s)&&!P(s)&&(L(e[a])||!L(t[a]))||(r[a]=s),r}return r},Os());function Ss(e){return e!==null&&typeof e=="object"&&!(e instanceof Date)}var js=Array.isArray;function he(e,t,r,a){return Object.keys(e).forEach(function(s){var n=s.replace(/\./g,"\\.");if(Ss(e[s])&&!js(e[s])){var i=r&&r+"."+n;a&&t.push(r?i:n),he(e[s],t,i||n,a)}else{var o=r?r+"."+n:n;t.push(o)}}),t}var As=function(e,t){return he(e,[],null,t)};function xs(e){return document.head.querySelector(`meta[name="${e}"]`).getAttribute("content")}function ks(e,t,r){if(r>=e.length)for(var a=r-e.length+1;a--;)e.push(void 0);return e.splice(r,0,e.splice(t,1)[0]),e}class fe extends h{connect(){this.getNewWidget()}moveItemUp(t){const r=t.currentTarget;this.moveItemToPosition(r,-1)}moveItemDown(t){const r=t.currentTarget;this.moveItemToPosition(r,1)}moveItemToPosition(t,r){const a=parseInt(t.dataset.itemIndex),s=t.dataset.targetList,n=this.dataValue[s].repeated_items,i=ks(n,a,a+r),o=Object.assign({},this.dataValue);o[s].repeated_items=i,this.dataValue=o,this.getNewWidget()}removeItem(t){const r=t.currentTarget,a=r.dataset.itemIndex,s=r.dataset.targetList,n=Object.assign({},this.dataValue);n[s].repeated_items.splice(a,1),this.dataValue=n,this.getNewWidget()}addItem(t){const a=t.currentTarget.dataset.targetList;typeof this.dataValue[a]=="undefined"&&(this.dataValue=Object.assign({},this.dataValue,{[a]:{repeated_items:[]}})),this.dataValue=Object.assign({},this.dataValue,{[a]:{repeated_items:[...this.dataValue[a].repeated_items,{}]}}),this.getNewWidget()}dataValueChanged(t,r){const a=de(t,r),s=As(a);(a.items&&a.items.repeated_items&&JSON.stringify(Object.values(a.items.repeated_items)[0])===JSON.stringify({})||s.filter(i=>i.match(/^id$|\.id$/g)).length>0)&&this.getNewWidget()}overrideData(t){const r=t.detail.fieldName,a=t.detail.newValues,s=f(this.dataValue,r,a);this.dataValue=s}updateField(t){const r=t.currentTarget.name;let a=t.currentTarget.value;if(t.currentTarget.dataset.boolean==="true"&&t.currentTarget.type==="checkbox"&&!t.currentTarget.checked&&(a=0),t.currentTarget.dataset.checkbox==="true"&&t.currentTarget.type==="checkbox"&&(a=Array.from(t.currentTarget.parentElement.parentElement.querySelectorAll("[name=`${event.currentTarget.name}`]")).map(n=>n.checked?n.value:null).filter(n=>n!==null)),t.currentTarget.dataset.repeatedKeyValue==="true"){const[n,i,...o]=t.currentTarget.name.split(".").reverse(),c=[o.reverse().join("."),i.toString(),n].join(".");le(this.dataValue,c,"")}if(t.currentTarget.dataset.repeated==="true"){t.currentTarget.dataset.index;const[n,i,...o]=t.currentTarget.name.split(".").reverse(),c=o.reverse().join("."),m=le(this.dataValue,c);a=f(m[i],n,a)}const s=f(this.dataValue,r,a);this.dataValue=s}updateWysiwygField(t){const r=t.currentTarget.dataset.fieldName,a=f(this.dataValue,r,t.currentTarget.innerHTML);this.dataValue=a}selectResult(t){const r=t.currentTarget,a=JSON.parse(r.dataset.returnObject),s=f(this.dataValue,r.dataset.fieldName,a.id);this.dataValue=s,this.getNewWidget()}removeResource(t){const r=t.currentTarget,a=f(this.dataValue,r.dataset.fieldName,null);this.dataValue=a,this.getNewWidget()}receiveModalReturn(t){const r=t,a=f(this.dataValue,r.return_payload.field_name,r.payload.id);this.dataValue=a,this.getNewWidget()}getNewWidget(){fetch(`${this.setupValue.src}.json`,{method:"POST",headers:{"Content-Type":"application/json","X-CSRF-Token":xs("csrf-token")},body:JSON.stringify({widget_id:this.widgetIdValue,data:this.dataValue,setup:this.setupValue,max_items:this.maxItemsValue})}).then(t=>t.json()).then(t=>{this.element.innerHTML=t.html_data})}}fe.values={widgetId:String,setup:Object,data:Object,maxItems:{type:Number,default:0}};class E extends h{connect(){}updateHeader(t){this.headerTarget.innerHTML=t.currentTarget.value}toggleItem(t){Array.from(this.element.classList).includes(this.expandedClass)?this.element.classList.remove(this.expandedClass):this.element.classList.add(this.expandedClass)}}E.targets=["header"],E.classes=["expanded"];class F extends h{connect(){this.renderFields()}dataValueChanged(){console.log("dataValueChanged",this.dataValue),this.dispatch("updateData",{detail:{fieldName:this.fieldNameValue,newValues:this.dataValue}})}renderFields(){this.valuesContainerTarget.innerHTML="",this.dataValue.forEach((t,r)=>{const a=this.prefixValue!=""?`<span class='kubik--key_value_repeater--prefix para--small'>${this.prefixValue}</span>`:"",s=this.fieldsValue.map(i=>`<input
2
2
  id='${this.fieldNameValue}-${this.widgetIdValue}'
3
3
  name='${i}'
4
4
  tabindex='1'
@@ -11,9 +11,9 @@
11
11
  data-action='input->kubik-key-value-repeater#updateField'
12
12
  data-item-index='${r}'
13
13
  >`).join(""),n=`<button
14
- class='kubik--key_value_repeater--delete_button'
14
+ class='kubik--key_value_repeater--delete_button material-symbols-outlined'
15
15
  data-action='click->kubik-key-value-repeater#deleteField'
16
- data-index='${r}'>Delete</button>
16
+ data-index='${r}'>close</button>
17
17
  `;this.valuesContainerTarget.insertAdjacentHTML("beforeend",`
18
18
  <div class='kubik--key_value_repeater'>
19
19
  ${a}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kubik-cms/wysiwyg",
3
- "version": "0.1.18",
3
+ "version": "0.1.19",
4
4
  "license": "MIT",
5
5
  "author": "Primate Inc.",
6
6
  "contributors": [