0&&void 0!==s[0]?s[0]:1,!(I.length0?c.join(","):"any",type:t}),e.next=9,yt()({path:o,parse:!1}).then((function(e){var t=parseInt(e.headers.get("X-WP-TotalPages"),10);return r=t>i?i:t,e.json()})).then((function(e){b((function(t){return[].concat(yn(t),yn(e))})),S(!1),(r&&r>n||n>=1&&a&&T.length>0)&&P(n+1)})).catch((function(e){return h(e.message)}));case 9:case"end":return e.stop()}}),e)}))),[I,t,i,a,c,T.length,p]);(0,ht.useEffect)((function(){O(u)}),[u]),(0,ht.useEffect)((function(){I&&p<=I.length?P():b([])}),[I,P,p]);var L=function(e){w(N.current.contains(e.target))},M=function(e){"Escape"===e.key&&w(!1)};(0,ht.useEffect)((function(){return document.addEventListener("keydown",M),function(){return document.removeEventListener("keydown",M)}})),(0,ht.useEffect)((function(){return N&&document.addEventListener("mousedown",L),function(){return document.removeEventListener("mousedown",L)}}));var D=function(e){var t=[];if(T.some((function(t){return t.id===e.id}))){var n=T.findIndex((function(t){return t.id===e.id}));t=[].concat(yn(T.slice(0,n)),yn(T.slice(n+1,T.length)))}else a?t=[].concat(yn(T),[e]):(t=[e],w(!1));O(t),s(t)};return React.createElement("form",{className:"autocomplete__component",onSubmit:function(e){return e.preventDefault()}},React.createElement("div",{className:vt()("components-base-control","autocomplete-base-control",n),ref:N},React.createElement("div",{"aria-expanded":_,"aria-haspopup":"listbox","aria-owns":"listbox-".concat(d),className:vt()("components-base-control__field","autocomplete-base-control__field"),role:"combobox"},React.createElement("label",{className:vt()("components-base-control__label","autocomplete-base-control__label"),htmlFor:"autocomplete-".concat(d)},React.createElement("div",null,o)),T.length>0?React.createElement("ul",{role:"listbox","aria-labelledby":"autocomplete-".concat(d),id:"selected-items-".concat(d),className:vt()("autocomplete__selection--results","autocomplete__selection-list")},T.map((function(e){return React.createElement("li",{className:"autocomplete__selection-list--item",key:e.title},React.createElement(Ue.Button,{className:"autocomplete__selection-list--item--button",isSecondary:!0,isSmall:!0,onClick:function(){return D(e)},type:"button"},e.title))}))):null,React.createElement("input",{"aria-autocomplete":"list",autoComplete:"off",className:vt()("components-text-control__input","autocomplete-text-control__input",{"autocomplete-text-control__input--working":_}),id:"autocomplete-".concat(d),onChange:function(e){return R(e.target.value)},onFocus:function(){return w(!0)},placeholder:l,type:"text",value:k})),React.createElement(Xt,{emptyLabel:r,error:m,labelledById:"autocomplete-".concat(d),id:"listbox-".concat(d),isOpen:_,loading:C&&I,onSelect:D,options:y,selectedItems:T,threshold:p,value:I})))};An.defaultProps={type:"post",className:"",emptyLabel:(0,ze.__)("No items found","alley-scripts"),label:(0,ze.__)("Search for items","alley-scripts"),maxPages:5,multiple:!1,placeholder:(0,ze.__)("Search for items","alley-scripts"),subTypes:[],selected:[],threshold:3},An.propTypes={type:t().string,className:t().string,emptyLabel:t().string,label:t().string,maxPages:t().number,multiple:t().bool,onSelect:t().func.isRequired,placeholder:t().string,subTypes:t().arrayOf(t().string),selected:t().arrayOf([t().shape({id:t().number,title:t().string})]),threshold:t().number};const Cn=An;var Sn=function(e){var t=e.className,n=e.emptyLabel,r=e.label,o=e.maxPages,i=e.multiple,a=e.onSelect,s=e.placeholder,l=e.subTypes,c=e.selected,u=e.threshold;return React.createElement(Cn,{type:"term",className:t,emptyLabel:n,label:r,maxPages:o,multiple:i,onSelect:a,placeholder:s,subTypes:l,selected:c,threshold:u})};Sn.defaultProps={className:"",emptyLabel:(0,ze.__)("No terms found","alley-scripts"),label:(0,ze.__)("Search for terms","alley-scripts"),maxPages:5,multiple:!1,placeholder:(0,ze.__)("Search for terms","alley-scripts"),subTypes:[],selected:[],threshold:3},Sn.propTypes={className:t().string,emptyLabel:t().string,label:t().string,maxPages:t().number,multiple:t().bool,onSelect:t().func.isRequired,placeholder:t().string,subTypes:t().arrayOf(t().string),selected:t().arrayOf([t().shape({id:t().number,title:t().string})]),threshold:t().number};const En=Sn;var kn=Ie.div.withConfig({displayName:"video-picker__PreviewContainer",componentId:"sc-1imlhx1-0"})(["height:auto;width:100%;"]),Rn=function(e){var t=e.src;return React.createElement(kn,null,React.createElement("video",{className:"edit-video-preview",controls:!0,src:t}))};Rn.propTypes={src:t().string.isRequired};var xn=function(e){var t=e.className,n=e.onReset,r=e.onUpdate,o=e.onUpdateURL,i=e.value,a=e.valueURL;return React.createElement(lt,{allowedTypes:["video"],className:t,icon:"format-video",onReset:n,onUpdate:r,onUpdateURL:o,preview:Rn,value:i,valueURL:a})};xn.defaultProps={className:"",onUpdateURL:null,valueURL:""},xn.propTypes={className:t().string,onReset:t().func.isRequired,onUpdate:t().func.isRequired,onUpdateURL:t().func,value:t().number.isRequired,valueURL:t().string};const Tn=xn})(),r})(),e.exports=t()},856:function(e){e.exports=function(){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e(t)}function t(e,n){return t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},t(e,n)}function n(e,r,o){return n=function(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}()?Reflect.construct:function(e,n,r){var o=[null];o.push.apply(o,n);var i=new(Function.bind.apply(e,o));return r&&t(i,r.prototype),i},n.apply(null,arguments)}function r(e){return function(e){if(Array.isArray(e))return o(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||function(e,t){if(e){if("string"==typeof e)return o(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?o(e,t):void 0}}(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function o(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n1?n-1:0),o=1;o/gm),G=p(/\${[\w\W]*}/gm),W=p(/^data-[\-\w.\u00B7-\uFFFF]/),V=p(/^aria-[\-\w]+$/),Y=p(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),K=p(/^(?:\w+script|data):/i),J=p(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Z=p(/^html$/i),Q=function(){return"undefined"==typeof window?null:window};return function t(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Q(),o=function(e){return t(e)};if(o.version="2.4.1",o.removed=[],!n||!n.document||9!==n.document.nodeType)return o.isSupported=!1,o;var i=n.document,a=n.document,s=n.DocumentFragment,l=n.HTMLTemplateElement,c=n.Node,p=n.Element,d=n.NodeFilter,f=n.NamedNodeMap,m=void 0===f?n.NamedNodeMap||n.MozNamedAttrMap:f,h=n.HTMLFormElement,g=n.DOMParser,x=n.trustedTypes,X=p.prototype,ee=N(X,"cloneNode"),te=N(X,"nextSibling"),ne=N(X,"childNodes"),re=N(X,"parentNode");if("function"==typeof l){var oe=a.createElement("template");oe.content&&oe.content.ownerDocument&&(a=oe.content.ownerDocument)}var ie=function(t,n){if("object"!==e(t)||"function"!=typeof t.createPolicy)return null;var r=null,o="data-tt-policy-suffix";n.currentScript&&n.currentScript.hasAttribute(o)&&(r=n.currentScript.getAttribute(o));var i="dompurify"+(r?"#"+r:"");try{return t.createPolicy(i,{createHTML:function(e){return e},createScriptURL:function(e){return e}})}catch(e){return console.warn("TrustedTypes policy "+i+" could not be created."),null}}(x,i),ae=ie?ie.createHTML(""):"",se=a,le=se.implementation,ce=se.createNodeIterator,ue=se.createDocumentFragment,pe=se.getElementsByTagName,de=i.importNode,fe={};try{fe=O(a).documentMode?a.documentMode:{}}catch(e){}var me={};o.isSupported="function"==typeof re&&le&&void 0!==le.createHTMLDocument&&9!==fe;var he,ge,ye=H,be=$,ve=G,_e=W,we=V,Ae=K,Ce=J,Se=Y,Ee=null,ke=T({},[].concat(r(I),r(P),r(L),r(D),r(j))),Re=null,xe=T({},[].concat(r(F),r(q),r(B),r(z))),Te=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Oe=null,Ne=null,Ie=!0,Pe=!0,Le=!1,Me=!1,De=!1,Ue=!1,je=!1,Fe=!1,qe=!1,Be=!1,ze=!0,He=!1,$e=!0,Ge=!1,We={},Ve=null,Ye=T({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Ke=null,Je=T({},["audio","video","img","source","image","track"]),Ze=null,Qe=T({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Xe="http://www.w3.org/1998/Math/MathML",et="http://www.w3.org/2000/svg",tt="http://www.w3.org/1999/xhtml",nt=tt,rt=!1,ot=null,it=T({},[Xe,et,tt],w),at=["application/xhtml+xml","text/html"],st=null,lt=a.createElement("form"),ct=function(e){return e instanceof RegExp||e instanceof Function},ut=function(t){st&&st===t||(t&&"object"===e(t)||(t={}),t=O(t),he=he=-1===at.indexOf(t.PARSER_MEDIA_TYPE)?"text/html":t.PARSER_MEDIA_TYPE,ge="application/xhtml+xml"===he?w:_,Ee="ALLOWED_TAGS"in t?T({},t.ALLOWED_TAGS,ge):ke,Re="ALLOWED_ATTR"in t?T({},t.ALLOWED_ATTR,ge):xe,ot="ALLOWED_NAMESPACES"in t?T({},t.ALLOWED_NAMESPACES,w):it,Ze="ADD_URI_SAFE_ATTR"in t?T(O(Qe),t.ADD_URI_SAFE_ATTR,ge):Qe,Ke="ADD_DATA_URI_TAGS"in t?T(O(Je),t.ADD_DATA_URI_TAGS,ge):Je,Ve="FORBID_CONTENTS"in t?T({},t.FORBID_CONTENTS,ge):Ye,Oe="FORBID_TAGS"in t?T({},t.FORBID_TAGS,ge):{},Ne="FORBID_ATTR"in t?T({},t.FORBID_ATTR,ge):{},We="USE_PROFILES"in t&&t.USE_PROFILES,Ie=!1!==t.ALLOW_ARIA_ATTR,Pe=!1!==t.ALLOW_DATA_ATTR,Le=t.ALLOW_UNKNOWN_PROTOCOLS||!1,Me=t.SAFE_FOR_TEMPLATES||!1,De=t.WHOLE_DOCUMENT||!1,Fe=t.RETURN_DOM||!1,qe=t.RETURN_DOM_FRAGMENT||!1,Be=t.RETURN_TRUSTED_TYPE||!1,je=t.FORCE_BODY||!1,ze=!1!==t.SANITIZE_DOM,He=t.SANITIZE_NAMED_PROPS||!1,$e=!1!==t.KEEP_CONTENT,Ge=t.IN_PLACE||!1,Se=t.ALLOWED_URI_REGEXP||Se,nt=t.NAMESPACE||tt,t.CUSTOM_ELEMENT_HANDLING&&ct(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Te.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&ct(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Te.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Te.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Me&&(Pe=!1),qe&&(Fe=!0),We&&(Ee=T({},r(j)),Re=[],!0===We.html&&(T(Ee,I),T(Re,F)),!0===We.svg&&(T(Ee,P),T(Re,q),T(Re,z)),!0===We.svgFilters&&(T(Ee,L),T(Re,q),T(Re,z)),!0===We.mathMl&&(T(Ee,D),T(Re,B),T(Re,z))),t.ADD_TAGS&&(Ee===ke&&(Ee=O(Ee)),T(Ee,t.ADD_TAGS,ge)),t.ADD_ATTR&&(Re===xe&&(Re=O(Re)),T(Re,t.ADD_ATTR,ge)),t.ADD_URI_SAFE_ATTR&&T(Ze,t.ADD_URI_SAFE_ATTR,ge),t.FORBID_CONTENTS&&(Ve===Ye&&(Ve=O(Ve)),T(Ve,t.FORBID_CONTENTS,ge)),$e&&(Ee["#text"]=!0),De&&T(Ee,["html","head","body"]),Ee.table&&(T(Ee,["tbody"]),delete Oe.tbody),u&&u(t),st=t)},pt=T({},["mi","mo","mn","ms","mtext"]),dt=T({},["foreignobject","desc","title","annotation-xml"]),ft=T({},["title","style","font","a","script"]),mt=T({},P);T(mt,L),T(mt,M);var ht=T({},D);T(ht,U);var gt=function(e){v(o.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){try{e.outerHTML=ae}catch(t){e.remove()}}},yt=function(e,t){try{v(o.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){v(o.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e&&!Re[e])if(Fe||qe)try{gt(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},bt=function(e){var t,n;if(je)e=" "+e;else{var r=A(e,/^[\r\n\t ]+/);n=r&&r[0]}"application/xhtml+xml"===he&&nt===tt&&(e=''+e+"");var o=ie?ie.createHTML(e):e;if(nt===tt)try{t=(new g).parseFromString(o,he)}catch(e){}if(!t||!t.documentElement){t=le.createDocument(nt,"template",null);try{t.documentElement.innerHTML=rt?"":o}catch(e){}}var i=t.body||t.documentElement;return e&&n&&i.insertBefore(a.createTextNode(n),i.childNodes[0]||null),nt===tt?pe.call(t,De?"html":"body")[0]:De?t.documentElement:i},vt=function(e){return ce.call(e.ownerDocument||e,e,d.SHOW_ELEMENT|d.SHOW_COMMENT|d.SHOW_TEXT,null,!1)},_t=function(t){return"object"===e(c)?t instanceof c:t&&"object"===e(t)&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName},wt=function(e,t,n){me[e]&&y(me[e],(function(e){e.call(o,t,n,st)}))},At=function(e){var t,n;if(wt("beforeSanitizeElements",e,null),(n=e)instanceof h&&("string"!=typeof n.nodeName||"string"!=typeof n.textContent||"function"!=typeof n.removeChild||!(n.attributes instanceof m)||"function"!=typeof n.removeAttribute||"function"!=typeof n.setAttribute||"string"!=typeof n.namespaceURI||"function"!=typeof n.insertBefore||"function"!=typeof n.hasChildNodes))return gt(e),!0;if(k(/[\u0080-\uFFFF]/,e.nodeName))return gt(e),!0;var r=ge(e.nodeName);if(wt("uponSanitizeElement",e,{tagName:r,allowedTags:Ee}),e.hasChildNodes()&&!_t(e.firstElementChild)&&(!_t(e.content)||!_t(e.content.firstElementChild))&&k(/<[/\w]/g,e.innerHTML)&&k(/<[/\w]/g,e.textContent))return gt(e),!0;if("select"===r&&k(/=0;--s)i.insertBefore(ee(a[s],!0),te(e))}return gt(e),!0}return e instanceof p&&!function(e){var t=re(e);t&&t.tagName||(t={namespaceURI:nt,tagName:"template"});var n=_(e.tagName),r=_(t.tagName);return!!ot[e.namespaceURI]&&(e.namespaceURI===et?t.namespaceURI===tt?"svg"===n:t.namespaceURI===Xe?"svg"===n&&("annotation-xml"===r||pt[r]):Boolean(mt[n]):e.namespaceURI===Xe?t.namespaceURI===tt?"math"===n:t.namespaceURI===et?"math"===n&&dt[r]:Boolean(ht[n]):e.namespaceURI===tt?!(t.namespaceURI===et&&!dt[r])&&!(t.namespaceURI===Xe&&!pt[r])&&!ht[n]&&(ft[n]||!mt[n]):!("application/xhtml+xml"!==he||!ot[e.namespaceURI]))}(e)?(gt(e),!0):"noscript"!==r&&"noembed"!==r||!k(/<\/no(script|embed)/i,e.innerHTML)?(Me&&3===e.nodeType&&(t=e.textContent,t=C(t,ye," "),t=C(t,be," "),t=C(t,ve," "),e.textContent!==t&&(v(o.removed,{element:e.cloneNode()}),e.textContent=t)),wt("afterSanitizeElements",e,null),!1):(gt(e),!0)},Ct=function(e,t,n){if(ze&&("id"===t||"name"===t)&&(n in a||n in lt))return!1;if(Pe&&!Ne[t]&&k(_e,t));else if(Ie&&k(we,t));else if(!Re[t]||Ne[t]){if(!(St(e)&&(Te.tagNameCheck instanceof RegExp&&k(Te.tagNameCheck,e)||Te.tagNameCheck instanceof Function&&Te.tagNameCheck(e))&&(Te.attributeNameCheck instanceof RegExp&&k(Te.attributeNameCheck,t)||Te.attributeNameCheck instanceof Function&&Te.attributeNameCheck(t))||"is"===t&&Te.allowCustomizedBuiltInElements&&(Te.tagNameCheck instanceof RegExp&&k(Te.tagNameCheck,n)||Te.tagNameCheck instanceof Function&&Te.tagNameCheck(n))))return!1}else if(Ze[t]);else if(k(Se,C(n,Ce,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==S(n,"data:")||!Ke[e])if(Le&&!k(Ae,C(n,Ce,"")));else if(n)return!1;return!0},St=function(e){return e.indexOf("-")>0},Et=function(t){var n,r,i,a;wt("beforeSanitizeAttributes",t,null);var s=t.attributes;if(s){var l={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Re};for(a=s.length;a--;){var c=n=s[a],u=c.name,p=c.namespaceURI;if(r="value"===u?n.value:E(n.value),i=ge(u),l.attrName=i,l.attrValue=r,l.keepAttr=!0,l.forceKeepAttr=void 0,wt("uponSanitizeAttribute",t,l),r=l.attrValue,!l.forceKeepAttr&&(yt(u,t),l.keepAttr))if(k(/\/>/i,r))yt(u,t);else{Me&&(r=C(r,ye," "),r=C(r,be," "),r=C(r,ve," "));var d=ge(t.nodeName);if(Ct(d,i,r)){if(!He||"id"!==i&&"name"!==i||(yt(u,t),r="user-content-"+r),ie&&"object"===e(x)&&"function"==typeof x.getAttributeType)if(p);else switch(x.getAttributeType(d,i)){case"TrustedHTML":r=ie.createHTML(r);break;case"TrustedScriptURL":r=ie.createScriptURL(r)}try{p?t.setAttributeNS(p,u,r):t.setAttribute(u,r),b(o.removed)}catch(e){}}}}wt("afterSanitizeAttributes",t,null)}},kt=function e(t){var n,r=vt(t);for(wt("beforeSanitizeShadowDOM",t,null);n=r.nextNode();)wt("uponSanitizeShadowNode",n,null),At(n)||(n.content instanceof s&&e(n.content),Et(n));wt("afterSanitizeShadowDOM",t,null)};return o.sanitize=function(t){var r,a,l,u,p,d=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if((rt=!t)&&(t="\x3c!--\x3e"),"string"!=typeof t&&!_t(t)){if("function"!=typeof t.toString)throw R("toString is not a function");if("string"!=typeof(t=t.toString()))throw R("dirty is not a string, aborting")}if(!o.isSupported){if("object"===e(n.toStaticHTML)||"function"==typeof n.toStaticHTML){if("string"==typeof t)return n.toStaticHTML(t);if(_t(t))return n.toStaticHTML(t.outerHTML)}return t}if(Ue||ut(d),o.removed=[],"string"==typeof t&&(Ge=!1),Ge){if(t.nodeName){var f=ge(t.nodeName);if(!Ee[f]||Oe[f])throw R("root node is forbidden and cannot be sanitized in-place")}}else if(t instanceof c)1===(a=(r=bt("\x3c!----\x3e")).ownerDocument.importNode(t,!0)).nodeType&&"BODY"===a.nodeName||"HTML"===a.nodeName?r=a:r.appendChild(a);else{if(!Fe&&!Me&&!De&&-1===t.indexOf("<"))return ie&&Be?ie.createHTML(t):t;if(!(r=bt(t)))return Fe?null:Be?ae:""}r&&je&>(r.firstChild);for(var m=vt(Ge?t:r);l=m.nextNode();)3===l.nodeType&&l===u||At(l)||(l.content instanceof s&&kt(l.content),Et(l),u=l);if(u=null,Ge)return t;if(Fe){if(qe)for(p=ue.call(r.ownerDocument);r.firstChild;)p.appendChild(r.firstChild);else p=r;return Re.shadowroot&&(p=de.call(i,p,!0)),p}var h=De?r.outerHTML:r.innerHTML;return De&&Ee["!doctype"]&&r.ownerDocument&&r.ownerDocument.doctype&&r.ownerDocument.doctype.name&&k(Z,r.ownerDocument.doctype.name)&&(h="\n"+h),Me&&(h=C(h,ye," "),h=C(h,be," "),h=C(h,ve," ")),ie&&Be?ie.createHTML(h):h},o.setConfig=function(e){ut(e),Ue=!0},o.clearConfig=function(){st=null,Ue=!1},o.isValidAttribute=function(e,t,n){st||ut({});var r=ge(e),o=ge(t);return Ct(r,o,n)},o.addHook=function(e,t){"function"==typeof t&&(me[e]=me[e]||[],v(me[e],t))},o.removeHook=function(e){if(me[e])return b(me[e])},o.removeHooks=function(e){me[e]&&(me[e]=[])},o.removeAllHooks=function(){me={}},o}()}()},703:function(e,t,n){"use strict";var r=n(414);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},697:function(e,t,n){e.exports=n(703)()},414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){"use strict";var e=window.wp.plugins,t=window.React,r=n.n(t),o=()=>r().createElement("svg",{enableBackground:"new 0 0 26.77438 26.77438",height:"26.77438px",version:"1.1",viewBox:"0 0 26.77438 26.77438",width:"26.77438px",x:"0px",xmlns:"http://www.w3.org/2000/svg",y:"0px"},r().createElement("g",null,r().createElement("g",null,r().createElement("g",null,r().createElement("path",{d:"M4.71813,13.5345v4.77055l0.00002,0.65257 c0,0.0568-0.00002,0.11365,0.00035,0.17044c0.00025,0.04783,0.00081,0.0957,0.00209,0.14355 c0.00283,0.10423,0.00899,0.20939,0.02751,0.31251c0.01879,0.10458,0.04945,0.20193,0.0978,0.29693 c0.04756,0.0934,0.10962,0.17891,0.1837,0.253c0.07406,0.07407,0.15948,0.13619,0.25284,0.18372 c0.09503,0.0484,0.19239,0.07911,0.29701,0.09791c0.10299,0.01855,0.20809,0.02465,0.31225,0.02748 c0.04783,0.0013,0.09566,0.00183,0.14351,0.00215c0.05676,0.00033,0.11354,0.00031,0.17035,0.00031l0.65231,0.00002h4.77141 c0.13713,0,0.1819-0.18436,0.05989-0.24694c-2.91487-1.49526-5.22884-3.80922-6.72409-6.72407 c-0.02514-0.04903-0.06995-0.07114-0.11456-0.07114C4.78411,13.40348,4.71813,13.45246,4.71813,13.5345 M6.20869,4.71816 c-0.05692,0-0.11382,0.00002-0.17074,0.00035C5.99004,4.71878,5.9421,4.71937,5.89418,4.72066 C5.78975,4.72349,5.68438,4.72962,5.58112,4.74818C5.47637,4.76705,5.37885,4.79772,5.28367,4.84613 C5.1901,4.89378,5.10448,4.95595,5.03024,5.03016C4.95604,5.10438,4.8938,5.18993,4.84622,5.28341 c-0.0485,0.09524-0.07925,0.19277-0.09809,0.29751C4.72958,5.68414,4.72344,5.78941,4.72059,5.89376 C4.71932,5.94165,4.71875,5.98955,4.7185,6.03746c-0.00035,0.048-0.00037,0.09602-0.00037,0.14401v0.02665v1.96427 c0,0.40087,0.07796,0.6084,0.37512,0.90561l10.99255,10.9925c0.30093,0.30094,0.50562,0.37513,0.90561,0.37513h1.96366 c0.05688,0,0.11384,0,0.17074-0.00036c0.04794-0.00028,0.09584-0.00084,0.14378-0.00216 c0.10446-0.00281,0.20978-0.00894,0.31304-0.02751c0.10479-0.01884,0.20229-0.04954,0.29747-0.09796 c0.09358-0.04766,0.17919-0.10981,0.25338-0.18402c0.07428-0.07423,0.13647-0.15976,0.18408-0.25323 c0.04852-0.09524,0.07924-0.19277,0.09809-0.29752c0.01855-0.10318,0.0247-0.20845,0.0275-0.31283 c0.0013-0.04788,0.00187-0.09577,0.00214-0.14376c0.00031-0.04819,0.00034-0.09648,0.00034-0.14476v-1.99007 c0-0.40094-0.07794-0.60844-0.37513-0.90564L9.07799,5.09329C8.77706,4.79237,8.57234,4.71818,8.17237,4.71816H6.20869 M13.53452,4.71816c-0.13717,0-0.18194,0.18436-0.05994,0.24694c2.9149,1.49524,5.22883,3.8092,6.72409,6.72407 c0.06261,0.12206,0.24697,0.07725,0.24697-0.05992V6.85873l-0.00005-0.65257c0-0.05679,0.00005-0.11363-0.00028-0.17043 c-0.00027-0.04786-0.00084-0.0957-0.00216-0.14353c-0.0028-0.10428-0.00891-0.20943-0.02746-0.31252 c-0.0188-0.1046-0.04947-0.20194-0.09784-0.29695c-0.0475-0.09343-0.10962-0.17888-0.18367-0.25297 c-0.0741-0.0741-0.15947-0.1362-0.25285-0.18375c-0.09504-0.04841-0.19239-0.0791-0.297-0.09789 c-0.10299-0.01854-0.2081-0.02468-0.31226-0.02751c-0.04781-0.00125-0.09565-0.00183-0.14348-0.00211 c-0.0568-0.00035-0.1136-0.00032-0.17037-0.00032l-0.65233-0.00002H13.53452"}))))),i=n(373),a=window.wp.apiFetch,s=n.n(a),l=window.wp.data,c=window.wp.editPost,u=window.wp.i18n,p=n(856),d=n.n(p),f=window.wp.components,m=n(697),h=n.n(m);const g=({coverImageCaption:e,coverImageId:t,onChangeCoverImageCaption:n,onChangeCoverImageId:o})=>r().createElement(f.PanelBody,{initialOpen:!1,title:(0,u.__)("Cover Image","apple-news")},r().createElement(f.BaseControl,null,r().createElement(i.ImagePicker,{onReset:()=>o(0),onUpdate:({id:e})=>o(e),value:t})),r().createElement(f.TextareaControl,{help:(0,u.__)("This is optional and can be left blank.","apple-news"),label:(0,u.__)("Caption","apple-news"),onChange:n,placeholder:(0,u.__)("Add an image caption here.","apple-news"),value:e}));g.propTypes={coverImageCaption:h().string.isRequired,coverImageId:h().number.isRequired,onChangeCoverImageCaption:h().func.isRequired,onChangeCoverImageId:h().func.isRequired};var y=g;const b=({maturityRating:e,onChangeMaturityRating:t})=>r().createElement(f.PanelBody,{initialOpen:!1,title:(0,u.__)("Maturity Rating","apple-news")},r().createElement(f.SelectControl,{help:(0,u.__)("Select the optional maturity rating for this post.","apple-news"),label:(0,u.__)("Select Maturity Rating","apple-news"),onChange:t,options:[{label:"",value:""},{label:(0,u.__)("Kids","apple-news"),value:"KIDS"},{label:(0,u.__)("Mature","apple-news"),value:"MATURE"},{label:(0,u.__)("General","apple-news"),value:"GENERAL"}],value:e}));b.propTypes={maturityRating:h().string.isRequired,onChangeMaturityRating:h().func.isRequired};var v=b;const _={key:h().string.isRequired,type:h().oneOf(["array","boolean","number","string"]),value:h().oneOfType([h().arrayOf(h().string),h().bool,h().number,h().string])},w={id:h().string.isRequired,name:h().string.isRequired};var A=(e,t,n,r)=>{const o=e.map((e=>({...e})));return o[r][t]=n,o};const C=({isHidden:e,isPaid:t,isPreview:n,isSponsored:o,metadata:i,onChangeIsHidden:a,onChangeIsPaid:s,onChangeIsPreview:l,onChangeIsSponsored:c,onChangeMetadata:p,onChangeSuppressVideoURL:d,onChangeUseImageComponent:m,suppressVideoURL:h,useImageComponent:g})=>r().createElement(f.PanelBody,{initialOpen:!1,title:(0,u.__)("Metadata","apple-news")},r().createElement(f.CheckboxControl,{checked:t,help:(0,u.__)("Check this to indicate that viewing the article requires a paid subscription. Note that Apple must approve your channel for paid content before using this feature.","apple-news"),label:(0,u.__)("Paid Article","apple-news"),onChange:s}),r().createElement(f.CheckboxControl,{checked:n,help:(0,u.__)("Check this to publish the article as a draft.","apple-news"),label:(0,u.__)("Preview Article","apple-news"),onChange:l}),r().createElement(f.CheckboxControl,{checked:e,help:(0,u.__)("Check this to publish the article as a hidden article. Hidden articles are visible to users who have a link to the article, but do not appear in feeds.","apple-news"),label:(0,u.__)("Hidden Article","apple-news"),onChange:a}),r().createElement(f.CheckboxControl,{checked:o,help:(0,u.__)("Check this to indicate this article is sponsored content.","apple-news"),label:(0,u.__)("Sponsored Article","apple-news"),onChange:c}),r().createElement(f.CheckboxControl,{checked:h,help:(0,u.__)("Check this to prevent video thumbnails for this article.","apple-news"),label:(0,u.__)("Do not set videoURL metadata for this article","apple-news"),onChange:d}),r().createElement(f.CheckboxControl,{checked:g,help:(0,u.__)("Check this to use an Image instead of a Photo component for images in this article.","apple-news"),label:(0,u.__)("Use Image component for images.","apple-news"),onChange:m}),r().createElement("h3",null,(0,u.__)("Custom Metadata","apple-news")),i.map((({key:e,type:t,value:n},o)=>r().createElement("div",{key:o},r().createElement(f.TextControl,{label:(0,u.__)("Key","apple-news"),onChange:e=>p(A(i,"key",e,o)),value:e}),r().createElement(f.SelectControl,{label:(0,u.__)("Type","apple-news"),onChange:e=>p(A(i,"type",e,o)),options:[{label:(0,u.__)("string","apple-news"),value:"string"},{label:(0,u.__)("boolean","apple-news"),value:"boolean"},{label:(0,u.__)("number","apple-news"),value:"number"},{label:(0,u.__)("array","apple-news"),value:"array"}],value:t}),"boolean"===t?r().createElement(f.SelectControl,{label:(0,u.__)("Value","apple-news"),onChange:e=>p(A(i,"value","true"===e,o)),options:[{label:(0,u.__)("","apple-news"),value:""},{label:(0,u.__)("true","apple-news"),value:"true"},{label:(0,u.__)("false","apple-news"),value:"false"}],value:n}):r().createElement(f.TextControl,{label:(0,u.__)("Value","apple-news"),onChange:e=>p(A(i,"value","number"===t?parseFloat(e):e,o)),type:"number"===t?"number":"text",value:n}),r().createElement(f.Button,{isDestructive:!0,onClick:()=>p(((e,t)=>e.filter(((e,n)=>t!==n)))(i,o)),style:{marginBottom:"1em"}},(0,u.__)("Remove","apple-news"))))),r().createElement(f.Button,{isPrimary:!0,onClick:()=>p([...i,{key:"",type:"string",value:""}])},(0,u.__)("Add Metadata","apple-news")));C.propTypes={isHidden:h().bool.isRequired,isPaid:h().bool.isRequired,isPreview:h().bool.isRequired,isSponsored:h().bool.isRequired,metadata:h().arrayOf(h().shape(_)).isRequired,onChangeIsHidden:h().func.isRequired,onChangeIsPaid:h().func.isRequired,onChangeIsPreview:h().func.isRequired,onChangeIsSponsored:h().func.isRequired,onChangeMetadata:h().func.isRequired,onChangeSuppressVideoURL:h().func.isRequired,onChangeUseImageComponent:h().func.isRequired,suppressVideoURL:h().bool.isRequired,useImageComponent:h().bool.isRequired};var S=C;const E=({apiAutosync:e,apiAutosyncDelete:t,apiAutosyncUpdate:n,deletePost:o,loading:i,postIsDirty:a,postStatus:s,publishPost:l,publishState:c,updatePost:p,userCanPublish:d})=>"publish"===s&&d?i?r().createElement(f.Spinner,null):r().createElement(r().Fragment,null,a?r().createElement("div",{className:"components-notice is-warning"},r().createElement("strong",null,(0,u.__)("Please click the Update button above to ensure that all changes are saved before publishing to Apple News.","apple-news"))):null,"N/A"===c||n?null:r().createElement(f.Button,{isPrimary:!0,onClick:p,style:{margin:"1em"}},(0,u.__)("Update","apple-news")),"N/A"===c||t?null:r().createElement(f.Button,{isSecondary:!0,onClick:o,style:{margin:"1em"}},(0,u.__)("Delete","apple-news")),"N/A"!==c||e?null:r().createElement(f.Button,{isPrimary:!0,onClick:l,style:{margin:"1em"}},(0,u.__)("Publish","apple-news"))):null;E.propTypes={apiAutosync:h().bool.isRequired,apiAutosyncDelete:h().bool.isRequired,apiAutosyncUpdate:h().bool.isRequired,deletePost:h().func.isRequired,loading:h().bool.isRequired,postIsDirty:h().bool.isRequired,postStatus:h().string.isRequired,publishPost:h().func.isRequired,publishState:h().string.isRequired,updatePost:h().func.isRequired,userCanPublish:h().bool.isRequired};var k=E;const R=({apiId:e,dateCreated:t,dateModified:n,revision:o,shareUrl:i,publishState:a})=>a&&"N/A"!==a?r().createElement(f.PanelBody,{initialOpen:!1,title:(0,u.__)("Publish Information","apple-news")},r().createElement("h3",null,(0,u.__)("API Id","apple-news")),r().createElement("p",null,e),r().createElement("h3",null,(0,u.__)("Created On","apple-news")),r().createElement("p",null,t),r().createElement("h3",null,(0,u.__)("Last Updated On","apple-news")),r().createElement("p",null,n),r().createElement("h3",null,(0,u.__)("Share URL","apple-news")),r().createElement("p",null,i),r().createElement("h3",null,(0,u.__)("Revision","apple-news")),r().createElement("p",null,o),r().createElement("h3",null,(0,u.__)("Publish State","apple-news")),r().createElement("p",null,a)):null;R.propTypes={apiId:h().string.isRequired,dateCreated:h().string.isRequired,dateModified:h().string.isRequired,revision:h().string.isRequired,shareUrl:h().string.isRequired,publishState:h().string.isRequired};var x=R;const T=({onChangePullquotePosition:e,onChangePullquoteText:t,pullquotePosition:n,pullquoteText:o})=>r().createElement(f.PanelBody,{initialOpen:!1,title:(0,u.__)("Pull Quote","apple-news")},r().createElement(f.TextareaControl,{help:(0,u.__)("A pull quote is a key phrase, quotation, or excerpt that has been pulled from an article and used as a graphic element, serving to entice readers into the article or to highlight a key topic. This is optional and can be left blank.","apple-news"),label:(0,u.__)("Pull Quote Text","apple-news"),onChange:t,value:o}),r().createElement(f.SelectControl,{help:(0,u.__)("The position in the article where the pull quote will appear.","apple-news"),label:(0,u.__)("Pull Quote Position","apple-news"),onChange:e,options:[{label:(0,u.__)("top","apple-news"),value:"top"},{label:(0,u.__)("middle","apple-news"),value:"middle"},{label:(0,u.__)("bottom","apple-news"),value:"bottom"}],value:n||"middle"}));T.propTypes={onChangePullquotePosition:h().func.isRequired,onChangePullquoteText:h().func.isRequired,pullquotePosition:h().string.isRequired,pullquoteText:h().string.isRequired};var O=T;const N=({autoAssignCategories:e,automaticAssignment:t,onChangeAutoAssignCategories:n,onChangeSelectedSections:o,sections:i,selectedSections:a})=>r().createElement(f.PanelBody,{initialOpen:!1,title:(0,u.__)("Sections","apple-news")},Array.isArray(i)&&0!==i.length?r().createElement(r().Fragment,null,t?r().createElement(f.CheckboxControl,{checked:e,label:(0,u.__)("Assign sections by category","apple-news"),onChange:n}):null,t&&!e?r().createElement("hr",null):null,t&&e?null:r().createElement(f.BaseControl,{help:(0,u.__)("Select the sections in which to publish this article. If none are selected, it will be published to the default section.","apple-news")},i.map((({id:e,name:t})=>r().createElement(f.CheckboxControl,{checked:a.includes(e),key:e,label:t,onChange:()=>o(e)}))))):r().createElement(f.Spinner,null));N.propTypes={autoAssignCategories:h().bool.isRequired,automaticAssignment:h().bool.isRequired,onChangeAutoAssignCategories:h().func.isRequired,onChangeSelectedSections:h().func.isRequired,sections:h().arrayOf(h().shape(w)).isRequired,selectedSections:h().arrayOf(h().string).isRequired};var I=N;const P=({onChangeSlug:e,slug:t})=>r().createElement(f.PanelBody,{initialOpen:!1,title:(0,u.__)("Slug","apple-news")},r().createElement(f.TextControl,{help:(0,u.__)("A word or phrase that will appear near the title, if the Slug component is enabled in theme settings. This is optional and can be left blank.","apple-news"),label:(0,u.__)("Slug Text","apple-news"),onChange:e,value:t}));P.propTypes={onChangeSlug:h().func.isRequired,slug:h().string.isRequired};var L=P,M=e=>{const t=(e=>{try{return JSON.parse(e)}catch(e){return null}})(e);return Array.isArray(t)?t:[]};(0,e.registerPlugin)("publish-to-apple-news",{icon:r().createElement(o,null),render:()=>{const[e,n]=(0,t.useState)({autoAssignCategories:!1,loading:!1,publishState:"N/A",sections:[],settings:{apiAutosync:!1,apiAutosyncDelete:!1,apiAutosyncUpdate:!1,automaticAssignment:!1},userCanPublish:!1}),{autoAssignCategories:o,loading:a,publishState:p,sections:f,settings:{apiAutosync:m,apiAutosyncDelete:h,apiAutosyncUpdate:g,automaticAssignment:b},userCanPublish:_}=e,w=(0,l.useDispatch)("core/notices"),{notices:A,postId:C,postIsDirty:E,postStatus:R}=(0,l.useSelect)((e=>{const t=e("core/editor");return{notices:t.getEditedPostAttribute("apple_news_notices"),postId:t.getCurrentPostId(),postIsDirty:t.isEditedPostDirty(),postStatus:t.getEditedPostAttribute("status")}})),[{apple_news_api_created_at:T,apple_news_api_id:N,apple_news_api_modified_at:P,apple_news_api_revision:D,apple_news_api_share_url:U}]=(0,i.usePostMeta)(),[j,F]=(0,i.usePostMetaValue)("apple_news_coverimage"),[q,B]=(0,i.usePostMetaValue)("apple_news_coverimage_caption"),[z,H]=(0,i.usePostMetaValue)("apple_news_is_hidden"),[$,G]=(0,i.usePostMetaValue)("apple_news_is_paid"),[W,V]=(0,i.usePostMetaValue)("apple_news_is_preview"),[Y,K]=(0,i.usePostMetaValue)("apple_news_is_sponsored"),[J,Z]=(0,i.usePostMetaValue)("apple_news_maturity_rating"),[Q,X]=(0,i.usePostMetaValue)("apple_news_metadata"),[ee,te]=(0,i.usePostMetaValue)("apple_news_pullquote"),[ne,re]=(0,i.usePostMetaValue)("apple_news_pullquote_position"),[oe,ie]=(0,i.usePostMetaValue)("apple_news_sections"),[ae,se]=(0,i.usePostMetaValue)("apple_news_slug"),[le,ce]=(0,i.usePostMetaValue)("apple_news_suppress_video_url"),[ue,pe]=(0,i.usePostMetaValue)("apple_news_use_image_component"),de=M(Q),fe=M(oe),me=e=>ie(JSON.stringify(e)),he=(0,t.useCallback)(((e,t="success")=>"success"===t?w.createInfoNotice(d().sanitize(e),{type:"snackbar"}):w.createErrorNotice(e,{__unstableHTML:!0})),[w]),ge=async t=>{n({...e,loading:!0});try{const{notifications:r=[],publishState:o=""}=await s()({data:{id:C},method:"POST",path:`/apple-news/v1/${t}`});r.forEach((e=>he(e.message,e.type))),n({...e,loading:!1,publishState:o})}catch(t){he(t.message,"error"),n({...e,loading:!1})}};return(0,t.useEffect)((()=>{(async()=>{const t=[await s()({path:`/apple-news/v1/get-published-state/${C}`}),await s()({path:"/apple-news/v1/sections"}),await s()({path:"/apple-news/v1/get-settings"}),await s()({path:`/apple-news/v1/user-can-publish/${C}`})];try{const r=await Promise.all(t);n({...e,autoAssignCategories:(null===fe||0===fe.length)&&!0===r[2].automaticAssignment,...r[0],sections:r[1],settings:r[2],...r[3]})}catch(e){he(e.message,"error")}})()}),[]),(0,t.useEffect)((()=>{A.forEach((e=>he(e.message,e.type)))}),[he,A]),r().createElement(r().Fragment,null,r().createElement(c.PluginSidebarMoreMenuItem,{target:"publish-to-apple-news"},(0,u.__)("Apple News Options","apple-news")),r().createElement(c.PluginSidebar,{name:"publish-to-apple-news",title:(0,u.__)("Publish to Apple News Options","apple-news")},r().createElement(I,{autoAssignCategories:o,automaticAssignment:b,onChangeAutoAssignCategories:t=>{n({...e,autoAssignCategories:t}),me([])},onChangeSelectedSections:e=>me(fe.includes(e)?fe.filter((t=>t!==e)):[...fe,e]),sections:f,selectedSections:fe}),r().createElement(S,{isHidden:z,isPaid:$,isPreview:W,isSponsored:Y,metadata:de,onChangeIsHidden:H,onChangeIsPaid:G,onChangeIsPreview:V,onChangeIsSponsored:K,onChangeMetadata:e=>X(JSON.stringify(e)),onChangeSuppressVideoURL:ce,onChangeUseImageComponent:pe,suppressVideoURL:le,useImageComponent:ue}),r().createElement(v,{maturityRating:J,onChangeMaturityRating:Z}),r().createElement(L,{onChangeSlug:se,slug:ae}),r().createElement(O,{onChangePullquotePosition:re,onChangePullquoteText:te,pullquotePosition:ne,pullquoteText:ee}),r().createElement(y,{coverImageCaption:q,coverImageId:j,onChangeCoverImageCaption:B,onChangeCoverImageId:F}),"N/A"!==p?r().createElement(x,{apiId:N,dateCreated:T,dateModified:P,publishState:p,revision:D,shareUrl:U}):null,r().createElement(k,{apiAutosync:m,apiAutosyncDelete:h,apiAutosyncUpdate:g,deletePost:()=>ge("delete"),loading:a,postIsDirty:E,postStatus:R,publishPost:()=>ge("publish"),publishState:p,updatePost:()=>ge("update"),userCanPublish:_})))}})}()}();
+//# sourceMappingURL=pluginSidebar.js.map
\ No newline at end of file
diff --git a/build/pluginSidebar.js.LICENSE.txt b/build/pluginSidebar.js.LICENSE.txt
new file mode 100644
index 00000000..728a6632
--- /dev/null
+++ b/build/pluginSidebar.js.LICENSE.txt
@@ -0,0 +1 @@
+/*! @license DOMPurify 2.4.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.4.1/LICENSE */
diff --git a/build/pluginSidebar.js.map b/build/pluginSidebar.js.map
new file mode 100644
index 00000000..8d05c6ea
--- /dev/null
+++ b/build/pluginSidebar.js.map
@@ -0,0 +1 @@
+{"version":3,"file":"pluginSidebar.js","mappings":"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","sources":["webpack://publish-to-apple-news/./node_modules/@alleyinteractive/block-editor-tools/build/index.bundle.min.js","webpack://publish-to-apple-news/./node_modules/dompurify/dist/purify.js","webpack://publish-to-apple-news/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://publish-to-apple-news/./node_modules/prop-types/index.js","webpack://publish-to-apple-news/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://publish-to-apple-news/webpack/bootstrap","webpack://publish-to-apple-news/webpack/runtime/compat get default export","webpack://publish-to-apple-news/webpack/runtime/define property getters","webpack://publish-to-apple-news/webpack/runtime/hasOwnProperty shorthand","webpack://publish-to-apple-news/external window [\"wp\",\"plugins\"]","webpack://publish-to-apple-news/external window \"React\"","webpack://publish-to-apple-news/./assets/js/components/icon/index.jsx","webpack://publish-to-apple-news/external window [\"wp\",\"apiFetch\"]","webpack://publish-to-apple-news/external window [\"wp\",\"data\"]","webpack://publish-to-apple-news/external window [\"wp\",\"editPost\"]","webpack://publish-to-apple-news/external window [\"wp\",\"i18n\"]","webpack://publish-to-apple-news/external window [\"wp\",\"components\"]","webpack://publish-to-apple-news/./assets/js/pluginsidebar/panels/cover-image.jsx","webpack://publish-to-apple-news/./assets/js/pluginsidebar/panels/maturity-rating.jsx","webpack://publish-to-apple-news/./assets/js/config/prop-types.js","webpack://publish-to-apple-news/./assets/js/util/delete-at-index.js","webpack://publish-to-apple-news/./assets/js/util/update-value-at-index.js","webpack://publish-to-apple-news/./assets/js/pluginsidebar/panels/metadata.jsx","webpack://publish-to-apple-news/./assets/js/pluginsidebar/panels/publish-controls.jsx","webpack://publish-to-apple-news/./assets/js/pluginsidebar/panels/publish-info.jsx","webpack://publish-to-apple-news/./assets/js/pluginsidebar/panels/pull-quote.jsx","webpack://publish-to-apple-news/./assets/js/pluginsidebar/panels/sections.jsx","webpack://publish-to-apple-news/./assets/js/pluginsidebar/panels/slug.jsx","webpack://publish-to-apple-news/./assets/js/util/safe-json-parse-array.js","webpack://publish-to-apple-news/./assets/js/util/safe-json-parse.js","webpack://publish-to-apple-news/./assets/js/pluginsidebar/index.jsx","webpack://publish-to-apple-news/./assets/js/pluginsidebar/sidebar.jsx"],"sourcesContent":["/*! For license information please see index.bundle.min.js.LICENSE.txt */\n!function(e,t){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{var r=t();for(var n in r)(\"object\"==typeof exports?exports:e)[n]=r[n]}}(self,(()=>(()=>{var e={184:(e,t)=>{var r;!function(){\"use strict\";var n={}.hasOwnProperty;function o(){for(var e=[],t=0;t{\"use strict\";r.d(t,{Z:()=>s});var n=r(537),o=r.n(n),i=r(645),a=r.n(i)()(o());a.push([e.id,'.edit-post-sidebar .autocomplete__component,.editor-styles-wrapper .autocomplete__component{margin-bottom:20px}.edit-post-sidebar .autocomplete-base-control,.editor-styles-wrapper .autocomplete-base-control{position:relative}.edit-post-sidebar .autocomplete-text-control__input,.editor-styles-wrapper .autocomplete-text-control__input{margin:0}.edit-post-sidebar .autocomplete__selection-list,.editor-styles-wrapper .autocomplete__selection-list{list-style-type:none;margin:0 0 6px;padding:0}.edit-post-sidebar .autocomplete__selection-list--item,.editor-styles-wrapper .autocomplete__selection-list--item{display:inline-block;list-style:none}.edit-post-sidebar .autocomplete__selection-list--item--button,.editor-styles-wrapper .autocomplete__selection-list--item--button{margin-bottom:4px;margin-right:3px}.edit-post-sidebar .autocomplete__selection-list--item--button::after,.editor-styles-wrapper .autocomplete__selection-list--item--button::after{content:\"×\";font-size:16px;line-height:20px;margin-left:5px}.edit-post-sidebar .autocomplete__dropdown,.editor-styles-wrapper .autocomplete__dropdown{background-color:#fff;border-color:rgba(0,0,0,0) #e2e4e7 #e2e4e7;border-radius:0 0 4px 4px;border-style:solid;border-width:0 1px 1px;left:0;max-height:0;overflow-y:hidden;position:absolute;top:calc(100% + 1px);visibility:hidden;width:100%;z-index:10}.edit-post-sidebar .autocomplete__dropdown--is-open,.editor-styles-wrapper .autocomplete__dropdown--is-open{box-shadow:0 3px 30px rgba(25,30,35,.1);max-height:225px;overflow-y:scroll;visibility:visible}.edit-post-sidebar .autocomplete__dropdown--notice,.editor-styles-wrapper .autocomplete__dropdown--notice{padding:15px}.edit-post-sidebar .autocomplete__dropdown--results,.editor-styles-wrapper .autocomplete__dropdown--results{list-style:none;margin:0;padding:0}.edit-post-sidebar .autocomplete__list--item,.editor-styles-wrapper .autocomplete__list--item{list-style:none}.edit-post-sidebar .autocomplete__list--item>button,.editor-styles-wrapper .autocomplete__list--item>button{background:rgba(0,0,0,0);border-color:#e2e4e7;border-style:solid;border-width:0 0 1px;height:100%;line-height:1.25;text-align:left;white-space:inherit;width:100%}.edit-post-sidebar .autocomplete__list--item:last-child>button,.editor-styles-wrapper .autocomplete__list--item:last-child>button{border-bottom:0}',\"\",{version:3,sources:[\"webpack://./src/components/selector/styles.scss\"],names:[],mappings:\"AAAA,4FAgBI,kBACE,CAAA,gGAMF,iBACE,CAAA,8GAMF,QACE,CAAA,sGAMF,oBACE,CAAA,cACA,CAAA,SACA,CAAA,kHAEA,oBACE,CAAA,eACA,CAAA,kIAEA,iBACE,CAAA,gBACA,CAAA,gJAEA,WACE,CAAA,cACA,CAAA,gBACA,CAAA,eACA,CAAA,0FASR,qBACE,CAAA,0CACA,CAAA,yBACA,CAAA,kBACA,CAAA,sBACA,CAAA,MACA,CAAA,YACA,CAAA,iBACA,CAAA,iBACA,CAAA,oBACA,CAAA,iBACA,CAAA,UACA,CAAA,UACA,CAAA,4GAGA,uCACE,CAAA,gBACA,CAAA,iBACA,CAAA,kBACA,CAAA,0GAIF,YACE,CAAA,4GAIF,eACE,CAAA,QACA,CAAA,SACA,CAAA,8FAOJ,eACE,CAAA,4GAEA,wBACE,CAAA,oBACA,CAAA,kBACA,CAAA,oBACA,CAAA,WACA,CAAA,gBACA,CAAA,eACA,CAAA,mBACA,CAAA,UACA,CAAA,kIAGF,eACE\",sourcesContent:[\"//--------------------------------------------------------------\\n// AutoComplete Styles\\n//--------------------------------------------------------------\\n\\n/* stylelint-disable max-nesting-depth */\\n\\n//-----------------------------------------\\n// Accommodate editor well, or the sidebar.\\n//-----------------------------------------\\n.edit-post-sidebar,\\n.editor-styles-wrapper {\\n .autocomplete {\\n\\n //-----------------------------------------\\n // Parent form wrapper.\\n //-----------------------------------------\\n &__component {\\n margin-bottom: 20px;\\n }\\n\\n //-----------------------------------------\\n // Wrapper\\n //-----------------------------------------\\n &-base-control {\\n position: relative;\\n }\\n\\n //-----------------------------------------\\n // Input\\n //-----------------------------------------\\n &-text-control__input {\\n margin: 0;\\n }\\n\\n //-----------------------------------------\\n // Selected buttons.\\n //-----------------------------------------\\n &__selection-list {\\n list-style-type: none;\\n margin: 0 0 6px;\\n padding: 0;\\n\\n &--item {\\n display: inline-block;\\n list-style: none;\\n\\n &--button {\\n margin-bottom: 4px;\\n margin-right: 3px;\\n\\n &::after {\\n content: '×';\\n font-size: 16px;\\n line-height: 20px;\\n margin-left: 5px;\\n }\\n }\\n }\\n }\\n\\n //-----------------------------------------\\n // Results\\n //-----------------------------------------\\n &__dropdown {\\n background-color: #fff;\\n border-color: transparent #e2e4e7 #e2e4e7;\\n border-radius: 0 0 4px 4px;\\n border-style: solid;\\n border-width: 0 1px 1px;\\n left: 0;\\n max-height: 0;\\n overflow-y: hidden;\\n position: absolute;\\n top: calc(100% + 1px); // Offset focus border.\\n visibility: hidden;\\n width: 100%;\\n z-index: 10;\\n\\n // Container is open.\\n &--is-open {\\n box-shadow: 0 3px 30px rgba(25, 30, 35, 0.1);\\n max-height: 225px;\\n overflow-y: scroll;\\n visibility: visible;\\n }\\n\\n // Notice handler.\\n &--notice {\\n padding: 15px;\\n }\\n\\n // Results container.\\n &--results {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n }\\n }\\n\\n //-----------------------------------------\\n // List/Results\\n //-----------------------------------------\\n &__list--item {\\n list-style: none;\\n\\n > button {\\n background: transparent;\\n border-color: #e2e4e7;\\n border-style: solid;\\n border-width: 0 0 1px;\\n height: 100%;\\n line-height: 1.25;\\n text-align: left;\\n white-space: inherit;\\n width: 100%;\\n }\\n\\n &:last-child > button {\\n border-bottom: 0;\\n }\\n }\\n }\\n}\\n\"],sourceRoot:\"\"}]);const s=a},645:e=>{\"use strict\";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var r=\"\",n=void 0!==t[5];return t[4]&&(r+=\"@supports (\".concat(t[4],\") {\")),t[2]&&(r+=\"@media \".concat(t[2],\" {\")),n&&(r+=\"@layer\".concat(t[5].length>0?\" \".concat(t[5]):\"\",\" {\")),r+=e(t),n&&(r+=\"}\"),t[2]&&(r+=\"}\"),t[4]&&(r+=\"}\"),r})).join(\"\")},t.i=function(e,r,n,o,i){\"string\"==typeof e&&(e=[[null,e,void 0]]);var a={};if(n)for(var s=0;s0?\" \".concat(u[5]):\"\",\" {\").concat(u[1],\"}\")),u[5]=i),r&&(u[2]?(u[1]=\"@media \".concat(u[2],\" {\").concat(u[1],\"}\"),u[2]=r):u[2]=r),o&&(u[4]?(u[1]=\"@supports (\".concat(u[4],\") {\").concat(u[1],\"}\"),u[4]=o):u[4]=\"\".concat(o)),t.push(u))}},t}},537:e=>{\"use strict\";e.exports=function(e){var t=e[1],r=e[3];if(!r)return t;if(\"function\"==typeof btoa){var n=btoa(unescape(encodeURIComponent(JSON.stringify(r)))),o=\"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(n),i=\"/*# \".concat(o,\" */\"),a=r.sources.map((function(e){return\"/*# sourceURL=\".concat(r.sourceRoot||\"\").concat(e,\" */\")}));return[t].concat(a).concat([i]).join(\"\\n\")}return[t].join(\"\\n\")}},856:function(e){e.exports=function(){\"use strict\";function e(t){return e=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},e(t)}function t(e,r){return t=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},t(e,r)}function r(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}function n(e,o,i){return n=r()?Reflect.construct:function(e,r,n){var o=[null];o.push.apply(o,r);var i=new(Function.bind.apply(e,o));return n&&t(i,n.prototype),i},n.apply(null,arguments)}function o(e){return function(e){if(Array.isArray(e))return i(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(e){if(\"string\"==typeof e)return i(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===r&&e.constructor&&(r=e.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(e):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(e,t):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function i(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r1?r-1:0),o=1;o/gm),G=p(/^data-[\\-\\w.\\u00B7-\\uFFFF]/),W=p(/^aria-[\\-\\w]+$/),V=p(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i),Y=p(/^(?:\\w+script|data):/i),K=p(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g),Z=p(/^html$/i),J=function(){return\"undefined\"==typeof window?null:window},X=function(t,r){if(\"object\"!==e(t)||\"function\"!=typeof t.createPolicy)return null;var n=null,o=\"data-tt-policy-suffix\";r.currentScript&&r.currentScript.hasAttribute(o)&&(n=r.currentScript.getAttribute(o));var i=\"dompurify\"+(n?\"#\"+n:\"\");try{return t.createPolicy(i,{createHTML:function(e){return e}})}catch(e){return console.warn(\"TrustedTypes policy \"+i+\" could not be created.\"),null}};return function t(){var r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:J(),n=function(e){return t(e)};if(n.version=\"2.3.9\",n.removed=[],!r||!r.document||9!==r.document.nodeType)return n.isSupported=!1,n;var i=r.document,a=r.document,s=r.DocumentFragment,l=r.HTMLTemplateElement,c=r.Node,u=r.Element,p=r.NodeFilter,d=r.NamedNodeMap,h=void 0===d?r.NamedNodeMap||r.MozNamedAttrMap:d,m=r.HTMLFormElement,y=r.DOMParser,g=r.trustedTypes,R=u.prototype,Q=I(R,\"cloneNode\"),ee=I(R,\"nextSibling\"),te=I(R,\"childNodes\"),re=I(R,\"parentNode\");if(\"function\"==typeof l){var ne=a.createElement(\"template\");ne.content&&ne.content.ownerDocument&&(a=ne.content.ownerDocument)}var oe=X(g,i),ie=oe?oe.createHTML(\"\"):\"\",ae=a,se=ae.implementation,le=ae.createNodeIterator,ce=ae.createDocumentFragment,ue=ae.getElementsByTagName,fe=i.importNode,pe={};try{pe=O(a).documentMode?a.documentMode:{}}catch(e){}var de={};n.isSupported=\"function\"==typeof re&&se&&void 0!==se.createHTMLDocument&&9!==pe;var he,me,ye=q,ge=H,ve=G,be=W,Ae=Y,we=K,_e=V,Se=null,Ce=T({},[].concat(o(N),o(L),o(P),o(D),o(U))),ke=null,xe=T({},[].concat(o(F),o(z),o(B),o($))),Ee=Object.seal(Object.create(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Re=null,Te=null,Oe=!0,Ie=!0,Ne=!1,Le=!1,Pe=!1,je=!1,De=!1,Me=!1,Ue=!1,Fe=!1,ze=!0,Be=!0,$e=!1,qe={},He=null,Ge=T({},[\"annotation-xml\",\"audio\",\"colgroup\",\"desc\",\"foreignobject\",\"head\",\"iframe\",\"math\",\"mi\",\"mn\",\"mo\",\"ms\",\"mtext\",\"noembed\",\"noframes\",\"noscript\",\"plaintext\",\"script\",\"style\",\"svg\",\"template\",\"thead\",\"title\",\"video\",\"xmp\"]),We=null,Ve=T({},[\"audio\",\"video\",\"img\",\"source\",\"image\",\"track\"]),Ye=null,Ke=T({},[\"alt\",\"class\",\"for\",\"id\",\"label\",\"name\",\"pattern\",\"placeholder\",\"role\",\"summary\",\"title\",\"value\",\"style\",\"xmlns\"]),Ze=\"http://www.w3.org/1998/Math/MathML\",Je=\"http://www.w3.org/2000/svg\",Xe=\"http://www.w3.org/1999/xhtml\",Qe=Xe,et=!1,tt=[\"application/xhtml+xml\",\"text/html\"],rt=\"text/html\",nt=null,ot=a.createElement(\"form\"),it=function(e){return e instanceof RegExp||e instanceof Function},at=function(t){nt&&nt===t||(t&&\"object\"===e(t)||(t={}),t=O(t),he=he=-1===tt.indexOf(t.PARSER_MEDIA_TYPE)?rt:t.PARSER_MEDIA_TYPE,me=\"application/xhtml+xml\"===he?function(e){return e}:w,Se=\"ALLOWED_TAGS\"in t?T({},t.ALLOWED_TAGS,me):Ce,ke=\"ALLOWED_ATTR\"in t?T({},t.ALLOWED_ATTR,me):xe,Ye=\"ADD_URI_SAFE_ATTR\"in t?T(O(Ke),t.ADD_URI_SAFE_ATTR,me):Ke,We=\"ADD_DATA_URI_TAGS\"in t?T(O(Ve),t.ADD_DATA_URI_TAGS,me):Ve,He=\"FORBID_CONTENTS\"in t?T({},t.FORBID_CONTENTS,me):Ge,Re=\"FORBID_TAGS\"in t?T({},t.FORBID_TAGS,me):{},Te=\"FORBID_ATTR\"in t?T({},t.FORBID_ATTR,me):{},qe=\"USE_PROFILES\"in t&&t.USE_PROFILES,Oe=!1!==t.ALLOW_ARIA_ATTR,Ie=!1!==t.ALLOW_DATA_ATTR,Ne=t.ALLOW_UNKNOWN_PROTOCOLS||!1,Le=t.SAFE_FOR_TEMPLATES||!1,Pe=t.WHOLE_DOCUMENT||!1,Me=t.RETURN_DOM||!1,Ue=t.RETURN_DOM_FRAGMENT||!1,Fe=t.RETURN_TRUSTED_TYPE||!1,De=t.FORCE_BODY||!1,ze=!1!==t.SANITIZE_DOM,Be=!1!==t.KEEP_CONTENT,$e=t.IN_PLACE||!1,_e=t.ALLOWED_URI_REGEXP||_e,Qe=t.NAMESPACE||Xe,t.CUSTOM_ELEMENT_HANDLING&&it(t.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Ee.tagNameCheck=t.CUSTOM_ELEMENT_HANDLING.tagNameCheck),t.CUSTOM_ELEMENT_HANDLING&&it(t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Ee.attributeNameCheck=t.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),t.CUSTOM_ELEMENT_HANDLING&&\"boolean\"==typeof t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Ee.allowCustomizedBuiltInElements=t.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Le&&(Ie=!1),Ue&&(Me=!0),qe&&(Se=T({},o(U)),ke=[],!0===qe.html&&(T(Se,N),T(ke,F)),!0===qe.svg&&(T(Se,L),T(ke,z),T(ke,$)),!0===qe.svgFilters&&(T(Se,P),T(ke,z),T(ke,$)),!0===qe.mathMl&&(T(Se,D),T(ke,B),T(ke,$))),t.ADD_TAGS&&(Se===Ce&&(Se=O(Se)),T(Se,t.ADD_TAGS,me)),t.ADD_ATTR&&(ke===xe&&(ke=O(ke)),T(ke,t.ADD_ATTR,me)),t.ADD_URI_SAFE_ATTR&&T(Ye,t.ADD_URI_SAFE_ATTR,me),t.FORBID_CONTENTS&&(He===Ge&&(He=O(He)),T(He,t.FORBID_CONTENTS,me)),Be&&(Se[\"#text\"]=!0),Pe&&T(Se,[\"html\",\"head\",\"body\"]),Se.table&&(T(Se,[\"tbody\"]),delete Re.tbody),f&&f(t),nt=t)},st=T({},[\"mi\",\"mo\",\"mn\",\"ms\",\"mtext\"]),lt=T({},[\"foreignobject\",\"desc\",\"title\",\"annotation-xml\"]),ct=T({},[\"title\",\"style\",\"font\",\"a\",\"script\"]),ut=T({},L);T(ut,P),T(ut,j);var ft=T({},D);T(ft,M);var pt=function(e){var t=re(e);t&&t.tagName||(t={namespaceURI:Xe,tagName:\"template\"});var r=w(e.tagName),n=w(t.tagName);return e.namespaceURI===Je?t.namespaceURI===Xe?\"svg\"===r:t.namespaceURI===Ze?\"svg\"===r&&(\"annotation-xml\"===n||st[n]):Boolean(ut[r]):e.namespaceURI===Ze?t.namespaceURI===Xe?\"math\"===r:t.namespaceURI===Je?\"math\"===r&<[n]:Boolean(ft[r]):e.namespaceURI===Xe&&!(t.namespaceURI===Je&&!lt[n])&&!(t.namespaceURI===Ze&&!st[n])&&!ft[r]&&(ct[r]||!ut[r])},dt=function(e){A(n.removed,{element:e});try{e.parentNode.removeChild(e)}catch(t){try{e.outerHTML=ie}catch(t){e.remove()}}},ht=function(e,t){try{A(n.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){A(n.removed,{attribute:null,from:t})}if(t.removeAttribute(e),\"is\"===e&&!ke[e])if(Me||Ue)try{dt(t)}catch(e){}else try{t.setAttribute(e,\"\")}catch(e){}},mt=function(e){var t,r;if(De)e=\" \"+e;else{var n=_(e,/^[\\r\\n\\t ]+/);r=n&&n[0]}\"application/xhtml+xml\"===he&&(e=''+e+\"\");var o=oe?oe.createHTML(e):e;if(Qe===Xe)try{t=(new y).parseFromString(o,he)}catch(e){}if(!t||!t.documentElement){t=se.createDocument(Qe,\"template\",null);try{t.documentElement.innerHTML=et?\"\":o}catch(e){}}var i=t.body||t.documentElement;return e&&r&&i.insertBefore(a.createTextNode(r),i.childNodes[0]||null),Qe===Xe?ue.call(t,Pe?\"html\":\"body\")[0]:Pe?t.documentElement:i},yt=function(e){return le.call(e.ownerDocument||e,e,p.SHOW_ELEMENT|p.SHOW_COMMENT|p.SHOW_TEXT,null,!1)},gt=function(e){return e instanceof m&&(\"string\"!=typeof e.nodeName||\"string\"!=typeof e.textContent||\"function\"!=typeof e.removeChild||!(e.attributes instanceof h)||\"function\"!=typeof e.removeAttribute||\"function\"!=typeof e.setAttribute||\"string\"!=typeof e.namespaceURI||\"function\"!=typeof e.insertBefore)},vt=function(t){return\"object\"===e(c)?t instanceof c:t&&\"object\"===e(t)&&\"number\"==typeof t.nodeType&&\"string\"==typeof t.nodeName},bt=function(e,t,r){de[e]&&v(de[e],(function(e){e.call(n,t,r,nt)}))},At=function(e){var t;if(bt(\"beforeSanitizeElements\",e,null),gt(e))return dt(e),!0;if(x(/[\\u0080-\\uFFFF]/,e.nodeName))return dt(e),!0;var r=me(e.nodeName);if(bt(\"uponSanitizeElement\",e,{tagName:r,allowedTags:Se}),e.hasChildNodes()&&!vt(e.firstElementChild)&&(!vt(e.content)||!vt(e.content.firstElementChild))&&x(/<[/\\w]/g,e.innerHTML)&&x(/<[/\\w]/g,e.textContent))return dt(e),!0;if(\"select\"===r&&x(/=0;--a)o.insertBefore(Q(i[a],!0),ee(e))}return dt(e),!0}return e instanceof u&&!pt(e)?(dt(e),!0):\"noscript\"!==r&&\"noembed\"!==r||!x(/<\\/no(script|embed)/i,e.innerHTML)?(Le&&3===e.nodeType&&(t=e.textContent,t=S(t,ye,\" \"),t=S(t,ge,\" \"),e.textContent!==t&&(A(n.removed,{element:e.cloneNode()}),e.textContent=t)),bt(\"afterSanitizeElements\",e,null),!1):(dt(e),!0)},wt=function(e,t,r){if(ze&&(\"id\"===t||\"name\"===t)&&(r in a||r in ot))return!1;if(Ie&&!Te[t]&&x(ve,t));else if(Oe&&x(be,t));else if(!ke[t]||Te[t]){if(!(_t(e)&&(Ee.tagNameCheck instanceof RegExp&&x(Ee.tagNameCheck,e)||Ee.tagNameCheck instanceof Function&&Ee.tagNameCheck(e))&&(Ee.attributeNameCheck instanceof RegExp&&x(Ee.attributeNameCheck,t)||Ee.attributeNameCheck instanceof Function&&Ee.attributeNameCheck(t))||\"is\"===t&&Ee.allowCustomizedBuiltInElements&&(Ee.tagNameCheck instanceof RegExp&&x(Ee.tagNameCheck,r)||Ee.tagNameCheck instanceof Function&&Ee.tagNameCheck(r))))return!1}else if(Ye[t]);else if(x(_e,S(r,we,\"\")));else if(\"src\"!==t&&\"xlink:href\"!==t&&\"href\"!==t||\"script\"===e||0!==C(r,\"data:\")||!We[e])if(Ne&&!x(Ae,S(r,we,\"\")));else if(r)return!1;return!0},_t=function(e){return e.indexOf(\"-\")>0},St=function(e){var t,r,o,i;bt(\"beforeSanitizeAttributes\",e,null);var a=e.attributes;if(a){var s={attrName:\"\",attrValue:\"\",keepAttr:!0,allowedAttributes:ke};for(i=a.length;i--;){var l=t=a[i],c=l.name,u=l.namespaceURI;if(r=\"value\"===c?t.value:k(t.value),o=me(c),s.attrName=o,s.attrValue=r,s.keepAttr=!0,s.forceKeepAttr=void 0,bt(\"uponSanitizeAttribute\",e,s),r=s.attrValue,!s.forceKeepAttr&&(ht(c,e),s.keepAttr))if(x(/\\/>/i,r))ht(c,e);else{Le&&(r=S(r,ye,\" \"),r=S(r,ge,\" \"));var f=me(e.nodeName);if(wt(f,o,r))try{u?e.setAttributeNS(u,c,r):e.setAttribute(c,r),b(n.removed)}catch(e){}}}bt(\"afterSanitizeAttributes\",e,null)}},Ct=function e(t){var r,n=yt(t);for(bt(\"beforeSanitizeShadowDOM\",t,null);r=n.nextNode();)bt(\"uponSanitizeShadowNode\",r,null),At(r)||(r.content instanceof s&&e(r.content),St(r));bt(\"afterSanitizeShadowDOM\",t,null)};return n.sanitize=function(t,o){var a,l,u,f,p;if((et=!t)&&(t=\"\\x3c!--\\x3e\"),\"string\"!=typeof t&&!vt(t)){if(\"function\"!=typeof t.toString)throw E(\"toString is not a function\");if(\"string\"!=typeof(t=t.toString()))throw E(\"dirty is not a string, aborting\")}if(!n.isSupported){if(\"object\"===e(r.toStaticHTML)||\"function\"==typeof r.toStaticHTML){if(\"string\"==typeof t)return r.toStaticHTML(t);if(vt(t))return r.toStaticHTML(t.outerHTML)}return t}if(je||at(o),n.removed=[],\"string\"==typeof t&&($e=!1),$e){if(t.nodeName){var d=me(t.nodeName);if(!Se[d]||Re[d])throw E(\"root node is forbidden and cannot be sanitized in-place\")}}else if(t instanceof c)1===(l=(a=mt(\"\\x3c!----\\x3e\")).ownerDocument.importNode(t,!0)).nodeType&&\"BODY\"===l.nodeName||\"HTML\"===l.nodeName?a=l:a.appendChild(l);else{if(!Me&&!Le&&!Pe&&-1===t.indexOf(\"<\"))return oe&&Fe?oe.createHTML(t):t;if(!(a=mt(t)))return Me?null:Fe?ie:\"\"}a&&De&&dt(a.firstChild);for(var h=yt($e?t:a);u=h.nextNode();)3===u.nodeType&&u===f||At(u)||(u.content instanceof s&&Ct(u.content),St(u),f=u);if(f=null,$e)return t;if(Me){if(Ue)for(p=ce.call(a.ownerDocument);a.firstChild;)p.appendChild(a.firstChild);else p=a;return ke.shadowroot&&(p=fe.call(i,p,!0)),p}var m=Pe?a.outerHTML:a.innerHTML;return Pe&&Se[\"!doctype\"]&&a.ownerDocument&&a.ownerDocument.doctype&&a.ownerDocument.doctype.name&&x(Z,a.ownerDocument.doctype.name)&&(m=\"\\n\"+m),Le&&(m=S(m,ye,\" \"),m=S(m,ge,\" \")),oe&&Fe?oe.createHTML(m):m},n.setConfig=function(e){at(e),je=!0},n.clearConfig=function(){nt=null,je=!1},n.isValidAttribute=function(e,t,r){nt||at({});var n=me(e),o=me(t);return wt(n,o,r)},n.addHook=function(e,t){\"function\"==typeof t&&(de[e]=de[e]||[],A(de[e],t))},n.removeHook=function(e){if(de[e])return b(de[e])},n.removeHooks=function(e){de[e]&&(de[e]=[])},n.removeAllHooks=function(){de={}},n}()}()},679:(e,t,r)=>{\"use strict\";var n=r(296),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return n.isMemo(e)?a:s[e.$$typeof]||o}s[n.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[n.Memo]=a;var c=Object.defineProperty,u=Object.getOwnPropertyNames,f=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,d=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,r,n){if(\"string\"!=typeof r){if(h){var o=d(r);o&&o!==h&&e(t,o,n)}var a=u(r);f&&(a=a.concat(f(r)));for(var s=l(t),m=l(r),y=0;y{\"use strict\";var r=\"function\"==typeof Symbol&&Symbol.for,n=r?Symbol.for(\"react.element\"):60103,o=r?Symbol.for(\"react.portal\"):60106,i=r?Symbol.for(\"react.fragment\"):60107,a=r?Symbol.for(\"react.strict_mode\"):60108,s=r?Symbol.for(\"react.profiler\"):60114,l=r?Symbol.for(\"react.provider\"):60109,c=r?Symbol.for(\"react.context\"):60110,u=r?Symbol.for(\"react.async_mode\"):60111,f=r?Symbol.for(\"react.concurrent_mode\"):60111,p=r?Symbol.for(\"react.forward_ref\"):60112,d=r?Symbol.for(\"react.suspense\"):60113,h=r?Symbol.for(\"react.suspense_list\"):60120,m=r?Symbol.for(\"react.memo\"):60115,y=r?Symbol.for(\"react.lazy\"):60116,g=r?Symbol.for(\"react.block\"):60121,v=r?Symbol.for(\"react.fundamental\"):60117,b=r?Symbol.for(\"react.responder\"):60118,A=r?Symbol.for(\"react.scope\"):60119;function w(e){if(\"object\"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case u:case f:case i:case s:case a:case d:return e;default:switch(e=e&&e.$$typeof){case c:case p:case y:case m:case l:return e;default:return t}}case o:return t}}}function _(e){return w(e)===f}t.AsyncMode=u,t.ConcurrentMode=f,t.ContextConsumer=c,t.ContextProvider=l,t.Element=n,t.ForwardRef=p,t.Fragment=i,t.Lazy=y,t.Memo=m,t.Portal=o,t.Profiler=s,t.StrictMode=a,t.Suspense=d,t.isAsyncMode=function(e){return _(e)||w(e)===u},t.isConcurrentMode=_,t.isContextConsumer=function(e){return w(e)===c},t.isContextProvider=function(e){return w(e)===l},t.isElement=function(e){return\"object\"==typeof e&&null!==e&&e.$$typeof===n},t.isForwardRef=function(e){return w(e)===p},t.isFragment=function(e){return w(e)===i},t.isLazy=function(e){return w(e)===y},t.isMemo=function(e){return w(e)===m},t.isPortal=function(e){return w(e)===o},t.isProfiler=function(e){return w(e)===s},t.isStrictMode=function(e){return w(e)===a},t.isSuspense=function(e){return w(e)===d},t.isValidElementType=function(e){return\"string\"==typeof e||\"function\"==typeof e||e===i||e===f||e===s||e===a||e===d||e===h||\"object\"==typeof e&&null!==e&&(e.$$typeof===y||e.$$typeof===m||e.$$typeof===l||e.$$typeof===c||e.$$typeof===p||e.$$typeof===v||e.$$typeof===b||e.$$typeof===A||e.$$typeof===g)},t.typeOf=w},296:(e,t,r)=>{\"use strict\";e.exports=r(103)},460:function(e,t){var r,n;r=function e(){\"use strict\";var t=\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:void 0!==t?t:{},r=!t.document&&!!t.postMessage,n=r&&/blob:/i.test((t.location||{}).protocol),o={},i=0,a={parse:function(r,n){var s=(n=n||{}).dynamicTyping||!1;if(w(s)&&(n.dynamicTypingFunction=s,s={}),n.dynamicTyping=s,n.transform=!!w(n.transform)&&n.transform,n.worker&&a.WORKERS_SUPPORTED){var l=function(){if(!a.WORKERS_SUPPORTED)return!1;var r,n,s=(r=t.URL||t.webkitURL||null,n=e.toString(),a.BLOB_URL||(a.BLOB_URL=r.createObjectURL(new Blob([\"(\",n,\")();\"],{type:\"text/javascript\"})))),l=new t.Worker(s);return l.onmessage=y,l.id=i++,o[l.id]=l}();return l.userStep=n.step,l.userChunk=n.chunk,l.userComplete=n.complete,l.userError=n.error,n.step=w(n.step),n.chunk=w(n.chunk),n.complete=w(n.complete),n.error=w(n.error),delete n.worker,void l.postMessage({input:r,config:n,workerId:l.id})}var d=null;return a.NODE_STREAM_INPUT,\"string\"==typeof r?d=n.download?new c(n):new f(n):!0===r.readable&&w(r.read)&&w(r.on)?d=new p(n):(t.File&&r instanceof File||r instanceof Object)&&(d=new u(n)),d.stream(r)},unparse:function(e,t){var r=!1,n=!0,o=\",\",i=\"\\r\\n\",s='\"',l=s+s,c=!1,u=null,f=!1;!function(){if(\"object\"==typeof t){if(\"string\"!=typeof t.delimiter||a.BAD_DELIMITERS.filter((function(e){return-1!==t.delimiter.indexOf(e)})).length||(o=t.delimiter),(\"boolean\"==typeof t.quotes||\"function\"==typeof t.quotes||Array.isArray(t.quotes))&&(r=t.quotes),\"boolean\"!=typeof t.skipEmptyLines&&\"string\"!=typeof t.skipEmptyLines||(c=t.skipEmptyLines),\"string\"==typeof t.newline&&(i=t.newline),\"string\"==typeof t.quoteChar&&(s=t.quoteChar),\"boolean\"==typeof t.header&&(n=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw new Error(\"Option columns is empty\");u=t.columns}void 0!==t.escapeChar&&(l=t.escapeChar+s),(\"boolean\"==typeof t.escapeFormulae||t.escapeFormulae instanceof RegExp)&&(f=t.escapeFormulae instanceof RegExp?t.escapeFormulae:/^[=+\\-@\\t\\r].*$/)}}();var p=new RegExp(h(s),\"g\");if(\"string\"==typeof e&&(e=JSON.parse(e)),Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return d(null,e,c);if(\"object\"==typeof e[0])return d(u||Object.keys(e[0]),e,c)}else if(\"object\"==typeof e)return\"string\"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||u),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:\"object\"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||\"object\"==typeof e.data[0]||(e.data=[e.data])),d(e.fields||[],e.data||[],c);throw new Error(\"Unable to serialize unrecognized input\");function d(e,t,r){var a=\"\";\"string\"==typeof e&&(e=JSON.parse(e)),\"string\"==typeof t&&(t=JSON.parse(t));var s=Array.isArray(e)&&0=this._config.preview;if(n)t.postMessage({results:s,workerId:a.WORKER_ID,finished:c});else if(w(this._config.chunk)&&!r){if(this._config.chunk(s,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);s=void 0,this._completeResults=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(s.data),this._completeResults.errors=this._completeResults.errors.concat(s.errors),this._completeResults.meta=s.meta),this._completed||!c||!w(this._config.complete)||s&&s.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),c||s&&s.meta.paused||this._nextChunk(),s}this._halted=!0},this._sendError=function(e){w(this._config.error)?this._config.error(e):n&&this._config.error&&t.postMessage({workerId:a.WORKER_ID,error:e,finished:!1})}}function c(e){var t;(e=e||{}).chunkSize||(e.chunkSize=a.RemoteChunkSize),l.call(this,e),this._nextChunk=r?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(t=new XMLHttpRequest,this._config.withCredentials&&(t.withCredentials=this._config.withCredentials),r||(t.onload=A(this._chunkLoaded,this),t.onerror=A(this._chunkError,this)),t.open(this._config.downloadRequestBody?\"POST\":\"GET\",this._input,!r),this._config.downloadRequestHeaders){var e=this._config.downloadRequestHeaders;for(var n in e)t.setRequestHeader(n,e[n])}if(this._config.chunkSize){var o=this._start+this._config.chunkSize-1;t.setRequestHeader(\"Range\",\"bytes=\"+this._start+\"-\"+o)}try{t.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}r&&0===t.status&&this._chunkError()}},this._chunkLoaded=function(){4===t.readyState&&(t.status<200||400<=t.status?this._chunkError():(this._start+=this._config.chunkSize?this._config.chunkSize:t.responseText.length,this._finished=!this._config.chunkSize||this._start>=function(e){var t=e.getResponseHeader(\"Content-Range\");return null===t?-1:parseInt(t.substring(t.lastIndexOf(\"/\")+1))}(t),this.parseChunk(t.responseText)))},this._chunkError=function(e){var r=t.statusText||e;this._sendError(new Error(r))}}function u(e){var t,r;(e=e||{}).chunkSize||(e.chunkSize=a.LocalChunkSize),l.call(this,e);var n=\"undefined\"!=typeof FileReader;this.stream=function(e){this._input=e,r=e.slice||e.webkitSlice||e.mozSlice,n?((t=new FileReader).onload=A(this._chunkLoaded,this),t.onerror=A(this._chunkError,this)):t=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(t.error)}}function f(e){var t;l.call(this,e=e||{}),this.stream=function(e){return t=e,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var e,r=this._config.chunkSize;return r?(e=t.substring(0,r),t=t.substring(r)):(e=t,t=\"\"),this._finished=!t,this.parseChunk(e)}}}function p(e){l.call(this,e=e||{});var t=[],r=!0,n=!1;this.pause=function(){l.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){l.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on(\"data\",this._streamData),this._input.on(\"end\",this._streamEnd),this._input.on(\"error\",this._streamError)},this._checkIsFinished=function(){n&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):r=!0},this._streamData=A((function(e){try{t.push(\"string\"==typeof e?e:e.toString(this._config.encoding)),r&&(r=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}}),this),this._streamError=A((function(e){this._streamCleanUp(),this._sendError(e)}),this),this._streamEnd=A((function(){this._streamCleanUp(),n=!0,this._streamData(\"\")}),this),this._streamCleanUp=A((function(){this._input.removeListener(\"data\",this._streamData),this._input.removeListener(\"end\",this._streamEnd),this._input.removeListener(\"error\",this._streamError)}),this)}function d(e){var t,r,n,o=Math.pow(2,53),i=-o,s=/^\\s*-?(\\d+\\.?|\\.\\d+|\\d+\\.\\d+)([eE][-+]?\\d+)?\\s*$/,l=/^(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d\\.\\d+([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))|(\\d{4}-[01]\\d-[0-3]\\dT[0-2]\\d:[0-5]\\d([+-][0-2]\\d:[0-5]\\d|Z))$/,c=this,u=0,f=0,p=!1,d=!1,y=[],g={data:[],errors:[],meta:{}};if(w(e.step)){var v=e.step;e.step=function(t){if(g=t,S())_();else{if(_(),0===g.data.length)return;u+=t.data.length,e.preview&&u>e.preview?r.abort():(g.data=g.data[0],v(g,c))}}}function A(t){return\"greedy\"===e.skipEmptyLines?\"\"===t.join(\"\").trim():1===t.length&&0===t[0].length}function _(){return g&&n&&(k(\"Delimiter\",\"UndetectableDelimiter\",\"Unable to auto-detect delimiting character; defaulted to '\"+a.DefaultDelimiter+\"'\"),n=!1),e.skipEmptyLines&&(g.data=g.data.filter((function(e){return!A(e)}))),S()&&function(){if(g)if(Array.isArray(g.data[0])){for(var t=0;S()&&t=y.length?\"__parsed_extra\":y[n]),e.transform&&(a=e.transform(a,i)),a=C(i,a),\"__parsed_extra\"===i?(o[i]=o[i]||[],o[i].push(a)):o[i]=a}return e.header&&(n>y.length?k(\"FieldMismatch\",\"TooManyFields\",\"Too many fields: expected \"+y.length+\" fields but parsed \"+n,f+r):n=n.length/2?\"\\r\\n\":\"\\r\"}(o,l)),n=!1,e.delimiter)w(e.delimiter)&&(e.delimiter=e.delimiter(o),g.meta.delimiter=e.delimiter);else{var c=function(t,r,n,o,i){var s,l,c,u;i=i||[\",\",\"\\t\",\"|\",\";\",a.RECORD_SEP,a.UNIT_SEP];for(var f=0;f=s)return D(!0)}else for(T=u,u++;;){if(-1===(T=e.indexOf(t,T+1)))return p||A.push({type:\"Quotes\",code:\"MissingQuotes\",message:\"Quoted field unterminated\",row:b.length,index:u}),P();if(T===d-1)return P(e.substring(u,T).replace(R,t));if(t!==c||e[T+1]!==c){if(t===c||0===T||e[T-1]!==c){-1!==x&&x=s)return D(!0);break}A.push({type:\"Quotes\",code:\"InvalidQuotes\",message:\"Trailing quote on quoted field is malformed\",row:b.length,index:u}),T++}}else T++}return P();function N(e){b.push(e),S=u}function L(t){var r=0;if(-1!==t){var n=e.substring(T+1,t);n&&\"\"===n.trim()&&(r=n.length)}return r}function P(t){return p||(void 0===t&&(t=e.substring(u)),_.push(t),u=d,N(_),v&&M()),D()}function j(t){u=t,N(_),_=[],E=e.indexOf(n,u)}function D(e){return{data:b,errors:A,meta:{delimiter:r,linebreak:n,aborted:f,truncated:!!e,cursor:S+(a||0)}}}function M(){i(D()),b=[],A=[]}},this.abort=function(){f=!0},this.getCharIndex=function(){return u}}function y(e){var t=e.data,r=o[t.workerId],n=!1;if(t.error)r.userError(t.error,t.file);else if(t.results&&t.results.data){var i={abort:function(){n=!0,g(t.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:v,resume:v};if(w(r.userStep)){for(var a=0;a{\"use strict\";var n=r(414);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,r,o,i,a){if(a!==n){var s=new Error(\"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types\");throw s.name=\"Invariant Violation\",s}}function t(){return e}e.isRequired=e;var r={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return r.PropTypes=r,r}},697:(e,t,r)=>{e.exports=r(703)()},414:e=>{\"use strict\";e.exports=\"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED\"},921:(e,t)=>{\"use strict\";var r,n=Symbol.for(\"react.element\"),o=Symbol.for(\"react.portal\"),i=Symbol.for(\"react.fragment\"),a=Symbol.for(\"react.strict_mode\"),s=Symbol.for(\"react.profiler\"),l=Symbol.for(\"react.provider\"),c=Symbol.for(\"react.context\"),u=Symbol.for(\"react.server_context\"),f=Symbol.for(\"react.forward_ref\"),p=Symbol.for(\"react.suspense\"),d=Symbol.for(\"react.suspense_list\"),h=Symbol.for(\"react.memo\"),m=Symbol.for(\"react.lazy\"),y=Symbol.for(\"react.offscreen\");r=Symbol.for(\"react.module.reference\"),t.isValidElementType=function(e){return\"string\"==typeof e||\"function\"==typeof e||e===i||e===s||e===a||e===p||e===d||e===y||\"object\"==typeof e&&null!==e&&(e.$$typeof===m||e.$$typeof===h||e.$$typeof===l||e.$$typeof===c||e.$$typeof===f||e.$$typeof===r||void 0!==e.getModuleId)},t.typeOf=function(e){if(\"object\"==typeof e&&null!==e){var t=e.$$typeof;switch(t){case n:switch(e=e.type){case i:case s:case a:case p:case d:return e;default:switch(e=e&&e.$$typeof){case u:case c:case f:case m:case h:case l:return e;default:return t}}case o:return t}}}},864:(e,t,r)=>{\"use strict\";e.exports=r(921)},774:e=>{e.exports=function(e,t,r,n){var o=r?r.call(n,e,t):void 0;if(void 0!==o)return!!o;if(e===t)return!0;if(\"object\"!=typeof e||!e||\"object\"!=typeof t||!t)return!1;var i=Object.keys(e),a=Object.keys(t);if(i.length!==a.length)return!1;for(var s=Object.prototype.hasOwnProperty.bind(t),l=0;l{\"use strict\";var t=[];function r(e){for(var r=-1,n=0;n{\"use strict\";var t={};e.exports=function(e,r){var n=function(e){if(void 0===t[e]){var r=document.querySelector(e);if(window.HTMLIFrameElement&&r instanceof window.HTMLIFrameElement)try{r=r.contentDocument.head}catch(e){r=null}t[e]=r}return t[e]}(e);if(!n)throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");n.appendChild(r)}},216:e=>{\"use strict\";e.exports=function(e){var t=document.createElement(\"style\");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}},565:(e,t,r)=>{\"use strict\";e.exports=function(e){var t=r.nc;t&&e.setAttribute(\"nonce\",t)}},795:e=>{\"use strict\";e.exports=function(e){var t=e.insertStyleElement(e);return{update:function(r){!function(e,t,r){var n=\"\";r.supports&&(n+=\"@supports (\".concat(r.supports,\") {\")),r.media&&(n+=\"@media \".concat(r.media,\" {\"));var o=void 0!==r.layer;o&&(n+=\"@layer\".concat(r.layer.length>0?\" \".concat(r.layer):\"\",\" {\")),n+=r.css,o&&(n+=\"}\"),r.media&&(n+=\"}\"),r.supports&&(n+=\"}\");var i=r.sourceMap;i&&\"undefined\"!=typeof btoa&&(n+=\"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i)))),\" */\")),t.styleTagTransform(n,e,t.options)}(t,e,r)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},589:e=>{\"use strict\";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}}},t={};function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={id:n,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r.r=e=>{\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.nc=void 0;var n={};return(()=>{\"use strict\";r.r(n),r.d(n,{AudioPicker:()=>De,CSVUploader:()=>Qe,Checkboxes:()=>Be,ImagePicker:()=>nt,MediaPicker:()=>ct,PostSelector:()=>mt,SafeHtml:()=>dt,Selector:()=>Rr,TermSelector:()=>Or,VideoPicker:()=>Pr,getMediaUrl:()=>We,parseCSVFile:()=>Ge,useDebounce:()=>It,useHasInnerBlocks:()=>Nt,useInnerBlocks:()=>Pt,useInnerBlocksAttributes:()=>jt,useInnerBlocksCount:()=>Dt,useInnerBlocksIndex:()=>Lt,useMedia:()=>Mt,useParentBlock:()=>Ut,useParentBlockAttributes:()=>Ft,usePost:()=>zt,usePostMeta:()=>Wt,usePostMetaValue:()=>Xt,usePosts:()=>Qt,useTerms:()=>rr});var e=r(697),t=r.n(e),o=r(864);const i=window.React;var a=r.n(i),s=r(774),l=r.n(s);const c=function(e){function t(e,n,l,c,p){for(var d,h,m,y,A,_=0,S=0,C=0,k=0,x=0,N=0,P=m=d=0,D=0,M=0,U=0,F=0,z=l.length,B=z-1,$=\"\",q=\"\",H=\"\",G=\"\";Dd)&&(F=($=$.replace(\" \",\":\")).length),0n&&(n=(t=t.trim()).charCodeAt(0)),n){case 38:return t.replace(y,\"$1\"+e.trim());case 58:return e.trim()+t.replace(y,\"$1\"+e.trim());default:if(0<1*r&&0l.charCodeAt(8))break;case 115:a=a.replace(l,\"-webkit-\"+l)+\";\"+a;break;case 207:case 102:a=a.replace(l,\"-webkit-\"+(102n.charCodeAt(0)&&(n=n.trim()),n=[n],01?t-1:0),n=1;n0?\" Args: \"+r.join(\", \"):\"\"))}var E=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,r=0;r=this.groupSizes.length){for(var r=this.groupSizes,n=r.length,o=n;e>=o;)(o<<=1)<0&&x(16,\"\"+e);this.groupSizes=new Uint32Array(o),this.groupSizes.set(r),this.length=o;for(var i=n;i=this.length||0===this.groupSizes[e])return t;for(var r=this.groupSizes[e],n=this.indexOfGroup(e),o=n+r,i=n;i=O&&(O=t+1),R.set(e,t),T.set(t,e)},P=\"style[\"+S+'][data-styled-version=\"5.3.5\"]',j=new RegExp(\"^\"+S+'\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)'),D=function(e,t,r){for(var n,o=r.split(\",\"),i=0,a=o.length;i=0;r--){var n=t[r];if(n&&1===n.nodeType&&n.hasAttribute(S))return n}}(r),i=void 0!==o?o.nextSibling:null;n.setAttribute(S,\"active\"),n.setAttribute(\"data-styled-version\",\"5.3.5\");var a=U();return a&&n.setAttribute(\"nonce\",a),r.insertBefore(n,i),n},z=function(){function e(e){var t=this.element=F(e);t.appendChild(document.createTextNode(\"\")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,r=0,n=t.length;r=0){var r=document.createTextNode(t),n=this.nodes[e];return this.element.insertBefore(r,n||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e0&&(c+=e+\",\")})),n+=\"\"+s+l+'{content:\"'+c+'\"}/*!sc*/\\n'}}}return n}(this)},e}(),W=/(a)(d)/gi,V=function(e){return String.fromCharCode(e+(e>25?39:97))};function Y(e){var t,r=\"\";for(t=Math.abs(e);t>52;t=t/52|0)r=V(t%52)+r;return(V(t%52)+r).replace(W,\"$1-$2\")}var K=function(e,t){for(var r=t.length;r;)e=33*e^t.charCodeAt(--r);return e},Z=function(e){return K(5381,e)};function J(e){for(var t=0;t>>0);if(!t.hasNameForId(n,a)){var s=r(i,\".\"+a,void 0,n);t.insertRules(n,a,s)}o.push(a),this.staticRulesId=a}else{for(var l=this.rules.length,c=K(this.baseHash,r.hash),u=\"\",f=0;f>>0);if(!t.hasNameForId(n,m)){var y=r(u,\".\"+m,void 0,n);t.insertRules(n,m,y)}o.push(m)}}return o.join(\" \")},e}(),ee=/^\\s*\\/\\/.*$/gm,te=[\":\",\"[\",\".\",\"#\"];function re(e){var t,r,n,o,i=void 0===e?b:e,a=i.options,s=void 0===a?b:a,l=i.plugins,u=void 0===l?v:l,f=new c(s),p=[],d=function(e){function t(t){if(t)try{e(t+\"}\")}catch(e){}}return function(r,n,o,i,a,s,l,c,u,f){switch(r){case 1:if(0===u&&64===n.charCodeAt(0))return e(n+\";\"),\"\";break;case 2:if(0===c)return n+\"/*|*/\";break;case 3:switch(c){case 102:case 112:return e(o[0]+n),\"\";default:return n+(0===f?\"/*|*/\":\"\")}case-2:n.split(\"/*|*/}\").forEach(t)}}}((function(e){p.push(e)})),h=function(e,n,i){return 0===n&&-1!==te.indexOf(i[r.length])||i.match(o)?e:\".\"+t};function m(e,i,a,s){void 0===s&&(s=\"&\");var l=e.replace(ee,\"\"),c=i&&a?a+\" \"+i+\" { \"+l+\" }\":l;return t=s,r=i,n=new RegExp(\"\\\\\"+r+\"\\\\b\",\"g\"),o=new RegExp(\"(\\\\\"+r+\"\\\\b){2,}\"),f(a||!i?\"\":i,c)}return f.use([].concat(u,[function(e,t,o){2===e&&o.length&&o[0].lastIndexOf(r)>0&&(o[0]=o[0].replace(n,h))},d,function(e){if(-2===e){var t=p;return p=[],t}}])),m.hash=u.length?u.reduce((function(e,t){return t.name||x(15),K(e,t.name)}),5381).toString():\"\",m}var ne=a().createContext(),oe=(ne.Consumer,a().createContext()),ie=(oe.Consumer,new G),ae=re();function se(){return(0,i.useContext)(ne)||ie}function le(e){var t=(0,i.useState)(e.stylisPlugins),r=t[0],n=t[1],o=se(),s=(0,i.useMemo)((function(){var t=o;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),c=(0,i.useMemo)((function(){return re({options:{prefix:!e.disableVendorPrefixes},plugins:r})}),[e.disableVendorPrefixes,r]);return(0,i.useEffect)((function(){l()(r,e.stylisPlugins)||n(e.stylisPlugins)}),[e.stylisPlugins]),a().createElement(ne.Provider,{value:s},a().createElement(oe.Provider,{value:c},e.children))}var ce=function(){function e(e,t){var r=this;this.inject=function(e,t){void 0===t&&(t=ae);var n=r.name+t.hash;e.hasNameForId(r.id,n)||e.insertRules(r.id,n,t(r.rules,n,\"@keyframes\"))},this.toString=function(){return x(12,String(r.name))},this.name=e,this.id=\"sc-keyframes-\"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=ae),this.name+e.hash},e}(),ue=/([A-Z])/,fe=/([A-Z])/g,pe=/^ms-/,de=function(e){return\"-\"+e.toLowerCase()};function he(e){return ue.test(e)?e.replace(fe,de).replace(pe,\"-ms-\"):e}var me=function(e){return null==e||!1===e||\"\"===e};function ye(e,t,r,n){if(Array.isArray(e)){for(var o,i=[],a=0,s=e.length;a1?t-1:0),n=1;n?@[\\\\\\]^`{|}~-]+/g,Ae=/(^-|-$)/g;function we(e){return e.replace(be,\"-\").replace(Ae,\"\")}function _e(e){return\"string\"==typeof e&&!0}var Se=function(e){return\"function\"==typeof e||\"object\"==typeof e&&null!==e&&!Array.isArray(e)},Ce=function(e){return\"__proto__\"!==e&&\"constructor\"!==e&&\"prototype\"!==e};function ke(e,t,r){var n=e[r];Se(t)&&Se(n)?xe(n,t):e[r]=t}function xe(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n>>0)}(\"5.3.5\"+r+Re[r]);return t?t+\"-\"+n:n}(t.displayName,t.parentComponentId):c,f=t.displayName,d=void 0===f?function(e){return _e(e)?\"styled.\"+e:\"Styled(\"+w(e)+\")\"}(e):f,y=t.displayName&&t.componentId?we(t.displayName)+\"-\"+t.componentId:t.componentId||u,g=n&&e.attrs?Array.prototype.concat(e.attrs,l).filter(Boolean):l,S=t.shouldForwardProp;n&&e.shouldForwardProp&&(S=t.shouldForwardProp?function(r,n,o){return e.shouldForwardProp(r,n,o)&&t.shouldForwardProp(r,n,o)}:e.shouldForwardProp);var C,k=new Q(r,y,n?e.componentStyle:void 0),x=k.isStatic&&0===l.length,E=function(e,t){return function(e,t,r,n){var o=e.attrs,a=e.componentStyle,s=e.defaultProps,l=e.foldedComponentIds,c=e.shouldForwardProp,u=e.styledComponentId,f=e.target,d=function(e,t,r){void 0===e&&(e=b);var n=m({},t,{theme:e}),o={};return r.forEach((function(e){var t,r,i,a=e;for(t in A(a)&&(a=a(n)),a)n[t]=o[t]=\"className\"===t?(r=o[t],i=a[t],r&&i?r+\" \"+i:r||i):a[t]})),[n,o]}(function(e,t,r){return void 0===r&&(r=b),e.theme!==r.theme&&e.theme||t||r.theme}(t,(0,i.useContext)(Ee),s)||b,t,o),h=d[0],y=d[1],g=function(e,t,r,n){var o=se(),a=(0,i.useContext)(oe)||ae;return t?e.generateAndInjectStyles(b,o,a):e.generateAndInjectStyles(r,o,a)}(a,n,h),v=r,w=y.$as||t.$as||y.as||t.as||f,_=_e(w),S=y!==t?m({},t,{},y):t,C={};for(var k in S)\"$\"!==k[0]&&\"as\"!==k&&(\"forwardedAs\"===k?C.as=S[k]:(c?c(k,p,w):!_||p(k))&&(C[k]=S[k]));return t.style&&y.style!==t.style&&(C.style=m({},t.style,{},y.style)),C.className=Array.prototype.concat(l,u,g!==u?g:null,t.className,y.className).filter(Boolean).join(\" \"),C.ref=v,(0,i.createElement)(w,C)}(C,e,t,x)};return E.displayName=d,(C=a().forwardRef(E)).attrs=g,C.componentStyle=k,C.displayName=d,C.shouldForwardProp=S,C.foldedComponentIds=n?Array.prototype.concat(e.foldedComponentIds,e.styledComponentId):v,C.styledComponentId=y,C.target=n?e.target:e,C.withComponent=function(e){var n=t.componentId,o=function(e,t){if(null==e)return{};var r,n,o={},i=Object.keys(e);for(n=0;n=0||(o[r]=e[r]);return o}(t,[\"componentId\"]),i=n&&n+\"-\"+(_e(e)?e:we(w(e)));return Te(e,m({},o,{attrs:g,componentId:i}),r)},Object.defineProperty(C,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=n?xe({},e.defaultProps,t):t}}),C.toString=function(){return\".\"+C.styledComponentId},o&&h()(C,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),C}var Oe,Ie=function(e){return function e(t,r,n){if(void 0===n&&(n=b),!(0,o.isValidElementType)(r))return x(1,String(r));var i=function(){return t(r,n,ve.apply(void 0,arguments))};return i.withConfig=function(o){return e(t,r,m({},n,{},o))},i.attrs=function(o){return e(t,r,m({},n,{attrs:Array.prototype.concat(n.attrs,o).filter(Boolean)}))},i}(Te,e)};[\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"big\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"marquee\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"track\",\"u\",\"ul\",\"var\",\"video\",\"wbr\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"marker\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"textPath\",\"tspan\"].forEach((function(e){Ie[e]=Ie(e)})),Oe=function(e,t){this.rules=e,this.componentId=t,this.isStatic=J(e),G.registerId(this.componentId+1)}.prototype,Oe.createStyles=function(e,t,r,n){var o=n(ye(this.rules,t,r,n).join(\"\"),\"\"),i=this.componentId+e;r.insertRules(i,i,o)},Oe.removeStyles=function(e,t){t.clearRules(this.componentId+e)},Oe.renderStyles=function(e,t,r,n){e>2&&G.registerId(this.componentId+e),this.removeStyles(e,r),this.createStyles(e,t,r,n)},function(){var e=function(){var e=this;this._emitSheetCSS=function(){var t=e.instance.toString();if(!t)return\"\";var r=U();return\"\"},this.getStyleTags=function(){return e.sealed?x(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return x(2);var r=((t={})[S]=\"\",t[\"data-styled-version\"]=\"5.3.5\",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),n=U();return n&&(r.nonce=n),[a().createElement(\"style\",m({},r,{key:\"sc-0-0\"}))]},this.seal=function(){e.sealed=!0},this.instance=new G({isServer:!0}),this.sealed=!1}.prototype;e.collectStyles=function(e){return this.sealed?x(2):a().createElement(le,{sheet:this.instance},e)},e.interleaveWithNodeStream=function(e){return x(3)}}();const Ne=Ie;var Le=Ne.div.withConfig({displayName:\"audio-picker__PreviewContainer\",componentId:\"sc-1ay7bsz-0\"})([\"height:auto;width:100%;\"]),Pe=function(e){var t=e.src;return React.createElement(Le,null,React.createElement(\"audio\",{className:\"edit-audio-preview\",controls:!0,src:t}))};Pe.propTypes={src:t().string.isRequired};var je=function(e){var t=e.className,r=e.onReset,n=e.onUpdate,o=e.onUpdateURL,i=e.value,a=e.valueURL;return React.createElement(ct,{allowedTypes:[\"audio\"],className:t,icon:\"format-audio\",onReset:r,onUpdate:n,onUpdateURL:o,preview:Pe,value:i,valueURL:a})};je.defaultProps={className:\"\",onUpdateURL:null,valueURL:\"\"},je.propTypes={className:t().string,onReset:t().func.isRequired,onUpdate:t().func.isRequired,onUpdateURL:t().func,value:t().number.isRequired,valueURL:t().string};const De=je,Me=window.wp.components;function Ue(e){return function(e){if(Array.isArray(e))return Fe(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||function(e,t){if(e){if(\"string\"==typeof e)return Fe(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===r&&e.constructor&&(r=e.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(e):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Fe(e,t):void 0}}(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Fe(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:\"full\",r=e.media_details,n=(r=void 0===r?{}:r).sizes,o=(n=void 0===n?{}:n)[t],i=(o=void 0===o?{}:o).source_url,a=void 0===i?\"\":i,s=n.full,l=(s=void 0===s?{}:s).source_url,c=void 0===l?\"\":l,u=e.sizes,f=(u=void 0===u?{}:u)[t],p=(f=void 0===f?{}:f).url,d=void 0===p?\"\":p,h=u.full,m=(h=void 0===h?{}:h).url,y=void 0===m?\"\":m,g=e.source_url,v=void 0===g?\"\":g,b=e.url,A=void 0===b?\"\":b;return d||a||y||c||A||v||\"\"};function Ve(e){return Ve=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},Ve(e)}function Ye(e,t){for(var r=0;r0?(t.setState({error:\"\",success:(0,$e.__)(\"Successfully read CSV data.\",\"alley-scripts\")}),i((r={},o=n,a=JSON.stringify(e),o in r?Object.defineProperty(r,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[o]=a,r))):t.setState({error:(0,$e.__)(\"Could not map CSV data. Please check the source file to ensure that it has the correct structure.\",\"alley-scripts\"),success:\"\"})})).catch((function(e){t.setState({error:e,success:\"\"})}))}},{key:\"render\",value:function(){var e=this.state,t=e.error,r=void 0===t?\"\":t,n=e.success,o=void 0===n?\"\":n;return React.createElement(\"div\",{className:\"alley-scripts-block-csv-uploader\"},React.createElement(\"h2\",null,(0,$e.__)(\"Upload CSV\",\"alley-scripts\")),React.createElement(\"form\",{onSubmit:this.handleSubmit},\"\"!==r?React.createElement(\"div\",{style:{color:\"#c00\"}},React.createElement(\"strong\",null,(0,$e.__)(\"Error:\",\"alley-scripts\")),\" \",r):null,\"\"!==o?React.createElement(\"div\",{style:{color:\"#0c0\"}},React.createElement(\"strong\",null,(0,$e.__)(\"Success:\",\"alley-scripts\")),\" \",o):null,React.createElement(\"div\",null,React.createElement(\"label\",{htmlFor:\"alley-scripts-block-csv-uploader-file\"},React.createElement(\"p\",null,(0,$e.__)(\"Select a file to load data.\",\"alley-scripts\")),React.createElement(\"input\",{id:\"alley-scripts-block-csv-uploader-file\",onChange:this.handleChange,type:\"file\"})))))}}])&&Ye(t.prototype,r),n&&Ye(t,n),Object.defineProperty(t,\"prototype\",{writable:!1}),s}();Qe.defaultProps={callback:null},Qe.propTypes={attributeName:t().string.isRequired,callback:t().func,setAttributes:t().func.isRequired};var et=Ne.div.withConfig({displayName:\"image-picker__PreviewContainer\",componentId:\"sc-5ky625-0\"})([\"box-sizing:border-box;flex-shrink:0;height:auto;max-height:1450px;max-width:1450px;min-height:20px;min-width:20px;position:relative;width:auto;\"]),tt=function(e){var t=e.src;return React.createElement(et,null,React.createElement(\"img\",{alt:(0,$e.__)(\"Edit image\",\"alley-scripts\"),className:\"edit-image-preview\",src:t,title:(0,$e.__)(\"Edit image\",\"alley-scripts\")}))};tt.propTypes={src:t().string.isRequired};var rt=function(e){var t=e.className,r=e.imageSize,n=e.displayControlsInToolbar,o=e.onReset,i=e.onUpdate,a=e.onUpdateURL,s=e.value,l=e.valueURL;return React.createElement(ct,{allowedTypes:[\"image\"],className:t,icon:\"format-image\",imageSize:r,displayControlsInToolbar:n,onReset:o,onUpdate:i,onUpdateURL:a,preview:tt,value:s,valueURL:l})};rt.defaultProps={className:\"\",imageSize:\"thumbnail\",displayControlsInToolbar:!1,onUpdateURL:null,valueURL:\"\"},rt.propTypes={className:t().string,imageSize:t().string,displayControlsInToolbar:t().bool,onReset:t().func.isRequired,onUpdate:t().func.isRequired,onUpdateURL:t().func,value:t().number.isRequired,valueURL:t().string};const nt=rt,ot=window.wp.blockEditor,it=window.wp.data;var at=Ne.div.withConfig({displayName:\"media-picker__Container\",componentId:\"sc-1nllfs2-0\"})([\"display:block;position:relative;\"]),st=Ne.div.withConfig({displayName:\"media-picker__DefaultPreview\",componentId:\"sc-1nllfs2-1\"})([\"background:white;border:1px solid black;padding:1em;\"]),lt=function(e){var t=e.allowedTypes,r=e.className,n=e.icon,o=e.imageSize,i=e.displayControlsInToolbar,a=e.onReset,s=e.onUpdate,l=e.onUpdateURL,c=e.preview,u=e.value,f=e.valueURL,p=(0,it.useSelect)((function(e){return{media:u?e(\"core\").getMedia(u):null}}),[u]).media,d=void 0===p?null:p;if(0!==u&&null===d)return React.createElement(Me.Spinner,null);var h=d?We(d,o):f;return h?React.createElement(at,{className:r},c?React.createElement(c,{src:h}):React.createElement(st,{className:\"alley-scripts-media-picker__preview\"},React.createElement(\"p\",null,(0,$e.__)(\"Selected file:\",\"alley-scripts\")),React.createElement(\"p\",null,React.createElement(\"a\",{href:h},h))),i?React.createElement(ot.BlockControls,{group:\"other\"},React.createElement(ot.MediaReplaceFlow,{name:(0,$e.__)(\"Edit Media\",\"alley-scripts\"),mediaId:u,mediaURL:h,allowedTypes:t,onSelect:s,onSelectURL:l},React.createElement(Me.ToolbarButton,{isDestructive:!0,text:(0,$e.__)(\"Remove\",\"alley-scripts\"),onClick:a}))):React.createElement(Me.Button,{isLarge:!0,isPrimary:!0,onClick:a},(0,$e.__)(\"Replace\",\"alley-scripts\"))):React.createElement(React.Fragment,null,React.createElement(at,{className:r},React.createElement(ot.MediaPlaceholder,{allowedTypes:t,disableMediaButtons:!!f,icon:React.createElement(ot.BlockIcon,{icon:n}),onSelect:s,onSelectURL:l,value:{id:u,src:h}})))};lt.defaultProps={allowedTypes:[],className:\"\",icon:\"format-aside\",imageSize:\"thumbnail\",displayControlsInToolbar:!1,onUpdateURL:null,preview:null,valueURL:\"\"},lt.propTypes={allowedTypes:t().arrayOf(t().string),className:t().string,icon:t().string,imageSize:t().string,displayControlsInToolbar:t().bool,onReset:t().func.isRequired,onUpdate:t().func.isRequired,onUpdateURL:t().func,preview:t().element,value:t().number.isRequired,valueURL:t().string};const ct=lt;var ut=r(856),ft=r.n(ut),pt=function(e){var t=e.className,r=e.html,n=e.tag;return React.createElement(n,{className:t,dangerouslySetInnerHTML:{__html:ft().sanitize(r)}})};pt.defaultProps={className:\"\"},pt.propTypes={className:t().string,html:t().string.isRequired,tag:t().string.isRequired};const dt=pt;var ht=function(e){var t=e.className,r=e.emptyLabel,n=e.label,o=e.maxPages,i=e.multiple,a=e.onSelect,s=e.placeholder,l=e.subTypes,c=e.selected,u=e.threshold;return React.createElement(Rr,{type:\"post\",className:t,emptyLabel:r,label:n,maxPages:o,multiple:i,onSelect:a,placeholder:s,subTypes:l,selected:c,threshold:u})};ht.defaultProps={className:\"\",emptyLabel:(0,$e.__)(\"No posts found\",\"alley-scripts\"),label:(0,$e.__)(\"Search for posts\",\"alley-scripts\"),maxPages:5,multiple:!1,placeholder:(0,$e.__)(\"Search for posts\",\"alley-scripts\"),subTypes:[],selected:[],threshold:3},ht.propTypes={className:t().string,emptyLabel:t().string,label:t().string,maxPages:t().number,multiple:t().bool,onSelect:t().func.isRequired,placeholder:t().string,subTypes:t().arrayOf(t().string),selected:t().arrayOf([t().shape({id:t().number,title:t().string})]),threshold:t().number};const mt=ht,yt=window.wp.element,gt=window.wp.apiFetch;var vt=r.n(gt),bt=r(184),At=r.n(bt);const wt=window.wp.url;var _t,St=new Uint8Array(16);function Ct(){if(!_t&&!(_t=\"undefined\"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||\"undefined\"!=typeof msCrypto&&\"function\"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto)))throw new Error(\"crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported\");return _t(St)}const kt=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,xt=function(e){return\"string\"==typeof e&&kt.test(e)};for(var Et=[],Rt=0;Rt<256;++Rt)Et.push((Rt+256).toString(16).substr(1));const Tt=function(e,t,r){var n=(e=e||{}).random||(e.rng||Ct)();if(n[6]=15&n[6]|64,n[8]=63&n[8]|128,t){r=r||0;for(var o=0;o<16;++o)t[r+o]=n[o];return t}return function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=(Et[e[t+0]]+Et[e[t+1]]+Et[e[t+2]]+Et[e[t+3]]+\"-\"+Et[e[t+4]]+Et[e[t+5]]+\"-\"+Et[e[t+6]]+Et[e[t+7]]+\"-\"+Et[e[t+8]]+Et[e[t+9]]+\"-\"+Et[e[t+10]]+Et[e[t+11]]+Et[e[t+12]]+Et[e[t+13]]+Et[e[t+14]]+Et[e[t+15]]).toLowerCase();if(!xt(r))throw TypeError(\"Stringified UUID is invalid\");return r}(n)};function Ot(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0},Lt=function(e){var t=Ut(e),r=Pt(t);return r?r.findIndex((function(t){return t.clientId===e})):-1},Pt=function(e){return(0,it.useSelect)((function(t){return t(ot.store).getBlocks(e)}),[e])},jt=function(e){return Pt(e).map((function(e){return e.attributes}))},Dt=function(e){return Pt(e).length},Mt=function(e){return(0,it.useSelect)((function(t){return t(\"core\").getMedia(e)}),[e])},Ut=function(e){return(0,it.useSelect)((function(t){return t(ot.store).getBlockRootClientId(e)}),[e])},Ft=function(e){return(0,it.useSelect)((function(t){var r=t(ot.store),n=r.getBlockAttributes,o=(0,r.getBlockRootClientId)(e);return o?n(o):null}),[e])},zt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"post\";return(0,it.useSelect)((function(r){return r(\"core\").getEntityRecord(\"postType\",t,e)}),[e,t])},Bt=window.wp.coreData,$t=window.lodash;function qt(e){return qt=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},qt(e)}function Ht(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=r){var n,o,i=[],a=!0,s=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==r.return||r.return()}finally{if(s)throw o}}return i}}(e,t)||function(e,t){if(e){if(\"string\"==typeof e)return Gt(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===r&&e.constructor&&(r=e.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(e):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Gt(e,t):void 0}}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Gt(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=(0,it.useSelect)((function(t){return e||t(\"core/editor\").getCurrentPostType()}),[]),n=(0,Bt.useEntityProp)(\"postType\",r,\"meta\",t),o=Ht(n,2),i=o[0],a=o[1],s=\"object\"===qt(i)?i:{},l=\"function\"==typeof a?a:function(){return console.error(\"Error attempting to set post meta for post type \".concat(r,\". Does it have support for custom-fields?\"))},c=function(e){return l((0,$t.cloneDeep)(e))};return[s,c]};function Vt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function Yt(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,n=Wt(t,r),o=Zt(n,2),i=o[0],a=o[1],s=function(t){return a(Yt(Yt({},i),{},Kt({},e,t)))};return[i[e],s]},Qt=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"post\";return(0,it.useSelect)((function(r){return(0,r(\"core\").getEntityRecords)(\"postType\",t,{include:e})}),[e,t])};function er(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=r){var n,o,i=[],a=!0,s=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==r.return||r.return()}finally{if(s)throw o}}return i}}(e,t)||function(e,t){if(e){if(\"string\"==typeof e)return tr(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===r&&e.constructor&&(r=e.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(e):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?tr(e,t):void 0}}(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function tr(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"categories\",n=(0,it.useSelect)((function(t){return e||t(\"core/editor\").getCurrentPostType()}),[]),o=(0,Bt.useEntityProp)(\"postType\",n,r,t),i=er(o,2),a=i[0],s=i[1],l=function(e){return s(e)};return[a,l]};var nr=function(e){var t=e.emptyLabel,r=e.error,n=e.id,o=e.isOpen,i=e.labelledbyId,a=e.loading,s=e.onSelect,l=e.options,c=e.selectedItems,u=e.threshold,f=e.value;if(!a&&(\"\"===f||u>f.length))return null;var p=\"\",d=\"\";return a?(p=\"loading\",d=(0,$e.__)(\"Loading...\",\"alley-scripts\")):r?(p=\"error\",d=r):a||0!==l.length||(p=\"no-posts\",d=t),a||!a&&(f&&0===l.length||r)?React.createElement(\"div\",{\"aria-busy\":!0,className:At()(\"autocomplete__dropdown\",{\"autocomplete__dropdown--is-open\":o})},React.createElement(\"div\",{className:At()(\"autocomplete__dropdown--notice\",\"autocomplete__\".concat(p))},d)):React.createElement(\"div\",{className:At()(\"autocomplete__dropdown\",{\"autocomplete__dropdown--is-open\":o})},React.createElement(\"ul\",{role:\"listbox\",\"aria-labelledby\":i,id:n,className:At()(\"autocomplete__dropdown--results\",\"autocomplete__list\")},l.map((function(e){return React.createElement(\"li\",{className:\"autocomplete__list--item\",key:e.id},React.createElement(Me.Button,{onClick:function(){return s(e)},type:\"button\",disabled:c.some((function(t){return t.id===e.id})),isTertiary:!0},e.title))}))))};nr.propTypes={emptyLabel:t().string.isRequired,error:t().string.isRequired,id:t().string.isRequired,isOpen:t().bool.isRequired,labelledbyId:t().string.isRequired,loading:t().bool.isRequired,options:t().arrayOf(t().shape({label:t().string,value:t().string})).isRequired,onSelect:t().func.isRequired,selectedItems:t().shape([]).isRequired,threshold:t().number.isRequired,value:t().string.isRequired};const or=nr;var ir=r(379),ar=r.n(ir),sr=r(795),lr=r.n(sr),cr=r(569),ur=r.n(cr),fr=r(565),pr=r.n(fr),dr=r(216),hr=r.n(dr),mr=r(589),yr=r.n(mr),gr=r(934),vr={};function br(e){return br=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},br(e)}function Ar(){Ar=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n=\"function\"==typeof Symbol?Symbol:{},o=n.iterator||\"@@iterator\",i=n.asyncIterator||\"@@asyncIterator\",a=n.toStringTag||\"@@toStringTag\";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},\"\")}catch(e){s=function(e,t,r){return e[t]=r}}function l(e,t,r,n){var o=t&&t.prototype instanceof f?t:f,i=Object.create(o.prototype),a=new S(n||[]);return i._invoke=function(e,t,r){var n=\"suspendedStart\";return function(o,i){if(\"executing\"===n)throw new Error(\"Generator is already running\");if(\"completed\"===n){if(\"throw\"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var s=A(a,r);if(s){if(s===u)continue;return s}}if(\"next\"===r.method)r.sent=r._sent=r.arg;else if(\"throw\"===r.method){if(\"suspendedStart\"===n)throw n=\"completed\",r.arg;r.dispatchException(r.arg)}else\"return\"===r.method&&r.abrupt(\"return\",r.arg);n=\"executing\";var l=c(e,t,r);if(\"normal\"===l.type){if(n=r.done?\"completed\":\"suspendedYield\",l.arg===u)continue;return{value:l.arg,done:r.done}}\"throw\"===l.type&&(n=\"completed\",r.method=\"throw\",r.arg=l.arg)}}}(e,r,a),i}function c(e,t,r){try{return{type:\"normal\",arg:e.call(t,r)}}catch(e){return{type:\"throw\",arg:e}}}e.wrap=l;var u={};function f(){}function p(){}function d(){}var h={};s(h,o,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(C([])));y&&y!==t&&r.call(y,o)&&(h=y);var g=d.prototype=f.prototype=Object.create(h);function v(e){[\"next\",\"throw\",\"return\"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){function n(o,i,a,s){var l=c(e[o],e,i);if(\"throw\"!==l.type){var u=l.arg,f=u.value;return f&&\"object\"==br(f)&&r.call(f,\"__await\")?t.resolve(f.__await).then((function(e){n(\"next\",e,a,s)}),(function(e){n(\"throw\",e,a,s)})):t.resolve(f).then((function(e){u.value=e,a(u)}),(function(e){return n(\"throw\",e,a,s)}))}s(l.arg)}var o;this._invoke=function(e,r){function i(){return new t((function(t,o){n(e,r,t,o)}))}return o=o?o.then(i,i):i()}}function A(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,\"throw\"===t.method){if(e.iterator.return&&(t.method=\"return\",t.arg=void 0,A(e,t),\"throw\"===t.method))return u;t.method=\"throw\",t.arg=new TypeError(\"The iterator does not provide a 'throw' method\")}return u}var n=c(r,e.iterator,t.arg);if(\"throw\"===n.type)return t.method=\"throw\",t.arg=n.arg,t.delegate=null,u;var o=n.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,\"return\"!==t.method&&(t.method=\"next\",t.arg=void 0),t.delegate=null,u):o:(t.method=\"throw\",t.arg=new TypeError(\"iterator result is not an object\"),t.delegate=null,u)}function w(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type=\"normal\",delete t.arg,e.completion=t}function S(e){this.tryEntries=[{tryLoc:\"root\"}],e.forEach(w,this),this.reset(!0)}function C(e){if(e){var t=e[o];if(t)return t.call(e);if(\"function\"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n=0;--o){var i=this.tryEntries[o],a=i.completion;if(\"root\"===i.tryLoc)return n(\"end\");if(i.tryLoc<=this.prev){var s=r.call(i,\"catchLoc\"),l=r.call(i,\"finallyLoc\");if(s&&l){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,\"finallyLoc\")&&this.prev=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),_(r),u}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if(\"throw\"===n.type){var o=n.arg;_(r)}return o}}throw new Error(\"illegal catch attempt\")},delegateYield:function(e,t,r){return this.delegate={iterator:C(e),resultName:t,nextLoc:r},\"next\"===this.method&&(this.arg=void 0),u}},e}function wr(e){return function(e){if(Array.isArray(e))return xr(e)}(e)||function(e){if(\"undefined\"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e[\"@@iterator\"])return Array.from(e)}(e)||kr(e)||function(){throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function _r(e,t,r,n,o,i,a){try{var s=e[i](a),l=s.value}catch(e){return void r(e)}s.done?t(l):Promise.resolve(l).then(n,o)}function Sr(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){_r(i,n,o,a,s,\"next\",e)}function s(e){_r(i,n,o,a,s,\"throw\",e)}a(void 0)}))}}function Cr(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:\"undefined\"!=typeof Symbol&&e[Symbol.iterator]||e[\"@@iterator\"];if(null!=r){var n,o,i=[],a=!0,s=!1;try{for(r=r.call(e);!(a=(n=r.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){s=!0,o=e}finally{try{a||null==r.return||r.return()}finally{if(s)throw o}}return i}}(e,t)||kr(e,t)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function kr(e,t){if(e){if(\"string\"==typeof e)return xr(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return\"Object\"===r&&e.constructor&&(r=e.constructor.name),\"Map\"===r||\"Set\"===r?Array.from(e):\"Arguments\"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?xr(e,t):void 0}}function xr(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0&&void 0!==s[0]?s[0]:1,!(N.length0?c.join(\",\"):\"any\",type:t}),e.next=9,vt()({path:o,parse:!1}).then((function(e){var t=parseInt(e.headers.get(\"X-WP-TotalPages\"),10);return n=t>i?i:t,e.json()})).then((function(e){v((function(t){return[].concat(wr(t),wr(e))})),C(!1),(n&&n>r||r>=1&&a&&T.length>0)&&L(r+1)})).catch((function(e){return m(e.message)}));case 9:case\"end\":return e.stop()}}),e)}))),[N,t,i,a,c,T.length,f]);(0,yt.useEffect)((function(){O(u)}),[u]),(0,yt.useEffect)((function(){N&&f<=N.length?L():v([])}),[N,L,f]);var P=function(e){w(I.current.contains(e.target))},j=function(e){\"Escape\"===e.key&&w(!1)};(0,yt.useEffect)((function(){return document.addEventListener(\"keydown\",j),function(){return document.removeEventListener(\"keydown\",j)}})),(0,yt.useEffect)((function(){return I&&document.addEventListener(\"mousedown\",P),function(){return document.removeEventListener(\"mousedown\",P)}}));var D=function(e){var t=[];if(T.some((function(t){return t.id===e.id}))){var r=T.findIndex((function(t){return t.id===e.id}));t=[].concat(wr(T.slice(0,r)),wr(T.slice(r+1,T.length)))}else a?t=[].concat(wr(T),[e]):(t=[e],w(!1));O(t),s(t)};return React.createElement(\"form\",{className:\"autocomplete__component\",onSubmit:function(e){return e.preventDefault()}},React.createElement(\"div\",{className:At()(\"components-base-control\",\"autocomplete-base-control\",r),ref:I},React.createElement(\"div\",{\"aria-expanded\":A,\"aria-haspopup\":\"listbox\",\"aria-owns\":\"listbox-\".concat(p),className:At()(\"components-base-control__field\",\"autocomplete-base-control__field\"),role:\"combobox\"},React.createElement(\"label\",{className:At()(\"components-base-control__label\",\"autocomplete-base-control__label\"),htmlFor:\"autocomplete-\".concat(p)},React.createElement(\"div\",null,o)),T.length>0?React.createElement(\"ul\",{role:\"listbox\",\"aria-labelledby\":\"autocomplete-\".concat(p),id:\"selected-items-\".concat(p),className:At()(\"autocomplete__selection--results\",\"autocomplete__selection-list\")},T.map((function(e){return React.createElement(\"li\",{className:\"autocomplete__selection-list--item\",key:e.title},React.createElement(Me.Button,{className:\"autocomplete__selection-list--item--button\",isSecondary:!0,isSmall:!0,onClick:function(){return D(e)},type:\"button\"},e.title))}))):null,React.createElement(\"input\",{\"aria-autocomplete\":\"list\",autoComplete:\"off\",className:At()(\"components-text-control__input\",\"autocomplete-text-control__input\",{\"autocomplete-text-control__input--working\":A}),id:\"autocomplete-\".concat(p),onChange:function(e){return E(e.target.value)},onFocus:function(){return w(!0)},placeholder:l,type:\"text\",value:x})),React.createElement(or,{emptyLabel:n,error:h,labelledById:\"autocomplete-\".concat(p),id:\"listbox-\".concat(p),isOpen:A,loading:S&&N,onSelect:D,options:g,selectedItems:T,threshold:f,value:N})))};Er.defaultProps={type:\"post\",className:\"\",emptyLabel:(0,$e.__)(\"No items found\",\"alley-scripts\"),label:(0,$e.__)(\"Search for items\",\"alley-scripts\"),maxPages:5,multiple:!1,placeholder:(0,$e.__)(\"Search for items\",\"alley-scripts\"),subTypes:[],selected:[],threshold:3},Er.propTypes={type:t().string,className:t().string,emptyLabel:t().string,label:t().string,maxPages:t().number,multiple:t().bool,onSelect:t().func.isRequired,placeholder:t().string,subTypes:t().arrayOf(t().string),selected:t().arrayOf([t().shape({id:t().number,title:t().string})]),threshold:t().number};const Rr=Er;var Tr=function(e){var t=e.className,r=e.emptyLabel,n=e.label,o=e.maxPages,i=e.multiple,a=e.onSelect,s=e.placeholder,l=e.subTypes,c=e.selected,u=e.threshold;return React.createElement(Rr,{type:\"term\",className:t,emptyLabel:r,label:n,maxPages:o,multiple:i,onSelect:a,placeholder:s,subTypes:l,selected:c,threshold:u})};Tr.defaultProps={className:\"\",emptyLabel:(0,$e.__)(\"No terms found\",\"alley-scripts\"),label:(0,$e.__)(\"Search for terms\",\"alley-scripts\"),maxPages:5,multiple:!1,placeholder:(0,$e.__)(\"Search for terms\",\"alley-scripts\"),subTypes:[],selected:[],threshold:3},Tr.propTypes={className:t().string,emptyLabel:t().string,label:t().string,maxPages:t().number,multiple:t().bool,onSelect:t().func.isRequired,placeholder:t().string,subTypes:t().arrayOf(t().string),selected:t().arrayOf([t().shape({id:t().number,title:t().string})]),threshold:t().number};const Or=Tr;var Ir=Ne.div.withConfig({displayName:\"video-picker__PreviewContainer\",componentId:\"sc-1imlhx1-0\"})([\"height:auto;width:100%;\"]),Nr=function(e){var t=e.src;return React.createElement(Ir,null,React.createElement(\"video\",{className:\"edit-video-preview\",controls:!0,src:t}))};Nr.propTypes={src:t().string.isRequired};var Lr=function(e){var t=e.className,r=e.onReset,n=e.onUpdate,o=e.onUpdateURL,i=e.value,a=e.valueURL;return React.createElement(ct,{allowedTypes:[\"video\"],className:t,icon:\"format-video\",onReset:r,onUpdate:n,onUpdateURL:o,preview:Nr,value:i,valueURL:a})};Lr.defaultProps={className:\"\",onUpdateURL:null,valueURL:\"\"},Lr.propTypes={className:t().string,onReset:t().func.isRequired,onUpdate:t().func.isRequired,onUpdateURL:t().func,value:t().number.isRequired,valueURL:t().string};const Pr=Lr})(),n})()));\n//# sourceMappingURL=index.bundle.min.js.map","/*! @license DOMPurify 2.4.1 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.4.1/LICENSE */\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n typeof define === 'function' && define.amd ? define(factory) :\n (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.DOMPurify = factory());\n})(this, (function () { 'use strict';\n\n function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n }\n\n function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n }\n\n function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n }\n\n function _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct;\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n }\n\n function _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();\n }\n\n function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n }\n\n function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n }\n\n function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);\n }\n\n function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n\n function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n }\n\n var hasOwnProperty = Object.hasOwnProperty,\n setPrototypeOf = Object.setPrototypeOf,\n isFrozen = Object.isFrozen,\n getPrototypeOf = Object.getPrototypeOf,\n getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var freeze = Object.freeze,\n seal = Object.seal,\n create = Object.create; // eslint-disable-line import/no-mutable-exports\n\n var _ref = typeof Reflect !== 'undefined' && Reflect,\n apply = _ref.apply,\n construct = _ref.construct;\n\n if (!apply) {\n apply = function apply(fun, thisValue, args) {\n return fun.apply(thisValue, args);\n };\n }\n\n if (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n }\n\n if (!seal) {\n seal = function seal(x) {\n return x;\n };\n }\n\n if (!construct) {\n construct = function construct(Func, args) {\n return _construct(Func, _toConsumableArray(args));\n };\n }\n\n var arrayForEach = unapply(Array.prototype.forEach);\n var arrayPop = unapply(Array.prototype.pop);\n var arrayPush = unapply(Array.prototype.push);\n var stringToLowerCase = unapply(String.prototype.toLowerCase);\n var stringToString = unapply(String.prototype.toString);\n var stringMatch = unapply(String.prototype.match);\n var stringReplace = unapply(String.prototype.replace);\n var stringIndexOf = unapply(String.prototype.indexOf);\n var stringTrim = unapply(String.prototype.trim);\n var regExpTest = unapply(RegExp.prototype.test);\n var typeErrorCreate = unconstruct(TypeError);\n function unapply(func) {\n return function (thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return apply(func, thisArg, args);\n };\n }\n function unconstruct(func) {\n return function () {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return construct(func, args);\n };\n }\n /* Add properties to a lookup table */\n\n function addToSet(set, array, transformCaseFunc) {\n transformCaseFunc = transformCaseFunc ? transformCaseFunc : stringToLowerCase;\n\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n\n var l = array.length;\n\n while (l--) {\n var element = array[l];\n\n if (typeof element === 'string') {\n var lcElement = transformCaseFunc(element);\n\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n\n element = lcElement;\n }\n }\n\n set[element] = true;\n }\n\n return set;\n }\n /* Shallow clone an object */\n\n function clone(object) {\n var newObject = create(null);\n var property;\n\n for (property in object) {\n if (apply(hasOwnProperty, object, [property])) {\n newObject[property] = object[property];\n }\n }\n\n return newObject;\n }\n /* IE10 doesn't support __lookupGetter__ so lets'\n * simulate it. It also automatically checks\n * if the prop is function or getter and behaves\n * accordingly. */\n\n function lookupGetter(object, prop) {\n while (object !== null) {\n var desc = getOwnPropertyDescriptor(object, prop);\n\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(element) {\n console.warn('fallback value for', element);\n return null;\n }\n\n return fallbackValue;\n }\n\n var html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']); // SVG\n\n var svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\n var svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']); // List of SVG elements that are disallowed by default.\n // We still need to know them so that we can do namespace\n // checks properly in case one wants to add them to\n // allow-list.\n\n var svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'fedropshadow', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\n var mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover']); // Similarly to SVG, we want to know all MathML elements,\n // even those that we disallow by default.\n\n var mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\n var text = freeze(['#text']);\n\n var html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns', 'slot']);\n var svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\n var mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnsalign', 'columnlines', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lspace', 'lquote', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\n var xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\n var MUSTACHE_EXPR = seal(/\\{\\{[\\w\\W]*|[\\w\\W]*\\}\\}/gm); // Specify template detection regex for SAFE_FOR_TEMPLATES mode\n\n var ERB_EXPR = seal(/<%[\\w\\W]*|[\\w\\W]*%>/gm);\n var TMPLIT_EXPR = seal(/\\${[\\w\\W]*}/gm);\n var DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]/); // eslint-disable-line no-useless-escape\n\n var ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\n\n var IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|cid|xmpp):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n );\n var IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\n var ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n );\n var DOCTYPE_NAME = seal(/^html$/i);\n\n var getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n };\n /**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param {?TrustedTypePolicyFactory} trustedTypes The policy factory.\n * @param {Document} document The document object (to determine policy name suffix)\n * @return {?TrustedTypePolicy} The policy created (or null, if Trusted Types\n * are not supported).\n */\n\n\n var _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, document) {\n if (_typeof(trustedTypes) !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n } // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n\n\n var suffix = null;\n var ATTR_NAME = 'data-tt-policy-suffix';\n\n if (document.currentScript && document.currentScript.hasAttribute(ATTR_NAME)) {\n suffix = document.currentScript.getAttribute(ATTR_NAME);\n }\n\n var policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML: function createHTML(html) {\n return html;\n },\n createScriptURL: function createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n };\n\n function createDOMPurify() {\n var window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n\n var DOMPurify = function DOMPurify(root) {\n return createDOMPurify(root);\n };\n /**\n * Version label, exposed for easier checks\n * if DOMPurify is up to date or not\n */\n\n\n DOMPurify.version = '2.4.1';\n /**\n * Array of elements that DOMPurify removed during sanitation.\n * Empty if nothing was removed.\n */\n\n DOMPurify.removed = [];\n\n if (!window || !window.document || window.document.nodeType !== 9) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n\n var originalDocument = window.document;\n var document = window.document;\n var DocumentFragment = window.DocumentFragment,\n HTMLTemplateElement = window.HTMLTemplateElement,\n Node = window.Node,\n Element = window.Element,\n NodeFilter = window.NodeFilter,\n _window$NamedNodeMap = window.NamedNodeMap,\n NamedNodeMap = _window$NamedNodeMap === void 0 ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap,\n HTMLFormElement = window.HTMLFormElement,\n DOMParser = window.DOMParser,\n trustedTypes = window.trustedTypes;\n var ElementPrototype = Element.prototype;\n var cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n var getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n var getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n var getParentNode = lookupGetter(ElementPrototype, 'parentNode'); // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n\n if (typeof HTMLTemplateElement === 'function') {\n var template = document.createElement('template');\n\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n\n var trustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, originalDocument);\n\n var emptyHTML = trustedTypesPolicy ? trustedTypesPolicy.createHTML('') : '';\n var _document = document,\n implementation = _document.implementation,\n createNodeIterator = _document.createNodeIterator,\n createDocumentFragment = _document.createDocumentFragment,\n getElementsByTagName = _document.getElementsByTagName;\n var importNode = originalDocument.importNode;\n var documentMode = {};\n\n try {\n documentMode = clone(document).documentMode ? document.documentMode : {};\n } catch (_) {}\n\n var hooks = {};\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n\n DOMPurify.isSupported = typeof getParentNode === 'function' && implementation && typeof implementation.createHTMLDocument !== 'undefined' && documentMode !== 9;\n var MUSTACHE_EXPR$1 = MUSTACHE_EXPR,\n ERB_EXPR$1 = ERB_EXPR,\n TMPLIT_EXPR$1 = TMPLIT_EXPR,\n DATA_ATTR$1 = DATA_ATTR,\n ARIA_ATTR$1 = ARIA_ATTR,\n IS_SCRIPT_OR_DATA$1 = IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE$1 = ATTR_WHITESPACE;\n var IS_ALLOWED_URI$1 = IS_ALLOWED_URI;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n\n /* allowed element names */\n\n var ALLOWED_TAGS = null;\n var DEFAULT_ALLOWED_TAGS = addToSet({}, [].concat(_toConsumableArray(html$1), _toConsumableArray(svg$1), _toConsumableArray(svgFilters), _toConsumableArray(mathMl$1), _toConsumableArray(text)));\n /* Allowed attribute names */\n\n var ALLOWED_ATTR = null;\n var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray(html), _toConsumableArray(svg), _toConsumableArray(mathMl), _toConsumableArray(xml)));\n /*\n * Configure how DOMPUrify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n\n var CUSTOM_ELEMENT_HANDLING = Object.seal(Object.create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n\n var FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n\n var FORBID_ATTR = null;\n /* Decide if ARIA attributes are okay */\n\n var ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n\n var ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n\n var ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n\n var SAFE_FOR_TEMPLATES = false;\n /* Decide if document with ... should be returned */\n\n var WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n\n var SET_CONFIG = false;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n\n var FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n\n var RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n\n var RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n\n var RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n\n var SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n\n var SANITIZE_NAMED_PROPS = false;\n var SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n\n var KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n\n var IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n\n var USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n\n var FORBID_CONTENTS = null;\n var DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n\n var DATA_URI_TAGS = null;\n var DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n\n var URI_SAFE_ATTRIBUTES = null;\n var DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n var MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n var SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n\n var NAMESPACE = HTML_NAMESPACE;\n var IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n\n var ALLOWED_NAMESPACES = null;\n var DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n /* Parsing of strict XHTML documents */\n\n var PARSER_MEDIA_TYPE;\n var SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n var DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n var transformCaseFunc;\n /* Keep a reference to config to pass to hooks */\n\n var CONFIG = null;\n /* Ideally, do not touch anything below this line */\n\n /* ______________________________________________ */\n\n var formElement = document.createElement('form');\n\n var isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param {Object} cfg optional config literal\n */\n // eslint-disable-next-line complexity\n\n\n var _parseConfig = function _parseConfig(cfg) {\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n\n\n if (!cfg || _typeof(cfg) !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n\n\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE = // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE; // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n\n ALLOWED_TAGS = 'ALLOWED_TAGS' in cfg ? addToSet({}, cfg.ALLOWED_TAGS, transformCaseFunc) : DEFAULT_ALLOWED_TAGS;\n ALLOWED_ATTR = 'ALLOWED_ATTR' in cfg ? addToSet({}, cfg.ALLOWED_ATTR, transformCaseFunc) : DEFAULT_ALLOWED_ATTR;\n ALLOWED_NAMESPACES = 'ALLOWED_NAMESPACES' in cfg ? addToSet({}, cfg.ALLOWED_NAMESPACES, stringToString) : DEFAULT_ALLOWED_NAMESPACES;\n URI_SAFE_ATTRIBUTES = 'ADD_URI_SAFE_ATTR' in cfg ? addToSet(clone(DEFAULT_URI_SAFE_ATTRIBUTES), // eslint-disable-line indent\n cfg.ADD_URI_SAFE_ATTR, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_URI_SAFE_ATTRIBUTES;\n DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), // eslint-disable-line indent\n cfg.ADD_DATA_URI_TAGS, // eslint-disable-line indent\n transformCaseFunc // eslint-disable-line indent\n ) // eslint-disable-line indent\n : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = 'FORBID_CONTENTS' in cfg ? addToSet({}, cfg.FORBID_CONTENTS, transformCaseFunc) : DEFAULT_FORBID_CONTENTS;\n FORBID_TAGS = 'FORBID_TAGS' in cfg ? addToSet({}, cfg.FORBID_TAGS, transformCaseFunc) : {};\n FORBID_ATTR = 'FORBID_ATTR' in cfg ? addToSet({}, cfg.FORBID_ATTR, transformCaseFunc) : {};\n USE_PROFILES = 'USE_PROFILES' in cfg ? cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n\n IS_ALLOWED_URI$1 = cfg.ALLOWED_URI_REGEXP || IS_ALLOWED_URI$1;\n NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.tagNameCheck;\n }\n\n if (cfg.CUSTOM_ELEMENT_HANDLING && isRegexOrFunction(cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = cfg.CUSTOM_ELEMENT_HANDLING.attributeNameCheck;\n }\n\n if (cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = cfg.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements;\n }\n\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n\n\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, _toConsumableArray(text));\n ALLOWED_ATTR = [];\n\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Merge configuration parameters */\n\n\n if (cfg.ADD_TAGS) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n\n if (cfg.ADD_ATTR) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n\n if (cfg.ADD_URI_SAFE_ATTR) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n\n if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n\n\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n\n\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n\n\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n } // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n\n\n if (freeze) {\n freeze(cfg);\n }\n\n CONFIG = cfg;\n };\n\n var MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n var HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']); // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n\n var COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n\n var ALL_SVG_TAGS = addToSet({}, svg$1);\n addToSet(ALL_SVG_TAGS, svgFilters);\n addToSet(ALL_SVG_TAGS, svgDisallowed);\n var ALL_MATHML_TAGS = addToSet({}, mathMl$1);\n addToSet(ALL_MATHML_TAGS, mathMlDisallowed);\n /**\n *\n *\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n\n var _checkValidNamespace = function _checkValidNamespace(element) {\n var parent = getParentNode(element); // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n\n var tagName = stringToLowerCase(element.tagName);\n var parentTagName = stringToLowerCase(parent.tagName);\n\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n } // The only way to switch from MathML to SVG is via`\n // svg if parent is either or MathML\n // text integration points.\n\n\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n } // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n\n\n return Boolean(ALL_SVG_TAGS[tagName]);\n }\n\n if (element.namespaceURI === MATHML_NAMESPACE) {\n // The only way to switch from HTML namespace to MathML\n // is via . If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n } // The only way to switch from SVG to MathML is via\n // and HTML integration points\n\n\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n } // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n\n\n return Boolean(ALL_MATHML_TAGS[tagName]);\n }\n\n if (element.namespaceURI === HTML_NAMESPACE) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n } // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n\n\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n } // For XHTML and XML documents that support custom namespaces\n\n\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n } // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n\n\n return false;\n };\n /**\n * _forceRemove\n *\n * @param {Node} node a DOM node\n */\n\n\n var _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n node.parentNode.removeChild(node);\n } catch (_) {\n try {\n node.outerHTML = emptyHTML;\n } catch (_) {\n node.remove();\n }\n }\n };\n /**\n * _removeAttribute\n *\n * @param {String} name an Attribute name\n * @param {Node} node a DOM node\n */\n\n\n var _removeAttribute = function _removeAttribute(name, node) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: node.getAttributeNode(name),\n from: node\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: node\n });\n }\n\n node.removeAttribute(name); // We void attribute values for unremovable \"is\"\" attributes\n\n if (name === 'is' && !ALLOWED_ATTR[name]) {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(node);\n } catch (_) {}\n } else {\n try {\n node.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _initDocument\n *\n * @param {String} dirty a string of dirty markup\n * @return {Document} a DOM, filled with the dirty markup\n */\n\n\n var _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n var doc;\n var leadingWhitespace;\n\n if (FORCE_BODY) {\n dirty = ' ' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n var matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '' + dirty + '';\n }\n\n var dirtyPayload = trustedTypesPolicy ? trustedTypesPolicy.createHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n\n\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? '' : dirtyPayload;\n } catch (_) {// Syntax error if dirtyPayload is invalid xml\n }\n }\n\n var body = doc.body || doc.documentElement;\n\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n\n\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * _createIterator\n *\n * @param {Document} root document/fragment to create iterator for\n * @return {Iterator} iterator instance\n */\n\n\n var _createIterator = function _createIterator(root) {\n return createNodeIterator.call(root.ownerDocument || root, root, // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT, null, false);\n };\n /**\n * _isClobbered\n *\n * @param {Node} elm element to check for clobbering attacks\n * @return {Boolean} true if clobbered, false if safe\n */\n\n\n var _isClobbered = function _isClobbered(elm) {\n return elm instanceof HTMLFormElement && (typeof elm.nodeName !== 'string' || typeof elm.textContent !== 'string' || typeof elm.removeChild !== 'function' || !(elm.attributes instanceof NamedNodeMap) || typeof elm.removeAttribute !== 'function' || typeof elm.setAttribute !== 'function' || typeof elm.namespaceURI !== 'string' || typeof elm.insertBefore !== 'function' || typeof elm.hasChildNodes !== 'function');\n };\n /**\n * _isNode\n *\n * @param {Node} obj object to check whether it's a DOM node\n * @return {Boolean} true is object is a DOM node\n */\n\n\n var _isNode = function _isNode(object) {\n return _typeof(Node) === 'object' ? object instanceof Node : object && _typeof(object) === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string';\n };\n /**\n * _executeHook\n * Execute user configurable hooks\n *\n * @param {String} entryPoint Name of the hook's entry point\n * @param {Node} currentNode node to work on with the hook\n * @param {Object} data additional hook parameters\n */\n\n\n var _executeHook = function _executeHook(entryPoint, currentNode, data) {\n if (!hooks[entryPoint]) {\n return;\n }\n\n arrayForEach(hooks[entryPoint], function (hook) {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n };\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n *\n * @param {Node} currentNode to check for permission to exist\n * @return {Boolean} true if node was killed, false if left alive\n */\n\n\n var _sanitizeElements = function _sanitizeElements(currentNode) {\n var content;\n /* Execute a hook if present */\n\n _executeHook('beforeSanitizeElements', currentNode, null);\n /* Check if element is clobbered or can clobber */\n\n\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Check if tagname contains Unicode */\n\n\n if (regExpTest(/[\\u0080-\\uFFFF]/, currentNode.nodeName)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Now let's check the element's type and name */\n\n\n var tagName = transformCaseFunc(currentNode.nodeName);\n /* Execute a hook if present */\n\n _executeHook('uponSanitizeElement', currentNode, {\n tagName: tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* Detect mXSS attempts abusing namespace confusion */\n\n\n if (currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && (!_isNode(currentNode.content) || !_isNode(currentNode.content.firstElementChild)) && regExpTest(/<[/\\w]/g, currentNode.innerHTML) && regExpTest(/<[/\\w]/g, currentNode.textContent)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Mitigate a problem with templates inside select */\n\n\n if (tagName === 'select' && regExpTest(/= 0; --i) {\n parentNode.insertBefore(cloneNode(childNodes[i], true), getNextSibling(currentNode));\n }\n }\n }\n\n _forceRemove(currentNode);\n\n return true;\n }\n /* Check whether element has a valid namespace */\n\n\n if (currentNode instanceof Element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n\n return true;\n }\n\n if ((tagName === 'noscript' || tagName === 'noembed') && regExpTest(/<\\/no(script|embed)/i, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n\n return true;\n }\n /* Sanitize element content to be template-safe */\n\n\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === 3) {\n /* Get the element's text content */\n content = currentNode.textContent;\n content = stringReplace(content, MUSTACHE_EXPR$1, ' ');\n content = stringReplace(content, ERB_EXPR$1, ' ');\n content = stringReplace(content, TMPLIT_EXPR$1, ' ');\n\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n /* Execute a hook if present */\n\n\n _executeHook('afterSanitizeElements', currentNode, null);\n\n return false;\n };\n /**\n * _isValidAttribute\n *\n * @param {string} lcTag Lowercase tag name of containing element.\n * @param {string} lcName Lowercase attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n\n\n var _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n\n\n if (ALLOW_DATA_ATTR && !FORBID_ATTR[lcName] && regExpTest(DATA_ATTR$1, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$1, lcName)) ; else if (!ALLOWED_ATTR[lcName] || FORBID_ATTR[lcName]) {\n if ( // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n _basicCustomElementTest(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName)) || // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE$1, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$1, stringReplace(value, ATTR_WHITESPACE$1, ''))) ; else if (!value) ; else {\n return false;\n }\n\n return true;\n };\n /**\n * _basicCustomElementCheck\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n * @param {string} tagName name of the tag of the node to sanitize\n */\n\n\n var _basicCustomElementTest = function _basicCustomElementTest(tagName) {\n return tagName.indexOf('-') > 0;\n };\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param {Node} currentNode to sanitize\n */\n\n\n var _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n var attr;\n var value;\n var lcName;\n var l;\n /* Execute a hook if present */\n\n _executeHook('beforeSanitizeAttributes', currentNode, null);\n\n var attributes = currentNode.attributes;\n /* Check if we have attributes; if not we might have a text node */\n\n if (!attributes) {\n return;\n }\n\n var hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR\n };\n l = attributes.length;\n /* Go backwards over all attributes; safely remove bad ones */\n\n while (l--) {\n attr = attributes[l];\n var _attr = attr,\n name = _attr.name,\n namespaceURI = _attr.namespaceURI;\n value = name === 'value' ? attr.value : stringTrim(attr.value);\n lcName = transformCaseFunc(name);\n /* Execute a hook if present */\n\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n\n _executeHook('uponSanitizeAttribute', currentNode, hookEvent);\n\n value = hookEvent.attrValue;\n /* Did the hooks approve of the attribute? */\n\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n /* Remove attribute */\n\n\n _removeAttribute(name, currentNode);\n /* Did the hooks approve of the attribute? */\n\n\n if (!hookEvent.keepAttr) {\n continue;\n }\n /* Work around a security issue in jQuery 3.0 */\n\n\n if (regExpTest(/\\/>/i, value)) {\n _removeAttribute(name, currentNode);\n\n continue;\n }\n /* Sanitize attribute content to be template-safe */\n\n\n if (SAFE_FOR_TEMPLATES) {\n value = stringReplace(value, MUSTACHE_EXPR$1, ' ');\n value = stringReplace(value, ERB_EXPR$1, ' ');\n value = stringReplace(value, TMPLIT_EXPR$1, ' ');\n }\n /* Is `value` valid for this attribute? */\n\n\n var lcTag = transformCaseFunc(currentNode.nodeName);\n\n if (!_isValidAttribute(lcTag, lcName, value)) {\n continue;\n }\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n\n\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name')) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode); // Prefix the value and later re-create the attribute with the sanitized value\n\n\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n /* Handle attributes that require Trusted Types */\n\n\n if (trustedTypesPolicy && _typeof(trustedTypes) === 'object' && typeof trustedTypes.getAttributeType === 'function') {\n if (namespaceURI) ; else {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n value = trustedTypesPolicy.createHTML(value);\n break;\n\n case 'TrustedScriptURL':\n value = trustedTypesPolicy.createScriptURL(value);\n break;\n }\n }\n }\n /* Handle invalid data-* attribute set by try-catching it */\n\n\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n\n arrayPop(DOMPurify.removed);\n } catch (_) {}\n }\n /* Execute a hook if present */\n\n\n _executeHook('afterSanitizeAttributes', currentNode, null);\n };\n /**\n * _sanitizeShadowDOM\n *\n * @param {DocumentFragment} fragment to iterate over recursively\n */\n\n\n var _sanitizeShadowDOM = function _sanitizeShadowDOM(fragment) {\n var shadowNode;\n\n var shadowIterator = _createIterator(fragment);\n /* Execute a hook if present */\n\n\n _executeHook('beforeSanitizeShadowDOM', fragment, null);\n\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHook('uponSanitizeShadowNode', shadowNode, null);\n /* Sanitize tags and elements */\n\n\n if (_sanitizeElements(shadowNode)) {\n continue;\n }\n /* Deep shadow DOM detected */\n\n\n if (shadowNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(shadowNode.content);\n }\n /* Check attributes, sanitize if necessary */\n\n\n _sanitizeAttributes(shadowNode);\n }\n /* Execute a hook if present */\n\n\n _executeHook('afterSanitizeShadowDOM', fragment, null);\n };\n /**\n * Sanitize\n * Public method providing core sanitation functionality\n *\n * @param {String|Node} dirty string or DOM node\n * @param {Object} configuration object\n */\n // eslint-disable-next-line complexity\n\n\n DOMPurify.sanitize = function (dirty) {\n var cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var body;\n var importedNode;\n var currentNode;\n var oldNode;\n var returnNode;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n\n IS_EMPTY_INPUT = !dirty;\n\n if (IS_EMPTY_INPUT) {\n dirty = '';\n }\n /* Stringify, in case dirty is an object */\n\n\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n // eslint-disable-next-line no-negated-condition\n if (typeof dirty.toString !== 'function') {\n throw typeErrorCreate('toString is not a function');\n } else {\n dirty = dirty.toString();\n\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n }\n }\n /* Check we can run. Otherwise fall back or ignore */\n\n\n if (!DOMPurify.isSupported) {\n if (_typeof(window.toStaticHTML) === 'object' || typeof window.toStaticHTML === 'function') {\n if (typeof dirty === 'string') {\n return window.toStaticHTML(dirty);\n }\n\n if (_isNode(dirty)) {\n return window.toStaticHTML(dirty.outerHTML);\n }\n }\n\n return dirty;\n }\n /* Assign config vars */\n\n\n if (!SET_CONFIG) {\n _parseConfig(cfg);\n }\n /* Clean up removed elements */\n\n\n DOMPurify.removed = [];\n /* Check if dirty is correctly typed for IN_PLACE */\n\n if (typeof dirty === 'string') {\n IN_PLACE = false;\n }\n\n if (IN_PLACE) {\n /* Do some early pre-sanitization to avoid unsafe root nodes */\n if (dirty.nodeName) {\n var tagName = transformCaseFunc(dirty.nodeName);\n\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n } else if (dirty instanceof Node) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('');\n importedNode = body.ownerDocument.importNode(dirty, true);\n\n if (importedNode.nodeType === 1 && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT && // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(dirty) : dirty;\n }\n /* Initialize the document to work on */\n\n\n body = _initDocument(dirty);\n /* Check we have a DOM node from the data */\n\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n /* Remove first element node (ours) if FORCE_BODY is set */\n\n\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n /* Get node iterator */\n\n\n var nodeIterator = _createIterator(IN_PLACE ? dirty : body);\n /* Now start iterating over the created document */\n\n\n while (currentNode = nodeIterator.nextNode()) {\n /* Fix IE's strange behavior with manipulated textNodes #89 */\n if (currentNode.nodeType === 3 && currentNode === oldNode) {\n continue;\n }\n /* Sanitize tags and elements */\n\n\n if (_sanitizeElements(currentNode)) {\n continue;\n }\n /* Shadow DOM detected, sanitize it */\n\n\n if (currentNode.content instanceof DocumentFragment) {\n _sanitizeShadowDOM(currentNode.content);\n }\n /* Check attributes, sanitize if necessary */\n\n\n _sanitizeAttributes(currentNode);\n\n oldNode = currentNode;\n }\n\n oldNode = null;\n /* If we sanitized `dirty` in-place, return it. */\n\n if (IN_PLACE) {\n return dirty;\n }\n /* Return sanitized string or DOM */\n\n\n if (RETURN_DOM) {\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n\n if (ALLOWED_ATTR.shadowroot) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n\n return returnNode;\n }\n\n var serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n /* Serialize doctype if allowed */\n\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '\\n' + serializedHTML;\n }\n /* Sanitize final string template-safe */\n\n\n if (SAFE_FOR_TEMPLATES) {\n serializedHTML = stringReplace(serializedHTML, MUSTACHE_EXPR$1, ' ');\n serializedHTML = stringReplace(serializedHTML, ERB_EXPR$1, ' ');\n serializedHTML = stringReplace(serializedHTML, TMPLIT_EXPR$1, ' ');\n }\n\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML(serializedHTML) : serializedHTML;\n };\n /**\n * Public method to set the configuration once\n * setConfig\n *\n * @param {Object} cfg configuration object\n */\n\n\n DOMPurify.setConfig = function (cfg) {\n _parseConfig(cfg);\n\n SET_CONFIG = true;\n };\n /**\n * Public method to remove the configuration\n * clearConfig\n *\n */\n\n\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n };\n /**\n * Public method to check if an attribute value is valid.\n * Uses last set config, if any. Otherwise, uses config defaults.\n * isValidAttribute\n *\n * @param {string} tag Tag name of containing element.\n * @param {string} attr Attribute name.\n * @param {string} value Attribute value.\n * @return {Boolean} Returns true if `value` is valid. Otherwise, returns false.\n */\n\n\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n\n var lcTag = transformCaseFunc(tag);\n var lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n /**\n * AddHook\n * Public method to add DOMPurify hooks\n *\n * @param {String} entryPoint entry point for the hook to add\n * @param {Function} hookFunction function to execute\n */\n\n\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n\n hooks[entryPoint] = hooks[entryPoint] || [];\n arrayPush(hooks[entryPoint], hookFunction);\n };\n /**\n * RemoveHook\n * Public method to remove a DOMPurify hook at a given entryPoint\n * (pops it from the stack of hooks if more are present)\n *\n * @param {String} entryPoint entry point for the hook to remove\n * @return {Function} removed(popped) hook\n */\n\n\n DOMPurify.removeHook = function (entryPoint) {\n if (hooks[entryPoint]) {\n return arrayPop(hooks[entryPoint]);\n }\n };\n /**\n * RemoveHooks\n * Public method to remove all DOMPurify hooks at a given entryPoint\n *\n * @param {String} entryPoint entry point for the hooks to remove\n */\n\n\n DOMPurify.removeHooks = function (entryPoint) {\n if (hooks[entryPoint]) {\n hooks[entryPoint] = [];\n }\n };\n /**\n * RemoveAllHooks\n * Public method to remove all DOMPurify hooks\n *\n */\n\n\n DOMPurify.removeAllHooks = function () {\n hooks = {};\n };\n\n return DOMPurify;\n }\n\n var purify = createDOMPurify();\n\n return purify;\n\n}));\n//# sourceMappingURL=purify.js.map\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"plugins\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"React\"];","import React from 'react';\n\nconst Icon = () => (\n \n \n \n \n \n \n \n \n \n);\n\nexport default Icon;\n","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"apiFetch\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"data\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"editPost\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"i18n\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"components\"];","import { ImagePicker } from '@alleyinteractive/block-editor-tools';\nimport { BaseControl, PanelBody, TextareaControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nconst CoverImage = ({\n coverImageCaption,\n coverImageId,\n onChangeCoverImageCaption,\n onChangeCoverImageId,\n}) => (\n \n \n onChangeCoverImageId(0)}\n onUpdate={({ id }) => onChangeCoverImageId(id)}\n value={coverImageId}\n />\n \n \n \n);\n\nCoverImage.propTypes = {\n coverImageCaption: PropTypes.string.isRequired,\n coverImageId: PropTypes.number.isRequired,\n onChangeCoverImageCaption: PropTypes.func.isRequired,\n onChangeCoverImageId: PropTypes.func.isRequired,\n};\n\nexport default CoverImage;\n","import { PanelBody, SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nconst MaturityRating = ({\n maturityRating,\n onChangeMaturityRating,\n}) => (\n \n \n \n);\n\nMaturityRating.propTypes = {\n maturityRating: PropTypes.string.isRequired,\n onChangeMaturityRating: PropTypes.func.isRequired,\n};\n\nexport default MaturityRating;\n","/* eslint-disable import/prefer-default-export */\n\nimport PropTypes from 'prop-types';\n\nexport const METADATA_SHAPE = {\n key: PropTypes.string.isRequired,\n type: PropTypes.oneOf([\n 'array',\n 'boolean',\n 'number',\n 'string',\n ]),\n value: PropTypes.oneOfType([\n PropTypes.arrayOf(PropTypes.string),\n PropTypes.bool,\n PropTypes.number,\n PropTypes.string,\n ]),\n};\n\nexport const SECTION_SHAPE = {\n id: PropTypes.string.isRequired,\n name: PropTypes.string.isRequired,\n};\n","/**\n * Given an array of values, returns a copy of the array with the value at the\n * given index removed.\n * @param {Array} values - The array of values to modify.\n * @param {number} index - The index to remove.\n * @returns {Array} A copy of the values array with the value at the specified index removed.\n */\nconst deleteAtIndex = (values, index) => values.filter((value, idx) => index !== idx);\n\nexport default deleteAtIndex;\n","/**\n * Given an array of objects, a key, and a value, returns a copy of the array\n * with the value for the key set at the given index.\n * @param {Array} values - An array of objects.\n * @param {string} key - The object key to update.\n * @param {*} value - The value to set for the key.\n * @param {number} index - The index to set the value on.\n * @returns {Array} A copy of the array with the value set for the key at the given index.\n */\nconst updateValueAtIndex = (values, key, value, index) => {\n const valuesCopy = values.map((item) => ({ ...item }));\n valuesCopy[index][key] = value;\n return valuesCopy;\n};\n\nexport default updateValueAtIndex;\n","import {\n Button,\n CheckboxControl,\n PanelBody,\n SelectControl,\n TextControl,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\n// Config.\nimport { METADATA_SHAPE } from '../../config/prop-types';\n\n// Util.\nimport deleteAtIndex from '../../util/delete-at-index';\nimport updateValueAtIndex from '../../util/update-value-at-index';\n\nconst Metadata = ({\n isHidden,\n isPaid,\n isPreview,\n isSponsored,\n metadata,\n onChangeIsHidden,\n onChangeIsPaid,\n onChangeIsPreview,\n onChangeIsSponsored,\n onChangeMetadata,\n onChangeSuppressVideoURL,\n onChangeUseImageComponent,\n suppressVideoURL,\n useImageComponent,\n}) => (\n \n \n \n \n \n \n \n {__('Custom Metadata', 'apple-news')} \n {metadata.map(({ key, type, value }, index) => (\n // eslint-disable-next-line react/no-array-index-key\n \n onChangeMetadata(updateValueAtIndex(metadata, 'key', next, index))}\n value={key}\n />\n onChangeMetadata(updateValueAtIndex(metadata, 'type', next, index))}\n options={[\n { label: __('string', 'apple-news'), value: 'string' },\n { label: __('boolean', 'apple-news'), value: 'boolean' },\n { label: __('number', 'apple-news'), value: 'number' },\n { label: __('array', 'apple-news'), value: 'array' },\n ]}\n value={type}\n />\n {type === 'boolean' ? (\n onChangeMetadata(updateValueAtIndex(metadata, 'value', next === 'true', index))}\n options={[\n { label: __('', 'apple-news'), value: '' },\n { label: __('true', 'apple-news'), value: 'true' },\n { label: __('false', 'apple-news'), value: 'false' },\n ]}\n value={value}\n />\n ) : (\n onChangeMetadata(updateValueAtIndex(metadata, 'value', type === 'number' ? parseFloat(next) : next, index))}\n type={type === 'number' ? 'number' : 'text'}\n value={value}\n />\n )}\n onChangeMetadata(deleteAtIndex(metadata, index))}\n style={{ marginBottom: '1em' }}\n >\n {__('Remove', 'apple-news')}\n \n
\n ))}\n onChangeMetadata([...metadata, { key: '', type: 'string', value: '' }])}\n >\n {__('Add Metadata', 'apple-news')}\n \n \n);\n\nMetadata.propTypes = {\n isHidden: PropTypes.bool.isRequired,\n isPaid: PropTypes.bool.isRequired,\n isPreview: PropTypes.bool.isRequired,\n isSponsored: PropTypes.bool.isRequired,\n metadata: PropTypes.arrayOf(PropTypes.shape(METADATA_SHAPE)).isRequired,\n onChangeIsHidden: PropTypes.func.isRequired,\n onChangeIsPaid: PropTypes.func.isRequired,\n onChangeIsPreview: PropTypes.func.isRequired,\n onChangeIsSponsored: PropTypes.func.isRequired,\n onChangeMetadata: PropTypes.func.isRequired,\n onChangeSuppressVideoURL: PropTypes.func.isRequired,\n onChangeUseImageComponent: PropTypes.func.isRequired,\n suppressVideoURL: PropTypes.bool.isRequired,\n useImageComponent: PropTypes.bool.isRequired,\n};\n\nexport default Metadata;\n","import { Button, Spinner } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nconst PublishControls = ({\n apiAutosync,\n apiAutosyncDelete,\n apiAutosyncUpdate,\n deletePost,\n loading,\n postIsDirty,\n postStatus,\n publishPost,\n publishState,\n updatePost,\n userCanPublish,\n}) => {\n // If the post isn't published, or the user can't publish to Apple News, bail.\n if (postStatus !== 'publish' || !userCanPublish) {\n return null;\n }\n\n // If we're loading, spin.\n if (loading) {\n return ;\n }\n\n return (\n <>\n {postIsDirty ? (\n \n \n {__('Please click the Update button above to ensure that all changes are saved before publishing to Apple News.', 'apple-news')}\n \n
\n ) : null}\n {publishState !== 'N/A' && !apiAutosyncUpdate ? (\n \n {__('Update', 'apple-news')}\n \n ) : null}\n {publishState !== 'N/A' && !apiAutosyncDelete ? (\n \n {__('Delete', 'apple-news')}\n \n ) : null}\n {publishState === 'N/A' && !apiAutosync ? (\n \n {__('Publish', 'apple-news')}\n \n ) : null}\n >\n );\n};\n\nPublishControls.propTypes = {\n apiAutosync: PropTypes.bool.isRequired,\n apiAutosyncDelete: PropTypes.bool.isRequired,\n apiAutosyncUpdate: PropTypes.bool.isRequired,\n deletePost: PropTypes.func.isRequired,\n loading: PropTypes.bool.isRequired,\n postIsDirty: PropTypes.bool.isRequired,\n postStatus: PropTypes.string.isRequired,\n publishPost: PropTypes.func.isRequired,\n publishState: PropTypes.string.isRequired,\n updatePost: PropTypes.func.isRequired,\n userCanPublish: PropTypes.bool.isRequired,\n};\n\nexport default PublishControls;\n","import { PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nconst PublishInfo = ({\n apiId,\n dateCreated,\n dateModified,\n revision,\n shareUrl,\n publishState,\n}) => {\n if (!publishState || publishState === 'N/A') {\n return null;\n }\n\n return (\n \n {__('API Id', 'apple-news')} \n {apiId}
\n {__('Created On', 'apple-news')} \n {dateCreated}
\n {__('Last Updated On', 'apple-news')} \n {dateModified}
\n {__('Share URL', 'apple-news')} \n {shareUrl}
\n {__('Revision', 'apple-news')} \n {revision}
\n {__('Publish State', 'apple-news')} \n {publishState}
\n \n );\n};\n\nPublishInfo.propTypes = {\n apiId: PropTypes.string.isRequired,\n dateCreated: PropTypes.string.isRequired,\n dateModified: PropTypes.string.isRequired,\n revision: PropTypes.string.isRequired,\n shareUrl: PropTypes.string.isRequired,\n publishState: PropTypes.string.isRequired,\n};\n\nexport default PublishInfo;\n","import {\n PanelBody,\n SelectControl,\n TextareaControl,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nconst PullQuote = ({\n onChangePullquotePosition,\n onChangePullquoteText,\n pullquotePosition,\n pullquoteText,\n}) => (\n \n \n \n \n);\n\nPullQuote.propTypes = {\n onChangePullquotePosition: PropTypes.func.isRequired,\n onChangePullquoteText: PropTypes.func.isRequired,\n pullquotePosition: PropTypes.string.isRequired,\n pullquoteText: PropTypes.string.isRequired,\n};\n\nexport default PullQuote;\n","import {\n BaseControl,\n CheckboxControl,\n PanelBody,\n Spinner,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\n// Config.\nimport { SECTION_SHAPE } from '../../config/prop-types';\n\nconst Sections = ({\n autoAssignCategories,\n automaticAssignment,\n onChangeAutoAssignCategories,\n onChangeSelectedSections,\n sections,\n selectedSections,\n}) => (\n \n {!Array.isArray(sections) || sections.length === 0 ? (\n \n ) : (\n <>\n {automaticAssignment ? (\n \n ) : null}\n {automaticAssignment && !autoAssignCategories ? : null}\n {(!automaticAssignment || !autoAssignCategories) ? (\n \n {sections.map(({ id, name }) => (\n onChangeSelectedSections(id)}\n />\n ))}\n \n ) : null}\n >\n )}\n \n);\n\nSections.propTypes = {\n autoAssignCategories: PropTypes.bool.isRequired,\n automaticAssignment: PropTypes.bool.isRequired,\n onChangeAutoAssignCategories: PropTypes.func.isRequired,\n onChangeSelectedSections: PropTypes.func.isRequired,\n sections: PropTypes.arrayOf(PropTypes.shape(SECTION_SHAPE)).isRequired,\n selectedSections: PropTypes.arrayOf(PropTypes.string).isRequired,\n};\n\nexport default Sections;\n","import {\n PanelBody,\n TextControl,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nconst Slug = ({\n onChangeSlug,\n slug,\n}) => (\n \n \n \n);\n\nSlug.propTypes = {\n onChangeSlug: PropTypes.func.isRequired,\n slug: PropTypes.string.isRequired,\n};\n\nexport default Slug;\n","import safeJsonParse from './safe-json-parse';\n\n/**\n * Given a value, run JSON.parse on it, but if parsing fails, or if\n * what results from the parse is not an array, return an empty\n * array rather than a syntax error or a value of another type.\n * @param {*} value - The value to attempt to parse.\n * @returns {array} - The parsed value, or an empty array on failure.\n */\nconst safeJsonParseArray = (value) => {\n const parsedValue = safeJsonParse(value);\n\n // Make absolutely sure that the parsed value is an array.\n if (!Array.isArray(parsedValue)) {\n return [];\n }\n\n return parsedValue;\n};\n\nexport default safeJsonParseArray;\n","/**\n * Given a value, run JSON.parse on it, but if parsing fails, return null\n * instead of throwing a SyntaxError.\n * @param {*} value - The value to attempt to parse.\n * @returns {*} - The parsed value, or null on failure.\n */\nconst safeJsonParse = (value) => {\n try {\n return JSON.parse(value);\n } catch (e) {\n return null;\n }\n};\n\nexport default safeJsonParse;\n","import { registerPlugin } from '@wordpress/plugins';\nimport React from 'react';\n\n// Components.\nimport Icon from '../components/icon';\nimport Sidebar from './sidebar';\n\nregisterPlugin('publish-to-apple-news', {\n icon: ,\n render: Sidebar,\n});\n","import { usePostMeta, usePostMetaValue } from '@alleyinteractive/block-editor-tools';\nimport apiFetch from '@wordpress/api-fetch';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n PluginSidebar,\n PluginSidebarMoreMenuItem,\n} from '@wordpress/edit-post';\nimport { __ } from '@wordpress/i18n';\nimport DOMPurify from 'dompurify';\nimport React, { useCallback, useEffect, useState } from 'react';\n\n// Panels.\nimport CoverImage from './panels/cover-image';\nimport MaturityRating from './panels/maturity-rating';\nimport Metadata from './panels/metadata';\nimport PublishControls from './panels/publish-controls';\nimport PublishInfo from './panels/publish-info';\nimport PullQuote from './panels/pull-quote';\nimport Sections from './panels/sections';\nimport Slug from './panels/slug';\n\n// Utils.\nimport safeJsonParseArray from '../util/safe-json-parse-array';\n\nconst Sidebar = () => {\n const [state, setState] = useState({\n autoAssignCategories: false,\n loading: false,\n publishState: 'N/A',\n sections: [],\n settings: {\n apiAutosync: false,\n apiAutosyncDelete: false,\n apiAutosyncUpdate: false,\n automaticAssignment: false,\n },\n userCanPublish: false,\n });\n\n // Destructure values out of state for easier access.\n const {\n autoAssignCategories,\n loading,\n publishState,\n sections,\n settings: {\n apiAutosync,\n apiAutosyncDelete,\n apiAutosyncUpdate,\n automaticAssignment,\n },\n userCanPublish,\n } = state;\n\n // Get a reference to the dispatch function for notices for use later.\n const dispatchNotice = useDispatch('core/notices');\n\n // Get information about the current post.\n const {\n notices,\n postId,\n postIsDirty,\n postStatus,\n } = useSelect((select) => {\n const editor = select('core/editor');\n return {\n notices: editor.getEditedPostAttribute('apple_news_notices'),\n postId: editor.getCurrentPostId(),\n postIsDirty: editor.isEditedPostDirty(),\n postStatus: editor.getEditedPostAttribute('status'),\n };\n });\n\n // Get read-only values from postmeta.\n const [{\n apple_news_api_created_at: dateCreated,\n apple_news_api_id: apiId,\n apple_news_api_modified_at: dateModified,\n apple_news_api_revision: revision,\n apple_news_api_share_url: shareUrl,\n }] = usePostMeta();\n\n // Getters and setters for individual postmeta values.\n const [coverImageId, setCoverImageId] = usePostMetaValue('apple_news_coverimage');\n const [coverImageCaption, setCoverImageCaption] = usePostMetaValue('apple_news_coverimage_caption');\n const [isHidden, setIsHidden] = usePostMetaValue('apple_news_is_hidden');\n const [isPaid, setIsPaid] = usePostMetaValue('apple_news_is_paid');\n const [isPreview, setIsPreview] = usePostMetaValue('apple_news_is_preview');\n const [isSponsored, setIsSponsored] = usePostMetaValue('apple_news_is_sponsored');\n const [maturityRating, setMaturityRating] = usePostMetaValue('apple_news_maturity_rating');\n const [metadataRaw, setMetadataRaw] = usePostMetaValue('apple_news_metadata');\n const [pullquoteText, setPullquoteText] = usePostMetaValue('apple_news_pullquote');\n const [pullquotePosition, setPullquotePosition] = usePostMetaValue('apple_news_pullquote_position');\n const [selectedSectionsRaw, setSelectedSectionsRaw] = usePostMetaValue('apple_news_sections');\n const [slug, setSlug] = usePostMetaValue('apple_news_slug');\n const [suppressVideoURL, setSuppressVideoURL] = usePostMetaValue('apple_news_suppress_video_url');\n const [useImageComponent, setUseImageComponent] = usePostMetaValue('apple_news_use_image_component');\n\n // Decode selected sections.\n const metadata = safeJsonParseArray(metadataRaw);\n const selectedSections = safeJsonParseArray(selectedSectionsRaw);\n\n /**\n * A helper function for setting metadata.\n * @param {object} next - The metadata value to set.\n */\n const setMetadata = (next) => setMetadataRaw(JSON.stringify(next));\n\n /**\n * A helper function for setting selected sections.\n * @param {Array} next - The array of selected sections to set.\n */\n const setSelectedSections = (next) => setSelectedSectionsRaw(JSON.stringify(next));\n\n /**\n * A helper function for displaying a notification to the user.\n * @param {string} message - The notification message displayed to the user.\n * @param {string} type - Optional. The type of message to display. Defaults to success.\n */\n const displayNotification = useCallback((message, type = 'success') => (type === 'success'\n ? dispatchNotice.createInfoNotice(DOMPurify.sanitize(message), { type: 'snackbar' })\n : dispatchNotice.createErrorNotice(message, { __unstableHTML: true })\n ), [dispatchNotice]);\n\n /**\n * Sends a request to the REST API to modify the post.\n * @param {string} operation - One of delete, publish, update.\n */\n const modifyPost = async (operation) => {\n setState({\n ...state,\n loading: true,\n });\n\n try {\n const {\n notifications = [],\n publishState: nextPublishState = '',\n } = await apiFetch({\n data: {\n id: postId,\n },\n method: 'POST',\n path: `/apple-news/v1/${operation}`,\n });\n notifications.forEach((notification) => displayNotification(\n notification.message,\n notification.type,\n ));\n setState({\n ...state,\n loading: false,\n publishState: nextPublishState,\n });\n } catch (error) {\n displayNotification(error.message, 'error');\n setState({\n ...state,\n loading: false,\n });\n }\n };\n\n /**\n * A helper function to update which sections are selected.\n * @param {string} id - The id of the section to toggle.\n */\n const toggleSelectedSection = (id) => setSelectedSections(\n selectedSections.includes(id)\n ? selectedSections.filter((section) => section !== id)\n : [...selectedSections, id],\n );\n\n // On initial load, fetch info from the API into state.\n useEffect(() => {\n (async () => {\n const fetches = [\n await apiFetch({ path: `/apple-news/v1/get-published-state/${postId}` }),\n await apiFetch({ path: '/apple-news/v1/sections' }),\n await apiFetch({ path: '/apple-news/v1/get-settings' }),\n await apiFetch({ path: `/apple-news/v1/user-can-publish/${postId}` }),\n ];\n\n // Wait for everything to load, update state, and handle errors.\n try {\n const data = await Promise.all(fetches);\n setState({\n ...state,\n autoAssignCategories: (selectedSections === null || selectedSections.length === 0)\n && data[2].automaticAssignment === true,\n ...data[0],\n sections: data[1],\n settings: data[2],\n ...data[3],\n });\n } catch (error) {\n displayNotification(error.message, 'error');\n }\n })();\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n // Display notices whenever they change.\n useEffect(() => {\n notices.forEach((notice) => displayNotification(notice.message, notice.type));\n }, [displayNotification, notices]);\n\n return (\n <>\n \n {__('Apple News Options', 'apple-news')}\n \n \n {\n setState({\n ...state,\n autoAssignCategories: next,\n });\n setSelectedSections([]);\n }}\n onChangeSelectedSections={toggleSelectedSection}\n sections={sections}\n selectedSections={selectedSections}\n />\n \n \n \n \n \n {publishState !== 'N/A' ? (\n \n ) : null}\n modifyPost('delete')}\n loading={loading}\n postIsDirty={postIsDirty}\n postStatus={postStatus}\n publishPost={() => modifyPost('publish')}\n publishState={publishState}\n updatePost={() => modifyPost('update')}\n userCanPublish={userCanPublish}\n />\n \n >\n );\n};\n\nexport default Sidebar;\n"],"names":["t","self","e","r","n","hasOwnProperty","o","arguments","length","i","push","Array","isArray","a","apply","toString","Object","prototype","s","call","join","exports","default","d","Z","id","version","sources","names","mappings","sourcesContent","sourceRoot","this","map","concat","l","c","u","btoa","unescape","encodeURIComponent","JSON","stringify","Symbol","iterator","constructor","setPrototypeOf","__proto__","Reflect","construct","sham","Proxy","Boolean","valueOf","Function","bind","from","slice","name","test","TypeError","isFrozen","getPrototypeOf","getOwnPropertyDescriptor","f","freeze","p","seal","create","h","m","y","g","v","R","forEach","b","pop","A","w","String","toLowerCase","_","match","S","replace","C","indexOf","k","trim","x","RegExp","E","T","O","I","get","value","console","warn","N","L","P","j","D","M","U","F","z","B","$","q","H","G","W","V","Y","K","window","removed","document","nodeType","isSupported","DocumentFragment","HTMLTemplateElement","Node","Element","NodeFilter","NamedNodeMap","MozNamedAttrMap","HTMLFormElement","DOMParser","trustedTypes","Q","ee","te","re","ne","createElement","content","ownerDocument","oe","createPolicy","currentScript","hasAttribute","getAttribute","createHTML","X","ie","ae","se","implementation","le","createNodeIterator","ce","createDocumentFragment","ue","getElementsByTagName","fe","importNode","pe","documentMode","de","createHTMLDocument","he","me","ye","ge","ve","be","Ae","we","_e","Se","Ce","ke","xe","Ee","tagNameCheck","writable","configurable","enumerable","attributeNameCheck","allowCustomizedBuiltInElements","Re","Te","Oe","Ie","Ne","Le","Pe","je","De","Me","Ue","Fe","ze","Be","$e","qe","He","Ge","We","Ve","Ye","Ke","Ze","Je","Xe","Qe","et","tt","nt","ot","it","at","PARSER_MEDIA_TYPE","ALLOWED_TAGS","ALLOWED_ATTR","ADD_URI_SAFE_ATTR","ADD_DATA_URI_TAGS","FORBID_CONTENTS","FORBID_TAGS","FORBID_ATTR","USE_PROFILES","ALLOW_ARIA_ATTR","ALLOW_DATA_ATTR","ALLOW_UNKNOWN_PROTOCOLS","SAFE_FOR_TEMPLATES","WHOLE_DOCUMENT","RETURN_DOM","RETURN_DOM_FRAGMENT","RETURN_TRUSTED_TYPE","FORCE_BODY","SANITIZE_DOM","KEEP_CONTENT","IN_PLACE","ALLOWED_URI_REGEXP","NAMESPACE","CUSTOM_ELEMENT_HANDLING","html","svg","svgFilters","mathMl","ADD_TAGS","ADD_ATTR","table","tbody","st","lt","ct","ut","ft","dt","element","parentNode","removeChild","outerHTML","remove","ht","attribute","getAttributeNode","removeAttribute","setAttribute","mt","parseFromString","documentElement","createDocument","innerHTML","body","insertBefore","createTextNode","childNodes","yt","SHOW_ELEMENT","SHOW_COMMENT","SHOW_TEXT","vt","nodeName","bt","At","textContent","attributes","namespaceURI","gt","tagName","allowedTags","hasChildNodes","firstElementChild","_t","pt","cloneNode","wt","St","attrName","attrValue","keepAttr","allowedAttributes","forceKeepAttr","setAttributeNS","Ct","nextNode","sanitize","toStaticHTML","appendChild","firstChild","shadowroot","doctype","setConfig","clearConfig","isValidAttribute","addHook","removeHook","removeHooks","removeAllHooks","childContextTypes","contextType","contextTypes","defaultProps","displayName","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","type","caller","callee","arity","$$typeof","compare","isMemo","ForwardRef","render","Memo","defineProperty","getOwnPropertyNames","getOwnPropertySymbols","for","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","postMessage","location","protocol","parse","dynamicTyping","dynamicTypingFunction","transform","worker","WORKERS_SUPPORTED","URL","webkitURL","BLOB_URL","createObjectURL","Blob","Worker","onmessage","userStep","step","userChunk","chunk","userComplete","complete","userError","error","input","config","workerId","NODE_STREAM_INPUT","download","readable","read","on","File","stream","unparse","delimiter","BAD_DELIMITERS","filter","quotes","skipEmptyLines","newline","quoteChar","header","columns","Error","escapeChar","escapeFormulae","keys","data","fields","meta","Date","charAt","RECORD_SEP","fromCharCode","UNIT_SEP","BYTE_ORDER_MARK","LocalChunkSize","RemoteChunkSize","DefaultDelimiter","Parser","ParserHandle","NetworkStreamer","FileStreamer","StringStreamer","ReadableStreamStreamer","jQuery","fn","each","prop","toUpperCase","attr","FileReader","files","file","inputElem","instanceConfig","extend","before","action","reason","splice","_handle","_finished","_completed","_halted","_input","_baseIndex","_partialLine","_rowCount","_start","_nextChunk","isFirstChunk","_completeResults","errors","chunkSize","parseInt","streamer","_config","parseChunk","beforeFirstChunk","paused","aborted","cursor","substring","preview","results","WORKER_ID","finished","_sendError","_readChunk","_chunkLoaded","XMLHttpRequest","withCredentials","onload","onerror","_chunkError","open","downloadRequestBody","downloadRequestHeaders","setRequestHeader","send","message","status","readyState","responseText","getResponseHeader","lastIndexOf","statusText","webkitSlice","mozSlice","FileReaderSync","Math","min","size","readAsText","encoding","target","result","pause","resume","_streamData","_streamEnd","_streamError","_checkIsFinished","shift","_streamCleanUp","removeListener","pow","abort","transformHeader","parseFloat","code","row","split","comments","abs","successful","bestDelimiter","delimitersToGuess","getCharIndex","setTimeout","fastMode","index","substr","linebreak","truncated","terminate","resetWarningCache","isRequired","array","bigint","bool","func","number","object","string","symbol","any","arrayOf","elementType","instanceOf","node","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","PropTypes","getModuleId","identifier","base","css","media","sourceMap","supports","layer","references","updater","byIndex","domAPI","update","querySelector","HTMLIFrameElement","contentDocument","head","setAttributes","insert","options","nc","insertStyleElement","styleTagTransform","styleSheet","cssText","__esModule","toStringTag","AudioPicker","CSVUploader","Checkboxes","ImagePicker","MediaPicker","PostSelector","SafeHtml","Selector","Rr","TermSelector","Or","VideoPicker","Pr","getMediaUrl","parseCSVFile","useDebounce","It","useHasInnerBlocks","Nt","useInnerBlocks","Pt","useInnerBlocksAttributes","jt","useInnerBlocksCount","Dt","useInnerBlocksIndex","Lt","useMedia","Mt","useParentBlock","Ut","useParentBlockAttributes","Ft","usePost","zt","usePostMeta","Wt","usePostMetaValue","Xt","usePosts","Qt","useTerms","rr","React","charCodeAt","prefix","use","set","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","assign","styledComponentId","process","env","REACT_APP_SC_ATTR","SC_ATTR","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","groupSizes","Uint32Array","tag","indexOfGroup","insertRules","insertRule","clearGroup","deleteRule","getGroup","getRule","Map","has","registerName","getTag","__webpack_nonce__","nextSibling","sheet","styleSheets","ownerNode","cssRules","nodes","rules","isServer","useCSSOMInjection","gs","server","querySelectorAll","registerId","reconstructWithOptions","allocateGSInstance","hasNameForId","add","Set","clearNames","clear","clearRules","clearTag","J","staticRulesId","isStatic","componentId","baseHash","baseStyle","generateAndInjectStyles","hash","plugins","reduce","createContext","Consumer","useContext","useState","stylisPlugins","useMemo","disableCSSOMInjection","disableVendorPrefixes","useEffect","Provider","children","inject","getName","isReactComponent","isCss","attrs","parentComponentId","shouldForwardProp","componentStyle","foldedComponentIds","theme","$as","as","style","className","ref","forwardRef","withComponent","_foldedDefaultProps","withConfig","createStyles","removeStyles","renderStyles","_emitSheetCSS","instance","getStyleTags","sealed","getStyleElement","dangerouslySetInnerHTML","__html","nonce","key","collectStyles","interleaveWithNodeStream","div","src","controls","onReset","onUpdate","onUpdateURL","valueURL","allowedTypes","icon","wp","components","label","onChange","BaseControl","CheckboxControl","checked","includes","i18n","Promise","media_details","sizes","source_url","full","url","ReferenceError","PureComponent","handleChange","state","success","preventDefault","props","attributeName","callback","then","setState","__","catch","onSubmit","handleSubmit","color","htmlFor","alt","title","rt","imageSize","displayControlsInToolbar","blockEditor","useSelect","getMedia","Spinner","href","BlockControls","group","MediaReplaceFlow","mediaId","mediaURL","onSelect","onSelectURL","ToolbarButton","isDestructive","text","onClick","Button","isLarge","isPrimary","MediaPlaceholder","disableMediaButtons","BlockIcon","emptyLabel","maxPages","multiple","placeholder","subTypes","selected","threshold","apiFetch","Uint8Array","crypto","getRandomValues","msCrypto","kt","Et","Rt","Tt","random","rng","xt","Ot","next","done","return","clearTimeout","findIndex","clientId","store","getBlocks","getBlockRootClientId","getBlockAttributes","getEntityRecord","Bt","coreData","$t","lodash","qt","Gt","getCurrentPostType","Ht","useEntityProp","cloneDeep","Vt","Yt","Kt","getOwnPropertyDescriptors","defineProperties","Jt","Zt","getEntityRecords","include","tr","er","nr","isOpen","labelledbyId","loading","selectedItems","role","disabled","some","isTertiary","or","ir","ar","sr","lr","cr","ur","fr","pr","dr","hr","mr","yr","gr","vr","br","Ar","asyncIterator","_invoke","method","arg","delegate","sent","_sent","dispatchException","abrupt","wrap","resolve","__await","resultName","nextLoc","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","completion","reset","isNaN","isGeneratorFunction","mark","awrap","AsyncIterator","async","reverse","values","prev","stop","rval","finish","delegateYield","wr","xr","kr","_r","Cr","locals","Er","useRef","useCallback","Sr","addQueryArgs","page","search","subtype","path","headers","json","current","contains","addEventListener","removeEventListener","isSecondary","isSmall","autoComplete","onFocus","labelledById","Tr","Ir","Nr","Lr","module","_typeof","obj","_setPrototypeOf","_construct","Parent","args","Class","_isNativeReflectConstruct","_toConsumableArray","arr","_arrayLikeToArray","_arrayWithoutHoles","iter","_iterableToArray","minLen","_unsupportedIterableToArray","_nonIterableSpread","len","arr2","_ref","fun","thisValue","Func","arrayForEach","unapply","arrayPop","arrayPush","stringToLowerCase","stringToString","stringMatch","stringReplace","stringIndexOf","stringTrim","regExpTest","typeErrorCreate","_len2","_key2","thisArg","_len","_key","addToSet","transformCaseFunc","lcElement","clone","property","newObject","lookupGetter","desc","html$1","svg$1","svgDisallowed","mathMl$1","mathMlDisallowed","xml","MUSTACHE_EXPR","ERB_EXPR","TMPLIT_EXPR","DATA_ATTR","ARIA_ATTR","IS_ALLOWED_URI","IS_SCRIPT_OR_DATA","ATTR_WHITESPACE","DOCTYPE_NAME","getGlobal","createDOMPurify","undefined","DOMPurify","root","originalDocument","_window$NamedNodeMap","ElementPrototype","getNextSibling","getChildNodes","getParentNode","template","trustedTypesPolicy","suffix","ATTR_NAME","policyName","createScriptURL","scriptUrl","_createTrustedTypesPolicy","emptyHTML","_document","hooks","MUSTACHE_EXPR$1","ERB_EXPR$1","TMPLIT_EXPR$1","DATA_ATTR$1","ARIA_ATTR$1","IS_SCRIPT_OR_DATA$1","ATTR_WHITESPACE$1","IS_ALLOWED_URI$1","DEFAULT_ALLOWED_TAGS","DEFAULT_ALLOWED_ATTR","SET_CONFIG","SANITIZE_NAMED_PROPS","DEFAULT_FORBID_CONTENTS","DATA_URI_TAGS","DEFAULT_DATA_URI_TAGS","URI_SAFE_ATTRIBUTES","DEFAULT_URI_SAFE_ATTRIBUTES","MATHML_NAMESPACE","SVG_NAMESPACE","HTML_NAMESPACE","IS_EMPTY_INPUT","ALLOWED_NAMESPACES","DEFAULT_ALLOWED_NAMESPACES","SUPPORTED_PARSER_MEDIA_TYPES","CONFIG","formElement","isRegexOrFunction","testValue","_parseConfig","cfg","MATHML_TEXT_INTEGRATION_POINTS","HTML_INTEGRATION_POINTS","COMMON_SVG_AND_HTML_ELEMENTS","ALL_SVG_TAGS","ALL_MATHML_TAGS","_forceRemove","_removeAttribute","_initDocument","dirty","doc","leadingWhitespace","matches","dirtyPayload","_createIterator","_isNode","_executeHook","entryPoint","currentNode","hook","_sanitizeElements","elm","_basicCustomElementTest","parent","parentTagName","_checkValidNamespace","_isValidAttribute","lcTag","lcName","_sanitizeAttributes","hookEvent","_attr","getAttributeType","_sanitizeShadowDOM","fragment","shadowNode","shadowIterator","importedNode","oldNode","returnNode","nodeIterator","serializedHTML","hookFunction","factory","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","shim","propName","componentName","propFullName","secret","err","getShim","ReactPropTypes","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","getter","definition","Icon","enableBackground","height","viewBox","width","xmlns","CoverImage","coverImageCaption","coverImageId","onChangeCoverImageCaption","onChangeCoverImageId","PanelBody","initialOpen","TextareaControl","help","MaturityRating","maturityRating","onChangeMaturityRating","SelectControl","METADATA_SHAPE","SECTION_SHAPE","updateValueAtIndex","valuesCopy","item","Metadata","isHidden","isPaid","isPreview","isSponsored","metadata","onChangeIsHidden","onChangeIsPaid","onChangeIsPreview","onChangeIsSponsored","onChangeMetadata","onChangeSuppressVideoURL","onChangeUseImageComponent","suppressVideoURL","useImageComponent","TextControl","deleteAtIndex","idx","marginBottom","PublishControls","apiAutosync","apiAutosyncDelete","apiAutosyncUpdate","deletePost","postIsDirty","postStatus","publishPost","publishState","updatePost","userCanPublish","margin","PublishInfo","apiId","dateCreated","dateModified","revision","shareUrl","PullQuote","onChangePullquotePosition","onChangePullquoteText","pullquotePosition","pullquoteText","Sections","autoAssignCategories","automaticAssignment","onChangeAutoAssignCategories","onChangeSelectedSections","sections","selectedSections","Slug","onChangeSlug","slug","parsedValue","safeJsonParse","registerPlugin","Sidebar","settings","dispatchNotice","useDispatch","notices","postId","select","editor","getEditedPostAttribute","getCurrentPostId","isEditedPostDirty","apple_news_api_created_at","apple_news_api_id","apple_news_api_modified_at","apple_news_api_revision","apple_news_api_share_url","setCoverImageId","setCoverImageCaption","setIsHidden","setIsPaid","setIsPreview","setIsSponsored","setMaturityRating","metadataRaw","setMetadataRaw","setPullquoteText","setPullquotePosition","selectedSectionsRaw","setSelectedSectionsRaw","setSlug","setSuppressVideoURL","setUseImageComponent","safeJsonParseArray","setSelectedSections","displayNotification","createInfoNotice","createErrorNotice","__unstableHTML","modifyPost","notifications","nextPublishState","operation","notification","fetches","all","notice","PluginSidebarMoreMenuItem","PluginSidebar","section"],"sourceRoot":""}
\ No newline at end of file
diff --git a/composer.lock b/composer.lock
new file mode 100644
index 00000000..7add3d28
--- /dev/null
+++ b/composer.lock
@@ -0,0 +1,8679 @@
+{
+ "_readme": [
+ "This file locks the dependencies of your project to a known state",
+ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
+ "This file is @generated automatically"
+ ],
+ "content-hash": "2a3fbaaf93608bc0aacd21fc7519046e",
+ "packages": [
+ {
+ "name": "composer/installers",
+ "version": "v1.12.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/composer/installers.git",
+ "reference": "d20a64ed3c94748397ff5973488761b22f6d3f19"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/composer/installers/zipball/d20a64ed3c94748397ff5973488761b22f6d3f19",
+ "reference": "d20a64ed3c94748397ff5973488761b22f6d3f19",
+ "shasum": ""
+ },
+ "require": {
+ "composer-plugin-api": "^1.0 || ^2.0"
+ },
+ "replace": {
+ "roundcube/plugin-installer": "*",
+ "shama/baton": "*"
+ },
+ "require-dev": {
+ "composer/composer": "1.6.* || ^2.0",
+ "composer/semver": "^1 || ^3",
+ "phpstan/phpstan": "^0.12.55",
+ "phpstan/phpstan-phpunit": "^0.12.16",
+ "symfony/phpunit-bridge": "^4.2 || ^5",
+ "symfony/process": "^2.3"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "Composer\\Installers\\Plugin",
+ "branch-alias": {
+ "dev-main": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Composer\\Installers\\": "src/Composer/Installers"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Kyle Robinson Young",
+ "email": "kyle@dontkry.com",
+ "homepage": "https://github.com/shama"
+ }
+ ],
+ "description": "A multi-framework Composer library installer",
+ "homepage": "https://composer.github.io/installers/",
+ "keywords": [
+ "Craft",
+ "Dolibarr",
+ "Eliasis",
+ "Hurad",
+ "ImageCMS",
+ "Kanboard",
+ "Lan Management System",
+ "MODX Evo",
+ "MantisBT",
+ "Mautic",
+ "Maya",
+ "OXID",
+ "Plentymarkets",
+ "Porto",
+ "RadPHP",
+ "SMF",
+ "Starbug",
+ "Thelia",
+ "Whmcs",
+ "WolfCMS",
+ "agl",
+ "aimeos",
+ "annotatecms",
+ "attogram",
+ "bitrix",
+ "cakephp",
+ "chef",
+ "cockpit",
+ "codeigniter",
+ "concrete5",
+ "croogo",
+ "dokuwiki",
+ "drupal",
+ "eZ Platform",
+ "elgg",
+ "expressionengine",
+ "fuelphp",
+ "grav",
+ "installer",
+ "itop",
+ "joomla",
+ "known",
+ "kohana",
+ "laravel",
+ "lavalite",
+ "lithium",
+ "magento",
+ "majima",
+ "mako",
+ "mediawiki",
+ "miaoxing",
+ "modulework",
+ "modx",
+ "moodle",
+ "osclass",
+ "pantheon",
+ "phpbb",
+ "piwik",
+ "ppi",
+ "processwire",
+ "puppet",
+ "pxcms",
+ "reindex",
+ "roundcube",
+ "shopware",
+ "silverstripe",
+ "sydes",
+ "sylius",
+ "symfony",
+ "tastyigniter",
+ "typo3",
+ "wordpress",
+ "yawik",
+ "zend",
+ "zikula"
+ ],
+ "support": {
+ "issues": "https://github.com/composer/installers/issues",
+ "source": "https://github.com/composer/installers/tree/v1.12.0"
+ },
+ "funding": [
+ {
+ "url": "https://packagist.com",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/composer",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/composer/composer",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2021-09-13T08:19:44+00:00"
+ }
+ ],
+ "packages-dev": [
+ {
+ "name": "alleyinteractive/alley-coding-standards",
+ "version": "v2.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/alleyinteractive/alley-coding-standards.git",
+ "reference": "f221c2ebfca1a3617c244c4bbe82e16d2aebe5f3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/alleyinteractive/alley-coding-standards/zipball/f221c2ebfca1a3617c244c4bbe82e16d2aebe5f3",
+ "reference": "f221c2ebfca1a3617c244c4bbe82e16d2aebe5f3",
+ "shasum": ""
+ },
+ "require": {
+ "automattic/vipwpcs": "^3.0",
+ "phpcompatibility/phpcompatibility-wp": "^2.1.4"
+ },
+ "type": "phpcodesniffer-standard",
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "description": "PHPCS sniffs for Alley Interactive",
+ "keywords": [
+ "phpcs",
+ "static analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/alleyinteractive/alley-coding-standards/issues",
+ "source": "https://github.com/alleyinteractive/alley-coding-standards/tree/v2.0.1"
+ },
+ "time": "2023-09-19T13:38:47+00:00"
+ },
+ {
+ "name": "alleyinteractive/composer-wordpress-autoloader",
+ "version": "v1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/alleyinteractive/composer-wordpress-autoloader.git",
+ "reference": "30acf9e3498a84af478e316ae3869fa362835695"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/alleyinteractive/composer-wordpress-autoloader/zipball/30acf9e3498a84af478e316ae3869fa362835695",
+ "reference": "30acf9e3498a84af478e316ae3869fa362835695",
+ "shasum": ""
+ },
+ "require": {
+ "alleyinteractive/wordpress-autoloader": "^1.1.1",
+ "composer-plugin-api": "^2.0",
+ "php": "^8.0"
+ },
+ "require-dev": {
+ "composer/composer": "*",
+ "phpunit/phpunit": "^9.5.8",
+ "squizlabs/php_codesniffer": "^4.0"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "ComposerWordPressAutoloader\\Plugin"
+ },
+ "autoload": {
+ "files": [
+ "src/autoload.php"
+ ],
+ "psr-4": {
+ "ComposerWordPressAutoloader\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Alley Interactive",
+ "email": "info@alley.co"
+ },
+ {
+ "name": "Sean Fisher",
+ "email": "sean@alley.co"
+ }
+ ],
+ "description": "Autoload files using WordPress File Conventions using Composer",
+ "support": {
+ "issues": "https://github.com/alleyinteractive/composer-wordpress-autoloader/issues",
+ "source": "https://github.com/alleyinteractive/composer-wordpress-autoloader/tree/v1.1.0"
+ },
+ "time": "2023-12-06T20:21:22+00:00"
+ },
+ {
+ "name": "alleyinteractive/wordpress-autoloader",
+ "version": "v1.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/alleyinteractive/wordpress-autoloader.git",
+ "reference": "c7599d95f49f1cdc38fad19944a50b19ec0dd6ca"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/alleyinteractive/wordpress-autoloader/zipball/c7599d95f49f1cdc38fad19944a50b19ec0dd6ca",
+ "reference": "c7599d95f49f1cdc38fad19944a50b19ec0dd6ca",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.4.0|^8.0|^8.1"
+ },
+ "require-dev": {
+ "alleyinteractive/alley-coding-standards": "^0.3",
+ "phpunit/phpunit": "^9.5.8"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "src/class-autoloader.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Alley Interactive",
+ "email": "info@alley.co"
+ }
+ ],
+ "description": "Autoload files using WordPress File Conventions",
+ "support": {
+ "issues": "https://github.com/alleyinteractive/wordpress-autoloader/issues",
+ "source": "https://github.com/alleyinteractive/wordpress-autoloader/tree/v1.1.1"
+ },
+ "time": "2022-08-31T20:51:21+00:00"
+ },
+ {
+ "name": "alleyinteractive/wp-concurrent-remote-requests",
+ "version": "v1.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/alleyinteractive/wp-concurrent-remote-requests.git",
+ "reference": "404301c975989958e8086542d56df847ae3aacc2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/alleyinteractive/wp-concurrent-remote-requests/zipball/404301c975989958e8086542d56df847ae3aacc2",
+ "reference": "404301c975989958e8086542d56df847ae3aacc2",
+ "shasum": ""
+ },
+ "require": {
+ "alleyinteractive/composer-wordpress-autoloader": "*",
+ "php": "^7.4 || ^8.0"
+ },
+ "require-dev": {
+ "alleyinteractive/alley-coding-standards": "^0.3",
+ "nunomaduro/collision": "^5.0",
+ "phpunit/phpunit": "^9.3.3"
+ },
+ "type": "library",
+ "extra": {
+ "wordpress-autoloader": {
+ "autoload": {
+ "Alley\\WP\\Concurrent_Remote_Requests\\": "src"
+ },
+ "autoload-dev": {
+ "Alley\\WP\\Concurrent_Remote_Requests\\Tests\\": "tests"
+ }
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/helpers.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Sean Fisher",
+ "email": "srtfisher@gmail.com"
+ }
+ ],
+ "description": "Feature plugin for concurrent HTTP remote requests",
+ "homepage": "https://github.com/alleyinteractive/wp-concurrent-remote-requests",
+ "keywords": [
+ "alleyinteractive",
+ "wp-concurrent-remote-requests"
+ ],
+ "support": {
+ "issues": "https://github.com/alleyinteractive/wp-concurrent-remote-requests/issues",
+ "source": "https://github.com/alleyinteractive/wp-concurrent-remote-requests/tree/v1.0.2"
+ },
+ "time": "2023-04-11T19:52:47+00:00"
+ },
+ {
+ "name": "alleyinteractive/wp-filter-side-effects",
+ "version": "v2.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/alleyinteractive/wp-filter-side-effects.git",
+ "reference": "3107f336e7079782e4d16a9361b512c7d569a780"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/alleyinteractive/wp-filter-side-effects/zipball/3107f336e7079782e4d16a9361b512c7d569a780",
+ "reference": "3107f336e7079782e4d16a9361b512c7d569a780",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^8.0"
+ },
+ "require-dev": {
+ "alleyinteractive/alley-coding-standards": "^1.0.0",
+ "friendsofphp/php-cs-fixer": "^3.8",
+ "mantle-framework/testkit": "^0.5"
+ },
+ "type": "library",
+ "extra": {
+ "wordpress-autoloader": {
+ "autoload": {
+ "Alley\\": "src/alley/"
+ },
+ "autoload-dev": {
+ "Alley\\": "tests/alley/"
+ }
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/alley/wp/filter-side-effects.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Alley",
+ "email": "info@alley.com"
+ }
+ ],
+ "description": "Use a WordPress filter like an action.",
+ "support": {
+ "issues": "https://github.com/alleyinteractive/wp-filter-side-effects/issues",
+ "source": "https://github.com/alleyinteractive/wp-filter-side-effects/tree/v2.0.0"
+ },
+ "time": "2022-12-29T19:26:23+00:00"
+ },
+ {
+ "name": "automattic/vipwpcs",
+ "version": "3.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Automattic/VIP-Coding-Standards.git",
+ "reference": "1b8960ebff9ea3eb482258a906ece4d1ee1e25fd"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Automattic/VIP-Coding-Standards/zipball/1b8960ebff9ea3eb482258a906ece4d1ee1e25fd",
+ "reference": "1b8960ebff9ea3eb482258a906ece4d1ee1e25fd",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.4",
+ "phpcsstandards/phpcsextra": "^1.1.0",
+ "phpcsstandards/phpcsutils": "^1.0.8",
+ "sirbrillig/phpcs-variable-analysis": "^2.11.17",
+ "squizlabs/php_codesniffer": "^3.7.2",
+ "wp-coding-standards/wpcs": "^3.0"
+ },
+ "require-dev": {
+ "php-parallel-lint/php-console-highlighter": "^1.0.0",
+ "php-parallel-lint/php-parallel-lint": "^1.3.2",
+ "phpcompatibility/php-compatibility": "^9",
+ "phpcsstandards/phpcsdevtools": "^1.0",
+ "phpunit/phpunit": "^4 || ^5 || ^6 || ^7"
+ },
+ "type": "phpcodesniffer-standard",
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/Automattic/VIP-Coding-Standards/graphs/contributors"
+ }
+ ],
+ "description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress VIP minimum coding conventions",
+ "keywords": [
+ "phpcs",
+ "standards",
+ "static analysis",
+ "wordpress"
+ ],
+ "support": {
+ "issues": "https://github.com/Automattic/VIP-Coding-Standards/issues",
+ "source": "https://github.com/Automattic/VIP-Coding-Standards",
+ "wiki": "https://github.com/Automattic/VIP-Coding-Standards/wiki"
+ },
+ "time": "2023-09-05T11:01:05+00:00"
+ },
+ {
+ "name": "brick/math",
+ "version": "0.11.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/brick/math.git",
+ "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/brick/math/zipball/0ad82ce168c82ba30d1c01ec86116ab52f589478",
+ "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^8.0"
+ },
+ "require-dev": {
+ "php-coveralls/php-coveralls": "^2.2",
+ "phpunit/phpunit": "^9.0",
+ "vimeo/psalm": "5.0.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Brick\\Math\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Arbitrary-precision arithmetic library",
+ "keywords": [
+ "Arbitrary-precision",
+ "BigInteger",
+ "BigRational",
+ "arithmetic",
+ "bigdecimal",
+ "bignum",
+ "brick",
+ "math"
+ ],
+ "support": {
+ "issues": "https://github.com/brick/math/issues",
+ "source": "https://github.com/brick/math/tree/0.11.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/BenMorel",
+ "type": "github"
+ }
+ ],
+ "time": "2023-01-15T23:15:59+00:00"
+ },
+ {
+ "name": "carbonphp/carbon-doctrine-types",
+ "version": "3.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git",
+ "reference": "a31d3358a2a5d6ae947df1691d1f321418a5f3d5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/a31d3358a2a5d6ae947df1691d1f321418a5f3d5",
+ "reference": "a31d3358a2a5d6ae947df1691d1f321418a5f3d5",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^8.1"
+ },
+ "conflict": {
+ "doctrine/dbal": "<4.0.0 || >=5.0.0"
+ },
+ "require-dev": {
+ "doctrine/dbal": "^4.0.0",
+ "nesbot/carbon": "^2.71.0 || ^3.0.0",
+ "phpunit/phpunit": "^10.3"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Carbon\\Doctrine\\": "src/Carbon/Doctrine/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "KyleKatarn",
+ "email": "kylekatarnls@gmail.com"
+ }
+ ],
+ "description": "Types to use Carbon in Doctrine",
+ "keywords": [
+ "carbon",
+ "date",
+ "datetime",
+ "doctrine",
+ "time"
+ ],
+ "support": {
+ "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues",
+ "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/3.1.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/kylekatarnls",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/Carbon",
+ "type": "open_collective"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-10T15:33:53+00:00"
+ },
+ {
+ "name": "dealerdirect/phpcodesniffer-composer-installer",
+ "version": "v1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/PHPCSStandards/composer-installer.git",
+ "reference": "4be43904336affa5c2f70744a348312336afd0da"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/PHPCSStandards/composer-installer/zipball/4be43904336affa5c2f70744a348312336afd0da",
+ "reference": "4be43904336affa5c2f70744a348312336afd0da",
+ "shasum": ""
+ },
+ "require": {
+ "composer-plugin-api": "^1.0 || ^2.0",
+ "php": ">=5.4",
+ "squizlabs/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0"
+ },
+ "require-dev": {
+ "composer/composer": "*",
+ "ext-json": "*",
+ "ext-zip": "*",
+ "php-parallel-lint/php-parallel-lint": "^1.3.1",
+ "phpcompatibility/php-compatibility": "^9.0",
+ "yoast/phpunit-polyfills": "^1.0"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin"
+ },
+ "autoload": {
+ "psr-4": {
+ "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Franck Nijhof",
+ "email": "franck.nijhof@dealerdirect.com",
+ "homepage": "http://www.frenck.nl",
+ "role": "Developer / IT Manager"
+ },
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/PHPCSStandards/composer-installer/graphs/contributors"
+ }
+ ],
+ "description": "PHP_CodeSniffer Standards Composer Installer Plugin",
+ "homepage": "http://www.dealerdirect.com",
+ "keywords": [
+ "PHPCodeSniffer",
+ "PHP_CodeSniffer",
+ "code quality",
+ "codesniffer",
+ "composer",
+ "installer",
+ "phpcbf",
+ "phpcs",
+ "plugin",
+ "qa",
+ "quality",
+ "standard",
+ "standards",
+ "style guide",
+ "stylecheck",
+ "tests"
+ ],
+ "support": {
+ "issues": "https://github.com/PHPCSStandards/composer-installer/issues",
+ "source": "https://github.com/PHPCSStandards/composer-installer"
+ },
+ "time": "2023-01-05T11:28:13+00:00"
+ },
+ {
+ "name": "dflydev/dot-access-data",
+ "version": "v3.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/dflydev/dflydev-dot-access-data.git",
+ "reference": "f41715465d65213d644d3141a6a93081be5d3549"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549",
+ "reference": "f41715465d65213d644d3141a6a93081be5d3549",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^0.12.42",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3",
+ "scrutinizer/ocular": "1.6.0",
+ "squizlabs/php_codesniffer": "^3.5",
+ "vimeo/psalm": "^4.0.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Dflydev\\DotAccessData\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Dragonfly Development Inc.",
+ "email": "info@dflydev.com",
+ "homepage": "http://dflydev.com"
+ },
+ {
+ "name": "Beau Simensen",
+ "email": "beau@dflydev.com",
+ "homepage": "http://beausimensen.com"
+ },
+ {
+ "name": "Carlos Frutos",
+ "email": "carlos@kiwing.it",
+ "homepage": "https://github.com/cfrutos"
+ },
+ {
+ "name": "Colin O'Dell",
+ "email": "colinodell@gmail.com",
+ "homepage": "https://www.colinodell.com"
+ }
+ ],
+ "description": "Given a deep data structure, access data by dot notation.",
+ "homepage": "https://github.com/dflydev/dflydev-dot-access-data",
+ "keywords": [
+ "access",
+ "data",
+ "dot",
+ "notation"
+ ],
+ "support": {
+ "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues",
+ "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2"
+ },
+ "time": "2022-10-27T11:44:00+00:00"
+ },
+ {
+ "name": "doctrine/deprecations",
+ "version": "1.1.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/deprecations.git",
+ "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
+ "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "^9",
+ "phpstan/phpstan": "1.4.10 || 1.10.15",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "psalm/plugin-phpunit": "0.18.4",
+ "psr/log": "^1 || ^2 || ^3",
+ "vimeo/psalm": "4.30.0 || 5.12.0"
+ },
+ "suggest": {
+ "psr/log": "Allows logging deprecations via PSR-3 logger implementation"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.",
+ "homepage": "https://www.doctrine-project.org/",
+ "support": {
+ "issues": "https://github.com/doctrine/deprecations/issues",
+ "source": "https://github.com/doctrine/deprecations/tree/1.1.2"
+ },
+ "time": "2023-09-27T20:04:15+00:00"
+ },
+ {
+ "name": "doctrine/inflector",
+ "version": "2.0.9",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/inflector.git",
+ "reference": "2930cd5ef353871c821d5c43ed030d39ac8cfe65"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/inflector/zipball/2930cd5ef353871c821d5c43ed030d39ac8cfe65",
+ "reference": "2930cd5ef353871c821d5c43ed030d39ac8cfe65",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "^11.0",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-phpunit": "^1.1",
+ "phpstan/phpstan-strict-rules": "^1.3",
+ "phpunit/phpunit": "^8.5 || ^9.5",
+ "vimeo/psalm": "^4.25 || ^5.4"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Inflector\\": "lib/Doctrine/Inflector"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Guilherme Blanco",
+ "email": "guilhermeblanco@gmail.com"
+ },
+ {
+ "name": "Roman Borschel",
+ "email": "roman@code-factory.org"
+ },
+ {
+ "name": "Benjamin Eberlei",
+ "email": "kontakt@beberlei.de"
+ },
+ {
+ "name": "Jonathan Wage",
+ "email": "jonwage@gmail.com"
+ },
+ {
+ "name": "Johannes Schmitt",
+ "email": "schmittjoh@gmail.com"
+ }
+ ],
+ "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.",
+ "homepage": "https://www.doctrine-project.org/projects/inflector.html",
+ "keywords": [
+ "inflection",
+ "inflector",
+ "lowercase",
+ "manipulation",
+ "php",
+ "plural",
+ "singular",
+ "strings",
+ "uppercase",
+ "words"
+ ],
+ "support": {
+ "issues": "https://github.com/doctrine/inflector/issues",
+ "source": "https://github.com/doctrine/inflector/tree/2.0.9"
+ },
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-01-15T18:05:13+00:00"
+ },
+ {
+ "name": "doctrine/instantiator",
+ "version": "2.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/doctrine/instantiator.git",
+ "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
+ "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^8.1"
+ },
+ "require-dev": {
+ "doctrine/coding-standard": "^11",
+ "ext-pdo": "*",
+ "ext-phar": "*",
+ "phpbench/phpbench": "^1.2",
+ "phpstan/phpstan": "^1.9.4",
+ "phpstan/phpstan-phpunit": "^1.3",
+ "phpunit/phpunit": "^9.5.27",
+ "vimeo/psalm": "^5.4"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com",
+ "homepage": "https://ocramius.github.io/"
+ }
+ ],
+ "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
+ "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
+ "keywords": [
+ "constructor",
+ "instantiate"
+ ],
+ "support": {
+ "issues": "https://github.com/doctrine/instantiator/issues",
+ "source": "https://github.com/doctrine/instantiator/tree/2.0.0"
+ },
+ "funding": [
+ {
+ "url": "https://www.doctrine-project.org/sponsorship.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.patreon.com/phpdoctrine",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-12-30T00:23:10+00:00"
+ },
+ {
+ "name": "fakerphp/faker",
+ "version": "v1.23.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/FakerPHP/Faker.git",
+ "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b",
+ "reference": "bfb4fe148adbf78eff521199619b93a52ae3554b",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.4 || ^8.0",
+ "psr/container": "^1.0 || ^2.0",
+ "symfony/deprecation-contracts": "^2.2 || ^3.0"
+ },
+ "conflict": {
+ "fzaninotto/faker": "*"
+ },
+ "require-dev": {
+ "bamarni/composer-bin-plugin": "^1.4.1",
+ "doctrine/persistence": "^1.3 || ^2.0",
+ "ext-intl": "*",
+ "phpunit/phpunit": "^9.5.26",
+ "symfony/phpunit-bridge": "^5.4.16"
+ },
+ "suggest": {
+ "doctrine/orm": "Required to use Faker\\ORM\\Doctrine",
+ "ext-curl": "Required by Faker\\Provider\\Image to download images.",
+ "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.",
+ "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.",
+ "ext-mbstring": "Required for multibyte Unicode string functionality."
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Faker\\": "src/Faker/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "François Zaninotto"
+ }
+ ],
+ "description": "Faker is a PHP library that generates fake data for you.",
+ "keywords": [
+ "data",
+ "faker",
+ "fixtures"
+ ],
+ "support": {
+ "issues": "https://github.com/FakerPHP/Faker/issues",
+ "source": "https://github.com/FakerPHP/Faker/tree/v1.23.1"
+ },
+ "time": "2024-01-02T13:46:09+00:00"
+ },
+ {
+ "name": "filp/whoops",
+ "version": "2.15.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/filp/whoops.git",
+ "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546",
+ "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^5.5.9 || ^7.0 || ^8.0",
+ "psr/log": "^1.0.1 || ^2.0 || ^3.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "^0.9 || ^1.0",
+ "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3",
+ "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0"
+ },
+ "suggest": {
+ "symfony/var-dumper": "Pretty print complex values better with var-dumper available",
+ "whoops/soap": "Formats errors as SOAP responses"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.7-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Whoops\\": "src/Whoops/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Filipe Dobreira",
+ "homepage": "https://github.com/filp",
+ "role": "Developer"
+ }
+ ],
+ "description": "php error handling for cool kids",
+ "homepage": "https://filp.github.io/whoops/",
+ "keywords": [
+ "error",
+ "exception",
+ "handling",
+ "library",
+ "throwable",
+ "whoops"
+ ],
+ "support": {
+ "issues": "https://github.com/filp/whoops/issues",
+ "source": "https://github.com/filp/whoops/tree/2.15.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/denis-sokolov",
+ "type": "github"
+ }
+ ],
+ "time": "2023-11-03T12:00:00+00:00"
+ },
+ {
+ "name": "illuminate/bus",
+ "version": "v9.52.16",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/illuminate/bus.git",
+ "reference": "4c719a19c3d8c34b2494a7206f8ffde3eff3f983"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/illuminate/bus/zipball/4c719a19c3d8c34b2494a7206f8ffde3eff3f983",
+ "reference": "4c719a19c3d8c34b2494a7206f8ffde3eff3f983",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/collections": "^9.0",
+ "illuminate/contracts": "^9.0",
+ "illuminate/pipeline": "^9.0",
+ "illuminate/support": "^9.0",
+ "php": "^8.0.2"
+ },
+ "suggest": {
+ "illuminate/queue": "Required to use closures when chaining jobs (^7.0)."
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Illuminate\\Bus\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "The Illuminate Bus package.",
+ "homepage": "https://laravel.com",
+ "support": {
+ "issues": "https://github.com/laravel/framework/issues",
+ "source": "https://github.com/laravel/framework"
+ },
+ "time": "2023-04-18T13:42:14+00:00"
+ },
+ {
+ "name": "illuminate/collections",
+ "version": "v9.52.16",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/illuminate/collections.git",
+ "reference": "d3710b0b244bfc62c288c1a87eaa62dd28352d1f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/illuminate/collections/zipball/d3710b0b244bfc62c288c1a87eaa62dd28352d1f",
+ "reference": "d3710b0b244bfc62c288c1a87eaa62dd28352d1f",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/conditionable": "^9.0",
+ "illuminate/contracts": "^9.0",
+ "illuminate/macroable": "^9.0",
+ "php": "^8.0.2"
+ },
+ "suggest": {
+ "symfony/var-dumper": "Required to use the dump method (^6.0)."
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.x-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "helpers.php"
+ ],
+ "psr-4": {
+ "Illuminate\\Support\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "The Illuminate Collections package.",
+ "homepage": "https://laravel.com",
+ "support": {
+ "issues": "https://github.com/laravel/framework/issues",
+ "source": "https://github.com/laravel/framework"
+ },
+ "time": "2023-06-11T21:17:10+00:00"
+ },
+ {
+ "name": "illuminate/conditionable",
+ "version": "v9.52.16",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/illuminate/conditionable.git",
+ "reference": "bea24daa0fa84b7e7b0d5b84f62c71b7e2dc3364"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/illuminate/conditionable/zipball/bea24daa0fa84b7e7b0d5b84f62c71b7e2dc3364",
+ "reference": "bea24daa0fa84b7e7b0d5b84f62c71b7e2dc3364",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^8.0.2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Illuminate\\Support\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "The Illuminate Conditionable package.",
+ "homepage": "https://laravel.com",
+ "support": {
+ "issues": "https://github.com/laravel/framework/issues",
+ "source": "https://github.com/laravel/framework"
+ },
+ "time": "2023-02-01T21:42:32+00:00"
+ },
+ {
+ "name": "illuminate/container",
+ "version": "v9.52.16",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/illuminate/container.git",
+ "reference": "1641dda2d0750b68bb1264a3b37ff3973f2e6265"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/illuminate/container/zipball/1641dda2d0750b68bb1264a3b37ff3973f2e6265",
+ "reference": "1641dda2d0750b68bb1264a3b37ff3973f2e6265",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/contracts": "^9.0",
+ "php": "^8.0.2",
+ "psr/container": "^1.1.1|^2.0.1"
+ },
+ "provide": {
+ "psr/container-implementation": "1.1|2.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Illuminate\\Container\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "The Illuminate Container package.",
+ "homepage": "https://laravel.com",
+ "support": {
+ "issues": "https://github.com/laravel/framework/issues",
+ "source": "https://github.com/laravel/framework"
+ },
+ "time": "2023-01-24T16:54:18+00:00"
+ },
+ {
+ "name": "illuminate/contracts",
+ "version": "v9.52.16",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/illuminate/contracts.git",
+ "reference": "44f65d723b13823baa02ff69751a5948bde60c22"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/illuminate/contracts/zipball/44f65d723b13823baa02ff69751a5948bde60c22",
+ "reference": "44f65d723b13823baa02ff69751a5948bde60c22",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^8.0.2",
+ "psr/container": "^1.1.1|^2.0.1",
+ "psr/simple-cache": "^1.0|^2.0|^3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Illuminate\\Contracts\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "The Illuminate Contracts package.",
+ "homepage": "https://laravel.com",
+ "support": {
+ "issues": "https://github.com/laravel/framework/issues",
+ "source": "https://github.com/laravel/framework"
+ },
+ "time": "2023-02-08T14:36:30+00:00"
+ },
+ {
+ "name": "illuminate/events",
+ "version": "v9.52.16",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/illuminate/events.git",
+ "reference": "8e534676bac23bc17925f5c74c128f9c09b98f69"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/illuminate/events/zipball/8e534676bac23bc17925f5c74c128f9c09b98f69",
+ "reference": "8e534676bac23bc17925f5c74c128f9c09b98f69",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/bus": "^9.0",
+ "illuminate/collections": "^9.0",
+ "illuminate/container": "^9.0",
+ "illuminate/contracts": "^9.0",
+ "illuminate/macroable": "^9.0",
+ "illuminate/support": "^9.0",
+ "php": "^8.0.2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.x-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "functions.php"
+ ],
+ "psr-4": {
+ "Illuminate\\Events\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "The Illuminate Events package.",
+ "homepage": "https://laravel.com",
+ "support": {
+ "issues": "https://github.com/laravel/framework/issues",
+ "source": "https://github.com/laravel/framework"
+ },
+ "time": "2022-09-15T13:14:12+00:00"
+ },
+ {
+ "name": "illuminate/filesystem",
+ "version": "v9.52.16",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/illuminate/filesystem.git",
+ "reference": "8168361548b2c5e2e501096cfbadb62a4a526290"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/illuminate/filesystem/zipball/8168361548b2c5e2e501096cfbadb62a4a526290",
+ "reference": "8168361548b2c5e2e501096cfbadb62a4a526290",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/collections": "^9.0",
+ "illuminate/contracts": "^9.0",
+ "illuminate/macroable": "^9.0",
+ "illuminate/support": "^9.0",
+ "php": "^8.0.2",
+ "symfony/finder": "^6.0"
+ },
+ "suggest": {
+ "ext-fileinfo": "Required to use the Filesystem class.",
+ "ext-ftp": "Required to use the Flysystem FTP driver.",
+ "ext-hash": "Required to use the Filesystem class.",
+ "illuminate/http": "Required for handling uploaded files (^7.0).",
+ "league/flysystem": "Required to use the Flysystem local driver (^3.0.16).",
+ "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).",
+ "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).",
+ "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).",
+ "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).",
+ "symfony/filesystem": "Required to enable support for relative symbolic links (^6.0).",
+ "symfony/mime": "Required to enable support for guessing extensions (^6.0)."
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Illuminate\\Filesystem\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "The Illuminate Filesystem package.",
+ "homepage": "https://laravel.com",
+ "support": {
+ "issues": "https://github.com/laravel/framework/issues",
+ "source": "https://github.com/laravel/framework"
+ },
+ "time": "2023-02-10T20:24:35+00:00"
+ },
+ {
+ "name": "illuminate/macroable",
+ "version": "v9.52.16",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/illuminate/macroable.git",
+ "reference": "e3bfaf6401742a9c6abca61b9b10e998e5b6449a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/illuminate/macroable/zipball/e3bfaf6401742a9c6abca61b9b10e998e5b6449a",
+ "reference": "e3bfaf6401742a9c6abca61b9b10e998e5b6449a",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^8.0.2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Illuminate\\Support\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "The Illuminate Macroable package.",
+ "homepage": "https://laravel.com",
+ "support": {
+ "issues": "https://github.com/laravel/framework/issues",
+ "source": "https://github.com/laravel/framework"
+ },
+ "time": "2022-08-09T13:29:29+00:00"
+ },
+ {
+ "name": "illuminate/pipeline",
+ "version": "v9.52.16",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/illuminate/pipeline.git",
+ "reference": "e0be3f3f79f8235ad7334919ca4094d5074e02f6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/illuminate/pipeline/zipball/e0be3f3f79f8235ad7334919ca4094d5074e02f6",
+ "reference": "e0be3f3f79f8235ad7334919ca4094d5074e02f6",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/contracts": "^9.0",
+ "illuminate/support": "^9.0",
+ "php": "^8.0.2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Illuminate\\Pipeline\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "The Illuminate Pipeline package.",
+ "homepage": "https://laravel.com",
+ "support": {
+ "issues": "https://github.com/laravel/framework/issues",
+ "source": "https://github.com/laravel/framework"
+ },
+ "time": "2022-06-09T14:13:53+00:00"
+ },
+ {
+ "name": "illuminate/support",
+ "version": "v9.52.16",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/illuminate/support.git",
+ "reference": "223c608dbca27232df6213f776bfe7bdeec24874"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/illuminate/support/zipball/223c608dbca27232df6213f776bfe7bdeec24874",
+ "reference": "223c608dbca27232df6213f776bfe7bdeec24874",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/inflector": "^2.0",
+ "ext-ctype": "*",
+ "ext-filter": "*",
+ "ext-mbstring": "*",
+ "illuminate/collections": "^9.0",
+ "illuminate/conditionable": "^9.0",
+ "illuminate/contracts": "^9.0",
+ "illuminate/macroable": "^9.0",
+ "nesbot/carbon": "^2.62.1",
+ "php": "^8.0.2",
+ "voku/portable-ascii": "^2.0"
+ },
+ "conflict": {
+ "tightenco/collect": "<5.5.33"
+ },
+ "suggest": {
+ "illuminate/filesystem": "Required to use the composer class (^9.0).",
+ "league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^2.0.2).",
+ "ramsey/uuid": "Required to use Str::uuid() (^4.7).",
+ "symfony/process": "Required to use the composer class (^6.0).",
+ "symfony/uid": "Required to use Str::ulid() (^6.0).",
+ "symfony/var-dumper": "Required to use the dd function (^6.0).",
+ "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.4.1)."
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.x-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "helpers.php"
+ ],
+ "psr-4": {
+ "Illuminate\\Support\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "The Illuminate Support package.",
+ "homepage": "https://laravel.com",
+ "support": {
+ "issues": "https://github.com/laravel/framework/issues",
+ "source": "https://github.com/laravel/framework"
+ },
+ "time": "2023-06-11T21:11:53+00:00"
+ },
+ {
+ "name": "illuminate/view",
+ "version": "v9.52.16",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/illuminate/view.git",
+ "reference": "0215165781b3269cdbecdfe63ffddd0e6cecfd6e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/illuminate/view/zipball/0215165781b3269cdbecdfe63ffddd0e6cecfd6e",
+ "reference": "0215165781b3269cdbecdfe63ffddd0e6cecfd6e",
+ "shasum": ""
+ },
+ "require": {
+ "ext-tokenizer": "*",
+ "illuminate/collections": "^9.0",
+ "illuminate/container": "^9.0",
+ "illuminate/contracts": "^9.0",
+ "illuminate/events": "^9.0",
+ "illuminate/filesystem": "^9.0",
+ "illuminate/macroable": "^9.0",
+ "illuminate/support": "^9.0",
+ "php": "^8.0.2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Illuminate\\View\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "The Illuminate View package.",
+ "homepage": "https://laravel.com",
+ "support": {
+ "issues": "https://github.com/laravel/framework/issues",
+ "source": "https://github.com/laravel/framework"
+ },
+ "time": "2023-03-13T01:21:46+00:00"
+ },
+ {
+ "name": "league/commonmark",
+ "version": "2.4.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/commonmark.git",
+ "reference": "3669d6d5f7a47a93c08ddff335e6d945481a1dd5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/3669d6d5f7a47a93c08ddff335e6d945481a1dd5",
+ "reference": "3669d6d5f7a47a93c08ddff335e6d945481a1dd5",
+ "shasum": ""
+ },
+ "require": {
+ "ext-mbstring": "*",
+ "league/config": "^1.1.1",
+ "php": "^7.4 || ^8.0",
+ "psr/event-dispatcher": "^1.0",
+ "symfony/deprecation-contracts": "^2.1 || ^3.0",
+ "symfony/polyfill-php80": "^1.16"
+ },
+ "require-dev": {
+ "cebe/markdown": "^1.0",
+ "commonmark/cmark": "0.30.0",
+ "commonmark/commonmark.js": "0.30.0",
+ "composer/package-versions-deprecated": "^1.8",
+ "embed/embed": "^4.4",
+ "erusev/parsedown": "^1.0",
+ "ext-json": "*",
+ "github/gfm": "0.29.0",
+ "michelf/php-markdown": "^1.4 || ^2.0",
+ "nyholm/psr7": "^1.5",
+ "phpstan/phpstan": "^1.8.2",
+ "phpunit/phpunit": "^9.5.21",
+ "scrutinizer/ocular": "^1.8.1",
+ "symfony/finder": "^5.3 | ^6.0",
+ "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0",
+ "unleashedtech/php-coding-standard": "^3.1.1",
+ "vimeo/psalm": "^4.24.0 || ^5.0.0"
+ },
+ "suggest": {
+ "symfony/yaml": "v2.3+ required if using the Front Matter extension"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "2.5-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "League\\CommonMark\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Colin O'Dell",
+ "email": "colinodell@gmail.com",
+ "homepage": "https://www.colinodell.com",
+ "role": "Lead Developer"
+ }
+ ],
+ "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)",
+ "homepage": "https://commonmark.thephpleague.com",
+ "keywords": [
+ "commonmark",
+ "flavored",
+ "gfm",
+ "github",
+ "github-flavored",
+ "markdown",
+ "md",
+ "parser"
+ ],
+ "support": {
+ "docs": "https://commonmark.thephpleague.com/",
+ "forum": "https://github.com/thephpleague/commonmark/discussions",
+ "issues": "https://github.com/thephpleague/commonmark/issues",
+ "rss": "https://github.com/thephpleague/commonmark/releases.atom",
+ "source": "https://github.com/thephpleague/commonmark"
+ },
+ "funding": [
+ {
+ "url": "https://www.colinodell.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.paypal.me/colinpodell/10.00",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/colinodell",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/league/commonmark",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-08-30T16:55:00+00:00"
+ },
+ {
+ "name": "league/config",
+ "version": "v1.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/config.git",
+ "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3",
+ "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3",
+ "shasum": ""
+ },
+ "require": {
+ "dflydev/dot-access-data": "^3.0.1",
+ "nette/schema": "^1.2",
+ "php": "^7.4 || ^8.0"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^1.8.2",
+ "phpunit/phpunit": "^9.5.5",
+ "scrutinizer/ocular": "^1.8.1",
+ "unleashedtech/php-coding-standard": "^3.1",
+ "vimeo/psalm": "^4.7.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.2-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "League\\Config\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Colin O'Dell",
+ "email": "colinodell@gmail.com",
+ "homepage": "https://www.colinodell.com",
+ "role": "Lead Developer"
+ }
+ ],
+ "description": "Define configuration arrays with strict schemas and access values with dot notation",
+ "homepage": "https://config.thephpleague.com",
+ "keywords": [
+ "array",
+ "config",
+ "configuration",
+ "dot",
+ "dot-access",
+ "nested",
+ "schema"
+ ],
+ "support": {
+ "docs": "https://config.thephpleague.com/",
+ "issues": "https://github.com/thephpleague/config/issues",
+ "rss": "https://github.com/thephpleague/config/releases.atom",
+ "source": "https://github.com/thephpleague/config"
+ },
+ "funding": [
+ {
+ "url": "https://www.colinodell.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://www.paypal.me/colinpodell/10.00",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/colinodell",
+ "type": "github"
+ }
+ ],
+ "time": "2022-12-11T20:36:23+00:00"
+ },
+ {
+ "name": "league/flysystem",
+ "version": "1.1.10",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/flysystem.git",
+ "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/3239285c825c152bcc315fe0e87d6b55f5972ed1",
+ "reference": "3239285c825c152bcc315fe0e87d6b55f5972ed1",
+ "shasum": ""
+ },
+ "require": {
+ "ext-fileinfo": "*",
+ "league/mime-type-detection": "^1.3",
+ "php": "^7.2.5 || ^8.0"
+ },
+ "conflict": {
+ "league/flysystem-sftp": "<1.0.6"
+ },
+ "require-dev": {
+ "phpspec/prophecy": "^1.11.1",
+ "phpunit/phpunit": "^8.5.8"
+ },
+ "suggest": {
+ "ext-ftp": "Allows you to use FTP server storage",
+ "ext-openssl": "Allows you to use FTPS server storage",
+ "league/flysystem-aws-s3-v2": "Allows you to use S3 storage with AWS SDK v2",
+ "league/flysystem-aws-s3-v3": "Allows you to use S3 storage with AWS SDK v3",
+ "league/flysystem-azure": "Allows you to use Windows Azure Blob storage",
+ "league/flysystem-cached-adapter": "Flysystem adapter decorator for metadata caching",
+ "league/flysystem-eventable-filesystem": "Allows you to use EventableFilesystem",
+ "league/flysystem-rackspace": "Allows you to use Rackspace Cloud Files",
+ "league/flysystem-sftp": "Allows you to use SFTP server storage via phpseclib",
+ "league/flysystem-webdav": "Allows you to use WebDAV storage",
+ "league/flysystem-ziparchive": "Allows you to use ZipArchive adapter",
+ "spatie/flysystem-dropbox": "Allows you to use Dropbox storage",
+ "srmklive/flysystem-dropbox-v2": "Allows you to use Dropbox storage for PHP 5 applications"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.1-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "League\\Flysystem\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Frank de Jonge",
+ "email": "info@frenky.net"
+ }
+ ],
+ "description": "Filesystem abstraction: Many filesystems, one API.",
+ "keywords": [
+ "Cloud Files",
+ "WebDAV",
+ "abstraction",
+ "aws",
+ "cloud",
+ "copy.com",
+ "dropbox",
+ "file systems",
+ "files",
+ "filesystem",
+ "filesystems",
+ "ftp",
+ "rackspace",
+ "remote",
+ "s3",
+ "sftp",
+ "storage"
+ ],
+ "support": {
+ "issues": "https://github.com/thephpleague/flysystem/issues",
+ "source": "https://github.com/thephpleague/flysystem/tree/1.1.10"
+ },
+ "funding": [
+ {
+ "url": "https://offset.earth/frankdejonge",
+ "type": "other"
+ }
+ ],
+ "time": "2022-10-04T09:16:37+00:00"
+ },
+ {
+ "name": "league/flysystem-cached-adapter",
+ "version": "1.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/flysystem-cached-adapter.git",
+ "reference": "d1925efb2207ac4be3ad0c40b8277175f99ffaff"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/flysystem-cached-adapter/zipball/d1925efb2207ac4be3ad0c40b8277175f99ffaff",
+ "reference": "d1925efb2207ac4be3ad0c40b8277175f99ffaff",
+ "shasum": ""
+ },
+ "require": {
+ "league/flysystem": "~1.0",
+ "psr/cache": "^1.0.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "~0.9",
+ "phpspec/phpspec": "^3.4",
+ "phpunit/phpunit": "^5.7",
+ "predis/predis": "~1.0",
+ "tedivm/stash": "~0.12"
+ },
+ "suggest": {
+ "ext-phpredis": "Pure C implemented extension for PHP"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "League\\Flysystem\\Cached\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "frankdejonge",
+ "email": "info@frenky.net"
+ }
+ ],
+ "description": "An adapter decorator to enable meta-data caching.",
+ "support": {
+ "issues": "https://github.com/thephpleague/flysystem-cached-adapter/issues",
+ "source": "https://github.com/thephpleague/flysystem-cached-adapter/tree/master"
+ },
+ "time": "2020-07-25T15:56:04+00:00"
+ },
+ {
+ "name": "league/mime-type-detection",
+ "version": "1.14.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/mime-type-detection.git",
+ "reference": "b6a5854368533df0295c5761a0253656a2e52d9e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/b6a5854368533df0295c5761a0253656a2e52d9e",
+ "reference": "b6a5854368533df0295c5761a0253656a2e52d9e",
+ "shasum": ""
+ },
+ "require": {
+ "ext-fileinfo": "*",
+ "php": "^7.4 || ^8.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^3.2",
+ "phpstan/phpstan": "^0.12.68",
+ "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "League\\MimeTypeDetection\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Frank de Jonge",
+ "email": "info@frankdejonge.nl"
+ }
+ ],
+ "description": "Mime-type detection for Flysystem",
+ "support": {
+ "issues": "https://github.com/thephpleague/mime-type-detection/issues",
+ "source": "https://github.com/thephpleague/mime-type-detection/tree/1.14.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/frankdejonge",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/league/flysystem",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-10-17T14:13:20+00:00"
+ },
+ {
+ "name": "mantle-framework/config",
+ "version": "v0.12.12",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mantle-framework/config.git",
+ "reference": "8196ab27ad2ed7182ae65ee8d1e4e8a5c9ee9a63"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mantle-framework/config/zipball/8196ab27ad2ed7182ae65ee8d1e4e8a5c9ee9a63",
+ "reference": "8196ab27ad2ed7182ae65ee8d1e4e8a5c9ee9a63",
+ "shasum": ""
+ },
+ "require": {
+ "alleyinteractive/composer-wordpress-autoloader": "^1.0",
+ "mantle-framework/contracts": "^0.12",
+ "mantle-framework/support": "^0.12",
+ "php": "^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "wordpress-autoloader": {
+ "autoload": {
+ "Mantle\\Config": "./"
+ }
+ }
+ },
+ "autoload": {
+ "files": [
+ "autoload.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Alley",
+ "email": "mantle@alley.com"
+ }
+ ],
+ "description": "The Mantle Framework Config Package",
+ "support": {
+ "source": "https://github.com/mantle-framework/config/tree/v0.12.12"
+ },
+ "time": "2023-09-29T19:49:07+00:00"
+ },
+ {
+ "name": "mantle-framework/container",
+ "version": "v0.12.12",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mantle-framework/container.git",
+ "reference": "778826e5b1051fc73ddd31b08d3365a2769aba54"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mantle-framework/container/zipball/778826e5b1051fc73ddd31b08d3365a2769aba54",
+ "reference": "778826e5b1051fc73ddd31b08d3365a2769aba54",
+ "shasum": ""
+ },
+ "require": {
+ "alleyinteractive/composer-wordpress-autoloader": "^1.0",
+ "mantle-framework/contracts": "^0.12",
+ "php": "^8.0",
+ "psr/container": "^1.1.1 || ^2.0.2"
+ },
+ "provide": {
+ "psr/container-implementation": "1.1|2.0"
+ },
+ "type": "library",
+ "extra": {
+ "wordpress-autoloader": {
+ "autoload": {
+ "Mantle\\Container": "./"
+ }
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Alley",
+ "email": "mantle@alley.com"
+ }
+ ],
+ "description": "The Mantle Framework Container Package",
+ "support": {
+ "source": "https://github.com/mantle-framework/container/tree/v0.12.12"
+ },
+ "time": "2023-11-14T15:35:04+00:00"
+ },
+ {
+ "name": "mantle-framework/contracts",
+ "version": "v0.12.12",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mantle-framework/contracts.git",
+ "reference": "ca17c0c739f1f7125b00a0bf9ddd3572fa1ace23"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mantle-framework/contracts/zipball/ca17c0c739f1f7125b00a0bf9ddd3572fa1ace23",
+ "reference": "ca17c0c739f1f7125b00a0bf9ddd3572fa1ace23",
+ "shasum": ""
+ },
+ "require": {
+ "alleyinteractive/composer-wordpress-autoloader": "^1.0",
+ "php": "^8.0",
+ "psr/container": "^1.1.1 || ^2.0.2"
+ },
+ "provide": {
+ "psr/container-implementation": "1.1|2.0"
+ },
+ "type": "library",
+ "extra": {
+ "wordpress-autoloader": {
+ "autoload": {
+ "Mantle\\Contracts": "./"
+ }
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Alley",
+ "email": "mantle@alley.com"
+ }
+ ],
+ "description": "The Mantle Framework Contracts Package",
+ "support": {
+ "source": "https://github.com/mantle-framework/contracts/tree/v0.12.12"
+ },
+ "time": "2023-11-14T15:35:03+00:00"
+ },
+ {
+ "name": "mantle-framework/database",
+ "version": "v0.12.12",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mantle-framework/database.git",
+ "reference": "dcea13bed16d5f28fd1f005316faed38261d9cc3"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mantle-framework/database/zipball/dcea13bed16d5f28fd1f005316faed38261d9cc3",
+ "reference": "dcea13bed16d5f28fd1f005316faed38261d9cc3",
+ "shasum": ""
+ },
+ "require": {
+ "alleyinteractive/composer-wordpress-autoloader": "^1.0",
+ "alleyinteractive/wp-filter-side-effects": "^1.0 || ^2.0",
+ "mantle-framework/contracts": "^0.12",
+ "mantle-framework/support": "^0.12",
+ "php": "^8.0",
+ "psr/container": "^1.1.1 || ^2.0.2",
+ "symfony/finder": "^6.0.19"
+ },
+ "type": "library",
+ "extra": {
+ "wordpress-autoloader": {
+ "autoload": {
+ "Mantle\\Database": "./"
+ }
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Alley",
+ "email": "mantle@alley.com"
+ }
+ ],
+ "description": "The Mantle Framework Database Package",
+ "support": {
+ "source": "https://github.com/mantle-framework/database/tree/v0.12.12"
+ },
+ "time": "2024-01-08T18:45:25+00:00"
+ },
+ {
+ "name": "mantle-framework/events",
+ "version": "v0.12.12",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mantle-framework/events.git",
+ "reference": "47131163086164a7037ccbc9ce033a29b66d0714"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mantle-framework/events/zipball/47131163086164a7037ccbc9ce033a29b66d0714",
+ "reference": "47131163086164a7037ccbc9ce033a29b66d0714",
+ "shasum": ""
+ },
+ "require": {
+ "alleyinteractive/composer-wordpress-autoloader": "^1.0",
+ "mantle-framework/container": "^0.12",
+ "mantle-framework/contracts": "^0.12",
+ "mantle-framework/support": "^0.12",
+ "php": "^8.0",
+ "psr/container": "^1.1.1 || ^2.0.2",
+ "symfony/finder": "^6.0.19"
+ },
+ "type": "library",
+ "extra": {
+ "wordpress-autoloader": {
+ "autoload": {
+ "Mantle\\Events": "./"
+ }
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Alley",
+ "email": "mantle@alley.com"
+ }
+ ],
+ "description": "The Mantle Framework Events Package",
+ "support": {
+ "source": "https://github.com/mantle-framework/events/tree/v0.12.12"
+ },
+ "time": "2023-11-14T15:35:03+00:00"
+ },
+ {
+ "name": "mantle-framework/faker",
+ "version": "v0.12.12",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mantle-framework/faker.git",
+ "reference": "f1cab6533c8f636ef15ef3f7ac9b3dda3285d450"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mantle-framework/faker/zipball/f1cab6533c8f636ef15ef3f7ac9b3dda3285d450",
+ "reference": "f1cab6533c8f636ef15ef3f7ac9b3dda3285d450",
+ "shasum": ""
+ },
+ "require": {
+ "alleyinteractive/composer-wordpress-autoloader": "^1.0",
+ "fakerphp/faker": "^1.23",
+ "php": "^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "wordpress-autoloader": {
+ "autoload": {
+ "Mantle\\Faker": "./"
+ }
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Alley",
+ "email": "mantle@alley.com"
+ }
+ ],
+ "description": "The Mantle Framework Faker Package",
+ "support": {
+ "source": "https://github.com/mantle-framework/faker/tree/v0.12.12"
+ },
+ "time": "2023-11-14T15:49:11+00:00"
+ },
+ {
+ "name": "mantle-framework/filesystem",
+ "version": "v0.12.12",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mantle-framework/filesystem.git",
+ "reference": "1e9f36adc10948c34f967b026e58b56c454f172f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mantle-framework/filesystem/zipball/1e9f36adc10948c34f967b026e58b56c454f172f",
+ "reference": "1e9f36adc10948c34f967b026e58b56c454f172f",
+ "shasum": ""
+ },
+ "require": {
+ "alleyinteractive/composer-wordpress-autoloader": "^1.0",
+ "league/flysystem": "^1.1.10",
+ "league/flysystem-cached-adapter": "^1.1",
+ "mantle-framework/contracts": "^0.12",
+ "mantle-framework/support": "^0.12",
+ "php": "^8.0",
+ "psr/container": "^1.1.1 || ^2.0.2",
+ "symfony/finder": "^6.0.19",
+ "symfony/http-foundation": "^6.0.20"
+ },
+ "type": "library",
+ "extra": {
+ "wordpress-autoloader": {
+ "autoload": {
+ "Mantle\\Filesystem": "./"
+ }
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Alley",
+ "email": "mantle@alley.com"
+ }
+ ],
+ "description": "The Mantle Framework Filesystem Package",
+ "support": {
+ "source": "https://github.com/mantle-framework/filesystem/tree/v0.12.12"
+ },
+ "time": "2023-09-29T19:49:06+00:00"
+ },
+ {
+ "name": "mantle-framework/http",
+ "version": "v0.12.12",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mantle-framework/http.git",
+ "reference": "33c2081bd8954eb0f44369b416be372ae95f0be6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mantle-framework/http/zipball/33c2081bd8954eb0f44369b416be372ae95f0be6",
+ "reference": "33c2081bd8954eb0f44369b416be372ae95f0be6",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/view": "^9.52.15",
+ "mantle-framework/contracts": "^0.12",
+ "mantle-framework/filesystem": "^0.12",
+ "mantle-framework/support": "^0.12",
+ "php": "^8.0",
+ "symfony/http-foundation": "^6.0.20",
+ "symfony/http-kernel": "^6.0.20",
+ "symfony/mime": "^6.0.19",
+ "symfony/routing": "^6.0.19",
+ "symfony/var-dumper": "^6.0.19"
+ },
+ "type": "library",
+ "extra": {
+ "wordpress-autoloader": {
+ "autoload": {
+ "Mantle\\Http": "./"
+ }
+ }
+ },
+ "autoload": {
+ "files": [
+ "autoload.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Alley",
+ "email": "mantle@alley.com"
+ }
+ ],
+ "description": "The Mantle Framework Http Package",
+ "support": {
+ "source": "https://github.com/mantle-framework/http/tree/v0.12.12"
+ },
+ "time": "2023-12-18T21:28:52+00:00"
+ },
+ {
+ "name": "mantle-framework/http-client",
+ "version": "v0.12.12",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mantle-framework/http-client.git",
+ "reference": "95798d0d3ec723adb3adef4ca902a26da35a268f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mantle-framework/http-client/zipball/95798d0d3ec723adb3adef4ca902a26da35a268f",
+ "reference": "95798d0d3ec723adb3adef4ca902a26da35a268f",
+ "shasum": ""
+ },
+ "require": {
+ "alleyinteractive/wp-concurrent-remote-requests": "^1.0.2",
+ "mantle-framework/support": "^0.12",
+ "php": "^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "wordpress-autoloader": {
+ "autoload": {
+ "Mantle\\Http_Client": "./"
+ }
+ }
+ },
+ "autoload": {
+ "files": [
+ "autoload.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Alley",
+ "email": "mantle@alley.com"
+ }
+ ],
+ "description": "The Mantle Framework Http Client Package",
+ "support": {
+ "source": "https://github.com/mantle-framework/http-client/tree/v0.12.12"
+ },
+ "time": "2023-09-29T19:49:09+00:00"
+ },
+ {
+ "name": "mantle-framework/support",
+ "version": "v0.12.12",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mantle-framework/support.git",
+ "reference": "8db002562beb4caf7c6e43aa92da633a8356b5e0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mantle-framework/support/zipball/8db002562beb4caf7c6e43aa92da633a8356b5e0",
+ "reference": "8db002562beb4caf7c6e43aa92da633a8356b5e0",
+ "shasum": ""
+ },
+ "require": {
+ "alleyinteractive/composer-wordpress-autoloader": "^1.0",
+ "doctrine/inflector": "^2.0.8",
+ "league/commonmark": "^2.4.0",
+ "mantle-framework/contracts": "^0.12",
+ "monolog/monolog": "^2.9.1",
+ "nesbot/carbon": "^2.68.1",
+ "php": "^8.0",
+ "ramsey/uuid": "^4.7.4",
+ "symfony/finder": "^6.0.19",
+ "symfony/var-dumper": "^6.0.19",
+ "voku/portable-ascii": "^2.0.1"
+ },
+ "suggest": {
+ "mantle-framework/console": "Required to load Mantle Console Commands",
+ "mantle-framework/container": "Required to use wrapped add_action/add_filter functions",
+ "vlucas/phpdotenv": "Required to use Environment class (^5.3)"
+ },
+ "type": "library",
+ "extra": {
+ "wordpress-autoloader": {
+ "autoload": {
+ "Mantle\\Support": "./"
+ }
+ }
+ },
+ "autoload": {
+ "files": [
+ "autoload.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Alley",
+ "email": "mantle@alley.com"
+ }
+ ],
+ "description": "The Mantle Framework Support Package",
+ "support": {
+ "source": "https://github.com/mantle-framework/support/tree/v0.12.12"
+ },
+ "time": "2023-12-18T21:28:50+00:00"
+ },
+ {
+ "name": "mantle-framework/testing",
+ "version": "v0.12.12",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mantle-framework/testing.git",
+ "reference": "43ea44aecc9926dd7486fa97ccfb2a538990caad"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mantle-framework/testing/zipball/43ea44aecc9926dd7486fa97ccfb2a538990caad",
+ "reference": "43ea44aecc9926dd7486fa97ccfb2a538990caad",
+ "shasum": ""
+ },
+ "require": {
+ "alleyinteractive/composer-wordpress-autoloader": "^1.0",
+ "mantle-framework/contracts": "^0.12",
+ "mantle-framework/database": "^0.12",
+ "mantle-framework/faker": "^0.12",
+ "mantle-framework/http": "^0.12",
+ "mantle-framework/http-client": "^0.12",
+ "mantle-framework/support": "^0.12",
+ "nunomaduro/termwind": "^1.15.1",
+ "php": "^8.0",
+ "spatie/phpunit-snapshot-assertions": "^4.2"
+ },
+ "suggest": {
+ "mantle-framework/console": "Required to assert console commands.",
+ "nunomaduro/collision": "For better PHPUnit printing.",
+ "phpunit/phpunit": "Required to use assertions and run tests."
+ },
+ "type": "library",
+ "extra": {
+ "wordpress-autoloader": {
+ "autoload": {
+ "Mantle\\Testing": "./"
+ }
+ }
+ },
+ "autoload": {
+ "files": [
+ "autoload.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Alley",
+ "email": "mantle@alley.com"
+ }
+ ],
+ "description": "The Mantle Framework Testing Package",
+ "keywords": [
+ "mantle",
+ "testing"
+ ],
+ "support": {
+ "source": "https://github.com/mantle-framework/testing/tree/v0.12.12"
+ },
+ "time": "2023-12-18T21:28:50+00:00"
+ },
+ {
+ "name": "mantle-framework/testkit",
+ "version": "v0.12.12",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/mantle-framework/testkit.git",
+ "reference": "d10e638bab681003f3763a5b329325d9bd07e527"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/mantle-framework/testkit/zipball/d10e638bab681003f3763a5b329325d9bd07e527",
+ "reference": "d10e638bab681003f3763a5b329325d9bd07e527",
+ "shasum": ""
+ },
+ "require": {
+ "alleyinteractive/composer-wordpress-autoloader": "^1.0",
+ "mantle-framework/config": "^0.12",
+ "mantle-framework/container": "^0.12",
+ "mantle-framework/contracts": "^0.12",
+ "mantle-framework/events": "^0.12",
+ "mantle-framework/faker": "^0.12",
+ "mantle-framework/support": "^0.12",
+ "mantle-framework/testing": "^0.12",
+ "nunomaduro/collision": "^6.4",
+ "php": "^8.0",
+ "phpunit/phpunit": "^9.6.10",
+ "symfony/http-foundation": "^6.0.20"
+ },
+ "type": "library",
+ "extra": {
+ "wordpress-autoloader": {
+ "autoload": {
+ "Mantle\\Testkit": "./"
+ }
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "GPL-2.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Alley",
+ "email": "mantle@alley.com"
+ }
+ ],
+ "description": "The Mantle Framework Teskit Package",
+ "keywords": [
+ "mantle",
+ "testing"
+ ],
+ "support": {
+ "source": "https://github.com/mantle-framework/testkit/tree/v0.12.12"
+ },
+ "time": "2023-11-27T21:13:57+00:00"
+ },
+ {
+ "name": "monolog/monolog",
+ "version": "2.9.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Seldaek/monolog.git",
+ "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/437cb3628f4cf6042cc10ae97fc2b8472e48ca1f",
+ "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2",
+ "psr/log": "^1.0.1 || ^2.0 || ^3.0"
+ },
+ "provide": {
+ "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0"
+ },
+ "require-dev": {
+ "aws/aws-sdk-php": "^2.4.9 || ^3.0",
+ "doctrine/couchdb": "~1.0@dev",
+ "elasticsearch/elasticsearch": "^7 || ^8",
+ "ext-json": "*",
+ "graylog2/gelf-php": "^1.4.2 || ^2@dev",
+ "guzzlehttp/guzzle": "^7.4",
+ "guzzlehttp/psr7": "^2.2",
+ "mongodb/mongodb": "^1.8",
+ "php-amqplib/php-amqplib": "~2.4 || ^3",
+ "phpspec/prophecy": "^1.15",
+ "phpstan/phpstan": "^0.12.91",
+ "phpunit/phpunit": "^8.5.14",
+ "predis/predis": "^1.1 || ^2.0",
+ "rollbar/rollbar": "^1.3 || ^2 || ^3",
+ "ruflin/elastica": "^7",
+ "swiftmailer/swiftmailer": "^5.3|^6.0",
+ "symfony/mailer": "^5.4 || ^6",
+ "symfony/mime": "^5.4 || ^6"
+ },
+ "suggest": {
+ "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB",
+ "doctrine/couchdb": "Allow sending log messages to a CouchDB server",
+ "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client",
+ "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)",
+ "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler",
+ "ext-mbstring": "Allow to work properly with unicode symbols",
+ "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)",
+ "ext-openssl": "Required to send log messages using SSL",
+ "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)",
+ "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server",
+ "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)",
+ "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib",
+ "rollbar/rollbar": "Allow sending log messages to Rollbar",
+ "ruflin/elastica": "Allow sending log messages to an Elastic Search server"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Monolog\\": "src/Monolog"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jordi Boggiano",
+ "email": "j.boggiano@seld.be",
+ "homepage": "https://seld.be"
+ }
+ ],
+ "description": "Sends your logs to files, sockets, inboxes, databases and various web services",
+ "homepage": "https://github.com/Seldaek/monolog",
+ "keywords": [
+ "log",
+ "logging",
+ "psr-3"
+ ],
+ "support": {
+ "issues": "https://github.com/Seldaek/monolog/issues",
+ "source": "https://github.com/Seldaek/monolog/tree/2.9.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/Seldaek",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/monolog/monolog",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-10-27T15:25:26+00:00"
+ },
+ {
+ "name": "myclabs/deep-copy",
+ "version": "1.11.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/myclabs/DeepCopy.git",
+ "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+ "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0"
+ },
+ "conflict": {
+ "doctrine/collections": "<1.6.8",
+ "doctrine/common": "<2.13.3 || >=3,<3.2.2"
+ },
+ "require-dev": {
+ "doctrine/collections": "^1.6.8",
+ "doctrine/common": "^2.13.3 || ^3.2.2",
+ "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "src/DeepCopy/deep_copy.php"
+ ],
+ "psr-4": {
+ "DeepCopy\\": "src/DeepCopy/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "Create deep copies (clones) of your objects",
+ "keywords": [
+ "clone",
+ "copy",
+ "duplicate",
+ "object",
+ "object graph"
+ ],
+ "support": {
+ "issues": "https://github.com/myclabs/DeepCopy/issues",
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1"
+ },
+ "funding": [
+ {
+ "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-03-08T13:26:56+00:00"
+ },
+ {
+ "name": "nesbot/carbon",
+ "version": "2.72.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/briannesbitt/Carbon.git",
+ "reference": "2b3b3db0a2d0556a177392ff1a3bf5608fa09f78"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/2b3b3db0a2d0556a177392ff1a3bf5608fa09f78",
+ "reference": "2b3b3db0a2d0556a177392ff1a3bf5608fa09f78",
+ "shasum": ""
+ },
+ "require": {
+ "carbonphp/carbon-doctrine-types": "*",
+ "ext-json": "*",
+ "php": "^7.1.8 || ^8.0",
+ "psr/clock": "^1.0",
+ "symfony/polyfill-mbstring": "^1.0",
+ "symfony/polyfill-php80": "^1.16",
+ "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0"
+ },
+ "provide": {
+ "psr/clock-implementation": "1.0"
+ },
+ "require-dev": {
+ "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0",
+ "doctrine/orm": "^2.7 || ^3.0",
+ "friendsofphp/php-cs-fixer": "^3.0",
+ "kylekatarnls/multi-tester": "^2.0",
+ "ondrejmirtes/better-reflection": "*",
+ "phpmd/phpmd": "^2.9",
+ "phpstan/extension-installer": "^1.0",
+ "phpstan/phpstan": "^0.12.99 || ^1.7.14",
+ "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6",
+ "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20",
+ "squizlabs/php_codesniffer": "^3.4"
+ },
+ "bin": [
+ "bin/carbon"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-3.x": "3.x-dev",
+ "dev-master": "2.x-dev"
+ },
+ "laravel": {
+ "providers": [
+ "Carbon\\Laravel\\ServiceProvider"
+ ]
+ },
+ "phpstan": {
+ "includes": [
+ "extension.neon"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Carbon\\": "src/Carbon/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Brian Nesbitt",
+ "email": "brian@nesbot.com",
+ "homepage": "https://markido.com"
+ },
+ {
+ "name": "kylekatarnls",
+ "homepage": "https://github.com/kylekatarnls"
+ }
+ ],
+ "description": "An API extension for DateTime that supports 281 different languages.",
+ "homepage": "https://carbon.nesbot.com",
+ "keywords": [
+ "date",
+ "datetime",
+ "time"
+ ],
+ "support": {
+ "docs": "https://carbon.nesbot.com/docs",
+ "issues": "https://github.com/briannesbitt/Carbon/issues",
+ "source": "https://github.com/briannesbitt/Carbon"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/kylekatarnls",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/Carbon#sponsor",
+ "type": "opencollective"
+ },
+ {
+ "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-08T23:47:49+00:00"
+ },
+ {
+ "name": "nette/schema",
+ "version": "v1.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nette/schema.git",
+ "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nette/schema/zipball/a6d3a6d1f545f01ef38e60f375d1cf1f4de98188",
+ "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188",
+ "shasum": ""
+ },
+ "require": {
+ "nette/utils": "^4.0",
+ "php": "8.1 - 8.3"
+ },
+ "require-dev": {
+ "nette/tester": "^2.4",
+ "phpstan/phpstan-nette": "^1.0",
+ "tracy/tracy": "^2.8"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.3-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause",
+ "GPL-2.0-only",
+ "GPL-3.0-only"
+ ],
+ "authors": [
+ {
+ "name": "David Grudl",
+ "homepage": "https://davidgrudl.com"
+ },
+ {
+ "name": "Nette Community",
+ "homepage": "https://nette.org/contributors"
+ }
+ ],
+ "description": "📐 Nette Schema: validating data structures against a given Schema.",
+ "homepage": "https://nette.org",
+ "keywords": [
+ "config",
+ "nette"
+ ],
+ "support": {
+ "issues": "https://github.com/nette/schema/issues",
+ "source": "https://github.com/nette/schema/tree/v1.3.0"
+ },
+ "time": "2023-12-11T11:54:22+00:00"
+ },
+ {
+ "name": "nette/utils",
+ "version": "v4.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nette/utils.git",
+ "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nette/utils/zipball/d3ad0aa3b9f934602cb3e3902ebccf10be34d218",
+ "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.0 <8.4"
+ },
+ "conflict": {
+ "nette/finder": "<3",
+ "nette/schema": "<1.2.2"
+ },
+ "require-dev": {
+ "jetbrains/phpstorm-attributes": "dev-master",
+ "nette/tester": "^2.5",
+ "phpstan/phpstan": "^1.0",
+ "tracy/tracy": "^2.9"
+ },
+ "suggest": {
+ "ext-gd": "to use Image",
+ "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()",
+ "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()",
+ "ext-json": "to use Nette\\Utils\\Json",
+ "ext-mbstring": "to use Strings::lower() etc...",
+ "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause",
+ "GPL-2.0-only",
+ "GPL-3.0-only"
+ ],
+ "authors": [
+ {
+ "name": "David Grudl",
+ "homepage": "https://davidgrudl.com"
+ },
+ {
+ "name": "Nette Community",
+ "homepage": "https://nette.org/contributors"
+ }
+ ],
+ "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.",
+ "homepage": "https://nette.org",
+ "keywords": [
+ "array",
+ "core",
+ "datetime",
+ "images",
+ "json",
+ "nette",
+ "paginator",
+ "password",
+ "slugify",
+ "string",
+ "unicode",
+ "utf-8",
+ "utility",
+ "validation"
+ ],
+ "support": {
+ "issues": "https://github.com/nette/utils/issues",
+ "source": "https://github.com/nette/utils/tree/v4.0.4"
+ },
+ "time": "2024-01-17T16:50:36+00:00"
+ },
+ {
+ "name": "nikic/php-parser",
+ "version": "v5.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nikic/PHP-Parser.git",
+ "reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4a21235f7e56e713259a6f76bf4b5ea08502b9dc",
+ "reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc",
+ "shasum": ""
+ },
+ "require": {
+ "ext-ctype": "*",
+ "ext-json": "*",
+ "ext-tokenizer": "*",
+ "php": ">=7.4"
+ },
+ "require-dev": {
+ "ircmaxell/php-yacc": "^0.0.7",
+ "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0"
+ },
+ "bin": [
+ "bin/php-parse"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PhpParser\\": "lib/PhpParser"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Nikita Popov"
+ }
+ ],
+ "description": "A PHP parser written in PHP",
+ "keywords": [
+ "parser",
+ "php"
+ ],
+ "support": {
+ "issues": "https://github.com/nikic/PHP-Parser/issues",
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.0"
+ },
+ "time": "2024-01-07T17:17:35+00:00"
+ },
+ {
+ "name": "nunomaduro/collision",
+ "version": "v6.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nunomaduro/collision.git",
+ "reference": "f05978827b9343cba381ca05b8c7deee346b6015"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nunomaduro/collision/zipball/f05978827b9343cba381ca05b8c7deee346b6015",
+ "reference": "f05978827b9343cba381ca05b8c7deee346b6015",
+ "shasum": ""
+ },
+ "require": {
+ "filp/whoops": "^2.14.5",
+ "php": "^8.0.0",
+ "symfony/console": "^6.0.2"
+ },
+ "require-dev": {
+ "brianium/paratest": "^6.4.1",
+ "laravel/framework": "^9.26.1",
+ "laravel/pint": "^1.1.1",
+ "nunomaduro/larastan": "^1.0.3",
+ "nunomaduro/mock-final-classes": "^1.1.0",
+ "orchestra/testbench": "^7.7",
+ "phpunit/phpunit": "^9.5.23",
+ "spatie/ignition": "^1.4.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-develop": "6.x-dev"
+ },
+ "laravel": {
+ "providers": [
+ "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "NunoMaduro\\Collision\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nuno Maduro",
+ "email": "enunomaduro@gmail.com"
+ }
+ ],
+ "description": "Cli error handling for console/command-line PHP applications.",
+ "keywords": [
+ "artisan",
+ "cli",
+ "command-line",
+ "console",
+ "error",
+ "handling",
+ "laravel",
+ "laravel-zero",
+ "php",
+ "symfony"
+ ],
+ "support": {
+ "issues": "https://github.com/nunomaduro/collision/issues",
+ "source": "https://github.com/nunomaduro/collision"
+ },
+ "funding": [
+ {
+ "url": "https://www.paypal.com/paypalme/enunomaduro",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/nunomaduro",
+ "type": "github"
+ },
+ {
+ "url": "https://www.patreon.com/nunomaduro",
+ "type": "patreon"
+ }
+ ],
+ "time": "2023-01-03T12:54:54+00:00"
+ },
+ {
+ "name": "nunomaduro/termwind",
+ "version": "v1.15.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/nunomaduro/termwind.git",
+ "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc",
+ "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc",
+ "shasum": ""
+ },
+ "require": {
+ "ext-mbstring": "*",
+ "php": "^8.0",
+ "symfony/console": "^5.3.0|^6.0.0"
+ },
+ "require-dev": {
+ "ergebnis/phpstan-rules": "^1.0.",
+ "illuminate/console": "^8.0|^9.0",
+ "illuminate/support": "^8.0|^9.0",
+ "laravel/pint": "^1.0.0",
+ "pestphp/pest": "^1.21.0",
+ "pestphp/pest-plugin-mock": "^1.0",
+ "phpstan/phpstan": "^1.4.6",
+ "phpstan/phpstan-strict-rules": "^1.1.0",
+ "symfony/var-dumper": "^5.2.7|^6.0.0",
+ "thecodingmachine/phpstan-strict-rules": "^1.0.0"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Termwind\\Laravel\\TermwindServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/Functions.php"
+ ],
+ "psr-4": {
+ "Termwind\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nuno Maduro",
+ "email": "enunomaduro@gmail.com"
+ }
+ ],
+ "description": "Its like Tailwind CSS, but for the console.",
+ "keywords": [
+ "cli",
+ "console",
+ "css",
+ "package",
+ "php",
+ "style"
+ ],
+ "support": {
+ "issues": "https://github.com/nunomaduro/termwind/issues",
+ "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1"
+ },
+ "funding": [
+ {
+ "url": "https://www.paypal.com/paypalme/enunomaduro",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/nunomaduro",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/xiCO2k",
+ "type": "github"
+ }
+ ],
+ "time": "2023-02-08T01:06:31+00:00"
+ },
+ {
+ "name": "phar-io/manifest",
+ "version": "2.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/manifest.git",
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53",
+ "reference": "97803eca37d319dfa7826cc2437fc020857acb53",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-phar": "*",
+ "ext-xmlwriter": "*",
+ "phar-io/version": "^3.0.1",
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)",
+ "support": {
+ "issues": "https://github.com/phar-io/manifest/issues",
+ "source": "https://github.com/phar-io/manifest/tree/2.0.3"
+ },
+ "time": "2021-07-20T11:28:43+00:00"
+ },
+ {
+ "name": "phar-io/version",
+ "version": "3.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phar-io/version.git",
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Heuer",
+ "email": "sebastian@phpeople.de",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "Library for handling version information and constraints",
+ "support": {
+ "issues": "https://github.com/phar-io/version/issues",
+ "source": "https://github.com/phar-io/version/tree/3.2.1"
+ },
+ "time": "2022-02-21T01:04:05+00:00"
+ },
+ {
+ "name": "phpcompatibility/php-compatibility",
+ "version": "9.3.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/PHPCompatibility/PHPCompatibility.git",
+ "reference": "9fb324479acf6f39452e0655d2429cc0d3914243"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibility/zipball/9fb324479acf6f39452e0655d2429cc0d3914243",
+ "reference": "9fb324479acf6f39452e0655d2429cc0d3914243",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3",
+ "squizlabs/php_codesniffer": "^2.3 || ^3.0.2"
+ },
+ "conflict": {
+ "squizlabs/php_codesniffer": "2.6.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~4.5 || ^5.0 || ^6.0 || ^7.0"
+ },
+ "suggest": {
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.5 || This Composer plugin will sort out the PHPCS 'installed_paths' automatically.",
+ "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
+ },
+ "type": "phpcodesniffer-standard",
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL-3.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Wim Godden",
+ "homepage": "https://github.com/wimg",
+ "role": "lead"
+ },
+ {
+ "name": "Juliette Reinders Folmer",
+ "homepage": "https://github.com/jrfnl",
+ "role": "lead"
+ },
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/PHPCompatibility/PHPCompatibility/graphs/contributors"
+ }
+ ],
+ "description": "A set of sniffs for PHP_CodeSniffer that checks for PHP cross-version compatibility.",
+ "homepage": "http://techblog.wimgodden.be/tag/codesniffer/",
+ "keywords": [
+ "compatibility",
+ "phpcs",
+ "standards"
+ ],
+ "support": {
+ "issues": "https://github.com/PHPCompatibility/PHPCompatibility/issues",
+ "source": "https://github.com/PHPCompatibility/PHPCompatibility"
+ },
+ "time": "2019-12-27T09:44:58+00:00"
+ },
+ {
+ "name": "phpcompatibility/phpcompatibility-paragonie",
+ "version": "1.3.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie.git",
+ "reference": "bba5a9dfec7fcfbd679cfaf611d86b4d3759da26"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityParagonie/zipball/bba5a9dfec7fcfbd679cfaf611d86b4d3759da26",
+ "reference": "bba5a9dfec7fcfbd679cfaf611d86b4d3759da26",
+ "shasum": ""
+ },
+ "require": {
+ "phpcompatibility/php-compatibility": "^9.0"
+ },
+ "require-dev": {
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.7",
+ "paragonie/random_compat": "dev-master",
+ "paragonie/sodium_compat": "dev-master"
+ },
+ "suggest": {
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.7 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.",
+ "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
+ },
+ "type": "phpcodesniffer-standard",
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL-3.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Wim Godden",
+ "role": "lead"
+ },
+ {
+ "name": "Juliette Reinders Folmer",
+ "role": "lead"
+ }
+ ],
+ "description": "A set of rulesets for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by the Paragonie polyfill libraries.",
+ "homepage": "http://phpcompatibility.com/",
+ "keywords": [
+ "compatibility",
+ "paragonie",
+ "phpcs",
+ "polyfill",
+ "standards",
+ "static analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie/issues",
+ "source": "https://github.com/PHPCompatibility/PHPCompatibilityParagonie"
+ },
+ "time": "2022-10-25T01:46:02+00:00"
+ },
+ {
+ "name": "phpcompatibility/phpcompatibility-wp",
+ "version": "2.1.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/PHPCompatibility/PHPCompatibilityWP.git",
+ "reference": "b6c1e3ee1c35de6c41a511d5eb9bd03e447480a5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/PHPCompatibility/PHPCompatibilityWP/zipball/b6c1e3ee1c35de6c41a511d5eb9bd03e447480a5",
+ "reference": "b6c1e3ee1c35de6c41a511d5eb9bd03e447480a5",
+ "shasum": ""
+ },
+ "require": {
+ "phpcompatibility/php-compatibility": "^9.0",
+ "phpcompatibility/phpcompatibility-paragonie": "^1.0"
+ },
+ "require-dev": {
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.7"
+ },
+ "suggest": {
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.7 || This Composer plugin will sort out the PHP_CodeSniffer 'installed_paths' automatically.",
+ "roave/security-advisories": "dev-master || Helps prevent installing dependencies with known security issues."
+ },
+ "type": "phpcodesniffer-standard",
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL-3.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Wim Godden",
+ "role": "lead"
+ },
+ {
+ "name": "Juliette Reinders Folmer",
+ "role": "lead"
+ }
+ ],
+ "description": "A ruleset for PHP_CodeSniffer to check for PHP cross-version compatibility issues in projects, while accounting for polyfills provided by WordPress.",
+ "homepage": "http://phpcompatibility.com/",
+ "keywords": [
+ "compatibility",
+ "phpcs",
+ "standards",
+ "static analysis",
+ "wordpress"
+ ],
+ "support": {
+ "issues": "https://github.com/PHPCompatibility/PHPCompatibilityWP/issues",
+ "source": "https://github.com/PHPCompatibility/PHPCompatibilityWP"
+ },
+ "time": "2022-10-24T09:00:36+00:00"
+ },
+ {
+ "name": "phpcsstandards/phpcsextra",
+ "version": "1.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/PHPCSStandards/PHPCSExtra.git",
+ "reference": "11d387c6642b6e4acaf0bd9bf5203b8cca1ec489"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHPCSExtra/zipball/11d387c6642b6e4acaf0bd9bf5203b8cca1ec489",
+ "reference": "11d387c6642b6e4acaf0bd9bf5203b8cca1ec489",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.4",
+ "phpcsstandards/phpcsutils": "^1.0.9",
+ "squizlabs/php_codesniffer": "^3.8.0"
+ },
+ "require-dev": {
+ "php-parallel-lint/php-console-highlighter": "^1.0",
+ "php-parallel-lint/php-parallel-lint": "^1.3.2",
+ "phpcsstandards/phpcsdevcs": "^1.1.6",
+ "phpcsstandards/phpcsdevtools": "^1.2.1",
+ "phpunit/phpunit": "^4.5 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0"
+ },
+ "type": "phpcodesniffer-standard",
+ "extra": {
+ "branch-alias": {
+ "dev-stable": "1.x-dev",
+ "dev-develop": "1.x-dev"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL-3.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Juliette Reinders Folmer",
+ "homepage": "https://github.com/jrfnl",
+ "role": "lead"
+ },
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/PHPCSStandards/PHPCSExtra/graphs/contributors"
+ }
+ ],
+ "description": "A collection of sniffs and standards for use with PHP_CodeSniffer.",
+ "keywords": [
+ "PHP_CodeSniffer",
+ "phpcbf",
+ "phpcodesniffer-standard",
+ "phpcs",
+ "standards",
+ "static analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/PHPCSStandards/PHPCSExtra/issues",
+ "security": "https://github.com/PHPCSStandards/PHPCSExtra/security/policy",
+ "source": "https://github.com/PHPCSStandards/PHPCSExtra"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/PHPCSStandards",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/jrfnl",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/php_codesniffer",
+ "type": "open_collective"
+ }
+ ],
+ "time": "2023-12-08T16:49:07+00:00"
+ },
+ {
+ "name": "phpcsstandards/phpcsutils",
+ "version": "1.0.9",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/PHPCSStandards/PHPCSUtils.git",
+ "reference": "908247bc65010c7b7541a9551e002db12e9dae70"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHPCSUtils/zipball/908247bc65010c7b7541a9551e002db12e9dae70",
+ "reference": "908247bc65010c7b7541a9551e002db12e9dae70",
+ "shasum": ""
+ },
+ "require": {
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.4.1 || ^0.5 || ^0.6.2 || ^0.7 || ^1.0",
+ "php": ">=5.4",
+ "squizlabs/php_codesniffer": "^3.8.0 || 4.0.x-dev@dev"
+ },
+ "require-dev": {
+ "ext-filter": "*",
+ "php-parallel-lint/php-console-highlighter": "^1.0",
+ "php-parallel-lint/php-parallel-lint": "^1.3.2",
+ "phpcsstandards/phpcsdevcs": "^1.1.6",
+ "yoast/phpunit-polyfills": "^1.1.0 || ^2.0.0"
+ },
+ "type": "phpcodesniffer-standard",
+ "extra": {
+ "branch-alias": {
+ "dev-stable": "1.x-dev",
+ "dev-develop": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "PHPCSUtils/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "LGPL-3.0-or-later"
+ ],
+ "authors": [
+ {
+ "name": "Juliette Reinders Folmer",
+ "homepage": "https://github.com/jrfnl",
+ "role": "lead"
+ },
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/PHPCSStandards/PHPCSUtils/graphs/contributors"
+ }
+ ],
+ "description": "A suite of utility functions for use with PHP_CodeSniffer",
+ "homepage": "https://phpcsutils.com/",
+ "keywords": [
+ "PHP_CodeSniffer",
+ "phpcbf",
+ "phpcodesniffer-standard",
+ "phpcs",
+ "phpcs3",
+ "standards",
+ "static analysis",
+ "tokens",
+ "utility"
+ ],
+ "support": {
+ "docs": "https://phpcsutils.com/",
+ "issues": "https://github.com/PHPCSStandards/PHPCSUtils/issues",
+ "security": "https://github.com/PHPCSStandards/PHPCSUtils/security/policy",
+ "source": "https://github.com/PHPCSStandards/PHPCSUtils"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/PHPCSStandards",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/jrfnl",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/php_codesniffer",
+ "type": "open_collective"
+ }
+ ],
+ "time": "2023-12-08T14:50:00+00:00"
+ },
+ {
+ "name": "phpdocumentor/reflection-common",
+ "version": "2.2.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionCommon.git",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-2.x": "2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Jaap van Otterdijk",
+ "email": "opensource@ijaap.nl"
+ }
+ ],
+ "description": "Common reflection classes used by phpdocumentor to reflect the code structure",
+ "homepage": "http://www.phpdoc.org",
+ "keywords": [
+ "FQSEN",
+ "phpDocumentor",
+ "phpdoc",
+ "reflection",
+ "static analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x"
+ },
+ "time": "2020-06-27T09:03:43+00:00"
+ },
+ {
+ "name": "phpdocumentor/reflection-docblock",
+ "version": "5.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
+ "reference": "622548b623e81ca6d78b721c5e029f4ce664f170"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170",
+ "reference": "622548b623e81ca6d78b721c5e029f4ce664f170",
+ "shasum": ""
+ },
+ "require": {
+ "ext-filter": "*",
+ "php": "^7.2 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.2",
+ "phpdocumentor/type-resolver": "^1.3",
+ "webmozart/assert": "^1.9.1"
+ },
+ "require-dev": {
+ "mockery/mockery": "~1.3.2",
+ "psalm/phar": "^4.8"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mike van Riel",
+ "email": "me@mikevanriel.com"
+ },
+ {
+ "name": "Jaap van Otterdijk",
+ "email": "account@ijaap.nl"
+ }
+ ],
+ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
+ "support": {
+ "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0"
+ },
+ "time": "2021-10-19T17:43:47+00:00"
+ },
+ {
+ "name": "phpdocumentor/type-resolver",
+ "version": "1.8.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/TypeResolver.git",
+ "reference": "fad452781b3d774e3337b0c0b245dd8e5a4455fc"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/fad452781b3d774e3337b0c0b245dd8e5a4455fc",
+ "reference": "fad452781b3d774e3337b0c0b245dd8e5a4455fc",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/deprecations": "^1.0",
+ "php": "^7.4 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.0",
+ "phpstan/phpdoc-parser": "^1.13"
+ },
+ "require-dev": {
+ "ext-tokenizer": "*",
+ "phpbench/phpbench": "^1.2",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-phpunit": "^1.1",
+ "phpunit/phpunit": "^9.5",
+ "rector/rector": "^0.13.9",
+ "vimeo/psalm": "^4.25"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-1.x": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mike van Riel",
+ "email": "me@mikevanriel.com"
+ }
+ ],
+ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
+ "support": {
+ "issues": "https://github.com/phpDocumentor/TypeResolver/issues",
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.8.0"
+ },
+ "time": "2024-01-11T11:49:22+00:00"
+ },
+ {
+ "name": "phpspec/prophecy",
+ "version": "v1.18.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpspec/prophecy.git",
+ "reference": "d4f454f7e1193933f04e6500de3e79191648ed0c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpspec/prophecy/zipball/d4f454f7e1193933f04e6500de3e79191648ed0c",
+ "reference": "d4f454f7e1193933f04e6500de3e79191648ed0c",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/instantiator": "^1.2 || ^2.0",
+ "php": "^7.2 || 8.0.* || 8.1.* || 8.2.* || 8.3.*",
+ "phpdocumentor/reflection-docblock": "^5.2",
+ "sebastian/comparator": "^3.0 || ^4.0 || ^5.0",
+ "sebastian/recursion-context": "^3.0 || ^4.0 || ^5.0"
+ },
+ "require-dev": {
+ "phpspec/phpspec": "^6.0 || ^7.0",
+ "phpstan/phpstan": "^1.9",
+ "phpunit/phpunit": "^8.0 || ^9.0 || ^10.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Prophecy\\": "src/Prophecy"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Konstantin Kudryashov",
+ "email": "ever.zet@gmail.com",
+ "homepage": "http://everzet.com"
+ },
+ {
+ "name": "Marcello Duarte",
+ "email": "marcello.duarte@gmail.com"
+ }
+ ],
+ "description": "Highly opinionated mocking framework for PHP 5.3+",
+ "homepage": "https://github.com/phpspec/prophecy",
+ "keywords": [
+ "Double",
+ "Dummy",
+ "dev",
+ "fake",
+ "mock",
+ "spy",
+ "stub"
+ ],
+ "support": {
+ "issues": "https://github.com/phpspec/prophecy/issues",
+ "source": "https://github.com/phpspec/prophecy/tree/v1.18.0"
+ },
+ "time": "2023-12-07T16:22:33+00:00"
+ },
+ {
+ "name": "phpstan/phpdoc-parser",
+ "version": "1.25.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpstan/phpdoc-parser.git",
+ "reference": "bd84b629c8de41aa2ae82c067c955e06f1b00240"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/bd84b629c8de41aa2ae82c067c955e06f1b00240",
+ "reference": "bd84b629c8de41aa2ae82c067c955e06f1b00240",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.2 || ^8.0"
+ },
+ "require-dev": {
+ "doctrine/annotations": "^2.0",
+ "nikic/php-parser": "^4.15",
+ "php-parallel-lint/php-parallel-lint": "^1.2",
+ "phpstan/extension-installer": "^1.0",
+ "phpstan/phpstan": "^1.5",
+ "phpstan/phpstan-phpunit": "^1.1",
+ "phpstan/phpstan-strict-rules": "^1.0",
+ "phpunit/phpunit": "^9.5",
+ "symfony/process": "^5.2"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "PHPStan\\PhpDocParser\\": [
+ "src/"
+ ]
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "PHPDoc parser with support for nullable, intersection and generic types",
+ "support": {
+ "issues": "https://github.com/phpstan/phpdoc-parser/issues",
+ "source": "https://github.com/phpstan/phpdoc-parser/tree/1.25.0"
+ },
+ "time": "2024-01-04T17:06:16+00:00"
+ },
+ {
+ "name": "phpunit/php-code-coverage",
+ "version": "9.2.30",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-code-coverage.git",
+ "reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/ca2bd87d2f9215904682a9cb9bb37dda98e76089",
+ "reference": "ca2bd87d2f9215904682a9cb9bb37dda98e76089",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-libxml": "*",
+ "ext-xmlwriter": "*",
+ "nikic/php-parser": "^4.18 || ^5.0",
+ "php": ">=7.3",
+ "phpunit/php-file-iterator": "^3.0.3",
+ "phpunit/php-text-template": "^2.0.2",
+ "sebastian/code-unit-reverse-lookup": "^2.0.2",
+ "sebastian/complexity": "^2.0",
+ "sebastian/environment": "^5.1.2",
+ "sebastian/lines-of-code": "^1.0.3",
+ "sebastian/version": "^3.0.1",
+ "theseer/tokenizer": "^1.2.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-pcov": "PHP extension that provides line coverage",
+ "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.2-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.",
+ "homepage": "https://github.com/sebastianbergmann/php-code-coverage",
+ "keywords": [
+ "coverage",
+ "testing",
+ "xunit"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
+ "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.30"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-12-22T06:47:57+00:00"
+ },
+ {
+ "name": "phpunit/php-file-iterator",
+ "version": "3.0.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-file-iterator.git",
+ "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "FilterIterator implementation that filters files based on a list of suffixes.",
+ "homepage": "https://github.com/sebastianbergmann/php-file-iterator/",
+ "keywords": [
+ "filesystem",
+ "iterator"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2021-12-02T12:48:52+00:00"
+ },
+ {
+ "name": "phpunit/php-invoker",
+ "version": "3.1.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-invoker.git",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "ext-pcntl": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-pcntl": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Invoke callables with a timeout",
+ "homepage": "https://github.com/sebastianbergmann/php-invoker/",
+ "keywords": [
+ "process"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-invoker/issues",
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:58:55+00:00"
+ },
+ {
+ "name": "phpunit/php-text-template",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-text-template.git",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Simple template engine.",
+ "homepage": "https://github.com/sebastianbergmann/php-text-template/",
+ "keywords": [
+ "template"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-text-template/issues",
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T05:33:50+00:00"
+ },
+ {
+ "name": "phpunit/php-timer",
+ "version": "5.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/php-timer.git",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Utility class for timing",
+ "homepage": "https://github.com/sebastianbergmann/php-timer/",
+ "keywords": [
+ "timer"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/php-timer/issues",
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:16:10+00:00"
+ },
+ {
+ "name": "phpunit/phpunit",
+ "version": "9.6.16",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/phpunit.git",
+ "reference": "3767b2c56ce02d01e3491046f33466a1ae60a37f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3767b2c56ce02d01e3491046f33466a1ae60a37f",
+ "reference": "3767b2c56ce02d01e3491046f33466a1ae60a37f",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/instantiator": "^1.3.1 || ^2",
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-libxml": "*",
+ "ext-mbstring": "*",
+ "ext-xml": "*",
+ "ext-xmlwriter": "*",
+ "myclabs/deep-copy": "^1.10.1",
+ "phar-io/manifest": "^2.0.3",
+ "phar-io/version": "^3.0.2",
+ "php": ">=7.3",
+ "phpunit/php-code-coverage": "^9.2.28",
+ "phpunit/php-file-iterator": "^3.0.5",
+ "phpunit/php-invoker": "^3.1.1",
+ "phpunit/php-text-template": "^2.0.3",
+ "phpunit/php-timer": "^5.0.2",
+ "sebastian/cli-parser": "^1.0.1",
+ "sebastian/code-unit": "^1.0.6",
+ "sebastian/comparator": "^4.0.8",
+ "sebastian/diff": "^4.0.3",
+ "sebastian/environment": "^5.1.3",
+ "sebastian/exporter": "^4.0.5",
+ "sebastian/global-state": "^5.0.1",
+ "sebastian/object-enumerator": "^4.0.3",
+ "sebastian/resource-operations": "^3.0.3",
+ "sebastian/type": "^3.2",
+ "sebastian/version": "^3.0.2"
+ },
+ "suggest": {
+ "ext-soap": "To be able to generate mocks based on WSDL files",
+ "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
+ },
+ "bin": [
+ "phpunit"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "9.6-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/Framework/Assert/Functions.php"
+ ],
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "The PHP Unit Testing framework.",
+ "homepage": "https://phpunit.de/",
+ "keywords": [
+ "phpunit",
+ "testing",
+ "xunit"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/phpunit/issues",
+ "security": "https://github.com/sebastianbergmann/phpunit/security/policy",
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.16"
+ },
+ "funding": [
+ {
+ "url": "https://phpunit.de/sponsors.html",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-01-19T07:03:14+00:00"
+ },
+ {
+ "name": "psr/cache",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/cache.git",
+ "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/cache/zipball/d11b50ad223250cf17b86e38383413f5a6764bf8",
+ "reference": "d11b50ad223250cf17b86e38383413f5a6764bf8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Cache\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for caching libraries",
+ "keywords": [
+ "cache",
+ "psr",
+ "psr-6"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/cache/tree/master"
+ },
+ "time": "2016-08-06T20:24:11+00:00"
+ },
+ {
+ "name": "psr/clock",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/clock.git",
+ "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d",
+ "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.0 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Psr\\Clock\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for reading the clock.",
+ "homepage": "https://github.com/php-fig/clock",
+ "keywords": [
+ "clock",
+ "now",
+ "psr",
+ "psr-20",
+ "time"
+ ],
+ "support": {
+ "issues": "https://github.com/php-fig/clock/issues",
+ "source": "https://github.com/php-fig/clock/tree/1.0.0"
+ },
+ "time": "2022-11-25T14:36:26+00:00"
+ },
+ {
+ "name": "psr/container",
+ "version": "2.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/container.git",
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+ "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.4.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Container\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
+ "description": "Common Container Interface (PHP FIG PSR-11)",
+ "homepage": "https://github.com/php-fig/container",
+ "keywords": [
+ "PSR-11",
+ "container",
+ "container-interface",
+ "container-interop",
+ "psr"
+ ],
+ "support": {
+ "issues": "https://github.com/php-fig/container/issues",
+ "source": "https://github.com/php-fig/container/tree/2.0.2"
+ },
+ "time": "2021-11-05T16:47:00+00:00"
+ },
+ {
+ "name": "psr/event-dispatcher",
+ "version": "1.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/event-dispatcher.git",
+ "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0",
+ "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.2.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\EventDispatcher\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "http://www.php-fig.org/"
+ }
+ ],
+ "description": "Standard interfaces for event handling.",
+ "keywords": [
+ "events",
+ "psr",
+ "psr-14"
+ ],
+ "support": {
+ "issues": "https://github.com/php-fig/event-dispatcher/issues",
+ "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0"
+ },
+ "time": "2019-01-08T18:20:26+00:00"
+ },
+ {
+ "name": "psr/log",
+ "version": "3.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/log.git",
+ "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001",
+ "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.0.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\Log\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interface for logging libraries",
+ "homepage": "https://github.com/php-fig/log",
+ "keywords": [
+ "log",
+ "psr",
+ "psr-3"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/log/tree/3.0.0"
+ },
+ "time": "2021-07-14T16:46:02+00:00"
+ },
+ {
+ "name": "psr/simple-cache",
+ "version": "3.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-fig/simple-cache.git",
+ "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865",
+ "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.0.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Psr\\SimpleCache\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "PHP-FIG",
+ "homepage": "https://www.php-fig.org/"
+ }
+ ],
+ "description": "Common interfaces for simple caching",
+ "keywords": [
+ "cache",
+ "caching",
+ "psr",
+ "psr-16",
+ "simple-cache"
+ ],
+ "support": {
+ "source": "https://github.com/php-fig/simple-cache/tree/3.0.0"
+ },
+ "time": "2021-10-29T13:26:27+00:00"
+ },
+ {
+ "name": "ramsey/collection",
+ "version": "2.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/ramsey/collection.git",
+ "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5",
+ "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^8.1"
+ },
+ "require-dev": {
+ "captainhook/plugin-composer": "^5.3",
+ "ergebnis/composer-normalize": "^2.28.3",
+ "fakerphp/faker": "^1.21",
+ "hamcrest/hamcrest-php": "^2.0",
+ "jangregor/phpstan-prophecy": "^1.0",
+ "mockery/mockery": "^1.5",
+ "php-parallel-lint/php-console-highlighter": "^1.0",
+ "php-parallel-lint/php-parallel-lint": "^1.3",
+ "phpcsstandards/phpcsutils": "^1.0.0-rc1",
+ "phpspec/prophecy-phpunit": "^2.0",
+ "phpstan/extension-installer": "^1.2",
+ "phpstan/phpstan": "^1.9",
+ "phpstan/phpstan-mockery": "^1.1",
+ "phpstan/phpstan-phpunit": "^1.3",
+ "phpunit/phpunit": "^9.5",
+ "psalm/plugin-mockery": "^1.1",
+ "psalm/plugin-phpunit": "^0.18.4",
+ "ramsey/coding-standard": "^2.0.3",
+ "ramsey/conventional-commits": "^1.3",
+ "vimeo/psalm": "^5.4"
+ },
+ "type": "library",
+ "extra": {
+ "captainhook": {
+ "force-install": true
+ },
+ "ramsey/conventional-commits": {
+ "configFile": "conventional-commits.json"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Ramsey\\Collection\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Ben Ramsey",
+ "email": "ben@benramsey.com",
+ "homepage": "https://benramsey.com"
+ }
+ ],
+ "description": "A PHP library for representing and manipulating collections.",
+ "keywords": [
+ "array",
+ "collection",
+ "hash",
+ "map",
+ "queue",
+ "set"
+ ],
+ "support": {
+ "issues": "https://github.com/ramsey/collection/issues",
+ "source": "https://github.com/ramsey/collection/tree/2.0.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/ramsey",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/ramsey/collection",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-12-31T21:50:55+00:00"
+ },
+ {
+ "name": "ramsey/uuid",
+ "version": "4.7.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/ramsey/uuid.git",
+ "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/ramsey/uuid/zipball/5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e",
+ "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e",
+ "shasum": ""
+ },
+ "require": {
+ "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11",
+ "ext-json": "*",
+ "php": "^8.0",
+ "ramsey/collection": "^1.2 || ^2.0"
+ },
+ "replace": {
+ "rhumsaa/uuid": "self.version"
+ },
+ "require-dev": {
+ "captainhook/captainhook": "^5.10",
+ "captainhook/plugin-composer": "^5.3",
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0",
+ "doctrine/annotations": "^1.8",
+ "ergebnis/composer-normalize": "^2.15",
+ "mockery/mockery": "^1.3",
+ "paragonie/random-lib": "^2",
+ "php-mock/php-mock": "^2.2",
+ "php-mock/php-mock-mockery": "^1.3",
+ "php-parallel-lint/php-parallel-lint": "^1.1",
+ "phpbench/phpbench": "^1.0",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-mockery": "^1.1",
+ "phpstan/phpstan-phpunit": "^1.1",
+ "phpunit/phpunit": "^8.5 || ^9",
+ "ramsey/composer-repl": "^1.4",
+ "slevomat/coding-standard": "^8.4",
+ "squizlabs/php_codesniffer": "^3.5",
+ "vimeo/psalm": "^4.9"
+ },
+ "suggest": {
+ "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.",
+ "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.",
+ "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.",
+ "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter",
+ "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type."
+ },
+ "type": "library",
+ "extra": {
+ "captainhook": {
+ "force-install": true
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/functions.php"
+ ],
+ "psr-4": {
+ "Ramsey\\Uuid\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).",
+ "keywords": [
+ "guid",
+ "identifier",
+ "uuid"
+ ],
+ "support": {
+ "issues": "https://github.com/ramsey/uuid/issues",
+ "source": "https://github.com/ramsey/uuid/tree/4.7.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/ramsey",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-11-08T05:53:05+00:00"
+ },
+ {
+ "name": "sebastian/cli-parser",
+ "version": "1.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/cli-parser.git",
+ "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for parsing CLI options",
+ "homepage": "https://github.com/sebastianbergmann/cli-parser",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:08:49+00:00"
+ },
+ {
+ "name": "sebastian/code-unit",
+ "version": "1.0.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit.git",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Collection of value objects that represent the PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/code-unit",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:08:54+00:00"
+ },
+ {
+ "name": "sebastian/code-unit-reverse-lookup",
+ "version": "2.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Looks up which function or method a line of code belongs to",
+ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T05:30:19+00:00"
+ },
+ {
+ "name": "sebastian/comparator",
+ "version": "4.0.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/comparator.git",
+ "reference": "fa0f136dd2334583309d32b62544682ee972b51a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a",
+ "reference": "fa0f136dd2334583309d32b62544682ee972b51a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/diff": "^4.0",
+ "sebastian/exporter": "^4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@2bepublished.at"
+ }
+ ],
+ "description": "Provides the functionality to compare PHP values for equality",
+ "homepage": "https://github.com/sebastianbergmann/comparator",
+ "keywords": [
+ "comparator",
+ "compare",
+ "equality"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/comparator/issues",
+ "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2022-09-14T12:41:17+00:00"
+ },
+ {
+ "name": "sebastian/complexity",
+ "version": "2.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/complexity.git",
+ "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a",
+ "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^4.18 || ^5.0",
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for calculating the complexity of PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/complexity",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/complexity/issues",
+ "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-12-22T06:19:30+00:00"
+ },
+ {
+ "name": "sebastian/diff",
+ "version": "4.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/diff.git",
+ "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
+ "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3",
+ "symfony/process": "^4.2 || ^5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Kore Nordmann",
+ "email": "mail@kore-nordmann.de"
+ }
+ ],
+ "description": "Diff implementation",
+ "homepage": "https://github.com/sebastianbergmann/diff",
+ "keywords": [
+ "diff",
+ "udiff",
+ "unidiff",
+ "unified diff"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/diff/issues",
+ "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-05-07T05:35:17+00:00"
+ },
+ {
+ "name": "sebastian/environment",
+ "version": "5.1.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/environment.git",
+ "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
+ "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-posix": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.1-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Provides functionality to handle HHVM/PHP environments",
+ "homepage": "http://www.github.com/sebastianbergmann/environment",
+ "keywords": [
+ "Xdebug",
+ "environment",
+ "hhvm"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/environment/issues",
+ "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-02-03T06:03:51+00:00"
+ },
+ {
+ "name": "sebastian/exporter",
+ "version": "4.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/exporter.git",
+ "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
+ "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/recursion-context": "^4.0"
+ },
+ "require-dev": {
+ "ext-mbstring": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Volker Dusch",
+ "email": "github@wallbash.com"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ },
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ }
+ ],
+ "description": "Provides the functionality to export PHP variables for visualization",
+ "homepage": "https://www.github.com/sebastianbergmann/exporter",
+ "keywords": [
+ "export",
+ "exporter"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/exporter/issues",
+ "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2022-09-14T06:03:37+00:00"
+ },
+ {
+ "name": "sebastian/global-state",
+ "version": "5.0.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/global-state.git",
+ "reference": "bde739e7565280bda77be70044ac1047bc007e34"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34",
+ "reference": "bde739e7565280bda77be70044ac1047bc007e34",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
+ },
+ "require-dev": {
+ "ext-dom": "*",
+ "phpunit/phpunit": "^9.3"
+ },
+ "suggest": {
+ "ext-uopz": "*"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Snapshotting of global state",
+ "homepage": "http://www.github.com/sebastianbergmann/global-state",
+ "keywords": [
+ "global state"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/global-state/issues",
+ "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-08-02T09:26:13+00:00"
+ },
+ {
+ "name": "sebastian/lines-of-code",
+ "version": "1.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/lines-of-code.git",
+ "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5",
+ "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^4.18 || ^5.0",
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library for counting the lines of code in PHP source code",
+ "homepage": "https://github.com/sebastianbergmann/lines-of-code",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-12-22T06:20:34+00:00"
+ },
+ {
+ "name": "sebastian/object-enumerator",
+ "version": "4.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/object-enumerator.git",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
+ "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3",
+ "sebastian/object-reflector": "^2.0",
+ "sebastian/recursion-context": "^4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Traverses array structures and object graphs to enumerate all referenced objects",
+ "homepage": "https://github.com/sebastianbergmann/object-enumerator/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:12:34+00:00"
+ },
+ {
+ "name": "sebastian/object-reflector",
+ "version": "2.0.4",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/object-reflector.git",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Allows reflection of object attributes, including inherited and non-public ones",
+ "homepage": "https://github.com/sebastianbergmann/object-reflector/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/object-reflector/issues",
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-10-26T13:14:26+00:00"
+ },
+ {
+ "name": "sebastian/recursion-context",
+ "version": "4.0.5",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/recursion-context.git",
+ "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
+ "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Jeff Welch",
+ "email": "whatthejeff@gmail.com"
+ },
+ {
+ "name": "Adam Harvey",
+ "email": "aharvey@php.net"
+ }
+ ],
+ "description": "Provides functionality to recursively process PHP variables",
+ "homepage": "https://github.com/sebastianbergmann/recursion-context",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/recursion-context/issues",
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-02-03T06:07:39+00:00"
+ },
+ {
+ "name": "sebastian/resource-operations",
+ "version": "3.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/resource-operations.git",
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Provides a list of PHP built-in functions that operate on resources",
+ "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/resource-operations/issues",
+ "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:45:17+00:00"
+ },
+ {
+ "name": "sebastian/type",
+ "version": "3.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/type.git",
+ "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
+ "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.2-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Collection of value objects that represent the types of the PHP type system",
+ "homepage": "https://github.com/sebastianbergmann/type",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/type/issues",
+ "source": "https://github.com/sebastianbergmann/type/tree/3.2.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2023-02-03T06:13:03+00:00"
+ },
+ {
+ "name": "sebastian/version",
+ "version": "3.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/version.git",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
+ "reference": "c6c1022351a901512170118436c764e473f6de8c",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.3"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+ "homepage": "https://github.com/sebastianbergmann/version",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/version/issues",
+ "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2020-09-28T06:39:44+00:00"
+ },
+ {
+ "name": "sirbrillig/phpcs-variable-analysis",
+ "version": "v2.11.17",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sirbrillig/phpcs-variable-analysis.git",
+ "reference": "3b71162a6bf0cde2bff1752e40a1788d8273d049"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sirbrillig/phpcs-variable-analysis/zipball/3b71162a6bf0cde2bff1752e40a1788d8273d049",
+ "reference": "3b71162a6bf0cde2bff1752e40a1788d8273d049",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.4.0",
+ "squizlabs/php_codesniffer": "^3.5.6"
+ },
+ "require-dev": {
+ "dealerdirect/phpcodesniffer-composer-installer": "^0.7 || ^1.0",
+ "phpcsstandards/phpcsdevcs": "^1.1",
+ "phpstan/phpstan": "^1.7",
+ "phpunit/phpunit": "^4.8.36 || ^5.7.21 || ^6.5 || ^7.0 || ^8.0 || ^9.0",
+ "sirbrillig/phpcs-import-detection": "^1.1",
+ "vimeo/psalm": "^0.2 || ^0.3 || ^1.1 || ^4.24 || ^5.0@beta"
+ },
+ "type": "phpcodesniffer-standard",
+ "autoload": {
+ "psr-4": {
+ "VariableAnalysis\\": "VariableAnalysis/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-2-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sam Graham",
+ "email": "php-codesniffer-variableanalysis@illusori.co.uk"
+ },
+ {
+ "name": "Payton Swick",
+ "email": "payton@foolord.com"
+ }
+ ],
+ "description": "A PHPCS sniff to detect problems with variables.",
+ "keywords": [
+ "phpcs",
+ "static analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/sirbrillig/phpcs-variable-analysis/issues",
+ "source": "https://github.com/sirbrillig/phpcs-variable-analysis",
+ "wiki": "https://github.com/sirbrillig/phpcs-variable-analysis/wiki"
+ },
+ "time": "2023-08-05T23:46:11+00:00"
+ },
+ {
+ "name": "spatie/phpunit-snapshot-assertions",
+ "version": "4.2.16",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/spatie/phpunit-snapshot-assertions.git",
+ "reference": "4c325139313c06b656ba10d5b60306c0de728c1f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/spatie/phpunit-snapshot-assertions/zipball/4c325139313c06b656ba10d5b60306c0de728c1f",
+ "reference": "4c325139313c06b656ba10d5b60306c0de728c1f",
+ "shasum": ""
+ },
+ "require": {
+ "composer-runtime-api": "^2.0",
+ "ext-dom": "*",
+ "ext-json": "*",
+ "ext-libxml": "*",
+ "php": "^7.3|^7.4|^8.0",
+ "phpunit/phpunit": "^8.3|^9.0",
+ "symfony/property-access": "^4.0|^5.0|^6.0",
+ "symfony/serializer": "^4.0|^5.0|^6.0",
+ "symfony/yaml": "^4.0|^5.0|^6.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.1.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Spatie\\Snapshots\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian De Deyne",
+ "email": "sebastian@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
+ }
+ ],
+ "description": "Snapshot testing with PHPUnit",
+ "homepage": "https://github.com/spatie/phpunit-snapshot-assertions",
+ "keywords": [
+ "assert",
+ "phpunit",
+ "phpunit-snapshot-assertions",
+ "snapshot",
+ "spatie",
+ "testing"
+ ],
+ "support": {
+ "issues": "https://github.com/spatie/phpunit-snapshot-assertions/issues",
+ "source": "https://github.com/spatie/phpunit-snapshot-assertions/tree/4.2.16"
+ },
+ "funding": [
+ {
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "custom"
+ }
+ ],
+ "time": "2022-10-10T15:58:50+00:00"
+ },
+ {
+ "name": "squizlabs/php_codesniffer",
+ "version": "3.8.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
+ "reference": "14f5fff1e64118595db5408e946f3a22c75807f7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/14f5fff1e64118595db5408e946f3a22c75807f7",
+ "reference": "14f5fff1e64118595db5408e946f3a22c75807f7",
+ "shasum": ""
+ },
+ "require": {
+ "ext-simplexml": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": ">=5.4.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4"
+ },
+ "bin": [
+ "bin/phpcbf",
+ "bin/phpcs"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "3.x-dev"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Greg Sherwood",
+ "role": "Former lead"
+ },
+ {
+ "name": "Juliette Reinders Folmer",
+ "role": "Current lead"
+ },
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors"
+ }
+ ],
+ "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
+ "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
+ "keywords": [
+ "phpcs",
+ "standards",
+ "static analysis"
+ ],
+ "support": {
+ "issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues",
+ "security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy",
+ "source": "https://github.com/PHPCSStandards/PHP_CodeSniffer",
+ "wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/PHPCSStandards",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/jrfnl",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/php_codesniffer",
+ "type": "open_collective"
+ }
+ ],
+ "time": "2024-01-11T20:47:48+00:00"
+ },
+ {
+ "name": "symfony/console",
+ "version": "v6.4.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/console.git",
+ "reference": "0254811a143e6bc6c8deea08b589a7e68a37f625"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/console/zipball/0254811a143e6bc6c8deea08b589a7e68a37f625",
+ "reference": "0254811a143e6bc6c8deea08b589a7e68a37f625",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/string": "^5.4|^6.0|^7.0"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<5.4",
+ "symfony/dotenv": "<5.4",
+ "symfony/event-dispatcher": "<5.4",
+ "symfony/lock": "<5.4",
+ "symfony/process": "<5.4"
+ },
+ "provide": {
+ "psr/log-implementation": "1.0|2.0|3.0"
+ },
+ "require-dev": {
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^5.4|^6.0|^7.0",
+ "symfony/dependency-injection": "^5.4|^6.0|^7.0",
+ "symfony/event-dispatcher": "^5.4|^6.0|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/lock": "^5.4|^6.0|^7.0",
+ "symfony/messenger": "^5.4|^6.0|^7.0",
+ "symfony/process": "^5.4|^6.0|^7.0",
+ "symfony/stopwatch": "^5.4|^6.0|^7.0",
+ "symfony/var-dumper": "^5.4|^6.0|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Console\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Eases the creation of beautiful and testable command line interfaces",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "cli",
+ "command-line",
+ "console",
+ "terminal"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/console/tree/v6.4.2"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-10T16:15:48+00:00"
+ },
+ {
+ "name": "symfony/deprecation-contracts",
+ "version": "v3.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/deprecation-contracts.git",
+ "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf",
+ "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.4-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
+ "autoload": {
+ "files": [
+ "function.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "A generic function and convention to trigger deprecation notices",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-05-23T14:45:45+00:00"
+ },
+ {
+ "name": "symfony/error-handler",
+ "version": "v7.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/error-handler.git",
+ "reference": "80b1258be1b84c12a345d0ec3881bbf2e5270cc2"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/80b1258be1b84c12a345d0ec3881bbf2e5270cc2",
+ "reference": "80b1258be1b84c12a345d0ec3881bbf2e5270cc2",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "psr/log": "^1|^2|^3",
+ "symfony/var-dumper": "^6.4|^7.0"
+ },
+ "conflict": {
+ "symfony/deprecation-contracts": "<2.5",
+ "symfony/http-kernel": "<6.4"
+ },
+ "require-dev": {
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/http-kernel": "^6.4|^7.0",
+ "symfony/serializer": "^6.4|^7.0"
+ },
+ "bin": [
+ "Resources/bin/patch-type-declarations"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\ErrorHandler\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides tools to manage errors and ease debugging PHP code",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/error-handler/tree/v7.0.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-10-20T16:35:23+00:00"
+ },
+ {
+ "name": "symfony/event-dispatcher",
+ "version": "v7.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/event-dispatcher.git",
+ "reference": "098b62ae81fdd6cbf941f355059f617db28f4f9a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/098b62ae81fdd6cbf941f355059f617db28f4f9a",
+ "reference": "098b62ae81fdd6cbf941f355059f617db28f4f9a",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/event-dispatcher-contracts": "^2.5|^3"
+ },
+ "conflict": {
+ "symfony/dependency-injection": "<6.4",
+ "symfony/service-contracts": "<2.5"
+ },
+ "provide": {
+ "psr/event-dispatcher-implementation": "1.0",
+ "symfony/event-dispatcher-implementation": "2.0|3.0"
+ },
+ "require-dev": {
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/error-handler": "^6.4|^7.0",
+ "symfony/expression-language": "^6.4|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/stopwatch": "^6.4|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\EventDispatcher\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/event-dispatcher/tree/v7.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-27T22:24:19+00:00"
+ },
+ {
+ "name": "symfony/event-dispatcher-contracts",
+ "version": "v3.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/event-dispatcher-contracts.git",
+ "reference": "a76aed96a42d2b521153fb382d418e30d18b59df"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df",
+ "reference": "a76aed96a42d2b521153fb382d418e30d18b59df",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "psr/event-dispatcher": "^1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.4-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Contracts\\EventDispatcher\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Generic abstractions related to dispatching event",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-05-23T14:45:45+00:00"
+ },
+ {
+ "name": "symfony/finder",
+ "version": "v6.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/finder.git",
+ "reference": "11d736e97f116ac375a81f96e662911a34cd50ce"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/11d736e97f116ac375a81f96e662911a34cd50ce",
+ "reference": "11d736e97f116ac375a81f96e662911a34cd50ce",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1"
+ },
+ "require-dev": {
+ "symfony/filesystem": "^6.0|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Finder\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Finds files and directories via an intuitive fluent interface",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/finder/tree/v6.4.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-10-31T17:30:12+00:00"
+ },
+ {
+ "name": "symfony/http-foundation",
+ "version": "v6.4.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/http-foundation.git",
+ "reference": "172d807f9ef3fc3fbed8377cc57c20d389269271"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/172d807f9ef3fc3fbed8377cc57c20d389269271",
+ "reference": "172d807f9ef3fc3fbed8377cc57c20d389269271",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/polyfill-mbstring": "~1.1",
+ "symfony/polyfill-php83": "^1.27"
+ },
+ "conflict": {
+ "symfony/cache": "<6.3"
+ },
+ "require-dev": {
+ "doctrine/dbal": "^2.13.1|^3|^4",
+ "predis/predis": "^1.1|^2.0",
+ "symfony/cache": "^6.3|^7.0",
+ "symfony/dependency-injection": "^5.4|^6.0|^7.0",
+ "symfony/expression-language": "^5.4|^6.0|^7.0",
+ "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0",
+ "symfony/mime": "^5.4|^6.0|^7.0",
+ "symfony/rate-limiter": "^5.4|^6.0|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\HttpFoundation\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Defines an object-oriented layer for the HTTP specification",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/http-foundation/tree/v6.4.2"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-27T22:16:42+00:00"
+ },
+ {
+ "name": "symfony/http-kernel",
+ "version": "v6.4.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/http-kernel.git",
+ "reference": "13e8387320b5942d0dc408440c888e2d526efef4"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/13e8387320b5942d0dc408440c888e2d526efef4",
+ "reference": "13e8387320b5942d0dc408440c888e2d526efef4",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "psr/log": "^1|^2|^3",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/error-handler": "^6.4|^7.0",
+ "symfony/event-dispatcher": "^5.4|^6.0|^7.0",
+ "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/polyfill-ctype": "^1.8"
+ },
+ "conflict": {
+ "symfony/browser-kit": "<5.4",
+ "symfony/cache": "<5.4",
+ "symfony/config": "<6.1",
+ "symfony/console": "<5.4",
+ "symfony/dependency-injection": "<6.4",
+ "symfony/doctrine-bridge": "<5.4",
+ "symfony/form": "<5.4",
+ "symfony/http-client": "<5.4",
+ "symfony/http-client-contracts": "<2.5",
+ "symfony/mailer": "<5.4",
+ "symfony/messenger": "<5.4",
+ "symfony/translation": "<5.4",
+ "symfony/translation-contracts": "<2.5",
+ "symfony/twig-bridge": "<5.4",
+ "symfony/validator": "<6.4",
+ "symfony/var-dumper": "<6.3",
+ "twig/twig": "<2.13"
+ },
+ "provide": {
+ "psr/log-implementation": "1.0|2.0|3.0"
+ },
+ "require-dev": {
+ "psr/cache": "^1.0|^2.0|^3.0",
+ "symfony/browser-kit": "^5.4|^6.0|^7.0",
+ "symfony/clock": "^6.2|^7.0",
+ "symfony/config": "^6.1|^7.0",
+ "symfony/console": "^5.4|^6.0|^7.0",
+ "symfony/css-selector": "^5.4|^6.0|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/dom-crawler": "^5.4|^6.0|^7.0",
+ "symfony/expression-language": "^5.4|^6.0|^7.0",
+ "symfony/finder": "^5.4|^6.0|^7.0",
+ "symfony/http-client-contracts": "^2.5|^3",
+ "symfony/process": "^5.4|^6.0|^7.0",
+ "symfony/property-access": "^5.4.5|^6.0.5|^7.0",
+ "symfony/routing": "^5.4|^6.0|^7.0",
+ "symfony/serializer": "^6.3|^7.0",
+ "symfony/stopwatch": "^5.4|^6.0|^7.0",
+ "symfony/translation": "^5.4|^6.0|^7.0",
+ "symfony/translation-contracts": "^2.5|^3",
+ "symfony/uid": "^5.4|^6.0|^7.0",
+ "symfony/validator": "^6.4|^7.0",
+ "symfony/var-exporter": "^6.2|^7.0",
+ "twig/twig": "^2.13|^3.0.4"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\HttpKernel\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides a structured process for converting a Request into a Response",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/http-kernel/tree/v6.4.2"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-30T15:31:44+00:00"
+ },
+ {
+ "name": "symfony/mime",
+ "version": "v6.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/mime.git",
+ "reference": "ca4f58b2ef4baa8f6cecbeca2573f88cd577d205"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/ca4f58b2ef4baa8f6cecbeca2573f88cd577d205",
+ "reference": "ca4f58b2ef4baa8f6cecbeca2573f88cd577d205",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/polyfill-intl-idn": "^1.10",
+ "symfony/polyfill-mbstring": "^1.0"
+ },
+ "conflict": {
+ "egulias/email-validator": "~3.0.0",
+ "phpdocumentor/reflection-docblock": "<3.2.2",
+ "phpdocumentor/type-resolver": "<1.4.0",
+ "symfony/mailer": "<5.4",
+ "symfony/serializer": "<6.3.2"
+ },
+ "require-dev": {
+ "egulias/email-validator": "^2.1.10|^3.1|^4",
+ "league/html-to-markdown": "^5.0",
+ "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
+ "symfony/dependency-injection": "^5.4|^6.0|^7.0",
+ "symfony/property-access": "^5.4|^6.0|^7.0",
+ "symfony/property-info": "^5.4|^6.0|^7.0",
+ "symfony/serializer": "^6.3.2|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Mime\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Allows manipulating MIME messages",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "mime",
+ "mime-type"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/mime/tree/v6.4.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-10-17T11:49:05+00:00"
+ },
+ {
+ "name": "symfony/polyfill-ctype",
+ "version": "v1.28.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-ctype.git",
+ "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
+ "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "provide": {
+ "ext-ctype": "*"
+ },
+ "suggest": {
+ "ext-ctype": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.28-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Ctype\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Gert de Pagter",
+ "email": "BackEndTea@gmail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for ctype functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "ctype",
+ "polyfill",
+ "portable"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-01-26T09:26:14+00:00"
+ },
+ {
+ "name": "symfony/polyfill-intl-grapheme",
+ "version": "v1.28.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
+ "reference": "875e90aeea2777b6f135677f618529449334a612"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612",
+ "reference": "875e90aeea2777b6f135677f618529449334a612",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "suggest": {
+ "ext-intl": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.28-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Grapheme\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for intl's grapheme_* functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "grapheme",
+ "intl",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-01-26T09:26:14+00:00"
+ },
+ {
+ "name": "symfony/polyfill-intl-idn",
+ "version": "v1.28.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-intl-idn.git",
+ "reference": "ecaafce9f77234a6a449d29e49267ba10499116d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d",
+ "reference": "ecaafce9f77234a6a449d29e49267ba10499116d",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1",
+ "symfony/polyfill-intl-normalizer": "^1.10",
+ "symfony/polyfill-php72": "^1.10"
+ },
+ "suggest": {
+ "ext-intl": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.28-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Idn\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Laurent Bassin",
+ "email": "laurent@bassin.info"
+ },
+ {
+ "name": "Trevor Rowbotham",
+ "email": "trevor.rowbotham@pm.me"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "idn",
+ "intl",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-01-26T09:30:37+00:00"
+ },
+ {
+ "name": "symfony/polyfill-intl-normalizer",
+ "version": "v1.28.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
+ "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
+ "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "suggest": {
+ "ext-intl": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.28-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Intl\\Normalizer\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for intl's Normalizer class and related functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "intl",
+ "normalizer",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-01-26T09:26:14+00:00"
+ },
+ {
+ "name": "symfony/polyfill-mbstring",
+ "version": "v1.28.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-mbstring.git",
+ "reference": "42292d99c55abe617799667f454222c54c60e229"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
+ "reference": "42292d99c55abe617799667f454222c54c60e229",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "provide": {
+ "ext-mbstring": "*"
+ },
+ "suggest": {
+ "ext-mbstring": "For best performance"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.28-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Mbstring\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill for the Mbstring extension",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "mbstring",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-07-28T09:04:16+00:00"
+ },
+ {
+ "name": "symfony/polyfill-php72",
+ "version": "v1.28.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php72.git",
+ "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179",
+ "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.28-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php72\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-01-26T09:26:14+00:00"
+ },
+ {
+ "name": "symfony/polyfill-php80",
+ "version": "v1.28.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php80.git",
+ "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
+ "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.28-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php80\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Ion Bazan",
+ "email": "ion.bazan@gmail.com"
+ },
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-01-26T09:26:14+00:00"
+ },
+ {
+ "name": "symfony/polyfill-php83",
+ "version": "v1.28.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php83.git",
+ "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11",
+ "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1",
+ "symfony/polyfill-php80": "^1.14"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.28-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php83\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php83/tree/v1.28.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-08-16T06:22:46+00:00"
+ },
+ {
+ "name": "symfony/property-access",
+ "version": "v6.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/property-access.git",
+ "reference": "75f6990ae8e8040dd587162f3f1863f755957129"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/property-access/zipball/75f6990ae8e8040dd587162f3f1863f755957129",
+ "reference": "75f6990ae8e8040dd587162f3f1863f755957129",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/property-info": "^5.4|^6.0|^7.0"
+ },
+ "require-dev": {
+ "symfony/cache": "^5.4|^6.0|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\PropertyAccess\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides functions to read and write from/to an object or array using a simple string notation",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "access",
+ "array",
+ "extraction",
+ "index",
+ "injection",
+ "object",
+ "property",
+ "property-path",
+ "reflection"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/property-access/tree/v6.4.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-09-25T12:52:38+00:00"
+ },
+ {
+ "name": "symfony/property-info",
+ "version": "v7.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/property-info.git",
+ "reference": "ce627df05f5629ce4feec536ee827ad0a12689b6"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/property-info/zipball/ce627df05f5629ce4feec536ee827ad0a12689b6",
+ "reference": "ce627df05f5629ce4feec536ee827ad0a12689b6",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/string": "^6.4|^7.0"
+ },
+ "conflict": {
+ "phpdocumentor/reflection-docblock": "<5.2",
+ "phpdocumentor/type-resolver": "<1.5.1",
+ "symfony/dependency-injection": "<6.4",
+ "symfony/serializer": "<6.4"
+ },
+ "require-dev": {
+ "phpdocumentor/reflection-docblock": "^5.2",
+ "phpstan/phpdoc-parser": "^1.0",
+ "symfony/cache": "^6.4|^7.0",
+ "symfony/dependency-injection": "^6.4|^7.0",
+ "symfony/serializer": "^6.4|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\PropertyInfo\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Kévin Dunglas",
+ "email": "dunglas@gmail.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Extracts information about PHP class' properties using metadata of popular sources",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "doctrine",
+ "phpdoc",
+ "property",
+ "symfony",
+ "type",
+ "validator"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/property-info/tree/v7.0.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-11-25T08:38:27+00:00"
+ },
+ {
+ "name": "symfony/routing",
+ "version": "v6.4.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/routing.git",
+ "reference": "98eab13a07fddc85766f1756129c69f207ffbc21"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/98eab13a07fddc85766f1756129c69f207ffbc21",
+ "reference": "98eab13a07fddc85766f1756129c69f207ffbc21",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3"
+ },
+ "conflict": {
+ "doctrine/annotations": "<1.12",
+ "symfony/config": "<6.2",
+ "symfony/dependency-injection": "<5.4",
+ "symfony/yaml": "<5.4"
+ },
+ "require-dev": {
+ "doctrine/annotations": "^1.12|^2",
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^6.2|^7.0",
+ "symfony/dependency-injection": "^5.4|^6.0|^7.0",
+ "symfony/expression-language": "^5.4|^6.0|^7.0",
+ "symfony/http-foundation": "^5.4|^6.0|^7.0",
+ "symfony/yaml": "^5.4|^6.0|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Routing\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Maps an HTTP request to a set of configuration variables",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "router",
+ "routing",
+ "uri",
+ "url"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/routing/tree/v6.4.2"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-29T15:34:34+00:00"
+ },
+ {
+ "name": "symfony/serializer",
+ "version": "v6.4.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/serializer.git",
+ "reference": "f87ea9d7bfd4cf2f7b72be554607e6c96e6664af"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/serializer/zipball/f87ea9d7bfd4cf2f7b72be554607e6c96e6664af",
+ "reference": "f87ea9d7bfd4cf2f7b72be554607e6c96e6664af",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/polyfill-ctype": "~1.8"
+ },
+ "conflict": {
+ "doctrine/annotations": "<1.12",
+ "phpdocumentor/reflection-docblock": "<3.2.2",
+ "phpdocumentor/type-resolver": "<1.4.0",
+ "symfony/dependency-injection": "<5.4",
+ "symfony/property-access": "<5.4",
+ "symfony/property-info": "<5.4.24|>=6,<6.2.11",
+ "symfony/uid": "<5.4",
+ "symfony/validator": "<6.4",
+ "symfony/yaml": "<5.4"
+ },
+ "require-dev": {
+ "doctrine/annotations": "^1.12|^2",
+ "phpdocumentor/reflection-docblock": "^3.2|^4.0|^5.0",
+ "seld/jsonlint": "^1.10",
+ "symfony/cache": "^5.4|^6.0|^7.0",
+ "symfony/config": "^5.4|^6.0|^7.0",
+ "symfony/console": "^5.4|^6.0|^7.0",
+ "symfony/dependency-injection": "^5.4|^6.0|^7.0",
+ "symfony/error-handler": "^5.4|^6.0|^7.0",
+ "symfony/filesystem": "^5.4|^6.0|^7.0",
+ "symfony/form": "^5.4|^6.0|^7.0",
+ "symfony/http-foundation": "^5.4|^6.0|^7.0",
+ "symfony/http-kernel": "^5.4|^6.0|^7.0",
+ "symfony/messenger": "^5.4|^6.0|^7.0",
+ "symfony/mime": "^5.4|^6.0|^7.0",
+ "symfony/property-access": "^5.4|^6.0|^7.0",
+ "symfony/property-info": "^5.4.24|^6.2.11|^7.0",
+ "symfony/translation-contracts": "^2.5|^3",
+ "symfony/uid": "^5.4|^6.0|^7.0",
+ "symfony/validator": "^6.4|^7.0",
+ "symfony/var-dumper": "^5.4|^6.0|^7.0",
+ "symfony/var-exporter": "^5.4|^6.0|^7.0",
+ "symfony/yaml": "^5.4|^6.0|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Serializer\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Handles serializing and deserializing data structures, including object graphs, into array structures or other formats like XML and JSON.",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/serializer/tree/v6.4.2"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-29T15:34:34+00:00"
+ },
+ {
+ "name": "symfony/service-contracts",
+ "version": "v3.4.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/service-contracts.git",
+ "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/fe07cbc8d837f60caf7018068e350cc5163681a0",
+ "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "psr/container": "^1.1|^2.0"
+ },
+ "conflict": {
+ "ext-psr": "<1.1|>=2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.4-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Contracts\\Service\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Test/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Generic abstractions related to writing services",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/service-contracts/tree/v3.4.1"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-26T14:02:43+00:00"
+ },
+ {
+ "name": "symfony/string",
+ "version": "v7.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/string.git",
+ "reference": "cc78f14f91f5e53b42044d0620961c48028ff9f5"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/string/zipball/cc78f14f91f5e53b42044d0620961c48028ff9f5",
+ "reference": "cc78f14f91f5e53b42044d0620961c48028ff9f5",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/polyfill-ctype": "~1.8",
+ "symfony/polyfill-intl-grapheme": "~1.0",
+ "symfony/polyfill-intl-normalizer": "~1.0",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "conflict": {
+ "symfony/translation-contracts": "<2.5"
+ },
+ "require-dev": {
+ "symfony/error-handler": "^6.4|^7.0",
+ "symfony/http-client": "^6.4|^7.0",
+ "symfony/intl": "^6.4|^7.0",
+ "symfony/translation-contracts": "^2.5|^3.0",
+ "symfony/var-exporter": "^6.4|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "Resources/functions.php"
+ ],
+ "psr-4": {
+ "Symfony\\Component\\String\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "grapheme",
+ "i18n",
+ "string",
+ "unicode",
+ "utf-8",
+ "utf8"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/string/tree/v7.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-10T16:54:46+00:00"
+ },
+ {
+ "name": "symfony/translation",
+ "version": "v6.4.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/translation.git",
+ "reference": "a2ab2ec1a462e53016de8e8d5e8912bfd62ea681"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/a2ab2ec1a462e53016de8e8d5e8912bfd62ea681",
+ "reference": "a2ab2ec1a462e53016de8e8d5e8912bfd62ea681",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/polyfill-mbstring": "~1.0",
+ "symfony/translation-contracts": "^2.5|^3.0"
+ },
+ "conflict": {
+ "symfony/config": "<5.4",
+ "symfony/console": "<5.4",
+ "symfony/dependency-injection": "<5.4",
+ "symfony/http-client-contracts": "<2.5",
+ "symfony/http-kernel": "<5.4",
+ "symfony/service-contracts": "<2.5",
+ "symfony/twig-bundle": "<5.4",
+ "symfony/yaml": "<5.4"
+ },
+ "provide": {
+ "symfony/translation-implementation": "2.3|3.0"
+ },
+ "require-dev": {
+ "nikic/php-parser": "^4.13",
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^5.4|^6.0|^7.0",
+ "symfony/console": "^5.4|^6.0|^7.0",
+ "symfony/dependency-injection": "^5.4|^6.0|^7.0",
+ "symfony/finder": "^5.4|^6.0|^7.0",
+ "symfony/http-client-contracts": "^2.5|^3.0",
+ "symfony/http-kernel": "^5.4|^6.0|^7.0",
+ "symfony/intl": "^5.4|^6.0|^7.0",
+ "symfony/polyfill-intl-icu": "^1.21",
+ "symfony/routing": "^5.4|^6.0|^7.0",
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/yaml": "^5.4|^6.0|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "Resources/functions.php"
+ ],
+ "psr-4": {
+ "Symfony\\Component\\Translation\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides tools to internationalize your application",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/translation/tree/v6.4.2"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-18T09:25:29+00:00"
+ },
+ {
+ "name": "symfony/translation-contracts",
+ "version": "v3.4.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/translation-contracts.git",
+ "reference": "06450585bf65e978026bda220cdebca3f867fde7"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/06450585bf65e978026bda220cdebca3f867fde7",
+ "reference": "06450585bf65e978026bda220cdebca3f867fde7",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.4-dev"
+ },
+ "thanks": {
+ "name": "symfony/contracts",
+ "url": "https://github.com/symfony/contracts"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Contracts\\Translation\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Test/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Generic abstractions related to translation",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "abstractions",
+ "contracts",
+ "decoupling",
+ "interfaces",
+ "interoperability",
+ "standards"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/translation-contracts/tree/v3.4.1"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-26T14:02:43+00:00"
+ },
+ {
+ "name": "symfony/var-dumper",
+ "version": "v6.4.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/var-dumper.git",
+ "reference": "68d6573ec98715ddcae5a0a85bee3c1c27a4c33f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/68d6573ec98715ddcae5a0a85bee3c1c27a4c33f",
+ "reference": "68d6573ec98715ddcae5a0a85bee3c1c27a4c33f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/polyfill-mbstring": "~1.0"
+ },
+ "conflict": {
+ "symfony/console": "<5.4"
+ },
+ "require-dev": {
+ "ext-iconv": "*",
+ "symfony/console": "^5.4|^6.0|^7.0",
+ "symfony/error-handler": "^6.3|^7.0",
+ "symfony/http-kernel": "^5.4|^6.0|^7.0",
+ "symfony/process": "^5.4|^6.0|^7.0",
+ "symfony/uid": "^5.4|^6.0|^7.0",
+ "twig/twig": "^2.13|^3.0.4"
+ },
+ "bin": [
+ "Resources/bin/var-dump-server"
+ ],
+ "type": "library",
+ "autoload": {
+ "files": [
+ "Resources/functions/dump.php"
+ ],
+ "psr-4": {
+ "Symfony\\Component\\VarDumper\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Provides mechanisms for walking through any arbitrary PHP variable",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "debug",
+ "dump"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/var-dumper/tree/v6.4.2"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-28T19:16:56+00:00"
+ },
+ {
+ "name": "symfony/yaml",
+ "version": "v6.4.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/yaml.git",
+ "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/4f9237a1bb42455d609e6687d2613dde5b41a587",
+ "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/polyfill-ctype": "^1.8"
+ },
+ "conflict": {
+ "symfony/console": "<5.4"
+ },
+ "require-dev": {
+ "symfony/console": "^5.4|^6.0|^7.0"
+ },
+ "bin": [
+ "Resources/bin/yaml-lint"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Yaml\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Loads and dumps YAML files",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/yaml/tree/v6.4.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-11-06T11:00:25+00:00"
+ },
+ {
+ "name": "theseer/tokenizer",
+ "version": "1.2.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/theseer/tokenizer.git",
+ "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96",
+ "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96",
+ "shasum": ""
+ },
+ "require": {
+ "ext-dom": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": "^7.2 || ^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
+ "role": "Developer"
+ }
+ ],
+ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
+ "support": {
+ "issues": "https://github.com/theseer/tokenizer/issues",
+ "source": "https://github.com/theseer/tokenizer/tree/1.2.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/theseer",
+ "type": "github"
+ }
+ ],
+ "time": "2023-11-20T00:12:19+00:00"
+ },
+ {
+ "name": "voku/portable-ascii",
+ "version": "2.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/voku/portable-ascii.git",
+ "reference": "b56450eed252f6801410d810c8e1727224ae0743"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743",
+ "reference": "b56450eed252f6801410d810c8e1727224ae0743",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.0.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0"
+ },
+ "suggest": {
+ "ext-intl": "Use Intl for transliterator_transliterate() support"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "voku\\": "src/voku/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Lars Moelleken",
+ "homepage": "http://www.moelleken.org/"
+ }
+ ],
+ "description": "Portable ASCII library - performance optimized (ascii) string functions for php.",
+ "homepage": "https://github.com/voku/portable-ascii",
+ "keywords": [
+ "ascii",
+ "clean",
+ "php"
+ ],
+ "support": {
+ "issues": "https://github.com/voku/portable-ascii/issues",
+ "source": "https://github.com/voku/portable-ascii/tree/2.0.1"
+ },
+ "funding": [
+ {
+ "url": "https://www.paypal.me/moelleken",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/voku",
+ "type": "github"
+ },
+ {
+ "url": "https://opencollective.com/portable-ascii",
+ "type": "open_collective"
+ },
+ {
+ "url": "https://www.patreon.com/voku",
+ "type": "patreon"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-03-08T17:03:00+00:00"
+ },
+ {
+ "name": "webmozart/assert",
+ "version": "1.11.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/webmozarts/assert.git",
+ "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
+ "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
+ "shasum": ""
+ },
+ "require": {
+ "ext-ctype": "*",
+ "php": "^7.2 || ^8.0"
+ },
+ "conflict": {
+ "phpstan/phpstan": "<0.12.20",
+ "vimeo/psalm": "<4.6.1 || 4.6.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^8.5.13"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "1.10-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Webmozart\\Assert\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ }
+ ],
+ "description": "Assertions to validate method input/output with nice error messages.",
+ "keywords": [
+ "assert",
+ "check",
+ "validate"
+ ],
+ "support": {
+ "issues": "https://github.com/webmozarts/assert/issues",
+ "source": "https://github.com/webmozarts/assert/tree/1.11.0"
+ },
+ "time": "2022-06-03T18:03:27+00:00"
+ },
+ {
+ "name": "wp-coding-standards/wpcs",
+ "version": "3.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/WordPress/WordPress-Coding-Standards.git",
+ "reference": "b4caf9689f1a0e4a4c632679a44e638c1c67aff1"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/WordPress/WordPress-Coding-Standards/zipball/b4caf9689f1a0e4a4c632679a44e638c1c67aff1",
+ "reference": "b4caf9689f1a0e4a4c632679a44e638c1c67aff1",
+ "shasum": ""
+ },
+ "require": {
+ "ext-filter": "*",
+ "ext-libxml": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlreader": "*",
+ "php": ">=5.4",
+ "phpcsstandards/phpcsextra": "^1.1.0",
+ "phpcsstandards/phpcsutils": "^1.0.8",
+ "squizlabs/php_codesniffer": "^3.7.2"
+ },
+ "require-dev": {
+ "php-parallel-lint/php-console-highlighter": "^1.0.0",
+ "php-parallel-lint/php-parallel-lint": "^1.3.2",
+ "phpcompatibility/php-compatibility": "^9.0",
+ "phpcsstandards/phpcsdevtools": "^1.2.0",
+ "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
+ },
+ "suggest": {
+ "ext-iconv": "For improved results",
+ "ext-mbstring": "For improved results"
+ },
+ "type": "phpcodesniffer-standard",
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/WordPress/WordPress-Coding-Standards/graphs/contributors"
+ }
+ ],
+ "description": "PHP_CodeSniffer rules (sniffs) to enforce WordPress coding conventions",
+ "keywords": [
+ "phpcs",
+ "standards",
+ "static analysis",
+ "wordpress"
+ ],
+ "support": {
+ "issues": "https://github.com/WordPress/WordPress-Coding-Standards/issues",
+ "source": "https://github.com/WordPress/WordPress-Coding-Standards",
+ "wiki": "https://github.com/WordPress/WordPress-Coding-Standards/wiki"
+ },
+ "funding": [
+ {
+ "url": "https://opencollective.com/thewpcc/contribute/wp-php-63406",
+ "type": "custom"
+ }
+ ],
+ "time": "2023-09-14T07:06:09+00:00"
+ },
+ {
+ "name": "yoast/phpunit-polyfills",
+ "version": "2.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Yoast/PHPUnit-Polyfills.git",
+ "reference": "c758753e8f9dac251fed396a73c8305af3f17922"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Yoast/PHPUnit-Polyfills/zipball/c758753e8f9dac251fed396a73c8305af3f17922",
+ "reference": "c758753e8f9dac251fed396a73c8305af3f17922",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.6",
+ "phpunit/phpunit": "^5.7.21 || ^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0"
+ },
+ "require-dev": {
+ "yoast/yoastcs": "^2.3.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "2.x-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "phpunitpolyfills-autoload.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Team Yoast",
+ "email": "support@yoast.com",
+ "homepage": "https://yoast.com"
+ },
+ {
+ "name": "Contributors",
+ "homepage": "https://github.com/Yoast/PHPUnit-Polyfills/graphs/contributors"
+ }
+ ],
+ "description": "Set of polyfills for changed PHPUnit functionality to allow for creating PHPUnit cross-version compatible tests",
+ "homepage": "https://github.com/Yoast/PHPUnit-Polyfills",
+ "keywords": [
+ "phpunit",
+ "polyfill",
+ "testing"
+ ],
+ "support": {
+ "issues": "https://github.com/Yoast/PHPUnit-Polyfills/issues",
+ "source": "https://github.com/Yoast/PHPUnit-Polyfills"
+ },
+ "time": "2023-06-06T20:28:24+00:00"
+ }
+ ],
+ "aliases": [],
+ "minimum-stability": "stable",
+ "stability-flags": [],
+ "prefer-stable": false,
+ "prefer-lowest": false,
+ "platform": {
+ "php": ">=8.0"
+ },
+ "platform-dev": [],
+ "plugin-api-version": "2.6.0"
+}
diff --git a/phpunit.xml.dist b/phpunit.xml.dist
deleted file mode 100644
index 8633eee9..00000000
--- a/phpunit.xml.dist
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-
-
-
-
- ./tests/
-
-
-
diff --git a/tests/admin/apple-actions/index/test-class-delete.php b/tests/admin/apple-actions/index/test-class-delete.php
deleted file mode 100644
index b86c4198..00000000
--- a/tests/admin/apple-actions/index/test-class-delete.php
+++ /dev/null
@@ -1,93 +0,0 @@
-become_admin();
- $this->add_http_response( 'POST', 'https://news-api.apple.com/channels/foo/articles', wp_json_encode( $this->fake_article_response() ) );
- $this->assertNotEmpty( $this->http_responses['POST']['https://news-api.apple.com/channels/foo/articles'] );
- $post_id = self::factory()->post->create();
- $this->assertEmpty( $this->http_responses['POST']['https://news-api.apple.com/channels/foo/articles'] );
-
- // Add an HTTP response for the delete operation, then delete the article, and verify it was triggered.
- $this->add_http_response( 'DELETE', 'https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456' );
- $this->assertNotEmpty( $this->http_responses['DELETE']['https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456'] );
- wp_delete_post( $post_id, true );
- $this->assertEmpty( $this->http_responses['DELETE']['https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456'] );
-
- // Create a new article, move it to the trash, and verify that the delete operation was triggered.
- $this->add_http_response( 'POST', 'https://news-api.apple.com/channels/foo/articles', wp_json_encode( $this->fake_article_response() ) );
- $this->assertNotEmpty( $this->http_responses['POST']['https://news-api.apple.com/channels/foo/articles'] );
- $post_id = self::factory()->post->create();
- $this->assertEmpty( $this->http_responses['POST']['https://news-api.apple.com/channels/foo/articles'] );
- $this->add_http_response( 'DELETE', 'https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456' );
- $this->assertNotEmpty( $this->http_responses['DELETE']['https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456'] );
- wp_delete_post( $post_id );
- $this->assertEmpty( $this->http_responses['DELETE']['https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456'] );
-
- // Create a new article, move it to draft, and verify that the delete operation was triggered.
- $this->add_http_response( 'POST', 'https://news-api.apple.com/channels/foo/articles', wp_json_encode( $this->fake_article_response() ) );
- $this->assertNotEmpty( $this->http_responses['POST']['https://news-api.apple.com/channels/foo/articles'] );
- $post = self::factory()->post->create_and_get();
- $this->assertEmpty( $this->http_responses['POST']['https://news-api.apple.com/channels/foo/articles'] );
- $this->add_http_response( 'DELETE', 'https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456' );
- $this->assertNotEmpty( $this->http_responses['DELETE']['https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456'] );
- $post->post_status = 'draft';
- wp_update_post( $post );
- $this->assertEmpty( $this->http_responses['DELETE']['https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456'] );
-
- // Create a new article, move it to the trash, and verify that the delete operation was triggered.
- $this->add_http_response( 'POST', 'https://news-api.apple.com/channels/foo/articles', wp_json_encode( $this->fake_article_response() ) );
- $this->assertNotEmpty( $this->http_responses['POST']['https://news-api.apple.com/channels/foo/articles'] );
- $post_id = self::factory()->post->create();
- $this->assertEmpty( $this->http_responses['POST']['https://news-api.apple.com/channels/foo/articles'] );
- $this->add_http_response( 'DELETE', 'https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456' );
- $this->assertNotEmpty( $this->http_responses['DELETE']['https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456'] );
- wp_delete_post( $post_id );
- $this->assertEmpty( $this->http_responses['DELETE']['https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456'] );
-
- // Opt out of deleting on unpublish by filter, create a new article, move it to draft status, and verify that the delete operation was not triggered.
- add_filter( 'apple_news_should_post_delete_on_unpublish', '__return_false' );
- $this->add_http_response( 'POST', 'https://news-api.apple.com/channels/foo/articles', wp_json_encode( $this->fake_article_response() ) );
- $this->assertNotEmpty( $this->http_responses['POST']['https://news-api.apple.com/channels/foo/articles'] );
- $post = self::factory()->post->create_and_get();
- $this->assertEmpty( $this->http_responses['POST']['https://news-api.apple.com/channels/foo/articles'] );
- $this->add_http_response( 'DELETE', 'https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456' );
- $this->assertNotEmpty( $this->http_responses['DELETE']['https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456'] );
- $post->post_status = 'draft';
- wp_update_post( $post );
- $this->assertNotEmpty( $this->http_responses['DELETE']['https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456'] );
- array_pop( $this->http_responses['DELETE']['https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456'] );
- $this->assertEmpty( $this->http_responses['DELETE']['https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456'] );
-
- // Opt out of deleting on trash by filter, create a new article, move it to the trash, and verify that the delete operation was not triggered.
- add_filter( 'apple_news_should_post_delete_on_trash', '__return_false' );
- $this->add_http_response( 'POST', 'https://news-api.apple.com/channels/foo/articles', wp_json_encode( $this->fake_article_response() ) );
- $this->assertNotEmpty( $this->http_responses['POST']['https://news-api.apple.com/channels/foo/articles'] );
- $post_id = self::factory()->post->create();
- $this->assertEmpty( $this->http_responses['POST']['https://news-api.apple.com/channels/foo/articles'] );
- $this->add_http_response( 'DELETE', 'https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456' );
- $this->assertNotEmpty( $this->http_responses['DELETE']['https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456'] );
- wp_delete_post( $post_id );
- $this->assertNotEmpty( $this->http_responses['DELETE']['https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456'] );
- array_pop( $this->http_responses['DELETE']['https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456'] );
- $this->assertEmpty( $this->http_responses['DELETE']['https://news-api.apple.com/articles/abcd1234-ef56-ab78-cd90-efabcdef123456'] );
- }
-}
diff --git a/tests/admin/apple-actions/index/test-class-export.php b/tests/admin/apple-actions/index/test-class-export.php
deleted file mode 100644
index 7ffa9ac6..00000000
--- a/tests/admin/apple-actions/index/test-class-export.php
+++ /dev/null
@@ -1,307 +0,0 @@
-';
- $shortcode_content = '[bc_video video_id="1234567890123" account_id="1234567890" player_id="abcd1234-ef56-ab78-cd90-efa1234567890" embed="in-page" padding_top="56%" autoplay="" min_width="0px" playsinline="" picture_in_picture="" max_width="640px" mute="" width="100%" height="100%" ]';
-
- return [
- [ [ 'title' ], $editor_content ],
- [ [ 'title' ], $shortcode_content ],
- ];
- }
-
- /**
- * A filter to ensure that the is_exporting flag is set during export.
- *
- * @return string The filtered content.
- */
- public function filter_the_content_test_is_exporting() {
- return apple_news_is_exporting() ? 'is exporting' : 'is not exporting';
- }
-
- /**
- * Tests Brightcove video support.
- *
- * @param string[] $meta_order The order of meta components to use.
- * @param string $post_content The post content to load for the test.
- *
- * @dataProvider data_provider_brightcove_video
- */
- public function test_brightcove_video( $meta_order, $post_content ) {
- $this->set_theme_settings( [ 'meta_component_order' => $meta_order ] );
- $post_id = self::factory()->post->create(
- [
- 'post_content' => $post_content,
- ]
- );
- $json = $this->get_json_for_post( $post_id );
- $this->assertEquals( 'video', $json['components'][1]['role'] );
- $this->assertEquals( 'https://edge.api.brightcove.com/playback/v1/accounts/1234567890/videos/1234567890123', $json['components'][1]['URL'] );
- $this->assertEquals( 'https://cf-images.us-east-1.prod.boltdns.net/v1/jit/1234567890/abcd1234-ef56-ab78-cd90-efabcd123456/main/1280x720/1s234ms/match/image.jpg', $json['components'][1]['stillURL'] );
- }
-
- /**
- * Tests the ability to include a caption with a cover image.
- */
- public function test_cover_with_caption() {
- $this->set_theme_settings( [ 'cover_caption' => true ] );
-
- // Create example post and attachment.
- $post_id = self::factory()->post->create();
- $image = $this->get_new_attachment( $post_id, 'Test Caption' );
-
- // Set the image as the featured image for the post.
- set_post_thumbnail( $post_id, $image );
-
- // Run the export and check the result.
- $json = $this->get_json_for_post( $post_id );
- $this->assertEquals( 'photo', $json['components'][0]['components'][0]['role'] );
- $this->assertEquals( wp_get_attachment_url( $image ), $json['components'][0]['components'][0]['URL'] );
- $this->assertEquals( 'Test Caption', $json['components'][0]['components'][0]['caption']['text'] );
- $this->assertEquals( 'caption', $json['components'][0]['components'][1]['role'] );
- $this->assertEquals( 'Test Caption', $json['components'][0]['components'][1]['text'] );
-
- // Set cover image and caption via postmeta and ensure it takes priority.
- $image2 = $this->get_new_attachment();
- update_post_meta( $post_id, 'apple_news_coverimage', $image2 );
- update_post_meta( $post_id, 'apple_news_coverimage_caption', 'Test Caption 2' );
- $json = $this->get_json_for_post( $post_id );
- $this->assertEquals( 'photo', $json['components'][0]['components'][0]['role'] );
- $this->assertEquals( wp_get_attachment_url( $image2 ), $json['components'][0]['components'][0]['URL'] );
- $this->assertEquals( 'Test Caption 2', $json['components'][0]['components'][0]['caption']['text'] );
- $this->assertEquals( 'caption', $json['components'][0]['components'][1]['role'] );
- $this->assertEquals( 'Test Caption 2', $json['components'][0]['components'][1]['text'] );
- }
-
- /**
- * Tests the behavior of an export when an excerpt is manually defined.
- */
- public function test_has_excerpt() {
- $title = 'My Title';
- $excerpt = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras tristique quis justo sit amet eleifend. Praesent id metus semper, fermentum nibh at, malesuada enim. Mauris eget faucibus lectus. Vivamus iaculis eget urna non porttitor. Donec in dignissim neque. Vivamus ut ornare magna. Nulla eros nisi, maximus nec neque at, condimentum lobortis leo. Fusce in augue...';
-
- $post_id = $this->factory->post->create(
- [
- 'post_title' => $title,
- 'post_content' => '',
- 'post_excerpt' => $excerpt,
- ]
- );
-
- $export = new Export( $this->settings, $post_id );
- $exporter = $export->fetch_exporter();
- $exporter_content = $exporter->get_content();
-
- $this->assertEquals( 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras tristique quis justo sit amet eleifend. Praesent id metus semper, fermentum nibh at, malesuada enim. Mauris eget faucibus lectus. Vivamus iaculis eget urna non porttitor. Donec in dignissim neque. Vivamus ut ornare magna. Nulla eros nisi, maximus nec neque at, condimentum lobortis leo. Fusce in augue...', $exporter_content->intro() );
- }
-
- /**
- * Tests the behavior of an export when no excerpt is defined.
- */
- public function test_no_excerpt() {
- $title = 'My Title';
- $content = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras tristique quis justo sit amet eleifend. Praesent id metus semper, fermentum nibh at, malesuada enim. Mauris eget faucibus lectus. Vivamus iaculis eget urna non porttitor. Donec in dignissim neque. Vivamus ut ornare magna. Nulla eros nisi, maximus nec neque at, condimentum lobortis leo. Fusce in augue arcu. Curabitur lacus elit, venenatis a laoreet sit amet, imperdiet ac lorem. Curabitur sed leo sed ligula tempor feugiat. Cras in tellus et elit volutpat.
';
-
- $post_id = $this->factory->post->create(
- [
- 'post_title' => $title,
- 'post_content' => $content,
- 'post_excerpt' => '',
- ]
- );
-
- $export = new Export( $this->settings, $post_id );
- $exporter = $export->fetch_exporter();
- $exporter_content = $exporter->get_content();
-
- $this->assertEquals( '', $exporter_content->intro() );
- }
-
- /**
- * Tests the behavior of a shortcode in the excerpt.
- */
- public function test_shortcode_in_excerpt() {
- $title = 'My Title';
- $content = '[caption id="attachment_12345" align="aligncenter" width="500"]Test[/caption]Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras tristique quis justo sit amet eleifend. Praesent id metus semper, fermentum nibh at, malesuada enim. Mauris eget faucibus lectus. Vivamus iaculis eget urna non porttitor. Donec in dignissim neque. Vivamus ut ornare magna. Nulla eros nisi, maximus nec neque at, condimentum lobortis leo. Fusce in augue arcu. Curabitur lacus elit, venenatis a laoreet sit amet, imperdiet ac lorem. Curabitur sed leo sed ligula tempor feugiat. Cras in tellus et elit volutpat.
';
-
- $post_id = $this->factory->post->create(
- [
- 'post_title' => $title,
- 'post_content' => $content,
- 'post_excerpt' => '',
- ]
- );
-
- $export = new Export( $this->settings, $post_id );
- $exporter = $export->fetch_exporter();
- $exporter_content = $exporter->get_content();
-
- $this->assertEquals( '', $exporter_content->intro() );
- }
-
- /**
- * Tests generic byline formatting.
- */
- public function test_byline_format() {
- $this->set_theme_settings( [ 'meta_component_order' => [ 'byline' ] ] );
- $user_id = $this->factory->user->create(
- [
- 'role' => 'administrator',
- 'display_name' => 'Testuser',
- ]
- );
-
- $title = 'My Title';
- $content = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras tristique quis justo sit amet eleifend. Praesent id metus semper, fermentum nibh at, malesuada enim. Mauris eget faucibus lectus. Vivamus iaculis eget urna non porttitor. Donec in dignissim neque. Vivamus ut ornare magna. Nulla eros nisi, maximus nec neque at, condimentum lobortis leo. Fusce in augue arcu. Curabitur lacus elit, venenatis a laoreet sit amet, imperdiet ac lorem. Curabitur sed leo sed ligula tempor feugiat. Cras in tellus et elit volutpat.
';
-
- $post_id = $this->factory->post->create(
- [
- 'post_title' => $title,
- 'post_content' => $content,
- 'post_excerpt' => '',
- 'post_author' => $user_id,
- 'post_date' => '2016-08-26 12:00',
- ]
- );
-
- $export = new Export( $this->settings, $post_id );
- $exporter = $export->fetch_exporter();
- $exporter_content = $exporter->get_content();
-
- $this->assertEquals( 'By Testuser | Aug 26, 2016 | 12:00 PM', $exporter_content->byline() );
- }
-
- /**
- * Tests byline formatting when a hash is used in the author's display name.
- */
- public function test_byline_format_with_hashtag() {
- $this->set_theme_settings( [ 'meta_component_order' => [ 'byline' ] ] );
- $user_id = $this->factory->user->create(
- [
- 'role' => 'administrator',
- 'display_name' => '#Testuser',
- ]
- );
-
- $title = 'My Title';
- $content = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras tristique quis justo sit amet eleifend. Praesent id metus semper, fermentum nibh at, malesuada enim. Mauris eget faucibus lectus. Vivamus iaculis eget urna non porttitor. Donec in dignissim neque. Vivamus ut ornare magna. Nulla eros nisi, maximus nec neque at, condimentum lobortis leo. Fusce in augue arcu. Curabitur lacus elit, venenatis a laoreet sit amet, imperdiet ac lorem. Curabitur sed leo sed ligula tempor feugiat. Cras in tellus et elit volutpat.
';
-
- $post_id = $this->factory->post->create(
- [
- 'post_title' => $title,
- 'post_content' => $content,
- 'post_excerpt' => '',
- 'post_author' => $user_id,
- 'post_date' => '2016-08-26 12:00',
- ]
- );
-
- $export = new Export( $this->settings, $post_id );
- $exporter = $export->fetch_exporter();
- $exporter_content = $exporter->get_content();
-
- $this->assertEquals( 'By #Testuser | Aug 26, 2016 | 12:00 PM', $exporter_content->byline() );
- }
-
- /**
- * Tests conversion of HTML entities.
- */
- public function test_remove_entities() {
- $post_id = $this->factory->post->create(
- [
- 'post_title' => 'Test Title',
- 'post_content' => '&Lorem ipsum dolor sit amet & consectetur adipiscing elit.&
',
- 'post_date' => '2016-08-26 12:00',
- ]
- );
-
- // Set HTML content format.
- $this->settings->html_support = 'yes';
-
- $export = new Export( $this->settings, $post_id );
- $exporter = $export->fetch_exporter();
- $exporter_content = $exporter->get_content();
-
- $this->assertEquals(
- '&Lorem ipsum dolor sit amet & consectetur adipiscing elit.&
',
- str_replace( [ "\n", "\r" ], '', $exporter_content->content() )
- );
-
- // Set Markdown content format.
- $this->settings->html_support = 'no';
-
- $markdown_export = new Export( $this->settings, $post_id );
- $markdown_exporter = $markdown_export->fetch_exporter();
- $markdown_exporter_content = $markdown_exporter->get_content();
- $this->assertEquals(
- '&Lorem ipsum dolor sit amet & consectetur adipiscing elit.&
',
- str_replace( [ "\n", "\r" ], '', $markdown_exporter_content->content() )
- );
- }
-
- /**
- * Tests the behavior of the apple_news_is_exporting() function.
- */
- public function test_is_exporting() {
- $this->set_theme_settings( [ 'meta_component_order' => [ 'title' ] ] );
-
- // Setup.
- $title = 'My Title';
- $content = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Cras tristique quis justo sit amet eleifend. Praesent id metus semper, fermentum nibh at, malesuada enim. Mauris eget faucibus lectus. Vivamus iaculis eget urna non porttitor. Donec in dignissim neque. Vivamus ut ornare magna. Nulla eros nisi, maximus nec neque at, condimentum lobortis leo. Fusce in augue arcu. Curabitur lacus elit, venenatis a laoreet sit amet, imperdiet ac lorem. Curabitur sed leo sed ligula tempor feugiat. Cras in tellus et elit volutpat.
';
- $post_id = $this->factory->post->create(
- [
- 'post_title' => $title,
- 'post_content' => $content,
- ]
- );
- add_filter(
- 'the_content',
- [ $this, 'filter_the_content_test_is_exporting' ]
- );
-
- // Ensure is_exporting returns false before exporting.
- $this->assertEquals(
- 'is not exporting',
- apply_filters( 'the_content', 'Lorem ipsum dolor sit amet' ) // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound
- );
-
- // Get sections for the post.
- $json = $this->get_json_for_post( $post_id );
- $this->assertEquals(
- 'is exporting
',
- $json['components'][1]['text']
- );
-
- // Ensure is_exporting returns false after exporting.
- $this->assertEquals(
- 'is not exporting',
- apply_filters( 'the_content', 'Lorem ipsum dolor sit amet' ) // phpcs:ignore WordPress.NamingConventions.PrefixAllGlobals.NonPrefixedHooknameFound
- );
-
- // Teardown.
- remove_filter(
- 'the_content',
- [ $this, 'filter_the_content_test_is_exporting' ]
- );
- }
-}
diff --git a/tests/admin/apple-actions/index/test-class-push.php b/tests/admin/apple-actions/index/test-class-push.php
deleted file mode 100644
index a6738214..00000000
--- a/tests/admin/apple-actions/index/test-class-push.php
+++ /dev/null
@@ -1,293 +0,0 @@
-EXPORTING
' : $content;
- }
-
- /**
- * Tests the behavior of the component errors setting (none, warn, fail).
- */
- public function test_component_errors() {
-
- // Set up a post with an invalid element (div).
- $this->become_admin();
- $user_id = wp_get_current_user()->ID;
- $post_id_1 = self::factory()->post->create(
- [
- 'post_author' => $user_id,
- 'post_content' => 'Test Content
',
- ]
- );
-
- // Test the default behavior, which is no warning or error.
- $this->get_request_for_post( $post_id_1 );
- $notices = get_user_meta( $user_id, 'apple_news_notice', true );
- $this->assertEquals( 2, count( $notices ) );
- $this->assertEquals( 'error', $notices[0]['type'] );
- $this->assertEquals( 'There has been an error with the Apple News API: There has been an error with your request: ', $notices[0]['message'] );
- $this->assertEquals( 'success', $notices[1]['type'] );
- $this->assertEquals( 'abcd1234-ef56-ab78-cd90-efabcdef123456', get_post_meta( $post_id_1, 'apple_news_api_id', true ) );
-
- // Test the behavior of component warnings.
- $this->settings->component_alerts = 'warn';
- $post_id_2 = self::factory()->post->create(
- [
- 'post_author' => $user_id,
- 'post_content' => 'Test Content
',
- ]
- );
- $this->get_request_for_post( $post_id_2 );
- $notices = get_user_meta( $user_id, 'apple_news_notice', true );
- $this->assertEquals( 4, count( $notices ) );
- $this->assertEquals( 'error', $notices[2]['type'] );
- $this->assertEquals( 'The following components are unsupported by Apple News and were removed: div', $notices[2]['message'] );
- $this->assertEquals( 'success', $notices[3]['type'] );
- $this->assertEquals( 'abcd1234-ef56-ab78-cd90-efabcdef123456', get_post_meta( $post_id_1, 'apple_news_api_id', true ) );
-
- // Test the behavior of component errors.
- $this->settings->component_alerts = 'fail';
- $post_id_3 = self::factory()->post->create(
- [
- 'post_author' => $user_id,
- 'post_content' => 'Test Content
',
- ]
- );
- $exception = false;
- try {
- $this->get_request_for_post( $post_id_3 );
- } catch ( Action_Exception $e ) {
- $exception = $e;
- }
- $this->assertEquals( 'The following components are unsupported by Apple News and prevented publishing: div', $exception->getMessage() );
- $this->assertEquals( null, get_post_meta( $post_id_3, 'apple_news_api_id', true ) );
-
- // Clean up after ourselves.
- $this->settings->component_alerts = 'none';
- }
-
- /**
- * Ensures that postmeta will be properly set after creating an article via
- * the API.
- */
- public function test_create() {
- $post_id = self::factory()->post->create();
- $this->get_request_for_post( $post_id );
-
- // Values in the assertions here are added in the get_request_for_post function call above.
- $this->assertEquals( 'abcd1234-ef56-ab78-cd90-efabcdef123456', get_post_meta( $post_id, 'apple_news_api_id', true ) );
- $this->assertEquals( '2020-01-02T03:04:05Z', get_post_meta( $post_id, 'apple_news_api_created_at', true ) );
- $this->assertEquals( '2020-01-02T03:04:05Z', get_post_meta( $post_id, 'apple_news_api_modified_at', true ) );
- $this->assertEquals( 'https://apple.news/ABCDEFGHIJKLMNOPQRSTUVW', get_post_meta( $post_id, 'apple_news_api_share_url', true ) );
- $this->assertEquals( null, get_post_meta( $post_id, 'apple_news_api_deleted', true ) );
- }
-
- /**
- * Ensure the section is added to the metadata sent with the request.
- */
- public function test_create_with_sections() {
- $post_id = self::factory()->post->create();
- add_post_meta( $post_id, 'apple_news_sections', [ 'https://news-api.apple.com/sections/123' ] );
- $request = $this->get_request_for_post( $post_id );
- $metadata = $this->get_metadata_from_request( $request );
- $this->assertEquals( [ 'https://news-api.apple.com/sections/123' ], $metadata['data']['links']['sections'] );
- }
-
- /**
- * Ensures that custom metadata is properly set.
- */
- public function test_custom_metadata() {
- $post_id = self::factory()->post->create();
- $metadata = [
- [
- 'key' => 'isBoolean',
- 'type' => 'boolean',
- 'value' => true,
- ],
- [
- 'key' => 'isNumber',
- 'type' => 'number',
- 'value' => 3,
- ],
- [
- 'key' => 'isString',
- 'type' => 'string',
- 'value' => 'Test String Value',
- ],
- [
- 'key' => 'isArray',
- 'type' => 'array',
- 'value' => '["a", "b", "c"]',
- ],
- ];
- add_post_meta( $post_id, 'apple_news_metadata', $metadata );
- $request = $this->get_request_for_post( $post_id );
- $metadata = $this->get_metadata_from_request( $request );
-
- // Ensure metadata was properly compiled into the request.
- $this->assertEquals( true, $metadata['data']['isBoolean'] );
- $this->assertEquals( 3, $metadata['data']['isNumber'] );
- $this->assertEquals( 'Test String Value', $metadata['data']['isString'] );
- $this->assertEquals( [ 'a', 'b', 'c' ], $metadata['data']['isArray'] );
- }
-
- /**
- * Ensures that the apple_news_is_exporting function works properly during a
- * push request.
- */
- public function test_exporting_flag() {
- $post_id = self::factory()->post->create();
- add_filter( 'the_content', [ $this, 'filter_the_content' ] );
- $request = $this->get_request_for_post( $post_id );
- remove_filter( 'the_content', [ $this, 'filter_the_content' ] );
- $this->assertTrue( false !== strpos( $request['body'], 'EXPORTING<\/p>' ) );
- }
-
- /**
- * Ensures that maturity rating is properly set in the request.
- */
- public function test_maturity_rating() {
- $post_id = self::factory()->post->create();
- add_post_meta( $post_id, 'apple_news_maturity_rating', 'MATURE' );
- $request = $this->get_request_for_post( $post_id );
- $metadata = $this->get_metadata_from_request( $request );
- $this->assertEquals( 'MATURE', $metadata['data']['maturityRating'] );
- }
-
- /**
- * Ensures that named metadata is properly set.
- *
- * @dataProvider data_metadata
- *
- * @param string $meta_key The meta key to set to true (e.g., apple_news_is_hidden).
- * @param bool $is_hidden The expected value for isHidden in the request.
- * @param bool $is_paid The expected value for isPaid in the request.
- * @param bool $is_preview The expected value for isPreview in the request.
- * @param bool $is_sponsored The expected value for isSponsored in the request.
- */
- public function test_metadata( $meta_key, $is_hidden, $is_paid, $is_preview, $is_sponsored ) {
- $post_id = self::factory()->post->create();
- add_post_meta( $post_id, $meta_key, true );
- $request = $this->get_request_for_post( $post_id );
- $metadata = $this->get_metadata_from_request( $request );
-
- // Check the values for the four metadata keys against expected values.
- $this->assertEquals( $is_hidden, $metadata['data']['isHidden'] );
- $this->assertEquals( $is_paid, $metadata['data']['isPaid'] );
- $this->assertEquals( $is_preview, $metadata['data']['isPreview'] );
- $this->assertEquals( $is_sponsored, $metadata['data']['isSponsored'] );
- }
-
- /**
- * Tests skipping publish of a post by filters or by taxonomy term.
- */
- public function test_skip() {
- $post_id = self::factory()->post->create();
-
- // Test the apple_news_skip_push filter.
- add_filter( 'apple_news_skip_push', '__return_true' );
- $exception = false;
- try {
- $this->get_request_for_post( $post_id );
- } catch ( Action_Exception $e ) {
- $exception = $e;
- }
- $this->assertEquals( sprintf( 'Skipped push of article %d due to the apple_news_skip_push filter.', $post_id ), $exception->getMessage() );
- remove_filter( 'apple_news_skip_push', '__return_true' );
-
- // Test the new filter for skipping by term ID.
- $term_id = self::factory()->term->create( [ 'taxonomy' => 'category' ] );
- wp_set_object_terms( $post_id, $term_id, 'category' );
- $skip_filter = function () use ( $term_id ) {
- return [ $term_id ];
- };
- add_filter( 'apple_news_skip_push_term_ids', $skip_filter );
- $exception = false;
- try {
- $this->get_request_for_post( $post_id );
- } catch ( Action_Exception $e ) {
- $exception = $e;
- }
- $this->assertEquals( sprintf( 'Skipped push of article %d due to the presence of a skip push taxonomy term.', $post_id ), $exception->getMessage() );
- remove_filter( 'apple_news_skip_push_term_ids', $skip_filter );
-
- // Test skip by setting the option for skipping by term ID.
- $this->settings->api_autosync_skip = wp_json_encode( [ $term_id ] );
- $exception = false;
- try {
- $this->get_request_for_post( $post_id );
- } catch ( Action_Exception $e ) {
- $exception = $e;
- }
- $this->assertEquals( sprintf( 'Skipped push of article %d due to the presence of a skip push taxonomy term.', $post_id ), $exception->getMessage() );
- $this->settings->api_autosync_skip = '';
- }
-
- /**
- * Tests the update workflow to ensure that posts are only updated when
- * changes have been made.
- */
- public function test_update() {
- // Create a post and fake sending it to the API.
- $post = self::factory()->post->create_and_get();
- $this->get_request_for_post( $post->ID );
-
- // Ensure that the fake response from the API was saved to postmeta.
- $this->assertEquals( 'abcd1234-ef56-ab78-cd90-efabcdef123456', get_post_meta( $post->ID, 'apple_news_api_id', true ) );
- $this->assertEquals( '2020-01-02T03:04:05Z', get_post_meta( $post->ID, 'apple_news_api_created_at', true ) );
- $this->assertEquals( '2020-01-02T03:04:05Z', get_post_meta( $post->ID, 'apple_news_api_modified_at', true ) );
- $this->assertEquals( 'https://apple.news/ABCDEFGHIJKLMNOPQRSTUVW', get_post_meta( $post->ID, 'apple_news_api_share_url', true ) );
- $this->assertEquals( null, get_post_meta( $post->ID, 'apple_news_api_deleted', true ) );
-
- // Try to sync the post again, and verify that it bails out before attempting the sync.
- $exception = false;
- try {
- $this->get_request_for_post( $post->ID );
- } catch ( Action_Exception $e ) {
- $regexp = '/There has been an error with the Apple News API|Skipped push of article ' . preg_quote( $post->ID, '/' ) . ' to Apple News because it is already in sync\./';
- $this->assertMatchesRegularExpression( $regexp, $e->getMessage() );
- }
-
- // Update the post by changing the title and ensure that the update is sent to Apple.
- $post->post_title = 'Test New Title';
- wp_update_post( $post );
- $request = $this->get_request_for_update( $post->ID );
- $body = $this->get_body_from_request( $request );
- $this->assertEquals( 'Test New Title', $body['title'] );
- }
-}
diff --git a/tests/admin/test-class-admin-apple-index-page.php b/tests/admin/test-class-admin-apple-index-page.php
deleted file mode 100644
index 62f2f1a9..00000000
--- a/tests/admin/test-class-admin-apple-index-page.php
+++ /dev/null
@@ -1,49 +0,0 @@
-factory->post->create();
-
- // Add metadata to simulate a stuck post.
- update_post_meta( $post_id, 'apple_news_api_pending', time() );
- update_post_meta( $post_id, 'apple_news_api_async_in_progress', time() );
- update_post_meta( $post_id, 'apple_news_api_bundle', time() );
- update_post_meta( $post_id, 'apple_news_api_json', time() );
- update_post_meta( $post_id, 'apple_news_api_errors', time() );
-
- // Create simulated GET data.
- $_GET['post_id'] = $post_id; // phpcs:ignore WordPress.VIP.SuperGlobalInputUsage.AccessDetected
- $_GET['page'] = 'apple_news_index'; // phpcs:ignore WordPress.VIP.SuperGlobalInputUsage.AccessDetected
- $_GET['action'] = 'apple_news_reset'; // phpcs:ignore WordPress.VIP.SuperGlobalInputUsage.AccessDetected
-
- // Simulate the action.
- $index_page = new Admin_Apple_Index_Page( $this->settings );
- $index_page->page_router();
-
- // Ensure values were deleted.
- $this->assertEquals( false, get_post_meta( $post_id, 'apple_news_api_pending', true ) );
- $this->assertEquals( false, get_post_meta( $post_id, 'apple_news_api_async_in_progress', true ) );
- $this->assertEquals( false, get_post_meta( $post_id, 'apple_news_api_bundle', true ) );
- $this->assertEquals( false, get_post_meta( $post_id, 'apple_news_api_json', true ) );
- $this->assertEquals( false, get_post_meta( $post_id, 'apple_news_api_errors', true ) );
- }
-}
diff --git a/tests/admin/test-class-admin-apple-meta-boxes.php b/tests/admin/test-class-admin-apple-meta-boxes.php
deleted file mode 100644
index 99771e66..00000000
--- a/tests/admin/test-class-admin-apple-meta-boxes.php
+++ /dev/null
@@ -1,104 +0,0 @@
-settings->set( 'api_autosync', 'no' );
- $this->settings->set( 'show_metabox', 'yes' );
-
- // Create post.
- $post_id = $this->factory->post->create();
-
- // Create post data.
- /* phpcs:disable WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotValidated, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized */
- $_POST['post_ID'] = $post_id;
- $_POST['apple_news_sections'] = [ 'https://news-api.apple.com/sections/1234567890' ];
- $_POST['apple_news_is_paid'] = 0;
- $_POST['apple_news_is_preview'] = 0;
- $_POST['apple_news_is_sponsored'] = 0;
- $_POST['apple_news_maturity_rating'] = 'MATURE';
- $_POST['apple_news_pullquote'] = 'test pullquote';
- $_POST['apple_news_pullquote_position'] = 'middle';
- $_POST['apple_news_nonce'] = wp_create_nonce( 'apple_news_publish' );
- $_POST['apple_news_publish_action'] = 'apple_news_publish';
- $_REQUEST['post_ID'] = $_POST['post_ID'];
- $_REQUEST['apple_news_nonce'] = $_POST['apple_news_nonce'];
- /* phpcs:enable */
-
- // Create the meta box class and simulate a save.
- $meta_box = new Admin_Apple_Meta_Boxes( $this->settings );
- if ( 'yes' === $this->settings->get( 'show_metabox' ) ) {
- $meta_box->do_publish( $post_id, get_post( $post_id ) );
- }
-
- // Check the meta values.
- $this->assertEquals( [ 'https://news-api.apple.com/sections/1234567890' ], get_post_meta( $post_id, 'apple_news_sections', true ) );
- $this->assertEquals( false, get_post_meta( $post_id, 'apple_news_is_paid', true ) );
- $this->assertEquals( false, get_post_meta( $post_id, 'apple_news_is_preview', true ) );
- $this->assertEquals( false, get_post_meta( $post_id, 'apple_news_is_sponsored', true ) );
- $this->assertEquals( 'MATURE', get_post_meta( $post_id, 'apple_news_maturity_rating', true ) );
- $this->assertEquals( 'test pullquote', get_post_meta( $post_id, 'apple_news_pullquote', true ) );
- $this->assertEquals( 'middle', get_post_meta( $post_id, 'apple_news_pullquote_position', true ) );
- }
-
- /**
- * Tests the behavior of saving a post with auto-sync enabled.
- */
- public function test_save_with_auto_sync() {
- // Set API settings to not auto sync and to enable the meta box.
- $this->settings->set( 'api_autosync', 'yes' );
- $this->settings->set( 'show_metabox', 'yes' );
-
- // Create post.
- $post_id = $this->factory->post->create();
-
- // Create post data.
- /* phpcs:disable WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotValidated, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized */
- $_POST['post_ID'] = $post_id;
- $_POST['apple_news_sections'] = [ 'https://news-api.apple.com/sections/1234567890' ];
- $_POST['apple_news_is_paid'] = 0;
- $_POST['apple_news_is_preview'] = 0;
- $_POST['apple_news_is_sponsored'] = 0;
- $_POST['apple_news_maturity_rating'] = 'MATURE';
- $_POST['apple_news_pullquote'] = 'test pullquote';
- $_POST['apple_news_pullquote_position'] = 'middle';
- $_POST['apple_news_nonce'] = wp_create_nonce( 'apple_news_publish' );
- $_POST['apple_news_publish_action'] = 'apple_news_publish';
- $_REQUEST['post_ID'] = $_POST['post_ID'];
- $_REQUEST['apple_news_nonce'] = $_POST['apple_news_nonce'];
- /* phpcs:enable */
-
- // Create the meta box class and simulate a save.
- $meta_box = new Admin_Apple_Meta_Boxes( $this->settings );
- if ( 'yes' === $this->settings->get( 'show_metabox' ) ) {
- $meta_box->do_publish( $post_id, get_post( $post_id ) );
- }
-
- // Check the meta values.
- $this->assertEquals( [ 'https://news-api.apple.com/sections/1234567890' ], get_post_meta( $post_id, 'apple_news_sections', true ) );
- $this->assertEquals( false, get_post_meta( $post_id, 'apple_news_is_paid', true ) );
- $this->assertEquals( false, get_post_meta( $post_id, 'apple_news_is_preview', true ) );
- $this->assertEquals( false, get_post_meta( $post_id, 'apple_news_is_sponsored', true ) );
- $this->assertEquals( 'MATURE', get_post_meta( $post_id, 'apple_news_maturity_rating', true ) );
- $this->assertEquals( 'test pullquote', get_post_meta( $post_id, 'apple_news_pullquote', true ) );
- $this->assertEquals( 'middle', get_post_meta( $post_id, 'apple_news_pullquote_position', true ) );
- }
-}
diff --git a/tests/admin/test-class-admin-apple-notice.php b/tests/admin/test-class-admin-apple-notice.php
deleted file mode 100644
index 568ef382..00000000
--- a/tests/admin/test-class-admin-apple-notice.php
+++ /dev/null
@@ -1,134 +0,0 @@
-become_admin();
- }
-
- /**
- * Tests the behavior of outputting info messages.
- */
- public function test_info() {
- Admin_Apple_Notice::info( 'This is an info message' );
-
- ob_start();
- Admin_Apple_Notice::show();
- $notice = ob_get_contents();
- ob_end_clean();
-
- $expected = preg_replace( '/\s+/', '', '
' );
- $notice = preg_replace( '/data-nonce="[^"]+"/', 'data-nonce="some-nonce"', $notice );
- $notice = preg_replace( '/\s+/', '', $notice );
-
- $this->assertEquals( $expected, $notice );
- }
-
- /**
- * Tests the behavior of outputting success messages.
- */
- public function test_success() {
- Admin_Apple_Notice::success( 'This is a success message' );
-
- ob_start();
- Admin_Apple_Notice::show();
- $notice = ob_get_contents();
- ob_end_clean();
-
- $expected = preg_replace( '/\s+/', '', 'This is a success message
' );
- $notice = preg_replace( '/data-nonce="[^"]+"/', 'data-nonce="some-nonce"', $notice );
- $notice = preg_replace( '/\s+/', '', $notice );
-
- $this->assertEquals( $expected, $notice );
- }
-
- /**
- * Tests the behavior of outputting error messages.
- */
- public function test_error() {
- Admin_Apple_Notice::error( 'This is an error message' );
-
- ob_start();
- Admin_Apple_Notice::show();
- $notice = ob_get_contents();
- ob_end_clean();
-
- $expected = preg_replace( '/\s+/', '', 'This is an error message' . Apple_News::get_support_info() . '
' );
- $notice = preg_replace( '/data-nonce="[^"]+"/', 'data-nonce="some-nonce"', $notice );
- $notice = preg_replace( '/\s+/', '', $notice );
-
- $this->assertEquals( $expected, $notice );
- }
-
- /**
- * Tests the behavior of displaying a single notice.
- */
- public function test_formatting_single() {
- Admin_Apple_Notice::info( 'One error occurred: error 1' );
-
- ob_start();
- Admin_Apple_Notice::show();
- $notice = ob_get_contents();
- ob_end_clean();
-
- $expected = preg_replace( '/\s+/', '', 'One error occurred: error 1
' );
- $notice = preg_replace( '/data-nonce="[^"]+"/', 'data-nonce="some-nonce"', $notice );
- $notice = preg_replace( '/\s+/', '', $notice );
-
- $this->assertEquals( $expected, $notice );
- }
-
- /**
- * Tests the behavior of multiple errors being displayed at once.
- */
- public function test_formatting_multiple() {
- Admin_Apple_Notice::info( 'A number of errors occurred: error 1, error 2, error 3' );
-
- ob_start();
- Admin_Apple_Notice::show();
- $notice = ob_get_contents();
- ob_end_clean();
-
- $expected = preg_replace( '/\s+/', '', 'A number of errors occurred: error 1 error 2 error 3
' );
- $notice = preg_replace( '/data-nonce="[^"]+"/', 'data-nonce="some-nonce"', $notice );
- $notice = preg_replace( '/\s+/', '', $notice );
-
- $this->assertEquals( $expected, $notice );
- }
-
- /**
- * Tests the behavior of line breaks in notices.
- */
- public function test_line_breaks() {
- Admin_Apple_Notice::info( 'One message|Another message' );
-
- ob_start();
- Admin_Apple_Notice::show();
- $notice = ob_get_contents();
- ob_end_clean();
-
- $expected = preg_replace( '/\s+/', '', 'One message Another message
' );
- $notice = preg_replace( '/data-nonce="[^"]+"/', 'data-nonce="some-nonce"', $notice );
- $notice = preg_replace( '/\s+/', '', $notice );
-
- $this->assertEquals( $expected, $notice );
- }
-}
diff --git a/tests/admin/test-class-admin-apple-themes.php b/tests/admin/test-class-admin-apple-themes.php
deleted file mode 100644
index 441a9edd..00000000
--- a/tests/admin/test-class-admin-apple-themes.php
+++ /dev/null
@@ -1,620 +0,0 @@
-save_settings( $this->settings->all() );
-
- // Force creation of a default theme if it does not exist.
- $theme = new Theme();
- $theme->set_name( __( 'Default', 'apple-news' ) );
- if ( ! $theme->load() ) {
- $theme->save();
- }
- }
-
- /**
- * A helper function to create a new named theme.
- *
- * @param string $name The name for the theme.
- * @param array $settings The settings for the theme.
- */
- public function create_new_theme( $name, $settings = [] ) {
-
- // Set up the request.
- $nonce = wp_create_nonce( 'apple_news_save_edit_theme' );
- /* phpcs:disable WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotValidated, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized */
- $_POST['apple_news_theme_name'] = $name;
- $_POST['action'] = 'apple_news_save_edit_theme';
- $_POST['page'] = 'apple-news-themes';
- $_POST['redirect'] = false;
- $_REQUEST['_wp_http_referer'] = '/wp-admin/admin.php?page=apple-news-theme-edit';
- $_REQUEST['_wpnonce'] = $nonce;
- $_REQUEST['action'] = $_POST['action'];
- /* phpcs:enable */
-
- // Merge any provided settings with default settings.
- $default_theme = new Theme();
- $defaults = $default_theme->all_settings();
- $settings = wp_parse_args( $settings, $defaults );
-
- // Add all of these to the $_POST object.
- foreach ( $settings as $key => $value ) {
- $_POST[ $key ] = $value;
- }
-
- // Invoke the save operation in the themes class.
- $this->themes->action_router();
- }
-
- /**
- * A fixture containing operations to be run before each test.
- */
- public function setUp(): void {
- parent::setUp();
-
- // Store an instance of the Admin_Apple_Themes class for use in testing.
- $this->themes = new \Admin_Apple_Themes();
-
- // Remove the Default theme, if it exists.
- $default_theme = new Theme();
- $default_theme->set_name( __( 'Default', 'apple-news' ) );
- if ( $default_theme->load() ) {
- $default_theme->delete();
- }
-
- // Remove the Test Theme, if it exists.
- $test_theme = new Theme();
- $test_theme->set_name( 'Test Theme' );
- if ( $test_theme->load() ) {
- $test_theme->delete();
- }
- }
-
- /**
- * Ensures that the default theme is created properly.
- */
- public function test_create_default_theme() {
-
- // Create the default theme.
- $this->create_default_theme();
-
- // Ensure the default theme was created.
- $vanilla_theme = new Theme();
- $default_theme = new Theme();
- $default_theme->set_name( __( 'Default', 'apple-news' ) );
- $this->assertEquals(
- __( 'Default', 'apple-news' ),
- Theme::get_active_theme_name()
- );
- $this->assertTrue( $default_theme->load() );
- $this->assertEquals(
- $vanilla_theme->all_settings(),
- $default_theme->all_settings()
- );
- $this->assertTrue(
- in_array(
- __( 'Default', 'apple-news' ),
- Theme::get_registry(),
- true
- )
- );
- }
-
- /**
- * Ensures themes are able to be created properly.
- */
- public function test_create_theme() {
-
- // Set the POST data required to create a new theme.
- $name = 'Test Theme';
- $this->create_new_theme( $name, [ 'body_color' => '#ff0000' ] );
-
- // Check that the data was saved properly.
- $default_theme = new Theme();
- $expected_settings = $default_theme->all_settings();
- $expected_settings['body_color'] = '#ff0000';
- $test_theme = new Theme();
- $test_theme->set_name( 'Test Theme' );
- $test_theme->load();
- $this->assertEquals( $expected_settings, $test_theme->all_settings() );
- }
-
- /**
- * Ensure that a theme can be deleted.
- */
- public function test_delete_theme() {
-
- // Create the default theme.
- $this->create_default_theme();
-
- // Name and create a new theme.
- $name = 'Test Theme';
- $this->create_new_theme( $name );
-
- // Ensure both themes exist.
- $this->assertTrue(
- in_array(
- __( 'Default', 'apple-news' ),
- Theme::get_registry(),
- true
- )
- );
- $this->assertTrue(
- in_array(
- $name,
- Theme::get_registry(),
- true
- )
- );
- $default_theme = new Theme();
- $default_theme->set_name( __( 'Default', 'apple-news' ) );
- $this->assertTrue( $default_theme->load() );
- $test_theme = new Theme();
- $test_theme->set_name( 'Test Theme' );
- $this->assertTrue( $test_theme->load() );
-
- // Delete the test theme.
- $nonce = wp_create_nonce( 'apple_news_themes' );
- /* phpcs:disable WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotValidated, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized */
- $_POST['apple_news_theme_name'] = $name;
- $_POST['action'] = 'apple_news_delete_theme';
- $_POST['apple_news_theme'] = $name;
- $_POST['page'] = 'apple-news-themes';
- $_REQUEST['_wp_http_referer'] = '/wp-admin/admin.php?page=apple-news-themes';
- $_REQUEST['_wpnonce'] = $nonce;
- $_REQUEST['action'] = $_POST['action'];
- /* phpcs:enable */
- $this->themes->action_router();
-
- // Ensure that the test theme does not exist after deletion.
- $this->assertFalse(
- in_array(
- $name,
- Theme::get_registry(),
- true
- )
- );
- $this->assertFalse( $test_theme->load() );
- }
-
- /**
- * Tests a theme import.
- */
- public function test_import_theme() {
-
- // Setup.
- $advertisement_json = [
- 'role' => 'banner_advertisement',
- 'bannerType' => 'double_height',
- ];
- $import_settings = [
- 'layout_margin' => 100,
- 'layout_gutter' => 20,
- 'json_templates' => [
- 'advertisement' => [
- 'json' => $advertisement_json,
- ],
- ],
- 'theme_name' => 'Test Import Theme',
- ];
-
- // Test.
- $this->assertTrue( $this->themes->import_theme( $import_settings ) );
- $theme = new Theme();
- $theme->set_name( 'Test Import Theme' );
- $this->assertTrue( $theme->load() );
- $theme_settings = $theme->all_settings();
- $this->assertEquals( 100, $theme_settings['layout_margin'] );
- $this->assertEquals( 20, $theme_settings['layout_gutter'] );
- $this->assertEquals(
- $advertisement_json,
- $theme_settings['json_templates']['advertisement']['json']
- );
-
- // Cleanup.
- $theme->delete();
- }
-
- /**
- * Tests a theme import with an invalid JSON spec.
- */
- public function test_import_theme_invalid_json() {
-
- // Setup.
- $invalid_json = [
- 'role' => 'audio',
- 'URL' => '#invalid#',
- ];
- $import_settings = [
- 'layout_margin' => 100,
- 'layout_gutter' => 20,
- 'json_templates' => [
- 'audio' => [
- 'json' => $invalid_json,
- ],
- ],
- 'theme_name' => 'Test Import Theme',
- ];
-
- // Test.
- $this->assertIsString( $this->themes->import_theme( $import_settings ) );
- $theme = new Theme();
- $theme->set_name( 'Test Import Theme' );
- $this->assertFalse( $theme->load() );
- }
-
- /**
- * Ensures that JSON customizations from versions prior to 1.3.0 are migrated to
- * the theme(s).
- */
- public function test_json_migrate_to_theme() {
-
- // Create the default theme and the Test Theme.
- $this->create_default_theme();
- $this->create_new_theme( 'Test Theme' );
-
- // Define the default-body JSON override we will be testing against.
- $default_body = [
- 'textAlignment' => 'left',
- 'fontName' => '#body_font#',
- 'fontSize' => '#body_size#',
- 'tracking' => '#body_tracking#',
- 'lineHeight' => '#body_line_height#',
- 'textColor' => '#body_color#',
- 'linkStyle' => [
- 'textColor' => '#body_link_color#',
- ],
- 'paragraphSpacingBefore' => 24,
- 'paragraphSpacingAfter' => 24,
- ];
-
- // Add legacy format JSON overrides.
- update_option(
- 'apple_news_json_body',
- [ 'apple_news_json_default-body' => $default_body ],
- false
- );
-
- // Run the function to trigger the settings migration.
- $apple_news = new Apple_News();
- $apple_news->migrate_custom_json_to_themes();
-
- // Ensure that the default-body override was applied to the themes.
- $default_theme = new Theme();
- $default_theme->set_name( __( 'Default', 'apple-news' ) );
- $this->assertTrue( $default_theme->load() );
- $test_theme = new Theme();
- $test_theme->set_name( 'Test Theme' );
- $this->assertTrue( $test_theme->load() );
- $default_settings = $default_theme->all_settings();
- $test_theme_settings = $test_theme->all_settings();
- $this->assertEquals(
- $default_body,
- $default_settings['json_templates']['body']['default-body']
- );
- $this->assertEquals(
- $default_body,
- $test_theme_settings['json_templates']['body']['default-body']
- );
- }
-
- /**
- * Ensures that a custom spec is saved properly.
- */
- public function test_json_save_custom_spec() {
-
- // Setup.
- $this->create_default_theme();
- $json = <<action_router();
-
- // Test.
- $theme = new Theme();
- $theme->set_name( Theme::get_active_theme_name() );
- $this->assertTrue( $theme->load() );
- $theme_settings = $theme->all_settings();
- $stored_json = wp_json_encode(
- $theme_settings['json_templates']['advertisement']['json'],
- JSON_PRETTY_PRINT
- );
- $this->assertEquals( $stored_json, $json );
- }
-
- /**
- * Ensure that invalid tokens are not saved in a custom spec.
- */
- public function test_json_save_invalid_tokens() {
-
- // Setup.
- $this->create_default_theme();
- $invalid_json = <<action_router();
-
- // Test.
- $theme = new Theme();
- $theme->set_name( Theme::get_active_theme_name() );
- $this->assertTrue( $theme->load() );
- $theme_settings = $theme->all_settings();
- $this->assertTrue( empty( $theme_settings['json_templates'] ) );
- }
-
- /**
- * Ensure that valid tokens are saved in the custom JSON spec.
- */
- public function test_json_save_valid_tokens() {
-
- // Setup.
- $this->create_default_theme();
- $json = <<action_router();
-
- // Test.
- $theme = new Theme();
- $theme->set_name( Theme::get_active_theme_name() );
- $this->assertTrue( $theme->load() );
- $theme_settings = $theme->all_settings();
- $stored_json = stripslashes(
- wp_json_encode(
- $theme_settings['json_templates']['audio']['json'],
- JSON_PRETTY_PRINT
- )
- );
- $this->assertEquals( $stored_json, $json );
- }
-
- /**
- * Ensure that the custom spec is used on render.
- */
- public function test_json_use_custom_spec() {
-
- // Setup.
- $this->create_default_theme();
- $json = <<action_router();
-
- // Test.
- $settings = new Admin_Apple_Settings();
- $content = new Exporter_Content(
- 1,
- __( 'My Title', 'apple-news' ),
- '' . __( 'Hello, World!', 'apple-news' ) . '
'
- );
- $exporter = new Exporter( $content, null, $settings->fetch_settings() );
- $json = json_decode( $exporter->export(), true );
- $this->assertEquals(
- 20,
- $json['componentLayouts']['body-layout']['margin']['bottom']
- );
- $this->assertEquals(
- 50,
- $json['componentLayouts']['body-layout']['margin']['top']
- );
- }
-
- /**
- * Ensure that postmeta in a custom spec is used on render.
- */
- public function test_json_use_custom_spec_postmeta() {
-
- // Setup.
- $this->create_default_theme();
- $json = <<action_router();
-
- // Test.
- $post_id = $this->factory->post->create();
- $settings = new Admin_Apple_Settings();
- $content = new Exporter_Content(
- $post_id,
- __( 'My Title', 'apple-news' ),
- '' . __( 'Hello, World!', 'apple-news' ) . '
'
- );
- add_post_meta( $post_id, 'apple_news_column_span', 2, true );
- $exporter = new Exporter( $content, null, $settings->fetch_settings() );
- $json = json_decode( $exporter->export(), true );
- $this->assertEquals(
- 2,
- $json['componentLayouts']['body-layout']['columnSpan']
- );
- }
-
- /**
- * Ensure that a new theme can be set as the active theme.
- */
- public function test_set_theme() {
-
- // Create the default theme.
- $this->create_default_theme();
-
- // Create a test theme with altered settings.
- $this->create_new_theme( 'Test Theme', [ 'layout_margin' => 50 ] );
-
- // Simulate the form submission to set the theme.
- /* phpcs:disable WordPress.Security.NonceVerification.Missing, WordPress.Security.ValidatedSanitizedInput.InputNotValidated, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized */
- $nonce = wp_create_nonce( 'apple_news_themes' );
- $_POST['action'] = 'apple_news_set_theme';
- $_POST['apple_news_active_theme'] = 'Test Theme';
- $_POST['page'] = 'apple-news-themes';
- $_REQUEST['_wp_http_referer'] = '/wp-admin/admin.php?page=apple-news-themes';
- $_REQUEST['_wpnonce'] = $nonce;
- $_REQUEST['action'] = $_POST['action'];
- /* phpcs:enable */
- $this->themes->action_router();
-
- // Check that the theme got set.
- $this->assertEquals(
- 'Test Theme',
- Theme::get_active_theme_name()
- );
- $theme = new Theme();
- $theme->set_name( 'Test Theme' );
- $this->assertTrue( $theme->load() );
- $theme_settings = $theme->all_settings();
- $this->assertEquals( 50, $theme_settings['layout_margin'] );
- }
-
- /**
- * Ensures that the 2.4.0 upgrade updates author_format theme values correctly.
- */
- public function test_upgrade_2_4_0() {
- $registry = \Apple_Exporter\Theme::get_registry();
-
- // Reset author and byline formats to old convention so we can test upgrade logic.
- foreach ( $registry as $theme_name ) {
- $theme_object = Admin_Apple_Themes::get_theme_by_name( $theme_name );
- $theme_object->set_value( 'author_format', 'by #author#' );
- $theme_object->set_value( 'byline_format', 'by #author# | #M j, Y | g:i A#' );
- $theme_object->save();
- }
-
- $apple_news = new Apple_News();
- $apple_news->upgrade_to_2_4_0();
-
- // Confirm that upgrade logic updated the author and byline formats to the new convention.
- foreach ( $registry as $theme_name ) {
- $theme_object = Admin_Apple_Themes::get_theme_by_name( $theme_name );
- $this->assertEquals( 'By #author#', $theme_object->get_value( 'author_format' ) );
- $this->assertEquals( 'By #author# | #M j, Y | g:i A#', $theme_object->get_value( 'byline_format' ) );
- }
- }
-}
diff --git a/tests/admin/test-class-admin-rest.php b/tests/admin/test-class-admin-rest.php
deleted file mode 100644
index 51cf18ab..00000000
--- a/tests/admin/test-class-admin-rest.php
+++ /dev/null
@@ -1,57 +0,0 @@
-user->create( [ 'role' => 'editor' ] );
- wp_set_current_user( $user_id );
- $post_id = self::factory()->post->create();
- add_post_meta( $post_id, 'apple_news_api_created_at', 'abc123' );
- add_post_meta( $post_id, 'apple_news_api_id', 'def456' );
- add_post_meta( $post_id, 'apple_news_api_modified_at', 'ghi789' );
- add_post_meta( $post_id, 'apple_news_api_revision', 'jkl123' );
- add_post_meta( $post_id, 'apple_news_api_share_url', 'mno456' );
-
- // Update the post via REST request and attempt to reset the API postmeta.
- $endpoint = '/wp/v2/posts/' . $post_id;
- $payload = [
- 'content' => '\nTesting.
\n',
- 'id' => $post_id,
- 'meta' => [
- 'apple_news_api_created_at' => '',
- 'apple_news_api_id' => '',
- 'apple_news_api_modified_at' => '',
- 'apple_news_api_revision' => '',
- 'apple_news_api_share_url' => '',
- ],
- ];
- $request = new WP_REST_Request( 'POST', $endpoint );
- $request->set_body_params( $payload );
- rest_do_request( $request );
-
- // Ensure that the API postmeta was _not_ reset by the REST request.
- $this->assertEquals( 'abc123', get_post_meta( $post_id, 'apple_news_api_created_at', true ) );
- $this->assertEquals( 'def456', get_post_meta( $post_id, 'apple_news_api_id', true ) );
- $this->assertEquals( 'ghi789', get_post_meta( $post_id, 'apple_news_api_modified_at', true ) );
- $this->assertEquals( 'jkl123', get_post_meta( $post_id, 'apple_news_api_revision', true ) );
- $this->assertEquals( 'mno456', get_post_meta( $post_id, 'apple_news_api_share_url', true ) );
- }
-}
diff --git a/tests/admin/test-class-automation.php b/tests/admin/test-class-automation.php
deleted file mode 100644
index 8171752e..00000000
--- a/tests/admin/test-class-automation.php
+++ /dev/null
@@ -1,330 +0,0 @@
-post->create();
- $this->set_theme_settings( [ 'meta_component_order' => [ 'slug' ] ] );
-
- // Create an automation routine for the slug component.
- $result_1 = wp_insert_term( 'Test Slug Category 1', 'category' );
- $result_2 = wp_insert_term( 'Test Slug Category 2', 'category' );
- $term_id_1 = $result_1['term_id'];
- $term_id_2 = $result_2['term_id'];
- update_option(
- 'apple_news_automation',
- [
- [
- 'field' => 'slug.#text#',
- 'taxonomy' => 'category',
- 'term_id' => $term_id_1,
- 'value' => 'Lower Priority',
- ],
- [
- 'field' => 'slug.#text#',
- 'taxonomy' => 'category',
- 'term_id' => $term_id_2,
- 'value' => 'Top Priority',
- ],
- ]
- );
-
- // Set the taxonomy term to trigger the automation routine and ensure the slug value is set.
- wp_set_post_terms( $post_id, [ $term_id_1, $term_id_2 ], 'category' );
- $json = $this->get_json_for_post( $post_id );
- $this->assertEquals( 'heading', $json['components'][0]['role'] );
- $this->assertEquals( 'Top Priority', $json['components'][0]['text'] );
-
- // Invert the priorities and ensure it worked properly.
- update_option(
- 'apple_news_automation',
- [
- [
- 'field' => 'slug.#text#',
- 'taxonomy' => 'category',
- 'term_id' => $term_id_2,
- 'value' => 'Top Priority',
- ],
- [
- 'field' => 'slug.#text#',
- 'taxonomy' => 'category',
- 'term_id' => $term_id_1,
- 'value' => 'Lower Priority',
- ],
- ]
- );
- $json = $this->get_json_for_post( $post_id );
- $this->assertEquals( 'Lower Priority', $json['components'][0]['text'] );
- }
-
- /**
- * Tests automation of the slug value.
- */
- public function test_component_slug_automation() {
- $post_id = self::factory()->post->create();
- $this->set_theme_settings( [ 'meta_component_order' => [ 'slug' ] ] );
-
- // Create an automation routine for the slug component.
- $result = wp_insert_term( 'Test Slug Category', 'category' );
- $term_id = $result['term_id'];
- update_option(
- 'apple_news_automation',
- [
- [
- 'field' => 'slug.#text#',
- 'taxonomy' => 'category',
- 'term_id' => $term_id,
- 'value' => 'Test Slug Value',
- ],
- ]
- );
-
- // Set the taxonomy term to trigger the automation routine and ensure the slug value is set.
- wp_set_post_terms( $post_id, [ $term_id ], 'category' );
- $json = $this->get_json_for_post( $post_id );
- $this->assertEquals( 'heading', $json['components'][0]['role'] );
- $this->assertEquals( 'Test Slug Value', $json['components'][0]['text'] );
- }
-
- /**
- * Ensures that named metadata is properly set via an automation process.
- *
- * @dataProvider data_metadata_automation
- *
- * @param string $flag The flag that should be set by automation.
- */
- public function test_metadata_automation( $flag ) {
- $post_id = self::factory()->post->create();
-
- // Create an automation routine for this flag.
- $result = wp_insert_term( 'Test Flag ' . $flag, 'category' );
- $term_id = $result['term_id'];
- update_option(
- 'apple_news_automation',
- [
- [
- 'field' => $flag,
- 'taxonomy' => 'category',
- 'term_id' => $term_id,
- 'value' => 'true',
- ],
- ]
- );
-
- // Set the taxonomy term to trigger the automation routine and ensure the flag is set.
- wp_set_post_terms( $post_id, [ $term_id ], 'category' );
- $request = $this->get_request_for_post( $post_id );
- $metadata = $this->get_metadata_from_request( $request );
- $this->assertEquals( true, $metadata['data'][ $flag ] );
- }
-
- /**
- * Tests ability to automate setting a section.
- */
- public function test_sections_automation() {
- $post_id = self::factory()->post->create();
-
- // Create an automation routine for section mapping.
- $result = wp_insert_term( 'Test Section Category', 'category' );
- $term_id = $result['term_id'];
- update_option(
- 'apple_news_automation',
- [
- [
- 'field' => 'links.sections',
- 'taxonomy' => 'category',
- 'term_id' => $term_id,
- 'value' => 'abcdef01-2345-6789-abcd-ef012356789b',
- ],
- ]
- );
-
- // Set the taxonomy term to trigger the automation routine and ensure the flag is set.
- wp_set_post_terms( $post_id, [ $term_id ], 'category' );
- $request = $this->get_request_for_post( $post_id );
- $metadata = $this->get_metadata_from_request( $request );
- $this->assertEquals(
- [ 'https://news-api.apple.com/channels/abcdef01-2345-6789-abcd-ef012356789b' ],
- $metadata['data']['links']['sections']
- );
- }
-
- /**
- * Tests settings migration from the old Sections paradigm to Automation.
- */
- public function test_settings_migration() {
- // Set up the legacy options.
- update_option(
- 'apple_news_section_priority_mappings',
- [
- 'abcdef01-2345-6789-abcd-ef0123567890' => 1,
- 'bcdef012-3456-789a-bcde-f01235678901' => 2,
- 'cdef0123-4567-89ab-cdef-012356789012' => 3,
- ]
- );
- update_option(
- 'apple_news_section_taxonomy_mappings',
- [
- 'abcdef01-2345-6789-abcd-ef0123567890' => [ 1 ],
- 'bcdef012-3456-789a-bcde-f01235678901' => [ 2 ],
- 'cdef0123-4567-89ab-cdef-012356789012' => [ 3, 4 ],
- ]
- );
- update_option(
- 'apple_news_section_theme_mappings',
- [
- 'abcdef01-2345-6789-abcd-ef0123567890' => 'Primary Theme',
- 'bcdef012-3456-789a-bcde-f01235678901' => 'News Theme',
- 'cdef0123-4567-89ab-cdef-012356789012' => 'Entertainment Theme',
- ]
- );
-
- // Trigger the migration to automation settings and confirm the result.
- $apple_news = new Apple_News();
- $apple_news->upgrade_to_2_4_0();
- $this->assertEquals(
- [
- [
- 'field' => 'links.sections',
- 'taxonomy' => 'category',
- 'term_id' => 3,
- 'value' => 'cdef0123-4567-89ab-cdef-012356789012',
- ],
- [
- 'field' => 'theme',
- 'taxonomy' => 'category',
- 'term_id' => 3,
- 'value' => 'Entertainment Theme',
- ],
- [
- 'field' => 'links.sections',
- 'taxonomy' => 'category',
- 'term_id' => 4,
- 'value' => 'cdef0123-4567-89ab-cdef-012356789012',
- ],
- [
- 'field' => 'theme',
- 'taxonomy' => 'category',
- 'term_id' => 4,
- 'value' => 'Entertainment Theme',
- ],
- [
- 'field' => 'links.sections',
- 'taxonomy' => 'category',
- 'term_id' => 2,
- 'value' => 'bcdef012-3456-789a-bcde-f01235678901',
- ],
- [
- 'field' => 'theme',
- 'taxonomy' => 'category',
- 'term_id' => 2,
- 'value' => 'News Theme',
- ],
- [
- 'field' => 'links.sections',
- 'taxonomy' => 'category',
- 'term_id' => 1,
- 'value' => 'abcdef01-2345-6789-abcd-ef0123567890',
- ],
- [
- 'field' => 'theme',
- 'taxonomy' => 'category',
- 'term_id' => 1,
- 'value' => 'Primary Theme',
- ],
- ],
- Automation::get_automation_rules()
- );
- $this->assertFalse( get_option( 'apple_news_section_priority_mappings' ) );
- $this->assertFalse( get_option( 'apple_news_section_taxonomy_mappings' ) );
- $this->assertFalse( get_option( 'apple_news_section_theme_mappings' ) );
- }
-
- /**
- * Tests automation rules based on a different taxonomy (post_tag instead of category).
- */
- public function test_taxonomy_change() {
- $post_id = self::factory()->post->create();
- $this->set_theme_settings( [ 'meta_component_order' => [ 'slug' ] ] );
-
- // Create an automation routine for the slug component.
- $result = wp_insert_term( 'Test Slug Tag', 'post_tag' );
- $term_id = $result['term_id'];
- update_option(
- 'apple_news_automation',
- [
- [
- 'field' => 'slug.#text#',
- 'taxonomy' => 'post_tag',
- 'term_id' => $term_id,
- 'value' => 'Test Slug Tag Value',
- ],
- ]
- );
-
- // Set the taxonomy term to trigger the automation routine and ensure the slug value is set.
- wp_set_post_terms( $post_id, [ $term_id ], 'post_tag' );
- $json = $this->get_json_for_post( $post_id );
- $this->assertEquals( 'heading', $json['components'][0]['role'] );
- $this->assertEquals( 'Test Slug Tag Value', $json['components'][0]['text'] );
- }
-
- /**
- * Tests automation of theme selection by taxonomy.
- */
- public function test_theme_automation() {
- // Load some themes so we have more than one to choose from.
- $this->load_example_theme( 'colorful' );
- $this->load_example_theme( 'default' );
-
- $post_id = self::factory()->post->create();
-
- // Create an automation routine for selecting the theme based on category.
- $result = wp_insert_term( 'Entertainment', 'category' );
- $term_id = $result['term_id'];
- update_option(
- 'apple_news_automation',
- [
- [
- 'field' => 'theme',
- 'taxonomy' => 'category',
- 'term_id' => $term_id,
- 'value' => 'Colorful',
- ],
- ]
- );
-
- // Set the taxonomy term to trigger the automation routine and ensure the correct theme is chosen.
- wp_set_post_terms( $post_id, [ $term_id ], 'category' );
- $json = $this->get_json_for_post( $post_id );
- $this->assertEquals( '#000000', $json['componentTextStyles']['default-title']['textColor'] );
- }
-}
diff --git a/tests/apple-exporter/builders/test-class-advertising-settings.php b/tests/apple-exporter/builders/test-class-advertising-settings.php
deleted file mode 100644
index b07e564a..00000000
--- a/tests/apple-exporter/builders/test-class-advertising-settings.php
+++ /dev/null
@@ -1,137 +0,0 @@
-content, $this->content_settings );
- $this->assertEquals(
- [
- 'advertisement' => [
- 'bannerType' => 'any',
- 'distanceFromMedia' => '10vh',
- 'enabled' => true,
- 'frequency' => 5,
- 'layout' => [
- 'margin' => 15,
- ],
- ],
- ],
- $builder->to_array()
- );
- }
-
- /**
- * Tests the behavior of the component when advertisements are disabled.
- */
- public function test_no_ads() {
-
- // Setup.
- $settings = $this->theme->all_settings();
- $settings['enable_advertisement'] = 'no';
- $this->theme->load( $settings );
- $this->assertTrue( $this->theme->save() );
-
- // Test.
- $builder = new Advertising_Settings( $this->content, $this->content_settings );
- $result = $builder->to_array();
- $this->assertEquals( 0, count( $result ) );
- }
-
- /**
- * Tests the ability to customize ad frequency.
- */
- public function test_custom_ad_frequency() {
-
- // Setup.
- $settings = $this->theme->all_settings();
- $settings['ad_frequency'] = 10;
- $this->theme->load( $settings );
- $this->assertTrue( $this->theme->save() );
-
- // Test.
- $builder = new Advertising_Settings( $this->content, $this->content_settings );
- $this->assertEquals(
- [
- 'advertisement' => [
- 'bannerType' => 'any',
- 'distanceFromMedia' => '10vh',
- 'enabled' => true,
- 'frequency' => 10,
- 'layout' => [
- 'margin' => 15,
- ],
- ],
- ],
- $builder->to_array()
- );
- }
-
- /**
- * Tests the ability to customize the ad margin.
- */
- public function test_custom_ad_margin() {
-
- // Setup.
- $settings = $this->theme->all_settings();
- $settings['ad_margin'] = 20;
- $this->theme->load( $settings );
- $this->assertTrue( $this->theme->save() );
-
- // Test.
- $builder = new Advertising_Settings( $this->content, $this->content_settings );
- $this->assertEquals(
- [
- 'advertisement' => [
- 'bannerType' => 'any',
- 'distanceFromMedia' => '10vh',
- 'enabled' => true,
- 'frequency' => 5,
- 'layout' => [
- 'margin' => 20,
- ],
- ],
- ],
- $builder->to_array()
- );
- }
-
- /**
- * Tests the article-level automatic advertisement settings.
- */
- public function test_autoplacement() {
- $post_id = self::factory()->post->create();
- $json = $this->get_json_for_post( $post_id );
- $this->assertEquals(
- [
- 'advertisement' => [
- 'bannerType' => 'any',
- 'distanceFromMedia' => '10vh',
- 'enabled' => true,
- 'frequency' => 5,
- 'layout' => [
- 'margin' => 15,
- ],
- ],
- ],
- $json['autoplacement']
- );
- }
-}
diff --git a/tests/apple-exporter/builders/test-class-component-layouts.php b/tests/apple-exporter/builders/test-class-component-layouts.php
deleted file mode 100644
index afa745eb..00000000
--- a/tests/apple-exporter/builders/test-class-component-layouts.php
+++ /dev/null
@@ -1,57 +0,0 @@
-content, $this->settings );
- $layouts->register_layout( 'l1', 'val1' );
- $layouts->register_layout( 'l2', 'val2' );
- $result = $layouts->to_array();
-
- $this->assertEquals( 2, count( $result ) );
- $this->assertEquals( 'val1', $result['l1'] );
- $this->assertEquals( 'val2', $result['l2'] );
- }
-
- /**
- * Tests the behavior of anchor layout left.
- */
- public function test_left_layout_gets_added() {
- $layouts = new Component_Layouts( $this->content, $this->settings );
-
- $this->assertFalse( array_key_exists( 'anchor-layout-left', $layouts->to_array() ) );
-
- $component = $this->prophet->prophesize( '\Apple_Exporter\Components\Component' );
- $component->get_anchor_position()
- ->willReturn( Component::ANCHOR_LEFT )
- ->shouldBeCalled();
- $component->is_anchor_target()
- ->willReturn( false )
- ->shouldBeCalled();
- $component->set_json( 'layout', 'anchor-layout-left' )->shouldBeCalled();
-
- $layouts->set_anchor_layout_for( $component->reveal() );
-
- $this->assertTrue( array_key_exists( 'anchor-layout-left', $layouts->to_array() ) );
- }
-}
diff --git a/tests/apple-exporter/builders/test-class-component-styles.php b/tests/apple-exporter/builders/test-class-component-styles.php
deleted file mode 100644
index df0efa4f..00000000
--- a/tests/apple-exporter/builders/test-class-component-styles.php
+++ /dev/null
@@ -1,31 +0,0 @@
-content, $this->settings );
- $styles->register_style( 'some-name', [ 'my-key' => 'my value' ] );
- $result = $styles->to_array();
-
- $this->assertEquals( 1, count( $result ) );
- $this->assertEquals( [ 'my-key' => 'my value' ], $result['some-name'] );
- }
-}
diff --git a/tests/apple-exporter/builders/test-class-component-text-styles.php b/tests/apple-exporter/builders/test-class-component-text-styles.php
deleted file mode 100644
index fbb66da9..00000000
--- a/tests/apple-exporter/builders/test-class-component-text-styles.php
+++ /dev/null
@@ -1,32 +0,0 @@
-content, $this->settings );
- $styles->register_style( 'some-name', 'my value' );
- $result = $styles->to_array();
-
- $this->assertEquals( 1, count( $result ) );
- $this->assertEquals( 'my value', $result['some-name'] );
- }
-}
diff --git a/tests/apple-exporter/builders/test-class-components.php b/tests/apple-exporter/builders/test-class-components.php
deleted file mode 100644
index 59e98e01..00000000
--- a/tests/apple-exporter/builders/test-class-components.php
+++ /dev/null
@@ -1,350 +0,0 @@
-set_theme_settings( [ 'cover_caption' => true ] );
-
- // Create a new post and set an image with a caption as the featured image.
- $post_id = self::factory()->post->create();
- $image = $this->get_new_attachment( $post_id, 'Test Caption', 'Test alt text' );
- set_post_thumbnail( $post_id, $image );
-
- // Ensure that the caption carries through to the export.
- $json = $this->get_json_for_post( $post_id );
- $this->assertEquals( 'caption', $json['components'][0]['components'][1]['role'] );
- $this->assertEquals( 'Test Caption', $json['components'][0]['components'][1]['text'] );
-
- // Create a new post with an image with a caption in the content.
- $image_2 = $this->get_new_attachment( 0, 'Test Caption 2', 'Test alt text 2' );
- $post_id_2 = self::factory()->post->create( [ 'post_content' => $this->get_image_with_caption( $image_2 ) ] );
-
- // Ensure that the caption carries through to the export.
- $json_2 = $this->get_json_for_post( $post_id_2 );
- $this->assertEquals( 'caption', $json_2['components'][0]['components'][1]['role'] );
- $this->assertEquals( 'Test Caption 2', $json_2['components'][0]['components'][1]['text'] );
- }
-
- /**
- * Tests the image deduping functionality of the Components class.
- *
- * Ensures that a featured image with the same source URL (minus any crops)
- * as the first image in the post does not result in the same image
- * appearing twice in a row. This is accomplished by ignoring the featured
- * image and instead extracting the first image from the post to use as the
- * cover image.
- */
- public function test_featured_image_deduping() {
- $this->set_theme_settings(
- [
- 'cover_caption' => true,
- 'meta_component_order' => [ 'cover', 'slug', 'title', 'byline' ],
- ]
- );
-
- // Get two images.
- $image_1 = $this->get_new_attachment();
- $image_2 = $this->get_new_attachment();
-
- /*
- * Scenario 1:
- * - No featured image is set.
- * - No images in the content.
- * Expected: No cover image is set.
- */
- $post_1 = self::factory()->post->create();
- $json_1 = $this->get_json_for_post( $post_1 );
- $this->assertNotEquals( 'headerPhotoLayout', $json_1['components'][0]['layout'] );
-
- /*
- * Scenario 2:
- * - A featured image is set.
- * - No images in the content.
- * Expected: The featured image is set as the cover image.
- */
- $post_2 = self::factory()->post->create();
- set_post_thumbnail( $post_2, $image_1 );
- $json_2 = $this->get_json_for_post( $post_2 );
- $this->assertEquals( 'header', $json_2['components'][0]['role'] );
- $this->assertEquals( 'headerPhotoLayout', $json_2['components'][0]['layout'] );
- $this->assertEquals( 'photo', $json_2['components'][0]['components'][0]['role'] );
- $this->assertEquals( 'headerPhotoLayout', $json_2['components'][0]['components'][0]['layout'] );
- $this->assertEquals( wp_get_attachment_image_url( $image_1, 'full' ), $json_2['components'][0]['components'][0]['URL'] );
-
- /*
- * Scenario 3:
- * - A featured image is set.
- * - Image in the content, but not the same one as the featured image.
- * Expected: The featured image is set as the cover image and the body image is still in the body.
- */
- $post_3 = self::factory()->post->create( [ 'post_content' => wp_get_attachment_image( $image_2, 'full' ) ] );
- set_post_thumbnail( $post_3, $image_1 );
- $json_3 = $this->get_json_for_post( $post_3 );
- $this->assertEquals( 'header', $json_3['components'][0]['role'] );
- $this->assertEquals( 'headerPhotoLayout', $json_3['components'][0]['layout'] );
- $this->assertEquals( 'photo', $json_3['components'][0]['components'][0]['role'] );
- $this->assertEquals( 'headerPhotoLayout', $json_3['components'][0]['components'][0]['layout'] );
- $this->assertEquals( wp_get_attachment_image_url( $image_1, 'full' ), $json_3['components'][0]['components'][0]['URL'] );
- $this->assertEquals( 'photo', $json_3['components'][1]['components'][2]['role'] );
- $this->assertEquals( wp_get_attachment_image_url( $image_2, 'full' ), $json_3['components'][1]['components'][2]['URL'] );
-
- /*
- * Scenario 4:
- * - A featured image is set.
- * - Images in the content, including the same one as the featured image, but the featured image is not first.
- * Expected: The featured image is set as the cover image and the body image is still in the body.
- */
- $post_4 = self::factory()->post->create( [ 'post_content' => wp_get_attachment_image( $image_2, 'full' ) . wp_get_attachment_image( $image_1, 'full' ) ] );
- set_post_thumbnail( $post_4, $image_1 );
- $json_4 = $this->get_json_for_post( $post_4 );
- $this->assertEquals( 'header', $json_4['components'][0]['role'] );
- $this->assertEquals( 'headerPhotoLayout', $json_4['components'][0]['layout'] );
- $this->assertEquals( 'photo', $json_4['components'][0]['components'][0]['role'] );
- $this->assertEquals( 'headerPhotoLayout', $json_4['components'][0]['components'][0]['layout'] );
- $this->assertEquals( wp_get_attachment_image_url( $image_1, 'full' ), $json_4['components'][0]['components'][0]['URL'] );
- $this->assertEquals( 'photo', $json_4['components'][1]['components'][2]['role'] );
- $this->assertEquals( wp_get_attachment_image_url( $image_2, 'full' ), $json_4['components'][1]['components'][2]['URL'] );
- $this->assertEquals( 'photo', $json_4['components'][1]['components'][3]['role'] );
- $this->assertEquals( wp_get_attachment_image_url( $image_1, 'full' ), $json_4['components'][1]['components'][3]['URL'] );
-
- /*
- * Scenario 5:
- * - A featured image is set.
- * - Images in the content, including the same one as the featured image, and the featured image is first.
- * Expected: The first image from the content is set as the cover image and the first image from the content has been removed. The featured image is ignored.
- */
- $post_5 = self::factory()->post->create( [ 'post_content' => wp_get_attachment_image( $image_1, 'full' ) . wp_get_attachment_image( $image_2, 'full' ) ] );
- set_post_thumbnail( $post_5, $image_1 );
- $json_5 = $this->get_json_for_post( $post_5 );
- $this->assertEquals( 'header', $json_5['components'][0]['role'] );
- $this->assertEquals( 'headerPhotoLayout', $json_5['components'][0]['layout'] );
- $this->assertEquals( 'photo', $json_5['components'][0]['components'][0]['role'] );
- $this->assertEquals( 'headerPhotoLayout', $json_5['components'][0]['components'][0]['layout'] );
- $this->assertEquals( wp_get_attachment_image_url( $image_1, 'full' ), $json_5['components'][0]['components'][0]['URL'] );
- $this->assertEquals( 'photo', $json_5['components'][1]['components'][2]['role'] );
- $this->assertEquals( wp_get_attachment_image_url( $image_2, 'full' ), $json_5['components'][1]['components'][2]['URL'] );
- $this->assertEquals( 3, count( $json_5['components'][1]['components'] ) );
-
- /*
- * Scenario 6:
- * - No featured image is set.
- * - Images in the content.
- * Expected: The first image from the content is set as the cover image and the first image from the content has been removed.
- */
- $post_6 = self::factory()->post->create( [ 'post_content' => wp_get_attachment_image( $image_1, 'full' ) . wp_get_attachment_image( $image_2, 'full' ) ] );
- $json_6 = $this->get_json_for_post( $post_6 );
- $this->assertEquals( 'header', $json_6['components'][0]['role'] );
- $this->assertEquals( 'headerPhotoLayout', $json_6['components'][0]['layout'] );
- $this->assertEquals( 'photo', $json_6['components'][0]['components'][0]['role'] );
- $this->assertEquals( 'headerPhotoLayout', $json_6['components'][0]['components'][0]['layout'] );
- $this->assertEquals( wp_get_attachment_image_url( $image_1, 'full' ), $json_6['components'][0]['components'][0]['URL'] );
- $this->assertEquals( 'photo', $json_6['components'][1]['components'][2]['role'] );
- $this->assertEquals( wp_get_attachment_image_url( $image_2, 'full' ), $json_6['components'][1]['components'][2]['URL'] );
- $this->assertEquals( 3, count( $json_6['components'][1]['components'] ) );
-
- /*
- * Scenario 7:
- * - No featured image is set.
- * - Images in the content.
- * - Cover image set via postmeta.
- * Expected: The cover image is used from postmeta and the first image from the content is removed.
- */
- $post_7 = self::factory()->post->create( [ 'post_content' => wp_get_attachment_image( $image_1, 'full' ) . wp_get_attachment_image( $image_2, 'full' ) ] );
- add_post_meta( $post_7, 'apple_news_coverimage', $image_1 );
- $json_7 = $this->get_json_for_post( $post_7 );
- $this->assertEquals( 'header', $json_7['components'][0]['role'] );
- $this->assertEquals( 'headerPhotoLayout', $json_7['components'][0]['layout'] );
- $this->assertEquals( 'photo', $json_7['components'][0]['components'][0]['role'] );
- $this->assertEquals( 'headerPhotoLayout', $json_7['components'][0]['components'][0]['layout'] );
- $this->assertEquals( wp_get_attachment_image_url( $image_1, 'full' ), $json_7['components'][0]['components'][0]['URL'] );
- $this->assertEquals( 'photo', $json_7['components'][1]['components'][2]['role'] );
- $this->assertEquals( wp_get_attachment_image_url( $image_2, 'full' ), $json_7['components'][1]['components'][2]['URL'] );
- $this->assertEquals( 3, count( $json_7['components'][1]['components'] ) );
- }
-
- /**
- * Tests the functionality of the get_image_full_size_url function.
- *
- * @dataProvider data_image_full_size_url
- *
- * @param string $original The original URL to test.
- * @param string $expected The expected result.
- *
- * @throws ReflectionException If the reflection fails.
- */
- public function test_get_image_full_size_url( $original, $expected ) {
- $class = new ReflectionClass( 'Apple_Exporter\Builders\Components' );
- $method = $class->getMethod( 'get_image_full_size_url' );
- $method->setAccessible( true );
- $builder = new Components( $this->content, $this->content_settings );
- $this->assertEquals( $expected, $method->invokeArgs( $builder, [ $original ] ) );
- }
-
- /**
- * Tests the functionality of the maybe_bundle_source function.
- */
- public function test_image_bundling() {
- // Ensure remote images are turned off for this test.
- $use_remote_images = $this->settings->use_remote_images;
- $this->settings->use_remote_images = 'no';
-
- // Make a post with multiple images with the same filename.
- $post_content = <<
-
-
-
-
-
-
-
-
-
-
-HTML;
- $post_id = self::factory()->post->create( [ 'post_content' => $post_content ] );
- $image = $this->get_new_attachment( $post_id );
- set_post_thumbnail( $post_id, $image );
- $json = $this->get_json_for_post( $post_id );
-
- // Reset the use remote images setting.
- $this->settings->use_remote_images = $use_remote_images;
-
- // Ensure the images are saved with different bundle filenames.
- $this->assertEquals( 'bundle://filename.jpg', $json['components'][1]['components'][3]['URL'] );
- $this->assertEquals( 'bundle://filename-1.jpg', $json['components'][1]['components'][4]['URL'] );
- $this->assertEquals( 'bundle://filename-2.jpg', $json['components'][1]['components'][5]['URL'] );
- }
-
- /**
- * Ensures that the specified component order is respected.
- *
- * @dataProvider data_meta_component_ordering
- *
- * @param array $order The meta component order setting to use.
- * @param array $expected The expected component order after compilation.
- * @param array $components The expected container components, in order.
- */
- public function test_meta_component_ordering( $order, $expected, $components ) {
- $this->set_theme_settings(
- [
- 'enable_advertisement' => 'no',
- 'meta_component_order' => $order,
- ]
- );
-
- // Make a post with a featured image and get the JSON for it.
- $post_id = self::factory()->post->create();
- $image = $this->get_new_attachment( $post_id );
- set_post_thumbnail( $post_id, $image );
- $json = $this->get_json_for_post( $post_id );
-
- // Test.
- $expected_total = count( $expected );
- for ( $i = 0; $i < $expected_total; $i++ ) {
- $this->assertEquals( $expected[ $i ], $json['components'][ $i ]['role'] );
- if ( 'container' === $json['components'][ $i ]['role'] ) {
- $components_total = count( $components );
- for ( $j = 0; $j < $components_total; $j++ ) {
- $this->assertEquals(
- $components[ $j ],
- $json['components'][ $i ]['components'][ $j ]['role']
- );
- }
- }
- }
- }
-}
diff --git a/tests/apple-exporter/builders/test-class-layout.php b/tests/apple-exporter/builders/test-class-layout.php
deleted file mode 100644
index 110e8c76..00000000
--- a/tests/apple-exporter/builders/test-class-layout.php
+++ /dev/null
@@ -1,73 +0,0 @@
-set_value( 'layout_margin', 123 );
- $theme->set_value( 'layout_gutter', 222 );
- $theme->set_value( 'layout_width', 768 );
- $this->assertTrue( $theme->save() );
-
- $post_id = self::factory()->post->create( [ 'post_content' => '' ] );
- $json = $this->get_json_for_post( $post_id );
-
- $this->assertEquals( $theme->get_layout_columns(), $json['layout']['columns'] );
- $this->assertEquals( 768, $json['layout']['width'] );
- $this->assertEquals( 123, $json['layout']['margin'] );
- $this->assertEquals( 222, $json['layout']['gutter'] );
- }
-
- /**
- * Test column override functionality.
- */
- public function test_column_override() {
- $theme = Theme::get_used();
- $post_id = self::factory()->post->create( [ 'post_content' => '' ] );
- $json = $this->get_json_for_post( $post_id );
-
- // Check default, override-less behavior.
- $this->assertEquals( $theme->get_layout_columns(), $json['layout']['columns'] );
- $this->assertEquals( 7, $json['layout']['columns'] );
-
- // Confirm override applies after 'layout_columns_override' is flipped to 'yes'.
- $theme->set_value( 'layout_columns_override', 'yes' );
- $theme->set_value( 'layout_columns', 6 );
- $this->assertTrue( $theme->save() );
- $json = $this->get_json_for_post( $post_id );
-
- $this->assertEquals( 6, $theme->get_layout_columns() );
- $this->assertEquals( 6, $json['layout']['columns'] );
-
- // Reset override and confirm that dynamic computed value is restored.
- $theme->set_value( 'layout_columns_override', 'no' );
- // Also set body_orientation to 'center' to ensure the computed value for layout_columns changes accordingly.
- $theme->set_value( 'body_orientation', 'center' );
- $this->assertTrue( $theme->save() );
- $json = $this->get_json_for_post( $post_id );
-
- // Confirm override applies after 'layout_columns' theme value change.
- $this->assertEquals( $theme->get_layout_columns(), $json['layout']['columns'] );
- $this->assertEquals( 9, $json['layout']['columns'] );
- }
-}
diff --git a/tests/apple-exporter/builders/test-class-metadata.php b/tests/apple-exporter/builders/test-class-metadata.php
deleted file mode 100644
index 275c99d6..00000000
--- a/tests/apple-exporter/builders/test-class-metadata.php
+++ /dev/null
@@ -1,165 +0,0 @@
-enable_coauthors_support();
- global $apple_news_coauthors;
- $apple_news_coauthors = [ 'Test Author 1', 'Test Author 2' ];
- $author = self::factory()->user->create( [ 'display_name' => 'Test Author' ] );
- $post_id = self::factory()->post->create( [ 'post_author' => $author ] );
- $result = $this->get_json_for_post( $post_id );
- $metadata = $result['metadata'];
-
- // Assertions.
- $this->assertEquals(
- [ 'Test Author 1', 'Test Author 2' ],
- $metadata['authors']
- );
-
- // Cleanup.
- $apple_news_coauthors = [];
- $this->disable_coauthors_support();
- }
-
- /**
- * Ensures that metadata is properly set.
- */
- public function test_metadata() {
- // Setup.
- $author = self::factory()->user->create( [ 'display_name' => 'Test Author' ] );
- $post_id = self::factory()->post->create(
- [
- 'post_author' => $author,
- 'post_content' => 'Hello, World!
',
- 'post_date' => '2016-04-01 00:00:00',
- 'post_excerpt' => 'Sample excerpt.',
- 'post_title' => 'My Title',
- ]
- );
- $image = $this->get_new_attachment( $post_id );
- set_post_thumbnail( $post_id, $image );
- $result = $this->get_json_for_post( $post_id );
- $metadata = $result['metadata'];
-
- // Assertions.
- $this->assertEquals(
- [ 'Test Author' ],
- $metadata['authors']
- );
- $this->assertEquals(
- '2016-04-01T00:00:00+00:00',
- $metadata['dateCreated']
- );
- $this->assertEquals(
- '2016-04-01T00:00:00+00:00',
- $metadata['dateModified']
- );
- $this->assertEquals(
- '2016-04-01T00:00:00+00:00',
- $metadata['datePublished']
- );
- $this->assertEquals(
- 'Sample excerpt.',
- $metadata['excerpt']
- );
- $this->assertEquals(
- wp_get_attachment_url( $image ),
- $metadata['thumbnailURL']
- );
- }
-
- /**
- * Ensures video metadata is properly added.
- *
- * @param string $poster The URL to the poster image for the video.
- * @param string $video The URL to the video.
- *
- * @dataProvider data_video
- */
- public function test_video( $poster, $video ) {
- // Setup.
- $post_id = self::factory()->post->create(
- [
- 'post_content' => ' ',
- ]
- );
- $result = $this->get_json_for_post( $post_id );
- $metadata = $result['metadata'];
-
- // Assertions.
- $this->assertEquals( $poster, $metadata['thumbnailURL'] );
- $this->assertEquals( $video, $metadata['videoURL'] );
- }
-
- /**
- * Ensures videoURL is suppressed when corresponding meta is set.
- *
- * @param string $poster The URL to the poster image for the video.
- * @param string $video The URL to the video.
- *
- * @dataProvider data_video
- */
- public function test_suppress_video_url( $poster, $video ) {
- // Setup.
- $post_id = self::factory()->post->create(
- [
- 'post_content' => ' ',
- ]
- );
- $image = $this->get_new_attachment( $post_id );
- set_post_thumbnail( $post_id, $image );
- $result = $this->get_json_for_post( $post_id );
- $metadata = $result['metadata'];
-
- // Pre meta suppresion assertions.
- $this->assertEquals( $poster, $metadata['thumbnailURL'] );
- $this->assertArrayHasKey( 'videoURL', $metadata );
-
- // Toggle suppression meta value.
- update_post_meta( $post_id, 'apple_news_suppress_video_url', true );
- $result = $this->get_json_for_post( $post_id );
- $metadata = $result['metadata'];
-
- // Post meta suppresion assertions.
- $this->assertEquals(
- wp_get_attachment_url( $image ),
- $metadata['thumbnailURL']
- );
- $this->assertArrayNotHasKey( 'videoURL', $metadata );
- }
-}
diff --git a/tests/apple-exporter/components/class-component-testcase.php b/tests/apple-exporter/components/class-component-testcase.php
deleted file mode 100644
index a1a4747d..00000000
--- a/tests/apple-exporter/components/class-component-testcase.php
+++ /dev/null
@@ -1,43 +0,0 @@
-loadHTML( '' . $html );
- libxml_clear_errors();
-
- // Find the first-level nodes of the body tag.
- return $dom->getElementsByTagName( 'body' )->item( 0 )->childNodes->item( 0 );
- }
-
- /**
- * A function to ensure that tokens are replaced in a JSON string.
- *
- * @param string $json The JSON to check for unreplaced tokens.
- */
- protected function ensure_tokens_replaced( $json ) {
- preg_match( '/"#[^"#]+#"/', $json, $matches );
- $this->assertEmpty( $matches );
- }
-}
diff --git a/tests/apple-exporter/components/test-class-advertisement.php b/tests/apple-exporter/components/test-class-advertisement.php
deleted file mode 100644
index f7e08be7..00000000
--- a/tests/apple-exporter/components/test-class-advertisement.php
+++ /dev/null
@@ -1,60 +0,0 @@
-workspace,
- $this->settings,
- $this->styles,
- $this->layouts
- );
- $json = $component->to_array();
-
- $this->assertEquals( 'banner_advertisement', $json['role'] );
- $this->assertEquals( 'standard', $json['bannerType'] );
- }
-
- /**
- * Tests the behavior of the apple_news_advertisement_json filter.
- */
- public function test_filter() {
- $component = new Advertisement(
- null,
- $this->workspace,
- $this->settings,
- $this->styles,
- $this->layouts
- );
-
- add_filter(
- 'apple_news_advertisement_json',
- function ( $json ) {
- $json['bannerType'] = 'double_height';
- return $json;
- }
- );
-
- $json = $component->to_array();
- $this->assertEquals( 'double_height', $json['bannerType'] );
- }
-}
diff --git a/tests/apple-exporter/components/test-class-audio.php b/tests/apple-exporter/components/test-class-audio.php
deleted file mode 100644
index 13b7a07e..00000000
--- a/tests/apple-exporter/components/test-class-audio.php
+++ /dev/null
@@ -1,93 +0,0 @@
-',
- $this->workspace,
- $this->settings,
- $this->styles,
- $this->layouts
- );
-
- $json = $component->to_array();
- $this->assertEquals( 'audio', $json['role'] );
- $this->assertEquals( 'https://www.example.org/audio-file.mp3?some_query=string', $json['URL'] );
- }
-
- /**
- * Tests HTML formatting with captions.
- */
- public function test_caption() {
- $component = new Audio(
- 'caption ',
- $this->workspace,
- $this->settings,
- $this->styles,
- $this->layouts
- );
-
- // Test.
- $this->assertEquals(
- [
- 'role' => 'container',
- 'components' => [
- [
- 'role' => 'audio',
- 'URL' => 'https://www.example.org/Song-1.mp3',
- ],
- [
- 'role' => 'caption',
- 'text' => 'caption',
- 'format' => 'html',
- ],
- ],
- ],
- $component->to_array()
- );
- }
-
- /**
- * Tests the behavior of the apple_news_audio_json filter.
- */
- public function test_filter() {
- $component = new Audio(
- ' ',
- $this->workspace,
- $this->settings,
- $this->styles,
- $this->layouts
- );
-
- add_filter(
- 'apple_news_audio_json',
- function ( $json ) {
- $json['URL'] = 'https://www.example.org/audio-file.mp3?some_query=string';
- return $json;
- }
- );
-
- $json = $component->to_array();
- $this->assertEquals( 'audio', $json['role'] );
- $this->assertEquals( 'https://www.example.org/audio-file.mp3?some_query=string', $json['URL'] );
- }
-}
diff --git a/tests/apple-exporter/components/test-class-author.php b/tests/apple-exporter/components/test-class-author.php
deleted file mode 100644
index fee8eb64..00000000
--- a/tests/apple-exporter/components/test-class-author.php
+++ /dev/null
@@ -1,131 +0,0 @@
-set_theme_settings( [ 'meta_component_order' => [ 'author' ] ] );
-
- // Create a test post and get JSON for it.
- $user_id = self::factory()->user->create( [ 'display_name' => 'Test Author' ] );
- $post_id = self::factory()->post->create(
- [
- 'post_author' => $user_id,
- 'post_date_gmt' => '1970-01-01 12:00:00',
- ]
- );
- $json = $this->get_json_for_post( $post_id );
- $this->assertEquals( 'author', $json['components'][0]['role'] );
- $this->assertEquals( 'By Test Author', $json['components'][0]['text'] );
- }
-
- /**
- * Tests author settings.
- */
- public function test_settings() {
- $this->set_theme_settings(
- [
- 'author_color' => '#abcdef',
- 'author_color_dark' => '#123456',
- 'author_font' => 'AmericanTypewriter',
- 'author_line_height' => 12,
- 'author_links' => 'no',
- 'author_size' => 34,
- 'author_tracking' => 56,
- ]
- );
-
- // Create a test post and get JSON for it.
- $user_id = self::factory()->user->create( [ 'display_name' => 'Test Author' ] );
- $post_id = self::factory()->post->create(
- [
- 'post_author' => $user_id,
- 'post_date_gmt' => '1970-01-01 12:00:00',
- ]
- );
- $json = $this->get_json_for_post( $post_id );
-
- // Validate author settings in generated JSON.
- $this->assertEquals( '#abcdef', $json['componentTextStyles']['default-author']['textColor'] );
- $this->assertEquals( '#123456', $json['componentTextStyles']['default-author']['conditional'][0]['textColor'] );
- $this->assertEquals( 'AmericanTypewriter', $json['componentTextStyles']['default-author']['fontName'] );
- $this->assertEquals( 12, $json['componentTextStyles']['default-author']['lineHeight'] );
- $this->assertEquals( 34, $json['componentTextStyles']['default-author']['fontSize'] );
- $this->assertEquals( 0.56, $json['componentTextStyles']['default-author']['tracking'] );
-
- $this->set_theme_settings(
- [
- 'author_color' => '#abcdef',
- 'author_color_dark' => '#123456',
- 'author_font' => 'AmericanTypewriter',
- 'author_line_height' => 12,
- 'author_link_color' => '#ffcc00',
- 'author_link_color_dark' => '#ccff00',
- 'author_links' => 'yes',
- 'author_size' => 34,
- 'author_tracking' => 56,
- ]
- );
-
- // Create a test post and get JSON for it.
- $user_id = self::factory()->user->create( [ 'display_name' => 'Test Author' ] );
- $post_id = self::factory()->post->create(
- [
- 'post_author' => $user_id,
- 'post_date_gmt' => '1970-01-01 12:00:00',
- ]
- );
- $json = $this->get_json_for_post( $post_id );
-
- // Validate author settings in generated JSON.
- $this->assertEquals( '#ffcc00', $json['componentTextStyles']['default-author']['linkStyle']['textColor'] );
- $this->assertEquals( '#ccff00', $json['componentTextStyles']['default-author']['conditional'][1]['linkStyle']['textColor'] );
- $this->assertEquals( 'By Test Author ', $json['components'][1]['text'] );
- }
-
- /**
- * Tests author settings.
- */
- public function test_coauthors_settings() {
- $this->set_theme_settings(
- [
- 'author_color' => '#abcdef',
- 'author_color_dark' => '#123456',
- 'author_font' => 'AmericanTypewriter',
- 'author_line_height' => 12,
- 'author_link_color' => '#ffcc00',
- 'author_link_color_dark' => '#ccff00',
- 'author_links' => 'yes',
- 'author_size' => 34,
- 'author_tracking' => 56,
- 'meta_component_order' => [ 'cover', 'slug', 'title', 'author' ],
- ]
- );
-
- // Create a test post and get JSON for it.
- $this->enable_coauthors_support();
- global $apple_news_coauthors;
- $author_1 = self::factory()->user->create( [ 'display_name' => 'Test Author 1' ] );
- $author_2 = self::factory()->user->create( [ 'display_name' => 'Test Author 2' ] );
- $apple_news_coauthors = [ $author_1, $author_2 ];
- $post_id = self::factory()->post->create( [ 'post_date_gmt' => '1970-01-01 12:00:00' ] );
- $json = $this->get_json_for_post( $post_id );
-
- // Validate author settings in generated JSON.
- $this->assertEquals( 'By ' . get_the_author_meta( 'display_name', $author_1 ) . ' and ' . get_the_author_meta( 'display_name', $author_2 ) . ' ', $json['components'][1]['text'] );
- }
-}
diff --git a/tests/apple-exporter/components/test-class-body.php b/tests/apple-exporter/components/test-class-body.php
deleted file mode 100644
index 2924a30a..00000000
--- a/tests/apple-exporter/components/test-class-body.php
+++ /dev/null
@@ -1,599 +0,0 @@
-"Go-Gurt," but to stay.